@descope/sdk-mixins
Version:
Descope JavaScript SDK mixins
48 lines (44 loc) • 2.16 kB
JavaScript
;
var tslib = require('tslib');
var sdkHelpers = require('@descope/sdk-helpers');
var initLifecycleMixin = require('../initLifecycleMixin.js');
var initElementMixin = require('../initElementMixin.js');
var descopeUiMixin = require('../descopeUiMixin/descopeUiMixin.js');
var helpers = require('./helpers.js');
var constants = require('./constants.js');
var sdkComponentDrivers = require('@descope/sdk-component-drivers');
const modalMixin = sdkHelpers.createSingletonMixin((superclass) => {
var _ModalMixinClass_ModalDriverWrapper, _a;
const BaseClass = sdkHelpers.compose(initLifecycleMixin.initLifecycleMixin, initElementMixin.initElementMixin, descopeUiMixin.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 sdkComponentDrivers.ModalDriver {
setContent(template) {
loadDescopeUiComponents(template);
super.setContent(template);
}
};
})());
}
createModal(config) {
const baseConfig = {};
const modal = helpers.createModalEle(Object.assign(Object.assign({}, baseConfig), config));
this.rootElement.append(modal);
return new (tslib.__classPrivateFieldGet(this, _ModalMixinClass_ModalDriverWrapper, "f"))(modal, {
logger: this.logger,
});
}
async init() {
var _b;
this.loadDescopeUiComponents([constants.MODAL_ELE_TAG]);
await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this));
}
},
_ModalMixinClass_ModalDriverWrapper = new WeakMap(),
_a;
});
exports.modalMixin = modalMixin;
//# sourceMappingURL=modalMixin.js.map