UNPKG

vue-admin-core

Version:
1 lines 9.33 kB
{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/form-layout/src/index.ts"],"sourcesContent":["import {\n provide,\n inject,\n InjectionKey,\n defineComponent,\n Ref,\n ref,\n watch,\n SetupContext,\n ExtractPropTypes,\n PropType\n} from \"vue\";\nimport { h } from \"@formily/vue\";\nimport { stylePrefix } from \"../../__builtins__\";\nimport { useResponsiveFormLayout } from \"./useResponsiveFormLayout\";\nimport { buildProps } from \"element-plus/es/utils/vue/props/runtime\";\n\nexport const formLayoutProps = buildProps({\n className: {\n type: String\n },\n colon: {\n type: Boolean,\n default: true\n },\n labelAlign: {\n type: [String, Array] as PropType<\"right\" | \"left\" | (\"right\" | \"left\")[]>\n },\n wrapperAlign: {\n type: [String, Array] as PropType<\"right\" | \"left\" | (\"right\" | \"left\")[]>\n },\n labelWrap: {\n type: Boolean,\n default: false\n },\n labelWidth: {\n type: Number\n },\n wrapperWidth: {\n type: Number\n },\n wrapperWrap: {\n type: Boolean,\n default: false\n },\n labelCol: {\n type: [Number, Array] as PropType<number | number[]>\n },\n wrapperCol: {\n type: [Number, Array] as PropType<number | number[]>\n },\n fullness: {\n type: Boolean,\n default: false\n },\n size: {\n type: String as PropType<\"small\" | \"default\" | \"large\">,\n default: \"default\"\n },\n layout: {\n type: [Array, String] as PropType<\n \"vertical\" | \"horizontal\" | \"inline\" | (\"vertical\" | \"horizontal\" | \"inline\")[]\n >,\n default: \"horizontal\"\n },\n direction: {\n type: String as PropType<\"rtl\" | \"ltr\">,\n default: \"ltr\"\n },\n shallow: {\n type: Boolean,\n default: true\n },\n feedbackLayout: {\n type: String as PropType<\"loose\" | \"terse\" | \"popover\">\n },\n tooltipLayout: {\n type: String as PropType<\"icon\" | \"text\">\n },\n bordered: {\n type: Boolean,\n default: true\n },\n inset: {\n type: Boolean,\n default: false\n },\n breakpoints: {\n type: Array as PropType<number[]>\n },\n spaceGap: {\n type: Number\n },\n gridColumnGap: {\n type: Number\n },\n gridRowGap: {\n type: Number\n }\n});\n\nexport type FormLayoutProps = ExtractPropTypes<typeof formLayoutProps>;\n\nexport const FormLayoutDeepContext: InjectionKey<Ref<FormLayoutProps>> =\n Symbol(\"FormLayoutDeepContext\");\n\nexport const FormLayoutShallowContext: InjectionKey<Ref<FormLayoutProps>> = Symbol(\n \"FormLayoutShallowContext\"\n);\n\nexport const useFormDeepLayout = (): Ref<FormLayoutProps> =>\n inject(FormLayoutDeepContext, ref({} as FormLayoutProps));\n\nexport const useFormShallowLayout = (): Ref<FormLayoutProps> =>\n inject(FormLayoutShallowContext, ref({} as FormLayoutProps));\n\nexport const useFormLayout = (): Ref<FormLayoutProps> => {\n const shallowLayout = useFormShallowLayout();\n const deepLayout = useFormDeepLayout();\n const formLayout = ref({\n ...deepLayout.value,\n ...shallowLayout.value\n });\n\n watch(\n [shallowLayout, deepLayout],\n () => {\n formLayout.value = {\n ...deepLayout.value,\n ...shallowLayout.value\n };\n },\n {\n deep: true\n }\n );\n return formLayout;\n};\n\nexport const FormLayout = defineComponent({\n name: \"FFormLayout\",\n inheritAttrs: false,\n props: formLayoutProps,\n setup(customProps: any, { slots }: SetupContext) {\n const { props }: any = useResponsiveFormLayout(customProps as any);\n\n const deepLayout = useFormDeepLayout();\n const newDeepLayout = ref({\n ...deepLayout.value\n });\n const shallowProps = ref({});\n watch(\n [props, deepLayout],\n () => {\n shallowProps.value = props.value.shallow ? props.value : undefined;\n if (!props.value.shallow) {\n Object.assign(newDeepLayout.value, props.value);\n } else {\n if (props.value.size) {\n newDeepLayout.value.size = props.value.size;\n }\n if (props.value.colon) {\n newDeepLayout.value.colon = props.value.colon;\n }\n }\n },\n { deep: true, immediate: true }\n );\n\n provide(FormLayoutDeepContext, newDeepLayout);\n provide(FormLayoutShallowContext, shallowProps as Ref<FormLayoutProps>);\n\n const formPrefixCls = `${stylePrefix}-form`;\n return () => {\n const classNames = {\n [`${formPrefixCls}-${props?.value.layout}`]: true,\n [`${formPrefixCls}-rtl`]: props?.value.direction === \"rtl\",\n [`${formPrefixCls}-${props?.value.size}`]: props?.value.size !== undefined,\n [`${props?.value.className}`]: props?.value.className !== undefined\n };\n return h(\n \"div\",\n {\n ref: \"root\",\n class: classNames\n },\n slots\n );\n };\n }\n});\n\nexport default FormLayout;\n"],"names":[],"mappings":"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"}