@react-hive/honey-style 2.3.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.
- package/dist/css/middlewares/absolute-fill-at-rule.d.ts +1 -0
- package/dist/css/middlewares/center-at-rule.d.ts +1 -0
- package/dist/css/middlewares/ellipsis-at-rule.d.ts +1 -0
- package/dist/css/middlewares/factory.d.ts +72 -0
- package/dist/css/middlewares/index.d.ts +6 -0
- package/dist/css/middlewares/inline-at-rule.d.ts +8 -0
- package/dist/css/{middlewares.d.ts → middlewares/spacing.d.ts} +0 -7
- package/dist/css/middlewares/stack-at-rule.d.ts +8 -0
- package/dist/css/middlewares/types.d.ts +1 -0
- package/dist/css/processor.d.ts +0 -3
- package/dist/css/types.d.ts +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.dev.cjs +282 -32
- package/dist/index.dev.cjs.map +1 -1
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createAbsoluteFillAtRuleMiddleware: () => import("stylis").Middleware;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createCenterAtRuleMiddleware: () => import("stylis").Middleware;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createEllipsisAtRuleMiddleware: () => import("stylis").Middleware;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { Element, Middleware } from 'stylis';
|
|
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
|
+
*/
|
|
10
|
+
name: string;
|
|
11
|
+
/**
|
|
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.
|
|
25
|
+
*
|
|
26
|
+
* @param name - The same name as passed in `options.name`, for convenience.
|
|
27
|
+
*
|
|
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.
|
|
30
|
+
*/
|
|
31
|
+
transform: (args: string[] | undefined, element: Element, name: string) => string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates a Stylis middleware for transforming custom `@honey-*` at-rules into
|
|
35
|
+
* regular CSS declarations.
|
|
36
|
+
*
|
|
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
|
|
48
|
+
* createAtRuleMiddleware({
|
|
49
|
+
* name: 'stack',
|
|
50
|
+
* transform: args => {
|
|
51
|
+
* const gap = parseFloat(args?.[0] ?? '0') * 8;
|
|
52
|
+
*
|
|
53
|
+
* return `display:flex;flex-direction:column;gap:${gap}px;`;
|
|
54
|
+
* }
|
|
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.
|
|
64
|
+
*
|
|
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.
|
|
68
|
+
*
|
|
69
|
+
* @returns A Stylis `Middleware` function that replaces the matched at-rule with the generated CSS.
|
|
70
|
+
*/
|
|
71
|
+
export declare const createAtRuleMiddleware: ({ name, transform, }: AtRuleMiddlewareOptions) => Middleware;
|
|
72
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface CreateInlineAtRuleMiddlewareOptions {
|
|
2
|
+
/**
|
|
3
|
+
* @default 0
|
|
4
|
+
*/
|
|
5
|
+
spacingMultiplier?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const createInlineAtRuleMiddleware: ({ spacingMultiplier, }?: CreateInlineAtRuleMiddlewareOptions) => import("stylis").Middleware;
|
|
8
|
+
export {};
|
|
@@ -6,11 +6,4 @@ interface SpacingMiddlewareOptions {
|
|
|
6
6
|
spacingMultiplier?: number;
|
|
7
7
|
}
|
|
8
8
|
export declare const createSpacingMiddleware: ({ spacingMultiplier }: SpacingMiddlewareOptions) => Middleware;
|
|
9
|
-
interface StackMiddlewareOptions {
|
|
10
|
-
/**
|
|
11
|
-
* @default 0
|
|
12
|
-
*/
|
|
13
|
-
spacingMultiplier: number;
|
|
14
|
-
}
|
|
15
|
-
export declare const createStackMiddleware: ({ spacingMultiplier }: StackMiddlewareOptions) => Middleware;
|
|
16
9
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type CSSDeclaration = `${string}:${string};`;
|
package/dist/css/processor.d.ts
CHANGED
package/dist/css/types.d.ts
CHANGED
|
@@ -116,7 +116,7 @@ export type HoneyRawCSSSpacingValue = number | HoneyCSSDimensionValue | CSS.Glob
|
|
|
116
116
|
/**
|
|
117
117
|
* Represents CSS properties related to spacing and positioning.
|
|
118
118
|
*/
|
|
119
|
-
export type HoneyCSSSpacingProperty = keyof Pick<CSS.Properties, 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft' | 'padding' | 'paddingTop' | 'paddingRight' | 'paddingBottom' | 'paddingLeft' | 'paddingBlock' | 'paddingBlockStart' | 'paddingBlockEnd' | 'top' | 'right' | 'bottom' | 'left' | 'gap' | 'rowGap' | 'columnGap'>;
|
|
119
|
+
export type HoneyCSSSpacingProperty = keyof Pick<CSS.Properties, 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft' | 'padding' | 'paddingTop' | 'paddingRight' | 'paddingBottom' | 'paddingLeft' | 'paddingBlock' | 'paddingBlockStart' | 'paddingBlockEnd' | 'top' | 'right' | 'bottom' | 'left' | 'inset' | 'gap' | 'rowGap' | 'columnGap'>;
|
|
120
120
|
/**
|
|
121
121
|
* Represents shorthand spacing properties that support multi-value arrays.
|
|
122
122
|
*
|
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 a in o={},t)"key"!==a&&(o[a]=t[a]);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 a=t[o]={exports:{}};return e[o](a,a.exports,n),a.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:()=>i,HONEY_STYLED_COMPONENT_ID_PROP:()=>a,HONEY_STYLE_ATTR:()=>s,HoneyStyleContext:()=>m,HoneyStyleProvider:()=>Pe,VALID_DOM_ELEMENT_ATTRS:()=>f,__DEV__:()=>r,assert:()=>pe,boolFilter:()=>ve,checkIsThemeColorValue:()=>we,combineClassNames:()=>Se,convertHexToHexWithAlpha:()=>Te,createGlobalStyle:()=>Ae,createSpacingMiddleware:()=>b,createStackMiddleware:()=>C,css:()=>le,filterNonHtmlAttrs:()=>xe,generateId:()=>de,isFunction:()=>ge,isNil:()=>ye,isObject:()=>me,isString:()=>he,isStyledComponent:()=>Ce,mediaQuery:()=>ue,processCss:()=>se,pxToRem:()=>ke,resolveClassName:()=>be,resolveColor:()=>Me,resolveDimension:()=>Oe,resolveFont:()=>$e,resolveSpacing:()=>Ee,styled:()=>Ne,toKebabCase:()=>fe,useHoneyStyle:()=>_e});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 a="$$ComponentId",i="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]),h=require("react"),m=(0,h.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","gap","rowGap","columnGap"],v=["color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor","textDecorationColor","fill","stroke"],S=y.map(e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),b=({spacingMultiplier:e})=>t=>{if(e&&"decl"===t.type&&"string"==typeof t.props&&S.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};`}},C=({spacingMultiplier:e=0})=>t=>{if("rule"!==t.parent?.type||"@honey-stack"!==t.type)return;const n=t.value.match(`^${t.type}\\s*\\(\\s*([^)]+?)\\s*\\)`);if(!n)return;const o=n[1].trim(),r=/[a-z%]+$/i.test(o)?o:parseFloat(o)*e+"px",a=t.parent?.value;t.type="decl",t.return=`${a}{display:flex;flex-direction:column;gap:${r};}`};var x="comm",k="rule",w="decl",E=Math.abs,$=String.fromCharCode;function T(e){return e.trim()}function M(e,t,n){return e.replace(t,n)}function O(e,t,n){return e.indexOf(t,n)}function P(e,t){return 0|e.charCodeAt(t)}function _(e,t,n){return e.slice(t,n)}function A(e){return e.length}function L(e){return e.length}function D(e,t){return t.push(e),e}function R(e,t){for(var n="",o=0;o<e.length;o++)n+=t(e[o],o,e,t)||"";return n}function j(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+"{"+R(e.children,o)+"}";case k:if(!A(e.value=e.props.join(",")))return""}return A(n=R(e.children,o))?e.return=e.value+"{"+n+"}":""}Object.assign;var H=1,N=1,I=0,B=0,W=0,F="";function Y(e,t,n,o,r,a,i,s){return{value:e,root:t,parent:n,type:o,props:r,children:a,line:H,column:N,length:i,return:"",siblings:s}}function z(){return W=B>0?P(F,--B):0,N--,10===W&&(N=1,H--),W}function K(){return W=B<I?P(F,B++):0,N++,10===W&&(N=1,H++),W}function G(){return P(F,B)}function U(){return B}function V(e,t){return _(F,e,t)}function q(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 Z(e){return T(V(B-1,X(91===e?e+2:40===e?e+1:e)))}function J(e){for(;(W=G())&&W<33;)K();return q(e)>2||q(W)>3?"":" "}function Q(e,t){for(;--t&&K()&&!(W<48||W>102||W>57&&W<65||W>70&&W<97););return V(e,U()+(t<6&&32==G()&&32==K()))}function X(e){for(;K();)switch(W){case e:return B;case 34:case 39:34!==e&&39!==e&&X(W);break;case 40:41===e&&X(e);break;case 92:K()}return B}function ee(e,t){for(;K()&&e+W!==57&&(e+W!==84||47!==G()););return"/*"+V(t,B-1)+"*"+$(47===e?e:K())}function te(e){for(;!q(G());)K();return V(e,B)}function ne(e){return function(e){return F="",e}(oe("",null,null,null,[""],e=function(e){return H=N=1,I=A(F=e),B=0,[]}(e),0,[0],e))}function oe(e,t,n,o,r,a,i,s,c){for(var l=0,u=0,p=i,d=0,f=0,h=0,m=1,g=1,y=1,v=0,S="",b=r,C=a,x=o,k=S;g;)switch(h=v,v=K()){case 40:if(108!=h&&58==P(k,p-1)){-1!=O(k+=M(Z(v),"&","&\f"),"&\f",E(l?s[l-1]:0))&&(y=-1);break}case 34:case 39:case 91:k+=Z(v);break;case 9:case 10:case 13:case 32:k+=J(h);break;case 92:k+=Q(U()-1,7);continue;case 47:switch(G()){case 42:case 47:D(ae(ee(K(),U()),t,n,c),c),5!=q(h||1)&&5!=q(G()||1)||!A(k)||" "===_(k,-1,void 0)||(k+=" ");break;default:k+="/"}break;case 123*m:s[l++]=A(k)*y;case 125*m:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:-1==y&&(k=M(k,/\f/g,"")),f>0&&(A(k)-p||0===m&&47===h)&&D(f>32?ie(k+";",o,n,p-1,c):ie(M(k," ","")+";",o,n,p-2,c),c);break;case 59:k+=";";default:if(D(x=re(k,t,n,l,u,r,s,S,b=[],C=[],p,a),a),123===v)if(0===u)oe(k,t,x,x,b,a,p,s,C);else{switch(d){case 99:if(110===P(k,3))break;case 108:if(97===P(k,2))break;default:u=0;case 100:case 109:case 115:}u?oe(e,x,x,o&&D(re(e,x,x,0,0,r,s,S,r,b=[],p,C),C),r,C,p,s,o?b:C):oe(k,x,x,x,[""],C,0,s,C)}}l=u=f=0,m=y=1,S=k="",p=i;break;case 58:p=1+A(k),f=h;default:if(m<1)if(123==v)--m;else if(125==v&&0==m++&&125==z())continue;switch(k+=$(v),v*m){case 38:y=u>0?1:(k+="\f",-1);break;case 44:s[l++]=(A(k)-1)*y,y=1;break;case 64:45===G()&&(k+=Z(K())),d=G(),u=p=A(S=k+=te(U())),v++;break;case 45:45===h&&2==A(k)&&(m=0)}}return a}function re(e,t,n,o,r,a,i,s,c,l,u,p){for(var d=r-1,f=0===r?a:[""],h=L(f),m=0,g=0,y=0;m<o;++m)for(var v=0,S=_(e,d+1,d=E(g=i[m])),b=e;v<h;++v)(b=T(g>0?f[v]+" "+S:M(S,/&\f/g,f[v])))&&(c[y++]=b);return Y(e,t,n,0===r?k:s,c,l,u,p)}function ae(e,t,n,o){return Y(e,t,n,x,$(W),_(e,2,-2),0,o)}function ie(e,t,n,o,r){return Y(e,t,n,w,_(e,0,o),_(e,o+1,-1),o,r)}const se=(e,t,{spacingMultiplier:n=0}={})=>{const o=t?`${t}{${e}}`:e,r=[b({spacingMultiplier:n}),C({spacingMultiplier:n}),j];return R(ne(o),(i=L(a=r),function(e,t,n,o){for(var r="",s=0;s<i;s++)r+=a[s](e,t,n,o)||"";return r}));var a,i},ce=(e,t)=>""===e||!1===e||ye(e)?"":ge(e)?Ce(e)?`.${e[a]}`:ce(e(t),t):Array.isArray(e)?e.map(e=>ce(e,t)).join("\n"):me(e)?Object.entries(e).filter(([,e])=>void 0!==e&&!1!==e).map(([e,t])=>`${fe(e)}: ${t};`).join("\n"):e.toString?.()??"",le=(e,...t)=>n=>e.reduce((e,o,r)=>e+o+ce(t[r],n),""),ue=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=ve(t).map(e=>`(${e[0]}: ${e[1]})`).join(" and "),o=n?` and ${n}`:"";return`${e.operator?`${e.operator} `:""}${e.mediaType??"screen"}${o}`}).join(", ")}`;function pe(e,t){if(!e)throw new Error(t)}const de=e=>`${e}-${Math.random().toString(36).slice(2,8)}`,fe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),he=e=>"string"==typeof e,me=e=>"object"==typeof e,ge=e=>"function"==typeof e,ye=e=>null==e,ve=e=>e.filter(Boolean),Se=e=>e.filter(Boolean).join(" ").trim(),be=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)}`,Ce=e=>a in e,xe=e=>Object.entries(e).reduce((e,[t,n])=>((f.has(t)||t.startsWith("data-")||t.startsWith("aria-"))&&(e[t]=n),e),{}),ke=(e,t=16)=>e/t+"rem",we=e=>2===e.split(".").length,Ee=(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(" ")},$e=e=>({theme:t})=>{const n=t.fonts[e];return le`
|
|
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: ${
|
|
4
|
+
font-size: ${Te(n.size)};
|
|
5
5
|
font-weight: ${n.weight};
|
|
6
|
-
line-height: ${void 0!==n.lineHeight&&
|
|
7
|
-
letter-spacing: ${void 0!==n.letterSpacing&&
|
|
8
|
-
`},
|
|
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
|