1 | @import 'restyle';
|
2 |
|
3 | @function my-fn($var) {
|
4 | @return (
|
5 | my-fn: $var * 2
|
6 | );
|
7 | }
|
8 |
|
9 | @include restyle-define(test-cmpt, (
|
10 | color: green,
|
11 | width: 100%,
|
12 | font-size: 10px,
|
13 |
|
14 | restyle-function(my-fn): 1,
|
15 |
|
16 | // modifiers...
|
17 | '@restyle.modifiers': (
|
18 | drop-all: (
|
19 | '@restyle.remove': all
|
20 | ),
|
21 | drop-color: (
|
22 | restyle-meta: (
|
23 | description: drops color rule
|
24 | ),
|
25 | '@restyle.remove': color
|
26 | ),
|
27 | drop-width-font-size: (
|
28 | '@restyle.remove': width font-size
|
29 | ),
|
30 | drop-all-new: (
|
31 | '@restyle.remove': all,
|
32 | color: blue,
|
33 | height: 10px
|
34 | ),
|
35 | drop-functions: (
|
36 | restyle-remove: functions
|
37 | )
|
38 | )
|
39 | ));
|
40 |
|
41 | @include restyle-define(test-states, (
|
42 | color: green,
|
43 | '@restyle.states': (
|
44 | hover: (
|
45 | color: blue
|
46 | ),
|
47 | focus: (
|
48 | color: purple
|
49 | ),
|
50 | other: (
|
51 | color: red
|
52 | )
|
53 | ),
|
54 | '@restyle.modifiers': (
|
55 | drop-states: (
|
56 | '@restyle.remove': states
|
57 | ),
|
58 | drop-hover-state: (
|
59 | '@restyle.remove': '@states.hover'
|
60 | ),
|
61 | drop-multi-states: (
|
62 | restyle-remove: states(hover) states(focus)
|
63 | ),
|
64 | drop-multi-states-and-color: (
|
65 | restyle-remove: states(hover) states(focus) color
|
66 | )
|
67 | )
|
68 | ));
|
69 |
|
70 | @include restyle-define(test-selectors, (
|
71 | color: green,
|
72 | '.first': (
|
73 | color: blue
|
74 | ),
|
75 | '.second': (
|
76 | color: red
|
77 | ),
|
78 | '@restyle.modifiers': (
|
79 | drop-selectors: (
|
80 | '@restyle.remove': selectors
|
81 | ),
|
82 | drop-first-selector: (
|
83 | '@restyle.remove': '.first'
|
84 | )
|
85 | )
|
86 | ));
|
87 |
|
88 | .should-have-all-styles {
|
89 | @include restyle(test-cmpt);
|
90 | }
|
91 |
|
92 | .should-have-no-styles {
|
93 | @include restyle(drop-all test-cmpt);
|
94 | }
|
95 |
|
96 | .should-have-no-color {
|
97 | @include restyle(drop-color test-cmpt);
|
98 | }
|
99 |
|
100 | .should-have-no-functions {
|
101 | @include restyle(drop-functions test-cmpt);
|
102 | }
|
103 |
|
104 | .should-have-no-width-font-size {
|
105 | @include restyle(drop-width-font-size test-cmpt);
|
106 | }
|
107 |
|
108 | .should-have-color-blue-height-10px {
|
109 | @include restyle(drop-all-new test-cmpt);
|
110 | }
|
111 |
|
112 | .should-have-hover-focus-state {
|
113 | @include restyle(test-states);
|
114 | }
|
115 |
|
116 | .should-have-no-state {
|
117 | @include restyle(drop-states test-states);
|
118 | }
|
119 |
|
120 | .should-have-focus-state {
|
121 | @include restyle(drop-hover-state test-states);
|
122 | }
|
123 |
|
124 | .should-have-no-focus-no-hover {
|
125 | @include restyle(drop-multi-states test-states);
|
126 | }
|
127 |
|
128 | .should-have-no-focus-no-hover-no-color {
|
129 | @include restyle(drop-multi-states-and-color test-states);
|
130 | }
|
131 |
|
132 |
|
133 | .should-have-two-selectors {
|
134 | @include restyle(test-selectors);
|
135 | }
|
136 |
|
137 | .should-have-no-selectors {
|
138 | @include restyle(drop-selectors test-selectors);
|
139 | }
|
140 |
|
141 | .should-have-second-selector {
|
142 | @include restyle(drop-first-selector test-selectors);
|
143 | }
|