@descope/web-components-ui 1.0.51 → 1.0.53
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/dist/index.esm.js +774 -377
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/832.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-index-js.js +1 -1
- 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 -0
- package/dist/umd/descope-email-field-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 -0
- package/dist/umd/descope-passcode-index-js.js +1 -0
- 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 +1 -1
- package/src/components/DescopeBaseClass.js +1 -0
- package/src/components/descope-button/Button.js +0 -1
- package/src/components/descope-combo/index.js +2 -1
- package/src/components/descope-container/Container.js +14 -6
- package/src/components/descope-divider/Divider.js +85 -0
- package/src/components/descope-divider/index.js +6 -0
- package/src/components/descope-logo/Logo.js +5 -4
- package/src/components/descope-passcode/Passcode.js +141 -0
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +213 -0
- package/src/components/descope-passcode/descope-passcode-internal/helpers.js +14 -0
- package/src/components/descope-passcode/descope-passcode-internal/index.js +3 -0
- package/src/components/descope-passcode/index.js +5 -0
- package/src/components/descope-password-field/PasswordField.js +0 -1
- package/src/components/descope-text/Text.js +8 -1
- package/src/components/descope-text/index.js +0 -1
- package/src/componentsHelpers/createProxy/helpers.js +24 -7
- package/src/componentsHelpers/createProxy/index.js +8 -6
- package/src/componentsHelpers/createStyleMixin/index.js +103 -72
- package/src/componentsHelpers/enforceNestingElementsStylesMixin.js +95 -0
- package/src/componentsHelpers/inputMixin.js +13 -13
- package/src/index.js +3 -0
- package/src/theme/components/divider.js +24 -0
- package/src/theme/components/index.js +5 -1
- package/src/theme/components/passcode.js +8 -0
- package/src/theme/components/text.js +6 -0
- package/dist/umd/433.js +0 -1
package/dist/index.esm.js
CHANGED
@@ -5,6 +5,7 @@ import '@vaadin/email-field';
|
|
5
5
|
import '@vaadin/password-field';
|
6
6
|
import '@vaadin/text-area';
|
7
7
|
import '@vaadin/date-picker';
|
8
|
+
import '@vaadin/checkbox';
|
8
9
|
import merge from 'lodash.merge';
|
9
10
|
import set from 'lodash.set';
|
10
11
|
import Color from 'color';
|
@@ -108,80 +109,111 @@ const matchHostStyle = (mappingObj = {}) => [
|
|
108
109
|
];
|
109
110
|
|
110
111
|
const createStyleMixin =
|
111
|
-
({ mappings = {} }) =>
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
112
|
+
({ mappings = {}, nestedMappings = {} }) =>
|
113
|
+
(superclass) => {
|
114
|
+
const styleAttributes = Object.keys(mappings).map((key) =>
|
115
|
+
kebabCaseJoin('st', key)
|
116
|
+
);
|
117
|
+
return class CustomStyleMixinClass extends superclass {
|
118
|
+
static get observedAttributes() {
|
119
|
+
const superAttrs = superclass.observedAttributes || [];
|
120
|
+
return [...superAttrs, ...styleAttributes];
|
121
|
+
}
|
121
122
|
|
122
|
-
|
123
|
-
|
124
|
-
|
123
|
+
static get cssVarList() {
|
124
|
+
return createCssVarsList(superclass.componentName, mappings);
|
125
|
+
}
|
125
126
|
|
126
|
-
|
127
|
+
#styleEle = null;
|
127
128
|
|
128
|
-
|
129
|
-
|
129
|
+
constructor() {
|
130
|
+
super();
|
130
131
|
|
131
|
-
|
132
|
-
|
133
|
-
|
132
|
+
this.#createComponentStyle();
|
133
|
+
this.#createAttrOverrideStyle();
|
134
|
+
}
|
134
135
|
|
135
|
-
|
136
|
-
|
137
|
-
|
136
|
+
#createAttrOverrideStyle() {
|
137
|
+
this.#styleEle = document.createElement('style');
|
138
|
+
this.#styleEle.id = 'style-mixin-overrides';
|
138
139
|
|
139
|
-
|
140
|
-
|
141
|
-
|
140
|
+
this.#styleEle.innerText = '* {}';
|
141
|
+
this.shadowRoot.prepend(this.#styleEle);
|
142
|
+
}
|
142
143
|
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
144
|
+
#updateAttrOverrideStyle(attrName, value) {
|
145
|
+
const style = this.#styleEle.sheet?.cssRules[0].style;
|
146
|
+
const varName = getCssVarName(
|
147
|
+
superclass.componentName,
|
148
|
+
attrName.replace(/^st-/, '')
|
149
|
+
);
|
149
150
|
|
150
|
-
|
151
|
-
|
152
|
-
|
151
|
+
if (value) style?.setProperty(varName, value);
|
152
|
+
else style?.removeProperty(varName);
|
153
|
+
}
|
153
154
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
155
|
+
#createComponentStyle() {
|
156
|
+
const themeStyle = document.createElement('style');
|
157
|
+
themeStyle.id = 'style-mixin-component';
|
158
|
+
themeStyle.innerHTML = createStyle(
|
159
|
+
superclass.componentName,
|
160
|
+
this.baseSelector,
|
161
|
+
mappings
|
162
|
+
);
|
163
|
+
this.shadowRoot.prepend(themeStyle);
|
164
|
+
}
|
165
|
+
|
166
|
+
#createComponentNestingStyle() {
|
167
|
+
// we need these selectors to be more specific from the theme selectors
|
168
|
+
// in order to do it, we are repeating the class name for specificity
|
169
|
+
const numOfClassNameSpecifier = 3;
|
170
|
+
|
171
|
+
const rootNode = this.shadowRoot.host.getRootNode();
|
172
|
+
const styleId = `${superclass.componentName}-style-mixin-component`;
|
173
|
+
|
174
|
+
const className = superclass.componentName;
|
175
|
+
this.shadowRoot.host.classList.add(className);
|
164
176
|
|
165
|
-
|
166
|
-
super.attributeChangedCallback?.(attrName, oldValue, newValue);
|
177
|
+
if(rootNode.querySelector(`style#${styleId}`)) return;
|
167
178
|
|
168
|
-
|
169
|
-
|
179
|
+
const themeStyle = document.createElement('style');
|
180
|
+
themeStyle.id = styleId;
|
181
|
+
themeStyle.innerHTML = createStyle(
|
182
|
+
superclass.componentName,
|
183
|
+
`${superclass.componentName}${Array(numOfClassNameSpecifier).fill(`.${className}`).join('')}`,
|
184
|
+
nestedMappings
|
185
|
+
);
|
186
|
+
|
187
|
+
// rootNode can be either a shadow DOM or a light DOM
|
188
|
+
if (rootNode.nodeName === '#document') {
|
189
|
+
rootNode.head.append(themeStyle);
|
190
|
+
} else {
|
191
|
+
rootNode.append(themeStyle);
|
192
|
+
}
|
170
193
|
}
|
171
|
-
}
|
172
194
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
195
|
+
attributeChangedCallback(attrName, oldValue, newValue) {
|
196
|
+
super.attributeChangedCallback?.(attrName, oldValue, newValue);
|
197
|
+
|
198
|
+
if (styleAttributes.includes(attrName)) {
|
199
|
+
this.#updateAttrOverrideStyle(attrName, newValue);
|
200
|
+
}
|
201
|
+
}
|
202
|
+
|
203
|
+
connectedCallback() {
|
204
|
+
super.connectedCallback?.();
|
205
|
+
if (this.shadowRoot.isConnected) {
|
206
|
+
this.#createComponentNestingStyle();
|
207
|
+
|
208
|
+
Array.from(this.attributes).forEach(attr => {
|
209
|
+
if (styleAttributes.includes(attr.nodeName)) {
|
210
|
+
this.#updateAttrOverrideStyle(attr.nodeName, attr.value);
|
211
|
+
}
|
212
|
+
});
|
213
|
+
}
|
214
|
+
}
|
215
|
+
};
|
183
216
|
};
|
184
|
-
};
|
185
217
|
|
186
218
|
const draggableMixin = (superclass) =>
|
187
219
|
class DraggableMixinClass extends superclass {
|
@@ -215,17 +247,32 @@ const draggableMixin = (superclass) =>
|
|
215
247
|
}
|
216
248
|
};
|
217
249
|
|
218
|
-
|
250
|
+
class DescopeBaseClass extends HTMLElement {}
|
251
|
+
|
252
|
+
const observeAttributes = (
|
253
|
+
ele,
|
254
|
+
callback,
|
255
|
+
{ excludeAttrs = [], includeAttrs = [] }
|
256
|
+
) => {
|
219
257
|
// sync all attrs on init
|
220
|
-
callback(
|
258
|
+
callback(
|
259
|
+
...Array.from(ele.attributes)
|
260
|
+
.filter(
|
261
|
+
(attr) =>
|
262
|
+
!excludeAttrs.includes(attr.name) &&
|
263
|
+
(!includeAttrs.length || includeAttrs.includes(attr.name))
|
264
|
+
)
|
265
|
+
.map((attr) => attr.name)
|
266
|
+
);
|
221
267
|
|
222
268
|
const observer = new MutationObserver((mutationsList) => {
|
223
269
|
for (const mutation of mutationsList) {
|
224
270
|
if (
|
225
271
|
mutation.type === 'attributes' &&
|
226
|
-
!excludeAttrs.includes(mutation.attributeName)
|
272
|
+
!excludeAttrs.includes(mutation.attributeName) &&
|
273
|
+
(!includeAttrs.length || includeAttrs.includes(attr.name))
|
227
274
|
) {
|
228
|
-
callback(mutation.attributeName);
|
275
|
+
callback([mutation.attributeName]);
|
229
276
|
}
|
230
277
|
}
|
231
278
|
});
|
@@ -248,9 +295,13 @@ const createSyncAttrsCb =
|
|
248
295
|
});
|
249
296
|
};
|
250
297
|
|
251
|
-
const syncAttrs = (ele1, ele2,
|
252
|
-
observeAttributes(ele1, createSyncAttrsCb(ele1, ele2),
|
253
|
-
observeAttributes(ele2, createSyncAttrsCb(ele2, ele1),
|
298
|
+
const syncAttrs = (ele1, ele2, options) => {
|
299
|
+
observeAttributes(ele1, createSyncAttrsCb(ele1, ele2), options);
|
300
|
+
observeAttributes(ele2, createSyncAttrsCb(ele2, ele1), options);
|
301
|
+
};
|
302
|
+
|
303
|
+
const forwardAttrs = (source, dest, options) => {
|
304
|
+
observeAttributes(source, createSyncAttrsCb(source, dest), options);
|
254
305
|
};
|
255
306
|
|
256
307
|
const createProxy = ({
|
@@ -268,7 +319,7 @@ const createProxy = ({
|
|
268
319
|
</${wrappedEleName}>
|
269
320
|
`;
|
270
321
|
|
271
|
-
class ProxyElement extends
|
322
|
+
class ProxyElement extends DescopeBaseClass {
|
272
323
|
static get componentName() {
|
273
324
|
return componentName;
|
274
325
|
}
|
@@ -276,7 +327,6 @@ const createProxy = ({
|
|
276
327
|
constructor() {
|
277
328
|
super().attachShadow({ mode: 'open' }).innerHTML = template;
|
278
329
|
this.hostElement = this.shadowRoot.host;
|
279
|
-
this.componentName = this.hostElement.tagName.toLowerCase();
|
280
330
|
this.baseSelector = wrappedEleName;
|
281
331
|
this.shadowRoot.getElementById('create-proxy').innerHTML =
|
282
332
|
typeof style === 'function' ? style() : style;
|
@@ -288,9 +338,9 @@ const createProxy = ({
|
|
288
338
|
this.setAttribute('tabindex', '0');
|
289
339
|
|
290
340
|
// we want to focus on the proxy element when focusing our WC
|
291
|
-
this.
|
341
|
+
this.addEventListener('focus', () => {
|
292
342
|
this.proxyElement.focus();
|
293
|
-
};
|
343
|
+
});
|
294
344
|
|
295
345
|
// `onkeydown` is set on `proxyElement` support proper tab-index navigation
|
296
346
|
// this support is needed since both proxy host and element catch `focus`/`blur` event
|
@@ -316,9 +366,11 @@ const createProxy = ({
|
|
316
366
|
this.proxyElement.addEventListener('mouseover', this.mouseoverCbRef);
|
317
367
|
|
318
368
|
// sync events
|
319
|
-
this.addEventListener = this.proxyElement.addEventListener;
|
369
|
+
this.addEventListener = (...args) => this.proxyElement.addEventListener(...args);
|
320
370
|
|
321
|
-
syncAttrs(this.proxyElement, this.hostElement,
|
371
|
+
syncAttrs(this.proxyElement, this.hostElement, {
|
372
|
+
excludeAttrs: excludeAttrsSync
|
373
|
+
});
|
322
374
|
}
|
323
375
|
}
|
324
376
|
|
@@ -392,40 +444,40 @@ const inputMixin = (superclass) =>
|
|
392
444
|
}
|
393
445
|
|
394
446
|
connectedCallback() {
|
395
|
-
this.baseEle = this.shadowRoot.querySelector(this.baseSelector);
|
396
447
|
super.connectedCallback?.();
|
397
448
|
|
449
|
+
this.baseEle = this.shadowRoot.querySelector(this.baseSelector);
|
450
|
+
|
398
451
|
// this is needed in order to make sure the form input validation is working
|
399
452
|
if (!this.hasAttribute('tabindex')) {
|
400
453
|
this.setAttribute('tabindex', 0);
|
401
454
|
}
|
402
455
|
|
403
|
-
|
404
|
-
this.baseEle.querySelector('
|
405
|
-
|
406
|
-
if (!input) throw Error('no input was found');
|
456
|
+
this.inputElement ??= this.baseEle.shadowRoot.querySelector('slot[name="input"]')?.assignedElements()[0] ||
|
457
|
+
this.baseEle.shadowRoot.querySelector('slot[name="textarea"]')?.assignedElements()[0];
|
458
|
+
if (!this.inputElement) throw Error('no input was found');
|
407
459
|
|
408
460
|
// sync properties
|
409
|
-
propertyObserver(this,
|
410
|
-
this.setSelectionRange =
|
461
|
+
propertyObserver(this, this.inputElement, 'value');
|
462
|
+
this.setSelectionRange = this.inputElement.setSelectionRange?.bind(this.inputElement);
|
411
463
|
|
412
|
-
this.validity =
|
464
|
+
this.validity = this.inputElement.validity;
|
413
465
|
|
414
466
|
this.setValidity = () => {
|
415
|
-
this.#internals.setValidity(
|
467
|
+
this.#internals.setValidity(this.inputElement.validity, this.inputElement.validationMessage);
|
416
468
|
};
|
417
469
|
|
418
|
-
|
419
|
-
this.value =
|
470
|
+
this.inputElement.oninput = () => {
|
471
|
+
this.value = this.inputElement.value;
|
420
472
|
this.setValidity();
|
421
473
|
};
|
422
474
|
|
423
475
|
this.onfocus = () => {
|
424
|
-
setTimeout(() =>
|
476
|
+
setTimeout(() => this.inputElement.reportValidity(), 0);
|
425
477
|
this.validate();
|
426
478
|
};
|
427
479
|
|
428
|
-
|
480
|
+
this.inputElement.oninvalid = () => {
|
429
481
|
this.validate();
|
430
482
|
};
|
431
483
|
}
|
@@ -464,7 +516,7 @@ const compose =
|
|
464
516
|
(val) =>
|
465
517
|
fns.reduceRight((res, fn) => fn(res), val);
|
466
518
|
|
467
|
-
const componentName$
|
519
|
+
const componentName$f = getComponentName('button');
|
468
520
|
|
469
521
|
const editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;
|
470
522
|
const resetStyles = `
|
@@ -487,17 +539,16 @@ const iconStyles = `
|
|
487
539
|
}
|
488
540
|
`;
|
489
541
|
|
490
|
-
const selectors$
|
542
|
+
const selectors$3 = {
|
491
543
|
label: '::part(label)'
|
492
544
|
};
|
493
545
|
|
494
546
|
const Button = compose(
|
495
547
|
createStyleMixin({
|
496
|
-
// todo: do we want to change the mapping structure to this? ['aa', 'aaa', {'color': [{ selector: '::part(label)' }]}],
|
497
548
|
mappings: {
|
498
549
|
backgroundColor: {},
|
499
550
|
borderRadius: {},
|
500
|
-
color: { selector: selectors$
|
551
|
+
color: { selector: selectors$3.label },
|
501
552
|
borderColor: {},
|
502
553
|
borderStyle: {},
|
503
554
|
borderWidth: {},
|
@@ -505,8 +556,8 @@ const Button = compose(
|
|
505
556
|
height: {},
|
506
557
|
width: matchHostStyle(),
|
507
558
|
cursor: {},
|
508
|
-
padding: [{ selector: selectors$
|
509
|
-
textDecoration: { selector: selectors$
|
559
|
+
padding: [{ selector: selectors$3.label }],
|
560
|
+
textDecoration: { selector: selectors$3.label }
|
510
561
|
}
|
511
562
|
}),
|
512
563
|
draggableMixin,
|
@@ -518,7 +569,7 @@ const Button = compose(
|
|
518
569
|
style: () =>
|
519
570
|
`${resetStyles} ${editorOverrides} ${iconStyles} ${loadingIndicatorStyles}`,
|
520
571
|
excludeAttrsSync: ['tabindex'],
|
521
|
-
componentName: componentName$
|
572
|
+
componentName: componentName$f
|
522
573
|
})
|
523
574
|
);
|
524
575
|
|
@@ -551,9 +602,9 @@ const loadingIndicatorStyles = `
|
|
551
602
|
}
|
552
603
|
`;
|
553
604
|
|
554
|
-
customElements.define(componentName$
|
605
|
+
customElements.define(componentName$f, Button);
|
555
606
|
|
556
|
-
const selectors$
|
607
|
+
const selectors$2 = {
|
557
608
|
label: '::part(label)',
|
558
609
|
input: '::part(input-field)',
|
559
610
|
readOnlyInput: '[readonly]::part(input-field)::after',
|
@@ -561,36 +612,36 @@ const selectors$1 = {
|
|
561
612
|
};
|
562
613
|
|
563
614
|
var textFieldMappings = {
|
564
|
-
color: { selector: selectors$
|
565
|
-
backgroundColor: { selector: selectors$
|
566
|
-
color: { selector: selectors$
|
615
|
+
color: { selector: selectors$2.input },
|
616
|
+
backgroundColor: { selector: selectors$2.input },
|
617
|
+
color: { selector: selectors$2.input },
|
567
618
|
width: matchHostStyle({}),
|
568
619
|
borderColor: [
|
569
|
-
{ selector: selectors$
|
570
|
-
{ selector: selectors$
|
620
|
+
{ selector: selectors$2.input },
|
621
|
+
{ selector: selectors$2.readOnlyInput }
|
571
622
|
],
|
572
623
|
borderWidth: [
|
573
|
-
{ selector: selectors$
|
574
|
-
{ selector: selectors$
|
624
|
+
{ selector: selectors$2.input },
|
625
|
+
{ selector: selectors$2.readOnlyInput }
|
575
626
|
],
|
576
627
|
borderStyle: [
|
577
|
-
{ selector: selectors$
|
578
|
-
{ selector: selectors$
|
628
|
+
{ selector: selectors$2.input },
|
629
|
+
{ selector: selectors$2.readOnlyInput }
|
579
630
|
],
|
580
|
-
borderRadius: { selector: selectors$
|
581
|
-
boxShadow: { selector: selectors$
|
631
|
+
borderRadius: { selector: selectors$2.input },
|
632
|
+
boxShadow: { selector: selectors$2.input },
|
582
633
|
fontSize: {},
|
583
|
-
height: { selector: selectors$
|
584
|
-
padding: { selector: selectors$
|
585
|
-
outline: { selector: selectors$
|
586
|
-
outlineOffset: { selector: selectors$
|
634
|
+
height: { selector: selectors$2.input },
|
635
|
+
padding: { selector: selectors$2.input },
|
636
|
+
outline: { selector: selectors$2.input },
|
637
|
+
outlineOffset: { selector: selectors$2.input },
|
587
638
|
|
588
|
-
placeholderColor: { selector: selectors$
|
639
|
+
placeholderColor: { selector: selectors$2.placeholder, property: 'color' }
|
589
640
|
};
|
590
641
|
|
591
|
-
const componentName$
|
642
|
+
const componentName$e = getComponentName('text-field');
|
592
643
|
|
593
|
-
let overrides$
|
644
|
+
let overrides$6 = ``;
|
594
645
|
|
595
646
|
const TextField = compose(
|
596
647
|
createStyleMixin({
|
@@ -603,13 +654,13 @@ const TextField = compose(
|
|
603
654
|
createProxy({
|
604
655
|
slots: ['prefix', 'suffix'],
|
605
656
|
wrappedEleName: 'vaadin-text-field',
|
606
|
-
style: () => overrides$
|
657
|
+
style: () => overrides$6,
|
607
658
|
excludeAttrsSync: ['tabindex'],
|
608
|
-
componentName: componentName$
|
659
|
+
componentName: componentName$e
|
609
660
|
})
|
610
661
|
);
|
611
662
|
|
612
|
-
overrides$
|
663
|
+
overrides$6 = `
|
613
664
|
:host {
|
614
665
|
display: inline-block;
|
615
666
|
}
|
@@ -650,18 +701,18 @@ overrides$5 = `
|
|
650
701
|
}
|
651
702
|
`;
|
652
703
|
|
653
|
-
customElements.define(componentName$
|
704
|
+
customElements.define(componentName$e, TextField);
|
654
705
|
|
655
706
|
const template = document.createElement('template');
|
656
707
|
|
657
|
-
const componentName$
|
708
|
+
const componentName$d = getComponentName('combo');
|
658
709
|
|
659
710
|
template.innerHTML = `
|
660
711
|
<descope-button></descope-button>
|
661
712
|
<descope-text-field></descope-text-field>
|
662
713
|
`;
|
663
714
|
|
664
|
-
class Combo extends
|
715
|
+
class Combo extends DescopeBaseClass {
|
665
716
|
constructor() {
|
666
717
|
super();
|
667
718
|
|
@@ -671,11 +722,11 @@ class Combo extends HTMLElement {
|
|
671
722
|
}
|
672
723
|
}
|
673
724
|
|
674
|
-
customElements.define(componentName$
|
725
|
+
customElements.define(componentName$d, Combo);
|
675
726
|
|
676
|
-
const componentName$
|
727
|
+
const componentName$c = getComponentName('number-field');
|
677
728
|
|
678
|
-
let overrides$
|
729
|
+
let overrides$5 = ``;
|
679
730
|
|
680
731
|
const NumberField = compose(
|
681
732
|
createStyleMixin({
|
@@ -690,13 +741,13 @@ const NumberField = compose(
|
|
690
741
|
createProxy({
|
691
742
|
slots: ['prefix', 'suffix'],
|
692
743
|
wrappedEleName: 'vaadin-number-field',
|
693
|
-
style: () => overrides$
|
744
|
+
style: () => overrides$5,
|
694
745
|
excludeAttrsSync: ['tabindex'],
|
695
|
-
componentName: componentName$
|
746
|
+
componentName: componentName$c
|
696
747
|
})
|
697
748
|
);
|
698
749
|
|
699
|
-
overrides$
|
750
|
+
overrides$5 = `
|
700
751
|
:host {
|
701
752
|
display: inline-block;
|
702
753
|
}
|
@@ -736,11 +787,11 @@ overrides$4 = `
|
|
736
787
|
}
|
737
788
|
`;
|
738
789
|
|
739
|
-
customElements.define(componentName$
|
790
|
+
customElements.define(componentName$c, NumberField);
|
740
791
|
|
741
|
-
const componentName$
|
792
|
+
const componentName$b = getComponentName('email-field');
|
742
793
|
|
743
|
-
let overrides$
|
794
|
+
let overrides$4 = ``;
|
744
795
|
|
745
796
|
const EmailField = compose(
|
746
797
|
createStyleMixin({
|
@@ -755,13 +806,13 @@ const EmailField = compose(
|
|
755
806
|
createProxy({
|
756
807
|
slots: ['suffix'],
|
757
808
|
wrappedEleName: 'vaadin-email-field',
|
758
|
-
style: () => overrides$
|
809
|
+
style: () => overrides$4,
|
759
810
|
excludeAttrsSync: ['tabindex'],
|
760
|
-
componentName: componentName$
|
811
|
+
componentName: componentName$b
|
761
812
|
})
|
762
813
|
);
|
763
814
|
|
764
|
-
overrides$
|
815
|
+
overrides$4 = `
|
765
816
|
:host {
|
766
817
|
display: inline-block;
|
767
818
|
}
|
@@ -801,17 +852,16 @@ overrides$3 = `
|
|
801
852
|
}
|
802
853
|
`;
|
803
854
|
|
804
|
-
customElements.define(componentName$
|
855
|
+
customElements.define(componentName$b, EmailField);
|
805
856
|
|
806
|
-
const componentName$
|
857
|
+
const componentName$a = getComponentName('password-field');
|
807
858
|
|
808
|
-
let overrides$
|
859
|
+
let overrides$3 = ``;
|
809
860
|
|
810
861
|
const PasswordField = compose(
|
811
862
|
createStyleMixin({
|
812
863
|
mappings: {
|
813
864
|
...textFieldMappings,
|
814
|
-
// todo: override cursor from lumo
|
815
865
|
revealCursor: [
|
816
866
|
{
|
817
867
|
selector: '::part(reveal-button)::before',
|
@@ -827,13 +877,13 @@ const PasswordField = compose(
|
|
827
877
|
createProxy({
|
828
878
|
slots: ['suffix'],
|
829
879
|
wrappedEleName: 'vaadin-password-field',
|
830
|
-
style: () => overrides$
|
880
|
+
style: () => overrides$3,
|
831
881
|
excludeAttrsSync: ['tabindex'],
|
832
|
-
componentName: componentName$
|
882
|
+
componentName: componentName$a
|
833
883
|
})
|
834
884
|
);
|
835
885
|
|
836
|
-
overrides$
|
886
|
+
overrides$3 = `
|
837
887
|
:host {
|
838
888
|
display: inline-block;
|
839
889
|
}
|
@@ -873,32 +923,32 @@ overrides$2 = `
|
|
873
923
|
}
|
874
924
|
`;
|
875
925
|
|
876
|
-
customElements.define(componentName$
|
926
|
+
customElements.define(componentName$a, PasswordField);
|
877
927
|
|
878
|
-
const componentName$
|
928
|
+
const componentName$9 = getComponentName('text-area');
|
879
929
|
|
880
|
-
const selectors = {
|
930
|
+
const selectors$1 = {
|
881
931
|
label: '::part(label)',
|
882
932
|
input: '::part(input-field)',
|
883
933
|
required: '::part(required-indicator)::after'
|
884
934
|
};
|
885
935
|
|
886
|
-
let overrides$
|
936
|
+
let overrides$2 = ``;
|
887
937
|
|
888
938
|
const TextArea = compose(
|
889
939
|
createStyleMixin({
|
890
940
|
mappings: {
|
891
941
|
resize: { selector: '> textarea' },
|
892
|
-
color: { selector: selectors.label },
|
942
|
+
color: { selector: selectors$1.label },
|
893
943
|
cursor: {},
|
894
944
|
width: matchHostStyle(),
|
895
|
-
backgroundColor: { selector: selectors.input },
|
896
|
-
borderWidth: { selector: selectors.input },
|
897
|
-
borderStyle: { selector: selectors.input },
|
898
|
-
borderColor: { selector: selectors.input },
|
899
|
-
borderRadius: { selector: selectors.input },
|
900
|
-
outline: { selector: selectors.input },
|
901
|
-
outlineOffset: { selector: selectors.input }
|
945
|
+
backgroundColor: { selector: selectors$1.input },
|
946
|
+
borderWidth: { selector: selectors$1.input },
|
947
|
+
borderStyle: { selector: selectors$1.input },
|
948
|
+
borderColor: { selector: selectors$1.input },
|
949
|
+
borderRadius: { selector: selectors$1.input },
|
950
|
+
outline: { selector: selectors$1.input },
|
951
|
+
outlineOffset: { selector: selectors$1.input }
|
902
952
|
}
|
903
953
|
}),
|
904
954
|
draggableMixin,
|
@@ -908,13 +958,13 @@ const TextArea = compose(
|
|
908
958
|
createProxy({
|
909
959
|
slots: [],
|
910
960
|
wrappedEleName: 'vaadin-text-area',
|
911
|
-
style: () => overrides$
|
961
|
+
style: () => overrides$2,
|
912
962
|
excludeAttrsSync: ['tabindex'],
|
913
|
-
componentName: componentName$
|
963
|
+
componentName: componentName$9
|
914
964
|
})
|
915
965
|
);
|
916
966
|
|
917
|
-
overrides$
|
967
|
+
overrides$2 = `
|
918
968
|
:host {
|
919
969
|
display: inline-block;
|
920
970
|
}
|
@@ -935,34 +985,41 @@ overrides$1 = `
|
|
935
985
|
}
|
936
986
|
`;
|
937
987
|
|
938
|
-
customElements.define(componentName$
|
988
|
+
customElements.define(componentName$9, TextArea);
|
939
989
|
|
940
|
-
const componentName$
|
990
|
+
const componentName$8 = getComponentName('date-picker');
|
941
991
|
|
942
992
|
const DatePicker = compose(
|
943
993
|
draggableMixin,
|
944
994
|
componentNameValidationMixin
|
945
995
|
)(
|
946
996
|
createProxy({
|
947
|
-
componentName: componentName$
|
997
|
+
componentName: componentName$8,
|
948
998
|
slots: ['prefix', 'suffix'],
|
949
999
|
wrappedEleName: 'vaadin-date-picker',
|
950
1000
|
style: ``
|
951
1001
|
})
|
952
1002
|
);
|
953
1003
|
|
954
|
-
customElements.define(componentName$
|
1004
|
+
customElements.define(componentName$8, DatePicker);
|
955
1005
|
|
956
|
-
const componentName$
|
1006
|
+
const componentName$7 = getComponentName('container');
|
957
1007
|
|
958
|
-
class RawContainer extends
|
1008
|
+
class RawContainer extends DescopeBaseClass {
|
959
1009
|
static get componentName() {
|
960
|
-
return componentName$
|
1010
|
+
return componentName$7;
|
961
1011
|
}
|
962
1012
|
constructor() {
|
963
1013
|
super();
|
964
1014
|
const template = document.createElement('template');
|
965
|
-
template.innerHTML =
|
1015
|
+
template.innerHTML = `
|
1016
|
+
<style>
|
1017
|
+
:host > slot {
|
1018
|
+
box-sizing: border-box;
|
1019
|
+
}
|
1020
|
+
</style>
|
1021
|
+
<slot></slot>
|
1022
|
+
`;
|
966
1023
|
|
967
1024
|
this.attachShadow({ mode: 'open' });
|
968
1025
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
@@ -973,10 +1030,9 @@ class RawContainer extends HTMLElement {
|
|
973
1030
|
|
974
1031
|
const Container = compose(
|
975
1032
|
createStyleMixin({
|
976
|
-
// todo: do we want to change the mapping structure to this? ['aa', 'aaa', {'color': [{ selector: '::part(label)' }]}],
|
977
1033
|
mappings: {
|
978
|
-
height:
|
979
|
-
width:
|
1034
|
+
height: matchHostStyle(),
|
1035
|
+
width: matchHostStyle(),
|
980
1036
|
|
981
1037
|
verticalPadding: [
|
982
1038
|
{ property: 'padding-top' },
|
@@ -987,7 +1043,7 @@ const Container = compose(
|
|
987
1043
|
{ property: 'padding-right' }
|
988
1044
|
],
|
989
1045
|
|
990
|
-
display: {},
|
1046
|
+
display: {}, // maybe this should be hardcoded to flex
|
991
1047
|
flexDirection: {},
|
992
1048
|
justifyContent: {},
|
993
1049
|
alignItems: {},
|
@@ -1007,13 +1063,13 @@ const Container = compose(
|
|
1007
1063
|
componentNameValidationMixin
|
1008
1064
|
)(RawContainer);
|
1009
1065
|
|
1010
|
-
customElements.define(componentName$
|
1066
|
+
customElements.define(componentName$7, Container);
|
1011
1067
|
|
1012
|
-
const componentName$
|
1068
|
+
const componentName$6 = getComponentName('text');
|
1013
1069
|
|
1014
|
-
class RawText extends
|
1070
|
+
class RawText extends DescopeBaseClass {
|
1015
1071
|
static get componentName() {
|
1016
|
-
return componentName$
|
1072
|
+
return componentName$6;
|
1017
1073
|
}
|
1018
1074
|
constructor() {
|
1019
1075
|
super();
|
@@ -1037,6 +1093,12 @@ const Text = compose(
|
|
1037
1093
|
fontWeight: {},
|
1038
1094
|
width: {},
|
1039
1095
|
color: {},
|
1096
|
+
letterSpacing: {},
|
1097
|
+
textShadow: {},
|
1098
|
+
borderWidth: {},
|
1099
|
+
borderStyle: {},
|
1100
|
+
borderColor: {},
|
1101
|
+
textTransform: {},
|
1040
1102
|
textAlign: matchHostStyle(),
|
1041
1103
|
display: matchHostStyle()
|
1042
1104
|
}
|
@@ -1045,7 +1107,254 @@ const Text = compose(
|
|
1045
1107
|
componentNameValidationMixin
|
1046
1108
|
)(RawText);
|
1047
1109
|
|
1048
|
-
customElements.define(componentName$
|
1110
|
+
customElements.define(componentName$6, Text);
|
1111
|
+
|
1112
|
+
const getChildObserver = (callback) => {
|
1113
|
+
return new MutationObserver((mutationsList) => {
|
1114
|
+
for (const mutation of mutationsList) {
|
1115
|
+
if (mutation.type === 'childList') {
|
1116
|
+
callback(mutation);
|
1117
|
+
}
|
1118
|
+
}
|
1119
|
+
});
|
1120
|
+
};
|
1121
|
+
|
1122
|
+
const insertNestingLevel = (srcEle, nestingEle) => {
|
1123
|
+
nestingEle.append(...srcEle.childNodes);
|
1124
|
+
srcEle.appendChild(nestingEle);
|
1125
|
+
};
|
1126
|
+
|
1127
|
+
// adds a nesting element to the component, and move all existing children
|
1128
|
+
// to be under the nesting element
|
1129
|
+
const enforceNestingElementsStylesMixin =
|
1130
|
+
({ nestingElementTagName, nestingElementDestSlotName, forwardAttrOptions }) =>
|
1131
|
+
(superclass) => {
|
1132
|
+
const getChildNodeEle = () =>
|
1133
|
+
Object.assign(document.createElement(nestingElementTagName), {
|
1134
|
+
slot: nestingElementDestSlotName
|
1135
|
+
});
|
1136
|
+
|
1137
|
+
let childObserver;
|
1138
|
+
|
1139
|
+
const getObserver = () => childObserver;
|
1140
|
+
|
1141
|
+
return class EnforceNestingElementsStylesMixinClass extends superclass {
|
1142
|
+
constructor() {
|
1143
|
+
super();
|
1144
|
+
|
1145
|
+
const childObserverCallback = () => {
|
1146
|
+
// we are going to change the DOM, so we need to disconnect the observer before
|
1147
|
+
// and reconnect it after the child component is added
|
1148
|
+
getObserver().disconnect(this.shadowRoot.host);
|
1149
|
+
|
1150
|
+
const isNestingElementExist = this.shadowRoot.host.querySelector(nestingElementTagName);
|
1151
|
+
const hasNewChildren = this.shadowRoot.host.childNodes.length > 0;
|
1152
|
+
|
1153
|
+
if (!isNestingElementExist && hasNewChildren) {
|
1154
|
+
// if before there were no children and now there are children - insert
|
1155
|
+
insertNestingLevel(this.shadowRoot.host, getChildNodeEle());
|
1156
|
+
} else if (isNestingElementExist && hasNewChildren) {
|
1157
|
+
// if children existed, and they changed -
|
1158
|
+
// we need to update (move) the new children into
|
1159
|
+
// descope-text and remove previous children
|
1160
|
+
this.shadowRoot.host.querySelector(child).remove();
|
1161
|
+
insertNestingLevel(this.shadowRoot.host, getChildNodeEle());
|
1162
|
+
}
|
1163
|
+
else if (isNestingElementExist && !hasNewChildren) {
|
1164
|
+
// if children existed and now there are none -
|
1165
|
+
// we need to remove descope-text completely
|
1166
|
+
this.shadowRoot.host.querySelector(child).remove();
|
1167
|
+
}
|
1168
|
+
|
1169
|
+
// we need a new observer, because we remove the nesting element
|
1170
|
+
this.shadowRoot.host.querySelector(nestingElementTagName) &&
|
1171
|
+
forwardAttrs(
|
1172
|
+
this.shadowRoot.host,
|
1173
|
+
this.shadowRoot.host.querySelector(nestingElementTagName),
|
1174
|
+
forwardAttrOptions
|
1175
|
+
);
|
1176
|
+
|
1177
|
+
getObserver().observe(this.shadowRoot.host, {
|
1178
|
+
childList: true
|
1179
|
+
});
|
1180
|
+
};
|
1181
|
+
|
1182
|
+
childObserver = getChildObserver(childObserverCallback);
|
1183
|
+
}
|
1184
|
+
|
1185
|
+
connectedCallback() {
|
1186
|
+
super.connectedCallback?.();
|
1187
|
+
|
1188
|
+
if (this.shadowRoot.host.childNodes.length > 0) {
|
1189
|
+
// on the first render - we want to move all component's children to be under descope-text
|
1190
|
+
insertNestingLevel(this.shadowRoot.host, getChildNodeEle());
|
1191
|
+
|
1192
|
+
forwardAttrs(
|
1193
|
+
this.shadowRoot.host,
|
1194
|
+
this.shadowRoot.host.querySelector(nestingElementTagName),
|
1195
|
+
forwardAttrOptions
|
1196
|
+
);
|
1197
|
+
}
|
1198
|
+
|
1199
|
+
getObserver().observe(this.shadowRoot.host, {
|
1200
|
+
childList: true
|
1201
|
+
});
|
1202
|
+
}
|
1203
|
+
};
|
1204
|
+
};
|
1205
|
+
|
1206
|
+
const componentName$5 = getComponentName('divider');
|
1207
|
+
class RawDivider extends DescopeBaseClass {
|
1208
|
+
static get componentName() {
|
1209
|
+
return componentName$5;
|
1210
|
+
}
|
1211
|
+
constructor() {
|
1212
|
+
super();
|
1213
|
+
const template = document.createElement('template');
|
1214
|
+
template.innerHTML = `
|
1215
|
+
<style>
|
1216
|
+
:host > div {
|
1217
|
+
display: flex;
|
1218
|
+
height: 100%;
|
1219
|
+
}
|
1220
|
+
:host > div::before,
|
1221
|
+
:host > div::after {
|
1222
|
+
content: '';
|
1223
|
+
flex-grow: 1;
|
1224
|
+
width: 100%;
|
1225
|
+
}
|
1226
|
+
::slotted(*) {
|
1227
|
+
flex-grow: 0;
|
1228
|
+
flex-shrink: 0;
|
1229
|
+
}
|
1230
|
+
</style>
|
1231
|
+
<div>
|
1232
|
+
<slot></slot>
|
1233
|
+
<slot name="text"></slot>
|
1234
|
+
</div>
|
1235
|
+
`;
|
1236
|
+
this.attachShadow({ mode: 'open' });
|
1237
|
+
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
1238
|
+
|
1239
|
+
this.baseSelector = ':host > div';
|
1240
|
+
}
|
1241
|
+
}
|
1242
|
+
|
1243
|
+
const selectors = {
|
1244
|
+
root: { selector: '' },
|
1245
|
+
before: { selector: '::before' },
|
1246
|
+
after: { selector: '::after' },
|
1247
|
+
slotted: { selector: () => '::slotted(*)' }
|
1248
|
+
};
|
1249
|
+
|
1250
|
+
const { root, before, after, slotted } = selectors;
|
1251
|
+
|
1252
|
+
const Divider = compose(
|
1253
|
+
enforceNestingElementsStylesMixin({
|
1254
|
+
nestingElementTagName: 'descope-text',
|
1255
|
+
nestingElementDestSlotName: 'text',
|
1256
|
+
forwardAttrOptions: {
|
1257
|
+
includeAttrs: ['mode', 'variant'],
|
1258
|
+
excludeAttrs: []
|
1259
|
+
}
|
1260
|
+
}),
|
1261
|
+
createStyleMixin({
|
1262
|
+
mappings: {
|
1263
|
+
minHeight: root,
|
1264
|
+
alignItems: root,
|
1265
|
+
alignSelf: root,
|
1266
|
+
flexDirection: root,
|
1267
|
+
padding: slotted,
|
1268
|
+
width: matchHostStyle(),
|
1269
|
+
height: [before, after],
|
1270
|
+
backgroundColor: [before, after],
|
1271
|
+
opacity: [before, after],
|
1272
|
+
textWidth: { ...slotted, property: 'width' }
|
1273
|
+
}
|
1274
|
+
}),
|
1275
|
+
draggableMixin,
|
1276
|
+
componentNameValidationMixin
|
1277
|
+
)(RawDivider);
|
1278
|
+
|
1279
|
+
customElements.define(componentName$5, Divider);
|
1280
|
+
|
1281
|
+
const componentName$4 = getComponentName('logo');
|
1282
|
+
|
1283
|
+
let style;
|
1284
|
+
const getStyle = () => style;
|
1285
|
+
|
1286
|
+
class RawLogo extends DescopeBaseClass {
|
1287
|
+
static get componentName() {
|
1288
|
+
return componentName$4;
|
1289
|
+
}
|
1290
|
+
constructor() {
|
1291
|
+
super();
|
1292
|
+
const template = document.createElement('template');
|
1293
|
+
template.innerHTML = `
|
1294
|
+
<style>
|
1295
|
+
${getStyle()}
|
1296
|
+
</style>
|
1297
|
+
<div></div>`;
|
1298
|
+
|
1299
|
+
this.attachShadow({ mode: 'open' });
|
1300
|
+
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
1301
|
+
|
1302
|
+
this.baseSelector = ':host > div';
|
1303
|
+
}
|
1304
|
+
}
|
1305
|
+
|
1306
|
+
const Logo = compose(
|
1307
|
+
createStyleMixin({
|
1308
|
+
mappings: {
|
1309
|
+
height: {},
|
1310
|
+
width: {},
|
1311
|
+
url: {},
|
1312
|
+
fallbackUrl: {}
|
1313
|
+
}
|
1314
|
+
}),
|
1315
|
+
draggableMixin,
|
1316
|
+
componentNameValidationMixin
|
1317
|
+
)(RawLogo);
|
1318
|
+
|
1319
|
+
style = `
|
1320
|
+
:host {
|
1321
|
+
display: inline-block;
|
1322
|
+
}
|
1323
|
+
:host > div {
|
1324
|
+
display: inline-block;
|
1325
|
+
content: var(${Logo.cssVarList.url}, var(${Logo.cssVarList.fallbackUrl}));
|
1326
|
+
}
|
1327
|
+
`;
|
1328
|
+
|
1329
|
+
customElements.define(componentName$4, Logo);
|
1330
|
+
|
1331
|
+
const componentName$3 = getComponentName('checkbox');
|
1332
|
+
|
1333
|
+
const Checkbox = compose(
|
1334
|
+
createStyleMixin({
|
1335
|
+
mappings: {
|
1336
|
+
width: matchHostStyle(),
|
1337
|
+
cursor: [{}, { selector: '> label' }]
|
1338
|
+
}
|
1339
|
+
}),
|
1340
|
+
draggableMixin,
|
1341
|
+
inputMixin,
|
1342
|
+
componentNameValidationMixin
|
1343
|
+
)(
|
1344
|
+
createProxy({
|
1345
|
+
slots: [],
|
1346
|
+
wrappedEleName: 'vaadin-checkbox',
|
1347
|
+
style: `
|
1348
|
+
:host {
|
1349
|
+
display: inline-block;
|
1350
|
+
}
|
1351
|
+
`,
|
1352
|
+
excludeAttrsSync: ['tabindex'],
|
1353
|
+
componentName: componentName$3
|
1354
|
+
})
|
1355
|
+
);
|
1356
|
+
|
1357
|
+
customElements.define(componentName$3, Checkbox);
|
1049
1358
|
|
1050
1359
|
const getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path);
|
1051
1360
|
|
@@ -1286,7 +1595,7 @@ var globals = {
|
|
1286
1595
|
};
|
1287
1596
|
|
1288
1597
|
const globalRefs$4 = getThemeRefs(globals);
|
1289
|
-
const vars$
|
1598
|
+
const vars$9 = Button.cssVarList;
|
1290
1599
|
|
1291
1600
|
const mode = {
|
1292
1601
|
primary: globalRefs$4.colors.primary,
|
@@ -1296,83 +1605,83 @@ const mode = {
|
|
1296
1605
|
surface: globalRefs$4.colors.surface
|
1297
1606
|
};
|
1298
1607
|
|
1299
|
-
const [helperTheme$1, helperRefs$1] = createHelperVars({ mode }, componentName$
|
1608
|
+
const [helperTheme$1, helperRefs$1] = createHelperVars({ mode }, componentName$f);
|
1300
1609
|
|
1301
1610
|
const button = {
|
1302
1611
|
...helperTheme$1,
|
1303
1612
|
|
1304
1613
|
size: {
|
1305
1614
|
xs: {
|
1306
|
-
[vars$
|
1307
|
-
[vars$
|
1308
|
-
[vars$
|
1615
|
+
[vars$9.height]: '10px',
|
1616
|
+
[vars$9.fontSize]: '10px',
|
1617
|
+
[vars$9.padding]: `0 ${globalRefs$4.spacing.xs}`
|
1309
1618
|
},
|
1310
1619
|
sm: {
|
1311
|
-
[vars$
|
1312
|
-
[vars$
|
1313
|
-
[vars$
|
1620
|
+
[vars$9.height]: '20px',
|
1621
|
+
[vars$9.fontSize]: '10px',
|
1622
|
+
[vars$9.padding]: `0 ${globalRefs$4.spacing.sm}`
|
1314
1623
|
},
|
1315
1624
|
md: {
|
1316
|
-
[vars$
|
1317
|
-
[vars$
|
1318
|
-
[vars$
|
1625
|
+
[vars$9.height]: '30px',
|
1626
|
+
[vars$9.fontSize]: '14px',
|
1627
|
+
[vars$9.padding]: `0 ${globalRefs$4.spacing.md}`
|
1319
1628
|
},
|
1320
1629
|
lg: {
|
1321
|
-
[vars$
|
1322
|
-
[vars$
|
1323
|
-
[vars$
|
1630
|
+
[vars$9.height]: '40px',
|
1631
|
+
[vars$9.fontSize]: '20px',
|
1632
|
+
[vars$9.padding]: `0 ${globalRefs$4.spacing.lg}`
|
1324
1633
|
},
|
1325
1634
|
xl: {
|
1326
|
-
[vars$
|
1327
|
-
[vars$
|
1328
|
-
[vars$
|
1635
|
+
[vars$9.height]: '50px',
|
1636
|
+
[vars$9.fontSize]: '25px',
|
1637
|
+
[vars$9.padding]: `0 ${globalRefs$4.spacing.xl}`
|
1329
1638
|
}
|
1330
1639
|
},
|
1331
1640
|
|
1332
|
-
[vars$
|
1333
|
-
[vars$
|
1334
|
-
[vars$
|
1335
|
-
[vars$
|
1336
|
-
[vars$
|
1641
|
+
[vars$9.borderRadius]: globalRefs$4.radius.lg,
|
1642
|
+
[vars$9.cursor]: 'pointer',
|
1643
|
+
[vars$9.borderWidth]: '2px',
|
1644
|
+
[vars$9.borderStyle]: 'solid',
|
1645
|
+
[vars$9.borderColor]: 'transparent',
|
1337
1646
|
|
1338
1647
|
_fullWidth: {
|
1339
|
-
[vars$
|
1648
|
+
[vars$9.width]: '100%'
|
1340
1649
|
},
|
1341
1650
|
_loading: {
|
1342
|
-
[vars$
|
1651
|
+
[vars$9.cursor]: 'wait'
|
1343
1652
|
},
|
1344
1653
|
|
1345
1654
|
variant: {
|
1346
1655
|
contained: {
|
1347
|
-
[vars$
|
1348
|
-
[vars$
|
1656
|
+
[vars$9.color]: helperRefs$1.contrast,
|
1657
|
+
[vars$9.backgroundColor]: helperRefs$1.main,
|
1349
1658
|
_hover: {
|
1350
|
-
[vars$
|
1659
|
+
[vars$9.backgroundColor]: helperRefs$1.dark
|
1351
1660
|
},
|
1352
1661
|
_loading: {
|
1353
|
-
[vars$
|
1662
|
+
[vars$9.backgroundColor]: helperRefs$1.main
|
1354
1663
|
}
|
1355
1664
|
},
|
1356
1665
|
outline: {
|
1357
|
-
[vars$
|
1358
|
-
[vars$
|
1666
|
+
[vars$9.color]: helperRefs$1.main,
|
1667
|
+
[vars$9.borderColor]: helperRefs$1.main,
|
1359
1668
|
_hover: {
|
1360
|
-
[vars$
|
1361
|
-
[vars$
|
1669
|
+
[vars$9.color]: helperRefs$1.dark,
|
1670
|
+
[vars$9.borderColor]: helperRefs$1.dark,
|
1362
1671
|
_error: {
|
1363
|
-
[vars$
|
1672
|
+
[vars$9.color]: helperRefs$1.error
|
1364
1673
|
}
|
1365
1674
|
}
|
1366
1675
|
},
|
1367
1676
|
link: {
|
1368
|
-
[vars$
|
1369
|
-
[vars$
|
1370
|
-
[vars$
|
1371
|
-
[vars$
|
1372
|
-
[vars$
|
1677
|
+
[vars$9.color]: helperRefs$1.main,
|
1678
|
+
[vars$9.padding]: 0,
|
1679
|
+
[vars$9.margin]: 0,
|
1680
|
+
[vars$9.lineHeight]: helperRefs$1.height,
|
1681
|
+
[vars$9.borderRadius]: 0,
|
1373
1682
|
_hover: {
|
1374
|
-
[vars$
|
1375
|
-
[vars$
|
1683
|
+
[vars$9.color]: helperRefs$1.main,
|
1684
|
+
[vars$9.textDecoration]: 'underline'
|
1376
1685
|
}
|
1377
1686
|
}
|
1378
1687
|
}
|
@@ -1380,7 +1689,7 @@ const button = {
|
|
1380
1689
|
|
1381
1690
|
const globalRefs$3 = getThemeRefs(globals);
|
1382
1691
|
|
1383
|
-
const vars$
|
1692
|
+
const vars$8 = TextField.cssVarList;
|
1384
1693
|
|
1385
1694
|
const textField = (vars) => ({
|
1386
1695
|
size: {
|
@@ -1450,13 +1759,13 @@ const textField = (vars) => ({
|
|
1450
1759
|
}
|
1451
1760
|
});
|
1452
1761
|
|
1453
|
-
var textField$1 = textField(vars$
|
1762
|
+
var textField$1 = textField(vars$8);
|
1454
1763
|
|
1455
|
-
const vars$
|
1764
|
+
const vars$7 = PasswordField.cssVarList;
|
1456
1765
|
|
1457
1766
|
const passwordField = {
|
1458
|
-
...textField(vars$
|
1459
|
-
[vars$
|
1767
|
+
...textField(vars$7),
|
1768
|
+
[vars$7.revealCursor]: 'pointer'
|
1460
1769
|
};
|
1461
1770
|
|
1462
1771
|
const numberField = {
|
@@ -1468,78 +1777,52 @@ const emailField = {
|
|
1468
1777
|
};
|
1469
1778
|
|
1470
1779
|
const globalRefs$2 = getThemeRefs(globals);
|
1471
|
-
const vars$
|
1780
|
+
const vars$6 = TextArea.cssVarList;
|
1472
1781
|
|
1473
1782
|
const textArea = {
|
1474
|
-
[vars$
|
1475
|
-
[vars$
|
1476
|
-
[vars$
|
1783
|
+
[vars$6.color]: globalRefs$2.colors.primary.main,
|
1784
|
+
[vars$6.backgroundColor]: globalRefs$2.colors.surface.light,
|
1785
|
+
[vars$6.resize]: 'vertical',
|
1477
1786
|
|
1478
|
-
[vars$
|
1479
|
-
[vars$
|
1480
|
-
[vars$
|
1481
|
-
[vars$
|
1787
|
+
[vars$6.borderRadius]: globalRefs$2.radius.sm,
|
1788
|
+
[vars$6.borderWidth]: '1px',
|
1789
|
+
[vars$6.borderStyle]: 'solid',
|
1790
|
+
[vars$6.borderColor]: 'transparent',
|
1482
1791
|
|
1483
1792
|
_borderOffset: {
|
1484
|
-
[vars$
|
1793
|
+
[vars$6.outlineOffset]: '2px'
|
1485
1794
|
},
|
1486
1795
|
|
1487
1796
|
_bordered: {
|
1488
|
-
[vars$
|
1797
|
+
[vars$6.borderColor]: globalRefs$2.colors.surface.main
|
1489
1798
|
},
|
1490
1799
|
|
1491
1800
|
_focused: {
|
1492
|
-
[vars$
|
1801
|
+
[vars$6.outline]: `2px solid ${globalRefs$2.colors.surface.main}`
|
1493
1802
|
},
|
1494
1803
|
|
1495
1804
|
_fullWidth: {
|
1496
|
-
[vars$
|
1805
|
+
[vars$6.width]: '100%'
|
1497
1806
|
},
|
1498
1807
|
|
1499
1808
|
_disabled: {
|
1500
|
-
[vars$
|
1809
|
+
[vars$6.cursor]: 'not-allowed'
|
1501
1810
|
},
|
1502
1811
|
|
1503
1812
|
_invalid: {
|
1504
|
-
[vars$
|
1813
|
+
[vars$6.outline]: `2px solid ${globalRefs$2.colors.error.main}`
|
1505
1814
|
}
|
1506
1815
|
};
|
1507
1816
|
|
1508
|
-
const
|
1509
|
-
|
1510
|
-
const Checkbox = compose(
|
1511
|
-
createStyleMixin({
|
1512
|
-
mappings: {
|
1513
|
-
width: matchHostStyle(),
|
1514
|
-
cursor: [{}, { selector: '> label' }]
|
1515
|
-
}
|
1516
|
-
}),
|
1517
|
-
draggableMixin,
|
1518
|
-
inputMixin,
|
1519
|
-
componentNameValidationMixin
|
1520
|
-
)(
|
1521
|
-
createProxy({
|
1522
|
-
slots: [],
|
1523
|
-
wrappedEleName: 'vaadin-checkbox',
|
1524
|
-
style: `
|
1525
|
-
:host {
|
1526
|
-
display: inline-block;
|
1527
|
-
}
|
1528
|
-
`,
|
1529
|
-
excludeAttrsSync: ['tabindex'],
|
1530
|
-
componentName: componentName$2
|
1531
|
-
})
|
1532
|
-
);
|
1533
|
-
|
1534
|
-
const vars$4 = Checkbox.cssVarList;
|
1817
|
+
const vars$5 = Checkbox.cssVarList;
|
1535
1818
|
|
1536
1819
|
const checkbox = {
|
1537
|
-
[vars$
|
1820
|
+
[vars$5.cursor]: 'pointer'
|
1538
1821
|
};
|
1539
1822
|
|
1540
|
-
const componentName$
|
1823
|
+
const componentName$2 = getComponentName('switch-toggle');
|
1541
1824
|
|
1542
|
-
let overrides = ``;
|
1825
|
+
let overrides$1 = ``;
|
1543
1826
|
|
1544
1827
|
const SwitchToggle = compose(
|
1545
1828
|
createStyleMixin({
|
@@ -1555,13 +1838,13 @@ const SwitchToggle = compose(
|
|
1555
1838
|
createProxy({
|
1556
1839
|
slots: [],
|
1557
1840
|
wrappedEleName: 'vaadin-checkbox',
|
1558
|
-
style: () => overrides,
|
1841
|
+
style: () => overrides$1,
|
1559
1842
|
excludeAttrsSync: ['tabindex'],
|
1560
|
-
componentName: componentName$
|
1843
|
+
componentName: componentName$2
|
1561
1844
|
})
|
1562
1845
|
);
|
1563
1846
|
|
1564
|
-
overrides = `
|
1847
|
+
overrides$1 = `
|
1565
1848
|
:host {
|
1566
1849
|
display: inline-block;
|
1567
1850
|
}
|
@@ -1611,16 +1894,16 @@ overrides = `
|
|
1611
1894
|
}
|
1612
1895
|
`;
|
1613
1896
|
|
1614
|
-
const vars$
|
1897
|
+
const vars$4 = SwitchToggle.cssVarList;
|
1615
1898
|
|
1616
1899
|
const swtichToggle = {
|
1617
|
-
[vars$
|
1618
|
-
[vars$
|
1900
|
+
[vars$4.width]: '70px',
|
1901
|
+
[vars$4.cursor]: [{}, { selector: '> label' }]
|
1619
1902
|
};
|
1620
1903
|
|
1621
1904
|
const globalRefs$1 = getThemeRefs(globals);
|
1622
1905
|
|
1623
|
-
const vars$
|
1906
|
+
const vars$3 = Container.cssVarList;
|
1624
1907
|
|
1625
1908
|
const verticalAlignment = {
|
1626
1909
|
start: { verticalAlignment: 'start' },
|
@@ -1643,31 +1926,31 @@ const [helperTheme, helperRefs, helperVars] =
|
|
1643
1926
|
|
1644
1927
|
const container = {
|
1645
1928
|
...helperTheme,
|
1646
|
-
[vars$
|
1929
|
+
[vars$3.display]: 'flex',
|
1647
1930
|
verticalPadding: {
|
1648
|
-
sm: { [vars$
|
1649
|
-
md: { [vars$
|
1650
|
-
lg: { [vars$
|
1931
|
+
sm: { [vars$3.verticalPadding]: '5px' },
|
1932
|
+
md: { [vars$3.verticalPadding]: '10px' },
|
1933
|
+
lg: { [vars$3.verticalPadding]: '20px' },
|
1651
1934
|
},
|
1652
1935
|
horizontalPadding: {
|
1653
|
-
sm: { [vars$
|
1654
|
-
md: { [vars$
|
1655
|
-
lg: { [vars$
|
1936
|
+
sm: { [vars$3.horizontalPadding]: '5px' },
|
1937
|
+
md: { [vars$3.horizontalPadding]: '10px' },
|
1938
|
+
lg: { [vars$3.horizontalPadding]: '20px' },
|
1656
1939
|
},
|
1657
1940
|
direction: {
|
1658
1941
|
row: {
|
1659
|
-
[vars$
|
1660
|
-
[vars$
|
1661
|
-
[vars$
|
1942
|
+
[vars$3.flexDirection]: 'row',
|
1943
|
+
[vars$3.alignItems]: helperRefs.verticalAlignment,
|
1944
|
+
[vars$3.justifyContent]: helperRefs.horizontalAlignment,
|
1662
1945
|
horizontalAlignment: {
|
1663
1946
|
spaceBetween: { [helperVars.horizontalAlignment]: 'space-between' },
|
1664
1947
|
}
|
1665
1948
|
},
|
1666
1949
|
|
1667
1950
|
column: {
|
1668
|
-
[vars$
|
1669
|
-
[vars$
|
1670
|
-
[vars$
|
1951
|
+
[vars$3.flexDirection]: 'column',
|
1952
|
+
[vars$3.alignItems]: helperRefs.horizontalAlignment,
|
1953
|
+
[vars$3.justifyContent]: helperRefs.verticalAlignment,
|
1671
1954
|
verticalAlignment: {
|
1672
1955
|
spaceBetween: { [helperVars.verticalAlignment]: 'space-between' }
|
1673
1956
|
}
|
@@ -1676,174 +1959,286 @@ const container = {
|
|
1676
1959
|
|
1677
1960
|
spaceBetween: {
|
1678
1961
|
sm: {
|
1679
|
-
[vars$
|
1962
|
+
[vars$3.gap]: '10px'
|
1680
1963
|
},
|
1681
1964
|
md: {
|
1682
|
-
[vars$
|
1965
|
+
[vars$3.gap]: '20px'
|
1683
1966
|
},
|
1684
1967
|
lg: {
|
1685
|
-
[vars$
|
1968
|
+
[vars$3.gap]: '30px'
|
1686
1969
|
}
|
1687
1970
|
},
|
1688
1971
|
|
1689
1972
|
shadow: {
|
1690
1973
|
sm: {
|
1691
|
-
[vars$
|
1974
|
+
[vars$3.boxShadow]: `${globalRefs$1.shadow.wide.sm} ${helperRefs.shadowColor}, ${globalRefs$1.shadow.narrow.sm} ${helperRefs.shadowColor}`
|
1692
1975
|
},
|
1693
1976
|
md: {
|
1694
|
-
[vars$
|
1977
|
+
[vars$3.boxShadow]: `${globalRefs$1.shadow.wide.md} ${helperRefs.shadowColor}, ${globalRefs$1.shadow.narrow.md} ${helperRefs.shadowColor}`
|
1695
1978
|
},
|
1696
1979
|
lg: {
|
1697
|
-
[vars$
|
1980
|
+
[vars$3.boxShadow]: `${globalRefs$1.shadow.wide.lg} ${helperRefs.shadowColor}, ${globalRefs$1.shadow.narrow.lg} ${helperRefs.shadowColor}`
|
1698
1981
|
},
|
1699
1982
|
xl: {
|
1700
|
-
[vars$
|
1983
|
+
[vars$3.boxShadow]: `${globalRefs$1.shadow.wide.xl} ${helperRefs.shadowColor}, ${globalRefs$1.shadow.narrow.xl} ${helperRefs.shadowColor}`
|
1701
1984
|
},
|
1702
1985
|
'2xl': {
|
1703
1986
|
[helperVars.shadowColor]: '#00000050',
|
1704
|
-
[vars$
|
1987
|
+
[vars$3.boxShadow]: `${globalRefs$1.shadow.wide['2xl']} ${helperRefs.shadowColor}`
|
1705
1988
|
},
|
1706
1989
|
},
|
1707
1990
|
|
1708
1991
|
borderRadius: {
|
1709
1992
|
sm: {
|
1710
|
-
[vars$
|
1993
|
+
[vars$3.borderRadius]: globalRefs$1.radius.sm
|
1711
1994
|
},
|
1712
1995
|
md: {
|
1713
|
-
[vars$
|
1996
|
+
[vars$3.borderRadius]: globalRefs$1.radius.md
|
1714
1997
|
},
|
1715
1998
|
lg: {
|
1716
|
-
[vars$
|
1999
|
+
[vars$3.borderRadius]: globalRefs$1.radius.lg
|
1717
2000
|
},
|
1718
2001
|
}
|
1719
2002
|
};
|
1720
2003
|
|
1721
|
-
const
|
1722
|
-
|
1723
|
-
let style;
|
1724
|
-
const getStyle = () => style;
|
1725
|
-
|
1726
|
-
class RawLogo extends HTMLElement {
|
1727
|
-
static get componentName() {
|
1728
|
-
return componentName;
|
1729
|
-
}
|
1730
|
-
constructor() {
|
1731
|
-
super();
|
1732
|
-
const template = document.createElement('template');
|
1733
|
-
template.innerHTML = `
|
1734
|
-
<style>
|
1735
|
-
${getStyle()}
|
1736
|
-
</style>
|
1737
|
-
<div></div>`;
|
1738
|
-
|
1739
|
-
this.attachShadow({ mode: 'open' });
|
1740
|
-
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
1741
|
-
|
1742
|
-
this.baseSelector = ':host > div';
|
1743
|
-
}
|
1744
|
-
}
|
1745
|
-
|
1746
|
-
const Logo = compose(
|
1747
|
-
createStyleMixin({
|
1748
|
-
mappings: {
|
1749
|
-
height: {},
|
1750
|
-
width: {},
|
1751
|
-
url: {},
|
1752
|
-
fallbackUrl: {},
|
1753
|
-
}
|
1754
|
-
}),
|
1755
|
-
draggableMixin,
|
1756
|
-
componentNameValidationMixin
|
1757
|
-
)(RawLogo);
|
1758
|
-
|
1759
|
-
style = `
|
1760
|
-
:host {
|
1761
|
-
display: inline-block;
|
1762
|
-
}
|
1763
|
-
:host > div {
|
1764
|
-
display: inline-block;
|
1765
|
-
content: var(${Logo.cssVarList.url}, var(${Logo.cssVarList.fallbackUrl}));
|
1766
|
-
}
|
1767
|
-
`;
|
1768
|
-
|
1769
|
-
const vars$1 = Logo.cssVarList;
|
2004
|
+
const vars$2 = Logo.cssVarList;
|
1770
2005
|
|
1771
2006
|
const logo = {
|
1772
|
-
[vars$
|
2007
|
+
[vars$2.fallbackUrl]: 'url(https://content.app.descope.com/assets/flows/noLogoPlaceholder.svg)'
|
1773
2008
|
};
|
1774
2009
|
|
1775
2010
|
const globalRefs = getThemeRefs(globals);
|
1776
2011
|
|
1777
|
-
const vars = Text.cssVarList;
|
2012
|
+
const vars$1 = Text.cssVarList;
|
1778
2013
|
|
1779
2014
|
const text = {
|
1780
|
-
[vars.lineHeight]: '1em',
|
1781
|
-
[vars.display]: 'inline-block',
|
1782
|
-
[vars.textAlign]: 'left',
|
1783
|
-
[vars.color]: globalRefs.colors.surface.dark,
|
2015
|
+
[vars$1.lineHeight]: '1em',
|
2016
|
+
[vars$1.display]: 'inline-block',
|
2017
|
+
[vars$1.textAlign]: 'left',
|
2018
|
+
[vars$1.color]: globalRefs.colors.surface.dark,
|
1784
2019
|
variant: {
|
1785
2020
|
h1: {
|
1786
|
-
[vars.fontSize]: globalRefs.typography.h1.size,
|
1787
|
-
[vars.fontWeight]: globalRefs.typography.h1.weight,
|
1788
|
-
[vars.fontFamily]: globalRefs.typography.h1.font
|
2021
|
+
[vars$1.fontSize]: globalRefs.typography.h1.size,
|
2022
|
+
[vars$1.fontWeight]: globalRefs.typography.h1.weight,
|
2023
|
+
[vars$1.fontFamily]: globalRefs.typography.h1.font
|
1789
2024
|
},
|
1790
2025
|
h2: {
|
1791
|
-
[vars.fontSize]: globalRefs.typography.h2.size,
|
1792
|
-
[vars.fontWeight]: globalRefs.typography.h2.weight,
|
1793
|
-
[vars.fontFamily]: globalRefs.typography.h2.font
|
2026
|
+
[vars$1.fontSize]: globalRefs.typography.h2.size,
|
2027
|
+
[vars$1.fontWeight]: globalRefs.typography.h2.weight,
|
2028
|
+
[vars$1.fontFamily]: globalRefs.typography.h2.font
|
1794
2029
|
},
|
1795
2030
|
h3: {
|
1796
|
-
[vars.fontSize]: globalRefs.typography.h3.size,
|
1797
|
-
[vars.fontWeight]: globalRefs.typography.h3.weight,
|
1798
|
-
[vars.fontFamily]: globalRefs.typography.h3.font
|
2031
|
+
[vars$1.fontSize]: globalRefs.typography.h3.size,
|
2032
|
+
[vars$1.fontWeight]: globalRefs.typography.h3.weight,
|
2033
|
+
[vars$1.fontFamily]: globalRefs.typography.h3.font
|
1799
2034
|
},
|
1800
2035
|
subtitle1: {
|
1801
|
-
[vars.fontSize]: globalRefs.typography.subtitle1.size,
|
1802
|
-
[vars.fontWeight]: globalRefs.typography.subtitle1.weight,
|
1803
|
-
[vars.fontFamily]: globalRefs.typography.subtitle1.font
|
2036
|
+
[vars$1.fontSize]: globalRefs.typography.subtitle1.size,
|
2037
|
+
[vars$1.fontWeight]: globalRefs.typography.subtitle1.weight,
|
2038
|
+
[vars$1.fontFamily]: globalRefs.typography.subtitle1.font
|
1804
2039
|
},
|
1805
2040
|
subtitle2: {
|
1806
|
-
[vars.fontSize]: globalRefs.typography.subtitle2.size,
|
1807
|
-
[vars.fontWeight]: globalRefs.typography.subtitle2.weight,
|
1808
|
-
[vars.fontFamily]: globalRefs.typography.subtitle2.font
|
2041
|
+
[vars$1.fontSize]: globalRefs.typography.subtitle2.size,
|
2042
|
+
[vars$1.fontWeight]: globalRefs.typography.subtitle2.weight,
|
2043
|
+
[vars$1.fontFamily]: globalRefs.typography.subtitle2.font
|
1809
2044
|
},
|
1810
2045
|
body1: {
|
1811
|
-
[vars.fontSize]: globalRefs.typography.body1.size,
|
1812
|
-
[vars.fontWeight]: globalRefs.typography.body1.weight,
|
1813
|
-
[vars.fontFamily]: globalRefs.typography.body1.font
|
2046
|
+
[vars$1.fontSize]: globalRefs.typography.body1.size,
|
2047
|
+
[vars$1.fontWeight]: globalRefs.typography.body1.weight,
|
2048
|
+
[vars$1.fontFamily]: globalRefs.typography.body1.font
|
1814
2049
|
},
|
1815
2050
|
body2: {
|
1816
|
-
[vars.fontSize]: globalRefs.typography.body2.size,
|
1817
|
-
[vars.fontWeight]: globalRefs.typography.body2.weight,
|
1818
|
-
[vars.fontFamily]: globalRefs.typography.body2.font
|
2051
|
+
[vars$1.fontSize]: globalRefs.typography.body2.size,
|
2052
|
+
[vars$1.fontWeight]: globalRefs.typography.body2.weight,
|
2053
|
+
[vars$1.fontFamily]: globalRefs.typography.body2.font
|
1819
2054
|
}
|
1820
2055
|
},
|
1821
2056
|
mode: {
|
1822
2057
|
primary: {
|
1823
|
-
[vars.color]: globalRefs.colors.primary.main
|
2058
|
+
[vars$1.color]: globalRefs.colors.primary.main
|
1824
2059
|
},
|
1825
2060
|
secondary: {
|
1826
|
-
[vars.color]: globalRefs.colors.secondary.main
|
2061
|
+
[vars$1.color]: globalRefs.colors.secondary.main
|
1827
2062
|
},
|
1828
2063
|
error: {
|
1829
|
-
[vars.color]: globalRefs.colors.error.main
|
2064
|
+
[vars$1.color]: globalRefs.colors.error.main
|
1830
2065
|
},
|
1831
2066
|
success: {
|
1832
|
-
[vars.color]: globalRefs.colors.success.main
|
2067
|
+
[vars$1.color]: globalRefs.colors.success.main
|
1833
2068
|
}
|
1834
2069
|
},
|
1835
2070
|
textAlign: {
|
1836
|
-
right: { [vars.textAlign]: 'right' },
|
1837
|
-
left: { [vars.textAlign]: 'left' },
|
1838
|
-
center: { [vars.textAlign]: 'center' }
|
2071
|
+
right: { [vars$1.textAlign]: 'right' },
|
2072
|
+
left: { [vars$1.textAlign]: 'left' },
|
2073
|
+
center: { [vars$1.textAlign]: 'center' }
|
1839
2074
|
},
|
1840
2075
|
_fullWidth: {
|
1841
|
-
[vars.width]: '100%',
|
1842
|
-
[vars.display]: 'block'
|
2076
|
+
[vars$1.width]: '100%',
|
2077
|
+
[vars$1.display]: 'block'
|
1843
2078
|
},
|
1844
2079
|
_italic: {
|
1845
|
-
[vars.fontStyle]: 'italic'
|
2080
|
+
[vars$1.fontStyle]: 'italic'
|
2081
|
+
},
|
2082
|
+
_uppercase: {
|
2083
|
+
[vars$1.textTransform]: 'uppercase'
|
2084
|
+
},
|
2085
|
+
_lowercase: {
|
2086
|
+
[vars$1.textTransform]: 'lowercase'
|
2087
|
+
}
|
2088
|
+
};
|
2089
|
+
|
2090
|
+
const vars = Divider.cssVarList;
|
2091
|
+
|
2092
|
+
const divider = {
|
2093
|
+
[vars.alignItems]: 'center',
|
2094
|
+
[vars.height]: '2px',
|
2095
|
+
[vars.backgroundColor]: 'currentColor',
|
2096
|
+
[vars.opacity]: '0.2',
|
2097
|
+
[vars.padding]: '0 10px',
|
2098
|
+
[vars.width]: '100%',
|
2099
|
+
[vars.flexDirection]: 'row',
|
2100
|
+
[vars.alignSelf]: 'strech',
|
2101
|
+
[vars.textWidth]: 'fit-content',
|
2102
|
+
_vertical: {
|
2103
|
+
[vars.width]: '2px',
|
2104
|
+
[vars.padding]: '10px 0',
|
2105
|
+
[vars.flexDirection]: 'column',
|
2106
|
+
[vars.minHeight]: '200px',
|
2107
|
+
[vars.textWidth]: 'max-content'
|
2108
|
+
}
|
2109
|
+
};
|
2110
|
+
|
2111
|
+
const componentName$1 = getComponentName('passcode-internal');
|
2112
|
+
|
2113
|
+
const componentName = getComponentName('passcode');
|
2114
|
+
|
2115
|
+
const customMixin = (superclass) =>
|
2116
|
+
class DraggableMixinClass extends superclass {
|
2117
|
+
constructor() {
|
2118
|
+
super();
|
2119
|
+
}
|
2120
|
+
|
2121
|
+
get digits() {
|
2122
|
+
return Number.parseInt(this.getAttribute('digits')) || 6
|
2123
|
+
}
|
2124
|
+
|
2125
|
+
connectedCallback() {
|
2126
|
+
super.connectedCallback?.();
|
2127
|
+
const template = document.createElement('template');
|
2128
|
+
|
2129
|
+
//forward required & pattern TODO use forwardAttrs
|
2130
|
+
template.innerHTML = `
|
2131
|
+
<${componentName$1}
|
2132
|
+
bordered="true"
|
2133
|
+
name="code"
|
2134
|
+
tabindex="0"
|
2135
|
+
slot="input"
|
2136
|
+
required="${this.shadowRoot.host.getAttribute('required')}"
|
2137
|
+
pattern="${this.shadowRoot.host.getAttribute('pattern')}"
|
2138
|
+
></${componentName$1}>
|
2139
|
+
`;
|
2140
|
+
|
2141
|
+
// we are adding a slot under vaadin-text-field, it should reflect all descope-passcode children to be under vaadin-text-field, this is why it has a name & slot
|
2142
|
+
const slotEle = Object.assign(document.createElement('slot'), { name: 'input', slot: 'input', part: 'input' });
|
2143
|
+
this.proxyElement.appendChild(slotEle);
|
2144
|
+
|
2145
|
+
// we want to control when the element is out of focus
|
2146
|
+
// so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)
|
2147
|
+
this.proxyElement._setFocused = () => { };
|
2148
|
+
|
2149
|
+
this.shadowRoot.host.appendChild(template.content.cloneNode(true));
|
2150
|
+
this.inputElement = this.querySelector(componentName$1);
|
2151
|
+
|
2152
|
+
// we want to trigger validation only when dispatching a blur event from the descope-passcode-internal
|
2153
|
+
this.inputElement.addEventListener('blur', () => {
|
2154
|
+
this.proxyElement.validate();
|
2155
|
+
});
|
2156
|
+
}
|
2157
|
+
};
|
2158
|
+
|
2159
|
+
const { borderStyle, borderWidth, ...restTextFieldMappings } = textFieldMappings;
|
2160
|
+
|
2161
|
+
const Passcode = compose(
|
2162
|
+
createStyleMixin({
|
2163
|
+
mappings: {
|
2164
|
+
...restTextFieldMappings,
|
2165
|
+
},
|
2166
|
+
nestedMappings: {
|
2167
|
+
borderColor: {
|
2168
|
+
selector: ` ${TextField.componentName}`,
|
2169
|
+
property: TextField.cssVarList.borderColor
|
2170
|
+
}
|
2171
|
+
}
|
2172
|
+
}),
|
2173
|
+
draggableMixin,
|
2174
|
+
inputMixin,
|
2175
|
+
componentNameValidationMixin,
|
2176
|
+
customMixin
|
2177
|
+
)(
|
2178
|
+
createProxy({
|
2179
|
+
slots: [],
|
2180
|
+
wrappedEleName: 'vaadin-text-field',
|
2181
|
+
style: () => `
|
2182
|
+
:host {
|
2183
|
+
--vaadin-field-default-width: auto;
|
2184
|
+
}
|
2185
|
+
|
2186
|
+
::slotted([slot='input']) {
|
2187
|
+
-webkit-mask-image: none;
|
2188
|
+
display: flex;
|
2189
|
+
gap: 2px;
|
2190
|
+
align-items: center;
|
2191
|
+
padding: 0;
|
2192
|
+
}
|
2193
|
+
|
2194
|
+
vaadin-text-field::part(input-field) {
|
2195
|
+
background-color: transparent;
|
2196
|
+
padding: 0;
|
2197
|
+
}
|
2198
|
+
|
2199
|
+
${overrides}
|
2200
|
+
`,
|
2201
|
+
excludeAttrsSync: ['tabindex'],
|
2202
|
+
componentName
|
2203
|
+
})
|
2204
|
+
);
|
2205
|
+
|
2206
|
+
const overrides = `
|
2207
|
+
:host {
|
2208
|
+
display: inline-block;
|
1846
2209
|
}
|
2210
|
+
|
2211
|
+
vaadin-text-field {
|
2212
|
+
margin: 0;
|
2213
|
+
padding: 0;
|
2214
|
+
}
|
2215
|
+
vaadin-text-field::part(input-field) {
|
2216
|
+
overflow: hidden;
|
2217
|
+
}
|
2218
|
+
vaadin-text-field[readonly] > input:placeholder-shown {
|
2219
|
+
opacity: 1;
|
2220
|
+
}
|
2221
|
+
|
2222
|
+
vaadin-text-field > label,
|
2223
|
+
vaadin-text-field::part(input-field) {
|
2224
|
+
cursor: pointer;
|
2225
|
+
color: var(${Passcode.cssVarList.color});
|
2226
|
+
}
|
2227
|
+
vaadin-text-field::part(input-field):focus {
|
2228
|
+
cursor: text;
|
2229
|
+
}
|
2230
|
+
vaadin-text-field[required]::part(required-indicator)::after {
|
2231
|
+
font-size: "12px";
|
2232
|
+
content: "*";
|
2233
|
+
color: var(${Passcode.cssVarList.color});
|
2234
|
+
}
|
2235
|
+
vaadin-text-field[readonly]::part(input-field)::after {
|
2236
|
+
border: 0 solid;
|
2237
|
+
}
|
2238
|
+
`;
|
2239
|
+
|
2240
|
+
const passcode = {
|
2241
|
+
...textField(Passcode.cssVarList),
|
1847
2242
|
};
|
1848
2243
|
|
1849
2244
|
var components = {
|
@@ -1857,7 +2252,9 @@ var components = {
|
|
1857
2252
|
switchToggle: swtichToggle,
|
1858
2253
|
container,
|
1859
2254
|
logo,
|
1860
|
-
text
|
2255
|
+
text,
|
2256
|
+
divider,
|
2257
|
+
passcode
|
1861
2258
|
};
|
1862
2259
|
|
1863
2260
|
var index = { globals, components };
|