{"version":3,"file":"make-installer.mjs","sources":["../../../packages/xplus/make-installer.ts"],"sourcesContent":["import { setConfig } from \"@xplus/utils/config\";\nimport { version } from \"./version\";\nimport type { App, Plugin } from \"vue\";\nimport type { ComponentSize } from \"@xplus/utils/types\";\nimport type { InstallOptions } from \"@xplus/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    // leave TODO: 国际化\n    // if (option.locale) {\n    //   const localeProvides = localeProviderMaker(opts.locale);\n    //   app.provide(LocaleInjectionKey, localeProvides);\n    // }\n\n    app.config.globalProperties.$GPLUS = 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,IAAI,EAAE,EAAE;AACd,MAAM,MAAM,EAAE,GAAG;AACjB,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,MAAM,GAAG,MAAM,CAAC;AAChD,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,OAAO;AACX,IAAI,OAAO;AACX,GAAG,CAAC;AACJ;;;;"}