@descope/web-components-ui 1.0.58 → 1.0.60
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.esm.js +132 -103
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/832.js +1 -1
- package/dist/umd/942.js +1 -1
- package/dist/umd/descope-link-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/package.json +1 -1
- package/src/components/descope-passcode/Passcode.js +4 -4
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +12 -4
- package/src/componentsHelpers/createProxy/helpers.js +15 -0
- package/src/componentsHelpers/createProxy/index.js +10 -3
- package/src/theme/globals.js +0 -1
package/dist/index.esm.js
CHANGED
@@ -342,12 +342,29 @@ const forwardAttrs = (source, dest, options = {}) => {
|
|
342
342
|
);
|
343
343
|
};
|
344
344
|
|
345
|
+
const forwardProps = (src, target, props = []) => {
|
346
|
+
if(!props.length) return;
|
347
|
+
|
348
|
+
const config = props.reduce((acc, prop) => Object.assign(acc, {[prop] : {
|
349
|
+
get () {
|
350
|
+
return target[prop]
|
351
|
+
},
|
352
|
+
set (v) {
|
353
|
+
target[prop] = v;
|
354
|
+
}
|
355
|
+
}}), {});
|
356
|
+
|
357
|
+
Object.defineProperties(src, config);
|
358
|
+
};
|
359
|
+
|
345
360
|
const createProxy = ({
|
346
361
|
componentName,
|
347
362
|
wrappedEleName,
|
348
363
|
slots = [],
|
349
364
|
style,
|
350
|
-
excludeAttrsSync = []
|
365
|
+
excludeAttrsSync = [],
|
366
|
+
includeAttrsSync = [],
|
367
|
+
includeForwardProps = []
|
351
368
|
}) => {
|
352
369
|
const template = `
|
353
370
|
<style id="create-proxy"></style>
|
@@ -373,6 +390,10 @@ const createProxy = ({
|
|
373
390
|
connectedCallback() {
|
374
391
|
if (this.shadowRoot.isConnected) {
|
375
392
|
this.proxyElement = this.shadowRoot.querySelector(wrappedEleName);
|
393
|
+
|
394
|
+
// this is needed for components that uses props, such as combo box
|
395
|
+
forwardProps(this.hostElement, this.proxyElement, includeForwardProps);
|
396
|
+
|
376
397
|
this.setAttribute('tabindex', '0');
|
377
398
|
|
378
399
|
// we want to focus on the proxy element when focusing our WC
|
@@ -397,7 +418,8 @@ const createProxy = ({
|
|
397
418
|
this.proxyElement.addEventListener(...args);
|
398
419
|
|
399
420
|
syncAttrs(this.proxyElement, this.hostElement, {
|
400
|
-
excludeAttrs: excludeAttrsSync
|
421
|
+
excludeAttrs: excludeAttrsSync,
|
422
|
+
includeAttrs: includeAttrsSync
|
401
423
|
});
|
402
424
|
}
|
403
425
|
}
|
@@ -1475,7 +1497,9 @@ class PasscodeInternal extends HTMLElement {
|
|
1475
1497
|
return [
|
1476
1498
|
'disabled',
|
1477
1499
|
'bordered',
|
1478
|
-
'size'
|
1500
|
+
'size',
|
1501
|
+
'required',
|
1502
|
+
'pattern'
|
1479
1503
|
];
|
1480
1504
|
}
|
1481
1505
|
|
@@ -1669,9 +1693,15 @@ class PasscodeInternal extends HTMLElement {
|
|
1669
1693
|
oldValue,
|
1670
1694
|
newValue
|
1671
1695
|
) {
|
1672
|
-
|
1673
|
-
|
1674
|
-
|
1696
|
+
const validationRelatedAttributes = ['required', 'pattern'];
|
1697
|
+
|
1698
|
+
if (oldValue !== newValue) {
|
1699
|
+
if (validationRelatedAttributes.includes(attrName)) {
|
1700
|
+
this.setValidity();
|
1701
|
+
}
|
1702
|
+
else if (PasscodeInternal.observedAttributes.includes(attrName)) {
|
1703
|
+
this.inputs.forEach((input) => input.setAttribute(attrName, newValue));
|
1704
|
+
}
|
1675
1705
|
}
|
1676
1706
|
}
|
1677
1707
|
}
|
@@ -1692,15 +1722,12 @@ const customMixin = (superclass) =>
|
|
1692
1722
|
super.connectedCallback?.();
|
1693
1723
|
const template = document.createElement('template');
|
1694
1724
|
|
1695
|
-
//forward required & pattern TODO use forwardAttrs
|
1696
1725
|
template.innerHTML = `
|
1697
1726
|
<${componentName$4}
|
1698
1727
|
bordered="true"
|
1699
1728
|
name="code"
|
1700
1729
|
tabindex="0"
|
1701
1730
|
slot="input"
|
1702
|
-
required="${this.shadowRoot.host.getAttribute('required')}"
|
1703
|
-
pattern="${this.shadowRoot.host.getAttribute('pattern')}"
|
1704
1731
|
></${componentName$4}>
|
1705
1732
|
`;
|
1706
1733
|
|
@@ -1714,11 +1741,13 @@ const customMixin = (superclass) =>
|
|
1714
1741
|
|
1715
1742
|
// we want to control when the element is out of focus
|
1716
1743
|
// so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)
|
1717
|
-
this.proxyElement._setFocused = () => {};
|
1744
|
+
this.proxyElement._setFocused = () => { };
|
1718
1745
|
|
1719
1746
|
this.shadowRoot.host.appendChild(template.content.cloneNode(true));
|
1720
1747
|
this.inputElement = this.querySelector(componentName$4);
|
1721
1748
|
|
1749
|
+
forwardAttrs(this.shadowRoot.host, this.inputElement, { includeAttrs: ['required', 'pattern'] });
|
1750
|
+
|
1722
1751
|
// we want to trigger validation only when dispatching a blur event from the descope-passcode-internal
|
1723
1752
|
this.inputElement.addEventListener('blur', () => {
|
1724
1753
|
this.proxyElement.validate();
|
@@ -2156,99 +2185,6 @@ const genColors = (colors) => {
|
|
2156
2185
|
}, {});
|
2157
2186
|
};
|
2158
2187
|
|
2159
|
-
const globalRefs$7 = getThemeRefs(globals);
|
2160
|
-
const vars$c = Button.cssVarList;
|
2161
|
-
|
2162
|
-
const mode = {
|
2163
|
-
primary: globalRefs$7.colors.primary,
|
2164
|
-
secondary: globalRefs$7.colors.secondary,
|
2165
|
-
success: globalRefs$7.colors.success,
|
2166
|
-
error: globalRefs$7.colors.error,
|
2167
|
-
surface: globalRefs$7.colors.surface
|
2168
|
-
};
|
2169
|
-
|
2170
|
-
const [helperTheme$1, helperRefs$1] = createHelperVars({ mode }, componentName$i);
|
2171
|
-
|
2172
|
-
const button = {
|
2173
|
-
...helperTheme$1,
|
2174
|
-
|
2175
|
-
size: {
|
2176
|
-
xs: {
|
2177
|
-
[vars$c.height]: '10px',
|
2178
|
-
[vars$c.fontSize]: '10px',
|
2179
|
-
[vars$c.padding]: `0 ${globalRefs$7.spacing.xs}`
|
2180
|
-
},
|
2181
|
-
sm: {
|
2182
|
-
[vars$c.height]: '20px',
|
2183
|
-
[vars$c.fontSize]: '10px',
|
2184
|
-
[vars$c.padding]: `0 ${globalRefs$7.spacing.sm}`
|
2185
|
-
},
|
2186
|
-
md: {
|
2187
|
-
[vars$c.height]: '30px',
|
2188
|
-
[vars$c.fontSize]: '14px',
|
2189
|
-
[vars$c.padding]: `0 ${globalRefs$7.spacing.md}`
|
2190
|
-
},
|
2191
|
-
lg: {
|
2192
|
-
[vars$c.height]: '40px',
|
2193
|
-
[vars$c.fontSize]: '20px',
|
2194
|
-
[vars$c.padding]: `0 ${globalRefs$7.spacing.lg}`
|
2195
|
-
},
|
2196
|
-
xl: {
|
2197
|
-
[vars$c.height]: '50px',
|
2198
|
-
[vars$c.fontSize]: '25px',
|
2199
|
-
[vars$c.padding]: `0 ${globalRefs$7.spacing.xl}`
|
2200
|
-
}
|
2201
|
-
},
|
2202
|
-
|
2203
|
-
[vars$c.borderRadius]: globalRefs$7.radius.lg,
|
2204
|
-
[vars$c.cursor]: 'pointer',
|
2205
|
-
[vars$c.borderWidth]: '2px',
|
2206
|
-
[vars$c.borderStyle]: 'solid',
|
2207
|
-
[vars$c.borderColor]: 'transparent',
|
2208
|
-
|
2209
|
-
_fullWidth: {
|
2210
|
-
[vars$c.width]: '100%'
|
2211
|
-
},
|
2212
|
-
_loading: {
|
2213
|
-
[vars$c.cursor]: 'wait'
|
2214
|
-
},
|
2215
|
-
|
2216
|
-
variant: {
|
2217
|
-
contained: {
|
2218
|
-
[vars$c.color]: helperRefs$1.contrast,
|
2219
|
-
[vars$c.backgroundColor]: helperRefs$1.main,
|
2220
|
-
_hover: {
|
2221
|
-
[vars$c.backgroundColor]: helperRefs$1.dark
|
2222
|
-
},
|
2223
|
-
_loading: {
|
2224
|
-
[vars$c.backgroundColor]: helperRefs$1.main
|
2225
|
-
}
|
2226
|
-
},
|
2227
|
-
outline: {
|
2228
|
-
[vars$c.color]: helperRefs$1.main,
|
2229
|
-
[vars$c.borderColor]: helperRefs$1.main,
|
2230
|
-
_hover: {
|
2231
|
-
[vars$c.color]: helperRefs$1.dark,
|
2232
|
-
[vars$c.borderColor]: helperRefs$1.dark,
|
2233
|
-
_error: {
|
2234
|
-
[vars$c.color]: helperRefs$1.error
|
2235
|
-
}
|
2236
|
-
}
|
2237
|
-
},
|
2238
|
-
link: {
|
2239
|
-
[vars$c.color]: helperRefs$1.main,
|
2240
|
-
[vars$c.padding]: 0,
|
2241
|
-
[vars$c.margin]: 0,
|
2242
|
-
[vars$c.lineHeight]: helperRefs$1.height,
|
2243
|
-
[vars$c.borderRadius]: 0,
|
2244
|
-
_hover: {
|
2245
|
-
[vars$c.color]: helperRefs$1.main,
|
2246
|
-
[vars$c.textDecoration]: 'underline'
|
2247
|
-
}
|
2248
|
-
}
|
2249
|
-
}
|
2250
|
-
};
|
2251
|
-
|
2252
2188
|
const colors = genColors({
|
2253
2189
|
surface: {
|
2254
2190
|
main: 'lightgray',
|
@@ -2352,6 +2288,99 @@ var globals = {
|
|
2352
2288
|
fonts
|
2353
2289
|
};
|
2354
2290
|
|
2291
|
+
const globalRefs$7 = getThemeRefs(globals);
|
2292
|
+
const vars$c = Button.cssVarList;
|
2293
|
+
|
2294
|
+
const mode = {
|
2295
|
+
primary: globalRefs$7.colors.primary,
|
2296
|
+
secondary: globalRefs$7.colors.secondary,
|
2297
|
+
success: globalRefs$7.colors.success,
|
2298
|
+
error: globalRefs$7.colors.error,
|
2299
|
+
surface: globalRefs$7.colors.surface
|
2300
|
+
};
|
2301
|
+
|
2302
|
+
const [helperTheme$1, helperRefs$1] = createHelperVars({ mode }, componentName$i);
|
2303
|
+
|
2304
|
+
const button = {
|
2305
|
+
...helperTheme$1,
|
2306
|
+
|
2307
|
+
size: {
|
2308
|
+
xs: {
|
2309
|
+
[vars$c.height]: '10px',
|
2310
|
+
[vars$c.fontSize]: '10px',
|
2311
|
+
[vars$c.padding]: `0 ${globalRefs$7.spacing.xs}`
|
2312
|
+
},
|
2313
|
+
sm: {
|
2314
|
+
[vars$c.height]: '20px',
|
2315
|
+
[vars$c.fontSize]: '10px',
|
2316
|
+
[vars$c.padding]: `0 ${globalRefs$7.spacing.sm}`
|
2317
|
+
},
|
2318
|
+
md: {
|
2319
|
+
[vars$c.height]: '30px',
|
2320
|
+
[vars$c.fontSize]: '14px',
|
2321
|
+
[vars$c.padding]: `0 ${globalRefs$7.spacing.md}`
|
2322
|
+
},
|
2323
|
+
lg: {
|
2324
|
+
[vars$c.height]: '40px',
|
2325
|
+
[vars$c.fontSize]: '20px',
|
2326
|
+
[vars$c.padding]: `0 ${globalRefs$7.spacing.lg}`
|
2327
|
+
},
|
2328
|
+
xl: {
|
2329
|
+
[vars$c.height]: '50px',
|
2330
|
+
[vars$c.fontSize]: '25px',
|
2331
|
+
[vars$c.padding]: `0 ${globalRefs$7.spacing.xl}`
|
2332
|
+
}
|
2333
|
+
},
|
2334
|
+
|
2335
|
+
[vars$c.borderRadius]: globalRefs$7.radius.lg,
|
2336
|
+
[vars$c.cursor]: 'pointer',
|
2337
|
+
[vars$c.borderWidth]: '2px',
|
2338
|
+
[vars$c.borderStyle]: 'solid',
|
2339
|
+
[vars$c.borderColor]: 'transparent',
|
2340
|
+
|
2341
|
+
_fullWidth: {
|
2342
|
+
[vars$c.width]: '100%'
|
2343
|
+
},
|
2344
|
+
_loading: {
|
2345
|
+
[vars$c.cursor]: 'wait'
|
2346
|
+
},
|
2347
|
+
|
2348
|
+
variant: {
|
2349
|
+
contained: {
|
2350
|
+
[vars$c.color]: helperRefs$1.contrast,
|
2351
|
+
[vars$c.backgroundColor]: helperRefs$1.main,
|
2352
|
+
_hover: {
|
2353
|
+
[vars$c.backgroundColor]: helperRefs$1.dark
|
2354
|
+
},
|
2355
|
+
_loading: {
|
2356
|
+
[vars$c.backgroundColor]: helperRefs$1.main
|
2357
|
+
}
|
2358
|
+
},
|
2359
|
+
outline: {
|
2360
|
+
[vars$c.color]: helperRefs$1.main,
|
2361
|
+
[vars$c.borderColor]: helperRefs$1.main,
|
2362
|
+
_hover: {
|
2363
|
+
[vars$c.color]: helperRefs$1.dark,
|
2364
|
+
[vars$c.borderColor]: helperRefs$1.dark,
|
2365
|
+
_error: {
|
2366
|
+
[vars$c.color]: helperRefs$1.error
|
2367
|
+
}
|
2368
|
+
}
|
2369
|
+
},
|
2370
|
+
link: {
|
2371
|
+
[vars$c.color]: helperRefs$1.main,
|
2372
|
+
[vars$c.padding]: 0,
|
2373
|
+
[vars$c.margin]: 0,
|
2374
|
+
[vars$c.lineHeight]: helperRefs$1.height,
|
2375
|
+
[vars$c.borderRadius]: 0,
|
2376
|
+
_hover: {
|
2377
|
+
[vars$c.color]: helperRefs$1.main,
|
2378
|
+
[vars$c.textDecoration]: 'underline'
|
2379
|
+
}
|
2380
|
+
}
|
2381
|
+
}
|
2382
|
+
};
|
2383
|
+
|
2355
2384
|
const globalRefs$6 = getThemeRefs(globals);
|
2356
2385
|
|
2357
2386
|
const vars$b = TextField.cssVarList;
|