vue-admin-core
Version:
A Component Library for Vue 3
1 lines • 5.63 kB
Source Map (JSON)
{"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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"}