1 | @forward './list.scss' as list-* hide List;
|
2 | @forward './multiselect.scss' as multiselect-* hide Multiselect;
|
3 | @forward './calendar.scss' as calendar-* hide Calendar;
|
4 | @forward './popup.scss' as popup-* hide Popup;
|
5 |
|
6 | @use './variables.scss' as v;
|
7 |
|
8 | @use './widget.scss';
|
9 | @use './list.scss';
|
10 | @use './listbox.scss';
|
11 | @use './combobox.scss';
|
12 | @use './dropdown-list.scss';
|
13 | @use './number-picker.scss';
|
14 | @use './calendar.scss';
|
15 | @use './date-picker.scss';
|
16 | @use './time-input.scss';
|
17 | @use './multiselect.scss';
|
18 | @use './popup.scss';
|
19 |
|
20 | $_graph: (
|
21 | 'List': (),
|
22 | 'Popup': (),
|
23 | 'Listbox': (
|
24 | 'List',
|
25 | ),
|
26 | 'DropdownList': (
|
27 | 'List',
|
28 | 'Popup',
|
29 | ),
|
30 | 'Combobox': (
|
31 | 'List',
|
32 | 'Popup',
|
33 | ),
|
34 | 'Autocomplete': (
|
35 | 'List',
|
36 | 'Popup',
|
37 | 'Combobox',
|
38 | ),
|
39 | 'Multiselect': (
|
40 | 'List',
|
41 | 'Popup',
|
42 | ),
|
43 | 'DatePicker': (
|
44 | 'Popup',
|
45 | 'Calendar',
|
46 | ),
|
47 | 'Calendar': (),
|
48 | 'TimeInput': (),
|
49 | 'NumberPicker': (),
|
50 | );
|
51 |
|
52 |
|
53 |
|
54 |
|
55 | $_visited: ();
|
56 | @function _sort($node) {
|
57 | $result: ();
|
58 | $deps: map-get($_graph, $node);
|
59 |
|
60 | @each $dep in $deps {
|
61 | @if not index($_visited, $dep) {
|
62 | $result: join($result, _sort($dep));
|
63 | }
|
64 | }
|
65 | $_visited: append($_visited, $node) !global;
|
66 | @return append($result, $node);
|
67 | }
|
68 |
|
69 | $_components: ();
|
70 | @each $node, $_ in $_graph {
|
71 | @if index(v.$components, $node) and not index($_visited, $node) {
|
72 | $_components: join($_components, _sort($node));
|
73 | }
|
74 | }
|
75 |
|
76 |
|
77 |
|
78 | @each $mod in $_components {
|
79 | @if $mod == 'List' {
|
80 | @include list.List();
|
81 | }
|
82 | @if $mod == 'Popup' {
|
83 | @include popup.Popup();
|
84 | }
|
85 | @if $mod == 'Listbox' {
|
86 | @include listbox.Listbox();
|
87 | }
|
88 | @if $mod == 'DropdownList' {
|
89 | @include dropdown-list.DropdownList();
|
90 | }
|
91 | @if $mod == 'Combobox' {
|
92 | @include combobox.Combobox();
|
93 | }
|
94 | @if $mod == 'Multiselect' {
|
95 | @include multiselect.Multiselect();
|
96 | }
|
97 | @if $mod == 'NumberPicker' {
|
98 | @include number-picker.NumberPicker();
|
99 | }
|
100 | @if $mod == 'Calendar' {
|
101 | @include calendar.Calendar();
|
102 | }
|
103 | @if $mod == 'DatePicker' {
|
104 | @include date-picker.DateTimePicker();
|
105 | }
|
106 | @if $mod == 'TimeInput' {
|
107 | @include time-input.TimeInput();
|
108 | }
|
109 | }
|