matcha-theme 19.73.0 → 19.74.0

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.
@@ -0,0 +1,398 @@
1
+ @mixin matcha-slide-toggle-theme($theme) {
2
+ matcha-slide-toggle {
3
+ input[type="checkbox"] {
4
+ &::before {
5
+ background-color: getDisabled($theme);
6
+ }
7
+ &::after {
8
+ box-shadow: getDisabledContrast($theme);
9
+ background-color: getGrey($theme);
10
+ }
11
+ }
12
+ &:not([color]),
13
+ &[color="accent"] {
14
+ input[type="checkbox"] {
15
+ &:checked {
16
+ &::before {
17
+ background-color: getAccentAlpha($theme);
18
+ }
19
+ &::after {
20
+ background-color: getAccent($theme);
21
+ }
22
+ }
23
+ }
24
+ }
25
+
26
+ //red
27
+ &[color="red"] {
28
+ input[type="checkbox"] {
29
+ &:checked {
30
+ &::before {
31
+ background-color: getRedAlpha($theme);
32
+ }
33
+ &::after {
34
+ background-color: getRed($theme);
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ //pink
41
+ &[color="pink"] {
42
+ input[type="checkbox"] {
43
+ &:checked {
44
+ &::before {
45
+ background-color: getPinkAlpha($theme);
46
+ }
47
+ &::after {
48
+ background-color: getPink($theme);
49
+ }
50
+ }
51
+ }
52
+ }
53
+
54
+ //purple
55
+ &[color="purple"] {
56
+ input[type="checkbox"] {
57
+ &:checked {
58
+ &::before {
59
+ background-color: getPurpleAlpha($theme);
60
+ }
61
+ &::after {
62
+ background-color: getPurple($theme);
63
+ }
64
+ }
65
+ }
66
+ }
67
+
68
+ //deep-purple
69
+ &[color="deep-purple"] {
70
+ input[type="checkbox"] {
71
+ &:checked {
72
+ &::before {
73
+ background-color: getDeepPurpleAlpha($theme);
74
+ }
75
+ &::after {
76
+ background-color: getDeepPurple($theme);
77
+ }
78
+ }
79
+ }
80
+ }
81
+
82
+ //indigo
83
+ &[color="indigo"] {
84
+ input[type="checkbox"] {
85
+ &:checked {
86
+ &::before {
87
+ background-color: getIndigoAlpha($theme);
88
+ }
89
+ &::after {
90
+ background-color: getIndigo($theme);
91
+ }
92
+ }
93
+ }
94
+ }
95
+
96
+ //blue
97
+ &[color="blue"] {
98
+ input[type="checkbox"] {
99
+ &:checked {
100
+ &::before {
101
+ background-color: getBlueAlpha($theme);
102
+ }
103
+ &::after {
104
+ background-color: getBlue($theme);
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+ //light-blue
111
+ &[color="light-blue"] {
112
+ input[type="checkbox"] {
113
+ &:checked {
114
+ &::before {
115
+ background-color: getLightBlueAlpha($theme);
116
+ }
117
+ &::after {
118
+ background-color: getLightBlue($theme);
119
+ }
120
+ }
121
+ }
122
+ }
123
+
124
+ //cyan
125
+ &[color="cyan"] {
126
+ input[type="checkbox"] {
127
+ &:checked {
128
+ &::before {
129
+ background-color: getCyanAlpha($theme);
130
+ }
131
+ &::after {
132
+ background-color: getCyan($theme);
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ //teal
139
+ &[color="teal"] {
140
+ input[type="checkbox"] {
141
+ &:checked {
142
+ &::before {
143
+ background-color: getTealAlpha($theme);
144
+ }
145
+ &::after {
146
+ background-color: getTeal($theme);
147
+ }
148
+ }
149
+ }
150
+ }
151
+
152
+ //green
153
+ &[color="green"] {
154
+ input[type="checkbox"] {
155
+ &:checked {
156
+ &::before {
157
+ background-color: getGreenAlpha($theme);
158
+ }
159
+ &::after {
160
+ background-color: getGreen($theme);
161
+ }
162
+ }
163
+ }
164
+ }
165
+
166
+ //light-green
167
+ &[color="light-green"] {
168
+ input[type="checkbox"] {
169
+ &:checked {
170
+ &::before {
171
+ background-color: getLightGreenAlpha($theme);
172
+ }
173
+ &::after {
174
+ background-color: getLightGreen($theme);
175
+ }
176
+ }
177
+ }
178
+ }
179
+
180
+ //lime
181
+ &[color="lime"] {
182
+ input[type="checkbox"] {
183
+ &:checked {
184
+ &::before {
185
+ background-color: getLimeAlpha($theme);
186
+ }
187
+ &::after {
188
+ background-color: getLime($theme);
189
+ }
190
+ }
191
+ }
192
+ }
193
+
194
+ //yellow
195
+ &[color="yellow"] {
196
+ input[type="checkbox"] {
197
+ &:checked {
198
+ &::before {
199
+ background-color: getYellowAlpha($theme);
200
+ }
201
+ &::after {
202
+ background-color: getYellow($theme);
203
+ }
204
+ }
205
+ }
206
+ }
207
+
208
+ //amber
209
+ &[color="amber"] {
210
+ input[type="checkbox"] {
211
+ &:checked {
212
+ &::before {
213
+ background-color: getAmberAlpha($theme);
214
+ }
215
+ &::after {
216
+ background-color: getAmber($theme);
217
+ }
218
+ }
219
+ }
220
+ }
221
+
222
+ //orange
223
+ &[color="orange"] {
224
+ input[type="checkbox"] {
225
+ &:checked {
226
+ &::before {
227
+ background-color: getOrangeAlpha($theme);
228
+ }
229
+ &::after {
230
+ background-color: getOrange($theme);
231
+ }
232
+ }
233
+ }
234
+ }
235
+
236
+ //deep-orange
237
+ &[color="deep-orange"] {
238
+ input[type="checkbox"] {
239
+ &:checked {
240
+ &::before {
241
+ background-color: getDeepOrangeAlpha($theme);
242
+ }
243
+ &::after {
244
+ background-color: getDeepOrange($theme);
245
+ }
246
+ }
247
+ }
248
+ }
249
+
250
+ //brown
251
+ &[color="brown"] {
252
+ input[type="checkbox"] {
253
+ &:checked {
254
+ &::before {
255
+ background-color: getBrownAlpha($theme);
256
+ }
257
+ &::after {
258
+ background-color: getBrown($theme);
259
+ }
260
+ }
261
+ }
262
+ }
263
+
264
+ //grey
265
+ &[color="grey"] {
266
+ input[type="checkbox"] {
267
+ &:checked {
268
+ &::before {
269
+ background-color: getGreyAlpha($theme);
270
+ }
271
+ &::after {
272
+ background-color: getGrey($theme);
273
+ }
274
+ }
275
+ }
276
+ }
277
+
278
+ //blue-grey
279
+ &[color="blue-grey"] {
280
+ input[type="checkbox"] {
281
+ &:checked {
282
+ &::before {
283
+ background-color: getBlueGreyAlpha($theme);
284
+ }
285
+ &::after {
286
+ background-color: getBlueGrey($theme);
287
+ }
288
+ }
289
+ }
290
+ }
291
+
292
+ //primary
293
+ &[color="primary"] {
294
+ input[type="checkbox"] {
295
+ &:checked {
296
+ &::before {
297
+ background-color: getPrimaryAlpha($theme);
298
+ }
299
+ &::after {
300
+ background-color: getPrimary($theme);
301
+ }
302
+ }
303
+ }
304
+ }
305
+
306
+ //warn
307
+ &[color="warn"] {
308
+ input[type="checkbox"] {
309
+ &:checked {
310
+ &::before {
311
+ background-color: getWarnAlpha($theme);
312
+ }
313
+ &::after {
314
+ background-color: getWarn($theme);
315
+ }
316
+ }
317
+ }
318
+ }
319
+
320
+ .matcha-slide-toggle-label {
321
+ color: getGrey($theme);
322
+ }
323
+ }
324
+
325
+ matcha-slide-toggle {
326
+ label {
327
+ display: inline-flex;
328
+ align-items: center;
329
+ cursor: pointer;
330
+ outline: none;
331
+ -webkit-tap-highlight-color: transparent;
332
+ vertical-align: middle;
333
+ position: relative;
334
+
335
+ .matcha-slide-toggle-label {
336
+ font-size: 14px;
337
+ user-select: none;
338
+ }
339
+ &.matcha-slide-toggle-disabled {
340
+ cursor: not-allowed;
341
+ opacity: 0.5;
342
+
343
+ input[type="checkbox"] {
344
+ cursor: not-allowed;
345
+ }
346
+ }
347
+ }
348
+
349
+ input[type="checkbox"] {
350
+ appearance: none;
351
+ -webkit-appearance: none;
352
+ position: relative;
353
+ display: inline-block;
354
+ width: 36px;
355
+ height: 20px;
356
+ margin: 0;
357
+ outline: none;
358
+ cursor: pointer;
359
+ vertical-align: middle;
360
+
361
+ &::before {
362
+ content: "";
363
+ position: absolute;
364
+ top: 50%;
365
+ left: 0;
366
+ transform: translateY(-50%);
367
+ width: 100%;
368
+ height: 14px;
369
+ border-radius: 7px;
370
+ transition: background-color 0.15s linear;
371
+ }
372
+
373
+ &::after {
374
+ content: "";
375
+ position: absolute;
376
+ top: 0;
377
+ left: -1px;
378
+ width: 20px;
379
+ height: 20px;
380
+ border-radius: 50%;
381
+ transition:
382
+ transform 0.15s cubic-bezier(0.4, 0, 0.2, 1),
383
+ background-color 0.15s linear,
384
+ outline 0.1s ease-out;
385
+ }
386
+
387
+ &:checked {
388
+ &::after {
389
+ transform: translateX(17px);
390
+ }
391
+ }
392
+
393
+ &:focus-visible::after {
394
+ outline-offset: 2px;
395
+ }
396
+ }
397
+ }
398
+ }
package/main.scss CHANGED
@@ -41,6 +41,8 @@
41
41
  @import "./components/matcha-ripple.scss"; // matcha-ripple-theme($theme)
42
42
  @import "./components/matcha-spin.scss"; // matcha-spin-theme($theme)
43
43
  @import "./components/matcha-hint-text.scss"; // matcha-hint-theme($theme)
44
+ @import "./components/matcha-slide-toggle.scss"; // matcha-slide-toggle($theme)
45
+
44
46
  @import "./components/matcha-tabs.scss"; // matcha-tabs($theme)
45
47
  @import "./components/matcha-modal.scss"; // matcha-modal($theme)
46
48
  // VENDORS
@@ -143,6 +145,7 @@
143
145
  @include matcha-checkbox($theme);
144
146
  @include matcha-spin($theme);
145
147
  @include matcha-hint-text($theme);
148
+ @include matcha-slide-toggle-theme($theme);
146
149
  @include matcha-tabs($theme);
147
150
  @include matcha-modal-theme($theme);
148
151
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matcha-theme",
3
- "version": "19.73.0",
3
+ "version": "19.74.0",
4
4
  "description": "Themes for matcha-design-system",
5
5
  "main": "main.scss",
6
6
  "scripts": {