@@ -15,6 +15,16 @@ class ComponentPage extends StatelessWidget {
15
15
name: 'Outlined dot\n Indicator' ,
16
16
item: OutlinedDotIndicator (),
17
17
),
18
+ _ComponentRow (
19
+ name: 'Container\n Indicator' ,
20
+ item: ContainerIndicator (
21
+ child: Container (
22
+ width: 15.0 ,
23
+ height: 15.0 ,
24
+ color: Colors .blue,
25
+ ),
26
+ ),
27
+ ),
18
28
_ComponentRow (
19
29
name: 'Solid line\n Connector' ,
20
30
item: SizedBox (
@@ -30,12 +40,44 @@ class ComponentPage extends StatelessWidget {
30
40
),
31
41
),
32
42
_ComponentRow (
33
- name: 'TimelineNode' ,
43
+ name: 'Decorated line\n Connector' ,
44
+ item: SizedBox (
45
+ height: 20.0 ,
46
+ child: DecoratedLineConnector (
47
+ decoration: BoxDecoration (
48
+ gradient: LinearGradient (
49
+ begin: Alignment .topCenter,
50
+ end: Alignment .bottomCenter,
51
+ colors: [Colors .blue, Colors .lightBlueAccent[100 ]],
52
+ ),
53
+ ),
54
+ ),
55
+ ),
56
+ ),
57
+ _ComponentRow (
58
+ name: 'Simple TimelineNode' ,
34
59
item: SizedBox (
35
60
height: 50.0 ,
36
61
child: TimelineNode .simple (),
37
62
),
38
63
),
64
+ _ComponentRow (
65
+ name: 'Complex TimelineNode' ,
66
+ item: SizedBox (
67
+ height: 80.0 ,
68
+ child: TimelineNode (
69
+ indicator: Card (
70
+ margin: EdgeInsets .zero,
71
+ child: Padding (
72
+ padding: EdgeInsets .all (8.0 ),
73
+ child: Text ('Complex' ),
74
+ ),
75
+ ),
76
+ startConnector: DashedLineConnector (),
77
+ endConnector: SolidLineConnector (),
78
+ ),
79
+ ),
80
+ ),
39
81
_ComponentRow (
40
82
name: 'TimelineTile' ,
41
83
item: TimelineTile (
@@ -56,6 +98,109 @@ class ComponentPage extends StatelessWidget {
56
98
),
57
99
),
58
100
),
101
+ _ComponentRow (
102
+ name: 'ConnectionDirection.before' ,
103
+ item: Padding (
104
+ padding: const EdgeInsets .only (bottom: 8.0 ),
105
+ child: FixedTimeline .tileBuilder (
106
+ builder: TimelineTileBuilder .connectedFromStyle (
107
+ connectionDirection: ConnectionDirection .before,
108
+ connectorStyleBuilder: (context, index) {
109
+ return (index == 1 ) ? ConnectorStyle .dashedLine : ConnectorStyle .solidLine;
110
+ },
111
+ indicatorStyleBuilder: (context, index) => IndicatorStyle .dot,
112
+ itemExtent: 40.0 ,
113
+ itemCount: 3 ,
114
+ ),
115
+ ),
116
+ ),
117
+ ),
118
+ _ComponentRow (
119
+ name: 'ConnectionDirection.after' ,
120
+ item: Padding (
121
+ padding: const EdgeInsets .all (8.0 ),
122
+ child: FixedTimeline .tileBuilder (
123
+ builder: TimelineTileBuilder .connectedFromStyle (
124
+ connectionDirection: ConnectionDirection .after,
125
+ connectorStyleBuilder: (context, index) {
126
+ return (index == 1 ) ? ConnectorStyle .dashedLine : ConnectorStyle .solidLine;
127
+ },
128
+ indicatorStyleBuilder: (context, index) => IndicatorStyle .dot,
129
+ itemExtent: 40.0 ,
130
+ itemCount: 3 ,
131
+ ),
132
+ ),
133
+ ),
134
+ ),
135
+ _ComponentRow (
136
+ name: 'ContentsAlign.basic' ,
137
+ item: Padding (
138
+ padding: const EdgeInsets .all (8.0 ),
139
+ child: FixedTimeline .tileBuilder (
140
+ builder: TimelineTileBuilder .connectedFromStyle (
141
+ contentsAlign: ContentsAlign .basic,
142
+ oppositeContentsBuilder: (context, index) => Padding (
143
+ padding: const EdgeInsets .all (8.0 ),
144
+ child: Text ('opposite\n contents' ),
145
+ ),
146
+ contentsBuilder: (context, index) => Card (
147
+ child: Padding (
148
+ padding: const EdgeInsets .all (8.0 ),
149
+ child: Text ('Contents' ),
150
+ ),
151
+ ),
152
+ connectorStyleBuilder: (context, index) => ConnectorStyle .solidLine,
153
+ indicatorStyleBuilder: (context, index) => IndicatorStyle .dot,
154
+ itemCount: 3 ,
155
+ ),
156
+ ),
157
+ ),
158
+ ),
159
+ _ComponentRow (
160
+ name: 'ContentsAlign.reverse' ,
161
+ item: Padding (
162
+ padding: const EdgeInsets .all (8.0 ),
163
+ child: FixedTimeline .tileBuilder (
164
+ builder: TimelineTileBuilder .connectedFromStyle (
165
+ contentsAlign: ContentsAlign .reverse,
166
+ oppositeContentsBuilder: (context, index) => Padding (
167
+ padding: const EdgeInsets .all (8.0 ),
168
+ child: Text ('opposite\n contents' ),
169
+ ),
170
+ contentsBuilder: (context, index) => Card (
171
+ child: Padding (
172
+ padding: const EdgeInsets .all (8.0 ),
173
+ child: Text ('Contents' ),
174
+ ),
175
+ ),
176
+ connectorStyleBuilder: (context, index) => ConnectorStyle .solidLine,
177
+ indicatorStyleBuilder: (context, index) => IndicatorStyle .dot,
178
+ itemCount: 3 ,
179
+ ),
180
+ ),
181
+ ),
182
+ ),
183
+ _ComponentRow (
184
+ name: 'ContentsAlign.alternating' ,
185
+ item: FixedTimeline .tileBuilder (
186
+ builder: TimelineTileBuilder .connectedFromStyle (
187
+ contentsAlign: ContentsAlign .alternating,
188
+ oppositeContentsBuilder: (context, index) => Padding (
189
+ padding: const EdgeInsets .all (8.0 ),
190
+ child: Text ('opposite\n contents' ),
191
+ ),
192
+ contentsBuilder: (context, index) => Card (
193
+ child: Padding (
194
+ padding: const EdgeInsets .all (8.0 ),
195
+ child: Text ('Contents' ),
196
+ ),
197
+ ),
198
+ connectorStyleBuilder: (context, index) => ConnectorStyle .solidLine,
199
+ indicatorStyleBuilder: (context, index) => IndicatorStyle .dot,
200
+ itemCount: 3 ,
201
+ ),
202
+ ),
203
+ ),
59
204
_ComponentRow (
60
205
name: 'Horizontal\n Timeline' ,
61
206
item: SizedBox (
0 commit comments