@react-hive/honey-style 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './use-honey-
|
|
1
|
+
export * from './use-honey-style';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
+
!function(){"use strict";var e={698:function(e,n){var t=Symbol.for("react.transitional.element");Symbol.for("react.fragment"),n.jsx=function(e,n,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==n.key&&(o=""+n.key),"key"in n)for(var a in r={},n)"key"!==a&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:o,ref:void 0!==n?n:null,props:r}}},848:function(e,n,t){e.exports=t(698)}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var a=n[r]={exports:{}};return e[r](a,a.exports,t),a.exports}t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};t.r(r),t.d(r,{HONEY_BREAKPOINTS:function(){return o},HoneyStyleContext:function(){return f},HoneyStyleProvider:function(){return p},VALID_DOM_ELEMENT_ATTRS:function(){return u},createGlobalStyle:function(){return oe},css:function(){return y},styled:function(){return le},useHoneyStyle:function(){return m}});const o=["xs","sm","md","lg","xl"],a=new Set(["accept","accessKey","alt","aria","as","autoCapitalize","autoComplete","autoFocus","capture","checked","className","contentEditable","contextMenu","controls","crossOrigin","dangerouslySetInnerHTML","data","dir","disabled","download","draggable","form","formAction","formEncType","formMethod","formNoValidate","formTarget","height","hidden","href","hrefLang","id","isMap","inert","key","lang","list","loop","max","maxLength","media","min","minLength","multiple","muted","name","pattern","placeholder","readOnly","required","role","size","slot","spellCheck","src","srcSet","step","style","tabIndex","target","title","translate","type","useMap","value","width","ref","children"]),c=new Set(["colSpan","rowSpan","headers","abbr","scope","align","valign","bgColor","char","charOff"]),s=new Set(["viewBox","fill","stroke","strokeWidth","x","y","cx","cy","d","r","rx","ry","points","transform","xmlns"]),i=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"]),u=new Set([...a,...c,...s,...i]);var l=require("react");const f=(0,l.createContext)(void 0);var d=t(848);const p=({children:e,theme:n})=>{const t=(0,l.useMemo)((()=>({theme:n})),[n]);return(0,d.jsx)(f,{value:t,children:e})},m=()=>{const e=(0,l.useContext)(f);return function(e){if(!e)throw new Error("The `useHoneyStyle()` hook must be used inside <HoneyStyleProvider/> component!")}(e),e},h=(e,n)=>"function"==typeof e?"$$ComponentId"in e?`.${e.$$ComponentId}`:h(e(n),n):Array.isArray(e)?e.map((e=>h(e,n))).join("\n"):e&&"object"==typeof e?Object.entries(e).filter((([,e])=>void 0!==e&&!1!==e)).map((([e,n])=>{return`${t=e,t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}: ${n};`;var t})).join("\n"):e?.toString?.()??"",y=(e,...n)=>t=>e.reduce(((e,r,o)=>{const a=n[o];return""===a||!1===a||null==a?e+r:e+r+h(a,t)}),"");var g="comm",v="rule",b="decl",S=Math.abs,C=String.fromCharCode;function k(e){return e.trim()}function E(e,n,t){return e.replace(n,t)}function x(e,n,t){return e.indexOf(n,t)}function M(e,n){return 0|e.charCodeAt(n)}function w(e,n,t){return e.slice(n,t)}function P(e){return e.length}function O(e,n){return n.push(e),e}function $(e,n){for(var t="",r=0;r<e.length;r++)t+=n(e[r],r,e,n)||"";return t}function j(e,n,t,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case"@namespace":case b:return e.return=e.return||e.value;case g:return"";case"@keyframes":return e.return=e.value+"{"+$(e.children,r)+"}";case v:if(!P(e.value=e.props.join(",")))return""}return P(t=$(e.children,r))?e.return=e.value+"{"+t+"}":""}Object.assign;var T=1,D=1,L=0,A=0,I=0,N="";function _(e,n,t,r,o,a,c,s){return{value:e,root:n,parent:t,type:r,props:o,children:a,line:T,column:D,length:c,return:"",siblings:s}}function H(){return I=A>0?M(N,--A):0,D--,10===I&&(D=1,T--),I}function B(){return I=A<L?M(N,A++):0,D++,10===I&&(D=1,T++),I}function K(){return M(N,A)}function U(){return A}function W(e,n){return w(N,e,n)}function R(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 k(W(A-1,F(91===e?e+2:40===e?e+1:e)))}function V(e){for(;(I=K())&&I<33;)B();return R(e)>2||R(I)>3?"":" "}function q(e,n){for(;--n&&B()&&!(I<48||I>102||I>57&&I<65||I>70&&I<97););return W(e,U()+(n<6&&32==K()&&32==B()))}function F(e){for(;B();)switch(I){case e:return A;case 34:case 39:34!==e&&39!==e&&F(I);break;case 40:41===e&&F(e);break;case 92:B()}return A}function G(e,n){for(;B()&&e+I!==57&&(e+I!==84||47!==K()););return"/*"+W(n,A-1)+"*"+C(47===e?e:B())}function Y(e){for(;!R(K());)B();return W(e,A)}function Z(e){return function(e){return N="",e}(J("",null,null,null,[""],e=function(e){return T=D=1,L=P(N=e),A=0,[]}(e),0,[0],e))}function J(e,n,t,r,o,a,c,s,i){for(var u=0,l=0,f=c,d=0,p=0,m=0,h=1,y=1,g=1,v=0,b="",k=o,$=a,j=r,T=b;y;)switch(m=v,v=B()){case 40:if(108!=m&&58==M(T,f-1)){-1!=x(T+=E(z(v),"&","&\f"),"&\f",S(u?s[u-1]:0))&&(g=-1);break}case 34:case 39:case 91:T+=z(v);break;case 9:case 10:case 13:case 32:T+=V(m);break;case 92:T+=q(U()-1,7);continue;case 47:switch(K()){case 42:case 47:O(X(G(B(),U()),n,t,i),i),5!=R(m||1)&&5!=R(K()||1)||!P(T)||" "===w(T,-1,void 0)||(T+=" ");break;default:T+="/"}break;case 123*h:s[u++]=P(T)*g;case 125*h:case 59:case 0:switch(v){case 0:case 125:y=0;case 59+l:-1==g&&(T=E(T,/\f/g,"")),p>0&&(P(T)-f||0===h&&47===m)&&O(p>32?ee(T+";",r,t,f-1,i):ee(E(T," ","")+";",r,t,f-2,i),i);break;case 59:T+=";";default:if(O(j=Q(T,n,t,u,l,o,s,b,k=[],$=[],f,a),a),123===v)if(0===l)J(T,n,j,j,k,a,f,s,$);else{switch(d){case 99:if(110===M(T,3))break;case 108:if(97===M(T,2))break;default:l=0;case 100:case 109:case 115:}l?J(e,j,j,r&&O(Q(e,j,j,0,0,o,s,b,o,k=[],f,$),$),o,$,f,s,r?k:$):J(T,j,j,j,[""],$,0,s,$)}}u=l=p=0,h=g=1,b=T="",f=c;break;case 58:f=1+P(T),p=m;default:if(h<1)if(123==v)--h;else if(125==v&&0==h++&&125==H())continue;switch(T+=C(v),v*h){case 38:g=l>0?1:(T+="\f",-1);break;case 44:s[u++]=(P(T)-1)*g,g=1;break;case 64:45===K()&&(T+=z(B())),d=K(),l=f=P(b=T+=Y(U())),v++;break;case 45:45===m&&2==P(T)&&(h=0)}}return a}function Q(e,n,t,r,o,a,c,s,i,u,l,f){for(var d=o-1,p=0===o?a:[""],m=function(e){return e.length}(p),h=0,y=0,g=0;h<r;++h)for(var b=0,C=w(e,d+1,d=S(y=c[h])),x=e;b<m;++b)(x=k(y>0?p[b]+" "+C:E(C,/&\f/g,p[b])))&&(i[g++]=x);return _(e,n,t,0===o?v:s,i,u,l,f)}function X(e,n,t,r){return _(e,n,t,g,C(I),w(e,2,-2),0,r)}function ee(e,n,t,r,o){return _(e,n,t,b,w(e,0,r),w(e,r+1,-1),r,o)}const ne=e=>`${e}-${Math.random().toString(36).slice(2,8)}`,te=e=>{let n=5381;for(let t=0;t<e.length;t++)n=33*n^e.charCodeAt(t);return(n>>>0).toString(36)},re=(e,n)=>$(Z(n?`${n}{${e}}`:e),j),oe=(e,...n)=>{const t=ne("hsg"),r=y(e,...n);return()=>{const{theme:e}=m();return(0,l.useEffect)((()=>{if(document.getElementById(t))return;const n=r({theme:e}),o=document.createElement("style");return o.id=t,o.innerHTML=re(n),o.setAttribute("data-honey-style","true"),document.head.appendChild(o),()=>{o.remove()}}),[e]),null}},ae=new Map;let ce=null;const se=()=>{const e=(ce||(ce=document.createElement("style"),ce.setAttribute("data-honey-style","true"),document.head.appendChild(ce)),ce),n=Array.from(ae.entries()).sort((([,e],[,n])=>e.priority-n.priority)).map((([,e])=>e.css)).join("\n");e.textContent=n},ie=e=>()=>{const n=ae.get(e);n&&(n.usages--,n.usages<=0&&(ae.delete(e),se()))},ue=(e,n,t=0)=>{const r=ae.get(e);return r?(r.usages++,ie(e)):(ae.set(e,{css:n,priority:t,usages:1}),se(),ie(e))},le=(e,n)=>(t,...r)=>{const o=ne("hsc"),a=y(t,...r),c=({as:t,className:r,__chain:c,css:s,...i})=>{const{theme:f}=m(),d=Object.fromEntries(Object.entries(i).filter((([,e])=>void 0!==e))),p="function"==typeof n?n({theme:f,as:t,className:r,...d}):n??{},h={...p,...d,theme:f},g=a(h),v=`hscn-${te(g)}`,b=re(g,`.${v}`);(0,l.useInsertionEffect)((()=>ue(v,b,c?0:1)),[v]);const S="function"==typeof s?s(h):s,C=S?"string"==typeof S?S:y([""],[S])(h):"",k=C?`hspcn-${te(C)}`:"";(0,l.useInsertionEffect)((()=>{if(k)return ue(k,re(C,`.${k}`),2)}),[k]);const E={...p,...d,className:(x=[o,v,r,k],x.filter(Boolean).join(" ").trim())};var x;const M=t||e;if("string"==typeof e){const e="string"==typeof M?(e=>Object.entries(e).reduce(((e,[n,t])=>((u.has(n)||n.startsWith("data-")||n.startsWith("aria-"))&&(e[n]=t),e)),{}))(E):E;return(0,l.createElement)(M,e)}return(0,l.createElement)(e,{...E,...t&&{as:t},__chain:"true"})};return c.$$ComponentId=o,c.displayName=`HoneyStyledComponent(${"string"==typeof e?e:e.displayName||e.name||"Component"})`,c};module.exports=r}();
|
|
2
3
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","mappings":"yBACA,IAAIA,EAAsB,CCA1BA,EAAwB,SAASC,GAChC,IAAIC,EAASD,GAAUA,EAAOE,WAC7B,WAAa,OAAOF,EAAgB,OAAG,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAD,EAAoBI,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CACR,ECNAF,EAAwB,SAASM,EAASC,GACzC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAG3E,ECPAR,EAAwB,SAASc,EAAKC,GAAQ,OAAOL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,EAAO,ECCtGf,EAAwB,SAASM,GACX,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GACvD,G,yTCJO,MAAMC,EAA2C,CAAC,KAAM,KAAM,KAAM,KAAM,MAE3EC,EAAmB,IAAIC,IAAI,CAC/B,SACA,YACA,MACA,OACA,KACA,iBACA,eACA,YACA,UACA,UACA,YACA,kBACA,cACA,WACA,cACA,0BACA,OACA,MACA,WACA,WACA,YACA,OACA,aACA,cACA,aACA,iBACA,aACA,SACA,SACA,OACA,WACA,KACA,QACA,QACA,MACA,OACA,OACA,OACA,MACA,YACA,QACA,MACA,YACA,WACA,QACA,OACA,UACA,cACA,WACA,WACA,OACA,OACA,OACA,aACA,MACA,SACA,OACA,QACA,WACA,SACA,QACA,YACA,OACA,SACA,QACA,QACA,MACA,aAGIC,EAAoB,IAAID,IAAI,CAChC,UACA,UACA,UACA,OACA,QACA,QACA,SACA,UACA,OACA,YAGIE,EAAkB,IAAIF,IAAI,CAC9B,UACA,OACA,SACA,cACA,IACA,IACA,KACA,KACA,IACA,IACA,KACA,KACA,SACA,YACA,UAGIG,EAAoB,IAAIH,IAAI,CAEhC,SACA,QACA,UAEA,mBACA,qBACA,sBAEA,UACA,SAEA,W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","sources":["webpack://@react-hive/honey-style/webpack/bootstrap","webpack://@react-hive/honey-style/webpack/runtime/compat get default export","webpack://@react-hive/honey-style/webpack/runtime/define property getters","webpack://@react-hive/honey-style/webpack/runtime/hasOwnProperty shorthand","webpack://@react-hive/honey-style/webpack/runtime/make namespace object","webpack://@react-hive/honey-style/./src/constants.ts","webpack://@react-hive/honey-style/external commonjs \"react\"","webpack://@react-hive/honey-style/./src/contexts/HoneyStyleContext.ts","webpack://@react-hive/honey-style/./src/providers/HoneyStyleProvider.tsx","webpack://@react-hive/honey-style/./src/hooks/use-honey-layout.ts","webpack://@react-hive/honey-style/./src/helpers.ts","webpack://@react-hive/honey-style/./src/css.ts","webpack://@react-hive/honey-style/./node_modules/stylis/src/Enum.js","webpack://@react-hive/honey-style/./node_modules/stylis/src/Utility.js","webpack://@react-hive/honey-style/./node_modules/stylis/src/Serializer.js","webpack://@react-hive/honey-style/./node_modules/stylis/src/Tokenizer.js","webpack://@react-hive/honey-style/./node_modules/stylis/src/Parser.js","webpack://@react-hive/honey-style/./src/utils.ts","webpack://@react-hive/honey-style/./src/global-style.ts","webpack://@react-hive/honey-style/./src/mount-style.ts","webpack://@react-hive/honey-style/./src/styled.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { HoneyBreakpointName } from './types';\n\nexport const HONEY_BREAKPOINTS: HoneyBreakpointName[] = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nconst VALID_HTML_ATTRS = new Set([\n 'accept',\n 'accessKey',\n 'alt',\n 'aria',\n 'as',\n 'autoCapitalize',\n 'autoComplete',\n 'autoFocus',\n 'capture',\n 'checked',\n 'className',\n 'contentEditable',\n 'contextMenu',\n 'controls',\n 'crossOrigin',\n 'dangerouslySetInnerHTML',\n 'data',\n 'dir',\n 'disabled',\n 'download',\n 'draggable',\n 'form',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'height',\n 'hidden',\n 'href',\n 'hrefLang',\n 'id',\n 'isMap',\n 'inert',\n 'key',\n 'lang',\n 'list',\n 'loop',\n 'max',\n 'maxLength',\n 'media',\n 'min',\n 'minLength',\n 'multiple',\n 'muted',\n 'name',\n 'pattern',\n 'placeholder',\n 'readOnly',\n 'required',\n 'role',\n 'size',\n 'slot',\n 'spellCheck',\n 'src',\n 'srcSet',\n 'step',\n 'style',\n 'tabIndex',\n 'target',\n 'title',\n 'translate',\n 'type',\n 'useMap',\n 'value',\n 'width',\n 'ref',\n 'children',\n]);\n\nconst VALID_TABLE_ATTRS = new Set([\n 'colSpan',\n 'rowSpan',\n 'headers',\n 'abbr',\n 'scope',\n 'align',\n 'valign',\n 'bgColor',\n 'char',\n 'charOff',\n]);\n\nconst VALID_SVG_ATTRS = new Set([\n 'viewBox',\n 'fill',\n 'stroke',\n 'strokeWidth',\n 'x',\n 'y',\n 'cx',\n 'cy',\n 'd',\n 'r',\n 'rx',\n 'ry',\n 'points',\n 'transform',\n 'xmlns',\n]);\n\nconst VALID_EVENT_ATTRS = new Set([\n // Clipboard\n 'onCopy',\n 'onCut',\n 'onPaste',\n // Composition\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n // Focus\n 'onFocus',\n 'onBlur',\n // Form\n 'onChange',\n 'onInput',\n 'onInvalid',\n 'onReset',\n 'onSubmit',\n // Keyboard\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n // Mouse\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n // Drag & Drop\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n // Pointer\n 'onPointerDown',\n 'onPointerMove',\n 'onPointerUp',\n 'onPointerCancel',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerOver',\n 'onPointerOut',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n // Selection\n 'onSelect',\n // Touch\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n // UI\n 'onScroll',\n // Wheel\n 'onWheel',\n // Media\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n // Image\n 'onLoad',\n 'onError',\n]);\n\nexport const VALID_DOM_ELEMENT_ATTRS = new Set([\n ...VALID_HTML_ATTRS,\n ...VALID_TABLE_ATTRS,\n ...VALID_SVG_ATTRS,\n ...VALID_EVENT_ATTRS,\n]);\n","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","import { createContext } from 'react';\n\nimport type { HoneyTheme } from '../types';\n\nexport interface HoneyStyleContextValue {\n /**\n * Represents the theme object.\n */\n theme: HoneyTheme;\n}\n\nexport const HoneyStyleContext = createContext<HoneyStyleContextValue | undefined>(undefined);\n","import React, { useMemo } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport { HoneyStyleContext } from '../contexts';\nimport type { HoneyTheme } from '../types';\nimport type { HoneyStyleContextValue } from '../contexts';\n\ninterface HoneyStyleProviderProps {\n theme: HoneyTheme;\n}\n\nexport const HoneyStyleProvider = ({\n children,\n theme,\n}: PropsWithChildren<HoneyStyleProviderProps>) => {\n const contextValue = useMemo<HoneyStyleContextValue>(\n () => ({\n theme,\n }),\n [theme],\n );\n\n return <HoneyStyleContext value={contextValue}>{children}</HoneyStyleContext>;\n};\n","import { useContext } from 'react';\n\nimport { HoneyStyleContext } from '../contexts';\nimport { assert } from '../helpers';\n\nexport const useHoneyStyle = () => {\n const context = useContext(HoneyStyleContext);\n assert(\n context,\n 'The `useHoneyStyle()` hook must be used inside <HoneyStyleProvider/> component!',\n );\n\n return context;\n};\n","export function assert(condition: any, message: string): asserts condition {\n if (!condition) {\n throw new Error(message);\n }\n}\n","import type { HoneyStyledInterpolation, HoneyStyledContext } from './types';\n\nconst toKebabCase = (str: string): string =>\n str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\nconst resolveCssInterpolation = <Props extends object>(\n interpolation: HoneyStyledInterpolation<Props>,\n context: HoneyStyledContext<Props>,\n): string => {\n if (typeof interpolation === 'function') {\n if ('$$ComponentId' in interpolation) {\n return `.${interpolation.$$ComponentId}`;\n }\n\n return resolveCssInterpolation(interpolation(context), context);\n }\n\n if (Array.isArray(interpolation)) {\n return interpolation.map(v => resolveCssInterpolation(v, context)).join('\\n');\n }\n\n if (interpolation && typeof interpolation === 'object') {\n return Object.entries(interpolation)\n .filter(([, v]) => v !== undefined && v !== false)\n .map(([k, v]) => `${toKebabCase(k)}: ${v};`)\n .join('\\n');\n }\n\n return interpolation?.toString?.() ?? '';\n};\n\nexport const css = <Props extends object>(\n strings: TemplateStringsArray,\n ...interpolations: HoneyStyledInterpolation<Props>[]\n) => {\n return (context: HoneyStyledContext<Props>) =>\n strings.reduce((cssResult, str, index) => {\n const interpolation = interpolations[index];\n\n if (\n interpolation === '' ||\n interpolation === false ||\n interpolation === undefined ||\n interpolation === null\n ) {\n return cssResult + str;\n }\n\n return cssResult + str + resolveCssInterpolation(interpolation, context);\n }, '');\n};\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES, NAMESPACE} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case NAMESPACE: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, token, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tif ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters) && substr(characters, -1, void 0) !== ' ') characters += ' '\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length || (variable === 0 && previous === 47)))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// c(ontainer)\n\t\t\t\t\t\t\t\t\tcase 99:\n\t\t\t\t\t\t\t\t\t\tif (charat(characters, 3) === 110) break\n\t\t\t\t\t\t\t\t\t// l(ayer)\n\t\t\t\t\t\t\t\t\tcase 108:\n\t\t\t\t\t\t\t\t\t\tif (charat(characters, 2) === 97) break\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\toffset = 0\n\t\t\t\t\t\t\t\t\t// d(ocument) m(edia) s(upports)\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (offset) parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\telse parse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import { compile, serialize, stringify } from 'stylis';\n\nexport const generateId = (prefix: string) => `${prefix}-${Math.random().toString(36).slice(2, 8)}`;\n\nexport const hashString = (str: string): string => {\n let hash = 5381;\n\n for (let i = 0; i < str.length; i++) {\n hash = (hash * 33) ^ str.charCodeAt(i);\n }\n\n return (hash >>> 0).toString(36);\n};\n\nexport const makeClassName = (classNames: (string | undefined)[]) =>\n classNames.filter(Boolean).join(' ').trim();\n\nexport const processCss = (rawCss: string, selector?: string): string => {\n const scopedCss = selector ? `${selector}{${rawCss}}` : rawCss;\n\n return serialize(compile(scopedCss), stringify);\n};\n","import { useEffect } from 'react';\n\nimport { css } from './css';\nimport { processCss, generateId } from './utils';\nimport { useHoneyStyle } from './hooks';\nimport type { HoneyStyledInterpolation, HoneyStyledContext } from './types';\n\nexport const createGlobalStyle = (\n strings: TemplateStringsArray,\n ...interpolations: HoneyStyledInterpolation<HoneyStyledContext<object>>[]\n) => {\n const styleId = generateId('hsg');\n\n const computeCss = css(strings, ...interpolations);\n\n const GlobalStyle = () => {\n const { theme } = useHoneyStyle();\n\n useEffect(() => {\n if (document.getElementById(styleId)) {\n return;\n }\n\n const rawCss = computeCss({ theme });\n\n const styleElement = document.createElement('style');\n styleElement.id = styleId;\n styleElement.innerHTML = processCss(rawCss);\n styleElement.setAttribute('data-honey-style', 'true');\n\n document.head.appendChild(styleElement);\n\n return () => {\n styleElement.remove();\n };\n }, [theme]);\n\n return null;\n };\n\n return GlobalStyle;\n};\n","/**\n * Represents an entry in the style registry with the raw CSS string,\n * its usage count, and optional priority for ordering.\n */\ninterface StyleRegistryEntry {\n css: string;\n usages: number;\n priority: number;\n}\n\ntype StyleCleanupFn = () => void;\n\nconst styleRegistry = new Map<string, StyleRegistryEntry>();\n\nlet globalStyleTag: HTMLStyleElement | null = null;\n\n/**\n * Ensures a single <style> tag exists and is attached to <head>.\n *\n * @returns The <style> element.\n */\nconst ensureGlobalStyleTag = (): HTMLStyleElement => {\n if (!globalStyleTag) {\n globalStyleTag = document.createElement('style');\n globalStyleTag.setAttribute('data-honey-style', 'true');\n\n document.head.appendChild(globalStyleTag);\n }\n\n return globalStyleTag;\n};\n\n/**\n * Updates the global <style> tag with all currently active styles, sorted by priority.\n */\nconst updateGlobalStyleContent = () => {\n const styleTag = ensureGlobalStyleTag();\n\n const allCss = Array.from(styleRegistry.entries())\n .sort(([, a], [, b]) => a.priority - b.priority)\n .map(([, entry]) => entry.css)\n .join('\\n');\n\n styleTag.textContent = allCss;\n};\n\n/**\n * Creates a cleanup function for a style, which decrements usage count and removes it if unused.\n *\n * @param className - The key of the style.\n */\nconst createCleanupFunction =\n (className: string): StyleCleanupFn =>\n () => {\n const entry = styleRegistry.get(className);\n if (!entry) {\n return;\n }\n\n entry.usages--;\n\n if (entry.usages <= 0) {\n styleRegistry.delete(className);\n\n updateGlobalStyleContent();\n }\n };\n\n/**\n * Mounts a CSS string under a given class name. Injects into a global <style> tag and manages its lifecycle.\n *\n * @param className - Unique identifier for the style block.\n * @param css - Full CSS rule string (can include multiple rules, media queries, etc.)\n * @param priority - Optional number to determine style ordering (lower = earlier = lower specificity)\n *\n * @returns A cleanup function to unmount the style when it's no longer needed.\n */\nexport const mountStyle = (\n className: string,\n css: string,\n priority: number = 0,\n): StyleCleanupFn => {\n const existing = styleRegistry.get(className);\n\n if (existing) {\n existing.usages++;\n\n return createCleanupFunction(className);\n }\n\n styleRegistry.set(className, {\n css,\n priority,\n usages: 1,\n });\n\n updateGlobalStyleContent();\n\n return createCleanupFunction(className);\n};\n","import { createElement, useInsertionEffect } from 'react';\nimport type { ElementType, ComponentProps, ComponentPropsWithRef } from 'react';\n\nimport { VALID_DOM_ELEMENT_ATTRS } from './constants';\nimport { css } from './css';\nimport { mountStyle } from './mount-style';\nimport { useHoneyStyle } from './hooks';\nimport { processCss, generateId, hashString, makeClassName } from './utils';\nimport type {\n FastOmit,\n Override,\n HoneyHTMLDataAttributes,\n HoneyStyledInterpolation,\n HoneyStyledPropsWithAs,\n HoneyStyledContext,\n} from './types';\n\n/**\n * Filters out non-standard HTML attributes from the props object when rendering a native HTML element.\n *\n * Keeps only valid HTML attributes, including `data-*` and `aria-*` attributes.\n * Useful for preventing React warnings and ensuring proper HTML output.\n *\n * @template Props - The type of the props object\n *\n * @param props - The component props to filter\n *\n * @returns A new props object containing only valid HTML attributes\n */\nconst filterNonHtmlProps = <Props extends object>(props: Props): Props =>\n Object.entries(props).reduce((allowedProps, [propName, propValue]) => {\n if (\n VALID_DOM_ELEMENT_ATTRS.has(propName) ||\n propName.startsWith('data-') ||\n propName.startsWith('aria-')\n ) {\n allowedProps[propName as keyof Props] = propValue;\n }\n return allowedProps;\n }, {} as Props);\n\nexport type HoneyStyledProps<\n Element extends ElementType,\n Props extends object,\n> = HoneyStyledPropsWithAs<\n Element,\n HoneyHTMLDataAttributes & ComponentPropsWithRef<Element> & Props\n>;\n\ntype DefaultPropsResolver<\n Target extends ElementType,\n DefaultProps extends object,\n Props extends object,\n CombinedProps extends object = Override<DefaultProps, Props>,\n> =\n | HoneyStyledPropsWithAs<Target, FastOmit<Partial<CombinedProps>, 'as'>>\n | ((\n props: HoneyStyledContext<HoneyStyledPropsWithAs<Target, CombinedProps>>,\n ) => HoneyStyledPropsWithAs<Target, FastOmit<Partial<CombinedProps>, 'as'>>);\n\nexport const styled = <\n TargetProps extends object,\n Target extends ElementType = ElementType,\n OverrideTarget extends ElementType = Target,\n>(\n target: Target,\n defaultProps?: DefaultPropsResolver<OverrideTarget, ComponentProps<OverrideTarget>, TargetProps>,\n) => {\n return <Props extends object = TargetProps>(\n strings: TemplateStringsArray,\n ...interpolations: HoneyStyledInterpolation<Override<ComponentProps<OverrideTarget>, Props>>[]\n ) => {\n const componentId = generateId('hsc');\n const computeCss = css(strings, ...interpolations);\n\n const StyledComponent = <AsElement extends ElementType = OverrideTarget>({\n as,\n className,\n __chain,\n css: cssProp,\n ...props\n }: HoneyStyledPropsWithAs<\n AsElement,\n Override<ComponentProps<AsElement>, FastOmit<Props, 'as'>>\n > & {\n css?: HoneyStyledInterpolation<Props>;\n className?: string;\n __chain?: string;\n }) => {\n const { theme } = useHoneyStyle();\n\n const cleanedProps = Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n );\n\n const resolvedDefaultProps: typeof defaultProps =\n typeof defaultProps === 'function'\n ? defaultProps({ theme, as, className, ...cleanedProps } as never)\n : (defaultProps ?? ({} as never));\n\n const context: HoneyStyledContext<any> = {\n ...resolvedDefaultProps,\n ...cleanedProps,\n theme,\n };\n\n const rawCss = computeCss(context);\n const baseClassName = `hscn-${hashString(rawCss)}`;\n\n const baseCss = processCss(rawCss, `.${baseClassName}`);\n\n useInsertionEffect(\n () => mountStyle(baseClassName, baseCss, __chain ? 0 : 1),\n [baseClassName],\n );\n\n const cssPropRaw = typeof cssProp === 'function' ? cssProp(context) : cssProp;\n\n const cssPropString = cssPropRaw\n ? typeof cssPropRaw === 'string'\n ? cssPropRaw\n : // @ts-ignore\n css([''], [cssPropRaw])(context)\n : '';\n\n const cssPropClassName = cssPropString ? `hscn-${hashString(cssPropString)}` : '';\n\n useInsertionEffect(() => {\n if (cssPropClassName) {\n return mountStyle(cssPropClassName, processCss(cssPropString, `.${cssPropClassName}`), 2);\n }\n }, [cssPropClassName]);\n\n const mergedProps = {\n ...resolvedDefaultProps,\n ...cleanedProps,\n className: makeClassName([componentId, baseClassName, className, cssPropClassName]),\n };\n\n const finalComponent = as || target;\n\n if (typeof target === 'string') {\n const filteredProps =\n typeof finalComponent === 'string' ? filterNonHtmlProps(mergedProps) : mergedProps;\n\n return createElement(finalComponent, filteredProps);\n }\n\n // Recreate all elements in the chain\n return createElement(target, {\n ...mergedProps,\n ...(as && { as }),\n __chain: 'true',\n });\n };\n\n StyledComponent.$$ComponentId = componentId;\n StyledComponent.displayName = `HoneyStyledComponent(${typeof target === 'string' ? target : target.displayName || target.name || 'Component'})`;\n\n return StyledComponent;\n };\n};\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","HONEY_BREAKPOINTS","VALID_HTML_ATTRS","Set","VALID_TABLE_ATTRS","VALID_SVG_ATTRS","VALID_EVENT_ATTRS","VALID_DOM_ELEMENT_ATTRS","require","HoneyStyleContext","createContext","undefined","HoneyStyleProvider","children","theme","contextValue","useMemo","useHoneyStyle","context","useContext","condition","Error","assert","resolveCssInterpolation","interpolation","$$ComponentId","Array","isArray","map","v","join","entries","filter","k","str","replace","toLowerCase","toString","css","strings","interpolations","reduce","cssResult","index","COMMENT","RULESET","DECLARATION","abs","Math","String","fromCharCode","trim","pattern","replacement","indexof","search","position","indexOf","charat","charCodeAt","substr","begin","end","slice","strlen","length","array","push","serialize","callback","output","i","stringify","element","type","return","props","assign","line","column","character","characters","node","root","parent","siblings","prev","next","peek","caret","token","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","dealloc","parse","alloc","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","sizeof","j","x","y","z","generateId","prefix","random","hashString","hash","processCss","rawCss","selector","createGlobalStyle","styleId","computeCss","useEffect","document","getElementById","styleElement","createElement","id","innerHTML","setAttribute","head","appendChild","remove","styleRegistry","Map","globalStyleTag","updateGlobalStyleContent","styleTag","allCss","from","sort","b","priority","entry","textContent","createCleanupFunction","className","usages","delete","mountStyle","existing","set","styled","target","defaultProps","componentId","StyledComponent","as","__chain","cssProp","cleanedProps","fromEntries","resolvedDefaultProps","baseClassName","baseCss","useInsertionEffect","cssPropRaw","cssPropString","cssPropClassName","mergedProps","classNames","Boolean","finalComponent","filteredProps","allowedProps","propName","propValue","has","startsWith","filterNonHtmlProps","displayName","name"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.js","mappings":";sDAWIA,EAAqBC,OAAOC,IAAI,8BACZD,OAAOC,IAAI,kBAoBnCC,EAAQC,IAnBR,SAAiBC,EAAMC,EAAQC,GAC7B,IAAIC,EAAM,KAGV,QAFA,IAAWD,IAAaC,EAAM,GAAKD,QACnC,IAAWD,EAAOE,MAAQA,EAAM,GAAKF,EAAOE,KACxC,QAASF,EAEX,IAAK,IAAIG,KADTF,EAAW,CAAC,EACSD,EACnB,QAAUG,IAAaF,EAASE,GAAYH,EAAOG,SAChDF,EAAWD,EAElB,OADAA,EAASC,EAASG,IACX,CACLC,SAAUX,EACVK,KAAMA,EACNG,IAAKA,EACLE,SAAK,IAAWJ,EAASA,EAAS,KAClCM,MAAOL,EAEX,uBC3BEM,EAAOV,QAAU,EAAjB,OCFEW,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAad,QAGrB,IAAIU,EAASC,EAAyBE,GAAY,CAGjDb,QAAS,CAAC,GAOX,OAHAgB,EAAoBH,GAAUH,EAAQA,EAAOV,QAASY,GAG/CF,EAAOV,OACf,CCrBAY,EAAoBK,EAAI,SAASjB,EAASkB,GACzC,IAAI,IAAIb,KAAOa,EACXN,EAAoBO,EAAED,EAAYb,KAASO,EAAoBO,EAAEnB,EAASK,IAC5Ee,OAAOC,eAAerB,EAASK,EAAK,CAAEiB,YAAY,EAAMC,IAAKL,EAAWb,IAG3E,ECPAO,EAAoBO,EAAI,SAASK,EAAKC,GAAQ,OAAOL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,EAAO,ECCtGb,EAAoBiB,EAAI,SAAS7B,GACX,oBAAXF,QAA0BA,OAAOgC,aAC1CV,OAAOC,eAAerB,EAASF,OAAOgC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAerB,EAAS,aAAc,CAAE+B,OAAO,GACvD,+TCNO,MAAMC,EAAoB,CAAC,KAAM,KAAM,KAAM,KAAM,MACpDC,EAAmB,IAAIC,IAAI,CAC7B,SACA,YACA,MACA,OACA,KACA,iBACA,eACA,YACA,UACA,UACA,YACA,kBACA,cACA,WACA,cACA,0BACA,OACA,MACA,WACA,WACA,YACA,OACA,aACA,cACA,aACA,iBACA,aACA,SACA,SACA,OACA,WACA,KACA,QACA,QACA,MACA,OACA,OACA,OACA,MACA,YACA,QACA,MACA,YACA,WACA,QACA,OACA,UACA,cACA,WACA,WACA,OACA,OACA,OACA,aACA,MACA,SACA,OACA,QACA,WACA,SACA,QACA,YACA,OACA,SACA,QACA,QACA,MACA,aAEEC,EAAoB,IAAID,IAAI,CAC9B,UACA,UACA,UACA,OACA,QACA,QACA,SACA,UACA,OACA,YAEEE,EAAkB,IAAIF,IAAI,CAC5B,UACA,OACA,SACA,cACA,IACA,IACA,KACA,KACA,IACA,IACA,KACA,KACA,SACA,YACA,UAEEG,EAAoB,IAAIH,IAAI,CAE9B,SACA,QACA,UAEA,mBACA,qBACA,sBAEA,UACA,SAEA,WACA,UACA,YACA,UACA,WAEA,YACA,aACA,UAEA,UACA,gBACA,gBACA,cACA,eACA,eACA,cACA,aACA,cACA,YAEA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SAEA,gBACA,gBACA,cACA,kBACA,iBACA,iBACA,gBACA,eACA,sBACA,uBAEA,WAEA,gBACA,aACA,cACA,eAEA,WAEA,UAEA,UACA,YACA,mBACA,mBACA,YACA,cACA,UACA,eACA,mBACA,cACA,UACA,SACA,YACA,aACA,eACA,WACA,YACA,YACA,YACA,eACA,iBACA,YAEA,SACA,YAESI,EAA0B,IAAIJ,IAAI,IACxCD,KACAE,KACAC,KACAC,ICnMP,IAAI,EAA+BE,QAAQ,SCCpC,MAAMC,GAAoB,IAAAC,oBAAc1B,gBCExC,MAAM2B,EAAqB,EAAGC,WAAUC,YAC3C,MAAMC,GAAe,IAAAC,UAAQ,KAAM,CAC/BF,WACA,CAACA,IACL,OAAO,SAAKJ,EAAmB,CAAET,MAAOc,EAAcF,SAAUA,GAAW,ECJlEI,EAAgB,KACzB,MAAMC,GAAU,IAAAC,YAAWT,GAE3B,OCNG,SAAgBU,GACnB,IAAKA,EACD,MAAM,IAAIC,MDGE,kFCDpB,CDCIC,CAAOJ,GACAA,CAAO,EELZK,EAA0B,CAACC,EAAe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","sources":["webpack://@react-hive/honey-style/./node_modules/react/cjs/react-jsx-runtime.production.js","webpack://@react-hive/honey-style/./node_modules/react/jsx-runtime.js","webpack://@react-hive/honey-style/webpack/bootstrap","webpack://@react-hive/honey-style/webpack/runtime/define property getters","webpack://@react-hive/honey-style/webpack/runtime/hasOwnProperty shorthand","webpack://@react-hive/honey-style/webpack/runtime/make namespace object","webpack://@react-hive/honey-style/./src/constants.ts","webpack://@react-hive/honey-style/external commonjs \"react\"","webpack://@react-hive/honey-style/./src/contexts/HoneyStyleContext.ts","webpack://@react-hive/honey-style/./src/providers/HoneyStyleProvider.tsx","webpack://@react-hive/honey-style/./src/hooks/use-honey-style.ts","webpack://@react-hive/honey-style/./src/helpers.ts","webpack://@react-hive/honey-style/./src/css.ts","webpack://@react-hive/honey-style/./node_modules/stylis/src/Enum.js","webpack://@react-hive/honey-style/./node_modules/stylis/src/Utility.js","webpack://@react-hive/honey-style/./node_modules/stylis/src/Serializer.js","webpack://@react-hive/honey-style/./node_modules/stylis/src/Tokenizer.js","webpack://@react-hive/honey-style/./node_modules/stylis/src/Parser.js","webpack://@react-hive/honey-style/./src/utils.ts","webpack://@react-hive/honey-style/./src/global-style.ts","webpack://@react-hive/honey-style/./src/mount-style.ts","webpack://@react-hive/honey-style/./src/styled.ts"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const HONEY_BREAKPOINTS = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst VALID_HTML_ATTRS = new Set([\n 'accept',\n 'accessKey',\n 'alt',\n 'aria',\n 'as',\n 'autoCapitalize',\n 'autoComplete',\n 'autoFocus',\n 'capture',\n 'checked',\n 'className',\n 'contentEditable',\n 'contextMenu',\n 'controls',\n 'crossOrigin',\n 'dangerouslySetInnerHTML',\n 'data',\n 'dir',\n 'disabled',\n 'download',\n 'draggable',\n 'form',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'height',\n 'hidden',\n 'href',\n 'hrefLang',\n 'id',\n 'isMap',\n 'inert',\n 'key',\n 'lang',\n 'list',\n 'loop',\n 'max',\n 'maxLength',\n 'media',\n 'min',\n 'minLength',\n 'multiple',\n 'muted',\n 'name',\n 'pattern',\n 'placeholder',\n 'readOnly',\n 'required',\n 'role',\n 'size',\n 'slot',\n 'spellCheck',\n 'src',\n 'srcSet',\n 'step',\n 'style',\n 'tabIndex',\n 'target',\n 'title',\n 'translate',\n 'type',\n 'useMap',\n 'value',\n 'width',\n 'ref',\n 'children',\n]);\nconst VALID_TABLE_ATTRS = new Set([\n 'colSpan',\n 'rowSpan',\n 'headers',\n 'abbr',\n 'scope',\n 'align',\n 'valign',\n 'bgColor',\n 'char',\n 'charOff',\n]);\nconst VALID_SVG_ATTRS = new Set([\n 'viewBox',\n 'fill',\n 'stroke',\n 'strokeWidth',\n 'x',\n 'y',\n 'cx',\n 'cy',\n 'd',\n 'r',\n 'rx',\n 'ry',\n 'points',\n 'transform',\n 'xmlns',\n]);\nconst VALID_EVENT_ATTRS = new Set([\n // Clipboard\n 'onCopy',\n 'onCut',\n 'onPaste',\n // Composition\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n // Focus\n 'onFocus',\n 'onBlur',\n // Form\n 'onChange',\n 'onInput',\n 'onInvalid',\n 'onReset',\n 'onSubmit',\n // Keyboard\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n // Mouse\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n // Drag & Drop\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n // Pointer\n 'onPointerDown',\n 'onPointerMove',\n 'onPointerUp',\n 'onPointerCancel',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerOver',\n 'onPointerOut',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n // Selection\n 'onSelect',\n // Touch\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n // UI\n 'onScroll',\n // Wheel\n 'onWheel',\n // Media\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n // Image\n 'onLoad',\n 'onError',\n]);\nexport const VALID_DOM_ELEMENT_ATTRS = new Set([\n ...VALID_HTML_ATTRS,\n ...VALID_TABLE_ATTRS,\n ...VALID_SVG_ATTRS,\n ...VALID_EVENT_ATTRS,\n]);\n","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","import { createContext } from 'react';\nexport const HoneyStyleContext = createContext(undefined);\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useMemo } from 'react';\nimport { HoneyStyleContext } from '../contexts';\nexport const HoneyStyleProvider = ({ children, theme, }) => {\n const contextValue = useMemo(() => ({\n theme,\n }), [theme]);\n return _jsx(HoneyStyleContext, { value: contextValue, children: children });\n};\n","import { useContext } from 'react';\nimport { HoneyStyleContext } from '../contexts';\nimport { assert } from '../helpers';\nexport const useHoneyStyle = () => {\n const context = useContext(HoneyStyleContext);\n assert(context, 'The `useHoneyStyle()` hook must be used inside <HoneyStyleProvider/> component!');\n return context;\n};\n","export function assert(condition, message) {\n if (!condition) {\n throw new Error(message);\n }\n}\n","const toKebabCase = (str) => str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\nconst resolveCssInterpolation = (interpolation, context) => {\n if (typeof interpolation === 'function') {\n if ('$$ComponentId' in interpolation) {\n return `.${interpolation.$$ComponentId}`;\n }\n return resolveCssInterpolation(interpolation(context), context);\n }\n if (Array.isArray(interpolation)) {\n return interpolation.map(v => resolveCssInterpolation(v, context)).join('\\n');\n }\n if (interpolation && typeof interpolation === 'object') {\n return Object.entries(interpolation)\n .filter(([, v]) => v !== undefined && v !== false)\n .map(([k, v]) => `${toKebabCase(k)}: ${v};`)\n .join('\\n');\n }\n return interpolation?.toString?.() ?? '';\n};\nexport const css = (strings, ...interpolations) => {\n return (context) => strings.reduce((cssResult, str, index) => {\n const interpolation = interpolations[index];\n if (interpolation === '' ||\n interpolation === false ||\n interpolation === undefined ||\n interpolation === null) {\n return cssResult + str;\n }\n return cssResult + str + resolveCssInterpolation(interpolation, context);\n }, '');\n};\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES, NAMESPACE} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case NAMESPACE: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, token, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tif ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters) && substr(characters, -1, void 0) !== ' ') characters += ' '\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length || (variable === 0 && previous === 47)))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// c(ontainer)\n\t\t\t\t\t\t\t\t\tcase 99:\n\t\t\t\t\t\t\t\t\t\tif (charat(characters, 3) === 110) break\n\t\t\t\t\t\t\t\t\t// l(ayer)\n\t\t\t\t\t\t\t\t\tcase 108:\n\t\t\t\t\t\t\t\t\t\tif (charat(characters, 2) === 97) break\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\toffset = 0\n\t\t\t\t\t\t\t\t\t// d(ocument) m(edia) s(upports)\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (offset) parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\telse parse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import { compile, serialize, stringify } from 'stylis';\nexport const generateId = (prefix) => `${prefix}-${Math.random().toString(36).slice(2, 8)}`;\nexport const hashString = (str) => {\n let hash = 5381;\n for (let i = 0; i < str.length; i++) {\n hash = (hash * 33) ^ str.charCodeAt(i);\n }\n return (hash >>> 0).toString(36);\n};\nexport const makeClassName = (classNames) => classNames.filter(Boolean).join(' ').trim();\nexport const processCss = (rawCss, selector) => {\n const scopedCss = selector ? `${selector}{${rawCss}}` : rawCss;\n return serialize(compile(scopedCss), stringify);\n};\n","import { useEffect } from 'react';\nimport { css } from './css';\nimport { processCss, generateId } from './utils';\nimport { useHoneyStyle } from './hooks';\nexport const createGlobalStyle = (strings, ...interpolations) => {\n const styleId = generateId('hsg');\n const computeCss = css(strings, ...interpolations);\n const GlobalStyle = () => {\n const { theme } = useHoneyStyle();\n useEffect(() => {\n if (document.getElementById(styleId)) {\n return;\n }\n const rawCss = computeCss({ theme });\n const styleElement = document.createElement('style');\n styleElement.id = styleId;\n styleElement.innerHTML = processCss(rawCss);\n styleElement.setAttribute('data-honey-style', 'true');\n document.head.appendChild(styleElement);\n return () => {\n styleElement.remove();\n };\n }, [theme]);\n return null;\n };\n return GlobalStyle;\n};\n","const styleRegistry = new Map();\nlet globalStyleTag = null;\n/**\n * Ensures a single <style> tag exists and is attached to <head>.\n *\n * @returns The <style> element.\n */\nconst ensureGlobalStyleTag = () => {\n if (!globalStyleTag) {\n globalStyleTag = document.createElement('style');\n globalStyleTag.setAttribute('data-honey-style', 'true');\n document.head.appendChild(globalStyleTag);\n }\n return globalStyleTag;\n};\n/**\n * Updates the global <style> tag with all currently active styles, sorted by priority.\n */\nconst updateGlobalStyleContent = () => {\n const styleTag = ensureGlobalStyleTag();\n const allCss = Array.from(styleRegistry.entries())\n .sort(([, a], [, b]) => a.priority - b.priority)\n .map(([, entry]) => entry.css)\n .join('\\n');\n styleTag.textContent = allCss;\n};\n/**\n * Creates a cleanup function for a style, which decrements usage count and removes it if unused.\n *\n * @param className - The key of the style.\n */\nconst createCleanupFunction = (className) => () => {\n const entry = styleRegistry.get(className);\n if (!entry) {\n return;\n }\n entry.usages--;\n if (entry.usages <= 0) {\n styleRegistry.delete(className);\n updateGlobalStyleContent();\n }\n};\n/**\n * Mounts a CSS string under a given class name. Injects into a global <style> tag and manages its lifecycle.\n *\n * @param className - Unique identifier for the style block.\n * @param css - Full CSS rule string (can include multiple rules, media queries, etc.)\n * @param priority - Optional number to determine style ordering (lower = earlier = lower specificity)\n *\n * @returns A cleanup function to unmount the style when it's no longer needed.\n */\nexport const mountStyle = (className, css, priority = 0) => {\n const existing = styleRegistry.get(className);\n if (existing) {\n existing.usages++;\n return createCleanupFunction(className);\n }\n styleRegistry.set(className, {\n css,\n priority,\n usages: 1,\n });\n updateGlobalStyleContent();\n return createCleanupFunction(className);\n};\n","import { createElement, useInsertionEffect } from 'react';\nimport { VALID_DOM_ELEMENT_ATTRS } from './constants';\nimport { css } from './css';\nimport { mountStyle } from './mount-style';\nimport { useHoneyStyle } from './hooks';\nimport { processCss, generateId, hashString, makeClassName } from './utils';\n/**\n * Filters out non-standard HTML attributes from the props object when rendering a native HTML element.\n *\n * Keeps only valid HTML attributes, including `data-*` and `aria-*` attributes.\n * Useful for preventing React warnings and ensuring proper HTML output.\n *\n * @template Props - The type of the props object\n *\n * @param props - The component props to filter\n *\n * @returns A new props object containing only valid HTML attributes\n */\nconst filterNonHtmlProps = (props) => Object.entries(props).reduce((allowedProps, [propName, propValue]) => {\n if (VALID_DOM_ELEMENT_ATTRS.has(propName) ||\n propName.startsWith('data-') ||\n propName.startsWith('aria-')) {\n allowedProps[propName] = propValue;\n }\n return allowedProps;\n}, {});\nexport const styled = (target, defaultProps) => {\n return (strings, ...interpolations) => {\n const componentId = generateId('hsc');\n const computeCss = css(strings, ...interpolations);\n const StyledComponent = ({ as, className, __chain, css: cssProp, ...props }) => {\n const { theme } = useHoneyStyle();\n const cleanedProps = Object.fromEntries(Object.entries(props).filter(([, value]) => value !== undefined));\n const resolvedDefaultProps = typeof defaultProps === 'function'\n ? defaultProps({ theme, as, className, ...cleanedProps })\n : (defaultProps ?? {});\n const context = {\n ...resolvedDefaultProps,\n ...cleanedProps,\n theme,\n };\n const rawCss = computeCss(context);\n const baseClassName = `hscn-${hashString(rawCss)}`;\n const baseCss = processCss(rawCss, `.${baseClassName}`);\n useInsertionEffect(() => mountStyle(baseClassName, baseCss, __chain ? 0 : 1), [baseClassName]);\n const cssPropRaw = typeof cssProp === 'function' ? cssProp(context) : cssProp;\n const cssPropString = cssPropRaw\n ? typeof cssPropRaw === 'string'\n ? cssPropRaw\n : // @ts-ignore\n css([''], [cssPropRaw])(context)\n : '';\n const cssPropClassName = cssPropString ? `hspcn-${hashString(cssPropString)}` : '';\n useInsertionEffect(() => {\n if (cssPropClassName) {\n return mountStyle(cssPropClassName, processCss(cssPropString, `.${cssPropClassName}`), 2);\n }\n }, [cssPropClassName]);\n const mergedProps = {\n ...resolvedDefaultProps,\n ...cleanedProps,\n className: makeClassName([componentId, baseClassName, className, cssPropClassName]),\n };\n const finalComponent = as || target;\n if (typeof target === 'string') {\n const filteredProps = typeof finalComponent === 'string' ? filterNonHtmlProps(mergedProps) : mergedProps;\n return createElement(finalComponent, filteredProps);\n }\n // Recreate all elements in the chain\n return createElement(target, {\n ...mergedProps,\n ...(as && { as }),\n __chain: 'true',\n });\n };\n StyledComponent.$$ComponentId = componentId;\n StyledComponent.displayName = `HoneyStyledComponent(${typeof target === 'string' ? target : target.displayName || target.name || 'Component'})`;\n return StyledComponent;\n };\n};\n"],"names":["REACT_ELEMENT_TYPE","Symbol","for","exports","jsx","type","config","maybeKey","key","propName","ref","$$typeof","props","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","toStringTag","value","HONEY_BREAKPOINTS","VALID_HTML_ATTRS","Set","VALID_TABLE_ATTRS","VALID_SVG_ATTRS","VALID_EVENT_ATTRS","VALID_DOM_ELEMENT_ATTRS","require","HoneyStyleContext","createContext","HoneyStyleProvider","children","theme","contextValue","useMemo","useHoneyStyle","context","useContext","condition","Error","assert","resolveCssInterpolation","interpolation","$$ComponentId","Array","isArray","map","v","join","entries","filter","k","str","replace","toLowerCase","toString","css","strings","interpolations","reduce","cssResult","index","COMMENT","RULESET","DECLARATION","abs","Math","String","fromCharCode","trim","pattern","replacement","indexof","search","position","indexOf","charat","charCodeAt","substr","begin","end","slice","strlen","length","array","push","serialize","callback","output","i","stringify","element","return","assign","line","column","character","characters","node","root","parent","siblings","prev","next","peek","caret","token","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","dealloc","parse","alloc","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","sizeof","j","x","y","z","generateId","prefix","random","hashString","hash","processCss","rawCss","selector","createGlobalStyle","styleId","computeCss","useEffect","document","getElementById","styleElement","createElement","id","innerHTML","setAttribute","head","appendChild","remove","styleRegistry","Map","globalStyleTag","updateGlobalStyleContent","styleTag","allCss","from","sort","a","b","priority","entry","textContent","createCleanupFunction","className","usages","delete","mountStyle","existing","set","styled","target","defaultProps","componentId","StyledComponent","as","__chain","cssProp","cleanedProps","fromEntries","resolvedDefaultProps","baseClassName","baseCss","useInsertionEffect","cssPropRaw","cssPropString","cssPropClassName","mergedProps","classNames","Boolean","finalComponent","filteredProps","allowedProps","propValue","has","startsWith","filterNonHtmlProps","displayName","name"],"sourceRoot":""}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import type { PropsWithChildren } from 'react';
|
|
3
2
|
import type { HoneyTheme } from '../types';
|
|
4
3
|
interface HoneyStyleProviderProps {
|
|
5
4
|
theme: HoneyTheme;
|
|
6
5
|
}
|
|
7
|
-
export declare const HoneyStyleProvider: ({ children, theme, }: PropsWithChildren<HoneyStyleProviderProps>) =>
|
|
6
|
+
export declare const HoneyStyleProvider: ({ children, theme, }: PropsWithChildren<HoneyStyleProviderProps>) => import("react/jsx-runtime").JSX.Element;
|
|
8
7
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-hive/honey-style",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -18,9 +18,11 @@
|
|
|
18
18
|
"author": "Mykhailo Aliinyk <m.aliynik@gmail.com>",
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"scripts": {
|
|
21
|
-
"
|
|
22
|
-
"build
|
|
23
|
-
"test": "jest --collect-coverage"
|
|
21
|
+
"clean": "rm -rf dist",
|
|
22
|
+
"build": "npm run clean && NODE_ENV=production webpack --config webpack.config.js",
|
|
23
|
+
"test": "jest --collect-coverage",
|
|
24
|
+
"diagnostics": "node --max-old-space-size=4096 ./node_modules/typescript/bin/tsc --project ./tsconfig.build.json --extendedDiagnostics --generateTrace ts-trace",
|
|
25
|
+
"analyze": "analyze-trace ts-trace"
|
|
24
26
|
},
|
|
25
27
|
"main": "dist/index.js",
|
|
26
28
|
"types": "dist/index.d.ts",
|
|
File without changes
|