{"version":3,"file":"make-installer.mjs","sources":["../../../packages/fx-front-framework/make-installer.ts"],"sourcesContent":["import { setConfig } from '@fx-front-framework/utils/config'\nimport { version } from './version'\n\nimport type { App, Plugin } from 'vue'\nimport type { InstallOptions } from '@fx-front-framework/utils/config'\n\nconst makeInstaller = (components: Plugin[] = []) => {\n  const apps: App[] = []\n\n  const install = (app: App, opts: InstallOptions) => {\n    const defaultInstallOpt: InstallOptions = {\n      visualized: {\n        basicPX: 1,\n      },\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    app.config.globalProperties.$FX = 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":";;;AAMM,MAAA,aAAA,GAAgB,CAAC,UAAA,GAAuB,EAAO,KAAA;AACnD,EAAA,MAAM,IAAc,GAAA,EAAA,CAAA;AAEpB,EAAM,MAAA,OAAA,GAAU,CAAC,GAAA,EAAU,IAAyB,KAAA;AAClD,IAAA,MAAM,iBAAoC,GAAA;AAAA,MACxC,UAAY,EAAA;AAAA,QACV,OAAS,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA;AAIb,IAAM,MAAA,MAAA,GAAS,MAAO,CAAA,MAAA,CAAO,iBAAmB,EAAA,IAAA,CAAA,CAAA;AAChD,IAAA,IAAI,KAAK,QAAS,CAAA,GAAA,CAAA;AAAM,MAAA,OAAA;AACxB,IAAA,IAAA,CAAK,IAAK,CAAA,GAAA,CAAA,CAAA;AAEV,IAAA,UAAA,CAAW,QAAQ,CAAK,CAAA,KAAA;AACtB,MAAA,GAAA,CAAI,GAAI,CAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGV,IAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,GAAM,GAAA,MAAA,CAAA;AAElC,IAAU,SAAA,CAAA,MAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAGZ,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,IACA,OAAA;AAAA,GAAA,CAAA;AAAA;;;;"}