@react-hive/honey-style 8.3.4 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
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",m=["xs","sm","md","lg","xl"],y=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([...y,...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(/([a-z0-9])([A-Z])/g,"$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"],A=e=>"{"===e||"}"===e||":"===e||";"===e||"@"===e||"("===e||'"'===e||"'"===e;function E(e,t){if(!e)throw new Error(t)}const M=e=>{const t=[],n=()=>t.join("").trim();for(;!e.isEof();){const o=e.peek();if(!o)break;switch(o.type){case"braceOpen":case"braceClose":default:return n();case"colon":t.push(":");break;case"text":case"params":t.push(o.value);break;case"string":t.push(`"${o.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"]))},O=(e,t)=>{e.expect("colon");const n=e.readUntil(["semicolon","braceClose"]);return"semicolon"===e.peek()?.type&&e.next(),{type:"declaration",prop:t,value:n}},j=(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)},T=(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 j(o,e=>{j(n,t=>{t.includes("&")?s.push(t.replaceAll("&",e)):s.push(`${e} ${t}`)})}),s.join(", ")},R=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(R).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(R).join("");return n?`@${e.name}${t}{${n}}`:""})(e);default:return""}},D=(e,t)=>(e.expect("braceOpen"),{type:"rule",selector:t,body:B(e)}),L=(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(D(e,r)):n.push(O(e,r)):e.next()}return n},B=e=>L(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})},U={media:!0,supports:!0,container:!0,layer:!0},H=(e,t)=>{const n=t?T(e.selector,t):e.selector;return I(e.body,n)},I=(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(),!U[i.name]){n.push(i);continue}n.push({...i,body:i.body&&i.body.length>0?I(i.body,t):i.body})}else r(),n.push(...H(i,t));else o.push(i)}return r(),n},z=e=>w.includes(e),N=e=>S.includes(e),F=(e,t)=>{return!1===e||(""===(n=e)||(e=>null==e)(n))?"":(e=>"function"==typeof e)(e)?ye(e)?`.${e[l]}`:F(e(t),t):(e=>Array.isArray(e))(e)?e.map(e=>F(e,t)).join("\n"):(e=>"object"==typeof 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:T(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},Z=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??[]]}),J=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??[]]}),Q=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(!Q.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=[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]],n=(r=t,r.filter(Boolean)).map(([e,t])=>`(${e}: ${t})`).join(" and "),o=n?` and ${n}`:"";var r;return`${e.operator?`${e.operator} `:""}${e.mediaType??"screen"}${o}`}).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=>{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 E(t,`[@react-hive/honey-css]: Expected "${e}" but reached end of input.`),E(t.type===e,`[@react-hive/honey-css]: Expected "${e}" but got "${t.type}".`),t},readUntil:e=>{let t,a="";for(;!n();){const n=o();if(!n||e.includes(n.type))break;"text"===n.type?("text"===t&&a&&(a+=" "),a+=n.value):"string"===n.type?a+=`"${n.value}"`:"params"===n.type&&(a+=n.value),t=n.type,r()}return a.trim()},skipUntil:e=>{for(;!n();){const t=o();if(!t||e.includes(t.type))break;r()}}}})((e=>{const t=[];let n=0;const o=()=>n>=e.length,r=()=>o()?void 0:e[n],a=()=>n+1>=e.length?void 0:e[n+1],i=()=>"/"===r()&&("/"===a()||"*"===a()),s=()=>{for(;;){const e=r();if(!e||!/\s/.test(e))return;n++}},l=()=>{if("/"!==r()||"/"!==a())return!1;for(n+=2;!o();){if("\n"===r()){n++;break}n++}return!0},p=()=>{if("/"!==r()||"*"!==a())return!1;for(n+=2;!o();){if("*"===r()&&"/"===a())return n+=2,!0;n++}return!0},c=()=>{const e=r();if(!e)return"";n++;let t="";for(;!o();){const o=r();if(!o)break;if("\\"===o){t+=o,n++;const e=r();e&&(t+=e,n++);continue}if(o===e){n++;break}t+=o,n++}return t},u=()=>{let e=0,t="";for(;!o();){const o=r();if(!o)break;if("("===o?e++:")"===o&&e--,t+=o,n++,0===e)break}return t},d=()=>{let e="";for(;!o();){const t=r();if(!t)break;if(A(t)||i())break;e+=t,n++}return e.trim()};for(;!o()&&(s(),!o());){if(l()||p())continue;const e=r();if(!e)break;if("{"===e){t.push({type:"braceOpen"}),n++;continue}if("}"===e){t.push({type:"braceClose"}),n++;continue}if(":"===e){t.push({type:"colon"}),n++;continue}if(";"===e){t.push({type:"semicolon"}),n++;continue}if("@"===e){t.push({type:"at"}),n++;continue}if("("===e){t.push({type:"params",value:u()});continue}if('"'===e||"'"===e){t.push({type:"string",value:c()});continue}const o=d();o?t.push({type:"text",value:o}):n++}return t})(e));return{type:"stylesheet",body:L(t,{stopAtBraceClose:!1})}})(n?_(n,e):e);return((e,t)=>{var n;return(e=>e.body.map(R).filter(Boolean).join(""))((n=t?{...e,body:G(e.body,t)}:e,{...n,body:I(n.body)}))})([pe,J,ne,Z,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(),me=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)}`,ye=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","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`
2
2
  font-family: ${n.family};
3
3
  font-size: ${fe(n.size)};
4
4
  font-weight: ${n.weight};
5
5
  line-height: ${void 0!==n.lineHeight&&fe(n.lineHeight)};
6
6
  letter-spacing: ${void 0!==n.letterSpacing&&fe(n.letterSpacing)};
7
- `},ke=(e,t)=>({theme:n})=>{const[o,r]=e.split("."),a=r?n.colors[o][r]:o;return void 0===t?a:((e,t)=>{k(t>=0&&t<=1,`[@react-hive/honey-utils]: Alpha "${t}" must be a number between 0 and 1.`);const n=e.match(/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/);k(n,`[@react-hive/honey-utils]: Invalid hex format: ${e}`);const o=n[1];return`#${(3===o.length?o[0]+o[0]+o[1]+o[1]+o[2]+o[2]:o)+Math.round(255*t).toString(16).toUpperCase().padStart(2,"0")}`})(a,t)},xe=e=>({theme:t})=>t.dimensions[e],$e=({children:e,theme:t})=>{const n=r(()=>({theme:t,resolveSpacing:(...e)=>ge(...e)({theme:t}),resolveColor:(...e)=>ke(...e)({theme:t}),resolveFont:(...e)=>ve(...e)({theme:t}),resolveDimension:(...e)=>xe(...e)({theme:t})}),[t]);return a(v,{value:n,children:e})},Ce=()=>{const e=n(v);return k(e,"The `useHoneyStyle()` hook must be used inside <HoneyStyleProvider/> component!"),e},we=(e,...t)=>{const n=ue("hsg"),r=K(e,...t);return()=>{const{theme:e}=Ce();return o(()=>{const t=r({theme:e}),o=ce(t,{theme:e}),a=document.createElement("style");return a.id=n,a.innerHTML=o,a.setAttribute(c,"true"),document.head.insertBefore(a,document.head.firstChild),()=>{a.remove()}},[e]),null}},Se=(()=>{const e=window;return e[s]||(e[s]=new Map),e[s]})(),Ae=new Map,Ee=new Set;let Me=!1;const Pe=e=>{const t=(e=>{let t=Ae.get(e);if(t)return t;t=document.createElement("style"),t.setAttribute(u,"true"),t.setAttribute(d,String(e));const n=Array.from(document.querySelectorAll(`style[${u}="true"]`)).find(t=>Number(t.getAttribute(d))>e);return n?document.head.insertBefore(t,n):document.head.appendChild(t),Ae.set(e,t),t})(e),n=Array.from(Se.values()).filter(t=>t.priority===e).map(e=>e.css).join("\n");n?t.textContent=n:(t.remove(),Ae.delete(e))},Oe=e=>()=>{const t=Se.get(e);var n;t&&(t.usages--,t.usages<=0&&(Se.delete(e),n=t.priority,Ee.add(n),Me||(Me=!0,queueMicrotask(()=>{Me=!1,(()=>{for(const e of Ee)Pe(e);Ee.clear()})()}))))},je=(e,n,{omitProps:r}={})=>(a,...i)=>{const s=ue("hsc"),c=K(a,...i),u=({as:a,className:i,__compositionDepth:l=0,...u})=>{const{theme:d}=Ce(),m=(g=u,Object.entries(g).reduce((e,[t,n])=>(void 0!==n&&(e[t]=n),e),{})),y={...$(n,{theme:d,as:a,className:i,...m})??{},...i&&{className:i}},h={...y,...m,theme:d},f=c(h),b=me(f);var g;o(()=>{const e=ce(f,{theme:d,selector:`.${b}`});return((e,t,n=0)=>{const o=Se.get(e);return o?(o.usages++,o.priority>n&&(o.priority=n,Pe(n)),Oe(e)):(Se.set(e,{css:t,priority:n,usages:1}),Pe(n),Oe(e))})(b,e,l)},[b]);const v=de([s,b,y.className]),k={...y,...m,className:v},C=r?Object.entries(k).reduce((e,[t,n])=>r(t)?e:{...e,[t]:n},{}):k,w=a||e;if(x(e)){const e=x(w)?he(C):C;return t(w,e)}return t(e,{...C,...a&&{as:a},...ye(e)&&{[p]:l-1}})};return u[l]=s,u};export{S as CSS_COLOR_PROPERTIES,w as CSS_SPACING_PROPERTIES,m as HONEY_BREAKPOINTS,c as HONEY_GLOBAL_STYLE_ATTR,l as HONEY_STYLED_COMPONENT_ID_PROP,p as HONEY_STYLED_COMPOSITION_DEPTH_PROP,u as HONEY_STYLE_ATTR,d as HONEY_STYLE_PRIORITY_ATTR,s as HONEY_STYLE_REGISTRY_SYMBOL,v as HoneyStyleContext,$e as HoneyStyleProvider,g as VALID_DOM_ELEMENT_ATTRS,i as __DEV__,me as buildClassName,de as combineClassNames,_ as createCssRule,we as createGlobalStyle,K as css,he as filterNonHtmlAttrs,ue as generateId,N as isCssColorProperty,z as isCssSpacingProperty,ye as isStyledComponent,be as isThemeColorValue,oe as mediaQuery,ce as processCss,fe as pxToRem,ke as resolveColor,xe as resolveDimension,ve as resolveFont,ge as resolveSpacing,je as styled,Ce as useHoneyStyle};
7
+ `},ke=(e,t)=>({theme:n})=>{const[o,r]=e.split("."),a=r?n.colors[o][r]:o;return void 0===t?a:((e,t)=>{k(t>=0&&t<=1,`[@react-hive/honey-utils]: Alpha "${t}" must be a number between 0 and 1.`);const n=e.match(/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/);k(n,`[@react-hive/honey-utils]: Invalid hex format: ${e}`);const o=n[1];return`#${(3===o.length?o[0]+o[0]+o[1]+o[1]+o[2]+o[2]:o)+Math.round(255*t).toString(16).toUpperCase().padStart(2,"0")}`})(a,t)},xe=e=>({theme:t})=>t.dimensions[e],$e=({children:e,theme:t})=>{const n=r(()=>({theme:t,resolveSpacing:(...e)=>ge(...e)({theme:t}),resolveColor:(...e)=>ke(...e)({theme:t}),resolveFont:(...e)=>ve(...e)({theme:t}),resolveDimension:(...e)=>xe(...e)({theme:t})}),[t]);return a(v,{value:n,children:e})},Ce=()=>{const e=n(v);return k(e,"The `useHoneyStyle()` hook must be used inside <HoneyStyleProvider/> component!"),e},we=(e,...t)=>{const n=ue("hsg"),r=K(e,...t);return()=>{const{theme:e}=Ce();return o(()=>{const t=r({theme:e}),o=ce(t,{theme:e}),a=document.createElement("style");return a.id=n,a.innerHTML=o,a.setAttribute(c,"true"),document.head.insertBefore(a,document.head.firstChild),()=>{a.remove()}},[e]),null}},Se=(()=>{const e=window;return e[s]||(e[s]=new Map),e[s]})(),Ee=new Map,Ae=new Set;let Me=!1;const Pe=e=>{const t=(e=>{let t=Ee.get(e);if(t)return t;t=document.createElement("style"),t.setAttribute(u,"true"),t.setAttribute(d,String(e));const n=Array.from(document.querySelectorAll(`style[${u}="true"]`)).find(t=>Number(t.getAttribute(d))>e);return n?document.head.insertBefore(t,n):document.head.appendChild(t),Ee.set(e,t),t})(e),n=Array.from(Se.values()).filter(t=>t.priority===e).map(e=>e.css).join("\n");n?t.textContent=n:(t.remove(),Ee.delete(e))},Le=e=>()=>{const t=Se.get(e);var n;t&&(t.usages--,t.usages<=0&&(Se.delete(e),n=t.priority,Ae.add(n),Me||(Me=!0,queueMicrotask(()=>{Me=!1,(()=>{for(const e of Ae)Pe(e);Ae.clear()})()}))))},Oe=(e,n,{omitProps:r}={})=>(a,...i)=>{const s=ue("hsc"),c=K(a,...i),u=({as:a,className:i,__compositionDepth:l=0,...u})=>{const{theme:d}=Ce(),y=(e=>{const t={};return Reflect.ownKeys(e).forEach(n=>{if(!Object.prototype.propertyIsEnumerable.call(e,n))return;const o=e[n];void 0!==o&&(t[n]=o)}),t})(u),m={...$(n,{theme:d,as:a,className:i,...y})??{},...i&&{className:i}},h={...m,...y,theme:d},f=c(h),b=ye(f);o(()=>{const e=ce(f,{theme:d,selector:`.${b}`});return((e,t,n=0)=>{const o=Se.get(e);return o?(o.usages++,o.priority>n&&(o.priority=n,Pe(n)),Le(e)):(Se.set(e,{css:t,priority:n,usages:1}),Pe(n),Le(e))})(b,e,l)},[b]);const g=de([s,b,m.className]),v={...m,...y,className:g},k=r?Object.entries(v).reduce((e,[t,n])=>r(t)?e:{...e,[t]:n},{}):v,C=a||e;if(x(e)){const e=x(C)?he(k):k;return t(C,e)}return t(e,{...k,...a&&{as:a},...me(e)&&{[p]:l-1}})};return u[l]=s,u};export{S as CSS_COLOR_PROPERTIES,w as CSS_SPACING_PROPERTIES,y as HONEY_BREAKPOINTS,c as HONEY_GLOBAL_STYLE_ATTR,l as HONEY_STYLED_COMPONENT_ID_PROP,p as HONEY_STYLED_COMPOSITION_DEPTH_PROP,u as HONEY_STYLE_ATTR,d as HONEY_STYLE_PRIORITY_ATTR,s as HONEY_STYLE_REGISTRY_SYMBOL,v as HoneyStyleContext,$e as HoneyStyleProvider,g as VALID_DOM_ELEMENT_ATTRS,i as __DEV__,ye as buildClassName,de as combineClassNames,_ as createCssRule,we as createGlobalStyle,K as css,he as filterNonHtmlAttrs,ue as generateId,z as isCssColorProperty,N as isCssSpacingProperty,me as isStyledComponent,be as isThemeColorValue,oe as mediaQuery,ce as processCss,fe as pxToRem,ke as resolveColor,xe as resolveDimension,ve as resolveFont,ge as resolveSpacing,Oe as styled,Ce as useHoneyStyle};
8
8
  //# sourceMappingURL=index.mjs.map