@descope/sdk-mixins 0.0.0-next-c55974df-20250416 → 0.0.0-next-cd745c61-20250421
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/dist/cjs/constants.js +0 -6
- package/dist/cjs/constants.js.map +0 -1
- package/dist/cjs/index.js +0 -41
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/mixins/baseUrlMixin.js +0 -14
- package/dist/cjs/mixins/baseUrlMixin.js.map +0 -1
- package/dist/cjs/mixins/configMixin/configMixin.js +0 -53
- package/dist/cjs/mixins/configMixin/configMixin.js.map +0 -1
- package/dist/cjs/mixins/configMixin/constants.js +0 -6
- package/dist/cjs/mixins/configMixin/constants.js.map +0 -1
- package/dist/cjs/mixins/cookieConfigMixin.js +0 -14
- package/dist/cjs/mixins/cookieConfigMixin.js.map +0 -1
- package/dist/cjs/mixins/createStateManagementMixin.js +0 -47
- package/dist/cjs/mixins/createStateManagementMixin.js.map +0 -1
- package/dist/cjs/mixins/createValidateAttributesMixin/commonValidators.js +0 -7
- package/dist/cjs/mixins/createValidateAttributesMixin/commonValidators.js.map +0 -1
- package/dist/cjs/mixins/createValidateAttributesMixin/createValidateAttributesMixin.js +0 -40
- package/dist/cjs/mixins/createValidateAttributesMixin/createValidateAttributesMixin.js.map +0 -1
- package/dist/cjs/mixins/debuggerMixin/debugger-wc.js +0 -237
- package/dist/cjs/mixins/debuggerMixin/debugger-wc.js.map +0 -1
- package/dist/cjs/mixins/debuggerMixin/debuggerMixin.js +0 -73
- package/dist/cjs/mixins/debuggerMixin/debuggerMixin.js.map +0 -1
- package/dist/cjs/mixins/debuggerMixin/helpers.js +0 -76
- package/dist/cjs/mixins/debuggerMixin/helpers.js.map +0 -1
- package/dist/cjs/mixins/descopeUiMixin/constants.js +0 -25
- package/dist/cjs/mixins/descopeUiMixin/constants.js.map +0 -1
- package/dist/cjs/mixins/descopeUiMixin/descopeUiMixin.js +0 -168
- package/dist/cjs/mixins/descopeUiMixin/descopeUiMixin.js.map +0 -1
- package/dist/cjs/mixins/descopeUiMixin/helpers.js +0 -18
- package/dist/cjs/mixins/descopeUiMixin/helpers.js.map +0 -1
- package/dist/cjs/mixins/formMixin.js +0 -57
- package/dist/cjs/mixins/formMixin.js.map +0 -1
- package/dist/cjs/mixins/initElementMixin.js +0 -39
- package/dist/cjs/mixins/initElementMixin.js.map +0 -1
- package/dist/cjs/mixins/initLifecycleMixin.js +0 -29
- package/dist/cjs/mixins/initLifecycleMixin.js.map +0 -1
- package/dist/cjs/mixins/loggerMixin/loggerMixin.js +0 -37
- package/dist/cjs/mixins/loggerMixin/loggerMixin.js.map +0 -1
- package/dist/cjs/mixins/modalMixin/constants.js +0 -6
- package/dist/cjs/mixins/modalMixin/constants.js.map +0 -1
- package/dist/cjs/mixins/modalMixin/helpers.js +0 -14
- package/dist/cjs/mixins/modalMixin/helpers.js.map +0 -1
- package/dist/cjs/mixins/modalMixin/modalMixin.js +0 -47
- package/dist/cjs/mixins/modalMixin/modalMixin.js.map +0 -1
- package/dist/cjs/mixins/notificationsMixin/constants.js +0 -6
- package/dist/cjs/mixins/notificationsMixin/constants.js.map +0 -1
- package/dist/cjs/mixins/notificationsMixin/helpers.js +0 -14
- package/dist/cjs/mixins/notificationsMixin/helpers.js.map +0 -1
- package/dist/cjs/mixins/notificationsMixin/notificationsMixin.js +0 -50
- package/dist/cjs/mixins/notificationsMixin/notificationsMixin.js.map +0 -1
- package/dist/cjs/mixins/observeAttributesMixin/helpers.js +0 -17
- package/dist/cjs/mixins/observeAttributesMixin/helpers.js.map +0 -1
- package/dist/cjs/mixins/observeAttributesMixin/observeAttributesMixin.js +0 -47
- package/dist/cjs/mixins/observeAttributesMixin/observeAttributesMixin.js.map +0 -1
- package/dist/cjs/mixins/projectIdMixin.js +0 -17
- package/dist/cjs/mixins/projectIdMixin.js.map +0 -1
- package/dist/cjs/mixins/resetMixin.js +0 -47
- package/dist/cjs/mixins/resetMixin.js.map +0 -1
- package/dist/cjs/mixins/staticResourcesMixin/constants.js +0 -13
- package/dist/cjs/mixins/staticResourcesMixin/constants.js.map +0 -1
- package/dist/cjs/mixins/staticResourcesMixin/fetchWithFallbacks.js +0 -43
- package/dist/cjs/mixins/staticResourcesMixin/fetchWithFallbacks.js.map +0 -1
- package/dist/cjs/mixins/staticResourcesMixin/index.js +0 -9
- package/dist/cjs/mixins/staticResourcesMixin/index.js.map +0 -1
- package/dist/cjs/mixins/staticResourcesMixin/staticResourcesMixin.js +0 -101
- package/dist/cjs/mixins/staticResourcesMixin/staticResourcesMixin.js.map +0 -1
- package/dist/cjs/mixins/themeMixin/constants.js +0 -7
- package/dist/cjs/mixins/themeMixin/constants.js.map +0 -1
- package/dist/cjs/mixins/themeMixin/helpers.js +0 -34
- package/dist/cjs/mixins/themeMixin/helpers.js.map +0 -1
- package/dist/cjs/mixins/themeMixin/index.js +0 -8
- package/dist/cjs/mixins/themeMixin/index.js.map +0 -1
- package/dist/cjs/mixins/themeMixin/themeMixin.js +0 -179
- package/dist/cjs/mixins/themeMixin/themeMixin.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/esm/constants.js +0 -4
- package/dist/esm/constants.js.map +0 -1
- package/dist/esm/index.js +0 -18
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/mixins/baseUrlMixin.js +0 -12
- package/dist/esm/mixins/baseUrlMixin.js.map +0 -1
- package/dist/esm/mixins/configMixin/configMixin.js +0 -51
- package/dist/esm/mixins/configMixin/configMixin.js.map +0 -1
- package/dist/esm/mixins/configMixin/constants.js +0 -4
- package/dist/esm/mixins/configMixin/constants.js.map +0 -1
- package/dist/esm/mixins/cookieConfigMixin.js +0 -12
- package/dist/esm/mixins/cookieConfigMixin.js.map +0 -1
- package/dist/esm/mixins/createStateManagementMixin.js +0 -45
- package/dist/esm/mixins/createStateManagementMixin.js.map +0 -1
- package/dist/esm/mixins/createValidateAttributesMixin/commonValidators.js +0 -5
- package/dist/esm/mixins/createValidateAttributesMixin/commonValidators.js.map +0 -1
- package/dist/esm/mixins/createValidateAttributesMixin/createValidateAttributesMixin.js +0 -38
- package/dist/esm/mixins/createValidateAttributesMixin/createValidateAttributesMixin.js.map +0 -1
- package/dist/esm/mixins/debuggerMixin/debugger-wc.js +0 -233
- package/dist/esm/mixins/debuggerMixin/debugger-wc.js.map +0 -1
- package/dist/esm/mixins/debuggerMixin/debuggerMixin.js +0 -71
- package/dist/esm/mixins/debuggerMixin/debuggerMixin.js.map +0 -1
- package/dist/esm/mixins/debuggerMixin/helpers.js +0 -72
- package/dist/esm/mixins/debuggerMixin/helpers.js.map +0 -1
- package/dist/esm/mixins/descopeUiMixin/constants.js +0 -16
- package/dist/esm/mixins/descopeUiMixin/constants.js.map +0 -1
- package/dist/esm/mixins/descopeUiMixin/descopeUiMixin.js +0 -166
- package/dist/esm/mixins/descopeUiMixin/descopeUiMixin.js.map +0 -1
- package/dist/esm/mixins/descopeUiMixin/helpers.js +0 -14
- package/dist/esm/mixins/descopeUiMixin/helpers.js.map +0 -1
- package/dist/esm/mixins/formMixin.js +0 -55
- package/dist/esm/mixins/formMixin.js.map +0 -1
- package/dist/esm/mixins/initElementMixin.js +0 -37
- package/dist/esm/mixins/initElementMixin.js.map +0 -1
- package/dist/esm/mixins/initLifecycleMixin.js +0 -27
- package/dist/esm/mixins/initLifecycleMixin.js.map +0 -1
- package/dist/esm/mixins/loggerMixin/loggerMixin.js +0 -35
- package/dist/esm/mixins/loggerMixin/loggerMixin.js.map +0 -1
- package/dist/esm/mixins/modalMixin/constants.js +0 -4
- package/dist/esm/mixins/modalMixin/constants.js.map +0 -1
- package/dist/esm/mixins/modalMixin/helpers.js +0 -12
- package/dist/esm/mixins/modalMixin/helpers.js.map +0 -1
- package/dist/esm/mixins/modalMixin/modalMixin.js +0 -45
- package/dist/esm/mixins/modalMixin/modalMixin.js.map +0 -1
- package/dist/esm/mixins/notificationsMixin/constants.js +0 -4
- package/dist/esm/mixins/notificationsMixin/constants.js.map +0 -1
- package/dist/esm/mixins/notificationsMixin/helpers.js +0 -12
- package/dist/esm/mixins/notificationsMixin/helpers.js.map +0 -1
- package/dist/esm/mixins/notificationsMixin/notificationsMixin.js +0 -48
- package/dist/esm/mixins/notificationsMixin/notificationsMixin.js.map +0 -1
- package/dist/esm/mixins/observeAttributesMixin/helpers.js +0 -15
- package/dist/esm/mixins/observeAttributesMixin/helpers.js.map +0 -1
- package/dist/esm/mixins/observeAttributesMixin/observeAttributesMixin.js +0 -45
- package/dist/esm/mixins/observeAttributesMixin/observeAttributesMixin.js.map +0 -1
- package/dist/esm/mixins/projectIdMixin.js +0 -15
- package/dist/esm/mixins/projectIdMixin.js.map +0 -1
- package/dist/esm/mixins/resetMixin.js +0 -45
- package/dist/esm/mixins/resetMixin.js.map +0 -1
- package/dist/esm/mixins/staticResourcesMixin/constants.js +0 -9
- package/dist/esm/mixins/staticResourcesMixin/constants.js.map +0 -1
- package/dist/esm/mixins/staticResourcesMixin/fetchWithFallbacks.js +0 -41
- package/dist/esm/mixins/staticResourcesMixin/fetchWithFallbacks.js.map +0 -1
- package/dist/esm/mixins/staticResourcesMixin/index.js +0 -2
- package/dist/esm/mixins/staticResourcesMixin/index.js.map +0 -1
- package/dist/esm/mixins/staticResourcesMixin/staticResourcesMixin.js +0 -98
- package/dist/esm/mixins/staticResourcesMixin/staticResourcesMixin.js.map +0 -1
- package/dist/esm/mixins/themeMixin/constants.js +0 -5
- package/dist/esm/mixins/themeMixin/constants.js.map +0 -1
- package/dist/esm/mixins/themeMixin/helpers.js +0 -31
- package/dist/esm/mixins/themeMixin/helpers.js.map +0 -1
- package/dist/esm/mixins/themeMixin/index.js +0 -2
- package/dist/esm/mixins/themeMixin/index.js.map +0 -1
- package/dist/esm/mixins/themeMixin/themeMixin.js +0 -177
- package/dist/esm/mixins/themeMixin/themeMixin.js.map +0 -1
- package/dist/index.d.ts +0 -6169
- package/dist/types/constants.d.ts +0 -1
- package/dist/types/index.d.ts +0 -23
- package/dist/types/mixins/baseUrlMixin.d.ts +0 -331
- package/dist/types/mixins/configMixin/configMixin.d.ts +0 -363
- package/dist/types/mixins/configMixin/constants.d.ts +0 -1
- package/dist/types/mixins/configMixin/index.d.ts +0 -2
- package/dist/types/mixins/configMixin/types.d.ts +0 -66
- package/dist/types/mixins/cookieConfigMixin.d.ts +0 -331
- package/dist/types/mixins/createStateManagementMixin.d.ts +0 -341
- package/dist/types/mixins/createValidateAttributesMixin/commonValidators.d.ts +0 -1
- package/dist/types/mixins/createValidateAttributesMixin/createValidateAttributesMixin.d.ts +0 -346
- package/dist/types/mixins/createValidateAttributesMixin/index.d.ts +0 -1
- package/dist/types/mixins/debuggerMixin/debugger-wc.d.ts +0 -9
- package/dist/types/mixins/debuggerMixin/debuggerMixin.d.ts +0 -347
- package/dist/types/mixins/debuggerMixin/helpers.d.ts +0 -4
- package/dist/types/mixins/debuggerMixin/index.d.ts +0 -1
- package/dist/types/mixins/debuggerMixin/types.d.ts +0 -12
- package/dist/types/mixins/descopeUiMixin/constants.d.ts +0 -8
- package/dist/types/mixins/descopeUiMixin/descopeUiMixin.d.ts +0 -378
- package/dist/types/mixins/descopeUiMixin/helpers.d.ts +0 -3
- package/dist/types/mixins/descopeUiMixin/index.d.ts +0 -1
- package/dist/types/mixins/formMixin.d.ts +0 -345
- package/dist/types/mixins/initElementMixin.d.ts +0 -332
- package/dist/types/mixins/initLifecycleMixin.d.ts +0 -332
- package/dist/types/mixins/loggerMixin/index.d.ts +0 -2
- package/dist/types/mixins/loggerMixin/loggerMixin.d.ts +0 -339
- package/dist/types/mixins/loggerMixin/types.d.ts +0 -6
- package/dist/types/mixins/modalMixin/constants.d.ts +0 -1
- package/dist/types/mixins/modalMixin/helpers.d.ts +0 -1
- package/dist/types/mixins/modalMixin/index.d.ts +0 -1
- package/dist/types/mixins/modalMixin/modalMixin.d.ts +0 -408
- package/dist/types/mixins/notificationsMixin/constants.d.ts +0 -1
- package/dist/types/mixins/notificationsMixin/helpers.d.ts +0 -1
- package/dist/types/mixins/notificationsMixin/index.d.ts +0 -1
- package/dist/types/mixins/notificationsMixin/notificationsMixin.d.ts +0 -427
- package/dist/types/mixins/observeAttributesMixin/helpers.d.ts +0 -1
- package/dist/types/mixins/observeAttributesMixin/index.d.ts +0 -1
- package/dist/types/mixins/observeAttributesMixin/observeAttributesMixin.d.ts +0 -342
- package/dist/types/mixins/projectIdMixin.d.ts +0 -342
- package/dist/types/mixins/resetMixin.d.ts +0 -344
- package/dist/types/mixins/staticResourcesMixin/constants.d.ts +0 -4
- package/dist/types/mixins/staticResourcesMixin/fetchWithFallbacks.d.ts +0 -7
- package/dist/types/mixins/staticResourcesMixin/index.d.ts +0 -1
- package/dist/types/mixins/staticResourcesMixin/staticResourcesMixin.d.ts +0 -362
- package/dist/types/mixins/themeMixin/constants.d.ts +0 -2
- package/dist/types/mixins/themeMixin/helpers.d.ts +0 -5
- package/dist/types/mixins/themeMixin/index.d.ts +0 -1
- package/dist/types/mixins/themeMixin/themeMixin.d.ts +0 -408
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var constants = require('../descopeUiMixin/constants.js');
|
|
4
|
-
|
|
5
|
-
const loadFont = (url) => {
|
|
6
|
-
const font = document.createElement('link');
|
|
7
|
-
font.href = url;
|
|
8
|
-
font.rel = 'stylesheet';
|
|
9
|
-
document.head.appendChild(font);
|
|
10
|
-
};
|
|
11
|
-
const loadDevTheme = async () => {
|
|
12
|
-
const componentsUrl = localStorage.getItem(constants.UI_COMPONENTS_URL_KEY);
|
|
13
|
-
const descopeDevUrl = componentsUrl === null || componentsUrl === void 0 ? void 0 : componentsUrl.replace(/[^\/]+$/, 'DescopeDev.js');
|
|
14
|
-
// eslint-disable-next-line no-console
|
|
15
|
-
console.warn('Trying to load DescopeDev.js from', descopeDevUrl);
|
|
16
|
-
const scriptEle = document.createElement('script');
|
|
17
|
-
scriptEle.src = descopeDevUrl;
|
|
18
|
-
document.body.appendChild(scriptEle);
|
|
19
|
-
await new Promise((resolve, reject) => {
|
|
20
|
-
scriptEle.onload = resolve;
|
|
21
|
-
scriptEle.onerror = reject;
|
|
22
|
-
});
|
|
23
|
-
if (globalThis.DescopeDev) {
|
|
24
|
-
const { themeToStyle, defaultTheme, darkTheme } = globalThis.DescopeDev;
|
|
25
|
-
return {
|
|
26
|
-
light: themeToStyle(defaultTheme),
|
|
27
|
-
dark: themeToStyle(darkTheme),
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
exports.loadDevTheme = loadDevTheme;
|
|
33
|
-
exports.loadFont = loadFont;
|
|
34
|
-
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../../src/mixins/themeMixin/helpers.ts"],"sourcesContent":["import { UI_COMPONENTS_URL_KEY } from '../descopeUiMixin/constants';\n\nexport const loadFont = (url: string) => {\n const font = document.createElement('link');\n font.href = url;\n font.rel = 'stylesheet';\n document.head.appendChild(font);\n};\n\nexport const loadDevTheme = async () => {\n const componentsUrl = localStorage.getItem(UI_COMPONENTS_URL_KEY);\n const descopeDevUrl = componentsUrl?.replace(/[^\\/]+$/, 'DescopeDev.js');\n\n // eslint-disable-next-line no-console\n console.warn('Trying to load DescopeDev.js from', descopeDevUrl);\n const scriptEle = document.createElement('script');\n scriptEle.src = descopeDevUrl;\n document.body.appendChild(scriptEle);\n\n await new Promise((resolve, reject) => {\n scriptEle.onload = resolve;\n scriptEle.onerror = reject;\n });\n\n if (globalThis.DescopeDev) {\n const { themeToStyle, defaultTheme, darkTheme } = globalThis.DescopeDev;\n\n return {\n light: themeToStyle(defaultTheme),\n dark: themeToStyle(darkTheme),\n };\n }\n};\n"],"names":["UI_COMPONENTS_URL_KEY"],"mappings":";;;;AAEa,MAAA,QAAQ,GAAG,CAAC,GAAW,KAAI;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5C,IAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,IAAA,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;AACxB,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE;AAEW,MAAA,YAAY,GAAG,YAAW;IACrC,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAACA,+BAAqB,CAAC,CAAC;AAClE,IAAA,MAAM,aAAa,GAAG,aAAa,KAAA,IAAA,IAAb,aAAa,KAAb,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,aAAa,CAAE,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;;AAGzE,IAAA,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACnD,IAAA,SAAS,CAAC,GAAG,GAAG,aAAa,CAAC;AAC9B,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACpC,QAAA,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC;AAC3B,QAAA,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;AAC7B,KAAC,CAAC,CAAC;AAEH,IAAA,IAAI,UAAU,CAAC,UAAU,EAAE;QACzB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC;QAExE,OAAO;AACL,YAAA,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC;AACjC,YAAA,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH;AACH;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var sdkHelpers = require('@descope/sdk-helpers');
|
|
5
|
-
var configMixin = require('../configMixin/configMixin.js');
|
|
6
|
-
var createValidateAttributesMixin = require('../createValidateAttributesMixin/createValidateAttributesMixin.js');
|
|
7
|
-
var descopeUiMixin = require('../descopeUiMixin/descopeUiMixin.js');
|
|
8
|
-
var initElementMixin = require('../initElementMixin.js');
|
|
9
|
-
var initLifecycleMixin = require('../initLifecycleMixin.js');
|
|
10
|
-
var staticResourcesMixin = require('../staticResourcesMixin/staticResourcesMixin.js');
|
|
11
|
-
var constants = require('./constants.js');
|
|
12
|
-
var helpers = require('./helpers.js');
|
|
13
|
-
var observeAttributesMixin = require('../observeAttributesMixin/observeAttributesMixin.js');
|
|
14
|
-
var constants$1 = require('../descopeUiMixin/constants.js');
|
|
15
|
-
|
|
16
|
-
const themeValidation = (_, theme) => (theme || false) &&
|
|
17
|
-
theme !== 'light' &&
|
|
18
|
-
theme !== 'dark' &&
|
|
19
|
-
'Supported theme values are "light", "dark", or leave empty for using the OS theme';
|
|
20
|
-
const themeMixin = sdkHelpers.createSingletonMixin((superclass) => {
|
|
21
|
-
var _ThemeMixinClass_instances, _ThemeMixinClass_globalStyle, _ThemeMixinClass__themeResource, _ThemeMixinClass_fetchTheme, _ThemeMixinClass_themeResource_get, _ThemeMixinClass_loadGlobalStyle, _ThemeMixinClass_loadComponentsStyle, _ThemeMixinClass_getFontsConfig, _ThemeMixinClass_loadFonts, _ThemeMixinClass_applyTheme, _ThemeMixinClass_onThemeChange, _ThemeMixinClass_loadTheme, _ThemeMixinClass_toggleOsThemeChangeListener, _a;
|
|
22
|
-
const BaseClass = sdkHelpers.compose(createValidateAttributesMixin.createValidateAttributesMixin({ theme: themeValidation }), staticResourcesMixin.staticResourcesMixin, initLifecycleMixin.initLifecycleMixin, descopeUiMixin.descopeUiMixin, configMixin.configMixin, initElementMixin.initElementMixin, observeAttributesMixin.observeAttributesMixin)(superclass);
|
|
23
|
-
return _a = class ThemeMixinClass extends BaseClass {
|
|
24
|
-
constructor() {
|
|
25
|
-
super(...arguments);
|
|
26
|
-
_ThemeMixinClass_instances.add(this);
|
|
27
|
-
_ThemeMixinClass_globalStyle.set(this, void 0);
|
|
28
|
-
_ThemeMixinClass__themeResource.set(this, void 0);
|
|
29
|
-
_ThemeMixinClass_onThemeChange.set(this, () => {
|
|
30
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_loadTheme).call(this);
|
|
31
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_toggleOsThemeChangeListener, "f").call(this, this.getAttribute('theme') === 'os');
|
|
32
|
-
});
|
|
33
|
-
// add or remove os theme change listener
|
|
34
|
-
_ThemeMixinClass_toggleOsThemeChangeListener.set(this, (listen) => {
|
|
35
|
-
var _b, _c, _d;
|
|
36
|
-
const method = listen ? 'addEventListener' : 'removeEventListener';
|
|
37
|
-
(_d = (_c = (_b = window
|
|
38
|
-
.matchMedia) === null || _b === void 0 ? void 0 : _b.call(window, '(prefers-color-scheme: dark)')) === null || _c === void 0 ? void 0 : _c[method]) === null || _d === void 0 ? void 0 : _d.call(_c, 'change', () => tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_loadTheme).call(this));
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
get theme() {
|
|
42
|
-
var _b, _c;
|
|
43
|
-
const theme = this.getAttribute('theme');
|
|
44
|
-
if (theme === 'os') {
|
|
45
|
-
const isOsDark = window.matchMedia &&
|
|
46
|
-
((_c = (_b = window.matchMedia) === null || _b === void 0 ? void 0 : _b.call(window, '(prefers-color-scheme: dark)')) === null || _c === void 0 ? void 0 : _c.matches);
|
|
47
|
-
return isOsDark ? 'dark' : 'light';
|
|
48
|
-
}
|
|
49
|
-
return theme || 'light';
|
|
50
|
-
}
|
|
51
|
-
get styleId() {
|
|
52
|
-
return this.getAttribute('style-id') || constants.DEFAULT_STYLE_ID;
|
|
53
|
-
}
|
|
54
|
-
async init() {
|
|
55
|
-
var _b;
|
|
56
|
-
await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this));
|
|
57
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_loadGlobalStyle).call(this);
|
|
58
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_loadComponentsStyle).call(this);
|
|
59
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_onThemeChange, "f").call(this);
|
|
60
|
-
this.observeAttributes(['theme'], tslib.__classPrivateFieldGet(this, _ThemeMixinClass_onThemeChange, "f"));
|
|
61
|
-
this.observeAttributes(['style-id'], () => {
|
|
62
|
-
tslib.__classPrivateFieldSet(this, _ThemeMixinClass__themeResource, null, "f");
|
|
63
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_loadFonts).call(this);
|
|
64
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_loadGlobalStyle).call(this);
|
|
65
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_loadComponentsStyle).call(this);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
_ThemeMixinClass_globalStyle = new WeakMap(),
|
|
70
|
-
_ThemeMixinClass__themeResource = new WeakMap(),
|
|
71
|
-
_ThemeMixinClass_onThemeChange = new WeakMap(),
|
|
72
|
-
_ThemeMixinClass_toggleOsThemeChangeListener = new WeakMap(),
|
|
73
|
-
_ThemeMixinClass_instances = new WeakSet(),
|
|
74
|
-
_ThemeMixinClass_fetchTheme = async function _ThemeMixinClass_fetchTheme() {
|
|
75
|
-
try {
|
|
76
|
-
const { body: fetchedTheme } = await this.fetchStaticResource(`${this.styleId}.json`, 'json');
|
|
77
|
-
// In development mode, we sometimes want to override the UI components URL
|
|
78
|
-
// The override components might have a different theme, so we need to merge it with the project theme in order to see the components correctly
|
|
79
|
-
if (process.env.NODE_ENV === 'development') {
|
|
80
|
-
if (localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem(constants$1.UI_COMPONENTS_URL_KEY)) {
|
|
81
|
-
try {
|
|
82
|
-
this.logger.warn('You are in DEV mode, and UI components override URL was found\ntrying to merge project theme with the default theme of the UI components');
|
|
83
|
-
const devTheme = await helpers.loadDevTheme();
|
|
84
|
-
if (devTheme) {
|
|
85
|
-
fetchedTheme.light.components = Object.assign(Object.assign({}, fetchedTheme.light.components), devTheme.light.components);
|
|
86
|
-
fetchedTheme.dark.components = Object.assign(Object.assign({}, fetchedTheme.dark.components), devTheme.dark.components);
|
|
87
|
-
this.logger.warn('Theme was merged successfully');
|
|
88
|
-
// eslint-disable-next-line no-console
|
|
89
|
-
console.log('%cNOTICE! This is not the theme that will be used in production!\n\nMake sure to test it without the override UI components URL!', 'color: black; background-color:yellow; font-size: x-large');
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
catch (e) {
|
|
93
|
-
this.logger.error('Failed to merge UI components theme\n', e);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return fetchedTheme;
|
|
98
|
-
}
|
|
99
|
-
catch (e) {
|
|
100
|
-
this.logger.error('Cannot fetch theme file', 'make sure that your projectId & flowId are correct');
|
|
101
|
-
}
|
|
102
|
-
return undefined;
|
|
103
|
-
},
|
|
104
|
-
_ThemeMixinClass_themeResource_get = function _ThemeMixinClass_themeResource_get() {
|
|
105
|
-
if (!tslib.__classPrivateFieldGet(this, _ThemeMixinClass__themeResource, "f")) {
|
|
106
|
-
tslib.__classPrivateFieldSet(this, _ThemeMixinClass__themeResource, tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_fetchTheme).call(this), "f");
|
|
107
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass__themeResource, "f").then((theme) => this.logger.debug('Fetched theme', theme));
|
|
108
|
-
}
|
|
109
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
110
|
-
return tslib.__classPrivateFieldGet(this, _ThemeMixinClass__themeResource, "f");
|
|
111
|
-
},
|
|
112
|
-
_ThemeMixinClass_loadGlobalStyle = async function _ThemeMixinClass_loadGlobalStyle() {
|
|
113
|
-
var _b, _c, _d;
|
|
114
|
-
var _e;
|
|
115
|
-
const theme = await tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "a", _ThemeMixinClass_themeResource_get);
|
|
116
|
-
if (!theme)
|
|
117
|
-
return;
|
|
118
|
-
if (!tslib.__classPrivateFieldGet(this, _ThemeMixinClass_globalStyle, "f")) {
|
|
119
|
-
tslib.__classPrivateFieldSet(this, _ThemeMixinClass_globalStyle, new CSSStyleSheet(), "f");
|
|
120
|
-
(_b = (_e = this.shadowRoot).adoptedStyleSheets) !== null && _b !== void 0 ? _b : (_e.adoptedStyleSheets = []);
|
|
121
|
-
this.shadowRoot.adoptedStyleSheets = [
|
|
122
|
-
...this.shadowRoot.adoptedStyleSheets,
|
|
123
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_globalStyle, "f"),
|
|
124
|
-
];
|
|
125
|
-
}
|
|
126
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_globalStyle, "f").replaceSync((((_c = theme === null || theme === void 0 ? void 0 : theme.light) === null || _c === void 0 ? void 0 : _c.globals) || '') + (((_d = theme === null || theme === void 0 ? void 0 : theme.dark) === null || _d === void 0 ? void 0 : _d.globals) || ''));
|
|
127
|
-
},
|
|
128
|
-
_ThemeMixinClass_loadComponentsStyle = async function _ThemeMixinClass_loadComponentsStyle() {
|
|
129
|
-
var _b, _c;
|
|
130
|
-
const theme = Object.assign({}, (await tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "a", _ThemeMixinClass_themeResource_get)));
|
|
131
|
-
if (!theme)
|
|
132
|
-
return;
|
|
133
|
-
const descopeUi = await this.descopeUi;
|
|
134
|
-
if (descopeUi === null || descopeUi === void 0 ? void 0 : descopeUi.componentsThemeManager) {
|
|
135
|
-
descopeUi.componentsThemeManager.themes = {
|
|
136
|
-
light: (_b = theme === null || theme === void 0 ? void 0 : theme.light) === null || _b === void 0 ? void 0 : _b.components,
|
|
137
|
-
dark: (_c = theme === null || theme === void 0 ? void 0 : theme.dark) === null || _c === void 0 ? void 0 : _c.components,
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
_ThemeMixinClass_getFontsConfig = async function _ThemeMixinClass_getFontsConfig() {
|
|
142
|
-
var _b, _c;
|
|
143
|
-
const { projectConfig } = (await this.config) || {};
|
|
144
|
-
const newConfig = (_b = projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.styles) === null || _b === void 0 ? void 0 : _b[this.styleId];
|
|
145
|
-
const oldConfig = projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.cssTemplate;
|
|
146
|
-
const config = newConfig || oldConfig;
|
|
147
|
-
const fonts = (_c = config === null || config === void 0 ? void 0 : config[this.theme]) === null || _c === void 0 ? void 0 : _c.fonts;
|
|
148
|
-
return fonts;
|
|
149
|
-
},
|
|
150
|
-
_ThemeMixinClass_loadFonts = async function _ThemeMixinClass_loadFonts() {
|
|
151
|
-
const fonts = await tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_getFontsConfig).call(this);
|
|
152
|
-
if (fonts) {
|
|
153
|
-
Object.values(fonts).forEach((font) => {
|
|
154
|
-
if (font.url) {
|
|
155
|
-
this.logger.debug(`Loading font from URL "${font.url}"`);
|
|
156
|
-
helpers.loadFont(font.url);
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
this.logger.debug('No fonts to load');
|
|
162
|
-
}
|
|
163
|
-
},
|
|
164
|
-
_ThemeMixinClass_applyTheme = async function _ThemeMixinClass_applyTheme() {
|
|
165
|
-
this.rootElement.setAttribute('data-theme', this.theme);
|
|
166
|
-
const descopeUi = await this.descopeUi;
|
|
167
|
-
if (descopeUi === null || descopeUi === void 0 ? void 0 : descopeUi.componentsThemeManager) {
|
|
168
|
-
descopeUi.componentsThemeManager.currentThemeName = this.theme;
|
|
169
|
-
}
|
|
170
|
-
},
|
|
171
|
-
_ThemeMixinClass_loadTheme = function _ThemeMixinClass_loadTheme() {
|
|
172
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_loadFonts).call(this);
|
|
173
|
-
tslib.__classPrivateFieldGet(this, _ThemeMixinClass_instances, "m", _ThemeMixinClass_applyTheme).call(this);
|
|
174
|
-
},
|
|
175
|
-
_a;
|
|
176
|
-
});
|
|
177
|
-
|
|
178
|
-
exports.themeMixin = themeMixin;
|
|
179
|
-
//# sourceMappingURL=themeMixin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"themeMixin.js","sources":["../../../../src/mixins/themeMixin/themeMixin.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport { createSingletonMixin, compose } from '@descope/sdk-helpers';\nimport { configMixin } from '../configMixin';\nimport { createValidateAttributesMixin } from '../createValidateAttributesMixin';\nimport { descopeUiMixin } from '../descopeUiMixin';\nimport { initElementMixin } from '../initElementMixin';\nimport { initLifecycleMixin } from '../initLifecycleMixin';\nimport { staticResourcesMixin } from '../staticResourcesMixin';\nimport { DEFAULT_STYLE_ID } from './constants';\nimport { loadDevTheme, loadFont } from './helpers';\nimport { observeAttributesMixin } from '../observeAttributesMixin';\nimport { UI_COMPONENTS_URL_KEY } from '../descopeUiMixin/constants';\n\nconst themeValidation = (_: string, theme: string | null) =>\n (theme || false) &&\n theme !== 'light' &&\n theme !== 'dark' &&\n 'Supported theme values are \"light\", \"dark\", or leave empty for using the OS theme';\n\nexport type ThemeOptions = 'light' | 'dark' | 'os';\n\nexport const themeMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n createValidateAttributesMixin({ theme: themeValidation }),\n staticResourcesMixin,\n initLifecycleMixin,\n descopeUiMixin,\n configMixin,\n initElementMixin,\n observeAttributesMixin,\n )(superclass);\n\n return class ThemeMixinClass extends BaseClass {\n #globalStyle: CSSStyleSheet;\n\n get theme(): ThemeOptions {\n const theme = this.getAttribute('theme') as ThemeOptions | null;\n\n if (theme === 'os') {\n const isOsDark =\n window.matchMedia &&\n window.matchMedia?.('(prefers-color-scheme: dark)')?.matches;\n\n return isOsDark ? 'dark' : 'light';\n }\n\n return theme || 'light';\n }\n\n get styleId(): string {\n return this.getAttribute('style-id') || DEFAULT_STYLE_ID;\n }\n\n #_themeResource: Promise<void | Record<string, any>>;\n\n async #fetchTheme() {\n try {\n const { body: fetchedTheme } = await this.fetchStaticResource(\n `${this.styleId}.json`,\n 'json',\n );\n\n // In development mode, we sometimes want to override the UI components URL\n // The override components might have a different theme, so we need to merge it with the project theme in order to see the components correctly\n if (process.env.NODE_ENV === 'development') {\n if (localStorage?.getItem(UI_COMPONENTS_URL_KEY)) {\n try {\n this.logger.warn(\n 'You are in DEV mode, and UI components override URL was found\\ntrying to merge project theme with the default theme of the UI components',\n );\n const devTheme = await loadDevTheme();\n\n if (devTheme) {\n fetchedTheme.light.components = {\n ...fetchedTheme.light.components,\n ...devTheme.light.components,\n };\n fetchedTheme.dark.components = {\n ...fetchedTheme.dark.components,\n ...devTheme.dark.components,\n };\n\n this.logger.warn('Theme was merged successfully');\n\n // eslint-disable-next-line no-console\n console.log(\n '%cNOTICE! This is not the theme that will be used in production!\\n\\nMake sure to test it without the override UI components URL!',\n 'color: black; background-color:yellow; font-size: x-large',\n );\n }\n } catch (e) {\n this.logger.error('Failed to merge UI components theme\\n', e);\n }\n }\n }\n\n return fetchedTheme;\n } catch (e) {\n this.logger.error(\n 'Cannot fetch theme file',\n 'make sure that your projectId & flowId are correct',\n );\n }\n\n return undefined;\n }\n\n get #themeResource() {\n if (!this.#_themeResource) {\n this.#_themeResource = this.#fetchTheme();\n this.#_themeResource.then((theme) =>\n this.logger.debug('Fetched theme', theme),\n );\n }\n\n // eslint-disable-next-line no-underscore-dangle\n return this.#_themeResource;\n }\n\n async #loadGlobalStyle() {\n const theme = await this.#themeResource;\n if (!theme) return;\n\n if (!this.#globalStyle) {\n this.#globalStyle = new CSSStyleSheet();\n this.shadowRoot.adoptedStyleSheets ??= [];\n this.shadowRoot.adoptedStyleSheets = [\n ...this.shadowRoot.adoptedStyleSheets,\n this.#globalStyle,\n ];\n }\n\n this.#globalStyle.replaceSync(\n (theme?.light?.globals || '') + (theme?.dark?.globals || ''),\n );\n }\n\n async #loadComponentsStyle() {\n const theme = { ...(await this.#themeResource) } as Record<string, any>;\n if (!theme) return;\n\n const descopeUi = await this.descopeUi;\n if (descopeUi?.componentsThemeManager) {\n descopeUi.componentsThemeManager.themes = {\n light: theme?.light?.components,\n dark: theme?.dark?.components,\n };\n }\n }\n\n async #getFontsConfig() {\n const { projectConfig } = (await this.config) || {};\n\n const newConfig = projectConfig?.styles?.[this.styleId];\n const oldConfig = projectConfig?.cssTemplate;\n\n const config = newConfig || oldConfig;\n\n const fonts: Record<string, { url?: string }> | undefined =\n config?.[this.theme]?.fonts;\n\n return fonts;\n }\n\n async #loadFonts() {\n const fonts = await this.#getFontsConfig();\n if (fonts) {\n Object.values(fonts).forEach((font) => {\n if (font.url) {\n this.logger.debug(`Loading font from URL \"${font.url}\"`);\n loadFont(font.url);\n }\n });\n } else {\n this.logger.debug('No fonts to load');\n }\n }\n\n async #applyTheme() {\n this.rootElement.setAttribute('data-theme', this.theme);\n const descopeUi = await this.descopeUi;\n if (descopeUi?.componentsThemeManager) {\n descopeUi.componentsThemeManager.currentThemeName = this.theme;\n }\n }\n\n #onThemeChange = () => {\n this.#loadTheme();\n this.#toggleOsThemeChangeListener(this.getAttribute('theme') === 'os');\n };\n\n #loadTheme() {\n this.#loadFonts();\n this.#applyTheme();\n }\n\n // add or remove os theme change listener\n #toggleOsThemeChangeListener = (listen: boolean) => {\n const method = listen ? 'addEventListener' : 'removeEventListener';\n window\n .matchMedia?.('(prefers-color-scheme: dark)')\n ?.[method]?.('change', () => this.#loadTheme());\n };\n\n async init() {\n await super.init?.();\n\n this.#loadGlobalStyle();\n this.#loadComponentsStyle();\n this.#onThemeChange();\n\n this.observeAttributes(['theme'], this.#onThemeChange);\n\n this.observeAttributes(['style-id'], () => {\n this.#_themeResource = null;\n this.#loadFonts();\n this.#loadGlobalStyle();\n this.#loadComponentsStyle();\n });\n }\n };\n },\n);\n"],"names":["createSingletonMixin","compose","createValidateAttributesMixin","staticResourcesMixin","initLifecycleMixin","descopeUiMixin","configMixin","initElementMixin","observeAttributesMixin","__classPrivateFieldGet","DEFAULT_STYLE_ID","__classPrivateFieldSet","UI_COMPONENTS_URL_KEY","loadDevTheme","loadFont"],"mappings":"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"}
|
package/dist/cjs/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"commonjs"}
|
package/dist/esm/constants.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../src/constants.ts"],"sourcesContent":["export const IS_LOCAL_STORAGE = typeof localStorage !== 'undefined';\n"],"names":[],"mappings":"MAAa,gBAAgB,GAAG,OAAO,YAAY,KAAK;;;;"}
|
package/dist/esm/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export { configMixin } from './mixins/configMixin/configMixin.js';
|
|
2
|
-
export { createValidateAttributesMixin } from './mixins/createValidateAttributesMixin/createValidateAttributesMixin.js';
|
|
3
|
-
export { debuggerMixin } from './mixins/debuggerMixin/debuggerMixin.js';
|
|
4
|
-
export { descopeUiMixin } from './mixins/descopeUiMixin/descopeUiMixin.js';
|
|
5
|
-
export { loggerMixin } from './mixins/loggerMixin/loggerMixin.js';
|
|
6
|
-
export { modalMixin } from './mixins/modalMixin/modalMixin.js';
|
|
7
|
-
export { notificationsMixin } from './mixins/notificationsMixin/notificationsMixin.js';
|
|
8
|
-
export { observeAttributesMixin } from './mixins/observeAttributesMixin/observeAttributesMixin.js';
|
|
9
|
-
export { getResourceUrl, staticResourcesMixin } from './mixins/staticResourcesMixin/staticResourcesMixin.js';
|
|
10
|
-
export { themeMixin } from './mixins/themeMixin/themeMixin.js';
|
|
11
|
-
export { createStateManagementMixin } from './mixins/createStateManagementMixin.js';
|
|
12
|
-
export { formMixin } from './mixins/formMixin.js';
|
|
13
|
-
export { initElementMixin } from './mixins/initElementMixin.js';
|
|
14
|
-
export { initLifecycleMixin } from './mixins/initLifecycleMixin.js';
|
|
15
|
-
export { projectIdMixin } from './mixins/projectIdMixin.js';
|
|
16
|
-
export { baseUrlMixin } from './mixins/baseUrlMixin.js';
|
|
17
|
-
export { cookieConfigMixin } from './mixins/cookieConfigMixin.js';
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createSingletonMixin } from '@descope/sdk-helpers';
|
|
2
|
-
|
|
3
|
-
const baseUrlMixin = createSingletonMixin((superclass) => {
|
|
4
|
-
return class BaseUrlMixinClass extends superclass {
|
|
5
|
-
get baseUrl() {
|
|
6
|
-
return this.getAttribute('base-url') || '';
|
|
7
|
-
}
|
|
8
|
-
};
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
export { baseUrlMixin };
|
|
12
|
-
//# sourceMappingURL=baseUrlMixin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"baseUrlMixin.js","sources":["../../../src/mixins/baseUrlMixin.ts"],"sourcesContent":["import { createSingletonMixin } from '@descope/sdk-helpers';\n\nexport const baseUrlMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n return class BaseUrlMixinClass extends superclass {\n get baseUrl() {\n return this.getAttribute('base-url') || '';\n }\n };\n },\n);\n"],"names":[],"mappings":";;MAEa,YAAY,GAAG,oBAAoB,CAC9C,CAAqC,UAAa,KAAI;IACpD,OAAO,MAAM,iBAAkB,SAAQ,UAAU,CAAA;AAC/C,QAAA,IAAI,OAAO,GAAA;YACT,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC5C;KACF,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
|
|
2
|
-
import { createSingletonMixin, compose } from '@descope/sdk-helpers';
|
|
3
|
-
import { staticResourcesMixin } from '../staticResourcesMixin/staticResourcesMixin.js';
|
|
4
|
-
import { CONFIG_FILENAME } from './constants.js';
|
|
5
|
-
import { resetMixin } from '../resetMixin.js';
|
|
6
|
-
import { initLifecycleMixin } from '../initLifecycleMixin.js';
|
|
7
|
-
|
|
8
|
-
const configMixin = createSingletonMixin((superclass) => {
|
|
9
|
-
var _ConfigMixinClass_instances, _ConfigMixinClass_configCacheClear, _ConfigMixinClass__configResource, _ConfigMixinClass_fetchConfig, _a;
|
|
10
|
-
const BaseClass = compose(staticResourcesMixin, resetMixin, initLifecycleMixin)(superclass);
|
|
11
|
-
return _a = class ConfigMixinClass extends BaseClass {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
_ConfigMixinClass_instances.add(this);
|
|
15
|
-
_ConfigMixinClass__configResource.set(this, void 0);
|
|
16
|
-
_ConfigMixinClass_fetchConfig.set(this, async () => {
|
|
17
|
-
try {
|
|
18
|
-
const { body, headers, } = await this.fetchStaticResource(CONFIG_FILENAME, 'json');
|
|
19
|
-
return {
|
|
20
|
-
projectConfig: body,
|
|
21
|
-
executionContext: { geo: headers['x-geo'] },
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
catch (e) {
|
|
25
|
-
this.logger.error('Cannot fetch config file', 'make sure that your projectId & flowId are correct');
|
|
26
|
-
}
|
|
27
|
-
return undefined;
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
async init() {
|
|
31
|
-
await super.init();
|
|
32
|
-
this.onReset('config', __classPrivateFieldGet(this, _ConfigMixinClass_instances, "m", _ConfigMixinClass_configCacheClear).bind(this));
|
|
33
|
-
}
|
|
34
|
-
get config() {
|
|
35
|
-
if (!__classPrivateFieldGet(this, _ConfigMixinClass__configResource, "f")) {
|
|
36
|
-
__classPrivateFieldSet(this, _ConfigMixinClass__configResource, __classPrivateFieldGet(this, _ConfigMixinClass_fetchConfig, "f").call(this), "f");
|
|
37
|
-
}
|
|
38
|
-
return __classPrivateFieldGet(this, _ConfigMixinClass__configResource, "f");
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
_ConfigMixinClass__configResource = new WeakMap(),
|
|
42
|
-
_ConfigMixinClass_fetchConfig = new WeakMap(),
|
|
43
|
-
_ConfigMixinClass_instances = new WeakSet(),
|
|
44
|
-
_ConfigMixinClass_configCacheClear = function _ConfigMixinClass_configCacheClear() {
|
|
45
|
-
__classPrivateFieldSet(this, _ConfigMixinClass__configResource, undefined, "f");
|
|
46
|
-
},
|
|
47
|
-
_a;
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
export { configMixin };
|
|
51
|
-
//# sourceMappingURL=configMixin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configMixin.js","sources":["../../../../src/mixins/configMixin/configMixin.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport { staticResourcesMixin } from '../staticResourcesMixin';\nimport { CONFIG_FILENAME } from './constants';\nimport { Config, ProjectConfiguration } from './types';\nimport { resetMixin } from '../resetMixin';\nimport { initLifecycleMixin } from '../initLifecycleMixin';\n\nexport const configMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n staticResourcesMixin,\n resetMixin,\n initLifecycleMixin,\n )(superclass);\n\n return class ConfigMixinClass extends BaseClass {\n async init() {\n await super.init();\n this.onReset('config', this.#configCacheClear.bind(this));\n }\n\n get config() {\n if (!this.#_configResource) {\n this.#_configResource = this.#fetchConfig();\n }\n\n return this.#_configResource;\n }\n\n #configCacheClear() {\n this.#_configResource = undefined;\n }\n\n #_configResource: Promise<Config>;\n\n #fetchConfig: () => Promise<Config> = async () => {\n try {\n const {\n body,\n headers,\n }: { body: ProjectConfiguration; headers: Record<string, any> } =\n await (<any>this.fetchStaticResource(CONFIG_FILENAME, 'json'));\n return {\n projectConfig: body as ProjectConfiguration,\n executionContext: { geo: headers['x-geo'] },\n };\n } catch (e) {\n this.logger.error(\n 'Cannot fetch config file',\n 'make sure that your projectId & flowId are correct',\n );\n }\n\n return undefined;\n };\n };\n },\n);\n"],"names":[],"mappings":";;;;;;;MAQa,WAAW,GAAG,oBAAoB,CAC7C,CAAqC,UAAa,KAAI;;AACpD,IAAA,MAAM,SAAS,GAAG,OAAO,CACvB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,CACnB,CAAC,UAAU,CAAC,CAAC;IAEd,OAAO,EAAA,GAAA,MAAM,gBAAiB,SAAQ,SAAS,CAAA;AAAxC,YAAA,WAAA,GAAA;;;gBAkBL,iCAAkC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;gBAElC,6BAAsC,CAAA,GAAA,CAAA,IAAA,EAAA,YAAW;AAC/C,oBAAA,IAAI;AACF,wBAAA,MAAM,EACJ,IAAI,EACJ,OAAO,GACR,GACC,MAAY,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,MAAM,CAAE,CAAC;wBACjE,OAAO;AACL,4BAAA,aAAa,EAAE,IAA4B;4BAC3C,gBAAgB,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;yBAC5C,CAAC;qBACH;oBAAC,OAAO,CAAC,EAAE;wBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0BAA0B,EAC1B,oDAAoD,CACrD,CAAC;qBACH;AAED,oBAAA,OAAO,SAAS,CAAC;AACnB,iBAAC,CAAC,CAAA;aACH;AAvCC,YAAA,MAAM,IAAI,GAAA;AACR,gBAAA,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;AACnB,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAA,CAAA,IAAI,EAAkB,2BAAA,EAAA,GAAA,EAAA,kCAAA,CAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC3D;AAED,YAAA,IAAI,MAAM,GAAA;AACR,gBAAA,IAAI,CAAC,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAA,GAAA,CAAiB,EAAE;oBAC1B,sBAAA,CAAA,IAAI,qCAAoB,sBAAA,CAAA,IAAI,qCAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,EAAA,GAAA,CAAA,CAAC;iBAC7C;gBAED,OAAO,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAA,GAAA,CAAiB,CAAC;aAC9B;AA4BF,SAAA;;;;;AAzBG,YAAA,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAoB,SAAS,EAAA,GAAA,CAAA,CAAC;SACnC;AAwBD,QAAA,EAAA,CAAA;AACJ,CAAC;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../src/mixins/configMixin/constants.ts"],"sourcesContent":["export const CONFIG_FILENAME = 'config.json';\n"],"names":[],"mappings":"AAAO,MAAM,eAAe,GAAG;;;;"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createSingletonMixin } from '@descope/sdk-helpers';
|
|
2
|
-
|
|
3
|
-
const cookieConfigMixin = createSingletonMixin((superclass) => {
|
|
4
|
-
return class CookieConfigMixinClass extends superclass {
|
|
5
|
-
get refreshCookieName() {
|
|
6
|
-
return this.getAttribute('refresh-cookie-name') || '';
|
|
7
|
-
}
|
|
8
|
-
};
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
export { cookieConfigMixin };
|
|
12
|
-
//# sourceMappingURL=cookieConfigMixin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cookieConfigMixin.js","sources":["../../../src/mixins/cookieConfigMixin.ts"],"sourcesContent":["import { createSingletonMixin } from '@descope/sdk-helpers';\n\nexport const cookieConfigMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n return class CookieConfigMixinClass extends superclass {\n get refreshCookieName() {\n return this.getAttribute('refresh-cookie-name') || '';\n }\n };\n },\n);\n"],"names":[],"mappings":";;MAEa,iBAAiB,GAAG,oBAAoB,CACnD,CAAqC,UAAa,KAAI;IACpD,OAAO,MAAM,sBAAuB,SAAQ,UAAU,CAAA;AACpD,QAAA,IAAI,iBAAiB,GAAA;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;SACvD;KACF,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { createSingletonMixin, compose } from '@descope/sdk-helpers';
|
|
2
|
-
import { createSlice, configureStore, unwrapResult } from '@reduxjs/toolkit';
|
|
3
|
-
import { loggerMixin } from './loggerMixin/loggerMixin.js';
|
|
4
|
-
|
|
5
|
-
/* eslint-disable no-param-reassign */
|
|
6
|
-
const createStateManagementMixin = (options) => createSingletonMixin((superclass) => {
|
|
7
|
-
const slice = createSlice(options);
|
|
8
|
-
const allActions = Object.assign(Object.assign({}, slice.actions), options.asyncActions);
|
|
9
|
-
return class StateManagementMixinClass extends compose(loggerMixin)(superclass) {
|
|
10
|
-
constructor(...args) {
|
|
11
|
-
super(...args);
|
|
12
|
-
const store = configureStore({
|
|
13
|
-
reducer: slice.reducer,
|
|
14
|
-
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
|
|
15
|
-
thunk: {
|
|
16
|
-
extraArgument: this,
|
|
17
|
-
},
|
|
18
|
-
serializableCheck: false,
|
|
19
|
-
}),
|
|
20
|
-
// change to true if we want to debug redux
|
|
21
|
-
devTools: false,
|
|
22
|
-
});
|
|
23
|
-
const wrapAction = (action) => (async (...arg) => {
|
|
24
|
-
const result = await store.dispatch(action(...arg));
|
|
25
|
-
// we want to unwrap the result, so in case of an error we can log it
|
|
26
|
-
try {
|
|
27
|
-
unwrapResult(result);
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
this.logger.error(e.message, result.type, e.stack);
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
33
|
-
});
|
|
34
|
-
const actions = Object.keys(allActions).reduce((acc, actionName) => {
|
|
35
|
-
acc[actionName] = wrapAction(allActions[actionName]);
|
|
36
|
-
return acc;
|
|
37
|
-
}, {});
|
|
38
|
-
this.actions = actions;
|
|
39
|
-
this.subscribe = (cb, selector = (state) => state) => store.subscribe(() => cb(selector(store.getState())));
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
export { createStateManagementMixin };
|
|
45
|
-
//# sourceMappingURL=createStateManagementMixin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createStateManagementMixin.js","sources":["../../../src/mixins/createStateManagementMixin.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport type {\n CreateSliceOptions,\n Draft,\n SliceCaseReducers,\n SliceSelectors,\n} from '@reduxjs/toolkit';\nimport { configureStore, createSlice, unwrapResult } from '@reduxjs/toolkit';\nimport type { Unsubscribe } from 'redux'; // workaround for https://github.com/microsoft/TypeScript/issues/42873\nimport { loggerMixin } from './loggerMixin';\n\nexport const createStateManagementMixin = <\n State,\n CaseReducers extends SliceCaseReducers<State>,\n Name extends string,\n Selectors extends SliceSelectors<State>,\n ReducerPath extends string = Name,\n AsyncActions extends Record<string, any> = {},\n>(\n options: CreateSliceOptions<\n State,\n CaseReducers,\n Name,\n ReducerPath,\n Selectors\n > & { asyncActions?: AsyncActions },\n) =>\n createSingletonMixin(<T extends CustomElementConstructor>(superclass: T) => {\n const slice = createSlice(options);\n\n const allActions = { ...slice.actions, ...options.asyncActions };\n\n return class StateManagementMixinClass extends compose(loggerMixin)(\n superclass,\n ) {\n actions: typeof allActions;\n\n subscribe: <SelectorR = State extends Draft<infer S> ? S : State>(\n cb: (state: SelectorR) => void,\n selector?: (state: State) => SelectorR,\n ) => Unsubscribe;\n\n constructor(...args: any) {\n super(...args);\n\n const store = configureStore({\n reducer: slice.reducer,\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware({\n thunk: {\n extraArgument: this,\n },\n serializableCheck: false,\n }),\n // change to true if we want to debug redux\n devTools: false,\n });\n\n const wrapAction = <F extends (...args: any[]) => any>(action: F) =>\n (async (...arg: any[]) => {\n const result = await store.dispatch(action(...arg));\n\n // we want to unwrap the result, so in case of an error we can log it\n try {\n unwrapResult(result);\n } catch (e) {\n this.logger.error(e.message, result.type, e.stack);\n }\n\n return result;\n }) as F;\n\n const actions = Object.keys(allActions).reduce((acc, actionName) => {\n acc[actionName] = wrapAction(allActions[actionName]);\n\n return acc;\n }, {}) as typeof slice.actions & typeof options.asyncActions;\n\n this.actions = actions;\n\n this.subscribe = (cb, selector = (state) => state as any) =>\n store.subscribe(() => cb(selector(store.getState())));\n }\n };\n });\n"],"names":[],"mappings":";;;;AAAA;AAYO,MAAM,0BAA0B,GAAG,CAQxC,OAMmC,KAEnC,oBAAoB,CAAC,CAAqC,UAAa,KAAI;AACzE,IAAA,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAEnC,MAAM,UAAU,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAC,OAAO,GAAK,OAAO,CAAC,YAAY,CAAE,CAAC;IAEjE,OAAO,MAAM,yBAA0B,SAAQ,OAAO,CAAC,WAAW,CAAC,CACjE,UAAU,CACX,CAAA;AAQC,QAAA,WAAA,CAAY,GAAG,IAAS,EAAA;AACtB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAEf,MAAM,KAAK,GAAG,cAAc,CAAC;gBAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,gBAAA,UAAU,EAAE,CAAC,oBAAoB,KAC/B,oBAAoB,CAAC;AACnB,oBAAA,KAAK,EAAE;AACL,wBAAA,aAAa,EAAE,IAAI;AACpB,qBAAA;AACD,oBAAA,iBAAiB,EAAE,KAAK;iBACzB,CAAC;;AAEJ,gBAAA,QAAQ,EAAE,KAAK;AAChB,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,UAAU,GAAG,CAAoC,MAAS,MAC7D,OAAO,GAAG,GAAU,KAAI;AACvB,gBAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;;AAGpD,gBAAA,IAAI;oBACF,YAAY,CAAC,MAAM,CAAC,CAAC;iBACtB;gBAAC,OAAO,CAAC,EAAE;AACV,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;iBACpD;AAED,gBAAA,OAAO,MAAM,CAAC;AAChB,aAAC,CAAM,CAAC;AAEV,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,KAAI;gBACjE,GAAG,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AAErD,gBAAA,OAAO,GAAG,CAAC;aACZ,EAAE,EAAE,CAAuD,CAAC;AAE7D,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAEvB,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,QAAA,GAAW,CAAC,KAAK,KAAK,KAAY,KACtD,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;SACzD;KACF,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commonValidators.js","sources":["../../../../src/mixins/createValidateAttributesMixin/commonValidators.ts"],"sourcesContent":["export const missingAttrValidator = (attrName: string, value: string | null) =>\n !value &&\n `${attrName} cannot be empty, please make sure to set this attribute`;\n"],"names":[],"mappings":"AAAO,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,KAAoB,KACzE,CAAC,KAAK;IACN,CAAG,EAAA,QAAQ;;;;"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { __classPrivateFieldGet } from 'tslib';
|
|
2
|
-
import { compose } from '@descope/sdk-helpers';
|
|
3
|
-
import { observeAttributesMixin } from '../observeAttributesMixin/observeAttributesMixin.js';
|
|
4
|
-
import { initLifecycleMixin } from '../initLifecycleMixin.js';
|
|
5
|
-
import { loggerMixin } from '../loggerMixin/loggerMixin.js';
|
|
6
|
-
import { missingAttrValidator } from './commonValidators.js';
|
|
7
|
-
|
|
8
|
-
const createValidateAttributesMixin = (mappings) => (superclass) => {
|
|
9
|
-
var _ValidateAttributesMixinClass_instances, _ValidateAttributesMixinClass_handleError, _a;
|
|
10
|
-
const BaseClass = compose(loggerMixin, initLifecycleMixin, observeAttributesMixin)(superclass);
|
|
11
|
-
const mappingsNames = Object.keys(mappings);
|
|
12
|
-
return _a = class ValidateAttributesMixinClass extends BaseClass {
|
|
13
|
-
constructor(...args) {
|
|
14
|
-
super(...args);
|
|
15
|
-
_ValidateAttributesMixinClass_instances.add(this);
|
|
16
|
-
this.observeAttributes(mappingsNames, __classPrivateFieldGet(this, _ValidateAttributesMixinClass_instances, "m", _ValidateAttributesMixinClass_handleError).bind(this));
|
|
17
|
-
}
|
|
18
|
-
async init() {
|
|
19
|
-
var _b;
|
|
20
|
-
// check attributes initial values
|
|
21
|
-
mappingsNames.forEach((attr) => __classPrivateFieldGet(this, _ValidateAttributesMixinClass_instances, "m", _ValidateAttributesMixinClass_handleError).call(this, attr, this.getAttribute(attr)));
|
|
22
|
-
await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this));
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
_ValidateAttributesMixinClass_instances = new WeakSet(),
|
|
26
|
-
_ValidateAttributesMixinClass_handleError = function _ValidateAttributesMixinClass_handleError(attrName, newValue) {
|
|
27
|
-
const onError = mappings[attrName];
|
|
28
|
-
const error = typeof onError === 'function' ? onError(attrName, newValue) : onError;
|
|
29
|
-
if (error) {
|
|
30
|
-
this.logger.error(error);
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
_a;
|
|
34
|
-
};
|
|
35
|
-
createValidateAttributesMixin.missingAttrValidator = missingAttrValidator;
|
|
36
|
-
|
|
37
|
-
export { createValidateAttributesMixin };
|
|
38
|
-
//# sourceMappingURL=createValidateAttributesMixin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createValidateAttributesMixin.js","sources":["../../../../src/mixins/createValidateAttributesMixin/createValidateAttributesMixin.ts"],"sourcesContent":["import { compose } from '@descope/sdk-helpers';\nimport { observeAttributesMixin } from '../observeAttributesMixin';\nimport { initLifecycleMixin } from '../initLifecycleMixin';\nimport { loggerMixin } from '../loggerMixin';\nimport { missingAttrValidator } from './commonValidators';\n\nconst createValidateAttributesMixin =\n (mappings: Record<string, CheckValueFn | string>) =>\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n loggerMixin,\n initLifecycleMixin,\n observeAttributesMixin,\n )(superclass);\n const mappingsNames = Object.keys(mappings);\n\n return class ValidateAttributesMixinClass extends BaseClass {\n #handleError(attrName: string, newValue: string | null) {\n const onError = mappings[attrName];\n\n const error =\n typeof onError === 'function' ? onError(attrName, newValue) : onError;\n\n if (error) {\n this.logger.error(error);\n }\n }\n\n constructor(...args: any) {\n super(...args);\n\n this.observeAttributes(mappingsNames, this.#handleError.bind(this));\n }\n\n async init() {\n // check attributes initial values\n mappingsNames.forEach((attr) =>\n this.#handleError(attr, this.getAttribute(attr)),\n );\n await super.init?.();\n }\n };\n };\n\ncreateValidateAttributesMixin.missingAttrValidator = missingAttrValidator;\n\nexport type CheckValueFn = (\n attrName: string,\n value: string | null,\n) => false | string;\n\nexport { createValidateAttributesMixin };\n"],"names":[],"mappings":";;;;;;;AAMM,MAAA,6BAA6B,GACjC,CAAC,QAA+C,KAChD,CAAqC,UAAa,KAAI;;AACpD,IAAA,MAAM,SAAS,GAAG,OAAO,CACvB,WAAW,EACX,kBAAkB,EAClB,sBAAsB,CACvB,CAAC,UAAU,CAAC,CAAC;IACd,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE5C,OAAO,EAAA,GAAA,MAAM,4BAA6B,SAAQ,SAAS,CAAA;AAYzD,YAAA,WAAA,CAAY,GAAG,IAAS,EAAA;AACtB,gBAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;;AAEf,gBAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,sBAAA,CAAA,IAAI,EAAa,uCAAA,EAAA,GAAA,EAAA,yCAAA,CAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACrE;AAED,YAAA,MAAM,IAAI,GAAA;;;gBAER,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,KACzB,sBAAA,CAAA,IAAI,EAAa,uCAAA,EAAA,GAAA,EAAA,yCAAA,CAAA,CAAA,IAAA,CAAjB,IAAI,EAAc,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CACjD,CAAC;AACF,gBAAA,OAAM,CAAA,EAAA,GAAA,KAAK,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,CAAI,CAAA,CAAC;aACtB;AACF,SAAA;;AAxBc,QAAA,yCAAA,GAAA,SAAA,yCAAA,CAAA,QAAgB,EAAE,QAAuB,EAAA;AACpD,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEnC,YAAA,MAAM,KAAK,GACT,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC;YAExE,IAAI,KAAK,EAAE;AACT,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC1B;SACF;AAeD,QAAA,EAAA,CAAA;AACJ,EAAE;AAEJ,6BAA6B,CAAC,oBAAoB,GAAG,oBAAoB;;;;"}
|