{"version":3,"file":"make-installer.mjs","sources":["../../../packages/pc-fx-framework/make-installer.ts"],"sourcesContent":["import { setConfig } from '@pc-fx-framework/utils/config'\nimport { version } from './version'\n\nimport type { App, Plugin } from 'vue'\nimport type { InstallOptions } from '@pc-fx-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":";;;AAEK,MAAC,aAAa,GAAG,CAAC,UAAU,GAAG,EAAE,KAAK;AAC3C,EAAE,MAAM,IAAI,GAAG,EAAE,CAAC;AAClB,EAAE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK;AACjC,IAAI,MAAM,iBAAiB,GAAG;AAC9B,MAAM,UAAU,EAAE;AAClB,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;AAC1D,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC1B,MAAM,OAAO;AACb,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AAC9B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjB,KAAK,CAAC,CAAC;AACP,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,GAAG,MAAM,CAAC;AAC7C,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,OAAO;AACX,IAAI,OAAO;AACX,GAAG,CAAC;AACJ;;;;"}