@cblink/finches-ui
Version:
A Component Library for Vue 3
1 lines • 1.88 kB
Source Map (JSON)
{"version":3,"file":"make-installer.mjs","sources":["../../../make-installer.ts"],"sourcesContent":["/*\n * @Description:\n * @Author: 华松林\n * @Date: 2021-11-29 16:06:06\n * @LastEditors: 华松林\n * @LastEditTime: 2021-12-01 09:59:16\n * @FilePath: /finches-ui/packages/finches-ui/make-installer.ts\n */\nimport { setConfig } from '@cblink/finches-utils/config'\n// import { LocaleInjectionKey, localeProviderMaker } from '@finches-ui/hooks'\nimport { version } from './version'\n\nimport type { App, Plugin } from 'vue'\nimport type { ComponentSize } from '@cblink/finches-utils/types'\nimport type { InstallOptions } from '@cblink/finches-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.$FINCHES = 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":";;;MAgBM,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;AAQV,QAAI,OAAO,iBAAiB,WAAW;AAEvC,cAAU;AAAA;AAGZ,SAAO;AAAA,IACL;AAAA,IACA;AAAA;AAAA;;;;"}