/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/flexipanel@0.0.0-dev96/dist/main.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
import{createApp}from"vue";import{createRouter,createWebHistory}from"vue-router";import Container from"mini-ioc";import{injectKey}from"mini-ioc-vue";import routes from"./routes.js";import App from"./app.vue.js";import HttpClient from"./modules/http/index.js";import FetchJsonClient from"./modules/http/fetch-json-client.js";import AuthProvider from"./modules/auth/provider.js";import PublicAuthProvider from"./modules/auth/providers/public.js";import TemplateEngine from"./modules/template/index.js";import Translator from"./modules/i18n/index.js";import EntityManager from"./modules/entity/index.js";import FormFields from"./modules/form/fields/index.js";class VueAdminApp{constructor(){this.container=new Container,this.router=createRouter({history:createWebHistory({}.APP_ROUTES_BASE),routes:routes}),this.container.bind(HttpClient,FetchJsonClient),this.container.bind(AuthProvider,PublicAuthProvider),this.container.registerResolver(Container,(()=>this.container)),this.container.registerResolver(TemplateEngine,(()=>{const e=new TemplateEngine;return this.registerTemplateHelpers(e),e})),this.container.registerResolver(FormFields,(()=>{const e=new FormFields;return this.registerFieldResolvers(e),e}))}registerTemplateHelpers(e){e.registerHelper("trans",(e=>this.container.get(Translator).get(e))),e.registerHelper("route",(e=>this.router.resolve(e).href))}registerFieldResolvers(e){e.addComponentResolver(this.container.get(EntityManager).formFieldsResolver)}addRoute(e){return this.router.addRoute(e),this}getIocContainer(){return this.container}mount(e,r){return createApp(App,r).use(this.router).provide(injectKey,this.container).mount(e),this}}export{VueAdminApp as default};
//# sourceMappingURL=/sm/3100ae6d112fe457a383b1ec62df9fd85a522b0df25ecf93cb6ab892dcc6b3e2.map