@aurora-ds/theme 1.4.0 → 1.6.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
@@ -2,6 +2,26 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode, CSSProperties } from 'react';
3
3
  export { CSSProperties } from 'react';
4
4
 
5
+ /**
6
+ * Responsive breakpoints for mobile-first design
7
+ * Based on common device widths
8
+ *
9
+ * - xs: Extra small devices (phones in portrait)
10
+ * - sm: Small devices (phones in landscape, small tablets)
11
+ * - md: Medium devices (tablets)
12
+ * - lg: Large devices (desktops)
13
+ * - xl: Extra large devices (large desktops)
14
+ * - 2xl: Extra extra large devices (wide screens)
15
+ */
16
+ type BaseBreakpoints = {
17
+ xs: string;
18
+ sm: string;
19
+ md: string;
20
+ lg: string;
21
+ xl: string;
22
+ '2xl': string;
23
+ };
24
+
5
25
  /**
6
26
  * Base color tokens following modern design system semantics
7
27
  */
@@ -211,6 +231,7 @@ type Theme = {
211
231
  zIndex: BaseZIndex;
212
232
  transition: BaseTransition;
213
233
  opacity: BaseOpacity;
234
+ breakpoints: BaseBreakpoints;
214
235
  };
215
236
 
216
237
  /**
@@ -241,6 +262,94 @@ type DeepPartial<T> = {
241
262
  * Type for theme overrides
242
263
  */
243
264
  type ThemeOverride<T extends Theme = Theme> = DeepPartial<T>;
265
+ /**
266
+ * Base structure for custom themes with user-defined color tokens
267
+ * Use this when you want to completely replace the default color tokens
268
+ * with your own semantic tokens
269
+ */
270
+ type CustomThemeBase<TColors extends Record<string, string>> = {
271
+ colors: TColors;
272
+ spacing: BaseSpacing;
273
+ radius: BaseRadius;
274
+ shadows: BaseShadows;
275
+ fontSize: BaseFontSize;
276
+ fontWeight: BaseFontWeight;
277
+ lineHeight: BaseLineHeight;
278
+ zIndex: BaseZIndex;
279
+ transition: BaseTransition;
280
+ opacity: BaseOpacity;
281
+ breakpoints: BaseBreakpoints;
282
+ };
283
+ /**
284
+ * Fully customizable theme where ALL token categories can be replaced
285
+ *
286
+ * @example
287
+ * ```ts
288
+ * // Define your own color tokens
289
+ * type MyColors = {
290
+ * brand: string
291
+ * brandHover: string
292
+ * surface: string
293
+ * textPrimary: string
294
+ * textSecondary: string
295
+ * }
296
+ *
297
+ * // Create your theme type
298
+ * type MyTheme = CustomTheme<MyColors>
299
+ *
300
+ * // Use with createCustomTheme()
301
+ * const myTheme = createCustomTheme<MyColors>({
302
+ * colors: {
303
+ * brand: '#007bff',
304
+ * brandHover: '#0056b3',
305
+ * surface: '#ffffff',
306
+ * textPrimary: '#212529',
307
+ * textSecondary: '#6c757d',
308
+ * },
309
+ * // ... other tokens use defaults or custom
310
+ * })
311
+ * ```
312
+ */
313
+ type CustomTheme<TColors extends Record<string, string> = Record<string, string>, TSpacing extends Record<string, string> = BaseSpacing, TRadius extends Record<string, string> = BaseRadius, TShadows extends Record<string, string> = BaseShadows, TFontSize extends Record<string, string> = BaseFontSize, TFontWeight extends Record<string, number> = BaseFontWeight, TLineHeight extends Record<string, number> = BaseLineHeight, TZIndex extends Record<string, number> = BaseZIndex, TTransition extends Record<string, string> = BaseTransition, TOpacity extends Record<string, number> = BaseOpacity, TBreakpoints extends Record<string, string> = BaseBreakpoints> = {
314
+ colors: TColors;
315
+ spacing: TSpacing;
316
+ radius: TRadius;
317
+ shadows: TShadows;
318
+ fontSize: TFontSize;
319
+ fontWeight: TFontWeight;
320
+ lineHeight: TLineHeight;
321
+ zIndex: TZIndex;
322
+ transition: TTransition;
323
+ opacity: TOpacity;
324
+ breakpoints: TBreakpoints;
325
+ };
326
+ /**
327
+ * Options for theme creation
328
+ */
329
+ type CreateThemeOptions = {
330
+ /**
331
+ * How to handle the merge of overrides with the base theme
332
+ * - 'merge': Deep merge overrides into base (default, preserves base tokens)
333
+ * - 'replace': Replace entire categories when specified in overrides
334
+ */
335
+ mode?: 'merge' | 'replace';
336
+ };
337
+ /**
338
+ * Options for custom theme creation
339
+ */
340
+ type CreateCustomThemeOptions<T> = {
341
+ /**
342
+ * Use defaults from the standard theme for non-color tokens
343
+ * If false, you must provide all tokens
344
+ * @default true
345
+ */
346
+ useDefaults?: boolean;
347
+ /**
348
+ * Partial overrides for non-color tokens
349
+ * Only used when useDefaults is true
350
+ */
351
+ overrides?: Partial<Omit<T, 'colors'>>;
352
+ };
244
353
 
245
354
  /**
246
355
  * Color scale type - 12 shades from 25 to 950
@@ -314,56 +423,6 @@ declare const ThemeProvider: <T extends Theme>({ theme, children }: ThemeProvide
314
423
  */
315
424
  declare const useTheme: <T extends Theme = Theme>() => T;
316
425
 
317
- /**
318
- * Create a theme by merging a base theme with overrides
319
- *
320
- * @example
321
- * ```ts
322
- * const myTheme = createTheme(defaultTheme, {
323
- * colors: {
324
- * primary: '#ff0000',
325
- * // Only override what you need
326
- * },
327
- * spacing: {
328
- * md: '1.5rem',
329
- * },
330
- * })
331
- * ```
332
- */
333
- declare const createTheme: <T extends Theme>(baseTheme: T, overrides: DeepPartial<T>) => T;
334
- /**
335
- * Merge multiple theme overrides into one
336
- * Later overrides take precedence
337
- *
338
- * @example
339
- * ```ts
340
- * const theme = mergeThemes(
341
- * baseTheme,
342
- * brandOverrides,
343
- * darkModeOverrides,
344
- * userPreferences
345
- * )
346
- * ```
347
- */
348
- declare const mergeThemes: <T extends Theme>(baseTheme: T, ...overrides: DeepPartial<T>[]) => T;
349
- /**
350
- * Create a theme extension factory
351
- * Useful for creating theme variants (dark mode, high contrast, etc.)
352
- *
353
- * @example
354
- * ```ts
355
- * const createDarkVariant = createThemeVariant({
356
- * colors: {
357
- * background: '#1a1a1a',
358
- * text: '#ffffff',
359
- * },
360
- * })
361
- *
362
- * const darkTheme = createDarkVariant(lightTheme)
363
- * ```
364
- */
365
- declare const createThemeVariant: <T extends Theme>(variantOverrides: DeepPartial<T>) => (baseTheme: T) => T;
366
-
367
426
  /**
368
427
  * Default spacing scale
369
428
  */
@@ -400,6 +459,10 @@ declare const defaultTransition: Theme['transition'];
400
459
  * Default opacity scale
401
460
  */
402
461
  declare const defaultOpacity: Theme['opacity'];
462
+ /**
463
+ * Default responsive breakpoints
464
+ */
465
+ declare const defaultBreakpoints: Theme['breakpoints'];
403
466
  /**
404
467
  * Default colors (using indigo palette)
405
468
  */
@@ -417,6 +480,125 @@ declare const defaultTheme: Theme;
417
480
  */
418
481
  declare const defaultDarkTheme: Theme;
419
482
 
483
+ /**
484
+ * Create a theme by merging a base theme with overrides
485
+ *
486
+ * @param baseTheme - The base theme to extend
487
+ * @param overrides - Partial overrides to apply
488
+ * @param options - Optional configuration
489
+ * @param options.mode - 'merge' (default) deep merges, 'replace' replaces entire categories
490
+ *
491
+ * @example
492
+ * ```ts
493
+ * // Default behavior: deep merge (extends existing tokens)
494
+ * const myTheme = createTheme(defaultTheme, {
495
+ * colors: {
496
+ * primary: '#ff0000',
497
+ * // Other color tokens from defaultTheme are preserved
498
+ * },
499
+ * })
500
+ *
501
+ * // Replace mode: completely replace categories
502
+ * const myTheme = createTheme(defaultTheme, {
503
+ * colors: {
504
+ * // This becomes the ENTIRE colors object
505
+ * brand: '#ff0000',
506
+ * surface: '#ffffff',
507
+ * text: '#000000',
508
+ * },
509
+ * }, { mode: 'replace' })
510
+ * ```
511
+ */
512
+ declare const createTheme: <T extends Theme>(baseTheme: T, overrides: DeepPartial<T>, options?: CreateThemeOptions) => T;
513
+ /**
514
+ * Merge multiple theme overrides into one
515
+ * Later overrides take precedence
516
+ *
517
+ * @example
518
+ * ```ts
519
+ * const theme = mergeThemes(
520
+ * baseTheme,
521
+ * brandOverrides,
522
+ * darkModeOverrides,
523
+ * userPreferences
524
+ * )
525
+ * ```
526
+ */
527
+ declare const mergeThemes: <T extends Theme>(baseTheme: T, ...overrides: DeepPartial<T>[]) => T;
528
+ /**
529
+ * Create a theme extension factory
530
+ * Useful for creating theme variants (dark mode, high contrast, etc.)
531
+ *
532
+ * @example
533
+ * ```ts
534
+ * const createDarkVariant = createThemeVariant({
535
+ * colors: {
536
+ * background: '#1a1a1a',
537
+ * text: '#ffffff',
538
+ * },
539
+ * })
540
+ *
541
+ * const darkTheme = createDarkVariant(lightTheme)
542
+ * ```
543
+ */
544
+ declare const createThemeVariant: <T extends Theme>(variantOverrides: DeepPartial<T>) => (baseTheme: T) => T;
545
+ /**
546
+ * Create a fully custom theme with your own color tokens
547
+ * This allows you to define a completely different color token structure
548
+ * without being constrained by BaseColors
549
+ *
550
+ * @param config - Full theme configuration with custom colors
551
+ *
552
+ * @example
553
+ * ```ts
554
+ * // Define your custom color tokens
555
+ * type MyBrandColors = {
556
+ * brand: string
557
+ * brandHover: string
558
+ * brandActive: string
559
+ * surface: string
560
+ * surfaceElevated: string
561
+ * textPrimary: string
562
+ * textSecondary: string
563
+ * border: string
564
+ * }
565
+ *
566
+ * // Create a theme with ONLY your color tokens
567
+ * const myTheme = createCustomTheme<MyBrandColors>({
568
+ * colors: {
569
+ * brand: '#007bff',
570
+ * brandHover: '#0056b3',
571
+ * brandActive: '#004085',
572
+ * surface: '#ffffff',
573
+ * surfaceElevated: '#f8f9fa',
574
+ * textPrimary: '#212529',
575
+ * textSecondary: '#6c757d',
576
+ * border: '#dee2e6',
577
+ * },
578
+ * // Uses defaults for other tokens, or provide your own:
579
+ * // spacing: { ... },
580
+ * // radius: { ... },
581
+ * })
582
+ *
583
+ * // TypeScript knows your theme has only YOUR color tokens:
584
+ * myTheme.colors.brand // ✅ OK
585
+ * myTheme.colors.primary // ❌ Error - doesn't exist
586
+ * ```
587
+ */
588
+ declare const createCustomTheme: <TColors extends Record<string, string>, TSpacing extends Record<string, string> = typeof defaultSpacing, TRadius extends Record<string, string> = typeof defaultRadius, TShadows extends Record<string, string> = typeof defaultShadows, TFontSize extends Record<string, string> = typeof defaultFontSize, TFontWeight extends Record<string, number> = typeof defaultFontWeight, TLineHeight extends Record<string, number> = typeof defaultLineHeight, TZIndex extends Record<string, number> = typeof defaultZIndex, TTransition extends Record<string, string> = typeof defaultTransition, TOpacity extends Record<string, number> = typeof defaultOpacity, TBreakpoints extends Record<string, string> = typeof defaultBreakpoints>(config: {
589
+ colors: TColors;
590
+ spacing?: TSpacing;
591
+ radius?: TRadius;
592
+ shadows?: TShadows;
593
+ fontSize?: TFontSize;
594
+ fontWeight?: TFontWeight;
595
+ lineHeight?: TLineHeight;
596
+ zIndex?: TZIndex;
597
+ transition?: TTransition;
598
+ opacity?: TOpacity;
599
+ breakpoints?: TBreakpoints;
600
+ }) => CustomTheme<TColors, TSpacing, TRadius, TShadows, TFontSize, TFontWeight, TLineHeight, TZIndex, TTransition, TOpacity, TBreakpoints>;
601
+
420
602
  declare const gray: ColorScale;
421
603
 
422
604
  declare const slate: ColorScale;
@@ -716,6 +898,32 @@ type FontFaceOptions = {
716
898
  * ```
717
899
  */
718
900
  declare const createStyles: <TTheme extends Theme = Theme, T extends Record<string, StyleWithPseudos | StyleFunction> = Record<string, StyleWithPseudos | StyleFunction>>(stylesOrCreator: T | ((theme: TTheme) => T)) => { [K in keyof T]: T[K] extends (...args: infer TArgs) => StyleWithPseudos ? (...args: TArgs) => string : string; };
901
+ /**
902
+ * Create a typed createStyles function pre-configured with your custom theme type.
903
+ * This eliminates the need to specify the theme type on every createStyles call.
904
+ *
905
+ * @example
906
+ * ```ts
907
+ * // 1. Define your custom theme
908
+ * type MyTheme = CustomTheme<{
909
+ * brand: string
910
+ * brandHover: string
911
+ * surface: string
912
+ * }>
913
+ *
914
+ * // 2. Create a pre-typed createStyles function (do this once)
915
+ * export const createStyles = createTypedStyles<MyTheme>()
916
+ *
917
+ * // 3. Use it everywhere without specifying the type!
918
+ * const STYLES = createStyles((theme) => ({
919
+ * button: {
920
+ * backgroundColor: theme.colors.brand, // ✅ TypeScript knows!
921
+ * // backgroundColor: theme.colors.primary, // ❌ Error - doesn't exist
922
+ * },
923
+ * }))
924
+ * ```
925
+ */
926
+ declare const createTypedStyles: <TTheme extends Record<string, unknown>>() => <T extends Record<string, StyleWithPseudos | StyleFunction>>(stylesOrCreator: T | ((theme: TTheme) => T)) => { [K in keyof T]: T[K] extends (...args: infer TArgs) => StyleWithPseudos ? (...args: TArgs) => string : string; };
719
927
 
720
928
  /**
721
929
  * Create and inject keyframes
@@ -986,4 +1194,4 @@ declare const checkThemeContrast: (theme: {
986
1194
  */
987
1195
  declare const suggestContrastColor: (foreground: string, background: string, targetRatio?: number) => string | null;
988
1196
 
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 };
1197
+ export { type BaseBreakpoints, 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 CreateCustomThemeOptions, type CreateThemeOptions, type CustomTheme, type CustomThemeBase, 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, createCustomTheme, createStyles, createTheme, createThemeVariant, createTypedStyles, cssVar, cssVariables, current, cyan, cyanDark, cyanLight, defaultBreakpoints, 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 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
1
+ import {createContext,useLayoutEffect,useContext}from'react';import {jsx}from'react/jsx-runtime';var Ie=typeof document>"u",Te=null,z=null,He=[],$e=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"]]),ke=new Map,V=new Set,Ae=new Set,Ce=new Set,We=0,cr=new Set(["animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex","zoom"]),Ee=100;if(!Ie){let r=document.getElementById("aurora-styles");if(r)z=r.sheet;else {let n=document.createElement("style");n.id="aurora-styles",document.head.appendChild(n),z=n.sheet;}}var B=r=>{let n=Te;return Te=r,n},we=()=>Te?.(),L=r=>{if(Ie)He.push(r);else if(z)try{z.insertRule(r,z.cssRules.length);}catch{}},$=r=>{let n=$e.get(r);return n||(n=r.replace(/([A-Z])/g,"-$1").toLowerCase(),$e.set(r,n)),n},O=r=>r.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase(),lr=/expression\s*\(|javascript\s*:|data\s*:\s*text\/html|behavior\s*:|@import|<\s*\/?\s*style/i,Ve=r=>{let n=r.replace(/\0/g,"");return lr.test(n)?(fr&&console.warn(`[Aurora] Potentially dangerous CSS value blocked: "${r.slice(0,50)}..."`),"unset"):n},fr=typeof process<"u"&&process.env?.NODE_ENV!=="production",ze=(r,n)=>typeof n=="number"&&!cr.has(r)?`${n}px`:Ve(String(n)),K=r=>{let n=[];for(let a in r){let i=r[a];i!=null&&typeof i!="object"&&n.push(`${$(a)}:${ze(a,i)}`);}return n.join(";")+(n.length?";":"")};var Ke=r=>{let n=r.length;if(n<=4){let a="";for(let i=0;i<n;i++){let f=r[i],y=typeof f;if(f===void 0)a+=i?"|u":"u";else if(f===null)a+=i?"|n":"n";else if(y==="string"||y==="number"||y==="boolean")a+=i?"|"+f:String(f);else return JSON.stringify(r)}return a}return JSON.stringify(r)},Oe=r=>{if(r==="true"||r==="false"||/^-?\d+$/.test(r))return r;if(/^[a-z][a-z0-9]*$/i.test(r))return O(r);let n=5381;for(let a=0;a<r.length;a++)n=(n<<5)+n^r.charCodeAt(a);return (n>>>0).toString(36)},Me=r=>{let n=new Map;return {getOrSet(a,i){let f=n.get(a);if(f!==void 0)return n.delete(a),n.set(a,f),f;let y=i();if(n.size>=r){let g=n.keys().next().value;g!==void 0&&n.delete(g);}return n.set(a,y),y}}},Fe=r=>{let n=JSON.stringify(r),a=5381;for(let i=0;i<n.length;i++)a=(a<<5)+a^n.charCodeAt(i);return (a>>>0).toString(36)},Be=r=>{let n=5381;for(let a=0;a<r.length;a++)n=(n<<5)+n^r.charCodeAt(a);return (n>>>0).toString(36)},ur=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},De=(r,n,a=false)=>{if(a){let g=Fe(r),b=ke.get(g);if(b)return b}let i=ur(n),f=[],y=[];for(let g in r){let b=r[g],D=g[0];if(D==="@"){let w=K(b);w&&y.push(`${g}{.${i}{${w}}}`);}else if(D==="&"){let w=K(b);if(w){let R=g.replace(/&/g,`.${i}`);y.push(`${R}{${w}}`);}}else if(D===":"){let w=K(b);w&&y.push(`.${i}${g}{${w}}`);}else b!=null&&typeof b!="object"&&f.push(`${$(g)}:${ze(g,b)}`);}f.length&&L(`.${i}{${f.join(";")}}`);for(let g of y)L(g);return a&&ke.set(Fe(r),i),i},Ne=r=>Ae.has(r),_e=r=>{Ae.add(r);},je=()=>(++We).toString(36),Ze=r=>Ce.has(r),Ge=r=>{Ce.add(r);},Pe=()=>He,qe=()=>{He=[],ke.clear(),V.clear(),Ae.clear(),Ce.clear(),We=0;};var Je=createContext(void 0),yr=({theme:r,children:n})=>{let a=B(()=>r);return useLayoutEffect(()=>()=>{B(a);},[a]),jsx(Je.Provider,{value:r,children:n})},gr=()=>{let r=useContext(Je);if(!r)throw new Error("useTheme must be used within a ThemeProvider");return r};var S={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 N={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 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 _={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 c={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 k={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 m={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 T={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 d={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 p={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 v={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 j={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 h={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",Sr="#000000",hr="transparent",vr="currentColor",xr={gray:S,slate:e,stone:N,red:s,orange:x,amber:o,yellow:P,lime:_,green:c,emerald:k,teal:m,cyan:u,sky:T,blue:t,indigo:d,violet:p,purple:v,fuchsia:j,pink:H,rose:h,white:"#ffffff",black:"#000000",transparent:"transparent",current:"currentColor"};var A={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 F={...A,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:v[600],onTertiary:l,tertiaryHover:v[700],tertiaryActive:v[800],tertiarySubtle:v[50],tertiaryDisabled:v[300],accent:u[500],onAccent:l,accentHover:u[600],accentActive:u[700],accentSubtle:u[50],borderFocus:d[500],success:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:d[600],linkHover:d[700],linkActive:d[800],linkVisited:p[700],focus:d[500]},I={...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:v[400],onTertiary:v[950],tertiaryHover:v[300],tertiaryActive:v[500],tertiarySubtle:v[950],tertiaryDisabled:v[700],accent:u[400],onAccent:u[950],accentHover:u[300],accentActive:u[500],accentSubtle:u[950],borderFocus:d[400],success:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:d[400],linkHover:d[300],linkActive:d[500],linkVisited:p[400],focus:d[400]};var Z={...A,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:T[500],onTertiary:l,tertiaryHover:T[600],tertiaryActive:T[700],tertiarySubtle:T[50],tertiaryDisabled:T[300],accent:u[500],onAccent:l,accentHover:u[600],accentActive:u[700],accentSubtle:u[50],borderFocus:t[500],success:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:t[600],linkHover:t[700],linkActive:t[800],linkVisited:p[700],focus:t[500]},G={...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:T[400],onTertiary:T[950],tertiaryHover:T[300],tertiaryActive:T[500],tertiarySubtle:T[950],tertiaryDisabled:T[700],accent:u[400],onAccent:u[950],accentHover:u[300],accentActive:u[500],accentSubtle:u[950],borderFocus:t[400],success:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:t[400],linkHover:t[300],linkActive:t[500],linkVisited:p[400],focus:t[400]};var q={...A,primary:h[600],onPrimary:l,primaryHover:h[700],primaryActive:h[800],primarySubtle:h[50],primaryDisabled:h[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:p[600],onAccent:l,accentHover:p[700],accentActive:p[800],accentSubtle:p[50],borderFocus:h[500],success:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:h[600],linkHover:h[700],linkActive:h[800],linkVisited:v[700],focus:h[500]},J={...C,primary:h[400],onPrimary:h[950],primaryHover:h[300],primaryActive:h[500],primarySubtle:h[950],primaryDisabled:h[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:p[400],onAccent:p[950],accentHover:p[300],accentActive:p[500],accentSubtle:p[950],borderFocus:h[400],success:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:h[400],linkHover:h[300],linkActive:h[500],linkVisited:v[400],focus:h[400]};var U={...A,primary:k[600],onPrimary:l,primaryHover:k[700],primaryActive:k[800],primarySubtle:k[50],primaryDisabled:k[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:m[500],onTertiary:l,tertiaryHover:m[600],tertiaryActive:m[700],tertiarySubtle:m[50],tertiaryDisabled:m[300],accent:o[500],onAccent:o[950],accentHover:o[600],accentActive:o[700],accentSubtle:o[50],borderFocus:k[500],success:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:k[600],linkHover:k[700],linkActive:k[800],linkVisited:m[700],focus:k[500]},X={...C,primary:k[400],onPrimary:k[950],primaryHover:k[300],primaryActive:k[500],primarySubtle:k[950],primaryDisabled:k[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:m[400],onTertiary:m[950],tertiaryHover:m[300],tertiaryActive:m[500],tertiarySubtle:m[950],tertiaryDisabled:m[700],accent:o[400],onAccent:o[950],accentHover:o[300],accentActive:o[500],accentSubtle:o[950],borderFocus:k[400],success:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:k[400],linkHover:k[300],linkActive:k[500],linkVisited:m[400],focus:k[400]};var Q={...A,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: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:m[500],success:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:m[600],linkHover:m[700],linkActive:m[800],linkVisited:u[700],focus:m[500]},Y={...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: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:m[400],success:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:m[400],linkHover:m[300],linkActive:m[500],linkVisited:u[400],focus:m[400]};var ee={...A,primary:p[600],onPrimary:l,primaryHover:p[700],primaryActive:p[800],primarySubtle:p[50],primaryDisabled:p[300],secondary:e[100],onSecondary:e[700],secondaryHover:e[200],secondaryActive:e[300],secondarySubtle:e[50],secondaryDisabled:e[100],tertiary:v[500],onTertiary:l,tertiaryHover:v[600],tertiaryActive:v[700],tertiarySubtle:v[50],tertiaryDisabled:v[300],accent:H[500],onAccent:l,accentHover:H[600],accentActive:H[700],accentSubtle:H[50],borderFocus:p[500],success:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:p[600],linkHover:p[700],linkActive:p[800],linkVisited:v[700],focus:p[500]},re={...C,primary:p[400],onPrimary:p[950],primaryHover:p[300],primaryActive:p[500],primarySubtle:p[950],primaryDisabled:p[700],secondary:e[700],onSecondary:e[100],secondaryHover:e[600],secondaryActive:e[500],secondarySubtle:e[800],secondaryDisabled:e[800],tertiary:v[400],onTertiary:v[950],tertiaryHover:v[300],tertiaryActive:v[500],tertiarySubtle:v[950],tertiaryDisabled:v[700],accent:H[400],onAccent:H[950],accentHover:H[300],accentActive:H[500],accentSubtle:H[950],borderFocus:p[400],success:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:p[400],linkHover:p[300],linkActive:p[500],linkVisited:v[400],focus:p[400]};var te={...A,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:d[600],onAccent:l,accentHover:d[700],accentActive:d[800],accentSubtle:d[50],borderFocus:o[500],success:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:P[500],onWarning:P[950],warningHover:P[600],warningSubtle:P[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[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:d[400],onAccent:d[950],accentHover:d[300],accentActive:d[500],accentSubtle:d[950],borderFocus:o[400],success:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:P[400],onWarning:P[950],warningHover:P[300],warningSubtle:P[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[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={...A,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:T[500],onTertiary:l,tertiaryHover:T[600],tertiaryActive:T[700],tertiarySubtle:T[50],tertiaryDisabled:T[300],accent:h[500],onAccent:l,accentHover:h[600],accentActive:h[700],accentSubtle:h[50],borderFocus:u[500],success:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:u[600],linkHover:u[700],linkActive:u[800],linkVisited:m[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:T[400],onTertiary:T[950],tertiaryHover:T[300],tertiaryActive:T[500],tertiarySubtle:T[950],tertiaryDisabled:T[700],accent:h[400],onAccent:h[950],accentHover:h[300],accentActive:h[500],accentSubtle:h[950],borderFocus:u[400],success:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:u[400],linkHover:u[300],linkActive:u[500],linkVisited:m[400],focus:u[400]};var ie={...A,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:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:t[600],linkHover:t[700],linkActive:t[800],linkVisited:d[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:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:t[400],linkHover:t[300],linkActive:t[500],linkVisited:d[400],focus:t[400]};var ce={...A,primary:S[800],onPrimary:l,primaryHover:S[900],primaryActive:S[950],primarySubtle:S[100],primaryDisabled:S[400],secondary:S[100],onSecondary:S[700],secondaryHover:S[200],secondaryActive:S[300],secondarySubtle:S[50],secondaryDisabled:S[100],tertiary:S[600],onTertiary:l,tertiaryHover:S[700],tertiaryActive:S[800],tertiarySubtle:S[100],tertiaryDisabled:S[400],accent:d[600],onAccent:l,accentHover:d[700],accentActive:d[800],accentSubtle:d[50],borderFocus:d[500],success:c[600],onSuccess:l,successHover:c[700],successSubtle:c[50],warning:o[500],onWarning:o[950],warningHover:o[600],warningSubtle:o[50],error:s[500],onError:l,errorHover:s[600],errorSubtle:s[50],info:t[500],onInfo:l,infoHover:t[600],infoSubtle:t[50],link:d[600],linkHover:d[700],linkActive:d[800],linkVisited:p[700],focus:d[500]},le={...C,primary:S[100],onPrimary:S[900],primaryHover:S[50],primaryActive:S[200],primarySubtle:S[900],primaryDisabled:S[600],secondary:S[700],onSecondary:S[100],secondaryHover:S[600],secondaryActive:S[500],secondarySubtle:S[800],secondaryDisabled:S[800],tertiary:S[400],onTertiary:S[950],tertiaryHover:S[300],tertiaryActive:S[500],tertiarySubtle:S[900],tertiaryDisabled:S[600],accent:d[400],onAccent:d[950],accentHover:d[300],accentActive:d[500],accentSubtle:d[950],borderFocus:d[400],success:c[400],onSuccess:c[950],successHover:c[300],successSubtle:c[950],warning:o[400],onWarning:o[950],warningHover:o[300],warningSubtle:o[950],error:s[400],onError:s[950],errorHover:s[300],errorSubtle:s[950],info:t[400],onInfo:t[950],infoHover:t[300],infoSubtle:t[950],link:d[400],linkHover:d[300],linkActive:d[500],linkVisited:p[400],focus:d[400]};var Tr={indigo:{light:F,dark:I},blue:{light:Z,dark:G},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 fe={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"},ue={none:"0",xs:"0.125rem",sm:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem",full:"9999px"},de={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)"},pe={"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"},me={light:300,regular:400,medium:500,semibold:600,bold:700},ye={none:1,tight:1.25,normal:1.5,relaxed:1.75,loose:2},ge={behind:-1,base:0,dropdown:1e3,sticky:1100,overlay:1300,modal:1400,popover:1500,tooltip:1600,toast:1700},be={fast:"150ms ease-out",normal:"250ms ease-out",slow:"350ms ease-out"},Se={none:0,lowest:.05,low:.1,medium:.25,high:.5,higher:.75,full:1},he={xs:"480px",sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},Ue=F,Xe=I,Qe={colors:Ue,spacing:fe,radius:ue,shadows:de,fontSize:pe,fontWeight:me,lineHeight:ye,zIndex:ge,transition:be,opacity:Se,breakpoints:he},kr={...Qe,colors:Xe};var Ye=r=>{let n=JSON.stringify(r),a=5381;for(let i=0;i<n.length;i++)a=(a<<5)+a^n.charCodeAt(i);return (a>>>0).toString(36)},M=new Map,Hr=50;var Re=(r,n)=>{let a={...r};for(let i in n){let f=n[i],y=r[i];f!==void 0&&typeof f=="object"&&f!==null&&!Array.isArray(f)&&typeof y=="object"&&y!==null?a[i]=Re(y,f):f!==void 0&&(a[i]=f);}return a},Ar=(r,n)=>{let a={...r};for(let i in n){let f=n[i];f!==void 0&&(a[i]=f);}return a},er=(r,n,a={})=>{let{mode:i="merge"}=a,f=`${Ye(r)}_${Ye(n)}_${i}`,y=M.get(f);if(y)return y;let g=i==="replace"?Ar(r,n):Re(r,n);if(M.size>=Hr){let b=M.keys().next().value;b&&M.delete(b);}return M.set(f,g),g},Cr=(r,...n)=>n.reduce((a,i)=>Re(a,i),r),wr=r=>n=>er(n,r),Dr=r=>({colors:r.colors,spacing:r.spacing??fe,radius:r.radius??ue,shadows:r.shadows??de,fontSize:r.fontSize??pe,fontWeight:r.fontWeight??me,lineHeight:r.lineHeight??ye,zIndex:r.zIndex??ge,transition:r.transition??be,opacity:r.opacity??Se,breakpoints:r.breakpoints??he});var Pr=()=>{let r=new Error().stack||"",n=r.match(/([A-Za-z0-9_]+)\.styles\.[tj]s/);if(n?.[1])return O(n[1]);let a=r.match(/\/([A-Za-z0-9_]+)\.[tj]sx?[:\d]*\)?$/m);return a?.[1]&&a[1]!=="createStyles"?O(a[1]):"style"},rr=(r,n)=>{let a={};for(let i in r){let f=r[i];if(f){let y=`${n}-${O(i)}`;if(typeof f=="function"){let g=Me(Ee);a[i]=(...b)=>{let D=Ke(b);return g.getOrSet(D,()=>{let w=f(...b);return De(w,`${y}-${Oe(D)}`)})};}else a[i]=De(f,y,true);}}return a},tr=r=>{let n=Pr();if(typeof r=="function"){let a=null,i;return new Proxy({},{get(f,y){let g=we();if(!g)throw new Error("createStyles: Theme context not found. Make sure you are using this inside a ThemeProvider.");return (g!==i||!a)&&(a=rr(r(g),n),i=g),a[y]}})}return rr(r,n)},Rr=()=>r=>tr(r);var Lr=r=>{let n="";for(let i in r)n+=`${i}{${K(r[i])}}`;if(Ne(n))return `aurora-kf-${Be(n)}`;let a=`aurora-kf-${je()}`;return L(`@keyframes ${a}{${n}}`),_e(n),a};var $r=r=>{let{fontFamily:n,src:a,fontStyle:i="normal",fontWeight:f=400,fontDisplay:y="swap",unicodeRange:g}=r,b=`font-family:"${n}";`;return b+=`src:${a};`,b+=`font-style:${i};`,b+=`font-weight:${f};`,b+=`font-display:${y};`,g&&(b+=`unicode-range:${g};`),Ze(b)||(L(`@font-face{${b}}`),Ge(b)),n};var or=(r,n)=>{let a="";for(let i in r){let f=r[i],y=`--${n}-${$(i)}`;f&&typeof f=="object"?a+=or(f,`${n}-${$(i)}`):f!=null&&(a+=`${y}:${f};`);}return a},Fr=(r,n="theme")=>{let a=or(r,n);L(`:root{${a}}`);},Ir=(r,n)=>{let a=`--theme-${r.replace(/\./g,"-")}`;return n?`var(${a}, ${n})`:`var(${a})`},Wr=(r,n={})=>{let{prefix:a="",inject:i=false}=n,f={},y="";for(let g in r){let b=$(g),D=a?`--${a}-${b}`:`--${b}`;f[g]=`var(${D})`,i&&(y+=`${D}:${r[g]};`);}return i&&y&&L(`:root{${y}}`),f};var nr=()=>Pe().join(""),Er=()=>{let r=nr();return r?`<style id="aurora-styles">${r}</style>`:""},Vr=()=>{qe();},zr=()=>[...Pe()];var ve=r=>{let n=r.replace(/^#/,""),a=n.length===3?n.split("").map(f=>f+f).join(""):n;if(a.length!==6)return null;let i=parseInt(a,16);return isNaN(i)?null:{r:i>>16&255,g:i>>8&255,b:i&255}},Le=(r,n,a)=>{let[i,f,y]=[r,n,a].map(g=>{let b=g/255;return b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4)});return .2126*i+.7152*f+.0722*y},W=(r,n)=>{let a=ve(r),i=ve(n);if(!a||!i)return null;let f=Le(a.r,a.g,a.b),y=Le(i.r,i.g,i.b),g=Math.max(f,y),b=Math.min(f,y);return (g+.05)/(b+.05)},Kr=(r,n,a="AA",i=false)=>{let f=W(r,n);return f===null?false:f>={AA:i?3:4.5,AAA:i?4.5:7}[a]},Or=(r,n)=>{let a=W(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}},Mr=[["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"]],Br=(r,n="AA")=>{let a=[],i=n==="AAA"?7:4.5,f=n==="AAA"?4.5:3;for(let[y,g,b]of Mr){let D=r.colors[y],w=r.colors[g];if(!D||!w||!D.startsWith("#")||!w.startsWith("#"))continue;let R=W(D,w);R!==null&&(R<i?a.push({pair:b,foreground:y,background:g,ratio:Math.round(R*100)/100,required:i,level:"AA"}):R<f&&a.push({pair:b,foreground:y,background:g,ratio:Math.round(R*100)/100,required:f,level:"AALarge"}));}return a},Nr=(r,n,a=4.5)=>{let i=ve(r),f=ve(n);if(!i||!f)return null;let g=Le(f.r,f.g,f.b)>.5,b=r,D=W(r,n)||0;for(let w=0;w<=100;w+=5){let R=g?(100-w)/100:(100+w)/100,ar=Math.min(255,Math.max(0,Math.round(i.r*R))),ir=Math.min(255,Math.max(0,Math.round(i.g*R))),sr=Math.min(255,Math.max(0,Math.round(i.b*R))),xe=`#${ar.toString(16).padStart(2,"0")}${ir.toString(16).padStart(2,"0")}${sr.toString(16).padStart(2,"0")}`,E=W(xe,n);if(E&&E>=a)return xe;E&&E>D&&(b=xe,D=E);}return D>=a?b:null};export{yr as ThemeProvider,o as amber,oe as amberDark,te as amberLight,Sr as black,t as blue,G as blueDark,Z as blueLight,Or as checkContrast,Br as checkThemeContrast,Vr as clearSSRRules,xr as colors,Dr as createCustomTheme,tr as createStyles,er as createTheme,wr as createThemeVariant,Rr as createTypedStyles,Ir as cssVar,Wr as cssVariables,vr as current,u as cyan,ae as cyanDark,ne as cyanLight,he as defaultBreakpoints,Ue as defaultColors,Xe as defaultDarkColors,kr as defaultDarkTheme,pe as defaultFontSize,me as defaultFontWeight,ye as defaultLineHeight,Se as defaultOpacity,ue as defaultRadius,de as defaultShadows,fe as defaultSpacing,Qe as defaultTheme,be as defaultTransition,ge as defaultZIndex,k as emerald,X as emeraldDark,U as emeraldLight,$r as fontFace,j as fuchsia,W as getContrastRatio,zr as getSSRRulesArray,Er as getSSRStyleTag,nr as getSSRStyles,we as getTheme,S as gray,le as grayDark,ce as grayLight,c as green,d as indigo,I as indigoDark,F as indigoLight,Fr as injectCssVariables,L as insertRule,Lr as keyframes,_ as lime,Kr as meetsWCAG,Cr as mergeThemes,x as orange,Tr as palettes,H as pink,v as purple,s as red,h as rose,J as roseDark,q as roseLight,Ve as sanitizeCssValue,B as setThemeContextGetter,T as sky,e as slate,se as slateDark,ie as slateLight,N as stone,Nr as suggestContrastColor,m as teal,Y as tealDark,Q as tealLight,hr as transparent,gr as useTheme,p as violet,re as violetDark,ee as violetLight,l as white,P as yellow};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map