UNPKG

@ishitatsuyuki/oruga-next

Version:

UI components for Vue.js and CSS framework agnostic

46 lines (43 loc) 1.56 kB
import { createVNode, render } from 'vue'; import { merge } from './helpers.mjs'; import { VueInstance } from './config.mjs'; import './BaseComponentMixin-d78ed3dc.mjs'; import './Icon-2e1c404c.mjs'; import { b as registerComponent, a as registerComponentProgrammatic } from './plugins-c1f022c0.mjs'; import './ssr-85c76d50.mjs'; import { s as script } from './Loading-422c98ec.mjs'; export { s as OLoading } from './Loading-422c98ec.mjs'; import { I as InstanceRegistry } from './InstanceRegistry-2fdb6ee8.mjs'; let localVueInstance; let instances = new InstanceRegistry(); const LoadingProgrammatic = { open(params) { const defaultParam = { programmatic: { instances } }; const propsData = merge(defaultParam, params); propsData.promise = new Promise((p1, p2) => { propsData.programmatic.resolve = p1; propsData.programmatic.reject = p2; }); const app = localVueInstance || VueInstance; const vnode = createVNode(script, propsData); vnode.appContext = app._context; render(vnode, document.createElement('div')); return vnode.component.proxy; }, closeAll() { instances.walk((entry) => { entry.close(...arguments); }); } }; var index = { install(app) { localVueInstance = app; registerComponent(app, script); registerComponentProgrammatic(app, 'loading', LoadingProgrammatic); } }; export default index; export { LoadingProgrammatic };