OLD | NEW |
| (Empty) |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 import '../fn.dart'; | |
6 import '../theme/colors.dart'; | |
7 import 'ink_well.dart'; | |
8 import 'material.dart'; | |
9 | |
10 class FloatingActionButton extends Component { | |
11 // TODO(abarth): We need a better way to become a container for absolutely | |
12 // positioned elements. | |
13 static final Style _style = new Style(''' | |
14 width: 56px; | |
15 height: 56px; | |
16 background-color: ${Red[500]}; | |
17 border-radius: 28px;''' | |
18 ); | |
19 static final Style _clipStyle = new Style(''' | |
20 position: absolute; | |
21 justify-content: center; | |
22 align-items: center; | |
23 top: 0; | |
24 left: 0; | |
25 right: 0; | |
26 bottom: 0; | |
27 -webkit-clip-path: circle(28px at center);'''); | |
28 | |
29 UINode content; | |
30 int level; | |
31 | |
32 FloatingActionButton({ Object key, this.content, this.level: 0 }) | |
33 : super(key: key); | |
34 | |
35 UINode build() { | |
36 List<UINode> children = []; | |
37 | |
38 if (content != null) | |
39 children.add(content); | |
40 | |
41 return new Material( | |
42 content: new Container( | |
43 style: _style, | |
44 children: [new StyleNode(new InkWell(children: children), _clipStyle)]), | |
45 level: level); | |
46 } | |
47 } | |
OLD | NEW |