@24vlh/vds 0.3.4 → 0.3.5

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 (39) hide show
  1. package/dist/components/accordion.css +0 -9
  2. package/dist/components/action-bar.css +0 -3
  3. package/dist/components/authoring.css +0 -9
  4. package/dist/components/avatar.css +0 -6
  5. package/dist/components/badge-tag.css +0 -6
  6. package/dist/components/buttons.css +0 -12
  7. package/dist/components/charts.css +0 -10
  8. package/dist/components/command.css +0 -20
  9. package/dist/components/content-blocks.css +0 -21
  10. package/dist/components/description-list.css +0 -5
  11. package/dist/components/doc-block.css +0 -24
  12. package/dist/components/feedback.css +0 -15
  13. package/dist/components/flows.css +0 -14
  14. package/dist/components/forms-advanced.css +0 -13
  15. package/dist/components/forms.css +0 -28
  16. package/dist/components/guidance.css +0 -14
  17. package/dist/components/header-footer.css +0 -10
  18. package/dist/components/hero.css +0 -12
  19. package/dist/components/icons.css +20 -19
  20. package/dist/components/icons.min.css +1 -1
  21. package/dist/components/inbox.css +0 -54
  22. package/dist/components/navigation.css +0 -13
  23. package/dist/components/overlays.css +0 -15
  24. package/dist/components/progress.css +0 -5
  25. package/dist/components/sections.css +0 -16
  26. package/dist/components/skeleton.css +0 -11
  27. package/dist/components/state.css +0 -3
  28. package/dist/components/tables.css +0 -18
  29. package/dist/components/tabs.css +0 -10
  30. package/dist/components/toasts.css +0 -8
  31. package/dist/components/tooltips-popovers.css +0 -13
  32. package/dist/components/utilities.css +0 -21
  33. package/dist/themes/carbon.css +0 -2
  34. package/dist/themes/graphite.css +0 -2
  35. package/dist/themes/navy.css +0 -2
  36. package/dist/themes/slate.css +0 -2
  37. package/dist/vds.css +20 -0
  38. package/dist/vds.min.css +1 -1
  39. package/package.json +1 -1
@@ -17,7 +17,6 @@
17
17
  /* ---------------------------------------------------------
18
18
  1. TOKENS & SHARED ANIMATIONS
19
19
  --------------------------------------------------------- */
20
-
21
20
  [data-vds-form],
22
21
  .vds-form {
23
22
  --form-flow-textarea-min-height: 5rem;
@@ -39,7 +38,6 @@
39
38
  /* ---------------------------------------------------------
40
39
  2. BASE CONTROL PRIMITIVE
41
40
  --------------------------------------------------------- */
42
-
43
41
  .form-control {
44
42
  position: relative;
45
43
  z-index: 0;
@@ -60,7 +58,6 @@
60
58
  }
61
59
 
62
60
  /* Native control normalization (only when used as UFAL control) */
63
-
64
61
  input.form-control,
65
62
  select.form-control,
66
63
  textarea.form-control {
@@ -81,7 +78,6 @@ select.form-control {
81
78
  }
82
79
 
83
80
  /* Select dropdown affordance */
84
-
85
81
  select.form-control:not([multiple]):not([size]) {
86
82
  padding-right: calc(var(--space-7) + var(--space-2));
87
83
  background-image: linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%),
@@ -118,7 +114,6 @@ select.form-control:not([multiple]):not([size]) {
118
114
  }
119
115
 
120
116
  /* ARIA validation */
121
-
122
117
  .form-control[aria-invalid="true"] {
123
118
  border-color: var(--color-danger);
124
119
  }
@@ -130,7 +125,6 @@ select.form-control:not([multiple]):not([size]) {
130
125
  /* ---------------------------------------------------------
131
126
  2A. FIELD SHELL (LABEL + HELP)
132
127
  --------------------------------------------------------- */
133
-
134
128
  .form-field {
135
129
  display: flex;
136
130
  flex-direction: column;
@@ -213,7 +207,6 @@ select.form-control:not([multiple]):not([size]) {
213
207
  /* ---------------------------------------------------------
214
208
  2B. CHOICE CONTROLS (CHECKBOX / RADIO)
215
209
  --------------------------------------------------------- */
216
-
217
210
  .choice-group {
218
211
  display: flex;
219
212
  flex-direction: column;
@@ -384,7 +377,6 @@ select.form-control:not([multiple]):not([size]) {
384
377
  /* ---------------------------------------------------------
385
378
  3. WRAPPERS & GROUPING
386
379
  --------------------------------------------------------- */
387
-
388
380
  .form-control-wrapper {
389
381
  position: relative;
390
382
  width: 100%;
@@ -400,7 +392,6 @@ select.form-control:not([multiple]):not([size]) {
400
392
  /* ---------------------------------------------------------
401
393
  4. STATE MODIFIERS
402
394
  --------------------------------------------------------- */
403
-
404
395
  .form-control--loading {
405
396
  cursor: progress;
406
397
  opacity: .55;
@@ -434,7 +425,6 @@ select.form-control:not([multiple]):not([size]) {
434
425
  }
435
426
 
436
427
  /* Native disabled / readonly */
437
-
438
428
  .form-control:disabled,
439
429
  .form-control[disabled] {
440
430
  background-color: var(--color-muted-bg);
@@ -455,7 +445,6 @@ select.form-control:not([multiple]):not([size]) {
455
445
  /* ---------------------------------------------------------
456
446
  5. ICONS / PREFIX / SUFFIX
457
447
  --------------------------------------------------------- */
458
-
459
448
  .form-control-wrapper[data-icon="left"] .form-control {
460
449
  padding-left: calc(var(--space-7) + var(--space-2));
461
450
  }
@@ -495,7 +484,6 @@ select.form-control:not([multiple]):not([size]) {
495
484
  }
496
485
 
497
486
  /* Prefix / suffix */
498
-
499
487
  .form-control-prefix,
500
488
  .form-control-suffix {
501
489
  position: static;
@@ -524,7 +512,6 @@ select.form-control:not([multiple]):not([size]) {
524
512
  - Group draws internal dividers (always present, any child type)
525
513
  - Works for: .form-control, .form-control-wrapper (icons), .button
526
514
  --------------------------------------------------------- */
527
-
528
515
  .form-control-group {
529
516
  position: relative;
530
517
  display: flex;
@@ -537,7 +524,6 @@ select.form-control:not([multiple]):not([size]) {
537
524
  }
538
525
 
539
526
  /* Outer rounding is applied to slots, to preserve radius even when children are wrappers */
540
-
541
527
  .form-control-group > * {
542
528
  position: relative;
543
529
  border-radius: 0;
@@ -545,7 +531,6 @@ select.form-control:not([multiple]):not([size]) {
545
531
  }
546
532
 
547
533
  /* Default flex behavior: controls/wrappers flex, buttons stay auto-sized below */
548
-
549
534
  .form-control-group > .form-control,
550
535
  .form-control-group > .form-control-wrapper {
551
536
  flex: 1 1 auto;
@@ -556,7 +541,6 @@ select.form-control:not([multiple]):not([size]) {
556
541
  }
557
542
 
558
543
  /* Edge radii */
559
-
560
544
  .form-control-group > :first-child {
561
545
  border-top-left-radius: var(--radius-md);
562
546
  border-bottom-left-radius: var(--radius-md);
@@ -568,13 +552,11 @@ select.form-control:not([multiple]):not([size]) {
568
552
  }
569
553
 
570
554
  /* Internal divider (single source of truth) */
571
-
572
555
  .form-control-group > * + * {
573
556
  box-shadow: inset var(--border-width) 0 0 var(--color-border-subtle);
574
557
  }
575
558
 
576
559
  /* Suppress per-control focus ring inside groups (prevents double focus visuals) */
577
-
578
560
  .form-control-group .form-control:focus-visible {
579
561
  border-color: var(--focus-ring-color);
580
562
  box-shadow: inset var(--border-width) 0 0 var(--color-border-subtle),
@@ -582,7 +564,6 @@ select.form-control:not([multiple]):not([size]) {
582
564
  }
583
565
 
584
566
  /* Children inside group should not draw their own outer borders */
585
-
586
567
  .form-control-group > .form-control,
587
568
  .form-control-group > .form-control-wrapper > .form-control {
588
569
  border: none;
@@ -590,7 +571,6 @@ select.form-control:not([multiple]):not([size]) {
590
571
  }
591
572
 
592
573
  /* Action button integration inside groups */
593
-
594
574
  .form-control-group > .button {
595
575
  border: none;
596
576
  background: transparent;
@@ -609,7 +589,6 @@ select.form-control:not([multiple]):not([size]) {
609
589
  /* ---------------------------------------------------------
610
590
  6. LOADING OVERLAYS
611
591
  --------------------------------------------------------- */
612
-
613
592
  .form-control--loading::after {
614
593
  content: "";
615
594
  position: absolute;
@@ -638,7 +617,6 @@ select.form-control:not([multiple]):not([size]) {
638
617
  /* ---------------------------------------------------------
639
618
  7. FILE UPLOAD PRIMITIVES
640
619
  --------------------------------------------------------- */
641
-
642
620
  .form-control--file {
643
621
  position: relative;
644
622
  padding: var(--space-3);
@@ -657,7 +635,6 @@ select.form-control:not([multiple]):not([size]) {
657
635
  }
658
636
 
659
637
  /* Drop surface */
660
-
661
638
  .form-control-file-surface {
662
639
  position: relative;
663
640
  display: flex;
@@ -720,7 +697,6 @@ select.form-control:not([multiple]):not([size]) {
720
697
  }
721
698
 
722
699
  /* Inline upload */
723
-
724
700
  .file-upload-inline {
725
701
  display: inline-flex;
726
702
  align-items: center;
@@ -740,7 +716,6 @@ select.form-control:not([multiple]):not([size]) {
740
716
  }
741
717
 
742
718
  /* Loading shimmer on surface */
743
-
744
719
  .form-control-file-surface.form-control--loading::after {
745
720
  content: "";
746
721
  position: absolute;
@@ -762,7 +737,6 @@ select.form-control:not([multiple]):not([size]) {
762
737
  /* ---------------------------------------------------------
763
738
  8. LAYOUT PRIMITIVES
764
739
  --------------------------------------------------------- */
765
-
766
740
  .form-row {
767
741
  display: flex;
768
742
  flex-wrap: wrap;
@@ -798,7 +772,6 @@ select.form-control:not([multiple]):not([size]) {
798
772
  /* ---------------------------------------------------------
799
773
  9. FORM-LEVEL MESSAGES
800
774
  --------------------------------------------------------- */
801
-
802
775
  .form-message {
803
776
  width: 100%;
804
777
  padding: var(--space-4) var(--space-6);
@@ -850,7 +823,6 @@ select.form-control:not([multiple]):not([size]) {
850
823
  /* ---------------------------------------------------------
851
824
  10. FORM SECTION STATES
852
825
  --------------------------------------------------------- */
853
-
854
826
  .form-section--error,
855
827
  .form-section--warning,
856
828
  .form-section--success,
@@ -15,7 +15,6 @@
15
15
  /* ---------------------------------------------------------
16
16
  1. TOKENS
17
17
  --------------------------------------------------------- */
18
-
19
18
  [data-vds-guidance],
20
19
  .vds-guidance {
21
20
  --guidance-padding-sm: var(--space-3);
@@ -50,7 +49,6 @@
50
49
  }
51
50
 
52
51
  /* Semantic variants (shared) */
53
-
54
52
  :where(.guidance,
55
53
  .guidance-card,
56
54
  .guidance-strip,
@@ -144,7 +142,6 @@
144
142
  /* ---------------------------------------------------------
145
143
  2. GUIDANCE PANEL (DO / DO NOT / HOW / WHY)
146
144
  --------------------------------------------------------- */
147
-
148
145
  .guidance {
149
146
  position: relative;
150
147
  display: flex;
@@ -291,7 +288,6 @@
291
288
  /* ---------------------------------------------------------
292
289
  3. GUIDANCE GRID
293
290
  --------------------------------------------------------- */
294
-
295
291
  .guidance-grid {
296
292
  display: grid;
297
293
  grid-gap: var(--space-3);
@@ -302,7 +298,6 @@
302
298
  /* ---------------------------------------------------------
303
299
  4. GUIDANCE CARD (EDUCATION BLOCK)
304
300
  --------------------------------------------------------- */
305
-
306
301
  .guidance-card {
307
302
  display: flex;
308
303
  flex-direction: column;
@@ -350,7 +345,6 @@
350
345
  /* ---------------------------------------------------------
351
346
  5. GUIDANCE STRIP (INLINE CALLOUT)
352
347
  --------------------------------------------------------- */
353
-
354
348
  .guidance-strip {
355
349
  position: relative;
356
350
  display: grid;
@@ -414,7 +408,6 @@
414
408
  /* ---------------------------------------------------------
415
409
  6. GUIDANCE STEPS (INSTRUCTION)
416
410
  --------------------------------------------------------- */
417
-
418
411
  .guidance-steps {
419
412
  display: grid;
420
413
  grid-gap: var(--space-3);
@@ -468,7 +461,6 @@
468
461
  /* ---------------------------------------------------------
469
462
  7. GUIDANCE BRIEF (DECISION SUMMARY)
470
463
  --------------------------------------------------------- */
471
-
472
464
  .guidance-brief {
473
465
  position: relative;
474
466
  display: grid;
@@ -605,7 +597,6 @@
605
597
  /* ---------------------------------------------------------
606
598
  8. GUIDANCE COMPARE (CONTRAST)
607
599
  --------------------------------------------------------- */
608
-
609
600
  .guidance-compare {
610
601
  display: grid;
611
602
  grid-gap: var(--space-3);
@@ -679,7 +670,6 @@
679
670
  /* ---------------------------------------------------------
680
671
  9. GUIDANCE ROW (INBOX STYLE)
681
672
  --------------------------------------------------------- */
682
-
683
673
  .guidance-row {
684
674
  position: relative;
685
675
  display: grid;
@@ -782,7 +772,6 @@
782
772
  /* ---------------------------------------------------------
783
773
  10. GUIDANCE FIELD (FORM EDUCATION)
784
774
  --------------------------------------------------------- */
785
-
786
775
  .guidance-field {
787
776
  display: grid;
788
777
  grid-gap: 0;
@@ -877,7 +866,6 @@
877
866
  /* ---------------------------------------------------------
878
867
  11. GUIDANCE SCOPE (IN / OUT)
879
868
  --------------------------------------------------------- */
880
-
881
869
  .guidance-scope {
882
870
  display: grid;
883
871
  grid-gap: var(--space-3);
@@ -938,7 +926,6 @@
938
926
  /* ---------------------------------------------------------
939
927
  12. GUIDANCE CHECKLIST
940
928
  --------------------------------------------------------- */
941
-
942
929
  .guidance-checklist {
943
930
  list-style: none;
944
931
  margin: 0;
@@ -974,7 +961,6 @@
974
961
  /* ---------------------------------------------------------
975
962
  12. DENSITY
976
963
  --------------------------------------------------------- */
977
-
978
964
  [data-density="compact"] .guidance,
979
965
  [data-density="compact"] .guidance-card,
980
966
  [data-density="compact"] .guidance-strip,
@@ -21,7 +21,6 @@
21
21
  /* ---------------------------------------------------------
22
22
  1. HEADER & FOOTER TOKEN DEFINITIONS
23
23
  --------------------------------------------------------- */
24
-
25
24
  [data-vds-header-footer],
26
25
  .vds-header-footer {
27
26
  --header-height: var(--space-16);
@@ -47,7 +46,6 @@
47
46
  /* ---------------------------------------------------------
48
47
  2. GLOBAL HEADER CONTAINER
49
48
  --------------------------------------------------------- */
50
-
51
49
  .header {
52
50
  width: 100%;
53
51
  background-color: var(--color-header-bg);
@@ -133,7 +131,6 @@
133
131
  /* ---------------------------------------------------------
134
132
  3. LOGO HANDLING IN HEADER
135
133
  --------------------------------------------------------- */
136
-
137
134
  .header .logo {
138
135
  display: inline-flex;
139
136
  align-items: center;
@@ -156,7 +153,6 @@
156
153
  /* ---------------------------------------------------------
157
154
  4. PRIMARY NAVIGATION (DESKTOP)
158
155
  --------------------------------------------------------- */
159
-
160
156
  .header .nav {
161
157
  display: flex;
162
158
  align-items: center;
@@ -214,7 +210,6 @@
214
210
  /* ---------------------------------------------------------
215
211
  5. MOBILE NAVIGATION (CSS-ONLY HOOKS)
216
212
  --------------------------------------------------------- */
217
-
218
213
  .header .header__toggle {
219
214
  display: none;
220
215
  cursor: pointer;
@@ -318,7 +313,6 @@
318
313
  /* ---------------------------------------------------------
319
314
  6. SKIP-LINK (ACCESSIBILITY)
320
315
  --------------------------------------------------------- */
321
-
322
316
  .skip-link,
323
317
  .header .skip-link {
324
318
  position: absolute;
@@ -344,7 +338,6 @@
344
338
  /* ---------------------------------------------------------
345
339
  7. GLOBAL FOOTER CONTAINER
346
340
  --------------------------------------------------------- */
347
-
348
341
  .footer {
349
342
  width: 100%;
350
343
  background-color: var(--color-footer-bg);
@@ -404,7 +397,6 @@
404
397
  /* ---------------------------------------------------------
405
398
  8. FOOTER COLUMN SYSTEM
406
399
  --------------------------------------------------------- */
407
-
408
400
  .footer__col {
409
401
  display: flex;
410
402
  flex-direction: column;
@@ -448,7 +440,6 @@
448
440
  /* ---------------------------------------------------------
449
441
  9. FOOTER LOGO HANDLING
450
442
  --------------------------------------------------------- */
451
-
452
443
  .footer .logo {
453
444
  display: inline-flex;
454
445
  align-items: center;
@@ -475,7 +466,6 @@
475
466
  /* ---------------------------------------------------------
476
467
  10. FOOTER META / COPYRIGHT
477
468
  --------------------------------------------------------- */
478
-
479
469
  .footer__meta {
480
470
  margin-top: var(--space-8);
481
471
  font-size: var(--text-xs);
@@ -21,7 +21,6 @@
21
21
  /*---------------------------------------------------------
22
22
  1. HERO TOKEN DEFINITIONS
23
23
  ---------------------------------------------------------*/
24
-
25
24
  [data-vds-hero],
26
25
  .vds-hero {
27
26
  --hero-skeleton-speed: 1.2s;
@@ -61,7 +60,6 @@
61
60
  /* ---------------------------------------------------------
62
61
  2. GLOBAL HERO CONTAINER
63
62
  --------------------------------------------------------- */
64
-
65
63
  .hero {
66
64
  width: 100%;
67
65
  background-color: var(--color-surface);
@@ -162,7 +160,6 @@
162
160
  /*---------------------------------------------------------
163
161
  3. DENSITY VARIANTS (MUTUALLY EXCLUSIVE)
164
162
  ---------------------------------------------------------*/
165
-
166
163
  .hero.hero--a,
167
164
  .hero--a .hero {
168
165
  padding-top: var(--space-20);
@@ -259,7 +256,6 @@
259
256
  /*---------------------------------------------------------
260
257
  4. LAYOUT VARIANTS (MUTUALLY EXCLUSIVE)
261
258
  ---------------------------------------------------------*/
262
-
263
259
  .hero--split .hero__inner {
264
260
  display: grid;
265
261
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
@@ -343,7 +339,6 @@
343
339
  /*---------------------------------------------------------*
344
340
  5. FULL-BLEED VARIANT
345
341
  *---------------------------------------------------------*/
346
-
347
342
  .hero--full {
348
343
  position: relative;
349
344
  background-color: var(--color-bg-elevated);
@@ -390,7 +385,6 @@
390
385
  /*---------------------------------------------------------*
391
386
  6. INSET VARIANT
392
387
  *---------------------------------------------------------*/
393
-
394
388
  .hero--inset {
395
389
  background: var(--color-bg);
396
390
  padding: var(--space-8);
@@ -407,7 +401,6 @@
407
401
  /*---------------------------------------------------------*
408
402
  7. ACCENT LINE (TOKENIZED)
409
403
  *---------------------------------------------------------*/
410
-
411
404
  .hero__accent-line {
412
405
  width: var(--hero-accent-line-thickness);
413
406
  height: var(--space-20);
@@ -418,7 +411,6 @@
418
411
  /*---------------------------------------------------------*
419
412
  8. METRICS BLOCK
420
413
  *---------------------------------------------------------*/
421
-
422
414
  .hero__metrics {
423
415
  display: grid;
424
416
  grid-gap: var(--space-6);
@@ -485,7 +477,6 @@
485
477
  /*---------------------------------------------------------*
486
478
  8B. HERO POINTS (SUPPORTING BULLETS)
487
479
  *---------------------------------------------------------*/
488
-
489
480
  .hero__points {
490
481
  display: flex;
491
482
  flex-wrap: wrap;
@@ -519,7 +510,6 @@
519
510
  /*---------------------------------------------------------*
520
511
  9. LOADING STATE (TOKENIZED ANIMATION)
521
512
  *---------------------------------------------------------*/
522
-
523
513
  .hero--loading .hero__body {
524
514
  visibility: hidden;
525
515
  }
@@ -571,7 +561,6 @@
571
561
  /*---------------------------------------------------------*
572
562
  10. ERROR STATE
573
563
  *---------------------------------------------------------*/
574
-
575
564
  .hero--error .hero__body {
576
565
  opacity: 0.4;
577
566
  }
@@ -603,7 +592,6 @@
603
592
  /*---------------------------------------------------------*
604
593
  11. RESPONSIVE
605
594
  *---------------------------------------------------------*/
606
-
607
595
  @media (max-width: 1024px) {
608
596
  .hero--split .hero__inner,
609
597
  .hero--with-media .hero__inner {
@@ -20,7 +20,6 @@
20
20
  /* ---------------------------------------------------------
21
21
  1. BASE ICON (INLINE SVG)
22
22
  --------------------------------------------------------- */
23
-
24
23
  .icon {
25
24
  display: inline-block;
26
25
  width: var(--icon-md);
@@ -71,7 +70,6 @@
71
70
  - used together with .icon
72
71
  - colour driven by currentColor
73
72
  --------------------------------------------------------- */
74
-
75
73
  .icon--mask {
76
74
  background-color: currentColor;
77
75
  mask-mode: luminance;
@@ -95,7 +93,6 @@
95
93
  3. CORE STATE ICONS (GLYPHS)
96
94
  Usage: <span class="icon icon--mask icon--STATE"></span>
97
95
  --------------------------------------------------------- */
98
-
99
96
  .icon--info {
100
97
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='7' fill='white'/%3E%3Ccircle cx='8' cy='8' r='5.8' fill='black'/%3E%3Crect x='7.4' y='7.0' width='1.2' height='3.5' fill='white'/%3E%3Ccircle cx='8' cy='5.0' r='0.70' fill='white'/%3E%3C/svg%3E");
101
98
  mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='7' fill='white'/%3E%3Ccircle cx='8' cy='8' r='5.8' fill='black'/%3E%3Crect x='7.4' y='7.0' width='1.2' height='3.5' fill='white'/%3E%3Ccircle cx='8' cy='5.0' r='0.70' fill='white'/%3E%3C/svg%3E");
@@ -149,7 +146,6 @@
149
146
  /* ---------------------------------------------------------
150
147
  4. GENERAL UI ICONS (GLYPHS)
151
148
  --------------------------------------------------------- */
152
-
153
149
  .icon--chevron-left {
154
150
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='10 3 5 8 10 13'/%3E%3C/svg%3E");
155
151
  mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='10 3 5 8 10 13'/%3E%3C/svg%3E");
@@ -408,7 +404,6 @@
408
404
  /* ---------------------------------------------------------
409
405
  5. LOADER ICONS (GLYPHS ONLY)
410
406
  --------------------------------------------------------- */
411
-
412
407
  .icon--spinner {
413
408
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M8 1.5a6.5 6.5 0 016.5 6.5h-2A4.5 4.5 0 008 3.5v-2z'/%3E%3C/svg%3E");
414
409
  mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M8 1.5a6.5 6.5 0 016.5 6.5h-2A4.5 4.5 0 008 3.5v-2z'/%3E%3C/svg%3E");
@@ -427,7 +422,6 @@
427
422
  /* ---------------------------------------------------------
428
423
  5.1 MONEY
429
424
  --------------------------------------------------------- */
430
-
431
425
  .icon--money {
432
426
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='4' width='14' height='8' rx='1' fill='white'/%3E%3Ccircle cx='8' cy='8' r='2' fill='black'/%3E%3Cpath d='M8 6.5v3M7 7.5h2M7 8.5h2' stroke='white' stroke-width='0.8' stroke-linecap='round'/%3E%3C/svg%3E");
433
427
  mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='4' width='14' height='8' rx='1' fill='white'/%3E%3Ccircle cx='8' cy='8' r='2' fill='black'/%3E%3Cpath d='M8 6.5v3M7 7.5h2M7 8.5h2' stroke='white' stroke-width='0.8' stroke-linecap='round'/%3E%3C/svg%3E");
@@ -441,7 +435,6 @@
441
435
  /* ---------------------------------------------------------
442
436
  5.2 STATUS
443
437
  --------------------------------------------------------- */
444
-
445
438
  .icon--check {
446
439
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='3 8 7 12 13 4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
447
440
  mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='3 8 7 12 13 4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
@@ -485,7 +478,6 @@
485
478
  /* ---------------------------------------------------------
486
479
  5.3 EMAIL
487
480
  --------------------------------------------------------- */
488
-
489
481
  .icon--email {
490
482
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M4 4 H20 A2 2 0 0 1 22 6 V18 A2 2 0 0 1 20 20 H4 A2 2 0 0 1 2 18 V6 A2 2 0 0 1 4 4 Z M4.7 6 L12 12 L19.3 6 H4.7 Z M12 14 L4 7.5 V17.3 C4 17.7 4.3 18 4.7 18 H19.3 C19.7 18 20 17.7 20 17.3 V7.5 L12 14 Z'/%3E%3C/svg%3E");
491
483
  mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M4 4 H20 A2 2 0 0 1 22 6 V18 A2 2 0 0 1 20 20 H4 A2 2 0 0 1 2 18 V6 A2 2 0 0 1 4 4 Z M4.7 6 L12 12 L19.3 6 H4.7 Z M12 14 L4 7.5 V17.3 C4 17.7 4.3 18 4.7 18 H19.3 C19.7 18 20 17.7 20 17.3 V7.5 L12 14 Z'/%3E%3C/svg%3E");
@@ -686,6 +678,26 @@
686
678
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 9h4V5M19 9h-4V5M5 15h4v4M19 15h-4v4' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
687
679
  }
688
680
 
681
+ .icon--panel-expand {
682
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='9,2.5 13.5,2.5 13.5,7' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpolyline points='7,13.5 2.5,13.5 2.5,9' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='4.2' y1='11.8' x2='11.8' y2='4.2' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpolyline points='9.6,4.2 11.8,4.2 11.8,6.4' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
683
+ mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='9,2.5 13.5,2.5 13.5,7' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpolyline points='7,13.5 2.5,13.5 2.5,9' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='4.2' y1='11.8' x2='11.8' y2='4.2' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpolyline points='9.6,4.2 11.8,4.2 11.8,6.4' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
684
+ }
685
+
686
+ .icon--panel-minimize {
687
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='9,2.5 13.5,2.5 13.5,7' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpolyline points='7,13.5 2.5,13.5 2.5,9' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='11.8' y1='4.2' x2='4.2' y2='11.8' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpolyline points='4.2,9.6 4.2,11.8 6.4,11.8' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
688
+ mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='9,2.5 13.5,2.5 13.5,7' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpolyline points='7,13.5 2.5,13.5 2.5,9' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='11.8' y1='4.2' x2='4.2' y2='11.8' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpolyline points='4.2,9.6 4.2,11.8 6.4,11.8' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
689
+ }
690
+
691
+ .icon--expand-panel {
692
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2.5' y='2.5' width='11' height='11' rx='1.8' fill='none' stroke='white' stroke-width='1.4'/%3E%3Cline x1='2.6' y1='5.6' x2='13.4' y2='5.6' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='8' y1='6.6' x2='8' y2='9.2' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpolyline points='6.2,8.4 8,10.2 9.8,8.4' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
693
+ mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2.5' y='2.5' width='11' height='11' rx='1.8' fill='none' stroke='white' stroke-width='1.4'/%3E%3Cline x1='2.6' y1='5.6' x2='13.4' y2='5.6' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='8' y1='6.6' x2='8' y2='9.2' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpolyline points='6.2,8.4 8,10.2 9.8,8.4' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
694
+ }
695
+
696
+ .icon--minimize-panel {
697
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2.5' y='2.5' width='11' height='11' rx='1.8' fill='none' stroke='white' stroke-width='1.4'/%3E%3Cline x1='2.6' y1='5.6' x2='13.4' y2='5.6' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='8' y1='9.4' x2='8' y2='6.8' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpolyline points='6.2,7.6 8,5.8 9.8,7.6' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
698
+ mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2.5' y='2.5' width='11' height='11' rx='1.8' fill='none' stroke='white' stroke-width='1.4'/%3E%3Cline x1='2.6' y1='5.6' x2='13.4' y2='5.6' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='8' y1='9.4' x2='8' y2='6.8' stroke='white' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpolyline points='6.2,7.6 8,5.8 9.8,7.6' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
699
+ }
700
+
689
701
  .icon--attach-outline {
690
702
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12.5l6.8-6.8a3 3 0 114.2 4.2l-8.6 8.6a5 5 0 11-7.1-7.1l8.3-8.3' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
691
703
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12.5l6.8-6.8a3 3 0 114.2 4.2l-8.6 8.6a5 5 0 11-7.1-7.1l8.3-8.3' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
@@ -819,7 +831,6 @@
819
831
  /* ---------------------------------------------------------
820
832
  5A. LOADER ANIMATION - ROTATION (SPINNER)
821
833
  --------------------------------------------------------- */
822
-
823
834
  @keyframes icon-spin {
824
835
  from {
825
836
  transform: rotate(0deg);
@@ -836,7 +847,6 @@
836
847
  /* ---------------------------------------------------------
837
848
  5B. LOADER ANIMATION - PULSE (DOT / icon--pulse)
838
849
  --------------------------------------------------------- */
839
-
840
850
  @keyframes icon-pulse {
841
851
  0% {
842
852
  transform: scale(1);
@@ -859,7 +869,6 @@
859
869
  /* ---------------------------------------------------------
860
870
  5C. UNIFIED LOADER SYSTEM
861
871
  --------------------------------------------------------- */
862
-
863
872
  .icon--loader.icon--spinner,
864
873
  .icon--loader.icon--spinner-dots {
865
874
  animation: icon-spin 0.85s linear infinite;
@@ -890,7 +899,6 @@
890
899
  /* ---------------------------------------------------------
891
900
  6. ICON CONTAINERS
892
901
  --------------------------------------------------------- */
893
-
894
902
  .icon-container {
895
903
  display: inline-flex;
896
904
  align-items: center;
@@ -980,7 +988,6 @@
980
988
  /* ---------------------------------------------------------
981
989
  7. ICON COLOUR UTILITIES
982
990
  --------------------------------------------------------- */
983
-
984
991
  .icon-color--accent {
985
992
  color: var(--color-accent);
986
993
  }
@@ -1036,7 +1043,6 @@
1036
1043
  /* ---------------------------------------------------------
1037
1044
  8. ICON IN BUTTONS
1038
1045
  --------------------------------------------------------- */
1039
-
1040
1046
  .button .icon,
1041
1047
  .button--icon .icon {
1042
1048
  width: var(--icon-sm);
@@ -1074,7 +1080,6 @@
1074
1080
  /* ---------------------------------------------------------
1075
1081
  9. ICON BADGES (NOTIFICATION DOTS)
1076
1082
  --------------------------------------------------------- */
1077
-
1078
1083
  .icon-badge {
1079
1084
  position: relative;
1080
1085
  display: inline-flex;
@@ -1120,7 +1125,6 @@
1120
1125
  /* ---------------------------------------------------------
1121
1126
  10. ICON DENSITY LAYERS (A/B/C)
1122
1127
  --------------------------------------------------------- */
1123
-
1124
1128
  .icon--a {
1125
1129
  width: var(--icon-lg);
1126
1130
  height: var(--icon-lg);
@@ -1156,7 +1160,6 @@
1156
1160
  /* ---------------------------------------------------------
1157
1161
  11. AUTO-CONTRAST ON DARK/LIGHT SURFACES
1158
1162
  --------------------------------------------------------- */
1159
-
1160
1163
  .surface-on-dark .icon,
1161
1164
  .bg-dark .icon {
1162
1165
  color: var(--color-text-on-strong);
@@ -1182,7 +1185,6 @@
1182
1185
  /* ---------------------------------------------------------
1183
1186
  12. INTEGRATION WITH OTHER COMPONENTS
1184
1187
  --------------------------------------------------------- */
1185
-
1186
1188
  .list-group__icon,
1187
1189
  .media__icon svg,
1188
1190
  .steps__bullet svg,
@@ -1208,7 +1210,6 @@
1208
1210
  /* ---------------------------------------------------------
1209
1211
  13. ICON UTILITIES
1210
1212
  --------------------------------------------------------- */
1211
-
1212
1213
  .icon--rotate-90 {
1213
1214
  transform: rotate(90deg);
1214
1215
  }