{"version":3,"file":"styled.mjs","sources":["../../../../../../theme/src/core/styled.tsx"],"sourcesContent":["import type { Component, VNodeProps, h } from 'vue'\nimport { computed, defineComponent, mergeProps } from 'vue'\nimport type { CSSInterpolation } from '@emotion/css'\nimport { css } from '@emotion/css'\nimport { useTheme } from '../hooks'\nimport type { Theme } from './types'\n\ntype RenderTypes = Parameters<typeof h>\n\nexport const styled = (comp: Component | string, props?: RenderTypes[1]) => {\n  return (\n    style: TemplateStringsArray | ((theme: Theme) => CSSInterpolation),\n    ...args: CSSInterpolation[]\n  ) => {\n    const theme = useTheme()\n\n    return defineComponent({\n      setup(_, { slots }) {\n        const cssClass = computed(() =>\n          style instanceof Function\n            ? css(style(theme?.value))\n            : css(style, ...args)\n        )\n\n        return () => {\n          const Comp = comp as any\n          return (\n            <Comp\n              {...mergeProps(props as VNodeProps, { class: cssClass.value })}\n            >\n              {slots?.default?.()}\n            </Comp>\n          )\n        }\n      },\n    })\n  }\n}\n"],"names":["styled","comp","props","style","args","theme","useTheme","setup","_","slots","cssClass","computed","Function","css","value","Comp","_createVNode","mergeProps","class","default"],"mappings":";;;;;AASaA,MAAAA,MAAAA,GAASA,CAACC,IAAAA,EAA0BC,KAA2B,KAAA;AAC1E,EAAO,OAAA,CACLC,UACGC,IACA,KAAA;AACH,IAAA,MAAMC,QAAQC,QAAS,EAAA,CAAA;AAEvB,IAAA,uBAAuB,eAAA,CAAA;AAAA,MACrBC,MAAMC,CAAG,EAAA;AAAA,QAAEC,KAAAA;AAAAA,OAAS,EAAA;AAClB,QAAA,MAAMC,QAAWC,GAAAA,QAAAA,CAAS,MACxBR,KAAAA,YAAiBS,WACbC,GAAIV,CAAAA,KAAAA,CAAME,KAAOS,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,KAAK,CAAC,CACvBD,GAAAA,GAAAA,CAAIV,KAAO,EAAA,GAAGC,IAAI,CACxB,CAAA,CAAA;AAEA,QAAA,OAAO,MAAM;AACX,UAAA,MAAMW,IAAOd,GAAAA,IAAAA,CAAAA;AACb,UAAAe,OAAAA,WAAAA,CAAAD,IAEQE,EAAAA,UAAAA,CAAWf,KAAqB,EAAA;AAAA,YAAEgB,OAAOR,QAASI,CAAAA,KAAAA;AAAAA,WAAO,CAAC,EAAA;AAAA,YAAAK,SAAAA,MAAA;;AAAA,cAE7DV,OAAAA,CAAAA,CAAAA,EAAAA,GAAAA,KAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAOU,YAAPV,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAGzB,CAAA;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAAA,GACH,CAAA;AACF;;;;"}