{"version":3,"file":"Flex.mjs","sources":["../../../../../../packages/components/flex/src/Flex.tsx"],"sourcesContent":["import type { CSSProperties } from 'vue';\nimport { omit } from 'lodash-es';\nimport { computed, defineComponent } from 'vue';\nimport { useConfigContextInject } from '../../config-provider';\n\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport useStyle from '../style';\nimport { isPresetSize } from './gapSize';\nimport { flexProps } from './props';\nimport createFlexClassNames from './util';\n\nexport default defineComponent({\n  name: 'AFlex',\n  inheritAttrs: false,\n  props: flexProps(),\n  setup(props, { slots, attrs }) {\n    const { flex: ctxFlex, direction: ctxDirection } = useConfigContextInject();\n    const { prefixCls } = useConfigInject('flex', props);\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n    const mergedCls = computed(() => [\n      prefixCls.value,\n      hashId.value,\n      createFlexClassNames(prefixCls.value, props),\n      {\n        [`${prefixCls.value}-rtl`]: ctxDirection.value === 'rtl',\n        [`${prefixCls.value}-gap-${props.gap}`]: isPresetSize(props.gap),\n        [`${prefixCls.value}-vertical`]: props.vertical ?? ctxFlex?.value.vertical,\n      },\n    ]);\n    return () => {\n      const { flex, gap, component: Component = 'div', ...othersProps } = props;\n\n      const mergedStyle: CSSProperties = {};\n\n      if (flex)\n        mergedStyle.flex = flex;\n\n      if (gap && !isPresetSize(gap))\n        mergedStyle.gap = `${gap}px`;\n\n      return wrapSSR(\n        <Component\n          class={[attrs.class, mergedCls.value]}\n          style={[attrs.style as CSSProperties, mergedStyle]}\n          {...omit(othersProps, ['justify', 'wrap', 'align', 'vertical'])}\n        >\n          {slots.default?.()}\n        </Component>,\n      );\n    };\n  },\n});\n"],"names":["name","inheritAttrs","props","flexProps","setup","slots","attrs","flex","ctxFlex","direction","ctxDirection","useConfigContextInject","prefixCls","useConfigInject","wrapSSR","hashId","useStyle","mergedCls","computed","value","createFlexClassNames","gap","isPresetSize","vertical","component","Component","othersProps","mergedStyle","_createVNode","class","style","omit","default"],"mappings":";;;;;;;;;;AAWA,4BAA+B,eAAA,CAAA;AAAA,EAC7BA,IAAM,EAAA,OAAA;AAAA,EACNC,YAAc,EAAA,KAAA;AAAA,EACdC,OAAOC,SAAU,EAAA;AAAA,EACjBC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,IAAOC,KAAAA;AAAAA,GAAS,EAAA;AAC7B,IAAM,MAAA;AAAA,MAAEC,IAAMC,EAAAA,OAAAA;AAAAA,MAASC,SAAWC,EAAAA,YAAAA;AAAAA,QAAiBC,sBAAuB,EAAA,CAAA;AAC1E,IAAM,MAAA;AAAA,MAAEC,SAAAA;AAAAA,KAAU,GAAIC,eAAgB,CAAA,MAAA,EAAQX,KAAK,CAAA,CAAA;AACnD,IAAA,MAAM,CAACY,OAAAA,EAASC,MAAM,CAAA,GAAIC,SAASJ,SAAS,CAAA,CAAA;AAC5C,IAAMK,MAAAA,SAAAA,GAAYC,SAAS;;AAAM,MAC/BN,OAAAA,CAAAA,SAAAA,CAAUO,OACVJ,MAAOI,CAAAA,KAAAA,EACPC,qBAAqBR,SAAUO,CAAAA,KAAAA,EAAOjB,KAAK,CAC3C,EAAA;AAAA,QACE,CAAE,CAAEU,EAAAA,SAAAA,CAAUO,KAAM,CAAK,IAAA,CAAA,GAAGT,aAAaS,KAAU,KAAA,KAAA;AAAA,QACnD,CAAE,CAAEP,EAAAA,SAAAA,CAAUO,KAAM,CAAA,KAAA,EAAOjB,KAAMmB,CAAAA,GAAI,CAAC,CAAA,GAAGC,YAAapB,CAAAA,KAAAA,CAAMmB,GAAG,CAAA;AAAA,QAC/D,CAAE,CAAET,EAAAA,SAAAA,CAAUO,KAAM,CAAA,SAAA,CAAU,IAAGjB,EAAMqB,GAAAA,KAAAA,CAAAA,QAAAA,KAANrB,IAAkBM,GAAAA,EAAAA,GAAAA,OAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAAA,CAASW,KAAMI,CAAAA,QAAAA;AAAAA,OACnE,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAM,MAAA;AAAA,QAAEhB,IAAAA;AAAAA,QAAMc,GAAAA;AAAAA,QAAKG,WAAWC,SAAY,GAAA,KAAA;AAAA,QAAO,GAAGC,WAAAA;AAAAA,OAAgBxB,GAAAA,KAAAA,CAAAA;AAEpE,MAAA,MAAMyB,cAA6B,EAAC,CAAA;AAEpC,MAAIpB,IAAAA,IAAAA;AACFoB,QAAAA,WAAAA,CAAYpB,IAAOA,GAAAA,IAAAA,CAAAA;AAErB,MAAIc,IAAAA,GAAAA,IAAO,CAACC,YAAAA,CAAaD,GAAG,CAAA;AAC1BM,QAAYN,WAAAA,CAAAA,GAAAA,GAAO,GAAEA,GAAI,CAAA,EAAA,CAAA,CAAA;AAE3B,MAAOP,OAAAA,OAAAA,CAAOc,YAAAH,SAAA,EAAA;AAAA,QAAA,OAEH,EAAA,CAACnB,KAAMuB,CAAAA,KAAAA,EAAOZ,UAAUE,KAAK,CAAA;AAAA,QAAC,OAC9B,EAAA,CAACb,KAAMwB,CAAAA,KAAAA,EAAwBH,WAAW,CAAA;AAAA,QAAC,GAC9CI,KAAKL,WAAa,EAAA,CAAC,WAAW,MAAQ,EAAA,OAAA,EAAS,UAAU,CAAC,CAAA;AAAA,OAAC,EAAA;AAAA,QAAAM,SAAAA,MAAA;;AAAA,UAE9D3B,OAAAA,CAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAM2B,YAAN3B,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAEtB,CAAA,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}