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 1.31 kB
{"version":3,"file":"resolveDynamicComponent.cjs","sources":["../../../packages/shared/resolveDynamicComponent.tsx"],"sourcesContent":["import { getCurrentInstance } from 'vue'\nimport { isObject, toCamelCase } from '@ideaz/utils'\n\ninterface IndexType {\n [propName: string]: any\n}\n\ninterface ResolveOptions {\n name: string | object\n attrs: IndexType\n content?: any\n}\n\nexport function resolveDynamicComponent(options: ResolveOptions) {\n const nativeTags = ['div', 'span', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6']\n if (isObject(options.name))\n return h(options.name, options.attrs || {}, options.content || {})\n const cop = nativeTags.includes(options.name as string)\n ? options.name\n : getCurrentInstance()!.appContext!.components[toCamelCase(options.name as string)]\n return cop\n ? h(\n // resolveComponent(options.name),\n cop,\n {\n ...(options.attrs || {}),\n },\n options.content || {},\n ) : h('div')\n}\n"],"names":["resolveDynamicComponent","options","cop","nativeTags","vue","string"],"mappings":"yMAaO,SAAAA,EAAAC,EAAA,6HAIL,MAAAC,EAAAC,EAAA,SAAAF,EAAA,IAAA,EAAAA,EAAA,KAAAG,EAAA,mBAAA,EAAA,WAAA,WAAAC,EAAA,YAAAJ,EAAA,IAAA,CAAA,eAMIC,EAAAA,CAEE,GAAAD,EAAA,OAAA,CAAA,CACF,EAAAA,EAAA,SAAA,CAAA,CAAA,EAAAG,EAAA,EAAA,KAAA,CAGN"}