@phcdevworks/spectre-ui 1.7.0 → 1.9.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.
@@ -37,6 +37,41 @@
37
37
  --sp-icon-box-icon-success: #16a34a;
38
38
  --sp-icon-box-icon-warning: #d48806;
39
39
  --sp-icon-box-icon-danger: #dc2626;
40
+ --sp-nav-bg: #ffffff;
41
+ --sp-nav-text: #141b24;
42
+ --sp-nav-link: #374253;
43
+ --sp-nav-link-hover: #1f57db;
44
+ --sp-nav-link-active: #1946b4;
45
+ --sp-nav-border: #d9dfeb;
46
+ --sp-modal-bg: #ffffff;
47
+ --sp-modal-shadow: 0 20px 48px -12px rgba(0, 0, 0, 0.20);
48
+ --sp-modal-border: #d9dfeb;
49
+ --sp-modal-overlay: rgba(0, 0, 0, 0.6);
50
+ --sp-toast-success-bg: #f0fdf4;
51
+ --sp-toast-success-text: #166534;
52
+ --sp-toast-success-border: #bbf7d0;
53
+ --sp-toast-success-icon: #16a34a;
54
+ --sp-toast-warning-bg: #fffbea;
55
+ --sp-toast-warning-text: #8f5200;
56
+ --sp-toast-warning-border: #ffe08a;
57
+ --sp-toast-warning-icon: #d48806;
58
+ --sp-toast-danger-bg: #fef2f2;
59
+ --sp-toast-danger-text: #991b1b;
60
+ --sp-toast-danger-border: #fecaca;
61
+ --sp-toast-danger-icon: #dc2626;
62
+ --sp-toast-info-bg: #f0f9ff;
63
+ --sp-toast-info-text: #0c4a6e;
64
+ --sp-toast-info-border: #bae6fd;
65
+ --sp-toast-info-icon: #0369a1;
66
+ --sp-tooltip-bg: #141b24;
67
+ --sp-tooltip-text: #ffffff;
68
+ --sp-tooltip-border: #374253;
69
+ --sp-dropdown-bg: #ffffff;
70
+ --sp-dropdown-border: #d9dfeb;
71
+ --sp-dropdown-item-default: transparent;
72
+ --sp-dropdown-item-hover: #eef1f6;
73
+ --sp-dropdown-item-active: #f0f9ff;
74
+ --sp-dropdown-item-text: #141b24;
40
75
  --sp-color-brand-50: #eef4ff;
41
76
  --sp-color-brand-100: #d9e7ff;
42
77
  --sp-color-brand-200: #b9d2ff;
@@ -116,17 +151,24 @@
116
151
  --sp-color-white: #ffffff;
117
152
  --sp-color-black: #000000;
118
153
  --sp-space-0: 0rem;
154
+ --sp-space-1: 0.0625rem;
155
+ --sp-space-2: 0.125rem;
119
156
  --sp-space-4: 0.25rem;
157
+ --sp-space-6: 0.375rem;
120
158
  --sp-space-8: 0.5rem;
159
+ --sp-space-10: 0.625rem;
121
160
  --sp-space-12: 0.75rem;
161
+ --sp-space-14: 0.875rem;
122
162
  --sp-space-16: 1rem;
123
163
  --sp-space-20: 1.25rem;
124
164
  --sp-space-24: 1.5rem;
165
+ --sp-space-28: 1.75rem;
125
166
  --sp-space-32: 2rem;
126
167
  --sp-space-40: 2.5rem;
127
168
  --sp-space-48: 3rem;
128
169
  --sp-space-56: 3.5rem;
129
170
  --sp-space-64: 4rem;
171
+ --sp-space-72: 4.5rem;
130
172
  --sp-space-80: 5rem;
131
173
  --sp-space-96: 6rem;
132
174
  --sp-layout-section-padding-sm: 1.5rem;
@@ -142,16 +184,21 @@
142
184
  --sp-layout-container-padding-inline-md: 1.5rem;
143
185
  --sp-layout-container-padding-inline-lg: 2rem;
144
186
  --sp-layout-container-max-width: 72rem;
187
+ --sp-border-width-none: 0;
145
188
  --sp-border-width-base: 1px;
146
189
  --sp-border-width-thick: 2px;
147
190
  --sp-border-style-none: none;
148
191
  --sp-border-style-solid: solid;
192
+ --sp-border-style-dashed: dashed;
193
+ --sp-border-style-dotted: dotted;
149
194
  --sp-radius-none: 0;
150
195
  --sp-radius-sm: 2px;
151
196
  --sp-radius-md: 4px;
152
197
  --sp-radius-lg: 8px;
153
198
  --sp-radius-xl: 12px;
154
199
  --sp-radius-2xl: 16px;
200
+ --sp-radius-3xl: 24px;
201
+ --sp-radius-4xl: 32px;
155
202
  --sp-radius-pill: 999px;
156
203
  --sp-font-family-sans: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
157
204
  --sp-font-family-serif: 'Times New Roman', Times, serif;
@@ -216,6 +263,7 @@
216
263
  --sp-z-index-popover: 1500;
217
264
  --sp-z-index-tooltip: 1600;
218
265
  --sp-z-index-toast: 1700;
266
+ --sp-duration-reduced: 0.01ms;
219
267
  --sp-duration-instant: 75ms;
220
268
  --sp-duration-fast: 150ms;
221
269
  --sp-duration-base: 200ms;
@@ -243,6 +291,7 @@
243
291
  --sp-focus-ring-style: solid;
244
292
  --sp-min-touch-target: 44px;
245
293
  --sp-min-text-size: 16px;
294
+ --sp-reduced-motion: 0.01ms;
246
295
  --sp-button-primary-bg: #0369a1;
247
296
  --sp-button-primary-bghover: #075985;
248
297
  --sp-button-primary-bgactive: #0c4a6e;
@@ -276,6 +325,7 @@
276
325
  --sp-button-danger-text: #ffffff;
277
326
  --sp-button-danger-textdisabled: #8a96ad;
278
327
  --sp-button-danger-focusring: rgba(239, 68, 68, 0.4);
328
+ --sp-button-danger-focusvisible: rgba(239, 68, 68, 0.4);
279
329
  --sp-button-success-bg: #15803d;
280
330
  --sp-button-success-bghover: #166534;
281
331
  --sp-button-success-bgactive: #14532d;
@@ -283,6 +333,7 @@
283
333
  --sp-button-success-text: #ffffff;
284
334
  --sp-button-success-textdisabled: #8a96ad;
285
335
  --sp-button-success-focusring: rgba(34, 197, 94, 0.4);
336
+ --sp-button-success-focusvisible: rgba(34, 197, 94, 0.4);
286
337
  --sp-button-cta-bg: #1f57db;
287
338
  --sp-button-cta-bghover: #1946b4;
288
339
  --sp-button-cta-bgactive: #173b8f;
@@ -341,6 +392,30 @@
341
392
  --sp-animation-pulse-duration: 1200ms;
342
393
  --sp-animation-pulse-easing: cubic-bezier(0.4, 0, 0.2, 1);
343
394
  --sp-animation-pulse-keyframes: pulse;
395
+ --sp-animation-reduced-motion-fadein-duration: 0.01ms;
396
+ --sp-animation-reduced-motion-fadein-easing: linear;
397
+ --sp-animation-reduced-motion-fadein-keyframes: fade-in;
398
+ --sp-animation-reduced-motion-fadeout-duration: 0.01ms;
399
+ --sp-animation-reduced-motion-fadeout-easing: linear;
400
+ --sp-animation-reduced-motion-fadeout-keyframes: fade-out;
401
+ --sp-animation-reduced-motion-slideup-duration: 0.01ms;
402
+ --sp-animation-reduced-motion-slideup-easing: linear;
403
+ --sp-animation-reduced-motion-slideup-keyframes: slide-up;
404
+ --sp-animation-reduced-motion-slidedown-duration: 0.01ms;
405
+ --sp-animation-reduced-motion-slidedown-easing: linear;
406
+ --sp-animation-reduced-motion-slidedown-keyframes: slide-down;
407
+ --sp-animation-reduced-motion-scalein-duration: 0.01ms;
408
+ --sp-animation-reduced-motion-scalein-easing: linear;
409
+ --sp-animation-reduced-motion-scalein-keyframes: scale-in;
410
+ --sp-animation-reduced-motion-bounce-duration: 0.01ms;
411
+ --sp-animation-reduced-motion-bounce-easing: linear;
412
+ --sp-animation-reduced-motion-bounce-keyframes: bounce;
413
+ --sp-animation-reduced-motion-shake-duration: 0.01ms;
414
+ --sp-animation-reduced-motion-shake-easing: linear;
415
+ --sp-animation-reduced-motion-shake-keyframes: shake;
416
+ --sp-animation-reduced-motion-pulse-duration: 0.01ms;
417
+ --sp-animation-reduced-motion-pulse-easing: linear;
418
+ --sp-animation-reduced-motion-pulse-keyframes: pulse;
344
419
  }
345
420
  :root[data-spectre-theme="dark"] {
346
421
  --sp-surface-page: #141b24;
@@ -381,6 +456,41 @@
381
456
  --sp-icon-box-icon-success: #4ade80;
382
457
  --sp-icon-box-icon-warning: #ffc21a;
383
458
  --sp-icon-box-icon-danger: #f87171;
459
+ --sp-nav-bg: #141b24;
460
+ --sp-nav-text: #f7f8fb;
461
+ --sp-nav-link: #b7c1d4;
462
+ --sp-nav-link-hover: #5a92ff;
463
+ --sp-nav-link-active: #8ab6ff;
464
+ --sp-nav-border: #374253;
465
+ --sp-modal-bg: #222b38;
466
+ --sp-modal-shadow: 0 20px 48px -12px rgba(0, 0, 0, 0.20);
467
+ --sp-modal-border: #374253;
468
+ --sp-modal-overlay: rgba(0, 0, 0, 0.6);
469
+ --sp-toast-success-bg: #14532d;
470
+ --sp-toast-success-text: #dcfce7;
471
+ --sp-toast-success-border: #15803d;
472
+ --sp-toast-success-icon: #4ade80;
473
+ --sp-toast-warning-bg: #734000;
474
+ --sp-toast-warning-text: #fff1c2;
475
+ --sp-toast-warning-border: #ad6800;
476
+ --sp-toast-warning-icon: #ffc21a;
477
+ --sp-toast-danger-bg: #7f1d1d;
478
+ --sp-toast-danger-text: #fee2e2;
479
+ --sp-toast-danger-border: #b91c1c;
480
+ --sp-toast-danger-icon: #f87171;
481
+ --sp-toast-info-bg: #082f49;
482
+ --sp-toast-info-text: #e0f2fe;
483
+ --sp-toast-info-border: #075985;
484
+ --sp-toast-info-icon: #38bdf8;
485
+ --sp-tooltip-bg: #f7f8fb;
486
+ --sp-tooltip-text: #141b24;
487
+ --sp-tooltip-border: #b7c1d4;
488
+ --sp-dropdown-bg: #222b38;
489
+ --sp-dropdown-border: #374253;
490
+ --sp-dropdown-item-default: transparent;
491
+ --sp-dropdown-item-hover: #374253;
492
+ --sp-dropdown-item-active: #082f49;
493
+ --sp-dropdown-item-text: #eef1f6;
384
494
  }
385
495
  @layer components {
386
496
 
@@ -397,6 +507,7 @@
397
507
  --sp-component-button-primary-bg-disabled: var(--sp-button-primary-bgdisabled);
398
508
  --sp-component-button-primary-text: var(--sp-button-primary-text);
399
509
  --sp-component-button-primary-text-disabled: var(--sp-button-primary-textdisabled);
510
+ --sp-component-button-primary-focus-visible: var(--sp-button-primary-focusvisible);
400
511
  --sp-component-button-secondary-bg: var(--sp-button-secondary-bg);
401
512
  --sp-component-button-secondary-bg-hover: var(--sp-button-secondary-bghover);
402
513
  --sp-component-button-secondary-bg-active: var(--sp-button-secondary-bgactive);
@@ -405,24 +516,28 @@
405
516
  --sp-component-button-secondary-text-disabled: var(--sp-button-secondary-textdisabled);
406
517
  --sp-component-button-secondary-border: var(--sp-button-secondary-border);
407
518
  --sp-component-button-secondary-border-disabled: var(--sp-button-secondary-borderdisabled);
519
+ --sp-component-button-secondary-focus-visible: var(--sp-button-secondary-focusvisible);
408
520
  --sp-component-button-ghost-bg: var(--sp-button-ghost-bg);
409
521
  --sp-component-button-ghost-bg-hover: var(--sp-button-ghost-bghover);
410
522
  --sp-component-button-ghost-bg-active: var(--sp-button-ghost-bgactive);
411
523
  --sp-component-button-ghost-bg-disabled: var(--sp-button-ghost-bgdisabled);
412
524
  --sp-component-button-ghost-text: var(--sp-button-ghost-text);
413
525
  --sp-component-button-ghost-text-disabled: var(--sp-button-ghost-textdisabled);
526
+ --sp-component-button-ghost-focus-visible: var(--sp-button-ghost-focusvisible);
414
527
  --sp-component-button-danger-bg: var(--sp-button-danger-bg);
415
528
  --sp-component-button-danger-bg-hover: var(--sp-button-danger-bghover);
416
529
  --sp-component-button-danger-bg-active: var(--sp-button-danger-bgactive);
417
530
  --sp-component-button-danger-bg-disabled: var(--sp-button-danger-bgdisabled);
418
531
  --sp-component-button-danger-text: var(--sp-button-danger-text);
419
532
  --sp-component-button-danger-text-disabled: var(--sp-button-danger-textdisabled);
533
+ --sp-component-button-danger-focus-visible: var(--sp-button-danger-focusvisible);
420
534
  --sp-component-button-success-bg: var(--sp-button-success-bg);
421
535
  --sp-component-button-success-bg-hover: var(--sp-button-success-bghover);
422
536
  --sp-component-button-success-bg-active: var(--sp-button-success-bgactive);
423
537
  --sp-component-button-success-bg-disabled: var(--sp-button-success-bgdisabled);
424
538
  --sp-component-button-success-text: var(--sp-button-success-text);
425
539
  --sp-component-button-success-text-disabled: var(--sp-button-success-textdisabled);
540
+ --sp-component-button-success-focus-visible: var(--sp-button-success-focusvisible);
426
541
  /* CTA button alignment restored to official tokens as they now use the brand palette (Blue). */
427
542
  --sp-component-button-cta-bg: var(--sp-button-cta-bg);
428
543
  --sp-component-button-cta-bg-hover: var(--sp-button-cta-bghover);
@@ -431,12 +546,14 @@
431
546
  --sp-component-button-cta-text: var(--sp-button-cta-text);
432
547
  --sp-component-button-cta-text-disabled: var(--sp-button-cta-textdisabled);
433
548
  --sp-component-button-cta-shadow: var(--sp-button-cta-shadow);
549
+ --sp-component-button-cta-focus-visible: var(--sp-button-cta-focusring);
434
550
  --sp-component-button-accent-bg: var(--sp-button-accent-bg);
435
551
  --sp-component-button-accent-bg-hover: var(--sp-button-accent-bghover);
436
552
  --sp-component-button-accent-bg-active: var(--sp-button-accent-bgactive);
437
553
  --sp-component-button-accent-bg-disabled: var(--sp-button-accent-bgdisabled);
438
554
  --sp-component-button-accent-text: var(--sp-button-accent-text);
439
555
  --sp-component-button-accent-text-disabled: var(--sp-button-accent-textdisabled);
556
+ --sp-component-button-accent-focus-visible: var(--sp-button-accent-focusvisible);
440
557
 
441
558
  /* card roles */
442
559
  --sp-component-card-bg: var(--sp-surface-card);
@@ -493,6 +610,9 @@
493
610
  --sp-component-badge-info-text: var(--sp-badge-info-text);
494
611
  --sp-component-badge-ghost-bg: var(--sp-button-ghost-bg);
495
612
  --sp-component-badge-ghost-text: var(--sp-button-ghost-text);
613
+ --sp-component-badge-outline-bg: transparent;
614
+ --sp-component-badge-outline-text: var(--sp-badge-neutral-text);
615
+ --sp-component-badge-outline-border: var(--sp-button-secondary-border);
496
616
  --sp-component-badge-accent-bg: var(--sp-button-accent-bg);
497
617
  --sp-component-badge-accent-text: var(--sp-button-accent-text);
498
618
  --sp-component-badge-cta-bg: var(--sp-button-cta-bg);
@@ -519,10 +639,12 @@
519
639
 
520
640
  /* icon box roles */
521
641
  --sp-component-iconbox-radius: var(--sp-radius-lg);
642
+ --sp-component-iconbox-size-xs: var(--sp-space-24);
522
643
  --sp-component-iconbox-size-sm: var(--sp-space-32);
523
644
  --sp-component-iconbox-size-md: var(--sp-space-48);
524
645
  --sp-component-iconbox-size-lg: var(--sp-space-64);
525
- --sp-component-iconbox-primary-bg: var(--sp-color-brand-50);
646
+ --sp-component-iconbox-primary-bg: var(--sp-icon-box-bg);
647
+ --sp-component-iconbox-border-color: var(--sp-icon-box-border);
526
648
  --sp-component-iconbox-primary-text: var(--sp-icon-box-icon-default);
527
649
  --sp-component-iconbox-success-bg: var(--sp-color-success-50);
528
650
  --sp-component-iconbox-success-text: var(--sp-icon-box-icon-success);
@@ -543,6 +665,9 @@
543
665
  --sp-component-iconbox-accent-text: var(--sp-button-accent-text);
544
666
  --sp-component-iconbox-cta-bg: var(--sp-button-cta-bg);
545
667
  --sp-component-iconbox-cta-text: var(--sp-button-cta-text);
668
+ --sp-component-iconbox-outline-bg: transparent;
669
+ --sp-component-iconbox-outline-text: var(--sp-badge-neutral-text);
670
+ --sp-component-iconbox-outline-border: var(--sp-button-secondary-border);
546
671
 
547
672
  /* testimonial roles */
548
673
  --sp-component-testimonial-bg: var(--sp-surface-card);
@@ -664,8 +789,86 @@
664
789
  --sp-component-spinner-border-width: var(--sp-border-width-thick);
665
790
  --sp-component-spinner-track-color: var(--sp-color-neutral-200);
666
791
  --sp-component-spinner-arc-color: var(--sp-button-primary-bg);
792
+ --sp-component-spinner-primary-arc: var(--sp-button-primary-bg);
793
+ --sp-component-spinner-secondary-arc: var(--sp-button-secondary-border);
794
+ --sp-component-spinner-success-arc: var(--sp-color-success-500);
795
+ --sp-component-spinner-warning-arc: var(--sp-color-warning-500);
796
+ --sp-component-spinner-danger-arc: var(--sp-color-error-500);
797
+ --sp-component-spinner-info-arc: var(--sp-color-info-500);
798
+ --sp-component-spinner-neutral-arc: var(--sp-color-neutral-500);
799
+ --sp-component-spinner-accent-arc: var(--sp-button-accent-bg);
800
+ --sp-component-spinner-cta-arc: var(--sp-button-cta-bg);
667
801
  --sp-component-spinner-duration: var(--sp-duration-long);
668
802
  --sp-component-spinner-easing: var(--sp-easing-linear);
803
+
804
+ /* nav roles */
805
+ --sp-component-nav-bg: var(--sp-nav-bg);
806
+ --sp-component-nav-text: var(--sp-nav-text);
807
+ --sp-component-nav-link: var(--sp-nav-link);
808
+ --sp-component-nav-link-hover: var(--sp-nav-link-hover);
809
+ --sp-component-nav-link-active: var(--sp-nav-link-active);
810
+ --sp-component-nav-border: var(--sp-nav-border);
811
+
812
+ /* toast roles */
813
+ --sp-component-toast-radius: var(--sp-radius-lg);
814
+ --sp-component-toast-padding-x: var(--sp-space-16);
815
+ --sp-component-toast-padding-y: var(--sp-space-12);
816
+ --sp-component-toast-gap: var(--sp-space-12);
817
+ --sp-component-toast-z-index: var(--sp-z-index-toast);
818
+ --sp-component-toast-info-bg: var(--sp-toast-info-bg);
819
+ --sp-component-toast-info-text: var(--sp-toast-info-text);
820
+ --sp-component-toast-info-border: var(--sp-toast-info-border);
821
+ --sp-component-toast-info-icon: var(--sp-toast-info-icon);
822
+ --sp-component-toast-success-bg: var(--sp-toast-success-bg);
823
+ --sp-component-toast-success-text: var(--sp-toast-success-text);
824
+ --sp-component-toast-success-border: var(--sp-toast-success-border);
825
+ --sp-component-toast-success-icon: var(--sp-toast-success-icon);
826
+ --sp-component-toast-warning-bg: var(--sp-toast-warning-bg);
827
+ --sp-component-toast-warning-text: var(--sp-toast-warning-text);
828
+ --sp-component-toast-warning-border: var(--sp-toast-warning-border);
829
+ --sp-component-toast-warning-icon: var(--sp-toast-warning-icon);
830
+ --sp-component-toast-danger-bg: var(--sp-toast-danger-bg);
831
+ --sp-component-toast-danger-text: var(--sp-toast-danger-text);
832
+ --sp-component-toast-danger-border: var(--sp-toast-danger-border);
833
+ --sp-component-toast-danger-icon: var(--sp-toast-danger-icon);
834
+
835
+ /* tooltip roles */
836
+ --sp-component-tooltip-bg: var(--sp-tooltip-bg);
837
+ --sp-component-tooltip-text: var(--sp-tooltip-text);
838
+ --sp-component-tooltip-border: var(--sp-tooltip-border);
839
+ --sp-component-tooltip-radius: var(--sp-radius-md);
840
+ --sp-component-tooltip-padding-x: var(--sp-space-8);
841
+ --sp-component-tooltip-padding-y: var(--sp-space-4);
842
+ --sp-component-tooltip-offset: var(--sp-space-8);
843
+ --sp-component-tooltip-opacity: var(--sp-opacity-tooltip);
844
+ --sp-component-tooltip-z-index: var(--sp-z-index-tooltip);
845
+
846
+ /* dropdown roles */
847
+ --sp-component-dropdown-bg: var(--sp-dropdown-bg);
848
+ --sp-component-dropdown-border: var(--sp-dropdown-border);
849
+ --sp-component-dropdown-item-default: var(--sp-dropdown-item-default);
850
+ --sp-component-dropdown-item-hover: var(--sp-dropdown-item-hover);
851
+ --sp-component-dropdown-item-active: var(--sp-dropdown-item-active);
852
+ --sp-component-dropdown-item-text: var(--sp-dropdown-item-text);
853
+ --sp-component-dropdown-radius: var(--sp-radius-lg);
854
+ --sp-component-dropdown-item-radius: var(--sp-radius-sm);
855
+ --sp-component-dropdown-shadow: var(--sp-shadow-md);
856
+ --sp-component-dropdown-padding: var(--sp-space-4);
857
+ --sp-component-dropdown-offset: var(--sp-space-4);
858
+ --sp-component-dropdown-item-padding-x: var(--sp-space-12);
859
+ --sp-component-dropdown-item-padding-y: var(--sp-space-8);
860
+ --sp-component-dropdown-item-gap: var(--sp-space-8);
861
+ --sp-component-dropdown-z-index: var(--sp-z-index-dropdown);
862
+
863
+ /* modal roles */
864
+ --sp-component-modal-bg: var(--sp-modal-bg);
865
+ --sp-component-modal-border: var(--sp-modal-border);
866
+ --sp-component-modal-shadow: var(--sp-modal-shadow);
867
+ --sp-component-modal-overlay: var(--sp-modal-overlay);
868
+ --sp-component-modal-radius: var(--sp-radius-lg);
869
+ --sp-component-modal-padding: var(--sp-space-24);
870
+ --sp-component-modal-gap: var(--sp-space-16);
871
+ --sp-component-modal-z-index: var(--sp-z-index-modal);
669
872
  }
670
873
 
671
874
  /* dark mode overrides mapped from Spectre token mode definitions */
@@ -677,7 +880,8 @@
677
880
  --sp-component-badge-neutral-bg-hover: var(--sp-color-neutral-600);
678
881
  --sp-component-badge-info-bg-hover: var(--sp-color-info-700);
679
882
 
680
- --sp-component-iconbox-primary-bg: var(--sp-color-neutral-800);
883
+ --sp-component-iconbox-primary-bg: var(--sp-icon-box-bg);
884
+ --sp-component-iconbox-border-color: var(--sp-icon-box-border);
681
885
  --sp-component-iconbox-primary-text: var(--sp-color-brand-400);
682
886
  --sp-component-iconbox-success-bg: var(--sp-color-neutral-800);
683
887
  --sp-component-iconbox-success-text: var(--sp-color-success-400);
@@ -724,6 +928,15 @@
724
928
 
725
929
  --sp-component-spinner-track-color: var(--sp-color-neutral-700);
726
930
  --sp-component-spinner-arc-color: var(--sp-color-brand-400);
931
+ --sp-component-spinner-primary-arc: var(--sp-color-brand-400);
932
+ --sp-component-spinner-secondary-arc: var(--sp-color-neutral-400);
933
+ --sp-component-spinner-success-arc: var(--sp-color-success-400);
934
+ --sp-component-spinner-warning-arc: var(--sp-color-warning-400);
935
+ --sp-component-spinner-danger-arc: var(--sp-color-error-400);
936
+ --sp-component-spinner-info-arc: var(--sp-color-info-400);
937
+ --sp-component-spinner-neutral-arc: var(--sp-color-neutral-400);
938
+ --sp-component-spinner-accent-arc: var(--sp-color-brand-400);
939
+ --sp-component-spinner-cta-arc: var(--sp-color-brand-400);
727
940
  }
728
941
 
729
942
  /* BUTTONS -------------------------------------------------------------- */
@@ -813,6 +1026,12 @@
813
1026
  box-shadow: var(--sp-component-button-shadow);
814
1027
  }
815
1028
 
1029
+ .sp-btn--primary:focus-visible,
1030
+ .sp-btn--primary.sp-btn--focus,
1031
+ .sp-btn--primary.is-focus {
1032
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-component-button-primary-focus-visible);
1033
+ }
1034
+
816
1035
  .sp-btn--primary.sp-btn--hover,
817
1036
  .sp-btn--primary.is-hover,
818
1037
  .sp-btn--primary:hover {
@@ -840,6 +1059,12 @@
840
1059
  border-color: var(--sp-component-button-secondary-border);
841
1060
  }
842
1061
 
1062
+ .sp-btn--secondary:focus-visible,
1063
+ .sp-btn--secondary.sp-btn--focus,
1064
+ .sp-btn--secondary.is-focus {
1065
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-component-button-secondary-focus-visible);
1066
+ }
1067
+
843
1068
  .sp-btn--secondary.sp-btn--hover,
844
1069
  .sp-btn--secondary.is-hover,
845
1070
  .sp-btn--secondary:hover {
@@ -866,6 +1091,12 @@
866
1091
  color: var(--sp-component-button-ghost-text);
867
1092
  }
868
1093
 
1094
+ .sp-btn--ghost:focus-visible,
1095
+ .sp-btn--ghost.sp-btn--focus,
1096
+ .sp-btn--ghost.is-focus {
1097
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-component-button-ghost-focus-visible);
1098
+ }
1099
+
869
1100
  .sp-btn--ghost.sp-btn--hover,
870
1101
  .sp-btn--ghost.is-hover,
871
1102
  .sp-btn--ghost:hover {
@@ -910,6 +1141,12 @@
910
1141
  color: var(--sp-component-button-danger-text-disabled);
911
1142
  }
912
1143
 
1144
+ .sp-btn--danger:focus-visible,
1145
+ .sp-btn--danger.sp-btn--focus,
1146
+ .sp-btn--danger.is-focus {
1147
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-component-button-danger-focus-visible);
1148
+ }
1149
+
913
1150
  /* success */
914
1151
  .sp-btn--success {
915
1152
  background-color: var(--sp-component-button-success-bg);
@@ -935,6 +1172,12 @@
935
1172
  color: var(--sp-component-button-success-text-disabled);
936
1173
  }
937
1174
 
1175
+ .sp-btn--success:focus-visible,
1176
+ .sp-btn--success.sp-btn--focus,
1177
+ .sp-btn--success.is-focus {
1178
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-component-button-success-focus-visible);
1179
+ }
1180
+
938
1181
  /* cta */
939
1182
  .sp-btn--cta {
940
1183
  background-color: var(--sp-component-button-cta-bg);
@@ -942,6 +1185,12 @@
942
1185
  box-shadow: var(--sp-component-button-cta-shadow);
943
1186
  }
944
1187
 
1188
+ .sp-btn--cta:focus-visible,
1189
+ .sp-btn--cta.sp-btn--focus,
1190
+ .sp-btn--cta.is-focus {
1191
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-component-button-cta-focus-visible);
1192
+ }
1193
+
945
1194
  .sp-btn--cta.sp-btn--hover,
946
1195
  .sp-btn--cta.is-hover,
947
1196
  .sp-btn--cta:hover {
@@ -968,6 +1217,12 @@
968
1217
  color: var(--sp-component-button-accent-text);
969
1218
  }
970
1219
 
1220
+ .sp-btn--accent:focus-visible,
1221
+ .sp-btn--accent.sp-btn--focus,
1222
+ .sp-btn--accent.is-focus {
1223
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-component-button-accent-focus-visible);
1224
+ }
1225
+
971
1226
  .sp-btn--accent.sp-btn--hover,
972
1227
  .sp-btn--accent.is-hover,
973
1228
  .sp-btn--accent:hover {
@@ -1091,7 +1346,8 @@
1091
1346
  }
1092
1347
 
1093
1348
  /* State styling should not force typed text to be red/green by default */
1094
- .sp-input--error {
1349
+ .sp-input--error,
1350
+ .sp-input[aria-invalid="true"] {
1095
1351
  border-color: var(--sp-component-input-role-border-error);
1096
1352
  background-color: var(--sp-component-input-role-bg-error);
1097
1353
  color: var(--sp-component-input-role-text);
@@ -1351,6 +1607,12 @@
1351
1607
  background-color: var(--sp-component-badge-ghost-bg-hover);
1352
1608
  }
1353
1609
 
1610
+ .sp-badge--outline {
1611
+ background-color: var(--sp-component-badge-outline-bg);
1612
+ color: var(--sp-component-badge-outline-text);
1613
+ border-color: var(--sp-component-badge-outline-border);
1614
+ }
1615
+
1354
1616
  .sp-badge--accent {
1355
1617
  background-color: var(--sp-component-badge-accent-bg);
1356
1618
  color: var(--sp-component-badge-accent-text);
@@ -1418,7 +1680,7 @@
1418
1680
  border-radius: var(--sp-component-iconbox-radius);
1419
1681
  color: var(--sp-component-iconbox-primary-text);
1420
1682
  background-color: var(--sp-component-iconbox-primary-bg);
1421
- border: var(--sp-component-border-width) solid transparent;
1683
+ border: var(--sp-component-border-width) solid var(--sp-component-iconbox-border-color);
1422
1684
  font-family: var(--sp-font-family-sans);
1423
1685
  font-weight: var(--sp-font-md-weight);
1424
1686
  transition:
@@ -1471,6 +1733,12 @@
1471
1733
  fill: currentColor;
1472
1734
  }
1473
1735
 
1736
+ .sp-iconbox--xs {
1737
+ width: var(--sp-component-iconbox-size-xs);
1738
+ height: var(--sp-component-iconbox-size-xs);
1739
+ font-size: var(--sp-font-xs-size);
1740
+ }
1741
+
1474
1742
  .sp-iconbox--sm {
1475
1743
  width: var(--sp-component-iconbox-size-sm);
1476
1744
  height: var(--sp-component-iconbox-size-sm);
@@ -1548,6 +1816,12 @@
1548
1816
  color: var(--sp-component-iconbox-cta-text);
1549
1817
  }
1550
1818
 
1819
+ .sp-iconbox--outline {
1820
+ background-color: var(--sp-component-iconbox-outline-bg);
1821
+ color: var(--sp-component-iconbox-outline-text);
1822
+ border-color: var(--sp-component-iconbox-outline-border);
1823
+ }
1824
+
1551
1825
  .sp-iconbox--interactive {
1552
1826
  cursor: pointer;
1553
1827
  }
@@ -1888,19 +2162,19 @@
1888
2162
 
1889
2163
  .sp-rating--interactive:hover,
1890
2164
  .sp-rating--hover,
1891
- .is-hover {
2165
+ .sp-rating.is-hover {
1892
2166
  opacity: var(--sp-opacity-hover);
1893
2167
  }
1894
2168
 
1895
2169
  .sp-rating--interactive:active,
1896
2170
  .sp-rating--active,
1897
- .is-active {
2171
+ .sp-rating.is-active {
1898
2172
  opacity: var(--sp-opacity-active);
1899
2173
  }
1900
2174
 
1901
2175
  .sp-rating--interactive:focus-visible,
1902
2176
  .sp-rating--focus,
1903
- .is-focus {
2177
+ .sp-rating.is-focus {
1904
2178
  outline: none;
1905
2179
  box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-color-focus-primary);
1906
2180
  }
@@ -2316,6 +2590,52 @@
2316
2590
  border: var(--sp-component-spinner-border-width) solid var(--sp-component-spinner-track-color);
2317
2591
  border-top-color: var(--sp-component-spinner-arc-color);
2318
2592
  animation: sp-spin var(--sp-component-spinner-duration) var(--sp-component-spinner-easing) infinite;
2593
+ transition: opacity var(--sp-duration-fast) var(--sp-easing-out);
2594
+ }
2595
+
2596
+ .sp-spinner--primary {
2597
+ border-top-color: var(--sp-component-spinner-primary-arc);
2598
+ }
2599
+
2600
+ .sp-spinner--secondary {
2601
+ border-top-color: var(--sp-component-spinner-secondary-arc);
2602
+ }
2603
+
2604
+ .sp-spinner--success {
2605
+ border-top-color: var(--sp-component-spinner-success-arc);
2606
+ }
2607
+
2608
+ .sp-spinner--warning {
2609
+ border-top-color: var(--sp-component-spinner-warning-arc);
2610
+ }
2611
+
2612
+ .sp-spinner--danger {
2613
+ border-top-color: var(--sp-component-spinner-danger-arc);
2614
+ }
2615
+
2616
+ .sp-spinner--info {
2617
+ border-top-color: var(--sp-component-spinner-info-arc);
2618
+ }
2619
+
2620
+ .sp-spinner--neutral {
2621
+ border-top-color: var(--sp-component-spinner-neutral-arc);
2622
+ }
2623
+
2624
+ .sp-spinner--accent {
2625
+ border-top-color: var(--sp-component-spinner-accent-arc);
2626
+ }
2627
+
2628
+ .sp-spinner--cta {
2629
+ border-top-color: var(--sp-component-spinner-cta-arc);
2630
+ }
2631
+
2632
+ .sp-spinner--disabled {
2633
+ opacity: var(--sp-opacity-disabled);
2634
+ }
2635
+
2636
+ .sp-spinner--loading,
2637
+ .sp-spinner[aria-busy="true"] {
2638
+ opacity: var(--sp-opacity-active);
2319
2639
  }
2320
2640
 
2321
2641
  .sp-spinner--sm {
@@ -2332,4 +2652,335 @@
2332
2652
  width: var(--sp-component-spinner-size-lg);
2333
2653
  height: var(--sp-component-spinner-size-lg);
2334
2654
  }
2655
+
2656
+ /* nav */
2657
+ .sp-nav {
2658
+ display: flex;
2659
+ align-items: center;
2660
+ justify-content: space-between;
2661
+ gap: var(--sp-space-16);
2662
+ padding: var(--sp-space-12) var(--sp-space-16);
2663
+ background-color: var(--sp-component-nav-bg);
2664
+ color: var(--sp-component-nav-text);
2665
+ font-family: var(--sp-font-family-sans);
2666
+ transition:
2667
+ background-color var(--sp-duration-fast) var(--sp-easing-out),
2668
+ color var(--sp-duration-fast) var(--sp-easing-out),
2669
+ border-color var(--sp-duration-fast) var(--sp-easing-out);
2670
+ }
2671
+
2672
+ .sp-nav--bordered {
2673
+ border-bottom: var(--sp-component-border-width) solid var(--sp-component-nav-border);
2674
+ }
2675
+
2676
+ .sp-nav--sticky {
2677
+ position: sticky;
2678
+ top: 0;
2679
+ z-index: var(--sp-z-index-sticky);
2680
+ }
2681
+
2682
+ .sp-nav--full {
2683
+ width: 100%;
2684
+ }
2685
+
2686
+ .sp-nav__links {
2687
+ display: flex;
2688
+ align-items: center;
2689
+ gap: var(--sp-space-16);
2690
+ }
2691
+
2692
+ .sp-nav__link {
2693
+ color: var(--sp-component-nav-link);
2694
+ font-size: var(--sp-font-sm-size);
2695
+ line-height: var(--sp-font-sm-line-height);
2696
+ font-weight: var(--sp-font-sm-weight);
2697
+ text-decoration: none;
2698
+ transition: color var(--sp-duration-fast) var(--sp-easing-out);
2699
+ }
2700
+
2701
+ .sp-nav__link:hover,
2702
+ .sp-nav__link--hover,
2703
+ .sp-nav__link.is-hover {
2704
+ color: var(--sp-component-nav-link-hover);
2705
+ }
2706
+
2707
+ .sp-nav__link:focus-visible,
2708
+ .sp-nav__link--focus,
2709
+ .sp-nav__link.is-focus {
2710
+ outline: none;
2711
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-color-focus-primary);
2712
+ }
2713
+
2714
+ .sp-nav__link--active,
2715
+ .sp-nav__link.is-active {
2716
+ color: var(--sp-component-nav-link-active);
2717
+ }
2718
+
2719
+ .sp-nav__link--disabled,
2720
+ .sp-nav__link[aria-disabled="true"] {
2721
+ pointer-events: none;
2722
+ opacity: var(--sp-opacity-disabled);
2723
+ }
2724
+
2725
+ /* TOASTS ----------------------------------------------------------------- */
2726
+ .sp-toast {
2727
+ display: flex;
2728
+ align-items: flex-start;
2729
+ gap: var(--sp-component-toast-gap);
2730
+ border-radius: var(--sp-component-toast-radius);
2731
+ border: var(--sp-component-border-width) solid transparent;
2732
+ padding: var(--sp-component-toast-padding-y) var(--sp-component-toast-padding-x);
2733
+ font-family: var(--sp-font-family-sans);
2734
+ font-size: var(--sp-font-sm-size);
2735
+ line-height: var(--sp-font-sm-line-height);
2736
+ z-index: var(--sp-component-toast-z-index);
2737
+ transition:
2738
+ background-color var(--sp-duration-fast) var(--sp-easing-out),
2739
+ color var(--sp-duration-fast) var(--sp-easing-out),
2740
+ border-color var(--sp-duration-fast) var(--sp-easing-out);
2741
+ }
2742
+
2743
+ .sp-toast--dismissed {
2744
+ display: none;
2745
+ }
2746
+
2747
+ .sp-toast--full {
2748
+ width: 100%;
2749
+ }
2750
+
2751
+ .sp-toast--info {
2752
+ background-color: var(--sp-component-toast-info-bg);
2753
+ color: var(--sp-component-toast-info-text);
2754
+ border-color: var(--sp-component-toast-info-border);
2755
+ }
2756
+
2757
+ .sp-toast--success {
2758
+ background-color: var(--sp-component-toast-success-bg);
2759
+ color: var(--sp-component-toast-success-text);
2760
+ border-color: var(--sp-component-toast-success-border);
2761
+ }
2762
+
2763
+ .sp-toast--warning {
2764
+ background-color: var(--sp-component-toast-warning-bg);
2765
+ color: var(--sp-component-toast-warning-text);
2766
+ border-color: var(--sp-component-toast-warning-border);
2767
+ }
2768
+
2769
+ .sp-toast--danger {
2770
+ background-color: var(--sp-component-toast-danger-bg);
2771
+ color: var(--sp-component-toast-danger-text);
2772
+ border-color: var(--sp-component-toast-danger-border);
2773
+ }
2774
+
2775
+ .sp-toast__icon {
2776
+ flex-shrink: 0;
2777
+ line-height: var(--sp-font-sm-line-height);
2778
+ }
2779
+
2780
+ .sp-toast__icon--info {
2781
+ color: var(--sp-component-toast-info-icon);
2782
+ }
2783
+
2784
+ .sp-toast__icon--success {
2785
+ color: var(--sp-component-toast-success-icon);
2786
+ }
2787
+
2788
+ .sp-toast__icon--warning {
2789
+ color: var(--sp-component-toast-warning-icon);
2790
+ }
2791
+
2792
+ .sp-toast__icon--danger {
2793
+ color: var(--sp-component-toast-danger-icon);
2794
+ }
2795
+
2796
+ /* TOOLTIPS --------------------------------------------------------------- */
2797
+ .sp-tooltip {
2798
+ position: absolute;
2799
+ display: inline-flex;
2800
+ align-items: center;
2801
+ justify-content: center;
2802
+ border-radius: var(--sp-component-tooltip-radius);
2803
+ border: var(--sp-component-border-width) solid var(--sp-component-tooltip-border);
2804
+ background-color: var(--sp-component-tooltip-bg);
2805
+ color: var(--sp-component-tooltip-text);
2806
+ padding: var(--sp-component-tooltip-padding-y) var(--sp-component-tooltip-padding-x);
2807
+ font-family: var(--sp-font-family-sans);
2808
+ font-size: var(--sp-font-xs-size);
2809
+ line-height: var(--sp-font-xs-line-height);
2810
+ white-space: nowrap;
2811
+ opacity: var(--sp-component-tooltip-opacity);
2812
+ z-index: var(--sp-component-tooltip-z-index);
2813
+ pointer-events: none;
2814
+ visibility: hidden;
2815
+ transition:
2816
+ opacity var(--sp-duration-fast) var(--sp-easing-out),
2817
+ visibility var(--sp-duration-fast) var(--sp-easing-out);
2818
+ }
2819
+
2820
+ .sp-tooltip--visible {
2821
+ visibility: visible;
2822
+ }
2823
+
2824
+ .sp-tooltip--top {
2825
+ bottom: 100%;
2826
+ left: 50%;
2827
+ transform: translate(-50%, calc(-1 * var(--sp-component-tooltip-offset)));
2828
+ }
2829
+
2830
+ .sp-tooltip--bottom {
2831
+ top: 100%;
2832
+ left: 50%;
2833
+ transform: translate(-50%, var(--sp-component-tooltip-offset));
2834
+ }
2835
+
2836
+ .sp-tooltip--left {
2837
+ right: 100%;
2838
+ top: 50%;
2839
+ transform: translate(calc(-1 * var(--sp-component-tooltip-offset)), -50%);
2840
+ }
2841
+
2842
+ .sp-tooltip--right {
2843
+ left: 100%;
2844
+ top: 50%;
2845
+ transform: translate(var(--sp-component-tooltip-offset), -50%);
2846
+ }
2847
+
2848
+ /* DROPDOWNS ---------------------------------------------------------------- */
2849
+ .sp-dropdown {
2850
+ position: relative;
2851
+ display: inline-block;
2852
+ }
2853
+
2854
+ .sp-dropdown--full {
2855
+ display: block;
2856
+ width: 100%;
2857
+ }
2858
+
2859
+ .sp-dropdown__menu {
2860
+ position: absolute;
2861
+ display: none;
2862
+ flex-direction: column;
2863
+ min-width: 100%;
2864
+ padding: var(--sp-component-dropdown-padding);
2865
+ background-color: var(--sp-component-dropdown-bg);
2866
+ border: var(--sp-component-border-width) solid var(--sp-component-dropdown-border);
2867
+ border-radius: var(--sp-component-dropdown-radius);
2868
+ box-shadow: var(--sp-component-dropdown-shadow);
2869
+ z-index: var(--sp-component-dropdown-z-index);
2870
+ font-family: var(--sp-font-family-sans);
2871
+ }
2872
+
2873
+ .sp-dropdown__menu--open {
2874
+ display: flex;
2875
+ }
2876
+
2877
+ .sp-dropdown__menu--bottom-start {
2878
+ top: 100%;
2879
+ left: 0;
2880
+ margin-top: var(--sp-component-dropdown-offset);
2881
+ }
2882
+
2883
+ .sp-dropdown__menu--bottom-end {
2884
+ top: 100%;
2885
+ right: 0;
2886
+ margin-top: var(--sp-component-dropdown-offset);
2887
+ }
2888
+
2889
+ .sp-dropdown__menu--top-start {
2890
+ bottom: 100%;
2891
+ left: 0;
2892
+ margin-bottom: var(--sp-component-dropdown-offset);
2893
+ }
2894
+
2895
+ .sp-dropdown__menu--top-end {
2896
+ bottom: 100%;
2897
+ right: 0;
2898
+ margin-bottom: var(--sp-component-dropdown-offset);
2899
+ }
2900
+
2901
+ .sp-dropdown__item {
2902
+ display: flex;
2903
+ align-items: center;
2904
+ gap: var(--sp-component-dropdown-item-gap);
2905
+ padding: var(--sp-component-dropdown-item-padding-y) var(--sp-component-dropdown-item-padding-x);
2906
+ border-radius: var(--sp-component-dropdown-item-radius);
2907
+ background-color: var(--sp-component-dropdown-item-default);
2908
+ color: var(--sp-component-dropdown-item-text);
2909
+ font-size: var(--sp-font-sm-size);
2910
+ line-height: var(--sp-font-sm-line-height);
2911
+ text-decoration: none;
2912
+ cursor: pointer;
2913
+ transition:
2914
+ background-color var(--sp-duration-fast) var(--sp-easing-out),
2915
+ color var(--sp-duration-fast) var(--sp-easing-out),
2916
+ opacity var(--sp-duration-fast) var(--sp-easing-out);
2917
+ }
2918
+
2919
+ .sp-dropdown__item:hover,
2920
+ .sp-dropdown__item--hover,
2921
+ .sp-dropdown__item.is-hover {
2922
+ background-color: var(--sp-component-dropdown-item-hover);
2923
+ }
2924
+
2925
+ .sp-dropdown__item:focus-visible,
2926
+ .sp-dropdown__item--focus,
2927
+ .sp-dropdown__item.is-focus {
2928
+ outline: none;
2929
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-color-focus-primary);
2930
+ }
2931
+
2932
+ .sp-dropdown__item--active,
2933
+ .sp-dropdown__item.is-active {
2934
+ background-color: var(--sp-component-dropdown-item-active);
2935
+ }
2936
+
2937
+ .sp-dropdown__item--disabled,
2938
+ .sp-dropdown__item[aria-disabled="true"] {
2939
+ pointer-events: none;
2940
+ opacity: var(--sp-opacity-disabled);
2941
+ }
2942
+
2943
+ /* MODALS ------------------------------------------------------------------- */
2944
+ .sp-modal-overlay {
2945
+ position: fixed;
2946
+ inset: 0;
2947
+ display: none;
2948
+ align-items: center;
2949
+ justify-content: center;
2950
+ background-color: var(--sp-component-modal-overlay);
2951
+ z-index: var(--sp-component-modal-z-index);
2952
+ }
2953
+
2954
+ .sp-modal-overlay--open {
2955
+ display: flex;
2956
+ }
2957
+
2958
+ .sp-modal {
2959
+ display: flex;
2960
+ flex-direction: column;
2961
+ gap: var(--sp-component-modal-gap);
2962
+ max-width: 100%;
2963
+ max-height: 100%;
2964
+ overflow: auto;
2965
+ padding: var(--sp-component-modal-padding);
2966
+ background-color: var(--sp-component-modal-bg);
2967
+ border: var(--sp-component-border-width) solid var(--sp-component-modal-border);
2968
+ border-radius: var(--sp-component-modal-radius);
2969
+ box-shadow: var(--sp-component-modal-shadow);
2970
+ font-family: var(--sp-font-family-sans);
2971
+ opacity: 0;
2972
+ transform: scale(0.95);
2973
+ transition:
2974
+ opacity var(--sp-duration-fast) var(--sp-easing-out),
2975
+ transform var(--sp-duration-fast) var(--sp-easing-out);
2976
+ }
2977
+
2978
+ .sp-modal--open {
2979
+ opacity: 1;
2980
+ transform: scale(1);
2981
+ }
2982
+
2983
+ .sp-modal--full {
2984
+ width: 100%;
2985
+ }
2335
2986
  }