@phcdevworks/spectre-ui 1.6.0 → 1.7.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.
package/dist/index.css CHANGED
@@ -148,10 +148,14 @@
148
148
  --sp-layout-container-max-width: 72rem;
149
149
  --sp-border-width-base: 1px;
150
150
  --sp-border-width-thick: 2px;
151
+ --sp-border-style-none: none;
152
+ --sp-border-style-solid: solid;
151
153
  --sp-radius-none: 0;
152
154
  --sp-radius-sm: 2px;
153
155
  --sp-radius-md: 4px;
154
156
  --sp-radius-lg: 8px;
157
+ --sp-radius-xl: 12px;
158
+ --sp-radius-2xl: 16px;
155
159
  --sp-radius-pill: 999px;
156
160
  --sp-font-family-sans: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
157
161
  --sp-font-family-serif: 'Times New Roman', Times, serif;
@@ -187,34 +191,21 @@
187
191
  --sp-font-6xl-line-height: 5rem;
188
192
  --sp-font-6xl-weight: 900;
189
193
  --sp-font-xs-letter-spacing: 0.02em;
190
- --sp-text-on-page-default: #141b24;
191
- --sp-text-on-page-muted: #4b576a;
192
- --sp-text-on-page-subtle: #657287;
193
- --sp-text-on-page-meta: #657287;
194
- --sp-text-on-surface-default: #141b24;
195
- --sp-text-on-surface-muted: #4b576a;
196
- --sp-text-on-surface-subtle: #657287;
197
- --sp-text-on-surface-meta: #657287;
198
- --sp-badge-neutral-bg: #eef1f6;
199
- --sp-badge-neutral-text: #374253;
200
- --sp-badge-info-bg: #e0f2fe;
201
- --sp-badge-info-text: #075985;
202
- --sp-badge-success-bg: #dcfce7;
203
- --sp-badge-success-text: #166534;
204
- --sp-badge-warning-bg: #fff1c2;
205
- --sp-badge-warning-text: #8f5200;
206
- --sp-badge-danger-bg: #fee2e2;
207
- --sp-badge-danger-text: #991b1b;
208
- --sp-icon-box-bg: #ffffff;
209
- --sp-icon-box-border: #d9dfeb;
210
- --sp-icon-box-icon-default: #0369a1;
211
- --sp-icon-box-icon-success: #16a34a;
212
- --sp-icon-box-icon-warning: #d48806;
213
- --sp-icon-box-icon-danger: #dc2626;
194
+ --sp-font-sm-letter-spacing: 0em;
195
+ --sp-font-md-letter-spacing: 0em;
196
+ --sp-font-lg-letter-spacing: 0em;
197
+ --sp-font-xl-letter-spacing: 0em;
198
+ --sp-font-2xl-letter-spacing: 0em;
199
+ --sp-font-3xl-letter-spacing: 0em;
200
+ --sp-font-4xl-letter-spacing: 0em;
201
+ --sp-font-5xl-letter-spacing: 0em;
202
+ --sp-font-6xl-letter-spacing: 0em;
214
203
  --sp-shadow-none: none;
215
204
  --sp-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.06);
216
205
  --sp-shadow-md: 0 2px 6px -1px rgba(0, 0, 0, 0.08);
217
206
  --sp-shadow-lg: 0 6px 16px -4px rgba(0, 0, 0, 0.12);
207
+ --sp-shadow-xl: 0 12px 24px -6px rgba(0, 0, 0, 0.15);
208
+ --sp-shadow-2xl: 0 20px 48px -12px rgba(0, 0, 0, 0.20);
218
209
  --sp-breakpoint-sm: 640px;
219
210
  --sp-breakpoint-md: 768px;
220
211
  --sp-breakpoint-lg: 1024px;
@@ -228,20 +219,26 @@
228
219
  --sp-z-index-modal: 1400;
229
220
  --sp-z-index-popover: 1500;
230
221
  --sp-z-index-tooltip: 1600;
222
+ --sp-z-index-toast: 1700;
231
223
  --sp-duration-instant: 75ms;
232
224
  --sp-duration-fast: 150ms;
233
225
  --sp-duration-base: 200ms;
226
+ --sp-duration-relaxed: 250ms;
234
227
  --sp-duration-moderate: 300ms;
235
228
  --sp-duration-slow: 500ms;
236
229
  --sp-duration-slower: 700ms;
230
+ --sp-duration-long: 1000ms;
231
+ --sp-duration-slowest: 1200ms;
237
232
  --sp-easing-linear: linear;
238
233
  --sp-easing-in: cubic-bezier(0.4, 0, 1, 1);
239
234
  --sp-easing-out: cubic-bezier(0, 0, 0.2, 1);
240
235
  --sp-easing-inout: cubic-bezier(0.4, 0, 0.2, 1);
241
236
  --sp-easing-spring: cubic-bezier(0.4, 0, 0.2, 1);
237
+ --sp-easing-overshoot: cubic-bezier(0.34, 1.56, 0.64, 1);
242
238
  --sp-opacity-disabled: 0.38;
243
239
  --sp-opacity-hover: 0.92;
244
240
  --sp-opacity-active: 0.84;
241
+ --sp-opacity-loading: 0.6;
245
242
  --sp-opacity-focus: 1;
246
243
  --sp-opacity-overlay: 0.5;
247
244
  --sp-opacity-tooltip: 0.95;
@@ -373,7 +370,7 @@
373
370
  --sp-button-text-default: #eef1f6;
374
371
  --sp-button-text-on-primary: #ffffff;
375
372
  --sp-badge-neutral-bg: #374253;
376
- --sp-badge-neutral-text: #eef1f6;
373
+ --sp-badge-neutral-text: #f7f8fb;
377
374
  --sp-badge-info-bg: #0c4a6e;
378
375
  --sp-badge-info-text: #e0f2fe;
379
376
  --sp-badge-success-bg: #166534;
@@ -655,6 +652,90 @@
655
652
  --sp-component-rating-size-sm: var(--sp-font-sm-size);
656
653
  --sp-component-rating-size-md: var(--sp-font-md-size);
657
654
  --sp-component-rating-size-lg: var(--sp-font-lg-size);
655
+
656
+ /* alert roles */
657
+ --sp-component-alert-radius: var(--sp-radius-lg);
658
+ --sp-component-alert-padding-x: var(--sp-space-16);
659
+ --sp-component-alert-padding-y-sm: var(--sp-space-8);
660
+ --sp-component-alert-padding-y-md: var(--sp-space-12);
661
+ --sp-component-alert-padding-y-lg: var(--sp-space-16);
662
+ --sp-component-alert-info-bg: var(--sp-badge-info-bg);
663
+ --sp-component-alert-info-text: var(--sp-badge-info-text);
664
+ --sp-component-alert-info-border: var(--sp-color-info-200);
665
+ --sp-component-alert-success-bg: var(--sp-badge-success-bg);
666
+ --sp-component-alert-success-text: var(--sp-badge-success-text);
667
+ --sp-component-alert-success-border: var(--sp-color-success-200);
668
+ --sp-component-alert-warning-bg: var(--sp-badge-warning-bg);
669
+ --sp-component-alert-warning-text: var(--sp-badge-warning-text);
670
+ --sp-component-alert-warning-border: var(--sp-color-warning-200);
671
+ --sp-component-alert-danger-bg: var(--sp-badge-danger-bg);
672
+ --sp-component-alert-danger-text: var(--sp-badge-danger-text);
673
+ --sp-component-alert-danger-border: var(--sp-color-error-200);
674
+ --sp-component-alert-neutral-bg: var(--sp-badge-neutral-bg);
675
+ --sp-component-alert-neutral-text: var(--sp-badge-neutral-text);
676
+ --sp-component-alert-neutral-border: var(--sp-color-neutral-200);
677
+
678
+ /* avatar roles */
679
+ --sp-component-avatar-size-xs: var(--sp-space-24);
680
+ --sp-component-avatar-size-sm: var(--sp-space-32);
681
+ --sp-component-avatar-size-md: var(--sp-space-48);
682
+ --sp-component-avatar-size-lg: var(--sp-space-64);
683
+ --sp-component-avatar-size-xl: var(--sp-space-80);
684
+ --sp-component-avatar-bg: var(--sp-surface-alternate);
685
+ --sp-component-avatar-text: var(--sp-text-on-surface-default);
686
+ --sp-component-avatar-radius-circle: var(--sp-radius-pill);
687
+ --sp-component-avatar-radius-square: var(--sp-radius-lg);
688
+ --sp-component-avatar-font: var(--sp-font-family-sans);
689
+ --sp-component-avatar-weight: var(--sp-font-md-weight);
690
+
691
+ /* tag roles */
692
+ --sp-component-tag-radius: var(--sp-radius-pill);
693
+ --sp-component-tag-font: var(--sp-font-family-sans);
694
+ --sp-component-tag-weight: var(--sp-font-sm-weight);
695
+ --sp-component-tag-padding-x-sm: var(--sp-space-8);
696
+ --sp-component-tag-padding-x-md: var(--sp-space-12);
697
+ --sp-component-tag-padding-x-lg: var(--sp-space-16);
698
+ --sp-component-tag-default-bg: var(--sp-badge-neutral-bg);
699
+ --sp-component-tag-default-text: var(--sp-badge-neutral-text);
700
+ --sp-component-tag-primary-bg: var(--sp-button-primary-bg);
701
+ --sp-component-tag-primary-text: var(--sp-button-text-on-primary);
702
+ --sp-component-tag-secondary-bg: var(--sp-button-secondary-bg);
703
+ --sp-component-tag-secondary-text: var(--sp-button-secondary-text);
704
+ --sp-component-tag-success-bg: var(--sp-badge-success-bg);
705
+ --sp-component-tag-success-text: var(--sp-badge-success-text);
706
+ --sp-component-tag-warning-bg: var(--sp-badge-warning-bg);
707
+ --sp-component-tag-warning-text: var(--sp-badge-warning-text);
708
+ --sp-component-tag-danger-bg: var(--sp-badge-danger-bg);
709
+ --sp-component-tag-danger-text: var(--sp-badge-danger-text);
710
+ --sp-component-tag-info-bg: var(--sp-badge-info-bg);
711
+ --sp-component-tag-info-text: var(--sp-badge-info-text);
712
+ --sp-component-tag-neutral-bg: var(--sp-badge-neutral-bg);
713
+ --sp-component-tag-neutral-text: var(--sp-badge-neutral-text);
714
+ --sp-component-tag-accent-bg: var(--sp-button-accent-bg);
715
+ --sp-component-tag-accent-text: var(--sp-button-accent-text);
716
+ --sp-component-tag-cta-bg: var(--sp-button-cta-bg);
717
+ --sp-component-tag-cta-text: var(--sp-button-cta-text);
718
+ --sp-component-tag-outline-bg: transparent;
719
+ --sp-component-tag-outline-text: var(--sp-badge-neutral-text);
720
+ --sp-component-tag-outline-border: var(--sp-button-secondary-border);
721
+ --sp-component-tag-ghost-bg: var(--sp-button-ghost-bg);
722
+ --sp-component-tag-ghost-text: var(--sp-button-ghost-text);
723
+ --sp-component-tag-selected-bg: var(--sp-button-primary-bg);
724
+ --sp-component-tag-selected-text: var(--sp-button-primary-text);
725
+ --sp-component-tag-gap: var(--sp-space-4);
726
+ --sp-component-tag-padding-y-sm: var(--sp-space-4);
727
+ --sp-component-tag-padding-y-md: var(--sp-space-4);
728
+ --sp-component-tag-padding-y-lg: var(--sp-space-4);
729
+
730
+ /* spinner roles */
731
+ --sp-component-spinner-size-sm: var(--sp-space-16);
732
+ --sp-component-spinner-size-md: var(--sp-space-24);
733
+ --sp-component-spinner-size-lg: var(--sp-space-32);
734
+ --sp-component-spinner-border-width: var(--sp-border-width-thick);
735
+ --sp-component-spinner-track-color: var(--sp-color-neutral-200);
736
+ --sp-component-spinner-arc-color: var(--sp-button-primary-bg);
737
+ --sp-component-spinner-duration: var(--sp-duration-long);
738
+ --sp-component-spinner-easing: var(--sp-easing-linear);
658
739
  }
659
740
 
660
741
  /* dark mode overrides mapped from Spectre token mode definitions */
@@ -694,6 +775,25 @@
694
775
  --sp-component-rating-star-filled: var(--sp-color-warning-400);
695
776
  --sp-component-rating-star-empty: var(--sp-color-neutral-700);
696
777
  --sp-component-rating-text: var(--sp-color-neutral-400);
778
+
779
+ --sp-component-alert-info-bg: var(--sp-color-info-800);
780
+ --sp-component-alert-info-text: var(--sp-color-info-100);
781
+ --sp-component-alert-info-border: var(--sp-color-info-700);
782
+ --sp-component-alert-success-bg: var(--sp-color-success-800);
783
+ --sp-component-alert-success-text: var(--sp-color-success-100);
784
+ --sp-component-alert-success-border: var(--sp-color-success-700);
785
+ --sp-component-alert-warning-bg: var(--sp-color-warning-800);
786
+ --sp-component-alert-warning-text: var(--sp-color-warning-100);
787
+ --sp-component-alert-warning-border: var(--sp-color-warning-700);
788
+ --sp-component-alert-danger-bg: var(--sp-color-error-800);
789
+ --sp-component-alert-danger-text: var(--sp-color-error-100);
790
+ --sp-component-alert-danger-border: var(--sp-color-error-700);
791
+ --sp-component-alert-neutral-bg: var(--sp-color-neutral-700);
792
+ --sp-component-alert-neutral-text: var(--sp-color-neutral-100);
793
+ --sp-component-alert-neutral-border: var(--sp-color-neutral-600);
794
+
795
+ --sp-component-spinner-track-color: var(--sp-color-neutral-700);
796
+ --sp-component-spinner-arc-color: var(--sp-color-brand-400);
697
797
  }
698
798
 
699
799
  /* BUTTONS -------------------------------------------------------------- */
@@ -728,7 +828,8 @@
728
828
  pointer-events: none;
729
829
  }
730
830
 
731
- .sp-btn--loading {
831
+ .sp-btn--loading,
832
+ .sp-btn[aria-busy="true"] {
732
833
  pointer-events: none;
733
834
  opacity: var(--sp-opacity-active);
734
835
  }
@@ -795,6 +896,7 @@
795
896
  }
796
897
 
797
898
  .sp-btn--primary.sp-btn--disabled,
899
+ .sp-btn--primary[aria-disabled="true"],
798
900
  .sp-btn--primary:disabled {
799
901
  background-color: var(--sp-component-button-primary-bg-disabled);
800
902
  color: var(--sp-component-button-primary-text-disabled);
@@ -821,6 +923,7 @@
821
923
  }
822
924
 
823
925
  .sp-btn--secondary.sp-btn--disabled,
926
+ .sp-btn--secondary[aria-disabled="true"],
824
927
  .sp-btn--secondary:disabled {
825
928
  background-color: var(--sp-component-button-secondary-bg-disabled);
826
929
  color: var(--sp-component-button-secondary-text-disabled);
@@ -846,6 +949,7 @@
846
949
  }
847
950
 
848
951
  .sp-btn--ghost.sp-btn--disabled,
952
+ .sp-btn--ghost[aria-disabled="true"],
849
953
  .sp-btn--ghost:disabled {
850
954
  color: var(--sp-component-button-ghost-text-disabled);
851
955
  background-color: var(--sp-component-button-ghost-bg-disabled);
@@ -870,6 +974,7 @@
870
974
  }
871
975
 
872
976
  .sp-btn--danger.sp-btn--disabled,
977
+ .sp-btn--danger[aria-disabled="true"],
873
978
  .sp-btn--danger:disabled {
874
979
  background-color: var(--sp-component-button-danger-bg-disabled);
875
980
  color: var(--sp-component-button-danger-text-disabled);
@@ -894,6 +999,7 @@
894
999
  }
895
1000
 
896
1001
  .sp-btn--success.sp-btn--disabled,
1002
+ .sp-btn--success[aria-disabled="true"],
897
1003
  .sp-btn--success:disabled {
898
1004
  background-color: var(--sp-component-button-success-bg-disabled);
899
1005
  color: var(--sp-component-button-success-text-disabled);
@@ -919,6 +1025,7 @@
919
1025
  }
920
1026
 
921
1027
  .sp-btn--cta.sp-btn--disabled,
1028
+ .sp-btn--cta[aria-disabled="true"],
922
1029
  .sp-btn--cta:disabled {
923
1030
  background-color: var(--sp-component-button-cta-bg-disabled);
924
1031
  color: var(--sp-component-button-cta-text-disabled);
@@ -944,6 +1051,7 @@
944
1051
  }
945
1052
 
946
1053
  .sp-btn--accent.sp-btn--disabled,
1054
+ .sp-btn--accent[aria-disabled="true"],
947
1055
  .sp-btn--accent:disabled {
948
1056
  background-color: var(--sp-component-button-accent-bg-disabled);
949
1057
  color: var(--sp-component-button-accent-text-disabled);
@@ -1803,9 +1911,11 @@
1803
1911
  gap: var(--sp-space-8);
1804
1912
  font-size: var(--sp-component-rating-size-md);
1805
1913
  border-radius: var(--sp-radius-md);
1914
+ border: var(--sp-component-border-width) solid transparent;
1806
1915
  transition:
1807
1916
  opacity var(--sp-duration-fast) var(--sp-easing-out),
1808
- box-shadow var(--sp-duration-fast) var(--sp-easing-out);
1917
+ box-shadow var(--sp-duration-fast) var(--sp-easing-out),
1918
+ border-color var(--sp-duration-fast) var(--sp-easing-out);
1809
1919
  }
1810
1920
 
1811
1921
  .sp-rating--sm {
@@ -1836,7 +1946,8 @@
1836
1946
  cursor: not-allowed;
1837
1947
  }
1838
1948
 
1839
- .sp-rating--loading {
1949
+ .sp-rating--loading,
1950
+ .sp-rating[aria-busy="true"] {
1840
1951
  opacity: var(--sp-opacity-active);
1841
1952
  pointer-events: none;
1842
1953
  }
@@ -1846,20 +1957,20 @@
1846
1957
  }
1847
1958
 
1848
1959
  .sp-rating--interactive:hover,
1849
- .sp-rating--interactive.sp-rating--hover,
1850
- .sp-rating--interactive.is-hover {
1960
+ .sp-rating--hover,
1961
+ .is-hover {
1851
1962
  opacity: var(--sp-opacity-hover);
1852
1963
  }
1853
1964
 
1854
1965
  .sp-rating--interactive:active,
1855
- .sp-rating--interactive.sp-rating--active,
1856
- .sp-rating--interactive.is-active {
1966
+ .sp-rating--active,
1967
+ .is-active {
1857
1968
  opacity: var(--sp-opacity-active);
1858
1969
  }
1859
1970
 
1860
1971
  .sp-rating--interactive:focus-visible,
1861
- .sp-rating--interactive.sp-rating--focus,
1862
- .sp-rating--interactive.is-focus {
1972
+ .sp-rating--focus,
1973
+ .is-focus {
1863
1974
  outline: none;
1864
1975
  box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-color-focus-primary);
1865
1976
  }
@@ -1884,6 +1995,413 @@
1884
1995
  color: var(--sp-component-rating-text);
1885
1996
  font-size: var(--sp-font-sm-size);
1886
1997
  }
1998
+
1999
+ .sp-rating-text--disabled {
2000
+ opacity: var(--sp-opacity-disabled);
2001
+ }
2002
+
2003
+ /* ALERTS --------------------------------------------------------------- */
2004
+ .sp-alert {
2005
+ display: flex;
2006
+ align-items: flex-start;
2007
+ gap: var(--sp-space-12);
2008
+ border-radius: var(--sp-component-alert-radius);
2009
+ border: var(--sp-component-border-width) solid transparent;
2010
+ padding: var(--sp-component-alert-padding-y-md) var(--sp-component-alert-padding-x);
2011
+ font-family: var(--sp-font-family-sans);
2012
+ font-size: var(--sp-font-sm-size);
2013
+ line-height: var(--sp-font-sm-line-height);
2014
+ transition:
2015
+ background-color var(--sp-duration-fast) var(--sp-easing-out),
2016
+ color var(--sp-duration-fast) var(--sp-easing-out),
2017
+ box-shadow var(--sp-duration-fast) var(--sp-easing-out),
2018
+ border-color var(--sp-duration-fast) var(--sp-easing-out),
2019
+ opacity var(--sp-duration-fast) var(--sp-easing-out);
2020
+ }
2021
+
2022
+ .sp-alert--dismissed {
2023
+ display: none;
2024
+ }
2025
+
2026
+ .sp-alert--full {
2027
+ width: 100%;
2028
+ }
2029
+
2030
+ .sp-alert--sm {
2031
+ padding: var(--sp-component-alert-padding-y-sm) var(--sp-component-alert-padding-x);
2032
+ font-size: var(--sp-font-xs-size);
2033
+ line-height: var(--sp-font-xs-line-height);
2034
+ }
2035
+
2036
+ .sp-alert--md {
2037
+ padding: var(--sp-component-alert-padding-y-md) var(--sp-component-alert-padding-x);
2038
+ font-size: var(--sp-font-sm-size);
2039
+ line-height: var(--sp-font-sm-line-height);
2040
+ }
2041
+
2042
+ .sp-alert--lg {
2043
+ padding: var(--sp-component-alert-padding-y-lg) var(--sp-component-alert-padding-x);
2044
+ font-size: var(--sp-font-md-size);
2045
+ line-height: var(--sp-font-md-line-height);
2046
+ }
2047
+
2048
+ .sp-alert--info {
2049
+ background-color: var(--sp-component-alert-info-bg);
2050
+ color: var(--sp-component-alert-info-text);
2051
+ border-color: var(--sp-component-alert-info-border);
2052
+ }
2053
+
2054
+ .sp-alert--success {
2055
+ background-color: var(--sp-component-alert-success-bg);
2056
+ color: var(--sp-component-alert-success-text);
2057
+ border-color: var(--sp-component-alert-success-border);
2058
+ }
2059
+
2060
+ .sp-alert--warning {
2061
+ background-color: var(--sp-component-alert-warning-bg);
2062
+ color: var(--sp-component-alert-warning-text);
2063
+ border-color: var(--sp-component-alert-warning-border);
2064
+ }
2065
+
2066
+ .sp-alert--danger {
2067
+ background-color: var(--sp-component-alert-danger-bg);
2068
+ color: var(--sp-component-alert-danger-text);
2069
+ border-color: var(--sp-component-alert-danger-border);
2070
+ }
2071
+
2072
+ .sp-alert--neutral {
2073
+ background-color: var(--sp-component-alert-neutral-bg);
2074
+ color: var(--sp-component-alert-neutral-text);
2075
+ border-color: var(--sp-component-alert-neutral-border);
2076
+ }
2077
+
2078
+ .sp-alert--interactive {
2079
+ cursor: pointer;
2080
+ }
2081
+
2082
+ .sp-alert--interactive:hover,
2083
+ .sp-alert--hover,
2084
+ .sp-alert.is-hover {
2085
+ opacity: var(--sp-opacity-hover);
2086
+ }
2087
+
2088
+ .sp-alert--interactive:active,
2089
+ .sp-alert--active,
2090
+ .sp-alert.is-active {
2091
+ opacity: var(--sp-opacity-active);
2092
+ }
2093
+
2094
+ .sp-alert--interactive:focus-visible,
2095
+ .sp-alert--focus,
2096
+ .sp-alert.is-focus {
2097
+ outline: none;
2098
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-color-focus-primary);
2099
+ }
2100
+
2101
+ .sp-alert:disabled,
2102
+ .sp-alert[aria-disabled="true"],
2103
+ .sp-alert--disabled {
2104
+ opacity: var(--sp-opacity-disabled);
2105
+ pointer-events: none;
2106
+ cursor: not-allowed;
2107
+ }
2108
+
2109
+ .sp-alert--loading,
2110
+ .sp-alert[aria-busy="true"] {
2111
+ opacity: var(--sp-opacity-active);
2112
+ pointer-events: none;
2113
+ }
2114
+
2115
+ /* AVATARS -------------------------------------------------------------- */
2116
+ .sp-avatar {
2117
+ display: inline-flex;
2118
+ align-items: center;
2119
+ justify-content: center;
2120
+ overflow: hidden;
2121
+ flex-shrink: 0;
2122
+ background-color: var(--sp-component-avatar-bg);
2123
+ color: var(--sp-component-avatar-text);
2124
+ border: var(--sp-component-border-width) solid transparent;
2125
+ font-family: var(--sp-component-avatar-font);
2126
+ font-weight: var(--sp-component-avatar-weight);
2127
+ transition:
2128
+ background-color var(--sp-duration-fast) var(--sp-easing-out),
2129
+ color var(--sp-duration-fast) var(--sp-easing-out),
2130
+ box-shadow var(--sp-duration-fast) var(--sp-easing-out),
2131
+ border-color var(--sp-duration-fast) var(--sp-easing-out),
2132
+ opacity var(--sp-duration-fast) var(--sp-easing-out);
2133
+ }
2134
+
2135
+ .sp-avatar--xs {
2136
+ width: var(--sp-component-avatar-size-xs);
2137
+ height: var(--sp-component-avatar-size-xs);
2138
+ font-size: var(--sp-font-xs-size);
2139
+ line-height: var(--sp-font-xs-line-height);
2140
+ }
2141
+
2142
+ .sp-avatar--sm {
2143
+ width: var(--sp-component-avatar-size-sm);
2144
+ height: var(--sp-component-avatar-size-sm);
2145
+ font-size: var(--sp-font-xs-size);
2146
+ line-height: var(--sp-font-xs-line-height);
2147
+ }
2148
+
2149
+ .sp-avatar--md {
2150
+ width: var(--sp-component-avatar-size-md);
2151
+ height: var(--sp-component-avatar-size-md);
2152
+ font-size: var(--sp-font-sm-size);
2153
+ line-height: var(--sp-font-sm-line-height);
2154
+ }
2155
+
2156
+ .sp-avatar--lg {
2157
+ width: var(--sp-component-avatar-size-lg);
2158
+ height: var(--sp-component-avatar-size-lg);
2159
+ font-size: var(--sp-font-md-size);
2160
+ line-height: var(--sp-font-md-line-height);
2161
+ }
2162
+
2163
+ .sp-avatar--xl {
2164
+ width: var(--sp-component-avatar-size-xl);
2165
+ height: var(--sp-component-avatar-size-xl);
2166
+ font-size: var(--sp-font-lg-size);
2167
+ line-height: var(--sp-font-lg-line-height);
2168
+ }
2169
+
2170
+ .sp-avatar--circle {
2171
+ border-radius: var(--sp-component-avatar-radius-circle);
2172
+ }
2173
+
2174
+ .sp-avatar--square {
2175
+ border-radius: var(--sp-component-avatar-radius-square);
2176
+ }
2177
+
2178
+ .sp-avatar--full {
2179
+ width: 100%;
2180
+ }
2181
+
2182
+ .sp-avatar--interactive {
2183
+ cursor: pointer;
2184
+ }
2185
+
2186
+ .sp-avatar--interactive:hover,
2187
+ .sp-avatar--hover,
2188
+ .sp-avatar.is-hover {
2189
+ opacity: var(--sp-opacity-hover);
2190
+ }
2191
+
2192
+ .sp-avatar--interactive:active,
2193
+ .sp-avatar--active,
2194
+ .sp-avatar.is-active {
2195
+ opacity: var(--sp-opacity-active);
2196
+ }
2197
+
2198
+ .sp-avatar--interactive:focus-visible,
2199
+ .sp-avatar--focus,
2200
+ .sp-avatar.is-focus {
2201
+ outline: none;
2202
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-color-focus-primary);
2203
+ }
2204
+
2205
+ .sp-avatar:disabled,
2206
+ .sp-avatar[aria-disabled="true"],
2207
+ .sp-avatar--disabled {
2208
+ opacity: var(--sp-opacity-disabled);
2209
+ pointer-events: none;
2210
+ cursor: not-allowed;
2211
+ }
2212
+
2213
+ .sp-avatar--loading,
2214
+ .sp-avatar[aria-busy="true"] {
2215
+ opacity: var(--sp-opacity-active);
2216
+ pointer-events: none;
2217
+ }
2218
+
2219
+ .sp-avatar--placeholder {
2220
+ background-color: var(--sp-surface-alternate);
2221
+ color: var(--sp-text-on-surface-meta);
2222
+ }
2223
+
2224
+ /* TAGS ----------------------------------------------------------------- */
2225
+ .sp-tag {
2226
+ display: inline-flex;
2227
+ align-items: center;
2228
+ gap: var(--sp-component-tag-gap);
2229
+ border-radius: var(--sp-component-tag-radius);
2230
+ font-family: var(--sp-component-tag-font);
2231
+ font-weight: var(--sp-component-tag-weight);
2232
+ padding: var(--sp-component-tag-padding-y-md) var(--sp-component-tag-padding-x-md);
2233
+ font-size: var(--sp-font-sm-size);
2234
+ line-height: var(--sp-font-sm-line-height);
2235
+ border: var(--sp-component-border-width) solid transparent;
2236
+ white-space: nowrap;
2237
+ transition:
2238
+ background-color var(--sp-duration-fast) var(--sp-easing-out),
2239
+ color var(--sp-duration-fast) var(--sp-easing-out),
2240
+ box-shadow var(--sp-duration-fast) var(--sp-easing-out),
2241
+ border-color var(--sp-duration-fast) var(--sp-easing-out),
2242
+ opacity var(--sp-duration-fast) var(--sp-easing-out);
2243
+ }
2244
+
2245
+ .sp-tag--full {
2246
+ width: 100%;
2247
+ }
2248
+
2249
+ .sp-tag--default {
2250
+ background-color: var(--sp-component-tag-default-bg);
2251
+ color: var(--sp-component-tag-default-text);
2252
+ }
2253
+
2254
+ .sp-tag--primary {
2255
+ background-color: var(--sp-component-tag-primary-bg);
2256
+ color: var(--sp-component-tag-primary-text);
2257
+ }
2258
+
2259
+ .sp-tag--secondary {
2260
+ background-color: var(--sp-component-tag-secondary-bg);
2261
+ color: var(--sp-component-tag-secondary-text);
2262
+ }
2263
+
2264
+ .sp-tag--success {
2265
+ background-color: var(--sp-component-tag-success-bg);
2266
+ color: var(--sp-component-tag-success-text);
2267
+ }
2268
+
2269
+ .sp-tag--warning {
2270
+ background-color: var(--sp-component-tag-warning-bg);
2271
+ color: var(--sp-component-tag-warning-text);
2272
+ }
2273
+
2274
+ .sp-tag--danger {
2275
+ background-color: var(--sp-component-tag-danger-bg);
2276
+ color: var(--sp-component-tag-danger-text);
2277
+ }
2278
+
2279
+ .sp-tag--info {
2280
+ background-color: var(--sp-component-tag-info-bg);
2281
+ color: var(--sp-component-tag-info-text);
2282
+ }
2283
+
2284
+ .sp-tag--neutral {
2285
+ background-color: var(--sp-component-tag-neutral-bg);
2286
+ color: var(--sp-component-tag-neutral-text);
2287
+ }
2288
+
2289
+ .sp-tag--accent {
2290
+ background-color: var(--sp-component-tag-accent-bg);
2291
+ color: var(--sp-component-tag-accent-text);
2292
+ }
2293
+
2294
+ .sp-tag--cta {
2295
+ background-color: var(--sp-component-tag-cta-bg);
2296
+ color: var(--sp-component-tag-cta-text);
2297
+ }
2298
+
2299
+ .sp-tag--outline {
2300
+ background-color: var(--sp-component-tag-outline-bg);
2301
+ color: var(--sp-component-tag-outline-text);
2302
+ border-color: var(--sp-component-tag-outline-border);
2303
+ }
2304
+
2305
+ .sp-tag--selected {
2306
+ background-color: var(--sp-component-tag-selected-bg);
2307
+ color: var(--sp-component-tag-selected-text);
2308
+ border-color: transparent;
2309
+ }
2310
+
2311
+ .sp-tag--ghost {
2312
+ background-color: var(--sp-component-tag-ghost-bg);
2313
+ color: var(--sp-component-tag-ghost-text);
2314
+ }
2315
+
2316
+ .sp-tag--interactive {
2317
+ cursor: pointer;
2318
+ }
2319
+
2320
+ .sp-tag--interactive:hover,
2321
+ .sp-tag--hover,
2322
+ .sp-tag.is-hover {
2323
+ opacity: var(--sp-opacity-hover);
2324
+ }
2325
+
2326
+ .sp-tag--interactive:active,
2327
+ .sp-tag--active,
2328
+ .sp-tag.is-active {
2329
+ opacity: var(--sp-opacity-active);
2330
+ }
2331
+
2332
+ .sp-tag--interactive:focus-visible,
2333
+ .sp-tag--focus,
2334
+ .sp-tag.is-focus {
2335
+ outline: none;
2336
+ box-shadow: 0 0 0 calc(var(--sp-focus-ring-width) + var(--sp-component-border-width)) var(--sp-color-focus-primary);
2337
+ }
2338
+
2339
+ .sp-tag:disabled,
2340
+ .sp-tag[aria-disabled="true"],
2341
+ .sp-tag--disabled {
2342
+ opacity: var(--sp-opacity-disabled);
2343
+ pointer-events: none;
2344
+ cursor: not-allowed;
2345
+ }
2346
+
2347
+ .sp-tag--loading,
2348
+ .sp-tag[aria-busy="true"] {
2349
+ opacity: var(--sp-opacity-active);
2350
+ pointer-events: none;
2351
+ }
2352
+
2353
+ .sp-tag--sm {
2354
+ padding: var(--sp-component-tag-padding-y-sm) var(--sp-component-tag-padding-x-sm);
2355
+ font-size: var(--sp-font-xs-size);
2356
+ line-height: var(--sp-font-xs-line-height);
2357
+ }
2358
+
2359
+ .sp-tag--md {
2360
+ padding: var(--sp-component-tag-padding-y-md) var(--sp-component-tag-padding-x-md);
2361
+ font-size: var(--sp-font-sm-size);
2362
+ line-height: var(--sp-font-sm-line-height);
2363
+ }
2364
+
2365
+ .sp-tag--lg {
2366
+ padding: var(--sp-component-tag-padding-y-lg) var(--sp-component-tag-padding-x-lg);
2367
+ font-size: var(--sp-font-md-size);
2368
+ line-height: var(--sp-font-md-line-height);
2369
+ }
2370
+
2371
+ .sp-tag--dismissible {
2372
+ gap: var(--sp-space-8);
2373
+ }
2374
+
2375
+ /* SPINNER -------------------------------------------------------------- */
2376
+
2377
+ @keyframes sp-spin {
2378
+ to {
2379
+ transform: rotate(360deg);
2380
+ }
2381
+ }
2382
+
2383
+ .sp-spinner {
2384
+ display: inline-block;
2385
+ border-radius: 50%;
2386
+ border: var(--sp-component-spinner-border-width) solid var(--sp-component-spinner-track-color);
2387
+ border-top-color: var(--sp-component-spinner-arc-color);
2388
+ animation: sp-spin var(--sp-component-spinner-duration) var(--sp-component-spinner-easing) infinite;
2389
+ }
2390
+
2391
+ .sp-spinner--sm {
2392
+ width: var(--sp-component-spinner-size-sm);
2393
+ height: var(--sp-component-spinner-size-sm);
2394
+ }
2395
+
2396
+ .sp-spinner--md {
2397
+ width: var(--sp-component-spinner-size-md);
2398
+ height: var(--sp-component-spinner-size-md);
2399
+ }
2400
+
2401
+ .sp-spinner--lg {
2402
+ width: var(--sp-component-spinner-size-lg);
2403
+ height: var(--sp-component-spinner-size-lg);
2404
+ }
1887
2405
  }
1888
2406
  @layer utilities {
1889
2407
  .sp-stack {