cats-ui-lib 2.0.41 → 2.2.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.
Files changed (40) hide show
  1. package/README.md +749 -32
  2. package/assets/images/Waffle.svg +11 -0
  3. package/assets/images/brand-Logo.svg +46 -0
  4. package/assets/images/building-07.svg +3 -0
  5. package/assets/images/check-disabled.svg +3 -0
  6. package/assets/images/check-white.svg +3 -0
  7. package/assets/images/chevron-down-white.svg +3 -0
  8. package/assets/images/chevron-down.svg +3 -1
  9. package/assets/images/chevron-right-blue.svg +3 -0
  10. package/assets/images/chevron-right-red.svg +3 -0
  11. package/assets/images/chevron-up.svg +3 -1
  12. package/assets/images/clock-refresh.svg +3 -0
  13. package/assets/images/error-info.svg +10 -0
  14. package/assets/images/expand.svg +4 -0
  15. package/assets/images/file-check-02.svg +3 -0
  16. package/assets/images/filled-dropdown.svg +3 -0
  17. package/assets/images/global-logo.svg +8 -0
  18. package/assets/images/key-01.svg +3 -0
  19. package/assets/images/log-out-04.svg +3 -0
  20. package/assets/images/menu-collapsed.svg +4 -0
  21. package/assets/images/menu-expand.svg +4 -0
  22. package/assets/images/message-smile-square.svg +3 -0
  23. package/assets/images/minimize-expand.svg +4 -0
  24. package/assets/images/nodification.svg +4 -0
  25. package/assets/images/product-logo.svg +36 -0
  26. package/assets/images/settings-04.svg +3 -0
  27. package/assets/images/shuffle-01.svg +3 -0
  28. package/assets/images/spanish-flag.svg +72 -0
  29. package/assets/images/star-yellow.svg +3 -0
  30. package/assets/images/user-active.svg +10 -0
  31. package/assets/images/user-image.svg +9 -0
  32. package/assets/images/users-01.svg +3 -0
  33. package/assets/images/x-cancel-btn.svg +3 -0
  34. package/fesm2022/cats-ui-lib.mjs +2610 -643
  35. package/fesm2022/cats-ui-lib.mjs.map +1 -1
  36. package/index.d.ts +510 -226
  37. package/package.json +1 -1
  38. package/styles/_mixins.scss +1 -1
  39. package/styles/_utilities.scss +787 -1
  40. package/styles/_variables.scss +121 -1
@@ -4,9 +4,11 @@
4
4
  .pointer {
5
5
  cursor: pointer;
6
6
  }
7
+
7
8
  .d-none {
8
9
  display: none;
9
10
  }
11
+
10
12
  // ---------------------------- THREE DOTS TRUNCATE TEXT ------------------------
11
13
  .textTruncate {
12
14
  text-overflow: ellipsis;
@@ -15,7 +17,7 @@
15
17
  }
16
18
 
17
19
  // ------------------Button Styles--------------------
18
- button {
20
+ button.cats-btn {
19
21
  border: rem(1px) solid transparent;
20
22
  padding: 0 rem(28px);
21
23
  height: rem(56px);
@@ -38,15 +40,18 @@ button {
38
40
  background-color: var(--blue-600);
39
41
  color: var(--white);
40
42
  }
43
+
41
44
  &.secondary_btn {
42
45
  background-color: var(--neutral-100);
43
46
  color: var(--neutral-500);
44
47
  }
48
+
45
49
  &.outline_btn {
46
50
  background-color: var(--white);
47
51
  color: var(--neutral-500);
48
52
  border: rem(1px) solid var(--neutral-300);
49
53
  }
54
+
50
55
  &.disable {
51
56
  pointer-events: none;
52
57
  opacity: 0.6;
@@ -56,6 +61,7 @@ button {
56
61
  background-color: var(--blue-50);
57
62
  color: var(--blue-600);
58
63
  }
64
+
59
65
  &.disable_fill_lightBlue_btn {
60
66
  background-color: var(--blue-50);
61
67
  color: var(--blue-300);
@@ -67,11 +73,13 @@ button {
67
73
  color: var(--neutral-500);
68
74
  border: rem(1px) solid var(--neutral-200);
69
75
  }
76
+
70
77
  &.no_outline_btn {
71
78
  background-color: var(--blue-50);
72
79
  color: var(--blue-600);
73
80
  outline: none;
74
81
  }
82
+
75
83
  .close_outline_btn {
76
84
  background-color: var(--blue-50);
77
85
  border: rem(1px) solid var(--blue-50);
@@ -90,6 +98,7 @@ button {
90
98
  @include fontStyle(var(--fs-14), rem(24px), 400);
91
99
  color: var(--neutral-500);
92
100
  box-shadow: 0 rem(4px) rem(15px) rgba(0, 0, 0, 0.15);
101
+
93
102
  &::before {
94
103
  content: "";
95
104
  position: absolute;
@@ -105,3 +114,780 @@ button {
105
114
  border-left: 0;
106
115
  }
107
116
  }
117
+
118
+ /* Display Styles */
119
+ .display-large {
120
+ @include fontStyle(rem(56px), rem(80px), 500);
121
+ }
122
+
123
+ .display-large-emphasized {
124
+ @include fontStyle(rem(56px), rem(80px), 600);
125
+ }
126
+
127
+ .display-medium {
128
+ @include fontStyle(rem(48px), rem(56px), 500);
129
+ }
130
+
131
+ .display-medium-emphasized {
132
+ @include fontStyle(rem(48px), rem(56px), 600);
133
+ }
134
+
135
+ /* Heading Styles */
136
+ .heading-extra-large {
137
+ @include fontStyle(rem(36px), rem(40px), 500);
138
+ }
139
+
140
+ .heading-extra-large-emphasized {
141
+ @include fontStyle(rem(36px), rem(40px), 600);
142
+ }
143
+
144
+ .heading-large {
145
+ @include fontStyle(rem(24px), rem(32px), 500);
146
+ }
147
+
148
+ .heading-large-emphasized {
149
+ @include fontStyle(rem(24px), rem(32px), 600);
150
+ }
151
+
152
+ .heading-medium {
153
+ @include fontStyle(rem(20px), rem(28px), 500);
154
+ }
155
+
156
+ .heading-medium-emphasized {
157
+ @include fontStyle(rem(20px), rem(28px), 600);
158
+ }
159
+
160
+ .heading-small {
161
+ @include fontStyle(rem(18px), rem(28px), 500);
162
+ }
163
+
164
+ .heading-small-emphasized {
165
+ @include fontStyle(rem(18px), rem(28px), 600);
166
+ }
167
+
168
+ /* Body Styles */
169
+ .body-large {
170
+ @include fontStyle(rem(16px), rem(24px));
171
+ }
172
+
173
+ .body-large-emphasized {
174
+ @include fontStyle(rem(16px), rem(24px), 500);
175
+ }
176
+
177
+ .body-medium {
178
+ @include fontStyle(rem(14px), rem(20px));
179
+ }
180
+
181
+ .body-medium-emphasized {
182
+ @include fontStyle(rem(14px), rem(20px), 500);
183
+ }
184
+
185
+ .body-small {
186
+ @include fontStyle(rem(12px), rem(18px));
187
+ }
188
+
189
+ /* Meta Styles */
190
+ .meta-regular {
191
+ @include fontStyle(rem(14px), rem(20px), 500);
192
+ }
193
+
194
+ .meta-regular-emphasized {
195
+ @include fontStyle(rem(14px), rem(20px), 600);
196
+ }
197
+
198
+ /* Interaction Styles */
199
+ .interaction-medium {
200
+ @include fontStyle(rem(14px), rem(20px), 500);
201
+ }
202
+
203
+ .interaction-small {
204
+ @include fontStyle(rem(12px), rem(20px), 500);
205
+ }
206
+
207
+ /* System Utility Styles */
208
+ .system-utility-regular {
209
+ @include fontStyle(rem(12px), rem(18px), 500);
210
+ }
211
+
212
+ .system-utility-regular-emphasized {
213
+ @include fontStyle(rem(12px), rem(18px), 600);
214
+ }
215
+
216
+ .system-utility-small {
217
+ @include fontStyle(rem(10px), rem(12px), 500);
218
+ }
219
+
220
+ /* Font Weight Utility Classes */
221
+ .font-weight-regular {
222
+ font-weight: 400;
223
+ }
224
+
225
+ .font-weight-medium {
226
+ font-weight: 500;
227
+ }
228
+
229
+ .font-weight-semibold {
230
+ font-weight: 600;
231
+ }
232
+
233
+ /* Padding Classes (sp prefix) */
234
+ .sp-0 {
235
+ padding: rem(0px);
236
+ }
237
+
238
+ .sp-2 {
239
+ padding: rem(2px);
240
+ }
241
+
242
+ .sp-4 {
243
+ padding: rem(4px);
244
+ }
245
+
246
+ .sp-8 {
247
+ padding: rem(8px);
248
+ }
249
+
250
+ .sp-12 {
251
+ padding: rem(12px);
252
+ }
253
+
254
+ .sp-16 {
255
+ padding: rem(16px);
256
+ }
257
+
258
+ .sp-24 {
259
+ padding: rem(24px);
260
+ }
261
+
262
+ .sp-36 {
263
+ padding: rem(36px);
264
+ }
265
+
266
+ .sp-40 {
267
+ padding: rem(40px);
268
+ }
269
+
270
+ /* Margin Classes (sm prefix) */
271
+ .sm-0 {
272
+ margin: rem(0px);
273
+ }
274
+
275
+ .sm-2 {
276
+ margin: rem(2px);
277
+ }
278
+
279
+ .sm-4 {
280
+ margin: rem(4px);
281
+ }
282
+
283
+ .sm-8 {
284
+ margin: rem(8px);
285
+ }
286
+
287
+ .sm-12 {
288
+ margin: rem(12px);
289
+ }
290
+
291
+ .sm-16 {
292
+ margin: rem(16px);
293
+ }
294
+
295
+ .sm-24 {
296
+ margin: rem(24px);
297
+ }
298
+
299
+ .sm-36 {
300
+ margin: rem(36px);
301
+ }
302
+
303
+ .sm-40 {
304
+ margin: rem(40px);
305
+ }
306
+
307
+ /* Directional Padding */
308
+ .sp-t-0 {
309
+ padding-top: rem(0px);
310
+ }
311
+
312
+ .sp-t-2 {
313
+ padding-top: rem(2px);
314
+ }
315
+
316
+ .sp-t-4 {
317
+ padding-top: rem(4px);
318
+ }
319
+
320
+ .sp-t-8 {
321
+ padding-top: rem(8px);
322
+ }
323
+
324
+ .sp-t-12 {
325
+ padding-top: rem(12px);
326
+ }
327
+
328
+ .sp-t-16 {
329
+ padding-top: rem(16px);
330
+ }
331
+
332
+ .sp-t-24 {
333
+ padding-top: rem(24px);
334
+ }
335
+
336
+ .sp-t-36 {
337
+ padding-top: rem(36px);
338
+ }
339
+
340
+ .sp-t-40 {
341
+ padding-top: rem(40px);
342
+ }
343
+
344
+ .sp-b-0 {
345
+ padding-bottom: rem(0px);
346
+ }
347
+
348
+ .sp-b-2 {
349
+ padding-bottom: rem(2px);
350
+ }
351
+
352
+ .sp-b-4 {
353
+ padding-bottom: rem(4px);
354
+ }
355
+
356
+ .sp-b-8 {
357
+ padding-bottom: rem(8px);
358
+ }
359
+
360
+ .sp-b-12 {
361
+ padding-bottom: rem(12px);
362
+ }
363
+
364
+ .sp-b-16 {
365
+ padding-bottom: rem(16px);
366
+ }
367
+
368
+ .sp-b-24 {
369
+ padding-bottom: rem(24px);
370
+ }
371
+
372
+ .sp-b-36 {
373
+ padding-bottom: rem(36px);
374
+ }
375
+
376
+ .sp-b-40 {
377
+ padding-bottom: rem(40px);
378
+ }
379
+
380
+ .sp-l-0 {
381
+ padding-left: rem(0px);
382
+ }
383
+
384
+ .sp-l-2 {
385
+ padding-left: rem(2px);
386
+ }
387
+
388
+ .sp-l-4 {
389
+ padding-left: rem(4px);
390
+ }
391
+
392
+ .sp-l-8 {
393
+ padding-left: rem(8px);
394
+ }
395
+
396
+ .sp-l-12 {
397
+ padding-left: rem(12px);
398
+ }
399
+
400
+ .sp-l-16 {
401
+ padding-left: rem(16px);
402
+ }
403
+
404
+ .sp-l-24 {
405
+ padding-left: rem(24px);
406
+ }
407
+
408
+ .sp-l-36 {
409
+ padding-left: rem(36px);
410
+ }
411
+
412
+ .sp-l-40 {
413
+ padding-left: rem(40px);
414
+ }
415
+
416
+ .sp-r-0 {
417
+ padding-right: rem(0px);
418
+ }
419
+
420
+ .sp-r-2 {
421
+ padding-right: rem(2px);
422
+ }
423
+
424
+ .sp-r-4 {
425
+ padding-right: rem(4px);
426
+ }
427
+
428
+ .sp-r-8 {
429
+ padding-right: rem(8px);
430
+ }
431
+
432
+ .sp-r-12 {
433
+ padding-right: rem(12px);
434
+ }
435
+
436
+ .sp-r-16 {
437
+ padding-right: rem(16px);
438
+ }
439
+
440
+ .sp-r-24 {
441
+ padding-right: rem(24px);
442
+ }
443
+
444
+ .sp-r-36 {
445
+ padding-right: rem(36px);
446
+ }
447
+
448
+ .sp-r-40 {
449
+ padding-right: rem(40px);
450
+ }
451
+
452
+ /* Directional Margin */
453
+ .sm-t-0 {
454
+ margin-top: rem(0px);
455
+ }
456
+
457
+ .sm-t-2 {
458
+ margin-top: rem(2px);
459
+ }
460
+
461
+ .sm-t-4 {
462
+ margin-top: rem(4px);
463
+ }
464
+
465
+ .sm-t-8 {
466
+ margin-top: rem(8px);
467
+ }
468
+
469
+ .sm-t-12 {
470
+ margin-top: rem(12px);
471
+ }
472
+
473
+ .sm-t-16 {
474
+ margin-top: rem(16px);
475
+ }
476
+
477
+ .sm-t-24 {
478
+ margin-top: rem(24px);
479
+ }
480
+
481
+ .sm-t-36 {
482
+ margin-top: rem(36px);
483
+ }
484
+
485
+ .sm-t-40 {
486
+ margin-top: rem(40px);
487
+ }
488
+
489
+ .sm-b-0 {
490
+ margin-bottom: rem(0px);
491
+ }
492
+
493
+ .sm-b-2 {
494
+ margin-bottom: rem(2px);
495
+ }
496
+
497
+ .sm-b-4 {
498
+ margin-bottom: rem(4px);
499
+ }
500
+
501
+ .sm-b-8 {
502
+ margin-bottom: rem(8px);
503
+ }
504
+
505
+ .sm-b-12 {
506
+ margin-bottom: rem(12px);
507
+ }
508
+
509
+ .sm-b-16 {
510
+ margin-bottom: rem(16px);
511
+ }
512
+
513
+ .sm-b-24 {
514
+ margin-bottom: rem(24px);
515
+ }
516
+
517
+ .sm-b-36 {
518
+ margin-bottom: rem(36px);
519
+ }
520
+
521
+ .sm-b-40 {
522
+ margin-bottom: rem(40px);
523
+ }
524
+
525
+ .sm-l-0 {
526
+ margin-left: rem(0px);
527
+ }
528
+
529
+ .sm-l-2 {
530
+ margin-left: rem(2px);
531
+ }
532
+
533
+ .sm-l-4 {
534
+ margin-left: rem(4px);
535
+ }
536
+
537
+ .sm-l-8 {
538
+ margin-left: rem(8px);
539
+ }
540
+
541
+ .sm-l-12 {
542
+ margin-left: rem(12px);
543
+ }
544
+
545
+ .sm-l-16 {
546
+ margin-left: rem(16px);
547
+ }
548
+
549
+ .sm-l-24 {
550
+ margin-left: rem(24px);
551
+ }
552
+
553
+ .sm-l-36 {
554
+ margin-left: rem(36px);
555
+ }
556
+
557
+ .sm-l-40 {
558
+ margin-left: rem(40px);
559
+ }
560
+
561
+ .sm-r-0 {
562
+ margin-right: rem(0px);
563
+ }
564
+
565
+ .sm-r-2 {
566
+ margin-right: rem(2px);
567
+ }
568
+
569
+ .sm-r-4 {
570
+ margin-right: rem(4px);
571
+ }
572
+
573
+ .sm-r-8 {
574
+ margin-right: rem(8px);
575
+ }
576
+
577
+ .sm-r-12 {
578
+ margin-right: rem(12px);
579
+ }
580
+
581
+ .sm-r-16 {
582
+ margin-right: rem(16px);
583
+ }
584
+
585
+ .sm-r-24 {
586
+ margin-right: rem(24px);
587
+ }
588
+
589
+ .sm-r-36 {
590
+ margin-right: rem(36px);
591
+ }
592
+
593
+ .sm-r-40 {
594
+ margin-right: rem(40px);
595
+ }
596
+
597
+ /* Horizontal & Vertical Spacing */
598
+ .sp-x-0 {
599
+ padding-left: rem(0px);
600
+ padding-right: rem(0px);
601
+ }
602
+
603
+ .sp-x-2 {
604
+ padding-left: rem(2px);
605
+ padding-right: rem(2px);
606
+ }
607
+
608
+ .sp-x-4 {
609
+ padding-left: rem(4px);
610
+ padding-right: rem(4px);
611
+ }
612
+
613
+ .sp-x-8 {
614
+ padding-left: rem(8px);
615
+ padding-right: rem(8px);
616
+ }
617
+
618
+ .sp-x-12 {
619
+ padding-left: rem(12px);
620
+ padding-right: rem(12px);
621
+ }
622
+
623
+ .sp-x-16 {
624
+ padding-left: rem(16px);
625
+ padding-right: rem(16px);
626
+ }
627
+
628
+ .sp-x-24 {
629
+ padding-left: rem(24px);
630
+ padding-right: rem(24px);
631
+ }
632
+
633
+ .sp-x-36 {
634
+ padding-left: rem(36px);
635
+ padding-right: rem(36px);
636
+ }
637
+
638
+ .sp-x-40 {
639
+ padding-left: rem(40px);
640
+ padding-right: rem(40px);
641
+ }
642
+
643
+ .sp-y-0 {
644
+ padding-top: rem(0px);
645
+ padding-bottom: rem(0px);
646
+ }
647
+
648
+ .sp-y-2 {
649
+ padding-top: rem(2px);
650
+ padding-bottom: rem(2px);
651
+ }
652
+
653
+ .sp-y-4 {
654
+ padding-top: rem(4px);
655
+ padding-bottom: rem(4px);
656
+ }
657
+
658
+ .sp-y-8 {
659
+ padding-top: rem(8px);
660
+ padding-bottom: rem(8px);
661
+ }
662
+
663
+ .sp-y-12 {
664
+ padding-top: rem(12px);
665
+ padding-bottom: rem(12px);
666
+ }
667
+
668
+ .sp-y-16 {
669
+ padding-top: rem(16px);
670
+ padding-bottom: rem(16px);
671
+ }
672
+
673
+ .sp-y-24 {
674
+ padding-top: rem(24px);
675
+ padding-bottom: rem(24px);
676
+ }
677
+
678
+ .sp-y-36 {
679
+ padding-top: rem(36px);
680
+ padding-bottom: rem(36px);
681
+ }
682
+
683
+ .sp-y-40 {
684
+ padding-top: rem(40px);
685
+ padding-bottom: rem(40px);
686
+ }
687
+
688
+ /* Horizontal & Vertical Margin */
689
+ .sm-x-0 {
690
+ margin-left: rem(0px);
691
+ margin-right: rem(0px);
692
+ }
693
+
694
+ .sm-x-2 {
695
+ margin-left: rem(2px);
696
+ margin-right: rem(2px);
697
+ }
698
+
699
+ .sm-x-4 {
700
+ margin-left: rem(4px);
701
+ margin-right: rem(4px);
702
+ }
703
+
704
+ .sm-x-8 {
705
+ margin-left: rem(8px);
706
+ margin-right: rem(8px);
707
+ }
708
+
709
+ .sm-x-12 {
710
+ margin-left: rem(12px);
711
+ margin-right: rem(12px);
712
+ }
713
+
714
+ .sm-x-16 {
715
+ margin-left: rem(16px);
716
+ margin-right: rem(16px);
717
+ }
718
+
719
+ .sm-x-24 {
720
+ margin-left: rem(24px);
721
+ margin-right: rem(24px);
722
+ }
723
+
724
+ .sm-x-36 {
725
+ margin-left: rem(36px);
726
+ margin-right: rem(36px);
727
+ }
728
+
729
+ .sm-x-40 {
730
+ margin-left: rem(40px);
731
+ margin-right: rem(40px);
732
+ }
733
+
734
+ .sm-y-0 {
735
+ margin-top: rem(0px);
736
+ margin-bottom: rem(0px);
737
+ }
738
+
739
+ .sm-y-2 {
740
+ margin-top: rem(2px);
741
+ margin-bottom: rem(2px);
742
+ }
743
+
744
+ .sm-y-4 {
745
+ margin-top: rem(4px);
746
+ margin-bottom: rem(4px);
747
+ }
748
+
749
+ .sm-y-8 {
750
+ margin-top: rem(8px);
751
+ margin-bottom: rem(8px);
752
+ }
753
+
754
+ .sm-y-12 {
755
+ margin-top: rem(12px);
756
+ margin-bottom: rem(12px);
757
+ }
758
+
759
+ .sm-y-16 {
760
+ margin-top: rem(16px);
761
+ margin-bottom: rem(16px);
762
+ }
763
+
764
+ .sm-y-24 {
765
+ margin-top: rem(24px);
766
+ margin-bottom: rem(24px);
767
+ }
768
+
769
+ .sm-y-36 {
770
+ margin-top: rem(36px);
771
+ margin-bottom: rem(36px);
772
+ }
773
+
774
+ .sm-y-40 {
775
+ margin-top: rem(40px);
776
+ margin-bottom: rem(40px);
777
+ }
778
+
779
+ .br-0 {
780
+ border-radius: rem(0px);
781
+ }
782
+
783
+ .br-4 {
784
+ border-radius: rem(4px);
785
+ }
786
+
787
+ .br-8 {
788
+ border-radius: rem(8px);
789
+ }
790
+
791
+ .br-16 {
792
+ border-radius: rem(16px);
793
+ }
794
+
795
+ .br-24 {
796
+ border-radius: rem(24px);
797
+ }
798
+
799
+ .br-36 {
800
+ border-radius: rem(36px);
801
+ }
802
+
803
+ .br-200 {
804
+ border-radius: rem(200px);
805
+ }
806
+
807
+ // ------------------Checkbox Styles--------------------
808
+ .cats-checkbox-container,
809
+ .cats-item, .cats-multiitem {
810
+ @include flex(flex-start, center, rem(8px));
811
+ @include fontStyle(var(--fs-16), rem(20px), 400);
812
+ margin-bottom: rem(8px);
813
+ color: var(--text-heading-primary);
814
+ &.disabled-option{
815
+ color: var(--text-body-muted);
816
+ pointer-events: none;
817
+ input[type="checkbox"]:checked{
818
+ background-color: var(--surface-background-subtle);
819
+ border-color: var(--border-core-default);
820
+ &::after{
821
+ background-image: url(/images/check-disabled.svg);
822
+ }
823
+ }
824
+ &::selection{
825
+ background-color: transparent;
826
+ }
827
+ }
828
+
829
+ input[type="checkbox"] {
830
+ appearance: none;
831
+ -webkit-appearance: none;
832
+ @include box(rem(16px), rem(16px));
833
+ min-width: rem(16px);
834
+ @include border();
835
+ cursor: pointer;
836
+ background-color: var(--surface-background-canvas);
837
+ position: relative;
838
+ transition: all 0.2s ease;
839
+
840
+ // --- Default (unchecked) ---
841
+ &::after {
842
+ content: "";
843
+ display: none;
844
+ position: absolute;
845
+ @include position(rem(-1px), rem(-1px));
846
+ @include box(rem(16px), rem(16px));
847
+ background-size: auto;
848
+ background-repeat: no-repeat;
849
+ background-position: center;
850
+ }
851
+ // --- Checked State ---
852
+ &:checked {
853
+ border-color: var(--border-interaction-focus);
854
+ background-color: var(--surface-action-default);
855
+ &::after {
856
+ display: block;
857
+ background-image: url("/images/check-white.svg");
858
+ background-size: rem(8px) rem(6px);
859
+ }
860
+ }
861
+ // --- Indeterminate (minus) state ---
862
+ &:indeterminate {
863
+ border-color: var(--border-interaction-focus);
864
+ background-color: var(--surface-background-canvas);
865
+ &::after {
866
+ display: block;
867
+ top: 0;
868
+ background-image: url("/images/minus-blue.svg");
869
+ background-size: rem(7px) rem(1px);
870
+ }
871
+ }
872
+ // Disabled (unchecked)
873
+ &:disabled {
874
+ cursor: default;
875
+ background-color: var(--surface-background-default);
876
+ border-color: var(--border-core-muted);
877
+ & + span {
878
+ color: var(--text-body-muted);
879
+ }
880
+ }
881
+
882
+ // Disabled + Checked (IMPORTANT)
883
+ &:checked:disabled {
884
+ background-color: var(--surface-background-default);
885
+ border-color: var(--border-core-muted);
886
+
887
+ &::after {
888
+ display: block;
889
+ background-image: url("/images/check-disabled.svg");
890
+ }
891
+ }
892
+ }
893
+ }