{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/space/src/index.ts"],"sourcesContent":["/* eslint-disable indent */\nimport { defineComponent, SetupContext, h } from \"vue\";\nimport type { PropType, VNode } from \"vue\";\nimport { stylePrefix } from \"../../__builtins__\";\nimport { useFormLayout } from \"../../form-layout\";\nimport { buildProps } from \"element-plus/es/utils/index\";\n\nexport type SpaceProps = {\n  size: \"small\" | \"middle\" | \"large\" | number;\n  direction: \"horizontal\" | \"vertical\";\n  align: \"start\" | \"end\" | \"center\" | \"baseline\";\n};\n\nexport const spaceProps = buildProps({\n  size: {\n    type: [String, Number] as PropType<SpaceProps[\"size\"]>\n  },\n  direction: {\n    type: String as PropType<SpaceProps[\"direction\"]>\n  },\n  align: {\n    type: String as PropType<SpaceProps[\"align\"]>\n  }\n});\n\nconst spaceSize = {\n  small: 8,\n  middle: 16,\n  large: 24\n};\n\nexport const Space = defineComponent({\n  name: \"FSpace\",\n  props: spaceProps,\n  setup(props, { slots }: SetupContext) {\n    const layout = useFormLayout();\n\n    return () => {\n      const { align, size = layout.value?.spaceGap ?? \"small\", direction = \"horizontal\" } = props;\n\n      const prefixCls = `${stylePrefix}-space`;\n      const children = slots.default?.();\n\n      // 获取子节点数量\n      let items: VNode[] = [];\n      if (Array.isArray(children)) {\n        if (children.length === 1) {\n          if (((children[0] as any)[\"tag\"] as string)?.endsWith(\"Fragment\")) {\n            // Fragment hack\n            items = ((children[0] as any)[\"componentOptions\"] as { children: VNode[] })?.children;\n          } else {\n            items = children;\n          }\n        } else {\n          items = children;\n        }\n      }\n      const len = items.length;\n\n      if (len === 0) {\n        return null;\n      }\n\n      const mergedAlign = align === undefined && direction === \"horizontal\" ? \"center\" : align;\n      const marginDirection = \"marginRight\"; // directionConfig === 'rtl' ? 'marginLeft' : 'marginRight';\n\n      const someSpaceClass = {\n        [prefixCls]: true,\n        [`${prefixCls}-${direction}`]: true,\n        [`${prefixCls}-align-${mergedAlign}`]: mergedAlign\n      };\n\n      const itemClassName = `${prefixCls}-item`;\n\n      const renderItems = items.map((child, i) =>\n        h(\n          \"div\",\n          {\n            class: itemClassName,\n            key: `${itemClassName}-${i}`,\n            style:\n              i === len - 1\n                ? {}\n                : {\n                    [direction === \"vertical\" ? \"marginBottom\" : marginDirection]:\n                      typeof size === \"string\" ? `${spaceSize[size]}px` : `${size}px`\n                  }\n          },\n          { default: () => [child] }\n        )\n      );\n\n      return h(\"div\", { class: someSpaceClass }, { default: () => renderItems });\n    };\n  }\n});\n\nexport default Space;\n"],"names":[],"mappings":"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"}