UNPKG

@descope/sdk-mixins

Version:
46 lines (43 loc) 2.06 kB
import { __classPrivateFieldGet } from 'tslib'; import { createSingletonMixin, compose } from '@descope/sdk-helpers'; import { initLifecycleMixin } from '../initLifecycleMixin.js'; import { initElementMixin } from '../initElementMixin.js'; import { descopeUiMixin } from '../descopeUiMixin/descopeUiMixin.js'; import { createModalEle } from './helpers.js'; import { MODAL_ELE_TAG } from './constants.js'; import { ModalDriver } from '@descope/sdk-component-drivers'; const modalMixin = createSingletonMixin((superclass) => { var _ModalMixinClass_ModalDriverWrapper, _a; const BaseClass = compose(initLifecycleMixin, initElementMixin, descopeUiMixin)(superclass); return _a = class ModalMixinClass extends BaseClass { constructor() { super(...arguments); _ModalMixinClass_ModalDriverWrapper.set(this, (() => { const loadDescopeUiComponents = this.loadDescopeUiComponents.bind(this); return class ModalDriverWrapper extends ModalDriver { setContent(template) { loadDescopeUiComponents(template); super.setContent(template); } }; })()); } createModal(config) { const baseConfig = {}; const modal = createModalEle(Object.assign(Object.assign({}, baseConfig), config)); this.rootElement.append(modal); return new (__classPrivateFieldGet(this, _ModalMixinClass_ModalDriverWrapper, "f"))(modal, { logger: this.logger, }); } async init() { var _b; this.loadDescopeUiComponents([MODAL_ELE_TAG]); await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this)); } }, _ModalMixinClass_ModalDriverWrapper = new WeakMap(), _a; }); export { modalMixin }; //# sourceMappingURL=modalMixin.js.map