@aurora-ds/theme 1.0.3

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.cjs ADDED
@@ -0,0 +1,2 @@
1
+ 'use strict';var react=require('react'),jsxRuntime=require('react/jsx-runtime');var de=typeof document>"u",te=null,I=null,se=[],ue=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"]]),ne=new Map,E=new Set,ae=new Set,ie=new Set,ye=0,Ge=new Set(["animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex","zoom"]),ge=100;if(!de){let r=document.getElementById("aurora-styles");if(r)I=r.sheet;else {let o=document.createElement("style");o.id="aurora-styles",document.head.appendChild(o),I=o.sheet;}}var z=r=>{let o=te;return te=r,o},ce=()=>te?.(),w=r=>{if(de)se.push(r);else if(I)try{I.insertRule(r,I.cssRules.length);}catch{}},D=r=>{let o=ue.get(r);return o||(o=r.replace(/([A-Z])/g,"-$1").toLowerCase(),ue.set(r,o)),o},W=r=>r.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase(),Je=/expression\s*\(|javascript\s*:|data\s*:\s*text\/html|behavior\s*:|@import|<\s*\/?\s*style/i,Se=r=>{let o=r.replace(/\0/g,"");return Je.test(o)?(Ue&&console.warn(`[Aurora] Potentially dangerous CSS value blocked: "${r.slice(0,50)}..."`),"unset"):o},Ue=typeof process<"u"&&process.env?.NODE_ENV!=="production",be=(r,o)=>typeof o=="number"&&!Ge.has(r)?`${o}px`:Se(String(o)),V=r=>{let o=[];for(let t in r){let c=r[t];c!=null&&typeof c!="object"&&o.push(`${D(t)}:${be(t,c)}`);}return o.join(";")+(o.length?";":"")};var he=r=>{let o=r.length;if(o<=4){let t="";for(let c=0;c<o;c++){let f=r[c],y=typeof f;if(f===void 0)t+=c?"|u":"u";else if(f===null)t+=c?"|n":"n";else if(y==="string"||y==="number"||y==="boolean")t+=c?"|"+f:String(f);else return JSON.stringify(r)}return t}return JSON.stringify(r)},ve=r=>{if(r==="true"||r==="false"||/^-?\d+$/.test(r))return r;if(/^[a-z][a-z0-9]*$/i.test(r))return W(r);let o=5381;for(let t=0;t<r.length;t++)o=(o<<5)+o^r.charCodeAt(t);return (o>>>0).toString(36)},xe=r=>{let o=new Map;return {getOrSet(t,c){let f=o.get(t);if(f!==void 0)return o.delete(t),o.set(t,f),f;let y=c();if(o.size>=r){let b=o.keys().next().value;b!==void 0&&o.delete(b);}return o.set(t,y),y}}},pe=r=>{let o=JSON.stringify(r),t=5381;for(let c=0;c<o.length;c++)t=(t<<5)+t^o.charCodeAt(c);return (t>>>0).toString(36)},Te=r=>{let o=5381;for(let t=0;t<r.length;t++)o=(o<<5)+o^r.charCodeAt(t);return (o>>>0).toString(36)},Xe=r=>{if(!E.has(r))return E.add(r),r;let o=2,t=`${r}-${o}`;for(;E.has(t);)t=`${r}-${++o}`;return E.add(t),t},le=(r,o,t=false)=>{if(t){let b=pe(r),v=ne.get(b);if(v)return v}let c=Xe(o),f=[],y=[];for(let b in r){let v=r[b],$=b[0];if($==="@"){let C=V(v);C&&y.push(`${b}{.${c}{${C}}}`);}else if($==="&"){let C=V(v);if(C){let Ze=b.replace(/&/g,`.${c}`);y.push(`${Ze}{${C}}`);}}else if($===":"){let C=V(v);C&&y.push(`.${c}${b}{${C}}`);}else v!=null&&typeof v!="object"&&f.push(`${D(b)}:${be(b,v)}`);}f.length&&w(`.${c}{${f.join(";")}}`);for(let b of y)w(b);return t&&ne.set(pe(r),c),c},ke=r=>ae.has(r),He=r=>{ae.add(r);},Ce=()=>(++ye).toString(36),we=r=>ie.has(r),Pe=r=>{ie.add(r);},fe=()=>se,Ae=()=>{se=[],ne.clear(),E.clear(),ae.clear(),ie.clear(),ye=0;};var $e=react.createContext(void 0),er=({theme:r,children:o})=>{let t=z(()=>r);return react.useLayoutEffect(()=>()=>{z(t);},[t]),jsxRuntime.jsx($e.Provider,{value:r,children:o})},rr=()=>{let r=react.useContext($e);if(!r)throw new Error("useTheme must be used within a ThemeProvider");return r};var Re=r=>{let o=JSON.stringify(r),t=5381;for(let c=0;c<o.length;c++)t=(t<<5)+t^o.charCodeAt(c);return (t>>>0).toString(36)},K=new Map,tr=50;var me=(r,o)=>{let t={...r};for(let c in o){let f=o[c],y=r[c];f!==void 0&&typeof f=="object"&&f!==null&&!Array.isArray(f)&&typeof y=="object"&&y!==null?t[c]=me(y,f):f!==void 0&&(t[c]=f);}return t},De=(r,o)=>{let t=`${Re(r)}_${Re(o)}`,c=K.get(t);if(c)return c;let f=me(r,o);if(K.size>=tr){let y=K.keys().next().value;y&&K.delete(y);}return K.set(t,f),f},nr=(r,...o)=>o.reduce((t,c)=>me(t,c),r),sr=r=>o=>De(o,r);var e={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 p={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 a={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 h={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 s={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 R={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 j={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 k={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 n={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 P={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 g={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 u={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 l={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 m={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 d={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 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 S={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 i="#ffffff",ar="#000000",ir="transparent",cr="currentColor",lr={gray:e,slate:p,stone:N,red:a,orange:h,amber:s,yellow:R,lime:j,green:k,emerald:n,teal:P,cyan:g,sky:u,blue:l,indigo:m,violet:d,purple:A,fuchsia:_,pink:H,rose:S,white:"#ffffff",black:"#000000",transparent:"transparent",current:"currentColor"};var x={background:i,surface:e[50],surfaceHover:e[100],surfaceActive:e[200],elevated:i,overlay:"rgba(9, 9, 11, 0.5)",text:e[950],textSecondary:e[600],textTertiary:e[400],textInverse:e[50],border:e[200],borderHover:e[300],borderSubtle:e[100],disabled:e[100],disabledText:e[400]},T={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[800],disabledText:e[600]};var L={...x,primary:m[500],onPrimary:i,primaryHover:m[600],primaryActive:m[700],primarySubtle:m[50],secondary:e[500],onSecondary:i,secondaryHover:e[600],secondaryActive:e[700],secondarySubtle:e[100],accent:g[500],onAccent:i,accentHover:g[600],accentSubtle:g[50],borderFocus:m[500],success:n[500],onSuccess:i,successHover:n[600],successSubtle:n[50],warning:h[500],onWarning:i,warningHover:h[600],warningSubtle:h[50],error:a[500],onError:i,errorHover:a[600],errorSubtle:a[50],info:l[500],onInfo:i,infoHover:l[600],infoSubtle:l[50],link:m[500],linkHover:m[600],linkVisited:d[500],focus:m[500]},F={...T,primary:m[400],onPrimary:m[950],primaryHover:m[300],primaryActive:m[500],primarySubtle:m[900],secondary:e[400],onSecondary:e[900],secondaryHover:e[300],secondaryActive:e[200],secondarySubtle:e[800],accent:g[400],onAccent:g[950],accentHover:g[300],accentSubtle:g[900],borderFocus:m[400],success:n[400],onSuccess:n[950],successHover:n[300],successSubtle:n[900],warning:h[400],onWarning:h[950],warningHover:h[300],warningSubtle:h[900],error:a[400],onError:a[950],errorHover:a[300],errorSubtle:a[900],info:l[400],onInfo:l[950],infoHover:l[300],infoSubtle:l[900],link:m[400],linkHover:m[300],linkVisited:d[400],focus:m[400]};var O={...x,primary:S[500],onPrimary:i,primaryHover:S[600],primaryActive:S[700],primarySubtle:S[50],secondary:e[500],onSecondary:i,secondaryHover:e[600],secondaryActive:e[700],secondarySubtle:e[100],accent:d[500],onAccent:i,accentHover:d[600],accentSubtle:d[50],borderFocus:S[500],success:n[500],onSuccess:i,successHover:n[600],successSubtle:n[50],warning:s[500],onWarning:i,warningHover:s[600],warningSubtle:s[50],error:a[500],onError:i,errorHover:a[600],errorSubtle:a[50],info:u[500],onInfo:i,infoHover:u[600],infoSubtle:u[50],link:S[500],linkHover:S[600],linkVisited:A[500],focus:S[500]},B={...T,primary:S[400],onPrimary:S[950],primaryHover:S[300],primaryActive:S[500],primarySubtle:S[900],secondary:e[400],onSecondary:e[900],secondaryHover:e[300],secondaryActive:e[200],secondarySubtle:e[800],accent:d[400],onAccent:d[950],accentHover:d[300],accentSubtle:d[900],borderFocus:S[400],success:n[400],onSuccess:n[950],successHover:n[300],successSubtle:n[900],warning:s[400],onWarning:s[950],warningHover:s[300],warningSubtle:s[900],error:a[400],onError:a[950],errorHover:a[300],errorSubtle:a[900],info:u[400],onInfo:u[950],infoHover:u[300],infoSubtle:u[900],link:S[400],linkHover:S[300],linkVisited:A[400],focus:S[400]};var M={...x,primary:n[500],onPrimary:i,primaryHover:n[600],primaryActive:n[700],primarySubtle:n[50],secondary:e[500],onSecondary:i,secondaryHover:e[600],secondaryActive:e[700],secondarySubtle:e[100],accent:s[500],onAccent:i,accentHover:s[600],accentSubtle:s[50],borderFocus:n[500],success:k[500],onSuccess:i,successHover:k[600],successSubtle:k[50],warning:h[500],onWarning:i,warningHover:h[600],warningSubtle:h[50],error:a[500],onError:i,errorHover:a[600],errorSubtle:a[50],info:u[500],onInfo:i,infoHover:u[600],infoSubtle:u[50],link:n[500],linkHover:n[600],linkVisited:P[500],focus:n[500]},Z={...T,primary:n[400],onPrimary:n[950],primaryHover:n[300],primaryActive:n[500],primarySubtle:n[900],secondary:e[400],onSecondary:e[900],secondaryHover:e[300],secondaryActive:e[200],secondarySubtle:e[800],accent:s[400],onAccent:s[950],accentHover:s[300],accentSubtle:s[900],borderFocus:n[400],success:k[400],onSuccess:k[950],successHover:k[300],successSubtle:k[900],warning:h[400],onWarning:h[950],warningHover:h[300],warningSubtle:h[900],error:a[400],onError:a[950],errorHover:a[300],errorSubtle:a[900],info:u[400],onInfo:u[950],infoHover:u[300],infoSubtle:u[900],link:n[400],linkHover:n[300],linkVisited:P[400],focus:n[400]};var G={...x,primary:d[500],onPrimary:i,primaryHover:d[600],primaryActive:d[700],primarySubtle:d[50],secondary:e[500],onSecondary:i,secondaryHover:e[600],secondaryActive:e[700],secondarySubtle:e[100],accent:H[500],onAccent:i,accentHover:H[600],accentSubtle:H[50],borderFocus:d[500],success:n[500],onSuccess:i,successHover:n[600],successSubtle:n[50],warning:s[500],onWarning:i,warningHover:s[600],warningSubtle:s[50],error:a[500],onError:i,errorHover:a[600],errorSubtle:a[50],info:l[500],onInfo:i,infoHover:l[600],infoSubtle:l[50],link:d[500],linkHover:d[600],linkVisited:A[500],focus:d[500]},J={...T,primary:d[400],onPrimary:d[950],primaryHover:d[300],primaryActive:d[500],primarySubtle:d[900],secondary:e[400],onSecondary:e[900],secondaryHover:e[300],secondaryActive:e[200],secondarySubtle:e[800],accent:H[400],onAccent:H[950],accentHover:H[300],accentSubtle:H[900],borderFocus:d[400],success:n[400],onSuccess:n[950],successHover:n[300],successSubtle:n[900],warning:s[400],onWarning:s[950],warningHover:s[300],warningSubtle:s[900],error:a[400],onError:a[950],errorHover:a[300],errorSubtle:a[900],info:l[400],onInfo:l[950],infoHover:l[300],infoSubtle:l[900],link:d[400],linkHover:d[300],linkVisited:A[400],focus:d[400]};var U={...x,primary:s[500],onPrimary:i,primaryHover:s[600],primaryActive:s[700],primarySubtle:s[50],secondary:e[500],onSecondary:i,secondaryHover:e[600],secondaryActive:e[700],secondarySubtle:e[100],accent:m[500],onAccent:i,accentHover:m[600],accentSubtle:m[50],borderFocus:s[500],success:n[500],onSuccess:i,successHover:n[600],successSubtle:n[50],warning:h[500],onWarning:i,warningHover:h[600],warningSubtle:h[50],error:a[500],onError:i,errorHover:a[600],errorSubtle:a[50],info:u[500],onInfo:i,infoHover:u[600],infoSubtle:u[50],link:s[600],linkHover:s[700],linkVisited:R[700],focus:s[500]},X={...T,primary:s[400],onPrimary:s[950],primaryHover:s[300],primaryActive:s[500],primarySubtle:s[900],secondary:e[400],onSecondary:e[900],secondaryHover:e[300],secondaryActive:e[200],secondarySubtle:e[800],accent:m[400],onAccent:m[950],accentHover:m[300],accentSubtle:m[900],borderFocus:s[400],success:n[400],onSuccess:n[950],successHover:n[300],successSubtle:n[900],warning:h[400],onWarning:h[950],warningHover:h[300],warningSubtle:h[900],error:a[400],onError:a[950],errorHover:a[300],errorSubtle:a[900],info:u[400],onInfo:u[950],infoHover:u[300],infoSubtle:u[900],link:s[400],linkHover:s[300],linkVisited:R[400],focus:s[400]};var q={...x,primary:g[500],onPrimary:i,primaryHover:g[600],primaryActive:g[700],primarySubtle:g[50],secondary:e[500],onSecondary:i,secondaryHover:e[600],secondaryActive:e[700],secondarySubtle:e[100],accent:S[500],onAccent:i,accentHover:S[600],accentSubtle:S[50],borderFocus:g[500],success:n[500],onSuccess:i,successHover:n[600],successSubtle:n[50],warning:s[500],onWarning:i,warningHover:s[600],warningSubtle:s[50],error:a[500],onError:i,errorHover:a[600],errorSubtle:a[50],info:l[500],onInfo:i,infoHover:l[600],infoSubtle:l[50],link:g[500],linkHover:g[600],linkVisited:P[600],focus:g[500]},Q={...T,primary:g[400],onPrimary:g[950],primaryHover:g[300],primaryActive:g[500],primarySubtle:g[900],secondary:e[400],onSecondary:e[900],secondaryHover:e[300],secondaryActive:e[200],secondarySubtle:e[800],accent:S[400],onAccent:S[950],accentHover:S[300],accentSubtle:S[900],borderFocus:g[400],success:n[400],onSuccess:n[950],successHover:n[300],successSubtle:n[900],warning:s[400],onWarning:s[950],warningHover:s[300],warningSubtle:s[900],error:a[400],onError:a[950],errorHover:a[300],errorSubtle:a[900],info:l[400],onInfo:l[950],infoHover:l[300],infoSubtle:l[900],link:g[400],linkHover:g[300],linkVisited:P[400],focus:g[400]};var Y={...x,primary:p[600],onPrimary:i,primaryHover:p[700],primaryActive:p[800],primarySubtle:p[100],secondary:p[500],onSecondary:i,secondaryHover:p[600],secondaryActive:p[700],secondarySubtle:p[100],accent:l[500],onAccent:i,accentHover:l[600],accentSubtle:l[50],borderFocus:p[600],success:n[500],onSuccess:i,successHover:n[600],successSubtle:n[50],warning:s[500],onWarning:i,warningHover:s[600],warningSubtle:s[50],error:a[500],onError:i,errorHover:a[600],errorSubtle:a[50],info:u[500],onInfo:i,infoHover:u[600],infoSubtle:u[50],link:p[700],linkHover:p[800],linkVisited:p[600],focus:p[600]},ee={...T,primary:p[300],onPrimary:p[900],primaryHover:p[200],primaryActive:p[400],primarySubtle:p[800],secondary:p[400],onSecondary:p[900],secondaryHover:p[300],secondaryActive:p[200],secondarySubtle:p[800],accent:l[400],onAccent:l[950],accentHover:l[300],accentSubtle:l[900],borderFocus:p[300],success:n[400],onSuccess:n[950],successHover:n[300],successSubtle:n[900],warning:s[400],onWarning:s[950],warningHover:s[300],warningSubtle:s[900],error:a[400],onError:a[950],errorHover:a[300],errorSubtle:a[900],info:u[400],onInfo:u[950],infoHover:u[300],infoSubtle:u[900],link:p[300],linkHover:p[200],linkVisited:p[400],focus:p[300]};var re={...x,primary:e[900],onPrimary:i,primaryHover:e[800],primaryActive:e[950],primarySubtle:e[100],secondary:e[500],onSecondary:i,secondaryHover:e[600],secondaryActive:e[700],secondarySubtle:e[100],accent:m[500],onAccent:i,accentHover:m[600],accentSubtle:m[50],borderFocus:e[900],success:n[500],onSuccess:i,successHover:n[600],successSubtle:n[50],warning:s[500],onWarning:i,warningHover:s[600],warningSubtle:s[50],error:a[500],onError:i,errorHover:a[600],errorSubtle:a[50],info:l[500],onInfo:i,infoHover:l[600],infoSubtle:l[50],link:e[900],linkHover:e[700],linkVisited:e[600],focus:e[900]},oe={...T,primary:e[50],onPrimary:e[900],primaryHover:e[100],primaryActive:e[200],primarySubtle:e[800],secondary:e[400],onSecondary:e[900],secondaryHover:e[300],secondaryActive:e[200],secondarySubtle:e[800],accent:m[400],onAccent:m[950],accentHover:m[300],accentSubtle:m[900],borderFocus:e[50],success:n[400],onSuccess:n[950],successHover:n[300],successSubtle:n[900],warning:s[400],onWarning:s[950],warningHover:s[300],warningSubtle:s[900],error:a[400],onError:a[950],errorHover:a[300],errorSubtle:a[900],info:l[400],onInfo:l[950],infoHover:l[300],infoSubtle:l[900],link:e[50],linkHover:e[200],linkVisited:e[300],focus:e[50]};var fr={indigo:{light:L,dark:F},rose:{light:O,dark:B},emerald:{light:M,dark:Z},violet:{light:G,dark:J},amber:{light:U,dark:X},cyan:{light:q,dark:Q},slate:{light:Y,dark:ee},gray:{light:re,dark:oe}};var Le={none:"0",xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem"},Fe={none:"0",xs:"0.125rem",sm:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem",full:"9999px"},Ee={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)"},Ie={xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},Ve={light:300,regular:400,medium:500,semibold:600,bold:700},We={none:1,tight:1.25,normal:1.5,relaxed:1.75},Ke={behind:-1,base:0,dropdown:1e3,overlay:1300,modal:1400,tooltip:1600},ze={fast:"150ms ease-out",normal:"250ms ease-out",slow:"350ms ease-out"},Ne=L,je=F,_e={colors:Ne,spacing:Le,radius:Fe,shadows:Ee,fontSize:Ie,fontWeight:Ve,lineHeight:We,zIndex:Ke,transition:ze},mr={..._e,colors:je};var ur=()=>{let r=new Error().stack||"",o=r.match(/([A-Za-z0-9_]+)\.styles\.[tj]s/);if(o?.[1])return W(o[1]);let t=r.match(/\/([A-Za-z0-9_]+)\.[tj]sx?[:\d]*\)?$/m);return t?.[1]&&t[1]!=="createStyles"?W(t[1]):"style"},Oe=(r,o)=>{let t={};for(let c in r){let f=r[c];if(f){let y=`${o}-${W(c)}`;if(typeof f=="function"){let b=xe(ge);t[c]=(...v)=>{let $=he(v);return b.getOrSet($,()=>{let C=f(...v);return le(C,`${y}-${ve($)}`)})};}else t[c]=le(f,y,true);}}return t},pr=r=>{let o=ur();if(typeof r=="function"){let t=null,c;return new Proxy({},{get(f,y){let b=ce();if(!b)throw new Error("createStyles: Theme context not found. Make sure you are using this inside a ThemeProvider.");return (b!==c||!t)&&(t=Oe(r(b),o),c=b),t[y]}})}return Oe(r,o)};var dr=r=>{let o="";for(let c in r)o+=`${c}{${V(r[c])}}`;if(ke(o))return `aurora-kf-${Te(o)}`;let t=`aurora-kf-${Ce()}`;return w(`@keyframes ${t}{${o}}`),He(o),t};var yr=r=>{let{fontFamily:o,src:t,fontStyle:c="normal",fontWeight:f=400,fontDisplay:y="swap",unicodeRange:b}=r,v=`font-family:"${o}";`;return v+=`src:${t};`,v+=`font-style:${c};`,v+=`font-weight:${f};`,v+=`font-display:${y};`,b&&(v+=`unicode-range:${b};`),we(v)||(w(`@font-face{${v}}`),Pe(v)),o};var Be=(r,o)=>{let t="";for(let c in r){let f=r[c],y=`--${o}-${D(c)}`;f&&typeof f=="object"?t+=Be(f,`${o}-${D(c)}`):f!=null&&(t+=`${y}:${f};`);}return t},gr=(r,o="theme")=>{let t=Be(r,o);w(`:root{${t}}`);},Sr=(r,o)=>{let t=`--theme-${r.replace(/\./g,"-")}`;return o?`var(${t}, ${o})`:`var(${t})`},br=(r,o={})=>{let{prefix:t="",inject:c=false}=o,f={},y="";for(let b in r){let v=D(b),$=t?`--${t}-${v}`:`--${v}`;f[b]=`var(${$})`,c&&(y+=`${$}:${r[b]};`);}return c&&y&&w(`:root{${y}}`),f};var Me=()=>fe().join(""),hr=()=>{let r=Me();return r?`<style id="aurora-styles">${r}</style>`:""},vr=()=>{Ae();},xr=()=>[...fe()];exports.ThemeProvider=er;exports.amber=s;exports.amberDark=X;exports.amberLight=U;exports.black=ar;exports.blue=l;exports.clearSSRRules=vr;exports.colors=lr;exports.createStyles=pr;exports.createTheme=De;exports.createThemeVariant=sr;exports.cssVar=Sr;exports.cssVariables=br;exports.current=cr;exports.cyan=g;exports.cyanDark=Q;exports.cyanLight=q;exports.defaultColors=Ne;exports.defaultDarkColors=je;exports.defaultDarkTheme=mr;exports.defaultFontSize=Ie;exports.defaultFontWeight=Ve;exports.defaultLineHeight=We;exports.defaultRadius=Fe;exports.defaultShadows=Ee;exports.defaultSpacing=Le;exports.defaultTheme=_e;exports.defaultTransition=ze;exports.defaultZIndex=Ke;exports.emerald=n;exports.emeraldDark=Z;exports.emeraldLight=M;exports.fontFace=yr;exports.fuchsia=_;exports.getSSRRulesArray=xr;exports.getSSRStyleTag=hr;exports.getSSRStyles=Me;exports.getTheme=ce;exports.gray=e;exports.grayDark=oe;exports.grayLight=re;exports.green=k;exports.indigo=m;exports.indigoDark=F;exports.indigoLight=L;exports.injectCssVariables=gr;exports.insertRule=w;exports.keyframes=dr;exports.lime=j;exports.mergeThemes=nr;exports.orange=h;exports.palettes=fr;exports.pink=H;exports.purple=A;exports.red=a;exports.rose=S;exports.roseDark=B;exports.roseLight=O;exports.sanitizeCssValue=Se;exports.setThemeContextGetter=z;exports.sky=u;exports.slate=p;exports.slateDark=ee;exports.slateLight=Y;exports.stone=N;exports.teal=P;exports.transparent=ir;exports.useTheme=rr;exports.violet=d;exports.violetDark=J;exports.violetLight=G;exports.white=i;exports.yellow=R;//# sourceMappingURL=index.cjs.map
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/styles/styleEngine.ts","../src/providers/ThemeProvider.tsx","../src/utils/theme/createTheme.ts","../src/utils/theme/colors/gray.ts","../src/utils/theme/colors/slate.ts","../src/utils/theme/colors/stone.ts","../src/utils/theme/colors/red.ts","../src/utils/theme/colors/orange.ts","../src/utils/theme/colors/amber.ts","../src/utils/theme/colors/yellow.ts","../src/utils/theme/colors/lime.ts","../src/utils/theme/colors/green.ts","../src/utils/theme/colors/emerald.ts","../src/utils/theme/colors/teal.ts","../src/utils/theme/colors/cyan.ts","../src/utils/theme/colors/sky.ts","../src/utils/theme/colors/blue.ts","../src/utils/theme/colors/indigo.ts","../src/utils/theme/colors/violet.ts","../src/utils/theme/colors/purple.ts","../src/utils/theme/colors/fuchsia.ts","../src/utils/theme/colors/pink.ts","../src/utils/theme/colors/rose.ts","../src/utils/theme/colors/index.ts","../src/utils/theme/palettes/shared.ts","../src/utils/theme/palettes/indigo.ts","../src/utils/theme/palettes/rose.ts","../src/utils/theme/palettes/emerald.ts","../src/utils/theme/palettes/violet.ts","../src/utils/theme/palettes/amber.ts","../src/utils/theme/palettes/cyan.ts","../src/utils/theme/palettes/slate.ts","../src/utils/theme/palettes/gray.ts","../src/utils/theme/palettes/index.ts","../src/utils/theme/defaultTheme.ts","../src/utils/styles/createStyles.ts","../src/utils/styles/keyframes.ts","../src/utils/styles/fontFace.ts","../src/utils/styles/cssVariables.ts","../src/utils/styles/ssr.ts"],"names":["IS_SERVER","themeContextGetter","styleSheet","ssrRules","cssKeyCache","staticStyleCache","usedClassNames","injectedKeyframes","injectedFontFaces","keyframeCounter","UNITLESS_PROPERTIES","MAX_CACHE_SIZE","existingStyle","style","setThemeContextGetter","getter","previous","getTheme","insertRule","rule","toKebabCase","key","cached","toKebabCaseClassName","name","CSS_INJECTION_PATTERNS","sanitizeCssValue","value","cleaned","__DEV__","toCssValue","objectToCss","obj","parts","createCacheKey","args","len","result","i","arg","t","cacheKeyToSuffix","hash","createLRUCache","maxSize","cache","factory","existing","firstKey","hashStyles","styles","str","hashString","getUniqueClassName","baseName","counter","generateCssClass","className","useCache","uniqueName","baseParts","specialRules","firstChar","innerCss","resolvedSelector","hasKeyframes","css","addKeyframes","getNextKeyframeId","hasFontFace","addFontFace","getSSRRulesInternal","resetState","ThemeContext","createContext","ThemeProvider","theme","children","previousGetter","useLayoutEffect","jsx","useTheme","useContext","hashObject","themeCache","MAX_THEME_CACHE_SIZE","deepMerge","target","source","sourceValue","targetValue","createTheme","baseTheme","overrides","cacheKey","mergeThemes","acc","override","createThemeVariant","variantOverrides","gray","slate","stone","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose","white","black","transparent","current","colors","neutralLight","neutralDark","indigoLight","indigoDark","roseLight","roseDark","emeraldLight","emeraldDark","violetLight","violetDark","amberLight","amberDark","cyanLight","cyanDark","slateLight","slateDark","grayLight","grayDark","palettes","defaultSpacing","defaultRadius","defaultShadows","defaultFontSize","defaultFontWeight","defaultLineHeight","defaultZIndex","defaultTransition","defaultColors","defaultDarkColors","defaultTheme","defaultDarkTheme","getComponentNameFromStack","stack","match","fileMatch","processStyles","componentName","classes","lru","resolved","createStyles","stylesOrCreator","lastTheme","_","prop","keyframes","frames","fontFace","options","fontFamily","src","fontStyle","fontWeight","fontDisplay","unicodeRange","generateCssVariables","prefix","varName","injectCssVariables","variables","cssVar","path","fallback","cssVariables","inject","cssToInject","kebabKey","getSSRStyles","getSSRStyleTag","clearSSRRules","getSSRRulesArray"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { StyleWithPseudos } from './types'\r\nimport type { Theme } from '@/types'\r\n\r\n// Environment detection (constant since it never changes)\r\nconst IS_SERVER = typeof document === 'undefined'\r\n\r\n// Global theme getter\r\nlet themeContextGetter: (() => Theme | undefined) | null = null\r\n\r\n// Stylesheet for client-side injection\r\nlet styleSheet: CSSStyleSheet | null = null\r\n\r\n// SSR buffer to collect server-side rules\r\nlet ssrRules: string[] = []\r\n\r\n// Cache for camelCase → kebab-case conversion (pre-allocated for common keys)\r\nconst cssKeyCache = new Map<string, string>([\r\n ['backgroundColor', 'background-color'],\r\n ['borderRadius', 'border-radius'],\r\n ['fontSize', 'font-size'],\r\n ['fontWeight', 'font-weight'],\r\n ['lineHeight', 'line-height'],\r\n ['marginTop', 'margin-top'],\r\n ['marginBottom', 'margin-bottom'],\r\n ['marginLeft', 'margin-left'],\r\n ['marginRight', 'margin-right'],\r\n ['paddingTop', 'padding-top'],\r\n ['paddingBottom', 'padding-bottom'],\r\n ['paddingLeft', 'padding-left'],\r\n ['paddingRight', 'padding-right'],\r\n ['textAlign', 'text-align'],\r\n ['justifyContent', 'justify-content'],\r\n ['alignItems', 'align-items'],\r\n ['flexDirection', 'flex-direction'],\r\n ['flexWrap', 'flex-wrap'],\r\n ['boxShadow', 'box-shadow'],\r\n ['zIndex', 'z-index'],\r\n])\r\n\r\n// Global cache for static styles (avoids regenerating the same styles)\r\nconst staticStyleCache = new Map<string, string>()\r\n\r\n// Set to track already used class names\r\nconst usedClassNames = new Set<string>()\r\n\r\n// Set to track already injected keyframes\r\nconst injectedKeyframes = new Set<string>()\r\n\r\n// Set to track already injected font-faces\r\nconst injectedFontFaces = new Set<string>()\r\n\r\n// Counter for unique keyframe names generation\r\nlet keyframeCounter = 0\r\n\r\n// Properties that accept unitless numbers (optimized Set)\r\nconst UNITLESS_PROPERTIES = new Set([\r\n 'animationIterationCount', 'columnCount', 'fillOpacity', 'flexGrow', 'flexShrink',\r\n 'fontWeight', 'lineHeight', 'opacity', 'order', 'orphans', 'widows', 'zIndex', 'zoom'\r\n])\r\n\r\n// Max LRU cache size for dynamic styles\r\nexport const MAX_CACHE_SIZE = 100\r\n\r\n// Initialize stylesheet (client-side only)\r\nif (!IS_SERVER) {\r\n const existingStyle = document.getElementById('aurora-styles') as HTMLStyleElement | null\r\n if (existingStyle) {\r\n styleSheet = existingStyle.sheet as CSSStyleSheet\r\n } else {\r\n const style = document.createElement('style')\r\n style.id = 'aurora-styles'\r\n document.head.appendChild(style)\r\n styleSheet = style.sheet as CSSStyleSheet\r\n }\r\n}\r\n\r\n/**\r\n * Set the theme getter\r\n */\r\nexport const setThemeContextGetter = (getter: (() => Theme | undefined) | null): (() => Theme | undefined) | null => {\r\n const previous = themeContextGetter\r\n themeContextGetter = getter\r\n return previous\r\n}\r\n\r\n/**\r\n * Get the current theme\r\n */\r\nexport const getTheme = (): Theme | undefined => {\r\n return themeContextGetter?.()\r\n}\r\n\r\n/**\r\n * Insert a CSS rule\r\n */\r\nexport const insertRule = (rule: string): void => {\r\n if (IS_SERVER) {\r\n ssrRules.push(rule)\r\n } else if (styleSheet) {\r\n try {\r\n styleSheet.insertRule(rule, styleSheet.cssRules.length)\r\n } catch {\r\n // Ignore errors (invalid rules)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Convert camelCase to kebab-case with caching\r\n */\r\nexport const toKebabCase = (key: string): string => {\r\n let cached = cssKeyCache.get(key)\r\n if (!cached) {\r\n cached = key.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n cssKeyCache.set(key, cached)\r\n }\r\n return cached\r\n}\r\n\r\n/**\r\n * Convert PascalCase/camelCase to kebab-case for class names\r\n */\r\nexport const toKebabCaseClassName = (name: string): string => {\r\n return name\r\n .replace(/([a-z])([A-Z])/g, '$1-$2')\r\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')\r\n .toLowerCase()\r\n}\r\n\r\n/**\r\n * Dangerous patterns that could be used for CSS injection attacks\r\n * - expression(): IE-specific, allows JavaScript execution\r\n * - url() with javascript:/data:: can execute scripts or embed malicious content\r\n * - behavior: IE-specific, loads external HTC files\r\n * - -moz-binding: Firefox-specific, loads XBL files\r\n * - @import: could load external malicious stylesheets\r\n * - </style>: could break out of style context\r\n */\r\nconst CSS_INJECTION_PATTERNS = /expression\\s*\\(|javascript\\s*:|data\\s*:\\s*text\\/html|behavior\\s*:|@import|<\\s*\\/?\\s*style/i\r\n\r\n/**\r\n * Sanitize a CSS value to prevent injection attacks\r\n * Returns the sanitized value or 'unset' if the value is dangerous\r\n */\r\nexport const sanitizeCssValue = (value: string): string => {\r\n // Remove any null bytes\r\n const cleaned = value.replace(/\\0/g, '')\r\n\r\n // Check for dangerous patterns\r\n if (CSS_INJECTION_PATTERNS.test(cleaned)) {\r\n if (__DEV__) {\r\n console.warn(`[Aurora] Potentially dangerous CSS value blocked: \"${value.slice(0, 50)}...\"`)\r\n }\r\n return 'unset'\r\n }\r\n\r\n return cleaned\r\n}\r\n\r\n// Development mode flag (will be tree-shaken in production)\r\nconst __DEV__ = typeof process !== 'undefined' && process.env?.NODE_ENV !== 'production'\r\n\r\n/**\r\n * Convert values to valid CSS with sanitization\r\n */\r\nexport const toCssValue = (key: string, value: unknown): string => {\r\n if (typeof value === 'number' && !UNITLESS_PROPERTIES.has(key)) {\r\n return `${value}px`\r\n }\r\n return sanitizeCssValue(String(value))\r\n}\r\n\r\n/**\r\n * Convert a styles object to CSS (simple properties only)\r\n * Optimized to avoid unnecessary allocations\r\n */\r\nexport const objectToCss = (obj: Record<string, unknown>): string => {\r\n const parts: string[] = []\r\n for (const key in obj) {\r\n const value = obj[key]\r\n if (value != null && typeof value !== 'object') {\r\n parts.push(`${toKebabCase(key)}:${toCssValue(key, value)}`)\r\n }\r\n }\r\n return parts.join(';') + (parts.length ? ';' : '')\r\n}\r\n\r\n/**\r\n * Convert an & selector to a valid CSS selector\r\n */\r\nexport const resolveAmpersandSelector = (selector: string, className: string): string => {\r\n return selector.replace(/&/g, `.${className}`)\r\n}\r\n\r\n/**\r\n * Create a cache key from arguments\r\n */\r\nexport const createCacheKey = (args: unknown[]): string => {\r\n const len = args.length\r\n if (len <= 4) {\r\n let result = ''\r\n for (let i = 0; i < len; i++) {\r\n const arg = args[i]\r\n const t = typeof arg\r\n if (arg === undefined) {\r\n result += i ? '|u' : 'u'\r\n } else if (arg === null) {\r\n result += i ? '|n' : 'n'\r\n } else if (t === 'string' || t === 'number' || t === 'boolean') {\r\n result += i ? '|' + arg : String(arg)\r\n } else {\r\n return JSON.stringify(args)\r\n }\r\n }\r\n return result\r\n }\r\n return JSON.stringify(args)\r\n}\r\n\r\n/**\r\n * Convert cacheKey to a valid CSS suffix\r\n */\r\nexport const cacheKeyToSuffix = (key: string): string => {\r\n if (key === 'true' || key === 'false' || /^-?\\d+$/.test(key)) {\r\n return key\r\n }\r\n if (/^[a-z][a-z0-9]*$/i.test(key)) {\r\n return toKebabCaseClassName(key)\r\n }\r\n let hash = 5381\r\n for (let i = 0; i < key.length; i++) {\r\n hash = ((hash << 5) + hash) ^ key.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Optimized LRU cache with O(1) deletion\r\n */\r\nexport const createLRUCache = <V>(maxSize: number): { getOrSet: (key: string, factory: () => V) => V } => {\r\n const cache = new Map<string, V>()\r\n return {\r\n getOrSet(key: string, factory: () => V): V {\r\n const existing = cache.get(key)\r\n if (existing !== undefined) {\r\n // Move to end (most recent) - O(1) with Map\r\n cache.delete(key)\r\n cache.set(key, existing)\r\n return existing\r\n }\r\n const value = factory()\r\n if (cache.size >= maxSize) {\r\n // Remove oldest (first element)\r\n const firstKey = cache.keys().next().value\r\n if (firstKey !== undefined) { cache.delete(firstKey) }\r\n }\r\n cache.set(key, value)\r\n return value\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Hash for static styles cache\r\n */\r\nexport const hashStyles = (styles: StyleWithPseudos): string => {\r\n const str = JSON.stringify(styles)\r\n let hash = 5381\r\n for (let i = 0; i < str.length; i++) {\r\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Generic hash for a string\r\n */\r\nexport const hashString = (str: string): string => {\r\n let hash = 5381\r\n for (let i = 0; i < str.length; i++) {\r\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Get a unique class name\r\n */\r\nexport const getUniqueClassName = (baseName: string): string => {\r\n if (!usedClassNames.has(baseName)) {\r\n usedClassNames.add(baseName)\r\n return baseName\r\n }\r\n let counter = 2\r\n let name = `${baseName}-${counter}`\r\n while (usedClassNames.has(name)) {\r\n name = `${baseName}-${++counter}`\r\n }\r\n usedClassNames.add(name)\r\n return name\r\n}\r\n\r\n/**\r\n * Generate a CSS class with support for complex selectors\r\n * Optimized to minimize allocations and iterations\r\n */\r\nexport const generateCssClass = (styles: StyleWithPseudos, className: string, useCache = false): string => {\r\n if (useCache) {\r\n const hash = hashStyles(styles)\r\n const cached = staticStyleCache.get(hash)\r\n if (cached) { return cached }\r\n }\r\n\r\n const uniqueName = getUniqueClassName(className)\r\n const baseParts: string[] = []\r\n const specialRules: string[] = []\r\n\r\n for (const key in styles) {\r\n const value = (styles as Record<string, unknown>)[key]\r\n const firstChar = key[0]\r\n\r\n if (firstChar === '@') {\r\n // @media, @container, @supports\r\n const innerCss = objectToCss(value as Record<string, unknown>)\r\n if (innerCss) {\r\n specialRules.push(`${key}{.${uniqueName}{${innerCss}}}`)\r\n }\r\n } else if (firstChar === '&') {\r\n // Complex selectors (& > div, &:nth-child, etc.)\r\n const innerCss = objectToCss(value as Record<string, unknown>)\r\n if (innerCss) {\r\n const resolvedSelector = key.replace(/&/g, `.${uniqueName}`)\r\n specialRules.push(`${resolvedSelector}{${innerCss}}`)\r\n }\r\n } else if (firstChar === ':') {\r\n // Pseudo-classes (:hover, :focus, etc.)\r\n const innerCss = objectToCss(value as Record<string, unknown>)\r\n if (innerCss) {\r\n specialRules.push(`.${uniqueName}${key}{${innerCss}}`)\r\n }\r\n } else if (value != null && typeof value !== 'object') {\r\n // Simple CSS properties\r\n baseParts.push(`${toKebabCase(key)}:${toCssValue(key, value)}`)\r\n }\r\n }\r\n\r\n // Inject rules\r\n if (baseParts.length) {\r\n insertRule(`.${uniqueName}{${baseParts.join(';')}}`)\r\n }\r\n for (const rule of specialRules) {\r\n insertRule(rule)\r\n }\r\n\r\n if (useCache) {\r\n staticStyleCache.set(hashStyles(styles), uniqueName)\r\n }\r\n\r\n return uniqueName\r\n}\r\n\r\n/**\r\n * Check if a keyframe already exists\r\n */\r\nexport const hasKeyframes = (css: string): boolean => {\r\n return injectedKeyframes.has(css)\r\n}\r\n\r\n/**\r\n * Add a keyframe to the registry\r\n */\r\nexport const addKeyframes = (css: string): void => {\r\n injectedKeyframes.add(css)\r\n}\r\n\r\n/**\r\n * Get the next keyframe ID\r\n */\r\nexport const getNextKeyframeId = (): string => {\r\n return (++keyframeCounter).toString(36)\r\n}\r\n\r\n/**\r\n * Check if a font-face already exists\r\n */\r\nexport const hasFontFace = (css: string): boolean => {\r\n return injectedFontFaces.has(css)\r\n}\r\n\r\n/**\r\n * Add a font-face to the registry\r\n */\r\nexport const addFontFace = (css: string): void => {\r\n injectedFontFaces.add(css)\r\n}\r\n\r\n/**\r\n * Get SSR rules\r\n */\r\nexport const getSSRRulesInternal = (): string[] => {\r\n return ssrRules\r\n}\r\n\r\n/**\r\n * Reset SSR state\r\n */\r\nexport const resetState = (): void => {\r\n ssrRules = []\r\n staticStyleCache.clear()\r\n usedClassNames.clear()\r\n injectedKeyframes.clear()\r\n injectedFontFaces.clear()\r\n keyframeCounter = 0\r\n}\r\n\r\n","import { createContext, useContext, useLayoutEffect, type ReactNode } from 'react'\r\n\r\nimport { setThemeContextGetter } from '@/utils/styles/styleEngine'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\nconst ThemeContext = createContext<Theme | undefined>(undefined)\r\n\r\nexport type ThemeProviderProps<T extends Theme = Theme> = {\r\n theme: T\r\n children?: ReactNode\r\n}\r\n\r\n/**\r\n * Theme provider component\r\n * Provides theme context to all child components\r\n *\r\n * @example\r\n * ```tsx\r\n * // With default theme\r\n * <ThemeProvider theme={defaultTheme}>\r\n * <App />\r\n * </ThemeProvider>\r\n *\r\n * // With custom extended theme\r\n * <ThemeProvider theme={myCustomTheme}>\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n */\r\nexport const ThemeProvider = <T extends Theme>({\r\n theme,\r\n children\r\n}: ThemeProviderProps<T>) => {\r\n const previousGetter = setThemeContextGetter(() => theme)\r\n\r\n useLayoutEffect(() => {\r\n return () => {\r\n setThemeContextGetter(previousGetter)\r\n }\r\n }, [previousGetter])\r\n\r\n return (\r\n <ThemeContext.Provider value={theme}>\r\n {children}\r\n </ThemeContext.Provider>\r\n )\r\n}\r\n\r\n/**\r\n * Hook to access the current theme\r\n * Use the generic parameter to get proper typing for extended themes\r\n *\r\n * @example\r\n * ```tsx\r\n * // Basic usage\r\n * const theme = useTheme()\r\n *\r\n * // With custom theme type\r\n * const theme = useTheme<MyCustomTheme>()\r\n * ```\r\n *\r\n * @throws {Error} If used outside a ThemeProvider\r\n */\r\nexport const useTheme = <T extends Theme = Theme>(): T => {\r\n const theme = useContext(ThemeContext)\r\n\r\n if (!theme) {\r\n throw new Error('useTheme must be used within a ThemeProvider')\r\n }\r\n\r\n return theme as T\r\n}\r\n\r\n","import type { Theme, DeepPartial } from '@/types'\r\n\r\n/**\r\n * Simple hash function for objects (djb2)\r\n */\r\nconst hashObject = (obj: unknown): string => {\r\n const str = JSON.stringify(obj)\r\n let hash = 5381\r\n for (let i = 0; i < str.length; i++) {\r\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i)\r\n }\r\n return (hash >>> 0).toString(36)\r\n}\r\n\r\n/**\r\n * Memoization cache for createTheme\r\n */\r\nconst themeCache = new Map<string, Theme>()\r\n\r\n/**\r\n * Maximum number of themes to cache before eviction\r\n */\r\nexport const MAX_THEME_CACHE_SIZE = 50\r\n\r\n/**\r\n * Clear the theme cache (useful for testing)\r\n */\r\nexport const clearThemeCache = (): void => {\r\n themeCache.clear()\r\n}\r\n\r\n/**\r\n * Get the current theme cache size (useful for testing)\r\n */\r\nexport const getThemeCacheSize = (): number => {\r\n return themeCache.size\r\n}\r\n\r\n/**\r\n * Deep merge two objects\r\n */\r\nconst deepMerge = <T extends Record<string, unknown>>(target: T, source: DeepPartial<T>): T => {\r\n const result = { ...target }\r\n\r\n for (const key in source) {\r\n const sourceValue = source[key]\r\n const targetValue = target[key]\r\n\r\n if (\r\n sourceValue !== undefined &&\r\n typeof sourceValue === 'object' &&\r\n sourceValue !== null &&\r\n !Array.isArray(sourceValue) &&\r\n typeof targetValue === 'object' &&\r\n targetValue !== null\r\n ) {\r\n result[key] = deepMerge(\r\n targetValue as Record<string, unknown>,\r\n sourceValue as DeepPartial<Record<string, unknown>>\r\n ) as T[Extract<keyof T, string>]\r\n } else if (sourceValue !== undefined) {\r\n result[key] = sourceValue as T[Extract<keyof T, string>]\r\n }\r\n }\r\n\r\n return result\r\n}\r\n\r\n/**\r\n * Create a theme by merging a base theme with overrides\r\n *\r\n * @example\r\n * ```ts\r\n * const myTheme = createTheme(defaultTheme, {\r\n * colors: {\r\n * primary: '#ff0000',\r\n * // Only override what you need\r\n * },\r\n * spacing: {\r\n * md: '1.5rem',\r\n * },\r\n * })\r\n * ```\r\n */\r\nexport const createTheme = <T extends Theme>(\r\n baseTheme: T,\r\n overrides: DeepPartial<T>\r\n): T => {\r\n // Create cache key from base theme reference + overrides hash\r\n const cacheKey = `${hashObject(baseTheme)}_${hashObject(overrides)}`\r\n\r\n const cached = themeCache.get(cacheKey)\r\n if (cached) {\r\n return cached as T\r\n }\r\n\r\n const result = deepMerge(baseTheme, overrides)\r\n\r\n // Evict oldest if cache is full\r\n if (themeCache.size >= MAX_THEME_CACHE_SIZE) {\r\n const firstKey = themeCache.keys().next().value\r\n if (firstKey) {themeCache.delete(firstKey)}\r\n }\r\n\r\n themeCache.set(cacheKey, result)\r\n return result\r\n}\r\n\r\n/**\r\n * Merge multiple theme overrides into one\r\n * Later overrides take precedence\r\n *\r\n * @example\r\n * ```ts\r\n * const theme = mergeThemes(\r\n * baseTheme,\r\n * brandOverrides,\r\n * darkModeOverrides,\r\n * userPreferences\r\n * )\r\n * ```\r\n */\r\nexport const mergeThemes = <T extends Theme>(\r\n baseTheme: T,\r\n ...overrides: DeepPartial<T>[]\r\n): T => {\r\n return overrides.reduce<T>(\r\n (acc, override) => deepMerge(acc, override),\r\n baseTheme\r\n )\r\n}\r\n\r\n/**\r\n * Create a theme extension factory\r\n * Useful for creating theme variants (dark mode, high contrast, etc.)\r\n *\r\n * @example\r\n * ```ts\r\n * const createDarkVariant = createThemeVariant({\r\n * colors: {\r\n * background: '#1a1a1a',\r\n * text: '#ffffff',\r\n * },\r\n * })\r\n *\r\n * const darkTheme = createDarkVariant(lightTheme)\r\n * ```\r\n */\r\nexport const createThemeVariant = <T extends Theme>(\r\n variantOverrides: DeepPartial<T>\r\n) => {\r\n return (baseTheme: T): T => createTheme(baseTheme, variantOverrides)\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const gray: ColorScale = {\r\n 25: '#fcfcfc',\r\n 50: '#fafafa',\r\n 100: '#f4f4f5',\r\n 200: '#e4e4e7',\r\n 300: '#d4d4d8',\r\n 400: '#a1a1aa',\r\n 500: '#71717a',\r\n 600: '#52525b',\r\n 700: '#3f3f46',\r\n 800: '#27272a',\r\n 900: '#18181b',\r\n 950: '#09090b',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const slate: ColorScale = {\r\n 25: '#fcfcfd',\r\n 50: '#f8fafc',\r\n 100: '#f1f5f9',\r\n 200: '#e2e8f0',\r\n 300: '#cbd5e1',\r\n 400: '#94a3b8',\r\n 500: '#64748b',\r\n 600: '#475569',\r\n 700: '#334155',\r\n 800: '#1e293b',\r\n 900: '#0f172a',\r\n 950: '#020617',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const stone: ColorScale = {\r\n 25: '#fcfcfb',\r\n 50: '#fafaf9',\r\n 100: '#f5f5f4',\r\n 200: '#e7e5e4',\r\n 300: '#d6d3d1',\r\n 400: '#a8a29e',\r\n 500: '#78716c',\r\n 600: '#57534e',\r\n 700: '#44403c',\r\n 800: '#292524',\r\n 900: '#1c1917',\r\n 950: '#0c0a09',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const red: ColorScale = {\r\n 25: '#fffbfb',\r\n 50: '#fef2f2',\r\n 100: '#fee2e2',\r\n 200: '#fecaca',\r\n 300: '#fca5a5',\r\n 400: '#f87171',\r\n 500: '#ef4444',\r\n 600: '#dc2626',\r\n 700: '#b91c1c',\r\n 800: '#991b1b',\r\n 900: '#7f1d1d',\r\n 950: '#450a0a',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const orange: ColorScale = {\r\n 25: '#fffcfa',\r\n 50: '#fff7ed',\r\n 100: '#ffedd5',\r\n 200: '#fed7aa',\r\n 300: '#fdba74',\r\n 400: '#fb923c',\r\n 500: '#f97316',\r\n 600: '#ea580c',\r\n 700: '#c2410c',\r\n 800: '#9a3412',\r\n 900: '#7c2d12',\r\n 950: '#431407',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const amber: ColorScale = {\r\n 25: '#fffdfb',\r\n 50: '#fffbeb',\r\n 100: '#fef3c7',\r\n 200: '#fde68a',\r\n 300: '#fcd34d',\r\n 400: '#fbbf24',\r\n 500: '#f59e0b',\r\n 600: '#d97706',\r\n 700: '#b45309',\r\n 800: '#92400e',\r\n 900: '#78350f',\r\n 950: '#451a03',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const yellow: ColorScale = {\r\n 25: '#fefef9',\r\n 50: '#fefce8',\r\n 100: '#fef9c3',\r\n 200: '#fef08a',\r\n 300: '#fde047',\r\n 400: '#facc15',\r\n 500: '#eab308',\r\n 600: '#ca8a04',\r\n 700: '#a16207',\r\n 800: '#854d0e',\r\n 900: '#713f12',\r\n 950: '#422006',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const lime: ColorScale = {\r\n 25: '#fbfef8',\r\n 50: '#f7fee7',\r\n 100: '#ecfccb',\r\n 200: '#d9f99d',\r\n 300: '#bef264',\r\n 400: '#a3e635',\r\n 500: '#84cc16',\r\n 600: '#65a30d',\r\n 700: '#4d7c0f',\r\n 800: '#3f6212',\r\n 900: '#365314',\r\n 950: '#1a2e05',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const green: ColorScale = {\r\n 25: '#f6fef9',\r\n 50: '#f0fdf4',\r\n 100: '#dcfce7',\r\n 200: '#bbf7d0',\r\n 300: '#86efac',\r\n 400: '#4ade80',\r\n 500: '#22c55e',\r\n 600: '#16a34a',\r\n 700: '#15803d',\r\n 800: '#166534',\r\n 900: '#14532d',\r\n 950: '#052e16',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const emerald: ColorScale = {\r\n 25: '#f5fefc',\r\n 50: '#ecfdf5',\r\n 100: '#d1fae5',\r\n 200: '#a7f3d0',\r\n 300: '#6ee7b7',\r\n 400: '#34d399',\r\n 500: '#10b981',\r\n 600: '#059669',\r\n 700: '#047857',\r\n 800: '#065f46',\r\n 900: '#064e3b',\r\n 950: '#022c22',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const teal: ColorScale = {\r\n 25: '#f4fefe',\r\n 50: '#f0fdfa',\r\n 100: '#ccfbf1',\r\n 200: '#99f6e4',\r\n 300: '#5eead4',\r\n 400: '#2dd4bf',\r\n 500: '#14b8a6',\r\n 600: '#0d9488',\r\n 700: '#0f766e',\r\n 800: '#115e59',\r\n 900: '#134e4a',\r\n 950: '#042f2e',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const cyan: ColorScale = {\r\n 25: '#f3fefe',\r\n 50: '#ecfeff',\r\n 100: '#cffafe',\r\n 200: '#a5f3fc',\r\n 300: '#67e8f9',\r\n 400: '#22d3ee',\r\n 500: '#06b6d4',\r\n 600: '#0891b2',\r\n 700: '#0e7490',\r\n 800: '#155e75',\r\n 900: '#164e63',\r\n 950: '#083344',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const sky: ColorScale = {\r\n 25: '#f5faff',\r\n 50: '#f0f9ff',\r\n 100: '#e0f2fe',\r\n 200: '#bae6fd',\r\n 300: '#7dd3fc',\r\n 400: '#38bdf8',\r\n 500: '#0ea5e9',\r\n 600: '#0284c7',\r\n 700: '#0369a1',\r\n 800: '#075985',\r\n 900: '#0c4a6e',\r\n 950: '#082f49',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const blue: ColorScale = {\r\n 25: '#f5f8ff',\r\n 50: '#eff6ff',\r\n 100: '#dbeafe',\r\n 200: '#bfdbfe',\r\n 300: '#93c5fd',\r\n 400: '#60a5fa',\r\n 500: '#3b82f6',\r\n 600: '#2563eb',\r\n 700: '#1d4ed8',\r\n 800: '#1e40af',\r\n 900: '#1e3a8a',\r\n 950: '#172554',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const indigo: ColorScale = {\r\n 25: '#f5f7ff',\r\n 50: '#eef2ff',\r\n 100: '#e0e7ff',\r\n 200: '#c7d2fe',\r\n 300: '#a5b4fc',\r\n 400: '#818cf8',\r\n 500: '#6366f1',\r\n 600: '#4f46e5',\r\n 700: '#4338ca',\r\n 800: '#3730a3',\r\n 900: '#312e81',\r\n 950: '#1e1b4b',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const violet: ColorScale = {\r\n 25: '#f8f5ff',\r\n 50: '#f5f3ff',\r\n 100: '#ede9fe',\r\n 200: '#ddd6fe',\r\n 300: '#c4b5fd',\r\n 400: '#a78bfa',\r\n 500: '#8b5cf6',\r\n 600: '#7c3aed',\r\n 700: '#6d28d9',\r\n 800: '#5b21b6',\r\n 900: '#4c1d95',\r\n 950: '#2e1065',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const purple: ColorScale = {\r\n 25: '#faf5ff',\r\n 50: '#faf5ff',\r\n 100: '#f3e8ff',\r\n 200: '#e9d5ff',\r\n 300: '#d8b4fe',\r\n 400: '#c084fc',\r\n 500: '#a855f7',\r\n 600: '#9333ea',\r\n 700: '#7e22ce',\r\n 800: '#6b21a8',\r\n 900: '#581c87',\r\n 950: '#3b0764',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const fuchsia: ColorScale = {\r\n 25: '#fef5ff',\r\n 50: '#fdf4ff',\r\n 100: '#fae8ff',\r\n 200: '#f5d0fe',\r\n 300: '#f0abfc',\r\n 400: '#e879f9',\r\n 500: '#d946ef',\r\n 600: '#c026d3',\r\n 700: '#a21caf',\r\n 800: '#86198f',\r\n 900: '#701a75',\r\n 950: '#4a044e',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const pink: ColorScale = {\r\n 25: '#fef5f9',\r\n 50: '#fdf2f8',\r\n 100: '#fce7f3',\r\n 200: '#fbcfe8',\r\n 300: '#f9a8d4',\r\n 400: '#f472b6',\r\n 500: '#ec4899',\r\n 600: '#db2777',\r\n 700: '#be185d',\r\n 800: '#9d174d',\r\n 900: '#831843',\r\n 950: '#500724',\r\n}\r\n\r\n","import type { ColorScale } from '@/types'\r\n\r\nexport const rose: ColorScale = {\r\n 25: '#fff5f6',\r\n 50: '#fff1f2',\r\n 100: '#ffe4e6',\r\n 200: '#fecdd3',\r\n 300: '#fda4af',\r\n 400: '#fb7185',\r\n 500: '#f43f5e',\r\n 600: '#e11d48',\r\n 700: '#be123c',\r\n 800: '#9f1239',\r\n 900: '#881337',\r\n 950: '#4c0519',\r\n}\r\n\r\n","/**\r\n * Color Scales - Modern color palettes with shades from 25 to 950\r\n *\r\n * @example\r\n * ```ts\r\n * import { colors, indigo, emerald } from '@aurora-ui/theme'\r\n *\r\n * colors.indigo[500] // '#6366f1'\r\n * emerald[400] // '#34d399'\r\n * ```\r\n */\r\n\r\n// Neutrals\r\nexport { gray } from './gray'\r\nexport { slate } from './slate'\r\nexport { stone } from './stone'\r\n\r\n// Colors\r\nexport { red } from './red'\r\nexport { orange } from './orange'\r\nexport { amber } from './amber'\r\nexport { yellow } from './yellow'\r\nexport { lime } from './lime'\r\nexport { green } from './green'\r\nexport { emerald } from './emerald'\r\nexport { teal } from './teal'\r\nexport { cyan } from './cyan'\r\nexport { sky } from './sky'\r\nexport { blue } from './blue'\r\nexport { indigo } from './indigo'\r\nexport { violet } from './violet'\r\nexport { purple } from './purple'\r\nexport { fuchsia } from './fuchsia'\r\nexport { pink } from './pink'\r\nexport { rose } from './rose'\r\n\r\n// Special values\r\nexport const white = '#ffffff'\r\nexport const black = '#000000'\r\nexport const transparent = 'transparent'\r\nexport const current = 'currentColor'\r\n\r\n// Import all for the colors object\r\nimport { amber } from './amber'\r\nimport { blue } from './blue'\r\nimport { cyan } from './cyan'\r\nimport { emerald } from './emerald'\r\nimport { fuchsia } from './fuchsia'\r\nimport { gray } from './gray'\r\nimport { green } from './green'\r\nimport { indigo } from './indigo'\r\nimport { lime } from './lime'\r\nimport { orange } from './orange'\r\nimport { pink } from './pink'\r\nimport { purple } from './purple'\r\nimport { red } from './red'\r\nimport { rose } from './rose'\r\nimport { sky } from './sky'\r\nimport { slate } from './slate'\r\nimport { stone } from './stone'\r\nimport { teal } from './teal'\r\nimport { violet } from './violet'\r\nimport { yellow } from './yellow'\r\n\r\n/**\r\n * All color scales organized by name\r\n */\r\nexport const colors = {\r\n // Neutrals\r\n gray,\r\n slate,\r\n stone,\r\n // Colors\r\n red,\r\n orange,\r\n amber,\r\n yellow,\r\n lime,\r\n green,\r\n emerald,\r\n teal,\r\n cyan,\r\n sky,\r\n blue,\r\n indigo,\r\n violet,\r\n purple,\r\n fuchsia,\r\n pink,\r\n rose,\r\n // Special\r\n white: '#ffffff',\r\n black: '#000000',\r\n transparent: 'transparent',\r\n current: 'currentColor',\r\n} as const\r\n\r\n","import { gray, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\n/**\r\n * Shared neutral colors for light themes\r\n */\r\nexport const neutralLight: Omit<ColorPalette,\r\n | 'primary' | 'onPrimary' | 'primaryHover' | 'primaryActive' | 'primarySubtle'\r\n | 'secondary' | 'onSecondary' | 'secondaryHover' | 'secondaryActive' | 'secondarySubtle'\r\n | 'accent' | 'onAccent' | 'accentHover' | 'accentSubtle'\r\n | 'borderFocus' | 'link' | 'linkHover' | 'linkVisited' | 'focus'\r\n | 'success' | 'onSuccess' | 'successHover' | 'successSubtle'\r\n | 'warning' | 'onWarning' | 'warningHover' | 'warningSubtle'\r\n | 'error' | 'onError' | 'errorHover' | 'errorSubtle'\r\n | 'info' | 'onInfo' | 'infoHover' | 'infoSubtle'\r\n> = {\r\n background: white,\r\n surface: gray[50],\r\n surfaceHover: gray[100],\r\n surfaceActive: gray[200],\r\n elevated: white,\r\n overlay: 'rgba(9, 9, 11, 0.5)',\r\n text: gray[950],\r\n textSecondary: gray[600],\r\n textTertiary: gray[400],\r\n textInverse: gray[50],\r\n border: gray[200],\r\n borderHover: gray[300],\r\n borderSubtle: gray[100],\r\n disabled: gray[100],\r\n disabledText: gray[400],\r\n}\r\n\r\n/**\r\n * Shared neutral colors for dark themes\r\n */\r\nexport const neutralDark: Omit<ColorPalette,\r\n | 'primary' | 'onPrimary' | 'primaryHover' | 'primaryActive' | 'primarySubtle'\r\n | 'secondary' | 'onSecondary' | 'secondaryHover' | 'secondaryActive' | 'secondarySubtle'\r\n | 'accent' | 'onAccent' | 'accentHover' | 'accentSubtle'\r\n | 'borderFocus' | 'link' | 'linkHover' | 'linkVisited' | 'focus'\r\n | 'success' | 'onSuccess' | 'successHover' | 'successSubtle'\r\n | 'warning' | 'onWarning' | 'warningHover' | 'warningSubtle'\r\n | 'error' | 'onError' | 'errorHover' | 'errorSubtle'\r\n | 'info' | 'onInfo' | 'infoHover' | 'infoSubtle'\r\n> = {\r\n background: gray[950],\r\n surface: gray[900],\r\n surfaceHover: gray[800],\r\n surfaceActive: gray[700],\r\n elevated: gray[800],\r\n overlay: 'rgba(0, 0, 0, 0.8)',\r\n text: gray[50],\r\n textSecondary: gray[400],\r\n textTertiary: gray[500],\r\n textInverse: gray[900],\r\n border: gray[800],\r\n borderHover: gray[700],\r\n borderSubtle: gray[900],\r\n disabled: gray[800],\r\n disabledText: gray[600],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { indigo, cyan, gray, emerald, orange, red, blue, violet, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\nexport const indigoLight: ColorPalette = {\r\n ...neutralLight,\r\n primary: indigo[500],\r\n onPrimary: white,\r\n primaryHover: indigo[600],\r\n primaryActive: indigo[700],\r\n primarySubtle: indigo[50],\r\n secondary: gray[500],\r\n onSecondary: white,\r\n secondaryHover: gray[600],\r\n secondaryActive: gray[700],\r\n secondarySubtle: gray[100],\r\n accent: cyan[500],\r\n onAccent: white,\r\n accentHover: cyan[600],\r\n accentSubtle: cyan[50],\r\n borderFocus: indigo[500],\r\n success: emerald[500],\r\n onSuccess: white,\r\n successHover: emerald[600],\r\n successSubtle: emerald[50],\r\n warning: orange[500],\r\n onWarning: white,\r\n warningHover: orange[600],\r\n warningSubtle: orange[50],\r\n error: red[500],\r\n onError: white,\r\n errorHover: red[600],\r\n errorSubtle: red[50],\r\n info: blue[500],\r\n onInfo: white,\r\n infoHover: blue[600],\r\n infoSubtle: blue[50],\r\n link: indigo[500],\r\n linkHover: indigo[600],\r\n linkVisited: violet[500],\r\n focus: indigo[500],\r\n}\r\n\r\nexport const indigoDark: ColorPalette = {\r\n ...neutralDark,\r\n primary: indigo[400],\r\n onPrimary: indigo[950],\r\n primaryHover: indigo[300],\r\n primaryActive: indigo[500],\r\n primarySubtle: indigo[900],\r\n secondary: gray[400],\r\n onSecondary: gray[900],\r\n secondaryHover: gray[300],\r\n secondaryActive: gray[200],\r\n secondarySubtle: gray[800],\r\n accent: cyan[400],\r\n onAccent: cyan[950],\r\n accentHover: cyan[300],\r\n accentSubtle: cyan[900],\r\n borderFocus: indigo[400],\r\n success: emerald[400],\r\n onSuccess: emerald[950],\r\n successHover: emerald[300],\r\n successSubtle: emerald[900],\r\n warning: orange[400],\r\n onWarning: orange[950],\r\n warningHover: orange[300],\r\n warningSubtle: orange[900],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[900],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[900],\r\n link: indigo[400],\r\n linkHover: indigo[300],\r\n linkVisited: violet[400],\r\n focus: indigo[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { rose, violet, gray, emerald, amber, red, sky, purple, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\nexport const roseLight: ColorPalette = {\r\n ...neutralLight,\r\n primary: rose[500],\r\n onPrimary: white,\r\n primaryHover: rose[600],\r\n primaryActive: rose[700],\r\n primarySubtle: rose[50],\r\n secondary: gray[500],\r\n onSecondary: white,\r\n secondaryHover: gray[600],\r\n secondaryActive: gray[700],\r\n secondarySubtle: gray[100],\r\n accent: violet[500],\r\n onAccent: white,\r\n accentHover: violet[600],\r\n accentSubtle: violet[50],\r\n borderFocus: rose[500],\r\n success: emerald[500],\r\n onSuccess: white,\r\n successHover: emerald[600],\r\n successSubtle: emerald[50],\r\n warning: amber[500],\r\n onWarning: white,\r\n warningHover: amber[600],\r\n warningSubtle: amber[50],\r\n error: red[500],\r\n onError: white,\r\n errorHover: red[600],\r\n errorSubtle: red[50],\r\n info: sky[500],\r\n onInfo: white,\r\n infoHover: sky[600],\r\n infoSubtle: sky[50],\r\n link: rose[500],\r\n linkHover: rose[600],\r\n linkVisited: purple[500],\r\n focus: rose[500],\r\n}\r\n\r\nexport const roseDark: ColorPalette = {\r\n ...neutralDark,\r\n primary: rose[400],\r\n onPrimary: rose[950],\r\n primaryHover: rose[300],\r\n primaryActive: rose[500],\r\n primarySubtle: rose[900],\r\n secondary: gray[400],\r\n onSecondary: gray[900],\r\n secondaryHover: gray[300],\r\n secondaryActive: gray[200],\r\n secondarySubtle: gray[800],\r\n accent: violet[400],\r\n onAccent: violet[950],\r\n accentHover: violet[300],\r\n accentSubtle: violet[900],\r\n borderFocus: rose[400],\r\n success: emerald[400],\r\n onSuccess: emerald[950],\r\n successHover: emerald[300],\r\n successSubtle: emerald[900],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[900],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[900],\r\n info: sky[400],\r\n onInfo: sky[950],\r\n infoHover: sky[300],\r\n infoSubtle: sky[900],\r\n link: rose[400],\r\n linkHover: rose[300],\r\n linkVisited: purple[400],\r\n focus: rose[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { emerald, amber, gray, green, orange, red, sky, teal, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\nexport const emeraldLight: ColorPalette = {\r\n ...neutralLight,\r\n primary: emerald[500],\r\n onPrimary: white,\r\n primaryHover: emerald[600],\r\n primaryActive: emerald[700],\r\n primarySubtle: emerald[50],\r\n secondary: gray[500],\r\n onSecondary: white,\r\n secondaryHover: gray[600],\r\n secondaryActive: gray[700],\r\n secondarySubtle: gray[100],\r\n accent: amber[500],\r\n onAccent: white,\r\n accentHover: amber[600],\r\n accentSubtle: amber[50],\r\n borderFocus: emerald[500],\r\n success: green[500],\r\n onSuccess: white,\r\n successHover: green[600],\r\n successSubtle: green[50],\r\n warning: orange[500],\r\n onWarning: white,\r\n warningHover: orange[600],\r\n warningSubtle: orange[50],\r\n error: red[500],\r\n onError: white,\r\n errorHover: red[600],\r\n errorSubtle: red[50],\r\n info: sky[500],\r\n onInfo: white,\r\n infoHover: sky[600],\r\n infoSubtle: sky[50],\r\n link: emerald[500],\r\n linkHover: emerald[600],\r\n linkVisited: teal[500],\r\n focus: emerald[500],\r\n}\r\n\r\nexport const emeraldDark: ColorPalette = {\r\n ...neutralDark,\r\n primary: emerald[400],\r\n onPrimary: emerald[950],\r\n primaryHover: emerald[300],\r\n primaryActive: emerald[500],\r\n primarySubtle: emerald[900],\r\n secondary: gray[400],\r\n onSecondary: gray[900],\r\n secondaryHover: gray[300],\r\n secondaryActive: gray[200],\r\n secondarySubtle: gray[800],\r\n accent: amber[400],\r\n onAccent: amber[950],\r\n accentHover: amber[300],\r\n accentSubtle: amber[900],\r\n borderFocus: emerald[400],\r\n success: green[400],\r\n onSuccess: green[950],\r\n successHover: green[300],\r\n successSubtle: green[900],\r\n warning: orange[400],\r\n onWarning: orange[950],\r\n warningHover: orange[300],\r\n warningSubtle: orange[900],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[900],\r\n info: sky[400],\r\n onInfo: sky[950],\r\n infoHover: sky[300],\r\n infoSubtle: sky[900],\r\n link: emerald[400],\r\n linkHover: emerald[300],\r\n linkVisited: teal[400],\r\n focus: emerald[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { violet, pink, gray, emerald, amber, red, blue, purple, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\nexport const violetLight: ColorPalette = {\r\n ...neutralLight,\r\n primary: violet[500],\r\n onPrimary: white,\r\n primaryHover: violet[600],\r\n primaryActive: violet[700],\r\n primarySubtle: violet[50],\r\n secondary: gray[500],\r\n onSecondary: white,\r\n secondaryHover: gray[600],\r\n secondaryActive: gray[700],\r\n secondarySubtle: gray[100],\r\n accent: pink[500],\r\n onAccent: white,\r\n accentHover: pink[600],\r\n accentSubtle: pink[50],\r\n borderFocus: violet[500],\r\n success: emerald[500],\r\n onSuccess: white,\r\n successHover: emerald[600],\r\n successSubtle: emerald[50],\r\n warning: amber[500],\r\n onWarning: white,\r\n warningHover: amber[600],\r\n warningSubtle: amber[50],\r\n error: red[500],\r\n onError: white,\r\n errorHover: red[600],\r\n errorSubtle: red[50],\r\n info: blue[500],\r\n onInfo: white,\r\n infoHover: blue[600],\r\n infoSubtle: blue[50],\r\n link: violet[500],\r\n linkHover: violet[600],\r\n linkVisited: purple[500],\r\n focus: violet[500],\r\n}\r\n\r\nexport const violetDark: ColorPalette = {\r\n ...neutralDark,\r\n primary: violet[400],\r\n onPrimary: violet[950],\r\n primaryHover: violet[300],\r\n primaryActive: violet[500],\r\n primarySubtle: violet[900],\r\n secondary: gray[400],\r\n onSecondary: gray[900],\r\n secondaryHover: gray[300],\r\n secondaryActive: gray[200],\r\n secondarySubtle: gray[800],\r\n accent: pink[400],\r\n onAccent: pink[950],\r\n accentHover: pink[300],\r\n accentSubtle: pink[900],\r\n borderFocus: violet[400],\r\n success: emerald[400],\r\n onSuccess: emerald[950],\r\n successHover: emerald[300],\r\n successSubtle: emerald[900],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[900],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[900],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[900],\r\n link: violet[400],\r\n linkHover: violet[300],\r\n linkVisited: purple[400],\r\n focus: violet[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { amber, indigo, gray, emerald, orange, red, sky, yellow, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\nexport const amberLight: ColorPalette = {\r\n ...neutralLight,\r\n primary: amber[500],\r\n onPrimary: white,\r\n primaryHover: amber[600],\r\n primaryActive: amber[700],\r\n primarySubtle: amber[50],\r\n secondary: gray[500],\r\n onSecondary: white,\r\n secondaryHover: gray[600],\r\n secondaryActive: gray[700],\r\n secondarySubtle: gray[100],\r\n accent: indigo[500],\r\n onAccent: white,\r\n accentHover: indigo[600],\r\n accentSubtle: indigo[50],\r\n borderFocus: amber[500],\r\n success: emerald[500],\r\n onSuccess: white,\r\n successHover: emerald[600],\r\n successSubtle: emerald[50],\r\n warning: orange[500],\r\n onWarning: white,\r\n warningHover: orange[600],\r\n warningSubtle: orange[50],\r\n error: red[500],\r\n onError: white,\r\n errorHover: red[600],\r\n errorSubtle: red[50],\r\n info: sky[500],\r\n onInfo: white,\r\n infoHover: sky[600],\r\n infoSubtle: sky[50],\r\n link: amber[600],\r\n linkHover: amber[700],\r\n linkVisited: yellow[700],\r\n focus: amber[500],\r\n}\r\n\r\nexport const amberDark: ColorPalette = {\r\n ...neutralDark,\r\n primary: amber[400],\r\n onPrimary: amber[950],\r\n primaryHover: amber[300],\r\n primaryActive: amber[500],\r\n primarySubtle: amber[900],\r\n secondary: gray[400],\r\n onSecondary: gray[900],\r\n secondaryHover: gray[300],\r\n secondaryActive: gray[200],\r\n secondarySubtle: gray[800],\r\n accent: indigo[400],\r\n onAccent: indigo[950],\r\n accentHover: indigo[300],\r\n accentSubtle: indigo[900],\r\n borderFocus: amber[400],\r\n success: emerald[400],\r\n onSuccess: emerald[950],\r\n successHover: emerald[300],\r\n successSubtle: emerald[900],\r\n warning: orange[400],\r\n onWarning: orange[950],\r\n warningHover: orange[300],\r\n warningSubtle: orange[900],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[900],\r\n info: sky[400],\r\n onInfo: sky[950],\r\n infoHover: sky[300],\r\n infoSubtle: sky[900],\r\n link: amber[400],\r\n linkHover: amber[300],\r\n linkVisited: yellow[400],\r\n focus: amber[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { cyan, rose, gray, emerald, amber, red, blue, teal, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\nexport const cyanLight: ColorPalette = {\r\n ...neutralLight,\r\n primary: cyan[500],\r\n onPrimary: white,\r\n primaryHover: cyan[600],\r\n primaryActive: cyan[700],\r\n primarySubtle: cyan[50],\r\n secondary: gray[500],\r\n onSecondary: white,\r\n secondaryHover: gray[600],\r\n secondaryActive: gray[700],\r\n secondarySubtle: gray[100],\r\n accent: rose[500],\r\n onAccent: white,\r\n accentHover: rose[600],\r\n accentSubtle: rose[50],\r\n borderFocus: cyan[500],\r\n success: emerald[500],\r\n onSuccess: white,\r\n successHover: emerald[600],\r\n successSubtle: emerald[50],\r\n warning: amber[500],\r\n onWarning: white,\r\n warningHover: amber[600],\r\n warningSubtle: amber[50],\r\n error: red[500],\r\n onError: white,\r\n errorHover: red[600],\r\n errorSubtle: red[50],\r\n info: blue[500],\r\n onInfo: white,\r\n infoHover: blue[600],\r\n infoSubtle: blue[50],\r\n link: cyan[500],\r\n linkHover: cyan[600],\r\n linkVisited: teal[600],\r\n focus: cyan[500],\r\n}\r\n\r\nexport const cyanDark: ColorPalette = {\r\n ...neutralDark,\r\n primary: cyan[400],\r\n onPrimary: cyan[950],\r\n primaryHover: cyan[300],\r\n primaryActive: cyan[500],\r\n primarySubtle: cyan[900],\r\n secondary: gray[400],\r\n onSecondary: gray[900],\r\n secondaryHover: gray[300],\r\n secondaryActive: gray[200],\r\n secondarySubtle: gray[800],\r\n accent: rose[400],\r\n onAccent: rose[950],\r\n accentHover: rose[300],\r\n accentSubtle: rose[900],\r\n borderFocus: cyan[400],\r\n success: emerald[400],\r\n onSuccess: emerald[950],\r\n successHover: emerald[300],\r\n successSubtle: emerald[900],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[900],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[900],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[900],\r\n link: cyan[400],\r\n linkHover: cyan[300],\r\n linkVisited: teal[400],\r\n focus: cyan[400],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { slate, blue, emerald, amber, red, sky, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\nexport const slateLight: ColorPalette = {\r\n ...neutralLight,\r\n primary: slate[600],\r\n onPrimary: white,\r\n primaryHover: slate[700],\r\n primaryActive: slate[800],\r\n primarySubtle: slate[100],\r\n secondary: slate[500],\r\n onSecondary: white,\r\n secondaryHover: slate[600],\r\n secondaryActive: slate[700],\r\n secondarySubtle: slate[100],\r\n accent: blue[500],\r\n onAccent: white,\r\n accentHover: blue[600],\r\n accentSubtle: blue[50],\r\n borderFocus: slate[600],\r\n success: emerald[500],\r\n onSuccess: white,\r\n successHover: emerald[600],\r\n successSubtle: emerald[50],\r\n warning: amber[500],\r\n onWarning: white,\r\n warningHover: amber[600],\r\n warningSubtle: amber[50],\r\n error: red[500],\r\n onError: white,\r\n errorHover: red[600],\r\n errorSubtle: red[50],\r\n info: sky[500],\r\n onInfo: white,\r\n infoHover: sky[600],\r\n infoSubtle: sky[50],\r\n link: slate[700],\r\n linkHover: slate[800],\r\n linkVisited: slate[600],\r\n focus: slate[600],\r\n}\r\n\r\nexport const slateDark: ColorPalette = {\r\n ...neutralDark,\r\n primary: slate[300],\r\n onPrimary: slate[900],\r\n primaryHover: slate[200],\r\n primaryActive: slate[400],\r\n primarySubtle: slate[800],\r\n secondary: slate[400],\r\n onSecondary: slate[900],\r\n secondaryHover: slate[300],\r\n secondaryActive: slate[200],\r\n secondarySubtle: slate[800],\r\n accent: blue[400],\r\n onAccent: blue[950],\r\n accentHover: blue[300],\r\n accentSubtle: blue[900],\r\n borderFocus: slate[300],\r\n success: emerald[400],\r\n onSuccess: emerald[950],\r\n successHover: emerald[300],\r\n successSubtle: emerald[900],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[900],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[900],\r\n info: sky[400],\r\n onInfo: sky[950],\r\n infoHover: sky[300],\r\n infoSubtle: sky[900],\r\n link: slate[300],\r\n linkHover: slate[200],\r\n linkVisited: slate[400],\r\n focus: slate[300],\r\n}\r\n\r\n","import { neutralDark, neutralLight } from './shared'\r\nimport { gray, indigo, emerald, amber, red, blue, white } from '../colors'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\ntype ColorPalette = Theme['colors']\r\n\r\nexport const grayLight: ColorPalette = {\r\n ...neutralLight,\r\n primary: gray[900],\r\n onPrimary: white,\r\n primaryHover: gray[800],\r\n primaryActive: gray[950],\r\n primarySubtle: gray[100],\r\n secondary: gray[500],\r\n onSecondary: white,\r\n secondaryHover: gray[600],\r\n secondaryActive: gray[700],\r\n secondarySubtle: gray[100],\r\n accent: indigo[500],\r\n onAccent: white,\r\n accentHover: indigo[600],\r\n accentSubtle: indigo[50],\r\n borderFocus: gray[900],\r\n success: emerald[500],\r\n onSuccess: white,\r\n successHover: emerald[600],\r\n successSubtle: emerald[50],\r\n warning: amber[500],\r\n onWarning: white,\r\n warningHover: amber[600],\r\n warningSubtle: amber[50],\r\n error: red[500],\r\n onError: white,\r\n errorHover: red[600],\r\n errorSubtle: red[50],\r\n info: blue[500],\r\n onInfo: white,\r\n infoHover: blue[600],\r\n infoSubtle: blue[50],\r\n link: gray[900],\r\n linkHover: gray[700],\r\n linkVisited: gray[600],\r\n focus: gray[900],\r\n}\r\n\r\nexport const grayDark: ColorPalette = {\r\n ...neutralDark,\r\n primary: gray[50],\r\n onPrimary: gray[900],\r\n primaryHover: gray[100],\r\n primaryActive: gray[200],\r\n primarySubtle: gray[800],\r\n secondary: gray[400],\r\n onSecondary: gray[900],\r\n secondaryHover: gray[300],\r\n secondaryActive: gray[200],\r\n secondarySubtle: gray[800],\r\n accent: indigo[400],\r\n onAccent: indigo[950],\r\n accentHover: indigo[300],\r\n accentSubtle: indigo[900],\r\n borderFocus: gray[50],\r\n success: emerald[400],\r\n onSuccess: emerald[950],\r\n successHover: emerald[300],\r\n successSubtle: emerald[900],\r\n warning: amber[400],\r\n onWarning: amber[950],\r\n warningHover: amber[300],\r\n warningSubtle: amber[900],\r\n error: red[400],\r\n onError: red[950],\r\n errorHover: red[300],\r\n errorSubtle: red[900],\r\n info: blue[400],\r\n onInfo: blue[950],\r\n infoHover: blue[300],\r\n infoSubtle: blue[900],\r\n link: gray[50],\r\n linkHover: gray[200],\r\n linkVisited: gray[300],\r\n focus: gray[50],\r\n}\r\n\r\n","/**\r\n * Theme Presets - Ready-to-use color palettes for themes\r\n *\r\n * @example\r\n * ```ts\r\n * import { palettes, roseLight, createTheme, defaultTheme } from '@aurora-ui/theme'\r\n *\r\n * // Use a preset directly\r\n * const roseTheme = createTheme(defaultTheme, { colors: roseLight })\r\n *\r\n * // Or via the palettes object\r\n * const theme = createTheme(defaultTheme, {\r\n * colors: palettes.emerald.light\r\n * })\r\n * ```\r\n */\r\n\r\nexport { indigoLight, indigoDark } from './indigo'\r\nexport { roseLight, roseDark } from './rose'\r\nexport { emeraldLight, emeraldDark } from './emerald'\r\nexport { violetLight, violetDark } from './violet'\r\nexport { amberLight, amberDark } from './amber'\r\nexport { cyanLight, cyanDark } from './cyan'\r\nexport { slateLight, slateDark } from './slate'\r\nexport { grayLight, grayDark } from './gray'\r\n\r\n// Import for palettes object\r\nimport { amberLight, amberDark } from './amber'\r\nimport { cyanLight, cyanDark } from './cyan'\r\nimport { emeraldLight, emeraldDark } from './emerald'\r\nimport { grayLight, grayDark } from './gray'\r\nimport { indigoLight, indigoDark } from './indigo'\r\nimport { roseLight, roseDark } from './rose'\r\nimport { slateLight, slateDark } from './slate'\r\nimport { violetLight, violetDark } from './violet'\r\n\r\n/**\r\n * All available color palettes organized by name\r\n */\r\nexport const palettes = {\r\n indigo: { light: indigoLight, dark: indigoDark },\r\n rose: { light: roseLight, dark: roseDark },\r\n emerald: { light: emeraldLight, dark: emeraldDark },\r\n violet: { light: violetLight, dark: violetDark },\r\n amber: { light: amberLight, dark: amberDark },\r\n cyan: { light: cyanLight, dark: cyanDark },\r\n slate: { light: slateLight, dark: slateDark },\r\n gray: { light: grayLight, dark: grayDark },\r\n} as const\r\n\r\n","import { indigoLight, indigoDark } from './palettes'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\n\r\n/**\r\n * Default spacing scale\r\n */\r\nexport const defaultSpacing: Theme['spacing'] = {\r\n none: '0',\r\n xs: '0.25rem', // 4px\r\n sm: '0.5rem', // 8px\r\n md: '1rem', // 16px\r\n lg: '1.5rem', // 24px\r\n xl: '2rem', // 32px\r\n}\r\n\r\n/**\r\n * Default border radius scale\r\n */\r\nexport const defaultRadius: Theme['radius'] = {\r\n none: '0',\r\n xs: '0.125rem', // 2px\r\n sm: '0.25rem', // 4px\r\n md: '0.375rem', // 6px\r\n lg: '0.5rem', // 8px\r\n xl: '0.75rem', // 12px\r\n full: '9999px',\r\n}\r\n\r\n/**\r\n * Default shadow scale\r\n */\r\nexport const defaultShadows: Theme['shadows'] = {\r\n none: 'none',\r\n xs: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\r\n sm: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\r\n md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\r\n lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\r\n xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\r\n}\r\n\r\n/**\r\n * Default font size scale\r\n */\r\nexport const defaultFontSize: Theme['fontSize'] = {\r\n xs: '0.75rem', // 12px\r\n sm: '0.875rem', // 14px\r\n md: '1rem', // 16px\r\n lg: '1.25rem', // 20px\r\n xl: '1.5rem', // 24px\r\n}\r\n\r\n/**\r\n * Default font weight scale\r\n */\r\nexport const defaultFontWeight: Theme['fontWeight'] = {\r\n light: 300,\r\n regular: 400,\r\n medium: 500,\r\n semibold: 600,\r\n bold: 700,\r\n}\r\n\r\n/**\r\n * Default line height scale\r\n */\r\nexport const defaultLineHeight: Theme['lineHeight'] = {\r\n none: 1,\r\n tight: 1.25,\r\n normal: 1.5,\r\n relaxed: 1.75,\r\n}\r\n\r\n/**\r\n * Default z-index scale\r\n */\r\nexport const defaultZIndex: Theme['zIndex'] = {\r\n behind: -1,\r\n base: 0,\r\n dropdown: 1000,\r\n overlay: 1300,\r\n modal: 1400,\r\n tooltip: 1600,\r\n}\r\n\r\n/**\r\n * Default transition scale\r\n */\r\nexport const defaultTransition: Theme['transition'] = {\r\n fast: '150ms ease-out',\r\n normal: '250ms ease-out',\r\n slow: '350ms ease-out',\r\n}\r\n\r\n/**\r\n * Default colors (using indigo palette)\r\n */\r\nexport const defaultColors = indigoLight\r\n\r\n/**\r\n * Default dark colors (using indigo palette)\r\n */\r\nexport const defaultDarkColors = indigoDark\r\n\r\n/**\r\n * Complete default light theme\r\n */\r\nexport const defaultTheme: Theme = {\r\n colors: defaultColors,\r\n spacing: defaultSpacing,\r\n radius: defaultRadius,\r\n shadows: defaultShadows,\r\n fontSize: defaultFontSize,\r\n fontWeight: defaultFontWeight,\r\n lineHeight: defaultLineHeight,\r\n zIndex: defaultZIndex,\r\n transition: defaultTransition,\r\n}\r\n\r\n/**\r\n * Complete default dark theme\r\n */\r\nexport const defaultDarkTheme: Theme = {\r\n ...defaultTheme,\r\n colors: defaultDarkColors,\r\n}\r\n","\r\nimport {\r\n cacheKeyToSuffix,\r\n createCacheKey,\r\n createLRUCache,\r\n generateCssClass,\r\n getTheme,\r\n MAX_CACHE_SIZE,\r\n toKebabCaseClassName\r\n} from './styleEngine'\r\n\r\nimport type { StyleFunction, StyleWithPseudos } from './types'\r\nimport type { Theme } from '@/types'\r\n\r\n/**\r\n * Extract component name from stack trace\r\n */\r\nconst getComponentNameFromStack = (): string => {\r\n const stack = new Error().stack || ''\r\n const match = stack.match(/([A-Za-z0-9_]+)\\.styles\\.[tj]s/)\r\n if (match?.[1]) {\r\n return toKebabCaseClassName(match[1])\r\n }\r\n const fileMatch = stack.match(/\\/([A-Za-z0-9_]+)\\.[tj]sx?[:\\d]*\\)?$/m)\r\n if (fileMatch?.[1] && fileMatch[1] !== 'createStyles') {\r\n return toKebabCaseClassName(fileMatch[1])\r\n }\r\n return 'style'\r\n}\r\n\r\n/**\r\n * Process styles and generate CSS classes\r\n */\r\nconst processStyles = <T extends Record<string, StyleWithPseudos | StyleFunction>>(\r\n styles: T,\r\n componentName: string\r\n): Record<string, string | ((...args: unknown[]) => string)> => {\r\n const classes = {} as Record<string, string | ((...args: unknown[]) => string)>\r\n\r\n for (const key in styles) {\r\n const style = styles[key]\r\n if (style) {\r\n const baseName = `${componentName}-${toKebabCaseClassName(key)}`\r\n if (typeof style === 'function') {\r\n const lru = createLRUCache<string>(MAX_CACHE_SIZE)\r\n classes[key] = (...args: unknown[]) => {\r\n const cacheKey = createCacheKey(args)\r\n return lru.getOrSet(cacheKey, () => {\r\n const resolved = (style as (...a: unknown[]) => StyleWithPseudos)(...args)\r\n return generateCssClass(resolved, `${baseName}-${cacheKeyToSuffix(cacheKey)}`)\r\n })\r\n }\r\n } else {\r\n classes[key] = generateCssClass(style, baseName, true)\r\n }\r\n }\r\n }\r\n\r\n return classes\r\n}\r\n\r\n/**\r\n * Create typed styles with support for pseudo-classes, media queries, container queries, feature queries and complex selectors\r\n *\r\n * Supports custom extended themes via generic parameter.\r\n *\r\n * @example\r\n * ```ts\r\n * // Basic usage with default theme\r\n * const STYLES = createStyles((theme) => ({\r\n * root: {\r\n * display: 'flex',\r\n * padding: theme.spacing.md,\r\n * ':hover': { backgroundColor: theme.colors.backgroundHover },\r\n * }\r\n * }))\r\n *\r\n * // With custom extended theme\r\n * type MyTheme = Theme & { colors: BaseColors & { accent: string } }\r\n *\r\n * const STYLES = createStyles<MyTheme>((theme) => ({\r\n * root: {\r\n * backgroundColor: theme.colors.accent, // TypeScript knows about accent!\r\n * }\r\n * }))\r\n * ```\r\n */\r\nexport const createStyles = <\r\n TTheme extends Theme = Theme,\r\n T extends Record<string, StyleWithPseudos | StyleFunction> = Record<string, StyleWithPseudos | StyleFunction>\r\n>(\r\n stylesOrCreator: T | ((theme: TTheme) => T)\r\n ): { [K in keyof T]: T[K] extends (...args: infer TArgs) => StyleWithPseudos ? (...args: TArgs) => string : string } => {\r\n type Result = { [K in keyof T]: T[K] extends (...args: infer TArgs) => StyleWithPseudos ? (...args: TArgs) => string : string }\r\n const componentName = getComponentNameFromStack()\r\n\r\n // Styles with theme (function)\r\n if (typeof stylesOrCreator === 'function') {\r\n let cached: Result | null = null\r\n let lastTheme: TTheme | undefined\r\n\r\n return new Proxy({} as Result, {\r\n get(_, prop: string | symbol) {\r\n const theme = getTheme() as TTheme | undefined\r\n if (!theme) {\r\n throw new Error('createStyles: Theme context not found. Make sure you are using this inside a ThemeProvider.')\r\n }\r\n if (theme !== lastTheme || !cached) {\r\n cached = processStyles(stylesOrCreator(theme), componentName) as Result\r\n lastTheme = theme\r\n }\r\n return cached[prop as keyof T]\r\n }\r\n })\r\n }\r\n\r\n // Styles without theme (direct object)\r\n return processStyles(stylesOrCreator, componentName) as Result\r\n}\r\n\r\n","import {\r\n addKeyframes,\r\n getNextKeyframeId,\r\n hashString,\r\n hasKeyframes,\r\n insertRule,\r\n objectToCss\r\n} from './styleEngine'\r\n\r\nimport type { CSSProperties } from 'react'\r\n\r\n\r\n/**\r\n * Create and inject keyframes\r\n *\r\n * @example\r\n * ```ts\r\n * const fadeIn = keyframes({\r\n * from: { opacity: 0 },\r\n * to: { opacity: 1 }\r\n * })\r\n *\r\n * const STYLES = createStyles({\r\n * animated: { animation: `${fadeIn} 0.3s ease-in-out` }\r\n * })\r\n * ```\r\n */\r\nexport const keyframes = (frames: Record<string, CSSProperties>): string => {\r\n // Generate keyframes CSS\r\n let css = ''\r\n for (const key in frames) {\r\n css += `${key}{${objectToCss(frames[key] as Record<string, unknown>)}}`\r\n }\r\n\r\n // Check if these keyframes already exist\r\n if (hasKeyframes(css)) {\r\n const hash = hashString(css)\r\n return `aurora-kf-${hash}`\r\n }\r\n\r\n // Generate a unique name\r\n const name = `aurora-kf-${getNextKeyframeId()}`\r\n\r\n // Inject @keyframes rule\r\n insertRule(`@keyframes ${name}{${css}}`)\r\n addKeyframes(css)\r\n\r\n return name\r\n}\r\n\r\n","import { addFontFace, hasFontFace, insertRule } from './styleEngine'\r\n\r\nimport type { FontFaceOptions } from './types'\r\n\r\n/**\r\n * Inject a @font-face rule\r\n *\r\n * @example\r\n * ```ts\r\n * fontFace({\r\n * fontFamily: 'MyFont',\r\n * src: \"url('/fonts/myfont.woff2') format('woff2')\",\r\n * fontWeight: 400,\r\n * fontStyle: 'normal',\r\n * fontDisplay: 'swap'\r\n * })\r\n * ```\r\n */\r\nexport const fontFace = (options: FontFaceOptions): string => {\r\n const {\r\n fontFamily,\r\n src,\r\n fontStyle = 'normal',\r\n fontWeight = 400,\r\n fontDisplay = 'swap',\r\n unicodeRange\r\n } = options\r\n\r\n // Generate CSS\r\n let css = `font-family:\"${fontFamily}\";`\r\n css += `src:${src};`\r\n css += `font-style:${fontStyle};`\r\n css += `font-weight:${fontWeight};`\r\n css += `font-display:${fontDisplay};`\r\n if (unicodeRange) {\r\n css += `unicode-range:${unicodeRange};`\r\n }\r\n\r\n // Check if already injected\r\n if (!hasFontFace(css)) {\r\n insertRule(`@font-face{${css}}`)\r\n addFontFace(css)\r\n }\r\n\r\n return fontFamily\r\n}\r\n\r\n","import { insertRule, toKebabCase } from './styleEngine'\r\n\r\nimport type { Theme } from '@/types'\r\n\r\n\r\n/**\r\n * Generate CSS variables from a theme object\r\n */\r\nconst generateCssVariables = (obj: Record<string, unknown>, prefix: string): string => {\r\n let css = ''\r\n\r\n for (const key in obj) {\r\n const value = obj[key]\r\n const varName = `--${prefix}-${toKebabCase(key)}`\r\n\r\n if (value && typeof value === 'object') {\r\n css += generateCssVariables(value as Record<string, unknown>, `${prefix}-${toKebabCase(key)}`)\r\n } else if (value != null) {\r\n css += `${varName}:${value};`\r\n }\r\n }\r\n\r\n return css\r\n}\r\n\r\n/**\r\n * Create CSS variables from the theme\r\n * Injects variables into :root\r\n *\r\n * @example\r\n * ```ts\r\n * // In ThemeProvider\r\n * injectCssVariables(theme, 'aurora')\r\n * // Generates: :root { --aurora-colors-primary: #2563EB; ... }\r\n * ```\r\n */\r\nexport const injectCssVariables = (theme: Theme, prefix = 'theme'): void => {\r\n const variables = generateCssVariables(theme, prefix)\r\n insertRule(`:root{${variables}}`)\r\n}\r\n\r\n/**\r\n * Helper to use a CSS variable from the theme\r\n *\r\n * @example\r\n * ```ts\r\n * const STYLES = createStyles({\r\n * root: { color: cssVar('colors-primary') }\r\n * })\r\n * // Generates: color: var(--theme-colors-primary)\r\n * ```\r\n */\r\nexport const cssVar = (path: string, fallback?: string): string => {\r\n const varName = `--theme-${path.replace(/\\./g, '-')}`\r\n return fallback ? `var(${varName}, ${fallback})` : `var(${varName})`\r\n}\r\n\r\n/**\r\n * Create CSS variable references from a typed object\r\n * Returns an object with the same structure where values are var() references\r\n *\r\n * @example\r\n * ```ts\r\n * const vars = cssVariables({\r\n * primaryColor: '#007bff',\r\n * spacing: '1rem',\r\n * })\r\n * // vars.primaryColor === 'var(--primary-color)'\r\n * ```\r\n */\r\nexport const cssVariables = <T extends Record<string, string | number>>(\r\n variables: T,\r\n options: { prefix?: string; inject?: boolean } = {}\r\n): { [K in keyof T]: string } => {\r\n const { prefix = '', inject = false } = options\r\n const result = {} as { [K in keyof T]: string }\r\n let cssToInject = ''\r\n\r\n for (const key in variables) {\r\n const kebabKey = toKebabCase(key)\r\n const varName = prefix ? `--${prefix}-${kebabKey}` : `--${kebabKey}`\r\n result[key] = `var(${varName})`\r\n\r\n if (inject) {\r\n cssToInject += `${varName}:${variables[key]};`\r\n }\r\n }\r\n\r\n if (inject && cssToInject) {\r\n insertRule(`:root{${cssToInject}}`)\r\n }\r\n\r\n return result\r\n}\r\n\r\n","import { getSSRRulesInternal, resetState } from './styleEngine'\r\n\r\n/**\r\n * SSR: Get all collected CSS rules as a single string\r\n * @returns The CSS content to inject into HTML\r\n */\r\nexport const getSSRStyles = (): string => {\r\n return getSSRRulesInternal().join('')\r\n}\r\n\r\n/**\r\n * SSR: Get styles as a <style> tag ready to inject\r\n * @returns The complete style tag to inject into <head>\r\n */\r\nexport const getSSRStyleTag = (): string => {\r\n const css = getSSRStyles()\r\n if (!css) { return '' }\r\n return `<style id=\"aurora-styles\">${css}</style>`\r\n}\r\n\r\n/**\r\n * SSR: Clear the collected rules buffer\r\n * Call at the beginning of each SSR request to ensure clean state\r\n */\r\nexport const clearSSRRules = (): void => {\r\n resetState()\r\n}\r\n\r\n/**\r\n * SSR: Get raw CSS rules as an array\r\n * @returns Array of CSS rules\r\n */\r\nexport const getSSRRulesArray = (): string[] => {\r\n return [...getSSRRulesInternal()]\r\n}\r\n\r\n"]}