mtrl 0.0.3 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/package.json +1 -1
  2. package/src/components/button/styles.scss +198 -161
  3. package/src/components/checkbox/checkbox.js +3 -2
  4. package/src/components/checkbox/styles.scss +105 -55
  5. package/src/components/container/styles.scss +65 -58
  6. package/src/components/list/constants.js +0 -5
  7. package/src/components/list/list-item.js +12 -4
  8. package/src/components/list/list.js +11 -19
  9. package/src/components/list/styles.scss +240 -11
  10. package/src/components/menu/styles.scss +37 -30
  11. package/src/components/navigation/styles.scss +406 -6
  12. package/src/components/snackbar/styles.scss +46 -17
  13. package/src/components/switch/styles.scss +93 -46
  14. package/src/components/textfield/styles.scss +351 -5
  15. package/src/core/build/_ripple.scss +79 -0
  16. package/src/core/dom/create.js +0 -1
  17. package/src/core/layout/index.js +3 -1
  18. package/src/styles/abstract/_mixins.scss +9 -7
  19. package/src/styles/abstract/_theme.scss +157 -0
  20. package/src/styles/abstract/_variables.scss +72 -6
  21. package/src/styles/base/_reset.scss +86 -0
  22. package/src/styles/base/_typography.scss +155 -0
  23. package/src/styles/main.scss +104 -57
  24. package/src/styles/themes/_autumn.scss +81 -0
  25. package/src/styles/themes/_base-theme.scss +2 -27
  26. package/src/styles/themes/_baseline.scss +64 -39
  27. package/src/styles/themes/_forest.scss +46 -46
  28. package/src/styles/themes/_spring.scss +71 -0
  29. package/src/styles/themes/_summer.scss +82 -0
  30. package/src/styles/themes/_winter.scss +71 -0
  31. package/src/styles/utilities/_color.scss +154 -0
  32. package/src/styles/utilities/_flexbox.scss +194 -0
  33. package/src/styles/utilities/_spacing.scss +139 -0
  34. package/src/styles/utilities/_typography.scss +178 -0
  35. package/src/styles/utilities/_visibility.scss +142 -0
  36. package/src/components/list/styles/_list-item.scss +0 -142
  37. package/src/components/list/styles/_list.scss +0 -89
  38. package/src/components/list/styles/_variables.scss +0 -13
  39. package/src/components/navigation/styles/_bar.scss +0 -51
  40. package/src/components/navigation/styles/_base.scss +0 -129
  41. package/src/components/navigation/styles/_drawer.scss +0 -169
  42. package/src/components/navigation/styles/_rail.scss +0 -65
  43. package/src/components/textfield/styles/base.scss +0 -107
  44. package/src/components/textfield/styles/filled.scss +0 -58
  45. package/src/components/textfield/styles/outlined.scss +0 -66
@@ -1,8 +1,14 @@
1
- // src/components/switch/styles.scss
2
- @use 'sass:map';
3
- @use '../../styles/abstract/config' as c;
1
+ // src/components/switch/_switch.scss
2
+ @use '../../styles/abstract/base' as base;
3
+ @use '../../styles/abstract/variables' as v;
4
+ @use '../../styles/abstract/functions' as f;
5
+ @use '../../styles/abstract/mixins' as m;
6
+ @use '../../styles/abstract/theme' as t;
4
7
 
5
- .#{c.$prefix}-switch {
8
+ $component: '#{base.$prefix}-switch';
9
+
10
+ .#{$component} {
11
+ // Base styles
6
12
  display: inline-flex;
7
13
  align-items: center;
8
14
  position: relative;
@@ -10,6 +16,7 @@
10
16
  padding: 4px 0;
11
17
  user-select: none;
12
18
 
19
+ // Input (visually hidden but accessible)
13
20
  &-input {
14
21
  position: absolute;
15
22
  opacity: 0;
@@ -23,25 +30,25 @@
23
30
  cursor: not-allowed;
24
31
  }
25
32
 
26
- // New focus style that's more visible
27
- &:focus-visible ~ .#{c.$prefix}-switch-track {
28
- outline: 2px solid var(--mtrl-sys-color-primary);
33
+ // Focus indicator
34
+ &:focus-visible ~ .#{$component}-track {
35
+ outline: 2px solid t.color('primary');
29
36
  outline-offset: 2px;
30
37
  }
31
38
  }
32
39
 
40
+ // Switch track (background bar)
33
41
  &-track {
34
42
  position: relative;
35
43
  min-width: 52px;
36
44
  height: 32px;
37
45
  border-radius: 16px;
38
- background-color: var(--mtrl-sys-color-surface-container-highest);
39
- border: 2px solid var(--mtrl-sys-color-outline);
40
- transition: background-color map.get(c.$motion, 'duration-short4') map.get(c.$motion, 'easing-standard'),
41
- border-color map.get(c.$motion, 'duration-short4') map.get(c.$motion, 'easing-standard'),
42
- outline map.get(c.$motion, 'duration-short4') map.get(c.$motion, 'easing-standard');
46
+ background-color: t.color('surface-container-highest');
47
+ border: 2px solid t.color('outline');
48
+ @include m.motion-transition(background-color, border-color, outline);
43
49
  }
44
50
 
51
+ // Switch thumb (slider)
45
52
  &-thumb {
46
53
  position: absolute;
47
54
  top: 6px;
@@ -49,21 +56,22 @@
49
56
  width: 16px;
50
57
  height: 16px;
51
58
  border-radius: 50%;
52
- background-color: var(--mtrl-sys-color-outline);
59
+ background-color: t.color('outline');
53
60
  transform: translateX(0);
54
- transition: all map.get(c.$motion, 'duration-short4') map.get(c.$motion, 'easing-emphasized');
61
+ transition: all v.motion('duration-short4') v.motion('easing-emphasized');
55
62
  display: flex;
56
63
  align-items: center;
57
64
  justify-content: center;
58
65
 
66
+ // Icon inside thumb
59
67
  &-icon {
60
68
  display: flex;
61
69
  align-items: center;
62
70
  justify-content: center;
63
71
  opacity: 0;
64
72
  transform: scale(0);
65
- transition: all map.get(c.$motion, 'duration-short4') map.get(c.$motion, 'easing-emphasized');
66
- color: var(--mtrl-sys-color-primary);
73
+ transition: all v.motion('duration-short4') v.motion('easing-emphasized');
74
+ color: t.color('primary');
67
75
 
68
76
  svg {
69
77
  width: 14px;
@@ -72,17 +80,18 @@
72
80
  }
73
81
  }
74
82
 
83
+ // Label
75
84
  &-label {
76
- @include c.typography('body-large');
85
+ @include m.typography('body-large');
77
86
  margin-left: 12px;
78
- color: var(--mtrl-sys-color-on-surface);
87
+ color: t.color('on-surface');
79
88
  }
80
89
 
81
90
  // Label position variants
82
91
  &--label-start {
83
92
  flex-direction: row-reverse;
84
93
 
85
- .#{c.$prefix}-switch-label {
94
+ .#{$component}-label {
86
95
  margin-left: 0;
87
96
  margin-right: 12px;
88
97
  }
@@ -91,37 +100,43 @@
91
100
  &--label-end {
92
101
  flex-direction: row;
93
102
 
94
- .#{c.$prefix}-switch-label {
103
+ .#{$component}-label {
95
104
  margin-left: 12px;
96
105
  margin-right: 0;
97
106
  }
98
107
  }
99
108
 
100
- @include c.rtl {
109
+ // RTL support
110
+ @include m.rtl {
101
111
  &--label-start {
102
- .#{c.$prefix}-switch-label {
112
+ .#{$component}-label {
103
113
  margin-left: 12px;
104
114
  margin-right: 0;
105
115
  }
106
116
  }
107
117
 
108
118
  &--label-end {
109
- .#{c.$prefix}-switch-label {
119
+ .#{$component}-label {
110
120
  margin-left: 0;
111
121
  margin-right: 12px;
112
122
  }
113
123
  }
124
+
125
+ // Adjust thumb movement for RTL layout
126
+ &--checked .#{$component}-thumb {
127
+ transform: translateX(-20px);
128
+ }
114
129
  }
115
130
 
116
- // States
131
+ // Checked state
117
132
  &--checked {
118
- .#{c.$prefix}-switch-track {
119
- background-color: var(--mtrl-sys-color-primary);
120
- border-color: var(--mtrl-sys-color-primary);
133
+ .#{$component}-track {
134
+ background-color: t.color('primary');
135
+ border-color: t.color('primary');
121
136
  }
122
137
 
123
- .#{c.$prefix}-switch-thumb {
124
- background-color: var(--mtrl-sys-color-on-primary);
138
+ .#{$component}-thumb {
139
+ background-color: t.color('on-primary');
125
140
  transform: translateX(20px);
126
141
  width: 24px;
127
142
  height: 24px;
@@ -135,30 +150,31 @@
135
150
  }
136
151
  }
137
152
 
153
+ // Disabled state
138
154
  &--disabled {
139
155
  opacity: 0.38;
140
156
 
141
157
  // Specific styles for disabled + checked
142
- &.#{c.$prefix}-switch--checked {
143
- .#{c.$prefix}-switch-track {
144
- background-color: var(--mtrl-sys-color-outline);
145
- border-color: var(--mtrl-sys-color-outline);
158
+ &.#{$component}--checked {
159
+ .#{$component}-track {
160
+ background-color: t.color('outline');
161
+ border-color: t.color('outline');
146
162
  opacity: 0.38;
147
163
  }
148
164
 
149
- .#{c.$prefix}-switch-thumb {
150
- background-color: var(--mtrl-sys-color-on-primary);
165
+ .#{$component}-thumb {
166
+ background-color: t.color('on-primary');
151
167
  opacity: 1;
152
168
  &-icon {
153
- color: var(--mtrl-sys-color-outline)
169
+ color: t.color('outline')
154
170
  }
155
171
  }
156
172
  }
157
173
  }
158
174
 
159
- // Hover effects
175
+ // Hover effects (state layer)
160
176
  &:not(&--disabled) {
161
- .#{c.$prefix}-switch-input:hover + .#{c.$prefix}-switch-track {
177
+ .#{$component}-input:hover + .#{$component}-track {
162
178
  &::before {
163
179
  content: '';
164
180
  position: absolute;
@@ -166,24 +182,55 @@
166
182
  left: -8px;
167
183
  right: -8px;
168
184
  bottom: -8px;
169
- background-color: var(--mtrl-sys-color-on-surface);
170
- opacity: 0.08;
185
+ background-color: t.color('on-surface');
186
+ opacity: v.state('hover-state-layer-opacity');
171
187
  border-radius: 20px;
172
188
  }
173
189
  }
190
+
191
+ // Active/pressed state
192
+ .#{$component}-input:active + .#{$component}-track {
193
+ &::before {
194
+ content: '';
195
+ position: absolute;
196
+ top: -8px;
197
+ left: -8px;
198
+ right: -8px;
199
+ bottom: -8px;
200
+ background-color: t.color('on-surface');
201
+ opacity: v.state('pressed-state-layer-opacity');
202
+ border-radius: 20px;
203
+ }
204
+ }
205
+
206
+ // Hover/active states when checked
207
+ &.#{$component}--checked {
208
+ .#{$component}-input:hover + .#{$component}-track::before,
209
+ .#{$component}-input:active + .#{$component}-track::before {
210
+ background-color: t.color('primary');
211
+ }
212
+ }
174
213
  }
175
214
 
176
- @include c.reduced-motion {
177
- .#{c.$prefix}-switch-track,
178
- .#{c.$prefix}-switch-thumb,
179
- .#{c.$prefix}-switch-thumb-icon {
215
+ // Accessibility
216
+ @include m.reduced-motion {
217
+ .#{$component}-track,
218
+ .#{$component}-thumb,
219
+ .#{$component}-thumb-icon {
180
220
  transition: none;
181
221
  }
182
222
  }
183
223
 
184
- @include c.high-contrast {
185
- .#{c.$prefix}-switch-track {
224
+ @include m.high-contrast {
225
+ .#{$component}-track {
186
226
  border-width: 2px;
187
227
  }
228
+
229
+ &--checked .#{$component}-track {
230
+ border-color: currentColor;
231
+ }
188
232
  }
233
+
234
+ // Touch target for better mobile experience
235
+ // @include m.touch-target;
189
236
  }
@@ -1,6 +1,352 @@
1
1
  // src/components/textfield/styles.scss
2
- @use 'sass:map';
3
- @use '../../styles/abstract/config' as c;
4
- @use 'styles/base';
5
- @use 'styles/filled';
6
- @use 'styles/outlined';
2
+ @use '../../styles/abstract/base' as base;
3
+ @use '../../styles/abstract/variables' as v;
4
+ @use '../../styles/abstract/functions' as f;
5
+ @use '../../styles/abstract/mixins' as m;
6
+ @use '../../styles/abstract/theme' as t;
7
+
8
+ // Define the component once
9
+ $component: '#{base.$prefix}-textfield';
10
+
11
+ // ===== BASE STYLES =====
12
+ .#{$component} {
13
+ position: relative;
14
+ display: inline-flex;
15
+ flex-direction: column;
16
+ min-width: 210px;
17
+
18
+ // Size variants
19
+ &--small {
20
+ .#{$component}-input {
21
+ height: 48px;
22
+ }
23
+ }
24
+
25
+ &--large {
26
+ .#{$component}-input {
27
+ height: 64px;
28
+ }
29
+ }
30
+
31
+ // Label
32
+ &-label {
33
+ @include m.typography('body-large');
34
+ user-select: none;
35
+ position: absolute;
36
+ left: 16px;
37
+ top: 50%;
38
+ transform: translateY(-50%);
39
+ transform-origin: left top;
40
+ pointer-events: none;
41
+ border-radius: 2px;
42
+ color: t.color('on-surface-variant');
43
+ transition: transform v.motion('duration-short4') v.motion('easing-emphasized'),
44
+ color v.motion('duration-short2') v.motion('easing-standard');
45
+ }
46
+
47
+ // Input element
48
+ &-input {
49
+ @include m.typography('body-large');
50
+ @include m.shape('extra-small');
51
+ padding: 13px 16px;
52
+ width: 100%;
53
+ color: t.color('on-surface');
54
+ border: 0;
55
+ appearance: none;
56
+ outline: none;
57
+
58
+ &::placeholder {
59
+ color: transparent;
60
+ }
61
+
62
+ // Autofill styles
63
+ &:-webkit-autofill {
64
+ -webkit-text-fill-color: t.color('on-surface');
65
+ transition: background-color 5000s ease-in-out 0s; // Long transition to keep the background
66
+
67
+ & ~ .#{$component}-label {
68
+ transform: translateY(-95%) scale(0.75);
69
+ background-color: t.color('surface');
70
+ }
71
+ }
72
+
73
+ // Firefox autofill
74
+ &:autofill {
75
+ color: t.color('on-surface');
76
+
77
+ & ~ .#{$component}-label {
78
+ transform: translateY(-95%) scale(0.75);
79
+ background-color: t.color('surface');
80
+ }
81
+ }
82
+ }
83
+
84
+ // Error state
85
+ &--error {
86
+ border-color: t.color('error');
87
+
88
+ .#{$component}-label {
89
+ color: t.color('error');
90
+ }
91
+ }
92
+
93
+ // Disabled state
94
+ &-input:disabled {
95
+ opacity: 0.38;
96
+ border-color: t.color('on-surface');
97
+ background-color: t.alpha('on-surface', 0.04);
98
+ pointer-events: none;
99
+
100
+ & ~ .#{$component}-label {
101
+ color: t.color('on-surface');
102
+ opacity: 0.38;
103
+ }
104
+ }
105
+
106
+ // Helper text
107
+ &-helper {
108
+ @include m.typography('body-small');
109
+ margin-top: 4px;
110
+ color: t.color('on-surface-variant');
111
+
112
+ &--error {
113
+ color: t.color('error');
114
+ }
115
+ }
116
+
117
+ // Required indicator
118
+ &-required {
119
+ color: t.color('error');
120
+ margin-left: 4px;
121
+ }
122
+
123
+ // Accessibility
124
+ @include m.reduced-motion {
125
+ &-label {
126
+ transition: none;
127
+ }
128
+ }
129
+
130
+ // RTL support
131
+ @include m.rtl {
132
+ &-label {
133
+ left: auto;
134
+ right: 16px;
135
+ transform-origin: right top;
136
+ }
137
+
138
+ &-required {
139
+ margin-left: 0;
140
+ margin-right: 4px;
141
+ }
142
+ }
143
+
144
+ // ===== FILLED VARIANT =====
145
+ &--filled {
146
+ border-bottom: 1px solid t.color('outline');
147
+
148
+ .#{$component}-input {
149
+ background-color: t.color('surface-container-highest');
150
+ padding: 20px 16px 7px;
151
+ border-radius: f.get-shape('extra-small') f.get-shape('extra-small') 0 0;
152
+ @include m.motion-transition(background-color, border-color);
153
+
154
+ &:focus {
155
+ padding-bottom: 6px;
156
+ }
157
+
158
+ // Autofill styles for filled variant
159
+ &:-webkit-autofill {
160
+ border-radius: f.get-shape('extra-small') f.get-shape('extra-small') 0 0;
161
+
162
+ & ~ .#{$component}-label {
163
+ transform: translateY(-95%) scale(0.75);
164
+ color: t.color('on-surface-variant');
165
+ }
166
+ }
167
+
168
+ &:autofill {
169
+ & ~ .#{$component}-label {
170
+ transform: translateY(-95%) scale(0.75);
171
+ color: t.color('on-surface-variant');
172
+ }
173
+ }
174
+ }
175
+
176
+ // Populated field (not empty) or focused field label position
177
+ &:not(.#{$component}--empty) .#{$component}-label,
178
+ &.#{$component}--focused .#{$component}-label {
179
+ transform: translateY(-95%) scale(0.75);
180
+ }
181
+
182
+ // Focus state
183
+ &.#{$component}--focused {
184
+ border-bottom: 2px solid t.color('primary');
185
+
186
+ .#{$component}-label {
187
+ color: t.color('primary');
188
+ }
189
+
190
+ &:hover {
191
+ border-bottom: 2px solid t.color('primary');
192
+ }
193
+ }
194
+
195
+ // Hover state
196
+ &:hover {
197
+ border-bottom: 1px solid t.color('primary');
198
+
199
+ .#{$component}-label {
200
+ color: t.color('primary');
201
+ }
202
+ }
203
+
204
+ // Error state
205
+ &.#{$component}--error {
206
+ border-bottom: 2px solid t.color('error');
207
+
208
+ .#{$component}-label {
209
+ color: t.color('error');
210
+ }
211
+
212
+ &:hover {
213
+ border-bottom: 2px solid t.color('error');
214
+ }
215
+
216
+ &.#{$component}--focused {
217
+ border-bottom: 2px solid t.color('error');
218
+ }
219
+ }
220
+
221
+ // Disabled state
222
+ &.#{$component}--disabled {
223
+ border-bottom-color: t.alpha('on-surface', 0.38);
224
+ pointer-events: none;
225
+
226
+ .#{$component}-input {
227
+ background-color: t.alpha('on-surface', 0.04);
228
+ }
229
+ }
230
+
231
+ // RTL support
232
+ @include m.rtl {
233
+ .#{$component}-label {
234
+ left: auto;
235
+ right: 16px;
236
+ }
237
+ }
238
+ }
239
+
240
+ // ===== OUTLINED VARIANT =====
241
+ &--outlined {
242
+ border: 1px solid t.color('outline');
243
+ border-radius: f.get-shape('extra-small');
244
+ @include m.motion-transition(border-color);
245
+
246
+ .#{$component}-input {
247
+ background-color: transparent;
248
+ padding: 13px 16px 14px;
249
+ @include m.motion-transition(padding);
250
+
251
+ // Autofill styles for outlined variant
252
+ &:-webkit-autofill {
253
+ border-radius: f.get-shape('extra-small');
254
+
255
+ & ~ .#{$component}-label {
256
+ background-color: t.color('surface');
257
+ transform: translateY(-145%) scale(0.75);
258
+ left: 13px;
259
+ padding: 0 4px;
260
+ }
261
+ }
262
+
263
+ &:autofill {
264
+ & ~ .#{$component}-label {
265
+ background-color: t.color('surface');
266
+ transform: translateY(-145%) scale(0.75);
267
+ left: 13px;
268
+ padding: 0 4px;
269
+ }
270
+ }
271
+ }
272
+
273
+ // Populated field (not empty) or focused field label position
274
+ &:not(.#{$component}--empty) .#{$component}-label,
275
+ &.#{$component}--focused .#{$component}-label {
276
+ background-color: t.color('surface');
277
+ transform: translateY(-145%) scale(0.75);
278
+ left: 13px;
279
+ padding: 0 4px;
280
+ }
281
+
282
+ // Focus state
283
+ &.#{$component}--focused {
284
+ border: 2px solid t.color('primary');
285
+
286
+ .#{$component}-label {
287
+ color: t.color('primary');
288
+ border-radius: 2px;
289
+ left: 12px;
290
+ }
291
+
292
+ .#{$component}-input {
293
+ padding: 12px 15px 13px;
294
+ }
295
+
296
+ &:hover {
297
+ border: 2px solid t.color('primary');
298
+ }
299
+ }
300
+
301
+ // Hover state
302
+ &:hover {
303
+ border: 1px solid t.color('primary');
304
+
305
+ .#{$component}-label {
306
+ color: t.color('primary');
307
+ }
308
+ }
309
+
310
+ // Error state
311
+ &.#{$component}--error {
312
+ border: 2px solid t.color('error');
313
+
314
+ .#{$component}-label {
315
+ color: t.color('error');
316
+ left: 12px;
317
+ }
318
+
319
+ .#{$component}-input {
320
+ padding: 12px 15px 13px;
321
+ }
322
+
323
+ &:hover,
324
+ &.#{$component}--focused {
325
+ border: 2px solid t.color('error');
326
+ }
327
+ }
328
+
329
+ // Disabled state
330
+ &.#{$component}--disabled {
331
+ border-color: t.alpha('on-surface', 0.38);
332
+ pointer-events: none;
333
+ }
334
+
335
+ // RTL support
336
+ @include m.rtl {
337
+ &:not(.#{$component}--empty) .#{$component}-label,
338
+ &.#{$component}--focused .#{$component}-label {
339
+ left: auto;
340
+ right: 13px;
341
+ }
342
+
343
+ &.#{$component}--focused .#{$component}-label {
344
+ right: 12px;
345
+ }
346
+
347
+ &.#{$component}--error .#{$component}-label {
348
+ right: 12px;
349
+ }
350
+ }
351
+ }
352
+ }
@@ -0,0 +1,79 @@
1
+ // src/components/ripple/_ripple.scss
2
+ @use '../../styles/abstract/base' as base;
3
+ @use '../../styles/abstract/variables' as v;
4
+ @use '../../styles/abstract/functions' as f;
5
+ @use '../../styles/abstract/mixins' as m;
6
+ @use '../../styles/abstract/theme' as t;
7
+
8
+ $component: '#{base.$prefix}-ripple';
9
+
10
+ .#{$component} {
11
+ // Ripple container
12
+ position: absolute;
13
+ top: 0;
14
+ left: 0;
15
+ right: 0;
16
+ bottom: 0;
17
+ overflow: hidden;
18
+ border-radius: inherit;
19
+ pointer-events: none;
20
+ z-index: 0;
21
+
22
+ // Ripple element
23
+ &-wave {
24
+ position: absolute;
25
+ border-radius: 50%;
26
+ background-color: currentColor;
27
+ transform: scale(0);
28
+ opacity: 0;
29
+ pointer-events: none;
30
+ will-change: transform, opacity;
31
+
32
+ // Animation
33
+ transition-property: transform, opacity;
34
+ transition-duration: v.motion('duration-short4');
35
+ transition-timing-function: v.motion('easing-standard');
36
+
37
+ // Active ripple
38
+ &.active {
39
+ transform: scale(1);
40
+ opacity: v.state('hover-state-layer-opacity');
41
+ }
42
+
43
+ &.fade-out {
44
+ opacity: 0;
45
+ }
46
+ }
47
+ }
48
+
49
+ // Standalone utility for adding ripple to any element
50
+ [data-ripple] {
51
+ position: relative;
52
+ overflow: hidden;
53
+
54
+ &::after {
55
+ content: '';
56
+ position: absolute;
57
+ top: 0;
58
+ left: 0;
59
+ right: 0;
60
+ bottom: 0;
61
+ z-index: 0;
62
+ pointer-events: none;
63
+ }
64
+
65
+ // Handle ripple color based on data attribute
66
+ &[data-ripple="light"]::after {
67
+ background-color: rgba(255, 255, 255, 0.3);
68
+ }
69
+
70
+ &[data-ripple="dark"]::after {
71
+ background-color: rgba(0, 0, 0, 0.1);
72
+ }
73
+
74
+ // Make content appear above ripple
75
+ > * {
76
+ position: relative;
77
+ z-index: 1;
78
+ }
79
+ }
@@ -86,7 +86,6 @@ export const createElement = (options = {}) => {
86
86
  }
87
87
 
88
88
  if (typeof onCreate === 'function') {
89
- log.info('onCreate', element, context)
90
89
  onCreate(element, context)
91
90
  }
92
91