vanilla-jui 1.7.9 → 1.7.11

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 (62) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/index.umd.js +1 -1
  3. package/dist/style.css +1 -1
  4. package/package.json +1 -1
  5. package/src/components/accordion.ts +1 -1
  6. package/src/components/flow.ts +1 -1
  7. package/src/components/form.ts +1 -1
  8. package/src/components/modal.ts +1 -1
  9. package/src/css/index.css +1 -2
  10. package/src/css/layout.css +156 -63
  11. package/src/css/status.css +0 -1
  12. package/src/css/themes/default/accordion.css +37 -1
  13. package/src/css/themes/default/avatar.css +23 -1
  14. package/src/css/themes/default/badge.css +20 -3
  15. package/src/css/themes/default/breadcrumb.css +65 -1
  16. package/src/css/themes/default/button.css +64 -11
  17. package/src/css/themes/default/drop.css +19 -1
  18. package/src/css/themes/default/editor.css +781 -7
  19. package/src/css/themes/default/form.css +650 -2
  20. package/src/css/themes/default/index.css +17 -14
  21. package/src/css/themes/default/loading.css +144 -2
  22. package/src/css/themes/default/menu.css +113 -125
  23. package/src/css/themes/default/modal.css +26 -4
  24. package/src/css/themes/default/offcanvas.css +19 -1
  25. package/src/css/themes/default/pagination.css +13 -1
  26. package/src/css/themes/default/swiper.css +99 -1
  27. package/src/css/themes/default/tabs.css +50 -1
  28. package/src/css/themes/default/theme-palette.css +24 -1
  29. package/src/css/themes/default/tip.css +36 -1
  30. package/src/css/themes/default/toast.css +42 -1
  31. package/src/css/themes/default/toolbar.css +29 -1
  32. package/src/css/themes/default/tooltip.css +8 -2
  33. package/src/css/themes/default/tree.css +40 -3
  34. package/src/css/accordion.css +0 -47
  35. package/src/css/avatar.css +0 -27
  36. package/src/css/badge.css +0 -8
  37. package/src/css/breadcrumb.css +0 -71
  38. package/src/css/button.css +0 -32
  39. package/src/css/components.css +0 -28
  40. package/src/css/divider.css +0 -9
  41. package/src/css/drop.css +0 -21
  42. package/src/css/editor.css +0 -794
  43. package/src/css/form.css +0 -658
  44. package/src/css/loading.css +0 -150
  45. package/src/css/menu.css +0 -74
  46. package/src/css/modal.css +0 -33
  47. package/src/css/offcanvas.css +0 -23
  48. package/src/css/pagination.css +0 -15
  49. package/src/css/popup.css +0 -66
  50. package/src/css/skeleton.css +0 -72
  51. package/src/css/swiper.css +0 -107
  52. package/src/css/tabs.css +0 -58
  53. package/src/css/tag.css +0 -36
  54. package/src/css/theme-palette.css +0 -28
  55. package/src/css/themes/default/popup.css +0 -7
  56. package/src/css/themes/default/tag.css +0 -85
  57. package/src/css/tip.css +0 -40
  58. package/src/css/toast.css +0 -54
  59. package/src/css/toolbar.css +0 -34
  60. package/src/css/tooltip.css +0 -12
  61. package/src/css/tree.css +0 -51
  62. /package/src/css/{flow.css → themes/default/flow.css} +0 -0
package/src/css/form.css DELETED
@@ -1,658 +0,0 @@
1
- @layer components {
2
- .j-form,
3
- .j-form .form-field,
4
- .j-form .form-field .field-legend {
5
- display: flex;
6
- }
7
-
8
- .j-form {
9
- flex-direction: column;
10
- gap: var(--s3);
11
- }
12
-
13
- .j-form .form-field {
14
- gap: var(--space);
15
- margin: 0;
16
- }
17
-
18
- .j-form fieldset.form-field {
19
- border: 0;
20
- padding: 0;
21
- }
22
-
23
- .j-form .form-field {
24
- flex-direction: column;
25
- }
26
-
27
- .j-form .form-field .field-legend {
28
- justify-content: space-between;
29
- color: var(--ui-fg-muted);
30
- font-size: var(--font-size-sm);
31
- gap: var(--space);
32
- }
33
-
34
- .j-form .field-legend.is-required::after {
35
- content: '*';
36
- color: var(--state-danger);
37
- }
38
-
39
- .j-form .form-field .field-control .help-block {
40
- font-size: var(--font-size-sm);
41
- color: var(--ui-fg-soft);
42
- margin: 0;
43
- }
44
-
45
- .j-form .form-field .field-control .help-block[data-valid='false'] {
46
- color: var(--state-danger);
47
- }
48
-
49
- .j-form .form-buttons {
50
- display: flex;
51
- gap: var(--s2);
52
- margin-top: var(--s2);
53
- }
54
-
55
- .j-form [data-field-buttons] button {
56
- position: relative;
57
- }
58
-
59
- /* input */
60
- .j-input {
61
- font-size: var(--input-font-size);
62
- background-color: var(--input-bg);
63
- color: var(--input-fg);
64
- }
65
-
66
- .j-input:not([type='checkbox']) {
67
- border-width: 1px;
68
- border-style: solid;
69
- border-color: var(--ui-border);
70
- border-radius: var(--radius-md);
71
- padding: var(--input-padding);
72
- height: var(--input-height);
73
- line-height: var(--input-line-height);
74
- letter-spacing: 0.5px;
75
- }
76
-
77
- /* type file */
78
- .j-input[type='file'] {
79
- appearance: none;
80
- background-clip: padding-box;
81
- overflow: hidden;
82
- cursor: pointer;
83
- background-color: var(--ui-surface-subtle);
84
- }
85
-
86
- .j-input[type='file']::file-selector-button {
87
- color: var(--ui-fg-muted);
88
- appearance: none;
89
- border-width: 0;
90
- border-inline-end-width: 1px;
91
- border-radius: 0;
92
- border-color: var(--ui-border);
93
- background-color: transparent;
94
- margin: calc(var(--space) * -2);
95
- font-size: var(--input-font-size);
96
- }
97
-
98
- .j-input[type='file']::file-selector-button,
99
- html.j-font-sm .j-input[type='file']::file-selector-button {
100
- margin-inline-end: var(--s2);
101
- padding: var(--s2);
102
- }
103
-
104
- html.j-font-md .j-input[type='file']::file-selector-button {
105
- margin-inline-end: calc(var(--space) * 2.75);
106
- padding: calc(var(--space) * 2.75);
107
- }
108
-
109
- /* input style */
110
- .j-input.is-line:not([type='checkbox']) {
111
- border-top-color: transparent;
112
- border-left-color: transparent;
113
- border-right-color: transparent;
114
- padding-left: 0;
115
- padding-right: 0;
116
- border-radius: 0;
117
- }
118
-
119
- .j-input.is-ghost:not([type='checkbox']) {
120
- border-color: transparent;
121
- background-color: var(--tone-subtle);
122
- }
123
-
124
- .j-input.is-blank:not([type='checkbox']) {
125
- border-color: transparent;
126
- padding-left: 0;
127
- padding-right: 0;
128
- }
129
-
130
- .j-input[data-valid='false'],
131
- .j-select[data-valid='false'],
132
- .j-textarea[data-valid='false'] {
133
- border-color: var(--state-danger);
134
- /* background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); */
135
- }
136
-
137
- /* type radio */
138
- .j-radio {
139
- display: flex;
140
- flex-wrap: wrap;
141
- }
142
-
143
- .j-radio.is-vertical {
144
- flex-direction: column;
145
- }
146
-
147
- .j-radio,
148
- .j-radio.is-horizontal {
149
- flex-direction: row;
150
- }
151
-
152
- .j-radio label {
153
- display: flex;
154
- align-items: center;
155
- gap: calc(var(--space)*1.5);
156
- font-size: var(--font-size-md);
157
- padding: calc(var(--space)*2);
158
- border-radius: var(--radius-md);
159
- }
160
-
161
- .j-radio label:not(:has(input[type='radio']:disabled)):hover {
162
- background-color: var(--ui-surface-hover);
163
- }
164
-
165
- .j-radio label input[type='radio'] {
166
- appearance: none;
167
- width: 1rem;
168
- height: 1rem;
169
- border-radius: 50%;
170
- border-width: 1px;
171
- border-style: solid;
172
- border-color: var(--ui-border);
173
- background-color: var(--ui-bg);
174
- cursor: pointer;
175
- position: relative;
176
- margin: 0;
177
- }
178
-
179
- .j-radio label input[type='radio']:checked {
180
- border-color: var(--tone-solid);
181
- background-color: var(--tone-solid);
182
- }
183
-
184
- .j-radio label input[type='radio']:focus-visible {
185
- outline: 2px solid var(--tone-ring);
186
- outline-offset: 1px;
187
- }
188
-
189
- .j-radio label input[type='radio']:before {
190
- content: '';
191
- position: absolute;
192
- width: 6px;
193
- height: 6px;
194
- border-radius: 50%;
195
- background-color: var(--ui-bg);
196
- top: 50%;
197
- left: 50%;
198
- transform: translate(-50%, -50%) scale(0);
199
- transition: transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
200
- }
201
-
202
- .j-radio label input[type='radio']:checked::before {
203
- transform: translate(-50%, -50%) scale(1);
204
- }
205
-
206
- .j-radio label:has(input[type='radio']:disabled) {
207
- cursor: not-allowed;
208
- color: var(--ui-disabled-fg);
209
- }
210
-
211
- .j-radio label input[type='radio']:disabled {
212
- background-color: var(--ui-disabled-bg);
213
- border-color: var(--ui-border);
214
- cursor: not-allowed;
215
- }
216
-
217
- .j-radio.is-group {
218
- gap: 0;
219
- flex-wrap: nowrap;
220
- }
221
-
222
- /* radio group */
223
- .j-radio.is-group input[type='radio'] {
224
- clip: rect(0 0 0 0);
225
- clip-path: inset(100%);
226
- height: 1px;
227
- overflow: hidden;
228
- position: absolute;
229
- white-space: nowrap;
230
- width: 1px;
231
- }
232
-
233
- .j-radio.is-group label span.radio-text {
234
- color: var(--ui-fg);
235
- background-color: var(--ui-bg);
236
- padding: var(--radio-group-padding, calc(var(--space) * 1.5) var(--s3));
237
- height: var(--el-height-md);
238
- line-height: var(--line-height);
239
- box-shadow: 0 0 0 1px var(--ui-input-border);
240
- cursor: pointer;
241
- position: relative;
242
- display: flex;
243
- justify-content: center;
244
- align-items: center;
245
- text-align: center;
246
- user-select: none;
247
- letter-spacing: 0.5px;
248
- }
249
-
250
- .j-radio.is-group label:not(:first-child) span.radio-text {
251
- margin-left: 1px;
252
- }
253
-
254
- .j-radio.is-group input[type='radio']:checked + span.radio-text {
255
- box-shadow: 0 0 0 1px var(--tone-solid);
256
- background-color: var(--tone-solid);
257
- z-index: 1;
258
- color: var(--tone-fg);
259
- }
260
-
261
- .j-radio.is-group label:first-child span {
262
- border-radius: var(--radius-md) 0 0 var(--radius-md);
263
- }
264
-
265
- .j-radio.is-group label:last-child span {
266
- border-radius: 0 var(--radius-md) var(--radius-md) 0;
267
- }
268
-
269
- .j-radio.is-group label {
270
- padding: 0;
271
- }
272
-
273
- .j-radio.is-group.is-sm label {
274
- font-size: var(--font-size-sm);
275
- }
276
-
277
- .j-radio.is-group.is-sm label span.radio-text {
278
- --radio-group-padding: var(--space) calc(var(--space) * 2.5);
279
- height: var(--el-height-sm);
280
- }
281
-
282
- .j-radio.is-group.is-lg label {
283
- font-size: var(--font-size-lg);
284
- }
285
-
286
- .j-radio.is-group.is-lg label span.radio-text {
287
- --radio-group-padding: var(--s3) calc(var(--space) * 3.5);
288
- height: var(--el-height-lg);
289
- }
290
-
291
- /* type checkbox */
292
- .j-checkbox {
293
- display: flex;
294
- flex-wrap: wrap;
295
- margin: 0;
296
- }
297
-
298
- .j-checkbox.is-vertical {
299
- flex-direction: column;
300
- }
301
-
302
- .j-checkbox,
303
- .j-checkbox.is-horizontal {
304
- flex-direction: row;
305
- }
306
-
307
- .j-checkbox label {
308
- display: flex;
309
- align-items: center;
310
- gap: var(--checkbox-label-gap, var(--s2));
311
- font-size: var(--checkbox-label-font-size, var(--font-size-md));
312
- height: var(--el-height-md);
313
- padding: calc(var(--space)*2);
314
- border-radius: var(--checkbox-label-border-radius, var(--radius-md));
315
- }
316
-
317
- .j-radio label,
318
- .j-checkbox label {
319
- width: fit-content;
320
- }
321
-
322
- .j-checkbox label:not(:has(input[type='checkbox']:disabled)):hover {
323
- background-color: var(--checkbox-hover-bg-color, var(--ui-surface-hover));
324
- }
325
-
326
- .j-checkbox input[type='checkbox'] {
327
- appearance: none;
328
- width: 1rem;
329
- height: 1rem;
330
- aspect-ratio: 1/1;
331
- border-width: 1px;
332
- border-style: solid;
333
- border-color: var(--ui-border);
334
- border-radius: var(--radius-md);
335
- cursor: pointer;
336
- position: relative;
337
- margin: 0;
338
- }
339
-
340
- .j-checkbox input[type='checkbox']:checked {
341
- border-color: transparent;
342
- border-radius: var(--radius-md);
343
- background-color: var(--tone-solid);
344
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");
345
- background-repeat: no-repeat;
346
- background-position: center;
347
- background-size: contain;
348
- print-color-adjust: exact;
349
- }
350
-
351
- .dark .j-checkbox input[type='checkbox']:checked {
352
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");
353
- }
354
-
355
- /* switch checkbox */
356
- .j-switch {
357
- display: inline-block;
358
- position: relative;
359
- }
360
-
361
- .j-switch.is-sm {
362
- width: 1.75rem;
363
- height: var(--switch-height-sm, calc(var(--space, 0 0.25rem) * 4));
364
- }
365
-
366
- .j-switch.is-md {
367
- width: 2.625rem;
368
- height: var(--switch-height-md, calc(var(--space, 0 0.25rem) * 6));
369
- }
370
-
371
- .j-switch.is-lg {
372
- width: 3.5rem;
373
- height: var(--switch-height-lg, calc(var(--space, 0 0.25rem) * 8));
374
- }
375
-
376
- .j-switch input[type='checkbox'] {
377
- width: 0;
378
- height: 0;
379
- opacity: 0;
380
- }
381
-
382
- .j-switch .switch-slider {
383
- position: absolute;
384
- cursor: pointer;
385
- inset: 0;
386
- border-radius: 50px;
387
- background-color: var(--ui-border);
388
- transition: all 0.3s ease;
389
- }
390
-
391
- .j-switch .switch-slider:after {
392
- content: '';
393
- position: absolute;
394
- border-radius: 50%;
395
- background-color: #fff;
396
- transition: all 0.3s ease;
397
- }
398
-
399
- .j-switch.is-sm .switch-slider:after {
400
- left: 0.125rem;
401
- bottom: 0.125rem;
402
- width: 0.75rem;
403
- height: 0.75rem;
404
- }
405
-
406
- .j-switch.is-md .switch-slider:after {
407
- left: 0.1875rem;
408
- bottom: 0.1875rem;
409
- width: 1.125rem;
410
- height: 1.125rem;
411
- }
412
-
413
- .j-switch.is-lg .switch-slider:after {
414
- left: 0.25rem;
415
- bottom: 0.25rem;
416
- width: 1.5rem;
417
- height: 1.5rem;
418
- }
419
-
420
- .j-switch input[type='checkbox']:checked + .switch-slider {
421
- background-color: var(--tone-solid);
422
- }
423
-
424
- .j-switch.is-sm input[type='checkbox']:checked + .switch-slider:after {
425
- transform: translateX(0.75rem);
426
- }
427
-
428
- .j-switch.is-md input[type='checkbox']:checked + .switch-slider:after {
429
- transform: translateX(1.125rem);
430
- }
431
-
432
- .j-switch.is-lg input[type='checkbox']:checked + .switch-slider:after {
433
- transform: translateX(1.5rem);
434
- }
435
-
436
- .j-theme-gray
437
- .j-switch
438
- input[type='checkbox']:checked
439
- + .switch-slider:after {
440
- background-color: var(--ui-bg);
441
- }
442
-
443
- .j-theme-olive
444
- .j-switch
445
- input[type='checkbox']:checked
446
- + .switch-slider:after {
447
- background-color: var(--ui-bg);
448
- }
449
-
450
- .j-switch .switch-slider:hover {
451
- opacity: var(--opacity-hover, 0.9);
452
- }
453
-
454
- /* select */
455
- select.j-select {
456
- padding: var(--input-padding);
457
- border-width: 1px;
458
- border-style: solid;
459
- border-color: var(--ui-border);
460
- border-radius: var(--radius-md);
461
- height: var(--input-height);
462
- line-height: var(--input-line-height, var(--line-height));
463
- background-color: var(--input-background-color, inherit);
464
- font-size: var(--input-font-size);
465
- letter-spacing: 0.5px;
466
- }
467
-
468
- /* textarea */
469
- textarea.j-textarea {
470
- min-height: var(--textarea-min-height, calc(var(--space) * 18));
471
- border-width: 1px;
472
- border-style: solid;
473
- border-color: var(--ui-border);
474
- border-radius: var(--radius-md);
475
- background-color: var(--input-background-color, var(--ui-bg));
476
- color: var(--input-color, var(--ui-input-color));
477
- resize: vertical;
478
- padding: var(--space) var(--s2);
479
- font-family: inherit;
480
- font-size: var(--textarea-font-size, var(--font-size-md));
481
- line-height: var(--textarea-line-height, var(--line-height));
482
- }
483
-
484
- textarea.j-textarea:disabled {
485
- background-color: var(--ui-disabled-bg);
486
- color: var(--ui-disabled-fg);
487
- cursor: not-allowed;
488
- }
489
-
490
- .j-form input.j-input:not([type='checkbox']):not([type='radio']),
491
- .j-form select.j-select,
492
- .j-form textarea.j-textarea {
493
- width: 100%;
494
- }
495
-
496
- /* input group */
497
- .input-group {
498
- /* display: flex; */
499
- align-items: stretch;
500
- }
501
-
502
- .input-group input.j-input,
503
- .input-group select.j-select {
504
- position: relative;
505
- flex: 1 1 auto;
506
- min-width: 0;
507
- }
508
-
509
- .input-group .el-addon .is-text {
510
- border-width: 1px;
511
- border-style: solid;
512
- }
513
-
514
- /* input inner group */
515
- .input-group,
516
- .input-inner-group {
517
- position: relative;
518
- width: 100%;
519
- display: flex;
520
- flex-wrap: nowrap;
521
- }
522
-
523
- .input-inner-group {
524
- border: 1px solid var(--ui-border);
525
- border-radius: var(--radius-md);
526
- }
527
-
528
- .input-inner-group input.j-input,
529
- .input-inner-group select.j-select {
530
- width: 100%;
531
- letter-spacing: 0.4px;
532
- }
533
-
534
- .input-inner-group .el-addon {
535
- display: flex;
536
- align-items: center;
537
- justify-content: center;
538
- }
539
-
540
- .input-inner-group .el-addon svg {
541
- width: var(--font-size-xl);
542
- height: var(--font-size-xl);
543
- }
544
-
545
- .input-group .el-addon .is-text,
546
- .input-inner-group .el-addon.is-text {
547
- display: flex;
548
- align-items: center;
549
- padding-inline: var(--s2);
550
- user-select: none;
551
- }
552
-
553
- .input-inner-group .el-addon.inner-wrap {
554
- gap: var(--space);
555
- padding-inline: var(--space);
556
- }
557
-
558
- /* status active */
559
- .input-group .j-button:not(:disabled):active,
560
- .inner-group .j-input:focus,
561
- .input-group .j-input:focus-within,
562
- .inner-group .j-input:focus-visible,
563
- .input-group select.j-select:focus {
564
- z-index: 1;
565
- }
566
-
567
- /* status focus */
568
- .j-input:focus,
569
- .j-input:focus-within,
570
- .j-input:focus-visible,
571
- .j-textarea:focus,
572
- .j-textarea:focus-within,
573
- .j-textarea:focus-visible,
574
- select.j-select:focus,
575
- select.j-select:focus-within,
576
- select.j-select:focus-visible,
577
- .j-input[data-valid='false']:focus-within,
578
- .j-select[data-valid='false']:focus-within,
579
- .input-group .j-button:not(:disabled):active {
580
- outline: 0;
581
- border-color: var(--tone-solid);
582
- box-shadow: 0 0 0 4px var(--tone-ring);
583
- }
584
-
585
- .j-radio label input[type='radio']:focus-within {
586
- border-color: transparent;
587
- outline-offset: 1px;
588
- }
589
-
590
- .j-checkbox input[type='checkbox']:focus-within {
591
- border-color: var(--tone-solid);
592
- outline-offset: 1px;
593
- }
594
-
595
- .input-inner-group input.j-input,
596
- .input-inner-group select.j-select {
597
- border: 0;
598
- box-shadow: none;
599
- }
600
-
601
- /* status readonly */
602
- .j-input:not([type='file']):not(.is-line):not(.is-blank)[readonly],
603
- .j-textarea[readonly] {
604
- background-color: var(--ui-surface-active);
605
- }
606
-
607
- /* status disabled */
608
- .j-input:disabled:not(.is-line):not(.is-ghost):not(.is-blank),
609
- .j-textarea[disabled] {
610
- background-color: var(--ui-disabled-bg);
611
- }
612
-
613
- /* radio disabled */
614
- .j-radio label:has(input[type='radio']:disabled) {
615
- cursor: not-allowed;
616
- opacity: var(--opacity-disabled);
617
- color: var(--ui-disabled-fg);
618
- }
619
-
620
- .j-radio label input[type='radio']:disabled {
621
- background-color: var(--ui-disabled-bg);
622
- border-color: var(--ui-border);
623
- }
624
-
625
- .j-radio.is-group label input[type='radio']:disabled + .radio-text {
626
- cursor: not-allowed;
627
- background-color: var(--ui-disabled-bg);
628
- color: var(--ui-disabled-fg);
629
- }
630
-
631
- /* checkbox disabled */
632
- .j-checkbox label:has(input[type='checkbox']:disabled) {
633
- cursor: not-allowed;
634
- color: var(--ui-disabled-fg);
635
- }
636
-
637
- .j-checkbox label input[type='checkbox']:disabled {
638
- background-color: var(--ui-disabled-bg);
639
- border-color: var(--ui-border);
640
- }
641
-
642
- /* switch disabled */
643
- .j-switch:has(input[type='checkbox']:disabled),
644
- .j-switch.is-line:has(input[type='checkbox']:disabled) {
645
- opacity: var(--opacity-disabled);
646
- cursor: not-allowed;
647
- }
648
-
649
- .j-switch:has(input[type='checkbox']:disabled) .switch-slider,
650
- .j-switch.is-line:has(input[type='checkbox']:disabled) .switch-slider {
651
- cursor: not-allowed;
652
- }
653
-
654
- .j-switch:has(input[type='checkbox']:disabled) .switch-slider:before,
655
- .j-switch.is-line:has(input[type='checkbox']:disabled) .switch-slider:before {
656
- background-color: var(--ui-border);
657
- }
658
- }