stoop 0.5.0 → 0.5.1

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/README.md CHANGED
@@ -94,10 +94,8 @@ Use `$` prefix for theme tokens. Shorthand `$token` uses property-aware resoluti
94
94
  Variants create component variations via props:
95
95
 
96
96
  ```tsx
97
- const Button = styled(
98
- "button",
99
- {},
100
- {
97
+ const Button = styled("button", {
98
+ variants: {
101
99
  variant: {
102
100
  primary: { backgroundColor: "$primary" },
103
101
  secondary: { backgroundColor: "$secondary" },
@@ -107,7 +105,7 @@ const Button = styled(
107
105
  large: { padding: "$large" },
108
106
  },
109
107
  },
110
- );
108
+ });
111
109
 
112
110
  <Button variant="primary" size="small" />;
113
111
  ```
@@ -17,13 +17,13 @@ import type { ProviderProps, Theme, ThemeContextValue, ThemeManagementContextVal
17
17
  *
18
18
  * @remarks
19
19
  * To prevent FOUC (Flash of Unstyled Content) when a user has a non-default theme stored,
20
- * call `preloadTheme()` from your stoop instance in a script tag before React hydrates:
20
+ * call `preloadTheme()` from your stoop instance in a script tag before React hydrates.
21
+ * Note: `preloadTheme()` takes no parameters and always preloads all configured themes.
21
22
  *
22
23
  * ```html
23
24
  * <script>
24
- * // Read theme from storage and preload before React renders
25
- * const storedTheme = localStorage.getItem('stoop-theme') || 'light';
26
- * stoopInstance.preloadTheme(storedTheme);
25
+ * // Preload all themes before React renders
26
+ * stoopInstance.preloadTheme();
27
27
  * </script>
28
28
  * ```
29
29
  */
@@ -1,16 +1,16 @@
1
- var $0=Object.freeze({}),x=1e4,QJ=5000,ZJ=10,WJ=500,E=1000;var c=["colors","opacities","space","radii","sizes","fonts","fontWeights","fontSizes","lineHeights","letterSpacings","shadows","zIndices","transitions"],z={accentColor:"colors",animation:"transitions",animationDelay:"transitions",animationDuration:"transitions",animationTimingFunction:"transitions",backdropFilter:"shadows",background:"colors",backgroundColor:"colors",blockSize:"sizes",border:"colors",borderBlockColor:"colors",borderBlockEndColor:"colors",borderBlockStartColor:"colors",borderBottomColor:"colors",borderBottomLeftRadius:"radii",borderBottomRightRadius:"radii",borderColor:"colors",borderEndEndRadius:"radii",borderEndStartRadius:"radii",borderInlineColor:"colors",borderInlineEndColor:"colors",borderInlineStartColor:"colors",borderLeftColor:"colors",borderRadius:"radii",borderRightColor:"colors",borderStartEndRadius:"radii",borderStartStartRadius:"radii",borderTopColor:"colors",borderTopLeftRadius:"radii",borderTopRightRadius:"radii",bottom:"space",boxShadow:"shadows",caretColor:"colors",color:"colors",columnGap:"space",columnRuleColor:"colors",fill:"colors",filter:"shadows",flexBasis:"sizes",floodColor:"colors",font:"fontSizes",fontFamily:"fonts",fontSize:"fontSizes",fontWeight:"fontWeights",gap:"space",gridColumnGap:"space",gridGap:"space",gridRowGap:"space",height:"sizes",inlineSize:"sizes",inset:"space",insetBlock:"space",insetBlockEnd:"space",insetBlockStart:"space",insetInline:"space",insetInlineEnd:"space",insetInlineStart:"space",left:"space",letterSpacing:"letterSpacings",lightingColor:"colors",lineHeight:"lineHeights",margin:"space",marginBlock:"space",marginBlockEnd:"space",marginBlockStart:"space",marginBottom:"space",marginInline:"space",marginInlineEnd:"space",marginInlineStart:"space",marginLeft:"space",marginRight:"space",marginTop:"space",maxBlockSize:"sizes",maxHeight:"sizes",maxInlineSize:"sizes",maxWidth:"sizes",minBlockSize:"sizes",minHeight:"sizes",minInlineSize:"sizes",minWidth:"sizes",opacity:"opacities",outline:"colors",outlineColor:"colors",padding:"space",paddingBlock:"space",paddingBlockEnd:"space",paddingBlockStart:"space",paddingBottom:"space",paddingInline:"space",paddingInlineEnd:"space",paddingInlineStart:"space",paddingLeft:"space",paddingRight:"space",paddingTop:"space",right:"space",rowGap:"space",size:"sizes",stopColor:"colors",stroke:"colors",textDecorationColor:"colors",textEmphasisColor:"colors",textShadow:"shadows",top:"space",transition:"transitions",transitionDelay:"transitions",transitionDuration:"transitions",transitionProperty:"transitions",transitionTimingFunction:"transitions",width:"sizes",zIndex:"zIndices"},DJ=Symbol.for("stoop.component");class L extends Map{maxSize;constructor(J){super();this.maxSize=J}get(J){let $=super.get(J);if($!==void 0)super.delete(J),super.set(J,$);return $}set(J,$){if(super.has(J))super.delete(J);else if(this.size>=this.maxSize){let Y=this.keys().next().value;if(Y!==void 0)super.delete(Y)}return super.set(J,$),this}}var wJ=new L(QJ),o=new L(x);function R(){return typeof window!=="undefined"&&typeof document!=="undefined"&&typeof window.document==="object"&&typeof document.createElement==="function"}function v(){return typeof process!=="undefined"&&process.env?.NODE_ENV==="production"}function N(J){return typeof J==="object"&&J!==null}function m(J){return typeof J==="object"&&J!==null&&"__isStoopStyled"in J&&"__stoopClassName"in J&&J.__isStoopStyled===!0}function p(J){return N(J)&&!m(J)}function i(J){return typeof J==="object"&&J!==null&&!Array.isArray(J)}function T(J){if(!J||typeof J!=="object"||Array.isArray(J))throw new Error("[Stoop] Theme must be a non-null object");if(v())return J;let $=J,Y=[];for(let q in $){if(q==="media")continue;if(!c.includes(q))Y.push(q)}if(Y.length>0){let q=`[Stoop] Theme contains invalid scales: ${Y.join(", ")}. Only these scales are allowed: ${c.join(", ")}`;throw new Error(q)}return J}function j(J,$){if(!$||!J||typeof J!=="object")return J;let Y={},q=Object.keys($);for(let X in J){let Z=J[X];if(q.includes(X)&&$[X])try{let G=$[X](Z);if(G&&typeof G==="object")for(let Q in G)Y[Q]=G[Q]}catch{Y[X]=Z}else if(N(Z))Y[X]=j(Z,$);else Y[X]=Z}return Y}var l=null,UJ=new L(E),W0=new L(E),HJ=new L(E);function b(J){let q=2166136261;for(let X=0;X<J.length;X++)q^=J.charCodeAt(X),q=Math.imul(q,16777619);return q^=J.length,(q>>>0).toString(36)}function r(J){try{return b(JSON.stringify(J))}catch{return b(String(J))}}function BJ(J,$=!1){let q=String(J).replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/'/g,"\\'").replace(/;/g,"\\;").replace(/\n/g,"\\A ").replace(/\r/g,"").replace(/\f/g,"\\C ");if($)q=q.replace(/\{/g,"\\7B ").replace(/\}/g,"\\7D ");return q}function LJ(J){return BJ(J,!1)}function O(J){let $=UJ.get(J);if($!==void 0)return $;let Y=J.replace(/[^a-zA-Z0-9\s\-_>+~:.#[\]&@()]/g,""),q=!Y.trim()||/^[>+~:.#[\]&@()\s]+$/.test(Y)?"":Y;return UJ.set(J,q),q}function M(J){let $=HJ.get(J);if($!==void 0)return $;let X=J.replace(/[^a-zA-Z0-9-_]/g,"-").replace(/^[\d-]+/,"").replace(/^-+/,"")||"invalid";return HJ.set(J,X),X}function _J(J){return BJ(J,!0)}function B(J){if(!J)return"stoop";return J.replace(/[^a-zA-Z0-9-_]/g,"").replace(/^[\d-]+/,"").replace(/^-+/,"")||"stoop"}function AJ(J){if(!J||typeof J!=="string")return"";let $=J.replace(/[^a-zA-Z0-9\s():,<>=\-@]/g,"");if(!$.trim()||!/[a-zA-Z]/.test($))return"";return $}function IJ(J){if(!J||typeof J!=="string")return!1;if(J==="from"||J==="to")return!0;if(/^\d+(\.\d+)?%$/.test(J)){let Y=parseFloat(J);return Y>=0&&Y<=100}return!1}function RJ(J=""){if(!l){let Y=":root".replace(/[.*+?^${}()|[\]\\]/g,"\\$&");l=new RegExp(`${Y}\\s*\\{[\\s\\S]*\\}`)}return l}function hJ(J){if(J.includes("Color")||J==="fill"||J==="stroke"||J==="accentColor"||J==="caretColor"||J==="border"||J==="outline"||J.includes("background")&&!J.includes("Size")&&!J.includes("Image"))return"colors";if(/^(margin|padding|gap|inset|top|right|bottom|left|rowGap|columnGap|gridGap|gridRowGap|gridColumnGap)/.test(J)||J.includes("Block")||J.includes("Inline"))return"space";if(/(width|height|size|basis)$/i.test(J)||J.includes("BlockSize")||J.includes("InlineSize"))return"sizes";if(J==="fontSize"||J==="font"&&!J.includes("Family"))return"fontSizes";if(J==="fontFamily"||J.includes("FontFamily"))return"fonts";if(J==="fontWeight"||J.includes("FontWeight"))return"fontWeights";if(J==="letterSpacing"||J.includes("LetterSpacing"))return"letterSpacings";if(J.includes("Radius")||J.includes("radius"))return"radii";if(J.includes("Shadow")||J.includes("shadow")||J==="filter"||J==="backdropFilter")return"shadows";if(J==="zIndex"||J.includes("ZIndex")||J.includes("z-index"))return"zIndices";if(J==="opacity"||J.includes("Opacity"))return"opacities";if(J.startsWith("transition")||J.startsWith("animation")||J.includes("Transition")||J.includes("Animation"))return"transitions";return}function KJ(J,$){if($&&J in $)return $[J];if(J in z)return z[J];return hJ(J)}var a=new Map;function k(J){return a.has(J)}function C(J,$){a.set(J,$)}var s=new L(x);function EJ(J){if(!s.has(J))s.set(J,!0)}function OJ(){return Array.from(s.keys()).join(`
2
- `)}var f=new Map;var MJ=new Map;function VJ(J="stoop"){if(!R())throw new Error("Cannot access document in SSR context");let $=B(J),Y=f.get($);if(!Y||!Y.parentNode){let q=document.getElementById("stoop-ssr");if(q){let X=q.getAttribute("data-stoop");if(!X||X===$)return Y=q,Y.setAttribute("data-stoop",$),f.set($,Y),Y}Y=document.createElement("style"),Y.setAttribute("data-stoop",$),Y.setAttribute("id",`stoop-${$}`),document.head.appendChild(Y),f.set($,Y)}return Y}function t(J){let $=J,Y=RJ("");$=$.replace(Y,"").trim();let q=$.indexOf("[data-theme=");while(q!==-1){let X=$.indexOf("{",q);if(X===-1)break;let Z=1,G=X+1;while(G<$.length&&Z>0){if($[G]==="{")Z++;else if($[G]==="}")Z--;G++}if(Z===0){let Q=$.substring(0,q).trim(),F=$.substring(G).trim();$=(Q+`
3
- `+F).trim()}else break;q=$.indexOf("[data-theme=")}return $.trim()}function PJ(J,$="stoop"){if(!J)return;let Y=B($),q=`__all_theme_vars_${Y}`;if((MJ.get(q)??null)===J)return;if(MJ.set(q,J),!R()){EJ(J);return}let Z=VJ(Y),G=Z.textContent||"",Q=G.includes(":root")||G.includes("[data-theme=");if(k(q)||Q){let F=t(G);Z.textContent=J+(F?`
1
+ var YJ=Object.freeze({}),C=1e4,Fq=5000,Uq=10,Hq=500,z=1000;var i=["colors","opacities","space","radii","sizes","fonts","fontWeights","fontSizes","lineHeights","letterSpacings","shadows","zIndices","transitions"],v={accentColor:"colors",animation:"transitions",animationDelay:"transitions",animationDuration:"transitions",animationTimingFunction:"transitions",backdropFilter:"shadows",background:"colors",backgroundColor:"colors",blockSize:"sizes",border:"colors",borderBlockColor:"colors",borderBlockEndColor:"colors",borderBlockStartColor:"colors",borderBottomColor:"colors",borderBottomLeftRadius:"radii",borderBottomRightRadius:"radii",borderColor:"colors",borderEndEndRadius:"radii",borderEndStartRadius:"radii",borderInlineColor:"colors",borderInlineEndColor:"colors",borderInlineStartColor:"colors",borderLeftColor:"colors",borderRadius:"radii",borderRightColor:"colors",borderStartEndRadius:"radii",borderStartStartRadius:"radii",borderTopColor:"colors",borderTopLeftRadius:"radii",borderTopRightRadius:"radii",bottom:"space",boxShadow:"shadows",caretColor:"colors",color:"colors",columnGap:"space",columnRuleColor:"colors",fill:"colors",filter:"shadows",flexBasis:"sizes",floodColor:"colors",font:"fontSizes",fontFamily:"fonts",fontSize:"fontSizes",fontWeight:"fontWeights",gap:"space",gridColumnGap:"space",gridGap:"space",gridRowGap:"space",height:"sizes",inlineSize:"sizes",inset:"space",insetBlock:"space",insetBlockEnd:"space",insetBlockStart:"space",insetInline:"space",insetInlineEnd:"space",insetInlineStart:"space",left:"space",letterSpacing:"letterSpacings",lightingColor:"colors",lineHeight:"lineHeights",margin:"space",marginBlock:"space",marginBlockEnd:"space",marginBlockStart:"space",marginBottom:"space",marginInline:"space",marginInlineEnd:"space",marginInlineStart:"space",marginLeft:"space",marginRight:"space",marginTop:"space",maxBlockSize:"sizes",maxHeight:"sizes",maxInlineSize:"sizes",maxWidth:"sizes",minBlockSize:"sizes",minHeight:"sizes",minInlineSize:"sizes",minWidth:"sizes",opacity:"opacities",outline:"colors",outlineColor:"colors",padding:"space",paddingBlock:"space",paddingBlockEnd:"space",paddingBlockStart:"space",paddingBottom:"space",paddingInline:"space",paddingInlineEnd:"space",paddingInlineStart:"space",paddingLeft:"space",paddingRight:"space",paddingTop:"space",right:"space",rowGap:"space",size:"sizes",stopColor:"colors",stroke:"colors",textDecorationColor:"colors",textEmphasisColor:"colors",textShadow:"shadows",top:"space",transition:"transitions",transitionDelay:"transitions",transitionDuration:"transitions",transitionProperty:"transitions",transitionTimingFunction:"transitions",width:"sizes",zIndex:"zIndices"},Bq=Symbol.for("stoop.component");class R extends Map{maxSize;constructor(q){super();this.maxSize=q}get(q){let J=super.get(q);if(J!==void 0)super.delete(q),super.set(q,J);return J}set(q,J){if(super.has(q))super.delete(q);else if(this.size>=this.maxSize){let $=this.keys().next().value;if($!==void 0)super.delete($)}return super.set(q,J),this}}var Lq=new R(Fq),r=new R(C);function P(){return typeof window!=="undefined"&&typeof document!=="undefined"&&typeof window.document==="object"&&typeof document.createElement==="function"}function k(){return typeof process!=="undefined"&&process.env?.NODE_ENV==="production"}function S(q){return typeof q==="object"&&q!==null}function s(q){return typeof q==="object"&&q!==null&&"__isStoopStyled"in q&&"__stoopClassName"in q&&q.__isStoopStyled===!0}function d(q){return S(q)&&!s(q)}function a(q){return typeof q==="object"&&q!==null&&!Array.isArray(q)}function u(q){if(!q||typeof q!=="object"||Array.isArray(q))throw new Error("[Stoop] Theme must be a non-null object");if(k())return q;let J=q,$=[];for(let Y in J){if(Y==="media")continue;if(!i.includes(Y))$.push(Y)}if($.length>0){let Y=`[Stoop] Theme contains invalid scales: ${$.join(", ")}. Only these scales are allowed: ${i.join(", ")}`;throw new Error(Y)}return q}function T(q,J){if(!J||!q||typeof q!=="object")return q;let $=Object.keys(J),Y=!1;for(let w in q)if($.includes(w)){Y=!0;break}if(!Y)return q;let G={};for(let w in q){let Q=q[w];if($.includes(w)&&J[w])try{let W=J[w](Q);if(W&&typeof W==="object")for(let X in W)G[X]=W[X]}catch{G[w]=Q}else if(S(Q))G[w]=T(Q,J);else G[w]=Q}return G}var t=null,_q=new R(z),FJ=new R(z),Aq=new R(z);function f(q){if(q.length===0)return"0";let J=2166136261,$=16777619,Y=J;for(let G=0;G<q.length;G++)Y^=q.charCodeAt(G),Y=Math.imul(Y,$);return Y^=q.length,(Y>>>0).toString(36)}function e(q){try{return f(JSON.stringify(q))}catch{return f(String(q))}}function Oq(q,J=!1){let Y=String(q).replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/'/g,"\\'").replace(/;/g,"\\;").replace(/\n/g,"\\A ").replace(/\r/g,"").replace(/\f/g,"\\C ");if(J)Y=Y.replace(/\{/g,"\\7B ").replace(/\}/g,"\\7D ");return Y}function qq(q){return Oq(q,!1)}function g(q){let J=_q.get(q);if(J!==void 0)return J;let $=q.replace(/[^a-zA-Z0-9\s\-_>+~:.#[\]&@()]/g,""),Y=!$.trim()||/^[>+~:.#[\]&@()\s]+$/.test($)?"":$;return _q.set(q,Y),Y}function M(q){let J=Aq.get(q);if(J!==void 0)return J;let G=q.replace(/[^a-zA-Z0-9-_]/g,"-").replace(/^[\d-]+/,"").replace(/^-+/,"")||"invalid";return Aq.set(q,G),G}function Rq(q){return Oq(q,!0)}function A(q){if(!q)return"stoop";return q.replace(/[^a-zA-Z0-9-_]/g,"").replace(/^[\d-]+/,"").replace(/^-+/,"")||"stoop"}function Iq(q){if(!q||typeof q!=="string")return"";let J=q.replace(/[^a-zA-Z0-9\s():,<>=\-@]/g,"");if(!J.trim()||!/[a-zA-Z]/.test(J))return"";return J}function Kq(q){if(!q||typeof q!=="string")return!1;if(q==="from"||q==="to")return!0;if(/^\d+(\.\d+)?%$/.test(q)){let $=parseFloat(q);return $>=0&&$<=100}return!1}function Eq(q=""){if(!t){let $=":root".replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=new RegExp(`${$}\\s*\\{[\\s\\S]*\\}`)}return t}function cq(q){if(q.includes("Color")||q==="fill"||q==="stroke"||q==="accentColor"||q==="caretColor"||q==="border"||q==="outline"||q.includes("background")&&!q.includes("Size")&&!q.includes("Image"))return"colors";if(/^(margin|padding|gap|inset|top|right|bottom|left|rowGap|columnGap|gridGap|gridRowGap|gridColumnGap)/.test(q)||q.includes("Block")||q.includes("Inline"))return"space";if(/(width|height|size|basis)$/i.test(q)||q.includes("BlockSize")||q.includes("InlineSize"))return"sizes";if(q==="fontSize"||q==="font"&&!q.includes("Family"))return"fontSizes";if(q==="fontFamily"||q.includes("FontFamily"))return"fonts";if(q==="fontWeight"||q.includes("FontWeight"))return"fontWeights";if(q==="letterSpacing"||q.includes("LetterSpacing"))return"letterSpacings";if(q.includes("Radius")||q.includes("radius"))return"radii";if(q.includes("Shadow")||q.includes("shadow")||q==="filter"||q==="backdropFilter")return"shadows";if(q==="zIndex"||q.includes("ZIndex")||q.includes("z-index"))return"zIndices";if(q==="opacity"||q.includes("Opacity"))return"opacities";if(q.startsWith("transition")||q.startsWith("animation")||q.includes("Transition")||q.includes("Animation"))return"transitions";return}function Mq(q,J){if(J&&q in J)return J[q];if(q in v)return v[q];return cq(q)}var $q=new Map;function h(q){return $q.has(q)}function n(q,J){$q.set(q,J)}var Jq=new R(C);function gq(q){if(!Jq.has(q))Jq.set(q,!0)}function Pq(){return Array.from(Jq.keys()).join(`
2
+ `)}var y=new Map;var Vq=new Map;function zq(q="stoop"){if(!P())throw new Error("Cannot access document in SSR context");let J=A(q),$=y.get(J);if(!$||!$.parentNode){let Y=document.getElementById("stoop-ssr");if(Y){let G=Y.getAttribute("data-stoop");if(!G||G===J)return $=Y,$.setAttribute("data-stoop",J),y.set(J,$),$}$=document.createElement("style"),$.setAttribute("data-stoop",J),$.setAttribute("id",`stoop-${J}`),document.head.appendChild($),y.set(J,$)}return $}function Yq(q){let J=q,$=Eq("");J=J.replace($,"").trim();let Y=J.indexOf("[data-theme=");while(Y!==-1){let G=J.indexOf("{",Y);if(G===-1)break;let w=1,Q=G+1;while(Q<J.length&&w>0){if(J[Q]==="{")w++;else if(J[Q]==="}")w--;Q++}if(w===0){let W=J.substring(0,Y).trim(),X=J.substring(Q).trim();J=(W+`
3
+ `+X).trim()}else break;Y=J.indexOf("[data-theme=")}return J.trim()}function xq(q,J="stoop"){if(!q)return;let $=A(J),Y=`__all_theme_vars_${$}`;if((Vq.get(Y)??null)===q)return;if(Vq.set(Y,q),!P()){gq(q);return}let w=zq($),Q=w.textContent||"",W=Q.includes(":root")||Q.includes("[data-theme=");if(h(Y)||W){let X=Yq(Q);w.textContent=q+(X?`
4
4
 
5
- `+F:""),C(q,J)}else Z.textContent=J+(G?`
5
+ `+X:""),n(Y,q)}else w.textContent=q+(Q?`
6
6
 
7
- `+G:""),C(q,J)}function cJ(J,$,Y="stoop"){if(!R())return;let q=B(Y);if(k($))return;let X=VJ(q),Z=X.textContent||"";X.textContent=Z+(Z?`
8
- `:"")+J,C($,J)}function oJ(J,$,Y="stoop"){if(k($))return;let q=B(Y);cJ(J,$,q)}function mJ(J="stoop"){let $=B(J);return f.get($)||null}function pJ(){return new Map(a)}function V(J,$="stoop",Y){let q=Y||J;if(!R()){if(!k(q))C(q,J);EJ(J);return}oJ(J,q,$)}function gJ(J="stoop"){if(R()){let $=B(J),Y=mJ($);if(Y&&Y.parentNode){let q=Y.textContent||"";if(!q&&pJ().size>0)return OJ();return q}}return OJ()}var iJ=/(-?\$[a-zA-Z][a-zA-Z0-9]*(?:\$[a-zA-Z][a-zA-Z0-9]*)?(?:\.[a-zA-Z][a-zA-Z0-9]*)?)/g;function JJ(J){let $=new Map;function Y(q,X=[]){let Z=Object.keys(q);for(let G of Z){let Q=q[G],F=[...X,G];if(i(Q))Y(Q,F);else{let D=$.get(G);if(D)D.push(F);else $.set(G,[F])}}}Y(J);for(let[,q]of $.entries())if(q.length>1)q.sort((X,Z)=>{let G=X.length-Z.length;if(G!==0)return G;let Q=X.join("."),F=Z.join(".");return Q.localeCompare(F)});return $}function lJ(J,$){let Y=Object.keys(J).filter((X)=>X!=="media"),q=Object.keys($).filter((X)=>X!=="media");if(Y.length!==q.length)return!1;for(let X of Y)if(!(X in $))return!1;return!0}function jJ(J,$){if(J===$)return!0;if(!J||!$)return!1;if(!lJ(J,$))return!1;let Y={...J},q={...$};return delete Y.media,delete q.media,JSON.stringify(Y)===JSON.stringify(q)}function e(J,$,Y){if(Y&&Y in J){let Z=J[Y];if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&$ in Z)return[Y,$]}let X=JJ(J).get($);if(!X||X.length===0)return null;return X[0]}function zJ(J,$,Y,q){if(!J.startsWith("$"))return J;let X=J.slice(1);if(X.includes("$")||X.includes("."))return`var(${`--${(X.includes("$")?X.split("$"):X.split(".")).map((W)=>M(W)).join("-")}`})`;if($&&Y){let Q=KJ(Y,q);if(Q){let w=e($,X,Q);if(w)return`var(${`--${w.map((I)=>M(I)).join("-")}`})`}let D=JJ($).get(X);if(D&&D.length>1){if(!v()){let w=Q?`Property "${Y}" maps to "${Q}" scale, but token not found there. `:`No scale mapping found for property "${Y}". `;console.warn(`[Stoop] Ambiguous token "$${X}" found in multiple categories: ${D.map((U)=>U.join(".")).join(", ")}. ${w}Using "${D[0].join(".")}" (deterministic: shorter paths first, then alphabetical). Use full path "$${D[0].join(".")}" to be explicit.`)}}let W=e($,X);if(W)return`var(${`--${W.map((H)=>M(H)).join("-")}`})`}else if($){let F=JJ($).get(X);if(F&&F.length>1){if(!v())console.warn(`[Stoop] Ambiguous token "$${X}" found in multiple categories: ${F.map((W)=>W.join(".")).join(", ")}. Using "${F[0].join(".")}" (deterministic: shorter paths first, then alphabetical). Use full path "$${F[0].join(".")}" to be explicit, or use with a CSS property for automatic resolution.`)}let D=e($,X);if(D)return`var(${`--${D.map((U)=>M(U)).join("-")}`})`}return`var(${`--${M(X)}`})`}function $J(J,$="stoop",Y){let q=Y||":root",X=[];function Z(G,Q=[]){let F=Object.keys(G).sort();for(let D of F){if(D==="media")continue;let W=G[D],w=[...Q,D];if(i(W))Z(W,w);else{let H=`--${w.map((n)=>M(n)).join("-")}`,I=typeof W==="string"||typeof W==="number"?_J(W):String(W);X.push(` ${H}: ${I};`)}}}if(Z(J),X.length===0)return"";return`${q} {
9
- ${X.join(`
7
+ `+Q:""),n(Y,q)}function mq(q,J,$="stoop"){if(!P())return;let Y=A($);if(h(J))return;let G=zq(Y),w=G.textContent||"";G.textContent=w+(w?`
8
+ `:"")+q,n(J,q)}function oq(q,J,$="stoop"){if(h(J))return;let Y=A($);mq(q,J,Y)}function pq(q="stoop"){let J=A(q);return y.get(J)||null}function lq(){return new Map($q)}function x(q,J="stoop",$){let Y=$||q;if(!P()){if(!h(Y))n(Y,q);gq(q);return}oq(q,Y,J)}function jq(q="stoop"){if(P()){let J=A(q),$=pq(J);if($&&$.parentNode){let Y=$.textContent||"";if(!Y&&lq().size>0)return Pq();return Y}}return Pq()}var iq=/(-?\$[a-zA-Z][a-zA-Z0-9]*(?:\$[a-zA-Z][a-zA-Z0-9]*)?(?:\.[a-zA-Z][a-zA-Z0-9]*)?)/g,Nq=new WeakMap;function Gq(q){let J=Nq.get(q);if(J)return J;let $=new Map;function Y(G,w=[]){let Q=Object.keys(G);for(let W of Q){let X=G[W],Z=[...w,W];if(a(X))Y(X,Z);else{let D=$.get(W);if(D)D.push(Z);else $.set(W,[Z])}}}Y(q);for(let[,G]of $.entries())if(G.length>1)G.sort((w,Q)=>{let W=w.length-Q.length;if(W!==0)return W;let X=w.join("."),Z=Q.join(".");return X.localeCompare(Z)});return Nq.set(q,$),$}function rq(q,J){let $=Object.keys(q).filter((G)=>G!=="media"),Y=Object.keys(J).filter((G)=>G!=="media");if($.length!==Y.length)return!1;for(let G of $)if(!(G in J))return!1;return!0}function vq(q,J){if(q===J)return!0;if(!q||!J)return!1;if(!rq(q,J))return!1;let $={...q},Y={...J};return delete $.media,delete Y.media,JSON.stringify($)===JSON.stringify(Y)}function sq(q,J,$){if($&&$ in q){let w=q[$];if(w&&typeof w==="object"&&!Array.isArray(w)&&J in w)return[$,J]}let G=Gq(q).get(J);if(!G||G.length===0)return null;return G[0]}function c(q,J,$,Y){if(!q.startsWith("$"))return q;let G=q.slice(1);if(G.includes("$")||G.includes("."))return`var(${`--${(G.includes("$")?G.split("$"):G.split(".")).map((D)=>M(D)).join("-")}`})`;if(J&&$){let W=Mq($,Y);if(W){let D=sq(J,G,W);if(D)return`var(${`--${D.map((H)=>M(H)).join("-")}`})`}let Z=Gq(J).get(G);if(Z&&Z.length>1){if(!k()){let D=W?`Property "${$}" maps to "${W}" scale, but token not found there. `:`No scale mapping found for property "${$}". `;console.warn(`[Stoop] Ambiguous token "$${G}" found in multiple categories: ${Z.map((U)=>U.join(".")).join(", ")}. ${D}Using "${Z[0].join(".")}" (deterministic: shorter paths first, then alphabetical). Use full path "$${Z[0].join(".")}" to be explicit.`)}}if(Z&&Z.length>0)return`var(${`--${Z[0].map((H)=>M(H)).join("-")}`})`}else if(J){let X=Gq(J).get(G);if(X&&X.length>1){if(!k())console.warn(`[Stoop] Ambiguous token "$${G}" found in multiple categories: ${X.map((Z)=>Z.join(".")).join(", ")}. Using "${X[0].join(".")}" (deterministic: shorter paths first, then alphabetical). Use full path "$${X[0].join(".")}" to be explicit, or use with a CSS property for automatic resolution.`)}if(X&&X.length>0)return`var(${`--${X[0].map((F)=>M(F)).join("-")}`})`}return`var(${`--${M(G)}`})`}function Xq(q,J="stoop",$){let Y=$||":root",G=[];function w(Q,W=[]){let X=Object.keys(Q).sort();for(let Z of X){if(Z==="media")continue;let D=Q[Z],U=[...W,Z];if(a(D))w(D,U);else{let H=`--${U.map((B)=>M(B)).join("-")}`,_=typeof D==="string"||typeof D==="number"?Rq(D):String(D);G.push(` ${H}: ${_};`)}}}if(w(q),G.length===0)return"";return`${Y} {
9
+ ${G.join(`
10
10
  `)}
11
- }`}function S(J,$="stoop",Y="data-theme"){let q=[];for(let[X,Z]of Object.entries(J)){let G=`[${Y}="${X}"]`,Q=$J(Z,$,G);if(Q)q.push(Q)}return q.join(`
11
+ }`}function m(q,J="stoop",$="data-theme"){let Y=[];for(let[G,w]of Object.entries(q)){let Q=`[${$}="${G}"]`,W=Xq(w,J,Q);if(W)Y.push(W)}return Y.join(`
12
12
 
13
- `)}function P(J,$,Y,q){if(!J||typeof J!=="object")return J;let X={},Z=!1,G=Object.keys(J).sort();for(let Q of G){let F=J[Q];if(N(F)){let D=P(F,$,Y,void 0);if(X[Q]=D,D!==F)Z=!0}else if(typeof F==="string"&&F.includes("$")){Z=!0;let D=q||Q;X[Q]=F.replace(iJ,(W)=>{if(W.startsWith("-$")){let w=W.slice(1);return`calc(-1 * ${zJ(w,$,D,Y)})`}return zJ(W,$,D,Y)})}else X[Q]=F}if(!Z)return J;return X}var _=new L(E);function rJ(J){return J.replace(/([A-Z])/g,"-$1").toLowerCase()}function sJ(J){if(J===J.toUpperCase()&&J.length>1)return J.charAt(0)+J.slice(1).toLowerCase();return J}function d(J){if(!J)return"";return J.charAt(0).toLowerCase()+J.slice(1).replace(/([A-Z])/g,"-$1").toLowerCase()}function u(J){if(!J||typeof J!=="string")return"";let $=_.get(J);if($!==void 0)return $;if(/^-[a-z]+-/.test(J))return _.set(J,J),J;let Y=sJ(J);if(/^[Mm]oz/i.test(Y)){if(Y.length===3||Y.toLowerCase()==="moz")return _.set(J,"-moz"),"-moz";let G=Y.match(/^[Mm]oz(.+)$/i);if(G&&G[1]){let[,Q]=G,F=d(Q);if(F){let D=`-moz-${F}`;return _.set(J,D),D}}}if(/^[Ww]ebkit/i.test(Y)){if(Y.length===6||Y.toLowerCase()==="webkit")return _.set(J,"-webkit"),"-webkit";let G=Y.match(/^[Ww]ebkit(.+)$/i);if(G&&G[1]){let[,Q]=G,F=d(Q);if(F){let D=`-webkit-${F}`;return _.set(J,D),D}}}if(/^[Mm]s/i.test(Y)){if(Y.length===2||Y.toLowerCase()==="ms")return _.set(J,"-ms"),"-ms";let G=Y.match(/^[Mm]s(.+)$/i);if(G&&G[1]){let[,Q]=G,F=d(Q);if(F){let D=`-ms-${F}`;return _.set(J,D),D}}}if(/^O/i.test(Y)){if(Y.length===1||Y.toLowerCase()==="o")return _.set(J,"-o"),"-o";if(/^O[A-Z]/.test(Y)){let G=Y.substring(1),Q=d(G);if(Q){let F=`-o-${Q}`;return _.set(J,F),F}}}let Z=rJ(Y).replace(/[^a-zA-Z0-9-]/g,"").replace(/^-+|-+$/g,"").replace(/^\d+/,"")||"";return _.set(J,Z),Z}function aJ(J,$){if(typeof J==="symbol"&&J===DJ)return!0;if(m($))return!0;if(typeof J==="string"&&J.startsWith("__STOOP_COMPONENT_"))return!0;return!1}function tJ(J,$){if(typeof $==="object"&&$!==null&&"__stoopClassName"in $&&typeof $.__stoopClassName==="string")return $.__stoopClassName;if(typeof J==="string"&&J.startsWith("__STOOP_COMPONENT_"))return J.replace("__STOOP_COMPONENT_","");return""}function A(J,$="",Y=0,q){if(!J||typeof J!=="object")return"";if(Y>ZJ)return"";let X=[],Z=[],G=Object.keys(J).sort();for(let F of G){let D=J[F];if(aJ(F,D)){let W=tJ(F,D);if(!W)continue;let w=O(W);if(!w)continue;let U=$?`${$} .${w}`:`.${w}`,H=p(D)?A(D,U,Y+1,q):"";if(H)Z.push(H);continue}if(p(D))if(q&&F in q){let W=AJ(q[F]);if(W){let w=A(D,$,Y+1,q);if(w)Z.push(`${W} { ${w} }`)}}else if(F.startsWith("@")){let W=O(F);if(W){let w=A(D,$,Y+1,q);if(w)Z.push(`${W} { ${w} }`)}}else if(F.includes("&")){let W=O(F);if(W){let U=W.split("&").join($),H=A(D,U,Y+1,q);if(H)Z.push(H)}}else if(F.startsWith(":")){let W=O(F);if(W){let w=`${$}${W}`,U=A(D,w,Y+1,q);if(U)Z.push(U)}}else if(F.includes(" ")||F.includes(">")||F.includes("+")||F.includes("~")){let W=O(F);if(W){let U=/^[\s>+~]/.test(W.trim())?`${$}${W}`:`${$} ${W}`,H=A(D,U,Y+1,q);if(H)Z.push(H)}}else{let W=O(F);if(W){let w=$?`${$} ${W}`:W,U=A(D,w,Y+1,q);if(U)Z.push(U)}}else if(D!==void 0){let W=u(F);if(W&&(typeof D==="string"||typeof D==="number")){let w=LJ(D);X.push(`${W}: ${w};`)}}}let Q=[];if(X.length>0)Q.push(`${$} { ${X.join(" ")} }`);return Q.push(...Z),Q.join("")}function y(J,$,Y="stoop",q,X,Z){let G=B(Y),Q=j(J,X),F=P(Q,$,Z),D=A(F,"",0,q),W=b(D),w=G?`${G}-${W}`:`css-${W}`,U=`${G}:${w}`,H=o.get(U);if(H)return V(H,G,U),w;let I=A(F,`.${w}`,0,q);return o.set(U,I),wJ.set(U,w),V(I,G,U),w}var xJ=new Map;function vJ(J,$="stoop"){let Y=$||"";xJ.set(Y,J)}function eJ(J="stoop"){let $=J||"";return xJ.get($)||null}function YJ(J,$){let Y={...J},q=Object.keys($);for(let X of q){if(X==="media")continue;let Z=$[X],G=J[X];if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&G&&typeof G==="object"&&!Array.isArray(G))Y[X]={...G,...Z};else if(Z!==void 0)Y[X]=Z}return Y}function qJ(J,$="stoop"){let Y=eJ($);if(!Y)return J;if(jJ(J,Y))return J;return YJ(Y,J)}function NJ(J,$="stoop",Y="data-theme"){if(!R())return;let q={};for(let[Z,G]of Object.entries(J))q[Z]=qJ(G,$);let X=S(q,$,Y);PJ(X,$)}function TJ(J){return function $(Y={}){let q=T(Y);return YJ(J,q)}}function bJ(J,$="stoop",Y,q,X){return function Z(G){return y(G,J,$,Y,q,X)}}function J0(J,$,Y,q){let X=`@keyframes ${$} {`,Z=Object.keys(J).sort((G,Q)=>{let F=parseFloat(G.replace("%","")),D=parseFloat(Q.replace("%",""));if(G==="from")return-1;if(Q==="from")return 1;if(G==="to")return 1;if(Q==="to")return-1;return F-D});for(let G of Z){if(!IJ(G))continue;let Q=J[G];if(!Q||typeof Q!=="object")continue;X+=` ${G} {`;let F=P(Q,Y,q),D=Object.keys(F).sort();for(let W of D){let w=F[W];if(w!==void 0&&(typeof w==="string"||typeof w==="number")){let U=u(W);if(U){let H=String(w);X+=` ${U}: ${H};`}}}X+=" }"}return X+=" }",X}function fJ(J="stoop",$,Y){let q=B(J),X=new L(WJ);return function Z(G){let Q=r(G),F=X.get(Q);if(F)return F;let D=Q.slice(0,8),W=q?`${q}-${D}`:`stoop-${D}`,w=J0(G,W,$,Y),U=`__keyframes_${W}`;return V(w,q,U),X.set(Q,W),W}}var XJ=new Set;function CJ(J,$="stoop",Y,q,X){return function Z(G){let Q=r(G);if(XJ.has(Q))return()=>{};XJ.add(Q);let F=B($),D=j(G,q),W=P(D,J,X),w=A(W,"",0,Y);return V(w,F,`__global_${Q}`),()=>{XJ.delete(Q)}}}function kJ(J){let{globalCss:$,media:Y,prefix:q="stoop",theme:X,themeMap:Z,utils:G}=J,Q=B(q),F=T(X),D=F.media||Y,W={...z,...Z};vJ(F,Q);let w=bJ(F,Q,D,G,W),U=TJ(F),H=CJ(F,Q,D,G,W),I=fJ(Q,F,W),n=Object.freeze({...F});function SJ(K){for(let h of K)try{y(h,F,Q,D,G,W)}catch{}}function dJ(){if(!J.themes||Object.keys(J.themes).length===0)return;NJ(J.themes,Q)}function uJ(){let K="";if(J.themes&&Object.keys(J.themes).length>0){let g={};for(let[yJ,nJ]of Object.entries(J.themes))g[yJ]=qJ(nJ,Q);let FJ=S(g,Q,"data-theme");if(FJ)K+=FJ+`
14
- `}else{let g=$J(F,Q);if(g)K+=g+`
15
- `}let h=gJ(),GJ=t(h).trim();if(GJ)K+=(K?`
16
- `:"")+GJ;return K}return{config:{...J,prefix:Q},createTheme:U,css:w,getCssText:uJ,globalCss:H,globalCssConfig:$,keyframes:I,media:D,mergedThemeMap:W,preloadTheme:dJ,sanitizedPrefix:Q,theme:n,utils:G,validatedTheme:F,warmCache:SJ}}function $1(J){let $=kJ(J);return{config:{...$.config,prefix:$.sanitizedPrefix},createTheme:$.createTheme,css:$.css,getCssText:$.getCssText,globalCss:$.globalCss,keyframes:$.keyframes,preloadTheme:$.preloadTheme,theme:$.theme,warmCache:$.warmCache}}export{$1 as createStoop};
13
+ `)}function j(q,J,$,Y){if(!q||typeof q!=="object")return q;let G=Object.keys(q),w=!1;for(let X of G){let Z=q[X];if(typeof Z==="string"&&Z.includes("$")){w=!0;break}}if(!w&&!J)return q;let Q={},W=!1;for(let X of G){let Z=q[X];if(S(Z)){let D=j(Z,J,$,void 0);if(Q[X]=D,D!==Z)W=!0}else if(typeof Z==="string"&&Z.includes("$")){W=!0;let D=Y||X;if(Z.startsWith("$")&&!Z.includes(" ")&&!Z.includes("calc(")&&Z===Z.trim())if(Z.startsWith("-$")){let F=Z.slice(1);if(F.includes(".")||F.includes("$")){let H=F.includes("$")?F.split("$"):F.split("."),_=!1;for(let B=0;B<H.length;B++){let I=H[B];for(let O=0;O<I.length;O++){let L=I.charCodeAt(O);if(!(L>=48&&L<=57||L>=65&&L<=90||L>=97&&L<=122||L===45||L===95)){_=!0;break}}if(_)break}if(_){let I=`--${H.map((O)=>M(O)).join("-")}`;Q[X]=`calc(-1 * var(${I}))`}else{let B=`--${H.join("-")}`;Q[X]=`calc(-1 * var(${B}))`}}else{let H=c(F,J,D,$);Q[X]=`calc(-1 * ${H})`}}else{let F=Z.slice(1);if(F.includes(".")||F.includes("$")){let H=F.includes("$")?F.split("$"):F.split("."),_=!1;for(let B=0;B<H.length;B++){let I=H[B];for(let O=0;O<I.length;O++){let L=I.charCodeAt(O);if(!(L>=48&&L<=57||L>=65&&L<=90||L>=97&&L<=122||L===45||L===95)){_=!0;break}}if(_)break}if(_){let I=`--${H.map((O)=>M(O)).join("-")}`;Q[X]=`var(${I})`}else{let B=`--${H.join("-")}`;Q[X]=`var(${B})`}}else Q[X]=c(Z,J,D,$)}else Q[X]=Z.replace(iq,(F)=>{if(F.startsWith("-$")){let H=F.slice(1);return`calc(-1 * ${c(H,J,D,$)})`}return c(F,J,D,$)})}else Q[X]=Z}if(!W)return q;return Q}var K=new R(z);function aq(q){return q.replace(/([A-Z])/g,"-$1").toLowerCase()}function tq(q){if(q===q.toUpperCase()&&q.length>1)return q.charAt(0)+q.slice(1).toLowerCase();return q}function o(q){if(!q)return"";return q.charAt(0).toLowerCase()+q.slice(1).replace(/([A-Z])/g,"-$1").toLowerCase()}function b(q){if(!q||typeof q!=="string")return"";let J=K.get(q);if(J!==void 0)return J;if(/^-[a-z]+-/.test(q))return K.set(q,q),q;let $=tq(q);if(/^[Mm]oz/i.test($)){if($.length===3||$.toLowerCase()==="moz")return K.set(q,"-moz"),"-moz";let Q=$.match(/^[Mm]oz(.+)$/i);if(Q&&Q[1]){let[,W]=Q,X=o(W);if(X){let Z=`-moz-${X}`;return K.set(q,Z),Z}}}if(/^[Ww]ebkit/i.test($)){if($.length===6||$.toLowerCase()==="webkit")return K.set(q,"-webkit"),"-webkit";let Q=$.match(/^[Ww]ebkit(.+)$/i);if(Q&&Q[1]){let[,W]=Q,X=o(W);if(X){let Z=`-webkit-${X}`;return K.set(q,Z),Z}}}if(/^[Mm]s/i.test($)){if($.length===2||$.toLowerCase()==="ms")return K.set(q,"-ms"),"-ms";let Q=$.match(/^[Mm]s(.+)$/i);if(Q&&Q[1]){let[,W]=Q,X=o(W);if(X){let Z=`-ms-${X}`;return K.set(q,Z),Z}}}if(/^O/i.test($)){if($.length===1||$.toLowerCase()==="o")return K.set(q,"-o"),"-o";if(/^O[A-Z]/.test($)){let Q=$.substring(1),W=o(Q);if(W){let X=`-o-${W}`;return K.set(q,X),X}}}let w=aq($).replace(/[^a-zA-Z0-9-]/g,"").replace(/^-+|-+$/g,"").replace(/^\d+/,"")||"";return K.set(q,w),w}function Tq(q,J){if(typeof q==="symbol"&&q===Bq)return!0;if(s(J))return!0;if(typeof q==="string"&&q.startsWith("__STOOP_COMPONENT_"))return!0;return!1}function eq(q,J){if(typeof J==="object"&&J!==null&&"__stoopClassName"in J&&typeof J.__stoopClassName==="string")return J.__stoopClassName;if(typeof q==="string"&&q.startsWith("__STOOP_COMPONENT_"))return q.replace("__STOOP_COMPONENT_","");return""}function E(q,J="",$=0,Y){if(!q||typeof q!=="object")return"";if($>Uq)return"";let G=[],w=[],Q=J===""?Object.keys(q).sort():Object.keys(q);for(let X of Q){let Z=q[X];if(Tq(X,Z)){let D=eq(X,Z);if(!D)continue;let U=g(D);if(!U)continue;let F=J?`${J} .${U}`:`.${U}`,H=d(Z)?E(Z,F,$+1,Y):"";if(H)w.push(H);continue}if(d(Z))if(Y&&X in Y){let D=Iq(Y[X]);if(D){let U=E(Z,J,$+1,Y);if(U)w.push(`${D} { ${U} }`)}}else if(X.startsWith("@")){let D=g(X);if(D){let U=E(Z,J,$+1,Y);if(U)w.push(`${D} { ${U} }`)}}else if(X.includes("&")){let D=g(X);if(D){let F=D.split("&").join(J),H=E(Z,F,$+1,Y);if(H)w.push(H)}}else if(X.startsWith(":")){let D=g(X);if(D){let U=`${J}${D}`,F=E(Z,U,$+1,Y);if(F)w.push(F)}}else if(X.includes(" ")||X.includes(">")||X.includes("+")||X.includes("~")){let D=g(X);if(D){let F=/^[\s>+~]/.test(D.trim())?`${J}${D}`:`${J} ${D}`,H=E(Z,F,$+1,Y);if(H)w.push(H)}}else{let D=g(X);if(D){let U=J?`${J} ${D}`:D,F=E(Z,U,$+1,Y);if(F)w.push(F)}}else if(Z!==void 0){let D=b(X);if(D&&(typeof Z==="string"||typeof Z==="number")){let U=qq(Z);G.push(`${D}: ${U};`)}}}let W=[];if(G.length>0)W.push(`${J} { ${G.join(" ")} }`);return W.push(...w),W.join("")}function qJ(q,J){if(!q||typeof q!=="object")return"";let $=[],Y=Object.keys(q).sort();for(let G of Y){let w=q[G];if(d(w))return"";if(J&&G in J)return"";if(G.startsWith("@")||G.includes("&")||G.startsWith(":")||G.includes(" ")||G.includes(">")||G.includes("+")||G.includes("~"))return"";if(w!==void 0&&!Tq(G,w)){let Q=b(G);if(Q&&(typeof w==="string"||typeof w==="number")){let W=qq(w);$.push(`${Q}: ${W};`)}}}return $.join(" ")}function p(q,J,$="stoop",Y,G,w){let Q=A($),W=T(q,G),X=j(W,J,w),Z=qJ(X,Y),D,U;if(Z)D=Z,U=f(D);else D=E(X,"",0,Y),U=f(D);let F=Q?`${Q}-${U}`:`css-${U}`,H=`${Q}:${F}`,_=r.get(H);if(_)return x(_,Q,H),F;let B;if(Z)B=`.${F} { ${Z} }`;else B=E(X,`.${F}`,0,Y);return r.set(H,B),Lq.set(H,F),x(B,Q,H),F}var fq=new Map;function bq(q,J="stoop"){let $=J||"";fq.set($,q)}function JJ(q="stoop"){let J=q||"";return fq.get(J)||null}function Qq(q,J){let $={...q},Y=Object.keys(J);for(let G of Y){if(G==="media")continue;let w=J[G],Q=q[G];if(w&&typeof w==="object"&&!Array.isArray(w)&&Q&&typeof Q==="object"&&!Array.isArray(Q))$[G]={...Q,...w};else if(w!==void 0)$[G]=w}return $}function Zq(q,J="stoop"){let $=JJ(J);if(!$)return q;if(vq(q,$))return q;return Qq($,q)}function Cq(q,J="stoop",$="data-theme"){if(!P())return;let Y={};for(let[w,Q]of Object.entries(q))Y[w]=Zq(Q,J);let G=m(Y,J,$);xq(G,J)}function kq(q){return function J($={}){let Y=u($);return Qq(q,Y)}}function Sq(q,J="stoop",$,Y,G){return function w(Q){return p(Q,q,J,$,Y,G)}}function $J(q,J,$,Y){let G=`@keyframes ${J} {`,w=Object.keys(q).sort((Q,W)=>{let X=parseFloat(Q.replace("%","")),Z=parseFloat(W.replace("%",""));if(Q==="from")return-1;if(W==="from")return 1;if(Q==="to")return 1;if(W==="to")return-1;return X-Z});for(let Q of w){if(!Kq(Q))continue;let W=q[Q];if(!W||typeof W!=="object")continue;G+=` ${Q} {`;let X=j(W,$,Y),Z=Object.keys(X).sort();for(let D of Z){let U=X[D];if(U!==void 0&&(typeof U==="string"||typeof U==="number")){let F=b(D);if(F){let H=String(U);G+=` ${F}: ${H};`}}}G+=" }"}return G+=" }",G}function dq(q="stoop",J,$){let Y=A(q),G=new R(Hq);return function w(Q){let W=e(Q),X=G.get(W);if(X)return X;let Z=W.slice(0,8),D=Y?`${Y}-${Z}`:`stoop-${Z}`,U=$J(Q,D,J,$),F=`__keyframes_${D}`;return x(U,Y,F),G.set(W,D),D}}var Wq=new Set;function uq(q,J="stoop",$,Y,G){return function w(Q){let W=e(Q);if(Wq.has(W))return()=>{};Wq.add(W);let X=A(J),Z=T(Q,Y),D=j(Z,q,G),U=E(D,"",0,$);return x(U,X,`__global_${W}`),()=>{Wq.delete(W)}}}function yq(q){let{globalCss:J,media:$,prefix:Y="stoop",theme:G,themeMap:w,utils:Q}=q,W=A(Y),X=u(G),Z=X.media||$,D={...v,...w};bq(X,W);let U=Sq(X,W,Z,Q,D),F=kq(X),H=uq(X,W,Z,Q,D),_=dq(W,X,D),B=Object.freeze({...X});function I(V){for(let l of V)try{p(l,X,W,Z,Q,D)}catch{}}function O(){if(!q.themes||Object.keys(q.themes).length===0)return;Cq(q.themes,W)}function L(){let V="";if(q.themes&&Object.keys(q.themes).length>0){let N={};for(let[nq,hq]of Object.entries(q.themes))N[nq]=Zq(hq,W);let Dq=m(N,W,"data-theme");if(Dq)V+=Dq+`
14
+ `}else{let N=Xq(X,W);if(N)V+=N+`
15
+ `}let l=jq(),wq=Yq(l).trim();if(wq)V+=(V?`
16
+ `:"")+wq;return V}return{config:{...q,prefix:W},createTheme:F,css:U,getCssText:L,globalCss:H,globalCssConfig:J,keyframes:_,media:Z,mergedThemeMap:D,preloadTheme:O,sanitizedPrefix:W,theme:B,utils:Q,validatedTheme:X,warmCache:I}}function Y0(q){let J=yq(q);return{config:{...J.config,prefix:J.sanitizedPrefix},createTheme:J.createTheme,css:J.css,getCssText:J.getCssText,globalCss:J.globalCss,keyframes:J.keyframes,preloadTheme:J.preloadTheme,theme:J.theme,warmCache:J.warmCache}}export{Y0 as createStoop};
@@ -1,16 +1,16 @@
1
- var r=Object.freeze({}),s=1e4,CJ=5000,fJ=10,SJ=500,S=1000,dJ=31536000,uJ="/",WJ=["colors","opacities","space","radii","sizes","fonts","fontWeights","fontSizes","lineHeights","letterSpacings","shadows","zIndices","transitions"],n={accentColor:"colors",animation:"transitions",animationDelay:"transitions",animationDuration:"transitions",animationTimingFunction:"transitions",backdropFilter:"shadows",background:"colors",backgroundColor:"colors",blockSize:"sizes",border:"colors",borderBlockColor:"colors",borderBlockEndColor:"colors",borderBlockStartColor:"colors",borderBottomColor:"colors",borderBottomLeftRadius:"radii",borderBottomRightRadius:"radii",borderColor:"colors",borderEndEndRadius:"radii",borderEndStartRadius:"radii",borderInlineColor:"colors",borderInlineEndColor:"colors",borderInlineStartColor:"colors",borderLeftColor:"colors",borderRadius:"radii",borderRightColor:"colors",borderStartEndRadius:"radii",borderStartStartRadius:"radii",borderTopColor:"colors",borderTopLeftRadius:"radii",borderTopRightRadius:"radii",bottom:"space",boxShadow:"shadows",caretColor:"colors",color:"colors",columnGap:"space",columnRuleColor:"colors",fill:"colors",filter:"shadows",flexBasis:"sizes",floodColor:"colors",font:"fontSizes",fontFamily:"fonts",fontSize:"fontSizes",fontWeight:"fontWeights",gap:"space",gridColumnGap:"space",gridGap:"space",gridRowGap:"space",height:"sizes",inlineSize:"sizes",inset:"space",insetBlock:"space",insetBlockEnd:"space",insetBlockStart:"space",insetInline:"space",insetInlineEnd:"space",insetInlineStart:"space",left:"space",letterSpacing:"letterSpacings",lightingColor:"colors",lineHeight:"lineHeights",margin:"space",marginBlock:"space",marginBlockEnd:"space",marginBlockStart:"space",marginBottom:"space",marginInline:"space",marginInlineEnd:"space",marginInlineStart:"space",marginLeft:"space",marginRight:"space",marginTop:"space",maxBlockSize:"sizes",maxHeight:"sizes",maxInlineSize:"sizes",maxWidth:"sizes",minBlockSize:"sizes",minHeight:"sizes",minInlineSize:"sizes",minWidth:"sizes",opacity:"opacities",outline:"colors",outlineColor:"colors",padding:"space",paddingBlock:"space",paddingBlockEnd:"space",paddingBlockStart:"space",paddingBottom:"space",paddingInline:"space",paddingInlineEnd:"space",paddingInlineStart:"space",paddingLeft:"space",paddingRight:"space",paddingTop:"space",right:"space",rowGap:"space",size:"sizes",stopColor:"colors",stroke:"colors",textDecorationColor:"colors",textEmphasisColor:"colors",textShadow:"shadows",top:"space",transition:"transitions",transitionDelay:"transitions",transitionDuration:"transitions",transitionProperty:"transitions",transitionTimingFunction:"transitions",width:"sizes",zIndex:"zIndices"},a=Symbol.for("stoop.component");class V extends Map{maxSize;constructor(J){super();this.maxSize=J}get(J){let $=super.get(J);if($!==void 0)super.delete(J),super.set(J,$);return $}set(J,$){if(super.has(J))super.delete(J);else if(this.size>=this.maxSize){let q=this.keys().next().value;if(q!==void 0)super.delete(q)}return super.set(J,$),this}}var yJ=new V(CJ),DJ=new V(s);function w(){return typeof window!=="undefined"&&typeof document!=="undefined"&&typeof window.document==="object"&&typeof document.createElement==="function"}function d(){return typeof process!=="undefined"&&process.env?.NODE_ENV==="production"}function t(J){return typeof J==="object"&&J!==null}function m(J){return typeof J==="object"&&J!==null&&"__isStoopStyled"in J&&"__stoopClassName"in J&&J.__isStoopStyled===!0}function UJ(J){return t(J)&&!m(J)}function FJ(J){return typeof J==="object"&&J!==null&&!Array.isArray(J)}function e(J){if(!J||typeof J!=="object"||Array.isArray(J))throw new Error("[Stoop] Theme must be a non-null object");if(d())return J;let $=J,q=[];for(let X in $){if(X==="media")continue;if(!WJ.includes(X))q.push(X)}if(q.length>0){let X=`[Stoop] Theme contains invalid scales: ${q.join(", ")}. Only these scales are allowed: ${WJ.join(", ")}`;throw new Error(X)}return J}function i(J,$){if(!$||!J||typeof J!=="object")return J;let q={},X=Object.keys($);for(let Y in J){let W=J[Y];if(X.includes(Y)&&$[Y])try{let G=$[Y](W);if(G&&typeof G==="object")for(let Z in G)q[Z]=G[Z]}catch{q[Y]=W}else if(t(W))q[Y]=i(W,$);else q[Y]=W}return q}var HJ=null,hJ=new V(S),cJ=new V(S),pJ=new V(S);function u(J){let X=2166136261;for(let Y=0;Y<J.length;Y++)X^=J.charCodeAt(Y),X=Math.imul(X,16777619);return X^=J.length,(X>>>0).toString(36)}function LJ(J){try{return u(JSON.stringify(J))}catch{return u(String(J))}}function nJ(J,$=!1){let X=String(J).replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/'/g,"\\'").replace(/;/g,"\\;").replace(/\n/g,"\\A ").replace(/\r/g,"").replace(/\f/g,"\\C ");if($)X=X.replace(/\{/g,"\\7B ").replace(/\}/g,"\\7D ");return X}function mJ(J){return nJ(J,!1)}function k(J){let $=hJ.get(J);if($!==void 0)return $;let q=J.replace(/[^a-zA-Z0-9\s\-_>+~:.#[\]&@()]/g,""),X=!q.trim()||/^[>+~:.#[\]&@()\s]+$/.test(q)?"":q;return hJ.set(J,X),X}function b(J){let $=pJ.get(J);if($!==void 0)return $;let Y=J.replace(/[^a-zA-Z0-9-_]/g,"-").replace(/^[\d-]+/,"").replace(/^-+/,"")||"invalid";return pJ.set(J,Y),Y}function iJ(J){return nJ(J,!0)}function M(J){if(!J)return"stoop";return J.replace(/[^a-zA-Z0-9-_]/g,"").replace(/^[\d-]+/,"").replace(/^-+/,"")||"stoop"}function oJ(J){if(!J||typeof J!=="string")return"";let $=J.replace(/[^a-zA-Z0-9\s():,<>=\-@]/g,"");if(!$.trim()||!/[a-zA-Z]/.test($))return"";return $}function lJ(J){if(!J||typeof J!=="string")return"";let $=cJ.get(J);if($!==void 0)return $;let q=J.trim().split(/\s+/),X=[];for(let W of q){if(!W)continue;let Z=W.replace(/[^a-zA-Z0-9-_]/g,"").replace(/^\d+/,"");if(Z&&/^[a-zA-Z-_]/.test(Z))X.push(Z)}let Y=X.join(" ");return cJ.set(J,Y),Y}function rJ(J){if(!J||typeof J!=="string")return!1;if(J==="from"||J==="to")return!0;if(/^\d+(\.\d+)?%$/.test(J)){let q=parseFloat(J);return q>=0&&q<=100}return!1}function sJ(J=""){if(!HJ){let q=":root".replace(/[.*+?^${}()|[\]\\]/g,"\\$&");HJ=new RegExp(`${q}\\s*\\{[\\s\\S]*\\}`)}return HJ}function O0(J){if(J.includes("Color")||J==="fill"||J==="stroke"||J==="accentColor"||J==="caretColor"||J==="border"||J==="outline"||J.includes("background")&&!J.includes("Size")&&!J.includes("Image"))return"colors";if(/^(margin|padding|gap|inset|top|right|bottom|left|rowGap|columnGap|gridGap|gridRowGap|gridColumnGap)/.test(J)||J.includes("Block")||J.includes("Inline"))return"space";if(/(width|height|size|basis)$/i.test(J)||J.includes("BlockSize")||J.includes("InlineSize"))return"sizes";if(J==="fontSize"||J==="font"&&!J.includes("Family"))return"fontSizes";if(J==="fontFamily"||J.includes("FontFamily"))return"fonts";if(J==="fontWeight"||J.includes("FontWeight"))return"fontWeights";if(J==="letterSpacing"||J.includes("LetterSpacing"))return"letterSpacings";if(J.includes("Radius")||J.includes("radius"))return"radii";if(J.includes("Shadow")||J.includes("shadow")||J==="filter"||J==="backdropFilter")return"shadows";if(J==="zIndex"||J.includes("ZIndex")||J.includes("z-index"))return"zIndices";if(J==="opacity"||J.includes("Opacity"))return"opacities";if(J.startsWith("transition")||J.startsWith("animation")||J.includes("Transition")||J.includes("Animation"))return"transitions";return}function aJ(J,$){if($&&J in $)return $[J];if(J in n)return n[J];return O0(J)}var BJ=new Map;function qJ(J){return BJ.has(J)}function $J(J,$){BJ.set(J,$)}var wJ=new V(s);function J0(J){if(!wJ.has(J))wJ.set(J,!0)}function tJ(){return Array.from(wJ.keys()).join(`
2
- `)}var JJ=new Map;var eJ=new Map;function $0(J="stoop"){if(!w())throw new Error("Cannot access document in SSR context");let $=M(J),q=JJ.get($);if(!q||!q.parentNode){let X=document.getElementById("stoop-ssr");if(X){let Y=X.getAttribute("data-stoop");if(!Y||Y===$)return q=X,q.setAttribute("data-stoop",$),JJ.set($,q),q}q=document.createElement("style"),q.setAttribute("data-stoop",$),q.setAttribute("id",`stoop-${$}`),document.head.appendChild(q),JJ.set($,q)}return q}function _J(J){let $=J,q=sJ("");$=$.replace(q,"").trim();let X=$.indexOf("[data-theme=");while(X!==-1){let Y=$.indexOf("{",X);if(Y===-1)break;let W=1,G=Y+1;while(G<$.length&&W>0){if($[G]==="{")W++;else if($[G]==="}")W--;G++}if(W===0){let Z=$.substring(0,X).trim(),Q=$.substring(G).trim();$=(Z+`
3
- `+Q).trim()}else break;X=$.indexOf("[data-theme=")}return $.trim()}function q0(J,$="stoop"){if(!J)return;let q=M($),X=`__all_theme_vars_${q}`;if((eJ.get(X)??null)===J)return;if(eJ.set(X,J),!w()){J0(J);return}let W=$0(q),G=W.textContent||"",Z=G.includes(":root")||G.includes("[data-theme=");if(qJ(X)||Z){let Q=_J(G);W.textContent=J+(Q?`
1
+ var s=Object.freeze({}),a=1e4,kJ=5000,SJ=10,dJ=500,d=1000,uJ=31536000,yJ="/",UJ=["colors","opacities","space","radii","sizes","fonts","fontWeights","fontSizes","lineHeights","letterSpacings","shadows","zIndices","transitions"],n={accentColor:"colors",animation:"transitions",animationDelay:"transitions",animationDuration:"transitions",animationTimingFunction:"transitions",backdropFilter:"shadows",background:"colors",backgroundColor:"colors",blockSize:"sizes",border:"colors",borderBlockColor:"colors",borderBlockEndColor:"colors",borderBlockStartColor:"colors",borderBottomColor:"colors",borderBottomLeftRadius:"radii",borderBottomRightRadius:"radii",borderColor:"colors",borderEndEndRadius:"radii",borderEndStartRadius:"radii",borderInlineColor:"colors",borderInlineEndColor:"colors",borderInlineStartColor:"colors",borderLeftColor:"colors",borderRadius:"radii",borderRightColor:"colors",borderStartEndRadius:"radii",borderStartStartRadius:"radii",borderTopColor:"colors",borderTopLeftRadius:"radii",borderTopRightRadius:"radii",bottom:"space",boxShadow:"shadows",caretColor:"colors",color:"colors",columnGap:"space",columnRuleColor:"colors",fill:"colors",filter:"shadows",flexBasis:"sizes",floodColor:"colors",font:"fontSizes",fontFamily:"fonts",fontSize:"fontSizes",fontWeight:"fontWeights",gap:"space",gridColumnGap:"space",gridGap:"space",gridRowGap:"space",height:"sizes",inlineSize:"sizes",inset:"space",insetBlock:"space",insetBlockEnd:"space",insetBlockStart:"space",insetInline:"space",insetInlineEnd:"space",insetInlineStart:"space",left:"space",letterSpacing:"letterSpacings",lightingColor:"colors",lineHeight:"lineHeights",margin:"space",marginBlock:"space",marginBlockEnd:"space",marginBlockStart:"space",marginBottom:"space",marginInline:"space",marginInlineEnd:"space",marginInlineStart:"space",marginLeft:"space",marginRight:"space",marginTop:"space",maxBlockSize:"sizes",maxHeight:"sizes",maxInlineSize:"sizes",maxWidth:"sizes",minBlockSize:"sizes",minHeight:"sizes",minInlineSize:"sizes",minWidth:"sizes",opacity:"opacities",outline:"colors",outlineColor:"colors",padding:"space",paddingBlock:"space",paddingBlockEnd:"space",paddingBlockStart:"space",paddingBottom:"space",paddingInline:"space",paddingInlineEnd:"space",paddingInlineStart:"space",paddingLeft:"space",paddingRight:"space",paddingTop:"space",right:"space",rowGap:"space",size:"sizes",stopColor:"colors",stroke:"colors",textDecorationColor:"colors",textEmphasisColor:"colors",textShadow:"shadows",top:"space",transition:"transitions",transitionDelay:"transitions",transitionDuration:"transitions",transitionProperty:"transitions",transitionTimingFunction:"transitions",width:"sizes",zIndex:"zIndices"},t=Symbol.for("stoop.component");class V extends Map{maxSize;constructor(J){super();this.maxSize=J}get(J){let $=super.get(J);if($!==void 0)super.delete(J),super.set(J,$);return $}set(J,$){if(super.has(J))super.delete(J);else if(this.size>=this.maxSize){let q=this.keys().next().value;if(q!==void 0)super.delete(q)}return super.set(J,$),this}}var hJ=new V(kJ),HJ=new V(a);function O(){return typeof window!=="undefined"&&typeof document!=="undefined"&&typeof window.document==="object"&&typeof document.createElement==="function"}function u(){return typeof process!=="undefined"&&process.env?.NODE_ENV==="production"}function e(J){return typeof J==="object"&&J!==null}function m(J){return typeof J==="object"&&J!==null&&"__isStoopStyled"in J&&"__stoopClassName"in J&&J.__isStoopStyled===!0}function JJ(J){return e(J)&&!m(J)}function FJ(J){return typeof J==="object"&&J!==null&&!Array.isArray(J)}function $J(J){if(!J||typeof J!=="object"||Array.isArray(J))throw new Error("[Stoop] Theme must be a non-null object");if(u())return J;let $=J,q=[];for(let X in $){if(X==="media")continue;if(!UJ.includes(X))q.push(X)}if(q.length>0){let X=`[Stoop] Theme contains invalid scales: ${q.join(", ")}. Only these scales are allowed: ${UJ.join(", ")}`;throw new Error(X)}return J}function o(J,$){if(!$||!J||typeof J!=="object")return J;let q=Object.keys($),X=!1;for(let Z in J)if(q.includes(Z)){X=!0;break}if(!X)return J;let Y={};for(let Z in J){let G=J[Z];if(q.includes(Z)&&$[Z])try{let W=$[Z](G);if(W&&typeof W==="object")for(let Q in W)Y[Q]=W[Q]}catch{Y[Z]=G}else if(e(G))Y[Z]=o(G,$);else Y[Z]=G}return Y}var LJ=null,cJ=new V(d),pJ=new V(d),nJ=new V(d);function C(J){if(J.length===0)return"0";let $=2166136261,q=16777619,X=$;for(let Y=0;Y<J.length;Y++)X^=J.charCodeAt(Y),X=Math.imul(X,q);return X^=J.length,(X>>>0).toString(36)}function wJ(J){try{return C(JSON.stringify(J))}catch{return C(String(J))}}function mJ(J,$=!1){let X=String(J).replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/'/g,"\\'").replace(/;/g,"\\;").replace(/\n/g,"\\A ").replace(/\r/g,"").replace(/\f/g,"\\C ");if($)X=X.replace(/\{/g,"\\7B ").replace(/\}/g,"\\7D ");return X}function BJ(J){return mJ(J,!1)}function b(J){let $=cJ.get(J);if($!==void 0)return $;let q=J.replace(/[^a-zA-Z0-9\s\-_>+~:.#[\]&@()]/g,""),X=!q.trim()||/^[>+~:.#[\]&@()\s]+$/.test(q)?"":q;return cJ.set(J,X),X}function v(J){let $=nJ.get(J);if($!==void 0)return $;let Y=J.replace(/[^a-zA-Z0-9-_]/g,"-").replace(/^[\d-]+/,"").replace(/^-+/,"")||"invalid";return nJ.set(J,Y),Y}function oJ(J){return mJ(J,!0)}function K(J){if(!J)return"stoop";return J.replace(/[^a-zA-Z0-9-_]/g,"").replace(/^[\d-]+/,"").replace(/^-+/,"")||"stoop"}function iJ(J){if(!J||typeof J!=="string")return"";let $=J.replace(/[^a-zA-Z0-9\s():,<>=\-@]/g,"");if(!$.trim()||!/[a-zA-Z]/.test($))return"";return $}function lJ(J){if(!J||typeof J!=="string")return"";let $=pJ.get(J);if($!==void 0)return $;let q=J.trim().split(/\s+/),X=[];for(let Z of q){if(!Z)continue;let W=Z.replace(/[^a-zA-Z0-9-_]/g,"").replace(/^\d+/,"");if(W&&/^[a-zA-Z-_]/.test(W))X.push(W)}let Y=X.join(" ");return pJ.set(J,Y),Y}function rJ(J){if(!J||typeof J!=="string")return!1;if(J==="from"||J==="to")return!0;if(/^\d+(\.\d+)?%$/.test(J)){let q=parseFloat(J);return q>=0&&q<=100}return!1}function sJ(J=""){if(!LJ){let q=":root".replace(/[.*+?^${}()|[\]\\]/g,"\\$&");LJ=new RegExp(`${q}\\s*\\{[\\s\\S]*\\}`)}return LJ}function M0(J){if(J.includes("Color")||J==="fill"||J==="stroke"||J==="accentColor"||J==="caretColor"||J==="border"||J==="outline"||J.includes("background")&&!J.includes("Size")&&!J.includes("Image"))return"colors";if(/^(margin|padding|gap|inset|top|right|bottom|left|rowGap|columnGap|gridGap|gridRowGap|gridColumnGap)/.test(J)||J.includes("Block")||J.includes("Inline"))return"space";if(/(width|height|size|basis)$/i.test(J)||J.includes("BlockSize")||J.includes("InlineSize"))return"sizes";if(J==="fontSize"||J==="font"&&!J.includes("Family"))return"fontSizes";if(J==="fontFamily"||J.includes("FontFamily"))return"fonts";if(J==="fontWeight"||J.includes("FontWeight"))return"fontWeights";if(J==="letterSpacing"||J.includes("LetterSpacing"))return"letterSpacings";if(J.includes("Radius")||J.includes("radius"))return"radii";if(J.includes("Shadow")||J.includes("shadow")||J==="filter"||J==="backdropFilter")return"shadows";if(J==="zIndex"||J.includes("ZIndex")||J.includes("z-index"))return"zIndices";if(J==="opacity"||J.includes("Opacity"))return"opacities";if(J.startsWith("transition")||J.startsWith("animation")||J.includes("Transition")||J.includes("Animation"))return"transitions";return}function aJ(J,$){if($&&J in $)return $[J];if(J in n)return n[J];return M0(J)}var _J=new Map;function YJ(J){return _J.has(J)}function XJ(J,$){_J.set(J,$)}var AJ=new V(a);function J0(J){if(!AJ.has(J))AJ.set(J,!0)}function tJ(){return Array.from(AJ.keys()).join(`
2
+ `)}var qJ=new Map;var eJ=new Map;function $0(J="stoop"){if(!O())throw new Error("Cannot access document in SSR context");let $=K(J),q=qJ.get($);if(!q||!q.parentNode){let X=document.getElementById("stoop-ssr");if(X){let Y=X.getAttribute("data-stoop");if(!Y||Y===$)return q=X,q.setAttribute("data-stoop",$),qJ.set($,q),q}q=document.createElement("style"),q.setAttribute("data-stoop",$),q.setAttribute("id",`stoop-${$}`),document.head.appendChild(q),qJ.set($,q)}return q}function OJ(J){let $=J,q=sJ("");$=$.replace(q,"").trim();let X=$.indexOf("[data-theme=");while(X!==-1){let Y=$.indexOf("{",X);if(Y===-1)break;let Z=1,G=Y+1;while(G<$.length&&Z>0){if($[G]==="{")Z++;else if($[G]==="}")Z--;G++}if(Z===0){let W=$.substring(0,X).trim(),Q=$.substring(G).trim();$=(W+`
3
+ `+Q).trim()}else break;X=$.indexOf("[data-theme=")}return $.trim()}function q0(J,$="stoop"){if(!J)return;let q=K($),X=`__all_theme_vars_${q}`;if((eJ.get(X)??null)===J)return;if(eJ.set(X,J),!O()){J0(J);return}let Z=$0(q),G=Z.textContent||"",W=G.includes(":root")||G.includes("[data-theme=");if(YJ(X)||W){let Q=OJ(G);Z.textContent=J+(Q?`
4
4
 
5
- `+Q:""),$J(X,J)}else W.textContent=J+(G?`
5
+ `+Q:""),XJ(X,J)}else Z.textContent=J+(G?`
6
6
 
7
- `+G:""),$J(X,J)}function M0(J,$,q="stoop"){if(!w())return;let X=M(q);if(qJ($))return;let Y=$0(X),W=Y.textContent||"";Y.textContent=W+(W?`
8
- `:"")+J,$J($,J)}function E0(J,$,q="stoop"){if(qJ($))return;let X=M(q);M0(J,$,X)}function V0(J="stoop"){let $=M(J);return JJ.get($)||null}function K0(){return new Map(BJ)}function y(J,$="stoop",q){let X=q||J;if(!w()){if(!qJ(X))$J(X,J);J0(J);return}E0(J,X,$)}function X0(J="stoop"){if(w()){let $=M(J),q=V0($);if(q&&q.parentNode){let X=q.textContent||"";if(!X&&K0().size>0)return tJ();return X}}return tJ()}var z0=/(-?\$[a-zA-Z][a-zA-Z0-9]*(?:\$[a-zA-Z][a-zA-Z0-9]*)?(?:\.[a-zA-Z][a-zA-Z0-9]*)?)/g;function IJ(J){let $=new Map;function q(X,Y=[]){let W=Object.keys(X);for(let G of W){let Z=X[G],Q=[...Y,G];if(FJ(Z))q(Z,Q);else{let D=$.get(G);if(D)D.push(Q);else $.set(G,[Q])}}}q(J);for(let[,X]of $.entries())if(X.length>1)X.sort((Y,W)=>{let G=Y.length-W.length;if(G!==0)return G;let Z=Y.join("."),Q=W.join(".");return Z.localeCompare(Q)});return $}function P0(J,$){let q=Object.keys(J).filter((Y)=>Y!=="media"),X=Object.keys($).filter((Y)=>Y!=="media");if(q.length!==X.length)return!1;for(let Y of q)if(!(Y in $))return!1;return!0}function G0(J,$){if(J===$)return!0;if(!J||!$)return!1;if(!P0(J,$))return!1;let q={...J},X={...$};return delete q.media,delete X.media,JSON.stringify(q)===JSON.stringify(X)}function AJ(J,$,q){if(q&&q in J){let W=J[q];if(W&&typeof W==="object"&&!Array.isArray(W)&&$ in W)return[q,$]}let Y=IJ(J).get($);if(!Y||Y.length===0)return null;return Y[0]}function Y0(J,$,q,X){if(!J.startsWith("$"))return J;let Y=J.slice(1);if(Y.includes("$")||Y.includes("."))return`var(${`--${(Y.includes("$")?Y.split("$"):Y.split(".")).map((U)=>b(U)).join("-")}`})`;if($&&q){let Z=aJ(q,X);if(Z){let F=AJ($,Y,Z);if(F)return`var(${`--${F.map((O)=>b(O)).join("-")}`})`}let D=IJ($).get(Y);if(D&&D.length>1){if(!d()){let F=Z?`Property "${q}" maps to "${Z}" scale, but token not found there. `:`No scale mapping found for property "${q}". `;console.warn(`[Stoop] Ambiguous token "$${Y}" found in multiple categories: ${D.map((H)=>H.join(".")).join(", ")}. ${F}Using "${D[0].join(".")}" (deterministic: shorter paths first, then alphabetical). Use full path "$${D[0].join(".")}" to be explicit.`)}}let U=AJ($,Y);if(U)return`var(${`--${U.map((L)=>b(L)).join("-")}`})`}else if($){let Q=IJ($).get(Y);if(Q&&Q.length>1){if(!d())console.warn(`[Stoop] Ambiguous token "$${Y}" found in multiple categories: ${Q.map((U)=>U.join(".")).join(", ")}. Using "${Q[0].join(".")}" (deterministic: shorter paths first, then alphabetical). Use full path "$${Q[0].join(".")}" to be explicit, or use with a CSS property for automatic resolution.`)}let D=AJ($,Y);if(D)return`var(${`--${D.map((H)=>b(H)).join("-")}`})`}return`var(${`--${b(Y)}`})`}function RJ(J,$="stoop",q){let X=q||":root",Y=[];function W(G,Z=[]){let Q=Object.keys(G).sort();for(let D of Q){if(D==="media")continue;let U=G[D],F=[...Z,D];if(FJ(U))W(U,F);else{let L=`--${F.map((_)=>b(_)).join("-")}`,O=typeof U==="string"||typeof U==="number"?iJ(U):String(U);Y.push(` ${L}: ${O};`)}}}if(W(J),Y.length===0)return"";return`${X} {
7
+ `+G:""),XJ(X,J)}function E0(J,$,q="stoop"){if(!O())return;let X=K(q);if(YJ($))return;let Y=$0(X),Z=Y.textContent||"";Y.textContent=Z+(Z?`
8
+ `:"")+J,XJ($,J)}function K0(J,$,q="stoop"){if(YJ($))return;let X=K(q);E0(J,$,X)}function z0(J="stoop"){let $=K(J);return qJ.get($)||null}function V0(){return new Map(_J)}function y(J,$="stoop",q){let X=q||J;if(!O()){if(!YJ(X))XJ(X,J);J0(J);return}K0(J,X,$)}function X0(J="stoop"){if(O()){let $=K(J),q=z0($);if(q&&q.parentNode){let X=q.textContent||"";if(!X&&V0().size>0)return tJ();return X}}return tJ()}var P0=/(-?\$[a-zA-Z][a-zA-Z0-9]*(?:\$[a-zA-Z][a-zA-Z0-9]*)?(?:\.[a-zA-Z][a-zA-Z0-9]*)?)/g,Y0=new WeakMap;function IJ(J){let $=Y0.get(J);if($)return $;let q=new Map;function X(Y,Z=[]){let G=Object.keys(Y);for(let W of G){let Q=Y[W],D=[...Z,W];if(FJ(Q))X(Q,D);else{let U=q.get(W);if(U)U.push(D);else q.set(W,[D])}}}X(J);for(let[,Y]of q.entries())if(Y.length>1)Y.sort((Z,G)=>{let W=Z.length-G.length;if(W!==0)return W;let Q=Z.join("."),D=G.join(".");return Q.localeCompare(D)});return Y0.set(J,q),q}function j0(J,$){let q=Object.keys(J).filter((Y)=>Y!=="media"),X=Object.keys($).filter((Y)=>Y!=="media");if(q.length!==X.length)return!1;for(let Y of q)if(!(Y in $))return!1;return!0}function G0(J,$){if(J===$)return!0;if(!J||!$)return!1;if(!j0(J,$))return!1;let q={...J},X={...$};return delete q.media,delete X.media,JSON.stringify(q)===JSON.stringify(X)}function x0(J,$,q){if(q&&q in J){let Z=J[q];if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&$ in Z)return[q,$]}let Y=IJ(J).get($);if(!Y||Y.length===0)return null;return Y[0]}function GJ(J,$,q,X){if(!J.startsWith("$"))return J;let Y=J.slice(1);if(Y.includes("$")||Y.includes("."))return`var(${`--${(Y.includes("$")?Y.split("$"):Y.split(".")).map((U)=>v(U)).join("-")}`})`;if($&&q){let W=aJ(q,X);if(W){let U=x0($,Y,W);if(U)return`var(${`--${U.map((L)=>v(L)).join("-")}`})`}let D=IJ($).get(Y);if(D&&D.length>1){if(!u()){let U=W?`Property "${q}" maps to "${W}" scale, but token not found there. `:`No scale mapping found for property "${q}". `;console.warn(`[Stoop] Ambiguous token "$${Y}" found in multiple categories: ${D.map((H)=>H.join(".")).join(", ")}. ${U}Using "${D[0].join(".")}" (deterministic: shorter paths first, then alphabetical). Use full path "$${D[0].join(".")}" to be explicit.`)}}if(D&&D.length>0)return`var(${`--${D[0].map((L)=>v(L)).join("-")}`})`}else if($){let Q=IJ($).get(Y);if(Q&&Q.length>1){if(!u())console.warn(`[Stoop] Ambiguous token "$${Y}" found in multiple categories: ${Q.map((D)=>D.join(".")).join(", ")}. Using "${Q[0].join(".")}" (deterministic: shorter paths first, then alphabetical). Use full path "$${Q[0].join(".")}" to be explicit, or use with a CSS property for automatic resolution.`)}if(Q&&Q.length>0)return`var(${`--${Q[0].map((F)=>v(F)).join("-")}`})`}return`var(${`--${v(Y)}`})`}function RJ(J,$="stoop",q){let X=q||":root",Y=[];function Z(G,W=[]){let Q=Object.keys(G).sort();for(let D of Q){if(D==="media")continue;let U=G[D],H=[...W,D];if(FJ(U))Z(U,H);else{let L=`--${H.map((w)=>v(w)).join("-")}`,_=typeof U==="string"||typeof U==="number"?oJ(U):String(U);Y.push(` ${L}: ${_};`)}}}if(Z(J),Y.length===0)return"";return`${X} {
9
9
  ${Y.join(`
10
10
  `)}
11
- }`}function XJ(J,$="stoop",q="data-theme"){let X=[];for(let[Y,W]of Object.entries(J)){let G=`[${q}="${Y}"]`,Z=RJ(W,$,G);if(Z)X.push(Z)}return X.join(`
11
+ }`}function QJ(J,$="stoop",q="data-theme"){let X=[];for(let[Y,Z]of Object.entries(J)){let G=`[${q}="${Y}"]`,W=RJ(Z,$,G);if(W)X.push(W)}return X.join(`
12
12
 
13
- `)}function h(J,$,q,X){if(!J||typeof J!=="object")return J;let Y={},W=!1,G=Object.keys(J).sort();for(let Z of G){let Q=J[Z];if(t(Q)){let D=h(Q,$,q,void 0);if(Y[Z]=D,D!==Q)W=!0}else if(typeof Q==="string"&&Q.includes("$")){W=!0;let D=X||Z;Y[Z]=Q.replace(z0,(U)=>{if(U.startsWith("-$")){let F=U.slice(1);return`calc(-1 * ${Y0(F,$,D,q)})`}return Y0(U,$,D,q)})}else Y[Z]=Q}if(!W)return J;return Y}var x=new V(S);function j0(J){return J.replace(/([A-Z])/g,"-$1").toLowerCase()}function x0(J){if(J===J.toUpperCase()&&J.length>1)return J.charAt(0)+J.slice(1).toLowerCase();return J}function YJ(J){if(!J)return"";return J.charAt(0).toLowerCase()+J.slice(1).replace(/([A-Z])/g,"-$1").toLowerCase()}function GJ(J){if(!J||typeof J!=="string")return"";let $=x.get(J);if($!==void 0)return $;if(/^-[a-z]+-/.test(J))return x.set(J,J),J;let q=x0(J);if(/^[Mm]oz/i.test(q)){if(q.length===3||q.toLowerCase()==="moz")return x.set(J,"-moz"),"-moz";let G=q.match(/^[Mm]oz(.+)$/i);if(G&&G[1]){let[,Z]=G,Q=YJ(Z);if(Q){let D=`-moz-${Q}`;return x.set(J,D),D}}}if(/^[Ww]ebkit/i.test(q)){if(q.length===6||q.toLowerCase()==="webkit")return x.set(J,"-webkit"),"-webkit";let G=q.match(/^[Ww]ebkit(.+)$/i);if(G&&G[1]){let[,Z]=G,Q=YJ(Z);if(Q){let D=`-webkit-${Q}`;return x.set(J,D),D}}}if(/^[Mm]s/i.test(q)){if(q.length===2||q.toLowerCase()==="ms")return x.set(J,"-ms"),"-ms";let G=q.match(/^[Mm]s(.+)$/i);if(G&&G[1]){let[,Z]=G,Q=YJ(Z);if(Q){let D=`-ms-${Q}`;return x.set(J,D),D}}}if(/^O/i.test(q)){if(q.length===1||q.toLowerCase()==="o")return x.set(J,"-o"),"-o";if(/^O[A-Z]/.test(q)){let G=q.substring(1),Z=YJ(G);if(Z){let Q=`-o-${Z}`;return x.set(J,Q),Q}}}let W=j0(q).replace(/[^a-zA-Z0-9-]/g,"").replace(/^-+|-+$/g,"").replace(/^\d+/,"")||"";return x.set(J,W),W}function N0(J,$){if(typeof J==="symbol"&&J===a)return!0;if(m($))return!0;if(typeof J==="string"&&J.startsWith("__STOOP_COMPONENT_"))return!0;return!1}function v0(J,$){if(typeof $==="object"&&$!==null&&"__stoopClassName"in $&&typeof $.__stoopClassName==="string")return $.__stoopClassName;if(typeof J==="string"&&J.startsWith("__STOOP_COMPONENT_"))return J.replace("__STOOP_COMPONENT_","");return""}function N(J,$="",q=0,X){if(!J||typeof J!=="object")return"";if(q>fJ)return"";let Y=[],W=[],G=Object.keys(J).sort();for(let Q of G){let D=J[Q];if(N0(Q,D)){let U=v0(Q,D);if(!U)continue;let F=k(U);if(!F)continue;let H=$?`${$} .${F}`:`.${F}`,L=UJ(D)?N(D,H,q+1,X):"";if(L)W.push(L);continue}if(UJ(D))if(X&&Q in X){let U=oJ(X[Q]);if(U){let F=N(D,$,q+1,X);if(F)W.push(`${U} { ${F} }`)}}else if(Q.startsWith("@")){let U=k(Q);if(U){let F=N(D,$,q+1,X);if(F)W.push(`${U} { ${F} }`)}}else if(Q.includes("&")){let U=k(Q);if(U){let H=U.split("&").join($),L=N(D,H,q+1,X);if(L)W.push(L)}}else if(Q.startsWith(":")){let U=k(Q);if(U){let F=`${$}${U}`,H=N(D,F,q+1,X);if(H)W.push(H)}}else if(Q.includes(" ")||Q.includes(">")||Q.includes("+")||Q.includes("~")){let U=k(Q);if(U){let H=/^[\s>+~]/.test(U.trim())?`${$}${U}`:`${$} ${U}`,L=N(D,H,q+1,X);if(L)W.push(L)}}else{let U=k(Q);if(U){let F=$?`${$} ${U}`:U,H=N(D,F,q+1,X);if(H)W.push(H)}}else if(D!==void 0){let U=GJ(Q);if(U&&(typeof D==="string"||typeof D==="number")){let F=mJ(D);Y.push(`${U}: ${F};`)}}}let Z=[];if(Y.length>0)Z.push(`${$} { ${Y.join(" ")} }`);return Z.push(...W),Z.join("")}function c(J,$,q="stoop",X,Y,W){let G=M(q),Z=i(J,Y),Q=h(Z,$,W),D=N(Q,"",0,X),U=u(D),F=G?`${G}-${U}`:`css-${U}`,H=`${G}:${F}`,L=DJ.get(H);if(L)return y(L,G,H),F;let O=N(Q,`.${F}`,0,X);return DJ.set(H,O),yJ.set(H,F),y(O,G,H),F}var Q0=new Map;function Z0(J,$="stoop"){let q=$||"";Q0.set(q,J)}function g0(J="stoop"){let $=J||"";return Q0.get($)||null}function OJ(J,$){let q={...J},X=Object.keys($);for(let Y of X){if(Y==="media")continue;let W=$[Y],G=J[Y];if(W&&typeof W==="object"&&!Array.isArray(W)&&G&&typeof G==="object"&&!Array.isArray(G))q[Y]={...G,...W};else if(W!==void 0)q[Y]=W}return q}function MJ(J,$="stoop"){let q=g0($);if(!q)return J;if(G0(J,q))return J;return OJ(q,J)}function QJ(J,$="stoop",q="data-theme"){if(!w())return;let X={};for(let[W,G]of Object.entries(J))X[W]=MJ(G,$);let Y=XJ(X,$,q);q0(Y,$)}function W0(J){return function $(q={}){let X=e(q);return OJ(J,X)}}function D0(J,$="stoop",q,X,Y){return function W(G){return c(G,J,$,q,X,Y)}}function T0(J,$,q,X){let Y=`@keyframes ${$} {`,W=Object.keys(J).sort((G,Z)=>{let Q=parseFloat(G.replace("%","")),D=parseFloat(Z.replace("%",""));if(G==="from")return-1;if(Z==="from")return 1;if(G==="to")return 1;if(Z==="to")return-1;return Q-D});for(let G of W){if(!rJ(G))continue;let Z=J[G];if(!Z||typeof Z!=="object")continue;Y+=` ${G} {`;let Q=h(Z,q,X),D=Object.keys(Q).sort();for(let U of D){let F=Q[U];if(F!==void 0&&(typeof F==="string"||typeof F==="number")){let H=GJ(U);if(H){let L=String(F);Y+=` ${H}: ${L};`}}}Y+=" }"}return Y+=" }",Y}function U0(J="stoop",$,q){let X=M(J),Y=new V(SJ);return function W(G){let Z=LJ(G),Q=Y.get(Z);if(Q)return Q;let D=Z.slice(0,8),U=X?`${X}-${D}`:`stoop-${D}`,F=T0(G,U,$,q),H=`__keyframes_${U}`;return y(F,X,H),Y.set(Z,U),U}}var EJ=new Set;function F0(J,$="stoop",q,X,Y){return function W(G){let Z=LJ(G);if(EJ.has(Z))return()=>{};EJ.add(Z);let Q=M($),D=i(G,X),U=h(D,J,Y),F=N(U,"",0,q);return y(F,Q,`__global_${Z}`),()=>{EJ.delete(Z)}}}import{useMemo as ZJ,forwardRef as k0,createElement as b0,useContext as C0,createContext as f0}from"react";function S0(J,$,q){let X=[];for(let W in J){let G=$[W];if(G===void 0)continue;let Z=J[W],Q=G===!0?"true":G===!1?"false":String(G);if(Z[Q])X.push(Z[Q])}if(X.length===0)return q;if(X.length===1)return{...q,...X[0]};let Y={...X[0]};for(let W=1;W<X.length;W++)Object.assign(Y,X[W]);return{...q,...Y}}var VJ=null;function d0(){if(!VJ)VJ=f0(null);return VJ}function u0(J){return{__isStoopStyled:!0,__stoopClassName:J,[a]:J,toString:()=>`__STOOP_COMPONENT_${J}`}}function y0(J){return m(J)}var h0=new Set(["alignContent","alignItems","alignSelf","animation","animationDelay","animationDirection","animationDuration","animationFillMode","animationIterationCount","animationName","animationPlayState","animationTimingFunction","aspectRatio","backdropFilter","backfaceVisibility","background","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundColor","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","backgroundSize","border","borderBottom","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStyle","borderBottomWidth","borderCollapse","borderColor","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","borderLeft","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRadius","borderRight","borderRightColor","borderRightStyle","borderRightWidth","borderSpacing","borderStyle","borderTop","borderTopColor","borderTopLeftRadius","borderTopRightRadius","borderTopStyle","borderTopWidth","borderWidth","bottom","boxShadow","boxSizing","captionSide","caretColor","clear","clip","clipPath","color","columnCount","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","columnWidth","columns","content","counterIncrement","counterReset","cursor","direction","display","emptyCells","filter","flex","flexBasis","flexDirection","flexFlow","flexGrow","flexShrink","flexWrap","float","font","fontFamily","fontFeatureSettings","fontKerning","fontLanguageOverride","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontSynthesis","fontVariant","fontVariantAlternates","fontVariantCaps","fontVariantEastAsian","fontVariantLigatures","fontVariantNumeric","fontVariantPosition","fontWeight","gap","grid","gridArea","gridAutoColumns","gridAutoFlow","gridAutoRows","gridColumn","gridColumnEnd","gridColumnGap","gridColumnStart","gridGap","gridRow","gridRowEnd","gridRowGap","gridRowStart","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","hyphens","imageOrientation","imageRendering","imageResolution","imeMode","inlineSize","isolation","justifyContent","justifyItems","justifySelf","left","letterSpacing","lineHeight","listStyle","listStyleImage","listStylePosition","listStyleType","margin","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","minHeight","minWidth","objectFit","objectPosition","opacity","order","orphans","outline","outlineColor","outlineOffset","outlineStyle","outlineWidth","overflow","overflowWrap","overflowX","overflowY","padding","paddingBottom","paddingLeft","paddingRight","paddingTop","pageBreakAfter","pageBreakBefore","pageBreakInside","perspective","perspectiveOrigin","placeContent","placeItems","placeSelf","pointerEvents","position","quotes","resize","right","rowGap","scrollBehavior","tabSize","tableLayout","textAlign","textAlignLast","textDecoration","textDecorationColor","textDecorationLine","textDecorationStyle","textIndent","textJustify","textOverflow","textShadow","textTransform","textUnderlinePosition","top","transform","transformOrigin","transformStyle","transition","transitionDelay","transitionDuration","transitionProperty","transitionTimingFunction","unicodeBidi","userSelect","verticalAlign","visibility","whiteSpace","width","wordBreak","wordSpacing","wordWrap","writingMode","zIndex"]);function c0(J){return h0.has(J)}function p0(J,$){let q=$?new Set(Object.keys($)):new Set,X={},Y={},W={};for(let G in J)if(q.has(G))X[G]=J[G];else if(c0(G))Y[G]=J[G];else W[G]=J[G];return{cssProps:Y,elementProps:W,variantProps:X}}function H0(J,$="stoop",q,X,Y,W){return function G(Z,Q){let D=Q||r,U;if(Q&&"variants"in Q&&typeof Q.variants==="object"&&Q.variants!==null&&!Array.isArray(Q.variants)){let B=Q.variants;if(Object.keys(B).length>0&&Object.values(B).every((P)=>typeof P==="object"&&P!==null&&!Array.isArray(P))){U=Q.variants;let{variants:P,...A}=Q;D=A}}let F;if(typeof Z!=="string"&&y0(Z))F=Z.__stoopClassName;let H=k0(function B(v,P){let{as:A,className:K,css:j,...z}=v,C=A||Z,g=ZJ(()=>j&&typeof j==="object"&&j!==null?j:r,[j]),{cssProps:T,elementProps:I,variantProps:E}=p0(z,U),l=C0(W||d0())?.theme||J,gJ=l.media?{...q,...l.media}:q,TJ=ZJ(()=>{if(!U)return"";let R=Object.entries(E);if(R.length===0)return"";return R.sort(([f],[p])=>f.localeCompare(p)).map(([f,p])=>`${f}:${String(p)}`).join("|")},[E]),kJ=ZJ(()=>{let R=D;if(U&&TJ)R=S0(U,E,D);if(Object.keys(T).length>0)R=Object.assign({},R,T);if(g!==r)R=Object.assign({},R,g);return R},[TJ,g,T,D,U,E]),R0=ZJ(()=>{let R=[];if(F)R.push(F);let f=c(kJ,l,$,gJ,X,Y);if(f)R.push(f);if(K){let p=typeof K==="string"?K:String(K),bJ=lJ(p);if(bJ)R.push(bJ)}return R.length>0?R.join(" "):void 0},[kJ,K,F,l,$,gJ,X,Y]);return b0(C,{...I,className:R0,ref:P})}),L=u(JSON.stringify(D)),O=`${$}-${L}`,_=H;return _.selector=u0(O),_}}import{createContext as w0,useCallback as B0,useContext as n0,useLayoutEffect as o,useMemo as jJ,useRef as xJ,useState as m0}from"react";function KJ(J){if(!w())return{error:"Not in browser environment",success:!1,value:null};try{return{source:"localStorage",success:!0,value:localStorage.getItem(J)}}catch($){return{error:$ instanceof Error?$.message:"localStorage access failed",success:!1,value:null}}}function zJ(J,$){if(!w())return{error:"Not in browser environment",success:!1,value:void 0};try{return localStorage.setItem(J,$),{success:!0,value:void 0}}catch(q){return{error:q instanceof Error?q.message:"localStorage write failed",success:!1,value:void 0}}}function PJ(J){if(!w())return null;let q=`; ${document.cookie}`.split(`; ${J}=`);if(q.length===2)return q.pop()?.split(";").shift()||null;return null}function L0(J,$,q={}){if(!w())return!1;let{maxAge:X=dJ,path:Y=uJ,secure:W=!1}=q;try{return document.cookie=`${J}=${$}; path=${Y}; max-age=${X}${W?"; secure":""}`,!0}catch{return!1}}import{jsx as _0}from"react/jsx-runtime";function NJ(J,$,q){if(!w())return;let X=$?PJ($):null,Y=KJ(q),W=Y.success?Y.value:null;if(X===J&&W!==J)zJ(q,J);if(W===J&&$&&X!==J)L0($,J)}function i0(J,$,q){if(!w())return null;if(J!==void 0){let W=PJ(J);if(W&&q[W])return W}let X=KJ($),Y=X.success?X.value:null;if(Y&&q[Y])return Y;return null}function A0(J,$,q="stoop",X,Y){let W=w0(null),G=w0(null),Z=Object.keys(J),Q=Z[0]||"default",D=X&&Y?Y(X):void 0;function U({attribute:F="data-theme",children:H,cookieKey:L,defaultTheme:O,storageKey:_="stoop-theme"}){let[B,v]=m0(O||Q),P=xJ(!1);o(()=>{if(!w()||P.current)return;let I=i0(L,_,J);if(I){if(NJ(I,L,_),I!==B)v(I)}P.current=!0},[L,_,J]),o(()=>{if(!w())return;let I=(E)=>{if(E.key===_&&E.newValue&&J[E.newValue]&&E.newValue!==B)v(E.newValue),NJ(E.newValue,L,_)};return window.addEventListener("storage",I),()=>{window.removeEventListener("storage",I)}},[_,L,B,J]);let A=jJ(()=>{return J[B]||J[O||Q]||$},[B,O,Q,J,$]),K=xJ(!1),j=xJ(!1);o(()=>{if(!w()||K.current)return;QJ(J,q,F),K.current=!0},[J,q,F]),o(()=>{if(!w()||j.current)return;if(D)D(),j.current=!0},[D]),o(()=>{if(!w())return;if(F)document.documentElement.setAttribute(F,B)},[B,F]);let z=B0((I)=>{if(J[I])v(I),zJ(_,I),NJ(I,L,_);else if(!d())console.warn(`[Stoop] Theme "${I}" not found. Available themes: ${Z.join(", ")}`)},[_,L,J,Z,B]),C=jJ(()=>({theme:A,themeName:B}),[A,B]),g=B0(()=>{let E=(Z.indexOf(B)+1)%Z.length,vJ=Z[E];z(vJ)},[B,z,Z]),T=jJ(()=>({availableThemes:Z,setTheme:z,theme:A,themeName:B,toggleTheme:g}),[A,B,z,g]);return _0(W.Provider,{value:C,children:_0(G.Provider,{value:T,children:H})})}return{Provider:U,ThemeContext:W,ThemeManagementContext:G}}function I0(J){return function $(){let q=n0(J);if(!q)throw new Error("useTheme must be used within a Provider");return q}}function o0(J){let{globalCss:$,media:q,prefix:X="stoop",theme:Y,themeMap:W,utils:G}=J,Z=M(X),Q=e(Y),D=Q.media||q,U={...n,...W};Z0(Q,Z);let F=D0(Q,Z,D,G,U),H=W0(Q),L=F0(Q,Z,D,G,U),O=U0(Z,Q,U),_=Object.freeze({...Q});function B(A){for(let K of A)try{c(K,Q,Z,D,G,U)}catch{}}function v(){if(!J.themes||Object.keys(J.themes).length===0)return;QJ(J.themes,Z)}function P(){let A="";if(J.themes&&Object.keys(J.themes).length>0){let z={};for(let[g,T]of Object.entries(J.themes))z[g]=MJ(T,Z);let C=XJ(z,Z,"data-theme");if(C)A+=C+`
14
- `}else{let z=RJ(Q,Z);if(z)A+=z+`
15
- `}let K=X0(),j=_J(K).trim();if(j)A+=(A?`
16
- `:"")+j;return A}return{config:{...J,prefix:Z},createTheme:H,css:F,getCssText:P,globalCss:L,globalCssConfig:$,keyframes:O,media:D,mergedThemeMap:U,preloadTheme:v,sanitizedPrefix:Z,theme:_,utils:G,validatedTheme:Q,warmCache:B}}function Z4(J){let $=o0(J),q,X,Y;if(J.themes){let G={};for(let[U,F]of Object.entries(J.themes))G[U]=$.createTheme(F);let{Provider:Z,ThemeContext:Q,ThemeManagementContext:D}=A0(G,$.validatedTheme,$.sanitizedPrefix,$.globalCssConfig,$.globalCss);Y=Q,q=Z,X=I0(D)}let W=H0($.validatedTheme,$.sanitizedPrefix,$.media,$.utils,$.mergedThemeMap,Y);return{config:$.config,createTheme:$.createTheme,css:$.css,getCssText:$.getCssText,globalCss:$.globalCss,keyframes:$.keyframes,preloadTheme:$.preloadTheme,Provider:q,styled:W,theme:$.theme,useTheme:X,warmCache:$.warmCache}}export{o0 as createStoopBase,Z4 as createStoop};
13
+ `)}function h(J,$,q,X){if(!J||typeof J!=="object")return J;let Y=Object.keys(J),Z=!1;for(let Q of Y){let D=J[Q];if(typeof D==="string"&&D.includes("$")){Z=!0;break}}if(!Z&&!$)return J;let G={},W=!1;for(let Q of Y){let D=J[Q];if(e(D)){let U=h(D,$,q,void 0);if(G[Q]=U,U!==D)W=!0}else if(typeof D==="string"&&D.includes("$")){W=!0;let U=X||Q;if(D.startsWith("$")&&!D.includes(" ")&&!D.includes("calc(")&&D===D.trim())if(D.startsWith("-$")){let F=D.slice(1);if(F.includes(".")||F.includes("$")){let L=F.includes("$")?F.split("$"):F.split("."),_=!1;for(let w=0;w<L.length;w++){let B=L[w];for(let I=0;I<B.length;I++){let A=B.charCodeAt(I);if(!(A>=48&&A<=57||A>=65&&A<=90||A>=97&&A<=122||A===45||A===95)){_=!0;break}}if(_)break}if(_){let B=`--${L.map((I)=>v(I)).join("-")}`;G[Q]=`calc(-1 * var(${B}))`}else{let w=`--${L.join("-")}`;G[Q]=`calc(-1 * var(${w}))`}}else{let L=GJ(F,$,U,q);G[Q]=`calc(-1 * ${L})`}}else{let F=D.slice(1);if(F.includes(".")||F.includes("$")){let L=F.includes("$")?F.split("$"):F.split("."),_=!1;for(let w=0;w<L.length;w++){let B=L[w];for(let I=0;I<B.length;I++){let A=B.charCodeAt(I);if(!(A>=48&&A<=57||A>=65&&A<=90||A>=97&&A<=122||A===45||A===95)){_=!0;break}}if(_)break}if(_){let B=`--${L.map((I)=>v(I)).join("-")}`;G[Q]=`var(${B})`}else{let w=`--${L.join("-")}`;G[Q]=`var(${w})`}}else G[Q]=GJ(D,$,U,q)}else G[Q]=D.replace(P0,(F)=>{if(F.startsWith("-$")){let L=F.slice(1);return`calc(-1 * ${GJ(L,$,U,q)})`}return GJ(F,$,U,q)})}else G[Q]=D}if(!W)return J;return G}var N=new V(d);function N0(J){return J.replace(/([A-Z])/g,"-$1").toLowerCase()}function g0(J){if(J===J.toUpperCase()&&J.length>1)return J.charAt(0)+J.slice(1).toLowerCase();return J}function ZJ(J){if(!J)return"";return J.charAt(0).toLowerCase()+J.slice(1).replace(/([A-Z])/g,"-$1").toLowerCase()}function i(J){if(!J||typeof J!=="string")return"";let $=N.get(J);if($!==void 0)return $;if(/^-[a-z]+-/.test(J))return N.set(J,J),J;let q=g0(J);if(/^[Mm]oz/i.test(q)){if(q.length===3||q.toLowerCase()==="moz")return N.set(J,"-moz"),"-moz";let G=q.match(/^[Mm]oz(.+)$/i);if(G&&G[1]){let[,W]=G,Q=ZJ(W);if(Q){let D=`-moz-${Q}`;return N.set(J,D),D}}}if(/^[Ww]ebkit/i.test(q)){if(q.length===6||q.toLowerCase()==="webkit")return N.set(J,"-webkit"),"-webkit";let G=q.match(/^[Ww]ebkit(.+)$/i);if(G&&G[1]){let[,W]=G,Q=ZJ(W);if(Q){let D=`-webkit-${Q}`;return N.set(J,D),D}}}if(/^[Mm]s/i.test(q)){if(q.length===2||q.toLowerCase()==="ms")return N.set(J,"-ms"),"-ms";let G=q.match(/^[Mm]s(.+)$/i);if(G&&G[1]){let[,W]=G,Q=ZJ(W);if(Q){let D=`-ms-${Q}`;return N.set(J,D),D}}}if(/^O/i.test(q)){if(q.length===1||q.toLowerCase()==="o")return N.set(J,"-o"),"-o";if(/^O[A-Z]/.test(q)){let G=q.substring(1),W=ZJ(G);if(W){let Q=`-o-${W}`;return N.set(J,Q),Q}}}let Z=N0(q).replace(/[^a-zA-Z0-9-]/g,"").replace(/^-+|-+$/g,"").replace(/^\d+/,"")||"";return N.set(J,Z),Z}function Q0(J,$){if(typeof J==="symbol"&&J===t)return!0;if(m($))return!0;if(typeof J==="string"&&J.startsWith("__STOOP_COMPONENT_"))return!0;return!1}function v0(J,$){if(typeof $==="object"&&$!==null&&"__stoopClassName"in $&&typeof $.__stoopClassName==="string")return $.__stoopClassName;if(typeof J==="string"&&J.startsWith("__STOOP_COMPONENT_"))return J.replace("__STOOP_COMPONENT_","");return""}function g(J,$="",q=0,X){if(!J||typeof J!=="object")return"";if(q>SJ)return"";let Y=[],Z=[],G=$===""?Object.keys(J).sort():Object.keys(J);for(let Q of G){let D=J[Q];if(Q0(Q,D)){let U=v0(Q,D);if(!U)continue;let H=b(U);if(!H)continue;let F=$?`${$} .${H}`:`.${H}`,L=JJ(D)?g(D,F,q+1,X):"";if(L)Z.push(L);continue}if(JJ(D))if(X&&Q in X){let U=iJ(X[Q]);if(U){let H=g(D,$,q+1,X);if(H)Z.push(`${U} { ${H} }`)}}else if(Q.startsWith("@")){let U=b(Q);if(U){let H=g(D,$,q+1,X);if(H)Z.push(`${U} { ${H} }`)}}else if(Q.includes("&")){let U=b(Q);if(U){let F=U.split("&").join($),L=g(D,F,q+1,X);if(L)Z.push(L)}}else if(Q.startsWith(":")){let U=b(Q);if(U){let H=`${$}${U}`,F=g(D,H,q+1,X);if(F)Z.push(F)}}else if(Q.includes(" ")||Q.includes(">")||Q.includes("+")||Q.includes("~")){let U=b(Q);if(U){let F=/^[\s>+~]/.test(U.trim())?`${$}${U}`:`${$} ${U}`,L=g(D,F,q+1,X);if(L)Z.push(L)}}else{let U=b(Q);if(U){let H=$?`${$} ${U}`:U,F=g(D,H,q+1,X);if(F)Z.push(F)}}else if(D!==void 0){let U=i(Q);if(U&&(typeof D==="string"||typeof D==="number")){let H=BJ(D);Y.push(`${U}: ${H};`)}}}let W=[];if(Y.length>0)W.push(`${$} { ${Y.join(" ")} }`);return W.push(...Z),W.join("")}function T0(J,$){if(!J||typeof J!=="object")return"";let q=[],X=Object.keys(J).sort();for(let Y of X){let Z=J[Y];if(JJ(Z))return"";if($&&Y in $)return"";if(Y.startsWith("@")||Y.includes("&")||Y.startsWith(":")||Y.includes(" ")||Y.includes(">")||Y.includes("+")||Y.includes("~"))return"";if(Z!==void 0&&!Q0(Y,Z)){let G=i(Y);if(G&&(typeof Z==="string"||typeof Z==="number")){let W=BJ(Z);q.push(`${G}: ${W};`)}}}return q.join(" ")}function c(J,$,q="stoop",X,Y,Z){let G=K(q),W=o(J,Y),Q=h(W,$,Z),D=T0(Q,X),U,H;if(D)U=D,H=C(U);else U=g(Q,"",0,X),H=C(U);let F=G?`${G}-${H}`:`css-${H}`,L=`${G}:${F}`,_=HJ.get(L);if(_)return y(_,G,L),F;let w;if(D)w=`.${F} { ${D} }`;else w=g(Q,`.${F}`,0,X);return HJ.set(L,w),hJ.set(L,F),y(w,G,L),F}var Z0=new Map;function W0(J,$="stoop"){let q=$||"";Z0.set(q,J)}function f0(J="stoop"){let $=J||"";return Z0.get($)||null}function MJ(J,$){let q={...J},X=Object.keys($);for(let Y of X){if(Y==="media")continue;let Z=$[Y],G=J[Y];if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&G&&typeof G==="object"&&!Array.isArray(G))q[Y]={...G,...Z};else if(Z!==void 0)q[Y]=Z}return q}function EJ(J,$="stoop"){let q=f0($);if(!q)return J;if(G0(J,q))return J;return MJ(q,J)}function WJ(J,$="stoop",q="data-theme"){if(!O())return;let X={};for(let[Z,G]of Object.entries(J))X[Z]=EJ(G,$);let Y=QJ(X,$,q);q0(Y,$)}function D0(J){return function $(q={}){let X=$J(q);return MJ(J,X)}}function U0(J,$="stoop",q,X,Y){return function Z(G){return c(G,J,$,q,X,Y)}}function C0(J,$,q,X){let Y=`@keyframes ${$} {`,Z=Object.keys(J).sort((G,W)=>{let Q=parseFloat(G.replace("%","")),D=parseFloat(W.replace("%",""));if(G==="from")return-1;if(W==="from")return 1;if(G==="to")return 1;if(W==="to")return-1;return Q-D});for(let G of Z){if(!rJ(G))continue;let W=J[G];if(!W||typeof W!=="object")continue;Y+=` ${G} {`;let Q=h(W,q,X),D=Object.keys(Q).sort();for(let U of D){let H=Q[U];if(H!==void 0&&(typeof H==="string"||typeof H==="number")){let F=i(U);if(F){let L=String(H);Y+=` ${F}: ${L};`}}}Y+=" }"}return Y+=" }",Y}function H0(J="stoop",$,q){let X=K(J),Y=new V(dJ);return function Z(G){let W=wJ(G),Q=Y.get(W);if(Q)return Q;let D=W.slice(0,8),U=X?`${X}-${D}`:`stoop-${D}`,H=C0(G,U,$,q),F=`__keyframes_${U}`;return y(H,X,F),Y.set(W,U),U}}var KJ=new Set;function F0(J,$="stoop",q,X,Y){return function Z(G){let W=wJ(G);if(KJ.has(W))return()=>{};KJ.add(W);let Q=K($),D=o(G,X),U=h(D,J,Y),H=g(U,"",0,q);return y(H,Q,`__global_${W}`),()=>{KJ.delete(W)}}}import{useMemo as DJ,forwardRef as b0,createElement as k0,useContext as S0,createContext as d0}from"react";function u0(J,$,q){let X=[];for(let Z in J){let G=$[Z];if(G===void 0)continue;let W=J[Z],Q=G===!0?"true":G===!1?"false":String(G);if(W[Q])X.push(W[Q])}if(X.length===0)return q;if(X.length===1)return{...q,...X[0]};let Y={...X[0]};for(let Z=1;Z<X.length;Z++)Object.assign(Y,X[Z]);return{...q,...Y}}var zJ=null;function y0(){if(!zJ)zJ=d0(null);return zJ}function h0(J){return{__isStoopStyled:!0,__stoopClassName:J,[t]:J,toString:()=>`__STOOP_COMPONENT_${J}`}}function c0(J){return m(J)}var p0=new Set(["alignContent","alignItems","alignSelf","animation","animationDelay","animationDirection","animationDuration","animationFillMode","animationIterationCount","animationName","animationPlayState","animationTimingFunction","aspectRatio","backdropFilter","backfaceVisibility","background","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundColor","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","backgroundSize","border","borderBottom","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStyle","borderBottomWidth","borderCollapse","borderColor","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","borderLeft","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRadius","borderRight","borderRightColor","borderRightStyle","borderRightWidth","borderSpacing","borderStyle","borderTop","borderTopColor","borderTopLeftRadius","borderTopRightRadius","borderTopStyle","borderTopWidth","borderWidth","bottom","boxShadow","boxSizing","captionSide","caretColor","clear","clip","clipPath","color","columnCount","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","columnWidth","columns","content","counterIncrement","counterReset","cursor","direction","display","emptyCells","filter","flex","flexBasis","flexDirection","flexFlow","flexGrow","flexShrink","flexWrap","float","font","fontFamily","fontFeatureSettings","fontKerning","fontLanguageOverride","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontSynthesis","fontVariant","fontVariantAlternates","fontVariantCaps","fontVariantEastAsian","fontVariantLigatures","fontVariantNumeric","fontVariantPosition","fontWeight","gap","grid","gridArea","gridAutoColumns","gridAutoFlow","gridAutoRows","gridColumn","gridColumnEnd","gridColumnGap","gridColumnStart","gridGap","gridRow","gridRowEnd","gridRowGap","gridRowStart","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","height","hyphens","imageOrientation","imageRendering","imageResolution","imeMode","inlineSize","isolation","justifyContent","justifyItems","justifySelf","left","letterSpacing","lineHeight","listStyle","listStyleImage","listStylePosition","listStyleType","margin","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","minHeight","minWidth","objectFit","objectPosition","opacity","order","orphans","outline","outlineColor","outlineOffset","outlineStyle","outlineWidth","overflow","overflowWrap","overflowX","overflowY","padding","paddingBottom","paddingLeft","paddingRight","paddingTop","pageBreakAfter","pageBreakBefore","pageBreakInside","perspective","perspectiveOrigin","placeContent","placeItems","placeSelf","pointerEvents","position","quotes","resize","right","rowGap","scrollBehavior","tabSize","tableLayout","textAlign","textAlignLast","textDecoration","textDecorationColor","textDecorationLine","textDecorationStyle","textIndent","textJustify","textOverflow","textShadow","textTransform","textUnderlinePosition","top","transform","transformOrigin","transformStyle","transition","transitionDelay","transitionDuration","transitionProperty","transitionTimingFunction","unicodeBidi","userSelect","verticalAlign","visibility","whiteSpace","width","wordBreak","wordSpacing","wordWrap","writingMode","zIndex"]);function n0(J){return p0.has(J)}function m0(J,$){let q=$?new Set(Object.keys($)):new Set,X={},Y={},Z={};for(let G in J)if(q.has(G))X[G]=J[G];else if(n0(G))Y[G]=J[G];else Z[G]=J[G];return{cssProps:Y,elementProps:Z,variantProps:X}}function L0(J,$="stoop",q,X,Y,Z){return function G(W,Q){let D=Q||s,U;if(Q&&"variants"in Q&&typeof Q.variants==="object"&&Q.variants!==null&&!Array.isArray(Q.variants)){let B=Q.variants;if(Object.keys(B).length>0&&Object.values(B).every((A)=>typeof A==="object"&&A!==null&&!Array.isArray(A))){U=Q.variants;let{variants:A,...R}=Q;D=R}}let H;if(typeof W!=="string"&&c0(W))H=W.__stoopClassName;let F=b0(function B(I,A){let{as:R,className:P,css:x,...j}=I,k=R||W,T=DJ(()=>x&&typeof x==="object"&&x!==null?x:s,[x]),{cssProps:f,elementProps:M,variantProps:z}=m0(j,U),r=S0(Z||y0())?.theme||J,TJ=r.media?{...q,...r.media}:q,fJ=DJ(()=>{if(!U)return"";let E=Object.entries(z);if(E.length===0)return"";return E.sort(([S],[p])=>S.localeCompare(p)).map(([S,p])=>`${S}:${String(p)}`).join("|")},[z]),CJ=DJ(()=>{let E=D;if(U&&fJ)E=u0(U,z,D);if(Object.keys(f).length>0)E=Object.assign({},E,f);if(T!==s)E=Object.assign({},E,T);return E},[fJ,T,f,D,U,z]),R0=DJ(()=>{let E=[];if(H)E.push(H);let S=c(CJ,r,$,TJ,X,Y);if(S)E.push(S);if(P){let p=typeof P==="string"?P:String(P),bJ=lJ(p);if(bJ)E.push(bJ)}return E.length>0?E.join(" "):void 0},[CJ,P,H,r,$,TJ,X,Y]);return k0(k,{...M,className:R0,ref:A})}),L=C(JSON.stringify(D)),_=`${$}-${L}`,w=F;return w.selector=h0(_),w}}import{createContext as B0,useCallback as A0,useContext as o0,useLayoutEffect as l,useMemo as xJ,useRef as NJ,useState as i0}from"react";function VJ(J){if(!O())return{error:"Not in browser environment",success:!1,value:null};try{return{source:"localStorage",success:!0,value:localStorage.getItem(J)}}catch($){return{error:$ instanceof Error?$.message:"localStorage access failed",success:!1,value:null}}}function PJ(J,$){if(!O())return{error:"Not in browser environment",success:!1,value:void 0};try{return localStorage.setItem(J,$),{success:!0,value:void 0}}catch(q){return{error:q instanceof Error?q.message:"localStorage write failed",success:!1,value:void 0}}}function jJ(J){if(!O())return null;let q=`; ${document.cookie}`.split(`; ${J}=`);if(q.length===2)return q.pop()?.split(";").shift()||null;return null}function w0(J,$,q={}){if(!O())return!1;let{maxAge:X=uJ,path:Y=yJ,secure:Z=!1}=q;try{return document.cookie=`${J}=${$}; path=${Y}; max-age=${X}${Z?"; secure":""}`,!0}catch{return!1}}import{jsx as _0}from"react/jsx-runtime";function gJ(J,$,q){if(!O())return;let X=$?jJ($):null,Y=VJ(q),Z=Y.success?Y.value:null;if(X===J&&Z!==J)PJ(q,J);if(Z===J&&$&&X!==J)w0($,J)}function l0(J,$,q){if(!O())return null;if(J!==void 0){let Z=jJ(J);if(Z&&q[Z])return Z}let X=VJ($),Y=X.success?X.value:null;if(Y&&q[Y])return Y;return null}function O0(J,$,q="stoop",X,Y){let Z=B0(null),G=B0(null),W=Object.keys(J),Q=W[0]||"default",D=X&&Y?Y(X):void 0;function U({attribute:H="data-theme",children:F,cookieKey:L,defaultTheme:_,storageKey:w="stoop-theme"}){let[B,I]=i0(_||Q),A=NJ(!1);l(()=>{if(!O()||A.current)return;let M=l0(L,w,J);if(M){if(gJ(M,L,w),M!==B)I(M)}A.current=!0},[L,w,J]),l(()=>{if(!O())return;let M=(z)=>{if(z.key===w&&z.newValue&&J[z.newValue]&&z.newValue!==B)I(z.newValue),gJ(z.newValue,L,w)};return window.addEventListener("storage",M),()=>{window.removeEventListener("storage",M)}},[w,L,B,J]);let R=xJ(()=>{return J[B]||J[_||Q]||$},[B,_,Q,J,$]),P=NJ(!1),x=NJ(!1);l(()=>{if(!O()||P.current)return;WJ(J,q,H),P.current=!0},[J,q,H]),l(()=>{if(!O()||x.current)return;if(D)D(),x.current=!0},[D]),l(()=>{if(!O())return;if(H)document.documentElement.setAttribute(H,B)},[B,H]);let j=A0((M)=>{if(J[M])I(M),PJ(w,M),gJ(M,L,w);else if(!u())console.warn(`[Stoop] Theme "${M}" not found. Available themes: ${W.join(", ")}`)},[w,L,J,W,B]),k=xJ(()=>({theme:R,themeName:B}),[R,B]),T=A0(()=>{let z=(W.indexOf(B)+1)%W.length,vJ=W[z];j(vJ)},[B,j,W]),f=xJ(()=>({availableThemes:W,setTheme:j,theme:R,themeName:B,toggleTheme:T}),[R,B,j,T]);return _0(Z.Provider,{value:k,children:_0(G.Provider,{value:f,children:F})})}return{Provider:U,ThemeContext:Z,ThemeManagementContext:G}}function I0(J){return function $(){let q=o0(J);if(!q)throw new Error("useTheme must be used within a Provider");return q}}function r0(J){let{globalCss:$,media:q,prefix:X="stoop",theme:Y,themeMap:Z,utils:G}=J,W=K(X),Q=$J(Y),D=Q.media||q,U={...n,...Z};W0(Q,W);let H=U0(Q,W,D,G,U),F=D0(Q),L=F0(Q,W,D,G,U),_=H0(W,Q,U),w=Object.freeze({...Q});function B(R){for(let P of R)try{c(P,Q,W,D,G,U)}catch{}}function I(){if(!J.themes||Object.keys(J.themes).length===0)return;WJ(J.themes,W)}function A(){let R="";if(J.themes&&Object.keys(J.themes).length>0){let j={};for(let[T,f]of Object.entries(J.themes))j[T]=EJ(f,W);let k=QJ(j,W,"data-theme");if(k)R+=k+`
14
+ `}else{let j=RJ(Q,W);if(j)R+=j+`
15
+ `}let P=X0(),x=OJ(P).trim();if(x)R+=(R?`
16
+ `:"")+x;return R}return{config:{...J,prefix:W},createTheme:F,css:H,getCssText:A,globalCss:L,globalCssConfig:$,keyframes:_,media:D,mergedThemeMap:U,preloadTheme:I,sanitizedPrefix:W,theme:w,utils:G,validatedTheme:Q,warmCache:B}}function D4(J){let $=r0(J),q,X,Y;if(J.themes){let G={};for(let[U,H]of Object.entries(J.themes))G[U]=$.createTheme(H);let{Provider:W,ThemeContext:Q,ThemeManagementContext:D}=O0(G,$.validatedTheme,$.sanitizedPrefix,$.globalCssConfig,$.globalCss);Y=Q,q=W,X=I0(D)}let Z=L0($.validatedTheme,$.sanitizedPrefix,$.media,$.utils,$.mergedThemeMap,Y);return{config:$.config,createTheme:$.createTheme,css:$.css,getCssText:$.getCssText,globalCss:$.globalCss,keyframes:$.keyframes,preloadTheme:$.preloadTheme,Provider:q,styled:Z,theme:$.theme,useTheme:X,warmCache:$.warmCache}}export{r0 as createStoopBase,D4 as createStoop};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stoop",
3
3
  "description": "CSS-in-JS library with type inference, theme creation, and variants support.",
4
- "version": "0.5.0",
4
+ "version": "0.5.1",
5
5
  "author": "Jackson Dolman <mail@dolmios.com>",
6
6
  "main": "./dist/create-stoop.js",
7
7
  "types": "./dist/create-stoop.d.ts",
@@ -94,12 +94,7 @@
94
94
  "react-dom": ">=16.8.0"
95
95
  },
96
96
  "scripts": {
97
- "build": "bun run build:clean && bun run build:js && bun run build:js:ssr && bun run build:types",
98
- "build:clean": "rm -rf dist",
99
- "build:copy-declarations": "mkdir -p dist/types && cp src/types/react-polymorphic-types.d.ts dist/types/react-polymorphic-types.d.ts 2>/dev/null || :",
100
- "build:js": "NODE_ENV=production bun build ./src/create-stoop.ts --outfile ./dist/create-stoop.js --target browser --format esm --minify --jsx=automatic --external react --external react-dom --external react/jsx-runtime --define process.env.NODE_ENV='\"production\"'",
101
- "build:js:ssr": "NODE_ENV=production bun build ./src/create-stoop-ssr.ts --outfile ./dist/create-stoop-ssr.js --target browser --format esm --minify --jsx=automatic --external react --external react-dom --external react/jsx-runtime --define process.env.NODE_ENV='\"production\"'",
102
- "build:types": "bunx tsc --project tsconfig.build.json && bun run build:copy-declarations",
97
+ "build": "bun run build.ts",
103
98
  "lint": "eslint src --fix",
104
99
  "prepare": "bun run build",
105
100
  "test": "bun test",