@react-hive/honey-style 6.1.0 → 6.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","mappings":";uCAWAA,EAAAC,OAAAC,IAAA,8BACAD,OAAAC,IAAA,kBAoBAC,EAAAC,IAnBA,SAAAC,EAAAC,EAAAC,GACA,IAAAC,EAAA,KAGA,QAFA,IAAAD,IAAAC,EAAA,GAAAD,QACA,IAAAD,EAAAE,MAAAA,EAAA,GAAAF,EAAAE,KACA,QAAAF,EAEA,QAAAG,KADAF,EAAA,GACAD,EACA,QAAAG,IAAAF,EAAAE,GAAAH,EAAAG,SACIF,EAAAD,EAEJ,OADAA,EAAAC,EAAAG,IACA,CACAC,SAAAX,EACAK,KAAAA,EACAG,IAAAA,EACAE,SAAA,IAAAJ,EAAAA,EAAA,KACAM,MAAAL,EAEA,cC3BEM,EAAAV,QAAAW,EAAA,OCFFC,EAAA,GAGA,SAAAD,EAAAE,GAEA,IAAAC,EAAAF,EAAAC,GACA,QAAAE,IAAAD,EACA,OAAAA,EAAAd,QAGA,IAAAU,EAAAE,EAAAC,GAAA,CAGAb,QAAA,IAOA,OAHAgB,EAAAH,GAAAH,EAAAA,EAAAV,QAAAW,GAGAD,EAAAV,OACA,CCrBAW,EAAAM,EAAA,CAAAjB,EAAAkB,KACA,QAAAb,KAAAa,EACAP,EAAAQ,EAAAD,EAAAb,KAAAM,EAAAQ,EAAAnB,EAAAK,IACAe,OAAAC,eAAArB,EAAAK,EAAA,CAAyCiB,YAAA,EAAAC,IAAAL,EAAAb,MCJzCM,EAAAQ,EAAA,CAAAK,EAAAC,IAAAL,OAAAM,UAAAC,eAAAC,KAAAJ,EAAAC,GCCAd,EAAAkB,EAAA7B,IACA,oBAAAF,QAAAA,OAAAgC,aACAV,OAAAC,eAAArB,EAAAF,OAAAgC,YAAA,CAAuDC,MAAA,WAEvDX,OAAAC,eAAArB,EAAA,cAAgD+B,OAAA,iwBCDhD,MAEaC,GACXC,EAEED,GACFE,QAAQC,KACN,oJAKG,MAAMC,EAA8BtC,OAAOC,IAAI,wBAEzCsC,EAAiC,gBACjCC,EAAsC,qBAEtCC,EAA0B,0BAC1BC,EAAmB,mBACnBC,EAA4B,gBAE5BC,EAA2C,CAAC,KAAM,KAAM,KAAM,KAAM,MAE3EC,EAAmB,IAAIC,IAAI,CAE/B,SACA,YACA,iBACA,eACA,YACA,UACA,QACA,YACA,kBACA,cACA,MACA,YACA,SACA,KACA,QACA,YACA,KACA,OACA,QACA,OACA,OACA,aACA,QACA,WACA,QACA,YACA,eAGA,UACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,MACA,YACA,MACA,YACA,WACA,OACA,UACA,cACA,WACA,WACA,OACA,OACA,OACA,QAGA,MACA,WACA,cACA,SACA,QACA,OACA,QACA,QACA,SACA,UACA,OACA,MACA,SACA,SACA,QAGA,WACA,OACA,WACA,iBACA,MACA,SAGA,0BACA,MACA,MACA,WAGA,OACA,UAGA,cACA,UACA,gBACA,sBACA,wBACA,uBAGIC,EAAoB,IAAID,IAAiC,CAC7D,UACA,UACA,UACA,OACA,QAIA,QAIA,WAGIE,EAAkB,IAAIF,IAA8B,CACxD,UACA,OACA,SACA,cACA,gBACA,iBACA,kBACA,mBACA,gBACA,cACA,UACA,gBACA,YACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,IACA,SACA,SACA,YACA,QACA,sBACA,OACA,WACA,aACA,cACA,YACA,YACA,OACA,OACA,mBACA,eAGIG,EAAoB,IAAIH,IAAI,CAEhC,SACA,QACA,UAGA,mBACA,qBACA,sBAGA,UACA,SAGA,WACA,UACA,YACA,UACA,WAGA,YACA,aACA,UAGA,UACA,gBACA,gBACA,cACA,eACA,eACA,cACA,aACA,cACA,YAGA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SAGA,gBACA,gBACA,cACA,kBACA,iBACA,iBACA,gBACA,eACA,sBACA,uBAGA,WAGA,gBACA,aACA,cACA,eAGA,WAGA,UAGA,UACA,YACA,mBACA,mBACA,YACA,cACA,UACA,eACA,mBACA,cACA,UACA,SACA,YACA,aACA,eACA,WACA,YACA,YACA,YACA,eACA,iBACA,YAGA,SACA,UAGA,kBACA,oBACA,kBACA,qBAGA,mBACA,iBACA,uBACA,sBAGWI,EAA0B,IAAIJ,IAAI,IAC1CD,KACAE,KACAC,KACAC,IClTCE,EAA4BC,QAAA,SCuErBC,GAAoB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","sources":["webpack://@react-hive/honey-style/./node_modules/.pnpm/react@19.2.6/node_modules/react/cjs/react-jsx-runtime.production.js","webpack://@react-hive/honey-style/./node_modules/.pnpm/react@19.2.6/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 commonjs2 \"react\"","webpack://@react-hive/honey-style/./src/contexts/HoneyStyleContext.ts","webpack://@react-hive/honey-style/./node_modules/.pnpm/@react-hive+honey-utils@4.0.0/node_modules/@react-hive/honey-utils/dist/index.mjs","webpack://@react-hive/honey-style/./src/css/constants.ts","webpack://@react-hive/honey-style/./node_modules/.pnpm/@react-hive+honey-css@1.17.1/node_modules/@react-hive/honey-css/dist/index.mjs","webpack://@react-hive/honey-style/./src/css/css.ts","webpack://@react-hive/honey-style/./src/css/flatten-css-rules.ts","webpack://@react-hive/honey-style/./src/css/compile-css.ts","webpack://@react-hive/honey-style/./src/css/create-at-rule-transformer.ts","webpack://@react-hive/honey-style/./src/css/transform-absolute-fill-at-rule.ts","webpack://@react-hive/honey-style/./src/css/unwrap-params.ts","webpack://@react-hive/honey-style/./src/css/transform-center-at-rule.ts","webpack://@react-hive/honey-style/./src/css/transform-stack-at-rule.ts","webpack://@react-hive/honey-style/./src/css/create-spacing-transformer.ts","webpack://@react-hive/honey-style/./src/css/resolve-spacing-value.ts","webpack://@react-hive/honey-style/./src/css/transform-ellipsis-at-rule.ts","webpack://@react-hive/honey-style/./src/css/transform-inline-at-rule.ts","webpack://@react-hive/honey-style/./src/css/at-rules/media-query.ts","webpack://@react-hive/honey-style/./src/css/create-media-at-rule-transformer.ts","webpack://@react-hive/honey-style/./src/css/process-css.ts","webpack://@react-hive/honey-style/./src/utils.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/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 = (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 = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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 { SVGAttributes, TdHTMLAttributes } from 'react';\n\nimport type { HoneyBreakpointName } from './types';\n\nconst ENV = process.env.NODE_ENV || 'development';\n\nexport const __DEV__ =\n ENV !== 'production' && typeof window !== 'undefined' && !process.env.VITEST_WORKER_ID;\n\nif (__DEV__) {\n console.info(\n '[@react-hive/honey-style]: You are running in development mode. ' +\n 'This build is not optimized for production and may include extra checks or logs.',\n );\n}\n\nexport const HONEY_STYLE_REGISTRY_SYMBOL = Symbol.for('honey-style-registry');\n\nexport const HONEY_STYLED_COMPONENT_ID_PROP = '$$ComponentId';\nexport const HONEY_STYLED_COMPOSITION_DEPTH_PROP = '__compositionDepth';\n\nexport const HONEY_GLOBAL_STYLE_ATTR = 'data-honey-global-style';\nexport const HONEY_STYLE_ATTR = 'data-honey-style';\nexport const HONEY_STYLE_PRIORITY_ATTR = 'data-priority';\n\nexport const HONEY_BREAKPOINTS: HoneyBreakpointName[] = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nconst VALID_HTML_ATTRS = new Set([\n // Standard Attributes\n 'accept',\n 'accessKey',\n 'autoCapitalize',\n 'autoComplete',\n 'autoFocus',\n 'capture',\n 'class',\n 'className',\n 'contentEditable',\n 'contextMenu',\n 'dir',\n 'draggable',\n 'hidden',\n 'id',\n 'inert',\n 'inputMode',\n 'is',\n 'lang',\n 'nonce',\n 'part',\n 'slot',\n 'spellCheck',\n 'style',\n 'tabIndex',\n 'title',\n 'translate',\n 'unselectable',\n\n // Form Attributes\n 'checked',\n 'disabled',\n 'form',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'list',\n 'max',\n 'maxLength',\n 'min',\n 'minLength',\n 'multiple',\n 'name',\n 'pattern',\n 'placeholder',\n 'readOnly',\n 'required',\n 'size',\n 'step',\n 'type',\n 'value',\n\n // Media Attributes\n 'alt',\n 'controls',\n 'crossOrigin',\n 'height',\n 'isMap',\n 'loop',\n 'media',\n 'muted',\n 'poster',\n 'preload',\n 'role',\n 'src',\n 'srcSet',\n 'useMap',\n 'width',\n\n // Anchor & Link Attributes\n 'download',\n 'href',\n 'hrefLang',\n 'referrerPolicy',\n 'rel',\n 'target',\n\n // React Specific\n 'dangerouslySetInnerHTML',\n 'key',\n 'ref',\n 'children',\n\n // Deprecated/Obscure Attributes (still valid in some contexts)\n 'char',\n 'charOff',\n\n // Web Components / Shadow DOM\n 'exportparts',\n 'popover',\n 'popoverTarget',\n 'popoverTargetAction',\n 'virtualkeyboardpolicy',\n 'writingsuggestions',\n]);\n\nconst VALID_TABLE_ATTRS = new Set<keyof TdHTMLAttributes<any>>([\n 'colSpan',\n 'rowSpan',\n 'headers',\n 'abbr',\n 'scope',\n /**\n * @deprecated https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement/align\n */\n 'align',\n /**\n * @deprecated https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement/vAlign\n */\n 'valign',\n]);\n\nconst VALID_SVG_ATTRS = new Set<keyof SVGAttributes<any>>([\n 'viewBox',\n 'fill',\n 'stroke',\n 'strokeWidth',\n 'strokeLinecap',\n 'strokeLinejoin',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeOpacity',\n 'fillOpacity',\n 'opacity',\n 'pointerEvents',\n 'focusable',\n 'x',\n 'y',\n 'x1',\n 'x2',\n 'y1',\n 'y2',\n 'cx',\n 'cy',\n 'r',\n 'rx',\n 'ry',\n 'd',\n 'points',\n 'height',\n 'transform',\n 'xmlns',\n 'preserveAspectRatio',\n 'mask',\n 'clipPath',\n 'pathLength',\n 'markerStart',\n 'markerMid',\n 'markerEnd',\n 'refX',\n 'refY',\n 'dominantBaseline',\n 'textAnchor',\n]);\n\nconst VALID_EVENT_ATTRS = new Set([\n // Clipboard\n 'onCopy',\n 'onCut',\n 'onPaste',\n\n // Composition\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n\n // Focus\n 'onFocus',\n 'onBlur',\n\n // Form\n 'onChange',\n 'onInput',\n 'onInvalid',\n 'onReset',\n 'onSubmit',\n\n // Keyboard\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n\n // Mouse\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n\n // Drag & Drop\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n\n // Pointer\n 'onPointerDown',\n 'onPointerMove',\n 'onPointerUp',\n 'onPointerCancel',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerOver',\n 'onPointerOut',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n\n // Selection\n 'onSelect',\n\n // Touch\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n\n // UI\n 'onScroll',\n\n // Wheel\n 'onWheel',\n\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\n // Image\n 'onLoad',\n 'onError',\n\n // Transition\n 'onTransitionEnd',\n 'onTransitionStart',\n 'onTransitionRun',\n 'onTransitionCancel',\n\n // Animation\n 'onAnimationStart',\n 'onAnimationEnd',\n 'onAnimationIteration',\n 'onAnimationCancel',\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","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","import { createContext } from 'react';\n\nimport type {\n HoneyCssColor,\n HoneyCssDimensionUnit,\n HoneyCssDimensionValue,\n HoneyCssSpacingValue,\n} from '../css';\nimport type {\n Nullable,\n HoneyTheme,\n HoneyColorKey,\n HoneyDimensionName,\n HoneyFontName,\n HoneySpacings,\n HoneyStyledInterpolation,\n} from '../types';\nimport type { HoneyResolveSpacingResult } from '../utils';\n\nexport interface HoneyStyleContextValue {\n /**\n * Represents the theme object.\n */\n theme: HoneyTheme;\n /**\n * Function to resolve spacing values based on a given theme.\n *\n * @template Value - A type representing the spacing value(s), which could be a single value or an array of values.\n * @template Unit - The CSS unit used for the resolved spacing value, e.g., 'px', 'em'.\n *\n * @param value - The spacing value(s) to be applied, which could be a single number or an array of numbers.\n * @param [unit] - The CSS unit to use for the calculated value. Defaults to 'px'.\n * @param [type] - The type of spacing to use from the theme (e.g., 'base', 'small', 'large').\n *\n * @returns The resolved spacing value, formatted as a string with the appropriate unit.\n */\n resolveSpacing: <\n Value extends HoneyCssSpacingValue,\n Unit extends Nullable<HoneyCssDimensionUnit> = 'px',\n >(\n value: Value,\n unit?: Unit,\n type?: keyof HoneySpacings,\n ) => HoneyResolveSpacingResult<Value, Unit>;\n /**\n * Function to resolve color values based on the theme.\n *\n * @param colorKey - The key representing the color in the theme.\n * @param [alpha] - Optional alpha value to apply to the color for transparency.\n *\n * @returns The resolved CSS color, optionally with alpha transparency.\n */\n resolveColor: (colorKey: HoneyColorKey, alpha?: number) => HoneyCssColor;\n /**\n * Function to resolve font styles based on the theme.\n *\n * @param fontName - The name of the font to resolve from the theme.\n *\n * @returns The CSS style rules for the specified font.\n */\n resolveFont: (fontName: HoneyFontName) => HoneyStyledInterpolation<object>;\n /**\n * Function to resolve dimension values based on the theme.\n *\n * @param dimensionName - The name of the dimension to resolve from the theme.\n *\n * @returns The resolved CSS dimension value (e.g., width, height).\n */\n resolveDimension: (dimensionName: HoneyDimensionName) => HoneyCssDimensionValue;\n}\n\nexport const HoneyStyleContext = createContext<HoneyStyleContextValue | undefined>(undefined);\n","const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop,t.clientWidth,t.clientHeight),n=t=>\"A\"===t.tagName,r=t=>\"true\"===t.getAttribute(\"contenteditable\"),a=[\"INPUT\",\"SELECT\",\"TEXTAREA\",\"BUTTON\",\"A\"],l=t=>{if(!t)return!1;const e=window.getComputedStyle(t);if(\"hidden\"===e.visibility||\"none\"===e.display)return!1;if(\"disabled\"in t&&t.disabled)return!1;const l=t.getAttribute(\"tabindex\");return\"-1\"!==l&&(a.includes(t.tagName)?!n(t)||\"\"!==t.href:!!r(t)||null!==l)},i=t=>Array.from(t.querySelectorAll(\"*\")).filter(l),o=(t,e=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,l=e??a?.parentElement;if(!a||!l)return;const o=i(l);if(0===o.length)return;const s=o.indexOf(a);if(-1===s)return;let c;r?c=r(s,t,o):\"next\"===t?(c=s+1,c>=o.length&&(c=n?0:null)):(c=s-1,c<0&&(c=n?o.length-1:null)),null!==c&&o[c]?.focus()},s=(...t)=>e=>t.reduce((t,e)=>e(t),e),c=(...t)=>e=>t.reduceRight((t,e)=>e(t),e),u=(t,e)=>t.filter(t=>!e.includes(t)),h=t=>[...new Set(t)],f=(...t)=>{if(0===t.length)return[];if(1===t.length)return[...t[0]];const[e,...n]=t;return h(e).filter(t=>n.every(e=>e.includes(t)))};function d(t,e){if(!t)throw new Error(e)}const m=t=>null===t,p=t=>null==t,g=t=>null!=t,y=t=>void 0===t,w=t=>\"number\"==typeof t,b=t=>\"boolean\"==typeof t,x=t=>\"object\"==typeof t,A=t=>x(t)&&!m(t)&&0===Object.keys(t).length,S=t=>t instanceof Date,I=t=>t instanceof Blob,M=t=>t instanceof Error,v=t=>S(t)&&!isNaN(t.getTime()),C=t=>t instanceof RegExp,k=t=>t instanceof Map,E=t=>t instanceof Set,O=t=>\"symbol\"==typeof t,$=t=>w(t)&&isFinite(t),L=t=>w(t)&&Number.isInteger(t),P=t=>$(t)&&!Number.isInteger(t),T=(t,e)=>(d(e>0,\"Chunk size must be greater than 0\"),Array.from({length:Math.ceil(t.length/e)},(n,r)=>t.slice(r*e,(r+1)*e))),X=t=>t.filter(Boolean),_=t=>Array.isArray(t),z=t=>_(t)&&0===t.length,N=(t,e,n)=>{if(!t?.length||!e)return{previousItem:null,currentItem:null,nextItem:null};const r=t.findIndex(t=>n(t,e));return-1===r?{previousItem:null,currentItem:null,nextItem:null}:{previousItem:r>0?t[r-1]:null,currentItem:t[r],nextItem:r<t.length-1?t[r+1]:null}},R=()=>{},Y=t=>\"function\"==typeof t,j=t=>(...e)=>!t(...e),F=t=>{let e,n=!1;return function(...r){return n||(n=!0,e=t.apply(this,r)),e}},U=t=>Y(t?.then),W=async(t,e)=>{const n=[];for(let r=0;r<t.length;r++)n.push(await e(t[r],r,t));return n},B=async(t,e)=>Promise.all(t.map(e)),D=async(t,e)=>{const n=[];for(let r=0;r<t.length;r++){const a=t[r];await e(a,r,t)&&n.push(a)}return n},H=async(t,e)=>{const n=await B(t,async(t,n,r)=>!!await e(t,n,r)&&t);return X(n)},Z=async(t,e)=>{for(let n=0;n<t.length;n++)if(await e(t[n],n,t))return!0;return!1},V=async(t,e)=>{for(let n=0;n<t.length;n++)if(!await e(t[n],n,t))return!1;return!0},G=async(t,e,n)=>{let r=n;for(let n=0;n<t.length;n++)r=await e(r,t[n],n,t);return r},J=async(t,e)=>{for(let n=0;n<t.length;n++)if(await e(t[n],n,t))return t[n];return null},q=t=>new Promise(e=>setTimeout(e,t)),K=async(t,e,n=\"Operation timed out\")=>{try{return await Promise.race([t,q(e).then(()=>Promise.reject(new Error(n)))])}finally{}},Q=(t,{maxAttempts:e=3,delayMs:n=300,backoff:r=!0,onRetry:a}={})=>async(...l)=>{let i;for(let o=1;o<=e;o++)try{return await t(...l)}catch(t){if(i=t,o<e){a?.(o,t);const e=r?n*2**(o-1):n;await q(e)}}throw i},tt=t=>{try{return JSON.parse(t)}catch{return null}},et=\"application/json\",nt=(t,e)=>{t.setData(et,JSON.stringify(e))},rt=t=>{const e=t.getData(et);return e?tt(e):null},at=t=>\"string\"==typeof t,lt=(t,{fileName:e,target:n}={})=>{if(y(document))return;const r=document.createElement(\"a\");let a=null;try{const l=at(t)?t:a=URL.createObjectURL(t);r.href=l,e&&(r.download=e),n&&(r.target=n),document.body.appendChild(r),r.click()}finally{r.remove(),a&&setTimeout(()=>{d(a,\"Object URL should not be null\"),URL.revokeObjectURL(a)},0)}},it=t=>t.scrollWidth>t.clientWidth,ot=t=>Math.max(0,t.scrollWidth-t.clientWidth),st=t=>t.scrollHeight>t.clientHeight,ct=t=>Math.max(0,t.scrollHeight-t.clientHeight),ut=({containerSize:t,elementOffset:e,elementSize:n})=>-(e+n/2-t/2),ht=(t,e)=>e<=0?0:Math.max(-e,Math.min(t,0)),ft=(t,e,{axis:n=\"both\",shouldClamp:r=!0}={})=>{let a=0,l=0;if(\"x\"===n||\"both\"===n){const n=ut({containerSize:t.clientWidth,elementOffset:e.offsetLeft,elementSize:e.clientWidth});a=r?ht(n,ot(t)):n}if(\"y\"===n||\"both\"===n){const n=ut({containerSize:t.clientHeight,elementOffset:e.offsetTop,elementSize:e.clientHeight});l=r?ht(n,ct(t)):n}t.style.transform=`translate(${a}px, ${l}px)`},dt=t=>{const e=window.getComputedStyle(t).getPropertyValue(\"transform\").match(/^matrix\\((.+)\\)$/);if(!e)return{translateX:0,translateY:0,scaleX:1,scaleY:1,skewX:0,skewY:0};const[n,r,a,l,i,o]=e[1].split(\", \").map(parseFloat);return{translateX:i,translateY:o,scaleX:n,scaleY:l,skewX:a,skewY:r}},mt=()=>{if(\"undefined\"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem(\"__non_existing_key__\"),!0}catch{return!1}},pt=()=>{if(!mt())return{readable:!1,writable:!1};try{const t=\"__test_write__\";return window.localStorage.setItem(t,\"1\"),window.localStorage.removeItem(t),{readable:!0,writable:!0}}catch{}return{readable:!0,writable:!1}},gt=t=>t instanceof File,yt=t=>{if(!t)return[];const e=[];for(let n=0;n<t.length;n++)e.push(t[n]);return e},wt=(t,e)=>new File([t],e,{type:t.type}),bt=async(t,{skipFiles:e=[\".DS_Store\",\"Thumbs.db\",\"desktop.ini\",\"ehthumbs.db\",\".Spotlight-V100\",\".Trashes\",\".fseventsd\",\"__MACOSX\"]}={})=>{const n=new Set(e),r=await(async t=>{const e=t.createReader(),n=async()=>new Promise((t,r)=>{e.readEntries(async e=>{if(e.length)try{const r=await n();t([...e,...r])}catch(t){r(t)}else t([])},r)});return n()})(t);return(await B(r,async t=>t.isDirectory?bt(t,{skipFiles:e}):n.has(t.name)?[]:[await new Promise((e,n)=>{t.file(e,n)})])).flat()},xt=async(t,e={})=>{const n=t?.items;if(!n)return[];const r=[];for(let t=0;t<n.length;t++){const a=n[t];if(\"webkitGetAsEntry\"in a){const t=a.webkitGetAsEntry?.();if(t?.isDirectory){r.push(bt(t,e));continue}if(t?.isFile){r.push(new Promise((e,n)=>t.file(t=>e([t]),n)));continue}}const l=a.getAsFile();l&&r.push(Promise.resolve([l]))}return(await Promise.all(r)).flat()},At=(t,...e)=>\"function\"==typeof t?t(...e):t,St=({delta:t,value:e,min:n,max:r})=>{if(0===t)return null;const a=e+t;return t<0?e<=n?null:Math.max(a,n):t>0?e>=r?null:Math.min(a,r):null},It=({value:t,min:e,max:n,velocityPxMs:r,deltaTimeMs:a,friction:l=.002,minVelocityPxMs:i=.01,emaAlpha:o=.2})=>{if(Math.abs(r)<i)return null;const s=St({delta:r*a,value:t,min:e,max:n});if(null===s)return null;const c=r*Math.exp(-l*a),u=o>0?r*(1-o)+c*o:c;return Math.abs(u)<i?null:{value:s,velocityPxMs:u}},Mt=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,vt=(t,e)=>Math.max(0,Math.min(t.right,e.right)-Math.max(t.left,e.left))*Math.max(0,Math.min(t.bottom,e.bottom)-Math.max(t.top,e.top))/(e.width*e.height),Ct=(t,e,{allowFallback:n=!0,invert:r=!0}={})=>{const a=r?-1:1;switch(e){case\"x\":return{deltaX:a*(0!==t.deltaX?t.deltaX:n?t.deltaY:0),deltaY:0};case\"y\":return{deltaX:0,deltaY:a*t.deltaY};default:return{deltaX:a*t.deltaX,deltaY:a*t.deltaY}}},kt=(t,e,n,r)=>{const a=n-t,l=r-e;return Math.hypot(a,l)},Et=(t,e)=>Math.abs(t/e),Ot=(t,e)=>t*e/100,$t=t=>{let e=5381;for(let n=0;n<t.length;n++)e=33*e^t.charCodeAt(n);return(e>>>0).toString(36)},Lt=t=>Object.entries(t).reduce((t,[e,n])=>(void 0!==n&&(t[e]=n),t),{}),Pt=t=>t.replace(/([a-z0-9])([A-Z])/g,\"$1-$2\").toLowerCase(),Tt=t=>{const e=t.charAt(0),n=t.slice(1);return e.toLowerCase()+n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)},Xt=t=>t.replace(/([a-z0-9])([A-Z])/g,\"$1 $2\"),_t=t=>0===t.length?[]:t.split(\" \").filter(Boolean),zt=t=>\"\"===t||p(t),Nt=t=>{const e=t.lastIndexOf(\".\");return e<=0||e===t.length-1?[t,\"\"]:[t.slice(0,e),t.slice(e+1).toLowerCase()]},Rt=(t,e)=>{if(0===t.length)return[];const n=e.charCodeAt(0),r=[];for(let e=0;e<t.length;e++)t.charCodeAt(e)===n&&r.push(e);return r},Yt=(t,e,n)=>{if(0===t.length)return;const r=t.length;for(let a=0;a<r;a++){const l=t[a],i={charIndex:a,prevChar:a>0?t[a-1]:null,nextChar:a<r-1?t[a+1]:null};n?.(l,i)||e(l,i)}},jt=(t,e=1/0)=>0===t.length?\"\":_t(t).slice(0,e).map(t=>t[0]).join(\"\").toUpperCase(),Ft=(t,e,n,r=e)=>t.split(e).map((t,e)=>n(t.trim(),e)).join(r),Ut=(t,e,n,r=[],a=void 0,l=0)=>(t?.forEach(t=>{const{[n]:i,...o}=t,s=t[n],c=Array.isArray(s);if(r.push({...o,parentId:a,depthLevel:l,childCount:c?s.length:0}),c){const a=t[e];Ut(s,e,n,r,a,l+1)}}),r),Wt=(t,e,n)=>t.filter(t=>t.parentId===e&&(!n||n(t))),Bt=(t,e,n,r)=>{const a=_t(r.toLowerCase());if(!a.length)return t;const l=t.reduce((t,n,r)=>(t[n[e]]=r,t),{});return t.reduce((r,i)=>{const o=i[n];if(!o)return r;if(r.some(t=>t[e]===i[e]))return r;const s=_t(o.toLowerCase());if(a.every(t=>s.some(e=>e.startsWith(t))))if(y(i.parentId)){r.push(i);const n=a=>{a.childCount&&t.forEach(t=>{t.parentId===a[e]&&(r.push(t),n(t))})};n(i)}else{const e=n=>{const a=l[n.parentId],i=t[a];y(i.parentId)||e(i);const o=r.length?r[r.length-1].parentId:null;(m(o)||o!==n.parentId)&&(d(i,\"[@react-hive/honey-utils]: Parent node was not found.\"),r.push(i))};e(i),r.push(i)}return r},[])},Dt=(t,e)=>{d(e>=0&&e<=1,`[@react-hive/honey-utils]: Alpha \"${e}\" must be a number between 0 and 1.`);const n=t.match(/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/);d(n,`[@react-hive/honey-utils]: Invalid hex format: ${t}`);const r=n[1];return`#${(3===r.length?r[0]+r[0]+r[1]+r[1]+r[2]+r[2]:r)+Math.round(255*e).toString(16).toUpperCase().padStart(2,\"0\")}`},Ht=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Zt=t=>{try{return Ht.test(t)?\"undefined\"!=typeof Buffer?Buffer.from(t,\"base64\").toString(\"utf-8\"):decodeURIComponent(atob(t).split(\"\").map(t=>`%${t.charCodeAt(0).toString(16).padStart(2,\"0\")}`).join(\"\")):null}catch{return null}},Vt=t=>{const e=Zt(t);return null===e?null:tt(e)};export{et as DATA_TRANSFER_JSON_MIME,a as FOCUSABLE_HTML_TAGS,It as applyInertiaStep,d as assert,wt as blobToFile,ut as calculateCenterOffset,kt as calculateEuclideanDistance,Et as calculateMovingSpeed,Ot as calculatePercentage,Tt as camelToDashCase,Xt as camelToWords,ft as centerElementInContainer,T as chunk,ht as clampOffsetToOverflow,t as cloneBlob,X as compact,c as compose,Zt as decodeBase64,Vt as decodeBase64Json,Lt as definedProps,q as delay,u as difference,lt as downloadFile,V as everyAsync,yt as fileListToFiles,H as filterParallel,D as filterSequential,J as findAsync,Rt as findCharIndices,Ut as flattenTree,Yt as forEachChar,Mt as generateEphemeralId,N as getAdjacentItems,vt as getDOMRectIntersectionRatio,rt as getDataTransferJson,e as getElementOffsetRect,i as getFocusableHtmlElements,pt as getLocalStorageCapabilities,Wt as getTreeChildren,jt as getWordsInitials,ot as getXOverflowWidth,ct as getYOverflowHeight,it as hasXOverflow,st as hasYOverflow,$t as hashString,Dt as hexWithAlpha,f as intersection,At as invokeIfFunction,n as isAnchorHtmlElement,_ as isArray,I as isBlob,b as isBool,r as isContentEditableHtmlElement,S as isDate,P as isDecimal,g as isDefined,z as isEmptyArray,A as isEmptyObject,M as isError,gt as isFile,$ as isFiniteNumber,Y as isFunction,l as isHtmlElementFocusable,L as isInteger,mt as isLocalStorageReadable,k as isMap,p as isNil,zt as isNilOrEmptyString,m as isNull,w as isNumber,x as isObject,U as isPromise,C as isRegExp,E as isSet,at as isString,O as isSymbol,y as isUndefined,v as isValidDate,o as moveFocusWithinContainer,R as noop,j as not,F as once,dt as parse2DMatrix,Nt as parseFileName,tt as parseJson,s as pipe,xt as readFilesFromDataTransfer,G as reduceAsync,Ct as resolveAxisDelta,St as resolveBoundedDelta,Q as retry,B as runParallel,W as runSequential,Bt as searchTree,nt as setDataTransferJson,Z as someAsync,Ft as splitMapJoin,_t as splitStringIntoWords,K as timeout,Pt as toKebabCase,bt as traverseFileSystemDirectory,h as unique};\n//# sourceMappingURL=index.mjs.map","import type { HoneyCssColorProperty, HoneyCssSpacingProperty } from './types';\n\nexport const CSS_SPACING_PROPERTIES: readonly HoneyCssSpacingProperty[] = [\n 'margin',\n 'marginTop',\n 'marginRight',\n 'marginBottom',\n 'marginLeft',\n 'padding',\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n 'paddingBlock',\n 'paddingBlockStart',\n 'paddingBlockEnd',\n 'top',\n 'right',\n 'bottom',\n 'left',\n 'inset',\n 'gap',\n 'rowGap',\n 'columnGap',\n];\n\nexport const CSS_COLOR_PROPERTIES: readonly HoneyCssColorProperty[] = [\n 'color',\n 'backgroundColor',\n 'borderColor',\n 'borderTopColor',\n 'borderRightColor',\n 'borderBottomColor',\n 'borderLeftColor',\n 'outlineColor',\n 'textDecorationColor',\n 'fill',\n 'stroke',\n];\n","const e=e=>\"{\"===e||\"}\"===e||\":\"===e||\";\"===e||\"@\"===e||\"(\"===e||'\"'===e||\"'\"===e||\"/\"===e,t=t=>{const n=[];let r=0;const o=()=>r>=t.length,s=()=>o()?void 0:t[r],c=()=>r+1>=t.length?void 0:t[r+1],i=()=>{for(;;){const e=s();if(!e||!/\\s/.test(e))return;r++}},a=()=>{if(\"/\"!==s()||\"/\"!==c())return!1;for(r+=2;!o();){if(\"\\n\"===s()){r++;break}r++}return!0},p=()=>{if(\"/\"!==s()||\"*\"!==c())return!1;for(r+=2;!o();){if(\"*\"===s()&&\"/\"===c())return r+=2,!0;r++}return!0},l=()=>{const e=s();if(!e)return\"\";r++;let t=\"\";for(;!o();){const n=s();if(!n)break;if(\"\\\\\"===n){t+=n,r++;const e=s();e&&(t+=e,r++);continue}if(n===e){r++;break}t+=n,r++}return t},u=()=>{let e=0,t=\"\";for(;!o();){const n=s();if(!n)break;if(\"(\"===n?e++:\")\"===n&&e--,t+=n,r++,0===e)break}return t},f=()=>{let t=\"\";for(;!o();){const n=s();if(!n)break;if(e(n))break;t+=n,r++}return t.trim()};for(;!o()&&(i(),!o());){if(a()||p())continue;const e=s();if(!e)break;if(\"{\"===e){n.push({type:\"braceOpen\"}),r++;continue}if(\"}\"===e){n.push({type:\"braceClose\"}),r++;continue}if(\":\"===e){n.push({type:\"colon\"}),r++;continue}if(\";\"===e){n.push({type:\"semicolon\"}),r++;continue}if(\"@\"===e){n.push({type:\"at\"}),r++;continue}if(\"(\"===e){n.push({type:\"params\",value:u()});continue}if('\"'===e||\"'\"===e){n.push({type:\"string\",value:l()});continue}const t=f();t?n.push({type:\"text\",value:t}):r++}return n};function n(e,t){if(!e)throw new Error(t)}const r=e=>{let t=0;const r=()=>t>=e.length,o=()=>r()?void 0:e[t],s=()=>r()?void 0:e[t++];return{isEof:r,peek:o,next:s,mark:()=>t,reset:e=>{t=e},expect:e=>{const t=s();return n(t,`[@react-hive/honey-css]: Expected \"${e}\" but reached end of input.`),n(t.type===e,`[@react-hive/honey-css]: Expected \"${e}\" but got \"${t.type}\".`),t},readUntil:e=>{let t,n=\"\";for(;!r();){const r=o();if(!r||e.includes(r.type))break;\"text\"===r.type?(\"text\"===t&&n&&(n+=\" \"),n+=r.value):\"string\"===r.type?n+=`\"${r.value}\"`:\"params\"===r.type&&(n+=r.value),t=r.type,s()}return n.trim()},skipUntil:e=>{for(;!r();){const t=o();if(!t||e.includes(t.type))break;s()}}}},o=e=>{const t=[],n=()=>t.join(\"\").trim();for(;!e.isEof();){const r=e.peek();if(!r)break;switch(r.type){case\"braceOpen\":case\"braceClose\":default:return n();case\"colon\":t.push(\":\");break;case\"text\":case\"params\":t.push(r.value);break;case\"string\":t.push(`\"${r.value}\"`)}e.next()}return n()},s=e=>{const t=e.peek();if(!t)return\"\";if(\"colon\"===t.type)return o(e);const n=e.mark(),r=o(e);return\"braceOpen\"===e.peek()?.type?r:(e.reset(n),e.readUntil([\"colon\",\"braceOpen\",\"semicolon\",\"braceClose\",\"at\"]))},c=(e,t)=>{e.expect(\"colon\");const n=e.readUntil([\"semicolon\",\"braceClose\"]);return\"semicolon\"===e.peek()?.type&&e.next(),{type:\"declaration\",prop:t,value:n}},i=(e,t)=>{let n=0,r=0,o=0,s=null,c=!1;for(let i=0;i<e.length;i++){const a=e.charCodeAt(i);if(c)c=!1;else if(92!==a)if(null===s)if(34!==a&&39!==a)if(40!==a)if(41!==a)if(91!==a)if(93!==a){if(44===a&&0===r&&0===o){const r=e.slice(n,i).trim();r&&t(r),n=i+1}}else o--;else o++;else r--;else r++;else s=a;else a===s&&(s=null);else c=!0}const i=e.slice(n).trim();i&&t(i)},a=(e,t)=>{const n=e.trim();if(!n)return\"\";const r=t.trim();if(!r)return n;const o=-1!==r.indexOf(\",\"),s=-1!==n.indexOf(\",\"),c=-1!==n.indexOf(\"&\");if(!o&&!s)return c?n.replaceAll(\"&\",r):`${r} ${n}`;const a=[];return i(r,e=>{i(n,t=>{t.includes(\"&\")?a.push(t.replaceAll(\"&\",e)):a.push(`${e} ${t}`)})}),a.join(\", \")},p=e=>{switch(e.type){case\"declaration\":return(e=>{const t=e.value.trim();return t?`${e.prop}:${t};`:\"\"})(e);case\"rule\":return(e=>{const t=e.body.map(p).join(\"\");return t?`${e.selector}{${t}}`:\"\"})(e);case\"atRule\":return(e=>{const t=e.params?` ${e.params}`:\"\";if(null===e.body)return`@${e.name}${t};`;const n=e.body.map(p).join(\"\");return n?`@${e.name}${t}{${n}}`:\"\"})(e);default:return\"\"}},l=e=>e.body.map(p).filter(Boolean).join(\"\"),u=(e,t)=>(e.expect(\"braceOpen\"),{type:\"rule\",selector:t,body:y(e)}),f=(e,{stopAtBraceClose:t})=>{const n=[];for(;!e.isEof();){const r=e.peek();if(!r)break;if(t&&\"braceClose\"===r.type){e.next();break}if(\"semicolon\"===r.type){e.next();continue}if(\"at\"===r.type){n.push(b(e));continue}const o=s(e);o?\"colon\"!==e.peek()?.type?\"braceOpen\"!==e.peek()?.type?e.next():n.push(u(e,o)):n.push(c(e,o)):e.next()}return n},y=e=>f(e,{stopAtBraceClose:!0}),b=e=>{e.expect(\"at\");const t=e.readUntil([\"semicolon\",\"braceOpen\"]),{name:n,params:r}=(e=>{const t=e.trim();if(!t)return{name:\"\",params:void 0};let n=0;const r=t.length;for(;n<r;){const e=t[n];if(\" \"===e||\"\\t\"===e||\"\\n\"===e||\"\\r\"===e||\"\\f\"===e||\"(\"===e)break;n++}const o=t.slice(0,n);for(;n<r;){const e=t[n];if(\" \"!==e&&\"\\t\"!==e&&\"\\n\"!==e&&\"\\r\"!==e&&\"\\f\"!==e)break;n++}return{name:o,params:t.slice(n)||void 0}})(t);let o=r;if(\"params\"===e.peek()?.type){const t=e.expect(\"params\").value;o=o?`${o}${t}`:t}return\"braceOpen\"===e.peek()?.type?{type:\"atRule\",name:n,params:o,body:y(e)}:(\"semicolon\"===e.peek()?.type&&e.next(),{type:\"atRule\",name:n,params:o,body:null})},m=e=>{const n=t(e),o=r(n);return{type:\"stylesheet\",body:f(o,{stopAtBraceClose:!1})}};export{r as createCssTokenCursor,m as parseCss,b as parseCssAtRule,y as parseCssBlock,c as parseCssDeclaration,f as parseCssNodes,u as parseCssRule,s as readCssKeyOrSelector,o as readCssSelector,a as resolveCssSelector,l as stringifyCss,t as tokenizeCss};\n//# sourceMappingURL=index.mjs.map","import {\n isArray,\n isFunction,\n isNilOrEmptyString,\n isObject,\n toKebabCase,\n} from '@react-hive/honey-utils';\n\nimport type { HoneyStyledInterpolation, HoneyStyledContext } from '../types';\nimport { HONEY_STYLED_COMPONENT_ID_PROP } from '../constants';\nimport { isStyledComponent } from '../utils';\n\nconst resolveCssInterpolation = <Props extends object>(\n value: HoneyStyledInterpolation<Props>,\n context: HoneyStyledContext<Props>,\n): string => {\n if (value === false || isNilOrEmptyString(value)) {\n return '';\n }\n\n if (isFunction(value)) {\n if (isStyledComponent(value)) {\n return `.${value[HONEY_STYLED_COMPONENT_ID_PROP]}`;\n }\n\n return resolveCssInterpolation(value(context), context);\n }\n\n if (isArray(value)) {\n return value.map(v => resolveCssInterpolation(v, context)).join('\\n');\n }\n\n if (isObject(value)) {\n return Object.entries(value)\n .filter(([, v]) => v !== undefined && v !== false)\n .map(([k, v]) => `${toKebabCase(k)}: ${v};`)\n .join('\\n');\n }\n\n return value.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(\n (cssResult, str, index) =>\n cssResult + str + resolveCssInterpolation(interpolations[index], context),\n '',\n );\n};\n\nexport const createCssRule = (selector: string, css: string) => `${selector}{${css}}`;\n","import type {\n HoneyCssAstNode,\n HoneyCssAstRuleNode,\n HoneyCssAstStylesheetNode,\n} from '@react-hive/honey-css';\nimport { resolveCssSelector } from '@react-hive/honey-css';\n\nconst SELECTOR_CONTEXT_AT_RULES: Record<string, true> = {\n media: true,\n supports: true,\n container: true,\n layer: true,\n};\n\nconst flattenRule = (node: HoneyCssAstRuleNode, parentSelector?: string): HoneyCssAstNode[] => {\n const fullSelector = parentSelector\n ? resolveCssSelector(node.selector, parentSelector)\n : node.selector;\n\n return flattenNodes(node.body, fullSelector);\n};\n\nconst flattenNodes = (nodes: HoneyCssAstNode[], parentSelector?: string): HoneyCssAstNode[] => {\n const result: HoneyCssAstNode[] = [];\n\n const declarationBuffer: HoneyCssAstNode[] = [];\n\n const flushDeclarations = () => {\n if (!parentSelector || declarationBuffer.length === 0) {\n return;\n }\n\n result.push({\n type: 'rule',\n selector: parentSelector,\n // Cheaper intent clarity\n body: declarationBuffer.slice(),\n });\n\n declarationBuffer.length = 0;\n };\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n if (node.type === 'declaration') {\n declarationBuffer.push(node);\n continue;\n }\n\n if (node.type === 'rule') {\n flushDeclarations();\n\n result.push(...flattenRule(node, parentSelector));\n continue;\n }\n\n if (node.type === 'atRule') {\n flushDeclarations();\n\n if (!SELECTOR_CONTEXT_AT_RULES[node.name]) {\n result.push(node);\n continue;\n }\n\n result.push({\n ...node,\n body:\n node.body && node.body.length > 0 ? flattenNodes(node.body, parentSelector) : node.body,\n });\n\n continue;\n }\n\n flushDeclarations();\n\n result.push(node);\n }\n\n flushDeclarations();\n\n return result;\n};\n\nexport const flattenCssRules = (ast: HoneyCssAstStylesheetNode): HoneyCssAstStylesheetNode => ({\n ...ast,\n body: flattenNodes(ast.body),\n});\n","import type { HoneyCssAstNode, HoneyCssAstStylesheetNode } from '@react-hive/honey-css';\nimport { resolveCssSelector, stringifyCss } from '@react-hive/honey-css';\n\nimport { flattenCssRules } from './flatten-css-rules';\n\nconst SCOPED_AT_RULES: Record<string, true> = {\n media: true,\n supports: true,\n container: true,\n layer: true,\n};\n\nconst scopeNodes = (nodes: HoneyCssAstNode[], scope: string): HoneyCssAstNode[] =>\n nodes.map(node => {\n if (node.type === 'rule') {\n return {\n ...node,\n selector: resolveCssSelector(node.selector, scope),\n };\n }\n\n if (node.type === 'atRule') {\n if (!SCOPED_AT_RULES[node.name]) {\n return node;\n }\n\n return {\n ...node,\n body: node.body === null ? null : scopeNodes(node.body, scope),\n };\n }\n\n return node;\n });\n\nexport const compileCss = (ast: HoneyCssAstStylesheetNode, scope?: string): string => {\n const nextAst = flattenCssRules(\n scope\n ? {\n ...ast,\n body: scopeNodes(ast.body, scope),\n }\n : ast,\n );\n\n return stringifyCss(nextAst);\n};\n","import type {\n HoneyCssAstAtRuleNode,\n HoneyCssAstNode,\n HoneyCssAstStylesheetNode,\n} from '@react-hive/honey-css';\n\nexport const createAtRuleTransformer = (\n name: string,\n handler: (node: HoneyCssAstAtRuleNode) => HoneyCssAstNode[],\n) => {\n return (ast: HoneyCssAstStylesheetNode): HoneyCssAstStylesheetNode => {\n const transformNodes = (nodes: HoneyCssAstNode[]): HoneyCssAstNode[] => {\n const result: HoneyCssAstNode[] = [];\n\n for (const node of nodes) {\n if (node.type === 'atRule' && node.name === name) {\n const transformedBody = transformNodes(node.body ?? []);\n\n const replaced = handler({\n ...node,\n body: transformedBody,\n });\n\n result.push(...replaced);\n continue;\n }\n\n if (node.type === 'rule') {\n result.push({\n ...node,\n body: transformNodes(node.body),\n });\n continue;\n }\n\n if (node.type === 'atRule') {\n result.push({\n ...node,\n body: node.body === null ? null : transformNodes(node.body),\n });\n continue;\n }\n\n result.push(node);\n }\n\n return result;\n };\n\n return {\n ...ast,\n body: transformNodes(ast.body),\n };\n };\n};\n","import { createAtRuleTransformer } from './create-at-rule-transformer';\n\nexport const transformAbsoluteFillAtRule = createAtRuleTransformer('honey-absolute-fill', node => {\n return [\n {\n type: 'declaration',\n prop: 'position',\n value: 'absolute',\n },\n {\n type: 'declaration',\n prop: 'inset',\n value: '0',\n },\n ...(node.body ?? []),\n ];\n});\n","export const unwrapParams = (input?: string): string => {\n if (!input) {\n return '';\n }\n\n const trimmed = input.trim();\n\n if (trimmed.startsWith('(') && trimmed.endsWith(')')) {\n return trimmed.slice(1, -1).trim();\n }\n\n return trimmed;\n};\n","import type {\n HoneyCssAstAtRuleNode,\n HoneyCssAstDeclarationNode,\n HoneyCssAstNode,\n} from '@react-hive/honey-css';\n\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\nimport { unwrapParams } from './unwrap-params';\n\n/**\n * Transforms:\n *\n * @honey-center();\n * @honey-center(horizontal);\n * @honey-center(vertical);\n * @honey-center(block);\n * @honey-center(inline);\n */\nexport const transformCenterAtRule = createAtRuleTransformer(\n 'honey-center',\n (node: HoneyCssAstAtRuleNode): HoneyCssAstNode[] => {\n const params = unwrapParams(node.params);\n\n const nodes: HoneyCssAstDeclarationNode[] = [];\n\n switch (params) {\n case 'horizontal':\n case 'x':\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'justify-content',\n value: 'center',\n },\n );\n break;\n\n case 'vertical':\n case 'y':\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'align-items',\n value: 'center',\n },\n );\n break;\n\n case 'block':\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'block',\n },\n {\n type: 'declaration',\n prop: 'text-align',\n value: 'center',\n },\n );\n break;\n\n case 'inline':\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'inline-flex',\n },\n {\n type: 'declaration',\n prop: 'align-items',\n value: 'center',\n },\n {\n type: 'declaration',\n prop: 'justify-content',\n value: 'center',\n },\n );\n break;\n\n default:\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'align-items',\n value: 'center',\n },\n {\n type: 'declaration',\n prop: 'justify-content',\n value: 'center',\n },\n );\n break;\n }\n\n return [...nodes, ...(node.body ?? [])];\n },\n);\n","import type { HoneyCssAstDeclarationNode } from '@react-hive/honey-css';\n\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\nimport { unwrapParams } from './unwrap-params';\n\nexport const transformStackAtRule = createAtRuleTransformer('honey-stack', node => {\n const param = unwrapParams(node.params);\n\n const nodes: HoneyCssAstDeclarationNode[] = [\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'flex-direction',\n value: 'column',\n },\n ];\n\n // If param provided → override gap explicitly\n if (param) {\n nodes.push({\n type: 'declaration',\n prop: 'gap',\n value: param,\n });\n }\n\n return [...nodes, ...(node.body ?? [])];\n});\n","import type { HoneyCssAstNode, HoneyCssAstStylesheetNode } from '@react-hive/honey-css';\nimport { toKebabCase } from '@react-hive/honey-utils';\n\nimport type { HoneyTheme } from '../types';\nimport { CSS_SPACING_PROPERTIES } from './constants';\nimport { resolveSpacingValue } from './resolve-spacing-value';\n\nconst KEBAB_CASE_SPACING_PROPERTIES = CSS_SPACING_PROPERTIES.map(toKebabCase);\n\ninterface CreateSpacingTransformerOptions {\n theme?: HoneyTheme;\n}\n\nexport const createSpacingTransformer = ({ theme }: CreateSpacingTransformerOptions) => {\n const spacingFactor = theme?.spacings?.base ?? 0;\n\n const transformNodes = (nodes: HoneyCssAstNode[]): HoneyCssAstNode[] =>\n nodes.map(node => {\n if (node.type === 'rule') {\n return {\n ...node,\n body: transformNodes(node.body),\n };\n }\n\n if (node.type === 'atRule') {\n return {\n ...node,\n body: node.body === null ? null : transformNodes(node.body),\n };\n }\n\n if (node.type === 'declaration') {\n if (!KEBAB_CASE_SPACING_PROPERTIES.includes(node.prop)) {\n return node;\n }\n\n // Skip if contains parentheses (calc, var, etc.)\n if (/[()]/.test(node.value)) {\n return node;\n }\n\n const parts = node.value.trim().split(/\\s+/);\n\n return {\n ...node,\n value: parts.map(part => resolveSpacingValue(part, spacingFactor)).join(' '),\n };\n }\n\n return node;\n });\n\n return (ast: HoneyCssAstStylesheetNode): HoneyCssAstStylesheetNode => ({\n ...ast,\n body: transformNodes(ast.body),\n });\n};\n","export const resolveSpacingValue = (value: string, spacingFactor: number): string => {\n const trimmed = value.trim();\n\n // CSS unit provided → keep as-is\n if (/[a-z%]+$/i.test(trimmed)) {\n return trimmed;\n }\n\n // Numeric multiplier\n if (/^-?\\d*\\.?\\d+$/.test(trimmed)) {\n return `${parseFloat(trimmed) * spacingFactor}px`;\n }\n\n return trimmed;\n};\n","import type {\n HoneyCssAstAtRuleNode,\n HoneyCssAstDeclarationNode,\n HoneyCssAstNode,\n} from '@react-hive/honey-css';\n\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\n\nexport const transformEllipsisAtRule = createAtRuleTransformer(\n 'honey-ellipsis',\n (node: HoneyCssAstAtRuleNode): HoneyCssAstNode[] => {\n const nodes: HoneyCssAstDeclarationNode[] = [\n {\n type: 'declaration',\n prop: 'white-space',\n value: 'nowrap',\n },\n {\n type: 'declaration',\n prop: 'overflow',\n value: 'hidden',\n },\n {\n type: 'declaration',\n prop: 'text-overflow',\n value: 'ellipsis',\n },\n ];\n\n // Preserve any nested children inside the block\n return [...nodes, ...(node.body ?? [])];\n },\n);\n","import type { HoneyCssAstDeclarationNode } from '@react-hive/honey-css';\n\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\nimport { unwrapParams } from './unwrap-params';\n\nexport const transformInlineAtRule = createAtRuleTransformer('honey-inline', node => {\n const param = unwrapParams(node.params);\n\n const nodes: HoneyCssAstDeclarationNode[] = [\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'align-items',\n value: 'center',\n },\n ];\n\n if (param) {\n nodes.push({\n type: 'declaration',\n prop: 'gap',\n value: param,\n });\n }\n\n return [...nodes, ...(node.body ?? [])];\n});\n","import { compact } from '@react-hive/honey-utils';\n\nimport type { Nullable } from '../../types';\nimport type { HoneyCssDimensionValue } from '../types';\n\n/**\n * Represents CSS resolution units typically used in media queries.\n *\n * - `dpi` — dots per inch\n * - `dpcm` — dots per centimeter\n * - `dppx` — dots per pixel (e.g., 2dppx for Retina displays)\n * - `x` — alias for `dppx`\n */\ntype MediaQueryRuleResolutionUnit = 'dpi' | 'dpcm' | 'dppx' | 'x';\n\n/**\n * Represents a CSS resolution value, such as `'300dpi'`, `'2x'`, or `'1.5dppx'`.\n */\ntype MediaQueryRuleResolutionValue = `${number}${MediaQueryRuleResolutionUnit}`;\n\n/**\n * Properties for dimension-based media queries\n */\ninterface MediaQueryRuleDimensionProperties {\n width?: HoneyCssDimensionValue;\n minWidth?: HoneyCssDimensionValue;\n maxWidth?: HoneyCssDimensionValue;\n height?: HoneyCssDimensionValue;\n minHeight?: HoneyCssDimensionValue;\n maxHeight?: HoneyCssDimensionValue;\n}\n\n/**\n * Properties for resolution-based media queries\n */\ninterface MediaQueryRuleResolutionProperties {\n resolution?: MediaQueryRuleResolutionValue;\n minResolution?: MediaQueryRuleResolutionValue;\n maxResolution?: MediaQueryRuleResolutionValue;\n}\n\ntype MediaQueryRuleOperator = 'not' | 'only';\n\nexport type MediaQueryRuleType = 'all' | 'print' | 'screen' | 'speech';\n\n/**\n * Represents the possible values for media query orientation.\n *\n * Used in responsive styles to target specific device orientations.\n *\n * - `'landscape'` – Width is greater than height.\n * - `'portrait'` – Height is greater than width.\n */\nexport type MediaQueryRuleOrientation = 'landscape' | 'portrait';\n\ntype MediaQueryRuleUpdate = 'none' | 'slow' | 'fast';\n\n/**\n * Options for CSS @media at-rule.\n */\nexport interface HoneyMediaQueryRule\n extends MediaQueryRuleDimensionProperties, MediaQueryRuleResolutionProperties {\n operator?: MediaQueryRuleOperator;\n /**\n * @default screen\n */\n mediaType?: Nullable<MediaQueryRuleType>;\n orientation?: Nullable<MediaQueryRuleOrientation>;\n update?: MediaQueryRuleUpdate;\n}\n\ntype HoneyMediaQueryRuleConfig = [string, string | number];\n\n/**\n * Constructs a complete `@media` query string from an array of media rule objects.\n * Each rule defines conditions such as screen size, orientation, or resolution,\n * which are converted into standard CSS media query syntax.\n *\n * @param rules - An array of media rule objects used to generate individual media queries.\n *\n * @returns A string containing a full `@media` query that can be used in CSS or injected into a stylesheet.\n *\n * @example\n * ```ts\n * mediaQuery([\n * { minWidth: '768px', orientation: 'landscape' },\n * { mediaType: 'print' }\n * ]);\n * // Returns: \"@media screen and (min-width: 768px) and (orientation: landscape), print\"\n * ```\n */\nexport const mediaQuery = (rules: HoneyMediaQueryRule[]): string => {\n const mediaRules = rules.map(rule => {\n const rulesConfig: Nullable<HoneyMediaQueryRuleConfig | undefined>[] = [\n rule.width && ['width', rule.width],\n rule.minWidth && ['min-width', rule.minWidth],\n rule.maxWidth && ['max-width', rule.maxWidth],\n rule.height && ['height', rule.height],\n rule.minHeight && ['min-height', rule.minHeight],\n rule.maxHeight && ['max-height', rule.maxHeight],\n rule.orientation && ['orientation', rule.orientation],\n rule.minResolution && ['min-resolution', rule.minResolution],\n rule.maxResolution && ['max-resolution', rule.maxResolution],\n rule.resolution && ['resolution', rule.resolution],\n rule.update && ['update', rule.update],\n ];\n\n const conditions = compact(rulesConfig)\n .map(([prop, value]) => `(${prop}: ${value})`)\n .join(' and ');\n\n const operatorPart = rule.operator ? `${rule.operator} ` : '';\n const conditionsPart = conditions ? ` and ${conditions}` : '';\n\n return `${operatorPart}${rule.mediaType ?? 'screen'}${conditionsPart}`;\n });\n\n return `@media ${mediaRules.join(', ')}`;\n};\n","import type { HoneyCssAstAtRuleNode, HoneyCssAstNode } from '@react-hive/honey-css';\n\nimport type { HoneyBreakpoints, HoneyTheme, Nullable } from '../types';\nimport type {\n HoneyMediaQueryRule,\n MediaQueryRuleOrientation,\n MediaQueryRuleType,\n} from './at-rules';\nimport { mediaQuery } from './at-rules';\nimport { __DEV__ } from '../constants';\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\nimport { unwrapParams } from './unwrap-params';\n\ntype BreakpointDirection = 'up' | 'down';\n\ninterface CreateMediaAtRuleTransformerOptions {\n theme?: HoneyTheme;\n}\n\nconst isOrientationToken = (token: string): token is MediaQueryRuleOrientation =>\n token === 'portrait' || token === 'landscape';\n\nconst isMediaTypeToken = (token: string): token is MediaQueryRuleType =>\n token === 'all' || token === 'print' || token === 'screen' || token === 'speech';\n\nconst isBreakpointToken = (token: string): boolean => /^[a-z]+\\b(:up|:down)?$/i.test(token);\n\nconst parseBreakpointRule = (raw: string) => {\n const [key, direction] = raw.split(':');\n return {\n key,\n direction: (direction ?? 'up') as BreakpointDirection,\n };\n};\n\nexport const createMediaAtRuleTransformer = ({ theme }: CreateMediaAtRuleTransformerOptions) =>\n createAtRuleTransformer('honey-media', (node: HoneyCssAstAtRuleNode): HoneyCssAstNode[] => {\n if (!theme?.breakpoints) {\n return [];\n }\n\n const rawParams = unwrapParams(node.params);\n if (!rawParams) {\n return [];\n }\n\n const tokens = rawParams.split(/\\s+/);\n\n let orientation: Nullable<MediaQueryRuleOrientation> = null;\n let mediaType: Nullable<MediaQueryRuleType> = null;\n\n const rules: HoneyMediaQueryRule[] = [];\n\n for (const token of tokens) {\n if (isOrientationToken(token)) {\n orientation = token;\n continue;\n }\n\n if (isMediaTypeToken(token)) {\n mediaType = token;\n continue;\n }\n\n if (!isBreakpointToken(token)) {\n if (__DEV__) {\n console.warn(`[@react-hive/honey-style]: Unknown @honey-media token: \"${token}\".`);\n }\n continue;\n }\n\n const breakpointRule = parseBreakpointRule(token);\n\n const breakpointPx =\n breakpointRule.key in theme.breakpoints\n ? theme.breakpoints[breakpointRule.key as keyof HoneyBreakpoints]\n : null;\n\n if (!breakpointPx) {\n if (__DEV__) {\n console.warn(\n `[@react-hive/honey-style]: Unknown breakpoint \"${breakpointRule.key}\" in @honey-media.`,\n );\n }\n\n continue;\n }\n\n let rule: HoneyMediaQueryRule | undefined;\n\n if (breakpointRule.direction === 'up') {\n rule = {\n minWidth: `${breakpointPx}px`,\n };\n } else if (breakpointRule.direction === 'down') {\n rule = {\n maxWidth: `${breakpointPx}px`,\n };\n }\n\n if (rule) {\n rules.push(rule);\n }\n }\n\n let finalRules: HoneyMediaQueryRule[] = [];\n\n if (rules.length) {\n finalRules = rules.map<HoneyMediaQueryRule>(rule => ({\n ...rule,\n orientation,\n mediaType,\n }));\n } else {\n if (mediaType) {\n finalRules.push({\n mediaType,\n });\n }\n\n if (orientation) {\n finalRules.push({\n orientation,\n });\n }\n }\n\n if (!finalRules.length) {\n return [];\n }\n\n const fullMedia = mediaQuery(finalRules);\n\n return [\n {\n type: 'atRule',\n name: 'media',\n params: fullMedia.replace(/^@media\\s*/, ''),\n body: node.body,\n },\n ];\n });\n","import { parseCss } from '@react-hive/honey-css';\n\nimport type { HoneyTheme } from '../types';\nimport { createCssRule } from './css';\nimport { compileCss } from './compile-css';\nimport { transformAbsoluteFillAtRule } from './transform-absolute-fill-at-rule';\nimport { transformCenterAtRule } from './transform-center-at-rule';\nimport { transformStackAtRule } from './transform-stack-at-rule';\nimport { createSpacingTransformer } from './create-spacing-transformer';\nimport { transformEllipsisAtRule } from './transform-ellipsis-at-rule';\nimport { transformInlineAtRule } from './transform-inline-at-rule';\nimport { createMediaAtRuleTransformer } from './create-media-at-rule-transformer';\n\ninterface ProcessCssOptions {\n theme?: HoneyTheme;\n selector?: string;\n}\n\nexport const processCss = (rawCss: string, { theme, selector }: ProcessCssOptions = {}): string => {\n const scopedCss = selector ? createCssRule(selector, rawCss) : rawCss;\n\n const ast = parseCss(scopedCss);\n\n const transformers = [\n transformStackAtRule,\n transformInlineAtRule,\n transformCenterAtRule,\n transformAbsoluteFillAtRule,\n transformEllipsisAtRule,\n createMediaAtRuleTransformer({ theme }),\n createSpacingTransformer({ theme }),\n ];\n\n const transformedAst = transformers.reduce((result, node) => node(result), ast);\n\n return compileCss(transformedAst);\n};\n","import { generateEphemeralId, hashString, hexWithAlpha } from '@react-hive/honey-utils';\n\nimport { HONEY_STYLED_COMPONENT_ID_PROP, VALID_DOM_ELEMENT_ATTRS } from './constants';\nimport type {\n HoneyCssClassName,\n HoneyCssColor,\n HoneyCssDimensionUnit,\n HoneyCssDimensionValue,\n HoneyCssShorthandDimensionOutput,\n HoneyCssShorthandTuple,\n HoneyCssSpacingValue,\n} from './css';\nimport { css } from './css';\nimport type {\n HoneyColor,\n HoneyColorKey,\n HoneyColors,\n HoneyDimensionName,\n HoneyFontName,\n HoneySpacings,\n HoneyStyledComponent,\n HoneyStyledContext,\n Nullable,\n} from './types';\n\nexport const generateId = (prefix: string) => `${prefix}-${generateEphemeralId()}`;\n\n/**\n * Combines multiple class names into a single space-separated string\n *\n * @param classNames - Array of class names to combine\n */\nexport const combineClassNames = (classNames: HoneyCssClassName[]) =>\n classNames.filter(Boolean).join(' ').trim();\n\nexport const buildClassName = (css: string) => `hscn-${hashString(css)}`;\n\nexport const isStyledComponent = (component: any): component is HoneyStyledComponent =>\n HONEY_STYLED_COMPONENT_ID_PROP in component;\n\n/**\n * Filters out non-standard HTML attributes from a props object intended for a native HTML element.\n *\n * Retains only valid DOM attributes, including standard HTML attributes and\n * custom `data-*` or `aria-*` attributes. This helps avoid React warnings due to\n * invalid props and ensures clean, valid HTML output.\n *\n * This function is typically used when rendering polymorphic or styled components\n * that may receive non-standard props, but only valid attributes should be passed\n * to underlying DOM elements.\n *\n * @template Attrs - The type of the attributes object.\n *\n * @param attrs - An object representing all props passed to a component.\n *\n * @returns A new object containing only props that are safe and valid for use on native DOM elements.\n */\nexport const filterNonHtmlAttrs = <Attrs extends object>(attrs: Attrs): Attrs =>\n Object.entries(attrs).reduce((allowedAttrs, [name, value]) => {\n if (VALID_DOM_ELEMENT_ATTRS.has(name) || name.startsWith('data-') || name.startsWith('aria-')) {\n allowedAttrs[name as keyof Attrs] = value;\n }\n return allowedAttrs;\n }, {} as Attrs);\n\n/**\n * Converts a pixel value to rem.\n *\n * @param px - The pixel value to be converted to rem.\n * @param base - The base value for conversion. Default is 16, which is the typical root font size.\n *\n * @returns The value in rem as a string.\n */\nexport const pxToRem = (px: number, base: number = 16): string => `${px / base}rem`;\n\n/**\n * Type guard function to check if a string value follows the pattern of a theme color value.\n *\n * A theme color value is assumed to be a string containing exactly one dot (e.g., 'primary.main').\n *\n * @param propertyValue - The string value to check.\n *\n * @returns True if the string value is a theme color value, false otherwise.\n */\nexport const isThemeColorValue = (propertyValue: string): propertyValue is HoneyColorKey =>\n propertyValue.split('.').length === 2;\n\n/**\n * Determines the resolved type for spacing values when processed by `resolveSpacing`.\n *\n * The return type adapts based on the shape of the `Value` and presence of a CSS `Unit`:\n *\n * - If `Value` is a `string` (e.g., raw `'10px'` or `'auto'`), it is returned as-is.\n * - If `Unit` is `null`, the original value is returned (either number or shorthand array).\n * - If `Unit` is provided and `Value` is a shorthand array (e.g., `[1, 2, 3, 4]`),\n * it is resolved to a space-separated dimension string (e.g., `'8px 16px 24px 32px'`).\n * - If `Unit` is provided and `Value` is a number, it is resolved to a single dimension string (e.g., `'16px'`).\n *\n * This type helps enforce correct resolution behavior depending on user input and configuration.\n *\n * @template Value - The input spacing value (number, shorthand array, or raw string).\n * @template Unit - A CSS length unit (e.g., 'px', 'em'), or `null` to skip unit formatting.\n */\nexport type HoneyResolveSpacingResult<\n Value extends HoneyCssSpacingValue,\n Unit extends Nullable<HoneyCssDimensionUnit>,\n> = Value extends HoneyCssDimensionValue\n ? Value\n : Unit extends null\n ? Value\n : Value extends HoneyCssShorthandTuple<number | HoneyCssDimensionValue>\n ? HoneyCssShorthandDimensionOutput<Value, NonNullable<Unit>>\n : HoneyCssDimensionValue<NonNullable<Unit>>;\n\n/**\n * Resolves a spacing value or shorthand spacing array using the theme and optional unit.\n *\n * This function takes spacing multipliers and converts them into pixel or unit-based values\n * using a theme spacing scale (e.g., `theme.spacings.base`). Useful for applying consistent\n * layout spacing with theming and token support.\n *\n * @template Value - The spacing value(s) to resolve. Can be:\n * - A number (e.g., `1`) representing a multiplier.\n * - An array of numbers (e.g., `[1, 2, 3, 4]`) for shorthand spacing.\n * - A dimension string (e.g., `'10px'`) will be returned as `never`.\n * @template Unit - Optional CSS unit (`'px'`, `'em'`, etc.), or `null` to skip units.\n *\n * @param value - Spacing multiplier(s) to apply.\n * @param [unit='px'] - The CSS unit to append. If `null`, values remain numeric.\n * @param [type='base'] - The spacing type to use from the theme (e.g., `'base'`, `'small'`).\n *\n * @returns A function that takes a theme context and returns:\n * - A single resolved value (e.g., `'16px'`) if `value` is a number.\n * - A space-separated string (e.g., `'8px 12px'`) if `value` is an array.\n * - `never` if the input is a raw string (unsupported).\n */\nexport const resolveSpacing =\n <Value extends HoneyCssSpacingValue, Unit extends Nullable<HoneyCssDimensionUnit> = 'px'>(\n value: Value,\n unit: Unit = 'px' as Unit,\n type: keyof HoneySpacings = 'base',\n ): ((context: HoneyStyledContext<object>) => HoneyResolveSpacingResult<Value, Unit>) =>\n ({ theme }) => {\n if (typeof value === 'string') {\n return value as never;\n }\n\n const selectedSpacing = theme.spacings[type] ?? 0;\n\n if (typeof value === 'number') {\n const normalizedValue = value * selectedSpacing;\n\n return (unit ? `${normalizedValue}${unit}` : normalizedValue) as HoneyResolveSpacingResult<\n Value,\n Unit\n >;\n }\n\n const calculatedValues = value.map(shorthandValue => {\n if (typeof shorthandValue === 'string') {\n return shorthandValue;\n }\n\n const calculatedValue = shorthandValue * selectedSpacing;\n\n return unit ? `${calculatedValue}${unit}` : calculatedValue;\n });\n\n return calculatedValues.join(' ') as HoneyResolveSpacingResult<Value, Unit>;\n };\n\n/**\n * Resolves the font styles based on the provided font name from the theme.\n *\n * @param fontName - The name of the font to be resolved from the theme.\n *\n * @returns A style function that takes a theme object and returns the CSS styles for the specified font.\n */\nexport const resolveFont =\n (fontName: HoneyFontName) =>\n ({ theme }: HoneyStyledContext<object>) => {\n const font = theme.fonts[fontName];\n\n return css`\n font-family: ${font.family};\n font-size: ${pxToRem(font.size)};\n font-weight: ${font.weight};\n line-height: ${font.lineHeight !== undefined && pxToRem(font.lineHeight)};\n letter-spacing: ${font.letterSpacing !== undefined && pxToRem(font.letterSpacing)};\n `;\n };\n\n/**\n * Resolves a color value from the theme or returns the input color directly if it's a standalone color name or HEX value.\n *\n * @param colorInput - A string representing the color to resolve.\n * This can be:\n * - A theme key in the format 'colorType.colorName'.\n * - A standalone color name (e.g., \"red\", \"blue\").\n * - A HEX color value (e.g., \"#RRGGBB\").\n * @param [alpha] - The alpha transparency value between 0 (fully transparent) and 1 (fully opaque).\n * Default to `undefined`.\n *\n * @returns A function that takes an `ExecutionContext` with a `theme` and resolves the color value:\n * - A HEX color string from the theme (e.g., \"#RRGGBB\").\n * - A HEX color string with alpha (e.g., \"#RRGGBBAA\") if `alpha` is provided.\n * - The input `colorKey` value directly if it's a standalone color name or HEX value.\n *\n * @throws Will throw an error if the provided alpha value is not within the valid range (0 to 1).\n * @throws Will throw an error if the color format is invalid.\n */\nexport const resolveColor =\n (colorInput: HoneyColor, alpha?: number) =>\n ({ theme }: HoneyStyledContext<object>): HoneyCssColor => {\n const [colorType, colorName] = colorInput.split('.');\n\n const color = colorName\n ? theme.colors[colorType as keyof HoneyColors][colorName]\n : (colorType as HoneyCssColor);\n\n return alpha === undefined ? color : hexWithAlpha(color, alpha);\n };\n\n/**\n * Resolves a specific dimension value from the theme configuration.\n *\n * @param dimensionName - The name of the dimension to resolve.\n *\n * @returns A style function that takes the theme and returns the resolved dimension value from the theme.\n */\nexport const resolveDimension =\n (dimensionName: HoneyDimensionName) =>\n ({ theme }: HoneyStyledContext<object>): HoneyCssDimensionValue =>\n theme.dimensions[dimensionName];\n","import React, { useMemo } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport { HoneyStyleContext } from '../contexts';\nimport { resolveColor, resolveDimension, resolveFont, resolveSpacing } from '../utils';\nimport type { HoneyTheme } from '../types';\nimport type { HoneyStyleContextValue } from '../contexts';\n\nexport interface 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 resolveSpacing: (...args) => resolveSpacing(...args)({ theme }),\n resolveColor: (...args) => resolveColor(...args)({ theme }),\n resolveFont: (...args) => resolveFont(...args)({ theme }),\n resolveDimension: (...args) => resolveDimension(...args)({ theme }),\n }),\n [theme],\n );\n\n return <HoneyStyleContext value={contextValue}>{children}</HoneyStyleContext>;\n};\n","import { useContext } from 'react';\nimport { assert } from '@react-hive/honey-utils';\n\nimport { HoneyStyleContext } from '../contexts';\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","import { useInsertionEffect } from 'react';\n\nimport type { HoneyStyledInterpolation, HoneyStyledContext } from './types';\nimport { HONEY_GLOBAL_STYLE_ATTR } from './constants';\nimport { css, processCss } from './css';\nimport { generateId } from './utils';\nimport { useHoneyStyle } from './hooks';\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 useInsertionEffect(() => {\n const rawCss = computeCss({ theme });\n const processedCss = processCss(rawCss, { theme });\n\n const styleElement = document.createElement('style');\n styleElement.id = styleId;\n styleElement.innerHTML = processedCss;\n styleElement.setAttribute(HONEY_GLOBAL_STYLE_ATTR, 'true');\n\n document.head.insertBefore(styleElement, document.head.firstChild);\n\n return () => {\n styleElement.remove();\n };\n }, [theme]);\n\n return null;\n };\n\n return GlobalStyle;\n};\n","import {\n HONEY_STYLE_ATTR,\n HONEY_STYLE_PRIORITY_ATTR,\n HONEY_STYLE_REGISTRY_SYMBOL,\n} from './constants';\n\ninterface HoneyWindow extends Window {\n [HONEY_STYLE_REGISTRY_SYMBOL]?: Map<string, StyleRegistryEntry>;\n}\n\ntype StyleCleanupFn = () => void;\n\ninterface StyleRegistryEntry {\n css: string;\n usages: number;\n priority: number;\n}\n\nconst getStyleRegistry = (): Map<string, StyleRegistryEntry> => {\n const w = window as HoneyWindow;\n\n if (!w[HONEY_STYLE_REGISTRY_SYMBOL]) {\n w[HONEY_STYLE_REGISTRY_SYMBOL] = new Map();\n }\n\n return w[HONEY_STYLE_REGISTRY_SYMBOL];\n};\n\nconst styleRegistry = getStyleRegistry();\n\n/**\n * Cache style tags per priority\n */\nconst styleTagsByPriority = new Map<number, HTMLStyleElement>();\n\nconst pendingStyleUpdatePriorities = new Set<number>();\nlet isStyleUpdateScheduled = false;\n\n/**\n * Ensures a <style> tag exists for a given priority.\n */\nconst ensureStyleTagForPriority = (priority: number): HTMLStyleElement => {\n let styleElement = styleTagsByPriority.get(priority);\n if (styleElement) return styleElement;\n\n styleElement = document.createElement('style');\n styleElement.setAttribute(HONEY_STYLE_ATTR, 'true');\n styleElement.setAttribute(HONEY_STYLE_PRIORITY_ATTR, String(priority));\n\n const existing = Array.from(document.querySelectorAll(`style[${HONEY_STYLE_ATTR}=\"true\"]`));\n\n const insertBefore = existing.find(\n el => Number(el.getAttribute(HONEY_STYLE_PRIORITY_ATTR)) > priority,\n );\n\n if (insertBefore) {\n document.head.insertBefore(styleElement, insertBefore);\n } else {\n document.head.appendChild(styleElement);\n }\n\n styleTagsByPriority.set(priority, styleElement);\n\n return styleElement;\n};\n\nconst updateStyleTagForPriority = (priority: number) => {\n const tag = ensureStyleTagForPriority(priority);\n\n const css = Array.from(styleRegistry.values())\n .filter(entry => entry.priority === priority)\n .map(entry => entry.css)\n .join('\\n');\n\n if (css) {\n tag.textContent = css;\n } else {\n tag.remove();\n styleTagsByPriority.delete(priority);\n }\n};\n\nconst flushStyleUpdates = () => {\n for (const priority of pendingStyleUpdatePriorities) {\n updateStyleTagForPriority(priority);\n }\n\n pendingStyleUpdatePriorities.clear();\n};\n\nconst scheduleStyleUpdate = (priority: number) => {\n pendingStyleUpdatePriorities.add(priority);\n\n if (isStyleUpdateScheduled) {\n return;\n }\n\n isStyleUpdateScheduled = true;\n\n // microtask → no flicker (runs before paint)\n queueMicrotask(() => {\n isStyleUpdateScheduled = false;\n\n flushStyleUpdates();\n });\n};\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 scheduleStyleUpdate(entry.priority);\n }\n };\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 if (existing.priority > priority) {\n existing.priority = priority;\n\n updateStyleTagForPriority(priority);\n }\n\n return createCleanupFunction(className);\n }\n\n styleRegistry.set(className, {\n css,\n priority,\n usages: 1,\n });\n\n updateStyleTagForPriority(priority);\n\n return createCleanupFunction(className);\n};\n","import type { ComponentProps, ComponentPropsWithRef, ElementType, ReactElement } from 'react';\nimport { createElement, useInsertionEffect } from 'react';\nimport { definedProps, invokeIfFunction, isString } from '@react-hive/honey-utils';\n\nimport type {\n FastOmit,\n HoneyHtmlDataAttributes,\n HoneyStyledContext,\n HoneyStyledInterpolation,\n HoneyStyledPropsWithAs,\n Nullable,\n Override,\n} from './types';\nimport type { HoneyCssClassName } from './css';\nimport { css, processCss } from './css';\nimport {\n __DEV__,\n HONEY_STYLED_COMPONENT_ID_PROP,\n HONEY_STYLED_COMPOSITION_DEPTH_PROP,\n} from './constants';\nimport {\n buildClassName,\n combineClassNames,\n filterNonHtmlAttrs,\n generateId,\n isStyledComponent,\n} from './utils';\nimport { mountStyle } from './mount-style';\nimport { useHoneyStyle } from './hooks';\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\ntype HoneyStyledInternalProps = {\n className?: HoneyCssClassName;\n [HONEY_STYLED_COMPOSITION_DEPTH_PROP]?: number;\n};\n\ntype HoneyStyledPublicComponentProps<\n AsElement extends ElementType,\n Props extends object,\n> = HoneyStyledPropsWithAs<AsElement, Override<ComponentProps<AsElement>, FastOmit<Props, 'as'>>>;\n\ntype HoneyStyledComponent<OverrideTarget extends ElementType, Props extends object> = (<\n AsElement extends ElementType = OverrideTarget,\n>(\n props: HoneyStyledPublicComponentProps<AsElement, Props>,\n) => Nullable<ReactElement<Props>>) & {\n [HONEY_STYLED_COMPONENT_ID_PROP]: string;\n displayName?: string;\n};\n\ninterface StyledOptions {\n omitProps?: (name: string) => boolean;\n}\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 { omitProps }: StyledOptions = {},\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 StyledComponentImpl = <AsElement extends ElementType = OverrideTarget>({\n as,\n className,\n __compositionDepth = 0,\n ...props\n }: HoneyStyledPublicComponentProps<AsElement, Props> & HoneyStyledInternalProps) => {\n const { theme } = useHoneyStyle();\n\n const cleanedProps = definedProps(props);\n const resolvedDefaultProps = {\n ...(invokeIfFunction(defaultProps, {\n theme,\n as,\n className,\n ...cleanedProps,\n } as never) ?? {}),\n // Allow overriding the default \"className\" prop\n ...(className && { className }),\n };\n\n const context: HoneyStyledContext<any> = {\n ...resolvedDefaultProps,\n ...cleanedProps,\n theme,\n };\n\n const rawCss = computeCss(context);\n const baseClassName = buildClassName(rawCss);\n\n useInsertionEffect(() => {\n const baseCss = processCss(rawCss, {\n theme,\n selector: `.${baseClassName}`,\n });\n\n return mountStyle(baseClassName, baseCss, __compositionDepth);\n }, [baseClassName]);\n\n const finalClassName = combineClassNames([\n componentId,\n baseClassName,\n resolvedDefaultProps.className,\n ]);\n\n const mergedProps = {\n ...resolvedDefaultProps,\n ...cleanedProps,\n className: finalClassName,\n };\n\n const finalProps = omitProps\n ? Object.entries(mergedProps).reduce(\n (result, [propName, propValue]) =>\n omitProps(propName)\n ? result\n : {\n ...result,\n [propName]: propValue,\n },\n {},\n )\n : mergedProps;\n\n const finalComponent = as || target;\n\n if (isString(target)) {\n const filteredProps = isString(finalComponent)\n ? filterNonHtmlAttrs(finalProps)\n : finalProps;\n\n return createElement(finalComponent, filteredProps);\n }\n\n return createElement(target, {\n ...finalProps,\n ...(as && { as }),\n ...(isStyledComponent(target) && {\n [HONEY_STYLED_COMPOSITION_DEPTH_PROP]: __compositionDepth - 1,\n }),\n });\n };\n\n const StyledComponent = StyledComponentImpl as HoneyStyledComponent<OverrideTarget, Props>;\n\n StyledComponent[HONEY_STYLED_COMPONENT_ID_PROP] = componentId;\n\n if (__DEV__) {\n const componentName = isString(target)\n ? target\n : target.displayName || target.name || 'Component';\n\n StyledComponent.displayName = `HoneyStyledComponent(${componentName})`;\n }\n\n return StyledComponent;\n };\n};\n"],"names":["REACT_ELEMENT_TYPE","Symbol","for","exports","jsx","type","config","maybeKey","key","propName","ref","$$typeof","props","module","__webpack_require__","__webpack_module_cache__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","toStringTag","value","__DEV__","ENV","console","info","HONEY_STYLE_REGISTRY_SYMBOL","HONEY_STYLED_COMPONENT_ID_PROP","HONEY_STYLED_COMPOSITION_DEPTH_PROP","HONEY_GLOBAL_STYLE_ATTR","HONEY_STYLE_ATTR","HONEY_STYLE_PRIORITY_ATTR","HONEY_BREAKPOINTS","VALID_HTML_ATTRS","Set","VALID_TABLE_ATTRS","VALID_SVG_ATTRS","VALID_EVENT_ATTRS","VALID_DOM_ELEMENT_ATTRS","external_react_namespaceObject","require","HoneyStyleContext","createContext","t","e","Error","at","At","Pt","replace","toLowerCase","CSS_SPACING_PROPERTIES","CSS_COLOR_PROPERTIES","dist_e","dist_n","dist_o","n","join","trim","isEof","peek","push","next","dist_s","mark","reset","readUntil","dist_c","expect","dist_i","s","c","i","length","a","charCodeAt","slice","dist_a","indexOf","replaceAll","includes","dist_p","body","map","selector","params","name","dist_u","dist_y","dist_f","stopAtBraceClose","dist_b","resolveCssInterpolation","context","p","Y","isStyledComponent","Array","isArray","_","v","x","entries","filter","k","toString","css","strings","interpolations","reduce","cssResult","str","index","createCssRule","SELECTOR_CONTEXT_AT_RULES","media","supports","container","layer","flattenRule","node","parentSelector","fullSelector","flattenNodes","nodes","result","declarationBuffer","flushDeclarations","SCOPED_AT_RULES","scopeNodes","scope","createAtRuleTransformer","handler","ast","transformNodes","transformedBody","replaced","transformAbsoluteFillAtRule","unwrapParams","input","trimmed","startsWith","endsWith","transformCenterAtRule","transformStackAtRule","param","KEBAB_CASE_SPACING_PROPERTIES","createSpacingTransformer","theme","spacingFactor","spacings","base","test","parts","split","part","parseFloat","resolveSpacingValue","transformEllipsisAtRule","transformInlineAtRule","mediaQuery","rules","rule","rulesConfig","width","minWidth","maxWidth","height","minHeight","maxHeight","orientation","minResolution","maxResolution","resolution","update","conditions","Boolean","conditionsPart","operator","mediaType","isOrientationToken","token","isMediaTypeToken","isBreakpointToken","parseBreakpointRule","raw","direction","createMediaAtRuleTransformer","breakpoints","rawParams","tokens","warn","breakpointRule","breakpointPx","finalRules","processCss","rawCss","skipUntil","dist_r","l","u","f","dist_t","dist_m","nextAst","flattenCssRules","compileCss","generateId","prefix","Math","floor","performance","now","random","combineClassNames","classNames","buildClassName","$t","component","filterNonHtmlAttrs","attrs","allowedAttrs","has","pxToRem","px","isThemeColorValue","propertyValue","resolveSpacing","unit","selectedSpacing","normalizedValue","shorthandValue","calculatedValue","resolveFont","fontName","font","fonts","family","size","weight","lineHeight","letterSpacing","resolveColor","colorInput","alpha","colorType","colorName","color","colors","match","round","toUpperCase","padStart","Dt","resolveDimension","dimensionName","dimensions","HoneyStyleProvider","children","contextValue","useMemo","args","jsx_runtime","useHoneyStyle","useContext","createGlobalStyle","styleId","computeCss","useInsertionEffect","processedCss","styleElement","document","createElement","id","innerHTML","setAttribute","head","insertBefore","firstChild","remove","styleRegistry","w","window","Map","getStyleRegistry","styleTagsByPriority","pendingStyleUpdatePriorities","isStyleUpdateScheduled","updateStyleTagForPriority","priority","tag","String","from","querySelectorAll","find","el","Number","getAttribute","appendChild","set","ensureStyleTagForPriority","values","entry","textContent","delete","createCleanupFunction","className","usages","add","queueMicrotask","clear","flushStyleUpdates","styled","target","defaultProps","omitProps","componentId","StyledComponent","as","__compositionDepth","cleanedProps","resolvedDefaultProps","baseClassName","baseCss","existing","mountStyle","finalClassName","mergedProps","finalProps","propValue","finalComponent","filteredProps","componentName","displayName"],"sourceRoot":""}
1
+ {"version":3,"file":"index.cjs","mappings":";uCAWAA,EAAAC,OAAAC,IAAA,8BACAD,OAAAC,IAAA,kBAoBAC,EAAAC,IAnBA,SAAAC,EAAAC,EAAAC,GACA,IAAAC,EAAA,KAGA,QAFA,IAAAD,IAAAC,EAAA,GAAAD,QACA,IAAAD,EAAAE,MAAAA,EAAA,GAAAF,EAAAE,KACA,QAAAF,EAEA,QAAAG,KADAF,EAAA,GACAD,EACA,QAAAG,IAAAF,EAAAE,GAAAH,EAAAG,SACIF,EAAAD,EAEJ,OADAA,EAAAC,EAAAG,IACA,CACAC,SAAAX,EACAK,KAAAA,EACAG,IAAAA,EACAE,SAAA,IAAAJ,EAAAA,EAAA,KACAM,MAAAL,EAEA,cC3BEM,EAAAV,QAAAW,EAAA,OCFFC,EAAA,GAGA,SAAAD,EAAAE,GAEA,IAAAC,EAAAF,EAAAC,GACA,QAAAE,IAAAD,EACA,OAAAA,EAAAd,QAGA,IAAAU,EAAAE,EAAAC,GAAA,CAGAb,QAAA,IAOA,OAHAgB,EAAAH,GAAAH,EAAAA,EAAAV,QAAAW,GAGAD,EAAAV,OACA,CCrBAW,EAAAM,EAAA,CAAAjB,EAAAkB,KACA,QAAAb,KAAAa,EACAP,EAAAQ,EAAAD,EAAAb,KAAAM,EAAAQ,EAAAnB,EAAAK,IACAe,OAAAC,eAAArB,EAAAK,EAAA,CAAyCiB,YAAA,EAAAC,IAAAL,EAAAb,MCJzCM,EAAAQ,EAAA,CAAAK,EAAAC,IAAAL,OAAAM,UAAAC,eAAAC,KAAAJ,EAAAC,GCCAd,EAAAkB,EAAA7B,IACA,oBAAAF,QAAAA,OAAAgC,aACAV,OAAAC,eAAArB,EAAAF,OAAAgC,YAAA,CAAuDC,MAAA,WAEvDX,OAAAC,eAAArB,EAAA,cAAgD+B,OAAA,qzBCDhD,MAEaC,GACXC,EAEED,GACFE,QAAQC,KACN,oJAKG,MAAMC,EAA8BtC,OAAOC,IAAI,wBAEzCsC,EAAiC,gBACjCC,EAAsC,qBAEtCC,EAA0B,0BAC1BC,EAAmB,mBACnBC,EAA4B,gBAE5BC,EAA2C,CAAC,KAAM,KAAM,KAAM,KAAM,MAE3EC,EAAmB,IAAIC,IAAI,CAE/B,SACA,YACA,iBACA,eACA,YACA,UACA,QACA,YACA,kBACA,cACA,MACA,YACA,SACA,KACA,QACA,YACA,KACA,OACA,QACA,OACA,OACA,aACA,QACA,WACA,QACA,YACA,eAGA,UACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,MACA,YACA,MACA,YACA,WACA,OACA,UACA,cACA,WACA,WACA,OACA,OACA,OACA,QAGA,MACA,WACA,cACA,SACA,QACA,OACA,QACA,QACA,SACA,UACA,OACA,MACA,SACA,SACA,QAGA,WACA,OACA,WACA,iBACA,MACA,SAGA,0BACA,MACA,MACA,WAGA,OACA,UAGA,cACA,UACA,gBACA,sBACA,wBACA,uBAGIC,EAAoB,IAAID,IAAiC,CAC7D,UACA,UACA,UACA,OACA,QAIA,QAIA,WAGIE,EAAkB,IAAIF,IAA8B,CACxD,UACA,OACA,SACA,cACA,gBACA,iBACA,kBACA,mBACA,gBACA,cACA,UACA,gBACA,YACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,IACA,SACA,SACA,YACA,QACA,sBACA,OACA,WACA,aACA,cACA,YACA,YACA,OACA,OACA,mBACA,eAGIG,EAAoB,IAAIH,IAAI,CAEhC,SACA,QACA,UAGA,mBACA,qBACA,sBAGA,UACA,SAGA,WACA,UACA,YACA,UACA,WAGA,YACA,aACA,UAGA,UACA,gBACA,gBACA,cACA,eACA,eACA,cACA,aACA,cACA,YAGA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SAGA,gBACA,gBACA,cACA,kBACA,iBACA,iBACA,gBACA,eACA,sBACA,uBAGA,WAGA,gBACA,aACA,cACA,eAGA,WAGA,UAGA,UACA,YACA,mBACA,mBACA,YACA,cACA,UACA,eACA,mBACA,cACA,UACA,SACA,YACA,aACA,eACA,WACA,YACA,YACA,YACA,eACA,iBACA,YAGA,SACA,UAGA,kBACA,oBACA,kBACA,qBAGA,mBACA,iBACA,uBACA,sBAGWI,EAA0B,IAAIJ,IAAI,IAC1CD,KACAE,KACAC,KACAC,IClTCE,EAA4BC,QAAA,SCuErBC,GAAoB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","sources":["webpack://@react-hive/honey-style/./node_modules/.pnpm/react@19.2.6/node_modules/react/cjs/react-jsx-runtime.production.js","webpack://@react-hive/honey-style/./node_modules/.pnpm/react@19.2.6/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 commonjs2 \"react\"","webpack://@react-hive/honey-style/./src/contexts/HoneyStyleContext.ts","webpack://@react-hive/honey-style/./node_modules/.pnpm/@react-hive+honey-utils@4.0.0/node_modules/@react-hive/honey-utils/dist/index.mjs","webpack://@react-hive/honey-style/./src/css/constants.ts","webpack://@react-hive/honey-style/./node_modules/.pnpm/@react-hive+honey-css@1.17.1/node_modules/@react-hive/honey-css/dist/index.mjs","webpack://@react-hive/honey-style/./src/css/css.ts","webpack://@react-hive/honey-style/./src/css/flatten-css-rules.ts","webpack://@react-hive/honey-style/./src/css/compile-css.ts","webpack://@react-hive/honey-style/./src/css/create-at-rule-transformer.ts","webpack://@react-hive/honey-style/./src/css/transform-absolute-fill-at-rule.ts","webpack://@react-hive/honey-style/./src/css/unwrap-params.ts","webpack://@react-hive/honey-style/./src/css/transform-center-at-rule.ts","webpack://@react-hive/honey-style/./src/css/transform-stack-at-rule.ts","webpack://@react-hive/honey-style/./src/css/create-spacing-transformer.ts","webpack://@react-hive/honey-style/./src/css/resolve-spacing-value.ts","webpack://@react-hive/honey-style/./src/css/transform-ellipsis-at-rule.ts","webpack://@react-hive/honey-style/./src/css/transform-inline-at-rule.ts","webpack://@react-hive/honey-style/./src/css/at-rules/media-query.ts","webpack://@react-hive/honey-style/./src/css/create-media-at-rule-transformer.ts","webpack://@react-hive/honey-style/./src/css/process-css.ts","webpack://@react-hive/honey-style/./src/utils.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/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 = (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 = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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 { SVGAttributes, TdHTMLAttributes } from 'react';\n\nimport type { HoneyBreakpointName } from './types';\n\nconst ENV = process.env.NODE_ENV || 'development';\n\nexport const __DEV__ =\n ENV !== 'production' && typeof window !== 'undefined' && !process.env.VITEST_WORKER_ID;\n\nif (__DEV__) {\n console.info(\n '[@react-hive/honey-style]: You are running in development mode. ' +\n 'This build is not optimized for production and may include extra checks or logs.',\n );\n}\n\nexport const HONEY_STYLE_REGISTRY_SYMBOL = Symbol.for('honey-style-registry');\n\nexport const HONEY_STYLED_COMPONENT_ID_PROP = '$$ComponentId';\nexport const HONEY_STYLED_COMPOSITION_DEPTH_PROP = '__compositionDepth';\n\nexport const HONEY_GLOBAL_STYLE_ATTR = 'data-honey-global-style';\nexport const HONEY_STYLE_ATTR = 'data-honey-style';\nexport const HONEY_STYLE_PRIORITY_ATTR = 'data-priority';\n\nexport const HONEY_BREAKPOINTS: HoneyBreakpointName[] = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nconst VALID_HTML_ATTRS = new Set([\n // Standard Attributes\n 'accept',\n 'accessKey',\n 'autoCapitalize',\n 'autoComplete',\n 'autoFocus',\n 'capture',\n 'class',\n 'className',\n 'contentEditable',\n 'contextMenu',\n 'dir',\n 'draggable',\n 'hidden',\n 'id',\n 'inert',\n 'inputMode',\n 'is',\n 'lang',\n 'nonce',\n 'part',\n 'slot',\n 'spellCheck',\n 'style',\n 'tabIndex',\n 'title',\n 'translate',\n 'unselectable',\n\n // Form Attributes\n 'checked',\n 'disabled',\n 'form',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'list',\n 'max',\n 'maxLength',\n 'min',\n 'minLength',\n 'multiple',\n 'name',\n 'pattern',\n 'placeholder',\n 'readOnly',\n 'required',\n 'size',\n 'step',\n 'type',\n 'value',\n\n // Media Attributes\n 'alt',\n 'controls',\n 'crossOrigin',\n 'height',\n 'isMap',\n 'loop',\n 'media',\n 'muted',\n 'poster',\n 'preload',\n 'role',\n 'src',\n 'srcSet',\n 'useMap',\n 'width',\n\n // Anchor & Link Attributes\n 'download',\n 'href',\n 'hrefLang',\n 'referrerPolicy',\n 'rel',\n 'target',\n\n // React Specific\n 'dangerouslySetInnerHTML',\n 'key',\n 'ref',\n 'children',\n\n // Deprecated/Obscure Attributes (still valid in some contexts)\n 'char',\n 'charOff',\n\n // Web Components / Shadow DOM\n 'exportparts',\n 'popover',\n 'popoverTarget',\n 'popoverTargetAction',\n 'virtualkeyboardpolicy',\n 'writingsuggestions',\n]);\n\nconst VALID_TABLE_ATTRS = new Set<keyof TdHTMLAttributes<any>>([\n 'colSpan',\n 'rowSpan',\n 'headers',\n 'abbr',\n 'scope',\n /**\n * @deprecated https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement/align\n */\n 'align',\n /**\n * @deprecated https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement/vAlign\n */\n 'valign',\n]);\n\nconst VALID_SVG_ATTRS = new Set<keyof SVGAttributes<any>>([\n 'viewBox',\n 'fill',\n 'stroke',\n 'strokeWidth',\n 'strokeLinecap',\n 'strokeLinejoin',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeOpacity',\n 'fillOpacity',\n 'opacity',\n 'pointerEvents',\n 'focusable',\n 'x',\n 'y',\n 'x1',\n 'x2',\n 'y1',\n 'y2',\n 'cx',\n 'cy',\n 'r',\n 'rx',\n 'ry',\n 'd',\n 'points',\n 'height',\n 'transform',\n 'xmlns',\n 'preserveAspectRatio',\n 'mask',\n 'clipPath',\n 'pathLength',\n 'markerStart',\n 'markerMid',\n 'markerEnd',\n 'refX',\n 'refY',\n 'dominantBaseline',\n 'textAnchor',\n]);\n\nconst VALID_EVENT_ATTRS = new Set([\n // Clipboard\n 'onCopy',\n 'onCut',\n 'onPaste',\n\n // Composition\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n\n // Focus\n 'onFocus',\n 'onBlur',\n\n // Form\n 'onChange',\n 'onInput',\n 'onInvalid',\n 'onReset',\n 'onSubmit',\n\n // Keyboard\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n\n // Mouse\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n\n // Drag & Drop\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n\n // Pointer\n 'onPointerDown',\n 'onPointerMove',\n 'onPointerUp',\n 'onPointerCancel',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerOver',\n 'onPointerOut',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n\n // Selection\n 'onSelect',\n\n // Touch\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n\n // UI\n 'onScroll',\n\n // Wheel\n 'onWheel',\n\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\n // Image\n 'onLoad',\n 'onError',\n\n // Transition\n 'onTransitionEnd',\n 'onTransitionStart',\n 'onTransitionRun',\n 'onTransitionCancel',\n\n // Animation\n 'onAnimationStart',\n 'onAnimationEnd',\n 'onAnimationIteration',\n 'onAnimationCancel',\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","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","import { createContext } from 'react';\n\nimport type {\n HoneyCssColor,\n HoneyCssDimensionUnit,\n HoneyCssDimensionValue,\n HoneyCssSpacingValue,\n} from '../css';\nimport type {\n Nullable,\n HoneyTheme,\n HoneyColorKey,\n HoneyDimensionName,\n HoneyFontName,\n HoneySpacings,\n HoneyStyledInterpolation,\n} from '../types';\nimport type { HoneyResolveSpacingResult } from '../utils';\n\nexport interface HoneyStyleContextValue {\n /**\n * Represents the theme object.\n */\n theme: HoneyTheme;\n /**\n * Function to resolve spacing values based on a given theme.\n *\n * @template Value - A type representing the spacing value(s), which could be a single value or an array of values.\n * @template Unit - The CSS unit used for the resolved spacing value, e.g., 'px', 'em'.\n *\n * @param value - The spacing value(s) to be applied, which could be a single number or an array of numbers.\n * @param [unit] - The CSS unit to use for the calculated value. Defaults to 'px'.\n * @param [type] - The type of spacing to use from the theme (e.g., 'base', 'small', 'large').\n *\n * @returns The resolved spacing value, formatted as a string with the appropriate unit.\n */\n resolveSpacing: <\n Value extends HoneyCssSpacingValue,\n Unit extends Nullable<HoneyCssDimensionUnit> = 'px',\n >(\n value: Value,\n unit?: Unit,\n type?: keyof HoneySpacings,\n ) => HoneyResolveSpacingResult<Value, Unit>;\n /**\n * Function to resolve color values based on the theme.\n *\n * @param colorKey - The key representing the color in the theme.\n * @param [alpha] - Optional alpha value to apply to the color for transparency.\n *\n * @returns The resolved CSS color, optionally with alpha transparency.\n */\n resolveColor: (colorKey: HoneyColorKey, alpha?: number) => HoneyCssColor;\n /**\n * Function to resolve font styles based on the theme.\n *\n * @param fontName - The name of the font to resolve from the theme.\n *\n * @returns The CSS style rules for the specified font.\n */\n resolveFont: (fontName: HoneyFontName) => HoneyStyledInterpolation<object>;\n /**\n * Function to resolve dimension values based on the theme.\n *\n * @param dimensionName - The name of the dimension to resolve from the theme.\n *\n * @returns The resolved CSS dimension value (e.g., width, height).\n */\n resolveDimension: (dimensionName: HoneyDimensionName) => HoneyCssDimensionValue;\n}\n\nexport const HoneyStyleContext = createContext<HoneyStyleContextValue | undefined>(undefined);\n","const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop,t.clientWidth,t.clientHeight),n=t=>\"A\"===t.tagName,r=t=>\"true\"===t.getAttribute(\"contenteditable\"),a=[\"INPUT\",\"SELECT\",\"TEXTAREA\",\"BUTTON\",\"A\"],l=t=>{if(!t)return!1;const e=window.getComputedStyle(t);if(\"hidden\"===e.visibility||\"none\"===e.display)return!1;if(\"disabled\"in t&&t.disabled)return!1;const l=t.getAttribute(\"tabindex\");return\"-1\"!==l&&(a.includes(t.tagName)?!n(t)||\"\"!==t.href:!!r(t)||null!==l)},i=t=>Array.from(t.querySelectorAll(\"*\")).filter(l),o=(t,e=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,l=e??a?.parentElement;if(!a||!l)return;const o=i(l);if(0===o.length)return;const s=o.indexOf(a);if(-1===s)return;let c;r?c=r(s,t,o):\"next\"===t?(c=s+1,c>=o.length&&(c=n?0:null)):(c=s-1,c<0&&(c=n?o.length-1:null)),null!==c&&o[c]?.focus()},s=(...t)=>e=>t.reduce((t,e)=>e(t),e),c=(...t)=>e=>t.reduceRight((t,e)=>e(t),e),u=(t,e)=>t.filter(t=>!e.includes(t)),h=t=>[...new Set(t)],f=(...t)=>{if(0===t.length)return[];if(1===t.length)return[...t[0]];const[e,...n]=t;return h(e).filter(t=>n.every(e=>e.includes(t)))};function d(t,e){if(!t)throw new Error(e)}const m=t=>null===t,p=t=>null==t,g=t=>null!=t,y=t=>void 0===t,w=t=>\"number\"==typeof t,b=t=>\"boolean\"==typeof t,x=t=>\"object\"==typeof t,A=t=>x(t)&&!m(t)&&0===Object.keys(t).length,S=t=>t instanceof Date,I=t=>t instanceof Blob,M=t=>t instanceof Error,v=t=>S(t)&&!isNaN(t.getTime()),C=t=>t instanceof RegExp,k=t=>t instanceof Map,E=t=>t instanceof Set,O=t=>\"symbol\"==typeof t,$=t=>w(t)&&isFinite(t),L=t=>w(t)&&Number.isInteger(t),P=t=>$(t)&&!Number.isInteger(t),T=(t,e)=>(d(e>0,\"Chunk size must be greater than 0\"),Array.from({length:Math.ceil(t.length/e)},(n,r)=>t.slice(r*e,(r+1)*e))),X=t=>t.filter(Boolean),_=t=>Array.isArray(t),z=t=>_(t)&&0===t.length,N=(t,e,n)=>{if(!t?.length||!e)return{previousItem:null,currentItem:null,nextItem:null};const r=t.findIndex(t=>n(t,e));return-1===r?{previousItem:null,currentItem:null,nextItem:null}:{previousItem:r>0?t[r-1]:null,currentItem:t[r],nextItem:r<t.length-1?t[r+1]:null}},R=()=>{},Y=t=>\"function\"==typeof t,j=t=>(...e)=>!t(...e),F=t=>{let e,n=!1;return function(...r){return n||(n=!0,e=t.apply(this,r)),e}},U=t=>Y(t?.then),W=async(t,e)=>{const n=[];for(let r=0;r<t.length;r++)n.push(await e(t[r],r,t));return n},B=async(t,e)=>Promise.all(t.map(e)),D=async(t,e)=>{const n=[];for(let r=0;r<t.length;r++){const a=t[r];await e(a,r,t)&&n.push(a)}return n},H=async(t,e)=>{const n=await B(t,async(t,n,r)=>!!await e(t,n,r)&&t);return X(n)},Z=async(t,e)=>{for(let n=0;n<t.length;n++)if(await e(t[n],n,t))return!0;return!1},V=async(t,e)=>{for(let n=0;n<t.length;n++)if(!await e(t[n],n,t))return!1;return!0},G=async(t,e,n)=>{let r=n;for(let n=0;n<t.length;n++)r=await e(r,t[n],n,t);return r},J=async(t,e)=>{for(let n=0;n<t.length;n++)if(await e(t[n],n,t))return t[n];return null},q=t=>new Promise(e=>setTimeout(e,t)),K=async(t,e,n=\"Operation timed out\")=>{try{return await Promise.race([t,q(e).then(()=>Promise.reject(new Error(n)))])}finally{}},Q=(t,{maxAttempts:e=3,delayMs:n=300,backoff:r=!0,onRetry:a}={})=>async(...l)=>{let i;for(let o=1;o<=e;o++)try{return await t(...l)}catch(t){if(i=t,o<e){a?.(o,t);const e=r?n*2**(o-1):n;await q(e)}}throw i},tt=t=>{try{return JSON.parse(t)}catch{return null}},et=\"application/json\",nt=(t,e)=>{t.setData(et,JSON.stringify(e))},rt=t=>{const e=t.getData(et);return e?tt(e):null},at=t=>\"string\"==typeof t,lt=(t,{fileName:e,target:n}={})=>{if(y(document))return;const r=document.createElement(\"a\");let a=null;try{const l=at(t)?t:a=URL.createObjectURL(t);r.href=l,e&&(r.download=e),n&&(r.target=n),document.body.appendChild(r),r.click()}finally{r.remove(),a&&setTimeout(()=>{d(a,\"Object URL should not be null\"),URL.revokeObjectURL(a)},0)}},it=t=>t.scrollWidth>t.clientWidth,ot=t=>Math.max(0,t.scrollWidth-t.clientWidth),st=t=>t.scrollHeight>t.clientHeight,ct=t=>Math.max(0,t.scrollHeight-t.clientHeight),ut=({containerSize:t,elementOffset:e,elementSize:n})=>-(e+n/2-t/2),ht=(t,e)=>e<=0?0:Math.max(-e,Math.min(t,0)),ft=(t,e,{axis:n=\"both\",shouldClamp:r=!0}={})=>{let a=0,l=0;if(\"x\"===n||\"both\"===n){const n=ut({containerSize:t.clientWidth,elementOffset:e.offsetLeft,elementSize:e.clientWidth});a=r?ht(n,ot(t)):n}if(\"y\"===n||\"both\"===n){const n=ut({containerSize:t.clientHeight,elementOffset:e.offsetTop,elementSize:e.clientHeight});l=r?ht(n,ct(t)):n}t.style.transform=`translate(${a}px, ${l}px)`},dt=t=>{const e=window.getComputedStyle(t).getPropertyValue(\"transform\").match(/^matrix\\((.+)\\)$/);if(!e)return{translateX:0,translateY:0,scaleX:1,scaleY:1,skewX:0,skewY:0};const[n,r,a,l,i,o]=e[1].split(\", \").map(parseFloat);return{translateX:i,translateY:o,scaleX:n,scaleY:l,skewX:a,skewY:r}},mt=()=>{if(\"undefined\"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem(\"__non_existing_key__\"),!0}catch{return!1}},pt=()=>{if(!mt())return{readable:!1,writable:!1};try{const t=\"__test_write__\";return window.localStorage.setItem(t,\"1\"),window.localStorage.removeItem(t),{readable:!0,writable:!0}}catch{}return{readable:!0,writable:!1}},gt=t=>t instanceof File,yt=t=>{if(!t)return[];const e=[];for(let n=0;n<t.length;n++)e.push(t[n]);return e},wt=(t,e)=>new File([t],e,{type:t.type}),bt=async(t,{skipFiles:e=[\".DS_Store\",\"Thumbs.db\",\"desktop.ini\",\"ehthumbs.db\",\".Spotlight-V100\",\".Trashes\",\".fseventsd\",\"__MACOSX\"]}={})=>{const n=new Set(e),r=await(async t=>{const e=t.createReader(),n=async()=>new Promise((t,r)=>{e.readEntries(async e=>{if(e.length)try{const r=await n();t([...e,...r])}catch(t){r(t)}else t([])},r)});return n()})(t);return(await B(r,async t=>t.isDirectory?bt(t,{skipFiles:e}):n.has(t.name)?[]:[await new Promise((e,n)=>{t.file(e,n)})])).flat()},xt=async(t,e={})=>{const n=t?.items;if(!n)return[];const r=[];for(let t=0;t<n.length;t++){const a=n[t];if(\"webkitGetAsEntry\"in a){const t=a.webkitGetAsEntry?.();if(t?.isDirectory){r.push(bt(t,e));continue}if(t?.isFile){r.push(new Promise((e,n)=>t.file(t=>e([t]),n)));continue}}const l=a.getAsFile();l&&r.push(Promise.resolve([l]))}return(await Promise.all(r)).flat()},At=(t,...e)=>\"function\"==typeof t?t(...e):t,St=({delta:t,value:e,min:n,max:r})=>{if(0===t)return null;const a=e+t;return t<0?e<=n?null:Math.max(a,n):t>0?e>=r?null:Math.min(a,r):null},It=({value:t,min:e,max:n,velocityPxMs:r,deltaTimeMs:a,friction:l=.002,minVelocityPxMs:i=.01,emaAlpha:o=.2})=>{if(Math.abs(r)<i)return null;const s=St({delta:r*a,value:t,min:e,max:n});if(null===s)return null;const c=r*Math.exp(-l*a),u=o>0?r*(1-o)+c*o:c;return Math.abs(u)<i?null:{value:s,velocityPxMs:u}},Mt=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,vt=(t,e)=>Math.max(0,Math.min(t.right,e.right)-Math.max(t.left,e.left))*Math.max(0,Math.min(t.bottom,e.bottom)-Math.max(t.top,e.top))/(e.width*e.height),Ct=(t,e,{allowFallback:n=!0,invert:r=!0}={})=>{const a=r?-1:1;switch(e){case\"x\":return{deltaX:a*(0!==t.deltaX?t.deltaX:n?t.deltaY:0),deltaY:0};case\"y\":return{deltaX:0,deltaY:a*t.deltaY};default:return{deltaX:a*t.deltaX,deltaY:a*t.deltaY}}},kt=(t,e,n,r)=>{const a=n-t,l=r-e;return Math.hypot(a,l)},Et=(t,e)=>Math.abs(t/e),Ot=(t,e)=>t*e/100,$t=t=>{let e=5381;for(let n=0;n<t.length;n++)e=33*e^t.charCodeAt(n);return(e>>>0).toString(36)},Lt=t=>Object.entries(t).reduce((t,[e,n])=>(void 0!==n&&(t[e]=n),t),{}),Pt=t=>t.replace(/([a-z0-9])([A-Z])/g,\"$1-$2\").toLowerCase(),Tt=t=>{const e=t.charAt(0),n=t.slice(1);return e.toLowerCase()+n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)},Xt=t=>t.replace(/([a-z0-9])([A-Z])/g,\"$1 $2\"),_t=t=>0===t.length?[]:t.split(\" \").filter(Boolean),zt=t=>\"\"===t||p(t),Nt=t=>{const e=t.lastIndexOf(\".\");return e<=0||e===t.length-1?[t,\"\"]:[t.slice(0,e),t.slice(e+1).toLowerCase()]},Rt=(t,e)=>{if(0===t.length)return[];const n=e.charCodeAt(0),r=[];for(let e=0;e<t.length;e++)t.charCodeAt(e)===n&&r.push(e);return r},Yt=(t,e,n)=>{if(0===t.length)return;const r=t.length;for(let a=0;a<r;a++){const l=t[a],i={charIndex:a,prevChar:a>0?t[a-1]:null,nextChar:a<r-1?t[a+1]:null};n?.(l,i)||e(l,i)}},jt=(t,e=1/0)=>0===t.length?\"\":_t(t).slice(0,e).map(t=>t[0]).join(\"\").toUpperCase(),Ft=(t,e,n,r=e)=>t.split(e).map((t,e)=>n(t.trim(),e)).join(r),Ut=(t,e,n,r=[],a=void 0,l=0)=>(t?.forEach(t=>{const{[n]:i,...o}=t,s=t[n],c=Array.isArray(s);if(r.push({...o,parentId:a,depthLevel:l,childCount:c?s.length:0}),c){const a=t[e];Ut(s,e,n,r,a,l+1)}}),r),Wt=(t,e,n)=>t.filter(t=>t.parentId===e&&(!n||n(t))),Bt=(t,e,n,r)=>{const a=_t(r.toLowerCase());if(!a.length)return t;const l=t.reduce((t,n,r)=>(t[n[e]]=r,t),{});return t.reduce((r,i)=>{const o=i[n];if(!o)return r;if(r.some(t=>t[e]===i[e]))return r;const s=_t(o.toLowerCase());if(a.every(t=>s.some(e=>e.startsWith(t))))if(y(i.parentId)){r.push(i);const n=a=>{a.childCount&&t.forEach(t=>{t.parentId===a[e]&&(r.push(t),n(t))})};n(i)}else{const e=n=>{const a=l[n.parentId],i=t[a];y(i.parentId)||e(i);const o=r.length?r[r.length-1].parentId:null;(m(o)||o!==n.parentId)&&(d(i,\"[@react-hive/honey-utils]: Parent node was not found.\"),r.push(i))};e(i),r.push(i)}return r},[])},Dt=(t,e)=>{d(e>=0&&e<=1,`[@react-hive/honey-utils]: Alpha \"${e}\" must be a number between 0 and 1.`);const n=t.match(/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/);d(n,`[@react-hive/honey-utils]: Invalid hex format: ${t}`);const r=n[1];return`#${(3===r.length?r[0]+r[0]+r[1]+r[1]+r[2]+r[2]:r)+Math.round(255*e).toString(16).toUpperCase().padStart(2,\"0\")}`},Ht=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Zt=t=>{try{return Ht.test(t)?\"undefined\"!=typeof Buffer?Buffer.from(t,\"base64\").toString(\"utf-8\"):decodeURIComponent(atob(t).split(\"\").map(t=>`%${t.charCodeAt(0).toString(16).padStart(2,\"0\")}`).join(\"\")):null}catch{return null}},Vt=t=>{const e=Zt(t);return null===e?null:tt(e)};export{et as DATA_TRANSFER_JSON_MIME,a as FOCUSABLE_HTML_TAGS,It as applyInertiaStep,d as assert,wt as blobToFile,ut as calculateCenterOffset,kt as calculateEuclideanDistance,Et as calculateMovingSpeed,Ot as calculatePercentage,Tt as camelToDashCase,Xt as camelToWords,ft as centerElementInContainer,T as chunk,ht as clampOffsetToOverflow,t as cloneBlob,X as compact,c as compose,Zt as decodeBase64,Vt as decodeBase64Json,Lt as definedProps,q as delay,u as difference,lt as downloadFile,V as everyAsync,yt as fileListToFiles,H as filterParallel,D as filterSequential,J as findAsync,Rt as findCharIndices,Ut as flattenTree,Yt as forEachChar,Mt as generateEphemeralId,N as getAdjacentItems,vt as getDOMRectIntersectionRatio,rt as getDataTransferJson,e as getElementOffsetRect,i as getFocusableHtmlElements,pt as getLocalStorageCapabilities,Wt as getTreeChildren,jt as getWordsInitials,ot as getXOverflowWidth,ct as getYOverflowHeight,it as hasXOverflow,st as hasYOverflow,$t as hashString,Dt as hexWithAlpha,f as intersection,At as invokeIfFunction,n as isAnchorHtmlElement,_ as isArray,I as isBlob,b as isBool,r as isContentEditableHtmlElement,S as isDate,P as isDecimal,g as isDefined,z as isEmptyArray,A as isEmptyObject,M as isError,gt as isFile,$ as isFiniteNumber,Y as isFunction,l as isHtmlElementFocusable,L as isInteger,mt as isLocalStorageReadable,k as isMap,p as isNil,zt as isNilOrEmptyString,m as isNull,w as isNumber,x as isObject,U as isPromise,C as isRegExp,E as isSet,at as isString,O as isSymbol,y as isUndefined,v as isValidDate,o as moveFocusWithinContainer,R as noop,j as not,F as once,dt as parse2DMatrix,Nt as parseFileName,tt as parseJson,s as pipe,xt as readFilesFromDataTransfer,G as reduceAsync,Ct as resolveAxisDelta,St as resolveBoundedDelta,Q as retry,B as runParallel,W as runSequential,Bt as searchTree,nt as setDataTransferJson,Z as someAsync,Ft as splitMapJoin,_t as splitStringIntoWords,K as timeout,Pt as toKebabCase,bt as traverseFileSystemDirectory,h as unique};\n//# sourceMappingURL=index.mjs.map","import type { HoneyCssColorProperty, HoneyCssSpacingProperty } from './types';\n\nexport const CSS_SPACING_PROPERTIES: readonly HoneyCssSpacingProperty[] = [\n 'margin',\n 'marginTop',\n 'marginRight',\n 'marginBottom',\n 'marginLeft',\n 'padding',\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n 'paddingBlock',\n 'paddingBlockStart',\n 'paddingBlockEnd',\n 'top',\n 'right',\n 'bottom',\n 'left',\n 'inset',\n 'gap',\n 'rowGap',\n 'columnGap',\n];\n\nexport const CSS_COLOR_PROPERTIES: readonly HoneyCssColorProperty[] = [\n 'color',\n 'backgroundColor',\n 'borderColor',\n 'borderTopColor',\n 'borderRightColor',\n 'borderBottomColor',\n 'borderLeftColor',\n 'outlineColor',\n 'textDecorationColor',\n 'fill',\n 'stroke',\n];\n","const e=e=>\"{\"===e||\"}\"===e||\":\"===e||\";\"===e||\"@\"===e||\"(\"===e||'\"'===e||\"'\"===e||\"/\"===e,t=t=>{const n=[];let r=0;const o=()=>r>=t.length,s=()=>o()?void 0:t[r],c=()=>r+1>=t.length?void 0:t[r+1],i=()=>{for(;;){const e=s();if(!e||!/\\s/.test(e))return;r++}},a=()=>{if(\"/\"!==s()||\"/\"!==c())return!1;for(r+=2;!o();){if(\"\\n\"===s()){r++;break}r++}return!0},p=()=>{if(\"/\"!==s()||\"*\"!==c())return!1;for(r+=2;!o();){if(\"*\"===s()&&\"/\"===c())return r+=2,!0;r++}return!0},l=()=>{const e=s();if(!e)return\"\";r++;let t=\"\";for(;!o();){const n=s();if(!n)break;if(\"\\\\\"===n){t+=n,r++;const e=s();e&&(t+=e,r++);continue}if(n===e){r++;break}t+=n,r++}return t},u=()=>{let e=0,t=\"\";for(;!o();){const n=s();if(!n)break;if(\"(\"===n?e++:\")\"===n&&e--,t+=n,r++,0===e)break}return t},f=()=>{let t=\"\";for(;!o();){const n=s();if(!n)break;if(e(n))break;t+=n,r++}return t.trim()};for(;!o()&&(i(),!o());){if(a()||p())continue;const e=s();if(!e)break;if(\"{\"===e){n.push({type:\"braceOpen\"}),r++;continue}if(\"}\"===e){n.push({type:\"braceClose\"}),r++;continue}if(\":\"===e){n.push({type:\"colon\"}),r++;continue}if(\";\"===e){n.push({type:\"semicolon\"}),r++;continue}if(\"@\"===e){n.push({type:\"at\"}),r++;continue}if(\"(\"===e){n.push({type:\"params\",value:u()});continue}if('\"'===e||\"'\"===e){n.push({type:\"string\",value:l()});continue}const t=f();t?n.push({type:\"text\",value:t}):r++}return n};function n(e,t){if(!e)throw new Error(t)}const r=e=>{let t=0;const r=()=>t>=e.length,o=()=>r()?void 0:e[t],s=()=>r()?void 0:e[t++];return{isEof:r,peek:o,next:s,mark:()=>t,reset:e=>{t=e},expect:e=>{const t=s();return n(t,`[@react-hive/honey-css]: Expected \"${e}\" but reached end of input.`),n(t.type===e,`[@react-hive/honey-css]: Expected \"${e}\" but got \"${t.type}\".`),t},readUntil:e=>{let t,n=\"\";for(;!r();){const r=o();if(!r||e.includes(r.type))break;\"text\"===r.type?(\"text\"===t&&n&&(n+=\" \"),n+=r.value):\"string\"===r.type?n+=`\"${r.value}\"`:\"params\"===r.type&&(n+=r.value),t=r.type,s()}return n.trim()},skipUntil:e=>{for(;!r();){const t=o();if(!t||e.includes(t.type))break;s()}}}},o=e=>{const t=[],n=()=>t.join(\"\").trim();for(;!e.isEof();){const r=e.peek();if(!r)break;switch(r.type){case\"braceOpen\":case\"braceClose\":default:return n();case\"colon\":t.push(\":\");break;case\"text\":case\"params\":t.push(r.value);break;case\"string\":t.push(`\"${r.value}\"`)}e.next()}return n()},s=e=>{const t=e.peek();if(!t)return\"\";if(\"colon\"===t.type)return o(e);const n=e.mark(),r=o(e);return\"braceOpen\"===e.peek()?.type?r:(e.reset(n),e.readUntil([\"colon\",\"braceOpen\",\"semicolon\",\"braceClose\",\"at\"]))},c=(e,t)=>{e.expect(\"colon\");const n=e.readUntil([\"semicolon\",\"braceClose\"]);return\"semicolon\"===e.peek()?.type&&e.next(),{type:\"declaration\",prop:t,value:n}},i=(e,t)=>{let n=0,r=0,o=0,s=null,c=!1;for(let i=0;i<e.length;i++){const a=e.charCodeAt(i);if(c)c=!1;else if(92!==a)if(null===s)if(34!==a&&39!==a)if(40!==a)if(41!==a)if(91!==a)if(93!==a){if(44===a&&0===r&&0===o){const r=e.slice(n,i).trim();r&&t(r),n=i+1}}else o--;else o++;else r--;else r++;else s=a;else a===s&&(s=null);else c=!0}const i=e.slice(n).trim();i&&t(i)},a=(e,t)=>{const n=e.trim();if(!n)return\"\";const r=t.trim();if(!r)return n;const o=-1!==r.indexOf(\",\"),s=-1!==n.indexOf(\",\"),c=-1!==n.indexOf(\"&\");if(!o&&!s)return c?n.replaceAll(\"&\",r):`${r} ${n}`;const a=[];return i(r,e=>{i(n,t=>{t.includes(\"&\")?a.push(t.replaceAll(\"&\",e)):a.push(`${e} ${t}`)})}),a.join(\", \")},p=e=>{switch(e.type){case\"declaration\":return(e=>{const t=e.value.trim();return t?`${e.prop}:${t};`:\"\"})(e);case\"rule\":return(e=>{const t=e.body.map(p).join(\"\");return t?`${e.selector}{${t}}`:\"\"})(e);case\"atRule\":return(e=>{const t=e.params?` ${e.params}`:\"\";if(null===e.body)return`@${e.name}${t};`;const n=e.body.map(p).join(\"\");return n?`@${e.name}${t}{${n}}`:\"\"})(e);default:return\"\"}},l=e=>e.body.map(p).filter(Boolean).join(\"\"),u=(e,t)=>(e.expect(\"braceOpen\"),{type:\"rule\",selector:t,body:y(e)}),f=(e,{stopAtBraceClose:t})=>{const n=[];for(;!e.isEof();){const r=e.peek();if(!r)break;if(t&&\"braceClose\"===r.type){e.next();break}if(\"semicolon\"===r.type){e.next();continue}if(\"at\"===r.type){n.push(b(e));continue}const o=s(e);o?\"colon\"!==e.peek()?.type?\"braceOpen\"!==e.peek()?.type?e.next():n.push(u(e,o)):n.push(c(e,o)):e.next()}return n},y=e=>f(e,{stopAtBraceClose:!0}),b=e=>{e.expect(\"at\");const t=e.readUntil([\"semicolon\",\"braceOpen\"]),{name:n,params:r}=(e=>{const t=e.trim();if(!t)return{name:\"\",params:void 0};let n=0;const r=t.length;for(;n<r;){const e=t[n];if(\" \"===e||\"\\t\"===e||\"\\n\"===e||\"\\r\"===e||\"\\f\"===e||\"(\"===e)break;n++}const o=t.slice(0,n);for(;n<r;){const e=t[n];if(\" \"!==e&&\"\\t\"!==e&&\"\\n\"!==e&&\"\\r\"!==e&&\"\\f\"!==e)break;n++}return{name:o,params:t.slice(n)||void 0}})(t);let o=r;if(\"params\"===e.peek()?.type){const t=e.expect(\"params\").value;o=o?`${o}${t}`:t}return\"braceOpen\"===e.peek()?.type?{type:\"atRule\",name:n,params:o,body:y(e)}:(\"semicolon\"===e.peek()?.type&&e.next(),{type:\"atRule\",name:n,params:o,body:null})},m=e=>{const n=t(e),o=r(n);return{type:\"stylesheet\",body:f(o,{stopAtBraceClose:!1})}};export{r as createCssTokenCursor,m as parseCss,b as parseCssAtRule,y as parseCssBlock,c as parseCssDeclaration,f as parseCssNodes,u as parseCssRule,s as readCssKeyOrSelector,o as readCssSelector,a as resolveCssSelector,l as stringifyCss,t as tokenizeCss};\n//# sourceMappingURL=index.mjs.map","import {\n isArray,\n isFunction,\n isNilOrEmptyString,\n isObject,\n toKebabCase,\n} from '@react-hive/honey-utils';\nimport * as CSS from 'csstype';\n\nimport { HONEY_STYLED_COMPONENT_ID_PROP } from '../constants';\nimport { isStyledComponent } from '../utils';\nimport { CSS_COLOR_PROPERTIES, CSS_SPACING_PROPERTIES } from './constants';\nimport type { HoneyCssColorProperty, HoneyCssSpacingProperty } from './types';\nimport type { HoneyStyledInterpolation, HoneyStyledContext } from '../types';\n\n/**\n * Checks whether a CSS property is spacing-related.\n *\n * Spacing properties include margins, paddings, positional offsets,\n * and layout gaps, such as `margin`, `paddingLeft`, `top`, and `gap`.\n *\n * @param propertyName - The CSS property name to check.\n *\n * @returns Returns true if the property is spacing-related.\n */\nexport const isCssSpacingProperty = (\n propertyName: keyof CSS.Properties,\n): propertyName is HoneyCssSpacingProperty =>\n CSS_SPACING_PROPERTIES.includes(propertyName as never);\n\n/**\n * Checks whether a CSS property is color-related.\n *\n * Color properties include properties that directly define text, background,\n * border, outline, decoration, shadow, or SVG colors.\n *\n * @param propertyName - The CSS property name to check.\n *\n * @returns Returns true if the property is color-related.\n */\nexport const isCssColorProperty = (\n propertyName: keyof CSS.Properties,\n): propertyName is HoneyCssColorProperty => CSS_COLOR_PROPERTIES.includes(propertyName as never);\n\nconst resolveCssInterpolation = <Props extends object>(\n value: HoneyStyledInterpolation<Props>,\n context: HoneyStyledContext<Props>,\n): string => {\n if (value === false || isNilOrEmptyString(value)) {\n return '';\n }\n\n if (isFunction(value)) {\n if (isStyledComponent(value)) {\n return `.${value[HONEY_STYLED_COMPONENT_ID_PROP]}`;\n }\n\n return resolveCssInterpolation(value(context), context);\n }\n\n if (isArray(value)) {\n return value.map(v => resolveCssInterpolation(v, context)).join('\\n');\n }\n\n if (isObject(value)) {\n return Object.entries(value)\n .filter(([, v]) => v !== undefined && v !== false)\n .map(([k, v]) => `${toKebabCase(k)}: ${v};`)\n .join('\\n');\n }\n\n return value.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(\n (cssResult, str, index) =>\n cssResult + str + resolveCssInterpolation(interpolations[index], context),\n '',\n );\n};\n\nexport const createCssRule = (selector: string, css: string) => `${selector}{${css}}`;\n","import type {\n HoneyCssAstNode,\n HoneyCssAstRuleNode,\n HoneyCssAstStylesheetNode,\n} from '@react-hive/honey-css';\nimport { resolveCssSelector } from '@react-hive/honey-css';\n\nconst SELECTOR_CONTEXT_AT_RULES: Record<string, true> = {\n media: true,\n supports: true,\n container: true,\n layer: true,\n};\n\nconst flattenRule = (node: HoneyCssAstRuleNode, parentSelector?: string): HoneyCssAstNode[] => {\n const fullSelector = parentSelector\n ? resolveCssSelector(node.selector, parentSelector)\n : node.selector;\n\n return flattenNodes(node.body, fullSelector);\n};\n\nconst flattenNodes = (nodes: HoneyCssAstNode[], parentSelector?: string): HoneyCssAstNode[] => {\n const result: HoneyCssAstNode[] = [];\n\n const declarationBuffer: HoneyCssAstNode[] = [];\n\n const flushDeclarations = () => {\n if (!parentSelector || declarationBuffer.length === 0) {\n return;\n }\n\n result.push({\n type: 'rule',\n selector: parentSelector,\n // Cheaper intent clarity\n body: declarationBuffer.slice(),\n });\n\n declarationBuffer.length = 0;\n };\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n if (node.type === 'declaration') {\n declarationBuffer.push(node);\n continue;\n }\n\n if (node.type === 'rule') {\n flushDeclarations();\n\n result.push(...flattenRule(node, parentSelector));\n continue;\n }\n\n if (node.type === 'atRule') {\n flushDeclarations();\n\n if (!SELECTOR_CONTEXT_AT_RULES[node.name]) {\n result.push(node);\n continue;\n }\n\n result.push({\n ...node,\n body:\n node.body && node.body.length > 0 ? flattenNodes(node.body, parentSelector) : node.body,\n });\n\n continue;\n }\n\n flushDeclarations();\n\n result.push(node);\n }\n\n flushDeclarations();\n\n return result;\n};\n\nexport const flattenCssRules = (ast: HoneyCssAstStylesheetNode): HoneyCssAstStylesheetNode => ({\n ...ast,\n body: flattenNodes(ast.body),\n});\n","import type { HoneyCssAstNode, HoneyCssAstStylesheetNode } from '@react-hive/honey-css';\nimport { resolveCssSelector, stringifyCss } from '@react-hive/honey-css';\n\nimport { flattenCssRules } from './flatten-css-rules';\n\nconst SCOPED_AT_RULES: Record<string, true> = {\n media: true,\n supports: true,\n container: true,\n layer: true,\n};\n\nconst scopeNodes = (nodes: HoneyCssAstNode[], scope: string): HoneyCssAstNode[] =>\n nodes.map(node => {\n if (node.type === 'rule') {\n return {\n ...node,\n selector: resolveCssSelector(node.selector, scope),\n };\n }\n\n if (node.type === 'atRule') {\n if (!SCOPED_AT_RULES[node.name]) {\n return node;\n }\n\n return {\n ...node,\n body: node.body === null ? null : scopeNodes(node.body, scope),\n };\n }\n\n return node;\n });\n\nexport const compileCss = (ast: HoneyCssAstStylesheetNode, scope?: string): string => {\n const nextAst = flattenCssRules(\n scope\n ? {\n ...ast,\n body: scopeNodes(ast.body, scope),\n }\n : ast,\n );\n\n return stringifyCss(nextAst);\n};\n","import type {\n HoneyCssAstAtRuleNode,\n HoneyCssAstNode,\n HoneyCssAstStylesheetNode,\n} from '@react-hive/honey-css';\n\nexport const createAtRuleTransformer = (\n name: string,\n handler: (node: HoneyCssAstAtRuleNode) => HoneyCssAstNode[],\n) => {\n return (ast: HoneyCssAstStylesheetNode): HoneyCssAstStylesheetNode => {\n const transformNodes = (nodes: HoneyCssAstNode[]): HoneyCssAstNode[] => {\n const result: HoneyCssAstNode[] = [];\n\n for (const node of nodes) {\n if (node.type === 'atRule' && node.name === name) {\n const transformedBody = transformNodes(node.body ?? []);\n\n const replaced = handler({\n ...node,\n body: transformedBody,\n });\n\n result.push(...replaced);\n continue;\n }\n\n if (node.type === 'rule') {\n result.push({\n ...node,\n body: transformNodes(node.body),\n });\n continue;\n }\n\n if (node.type === 'atRule') {\n result.push({\n ...node,\n body: node.body === null ? null : transformNodes(node.body),\n });\n continue;\n }\n\n result.push(node);\n }\n\n return result;\n };\n\n return {\n ...ast,\n body: transformNodes(ast.body),\n };\n };\n};\n","import { createAtRuleTransformer } from './create-at-rule-transformer';\n\nexport const transformAbsoluteFillAtRule = createAtRuleTransformer('honey-absolute-fill', node => {\n return [\n {\n type: 'declaration',\n prop: 'position',\n value: 'absolute',\n },\n {\n type: 'declaration',\n prop: 'inset',\n value: '0',\n },\n ...(node.body ?? []),\n ];\n});\n","export const unwrapParams = (input?: string): string => {\n if (!input) {\n return '';\n }\n\n const trimmed = input.trim();\n\n if (trimmed.startsWith('(') && trimmed.endsWith(')')) {\n return trimmed.slice(1, -1).trim();\n }\n\n return trimmed;\n};\n","import type {\n HoneyCssAstAtRuleNode,\n HoneyCssAstDeclarationNode,\n HoneyCssAstNode,\n} from '@react-hive/honey-css';\n\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\nimport { unwrapParams } from './unwrap-params';\n\n/**\n * Transforms:\n *\n * @honey-center();\n * @honey-center(horizontal);\n * @honey-center(vertical);\n * @honey-center(block);\n * @honey-center(inline);\n */\nexport const transformCenterAtRule = createAtRuleTransformer(\n 'honey-center',\n (node: HoneyCssAstAtRuleNode): HoneyCssAstNode[] => {\n const params = unwrapParams(node.params);\n\n const nodes: HoneyCssAstDeclarationNode[] = [];\n\n switch (params) {\n case 'horizontal':\n case 'x':\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'justify-content',\n value: 'center',\n },\n );\n break;\n\n case 'vertical':\n case 'y':\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'align-items',\n value: 'center',\n },\n );\n break;\n\n case 'block':\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'block',\n },\n {\n type: 'declaration',\n prop: 'text-align',\n value: 'center',\n },\n );\n break;\n\n case 'inline':\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'inline-flex',\n },\n {\n type: 'declaration',\n prop: 'align-items',\n value: 'center',\n },\n {\n type: 'declaration',\n prop: 'justify-content',\n value: 'center',\n },\n );\n break;\n\n default:\n nodes.push(\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'align-items',\n value: 'center',\n },\n {\n type: 'declaration',\n prop: 'justify-content',\n value: 'center',\n },\n );\n break;\n }\n\n return [...nodes, ...(node.body ?? [])];\n },\n);\n","import type { HoneyCssAstDeclarationNode } from '@react-hive/honey-css';\n\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\nimport { unwrapParams } from './unwrap-params';\n\nexport const transformStackAtRule = createAtRuleTransformer('honey-stack', node => {\n const param = unwrapParams(node.params);\n\n const nodes: HoneyCssAstDeclarationNode[] = [\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'flex-direction',\n value: 'column',\n },\n ];\n\n // If param provided → override gap explicitly\n if (param) {\n nodes.push({\n type: 'declaration',\n prop: 'gap',\n value: param,\n });\n }\n\n return [...nodes, ...(node.body ?? [])];\n});\n","import type { HoneyCssAstNode, HoneyCssAstStylesheetNode } from '@react-hive/honey-css';\nimport { toKebabCase } from '@react-hive/honey-utils';\n\nimport type { HoneyTheme } from '../types';\nimport { CSS_SPACING_PROPERTIES } from './constants';\nimport { resolveSpacingValue } from './resolve-spacing-value';\n\nconst KEBAB_CASE_SPACING_PROPERTIES = CSS_SPACING_PROPERTIES.map(toKebabCase);\n\ninterface CreateSpacingTransformerOptions {\n theme?: HoneyTheme;\n}\n\nexport const createSpacingTransformer = ({ theme }: CreateSpacingTransformerOptions) => {\n const spacingFactor = theme?.spacings?.base ?? 0;\n\n const transformNodes = (nodes: HoneyCssAstNode[]): HoneyCssAstNode[] =>\n nodes.map(node => {\n if (node.type === 'rule') {\n return {\n ...node,\n body: transformNodes(node.body),\n };\n }\n\n if (node.type === 'atRule') {\n return {\n ...node,\n body: node.body === null ? null : transformNodes(node.body),\n };\n }\n\n if (node.type === 'declaration') {\n if (!KEBAB_CASE_SPACING_PROPERTIES.includes(node.prop)) {\n return node;\n }\n\n // Skip if contains parentheses (calc, var, etc.)\n if (/[()]/.test(node.value)) {\n return node;\n }\n\n const parts = node.value.trim().split(/\\s+/);\n\n return {\n ...node,\n value: parts.map(part => resolveSpacingValue(part, spacingFactor)).join(' '),\n };\n }\n\n return node;\n });\n\n return (ast: HoneyCssAstStylesheetNode): HoneyCssAstStylesheetNode => ({\n ...ast,\n body: transformNodes(ast.body),\n });\n};\n","export const resolveSpacingValue = (value: string, spacingFactor: number): string => {\n const trimmed = value.trim();\n\n // CSS unit provided → keep as-is\n if (/[a-z%]+$/i.test(trimmed)) {\n return trimmed;\n }\n\n // Numeric multiplier\n if (/^-?\\d*\\.?\\d+$/.test(trimmed)) {\n return `${parseFloat(trimmed) * spacingFactor}px`;\n }\n\n return trimmed;\n};\n","import type {\n HoneyCssAstAtRuleNode,\n HoneyCssAstDeclarationNode,\n HoneyCssAstNode,\n} from '@react-hive/honey-css';\n\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\n\nexport const transformEllipsisAtRule = createAtRuleTransformer(\n 'honey-ellipsis',\n (node: HoneyCssAstAtRuleNode): HoneyCssAstNode[] => {\n const nodes: HoneyCssAstDeclarationNode[] = [\n {\n type: 'declaration',\n prop: 'white-space',\n value: 'nowrap',\n },\n {\n type: 'declaration',\n prop: 'overflow',\n value: 'hidden',\n },\n {\n type: 'declaration',\n prop: 'text-overflow',\n value: 'ellipsis',\n },\n ];\n\n // Preserve any nested children inside the block\n return [...nodes, ...(node.body ?? [])];\n },\n);\n","import type { HoneyCssAstDeclarationNode } from '@react-hive/honey-css';\n\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\nimport { unwrapParams } from './unwrap-params';\n\nexport const transformInlineAtRule = createAtRuleTransformer('honey-inline', node => {\n const param = unwrapParams(node.params);\n\n const nodes: HoneyCssAstDeclarationNode[] = [\n {\n type: 'declaration',\n prop: 'display',\n value: 'flex',\n },\n {\n type: 'declaration',\n prop: 'align-items',\n value: 'center',\n },\n ];\n\n if (param) {\n nodes.push({\n type: 'declaration',\n prop: 'gap',\n value: param,\n });\n }\n\n return [...nodes, ...(node.body ?? [])];\n});\n","import { compact } from '@react-hive/honey-utils';\n\nimport type { Nullable } from '../../types';\nimport type { HoneyCssDimensionValue } from '../types';\n\n/**\n * Represents CSS resolution units typically used in media queries.\n *\n * - `dpi` — dots per inch\n * - `dpcm` — dots per centimeter\n * - `dppx` — dots per pixel (e.g., 2dppx for Retina displays)\n * - `x` — alias for `dppx`\n */\ntype MediaQueryRuleResolutionUnit = 'dpi' | 'dpcm' | 'dppx' | 'x';\n\n/**\n * Represents a CSS resolution value, such as `'300dpi'`, `'2x'`, or `'1.5dppx'`.\n */\ntype MediaQueryRuleResolutionValue = `${number}${MediaQueryRuleResolutionUnit}`;\n\n/**\n * Properties for dimension-based media queries\n */\ninterface MediaQueryRuleDimensionProperties {\n width?: HoneyCssDimensionValue;\n minWidth?: HoneyCssDimensionValue;\n maxWidth?: HoneyCssDimensionValue;\n height?: HoneyCssDimensionValue;\n minHeight?: HoneyCssDimensionValue;\n maxHeight?: HoneyCssDimensionValue;\n}\n\n/**\n * Properties for resolution-based media queries\n */\ninterface MediaQueryRuleResolutionProperties {\n resolution?: MediaQueryRuleResolutionValue;\n minResolution?: MediaQueryRuleResolutionValue;\n maxResolution?: MediaQueryRuleResolutionValue;\n}\n\ntype MediaQueryRuleOperator = 'not' | 'only';\n\nexport type MediaQueryRuleType = 'all' | 'print' | 'screen' | 'speech';\n\n/**\n * Represents the possible values for media query orientation.\n *\n * Used in responsive styles to target specific device orientations.\n *\n * - `'landscape'` – Width is greater than height.\n * - `'portrait'` – Height is greater than width.\n */\nexport type MediaQueryRuleOrientation = 'landscape' | 'portrait';\n\ntype MediaQueryRuleUpdate = 'none' | 'slow' | 'fast';\n\n/**\n * Options for CSS @media at-rule.\n */\nexport interface HoneyMediaQueryRule\n extends MediaQueryRuleDimensionProperties, MediaQueryRuleResolutionProperties {\n operator?: MediaQueryRuleOperator;\n /**\n * @default screen\n */\n mediaType?: Nullable<MediaQueryRuleType>;\n orientation?: Nullable<MediaQueryRuleOrientation>;\n update?: MediaQueryRuleUpdate;\n}\n\ntype HoneyMediaQueryRuleConfig = [string, string | number];\n\n/**\n * Constructs a complete `@media` query string from an array of media rule objects.\n * Each rule defines conditions such as screen size, orientation, or resolution,\n * which are converted into standard CSS media query syntax.\n *\n * @param rules - An array of media rule objects used to generate individual media queries.\n *\n * @returns A string containing a full `@media` query that can be used in CSS or injected into a stylesheet.\n *\n * @example\n * ```ts\n * mediaQuery([\n * { minWidth: '768px', orientation: 'landscape' },\n * { mediaType: 'print' }\n * ]);\n * // Returns: \"@media screen and (min-width: 768px) and (orientation: landscape), print\"\n * ```\n */\nexport const mediaQuery = (rules: HoneyMediaQueryRule[]): string => {\n const mediaRules = rules.map(rule => {\n const rulesConfig: Nullable<HoneyMediaQueryRuleConfig | undefined>[] = [\n rule.width && ['width', rule.width],\n rule.minWidth && ['min-width', rule.minWidth],\n rule.maxWidth && ['max-width', rule.maxWidth],\n rule.height && ['height', rule.height],\n rule.minHeight && ['min-height', rule.minHeight],\n rule.maxHeight && ['max-height', rule.maxHeight],\n rule.orientation && ['orientation', rule.orientation],\n rule.minResolution && ['min-resolution', rule.minResolution],\n rule.maxResolution && ['max-resolution', rule.maxResolution],\n rule.resolution && ['resolution', rule.resolution],\n rule.update && ['update', rule.update],\n ];\n\n const conditions = compact(rulesConfig)\n .map(([prop, value]) => `(${prop}: ${value})`)\n .join(' and ');\n\n const operatorPart = rule.operator ? `${rule.operator} ` : '';\n const conditionsPart = conditions ? ` and ${conditions}` : '';\n\n return `${operatorPart}${rule.mediaType ?? 'screen'}${conditionsPart}`;\n });\n\n return `@media ${mediaRules.join(', ')}`;\n};\n","import type { HoneyCssAstAtRuleNode, HoneyCssAstNode } from '@react-hive/honey-css';\n\nimport type { HoneyBreakpoints, HoneyTheme, Nullable } from '../types';\nimport type {\n HoneyMediaQueryRule,\n MediaQueryRuleOrientation,\n MediaQueryRuleType,\n} from './at-rules';\nimport { mediaQuery } from './at-rules';\nimport { __DEV__ } from '../constants';\nimport { createAtRuleTransformer } from './create-at-rule-transformer';\nimport { unwrapParams } from './unwrap-params';\n\ntype BreakpointDirection = 'up' | 'down';\n\ninterface CreateMediaAtRuleTransformerOptions {\n theme?: HoneyTheme;\n}\n\nconst isOrientationToken = (token: string): token is MediaQueryRuleOrientation =>\n token === 'portrait' || token === 'landscape';\n\nconst isMediaTypeToken = (token: string): token is MediaQueryRuleType =>\n token === 'all' || token === 'print' || token === 'screen' || token === 'speech';\n\nconst isBreakpointToken = (token: string): boolean => /^[a-z]+\\b(:up|:down)?$/i.test(token);\n\nconst parseBreakpointRule = (raw: string) => {\n const [key, direction] = raw.split(':');\n return {\n key,\n direction: (direction ?? 'up') as BreakpointDirection,\n };\n};\n\nexport const createMediaAtRuleTransformer = ({ theme }: CreateMediaAtRuleTransformerOptions) =>\n createAtRuleTransformer('honey-media', (node: HoneyCssAstAtRuleNode): HoneyCssAstNode[] => {\n if (!theme?.breakpoints) {\n return [];\n }\n\n const rawParams = unwrapParams(node.params);\n if (!rawParams) {\n return [];\n }\n\n const tokens = rawParams.split(/\\s+/);\n\n let orientation: Nullable<MediaQueryRuleOrientation> = null;\n let mediaType: Nullable<MediaQueryRuleType> = null;\n\n const rules: HoneyMediaQueryRule[] = [];\n\n for (const token of tokens) {\n if (isOrientationToken(token)) {\n orientation = token;\n continue;\n }\n\n if (isMediaTypeToken(token)) {\n mediaType = token;\n continue;\n }\n\n if (!isBreakpointToken(token)) {\n if (__DEV__) {\n console.warn(`[@react-hive/honey-style]: Unknown @honey-media token: \"${token}\".`);\n }\n continue;\n }\n\n const breakpointRule = parseBreakpointRule(token);\n\n const breakpointPx =\n breakpointRule.key in theme.breakpoints\n ? theme.breakpoints[breakpointRule.key as keyof HoneyBreakpoints]\n : null;\n\n if (!breakpointPx) {\n if (__DEV__) {\n console.warn(\n `[@react-hive/honey-style]: Unknown breakpoint \"${breakpointRule.key}\" in @honey-media.`,\n );\n }\n\n continue;\n }\n\n let rule: HoneyMediaQueryRule | undefined;\n\n if (breakpointRule.direction === 'up') {\n rule = {\n minWidth: `${breakpointPx}px`,\n };\n } else if (breakpointRule.direction === 'down') {\n rule = {\n maxWidth: `${breakpointPx}px`,\n };\n }\n\n if (rule) {\n rules.push(rule);\n }\n }\n\n let finalRules: HoneyMediaQueryRule[] = [];\n\n if (rules.length) {\n finalRules = rules.map<HoneyMediaQueryRule>(rule => ({\n ...rule,\n orientation,\n mediaType,\n }));\n } else {\n if (mediaType) {\n finalRules.push({\n mediaType,\n });\n }\n\n if (orientation) {\n finalRules.push({\n orientation,\n });\n }\n }\n\n if (!finalRules.length) {\n return [];\n }\n\n const fullMedia = mediaQuery(finalRules);\n\n return [\n {\n type: 'atRule',\n name: 'media',\n params: fullMedia.replace(/^@media\\s*/, ''),\n body: node.body,\n },\n ];\n });\n","import { parseCss } from '@react-hive/honey-css';\n\nimport type { HoneyTheme } from '../types';\nimport { createCssRule } from './css';\nimport { compileCss } from './compile-css';\nimport { transformAbsoluteFillAtRule } from './transform-absolute-fill-at-rule';\nimport { transformCenterAtRule } from './transform-center-at-rule';\nimport { transformStackAtRule } from './transform-stack-at-rule';\nimport { createSpacingTransformer } from './create-spacing-transformer';\nimport { transformEllipsisAtRule } from './transform-ellipsis-at-rule';\nimport { transformInlineAtRule } from './transform-inline-at-rule';\nimport { createMediaAtRuleTransformer } from './create-media-at-rule-transformer';\n\ninterface ProcessCssOptions {\n theme?: HoneyTheme;\n selector?: string;\n}\n\nexport const processCss = (rawCss: string, { theme, selector }: ProcessCssOptions = {}): string => {\n const scopedCss = selector ? createCssRule(selector, rawCss) : rawCss;\n\n const ast = parseCss(scopedCss);\n\n const transformers = [\n transformStackAtRule,\n transformInlineAtRule,\n transformCenterAtRule,\n transformAbsoluteFillAtRule,\n transformEllipsisAtRule,\n createMediaAtRuleTransformer({ theme }),\n createSpacingTransformer({ theme }),\n ];\n\n const transformedAst = transformers.reduce((result, node) => node(result), ast);\n\n return compileCss(transformedAst);\n};\n","import { generateEphemeralId, hashString, hexWithAlpha } from '@react-hive/honey-utils';\n\nimport { HONEY_STYLED_COMPONENT_ID_PROP, VALID_DOM_ELEMENT_ATTRS } from './constants';\nimport { css } from './css';\nimport type {\n HoneyCssClassName,\n HoneyCssColor,\n HoneyCssDimensionUnit,\n HoneyCssDimensionValue,\n HoneyCssShorthandDimensionOutput,\n HoneyCssShorthandTuple,\n HoneyCssSpacingValue,\n} from './css';\nimport type {\n HoneyColor,\n HoneyColorKey,\n HoneyColors,\n HoneyDimensionName,\n HoneyFontName,\n HoneySpacings,\n HoneyStyledComponent,\n HoneyStyledContext,\n Nullable,\n} from './types';\n\nexport const generateId = (prefix: string) => `${prefix}-${generateEphemeralId()}`;\n\n/**\n * Combines multiple class names into a single space-separated string\n *\n * @param classNames - Array of class names to combine\n */\nexport const combineClassNames = (classNames: HoneyCssClassName[]) =>\n classNames.filter(Boolean).join(' ').trim();\n\nexport const buildClassName = (css: string) => `hscn-${hashString(css)}`;\n\nexport const isStyledComponent = (component: any): component is HoneyStyledComponent =>\n HONEY_STYLED_COMPONENT_ID_PROP in component;\n\n/**\n * Filters out non-standard HTML attributes from a props object intended for a native HTML element.\n *\n * Retains only valid DOM attributes, including standard HTML attributes and\n * custom `data-*` or `aria-*` attributes. This helps avoid React warnings due to\n * invalid props and ensures clean, valid HTML output.\n *\n * This function is typically used when rendering polymorphic or styled components\n * that may receive non-standard props, but only valid attributes should be passed\n * to underlying DOM elements.\n *\n * @template Attrs - The type of the attributes object.\n *\n * @param attrs - An object representing all props passed to a component.\n *\n * @returns A new object containing only props that are safe and valid for use on native DOM elements.\n */\nexport const filterNonHtmlAttrs = <Attrs extends object>(attrs: Attrs): Attrs =>\n Object.entries(attrs).reduce((allowedAttrs, [name, value]) => {\n if (VALID_DOM_ELEMENT_ATTRS.has(name) || name.startsWith('data-') || name.startsWith('aria-')) {\n allowedAttrs[name as keyof Attrs] = value;\n }\n return allowedAttrs;\n }, {} as Attrs);\n\n/**\n * Converts a pixel value to rem.\n *\n * @param px - The pixel value to be converted to rem.\n * @param base - The base value for conversion. Default is 16, which is the typical root font size.\n *\n * @returns The value in rem as a string.\n */\nexport const pxToRem = (px: number, base: number = 16): string => `${px / base}rem`;\n\n/**\n * Type guard function to check if a string value follows the pattern of a theme color value.\n *\n * A theme color value is assumed to be a string containing exactly one dot (e.g., 'primary.main').\n *\n * @param propertyValue - The string value to check.\n *\n * @returns True if the string value is a theme color value, false otherwise.\n */\nexport const isThemeColorValue = (propertyValue: string): propertyValue is HoneyColorKey =>\n propertyValue.split('.').length === 2;\n\n/**\n * Determines the resolved type for spacing values when processed by `resolveSpacing`.\n *\n * The return type adapts based on the shape of the `Value` and presence of a CSS `Unit`:\n *\n * - If `Value` is a `string` (e.g., raw `'10px'` or `'auto'`), it is returned as-is.\n * - If `Unit` is `null`, the original value is returned (either number or shorthand array).\n * - If `Unit` is provided and `Value` is a shorthand array (e.g., `[1, 2, 3, 4]`),\n * it is resolved to a space-separated dimension string (e.g., `'8px 16px 24px 32px'`).\n * - If `Unit` is provided and `Value` is a number, it is resolved to a single dimension string (e.g., `'16px'`).\n *\n * This type helps enforce correct resolution behavior depending on user input and configuration.\n *\n * @template Value - The input spacing value (number, shorthand array, or raw string).\n * @template Unit - A CSS length unit (e.g., 'px', 'em'), or `null` to skip unit formatting.\n */\nexport type HoneyResolveSpacingResult<\n Value extends HoneyCssSpacingValue,\n Unit extends Nullable<HoneyCssDimensionUnit>,\n> = Value extends HoneyCssDimensionValue\n ? Value\n : Unit extends null\n ? Value\n : Value extends HoneyCssShorthandTuple<number | HoneyCssDimensionValue>\n ? HoneyCssShorthandDimensionOutput<Value, NonNullable<Unit>>\n : HoneyCssDimensionValue<NonNullable<Unit>>;\n\n/**\n * Resolves a spacing value or shorthand spacing array using the theme and optional unit.\n *\n * This function takes spacing multipliers and converts them into pixel or unit-based values\n * using a theme spacing scale (e.g., `theme.spacings.base`). Useful for applying consistent\n * layout spacing with theming and token support.\n *\n * @template Value - The spacing value(s) to resolve. Can be:\n * - A number (e.g., `1`) representing a multiplier.\n * - An array of numbers (e.g., `[1, 2, 3, 4]`) for shorthand spacing.\n * - A dimension string (e.g., `'10px'`) will be returned as `never`.\n * @template Unit - Optional CSS unit (`'px'`, `'em'`, etc.), or `null` to skip units.\n *\n * @param value - Spacing multiplier(s) to apply.\n * @param [unit='px'] - The CSS unit to append. If `null`, values remain numeric.\n * @param [type='base'] - The spacing type to use from the theme (e.g., `'base'`, `'small'`).\n *\n * @returns A function that takes a theme context and returns:\n * - A single resolved value (e.g., `'16px'`) if `value` is a number.\n * - A space-separated string (e.g., `'8px 12px'`) if `value` is an array.\n * - `never` if the input is a raw string (unsupported).\n */\nexport const resolveSpacing =\n <Value extends HoneyCssSpacingValue, Unit extends Nullable<HoneyCssDimensionUnit> = 'px'>(\n value: Value,\n unit: Unit = 'px' as Unit,\n type: keyof HoneySpacings = 'base',\n ): ((context: HoneyStyledContext<object>) => HoneyResolveSpacingResult<Value, Unit>) =>\n ({ theme }) => {\n if (typeof value === 'string') {\n return value as never;\n }\n\n const selectedSpacing = theme.spacings[type] ?? 0;\n\n if (typeof value === 'number') {\n const normalizedValue = value * selectedSpacing;\n\n return (unit ? `${normalizedValue}${unit}` : normalizedValue) as HoneyResolveSpacingResult<\n Value,\n Unit\n >;\n }\n\n const calculatedValues = value.map(shorthandValue => {\n if (typeof shorthandValue === 'string') {\n return shorthandValue;\n }\n\n const calculatedValue = shorthandValue * selectedSpacing;\n\n return unit ? `${calculatedValue}${unit}` : calculatedValue;\n });\n\n return calculatedValues.join(' ') as HoneyResolveSpacingResult<Value, Unit>;\n };\n\n/**\n * Resolves the font styles based on the provided font name from the theme.\n *\n * @param fontName - The name of the font to be resolved from the theme.\n *\n * @returns A style function that takes a theme object and returns the CSS styles for the specified font.\n */\nexport const resolveFont =\n (fontName: HoneyFontName) =>\n ({ theme }: HoneyStyledContext<object>) => {\n const font = theme.fonts[fontName];\n\n return css`\n font-family: ${font.family};\n font-size: ${pxToRem(font.size)};\n font-weight: ${font.weight};\n line-height: ${font.lineHeight !== undefined && pxToRem(font.lineHeight)};\n letter-spacing: ${font.letterSpacing !== undefined && pxToRem(font.letterSpacing)};\n `;\n };\n\n/**\n * Resolves a color value from the theme or returns the input color directly if it's a standalone color name or HEX value.\n *\n * @param colorInput - A string representing the color to resolve.\n * This can be:\n * - A theme key in the format 'colorType.colorName'.\n * - A standalone color name (e.g., \"red\", \"blue\").\n * - A HEX color value (e.g., \"#RRGGBB\").\n * @param [alpha] - The alpha transparency value between 0 (fully transparent) and 1 (fully opaque).\n * Default to `undefined`.\n *\n * @returns A function that takes an `ExecutionContext` with a `theme` and resolves the color value:\n * - A HEX color string from the theme (e.g., \"#RRGGBB\").\n * - A HEX color string with alpha (e.g., \"#RRGGBBAA\") if `alpha` is provided.\n * - The input `colorKey` value directly if it's a standalone color name or HEX value.\n *\n * @throws Will throw an error if the provided alpha value is not within the valid range (0 to 1).\n * @throws Will throw an error if the color format is invalid.\n */\nexport const resolveColor =\n (colorInput: HoneyColor, alpha?: number) =>\n ({ theme }: HoneyStyledContext<object>): HoneyCssColor => {\n const [colorType, colorName] = colorInput.split('.');\n\n const color = colorName\n ? theme.colors[colorType as keyof HoneyColors][colorName]\n : (colorType as HoneyCssColor);\n\n return alpha === undefined ? color : hexWithAlpha(color, alpha);\n };\n\n/**\n * Resolves a specific dimension value from the theme configuration.\n *\n * @param dimensionName - The name of the dimension to resolve.\n *\n * @returns A style function that takes the theme and returns the resolved dimension value from the theme.\n */\nexport const resolveDimension =\n (dimensionName: HoneyDimensionName) =>\n ({ theme }: HoneyStyledContext<object>): HoneyCssDimensionValue =>\n theme.dimensions[dimensionName];\n","import React, { useMemo } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport { HoneyStyleContext } from '../contexts';\nimport { resolveColor, resolveDimension, resolveFont, resolveSpacing } from '../utils';\nimport type { HoneyTheme } from '../types';\nimport type { HoneyStyleContextValue } from '../contexts';\n\nexport interface 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 resolveSpacing: (...args) => resolveSpacing(...args)({ theme }),\n resolveColor: (...args) => resolveColor(...args)({ theme }),\n resolveFont: (...args) => resolveFont(...args)({ theme }),\n resolveDimension: (...args) => resolveDimension(...args)({ theme }),\n }),\n [theme],\n );\n\n return <HoneyStyleContext value={contextValue}>{children}</HoneyStyleContext>;\n};\n","import { useContext } from 'react';\nimport { assert } from '@react-hive/honey-utils';\n\nimport { HoneyStyleContext } from '../contexts';\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","import { useInsertionEffect } from 'react';\n\nimport type { HoneyStyledInterpolation, HoneyStyledContext } from './types';\nimport { HONEY_GLOBAL_STYLE_ATTR } from './constants';\nimport { css, processCss } from './css';\nimport { generateId } from './utils';\nimport { useHoneyStyle } from './hooks';\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 useInsertionEffect(() => {\n const rawCss = computeCss({ theme });\n const processedCss = processCss(rawCss, { theme });\n\n const styleElement = document.createElement('style');\n styleElement.id = styleId;\n styleElement.innerHTML = processedCss;\n styleElement.setAttribute(HONEY_GLOBAL_STYLE_ATTR, 'true');\n\n document.head.insertBefore(styleElement, document.head.firstChild);\n\n return () => {\n styleElement.remove();\n };\n }, [theme]);\n\n return null;\n };\n\n return GlobalStyle;\n};\n","import {\n HONEY_STYLE_ATTR,\n HONEY_STYLE_PRIORITY_ATTR,\n HONEY_STYLE_REGISTRY_SYMBOL,\n} from './constants';\n\ninterface HoneyWindow extends Window {\n [HONEY_STYLE_REGISTRY_SYMBOL]?: Map<string, StyleRegistryEntry>;\n}\n\ntype StyleCleanupFn = () => void;\n\ninterface StyleRegistryEntry {\n css: string;\n usages: number;\n priority: number;\n}\n\nconst getStyleRegistry = (): Map<string, StyleRegistryEntry> => {\n const w = window as HoneyWindow;\n\n if (!w[HONEY_STYLE_REGISTRY_SYMBOL]) {\n w[HONEY_STYLE_REGISTRY_SYMBOL] = new Map();\n }\n\n return w[HONEY_STYLE_REGISTRY_SYMBOL];\n};\n\nconst styleRegistry = getStyleRegistry();\n\n/**\n * Cache style tags per priority\n */\nconst styleTagsByPriority = new Map<number, HTMLStyleElement>();\n\nconst pendingStyleUpdatePriorities = new Set<number>();\nlet isStyleUpdateScheduled = false;\n\n/**\n * Ensures a <style> tag exists for a given priority.\n */\nconst ensureStyleTagForPriority = (priority: number): HTMLStyleElement => {\n let styleElement = styleTagsByPriority.get(priority);\n if (styleElement) return styleElement;\n\n styleElement = document.createElement('style');\n styleElement.setAttribute(HONEY_STYLE_ATTR, 'true');\n styleElement.setAttribute(HONEY_STYLE_PRIORITY_ATTR, String(priority));\n\n const existing = Array.from(document.querySelectorAll(`style[${HONEY_STYLE_ATTR}=\"true\"]`));\n\n const insertBefore = existing.find(\n el => Number(el.getAttribute(HONEY_STYLE_PRIORITY_ATTR)) > priority,\n );\n\n if (insertBefore) {\n document.head.insertBefore(styleElement, insertBefore);\n } else {\n document.head.appendChild(styleElement);\n }\n\n styleTagsByPriority.set(priority, styleElement);\n\n return styleElement;\n};\n\nconst updateStyleTagForPriority = (priority: number) => {\n const tag = ensureStyleTagForPriority(priority);\n\n const css = Array.from(styleRegistry.values())\n .filter(entry => entry.priority === priority)\n .map(entry => entry.css)\n .join('\\n');\n\n if (css) {\n tag.textContent = css;\n } else {\n tag.remove();\n styleTagsByPriority.delete(priority);\n }\n};\n\nconst flushStyleUpdates = () => {\n for (const priority of pendingStyleUpdatePriorities) {\n updateStyleTagForPriority(priority);\n }\n\n pendingStyleUpdatePriorities.clear();\n};\n\nconst scheduleStyleUpdate = (priority: number) => {\n pendingStyleUpdatePriorities.add(priority);\n\n if (isStyleUpdateScheduled) {\n return;\n }\n\n isStyleUpdateScheduled = true;\n\n // microtask → no flicker (runs before paint)\n queueMicrotask(() => {\n isStyleUpdateScheduled = false;\n\n flushStyleUpdates();\n });\n};\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 scheduleStyleUpdate(entry.priority);\n }\n };\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 if (existing.priority > priority) {\n existing.priority = priority;\n\n updateStyleTagForPriority(priority);\n }\n\n return createCleanupFunction(className);\n }\n\n styleRegistry.set(className, {\n css,\n priority,\n usages: 1,\n });\n\n updateStyleTagForPriority(priority);\n\n return createCleanupFunction(className);\n};\n","import type { ComponentProps, ComponentPropsWithRef, ElementType, ReactElement } from 'react';\nimport { createElement, useInsertionEffect } from 'react';\nimport { definedProps, invokeIfFunction, isString } from '@react-hive/honey-utils';\n\nimport type {\n FastOmit,\n HoneyHtmlDataAttributes,\n HoneyStyledContext,\n HoneyStyledInterpolation,\n HoneyStyledPropsWithAs,\n Nullable,\n Override,\n} from './types';\nimport type { HoneyCssClassName } from './css';\nimport { css, processCss } from './css';\nimport {\n __DEV__,\n HONEY_STYLED_COMPONENT_ID_PROP,\n HONEY_STYLED_COMPOSITION_DEPTH_PROP,\n} from './constants';\nimport {\n buildClassName,\n combineClassNames,\n filterNonHtmlAttrs,\n generateId,\n isStyledComponent,\n} from './utils';\nimport { mountStyle } from './mount-style';\nimport { useHoneyStyle } from './hooks';\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\ntype HoneyStyledInternalProps = {\n className?: HoneyCssClassName;\n [HONEY_STYLED_COMPOSITION_DEPTH_PROP]?: number;\n};\n\ntype HoneyStyledPublicComponentProps<\n AsElement extends ElementType,\n Props extends object,\n> = HoneyStyledPropsWithAs<AsElement, Override<ComponentProps<AsElement>, FastOmit<Props, 'as'>>>;\n\ntype HoneyStyledComponent<OverrideTarget extends ElementType, Props extends object> = (<\n AsElement extends ElementType = OverrideTarget,\n>(\n props: HoneyStyledPublicComponentProps<AsElement, Props>,\n) => Nullable<ReactElement<Props>>) & {\n [HONEY_STYLED_COMPONENT_ID_PROP]: string;\n displayName?: string;\n};\n\ninterface StyledOptions {\n omitProps?: (name: string) => boolean;\n}\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 { omitProps }: StyledOptions = {},\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 StyledComponentImpl = <AsElement extends ElementType = OverrideTarget>({\n as,\n className,\n __compositionDepth = 0,\n ...props\n }: HoneyStyledPublicComponentProps<AsElement, Props> & HoneyStyledInternalProps) => {\n const { theme } = useHoneyStyle();\n\n const cleanedProps = definedProps(props);\n const resolvedDefaultProps = {\n ...(invokeIfFunction(defaultProps, {\n theme,\n as,\n className,\n ...cleanedProps,\n } as never) ?? {}),\n // Allow overriding the default \"className\" prop\n ...(className && { className }),\n };\n\n const context: HoneyStyledContext<any> = {\n ...resolvedDefaultProps,\n ...cleanedProps,\n theme,\n };\n\n const rawCss = computeCss(context);\n const baseClassName = buildClassName(rawCss);\n\n useInsertionEffect(() => {\n const baseCss = processCss(rawCss, {\n theme,\n selector: `.${baseClassName}`,\n });\n\n return mountStyle(baseClassName, baseCss, __compositionDepth);\n }, [baseClassName]);\n\n const finalClassName = combineClassNames([\n componentId,\n baseClassName,\n resolvedDefaultProps.className,\n ]);\n\n const mergedProps = {\n ...resolvedDefaultProps,\n ...cleanedProps,\n className: finalClassName,\n };\n\n const finalProps = omitProps\n ? Object.entries(mergedProps).reduce(\n (result, [propName, propValue]) =>\n omitProps(propName)\n ? result\n : {\n ...result,\n [propName]: propValue,\n },\n {},\n )\n : mergedProps;\n\n const finalComponent = as || target;\n\n if (isString(target)) {\n const filteredProps = isString(finalComponent)\n ? filterNonHtmlAttrs(finalProps)\n : finalProps;\n\n return createElement(finalComponent, filteredProps);\n }\n\n return createElement(target, {\n ...finalProps,\n ...(as && { as }),\n ...(isStyledComponent(target) && {\n [HONEY_STYLED_COMPOSITION_DEPTH_PROP]: __compositionDepth - 1,\n }),\n });\n };\n\n const StyledComponent = StyledComponentImpl as HoneyStyledComponent<OverrideTarget, Props>;\n\n StyledComponent[HONEY_STYLED_COMPONENT_ID_PROP] = componentId;\n\n if (__DEV__) {\n const componentName = isString(target)\n ? target\n : target.displayName || target.name || 'Component';\n\n StyledComponent.displayName = `HoneyStyledComponent(${componentName})`;\n }\n\n return StyledComponent;\n };\n};\n"],"names":["REACT_ELEMENT_TYPE","Symbol","for","exports","jsx","type","config","maybeKey","key","propName","ref","$$typeof","props","module","__webpack_require__","__webpack_module_cache__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","toStringTag","value","__DEV__","ENV","console","info","HONEY_STYLE_REGISTRY_SYMBOL","HONEY_STYLED_COMPONENT_ID_PROP","HONEY_STYLED_COMPOSITION_DEPTH_PROP","HONEY_GLOBAL_STYLE_ATTR","HONEY_STYLE_ATTR","HONEY_STYLE_PRIORITY_ATTR","HONEY_BREAKPOINTS","VALID_HTML_ATTRS","Set","VALID_TABLE_ATTRS","VALID_SVG_ATTRS","VALID_EVENT_ATTRS","VALID_DOM_ELEMENT_ATTRS","external_react_namespaceObject","require","HoneyStyleContext","createContext","t","e","Error","at","At","Pt","replace","toLowerCase","CSS_SPACING_PROPERTIES","CSS_COLOR_PROPERTIES","dist_e","dist_n","dist_o","n","join","trim","isEof","peek","push","next","dist_s","mark","reset","readUntil","dist_c","expect","dist_i","s","c","i","length","a","charCodeAt","slice","dist_a","indexOf","replaceAll","includes","dist_p","body","map","selector","params","name","dist_u","dist_y","dist_f","stopAtBraceClose","dist_b","isCssSpacingProperty","propertyName","isCssColorProperty","resolveCssInterpolation","context","p","Y","isStyledComponent","Array","isArray","_","v","x","entries","filter","k","toString","css","strings","interpolations","reduce","cssResult","str","index","createCssRule","SELECTOR_CONTEXT_AT_RULES","media","supports","container","layer","flattenRule","node","parentSelector","fullSelector","flattenNodes","nodes","result","declarationBuffer","flushDeclarations","SCOPED_AT_RULES","scopeNodes","scope","createAtRuleTransformer","handler","ast","transformNodes","transformedBody","replaced","transformAbsoluteFillAtRule","unwrapParams","input","trimmed","startsWith","endsWith","transformCenterAtRule","transformStackAtRule","param","KEBAB_CASE_SPACING_PROPERTIES","createSpacingTransformer","theme","spacingFactor","spacings","base","test","parts","split","part","parseFloat","resolveSpacingValue","transformEllipsisAtRule","transformInlineAtRule","mediaQuery","rules","rule","rulesConfig","width","minWidth","maxWidth","height","minHeight","maxHeight","orientation","minResolution","maxResolution","resolution","update","conditions","Boolean","conditionsPart","operator","mediaType","isOrientationToken","token","isMediaTypeToken","isBreakpointToken","parseBreakpointRule","raw","direction","createMediaAtRuleTransformer","breakpoints","rawParams","tokens","warn","breakpointRule","breakpointPx","finalRules","processCss","rawCss","skipUntil","dist_r","l","u","f","dist_t","dist_m","nextAst","flattenCssRules","compileCss","generateId","prefix","Math","floor","performance","now","random","combineClassNames","classNames","buildClassName","$t","component","filterNonHtmlAttrs","attrs","allowedAttrs","has","pxToRem","px","isThemeColorValue","propertyValue","resolveSpacing","unit","selectedSpacing","normalizedValue","shorthandValue","calculatedValue","resolveFont","fontName","font","fonts","family","size","weight","lineHeight","letterSpacing","resolveColor","colorInput","alpha","colorType","colorName","color","colors","match","round","toUpperCase","padStart","Dt","resolveDimension","dimensionName","dimensions","HoneyStyleProvider","children","contextValue","useMemo","args","jsx_runtime","useHoneyStyle","useContext","createGlobalStyle","styleId","computeCss","useInsertionEffect","processedCss","styleElement","document","createElement","id","innerHTML","setAttribute","head","insertBefore","firstChild","remove","styleRegistry","w","window","Map","getStyleRegistry","styleTagsByPriority","pendingStyleUpdatePriorities","isStyleUpdateScheduled","updateStyleTagForPriority","priority","tag","String","from","querySelectorAll","find","el","Number","getAttribute","appendChild","set","ensureStyleTagForPriority","values","entry","textContent","delete","createCleanupFunction","className","usages","add","queueMicrotask","clear","flushStyleUpdates","styled","target","defaultProps","omitProps","componentId","StyledComponent","as","__compositionDepth","cleanedProps","resolvedDefaultProps","baseClassName","baseCss","existing","mountStyle","finalClassName","mergedProps","finalProps","propValue","finalComponent","filteredProps","componentName","displayName"],"sourceRoot":""}