@react-hive/honey-style 8.4.1 → 8.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{createContext as e,createElement as t,useContext as n,useInsertionEffect as o,useMemo as r}from"react";import{jsx as a}from"react/jsx-runtime";const i=!1,s=Symbol.for("honey-style-registry"),l="$$ComponentId",p="__compositionDepth",c="data-honey-global-style",u="data-honey-style",d="data-priority",y=["xs","sm","md","lg","xl"],m=new Set(["accept","accessKey","autoCapitalize","autoComplete","autoFocus","capture","class","className","contentEditable","contextMenu","dir","draggable","hidden","id","inert","inputMode","is","lang","nonce","part","slot","spellCheck","style","tabIndex","title","translate","unselectable","checked","disabled","form","formAction","formEncType","formMethod","formNoValidate","formTarget","list","max","maxLength","min","minLength","multiple","name","pattern","placeholder","readOnly","required","size","step","type","value","alt","autoPlay","controls","crossOrigin","disablePictureInPicture","disableRemotePlayback","height","isMap","loop","media","muted","playsInline","poster","preload","role","src","srcSet","useMap","width","download","href","hrefLang","referrerPolicy","rel","target","dangerouslySetInnerHTML","key","ref","children","char","charOff","exportparts","popover","popoverTarget","popoverTargetAction","virtualkeyboardpolicy","writingsuggestions"]),h=new Set(["colSpan","rowSpan","headers","abbr","scope","align","valign"]),f=new Set(["viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","strokeDasharray","strokeDashoffset","strokeOpacity","fillOpacity","opacity","pointerEvents","focusable","x","y","x1","x2","y1","y2","cx","cy","r","rx","ry","d","points","height","transform","xmlns","preserveAspectRatio","mask","clipPath","pathLength","markerStart","markerMid","markerEnd","refX","refY","dominantBaseline","textAnchor"]),b=new Set(["onCopy","onCut","onPaste","onCompositionEnd","onCompositionStart","onCompositionUpdate","onFocus","onBlur","onChange","onInput","onInvalid","onReset","onSubmit","onKeyDown","onKeyPress","onKeyUp","onClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onGotPointerCapture","onLostPointerCapture","onSelect","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onScroll","onWheel","onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting","onLoad","onError","onTransitionEnd","onTransitionStart","onTransitionRun","onTransitionCancel","onAnimationStart","onAnimationEnd","onAnimationIteration","onAnimationCancel"]),g=new Set([...m,...h,...f,...b]),v=e(void 0);function k(e,t){if(!e)throw new Error(t)}const x=e=>"string"==typeof e,$=(e,...t)=>"function"==typeof e?e(...t):e,C=e=>e.replace(/([\p{Ll}\p{N}])(\p{Lu})/gu,"$1-$2").toLowerCase(),w=["margin","marginTop","marginRight","marginBottom","marginLeft","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockStart","paddingBlockEnd","top","right","bottom","left","inset","gap","rowGap","columnGap"],S=["color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor","textDecorationColor","fill","stroke"],E=e=>"{"===e||"}"===e||":"===e||";"===e||"@"===e||"("===e||'"'===e||"'"===e;function A(e,t){if(!e)throw new Error(t)}const M=e=>{const t=[],n=()=>t.join("").trim(),o=e=>e.hasLeadingWhitespace&&t.length?" ":"";for(;!e.isEof();){const r=e.peek();if(!r)break;switch(r.type){case"braceOpen":case"braceClose":default:return n();case"colon":t.push(`${o(r)}:`);break;case"text":case"params":t.push(`${o(r)}${r.value}`);break;case"string":t.push(`${o(r)}"${r.value}"`)}e.next()}return n()},P=e=>{const t=e.peek();if(!t)return"";if("colon"===t.type)return M(e);const n=e.mark(),o=M(e);return"braceOpen"===e.peek()?.type?o:(e.reset(n),e.readUntil(["colon","braceOpen","semicolon","braceClose","at"]))},L=(e,t)=>{e.expect("colon");const n=e.readUntil(["semicolon","braceClose"]);return"semicolon"===e.peek()?.type&&e.next(),{type:"declaration",prop:t,value:n}},O=(e,t)=>{let n=0,o=0,r=0,a=null,i=!1;for(let s=0;s<e.length;s++){const l=e.charCodeAt(s);if(i)i=!1;else if(92!==l)if(null===a)if(34!==l&&39!==l)if(40!==l)if(41!==l)if(91!==l)if(93!==l){if(44===l&&0===o&&0===r){const o=e.slice(n,s).trim();o&&t(o),n=s+1}}else r--;else r++;else o--;else o++;else a=l;else l===a&&(a=null);else i=!0}const s=e.slice(n).trim();s&&t(s)},j=(e,t)=>{const n=e.trim();if(!n)return"";const o=t.trim();if(!o)return n;const r=-1!==o.indexOf(","),a=-1!==n.indexOf(","),i=-1!==n.indexOf("&");if(!r&&!a)return i?n.replaceAll("&",o):`${o} ${n}`;const s=[];return O(o,e=>{O(n,t=>{t.includes("&")?s.push(t.replaceAll("&",e)):s.push(`${e} ${t}`)})}),s.join(", ")},T=e=>{switch(e.type){case"declaration":return(e=>{const t=e.value.trim();return t?`${e.prop}:${t};`:""})(e);case"rule":return(e=>{const t=e.body.map(T).join("");return t?`${e.selector}{${t}}`:""})(e);case"atRule":return(e=>{const t=e.params?` ${e.params}`:"";if(null===e.body)return`@${e.name}${t};`;const n=e.body.map(T).join("");return n?`@${e.name}${t}{${n}}`:""})(e);default:return""}},R=(e,t)=>(e.expect("braceOpen"),{type:"rule",selector:t,body:B(e)}),D=(e,{stopAtBraceClose:t})=>{const n=[];for(;!e.isEof();){const o=e.peek();if(!o)break;if(t&&"braceClose"===o.type){e.next();break}if("semicolon"===o.type){e.next();continue}if("at"===o.type){n.push(W(e));continue}const r=P(e);r?"colon"!==e.peek()?.type?"braceOpen"!==e.peek()?.type?e.next():n.push(R(e,r)):n.push(L(e,r)):e.next()}return n},B=e=>D(e,{stopAtBraceClose:!0}),W=e=>{e.expect("at");const t=e.readUntil(["semicolon","braceOpen"]),{name:n,params:o}=(e=>{const t=e.trim();if(!t)return{name:"",params:void 0};let n=0;const o=t.length;for(;n<o;){const e=t[n];if(" "===e||"\t"===e||"\n"===e||"\r"===e||"\f"===e||"("===e)break;n++}const r=t.slice(0,n);for(;n<o;){const e=t[n];if(" "!==e&&"\t"!==e&&"\n"!==e&&"\r"!==e&&"\f"!==e)break;n++}return{name:r,params:t.slice(n)||void 0}})(t);let r=o;if("params"===e.peek()?.type){const t=e.expect("params").value;r=r?`${r}${t}`:t}return"braceOpen"===e.peek()?.type?{type:"atRule",name:n,params:r,body:B(e)}:("semicolon"===e.peek()?.type&&e.next(),{type:"atRule",name:n,params:r,body:null})},I={media:!0,supports:!0,container:!0,layer:!0},U=(e,t)=>{const n=t?j(e.selector,t):e.selector;return H(e.body,n)},H=(e,t)=>{const n=[],o=[],r=()=>{t&&0!==o.length&&(n.push({type:"rule",selector:t,body:o.slice()}),o.length=0)};for(let a=0;a<e.length;a++){const i=e[a];if("declaration"!==i.type)if("rule"!==i.type)if("atRule"!==i.type)r(),n.push(i);else{if(r(),!I[i.name]){n.push(i);continue}n.push({...i,body:i.body&&i.body.length>0?H(i.body,t):i.body})}else r(),n.push(...U(i,t));else o.push(i)}return r(),n},N=e=>w.includes(e),z=e=>S.includes(e),F=(e,t)=>{return!1===e||(""===(n=e)||(e=>null==e)(n))?"":(e=>"function"==typeof e)(e)?me(e)?`.${e[l]}`:F(e(t),t):(e=>Array.isArray(e))(e)?e.map(e=>F(e,t)).join("\n"):(e=>"object"==typeof e&&null!==e)(e)?Object.entries(e).filter(([,e])=>void 0!==e&&!1!==e).map(([e,t])=>`${C(e)}: ${t};`).join("\n"):e.toString?.()??"";var n},K=(e,...t)=>n=>e.reduce((e,o,r)=>e+o+F(t[r],n),""),_=(e,t)=>`${e}{${t}}`,q={media:!0,supports:!0,container:!0,layer:!0},G=(e,t)=>e.map(e=>"rule"===e.type?{...e,selector:j(e.selector,t)}:"atRule"===e.type&&q[e.name]?{...e,body:null===e.body?null:G(e.body,t)}:e),V=(e,t)=>n=>{const o=n=>{const r=[];for(const a of n){if("atRule"===a.type&&a.name===e){const e=o(a.body??[]),n=t({...a,body:e});r.push(...n);continue}"rule"!==a.type?"atRule"!==a.type?r.push(a):r.push({...a,body:null===a.body?null:o(a.body)}):r.push({...a,body:o(a.body)})}return r};return{...n,body:o(n.body)}},X=V("honey-absolute-fill",e=>[{type:"declaration",prop:"position",value:"absolute"},{type:"declaration",prop:"inset",value:"0"},...e.body??[]]),Y=e=>{if(!e)return"";const t=e.trim();return t.startsWith("(")&&t.endsWith(")")?t.slice(1,-1).trim():t},J=V("honey-center",e=>{const t=[];switch(Y(e.params)){case"horizontal":case"x":t.push({type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"justify-content",value:"center"});break;case"vertical":case"y":t.push({type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"align-items",value:"center"});break;case"block":t.push({type:"declaration",prop:"display",value:"block"},{type:"declaration",prop:"text-align",value:"center"});break;case"inline":t.push({type:"declaration",prop:"display",value:"inline-flex"},{type:"declaration",prop:"align-items",value:"center"},{type:"declaration",prop:"justify-content",value:"center"});break;default:t.push({type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"align-items",value:"center"},{type:"declaration",prop:"justify-content",value:"center"})}return[...t,...e.body??[]]}),Q=V("honey-stack",e=>{const t=Y(e.params),n=[{type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"flex-direction",value:"column"}];return t&&n.push({type:"declaration",prop:"gap",value:t}),[...n,...e.body??[]]}),Z=w.map(C),ee=({theme:e})=>{const t=e?.spacings?.base??0,n=e=>e.map(e=>{if("rule"===e.type)return{...e,body:n(e.body)};if("atRule"===e.type)return{...e,body:null===e.body?null:n(e.body)};if("declaration"===e.type){if(!Z.includes(e.prop))return e;if(/[()]/.test(e.value))return e;const n=e.value.trim().split(/\s+/);return{...e,value:n.map(e=>((e,t)=>{const n=e.trim();return/[a-z%]+$/i.test(n)?n:/^-?\d*\.?\d+$/.test(n)?parseFloat(n)*t+"px":n})(e,t)).join(" ")}}return e});return e=>({...e,body:n(e.body)})},te=V("honey-ellipsis",e=>[{type:"declaration",prop:"white-space",value:"nowrap"},{type:"declaration",prop:"overflow",value:"hidden"},{type:"declaration",prop:"text-overflow",value:"ellipsis"},...e.body??[]]),ne=V("honey-inline",e=>{const t=Y(e.params),n=[{type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"align-items",value:"center"}];return t&&n.push({type:"declaration",prop:"gap",value:t}),[...n,...e.body??[]]}),oe=e=>`@media ${e.map(e=>{const t=(o=[e.width&&["width",e.width],e.minWidth&&["min-width",e.minWidth],e.maxWidth&&["max-width",e.maxWidth],e.height&&["height",e.height],e.minHeight&&["min-height",e.minHeight],e.maxHeight&&["max-height",e.maxHeight],e.orientation&&["orientation",e.orientation],e.minResolution&&["min-resolution",e.minResolution],e.maxResolution&&["max-resolution",e.maxResolution],e.resolution&&["resolution",e.resolution],e.update&&["update",e.update]],o.filter(Boolean)).map(([e,t])=>`(${e}: ${t})`).join(" and "),n=t?` and ${t}`:"";var o;return`${e.operator?`${e.operator} `:""}${e.mediaType??"screen"}${n}`}).join(", ")}`,re=e=>"portrait"===e||"landscape"===e,ae=e=>"all"===e||"print"===e||"screen"===e||"speech"===e,ie=e=>/^[a-z]+\b(:up|:down)?$/i.test(e),se=e=>{const[t,n]=e.split(":");return{key:t,direction:n??"up"}},le=({theme:e})=>V("honey-media",t=>{if(!e?.breakpoints)return[];const n=Y(t.params);if(!n)return[];const o=n.split(/\s+/);let r=null,a=null;const i=[];for(const t of o){if(re(t)){r=t;continue}if(ae(t)){a=t;continue}if(!ie(t))continue;const n=se(t),o=n.key in e.breakpoints?e.breakpoints[n.key]:null;if(!o)continue;let s;"up"===n.direction?s={minWidth:`${o}px`}:"down"===n.direction&&(s={maxWidth:`${o}px`}),s&&i.push(s)}let s=[];return i.length?s=i.map(e=>({...e,orientation:r,mediaType:a})):(a&&s.push({mediaType:a}),r&&s.push({orientation:r})),s.length?[{type:"atRule",name:"media",params:oe(s).replace(/^@media\s*/,""),body:t.body}]:[]}),pe=V("honey-if",e=>{const t=Y(e.params);return t&&(e=>""!==e&&"false"!==e&&"0"!==e)(t)?e.body??[]:[]}),ce=(e,{theme:t,selector:n}={})=>{const o=(e=>{const t=(e=>{const t=[];let n=0,o=!1;const r=()=>n>=e.length,a=()=>r()?void 0:e[n],i=()=>n+1>=e.length?void 0:e[n+1],s=()=>"/"===a()&&("/"===i()||"*"===i()),l=()=>{for(;;){const e=a();if(!e||!/\s/.test(e))return;o=!0,n++}},p=()=>{if("/"!==a()||"/"!==i())return!1;for(n+=2;!r();){if("\n"===a()){n++;break}n++}return!0},c=()=>{if("/"!==a()||"*"!==i())return!1;for(n+=2;!r();){if("*"===a()&&"/"===i())return n+=2,!0;n++}return!0},u=()=>{const e=a();if(!e)return"";n++;let t="";for(;!r();){const o=a();if(!o)break;if("\\"===o){t+=o,n++;const e=a();e&&(t+=e,n++);continue}if(o===e){n++;break}t+=o,n++}return t},d=()=>{let e=0,t="";for(;!r();){const o=a();if(!o)break;if("("===o?e++:")"===o&&e--,t+=o,n++,0===e)break}return t},y=()=>{let e="";for(;!r();){const t=a();if(!t)break;if(E(t)||s())break;e+=t,n++}return e},m=e=>"text"===e?.type||"params"===e?.type||"string"===e?.type,h=e=>{const n=m(e)||"colon"===e.type;o&&n&&m(t[t.length-1])&&(e.hasLeadingWhitespace=!0),o=!1,t.push(e)};for(;!r()&&(l(),!r());){if(p()||c()){o=!0;continue}const e=a();if(!e)break;if("{"===e){h({type:"braceOpen"}),n++;continue}if("}"===e){h({type:"braceClose"}),n++;continue}if(":"===e){h({type:"colon"}),n++;continue}if(";"===e){h({type:"semicolon"}),n++;continue}if("@"===e){h({type:"at"}),n++;continue}if("("===e){h({type:"params",value:d()});continue}if('"'===e||"'"===e){h({type:"string",value:u()});continue}const t=y(),r=t.trim();r?(h({type:"text",value:r}),t!==t.trimEnd()&&(o=!0)):n++}return t})(e),n=(e=>{let t=0;const n=()=>t>=e.length,o=()=>n()?void 0:e[t],r=()=>n()?void 0:e[t++];return{isEof:n,peek:o,next:r,mark:()=>t,reset:e=>{t=e},expect:e=>{const t=r();return A(t,`[@react-hive/honey-css]: Expected "${e}" but reached end of input.`),A(t.type===e,`[@react-hive/honey-css]: Expected "${e}" but got "${t.type}".`),t},readUntil:e=>{let t="";const a=e=>e.hasLeadingWhitespace&&t?" ":"";for(;!n();){const n=o();if(!n||e.includes(n.type))break;"text"===n.type?t+=`${a(n)}${n.value}`:"string"===n.type?t+=`${a(n)}"${n.value}"`:"params"===n.type&&(t+=`${a(n)}${n.value}`),r()}return t.trim()},skipUntil:e=>{for(;!n();){const t=o();if(!t||e.includes(t.type))break;r()}}}})(t);return{type:"stylesheet",body:D(n,{stopAtBraceClose:!1})}})(n?_(n,e):e);return((e,t)=>{var n;return(e=>e.body.map(T).filter(Boolean).join(""))((n=t?{...e,body:G(e.body,t)}:e,{...n,body:H(n.body)}))})([pe,Q,ne,J,X,te,le({theme:t}),ee({theme:t})].reduce((e,t)=>t(e),o))},ue=e=>`${e}-${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,de=e=>e.filter(Boolean).join(" ").trim(),ye=e=>`hscn-${(e=>{let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)})(e)}`,me=e=>l in e,he=e=>Object.entries(e).reduce((e,[t,n])=>((g.has(t)||t.startsWith("data-")||t.startsWith("aria-"))&&(e[t]=n),e),{}),fe=(e,t=16)=>e/t+"rem",be=e=>2===e.split(".").length,ge=(e,t="px",n="base")=>({theme:o})=>{if("string"==typeof e)return e;const r=o.spacings[n]??0;if("number"==typeof e){const n=e*r;return t?`${n}${t}`:n}return e.map(e=>{if("string"==typeof e)return e;const n=e*r;return t?`${n}${t}`:n}).join(" ")},ve=e=>({theme:t})=>{const n=t.fonts[e];return K`
1
+ import{createContext as e,createElement as t,useContext as n,useInsertionEffect as o,useMemo as r}from"react";import{jsx as a}from"react/jsx-runtime";const i=!1,s=Symbol.for("honey-style-registry"),l="$$ComponentId",p="__compositionDepth",c="data-honey-global-style",u="data-honey-style",d="data-priority",y=["xs","sm","md","lg","xl"],m=new Set(["accept","accessKey","autoCapitalize","autoComplete","autoFocus","capture","class","className","contentEditable","contextMenu","dir","draggable","hidden","id","inert","inputMode","is","lang","nonce","part","slot","spellCheck","style","tabIndex","title","translate","unselectable","checked","cols","disabled","form","formAction","formEncType","formMethod","formNoValidate","formTarget","list","max","maxLength","min","minLength","multiple","name","pattern","placeholder","readOnly","required","rows","size","step","type","value","wrap","alt","autoPlay","controls","crossOrigin","disablePictureInPicture","disableRemotePlayback","height","isMap","loop","media","muted","playsInline","poster","preload","role","src","srcSet","useMap","width","download","href","hrefLang","referrerPolicy","rel","target","dangerouslySetInnerHTML","key","ref","children","char","charOff","exportparts","popover","popoverTarget","popoverTargetAction","virtualkeyboardpolicy","writingsuggestions"]),h=new Set(["colSpan","rowSpan","headers","abbr","scope","align","valign"]),f=new Set(["viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","strokeDasharray","strokeDashoffset","strokeOpacity","fillOpacity","opacity","pointerEvents","focusable","x","y","x1","x2","y1","y2","cx","cy","r","rx","ry","d","points","height","transform","xmlns","preserveAspectRatio","mask","clipPath","pathLength","markerStart","markerMid","markerEnd","refX","refY","dominantBaseline","textAnchor"]),b=new Set(["onCopy","onCut","onPaste","onCompositionEnd","onCompositionStart","onCompositionUpdate","onFocus","onBlur","onChange","onInput","onInvalid","onReset","onSubmit","onKeyDown","onKeyPress","onKeyUp","onClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onGotPointerCapture","onLostPointerCapture","onSelect","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onScroll","onWheel","onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting","onLoad","onError","onTransitionEnd","onTransitionStart","onTransitionRun","onTransitionCancel","onAnimationStart","onAnimationEnd","onAnimationIteration","onAnimationCancel"]),g=new Set([...m,...h,...f,...b]),v=e(void 0);function k(e,t){if(!e)throw new Error(t)}const x=e=>"string"==typeof e,$=(e,...t)=>"function"==typeof e?e(...t):e,C=e=>e.replace(/([\p{Ll}\p{N}])(\p{Lu})/gu,"$1-$2").toLowerCase(),w=["margin","marginTop","marginRight","marginBottom","marginLeft","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockStart","paddingBlockEnd","top","right","bottom","left","inset","gap","rowGap","columnGap"],S=["color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor","textDecorationColor","fill","stroke"],E=e=>"{"===e||"}"===e||":"===e||";"===e||"@"===e||"("===e||'"'===e||"'"===e;function A(e,t){if(!e)throw new Error(t)}const M=e=>{const t=[],n=()=>t.join("").trim(),o=e=>e.hasLeadingWhitespace&&t.length?" ":"";for(;!e.isEof();){const r=e.peek();if(!r)break;switch(r.type){case"braceOpen":case"braceClose":default:return n();case"colon":t.push(`${o(r)}:`);break;case"text":case"params":t.push(`${o(r)}${r.value}`);break;case"string":t.push(`${o(r)}"${r.value}"`)}e.next()}return n()},P=e=>{const t=e.peek();if(!t)return"";if("colon"===t.type)return M(e);const n=e.mark(),o=M(e);return"braceOpen"===e.peek()?.type?o:(e.reset(n),e.readUntil(["colon","braceOpen","semicolon","braceClose","at"]))},L=(e,t)=>{e.expect("colon");const n=e.readUntil(["semicolon","braceClose"]);return"semicolon"===e.peek()?.type&&e.next(),{type:"declaration",prop:t,value:n}},O=(e,t)=>{let n=0,o=0,r=0,a=null,i=!1;for(let s=0;s<e.length;s++){const l=e.charCodeAt(s);if(i)i=!1;else if(92!==l)if(null===a)if(34!==l&&39!==l)if(40!==l)if(41!==l)if(91!==l)if(93!==l){if(44===l&&0===o&&0===r){const o=e.slice(n,s).trim();o&&t(o),n=s+1}}else r--;else r++;else o--;else o++;else a=l;else l===a&&(a=null);else i=!0}const s=e.slice(n).trim();s&&t(s)},j=(e,t)=>{const n=e.trim();if(!n)return"";const o=t.trim();if(!o)return n;const r=-1!==o.indexOf(","),a=-1!==n.indexOf(","),i=-1!==n.indexOf("&");if(!r&&!a)return i?n.replaceAll("&",o):`${o} ${n}`;const s=[];return O(o,e=>{O(n,t=>{t.includes("&")?s.push(t.replaceAll("&",e)):s.push(`${e} ${t}`)})}),s.join(", ")},T=e=>{switch(e.type){case"declaration":return(e=>{const t=e.value.trim();return t?`${e.prop}:${t};`:""})(e);case"rule":return(e=>{const t=e.body.map(T).join("");return t?`${e.selector}{${t}}`:""})(e);case"atRule":return(e=>{const t=e.params?` ${e.params}`:"";if(null===e.body)return`@${e.name}${t};`;const n=e.body.map(T).join("");return n?`@${e.name}${t}{${n}}`:""})(e);default:return""}},R=(e,t)=>(e.expect("braceOpen"),{type:"rule",selector:t,body:B(e)}),D=(e,{stopAtBraceClose:t})=>{const n=[];for(;!e.isEof();){const o=e.peek();if(!o)break;if(t&&"braceClose"===o.type){e.next();break}if("semicolon"===o.type){e.next();continue}if("at"===o.type){n.push(W(e));continue}const r=P(e);r?"colon"!==e.peek()?.type?"braceOpen"!==e.peek()?.type?e.next():n.push(R(e,r)):n.push(L(e,r)):e.next()}return n},B=e=>D(e,{stopAtBraceClose:!0}),W=e=>{e.expect("at");const t=e.readUntil(["semicolon","braceOpen"]),{name:n,params:o}=(e=>{const t=e.trim();if(!t)return{name:"",params:void 0};let n=0;const o=t.length;for(;n<o;){const e=t[n];if(" "===e||"\t"===e||"\n"===e||"\r"===e||"\f"===e||"("===e)break;n++}const r=t.slice(0,n);for(;n<o;){const e=t[n];if(" "!==e&&"\t"!==e&&"\n"!==e&&"\r"!==e&&"\f"!==e)break;n++}return{name:r,params:t.slice(n)||void 0}})(t);let r=o;if("params"===e.peek()?.type){const t=e.expect("params").value;r=r?`${r}${t}`:t}return"braceOpen"===e.peek()?.type?{type:"atRule",name:n,params:r,body:B(e)}:("semicolon"===e.peek()?.type&&e.next(),{type:"atRule",name:n,params:r,body:null})},I={media:!0,supports:!0,container:!0,layer:!0},U=(e,t)=>{const n=t?j(e.selector,t):e.selector;return H(e.body,n)},H=(e,t)=>{const n=[],o=[],r=()=>{t&&0!==o.length&&(n.push({type:"rule",selector:t,body:o.slice()}),o.length=0)};for(let a=0;a<e.length;a++){const i=e[a];if("declaration"!==i.type)if("rule"!==i.type)if("atRule"!==i.type)r(),n.push(i);else{if(r(),!I[i.name]){n.push(i);continue}n.push({...i,body:i.body&&i.body.length>0?H(i.body,t):i.body})}else r(),n.push(...U(i,t));else o.push(i)}return r(),n},N=e=>w.includes(e),z=e=>S.includes(e),F=(e,t)=>{return!1===e||(""===(n=e)||(e=>null==e)(n))?"":(e=>"function"==typeof e)(e)?me(e)?`.${e[l]}`:F(e(t),t):(e=>Array.isArray(e))(e)?e.map(e=>F(e,t)).join("\n"):(e=>"object"==typeof e&&null!==e)(e)?Object.entries(e).filter(([,e])=>void 0!==e&&!1!==e).map(([e,t])=>`${C(e)}: ${t};`).join("\n"):e.toString?.()??"";var n},K=(e,...t)=>n=>e.reduce((e,o,r)=>e+o+F(t[r],n),""),_=(e,t)=>`${e}{${t}}`,q={media:!0,supports:!0,container:!0,layer:!0},G=(e,t)=>e.map(e=>"rule"===e.type?{...e,selector:j(e.selector,t)}:"atRule"===e.type&&q[e.name]?{...e,body:null===e.body?null:G(e.body,t)}:e),V=(e,t)=>n=>{const o=n=>{const r=[];for(const a of n){if("atRule"===a.type&&a.name===e){const e=o(a.body??[]),n=t({...a,body:e});r.push(...n);continue}"rule"!==a.type?"atRule"!==a.type?r.push(a):r.push({...a,body:null===a.body?null:o(a.body)}):r.push({...a,body:o(a.body)})}return r};return{...n,body:o(n.body)}},X=V("honey-absolute-fill",e=>[{type:"declaration",prop:"position",value:"absolute"},{type:"declaration",prop:"inset",value:"0"},...e.body??[]]),Y=e=>{if(!e)return"";const t=e.trim();return t.startsWith("(")&&t.endsWith(")")?t.slice(1,-1).trim():t},J=V("honey-center",e=>{const t=[];switch(Y(e.params)){case"horizontal":case"x":t.push({type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"justify-content",value:"center"});break;case"vertical":case"y":t.push({type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"align-items",value:"center"});break;case"block":t.push({type:"declaration",prop:"display",value:"block"},{type:"declaration",prop:"text-align",value:"center"});break;case"inline":t.push({type:"declaration",prop:"display",value:"inline-flex"},{type:"declaration",prop:"align-items",value:"center"},{type:"declaration",prop:"justify-content",value:"center"});break;default:t.push({type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"align-items",value:"center"},{type:"declaration",prop:"justify-content",value:"center"})}return[...t,...e.body??[]]}),Q=V("honey-stack",e=>{const t=Y(e.params),n=[{type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"flex-direction",value:"column"}];return t&&n.push({type:"declaration",prop:"gap",value:t}),[...n,...e.body??[]]}),Z=w.map(C),ee=({theme:e})=>{const t=e?.spacings?.base??0,n=e=>e.map(e=>{if("rule"===e.type)return{...e,body:n(e.body)};if("atRule"===e.type)return{...e,body:null===e.body?null:n(e.body)};if("declaration"===e.type){if(!Z.includes(e.prop))return e;if(/[()]/.test(e.value))return e;const n=e.value.trim().split(/\s+/);return{...e,value:n.map(e=>((e,t)=>{const n=e.trim();return/[a-z%]+$/i.test(n)?n:/^-?\d*\.?\d+$/.test(n)?parseFloat(n)*t+"px":n})(e,t)).join(" ")}}return e});return e=>({...e,body:n(e.body)})},te=V("honey-ellipsis",e=>[{type:"declaration",prop:"white-space",value:"nowrap"},{type:"declaration",prop:"overflow",value:"hidden"},{type:"declaration",prop:"text-overflow",value:"ellipsis"},...e.body??[]]),ne=V("honey-inline",e=>{const t=Y(e.params),n=[{type:"declaration",prop:"display",value:"flex"},{type:"declaration",prop:"align-items",value:"center"}];return t&&n.push({type:"declaration",prop:"gap",value:t}),[...n,...e.body??[]]}),oe=e=>`@media ${e.map(e=>{const t=(o=[e.width&&["width",e.width],e.minWidth&&["min-width",e.minWidth],e.maxWidth&&["max-width",e.maxWidth],e.height&&["height",e.height],e.minHeight&&["min-height",e.minHeight],e.maxHeight&&["max-height",e.maxHeight],e.orientation&&["orientation",e.orientation],e.minResolution&&["min-resolution",e.minResolution],e.maxResolution&&["max-resolution",e.maxResolution],e.resolution&&["resolution",e.resolution],e.update&&["update",e.update]],o.filter(Boolean)).map(([e,t])=>`(${e}: ${t})`).join(" and "),n=t?` and ${t}`:"";var o;return`${e.operator?`${e.operator} `:""}${e.mediaType??"screen"}${n}`}).join(", ")}`,re=e=>"portrait"===e||"landscape"===e,ae=e=>"all"===e||"print"===e||"screen"===e||"speech"===e,ie=e=>/^[a-z]+\b(:up|:down)?$/i.test(e),se=e=>{const[t,n]=e.split(":");return{key:t,direction:n??"up"}},le=({theme:e})=>V("honey-media",t=>{if(!e?.breakpoints)return[];const n=Y(t.params);if(!n)return[];const o=n.split(/\s+/);let r=null,a=null;const i=[];for(const t of o){if(re(t)){r=t;continue}if(ae(t)){a=t;continue}if(!ie(t))continue;const n=se(t),o=n.key in e.breakpoints?e.breakpoints[n.key]:null;if(!o)continue;let s;"up"===n.direction?s={minWidth:`${o}px`}:"down"===n.direction&&(s={maxWidth:`${o}px`}),s&&i.push(s)}let s=[];return i.length?s=i.map(e=>({...e,orientation:r,mediaType:a})):(a&&s.push({mediaType:a}),r&&s.push({orientation:r})),s.length?[{type:"atRule",name:"media",params:oe(s).replace(/^@media\s*/,""),body:t.body}]:[]}),pe=V("honey-if",e=>{const t=Y(e.params);return t&&(e=>""!==e&&"false"!==e&&"0"!==e)(t)?e.body??[]:[]}),ce=(e,{theme:t,selector:n}={})=>{const o=(e=>{const t=(e=>{const t=[];let n=0,o=!1;const r=()=>n>=e.length,a=()=>r()?void 0:e[n],i=()=>n+1>=e.length?void 0:e[n+1],s=()=>"/"===a()&&("/"===i()||"*"===i()),l=()=>{for(;;){const e=a();if(!e||!/\s/.test(e))return;o=!0,n++}},p=()=>{if("/"!==a()||"/"!==i())return!1;for(n+=2;!r();){if("\n"===a()){n++;break}n++}return!0},c=()=>{if("/"!==a()||"*"!==i())return!1;for(n+=2;!r();){if("*"===a()&&"/"===i())return n+=2,!0;n++}return!0},u=()=>{const e=a();if(!e)return"";n++;let t="";for(;!r();){const o=a();if(!o)break;if("\\"===o){t+=o,n++;const e=a();e&&(t+=e,n++);continue}if(o===e){n++;break}t+=o,n++}return t},d=()=>{let e=0,t="";for(;!r();){const o=a();if(!o)break;if("("===o?e++:")"===o&&e--,t+=o,n++,0===e)break}return t},y=()=>{let e="";for(;!r();){const t=a();if(!t)break;if(E(t)||s())break;e+=t,n++}return e},m=e=>"text"===e?.type||"params"===e?.type||"string"===e?.type,h=e=>{const n=m(e)||"colon"===e.type;o&&n&&m(t[t.length-1])&&(e.hasLeadingWhitespace=!0),o=!1,t.push(e)};for(;!r()&&(l(),!r());){if(p()||c()){o=!0;continue}const e=a();if(!e)break;if("{"===e){h({type:"braceOpen"}),n++;continue}if("}"===e){h({type:"braceClose"}),n++;continue}if(":"===e){h({type:"colon"}),n++;continue}if(";"===e){h({type:"semicolon"}),n++;continue}if("@"===e){h({type:"at"}),n++;continue}if("("===e){h({type:"params",value:d()});continue}if('"'===e||"'"===e){h({type:"string",value:u()});continue}const t=y(),r=t.trim();r?(h({type:"text",value:r}),t!==t.trimEnd()&&(o=!0)):n++}return t})(e),n=(e=>{let t=0;const n=()=>t>=e.length,o=()=>n()?void 0:e[t],r=()=>n()?void 0:e[t++];return{isEof:n,peek:o,next:r,mark:()=>t,reset:e=>{t=e},expect:e=>{const t=r();return A(t,`[@react-hive/honey-css]: Expected "${e}" but reached end of input.`),A(t.type===e,`[@react-hive/honey-css]: Expected "${e}" but got "${t.type}".`),t},readUntil:e=>{let t="";const a=e=>e.hasLeadingWhitespace&&t?" ":"";for(;!n();){const n=o();if(!n||e.includes(n.type))break;"text"===n.type?t+=`${a(n)}${n.value}`:"string"===n.type?t+=`${a(n)}"${n.value}"`:"params"===n.type&&(t+=`${a(n)}${n.value}`),r()}return t.trim()},skipUntil:e=>{for(;!n();){const t=o();if(!t||e.includes(t.type))break;r()}}}})(t);return{type:"stylesheet",body:D(n,{stopAtBraceClose:!1})}})(n?_(n,e):e);return((e,t)=>{var n;return(e=>e.body.map(T).filter(Boolean).join(""))((n=t?{...e,body:G(e.body,t)}:e,{...n,body:H(n.body)}))})([pe,Q,ne,J,X,te,le({theme:t}),ee({theme:t})].reduce((e,t)=>t(e),o))},ue=e=>`${e}-${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,de=e=>e.filter(Boolean).join(" ").trim(),ye=e=>`hscn-${(e=>{let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)})(e)}`,me=e=>l in e,he=e=>Object.entries(e).reduce((e,[t,n])=>((g.has(t)||t.startsWith("data-")||t.startsWith("aria-"))&&(e[t]=n),e),{}),fe=(e,t=16)=>e/t+"rem",be=e=>2===e.split(".").length,ge=(e,t="px",n="base")=>({theme:o})=>{if("string"==typeof e)return e;const r=o.spacings[n]??0;if("number"==typeof e){const n=e*r;return t?`${n}${t}`:n}return e.map(e=>{if("string"==typeof e)return e;const n=e*r;return t?`${n}${t}`:n}).join(" ")},ve=e=>({theme:t})=>{const n=t.fonts[e];return K`
2
2
  font-family: ${n.family};
3
3
  font-size: ${fe(n.size)};
4
4
  font-weight: ${n.weight};