UNPKG

ideaz-element

Version:

<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>

1 lines 2.64 kB
{"version":3,"file":"useFormItemSlots.cjs","sources":["../../../../../../packages/element/form/src/hooks/useFormItemSlots.tsx"],"sourcesContent":["import { isFunction, isSlot } from '@ideaz/utils'\nimport type { VNode } from 'vue'\nimport type { FormItemProps } from '../props'\nimport FormItemLabel from '../FormItemLabel'\nimport type { Slots } from '../../../types'\n\nexport function useFormItemSlots(props: FormItemProps, slots: Slots) {\n const getContent = () => {\n const { col } = props\n if (isSlot(col.label) && isFunction(slots[col.label as string]))\n return (slots[col.label as string] as () => VNode)()\n\n if (isFunction(col.label))\n return col.label()\n }\n\n const getColon = () => {\n const { col, formConfig } = props\n if (Object.prototype.hasOwnProperty.call(col.formItemProps || {}, 'colon'))\n return col.formItemProps?.colon\n\n if (Object.prototype.hasOwnProperty.call(col, 'colon'))\n return col.colon\n\n return formConfig.colon\n }\n\n const vSlots = computed<Slots>(() => {\n const { col } = props\n const vSlots: Slots = {} as Slots\n if (col.formItemProps?.label || col.label) {\n vSlots.label = () => {\n return getContent()\n || (\n <FormItemLabel\n {...{\n label: col.label,\n tooltip: col.tooltip,\n ...col.formItemProps,\n colon: getColon(),\n }}\n v-slots={slots}\n />\n )\n }\n }\n\n if (col.error) {\n if (isSlot(col.error) && isFunction(slots[col.error as string])) {\n const error = col.error as string\n vSlots.error = () => (slots[error!] as (() => VNode))()\n }\n else if (isFunction(col.error) && isFunction(slots.error)) {\n vSlots.error = () => (slots.error as () => VNode)()\n }\n else {\n vSlots.error = () => (slots.error as () => VNode)()\n }\n }\n return vSlots\n })\n\n return { vSlots }\n}\n"],"names":["useFormItemSlots","props","slots","col","is","formConfig","vSlots","vue","getContent","FormItemLabel","error"],"mappings":"4NAMO,SAAAA,EAAAC,EAAAC,EAAA,oBAEKC,IAAAA,CAAI,EAAAF,qEAIZ,GAAAG,EAAA,WAAAD,EAAA,KAAA,EAAA,OAAAA,EAAA,MAAA,4BAKaE,WAAAA,CAAW,EAAAJ,oHAIxB,OAAA,UAAA,eAAA,KAAAE,EAAA,OAAA,EAAAA,EAAA,sBAyCOG,OAnCTC,EAAA,SAAA,IAAA,aACUJ,IAAAA,CAAI,EAAAF,sEAIRO,EAAA,GAAAD,EAAA,YAAAE,EAAA,6DAOyB,EAAAP,CAAA,WAS3B,GAAAE,EAAA,OAAAD,EAAA,KAAA,GAAAC,EAAA,WAAAF,EAAAC,EAAA,KAAA,CAAA,EAAA,CACE,MAAAO,EAAAP,EAAA,wBAEF,MAAAC,EAAA,WAAAD,EAAA,KAAA,GAAAC,EAAA,WAAAF,EAAA,KAAA,8CAQF,OAAAI,CACF,CAAA,EAGF"}