@aurora-ds/theme 1.2.9 → 1.4.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.d.ts CHANGED
@@ -11,15 +11,24 @@ type BaseColors = {
11
11
  primaryHover: string;
12
12
  primaryActive: string;
13
13
  primarySubtle: string;
14
+ primaryDisabled: string;
14
15
  secondary: string;
15
16
  onSecondary: string;
16
17
  secondaryHover: string;
17
18
  secondaryActive: string;
18
19
  secondarySubtle: string;
20
+ secondaryDisabled: string;
19
21
  accent: string;
20
22
  onAccent: string;
21
23
  accentHover: string;
24
+ accentActive: string;
22
25
  accentSubtle: string;
26
+ tertiary: string;
27
+ onTertiary: string;
28
+ tertiaryHover: string;
29
+ tertiaryActive: string;
30
+ tertiarySubtle: string;
31
+ tertiaryDisabled: string;
23
32
  background: string;
24
33
  surface: string;
25
34
  surfaceHover: string;
@@ -52,6 +61,7 @@ type BaseColors = {
52
61
  infoSubtle: string;
53
62
  link: string;
54
63
  linkHover: string;
64
+ linkActive: string;
55
65
  linkVisited: string;
56
66
  focus: string;
57
67
  disabled: string;
@@ -86,6 +96,7 @@ type BaseRadius = {
86
96
  md: string;
87
97
  lg: string;
88
98
  xl: string;
99
+ '2xl': string;
89
100
  full: string;
90
101
  };
91
102
 
@@ -99,6 +110,9 @@ type BaseShadows = {
99
110
  md: string;
100
111
  lg: string;
101
112
  xl: string;
113
+ '2xl': string;
114
+ inner: string;
115
+ focus: string;
102
116
  };
103
117
 
104
118
  /**
@@ -136,6 +150,7 @@ type BaseLineHeight = {
136
150
  tight: number;
137
151
  normal: number;
138
152
  relaxed: number;
153
+ loose: number;
139
154
  };
140
155
 
141
156
  /**
@@ -145,9 +160,12 @@ type BaseZIndex = {
145
160
  behind: number;
146
161
  base: number;
147
162
  dropdown: number;
163
+ sticky: number;
148
164
  overlay: number;
149
165
  modal: number;
166
+ popover: number;
150
167
  tooltip: number;
168
+ toast: number;
151
169
  };
152
170
 
153
171
  /**
@@ -159,6 +177,26 @@ type BaseTransition = {
159
177
  slow: string;
160
178
  };
161
179
 
180
+ /**
181
+ * Base opacity scale for consistent transparency
182
+ */
183
+ type BaseOpacity = {
184
+ /** Fully transparent - 0 */
185
+ none: number;
186
+ /** Very low opacity - 0.05 */
187
+ lowest: number;
188
+ /** Low opacity - 0.1 */
189
+ low: number;
190
+ /** Medium-low opacity - 0.25 */
191
+ medium: number;
192
+ /** Medium-high opacity - 0.5 */
193
+ high: number;
194
+ /** High opacity - 0.75 */
195
+ higher: number;
196
+ /** Fully opaque - 1 */
197
+ full: number;
198
+ };
199
+
162
200
  /**
163
201
  * Standard theme type with all required tokens
164
202
  */
@@ -172,6 +210,7 @@ type Theme = {
172
210
  lineHeight: BaseLineHeight;
173
211
  zIndex: BaseZIndex;
174
212
  transition: BaseTransition;
213
+ opacity: BaseOpacity;
175
214
  };
176
215
 
177
216
  /**
@@ -357,6 +396,10 @@ declare const defaultZIndex: Theme['zIndex'];
357
396
  * Default transition scale
358
397
  */
359
398
  declare const defaultTransition: Theme['transition'];
399
+ /**
400
+ * Default opacity scale
401
+ */
402
+ declare const defaultOpacity: Theme['opacity'];
360
403
  /**
361
404
  * Default colors (using indigo palette)
362
405
  */
@@ -462,108 +505,108 @@ declare const indigoDark: ColorPalette$9;
462
505
 
463
506
  type ColorPalette$8 = Theme['colors'];
464
507
  /**
465
- * Blue light palette - Modern, accessible color scheme
508
+ * Blue light palette - Classic, accessible color scheme
466
509
  * Follows WCAG AA contrast guidelines
467
510
  */
468
511
  declare const blueLight: ColorPalette$8;
469
512
  /**
470
- * Blue dark palette - Modern, accessible color scheme
513
+ * Blue dark palette - Classic, accessible color scheme
471
514
  * Follows WCAG AA contrast guidelines
472
515
  */
473
516
  declare const blueDark: ColorPalette$8;
474
517
 
475
518
  type ColorPalette$7 = Theme['colors'];
476
519
  /**
477
- * Rose light palette - Modern, accessible color scheme
520
+ * Rose light palette - Elegant, accessible color scheme
478
521
  * Follows WCAG AA contrast guidelines
479
522
  */
480
523
  declare const roseLight: ColorPalette$7;
481
524
  /**
482
- * Rose dark palette - Modern, accessible color scheme
525
+ * Rose dark palette - Elegant, accessible color scheme
483
526
  * Follows WCAG AA contrast guidelines
484
527
  */
485
528
  declare const roseDark: ColorPalette$7;
486
529
 
487
530
  type ColorPalette$6 = Theme['colors'];
488
531
  /**
489
- * Emerald light palette - Modern, accessible color scheme
532
+ * Emerald light palette - Fresh, accessible color scheme
490
533
  * Follows WCAG AA contrast guidelines
491
534
  */
492
535
  declare const emeraldLight: ColorPalette$6;
493
536
  /**
494
- * Emerald dark palette - Modern, accessible color scheme
537
+ * Emerald dark palette - Fresh, accessible color scheme
495
538
  * Follows WCAG AA contrast guidelines
496
539
  */
497
540
  declare const emeraldDark: ColorPalette$6;
498
541
 
499
542
  type ColorPalette$5 = Theme['colors'];
500
543
  /**
501
- * Teal light palette - Modern, accessible color scheme
544
+ * Teal light palette - Cool, accessible color scheme
502
545
  * Follows WCAG AA contrast guidelines
503
546
  */
504
547
  declare const tealLight: ColorPalette$5;
505
548
  /**
506
- * Teal dark palette - Modern, accessible color scheme
549
+ * Teal dark palette - Cool, accessible color scheme
507
550
  * Follows WCAG AA contrast guidelines
508
551
  */
509
552
  declare const tealDark: ColorPalette$5;
510
553
 
511
554
  type ColorPalette$4 = Theme['colors'];
512
555
  /**
513
- * Violet light palette - Modern, accessible color scheme
556
+ * Violet light palette - Creative, accessible color scheme
514
557
  * Follows WCAG AA contrast guidelines
515
558
  */
516
559
  declare const violetLight: ColorPalette$4;
517
560
  /**
518
- * Violet dark palette - Modern, accessible color scheme
561
+ * Violet dark palette - Creative, accessible color scheme
519
562
  * Follows WCAG AA contrast guidelines
520
563
  */
521
564
  declare const violetDark: ColorPalette$4;
522
565
 
523
566
  type ColorPalette$3 = Theme['colors'];
524
567
  /**
525
- * Amber light palette - Modern, accessible color scheme
568
+ * Amber light palette - Warm, accessible color scheme
526
569
  * Follows WCAG AA contrast guidelines
527
570
  */
528
571
  declare const amberLight: ColorPalette$3;
529
572
  /**
530
- * Amber dark palette - Modern, accessible color scheme
573
+ * Amber dark palette - Warm, accessible color scheme
531
574
  * Follows WCAG AA contrast guidelines
532
575
  */
533
576
  declare const amberDark: ColorPalette$3;
534
577
 
535
578
  type ColorPalette$2 = Theme['colors'];
536
579
  /**
537
- * Cyan light palette - Modern, accessible color scheme
580
+ * Cyan light palette - Fresh, accessible color scheme
538
581
  * Follows WCAG AA contrast guidelines
539
582
  */
540
583
  declare const cyanLight: ColorPalette$2;
541
584
  /**
542
- * Cyan dark palette - Modern, accessible color scheme
585
+ * Cyan dark palette - Fresh, accessible color scheme
543
586
  * Follows WCAG AA contrast guidelines
544
587
  */
545
588
  declare const cyanDark: ColorPalette$2;
546
589
 
547
590
  type ColorPalette$1 = Theme['colors'];
548
591
  /**
549
- * Slate light palette - Modern, accessible color scheme
592
+ * Slate light palette - Professional, accessible color scheme
550
593
  * Follows WCAG AA contrast guidelines
551
594
  */
552
595
  declare const slateLight: ColorPalette$1;
553
596
  /**
554
- * Slate dark palette - Modern, accessible color scheme
597
+ * Slate dark palette - Professional, accessible color scheme
555
598
  * Follows WCAG AA contrast guidelines
556
599
  */
557
600
  declare const slateDark: ColorPalette$1;
558
601
 
559
602
  type ColorPalette = Theme['colors'];
560
603
  /**
561
- * Gray light palette - Modern, accessible color scheme
604
+ * Gray light palette - Clean, accessible color scheme
562
605
  * Follows WCAG AA contrast guidelines
563
606
  */
564
607
  declare const grayLight: ColorPalette;
565
608
  /**
566
- * Gray dark palette - Modern, accessible color scheme
609
+ * Gray dark palette - Clean, accessible color scheme
567
610
  * Follows WCAG AA contrast guidelines
568
611
  */
569
612
  declare const grayDark: ColorPalette;
@@ -788,4 +831,159 @@ declare const insertRule: (rule: string) => void;
788
831
  */
789
832
  declare const sanitizeCssValue: (value: string) => string;
790
833
 
791
- export { type BaseColors, type BaseFontSize, type BaseFontWeight, type BaseLineHeight, type BaseRadius, type BaseShadows, type BaseSpacing, type BaseTransition, type BaseZIndex, type ColorName, type ColorScale, type ColorShade, type DeepPartial, type ExtendTheme, type ExtendedTheme, type FontFaceOptions, type PaletteName, type StyleFunction, type StyleWithPseudos, type Theme, type ThemeOverride, ThemeProvider, type ThemeProviderProps, amber, amberDark, amberLight, black, blue, blueDark, blueLight, clearSSRRules, colors, createStyles, createTheme, createThemeVariant, cssVar, cssVariables, current, cyan, cyanDark, cyanLight, defaultColors, defaultDarkColors, defaultDarkTheme, defaultFontSize, defaultFontWeight, defaultLineHeight, defaultRadius, defaultShadows, defaultSpacing, defaultTheme, defaultTransition, defaultZIndex, emerald, emeraldDark, emeraldLight, fontFace, fuchsia, getSSRRulesArray, getSSRStyleTag, getSSRStyles, getTheme, gray, grayDark, grayLight, green, indigo, indigoDark, indigoLight, injectCssVariables, insertRule, keyframes, lime, mergeThemes, orange, palettes, pink, purple, red, rose, roseDark, roseLight, sanitizeCssValue, setThemeContextGetter, sky, slate, slateDark, slateLight, stone, teal, tealDark, tealLight, transparent, useTheme, violet, violetDark, violetLight, white, yellow };
834
+ /**
835
+ * WCAG Contrast Utilities
836
+ *
837
+ * Utilities for checking color contrast ratios according to WCAG 2.1 guidelines.
838
+ *
839
+ * @example
840
+ * ```ts
841
+ * import { getContrastRatio, meetsWCAG, checkThemeContrast } from '@aurora-ds/theme'
842
+ *
843
+ * // Check contrast between two colors
844
+ * const ratio = getContrastRatio('#ffffff', '#000000') // 21
845
+ *
846
+ * // Check if colors meet WCAG standards
847
+ * meetsWCAG('#ffffff', '#767676', 'AA') // true for large text
848
+ * meetsWCAG('#ffffff', '#767676', 'AAA') // false
849
+ *
850
+ * // Check all theme color pairs
851
+ * const issues = checkThemeContrast(myTheme)
852
+ * ```
853
+ */
854
+ /**
855
+ * WCAG contrast level requirements
856
+ * - AA: 4.5:1 for normal text, 3:1 for large text
857
+ * - AAA: 7:1 for normal text, 4.5:1 for large text
858
+ */
859
+ type WCAGLevel = 'AA' | 'AAA';
860
+ /**
861
+ * Result of a contrast check
862
+ */
863
+ type ContrastResult = {
864
+ /** The two colors being compared */
865
+ colors: [string, string];
866
+ /** The contrast ratio (1-21) */
867
+ ratio: number;
868
+ /** Whether it passes WCAG AA for normal text (4.5:1) */
869
+ passesAA: boolean;
870
+ /** Whether it passes WCAG AA for large text (3:1) */
871
+ passesAALarge: boolean;
872
+ /** Whether it passes WCAG AAA for normal text (7:1) */
873
+ passesAAA: boolean;
874
+ /** Whether it passes WCAG AAA for large text (4.5:1) */
875
+ passesAAALarge: boolean;
876
+ };
877
+ /**
878
+ * Theme contrast check result
879
+ */
880
+ type ThemeContrastIssue = {
881
+ /** Name of the color pair (e.g., "primary/onPrimary") */
882
+ pair: string;
883
+ /** Foreground color name */
884
+ foreground: string;
885
+ /** Background color name */
886
+ background: string;
887
+ /** The contrast ratio */
888
+ ratio: number;
889
+ /** Required minimum ratio */
890
+ required: number;
891
+ /** WCAG level that failed */
892
+ level: 'AA' | 'AALarge';
893
+ };
894
+ /**
895
+ * Calculate the contrast ratio between two colors
896
+ * @see https://www.w3.org/TR/WCAG21/#dfn-contrast-ratio
897
+ *
898
+ * @param foreground - Foreground color (hex)
899
+ * @param background - Background color (hex)
900
+ * @returns Contrast ratio (1-21), or null if colors are invalid
901
+ *
902
+ * @example
903
+ * ```ts
904
+ * getContrastRatio('#ffffff', '#000000') // 21
905
+ * getContrastRatio('#ffffff', '#ffffff') // 1
906
+ * getContrastRatio('#6366f1', '#ffffff') // ~4.5
907
+ * ```
908
+ */
909
+ declare const getContrastRatio: (foreground: string, background: string) => number | null;
910
+ /**
911
+ * Check if two colors meet WCAG contrast requirements
912
+ *
913
+ * @param foreground - Foreground color (hex)
914
+ * @param background - Background color (hex)
915
+ * @param level - WCAG level to check ('AA' or 'AAA')
916
+ * @param largeText - Whether this is for large text (14pt bold or 18pt+)
917
+ * @returns Whether the contrast meets the specified WCAG level
918
+ *
919
+ * @example
920
+ * ```ts
921
+ * meetsWCAG('#ffffff', '#6366f1', 'AA') // true
922
+ * meetsWCAG('#ffffff', '#6366f1', 'AAA') // false
923
+ * meetsWCAG('#ffffff', '#94a3b8', 'AA', true) // true (large text)
924
+ * ```
925
+ */
926
+ declare const meetsWCAG: (foreground: string, background: string, level?: WCAGLevel, largeText?: boolean) => boolean;
927
+ /**
928
+ * Get detailed contrast information between two colors
929
+ *
930
+ * @param foreground - Foreground color (hex)
931
+ * @param background - Background color (hex)
932
+ * @returns Detailed contrast result or null if colors are invalid
933
+ *
934
+ * @example
935
+ * ```ts
936
+ * const result = checkContrast('#ffffff', '#6366f1')
937
+ * // {
938
+ * // colors: ['#ffffff', '#6366f1'],
939
+ * // ratio: 4.54,
940
+ * // passesAA: true,
941
+ * // passesAALarge: true,
942
+ * // passesAAA: false,
943
+ * // passesAAALarge: true
944
+ * // }
945
+ * ```
946
+ */
947
+ declare const checkContrast: (foreground: string, background: string) => ContrastResult | null;
948
+ /**
949
+ * Check all important color pairs in a theme for WCAG compliance
950
+ *
951
+ * @param theme - The theme to check
952
+ * @param level - Minimum WCAG level to require ('AA' or 'AAA')
953
+ * @returns Array of contrast issues found
954
+ *
955
+ * @example
956
+ * ```ts
957
+ * import { checkThemeContrast, defaultTheme } from '@aurora-ds/theme'
958
+ *
959
+ * const issues = checkThemeContrast(defaultTheme)
960
+ * if (issues.length > 0) {
961
+ * console.warn('Theme has contrast issues:', issues)
962
+ * }
963
+ *
964
+ * // Check for AAA compliance
965
+ * const strictIssues = checkThemeContrast(defaultTheme, 'AAA')
966
+ * ```
967
+ */
968
+ declare const checkThemeContrast: (theme: {
969
+ colors: Record<string, string>;
970
+ }, level?: WCAGLevel) => ThemeContrastIssue[];
971
+ /**
972
+ * Get a suggested color that meets WCAG contrast requirements
973
+ * Adjusts the lightness of the foreground color to meet the target ratio
974
+ *
975
+ * @param foreground - Current foreground color (hex)
976
+ * @param background - Background color (hex)
977
+ * @param targetRatio - Desired contrast ratio (default 4.5 for AA)
978
+ * @returns Adjusted foreground color or null if adjustment isn't possible
979
+ *
980
+ * @example
981
+ * ```ts
982
+ * // If #94a3b8 on #ffffff doesn't meet AA
983
+ * const suggested = suggestContrastColor('#94a3b8', '#ffffff', 4.5)
984
+ * // Returns a darker shade that meets the requirement
985
+ * ```
986
+ */
987
+ declare const suggestContrastColor: (foreground: string, background: string, targetRatio?: number) => string | null;
988
+
989
+ export { type BaseColors, type BaseFontSize, type BaseFontWeight, type BaseLineHeight, type BaseOpacity, type BaseRadius, type BaseShadows, type BaseSpacing, type BaseTransition, type BaseZIndex, type ColorName, type ColorScale, type ColorShade, type ContrastResult, type DeepPartial, type ExtendTheme, type ExtendedTheme, type FontFaceOptions, type PaletteName, type StyleFunction, type StyleWithPseudos, type Theme, type ThemeContrastIssue, type ThemeOverride, ThemeProvider, type ThemeProviderProps, type WCAGLevel, amber, amberDark, amberLight, black, blue, blueDark, blueLight, checkContrast, checkThemeContrast, clearSSRRules, colors, createStyles, createTheme, createThemeVariant, cssVar, cssVariables, current, cyan, cyanDark, cyanLight, defaultColors, defaultDarkColors, defaultDarkTheme, defaultFontSize, defaultFontWeight, defaultLineHeight, defaultOpacity, defaultRadius, defaultShadows, defaultSpacing, defaultTheme, defaultTransition, defaultZIndex, emerald, emeraldDark, emeraldLight, fontFace, fuchsia, getContrastRatio, getSSRRulesArray, getSSRStyleTag, getSSRStyles, getTheme, gray, grayDark, grayLight, green, indigo, indigoDark, indigoLight, injectCssVariables, insertRule, keyframes, lime, meetsWCAG, mergeThemes, orange, palettes, pink, purple, red, rose, roseDark, roseLight, sanitizeCssValue, setThemeContextGetter, sky, slate, slateDark, slateLight, stone, suggestContrastColor, teal, tealDark, tealLight, transparent, useTheme, violet, violetDark, violetLight, white, yellow };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import {createContext,useLayoutEffect,useContext}from'react';import {jsx}from'react/jsx-runtime';var be=typeof document>"u",ie=null,E=null,le=[],ge=new Map([["backgroundColor","background-color"],["borderRadius","border-radius"],["fontSize","font-size"],["fontWeight","font-weight"],["lineHeight","line-height"],["marginTop","margin-top"],["marginBottom","margin-bottom"],["marginLeft","margin-left"],["marginRight","margin-right"],["paddingTop","padding-top"],["paddingBottom","padding-bottom"],["paddingLeft","padding-left"],["paddingRight","padding-right"],["textAlign","text-align"],["justifyContent","justify-content"],["alignItems","align-items"],["flexDirection","flex-direction"],["flexWrap","flex-wrap"],["boxShadow","box-shadow"],["zIndex","z-index"]]),ce=new Map,F=new Set,fe=new Set,ue=new Set,he=0,qe=new Set(["animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex","zoom"]),ve=100;if(!be){let t=document.getElementById("aurora-styles");if(t)E=t.sheet;else {let n=document.createElement("style");n.id="aurora-styles",document.head.appendChild(n),E=n.sheet;}}var K=t=>{let n=ie;return ie=t,n},me=()=>ie?.(),w=t=>{if(be)le.push(t);else if(E)try{E.insertRule(t,E.cssRules.length);}catch{}},D=t=>{let n=ge.get(t);return n||(n=t.replace(/([A-Z])/g,"-$1").toLowerCase(),ge.set(t,n)),n},V=t=>t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase(),Qe=/expression\s*\(|javascript\s*:|data\s*:\s*text\/html|behavior\s*:|@import|<\s*\/?\s*style/i,xe=t=>{let n=t.replace(/\0/g,"");return Qe.test(n)?(Ye&&console.warn(`[Aurora] Potentially dangerous CSS value blocked: "${t.slice(0,50)}..."`),"unset"):n},Ye=typeof process<"u"&&process.env?.NODE_ENV!=="production",He=(t,n)=>typeof n=="number"&&!qe.has(t)?`${n}px`:xe(String(n)),I=t=>{let n=[];for(let i in t){let l=t[i];l!=null&&typeof l!="object"&&n.push(`${D(i)}:${He(i,l)}`);}return n.join(";")+(n.length?";":"")};var ke=t=>{let n=t.length;if(n<=4){let i="";for(let l=0;l<n;l++){let f=t[l],p=typeof f;if(f===void 0)i+=l?"|u":"u";else if(f===null)i+=l?"|n":"n";else if(p==="string"||p==="number"||p==="boolean")i+=l?"|"+f:String(f);else return JSON.stringify(t)}return i}return JSON.stringify(t)},Te=t=>{if(t==="true"||t==="false"||/^-?\d+$/.test(t))return t;if(/^[a-z][a-z0-9]*$/i.test(t))return V(t);let n=5381;for(let i=0;i<t.length;i++)n=(n<<5)+n^t.charCodeAt(i);return (n>>>0).toString(36)},Ce=t=>{let n=new Map;return {getOrSet(i,l){let f=n.get(i);if(f!==void 0)return n.delete(i),n.set(i,f),f;let p=l();if(n.size>=t){let y=n.keys().next().value;y!==void 0&&n.delete(y);}return n.set(i,p),p}}},Se=t=>{let n=JSON.stringify(t),i=5381;for(let l=0;l<n.length;l++)i=(i<<5)+i^n.charCodeAt(l);return (i>>>0).toString(36)},we=t=>{let n=5381;for(let i=0;i<t.length;i++)n=(n<<5)+n^t.charCodeAt(i);return (n>>>0).toString(36)},er=t=>{if(!F.has(t))return F.add(t),t;let n=2,i=`${t}-${n}`;for(;F.has(i);)i=`${t}-${++n}`;return F.add(i),i},pe=(t,n,i=false)=>{if(i){let y=Se(t),b=ce.get(y);if(b)return b}let l=er(n),f=[],p=[];for(let y in t){let b=t[y],P=y[0];if(P==="@"){let C=I(b);C&&p.push(`${y}{.${l}{${C}}}`);}else if(P==="&"){let C=I(b);if(C){let Xe=y.replace(/&/g,`.${l}`);p.push(`${Xe}{${C}}`);}}else if(P===":"){let C=I(b);C&&p.push(`.${l}${y}{${C}}`);}else b!=null&&typeof b!="object"&&f.push(`${D(y)}:${He(y,b)}`);}f.length&&w(`.${l}{${f.join(";")}}`);for(let y of p)w(y);return i&&ce.set(Se(t),l),l},Ae=t=>fe.has(t),Pe=t=>{fe.add(t);},$e=()=>(++he).toString(36),De=t=>ue.has(t),Le=t=>{ue.add(t);},de=()=>le,Re=()=>{le=[],ce.clear(),F.clear(),fe.clear(),ue.clear(),he=0;};var Fe=createContext(void 0),nr=({theme:t,children:n})=>{let i=K(()=>t);return useLayoutEffect(()=>()=>{K(i);},[i]),jsx(Fe.Provider,{value:t,children:n})},sr=()=>{let t=useContext(Fe);if(!t)throw new Error("useTheme must be used within a ThemeProvider");return t};var Ee=t=>{let n=JSON.stringify(t),i=5381;for(let l=0;l<n.length;l++)i=(i<<5)+i^n.charCodeAt(l);return (i>>>0).toString(36)},W=new Map,ir=50;var ye=(t,n)=>{let i={...t};for(let l in n){let f=n[l],p=t[l];f!==void 0&&typeof f=="object"&&f!==null&&!Array.isArray(f)&&typeof p=="object"&&p!==null?i[l]=ye(p,f):f!==void 0&&(i[l]=f);}return i},Ie=(t,n)=>{let i=`${Ee(t)}_${Ee(n)}`,l=W.get(i);if(l)return l;let f=ye(t,n);if(W.size>=ir){let p=W.keys().next().value;p&&W.delete(p);}return W.set(i,f),f},cr=(t,...n)=>n.reduce((i,l)=>ye(i,l),t),lr=t=>n=>Ie(n,t);var h={25:"#fcfcfc",50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"};var e={25:"#fcfcfd",50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"};var z={25:"#fcfcfb",50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"};var s={25:"#fffbfb",50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"};var k={25:"#fffcfa",50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"};var r={25:"#fffdfb",50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"};var $={25:"#fefef9",50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"};var N={25:"#fbfef8",50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"};var a={25:"#f6fef9",50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"};var v={25:"#f5fefc",50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"};var S={25:"#f4fefe",50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"};var d={25:"#f3fefe",50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"};var j={25:"#f5faff",50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"};var o={25:"#f5f8ff",50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"};var u={25:"#f5f7ff",50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"};var m={25:"#f8f5ff",50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"};var A={25:"#faf5ff",50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"};var _={25:"#fef5ff",50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"};var T={25:"#fef5f9",50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"};var g={25:"#fff5f6",50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"};var c="#ffffff",fr="#000000",ur="transparent",mr="currentColor",pr={gray:h,slate:e,stone:z,red:s,orange:k,amber:r,yellow:$,lime:N,green:a,emerald:v,teal:S,cyan:d,sky:j,blue:o,indigo:u,violet:m,purple:A,fuchsia:_,pink:T,rose:g,white:"#ffffff",black:"#000000",transparent:"transparent",current:"currentColor"};var x={background:e[50],surface:c,surfaceHover:e[200],surfaceActive:e[300],elevated:c,overlay:"rgba(15, 23, 42, 0.6)",text:e[800],textSecondary:e[500],textTertiary:e[400],textInverse:c,border:e[200],borderHover:e[300],borderSubtle:e[100],disabled:e[300],disabledText:e[400]},H={background:e[950],surface:e[900],surfaceHover:e[800],surfaceActive:e[700],elevated:e[800],overlay:"rgba(0, 0, 0, 0.8)",text:e[50],textSecondary:e[400],textTertiary:e[500],textInverse:e[900],border:e[800],borderHover:e[700],borderSubtle:e[900],disabled:e[700],disabledText:e[500]};var L={...x,primary:u[600],onPrimary:c,primaryHover:u[700],primaryActive:u[800],primarySubtle:u[50],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:d[500],onAccent:c,accentHover:d[600],accentSubtle:d[50],borderFocus:u[500],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:u[500],linkHover:u[600],linkVisited:m[600],focus:u[500]},R={...H,primary:u[500],onPrimary:c,primaryHover:u[400],primaryActive:u[600],primarySubtle:u[950],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:d[500],onAccent:c,accentHover:d[400],accentSubtle:d[950],borderFocus:u[400],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:u[400],linkHover:u[300],linkVisited:m[400],focus:u[400]};var O={...x,primary:o[600],onPrimary:c,primaryHover:o[700],primaryActive:o[800],primarySubtle:o[50],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:o[600],onAccent:c,accentHover:o[700],accentSubtle:o[50],borderFocus:o[500],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:o[500],linkHover:o[600],linkVisited:m[600],focus:o[500]},B={...H,primary:o[500],onPrimary:c,primaryHover:o[400],primaryActive:o[600],primarySubtle:o[950],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:o[500],onAccent:c,accentHover:o[400],accentSubtle:o[950],borderFocus:o[400],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:o[400],linkHover:o[300],linkVisited:m[400],focus:o[400]};var M={...x,primary:g[600],onPrimary:c,primaryHover:g[700],primaryActive:g[800],primarySubtle:g[50],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:m[600],onAccent:c,accentHover:m[700],accentSubtle:m[50],borderFocus:g[500],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:g[500],linkHover:g[600],linkVisited:A[600],focus:g[500]},Z={...H,primary:g[500],onPrimary:c,primaryHover:g[400],primaryActive:g[600],primarySubtle:g[950],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:m[500],onAccent:c,accentHover:m[400],accentSubtle:m[950],borderFocus:g[400],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:g[400],linkHover:g[300],linkVisited:A[400],focus:g[400]};var G={...x,primary:v[600],onPrimary:c,primaryHover:v[700],primaryActive:v[800],primarySubtle:v[50],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:r[500],onAccent:r[900],accentHover:r[600],accentSubtle:r[50],borderFocus:v[500],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:v[600],linkHover:v[700],linkVisited:S[700],focus:v[500]},J={...H,primary:v[500],onPrimary:c,primaryHover:v[400],primaryActive:v[600],primarySubtle:v[950],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:r[500],onAccent:r[950],accentHover:r[400],accentSubtle:r[950],borderFocus:v[400],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:v[400],linkHover:v[300],linkVisited:S[400],focus:v[400]};var U={...x,primary:S[600],onPrimary:c,primaryHover:S[700],primaryActive:S[800],primarySubtle:S[50],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:k[500],onAccent:c,accentHover:k[600],accentSubtle:k[50],borderFocus:S[500],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:S[600],linkHover:S[700],linkVisited:d[700],focus:S[500]},X={...H,primary:S[500],onPrimary:c,primaryHover:S[400],primaryActive:S[600],primarySubtle:S[950],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:k[500],onAccent:c,accentHover:k[400],accentSubtle:k[950],borderFocus:S[400],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:S[400],linkHover:S[300],linkVisited:d[400],focus:S[400]};var q={...x,primary:m[600],onPrimary:c,primaryHover:m[700],primaryActive:m[800],primarySubtle:m[50],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:T[500],onAccent:c,accentHover:T[600],accentSubtle:T[50],borderFocus:m[500],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:m[500],linkHover:m[600],linkVisited:A[600],focus:m[500]},Q={...H,primary:m[500],onPrimary:c,primaryHover:m[400],primaryActive:m[600],primarySubtle:m[950],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:T[500],onAccent:c,accentHover:T[400],accentSubtle:T[950],borderFocus:m[400],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:m[400],linkHover:m[300],linkVisited:A[400],focus:m[400]};var Y={...x,primary:r[500],onPrimary:r[900],primaryHover:r[600],primaryActive:r[700],primarySubtle:r[50],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:u[600],onAccent:c,accentHover:u[700],accentSubtle:u[50],borderFocus:r[500],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:r[600],linkHover:r[700],linkVisited:$[700],focus:r[500]},ee={...H,primary:r[500],onPrimary:r[950],primaryHover:r[400],primaryActive:r[600],primarySubtle:r[950],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:u[500],onAccent:c,accentHover:u[400],accentSubtle:u[950],borderFocus:r[400],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:r[400],linkHover:r[300],linkVisited:$[400],focus:r[400]};var re={...x,primary:d[600],onPrimary:c,primaryHover:d[700],primaryActive:d[800],primarySubtle:d[50],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:g[500],onAccent:c,accentHover:g[600],accentSubtle:g[50],borderFocus:d[500],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:d[600],linkHover:d[700],linkVisited:S[700],focus:d[500]},oe={...H,primary:d[500],onPrimary:c,primaryHover:d[400],primaryActive:d[600],primarySubtle:d[950],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:g[500],onAccent:c,accentHover:g[400],accentSubtle:g[950],borderFocus:d[400],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:d[400],linkHover:d[300],linkVisited:S[400],focus:d[400]};var te={...x,primary:e[700],onPrimary:c,primaryHover:e[800],primaryActive:e[900],primarySubtle:e[100],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:o[600],onAccent:c,accentHover:o[700],accentSubtle:o[50],borderFocus:e[600],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:e[700],linkHover:e[800],linkVisited:e[600],focus:e[600]},ne={...H,primary:e[300],onPrimary:e[900],primaryHover:e[200],primaryActive:e[400],primarySubtle:e[900],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:o[500],onAccent:c,accentHover:o[400],accentSubtle:o[950],borderFocus:e[300],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:e[300],linkHover:e[200],linkVisited:e[400],focus:e[300]};var se={...x,primary:h[900],onPrimary:c,primaryHover:h[800],primaryActive:h[950],primarySubtle:h[100],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],accent:u[600],onAccent:c,accentHover:u[700],accentSubtle:u[50],borderFocus:h[900],success:a[500],onSuccess:c,successHover:a[600],successSubtle:a[50],warning:r[400],onWarning:r[900],warningHover:r[500],warningSubtle:r[50],error:s[400],onError:c,errorHover:s[500],errorSubtle:s[50],info:o[400],onInfo:c,infoHover:o[500],infoSubtle:o[50],link:h[900],linkHover:h[700],linkVisited:h[600],focus:h[900]},ae={...H,primary:h[50],onPrimary:h[900],primaryHover:h[100],primaryActive:h[200],primarySubtle:h[900],secondary:e[800],onSecondary:e[200],secondaryHover:e[700],secondaryActive:e[600],secondarySubtle:e[900],accent:u[500],onAccent:c,accentHover:u[400],accentSubtle:u[950],borderFocus:h[50],success:a[400],onSuccess:a[950],successHover:a[300],successSubtle:a[950],warning:r[400],onWarning:r[950],warningHover:r[300],warningSubtle:r[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:o[400],onInfo:o[950],infoHover:o[300],infoSubtle:o[950],link:h[50],linkHover:h[200],linkVisited:h[300],focus:h[50]};var dr={indigo:{light:L,dark:R},blue:{light:O,dark:B},rose:{light:M,dark:Z},emerald:{light:G,dark:J},teal:{light:U,dark:X},violet:{light:q,dark:Q},amber:{light:Y,dark:ee},cyan:{light:re,dark:oe},slate:{light:te,dark:ne},gray:{light:se,dark:ae}};var Ve={none:"0","2xs":"0.125rem",xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem","4xl":"6rem","5xl":"8rem"},We={none:"0",xs:"0.125rem",sm:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem",full:"9999px"},Ke={none:"none",xs:"0 1px 2px 0 rgb(0 0 0 / 0.05)",sm:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)"},ze={"2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.25rem",xl:"1.5rem","2xl":"2rem","3xl":"2.5rem","4xl":"3rem","5xl":"4rem"},Ne={light:300,regular:400,medium:500,semibold:600,bold:700},je={none:1,tight:1.25,normal:1.5,relaxed:1.75},_e={behind:-1,base:0,dropdown:1e3,overlay:1300,modal:1400,tooltip:1600},Oe={fast:"150ms ease-out",normal:"250ms ease-out",slow:"350ms ease-out"},Be=L,Me=R,Ze={colors:Be,spacing:Ve,radius:We,shadows:Ke,fontSize:ze,fontWeight:Ne,lineHeight:je,zIndex:_e,transition:Oe},yr={...Ze,colors:Me};var gr=()=>{let t=new Error().stack||"",n=t.match(/([A-Za-z0-9_]+)\.styles\.[tj]s/);if(n?.[1])return V(n[1]);let i=t.match(/\/([A-Za-z0-9_]+)\.[tj]sx?[:\d]*\)?$/m);return i?.[1]&&i[1]!=="createStyles"?V(i[1]):"style"},Ge=(t,n)=>{let i={};for(let l in t){let f=t[l];if(f){let p=`${n}-${V(l)}`;if(typeof f=="function"){let y=Ce(ve);i[l]=(...b)=>{let P=ke(b);return y.getOrSet(P,()=>{let C=f(...b);return pe(C,`${p}-${Te(P)}`)})};}else i[l]=pe(f,p,true);}}return i},Sr=t=>{let n=gr();if(typeof t=="function"){let i=null,l;return new Proxy({},{get(f,p){let y=me();if(!y)throw new Error("createStyles: Theme context not found. Make sure you are using this inside a ThemeProvider.");return (y!==l||!i)&&(i=Ge(t(y),n),l=y),i[p]}})}return Ge(t,n)};var br=t=>{let n="";for(let l in t)n+=`${l}{${I(t[l])}}`;if(Ae(n))return `aurora-kf-${we(n)}`;let i=`aurora-kf-${$e()}`;return w(`@keyframes ${i}{${n}}`),Pe(n),i};var hr=t=>{let{fontFamily:n,src:i,fontStyle:l="normal",fontWeight:f=400,fontDisplay:p="swap",unicodeRange:y}=t,b=`font-family:"${n}";`;return b+=`src:${i};`,b+=`font-style:${l};`,b+=`font-weight:${f};`,b+=`font-display:${p};`,y&&(b+=`unicode-range:${y};`),De(b)||(w(`@font-face{${b}}`),Le(b)),n};var Je=(t,n)=>{let i="";for(let l in t){let f=t[l],p=`--${n}-${D(l)}`;f&&typeof f=="object"?i+=Je(f,`${n}-${D(l)}`):f!=null&&(i+=`${p}:${f};`);}return i},vr=(t,n="theme")=>{let i=Je(t,n);w(`:root{${i}}`);},xr=(t,n)=>{let i=`--theme-${t.replace(/\./g,"-")}`;return n?`var(${i}, ${n})`:`var(${i})`},Hr=(t,n={})=>{let{prefix:i="",inject:l=false}=n,f={},p="";for(let y in t){let b=D(y),P=i?`--${i}-${b}`:`--${b}`;f[y]=`var(${P})`,l&&(p+=`${P}:${t[y]};`);}return l&&p&&w(`:root{${p}}`),f};var Ue=()=>de().join(""),kr=()=>{let t=Ue();return t?`<style id="aurora-styles">${t}</style>`:""},Tr=()=>{Re();},Cr=()=>[...de()];export{nr as ThemeProvider,r as amber,ee as amberDark,Y as amberLight,fr as black,o as blue,B as blueDark,O as blueLight,Tr as clearSSRRules,pr as colors,Sr as createStyles,Ie as createTheme,lr as createThemeVariant,xr as cssVar,Hr as cssVariables,mr as current,d as cyan,oe as cyanDark,re as cyanLight,Be as defaultColors,Me as defaultDarkColors,yr as defaultDarkTheme,ze as defaultFontSize,Ne as defaultFontWeight,je as defaultLineHeight,We as defaultRadius,Ke as defaultShadows,Ve as defaultSpacing,Ze as defaultTheme,Oe as defaultTransition,_e as defaultZIndex,v as emerald,J as emeraldDark,G as emeraldLight,hr as fontFace,_ as fuchsia,Cr as getSSRRulesArray,kr as getSSRStyleTag,Ue as getSSRStyles,me as getTheme,h as gray,ae as grayDark,se as grayLight,a as green,u as indigo,R as indigoDark,L as indigoLight,vr as injectCssVariables,w as insertRule,br as keyframes,N as lime,cr as mergeThemes,k as orange,dr as palettes,T as pink,A as purple,s as red,g as rose,Z as roseDark,M as roseLight,xe as sanitizeCssValue,K as setThemeContextGetter,j as sky,e as slate,ne as slateDark,te as slateLight,z as stone,S as teal,X as tealDark,U as tealLight,ur as transparent,sr as useTheme,m as violet,Q as violetDark,q as violetLight,c as white,$ as yellow};//# sourceMappingURL=index.js.map
1
+ import {createContext,useLayoutEffect,useContext}from'react';import {jsx}from'react/jsx-runtime';var He=typeof document>"u",ye=null,K=null,de=[],ke=new Map([["backgroundColor","background-color"],["borderRadius","border-radius"],["fontSize","font-size"],["fontWeight","font-weight"],["lineHeight","line-height"],["marginTop","margin-top"],["marginBottom","margin-bottom"],["marginLeft","margin-left"],["marginRight","margin-right"],["paddingTop","padding-top"],["paddingBottom","padding-bottom"],["paddingLeft","padding-left"],["paddingRight","padding-right"],["textAlign","text-align"],["justifyContent","justify-content"],["alignItems","align-items"],["flexDirection","flex-direction"],["flexWrap","flex-wrap"],["boxShadow","box-shadow"],["zIndex","z-index"]]),me=new Map,V=new Set,pe=new Set,ge=new Set,Te=0,ir=new Set(["animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex","zoom"]),Ce=100;if(!He){let r=document.getElementById("aurora-styles");if(r)K=r.sheet;else {let n=document.createElement("style");n.id="aurora-styles",document.head.appendChild(n),K=n.sheet;}}var _=r=>{let n=ye;return ye=r,n},be=()=>ye?.(),R=r=>{if(He)de.push(r);else if(K)try{K.insertRule(r,K.cssRules.length);}catch{}},$=r=>{let n=ke.get(r);return n||(n=r.replace(/([A-Z])/g,"-$1").toLowerCase(),ke.set(r,n)),n},N=r=>r.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase(),sr=/expression\s*\(|javascript\s*:|data\s*:\s*text\/html|behavior\s*:|@import|<\s*\/?\s*style/i,we=r=>{let n=r.replace(/\0/g,"");return sr.test(n)?(cr&&console.warn(`[Aurora] Potentially dangerous CSS value blocked: "${r.slice(0,50)}..."`),"unset"):n},cr=typeof process<"u"&&process.env?.NODE_ENV!=="production",De=(r,n)=>typeof n=="number"&&!ir.has(r)?`${n}px`:we(String(n)),M=r=>{let n=[];for(let a in r){let c=r[a];c!=null&&typeof c!="object"&&n.push(`${$(a)}:${De(a,c)}`);}return n.join(";")+(n.length?";":"")};var Pe=r=>{let n=r.length;if(n<=4){let a="";for(let c=0;c<n;c++){let f=r[c],p=typeof f;if(f===void 0)a+=c?"|u":"u";else if(f===null)a+=c?"|n":"n";else if(p==="string"||p==="number"||p==="boolean")a+=c?"|"+f:String(f);else return JSON.stringify(r)}return a}return JSON.stringify(r)},Le=r=>{if(r==="true"||r==="false"||/^-?\d+$/.test(r))return r;if(/^[a-z][a-z0-9]*$/i.test(r))return N(r);let n=5381;for(let a=0;a<r.length;a++)n=(n<<5)+n^r.charCodeAt(a);return (n>>>0).toString(36)},Re=r=>{let n=new Map;return {getOrSet(a,c){let f=n.get(a);if(f!==void 0)return n.delete(a),n.set(a,f),f;let p=c();if(n.size>=r){let b=n.keys().next().value;b!==void 0&&n.delete(b);}return n.set(a,p),p}}},Ae=r=>{let n=JSON.stringify(r),a=5381;for(let c=0;c<n.length;c++)a=(a<<5)+a^n.charCodeAt(c);return (a>>>0).toString(36)},$e=r=>{let n=5381;for(let a=0;a<r.length;a++)n=(n<<5)+n^r.charCodeAt(a);return (n>>>0).toString(36)},lr=r=>{if(!V.has(r))return V.add(r),r;let n=2,a=`${r}-${n}`;for(;V.has(a);)a=`${r}-${++n}`;return V.add(a),a},Se=(r,n,a=false)=>{if(a){let b=Ae(r),S=me.get(b);if(S)return S}let c=lr(n),f=[],p=[];for(let b in r){let S=r[b],D=b[0];if(D==="@"){let w=M(S);w&&p.push(`${b}{.${c}{${w}}}`);}else if(D==="&"){let w=M(S);if(w){let L=b.replace(/&/g,`.${c}`);p.push(`${L}{${w}}`);}}else if(D===":"){let w=M(S);w&&p.push(`.${c}${b}{${w}}`);}else S!=null&&typeof S!="object"&&f.push(`${$(b)}:${De(b,S)}`);}f.length&&R(`.${c}{${f.join(";")}}`);for(let b of p)R(b);return a&&me.set(Ae(r),c),c},Ee=r=>pe.has(r),Ie=r=>{pe.add(r);},Fe=()=>(++Te).toString(36),We=r=>ge.has(r),Ve=r=>{ge.add(r);},ve=()=>de,Ke=()=>{de=[],me.clear(),V.clear(),pe.clear(),ge.clear(),Te=0;};var Me=createContext(void 0),mr=({theme:r,children:n})=>{let a=_(()=>r);return useLayoutEffect(()=>()=>{_(a);},[a]),jsx(Me.Provider,{value:r,children:n})},dr=()=>{let r=useContext(Me);if(!r)throw new Error("useTheme must be used within a ThemeProvider");return r};var Ne=r=>{let n=JSON.stringify(r),a=5381;for(let c=0;c<n.length;c++)a=(a<<5)+a^n.charCodeAt(c);return (a>>>0).toString(36)},z=new Map,gr=50;var he=(r,n)=>{let a={...r};for(let c in n){let f=n[c],p=r[c];f!==void 0&&typeof f=="object"&&f!==null&&!Array.isArray(f)&&typeof p=="object"&&p!==null?a[c]=he(p,f):f!==void 0&&(a[c]=f);}return a},ze=(r,n)=>{let a=`${Ne(r)}_${Ne(n)}`,c=z.get(a);if(c)return c;let f=he(r,n);if(z.size>=gr){let p=z.keys().next().value;p&&z.delete(p);}return z.set(a,f),f},br=(r,...n)=>n.reduce((a,c)=>he(a,c),r),Sr=r=>n=>ze(n,r);var g={25:"#fcfcfc",50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"};var e={25:"#fcfcfd",50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"};var j={25:"#fcfcfb",50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"};var i={25:"#fffbfb",50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"};var x={25:"#fffcfa",50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"};var o={25:"#fffdfb",50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"};var P={25:"#fefef9",50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"};var O={25:"#fbfef8",50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"};var s={25:"#f6fef9",50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"};var A={25:"#f5fefc",50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"};var d={25:"#f4fefe",50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"};var u={25:"#f3fefe",50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"};var k={25:"#f5faff",50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"};var t={25:"#f5f8ff",50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"};var y={25:"#f5f7ff",50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"};var m={25:"#f8f5ff",50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"};var h={25:"#faf5ff",50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"};var B={25:"#fef5ff",50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"};var H={25:"#fef5f9",50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"};var v={25:"#fff5f6",50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"};var l="#ffffff",vr="#000000",hr="transparent",xr="currentColor",kr={gray:g,slate:e,stone:j,red:i,orange:x,amber:o,yellow:P,lime:O,green:s,emerald:A,teal:d,cyan:u,sky:k,blue:t,indigo:y,violet:m,purple:h,fuchsia:B,pink:H,rose:v,white:"#ffffff",black:"#000000",transparent:"transparent",current:"currentColor"};var T={background:e[25],surface:l,surfaceHover:e[100],surfaceActive:e[200],elevated:l,overlay:"rgba(15, 23, 42, 0.6)",text:e[800],textSecondary:e[500],textTertiary:e[400],textInverse:l,border:e[200],borderHover:e[300],borderSubtle:e[100],disabled:e[300],disabledText:e[400]},C={background:e[900],surface:e[800],surfaceHover:e[700],surfaceActive:e[600],elevated:e[700],overlay:"rgba(0, 0, 0, 0.7)",text:e[100],textSecondary:e[400],textTertiary:e[500],textInverse:e[900],border:e[600],borderHover:e[500],borderSubtle:e[700],disabled:e[600],disabledText:e[500]};var E={...T,primary:y[600],onPrimary:l,primaryHover:y[700],primaryActive:y[800],primarySubtle:y[50],primaryDisabled:y[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:h[600],onTertiary:l,tertiaryHover:h[700],tertiaryActive:h[800],tertiarySubtle:h[50],tertiaryDisabled:h[300],accent:u[500],onAccent:l,accentHover:u[600],accentActive:u[700],accentSubtle:u[50],borderFocus:y[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:y[600],linkHover:y[700],linkActive:y[800],linkVisited:m[700],focus:y[500]},I={...C,primary:y[400],onPrimary:y[950],primaryHover:y[300],primaryActive:y[500],primarySubtle:y[950],primaryDisabled:y[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:h[400],onTertiary:h[950],tertiaryHover:h[300],tertiaryActive:h[500],tertiarySubtle:h[950],tertiaryDisabled:h[700],accent:u[400],onAccent:u[950],accentHover:u[300],accentActive:u[500],accentSubtle:u[950],borderFocus:y[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:y[400],linkHover:y[300],linkActive:y[500],linkVisited:m[400],focus:y[400]};var G={...T,primary:t[600],onPrimary:l,primaryHover:t[700],primaryActive:t[800],primarySubtle:t[50],primaryDisabled:t[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:k[500],onTertiary:l,tertiaryHover:k[600],tertiaryActive:k[700],tertiarySubtle:k[50],tertiaryDisabled:k[300],accent:u[500],onAccent:l,accentHover:u[600],accentActive:u[700],accentSubtle:u[50],borderFocus:t[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:t[600],linkHover:t[700],linkActive:t[800],linkVisited:m[700],focus:t[500]},Z={...C,primary:t[400],onPrimary:t[950],primaryHover:t[300],primaryActive:t[500],primarySubtle:t[950],primaryDisabled:t[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:k[400],onTertiary:k[950],tertiaryHover:k[300],tertiaryActive:k[500],tertiarySubtle:k[950],tertiaryDisabled:k[700],accent:u[400],onAccent:u[950],accentHover:u[300],accentActive:u[500],accentSubtle:u[950],borderFocus:t[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:t[400],linkHover:t[300],linkActive:t[500],linkVisited:m[400],focus:t[400]};var q={...T,primary:v[600],onPrimary:l,primaryHover:v[700],primaryActive:v[800],primarySubtle:v[50],primaryDisabled:v[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:H[500],onTertiary:l,tertiaryHover:H[600],tertiaryActive:H[700],tertiarySubtle:H[50],tertiaryDisabled:H[300],accent:m[600],onAccent:l,accentHover:m[700],accentActive:m[800],accentSubtle:m[50],borderFocus:v[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:v[600],linkHover:v[700],linkActive:v[800],linkVisited:h[700],focus:v[500]},J={...C,primary:v[400],onPrimary:v[950],primaryHover:v[300],primaryActive:v[500],primarySubtle:v[950],primaryDisabled:v[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:H[400],onTertiary:H[950],tertiaryHover:H[300],tertiaryActive:H[500],tertiarySubtle:H[950],tertiaryDisabled:H[700],accent:m[400],onAccent:m[950],accentHover:m[300],accentActive:m[500],accentSubtle:m[950],borderFocus:v[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:v[400],linkHover:v[300],linkActive:v[500],linkVisited:h[400],focus:v[400]};var U={...T,primary:A[600],onPrimary:l,primaryHover:A[700],primaryActive:A[800],primarySubtle:A[50],primaryDisabled:A[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:d[500],onTertiary:l,tertiaryHover:d[600],tertiaryActive:d[700],tertiarySubtle:d[50],tertiaryDisabled:d[300],accent:o[500],onAccent:o[950],accentHover:o[600],accentActive:o[700],accentSubtle:o[50],borderFocus:A[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:A[600],linkHover:A[700],linkActive:A[800],linkVisited:d[700],focus:A[500]},X={...C,primary:A[400],onPrimary:A[950],primaryHover:A[300],primaryActive:A[500],primarySubtle:A[950],primaryDisabled:A[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:d[400],onTertiary:d[950],tertiaryHover:d[300],tertiaryActive:d[500],tertiarySubtle:d[950],tertiaryDisabled:d[700],accent:o[400],onAccent:o[950],accentHover:o[300],accentActive:o[500],accentSubtle:o[950],borderFocus:A[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:A[400],linkHover:A[300],linkActive:A[500],linkVisited:d[400],focus:A[400]};var Q={...T,primary:d[600],onPrimary:l,primaryHover:d[700],primaryActive:d[800],primarySubtle:d[50],primaryDisabled:d[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:u[500],onTertiary:l,tertiaryHover:u[600],tertiaryActive:u[700],tertiarySubtle:u[50],tertiaryDisabled:u[300],accent:x[500],onAccent:l,accentHover:x[600],accentActive:x[700],accentSubtle:x[50],borderFocus:d[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:d[600],linkHover:d[700],linkActive:d[800],linkVisited:u[700],focus:d[500]},Y={...C,primary:d[400],onPrimary:d[950],primaryHover:d[300],primaryActive:d[500],primarySubtle:d[950],primaryDisabled:d[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:u[400],onTertiary:u[950],tertiaryHover:u[300],tertiaryActive:u[500],tertiarySubtle:u[950],tertiaryDisabled:u[700],accent:x[400],onAccent:x[950],accentHover:x[300],accentActive:x[500],accentSubtle:x[950],borderFocus:d[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:d[400],linkHover:d[300],linkActive:d[500],linkVisited:u[400],focus:d[400]};var ee={...T,primary:m[600],onPrimary:l,primaryHover:m[700],primaryActive:m[800],primarySubtle:m[50],primaryDisabled:m[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:h[500],onTertiary:l,tertiaryHover:h[600],tertiaryActive:h[700],tertiarySubtle:h[50],tertiaryDisabled:h[300],accent:H[500],onAccent:l,accentHover:H[600],accentActive:H[700],accentSubtle:H[50],borderFocus:m[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:m[600],linkHover:m[700],linkActive:m[800],linkVisited:h[700],focus:m[500]},re={...C,primary:m[400],onPrimary:m[950],primaryHover:m[300],primaryActive:m[500],primarySubtle:m[950],primaryDisabled:m[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:h[400],onTertiary:h[950],tertiaryHover:h[300],tertiaryActive:h[500],tertiarySubtle:h[950],tertiaryDisabled:h[700],accent:H[400],onAccent:H[950],accentHover:H[300],accentActive:H[500],accentSubtle:H[950],borderFocus:m[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:m[400],linkHover:m[300],linkActive:m[500],linkVisited:h[400],focus:m[400]};var te={...T,primary:o[500],onPrimary:o[950],primaryHover:o[600],primaryActive:o[700],primarySubtle:o[50],primaryDisabled:o[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:x[500],onTertiary:l,tertiaryHover:x[600],tertiaryActive:x[700],tertiarySubtle:x[50],tertiaryDisabled:x[300],accent:y[600],onAccent:l,accentHover:y[700],accentActive:y[800],accentSubtle:y[50],borderFocus:o[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:P[500],onWarning:P[950],warningHover:P[600],warningSubtle:P[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:o[700],linkHover:o[800],linkActive:o[900],linkVisited:x[700],focus:o[500]},oe={...C,primary:o[400],onPrimary:o[950],primaryHover:o[300],primaryActive:o[500],primarySubtle:o[950],primaryDisabled:o[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:x[400],onTertiary:x[950],tertiaryHover:x[300],tertiaryActive:x[500],tertiarySubtle:x[950],tertiaryDisabled:x[700],accent:y[400],onAccent:y[950],accentHover:y[300],accentActive:y[500],accentSubtle:y[950],borderFocus:o[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:P[400],onWarning:P[950],warningHover:P[300],warningSubtle:P[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:o[400],linkHover:o[300],linkActive:o[500],linkVisited:x[400],focus:o[400]};var ne={...T,primary:u[600],onPrimary:l,primaryHover:u[700],primaryActive:u[800],primarySubtle:u[50],primaryDisabled:u[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:k[500],onTertiary:l,tertiaryHover:k[600],tertiaryActive:k[700],tertiarySubtle:k[50],tertiaryDisabled:k[300],accent:v[500],onAccent:l,accentHover:v[600],accentActive:v[700],accentSubtle:v[50],borderFocus:u[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:u[600],linkHover:u[700],linkActive:u[800],linkVisited:d[700],focus:u[500]},ae={...C,primary:u[400],onPrimary:u[950],primaryHover:u[300],primaryActive:u[500],primarySubtle:u[950],primaryDisabled:u[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:k[400],onTertiary:k[950],tertiaryHover:k[300],tertiaryActive:k[500],tertiarySubtle:k[950],tertiaryDisabled:k[700],accent:v[400],onAccent:v[950],accentHover:v[300],accentActive:v[500],accentSubtle:v[950],borderFocus:u[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:u[400],linkHover:u[300],linkActive:u[500],linkVisited:d[400],focus:u[400]};var ie={...T,primary:e[700],onPrimary:l,primaryHover:e[800],primaryActive:e[900],primarySubtle:e[100],primaryDisabled:e[400],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:e[600],onTertiary:l,tertiaryHover:e[700],tertiaryActive:e[800],tertiarySubtle:e[100],tertiaryDisabled:e[400],accent:t[600],onAccent:l,accentHover:t[700],accentActive:t[800],accentSubtle:t[50],borderFocus:t[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:t[600],linkHover:t[700],linkActive:t[800],linkVisited:y[700],focus:t[500]},se={...C,primary:e[200],onPrimary:e[900],primaryHover:e[100],primaryActive:e[300],primarySubtle:e[900],primaryDisabled:e[600],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:e[400],onTertiary:e[950],tertiaryHover:e[300],tertiaryActive:e[500],tertiarySubtle:e[900],tertiaryDisabled:e[600],accent:t[400],onAccent:t[950],accentHover:t[300],accentActive:t[500],accentSubtle:t[950],borderFocus:t[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:t[400],linkHover:t[300],linkActive:t[500],linkVisited:y[400],focus:t[400]};var ce={...T,primary:g[800],onPrimary:l,primaryHover:g[900],primaryActive:g[950],primarySubtle:g[100],primaryDisabled:g[400],secondary:g[100],onSecondary:g[700],secondaryHover:g[200],secondaryActive:g[300],secondarySubtle:g[50],secondaryDisabled:g[100],tertiary:g[600],onTertiary:l,tertiaryHover:g[700],tertiaryActive:g[800],tertiarySubtle:g[100],tertiaryDisabled:g[400],accent:y[600],onAccent:l,accentHover:y[700],accentActive:y[800],accentSubtle:y[50],borderFocus:y[500],success:s[600],onSuccess:l,successHover:s[700],successSubtle:s[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:i[500],onError:l,errorHover:i[600],errorSubtle:i[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:y[600],linkHover:y[700],linkActive:y[800],linkVisited:m[700],focus:y[500]},le={...C,primary:g[100],onPrimary:g[900],primaryHover:g[50],primaryActive:g[200],primarySubtle:g[900],primaryDisabled:g[600],secondary:g[700],onSecondary:g[100],secondaryHover:g[600],secondaryActive:g[500],secondarySubtle:g[800],secondaryDisabled:g[800],tertiary:g[400],onTertiary:g[950],tertiaryHover:g[300],tertiaryActive:g[500],tertiarySubtle:g[900],tertiaryDisabled:g[600],accent:y[400],onAccent:y[950],accentHover:y[300],accentActive:y[500],accentSubtle:y[950],borderFocus:y[400],success:s[400],onSuccess:s[950],successHover:s[300],successSubtle:s[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:i[400],onError:i[950],errorHover:i[300],errorSubtle:i[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:y[400],linkHover:y[300],linkActive:y[500],linkVisited:m[400],focus:y[400]};var Ar={indigo:{light:E,dark:I},blue:{light:G,dark:Z},rose:{light:q,dark:J},emerald:{light:U,dark:X},teal:{light:Q,dark:Y},violet:{light:ee,dark:re},amber:{light:te,dark:oe},cyan:{light:ne,dark:ae},slate:{light:ie,dark:se},gray:{light:ce,dark:le}};var _e={none:"0","2xs":"0.125rem",xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem","4xl":"6rem","5xl":"8rem"},je={none:"0",xs:"0.125rem",sm:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem",full:"9999px"},Oe={none:"none",xs:"0 1px 2px 0 rgb(0 0 0 / 0.05)",sm:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",focus:"0 0 0 3px rgb(99 102 241 / 0.4)"},Be={"2xs":"0.625rem",xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.25rem",xl:"1.5rem","2xl":"2rem","3xl":"2.5rem","4xl":"3rem","5xl":"4rem"},Ge={light:300,regular:400,medium:500,semibold:600,bold:700},Ze={none:1,tight:1.25,normal:1.5,relaxed:1.75,loose:2},qe={behind:-1,base:0,dropdown:1e3,sticky:1100,overlay:1300,modal:1400,popover:1500,tooltip:1600,toast:1700},Je={fast:"150ms ease-out",normal:"250ms ease-out",slow:"350ms ease-out"},Ue={none:0,lowest:.05,low:.1,medium:.25,high:.5,higher:.75,full:1},Xe=E,Qe=I,Ye={colors:Xe,spacing:_e,radius:je,shadows:Oe,fontSize:Be,fontWeight:Ge,lineHeight:Ze,zIndex:qe,transition:Je,opacity:Ue},Hr={...Ye,colors:Qe};var Tr=()=>{let r=new Error().stack||"",n=r.match(/([A-Za-z0-9_]+)\.styles\.[tj]s/);if(n?.[1])return N(n[1]);let a=r.match(/\/([A-Za-z0-9_]+)\.[tj]sx?[:\d]*\)?$/m);return a?.[1]&&a[1]!=="createStyles"?N(a[1]):"style"},er=(r,n)=>{let a={};for(let c in r){let f=r[c];if(f){let p=`${n}-${N(c)}`;if(typeof f=="function"){let b=Re(Ce);a[c]=(...S)=>{let D=Pe(S);return b.getOrSet(D,()=>{let w=f(...S);return Se(w,`${p}-${Le(D)}`)})};}else a[c]=Se(f,p,true);}}return a},Cr=r=>{let n=Tr();if(typeof r=="function"){let a=null,c;return new Proxy({},{get(f,p){let b=be();if(!b)throw new Error("createStyles: Theme context not found. Make sure you are using this inside a ThemeProvider.");return (b!==c||!a)&&(a=er(r(b),n),c=b),a[p]}})}return er(r,n)};var wr=r=>{let n="";for(let c in r)n+=`${c}{${M(r[c])}}`;if(Ee(n))return `aurora-kf-${$e(n)}`;let a=`aurora-kf-${Fe()}`;return R(`@keyframes ${a}{${n}}`),Ie(n),a};var Dr=r=>{let{fontFamily:n,src:a,fontStyle:c="normal",fontWeight:f=400,fontDisplay:p="swap",unicodeRange:b}=r,S=`font-family:"${n}";`;return S+=`src:${a};`,S+=`font-style:${c};`,S+=`font-weight:${f};`,S+=`font-display:${p};`,b&&(S+=`unicode-range:${b};`),We(S)||(R(`@font-face{${S}}`),Ve(S)),n};var rr=(r,n)=>{let a="";for(let c in r){let f=r[c],p=`--${n}-${$(c)}`;f&&typeof f=="object"?a+=rr(f,`${n}-${$(c)}`):f!=null&&(a+=`${p}:${f};`);}return a},Pr=(r,n="theme")=>{let a=rr(r,n);R(`:root{${a}}`);},Lr=(r,n)=>{let a=`--theme-${r.replace(/\./g,"-")}`;return n?`var(${a}, ${n})`:`var(${a})`},Rr=(r,n={})=>{let{prefix:a="",inject:c=false}=n,f={},p="";for(let b in r){let S=$(b),D=a?`--${a}-${S}`:`--${S}`;f[b]=`var(${D})`,c&&(p+=`${D}:${r[b]};`);}return c&&p&&R(`:root{${p}}`),f};var tr=()=>ve().join(""),$r=()=>{let r=tr();return r?`<style id="aurora-styles">${r}</style>`:""},Er=()=>{Ke();},Ir=()=>[...ve()];var fe=r=>{let n=r.replace(/^#/,""),a=n.length===3?n.split("").map(f=>f+f).join(""):n;if(a.length!==6)return null;let c=parseInt(a,16);return isNaN(c)?null:{r:c>>16&255,g:c>>8&255,b:c&255}},xe=(r,n,a)=>{let[c,f,p]=[r,n,a].map(b=>{let S=b/255;return S<=.03928?S/12.92:Math.pow((S+.055)/1.055,2.4)});return .2126*c+.7152*f+.0722*p},F=(r,n)=>{let a=fe(r),c=fe(n);if(!a||!c)return null;let f=xe(a.r,a.g,a.b),p=xe(c.r,c.g,c.b),b=Math.max(f,p),S=Math.min(f,p);return (b+.05)/(S+.05)},Fr=(r,n,a="AA",c=false)=>{let f=F(r,n);return f===null?false:f>={AA:c?3:4.5,AAA:c?4.5:7}[a]},Wr=(r,n)=>{let a=F(r,n);return a===null?null:{colors:[r,n],ratio:Math.round(a*100)/100,passesAA:a>=4.5,passesAALarge:a>=3,passesAAA:a>=7,passesAAALarge:a>=4.5}},Vr=[["onPrimary","primary","primary/onPrimary"],["text","primarySubtle","primarySubtle/text"],["onSecondary","secondary","secondary/onSecondary"],["text","secondarySubtle","secondarySubtle/text"],["onTertiary","tertiary","tertiary/onTertiary"],["text","tertiarySubtle","tertiarySubtle/text"],["onAccent","accent","accent/onAccent"],["text","accentSubtle","accentSubtle/text"],["text","background","background/text"],["text","surface","surface/text"],["textSecondary","surface","surface/textSecondary"],["textTertiary","surface","surface/textTertiary"],["onSuccess","success","success/onSuccess"],["text","successSubtle","successSubtle/text"],["onWarning","warning","warning/onWarning"],["text","warningSubtle","warningSubtle/text"],["onError","error","error/onError"],["text","errorSubtle","errorSubtle/text"],["onInfo","info","info/onInfo"],["text","infoSubtle","infoSubtle/text"],["link","surface","surface/link"],["link","background","background/link"]],Kr=(r,n="AA")=>{let a=[],c=n==="AAA"?7:4.5,f=n==="AAA"?4.5:3;for(let[p,b,S]of Vr){let D=r.colors[p],w=r.colors[b];if(!D||!w||!D.startsWith("#")||!w.startsWith("#"))continue;let L=F(D,w);L!==null&&(L<c?a.push({pair:S,foreground:p,background:b,ratio:Math.round(L*100)/100,required:c,level:"AA"}):L<f&&a.push({pair:S,foreground:p,background:b,ratio:Math.round(L*100)/100,required:f,level:"AALarge"}));}return a},Mr=(r,n,a=4.5)=>{let c=fe(r),f=fe(n);if(!c||!f)return null;let b=xe(f.r,f.g,f.b)>.5,S=r,D=F(r,n)||0;for(let w=0;w<=100;w+=5){let L=b?(100-w)/100:(100+w)/100,or=Math.min(255,Math.max(0,Math.round(c.r*L))),nr=Math.min(255,Math.max(0,Math.round(c.g*L))),ar=Math.min(255,Math.max(0,Math.round(c.b*L))),ue=`#${or.toString(16).padStart(2,"0")}${nr.toString(16).padStart(2,"0")}${ar.toString(16).padStart(2,"0")}`,W=F(ue,n);if(W&&W>=a)return ue;W&&W>D&&(S=ue,D=W);}return D>=a?S:null};export{mr as ThemeProvider,o as amber,oe as amberDark,te as amberLight,vr as black,t as blue,Z as blueDark,G as blueLight,Wr as checkContrast,Kr as checkThemeContrast,Er as clearSSRRules,kr as colors,Cr as createStyles,ze as createTheme,Sr as createThemeVariant,Lr as cssVar,Rr as cssVariables,xr as current,u as cyan,ae as cyanDark,ne as cyanLight,Xe as defaultColors,Qe as defaultDarkColors,Hr as defaultDarkTheme,Be as defaultFontSize,Ge as defaultFontWeight,Ze as defaultLineHeight,Ue as defaultOpacity,je as defaultRadius,Oe as defaultShadows,_e as defaultSpacing,Ye as defaultTheme,Je as defaultTransition,qe as defaultZIndex,A as emerald,X as emeraldDark,U as emeraldLight,Dr as fontFace,B as fuchsia,F as getContrastRatio,Ir as getSSRRulesArray,$r as getSSRStyleTag,tr as getSSRStyles,be as getTheme,g as gray,le as grayDark,ce as grayLight,s as green,y as indigo,I as indigoDark,E as indigoLight,Pr as injectCssVariables,R as insertRule,wr as keyframes,O as lime,Fr as meetsWCAG,br as mergeThemes,x as orange,Ar as palettes,H as pink,h as purple,i as red,v as rose,J as roseDark,q as roseLight,we as sanitizeCssValue,_ as setThemeContextGetter,k as sky,e as slate,se as slateDark,ie as slateLight,j as stone,Mr as suggestContrastColor,d as teal,Y as tealDark,Q as tealLight,hr as transparent,dr as useTheme,m as violet,re as violetDark,ee as violetLight,l as white,P as yellow};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map