UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 1.75 kB
{"version":3,"file":"make-installer.mjs","sources":["../../../packages/element-plus/make-installer.ts"],"sourcesContent":["import { setConfig } from '@element-plus/utils/config'\nimport { LocaleInjectionKey, localeProviderMaker } from '@element-plus/hooks'\nimport { version } from './version'\n\nimport type { App, Plugin } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\nimport type { InstallOptions } from '@element-plus/utils/config'\n\nconst makeInstaller = (components: Plugin[] = []) => {\n const apps: App[] = []\n\n const install = (app: App, opts: InstallOptions) => {\n const defaultInstallOpt: InstallOptions = {\n size: '' as ComponentSize,\n zIndex: 2000,\n }\n\n const option = Object.assign(defaultInstallOpt, opts)\n if (apps.includes(app)) return\n apps.push(app)\n\n components.forEach((c) => {\n app.use(c)\n })\n\n if (option.locale) {\n const localeProvides = localeProviderMaker(opts.locale)\n app.provide(LocaleInjectionKey, localeProvides)\n }\n\n app.config.globalProperties.$ELEMENT = option\n // app.provide() ? is this better? I think its not that flexible but worth implement\n setConfig(option)\n }\n\n return {\n version,\n install,\n }\n}\n\nexport default makeInstaller\n"],"names":[],"mappings":";;;;;MAQM,gBAAgB,CAAC,aAAuB,OAAO;AACnD,QAAM,OAAc;AAEpB,QAAM,UAAU,CAAC,KAAU,SAAyB;AAClD,UAAM,oBAAoC;AAAA,MACxC,MAAM;AAAA,MACN,QAAQ;AAAA;AAGV,UAAM,SAAS,OAAO,OAAO,mBAAmB;AAChD,QAAI,KAAK,SAAS;AAAM;AACxB,SAAK,KAAK;AAEV,eAAW,QAAQ,CAAC,MAAM;AACxB,UAAI,IAAI;AAAA;AAGV,QAAI,OAAO,QAAQ;AACjB,YAAM,iBAAiB,oBAAoB,KAAK;AAChD,UAAI,QAAQ,oBAAoB;AAAA;AAGlC,QAAI,OAAO,iBAAiB,WAAW;AAEvC,cAAU;AAAA;AAGZ,SAAO;AAAA,IACL;AAAA,IACA;AAAA;AAAA;;;;"}