@ishitatsuyuki/oruga-next
Version:
UI components for Vue.js and CSS framework agnostic
46 lines (43 loc) • 1.56 kB
JavaScript
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 };