@react-hive/honey-style 2.6.0 → 2.7.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.
@@ -0,0 +1 @@
1
+ export declare const createEllipsisAtRuleMiddleware: () => import("stylis").Middleware;
@@ -1,32 +1,72 @@
1
1
  import type { Element, Middleware } from 'stylis';
2
2
  interface AtRuleMiddlewareOptions {
3
+ /**
4
+ * The suffix name of the custom at-rule without the `@honey-` prefix.
5
+ *
6
+ * For example, if you want to handle `@honey-stack`, set this to `"stack"`.
7
+ *
8
+ * This name is used to match the rule in the Stylis AST.
9
+ */
3
10
  name: string;
4
11
  /**
5
- * A transformation function that returns CSS declarations.
12
+ * A transformation function that returns CSS declarations to be injected
13
+ * in place of the custom at-rule.
14
+ *
15
+ * @param args - An array of parsed arguments inside the at-rule parentheses.
16
+ * Arguments are split by spaces. If no arguments are provided,
17
+ * this will be `undefined`.
18
+ *
19
+ * For example:
20
+ * - `@honey-stack(2)` → `args = ['2']`
21
+ * - `@honey-inline(2 center)` → `args = ['2', 'center']`
22
+ *
23
+ * @param element - The Stylis AST element representing the current at-rule node.
24
+ * Can be useful for accessing raw content or children.
6
25
  *
7
- * @param args - The parsed argument string inside the parentheses, if any.
8
- * @param element - The Stylis AST element for the current at-rule.
9
- * @param name - The name of the rule, same as `name` from the options.
26
+ * @param name - The same name as passed in `options.name`, for convenience.
10
27
  *
11
- * @returns A string of CSS declarations (e.g., `display:flex;gap:8px;`)
28
+ * @returns A string of one or more CSS declarations (e.g., `display:flex;gap:8px;`).
29
+ * This string will be injected into the compiled output in place of the at-rule.
12
30
  */
13
- transform: (args: string | undefined, element: Element, name: string) => string;
31
+ transform: (args: string[] | undefined, element: Element, name: string) => string;
14
32
  }
15
33
  /**
16
- * Creates a Stylis middleware that transforms a custom @honey-* at-rule
17
- * into standard CSS declarations. It supports optional arguments via parentheses
18
- * and nested rule content.
34
+ * Creates a Stylis middleware for transforming custom `@honey-*` at-rules into
35
+ * regular CSS declarations.
19
36
  *
20
- * @example
21
- * // For @honey-stack(2) { gap: 1; }
37
+ * This utility enables the definition of expressive, domain-specific at-rules
38
+ * such as `@honey-stack`, `@honey-inline`, or `@honey-center`, which can then be
39
+ * expanded into valid CSS at build time.
40
+ *
41
+ * Supports optional arguments passed via parentheses (e.g., `@honey-stack(2)`),
42
+ * as well as nested rule bodies (e.g., `@honey-stack { .child { ... } }`).
43
+ *
44
+ * ---
45
+ *
46
+ * ### Example
47
+ * ```ts
22
48
  * createAtRuleMiddleware({
23
49
  * name: 'stack',
24
- * transform: args => `display:flex;gap:${parseFloat(args || '0') * 8}px;`
50
+ * transform: args => {
51
+ * const gap = parseFloat(args?.[0] ?? '0') * 8;
52
+ *
53
+ * return `display:flex;flex-direction:column;gap:${gap}px;`;
54
+ * }
25
55
  * });
56
+ * ```
57
+ *
58
+ * ---
59
+ *
60
+ * ### Behavior
61
+ * - Matches only rules of the form `@honey-${name}` inside standard CSS rules.
62
+ * - Parses arguments from parentheses (e.g. `@honey-name (arg1 arg2)`).
63
+ * - Serializes nested content (children) and appends it to the output.
26
64
  *
27
- * @param options - Middleware creation options.
65
+ * @param options - Options for configuring the middleware:
66
+ * - `name`: the custom at-rule suffix, without the `@honey-` prefix.
67
+ * - `transform`: a function to convert parsed args and the AST node into CSS declarations.
28
68
  *
29
- * @returns A Stylis middleware function.
69
+ * @returns A Stylis `Middleware` function that replaces the matched at-rule with the generated CSS.
30
70
  */
31
71
  export declare const createAtRuleMiddleware: ({ name, transform, }: AtRuleMiddlewareOptions) => Middleware;
32
72
  export {};
@@ -3,3 +3,4 @@ export * from './stack-at-rule';
3
3
  export * from './inline-at-rule';
4
4
  export * from './center-at-rule';
5
5
  export * from './absolute-fill-at-rule';
6
+ export * from './ellipsis-at-rule';
package/dist/index.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  /*! For license information please see index.cjs.LICENSE.txt */
2
- (()=>{"use strict";var e={698:(e,t)=>{var n=Symbol.for("react.transitional.element");Symbol.for("react.fragment"),t.jsx=function(e,t,o){var r=null;if(void 0!==o&&(r=""+o),void 0!==t.key&&(r=""+t.key),"key"in t)for(var i in o={},t)"key"!==i&&(o[i]=t[i]);else o=t;return t=o.ref,{$$typeof:n,type:e,key:r,ref:void 0!==t?t:null,props:o}}},848:(e,t,n)=>{e.exports=n(698)}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};n.r(o),n.d(o,{CSS_COLOR_PROPERTIES:()=>v,CSS_SPACING_PROPERTIES:()=>y,HONEY_BREAKPOINTS:()=>c,HONEY_GLOBAL_STYLE_ATTR:()=>a,HONEY_STYLED_COMPONENT_ID_PROP:()=>i,HONEY_STYLE_ATTR:()=>s,HoneyStyleContext:()=>h,HoneyStyleProvider:()=>Le,VALID_DOM_ELEMENT_ATTRS:()=>m,__DEV__:()=>r,assert:()=>he,boolFilter:()=>xe,checkIsThemeColorValue:()=>Te,combineClassNames:()=>we,convertHexToHexWithAlpha:()=>Pe,createAbsoluteFillAtRuleMiddleware:()=>ue,createCenterAtRuleMiddleware:()=>le,createGlobalStyle:()=>je,createInlineAtRuleMiddleware:()=>ce,createSpacingMiddleware:()=>S,createStackAtRuleMiddleware:()=>se,css:()=>me,filterNonHtmlAttrs:()=>Ee,generateId:()=>ge,isFunction:()=>Se,isNil:()=>Ce,isObject:()=>be,isString:()=>ve,isStyledComponent:()=>ke,mediaQuery:()=>fe,processCss:()=>pe,pxToRem:()=>Me,resolveClassName:()=>$e,resolveColor:()=>_e,resolveDimension:()=>Re,resolveFont:()=>Oe,resolveSpacing:()=>Ae,styled:()=>We,toKebabCase:()=>ye,useHoneyStyle:()=>De});const r=!1;r&&"undefined"!=typeof window&&!process.env.JEST_WORKER_ID&&console.info("[@react-hive/honey-style]: You are running in development mode. This build is not optimized for production and may include extra checks or logs.");const i="$$ComponentId",a="data-honey-global-style",s="data-honey-style",c=["xs","sm","md","lg","xl"],l=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","controls","crossOrigin","height","isMap","loop","media","muted","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"]),u=new Set(["colSpan","rowSpan","headers","abbr","scope","align","valign"]),p=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"]),d=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"]),m=new Set([...l,...u,...p,...d]),f=require("react"),h=(0,f.createContext)(void 0);var g=n(848);const y=["margin","marginTop","marginRight","marginBottom","marginLeft","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockStart","paddingBlockEnd","top","right","bottom","left","inset","gap","rowGap","columnGap"],v=["color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor","textDecorationColor","fill","stroke"],b=y.map(e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),S=({spacingMultiplier:e=0})=>t=>{if("decl"===t.type&&"string"==typeof t.props&&b.includes(t.props)&&"string"==typeof t.children){if(/[()]/.test(t.children))return;const n=[],o=t.children.trim().split(/\s+/);for(const t of o)n.push(/^-?\d*\.?\d+$/.test(t)?parseFloat(t)*e+"px":t);const r=n.join(" ");t.return=`${t.props}:${r};`}};var C="comm",x="rule",w="decl",$=Math.abs,k=String.fromCharCode;function E(e){return e.trim()}function M(e,t,n){return e.replace(t,n)}function T(e,t,n){return e.indexOf(t,n)}function A(e,t){return 0|e.charCodeAt(t)}function O(e,t,n){return e.slice(t,n)}function P(e){return e.length}function _(e){return e.length}function R(e,t){return t.push(e),e}function L(e,t){for(var n="",o=0;o<e.length;o++)n+=t(e[o],o,e,t)||"";return n}function D(e,t,n,o){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case"@namespace":case w:return e.return=e.return||e.value;case C:return"";case"@keyframes":return e.return=e.value+"{"+L(e.children,o)+"}";case x:if(!P(e.value=e.props.join(",")))return""}return P(n=L(e.children,o))?e.return=e.value+"{"+n+"}":""}Object.assign;var j=1,H=1,I=0,N=0,B=0,F="";function W(e,t,n,o,r,i,a,s){return{value:e,root:t,parent:n,type:o,props:r,children:i,line:j,column:H,length:a,return:"",siblings:s}}function Y(){return B=N>0?A(F,--N):0,H--,10===B&&(H=1,j--),B}function z(){return B=N<I?A(F,N++):0,H++,10===B&&(H=1,j++),B}function K(){return A(F,N)}function G(){return N}function U(e,t){return O(F,e,t)}function V(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function q(e){return E(U(N-1,Q(91===e?e+2:40===e?e+1:e)))}function Z(e){for(;(B=K())&&B<33;)z();return V(e)>2||V(B)>3?"":" "}function J(e,t){for(;--t&&z()&&!(B<48||B>102||B>57&&B<65||B>70&&B<97););return U(e,G()+(t<6&&32==K()&&32==z()))}function Q(e){for(;z();)switch(B){case e:return N;case 34:case 39:34!==e&&39!==e&&Q(B);break;case 40:41===e&&Q(e);break;case 92:z()}return N}function X(e,t){for(;z()&&e+B!==57&&(e+B!==84||47!==K()););return"/*"+U(t,N-1)+"*"+k(47===e?e:z())}function ee(e){for(;!V(K());)z();return U(e,N)}function te(e){return function(e){return F="",e}(ne("",null,null,null,[""],e=function(e){return j=H=1,I=P(F=e),N=0,[]}(e),0,[0],e))}function ne(e,t,n,o,r,i,a,s,c){for(var l=0,u=0,p=a,d=0,m=0,f=0,h=1,g=1,y=1,v=0,b="",S=r,C=i,x=o,w=b;g;)switch(f=v,v=z()){case 40:if(108!=f&&58==A(w,p-1)){-1!=T(w+=M(q(v),"&","&\f"),"&\f",$(l?s[l-1]:0))&&(y=-1);break}case 34:case 39:case 91:w+=q(v);break;case 9:case 10:case 13:case 32:w+=Z(f);break;case 92:w+=J(G()-1,7);continue;case 47:switch(K()){case 42:case 47:R(re(X(z(),G()),t,n,c),c),5!=V(f||1)&&5!=V(K()||1)||!P(w)||" "===O(w,-1,void 0)||(w+=" ");break;default:w+="/"}break;case 123*h:s[l++]=P(w)*y;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:-1==y&&(w=M(w,/\f/g,"")),m>0&&(P(w)-p||0===h&&47===f)&&R(m>32?ie(w+";",o,n,p-1,c):ie(M(w," ","")+";",o,n,p-2,c),c);break;case 59:w+=";";default:if(R(x=oe(w,t,n,l,u,r,s,b,S=[],C=[],p,i),i),123===v)if(0===u)ne(w,t,x,x,S,i,p,s,C);else{switch(d){case 99:if(110===A(w,3))break;case 108:if(97===A(w,2))break;default:u=0;case 100:case 109:case 115:}u?ne(e,x,x,o&&R(oe(e,x,x,0,0,r,s,b,r,S=[],p,C),C),r,C,p,s,o?S:C):ne(w,x,x,x,[""],C,0,s,C)}}l=u=m=0,h=y=1,b=w="",p=a;break;case 58:p=1+P(w),m=f;default:if(h<1)if(123==v)--h;else if(125==v&&0==h++&&125==Y())continue;switch(w+=k(v),v*h){case 38:y=u>0?1:(w+="\f",-1);break;case 44:s[l++]=(P(w)-1)*y,y=1;break;case 64:45===K()&&(w+=q(z())),d=K(),u=p=P(b=w+=ee(G())),v++;break;case 45:45===f&&2==P(w)&&(h=0)}}return i}function oe(e,t,n,o,r,i,a,s,c,l,u,p){for(var d=r-1,m=0===r?i:[""],f=_(m),h=0,g=0,y=0;h<o;++h)for(var v=0,b=O(e,d+1,d=$(g=a[h])),S=e;v<f;++v)(S=E(g>0?m[v]+" "+b:M(b,/&\f/g,m[v])))&&(c[y++]=S);return W(e,t,n,0===r?x:s,c,l,u,p)}function re(e,t,n,o){return W(e,t,n,C,k(B),O(e,2,-2),0,o)}function ie(e,t,n,o,r){return W(e,t,n,w,O(e,0,o),O(e,o+1,-1),o,r)}const ae=({name:e,transform:t})=>(n,o,r,i)=>{if("rule"!==n.parent?.type||n.type!==`@honey-${e}`)return;const a=n.parent?.value;if(!a)return;const s=n.value.trim().match(new RegExp(`^${n.type}\\s*\\(\\s*([^)]+?)\\s*\\)\\s*;?$`,"i")),c=s?s[1].trim():void 0,l=t(c,n,e),u=Array.isArray(n.children)?L(n.children,i):"";n.type="decl",n.return=L(te(`${a}{${l}${u}}`),i)},se=({spacingMultiplier:e=0})=>ae({name:"stack",transform:t=>{const n=["display:flex;","flex-direction:column;"];if(t){const o=/^-?\d*\.?\d+$/.test(t)?parseFloat(t)*e+"px":t;n.push(`gap:${o};`)}return n.join("")}}),ce=({spacingMultiplier:e=0}={})=>ae({name:"inline",transform:t=>{const n=["display:flex;","align-items:center;"];if(t){const o=/^-?\d*\.?\d+$/.test(t)?parseFloat(t)*e+"px":t;n.push(`gap:${o};`)}return n.join("")}}),le=()=>ae({name:"center",transform:()=>"display:flex;align-items:center;justify-content:center;"}),ue=()=>ae({name:"absolute-fill",transform:()=>"position:absolute;top:0;right:0;bottom:0;left:0;"}),pe=(e,t,{spacingMultiplier:n}={})=>{const o=t?`${t}{${e}}`:e,r=[se({spacingMultiplier:n}),ce({spacingMultiplier:n}),le(),ue(),S({spacingMultiplier:n}),D];return L(te(o),(a=_(i=r),function(e,t,n,o){for(var r="",s=0;s<a;s++)r+=i[s](e,t,n,o)||"";return r}));var i,a},de=(e,t)=>""===e||!1===e||Ce(e)?"":Se(e)?ke(e)?`.${e[i]}`:de(e(t),t):Array.isArray(e)?e.map(e=>de(e,t)).join("\n"):be(e)?Object.entries(e).filter(([,e])=>void 0!==e&&!1!==e).map(([e,t])=>`${ye(e)}: ${t};`).join("\n"):e.toString?.()??"",me=(e,...t)=>n=>e.reduce((e,o,r)=>e+o+de(t[r],n),""),fe=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=xe(t).map(e=>`(${e[0]}: ${e[1]})`).join(" and "),o=n?` and ${n}`:"";return`${e.operator?`${e.operator} `:""}${e.mediaType??"screen"}${o}`}).join(", ")}`;function he(e,t){if(!e)throw new Error(t)}const ge=e=>`${e}-${Math.random().toString(36).slice(2,8)}`,ye=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ve=e=>"string"==typeof e,be=e=>"object"==typeof e,Se=e=>"function"==typeof e,Ce=e=>null==e,xe=e=>e.filter(Boolean),we=e=>e.filter(Boolean).join(" ").trim(),$e=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)}`,ke=e=>i in e,Ee=e=>Object.entries(e).reduce((e,[t,n])=>((m.has(t)||t.startsWith("data-")||t.startsWith("aria-"))&&(e[t]=n),e),{}),Me=(e,t=16)=>e/t+"rem",Te=e=>2===e.split(".").length,Ae=(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(" ")},Oe=e=>({theme:t})=>{const n=t.fonts[e];return me`
2
+ (()=>{"use strict";var e={698:(e,t)=>{var n=Symbol.for("react.transitional.element");Symbol.for("react.fragment"),t.jsx=function(e,t,o){var r=null;if(void 0!==o&&(r=""+o),void 0!==t.key&&(r=""+t.key),"key"in t)for(var i in o={},t)"key"!==i&&(o[i]=t[i]);else o=t;return t=o.ref,{$$typeof:n,type:e,key:r,ref:void 0!==t?t:null,props:o}}},848:(e,t,n)=>{e.exports=n(698)}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};n.r(o),n.d(o,{CSS_COLOR_PROPERTIES:()=>v,CSS_SPACING_PROPERTIES:()=>y,HONEY_BREAKPOINTS:()=>c,HONEY_GLOBAL_STYLE_ATTR:()=>a,HONEY_STYLED_COMPONENT_ID_PROP:()=>i,HONEY_STYLE_ATTR:()=>s,HoneyStyleContext:()=>h,HoneyStyleProvider:()=>Le,VALID_DOM_ELEMENT_ATTRS:()=>f,__DEV__:()=>r,assert:()=>ge,boolFilter:()=>we,checkIsThemeColorValue:()=>Ae,combineClassNames:()=>ke,convertHexToHexWithAlpha:()=>_e,createAbsoluteFillAtRuleMiddleware:()=>ue,createCenterAtRuleMiddleware:()=>le,createEllipsisAtRuleMiddleware:()=>pe,createGlobalStyle:()=>He,createInlineAtRuleMiddleware:()=>ce,createSpacingMiddleware:()=>S,createStackAtRuleMiddleware:()=>se,css:()=>me,filterNonHtmlAttrs:()=>Me,generateId:()=>ye,isFunction:()=>xe,isNil:()=>Ce,isObject:()=>Se,isString:()=>be,isStyledComponent:()=>Ee,mediaQuery:()=>he,processCss:()=>de,pxToRem:()=>Te,resolveClassName:()=>$e,resolveColor:()=>Re,resolveDimension:()=>je,resolveFont:()=>Pe,resolveSpacing:()=>Oe,styled:()=>Ye,toKebabCase:()=>ve,useHoneyStyle:()=>De});const r=!1;r&&"undefined"!=typeof window&&!process.env.JEST_WORKER_ID&&console.info("[@react-hive/honey-style]: You are running in development mode. This build is not optimized for production and may include extra checks or logs.");const i="$$ComponentId",a="data-honey-global-style",s="data-honey-style",c=["xs","sm","md","lg","xl"],l=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","controls","crossOrigin","height","isMap","loop","media","muted","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"]),u=new Set(["colSpan","rowSpan","headers","abbr","scope","align","valign"]),p=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"]),d=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"]),f=new Set([...l,...u,...p,...d]),m=require("react"),h=(0,m.createContext)(void 0);var g=n(848);const y=["margin","marginTop","marginRight","marginBottom","marginLeft","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockStart","paddingBlockEnd","top","right","bottom","left","inset","gap","rowGap","columnGap"],v=["color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor","textDecorationColor","fill","stroke"],b=y.map(e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),S=({spacingMultiplier:e=0})=>t=>{if("decl"===t.type&&"string"==typeof t.props&&b.includes(t.props)&&"string"==typeof t.children){if(/[()]/.test(t.children))return;const n=[],o=t.children.trim().split(/\s+/);for(const t of o)n.push(/^-?\d*\.?\d+$/.test(t)?parseFloat(t)*e+"px":t);const r=n.join(" ");t.return=`${t.props}:${r};`}};var x="comm",C="rule",w="decl",k=Math.abs,$=String.fromCharCode;function E(e){return e.trim()}function M(e,t,n){return e.replace(t,n)}function T(e,t,n){return e.indexOf(t,n)}function A(e,t){return 0|e.charCodeAt(t)}function O(e,t,n){return e.slice(t,n)}function P(e){return e.length}function _(e){return e.length}function R(e,t){return t.push(e),e}function j(e,t){for(var n="",o=0;o<e.length;o++)n+=t(e[o],o,e,t)||"";return n}function L(e,t,n,o){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case"@namespace":case w:return e.return=e.return||e.value;case x:return"";case"@keyframes":return e.return=e.value+"{"+j(e.children,o)+"}";case C:if(!P(e.value=e.props.join(",")))return""}return P(n=j(e.children,o))?e.return=e.value+"{"+n+"}":""}Object.assign;var D=1,H=1,I=0,N=0,B=0,F="";function W(e,t,n,o,r,i,a,s){return{value:e,root:t,parent:n,type:o,props:r,children:i,line:D,column:H,length:a,return:"",siblings:s}}function Y(){return B=N>0?A(F,--N):0,H--,10===B&&(H=1,D--),B}function z(){return B=N<I?A(F,N++):0,H++,10===B&&(H=1,D++),B}function K(){return A(F,N)}function G(){return N}function U(e,t){return O(F,e,t)}function V(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function q(e){return E(U(N-1,Q(91===e?e+2:40===e?e+1:e)))}function Z(e){for(;(B=K())&&B<33;)z();return V(e)>2||V(B)>3?"":" "}function J(e,t){for(;--t&&z()&&!(B<48||B>102||B>57&&B<65||B>70&&B<97););return U(e,G()+(t<6&&32==K()&&32==z()))}function Q(e){for(;z();)switch(B){case e:return N;case 34:case 39:34!==e&&39!==e&&Q(B);break;case 40:41===e&&Q(e);break;case 92:z()}return N}function X(e,t){for(;z()&&e+B!==57&&(e+B!==84||47!==K()););return"/*"+U(t,N-1)+"*"+$(47===e?e:z())}function ee(e){for(;!V(K());)z();return U(e,N)}function te(e){return function(e){return F="",e}(ne("",null,null,null,[""],e=function(e){return D=H=1,I=P(F=e),N=0,[]}(e),0,[0],e))}function ne(e,t,n,o,r,i,a,s,c){for(var l=0,u=0,p=a,d=0,f=0,m=0,h=1,g=1,y=1,v=0,b="",S=r,x=i,C=o,w=b;g;)switch(m=v,v=z()){case 40:if(108!=m&&58==A(w,p-1)){-1!=T(w+=M(q(v),"&","&\f"),"&\f",k(l?s[l-1]:0))&&(y=-1);break}case 34:case 39:case 91:w+=q(v);break;case 9:case 10:case 13:case 32:w+=Z(m);break;case 92:w+=J(G()-1,7);continue;case 47:switch(K()){case 42:case 47:R(re(X(z(),G()),t,n,c),c),5!=V(m||1)&&5!=V(K()||1)||!P(w)||" "===O(w,-1,void 0)||(w+=" ");break;default:w+="/"}break;case 123*h:s[l++]=P(w)*y;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:-1==y&&(w=M(w,/\f/g,"")),f>0&&(P(w)-p||0===h&&47===m)&&R(f>32?ie(w+";",o,n,p-1,c):ie(M(w," ","")+";",o,n,p-2,c),c);break;case 59:w+=";";default:if(R(C=oe(w,t,n,l,u,r,s,b,S=[],x=[],p,i),i),123===v)if(0===u)ne(w,t,C,C,S,i,p,s,x);else{switch(d){case 99:if(110===A(w,3))break;case 108:if(97===A(w,2))break;default:u=0;case 100:case 109:case 115:}u?ne(e,C,C,o&&R(oe(e,C,C,0,0,r,s,b,r,S=[],p,x),x),r,x,p,s,o?S:x):ne(w,C,C,C,[""],x,0,s,x)}}l=u=f=0,h=y=1,b=w="",p=a;break;case 58:p=1+P(w),f=m;default:if(h<1)if(123==v)--h;else if(125==v&&0==h++&&125==Y())continue;switch(w+=$(v),v*h){case 38:y=u>0?1:(w+="\f",-1);break;case 44:s[l++]=(P(w)-1)*y,y=1;break;case 64:45===K()&&(w+=q(z())),d=K(),u=p=P(b=w+=ee(G())),v++;break;case 45:45===m&&2==P(w)&&(h=0)}}return i}function oe(e,t,n,o,r,i,a,s,c,l,u,p){for(var d=r-1,f=0===r?i:[""],m=_(f),h=0,g=0,y=0;h<o;++h)for(var v=0,b=O(e,d+1,d=k(g=a[h])),S=e;v<m;++v)(S=E(g>0?f[v]+" "+b:M(b,/&\f/g,f[v])))&&(c[y++]=S);return W(e,t,n,0===r?C:s,c,l,u,p)}function re(e,t,n,o){return W(e,t,n,x,$(B),O(e,2,-2),0,o)}function ie(e,t,n,o,r){return W(e,t,n,w,O(e,0,o),O(e,o+1,-1),o,r)}const ae=({name:e,transform:t})=>(n,o,r,i)=>{if("rule"!==n.parent?.type||n.type!==`@honey-${e}`)return;const a=n.parent?.value;if(!a)return;const s=n.value.trim().match(new RegExp(`^${n.type}\\s*\\(\\s*([^)]+?)\\s*\\)\\s*;?$`,"i")),c=s?s[1].split(" ").filter(Boolean):void 0,l=t(c,n,e),u=Array.isArray(n.children)?j(n.children,i):"";n.type="decl",n.return=j(te(`${a}{${l}${u}}`),i)},se=({spacingMultiplier:e=0})=>ae({name:"stack",transform:t=>{const n=["display:flex;","flex-direction:column;"];if(t?.length){const o=/^-?\d*\.?\d+$/.test(t[0])?parseFloat(t[0])*e+"px":t;n.push(`gap:${o};`)}return n.join("")}}),ce=({spacingMultiplier:e=0}={})=>ae({name:"inline",transform:t=>{const n=["display:flex;","align-items:center;"];if(t?.length){const o=/^-?\d*\.?\d+$/.test(t[0])?parseFloat(t[0])*e+"px":t;n.push(`gap:${o};`)}return n.join("")}}),le=()=>ae({name:"center",transform:(e=[])=>{const t=[];switch(e[0]){case"horizontal":case"x":t.push("display:flex;","justify-content:center;");break;case"vertical":case"y":t.push("display:flex;","align-items:center;");break;case"block":t.push("display:block;","text-align:center;");break;case"inline":t.push("display:inline-flex;","align-items:center;","justify-content:center;");break;default:t.push("display:flex;","align-items:center;","justify-content:center;")}return t.join("")}}),ue=()=>ae({name:"absolute-fill",transform:()=>["position:absolute;","inset:0;"].join("")}),pe=()=>ae({name:"ellipsis",transform:()=>["white-space:nowrap;","overflow:hidden;","text-overflow:ellipsis;"].join("")}),de=(e,t,{spacingMultiplier:n}={})=>{const o=t?`${t}{${e}}`:e,r=[se({spacingMultiplier:n}),ce({spacingMultiplier:n}),le(),pe(),ue(),S({spacingMultiplier:n}),L];return j(te(o),(a=_(i=r),function(e,t,n,o){for(var r="",s=0;s<a;s++)r+=i[s](e,t,n,o)||"";return r}));var i,a},fe=(e,t)=>""===e||!1===e||Ce(e)?"":xe(e)?Ee(e)?`.${e[i]}`:fe(e(t),t):Array.isArray(e)?e.map(e=>fe(e,t)).join("\n"):Se(e)?Object.entries(e).filter(([,e])=>void 0!==e&&!1!==e).map(([e,t])=>`${ve(e)}: ${t};`).join("\n"):e.toString?.()??"",me=(e,...t)=>n=>e.reduce((e,o,r)=>e+o+fe(t[r],n),""),he=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=we(t).map(e=>`(${e[0]}: ${e[1]})`).join(" and "),o=n?` and ${n}`:"";return`${e.operator?`${e.operator} `:""}${e.mediaType??"screen"}${o}`}).join(", ")}`;function ge(e,t){if(!e)throw new Error(t)}const ye=e=>`${e}-${Math.random().toString(36).slice(2,8)}`,ve=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),be=e=>"string"==typeof e,Se=e=>"object"==typeof e,xe=e=>"function"==typeof e,Ce=e=>null==e,we=e=>e.filter(Boolean),ke=e=>e.filter(Boolean).join(" ").trim(),$e=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)}`,Ee=e=>i in e,Me=e=>Object.entries(e).reduce((e,[t,n])=>((f.has(t)||t.startsWith("data-")||t.startsWith("aria-"))&&(e[t]=n),e),{}),Te=(e,t=16)=>e/t+"rem",Ae=e=>2===e.split(".").length,Oe=(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(" ")},Pe=e=>({theme:t})=>{const n=t.fonts[e];return me`
3
3
  font-family: ${n.family};
4
- font-size: ${Me(n.size)};
4
+ font-size: ${Te(n.size)};
5
5
  font-weight: ${n.weight};
6
- line-height: ${void 0!==n.lineHeight&&Me(n.lineHeight)};
7
- letter-spacing: ${void 0!==n.letterSpacing&&Me(n.letterSpacing)};
8
- `},Pe=(e,t)=>{if(t<0||t>1)throw new Error(`[honey-layout]: Alpha "${t}" is not a valid hex format.`);const n=e.match(/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/);if(!n)throw new Error("[honey-layout]: Invalid hex format.");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")}`},_e=(e,t)=>({theme:n})=>{const[o,r]=e.split("."),i=r?n.colors[o][r]:o;return void 0===t?i:Pe(i,t)},Re=e=>({theme:t})=>t.dimensions[e],Le=({children:e,theme:t})=>{const n=(0,f.useMemo)(()=>({theme:t,resolveSpacing:(...e)=>Ae(...e)({theme:t}),resolveColor:(...e)=>_e(...e)({theme:t}),resolveFont:(...e)=>Oe(...e)({theme:t}),resolveDimension:(...e)=>Re(...e)({theme:t})}),[t]);return(0,g.jsx)(h,{value:n,children:e})},De=()=>{const e=(0,f.useContext)(h);return he(e,"The `useHoneyStyle()` hook must be used inside <HoneyStyleProvider/> component!"),e},je=(e,...t)=>{const n=ge("hsg"),o=me(e,...t);return()=>{const{theme:e}=De();return(0,f.useInsertionEffect)(()=>{const t=o({theme:e}),r=pe(t),i=document.createElement("style");return i.id=n,i.innerHTML=r,i.setAttribute(a,"true"),document.head.insertBefore(i,document.head.firstChild),()=>{i.remove()}},[e]),null}},He=(window.__honeyStyleRegistry||(window.__honeyStyleRegistry=new Map),window.__honeyStyleRegistry);let Ie=null;const Ne=()=>{const e=(Ie||(Ie=document.querySelector(`style[${s}="true"]`),Ie||(Ie=document.createElement("style"),Ie.setAttribute(s,"true"),document.head.appendChild(Ie))),Ie),t=Array.from(He.entries()).sort(([,e],[,t])=>e.priority-t.priority).map(([,e])=>e.css).join("\n");e.textContent=t},Be=e=>()=>{const t=He.get(e);t&&(t.usages--,t.usages<=0&&(He.delete(e),Ne()))},Fe=(e,t,n=0)=>{const o=He.get(e);return o?(o.usages++,Be(e)):(He.set(e,{css:t,priority:n,usages:1}),Ne(),Be(e))},We=(e,t)=>(n,...o)=>{const a=ge("hsc"),s=me(n,...o),c=({as:n,className:o,__compositionDepth:i=0,css:c,...l})=>{r&&c&&console.warn('[@react-hive/honey-style]: The "css" prop is deprecated. Please use inheritance or composition instead.');const{theme:u}=De(),p=Object.fromEntries(Object.entries(l).filter(([,e])=>void 0!==e)),d=Se(t)?t({theme:u,as:n,className:o,...p}):t??{},m={...d,...p,theme:u},h=s(m),g=$e(h);(0,f.useInsertionEffect)(()=>{const e=pe(h,`.${g}`,{spacingMultiplier:u.spacings.base});return Fe(g,e,i)},[g]);const y=((e,t)=>e?ve(e)?e:me([""],[e])(t):"")(Se(c)?c(m):c,m),v=y?$e(y):"";(0,f.useInsertionEffect)(()=>{if(v){const e=pe(y,`.${v}`,{spacingMultiplier:u.spacings.base});return Fe(v,e,1)}},[v]);const b={...d,...p,className:we([a,g,o,v])},S=n||e;if(ve(e)){const e=ve(S)?Ee(b):b;return(0,f.createElement)(S,e)}return(0,f.createElement)(e,{...b,...n&&{as:n},...ke(e)&&{__compositionDepth:i-1}})};if(c[i]=a,r){const t=ve(e)?e:e.displayName||e.name||"Component";c.displayName=`HoneyStyledComponent(${t})`}return c};module.exports=o})();
6
+ line-height: ${void 0!==n.lineHeight&&Te(n.lineHeight)};
7
+ letter-spacing: ${void 0!==n.letterSpacing&&Te(n.letterSpacing)};
8
+ `},_e=(e,t)=>{if(t<0||t>1)throw new Error(`[honey-layout]: Alpha "${t}" is not a valid hex format.`);const n=e.match(/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/);if(!n)throw new Error("[honey-layout]: Invalid hex format.");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")}`},Re=(e,t)=>({theme:n})=>{const[o,r]=e.split("."),i=r?n.colors[o][r]:o;return void 0===t?i:_e(i,t)},je=e=>({theme:t})=>t.dimensions[e],Le=({children:e,theme:t})=>{const n=(0,m.useMemo)(()=>({theme:t,resolveSpacing:(...e)=>Oe(...e)({theme:t}),resolveColor:(...e)=>Re(...e)({theme:t}),resolveFont:(...e)=>Pe(...e)({theme:t}),resolveDimension:(...e)=>je(...e)({theme:t})}),[t]);return(0,g.jsx)(h,{value:n,children:e})},De=()=>{const e=(0,m.useContext)(h);return ge(e,"The `useHoneyStyle()` hook must be used inside <HoneyStyleProvider/> component!"),e},He=(e,...t)=>{const n=ye("hsg"),o=me(e,...t);return()=>{const{theme:e}=De();return(0,m.useInsertionEffect)(()=>{const t=o({theme:e}),r=de(t),i=document.createElement("style");return i.id=n,i.innerHTML=r,i.setAttribute(a,"true"),document.head.insertBefore(i,document.head.firstChild),()=>{i.remove()}},[e]),null}},Ie=(window.__honeyStyleRegistry||(window.__honeyStyleRegistry=new Map),window.__honeyStyleRegistry);let Ne=null;const Be=()=>{const e=(Ne||(Ne=document.querySelector(`style[${s}="true"]`),Ne||(Ne=document.createElement("style"),Ne.setAttribute(s,"true"),document.head.appendChild(Ne))),Ne),t=Array.from(Ie.entries()).sort(([,e],[,t])=>e.priority-t.priority).map(([,e])=>e.css).join("\n");e.textContent=t},Fe=e=>()=>{const t=Ie.get(e);t&&(t.usages--,t.usages<=0&&(Ie.delete(e),Be()))},We=(e,t,n=0)=>{const o=Ie.get(e);return o?(o.usages++,Fe(e)):(Ie.set(e,{css:t,priority:n,usages:1}),Be(),Fe(e))},Ye=(e,t)=>(n,...o)=>{const a=ye("hsc"),s=me(n,...o),c=({as:n,className:o,__compositionDepth:i=0,css:c,...l})=>{r&&c&&console.warn('[@react-hive/honey-style]: The "css" prop is deprecated. Please use inheritance or composition instead.');const{theme:u}=De(),p=Object.fromEntries(Object.entries(l).filter(([,e])=>void 0!==e)),d=xe(t)?t({theme:u,as:n,className:o,...p}):t??{},f={...d,...p,theme:u},h=s(f),g=$e(h);(0,m.useInsertionEffect)(()=>{const e=de(h,`.${g}`,{spacingMultiplier:u.spacings.base});return We(g,e,i)},[g]);const y=((e,t)=>e?be(e)?e:me([""],[e])(t):"")(xe(c)?c(f):c,f),v=y?$e(y):"";(0,m.useInsertionEffect)(()=>{if(v){const e=de(y,`.${v}`,{spacingMultiplier:u.spacings.base});return We(v,e,1)}},[v]);const b={...d,...p,className:ke([a,g,o,v])},S=n||e;if(be(e)){const e=be(S)?Me(b):b;return(0,m.createElement)(S,e)}return(0,m.createElement)(e,{...b,...n&&{as:n},...Ee(e)&&{__compositionDepth:i-1}})};if(c[i]=a,r){const t=be(e)?e:e.displayName||e.name||"Component";c.displayName=`HoneyStyledComponent(${t})`}return c};module.exports=o})();
9
9
  //# sourceMappingURL=index.cjs.map