@descope/web-components-ui 1.0.64 → 1.0.66
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.cjs.js +6 -4
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +706 -464
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/233.js +5 -1
- package/dist/umd/314.js +283 -0
- package/dist/umd/314.js.LICENSE.txt +27 -0
- package/dist/umd/541.js +744 -0
- package/dist/umd/541.js.LICENSE.txt +21 -0
- package/dist/umd/725.js +37 -1
- package/dist/umd/786.js +1 -1
- package/dist/umd/824.js +229 -0
- package/dist/umd/{54.js.LICENSE.txt → 824.js.LICENSE.txt} +0 -6
- package/dist/umd/840.js +9 -9
- package/dist/umd/860.js +1 -0
- package/dist/umd/descope-button-index-js.js +1 -1
- package/dist/umd/descope-checkbox-index-js.js +1 -1
- package/dist/umd/descope-combo-box-index-js.js +1 -0
- package/dist/umd/descope-container-index-js.js +1 -1
- package/dist/umd/descope-date-picker-index-js.js +1 -1
- package/dist/umd/descope-divider-index-js.js +1 -1
- package/dist/umd/descope-email-field-index-js.js +1 -1
- package/dist/umd/descope-link-index-js.js +1 -1
- package/dist/umd/descope-loader-linear-index-js.js +1 -1
- package/dist/umd/descope-loader-radial-index-js.js +1 -1
- package/dist/umd/descope-logo-index-js.js +1 -1
- package/dist/umd/descope-number-field-index-js.js +1 -1
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +1 -1
- package/dist/umd/descope-passcode-index-js.js +1 -1
- package/dist/umd/descope-password-field-index-js.js +1 -1
- package/dist/umd/descope-switch-toggle-index-js.js +1 -1
- package/dist/umd/descope-text-area-index-js.js +1 -1
- package/dist/umd/descope-text-field-index-js.js +1 -1
- package/dist/umd/descope-text-index-js.js +1 -1
- package/dist/umd/index.js +1 -1
- package/package.json +2 -1
- package/src/components/descope-combo-box/ComboBox.js +111 -0
- package/src/components/descope-combo-box/index.js +6 -0
- package/src/components/descope-passcode/Passcode.js +1 -0
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +9 -5
- package/src/constants.js +3 -1
- package/src/helpers/componentHelpers.js +55 -36
- package/src/helpers/index.js +2 -1
- package/src/helpers/themeHelpers/index.js +3 -3
- package/src/mixins/createStyleMixin/index.js +116 -90
- package/src/mixins/index.js +1 -0
- package/src/mixins/inputMixin.js +12 -7
- package/src/mixins/portalMixin.js +62 -0
- package/src/mixins/proxyInputMixin.js +23 -22
- package/src/theme/components/comboBox.js +32 -0
- package/src/theme/components/index.js +3 -1
- package/dist/umd/54.js +0 -971
- package/dist/umd/666.js +0 -37
- /package/dist/umd/{666.js.LICENSE.txt → 725.js.LICENSE.txt} +0 -0
package/dist/index.esm.js
CHANGED
@@ -16,14 +16,18 @@ const kebabCase = (str) =>
|
|
16
16
|
.replace(/[\s_.]+/g, '-')
|
17
17
|
.toLowerCase();
|
18
18
|
|
19
|
-
const kebabCaseJoin = (...args) => kebabCase(args.join('-'));
|
19
|
+
const kebabCaseJoin = (...args) => kebabCase(args.filter((arg) => !!arg).join('-'));
|
20
20
|
|
21
21
|
const compose = (...fns) =>
|
22
22
|
(val) =>
|
23
23
|
fns.reduceRight((res, fn) => fn(res), val);
|
24
24
|
|
25
|
+
const upperFirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
26
|
+
|
25
27
|
const DESCOPE_PREFIX = 'descope';
|
26
28
|
const CSS_SELECTOR_SPECIFIER_MULTIPLY = 3;
|
29
|
+
const BASE_THEME_SECTION = 'host';
|
30
|
+
const PORTAL_THEME_PREFIX = '@';
|
27
31
|
|
28
32
|
const observeAttributes = (
|
29
33
|
ele,
|
@@ -31,15 +35,14 @@ const observeAttributes = (
|
|
31
35
|
{ excludeAttrs = [], includeAttrs = [] }
|
32
36
|
) => {
|
33
37
|
// sync all attrs on init
|
34
|
-
|
35
|
-
|
36
|
-
.
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
);
|
38
|
+
const filteredAttrs = Array.from(ele.attributes)
|
39
|
+
.filter((attr) =>
|
40
|
+
!excludeAttrs.includes(attr.name) &&
|
41
|
+
(!includeAttrs.length || includeAttrs.includes(attr.name))
|
42
|
+
)
|
43
|
+
.map((attr) => attr.name);
|
44
|
+
|
45
|
+
callback(filteredAttrs);
|
43
46
|
|
44
47
|
const observer = new MutationObserver((mutationsList) => {
|
45
48
|
for (const mutation of mutationsList) {
|
@@ -56,21 +59,39 @@ const observeAttributes = (
|
|
56
59
|
observer.observe(ele, { attributes: true });
|
57
60
|
};
|
58
61
|
|
62
|
+
// calling the callback with this object: { addedNodes, removedNodes }
|
63
|
+
const observeChildren = (
|
64
|
+
ele,
|
65
|
+
callback,
|
66
|
+
) => {
|
67
|
+
callback({ addedNodes: Array.from(ele.children), removedNodes: [] });
|
68
|
+
|
69
|
+
const observer = new MutationObserver((mutationsList) => {
|
70
|
+
for (const mutation of mutationsList) {
|
71
|
+
if (mutation.type === 'childList') {
|
72
|
+
callback(mutation);
|
73
|
+
}
|
74
|
+
}
|
75
|
+
});
|
76
|
+
|
77
|
+
observer.observe(ele, { childList: true });
|
78
|
+
};
|
79
|
+
|
59
80
|
const createSyncAttrsCb =
|
60
81
|
(srcEle, targetEle, mapAttrs = {}) =>
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
82
|
+
(attrNames) => {
|
83
|
+
attrNames.forEach((attrName) => {
|
84
|
+
const targetAttrName = mapAttrs[attrName] || attrName;
|
85
|
+
const srcAttrVal = srcEle.getAttribute(attrName);
|
86
|
+
if (srcAttrVal !== null) {
|
87
|
+
if (targetEle.getAttribute(targetAttrName) !== srcAttrVal) {
|
88
|
+
targetEle.setAttribute(targetAttrName, srcAttrVal);
|
89
|
+
}
|
90
|
+
} else {
|
91
|
+
targetEle.removeAttribute(targetAttrName);
|
68
92
|
}
|
69
|
-
}
|
70
|
-
|
71
|
-
}
|
72
|
-
});
|
73
|
-
};
|
93
|
+
});
|
94
|
+
};
|
74
95
|
|
75
96
|
const syncAttrs = (ele1, ele2, options) => {
|
76
97
|
observeAttributes(ele1, createSyncAttrsCb(ele1, ele2), options);
|
@@ -80,27 +101,29 @@ const syncAttrs = (ele1, ele2, options) => {
|
|
80
101
|
const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name);
|
81
102
|
|
82
103
|
const getCssVarName = (...args) =>
|
83
|
-
|
104
|
+
`--${kebabCaseJoin(...args)}`;
|
84
105
|
|
85
106
|
const forwardAttrs = (source, dest, options = {}) => {
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
107
|
+
observeAttributes(
|
108
|
+
source,
|
109
|
+
createSyncAttrsCb(source, dest, options.mapAttrs),
|
110
|
+
options
|
111
|
+
);
|
91
112
|
};
|
92
113
|
|
93
114
|
const forwardProps = (src, target, props = []) => {
|
94
|
-
if(!props.length) return;
|
115
|
+
if (!props.length) return;
|
95
116
|
|
96
|
-
const config = props.reduce((acc, prop) => Object.assign(acc, {
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
117
|
+
const config = props.reduce((acc, prop) => Object.assign(acc, {
|
118
|
+
[prop]: {
|
119
|
+
get() {
|
120
|
+
return target[prop]
|
121
|
+
},
|
122
|
+
set(v) {
|
123
|
+
target[prop] = v;
|
124
|
+
}
|
102
125
|
}
|
103
|
-
}
|
126
|
+
}), {});
|
104
127
|
|
105
128
|
Object.defineProperties(src, config);
|
106
129
|
};
|
@@ -232,108 +255,134 @@ const createClassSelectorSpecifier = (className, numOfRepeats) => Array(numOfRep
|
|
232
255
|
.fill(`.${className}`)
|
233
256
|
.join('');
|
234
257
|
|
235
|
-
const
|
236
|
-
({ mappings = {} }) =>
|
237
|
-
(superclass) => {
|
238
|
-
const styleAttributes = Object.keys(mappings).map((key) =>
|
239
|
-
kebabCaseJoin('st', key)
|
240
|
-
);
|
241
|
-
return class CustomStyleMixinClass extends superclass {
|
242
|
-
static get observedAttributes() {
|
243
|
-
const superAttrs = superclass.observedAttributes || [];
|
244
|
-
return [...superAttrs, ...styleAttributes];
|
245
|
-
}
|
258
|
+
const STYLE_OVERRIDE_ATTR_PREFIX = 'st';
|
246
259
|
|
247
|
-
|
248
|
-
|
260
|
+
|
261
|
+
const createStyleMixin =
|
262
|
+
({ mappings = {} }) => (superclass) =>
|
263
|
+
class CustomStyleMixinClass extends superclass {
|
264
|
+
static get cssVarList() {
|
265
|
+
return {
|
266
|
+
...superclass.cssVarList,
|
267
|
+
...createCssVarsList(superclass.componentName, {
|
249
268
|
...mappings,
|
250
|
-
})
|
251
|
-
}
|
269
|
+
})
|
270
|
+
};
|
271
|
+
}
|
252
272
|
|
253
|
-
|
254
|
-
|
255
|
-
|
273
|
+
#overrideStyleEle;
|
274
|
+
#themeStyleEle;
|
275
|
+
#disconnectThemeManager
|
276
|
+
#componentNameSuffix
|
277
|
+
#themeSection
|
278
|
+
#rootElement
|
279
|
+
#baseSelector
|
280
|
+
#styleAttributes
|
281
|
+
|
282
|
+
// we are using this mixin also for portalMixin
|
283
|
+
// so we should be able to inject styles to other DOM elements
|
284
|
+
// this is why we need to support these overrides
|
285
|
+
constructor({
|
286
|
+
getRootElement,
|
287
|
+
componentNameSuffix = '',
|
288
|
+
themeSection = BASE_THEME_SECTION,
|
289
|
+
baseSelector
|
290
|
+
} = {}) {
|
291
|
+
super();
|
292
|
+
this.#componentNameSuffix = componentNameSuffix;
|
293
|
+
this.#themeSection = themeSection;
|
294
|
+
this.#rootElement = getRootElement?.(this) || this.shadowRoot;
|
295
|
+
this.#baseSelector = baseSelector ?? this.baseSelector;
|
296
|
+
|
297
|
+
this.#styleAttributes = Object.keys(mappings).map((key) =>
|
298
|
+
kebabCaseJoin(STYLE_OVERRIDE_ATTR_PREFIX, componentNameSuffix, key)
|
299
|
+
);
|
300
|
+
}
|
256
301
|
|
257
|
-
|
258
|
-
|
302
|
+
get componentTheme() {
|
303
|
+
return componentsThemeManager.currentTheme?.[superclass.componentName] || ''
|
304
|
+
}
|
259
305
|
|
260
|
-
|
306
|
+
#onComponentThemeChange() {
|
307
|
+
this.#themeStyleEle.innerHTML = this.componentTheme[this.#themeSection];
|
308
|
+
}
|
261
309
|
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
310
|
+
#createComponentTheme() {
|
311
|
+
this.#themeStyleEle = document.createElement('style');
|
312
|
+
this.#themeStyleEle.id = 'style-mixin-theme';
|
313
|
+
this.#rootElement.prepend(this.#themeStyleEle);
|
314
|
+
this.#disconnectThemeManager = componentsThemeManager.onCurrentThemeChange(this.#onComponentThemeChange.bind(this));
|
315
|
+
this.#onComponentThemeChange();
|
316
|
+
}
|
266
317
|
|
267
|
-
|
268
|
-
|
269
|
-
|
318
|
+
#createAttrOverrideStyle() {
|
319
|
+
this.#overrideStyleEle = document.createElement('style');
|
320
|
+
this.#overrideStyleEle.id = 'style-mixin-overrides';
|
270
321
|
|
271
|
-
|
272
|
-
this.#themeStyleEle.innerHTML = this.componentTheme.theme;
|
273
|
-
}
|
322
|
+
const classSpecifier = createClassSelectorSpecifier(superclass.componentName, CSS_SELECTOR_SPECIFIER_MULTIPLY);
|
274
323
|
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
this.shadowRoot.prepend(this.#themeStyleEle);
|
279
|
-
this.#disconnectThemeManager = componentsThemeManager.onCurrentThemeChange(this.onComponentThemeChange.bind(this));
|
280
|
-
this.onComponentThemeChange();
|
281
|
-
}
|
324
|
+
this.#overrideStyleEle.innerText = `:host(${classSpecifier}) {}`;
|
325
|
+
this.#rootElement.append(this.#overrideStyleEle);
|
326
|
+
}
|
282
327
|
|
283
|
-
|
284
|
-
|
285
|
-
|
328
|
+
#setAttrOverrideStyle(attrName, value) {
|
329
|
+
const style = this.#overrideStyleEle?.sheet?.cssRules[0].style;
|
330
|
+
if (!style) return;
|
286
331
|
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
332
|
+
const varName = getCssVarName(
|
333
|
+
superclass.componentName,
|
334
|
+
attrName.replace(new RegExp(`^${STYLE_OVERRIDE_ATTR_PREFIX}-`), '')
|
335
|
+
);
|
291
336
|
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
superclass.componentName,
|
296
|
-
attrName.replace(/^st-/, '')
|
297
|
-
);
|
337
|
+
if (value) style?.setProperty(varName, value);
|
338
|
+
else style?.removeProperty(varName);
|
339
|
+
}
|
298
340
|
|
299
|
-
|
300
|
-
|
341
|
+
#updateOverrideStyle(attrs = []) {
|
342
|
+
for (const attr of attrs) {
|
343
|
+
if (this.#styleAttributes.includes(attr)) {
|
344
|
+
this.#setAttrOverrideStyle(attr, this.getAttribute(attr));
|
345
|
+
}
|
301
346
|
}
|
302
347
|
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
themeStyle.innerHTML = createStyle(
|
307
|
-
superclass.componentName,
|
308
|
-
this.baseSelector,
|
309
|
-
mappings
|
310
|
-
);
|
311
|
-
this.shadowRoot.prepend(themeStyle);
|
312
|
-
}
|
348
|
+
// we are rewriting the style back to the style tag
|
349
|
+
this.#overrideStyleEle.innerHTML = this.#overrideStyleEle?.sheet?.cssRules[0].cssText;
|
350
|
+
}
|
313
351
|
|
314
|
-
|
315
|
-
|
352
|
+
#createComponentStyle() {
|
353
|
+
const themeStyle = document.createElement('style');
|
354
|
+
themeStyle.id = 'style-mixin-mappings';
|
355
|
+
themeStyle.innerHTML = createStyle(
|
356
|
+
kebabCaseJoin(superclass.componentName, this.#componentNameSuffix),
|
357
|
+
this.#baseSelector,
|
358
|
+
mappings
|
359
|
+
);
|
360
|
+
this.#rootElement.prepend(themeStyle);
|
361
|
+
}
|
316
362
|
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
}
|
363
|
+
#addClassName(className) {
|
364
|
+
(this.#rootElement.classList || this.#rootElement.host.classList).add(className);
|
365
|
+
}
|
321
366
|
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
367
|
+
connectedCallback() {
|
368
|
+
super.connectedCallback?.();
|
369
|
+
if (this.shadowRoot.isConnected) {
|
370
|
+
|
371
|
+
this.#addClassName(superclass.componentName);
|
372
|
+
|
373
|
+
this.#createComponentStyle();
|
374
|
+
this.#createComponentTheme();
|
375
|
+
this.#createAttrOverrideStyle();
|
376
|
+
|
377
|
+
// this is instead attributeChangedCallback because we cannot use static methods in this case
|
378
|
+
observeAttributes(this, this.#updateOverrideStyle.bind(this), {});
|
332
379
|
|
333
|
-
disconnectedCallback() {
|
334
|
-
this.#disconnectThemeManager?.();
|
335
380
|
}
|
336
|
-
}
|
381
|
+
}
|
382
|
+
|
383
|
+
disconnectedCallback() {
|
384
|
+
this.#disconnectThemeManager?.();
|
385
|
+
}
|
337
386
|
};
|
338
387
|
|
339
388
|
const draggableMixin = (superclass) =>
|
@@ -475,8 +524,6 @@ const createProxy = ({
|
|
475
524
|
return compose(hoverableMixin())(ProxyElement);
|
476
525
|
};
|
477
526
|
|
478
|
-
const upperFirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
479
|
-
|
480
527
|
const events = [
|
481
528
|
'change',
|
482
529
|
'input',
|
@@ -544,7 +591,13 @@ const inputMixin = (superclass) => class InputMixinClass extends superclass {
|
|
544
591
|
}
|
545
592
|
}
|
546
593
|
|
594
|
+
get isReadOnly() {
|
595
|
+
return this.getAttribute('readonly') !== 'false'
|
596
|
+
}
|
597
|
+
|
547
598
|
setValidity() {
|
599
|
+
if (this.isReadOnly) return;
|
600
|
+
|
548
601
|
const validity = this.getValidity();
|
549
602
|
this.#internals.setValidity(validity, this.getErrorMessage(validity));
|
550
603
|
}
|
@@ -570,8 +623,8 @@ const inputMixin = (superclass) => class InputMixinClass extends superclass {
|
|
570
623
|
}
|
571
624
|
|
572
625
|
setCustomValidity(errorMessage) {
|
573
|
-
if(errorMessage){
|
574
|
-
this.#internals.setValidity({customError: true}, errorMessage);
|
626
|
+
if (errorMessage) {
|
627
|
+
this.#internals.setValidity({ customError: true }, errorMessage);
|
575
628
|
} else {
|
576
629
|
this.#internals.setValidity({});
|
577
630
|
this.setValidity();
|
@@ -624,9 +677,9 @@ const inputMixin = (superclass) => class InputMixinClass extends superclass {
|
|
624
677
|
}
|
625
678
|
}
|
626
679
|
|
627
|
-
handleDispatchValidationEvents(){
|
628
|
-
if(this.checkValidity()) {
|
629
|
-
this.dispatchValid();
|
680
|
+
handleDispatchValidationEvents() {
|
681
|
+
if (this.checkValidity()) {
|
682
|
+
this.dispatchValid();
|
630
683
|
} else {
|
631
684
|
this.dispatchInvalid();
|
632
685
|
}
|
@@ -689,28 +742,6 @@ const proxyInputMixin = (superclass) =>
|
|
689
742
|
|
690
743
|
this.#inputElement = super.inputElement;
|
691
744
|
|
692
|
-
// this is our way to identify that the form was submitted
|
693
|
-
// in this case, we want the input to be in error state if it's not valid
|
694
|
-
this.addEventListener('focus', (e) => {
|
695
|
-
if (e.relatedTarget?.form) {
|
696
|
-
if (!this.checkValidity()) {
|
697
|
-
this.setAttribute('invalid', 'true');
|
698
|
-
}
|
699
|
-
|
700
|
-
if (this.hasAttribute('invalid')) {
|
701
|
-
this.reportValidityOnInternalInput();
|
702
|
-
}
|
703
|
-
}
|
704
|
-
});
|
705
|
-
|
706
|
-
this.addEventListener('invalid', () => {
|
707
|
-
this.setInternalInputErrorMessage();
|
708
|
-
this.setAttribute('error-message', this.validationMessage);
|
709
|
-
});
|
710
|
-
|
711
|
-
this.addEventListener('valid', () => {
|
712
|
-
this.removeAttribute('invalid');
|
713
|
-
});
|
714
745
|
}
|
715
746
|
|
716
747
|
get inputElement() {
|
@@ -766,6 +797,29 @@ const proxyInputMixin = (superclass) =>
|
|
766
797
|
connectedCallback() {
|
767
798
|
this.baseEle = this.shadowRoot.querySelector(this.baseSelector);
|
768
799
|
|
800
|
+
// this is our way to identify that the form was submitted
|
801
|
+
// in this case, we want the input to be in error state if it's not valid
|
802
|
+
this.addEventListener('focus', (e) => {
|
803
|
+
if (e.relatedTarget?.form) {
|
804
|
+
if (!this.checkValidity()) {
|
805
|
+
this.setAttribute('invalid', 'true');
|
806
|
+
}
|
807
|
+
|
808
|
+
if (this.hasAttribute('invalid')) {
|
809
|
+
this.reportValidityOnInternalInput();
|
810
|
+
}
|
811
|
+
}
|
812
|
+
});
|
813
|
+
|
814
|
+
this.addEventListener('invalid', () => {
|
815
|
+
this.setInternalInputErrorMessage();
|
816
|
+
this.setAttribute('error-message', this.validationMessage);
|
817
|
+
});
|
818
|
+
|
819
|
+
this.addEventListener('valid', () => {
|
820
|
+
this.removeAttribute('invalid');
|
821
|
+
});
|
822
|
+
|
769
823
|
super.connectedCallback?.();
|
770
824
|
|
771
825
|
this.inputElement.addEventListener('input', () => {
|
@@ -825,7 +879,64 @@ const componentNameValidationMixin = (superclass) =>
|
|
825
879
|
}
|
826
880
|
};
|
827
881
|
|
828
|
-
const
|
882
|
+
const sanitizeSelector = (selector) => selector.replace(/[^\w\s]/gi, '');
|
883
|
+
|
884
|
+
const appendSuffixToKeys = (obj, suffix) => Object.keys(obj).reduce((acc, key) =>
|
885
|
+
Object.assign(acc, { [suffix + upperFirst(key)]: obj[key] }), {});
|
886
|
+
|
887
|
+
const getDomNode = (maybeDomNode) => maybeDomNode.host || maybeDomNode;
|
888
|
+
|
889
|
+
const portalMixin = ({ name, selector, mappings = {} }) => (superclass) => {
|
890
|
+
const eleDisplayName = name || sanitizeSelector(selector);
|
891
|
+
|
892
|
+
const BaseClass = createStyleMixin({
|
893
|
+
mappings
|
894
|
+
})(superclass);
|
895
|
+
|
896
|
+
return class PortalMixinClass extends BaseClass {
|
897
|
+
static get cssVarList() {
|
898
|
+
return {
|
899
|
+
...BaseClass.cssVarList,
|
900
|
+
...createCssVarsList(superclass.componentName, appendSuffixToKeys(mappings, eleDisplayName))
|
901
|
+
};
|
902
|
+
}
|
903
|
+
|
904
|
+
#portalEle
|
905
|
+
|
906
|
+
constructor() {
|
907
|
+
// we cannot use "this" before calling "super"
|
908
|
+
const getRootElement = (that) => {
|
909
|
+
const baseEle = that.shadowRoot.querySelector(that.baseSelector);
|
910
|
+
const portal = baseEle.shadowRoot.querySelector(selector);
|
911
|
+
|
912
|
+
return portal.shadowRoot || portal
|
913
|
+
};
|
914
|
+
|
915
|
+
super({
|
916
|
+
getRootElement,
|
917
|
+
componentNameSuffix: eleDisplayName,
|
918
|
+
themeSection: PORTAL_THEME_PREFIX + eleDisplayName,
|
919
|
+
baseSelector: ':host'
|
920
|
+
});
|
921
|
+
|
922
|
+
this.#portalEle = getDomNode(getRootElement(this));
|
923
|
+
}
|
924
|
+
|
925
|
+
#handleHoverAttribute() {
|
926
|
+
this.#portalEle.onmouseenter = (e) => { e.target.setAttribute('hover', 'true'); };
|
927
|
+
this.#portalEle.onmouseleave = (e) => { e.target.removeAttribute('hover'); };
|
928
|
+
}
|
929
|
+
|
930
|
+
connectedCallback() {
|
931
|
+
super.connectedCallback?.();
|
932
|
+
forwardAttrs(this, this.#portalEle, { excludeAttrs: ['hover'] });
|
933
|
+
|
934
|
+
this.#handleHoverAttribute();
|
935
|
+
}
|
936
|
+
}
|
937
|
+
};
|
938
|
+
|
939
|
+
const componentName$i = getComponentName('button');
|
829
940
|
|
830
941
|
const editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;
|
831
942
|
const resetStyles = `
|
@@ -879,7 +990,7 @@ const Button = compose(
|
|
879
990
|
style: () =>
|
880
991
|
`${resetStyles} ${editorOverrides} ${iconStyles} ${loadingIndicatorStyles}`,
|
881
992
|
excludeAttrsSync: ['tabindex'],
|
882
|
-
componentName: componentName$
|
993
|
+
componentName: componentName$i
|
883
994
|
})
|
884
995
|
);
|
885
996
|
|
@@ -916,9 +1027,9 @@ const loadingIndicatorStyles = `
|
|
916
1027
|
}
|
917
1028
|
`;
|
918
1029
|
|
919
|
-
customElements.define(componentName$
|
1030
|
+
customElements.define(componentName$i, Button);
|
920
1031
|
|
921
|
-
const componentName$
|
1032
|
+
const componentName$h = getComponentName('checkbox');
|
922
1033
|
|
923
1034
|
const Checkbox = compose(
|
924
1035
|
createStyleMixin({
|
@@ -944,17 +1055,17 @@ const Checkbox = compose(
|
|
944
1055
|
}
|
945
1056
|
`,
|
946
1057
|
excludeAttrsSync: ['tabindex'],
|
947
|
-
componentName: componentName$
|
1058
|
+
componentName: componentName$h
|
948
1059
|
})
|
949
1060
|
);
|
950
1061
|
|
951
|
-
customElements.define(componentName$
|
1062
|
+
customElements.define(componentName$h, Checkbox);
|
952
1063
|
|
953
|
-
const componentName$
|
1064
|
+
const componentName$g = getComponentName('loader-linear');
|
954
1065
|
|
955
1066
|
class RawLoaderLinear extends DescopeBaseClass {
|
956
1067
|
static get componentName() {
|
957
|
-
return componentName$
|
1068
|
+
return componentName$g;
|
958
1069
|
}
|
959
1070
|
constructor() {
|
960
1071
|
super();
|
@@ -990,13 +1101,13 @@ class RawLoaderLinear extends DescopeBaseClass {
|
|
990
1101
|
}
|
991
1102
|
}
|
992
1103
|
|
993
|
-
const selectors$
|
1104
|
+
const selectors$5 = {
|
994
1105
|
root: {},
|
995
1106
|
after: { selector: '::after' },
|
996
1107
|
host: { selector: () => ':host' }
|
997
1108
|
};
|
998
1109
|
|
999
|
-
const { root: root$1, after: after$1, host: host$2 } = selectors$
|
1110
|
+
const { root: root$1, after: after$1, host: host$2 } = selectors$5;
|
1000
1111
|
|
1001
1112
|
const LoaderLinear = compose(
|
1002
1113
|
createStyleMixin({
|
@@ -1017,13 +1128,13 @@ const LoaderLinear = compose(
|
|
1017
1128
|
componentNameValidationMixin
|
1018
1129
|
)(RawLoaderLinear);
|
1019
1130
|
|
1020
|
-
customElements.define(componentName$
|
1131
|
+
customElements.define(componentName$g, LoaderLinear);
|
1021
1132
|
|
1022
|
-
const componentName$
|
1133
|
+
const componentName$f = getComponentName('loader-radial');
|
1023
1134
|
|
1024
1135
|
class RawLoaderRadial extends DescopeBaseClass {
|
1025
1136
|
static get componentName() {
|
1026
|
-
return componentName$
|
1137
|
+
return componentName$f;
|
1027
1138
|
}
|
1028
1139
|
constructor() {
|
1029
1140
|
super();
|
@@ -1075,13 +1186,13 @@ const LoaderRadial = compose(
|
|
1075
1186
|
componentNameValidationMixin
|
1076
1187
|
)(RawLoaderRadial);
|
1077
1188
|
|
1078
|
-
customElements.define(componentName$
|
1189
|
+
customElements.define(componentName$f, LoaderRadial);
|
1079
1190
|
|
1080
|
-
const componentName$
|
1191
|
+
const componentName$e = getComponentName('container');
|
1081
1192
|
|
1082
1193
|
class RawContainer extends DescopeBaseClass {
|
1083
1194
|
static get componentName() {
|
1084
|
-
return componentName$
|
1195
|
+
return componentName$e;
|
1085
1196
|
}
|
1086
1197
|
constructor() {
|
1087
1198
|
super();
|
@@ -1143,28 +1254,28 @@ const Container = compose(
|
|
1143
1254
|
componentNameValidationMixin
|
1144
1255
|
)(RawContainer);
|
1145
1256
|
|
1146
|
-
customElements.define(componentName$
|
1257
|
+
customElements.define(componentName$e, Container);
|
1147
1258
|
|
1148
|
-
const componentName$
|
1259
|
+
const componentName$d = getComponentName('date-picker');
|
1149
1260
|
|
1150
1261
|
const DatePicker = compose(
|
1151
1262
|
draggableMixin,
|
1152
1263
|
componentNameValidationMixin
|
1153
1264
|
)(
|
1154
1265
|
createProxy({
|
1155
|
-
componentName: componentName$
|
1266
|
+
componentName: componentName$d,
|
1156
1267
|
slots: ['prefix', 'suffix'],
|
1157
1268
|
wrappedEleName: 'vaadin-date-picker',
|
1158
1269
|
style: ``
|
1159
1270
|
})
|
1160
1271
|
);
|
1161
1272
|
|
1162
|
-
customElements.define(componentName$
|
1273
|
+
customElements.define(componentName$d, DatePicker);
|
1163
1274
|
|
1164
|
-
const componentName$
|
1275
|
+
const componentName$c = getComponentName('divider');
|
1165
1276
|
class RawDivider extends DescopeBaseClass {
|
1166
1277
|
static get componentName() {
|
1167
|
-
return componentName$
|
1278
|
+
return componentName$c;
|
1168
1279
|
}
|
1169
1280
|
constructor() {
|
1170
1281
|
super();
|
@@ -1216,7 +1327,7 @@ class RawDivider extends DescopeBaseClass {
|
|
1216
1327
|
}
|
1217
1328
|
}
|
1218
1329
|
|
1219
|
-
const selectors$
|
1330
|
+
const selectors$4 = {
|
1220
1331
|
root: { selector: '' },
|
1221
1332
|
before: { selector: '::before' },
|
1222
1333
|
after: { selector: '::after' },
|
@@ -1224,7 +1335,7 @@ const selectors$3 = {
|
|
1224
1335
|
host: { selector: () => ':host' },
|
1225
1336
|
};
|
1226
1337
|
|
1227
|
-
const { root, before, after, text: text$2, host: host$1 } = selectors$
|
1338
|
+
const { root, before, after, text: text$2, host: host$1 } = selectors$4;
|
1228
1339
|
|
1229
1340
|
const Divider = compose(
|
1230
1341
|
createStyleMixin({
|
@@ -1248,11 +1359,11 @@ const Divider = compose(
|
|
1248
1359
|
componentNameValidationMixin
|
1249
1360
|
)(RawDivider);
|
1250
1361
|
|
1251
|
-
const componentName$
|
1362
|
+
const componentName$b = getComponentName('text');
|
1252
1363
|
|
1253
1364
|
class RawText extends DescopeBaseClass {
|
1254
1365
|
static get componentName() {
|
1255
|
-
return componentName$
|
1366
|
+
return componentName$b;
|
1256
1367
|
}
|
1257
1368
|
constructor() {
|
1258
1369
|
super();
|
@@ -1300,11 +1411,11 @@ const Text = compose(
|
|
1300
1411
|
componentNameValidationMixin
|
1301
1412
|
)(RawText);
|
1302
1413
|
|
1303
|
-
customElements.define(componentName$
|
1414
|
+
customElements.define(componentName$b, Text);
|
1304
1415
|
|
1305
|
-
customElements.define(componentName$
|
1416
|
+
customElements.define(componentName$c, Divider);
|
1306
1417
|
|
1307
|
-
const selectors$
|
1418
|
+
const selectors$3 = {
|
1308
1419
|
label: '::part(label)',
|
1309
1420
|
input: '::part(input-field)',
|
1310
1421
|
readOnlyInput: '[readonly]::part(input-field)::after',
|
@@ -1313,33 +1424,33 @@ const selectors$2 = {
|
|
1313
1424
|
};
|
1314
1425
|
|
1315
1426
|
var textFieldMappings = {
|
1316
|
-
backgroundColor: { selector: selectors$
|
1317
|
-
color: { selector: selectors$
|
1318
|
-
width: { selector: selectors$
|
1427
|
+
backgroundColor: { selector: selectors$3.input },
|
1428
|
+
color: { selector: selectors$3.input },
|
1429
|
+
width: { selector: selectors$3.host },
|
1319
1430
|
borderColor: [
|
1320
|
-
{ selector: selectors$
|
1321
|
-
{ selector: selectors$
|
1431
|
+
{ selector: selectors$3.input },
|
1432
|
+
{ selector: selectors$3.readOnlyInput }
|
1322
1433
|
],
|
1323
1434
|
borderWidth: [
|
1324
|
-
{ selector: selectors$
|
1325
|
-
{ selector: selectors$
|
1435
|
+
{ selector: selectors$3.input },
|
1436
|
+
{ selector: selectors$3.readOnlyInput }
|
1326
1437
|
],
|
1327
1438
|
borderStyle: [
|
1328
|
-
{ selector: selectors$
|
1329
|
-
{ selector: selectors$
|
1439
|
+
{ selector: selectors$3.input },
|
1440
|
+
{ selector: selectors$3.readOnlyInput }
|
1330
1441
|
],
|
1331
|
-
borderRadius: { selector: selectors$
|
1332
|
-
boxShadow: { selector: selectors$
|
1442
|
+
borderRadius: { selector: selectors$3.input },
|
1443
|
+
boxShadow: { selector: selectors$3.input },
|
1333
1444
|
fontSize: {},
|
1334
|
-
height: { selector: selectors$
|
1335
|
-
padding: { selector: selectors$
|
1336
|
-
outline: { selector: selectors$
|
1337
|
-
outlineOffset: { selector: selectors$
|
1445
|
+
height: { selector: selectors$3.input },
|
1446
|
+
padding: { selector: selectors$3.input },
|
1447
|
+
outline: { selector: selectors$3.input },
|
1448
|
+
outlineOffset: { selector: selectors$3.input },
|
1338
1449
|
|
1339
|
-
placeholderColor: { selector: selectors$
|
1450
|
+
placeholderColor: { selector: selectors$3.placeholder, property: 'color' }
|
1340
1451
|
};
|
1341
1452
|
|
1342
|
-
const componentName$
|
1453
|
+
const componentName$a = getComponentName('email-field');
|
1343
1454
|
|
1344
1455
|
let overrides$5 = ``;
|
1345
1456
|
|
@@ -1358,7 +1469,7 @@ const EmailField = compose(
|
|
1358
1469
|
wrappedEleName: 'vaadin-email-field',
|
1359
1470
|
style: () => overrides$5,
|
1360
1471
|
excludeAttrsSync: ['tabindex'],
|
1361
|
-
componentName: componentName$
|
1472
|
+
componentName: componentName$a
|
1362
1473
|
})
|
1363
1474
|
);
|
1364
1475
|
|
@@ -1402,12 +1513,12 @@ overrides$5 = `
|
|
1402
1513
|
}
|
1403
1514
|
`;
|
1404
1515
|
|
1405
|
-
customElements.define(componentName$
|
1516
|
+
customElements.define(componentName$a, EmailField);
|
1406
1517
|
|
1407
|
-
const componentName$
|
1518
|
+
const componentName$9 = getComponentName('link');
|
1408
1519
|
class RawLink extends DescopeBaseClass {
|
1409
1520
|
static get componentName() {
|
1410
|
-
return componentName$
|
1521
|
+
return componentName$9;
|
1411
1522
|
}
|
1412
1523
|
constructor() {
|
1413
1524
|
super();
|
@@ -1449,13 +1560,13 @@ class RawLink extends DescopeBaseClass {
|
|
1449
1560
|
}
|
1450
1561
|
}
|
1451
1562
|
|
1452
|
-
const selectors$
|
1563
|
+
const selectors$2 = {
|
1453
1564
|
host: { selector: () => 'host' },
|
1454
1565
|
anchor: { selector: '> a' },
|
1455
1566
|
text: { selector: Text.componentName }
|
1456
1567
|
};
|
1457
1568
|
|
1458
|
-
const { anchor, text: text$1, host } = selectors$
|
1569
|
+
const { anchor, text: text$1, host } = selectors$2;
|
1459
1570
|
|
1460
1571
|
const Link = compose(
|
1461
1572
|
createStyleMixin({
|
@@ -1474,16 +1585,16 @@ const Link = compose(
|
|
1474
1585
|
componentNameValidationMixin
|
1475
1586
|
)(RawLink);
|
1476
1587
|
|
1477
|
-
customElements.define(componentName$
|
1588
|
+
customElements.define(componentName$9, Link);
|
1478
1589
|
|
1479
|
-
const componentName$
|
1590
|
+
const componentName$8 = getComponentName('logo');
|
1480
1591
|
|
1481
1592
|
let style;
|
1482
1593
|
const getStyle = () => style;
|
1483
1594
|
|
1484
1595
|
class RawLogo extends DescopeBaseClass {
|
1485
1596
|
static get componentName() {
|
1486
|
-
return componentName$
|
1597
|
+
return componentName$8;
|
1487
1598
|
}
|
1488
1599
|
constructor() {
|
1489
1600
|
super();
|
@@ -1524,9 +1635,9 @@ style = `
|
|
1524
1635
|
}
|
1525
1636
|
`;
|
1526
1637
|
|
1527
|
-
customElements.define(componentName$
|
1638
|
+
customElements.define(componentName$8, Logo);
|
1528
1639
|
|
1529
|
-
const componentName$
|
1640
|
+
const componentName$7 = getComponentName('number-field');
|
1530
1641
|
|
1531
1642
|
let overrides$4 = ``;
|
1532
1643
|
|
@@ -1545,7 +1656,7 @@ const NumberField = compose(
|
|
1545
1656
|
wrappedEleName: 'vaadin-number-field',
|
1546
1657
|
style: () => overrides$4,
|
1547
1658
|
excludeAttrsSync: ['tabindex'],
|
1548
|
-
componentName: componentName$
|
1659
|
+
componentName: componentName$7
|
1549
1660
|
})
|
1550
1661
|
);
|
1551
1662
|
|
@@ -1589,7 +1700,7 @@ overrides$4 = `
|
|
1589
1700
|
}
|
1590
1701
|
`;
|
1591
1702
|
|
1592
|
-
customElements.define(componentName$
|
1703
|
+
customElements.define(componentName$7, NumberField);
|
1593
1704
|
|
1594
1705
|
var BaseInputClass = inputMixin(HTMLElement); //todo: maybe we should use base class?
|
1595
1706
|
|
@@ -1607,7 +1718,7 @@ const getSanitizedCharacters = (str) => {
|
|
1607
1718
|
return [...pin]; // creating array of chars
|
1608
1719
|
};
|
1609
1720
|
|
1610
|
-
const componentName$
|
1721
|
+
const componentName$6 = getComponentName('passcode-internal');
|
1611
1722
|
|
1612
1723
|
class PasscodeInternal extends BaseInputClass {
|
1613
1724
|
static get observedAttributes() {
|
@@ -1615,12 +1726,13 @@ class PasscodeInternal extends BaseInputClass {
|
|
1615
1726
|
...BaseInputClass.observedAttributes,
|
1616
1727
|
'disabled',
|
1617
1728
|
'bordered',
|
1618
|
-
'size'
|
1729
|
+
'size',
|
1730
|
+
'readonly'
|
1619
1731
|
];
|
1620
1732
|
}
|
1621
1733
|
|
1622
1734
|
static get componentName() {
|
1623
|
-
return componentName$
|
1735
|
+
return componentName$6;
|
1624
1736
|
}
|
1625
1737
|
|
1626
1738
|
constructor() {
|
@@ -1658,7 +1770,7 @@ class PasscodeInternal extends BaseInputClass {
|
|
1658
1770
|
}
|
1659
1771
|
|
1660
1772
|
set value(val) {
|
1661
|
-
if(val === this.value) return;
|
1773
|
+
if (val === this.value) return;
|
1662
1774
|
|
1663
1775
|
const charArr = getSanitizedCharacters(val);
|
1664
1776
|
|
@@ -1701,6 +1813,7 @@ class PasscodeInternal extends BaseInputClass {
|
|
1701
1813
|
|
1702
1814
|
async connectedCallback() {
|
1703
1815
|
super.connectedCallback();
|
1816
|
+
|
1704
1817
|
this.initInputs();
|
1705
1818
|
|
1706
1819
|
this.addEventListener('invalid', this.handleInputsInvalid);
|
@@ -1745,7 +1858,8 @@ class PasscodeInternal extends BaseInputClass {
|
|
1745
1858
|
// in order to simulate blur on the input
|
1746
1859
|
// we are checking if focus on one of the digits happened immediately after blur on another digit
|
1747
1860
|
// if not, the component is no longer focused and we should simulate blur
|
1748
|
-
input.addEventListener('blur', () => {
|
1861
|
+
input.addEventListener('blur', (e) => {
|
1862
|
+
e.stopPropagation();
|
1749
1863
|
const timerId = setTimeout(() => {
|
1750
1864
|
this.dispatchBlur();
|
1751
1865
|
});
|
@@ -1755,7 +1869,8 @@ class PasscodeInternal extends BaseInputClass {
|
|
1755
1869
|
);
|
1756
1870
|
});
|
1757
1871
|
|
1758
|
-
input.oninput = () => {
|
1872
|
+
input.oninput = (e) => {
|
1873
|
+
e.stopPropagation();
|
1759
1874
|
const charArr = getSanitizedCharacters(input.value);
|
1760
1875
|
|
1761
1876
|
if (!charArr.length) input.value = ''; // if we got an invalid value we want to clear the input
|
@@ -1774,7 +1889,7 @@ class PasscodeInternal extends BaseInputClass {
|
|
1774
1889
|
!prevInput.hasAttribute('focused') && setTimeout(() => {
|
1775
1890
|
focusElement(prevInput);
|
1776
1891
|
});
|
1777
|
-
|
1892
|
+
|
1778
1893
|
this.dispatchInput();
|
1779
1894
|
} else if (key.match(/^(\d)$/g)) { // if input is a digit
|
1780
1895
|
input.value = ''; // we are clearing the previous value so we can override it with the new value
|
@@ -1795,7 +1910,7 @@ class PasscodeInternal extends BaseInputClass {
|
|
1795
1910
|
}
|
1796
1911
|
}
|
1797
1912
|
|
1798
|
-
const componentName$
|
1913
|
+
const componentName$5 = getComponentName('text-field');
|
1799
1914
|
|
1800
1915
|
let overrides$3 = ``;
|
1801
1916
|
|
@@ -1812,7 +1927,7 @@ const TextField = compose(
|
|
1812
1927
|
wrappedEleName: 'vaadin-text-field',
|
1813
1928
|
style: () => overrides$3,
|
1814
1929
|
excludeAttrsSync: ['tabindex'],
|
1815
|
-
componentName: componentName$
|
1930
|
+
componentName: componentName$5
|
1816
1931
|
})
|
1817
1932
|
);
|
1818
1933
|
|
@@ -1857,7 +1972,7 @@ overrides$3 = `
|
|
1857
1972
|
}
|
1858
1973
|
`;
|
1859
1974
|
|
1860
|
-
const componentName$
|
1975
|
+
const componentName$4 = getComponentName('passcode');
|
1861
1976
|
|
1862
1977
|
const customMixin = (superclass) =>
|
1863
1978
|
class DraggableMixinClass extends superclass {
|
@@ -1874,12 +1989,12 @@ const customMixin = (superclass) =>
|
|
1874
1989
|
const template = document.createElement('template');
|
1875
1990
|
|
1876
1991
|
template.innerHTML = `
|
1877
|
-
<${componentName$
|
1992
|
+
<${componentName$6}
|
1878
1993
|
bordered="true"
|
1879
1994
|
name="code"
|
1880
1995
|
tabindex="-1"
|
1881
1996
|
slot="input"
|
1882
|
-
></${componentName$
|
1997
|
+
></${componentName$6}>
|
1883
1998
|
`;
|
1884
1999
|
|
1885
2000
|
this.proxyElement.appendChild(template.content.cloneNode(true));
|
@@ -1888,7 +2003,7 @@ const customMixin = (superclass) =>
|
|
1888
2003
|
// so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)
|
1889
2004
|
this.proxyElement._setFocused = () => { };
|
1890
2005
|
|
1891
|
-
this.inputElement = this.shadowRoot.querySelector(componentName$
|
2006
|
+
this.inputElement = this.shadowRoot.querySelector(componentName$6);
|
1892
2007
|
|
1893
2008
|
forwardAttrs(this.shadowRoot.host, this.inputElement, { includeAttrs: ['required', 'pattern'] });
|
1894
2009
|
|
@@ -1934,6 +2049,7 @@ const Passcode = compose(
|
|
1934
2049
|
--vaadin-field-default-width: auto;
|
1935
2050
|
display: inline-block;
|
1936
2051
|
}
|
2052
|
+
|
1937
2053
|
descope-passcode-internal {
|
1938
2054
|
-webkit-mask-image: none;
|
1939
2055
|
display: flex;
|
@@ -1969,17 +2085,17 @@ const Passcode = compose(
|
|
1969
2085
|
}
|
1970
2086
|
`,
|
1971
2087
|
excludeAttrsSync: ['tabindex'],
|
1972
|
-
componentName: componentName$
|
2088
|
+
componentName: componentName$4
|
1973
2089
|
})
|
1974
2090
|
);
|
1975
2091
|
|
1976
|
-
customElements.define(componentName$
|
2092
|
+
customElements.define(componentName$5, TextField);
|
1977
2093
|
|
1978
|
-
customElements.define(componentName$
|
2094
|
+
customElements.define(componentName$6, PasscodeInternal);
|
1979
2095
|
|
1980
|
-
customElements.define(componentName$
|
2096
|
+
customElements.define(componentName$4, Passcode);
|
1981
2097
|
|
1982
|
-
const componentName$
|
2098
|
+
const componentName$3 = getComponentName('password-field');
|
1983
2099
|
|
1984
2100
|
let overrides$2 = ``;
|
1985
2101
|
|
@@ -2004,7 +2120,7 @@ const PasswordField = compose(
|
|
2004
2120
|
wrappedEleName: 'vaadin-password-field',
|
2005
2121
|
style: () => overrides$2,
|
2006
2122
|
excludeAttrsSync: ['tabindex'],
|
2007
|
-
componentName: componentName$
|
2123
|
+
componentName: componentName$3
|
2008
2124
|
})
|
2009
2125
|
);
|
2010
2126
|
|
@@ -2048,9 +2164,9 @@ overrides$2 = `
|
|
2048
2164
|
}
|
2049
2165
|
`;
|
2050
2166
|
|
2051
|
-
customElements.define(componentName$
|
2167
|
+
customElements.define(componentName$3, PasswordField);
|
2052
2168
|
|
2053
|
-
const componentName$
|
2169
|
+
const componentName$2 = getComponentName('switch-toggle');
|
2054
2170
|
|
2055
2171
|
let overrides$1 = ``;
|
2056
2172
|
|
@@ -2070,7 +2186,7 @@ const SwitchToggle = compose(
|
|
2070
2186
|
wrappedEleName: 'vaadin-checkbox',
|
2071
2187
|
style: () => overrides$1,
|
2072
2188
|
excludeAttrsSync: ['tabindex'],
|
2073
|
-
componentName: componentName$
|
2189
|
+
componentName: componentName$2
|
2074
2190
|
})
|
2075
2191
|
);
|
2076
2192
|
|
@@ -2128,11 +2244,11 @@ overrides$1 = `
|
|
2128
2244
|
}
|
2129
2245
|
`;
|
2130
2246
|
|
2131
|
-
customElements.define(componentName$
|
2247
|
+
customElements.define(componentName$2, SwitchToggle);
|
2132
2248
|
|
2133
|
-
const componentName = getComponentName('text-area');
|
2249
|
+
const componentName$1 = getComponentName('text-area');
|
2134
2250
|
|
2135
|
-
const selectors = {
|
2251
|
+
const selectors$1 = {
|
2136
2252
|
label: '::part(label)',
|
2137
2253
|
input: '::part(input-field)',
|
2138
2254
|
required: '::part(required-indicator)::after',
|
@@ -2145,16 +2261,16 @@ const TextArea = compose(
|
|
2145
2261
|
createStyleMixin({
|
2146
2262
|
mappings: {
|
2147
2263
|
resize: { selector: '> textarea' },
|
2148
|
-
color: { selector: selectors.label },
|
2264
|
+
color: { selector: selectors$1.label },
|
2149
2265
|
cursor: {},
|
2150
|
-
width: { selector: selectors.host },
|
2151
|
-
backgroundColor: { selector: selectors.input },
|
2152
|
-
borderWidth: { selector: selectors.input },
|
2153
|
-
borderStyle: { selector: selectors.input },
|
2154
|
-
borderColor: { selector: selectors.input },
|
2155
|
-
borderRadius: { selector: selectors.input },
|
2156
|
-
outline: { selector: selectors.input },
|
2157
|
-
outlineOffset: { selector: selectors.input }
|
2266
|
+
width: { selector: selectors$1.host },
|
2267
|
+
backgroundColor: { selector: selectors$1.input },
|
2268
|
+
borderWidth: { selector: selectors$1.input },
|
2269
|
+
borderStyle: { selector: selectors$1.input },
|
2270
|
+
borderColor: { selector: selectors$1.input },
|
2271
|
+
borderRadius: { selector: selectors$1.input },
|
2272
|
+
outline: { selector: selectors$1.input },
|
2273
|
+
outlineOffset: { selector: selectors$1.input }
|
2158
2274
|
}
|
2159
2275
|
}),
|
2160
2276
|
draggableMixin,
|
@@ -2166,7 +2282,7 @@ const TextArea = compose(
|
|
2166
2282
|
wrappedEleName: 'vaadin-text-area',
|
2167
2283
|
style: () => overrides,
|
2168
2284
|
excludeAttrsSync: ['tabindex'],
|
2169
|
-
componentName
|
2285
|
+
componentName: componentName$1
|
2170
2286
|
})
|
2171
2287
|
);
|
2172
2288
|
|
@@ -2192,7 +2308,7 @@ overrides = `
|
|
2192
2308
|
}
|
2193
2309
|
`;
|
2194
2310
|
|
2195
|
-
customElements.define(componentName, TextArea);
|
2311
|
+
customElements.define(componentName$1, TextArea);
|
2196
2312
|
|
2197
2313
|
const getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path);
|
2198
2314
|
|
@@ -2238,9 +2354,9 @@ const componentsThemeToStyleObj = (componentsTheme) =>
|
|
2238
2354
|
// this allows us to generate those themes under different sections
|
2239
2355
|
// if the theme has root level attribute that starts with #
|
2240
2356
|
// we are generating a new theme
|
2241
|
-
let themeName =
|
2357
|
+
let themeName = BASE_THEME_SECTION;
|
2242
2358
|
|
2243
|
-
if (restPath[0] && restPath[0].startsWith(
|
2359
|
+
if (restPath[0] && restPath[0].startsWith(PORTAL_THEME_PREFIX)) {
|
2244
2360
|
themeName = restPath.shift();
|
2245
2361
|
}
|
2246
2362
|
|
@@ -2466,7 +2582,7 @@ var globals = {
|
|
2466
2582
|
};
|
2467
2583
|
|
2468
2584
|
const globalRefs$7 = getThemeRefs(globals);
|
2469
|
-
const vars$
|
2585
|
+
const vars$d = Button.cssVarList;
|
2470
2586
|
|
2471
2587
|
const mode = {
|
2472
2588
|
primary: globalRefs$7.colors.primary,
|
@@ -2476,83 +2592,83 @@ const mode = {
|
|
2476
2592
|
surface: globalRefs$7.colors.surface
|
2477
2593
|
};
|
2478
2594
|
|
2479
|
-
const [helperTheme$2, helperRefs$2] = createHelperVars({ mode }, componentName$
|
2595
|
+
const [helperTheme$2, helperRefs$2] = createHelperVars({ mode }, componentName$i);
|
2480
2596
|
|
2481
2597
|
const button = {
|
2482
2598
|
...helperTheme$2,
|
2483
|
-
[vars$
|
2599
|
+
[vars$d.width]: 'fit-content',
|
2484
2600
|
size: {
|
2485
2601
|
xs: {
|
2486
|
-
[vars$
|
2487
|
-
[vars$
|
2488
|
-
[vars$
|
2602
|
+
[vars$d.height]: '10px',
|
2603
|
+
[vars$d.fontSize]: '10px',
|
2604
|
+
[vars$d.padding]: `0 ${globalRefs$7.spacing.xs}`
|
2489
2605
|
},
|
2490
2606
|
sm: {
|
2491
|
-
[vars$
|
2492
|
-
[vars$
|
2493
|
-
[vars$
|
2607
|
+
[vars$d.height]: '20px',
|
2608
|
+
[vars$d.fontSize]: '10px',
|
2609
|
+
[vars$d.padding]: `0 ${globalRefs$7.spacing.sm}`
|
2494
2610
|
},
|
2495
2611
|
md: {
|
2496
|
-
[vars$
|
2497
|
-
[vars$
|
2498
|
-
[vars$
|
2612
|
+
[vars$d.height]: '30px',
|
2613
|
+
[vars$d.fontSize]: '14px',
|
2614
|
+
[vars$d.padding]: `0 ${globalRefs$7.spacing.md}`
|
2499
2615
|
},
|
2500
2616
|
lg: {
|
2501
|
-
[vars$
|
2502
|
-
[vars$
|
2503
|
-
[vars$
|
2617
|
+
[vars$d.height]: '40px',
|
2618
|
+
[vars$d.fontSize]: '20px',
|
2619
|
+
[vars$d.padding]: `0 ${globalRefs$7.spacing.lg}`
|
2504
2620
|
},
|
2505
2621
|
xl: {
|
2506
|
-
[vars$
|
2507
|
-
[vars$
|
2508
|
-
[vars$
|
2622
|
+
[vars$d.height]: '50px',
|
2623
|
+
[vars$d.fontSize]: '25px',
|
2624
|
+
[vars$d.padding]: `0 ${globalRefs$7.spacing.xl}`
|
2509
2625
|
}
|
2510
2626
|
},
|
2511
2627
|
|
2512
|
-
[vars$
|
2513
|
-
[vars$
|
2514
|
-
[vars$
|
2515
|
-
[vars$
|
2516
|
-
[vars$
|
2628
|
+
[vars$d.borderRadius]: globalRefs$7.radius.lg,
|
2629
|
+
[vars$d.cursor]: 'pointer',
|
2630
|
+
[vars$d.borderWidth]: '2px',
|
2631
|
+
[vars$d.borderStyle]: 'solid',
|
2632
|
+
[vars$d.borderColor]: 'transparent',
|
2517
2633
|
|
2518
2634
|
_fullWidth: {
|
2519
|
-
[vars$
|
2635
|
+
[vars$d.width]: '100%'
|
2520
2636
|
},
|
2521
2637
|
_loading: {
|
2522
|
-
[vars$
|
2638
|
+
[vars$d.cursor]: 'wait'
|
2523
2639
|
},
|
2524
2640
|
|
2525
2641
|
variant: {
|
2526
2642
|
contained: {
|
2527
|
-
[vars$
|
2528
|
-
[vars$
|
2643
|
+
[vars$d.color]: helperRefs$2.contrast,
|
2644
|
+
[vars$d.backgroundColor]: helperRefs$2.main,
|
2529
2645
|
_hover: {
|
2530
|
-
[vars$
|
2646
|
+
[vars$d.backgroundColor]: helperRefs$2.dark
|
2531
2647
|
},
|
2532
2648
|
_loading: {
|
2533
|
-
[vars$
|
2649
|
+
[vars$d.backgroundColor]: helperRefs$2.main
|
2534
2650
|
}
|
2535
2651
|
},
|
2536
2652
|
outline: {
|
2537
|
-
[vars$
|
2538
|
-
[vars$
|
2653
|
+
[vars$d.color]: helperRefs$2.main,
|
2654
|
+
[vars$d.borderColor]: helperRefs$2.main,
|
2539
2655
|
_hover: {
|
2540
|
-
[vars$
|
2541
|
-
[vars$
|
2656
|
+
[vars$d.color]: helperRefs$2.dark,
|
2657
|
+
[vars$d.borderColor]: helperRefs$2.dark,
|
2542
2658
|
_error: {
|
2543
|
-
[vars$
|
2659
|
+
[vars$d.color]: helperRefs$2.error
|
2544
2660
|
}
|
2545
2661
|
}
|
2546
2662
|
},
|
2547
2663
|
link: {
|
2548
|
-
[vars$
|
2549
|
-
[vars$
|
2550
|
-
[vars$
|
2551
|
-
[vars$
|
2552
|
-
[vars$
|
2664
|
+
[vars$d.color]: helperRefs$2.main,
|
2665
|
+
[vars$d.padding]: 0,
|
2666
|
+
[vars$d.margin]: 0,
|
2667
|
+
[vars$d.lineHeight]: helperRefs$2.height,
|
2668
|
+
[vars$d.borderRadius]: 0,
|
2553
2669
|
_hover: {
|
2554
|
-
[vars$
|
2555
|
-
[vars$
|
2670
|
+
[vars$d.color]: helperRefs$2.main,
|
2671
|
+
[vars$d.textDecoration]: 'underline'
|
2556
2672
|
}
|
2557
2673
|
}
|
2558
2674
|
}
|
@@ -2560,7 +2676,7 @@ const button = {
|
|
2560
2676
|
|
2561
2677
|
const globalRefs$6 = getThemeRefs(globals);
|
2562
2678
|
|
2563
|
-
const vars$
|
2679
|
+
const vars$c = TextField.cssVarList;
|
2564
2680
|
|
2565
2681
|
const textField = (vars) => ({
|
2566
2682
|
size: {
|
@@ -2626,13 +2742,13 @@ const textField = (vars) => ({
|
|
2626
2742
|
}
|
2627
2743
|
});
|
2628
2744
|
|
2629
|
-
var textField$1 = textField(vars$
|
2745
|
+
var textField$1 = textField(vars$c);
|
2630
2746
|
|
2631
|
-
const vars$
|
2747
|
+
const vars$b = PasswordField.cssVarList;
|
2632
2748
|
|
2633
2749
|
const passwordField = {
|
2634
|
-
...textField(vars$
|
2635
|
-
[vars$
|
2750
|
+
...textField(vars$b),
|
2751
|
+
[vars$b.revealCursor]: 'pointer'
|
2636
2752
|
};
|
2637
2753
|
|
2638
2754
|
const numberField = {
|
@@ -2644,57 +2760,57 @@ const emailField = {
|
|
2644
2760
|
};
|
2645
2761
|
|
2646
2762
|
const globalRefs$5 = getThemeRefs(globals);
|
2647
|
-
const vars$
|
2763
|
+
const vars$a = TextArea.cssVarList;
|
2648
2764
|
|
2649
2765
|
const textArea = {
|
2650
|
-
[vars$
|
2651
|
-
[vars$
|
2652
|
-
[vars$
|
2653
|
-
[vars$
|
2766
|
+
[vars$a.width]: '100%',
|
2767
|
+
[vars$a.color]: globalRefs$5.colors.primary.main,
|
2768
|
+
[vars$a.backgroundColor]: globalRefs$5.colors.surface.light,
|
2769
|
+
[vars$a.resize]: 'vertical',
|
2654
2770
|
|
2655
|
-
[vars$
|
2656
|
-
[vars$
|
2657
|
-
[vars$
|
2658
|
-
[vars$
|
2771
|
+
[vars$a.borderRadius]: globalRefs$5.radius.sm,
|
2772
|
+
[vars$a.borderWidth]: '1px',
|
2773
|
+
[vars$a.borderStyle]: 'solid',
|
2774
|
+
[vars$a.borderColor]: 'transparent',
|
2659
2775
|
|
2660
2776
|
_bordered: {
|
2661
|
-
[vars$
|
2777
|
+
[vars$a.borderColor]: globalRefs$5.colors.surface.main
|
2662
2778
|
},
|
2663
2779
|
|
2664
2780
|
_focused: {
|
2665
|
-
[vars$
|
2781
|
+
[vars$a.outline]: `2px solid ${globalRefs$5.colors.surface.main}`
|
2666
2782
|
},
|
2667
2783
|
|
2668
2784
|
_fullWidth: {
|
2669
|
-
[vars$
|
2785
|
+
[vars$a.width]: '100%'
|
2670
2786
|
},
|
2671
2787
|
|
2672
2788
|
_disabled: {
|
2673
|
-
[vars$
|
2789
|
+
[vars$a.cursor]: 'not-allowed'
|
2674
2790
|
},
|
2675
2791
|
|
2676
2792
|
_invalid: {
|
2677
|
-
[vars$
|
2793
|
+
[vars$a.outline]: `2px solid ${globalRefs$5.colors.error.main}`
|
2678
2794
|
}
|
2679
2795
|
};
|
2680
2796
|
|
2681
|
-
const vars$
|
2797
|
+
const vars$9 = Checkbox.cssVarList;
|
2682
2798
|
|
2683
2799
|
const checkbox = {
|
2684
|
-
[vars$
|
2685
|
-
[vars$
|
2800
|
+
[vars$9.cursor]: 'pointer',
|
2801
|
+
[vars$9.width]: 'fit-content'
|
2686
2802
|
};
|
2687
2803
|
|
2688
|
-
const vars$
|
2804
|
+
const vars$8 = SwitchToggle.cssVarList;
|
2689
2805
|
|
2690
2806
|
const swtichToggle = {
|
2691
|
-
[vars$
|
2692
|
-
[vars$
|
2807
|
+
[vars$8.width]: '70px',
|
2808
|
+
[vars$8.cursor]: [{}, { selector: '> label' }]
|
2693
2809
|
};
|
2694
2810
|
|
2695
2811
|
const globalRefs$4 = getThemeRefs(globals);
|
2696
2812
|
|
2697
|
-
const vars$
|
2813
|
+
const vars$7 = Container.cssVarList;
|
2698
2814
|
|
2699
2815
|
const verticalAlignment = {
|
2700
2816
|
start: { verticalAlignment: 'start' },
|
@@ -2717,31 +2833,31 @@ const [helperTheme$1, helperRefs$1, helperVars] =
|
|
2717
2833
|
|
2718
2834
|
const container = {
|
2719
2835
|
...helperTheme$1,
|
2720
|
-
[vars$
|
2836
|
+
[vars$7.width]: '100%',
|
2721
2837
|
verticalPadding: {
|
2722
|
-
sm: { [vars$
|
2723
|
-
md: { [vars$
|
2724
|
-
lg: { [vars$
|
2838
|
+
sm: { [vars$7.verticalPadding]: '5px' },
|
2839
|
+
md: { [vars$7.verticalPadding]: '10px' },
|
2840
|
+
lg: { [vars$7.verticalPadding]: '20px' },
|
2725
2841
|
},
|
2726
2842
|
horizontalPadding: {
|
2727
|
-
sm: { [vars$
|
2728
|
-
md: { [vars$
|
2729
|
-
lg: { [vars$
|
2843
|
+
sm: { [vars$7.horizontalPadding]: '5px' },
|
2844
|
+
md: { [vars$7.horizontalPadding]: '10px' },
|
2845
|
+
lg: { [vars$7.horizontalPadding]: '20px' },
|
2730
2846
|
},
|
2731
2847
|
direction: {
|
2732
2848
|
row: {
|
2733
|
-
[vars$
|
2734
|
-
[vars$
|
2735
|
-
[vars$
|
2849
|
+
[vars$7.flexDirection]: 'row',
|
2850
|
+
[vars$7.alignItems]: helperRefs$1.verticalAlignment,
|
2851
|
+
[vars$7.justifyContent]: helperRefs$1.horizontalAlignment,
|
2736
2852
|
horizontalAlignment: {
|
2737
2853
|
spaceBetween: { [helperVars.horizontalAlignment]: 'space-between' },
|
2738
2854
|
}
|
2739
2855
|
},
|
2740
2856
|
|
2741
2857
|
column: {
|
2742
|
-
[vars$
|
2743
|
-
[vars$
|
2744
|
-
[vars$
|
2858
|
+
[vars$7.flexDirection]: 'column',
|
2859
|
+
[vars$7.alignItems]: helperRefs$1.horizontalAlignment,
|
2860
|
+
[vars$7.justifyContent]: helperRefs$1.verticalAlignment,
|
2745
2861
|
verticalAlignment: {
|
2746
2862
|
spaceBetween: { [helperVars.verticalAlignment]: 'space-between' }
|
2747
2863
|
}
|
@@ -2750,214 +2866,214 @@ const container = {
|
|
2750
2866
|
|
2751
2867
|
spaceBetween: {
|
2752
2868
|
sm: {
|
2753
|
-
[vars$
|
2869
|
+
[vars$7.gap]: '10px'
|
2754
2870
|
},
|
2755
2871
|
md: {
|
2756
|
-
[vars$
|
2872
|
+
[vars$7.gap]: '20px'
|
2757
2873
|
},
|
2758
2874
|
lg: {
|
2759
|
-
[vars$
|
2875
|
+
[vars$7.gap]: '30px'
|
2760
2876
|
}
|
2761
2877
|
},
|
2762
2878
|
|
2763
2879
|
shadow: {
|
2764
2880
|
sm: {
|
2765
|
-
[vars$
|
2881
|
+
[vars$7.boxShadow]: `${globalRefs$4.shadow.wide.sm} ${helperRefs$1.shadowColor}, ${globalRefs$4.shadow.narrow.sm} ${helperRefs$1.shadowColor}`
|
2766
2882
|
},
|
2767
2883
|
md: {
|
2768
|
-
[vars$
|
2884
|
+
[vars$7.boxShadow]: `${globalRefs$4.shadow.wide.md} ${helperRefs$1.shadowColor}, ${globalRefs$4.shadow.narrow.md} ${helperRefs$1.shadowColor}`
|
2769
2885
|
},
|
2770
2886
|
lg: {
|
2771
|
-
[vars$
|
2887
|
+
[vars$7.boxShadow]: `${globalRefs$4.shadow.wide.lg} ${helperRefs$1.shadowColor}, ${globalRefs$4.shadow.narrow.lg} ${helperRefs$1.shadowColor}`
|
2772
2888
|
},
|
2773
2889
|
xl: {
|
2774
|
-
[vars$
|
2890
|
+
[vars$7.boxShadow]: `${globalRefs$4.shadow.wide.xl} ${helperRefs$1.shadowColor}, ${globalRefs$4.shadow.narrow.xl} ${helperRefs$1.shadowColor}`
|
2775
2891
|
},
|
2776
2892
|
'2xl': {
|
2777
2893
|
[helperVars.shadowColor]: '#00000050',
|
2778
|
-
[vars$
|
2894
|
+
[vars$7.boxShadow]: `${globalRefs$4.shadow.wide['2xl']} ${helperRefs$1.shadowColor}`
|
2779
2895
|
},
|
2780
2896
|
},
|
2781
2897
|
|
2782
2898
|
borderRadius: {
|
2783
2899
|
sm: {
|
2784
|
-
[vars$
|
2900
|
+
[vars$7.borderRadius]: globalRefs$4.radius.sm
|
2785
2901
|
},
|
2786
2902
|
md: {
|
2787
|
-
[vars$
|
2903
|
+
[vars$7.borderRadius]: globalRefs$4.radius.md
|
2788
2904
|
},
|
2789
2905
|
lg: {
|
2790
|
-
[vars$
|
2906
|
+
[vars$7.borderRadius]: globalRefs$4.radius.lg
|
2791
2907
|
},
|
2792
2908
|
}
|
2793
2909
|
};
|
2794
2910
|
|
2795
|
-
const vars$
|
2911
|
+
const vars$6 = Logo.cssVarList;
|
2796
2912
|
|
2797
2913
|
const logo = {
|
2798
|
-
[vars$
|
2914
|
+
[vars$6.fallbackUrl]: 'url(https://content.app.descope.com/assets/flows/noLogoPlaceholder.svg)'
|
2799
2915
|
};
|
2800
2916
|
|
2801
2917
|
const globalRefs$3 = getThemeRefs(globals);
|
2802
2918
|
|
2803
|
-
const vars$
|
2919
|
+
const vars$5 = Text.cssVarList;
|
2804
2920
|
|
2805
2921
|
const text = {
|
2806
|
-
[vars$
|
2807
|
-
[vars$
|
2808
|
-
[vars$
|
2809
|
-
[vars$
|
2922
|
+
[vars$5.lineHeight]: '1em',
|
2923
|
+
[vars$5.display]: 'inline-block',
|
2924
|
+
[vars$5.textAlign]: 'left',
|
2925
|
+
[vars$5.color]: globalRefs$3.colors.surface.dark,
|
2810
2926
|
variant: {
|
2811
2927
|
h1: {
|
2812
|
-
[vars$
|
2813
|
-
[vars$
|
2814
|
-
[vars$
|
2928
|
+
[vars$5.fontSize]: globalRefs$3.typography.h1.size,
|
2929
|
+
[vars$5.fontWeight]: globalRefs$3.typography.h1.weight,
|
2930
|
+
[vars$5.fontFamily]: globalRefs$3.typography.h1.font
|
2815
2931
|
},
|
2816
2932
|
h2: {
|
2817
|
-
[vars$
|
2818
|
-
[vars$
|
2819
|
-
[vars$
|
2933
|
+
[vars$5.fontSize]: globalRefs$3.typography.h2.size,
|
2934
|
+
[vars$5.fontWeight]: globalRefs$3.typography.h2.weight,
|
2935
|
+
[vars$5.fontFamily]: globalRefs$3.typography.h2.font
|
2820
2936
|
},
|
2821
2937
|
h3: {
|
2822
|
-
[vars$
|
2823
|
-
[vars$
|
2824
|
-
[vars$
|
2938
|
+
[vars$5.fontSize]: globalRefs$3.typography.h3.size,
|
2939
|
+
[vars$5.fontWeight]: globalRefs$3.typography.h3.weight,
|
2940
|
+
[vars$5.fontFamily]: globalRefs$3.typography.h3.font
|
2825
2941
|
},
|
2826
2942
|
subtitle1: {
|
2827
|
-
[vars$
|
2828
|
-
[vars$
|
2829
|
-
[vars$
|
2943
|
+
[vars$5.fontSize]: globalRefs$3.typography.subtitle1.size,
|
2944
|
+
[vars$5.fontWeight]: globalRefs$3.typography.subtitle1.weight,
|
2945
|
+
[vars$5.fontFamily]: globalRefs$3.typography.subtitle1.font
|
2830
2946
|
},
|
2831
2947
|
subtitle2: {
|
2832
|
-
[vars$
|
2833
|
-
[vars$
|
2834
|
-
[vars$
|
2948
|
+
[vars$5.fontSize]: globalRefs$3.typography.subtitle2.size,
|
2949
|
+
[vars$5.fontWeight]: globalRefs$3.typography.subtitle2.weight,
|
2950
|
+
[vars$5.fontFamily]: globalRefs$3.typography.subtitle2.font
|
2835
2951
|
},
|
2836
2952
|
body1: {
|
2837
|
-
[vars$
|
2838
|
-
[vars$
|
2839
|
-
[vars$
|
2953
|
+
[vars$5.fontSize]: globalRefs$3.typography.body1.size,
|
2954
|
+
[vars$5.fontWeight]: globalRefs$3.typography.body1.weight,
|
2955
|
+
[vars$5.fontFamily]: globalRefs$3.typography.body1.font
|
2840
2956
|
},
|
2841
2957
|
body2: {
|
2842
|
-
[vars$
|
2843
|
-
[vars$
|
2844
|
-
[vars$
|
2958
|
+
[vars$5.fontSize]: globalRefs$3.typography.body2.size,
|
2959
|
+
[vars$5.fontWeight]: globalRefs$3.typography.body2.weight,
|
2960
|
+
[vars$5.fontFamily]: globalRefs$3.typography.body2.font
|
2845
2961
|
}
|
2846
2962
|
},
|
2847
2963
|
mode: {
|
2848
2964
|
primary: {
|
2849
|
-
[vars$
|
2965
|
+
[vars$5.color]: globalRefs$3.colors.primary.main
|
2850
2966
|
},
|
2851
2967
|
secondary: {
|
2852
|
-
[vars$
|
2968
|
+
[vars$5.color]: globalRefs$3.colors.secondary.main
|
2853
2969
|
},
|
2854
2970
|
error: {
|
2855
|
-
[vars$
|
2971
|
+
[vars$5.color]: globalRefs$3.colors.error.main
|
2856
2972
|
},
|
2857
2973
|
success: {
|
2858
|
-
[vars$
|
2974
|
+
[vars$5.color]: globalRefs$3.colors.success.main
|
2859
2975
|
}
|
2860
2976
|
},
|
2861
2977
|
textAlign: {
|
2862
|
-
right: { [vars$
|
2863
|
-
left: { [vars$
|
2864
|
-
center: { [vars$
|
2978
|
+
right: { [vars$5.textAlign]: 'right' },
|
2979
|
+
left: { [vars$5.textAlign]: 'left' },
|
2980
|
+
center: { [vars$5.textAlign]: 'center' }
|
2865
2981
|
},
|
2866
2982
|
_fullWidth: {
|
2867
|
-
[vars$
|
2868
|
-
[vars$
|
2983
|
+
[vars$5.width]: '100%',
|
2984
|
+
[vars$5.display]: 'block'
|
2869
2985
|
},
|
2870
2986
|
_italic: {
|
2871
|
-
[vars$
|
2987
|
+
[vars$5.fontStyle]: 'italic'
|
2872
2988
|
},
|
2873
2989
|
_uppercase: {
|
2874
|
-
[vars$
|
2990
|
+
[vars$5.textTransform]: 'uppercase'
|
2875
2991
|
},
|
2876
2992
|
_lowercase: {
|
2877
|
-
[vars$
|
2993
|
+
[vars$5.textTransform]: 'lowercase'
|
2878
2994
|
}
|
2879
2995
|
};
|
2880
2996
|
|
2881
2997
|
const globalRefs$2 = getThemeRefs(globals);
|
2882
|
-
const vars$
|
2998
|
+
const vars$4 = Link.cssVarList;
|
2883
2999
|
|
2884
3000
|
const link = {
|
2885
|
-
[vars$
|
2886
|
-
[vars$
|
2887
|
-
[vars$
|
2888
|
-
[vars$
|
2889
|
-
[vars$
|
3001
|
+
[vars$4.cursor]: 'pointer',
|
3002
|
+
[vars$4.borderBottomWidth]: '2px',
|
3003
|
+
[vars$4.borderBottomStyle]: 'solid',
|
3004
|
+
[vars$4.borderBottomColor]: 'transparent',
|
3005
|
+
[vars$4.color]: globalRefs$2.colors.primary.main,
|
2890
3006
|
|
2891
3007
|
_hover: {
|
2892
|
-
[vars$
|
3008
|
+
[vars$4.borderBottomColor]: globalRefs$2.colors.primary.main
|
2893
3009
|
},
|
2894
3010
|
|
2895
3011
|
textAlign: {
|
2896
|
-
right: { [vars$
|
2897
|
-
left: { [vars$
|
2898
|
-
center: { [vars$
|
3012
|
+
right: { [vars$4.textAlign]: 'right' },
|
3013
|
+
left: { [vars$4.textAlign]: 'left' },
|
3014
|
+
center: { [vars$4.textAlign]: 'center' }
|
2899
3015
|
},
|
2900
3016
|
|
2901
3017
|
_fullWidth: {
|
2902
|
-
[vars$
|
3018
|
+
[vars$4.width]: '100%'
|
2903
3019
|
},
|
2904
3020
|
|
2905
3021
|
mode: {
|
2906
3022
|
primary: {
|
2907
|
-
[vars$
|
3023
|
+
[vars$4.color]: globalRefs$2.colors.primary.main,
|
2908
3024
|
_hover: {
|
2909
|
-
[vars$
|
3025
|
+
[vars$4.borderBottomColor]: globalRefs$2.colors.primary.main
|
2910
3026
|
}
|
2911
3027
|
},
|
2912
3028
|
secondary: {
|
2913
|
-
[vars$
|
3029
|
+
[vars$4.color]: globalRefs$2.colors.secondary.main,
|
2914
3030
|
_hover: {
|
2915
|
-
[vars$
|
3031
|
+
[vars$4.borderBottomColor]: globalRefs$2.colors.secondary.main
|
2916
3032
|
}
|
2917
3033
|
},
|
2918
3034
|
error: {
|
2919
|
-
[vars$
|
3035
|
+
[vars$4.color]: globalRefs$2.colors.error.main,
|
2920
3036
|
_hover: {
|
2921
|
-
[vars$
|
3037
|
+
[vars$4.borderBottomColor]: globalRefs$2.colors.error.main
|
2922
3038
|
}
|
2923
3039
|
},
|
2924
3040
|
success: {
|
2925
|
-
[vars$
|
3041
|
+
[vars$4.color]: globalRefs$2.colors.success.main,
|
2926
3042
|
_hover: {
|
2927
|
-
[vars$
|
3043
|
+
[vars$4.borderBottomColor]: globalRefs$2.colors.success.main
|
2928
3044
|
}
|
2929
3045
|
}
|
2930
3046
|
}
|
2931
3047
|
};
|
2932
3048
|
|
2933
|
-
const vars$
|
3049
|
+
const vars$3 = Divider.cssVarList;
|
2934
3050
|
|
2935
3051
|
const thickness = '2px';
|
2936
3052
|
const textPaddingSize = '10px';
|
2937
|
-
const [helperTheme, helperRefs] = createHelperVars({ thickness, textPaddingSize }, componentName$
|
3053
|
+
const [helperTheme, helperRefs] = createHelperVars({ thickness, textPaddingSize }, componentName$c);
|
2938
3054
|
|
2939
3055
|
|
2940
3056
|
const divider = {
|
2941
3057
|
...helperTheme,
|
2942
|
-
[vars$
|
2943
|
-
[vars$
|
2944
|
-
[vars$
|
2945
|
-
[vars$
|
2946
|
-
[vars$
|
2947
|
-
[vars$
|
2948
|
-
[vars$
|
2949
|
-
[vars$
|
2950
|
-
[vars$
|
2951
|
-
[vars$
|
3058
|
+
[vars$3.alignItems]: 'center',
|
3059
|
+
[vars$3.dividerHeight]: helperRefs.thickness,
|
3060
|
+
[vars$3.backgroundColor]: 'currentColor',
|
3061
|
+
[vars$3.opacity]: '0.2',
|
3062
|
+
[vars$3.textPadding]: `0 ${helperRefs.textPaddingSize}`,
|
3063
|
+
[vars$3.width]: '100%',
|
3064
|
+
[vars$3.flexDirection]: 'row',
|
3065
|
+
[vars$3.alignSelf]: 'strech',
|
3066
|
+
[vars$3.textWidth]: 'fit-content',
|
3067
|
+
[vars$3.maxTextWidth]: 'calc(100% - 100px)',
|
2952
3068
|
_vertical: {
|
2953
|
-
[vars$
|
2954
|
-
[vars$
|
2955
|
-
[vars$
|
2956
|
-
[vars$
|
2957
|
-
[vars$
|
2958
|
-
[vars$
|
2959
|
-
[vars$
|
2960
|
-
[vars$
|
3069
|
+
[vars$3.padding]: `0 calc(${thickness} * 3)`,
|
3070
|
+
[vars$3.width]: 'fit-content',
|
3071
|
+
[vars$3.textPadding]: `${helperRefs.textPaddingSize} 0`,
|
3072
|
+
[vars$3.flexDirection]: 'column',
|
3073
|
+
[vars$3.minHeight]: '200px',
|
3074
|
+
[vars$3.textWidth]: 'fit-content',
|
3075
|
+
[vars$3.dividerWidth]: helperRefs.thickness,
|
3076
|
+
[vars$3.maxTextWidth]: '100%',
|
2961
3077
|
}
|
2962
3078
|
};
|
2963
3079
|
|
@@ -2967,102 +3083,227 @@ const passcode = {
|
|
2967
3083
|
|
2968
3084
|
const globalRefs$1 = getThemeRefs(globals);
|
2969
3085
|
|
2970
|
-
const vars$
|
3086
|
+
const vars$2 = LoaderLinear.cssVarList;
|
2971
3087
|
|
2972
3088
|
const loaderLinear = {
|
2973
|
-
[vars$
|
2974
|
-
[vars$
|
2975
|
-
[vars$
|
2976
|
-
[vars$
|
2977
|
-
[vars$
|
2978
|
-
[vars$
|
2979
|
-
[vars$
|
2980
|
-
[vars$
|
2981
|
-
[vars$
|
3089
|
+
[vars$2.display]: 'inline-block',
|
3090
|
+
[vars$2.barColor]: globalRefs$1.colors.surface.contrast,
|
3091
|
+
[vars$2.barWidth]: '20%',
|
3092
|
+
[vars$2.surfaceColor]: globalRefs$1.colors.surface.main,
|
3093
|
+
[vars$2.borderRadius]: '4px',
|
3094
|
+
[vars$2.animationDuration]: '2s',
|
3095
|
+
[vars$2.animationTimingFunction]: 'linear',
|
3096
|
+
[vars$2.animationIterationCount]: 'infinite',
|
3097
|
+
[vars$2.width]: '100%',
|
2982
3098
|
size: {
|
2983
3099
|
xs: {
|
2984
|
-
[vars$
|
3100
|
+
[vars$2.height]: '6px'
|
2985
3101
|
},
|
2986
3102
|
sm: {
|
2987
|
-
[vars$
|
3103
|
+
[vars$2.height]: '8px'
|
2988
3104
|
},
|
2989
3105
|
md: {
|
2990
|
-
[vars$
|
3106
|
+
[vars$2.height]: '10px'
|
2991
3107
|
},
|
2992
3108
|
lg: {
|
2993
|
-
[vars$
|
3109
|
+
[vars$2.height]: '12px'
|
2994
3110
|
},
|
2995
3111
|
xl: {
|
2996
|
-
[vars$
|
3112
|
+
[vars$2.height]: '14px'
|
2997
3113
|
}
|
2998
3114
|
},
|
2999
3115
|
mode: {
|
3000
3116
|
primary: {
|
3001
|
-
[vars$
|
3117
|
+
[vars$2.barColor]: globalRefs$1.colors.primary.main
|
3002
3118
|
},
|
3003
3119
|
secondary: {
|
3004
|
-
[vars$
|
3120
|
+
[vars$2.barColor]: globalRefs$1.colors.secondary.main
|
3005
3121
|
}
|
3006
3122
|
},
|
3007
3123
|
_hidden: {
|
3008
|
-
[vars$
|
3124
|
+
[vars$2.display]: 'none'
|
3009
3125
|
}
|
3010
3126
|
};
|
3011
3127
|
|
3012
3128
|
const globalRefs = getThemeRefs(globals);
|
3013
3129
|
|
3014
|
-
const vars = LoaderRadial.cssVarList;
|
3130
|
+
const vars$1 = LoaderRadial.cssVarList;
|
3015
3131
|
|
3016
3132
|
const loaderRadial = {
|
3017
|
-
[vars.display]: 'inline-block',
|
3018
|
-
[vars.color]: globalRefs.colors.surface.contrast,
|
3019
|
-
[vars.animationDuration]: '2s',
|
3020
|
-
[vars.animationTimingFunction]: 'linear',
|
3021
|
-
[vars.animationIterationCount]: 'infinite',
|
3022
|
-
[vars.spinnerStyle]: 'solid',
|
3023
|
-
[vars.spinnerWidth]: '4px',
|
3024
|
-
[vars.spinnerRadius]: '50%',
|
3025
|
-
[vars.spinnerTopColor]: 'currentColor',
|
3026
|
-
[vars.spinnerBottomColor]: 'transparent',
|
3027
|
-
[vars.spinnerRightColor]: 'currentColor',
|
3028
|
-
[vars.spinnerLeftColor]: 'transparent',
|
3133
|
+
[vars$1.display]: 'inline-block',
|
3134
|
+
[vars$1.color]: globalRefs.colors.surface.contrast,
|
3135
|
+
[vars$1.animationDuration]: '2s',
|
3136
|
+
[vars$1.animationTimingFunction]: 'linear',
|
3137
|
+
[vars$1.animationIterationCount]: 'infinite',
|
3138
|
+
[vars$1.spinnerStyle]: 'solid',
|
3139
|
+
[vars$1.spinnerWidth]: '4px',
|
3140
|
+
[vars$1.spinnerRadius]: '50%',
|
3141
|
+
[vars$1.spinnerTopColor]: 'currentColor',
|
3142
|
+
[vars$1.spinnerBottomColor]: 'transparent',
|
3143
|
+
[vars$1.spinnerRightColor]: 'currentColor',
|
3144
|
+
[vars$1.spinnerLeftColor]: 'transparent',
|
3029
3145
|
size: {
|
3030
3146
|
xs: {
|
3031
|
-
[vars.width]: '20px',
|
3032
|
-
[vars.height]: '20px',
|
3033
|
-
[vars.spinnerWidth]: '2px'
|
3147
|
+
[vars$1.width]: '20px',
|
3148
|
+
[vars$1.height]: '20px',
|
3149
|
+
[vars$1.spinnerWidth]: '2px'
|
3034
3150
|
},
|
3035
3151
|
sm: {
|
3036
|
-
[vars.width]: '30px',
|
3037
|
-
[vars.height]: '30px',
|
3038
|
-
[vars.spinnerWidth]: '3px'
|
3152
|
+
[vars$1.width]: '30px',
|
3153
|
+
[vars$1.height]: '30px',
|
3154
|
+
[vars$1.spinnerWidth]: '3px'
|
3039
3155
|
},
|
3040
3156
|
md: {
|
3041
|
-
[vars.width]: '40px',
|
3042
|
-
[vars.height]: '40px',
|
3043
|
-
[vars.spinnerWidth]: '4px'
|
3157
|
+
[vars$1.width]: '40px',
|
3158
|
+
[vars$1.height]: '40px',
|
3159
|
+
[vars$1.spinnerWidth]: '4px'
|
3044
3160
|
},
|
3045
3161
|
lg: {
|
3046
|
-
[vars.width]: '60px',
|
3047
|
-
[vars.height]: '60px',
|
3048
|
-
[vars.spinnerWidth]: '5px'
|
3162
|
+
[vars$1.width]: '60px',
|
3163
|
+
[vars$1.height]: '60px',
|
3164
|
+
[vars$1.spinnerWidth]: '5px'
|
3049
3165
|
},
|
3050
3166
|
xl: {
|
3051
|
-
[vars.width]: '80px',
|
3052
|
-
[vars.height]: '80px',
|
3053
|
-
[vars.spinnerWidth]: '6px'
|
3167
|
+
[vars$1.width]: '80px',
|
3168
|
+
[vars$1.height]: '80px',
|
3169
|
+
[vars$1.spinnerWidth]: '6px'
|
3054
3170
|
}
|
3055
3171
|
},
|
3056
3172
|
mode: {
|
3057
3173
|
primary: {
|
3058
|
-
[vars.color]: globalRefs.colors.primary.main
|
3174
|
+
[vars$1.color]: globalRefs.colors.primary.main
|
3059
3175
|
},
|
3060
3176
|
secondary: {
|
3061
|
-
[vars.color]: globalRefs.colors.secondary.main
|
3177
|
+
[vars$1.color]: globalRefs.colors.secondary.main
|
3062
3178
|
}
|
3063
3179
|
},
|
3064
3180
|
_hidden: {
|
3065
|
-
[vars.display]: 'none'
|
3181
|
+
[vars$1.display]: 'none'
|
3182
|
+
}
|
3183
|
+
};
|
3184
|
+
|
3185
|
+
const componentName = getComponentName('combo-box');
|
3186
|
+
|
3187
|
+
const selectors = {
|
3188
|
+
input: { selector: '::part(input-field)' },
|
3189
|
+
toggle: { selector: '::part(toggle-button)' }
|
3190
|
+
};
|
3191
|
+
|
3192
|
+
const { input, toggle } = selectors;
|
3193
|
+
|
3194
|
+
const borderRadius = {
|
3195
|
+
topRightRadius: {
|
3196
|
+
selector: input.selector,
|
3197
|
+
property: 'border-top-right-radius'
|
3198
|
+
},
|
3199
|
+
bottomRightRadius: {
|
3200
|
+
selector: input.selector,
|
3201
|
+
property: 'border-bottom-right-radius'
|
3202
|
+
},
|
3203
|
+
topLeftRadius: {
|
3204
|
+
selector: input.selector,
|
3205
|
+
property: 'border-top-left-radius'
|
3206
|
+
},
|
3207
|
+
bottomLeftRadius: {
|
3208
|
+
selector: input.selector,
|
3209
|
+
property: 'border-bottom-left-radius'
|
3210
|
+
}
|
3211
|
+
};
|
3212
|
+
|
3213
|
+
const ComboBoxMixin = (superclass) => class ComboBoxMixinClass extends superclass {
|
3214
|
+
|
3215
|
+
// vaadin api is to set props on their combo box node,
|
3216
|
+
// in order to avoid it, we are passing the children of this component
|
3217
|
+
// to the items & renderer props, so it will be used as the combo box items
|
3218
|
+
#onChildrenChange() {
|
3219
|
+
const baseElement = this.shadowRoot.querySelector(this.baseSelector);
|
3220
|
+
const items = Array.from(this.children);
|
3221
|
+
|
3222
|
+
// we want the data-name attribute to be accessible as an object attribute
|
3223
|
+
baseElement.items = items.map((node) =>
|
3224
|
+
Object.defineProperty(node, 'data-name', {
|
3225
|
+
value: node.getAttribute('data-name')
|
3226
|
+
})
|
3227
|
+
);
|
3228
|
+
|
3229
|
+
baseElement.renderer = (root, combo, model) => {
|
3230
|
+
root.innerHTML = items[model.index].outerHTML;
|
3231
|
+
};
|
3232
|
+
}
|
3233
|
+
|
3234
|
+
connectedCallback() {
|
3235
|
+
super.connectedCallback?.();
|
3236
|
+
|
3237
|
+
observeChildren(this, this.#onChildrenChange.bind(this));
|
3238
|
+
}
|
3239
|
+
};
|
3240
|
+
|
3241
|
+
const ComboBox = compose(
|
3242
|
+
createStyleMixin({
|
3243
|
+
mappings: {
|
3244
|
+
...borderRadius,
|
3245
|
+
backgroundColor: input,
|
3246
|
+
width: input,
|
3247
|
+
color: input,
|
3248
|
+
padding: input,
|
3249
|
+
borderColor: input,
|
3250
|
+
borderStyle: input,
|
3251
|
+
borderWidth: input,
|
3252
|
+
cursor: toggle,
|
3253
|
+
height: input,
|
3254
|
+
}
|
3255
|
+
}),
|
3256
|
+
draggableMixin,
|
3257
|
+
portalMixin({
|
3258
|
+
name: 'overlay',
|
3259
|
+
selector: 'vaadin-combo-box-scroller',
|
3260
|
+
mappings: {
|
3261
|
+
border: { selector: () => '::slotted(*)' },
|
3262
|
+
backgroundColor: {},
|
3263
|
+
}
|
3264
|
+
}),
|
3265
|
+
proxyInputMixin,
|
3266
|
+
componentNameValidationMixin,
|
3267
|
+
ComboBoxMixin
|
3268
|
+
)(
|
3269
|
+
createProxy({
|
3270
|
+
slots: ['prefix'],
|
3271
|
+
wrappedEleName: 'vaadin-combo-box',
|
3272
|
+
style: () => `
|
3273
|
+
:host {
|
3274
|
+
-webkit-mask-image: none;
|
3275
|
+
}
|
3276
|
+
`,
|
3277
|
+
excludeAttrsSync: ['tabindex'],
|
3278
|
+
includeAttrsSync: [],
|
3279
|
+
componentName,
|
3280
|
+
includeForwardProps: ['items', 'renderer']
|
3281
|
+
})
|
3282
|
+
);
|
3283
|
+
|
3284
|
+
getThemeRefs(globals);
|
3285
|
+
|
3286
|
+
const vars = ComboBox.cssVarList;
|
3287
|
+
|
3288
|
+
const comboBox = {
|
3289
|
+
...textField(ComboBox.cssVarList),
|
3290
|
+
size: {
|
3291
|
+
xs: {
|
3292
|
+
[vars.width]: '30px'
|
3293
|
+
}
|
3294
|
+
},
|
3295
|
+
[vars.borderColor]: 'green',
|
3296
|
+
[vars.borderWidth]: '0',
|
3297
|
+
[vars.cursor]: 'pointer',
|
3298
|
+
[vars.padding]: '0',
|
3299
|
+
|
3300
|
+
'@overlay': {
|
3301
|
+
[vars.overlayBackgroundColor] : 'red',
|
3302
|
+
[vars.overlayBorder]: '3px solid blue',
|
3303
|
+
|
3304
|
+
_hover: {
|
3305
|
+
[vars.overlayBackgroundColor] : 'blue',
|
3306
|
+
}
|
3066
3307
|
}
|
3067
3308
|
};
|
3068
3309
|
|
@@ -3082,7 +3323,8 @@ var components = {
|
|
3082
3323
|
divider,
|
3083
3324
|
passcode,
|
3084
3325
|
loaderRadial,
|
3085
|
-
loaderLinear
|
3326
|
+
loaderLinear,
|
3327
|
+
comboBox
|
3086
3328
|
};
|
3087
3329
|
|
3088
3330
|
var index = { globals, components };
|