@descope/web-components-ui 1.0.300 → 1.0.301
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/cjs/index.cjs.js +287 -204
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.esm.js +221 -138
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/1612.js +1 -1
- package/dist/umd/1621.js +2 -2
- package/dist/umd/3951.js +1 -1
- package/dist/umd/4024.js +1 -1
- package/dist/umd/4052.js +1 -1
- package/dist/umd/4746.js +1 -1
- package/dist/umd/5806.js +1 -1
- package/dist/umd/6770.js +1 -1
- package/dist/umd/7056.js +1 -1
- package/dist/umd/7531.js +1 -1
- package/dist/umd/7911.js +1 -1
- package/dist/umd/9092.js +2 -2
- package/dist/umd/9314.js +1 -1
- package/dist/umd/9423.js +2 -2
- package/dist/umd/9562.js +1 -1
- package/dist/umd/9927.js +1 -0
- package/dist/umd/DescopeDev.js +1 -1
- package/dist/umd/descope-button-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-enriched-text-index-js.js +1 -0
- package/dist/umd/descope-link-index-js.js +1 -1
- package/dist/umd/descope-text-index-js.js +1 -0
- package/dist/umd/descope-user-attribute-index-js.js +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
- package/package.json +3 -3
- package/src/components/descope-divider/DividerClass.js +1 -1
- package/src/components/descope-divider/index.js +1 -1
- package/src/components/descope-enriched-text/EnrichedTextClass.js +163 -0
- package/src/components/descope-enriched-text/consts.js +74 -0
- package/src/components/descope-link/LinkClass.js +1 -1
- package/src/components/descope-link/index.js +1 -1
- package/src/components/descope-text/TextClass.js +64 -0
- package/src/components/descope-user-attribute/UserAttributeClass.js +1 -1
- package/src/components/descope-user-attribute/index.js +1 -1
- package/src/components/descope-user-auth-method/UserAuthMethodClass.js +1 -1
- package/src/components/descope-user-auth-method/index.js +1 -1
- package/src/components/mapping-fields/descope-mappings-field/MappingsFieldClass.js +1 -1
- package/src/components/mapping-fields/descope-mappings-field/index.js +1 -1
- package/src/index.cjs.js +2 -2
- package/src/index.d.ts +2 -2
- package/src/index.js +2 -2
- package/src/theme/components/enrichedText.js +4 -1
- package/src/theme/components/text.js +1 -1
- package/dist/umd/4569.js +0 -1
- package/dist/umd/text-components-descope-enriched-text-index-js.js +0 -1
- package/dist/umd/text-components-descope-text-index-js.js +0 -1
- package/src/components/text-components/createBaseTextClass.js +0 -26
- package/src/components/text-components/descope-enriched-text/EnrichedTextClass.js +0 -106
- package/src/components/text-components/descope-enriched-text/helpers.js +0 -41
- package/src/components/text-components/descope-text/TextClass.js +0 -34
- package/src/components/text-components/hideWhenEmptyMixin.js +0 -17
- /package/src/components/{text-components/descope-enriched-text → descope-enriched-text}/index.js +0 -0
- /package/src/components/{text-components/descope-text → descope-text}/index.js +0 -0
package/dist/index.d.ts
CHANGED
@@ -24,8 +24,8 @@ export { NotpImageClass } from './components/descope-notp-image';
|
|
24
24
|
export { NumberFieldClass } from './components/descope-number-field';
|
25
25
|
export { PasscodeClass } from './components/descope-passcode';
|
26
26
|
export { PasswordClass } from './components/descope-password';
|
27
|
-
export { TextClass } from './components/
|
28
|
-
export { EnrichedTextClass } from './components/
|
27
|
+
export { TextClass } from './components/descope-text';
|
28
|
+
export { EnrichedTextClass } from './components/descope-enriched-text';
|
29
29
|
export { TextAreaClass } from './components/descope-text-area';
|
30
30
|
export { TextFieldClass } from './components/descope-text-field';
|
31
31
|
export { ImageClass } from './components/descope-image';
|
package/dist/index.esm.js
CHANGED
@@ -5,7 +5,7 @@ import '@vaadin/text-field';
|
|
5
5
|
import '@vaadin/email-field';
|
6
6
|
import '@vaadin/number-field';
|
7
7
|
import '@vaadin/password-field';
|
8
|
-
import
|
8
|
+
import { Remarkable } from 'remarkable';
|
9
9
|
import '@vaadin/text-area';
|
10
10
|
import '@vaadin/combo-box';
|
11
11
|
import '@vaadin/grid';
|
@@ -2214,50 +2214,41 @@ const ContainerClass = compose(
|
|
2214
2214
|
|
2215
2215
|
customElements.define(componentName$M, ContainerClass);
|
2216
2216
|
|
2217
|
-
const
|
2218
|
-
class HideWhenEmptyMixinClass extends superclass {
|
2219
|
-
get hideWhenEmpty() {
|
2220
|
-
return this.getAttribute('hide-when-empty') === 'true';
|
2221
|
-
}
|
2222
|
-
|
2223
|
-
init() {
|
2224
|
-
super.init();
|
2225
|
-
|
2226
|
-
observeChildren(this, () => {
|
2227
|
-
const hasChildren = !!this.childNodes.length;
|
2228
|
-
this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';
|
2229
|
-
});
|
2230
|
-
}
|
2231
|
-
};
|
2217
|
+
const componentName$L = getComponentName('text');
|
2232
2218
|
|
2233
|
-
|
2234
|
-
|
2235
|
-
|
2236
|
-
super();
|
2219
|
+
class RawText extends createBaseClass({ componentName: componentName$L, baseSelector: ':host > slot' }) {
|
2220
|
+
constructor() {
|
2221
|
+
super();
|
2237
2222
|
|
2238
|
-
|
2239
|
-
|
2240
|
-
|
2241
|
-
|
2242
|
-
|
2243
|
-
|
2244
|
-
|
2245
|
-
|
2246
|
-
|
2247
|
-
|
2248
|
-
|
2249
|
-
|
2223
|
+
this.attachShadow({ mode: 'open' }).innerHTML = `
|
2224
|
+
<style>
|
2225
|
+
:host {
|
2226
|
+
display: inline-block;
|
2227
|
+
}
|
2228
|
+
:host > slot {
|
2229
|
+
width: 100%;
|
2230
|
+
display: inline-block;
|
2231
|
+
}
|
2232
|
+
</style>
|
2233
|
+
<slot part="text-wrapper"></slot>
|
2234
|
+
`;
|
2250
2235
|
|
2251
|
-
|
2252
|
-
}
|
2236
|
+
this.textSlot = this.shadowRoot.querySelector('slot');
|
2253
2237
|
}
|
2254
2238
|
|
2255
|
-
|
2256
|
-
|
2239
|
+
get hideWhenEmpty() {
|
2240
|
+
return this.getAttribute('hide-when-empty') === 'true';
|
2241
|
+
}
|
2257
2242
|
|
2258
|
-
|
2243
|
+
init() {
|
2244
|
+
super.init();
|
2259
2245
|
|
2260
|
-
|
2246
|
+
observeChildren(this, () => {
|
2247
|
+
const hasChildren = !!this.childNodes.length;
|
2248
|
+
this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';
|
2249
|
+
});
|
2250
|
+
}
|
2251
|
+
}
|
2261
2252
|
|
2262
2253
|
const TextClass = compose(
|
2263
2254
|
createStyleMixin({
|
@@ -2280,9 +2271,8 @@ const TextClass = compose(
|
|
2280
2271
|
},
|
2281
2272
|
}),
|
2282
2273
|
draggableMixin,
|
2283
|
-
componentNameValidationMixin
|
2284
|
-
|
2285
|
-
)(BaseTextClass);
|
2274
|
+
componentNameValidationMixin
|
2275
|
+
)(RawText);
|
2286
2276
|
|
2287
2277
|
const componentName$K = getComponentName('divider');
|
2288
2278
|
class RawDivider extends createBaseClass({ componentName: componentName$K, baseSelector: ':host > div' }) {
|
@@ -3343,115 +3333,218 @@ const PasswordClass = compose(
|
|
3343
3333
|
|
3344
3334
|
customElements.define(componentName$A, PasswordClass);
|
3345
3335
|
|
3346
|
-
const
|
3347
|
-
|
3336
|
+
const ruleSet = {
|
3337
|
+
custom: ['image'],
|
3338
|
+
core: [
|
3339
|
+
'block',
|
3340
|
+
'inline',
|
3341
|
+
'abbr', // Parse abbreviation definitions, i.e. `*[abbr]: description`
|
3342
|
+
'abbr2', // Enclose abbreviations in <abbr> tags
|
3343
|
+
'references',
|
3344
|
+
'footnote_tail',
|
3345
|
+
'replacements', // Simple typographical replacements
|
3346
|
+
'smartquotes', // Convert straight quotation marks to typographic ones
|
3347
|
+
],
|
3348
|
+
inline: [
|
3349
|
+
'text',
|
3350
|
+
'newline', // Proceess '\n'
|
3351
|
+
'backticks', // Parse backticks
|
3352
|
+
'del', // Process ~~deleted text~~
|
3353
|
+
'emphasis', // Process *this* and _that_
|
3354
|
+
'sub', // Process ~subscript~
|
3355
|
+
'sup', // Process ^superscript^
|
3356
|
+
'links', // Process [links](<to> "stuff")
|
3357
|
+
'escape', // Proceess escaped chars and hardbreaks
|
3358
|
+
'ins', // Process ++inserted text++
|
3359
|
+
'mark', // Process ==highlighted text==
|
3360
|
+
'footnote_inline', // Process inline footnotes (^[...])
|
3361
|
+
'footnote_ref', // Process footnote references ([^...])
|
3362
|
+
'autolink', // Process autolinks '<protocol:...>'
|
3363
|
+
'htmltag', // Process html tags
|
3364
|
+
'entity', // Process html entity - {, ¯, ", ...
|
3365
|
+
],
|
3366
|
+
block: [
|
3367
|
+
'code', // Code block (4 spaces padded)
|
3368
|
+
'fences', // fences (``` lang, ~~~ lang)
|
3369
|
+
'blockquote', // Block quotes
|
3370
|
+
'list',
|
3371
|
+
'heading', // heading (#, ##, ...)
|
3372
|
+
'paragraph',
|
3373
|
+
'hr', // Horizontal rule
|
3374
|
+
'footnote', // Process footnote reference list
|
3375
|
+
'lheading', // lheading (---, ===)
|
3376
|
+
'htmlblock', // HTML block
|
3377
|
+
'table', // GFM table, non-standard
|
3378
|
+
'deflist', // Definition lists
|
3379
|
+
],
|
3348
3380
|
};
|
3349
3381
|
|
3350
|
-
const
|
3382
|
+
const textRuleSet = {
|
3383
|
+
core: ['block', 'inline'],
|
3384
|
+
inline: [
|
3385
|
+
'text',
|
3386
|
+
'newline', // Proceess '\n'
|
3387
|
+
'backticks', // Parse backticks
|
3388
|
+
'del', // Process ~~deleted text~~
|
3389
|
+
'emphasis', // Process *this* and _that_
|
3390
|
+
'sub', // Process ~subscript~
|
3391
|
+
'sup', // Process ^superscript^
|
3392
|
+
'links', // Process [links](<to> "stuff")
|
3393
|
+
'escape', // Proceess escaped chars and hardbreaks
|
3394
|
+
'ins', // Process ++inserted text++
|
3395
|
+
'footnote_inline', // Process inline footnotes (^[...])
|
3396
|
+
'footnote_ref', // Process footnote references ([^...])
|
3397
|
+
'autolink', // Process autolinks '<protocol:...>'
|
3398
|
+
],
|
3399
|
+
block: [
|
3400
|
+
'code', // Code block (4 spaces padded)
|
3401
|
+
'fences', // fences (``` lang, ~~~ lang)
|
3402
|
+
'blockquote', // Block quotes
|
3403
|
+
'list',
|
3404
|
+
'heading', // heading (#, ##, ...)
|
3405
|
+
'paragraph',
|
3406
|
+
'footnote', // Process footnote reference list
|
3407
|
+
'htmlblock', // HTML block
|
3408
|
+
],
|
3409
|
+
};
|
3351
3410
|
|
3352
|
-
const
|
3411
|
+
const componentName$z = getComponentName('enriched-text');
|
3353
3412
|
|
3354
|
-
|
3355
|
-
|
3356
|
-
const tag = getTokenTag(token);
|
3413
|
+
let EnrichedText$2 = class EnrichedText extends createBaseClass({ componentName: componentName$z, baseSelector: ':host > div' }) {
|
3414
|
+
#origImageRenderer;
|
3357
3415
|
|
3358
|
-
|
3359
|
-
|
3360
|
-
return {
|
3361
|
-
...token,
|
3362
|
-
tag,
|
3363
|
-
};
|
3364
|
-
}
|
3416
|
+
constructor() {
|
3417
|
+
super();
|
3365
3418
|
|
3366
|
-
|
3367
|
-
|
3368
|
-
|
3369
|
-
|
3370
|
-
|
3371
|
-
|
3372
|
-
|
3419
|
+
this.attachShadow({ mode: 'open' }).innerHTML = `
|
3420
|
+
<style>
|
3421
|
+
:host {
|
3422
|
+
display: inline-block;
|
3423
|
+
}
|
3424
|
+
:host > slot {
|
3425
|
+
width: 100%;
|
3426
|
+
display: inline-block;
|
3427
|
+
}
|
3428
|
+
*, *:last-child {
|
3429
|
+
margin: 0;
|
3430
|
+
}
|
3431
|
+
h1,
|
3432
|
+
h2,
|
3433
|
+
h3,
|
3434
|
+
h4,
|
3435
|
+
h5,
|
3436
|
+
h6,
|
3437
|
+
p {
|
3438
|
+
margin-bottom: 1em;
|
3439
|
+
}
|
3440
|
+
a {
|
3441
|
+
text-decoration: none;
|
3442
|
+
cursor: pointer;
|
3443
|
+
}
|
3444
|
+
a:hover {
|
3445
|
+
text-decoration: underline;
|
3446
|
+
}
|
3447
|
+
blockquote {
|
3448
|
+
padding: 0 2em;
|
3449
|
+
}
|
3450
|
+
</style>
|
3451
|
+
<slot part="text-wrapper" style="display:none"></slot>
|
3452
|
+
<div class="content"></div>
|
3453
|
+
`;
|
3373
3454
|
|
3374
|
-
|
3375
|
-
...token,
|
3376
|
-
tag,
|
3377
|
-
};
|
3378
|
-
});
|
3455
|
+
this.textSlot = this.shadowRoot.querySelector('slot');
|
3379
3456
|
|
3380
|
-
|
3381
|
-
const selection = document.getSelection().toString();
|
3382
|
-
const clipdata = e.clipboardData || window.clipboardData;
|
3383
|
-
clipdata.setData('text/plain', selection);
|
3384
|
-
clipdata.setData('text/html', selection);
|
3385
|
-
e.preventDefault();
|
3386
|
-
};
|
3457
|
+
this.#initProcessor();
|
3387
3458
|
|
3388
|
-
|
3459
|
+
this.textSlot.addEventListener('slotchange', this.#parseChildren.bind(this));
|
3460
|
+
}
|
3461
|
+
|
3462
|
+
static get observedAttributes() {
|
3463
|
+
return ['readonly'];
|
3464
|
+
}
|
3389
3465
|
|
3390
|
-
|
3466
|
+
attributeChangedCallback(attrName, oldValue, newValue) {
|
3467
|
+
super.attributeChangedCallback?.(attrName, oldValue, newValue);
|
3391
3468
|
|
3392
|
-
|
3393
|
-
|
3394
|
-
|
3395
|
-
|
3469
|
+
if (newValue !== oldValue) {
|
3470
|
+
if (attrName === 'readonly') {
|
3471
|
+
this.onReadOnlyChange(newValue === 'true');
|
3472
|
+
}
|
3396
3473
|
}
|
3474
|
+
}
|
3397
3475
|
|
3398
|
-
|
3399
|
-
|
3476
|
+
#disableAllRules() {
|
3477
|
+
if (!this.processor) {
|
3478
|
+
return;
|
3400
3479
|
}
|
3401
3480
|
|
3402
|
-
|
3403
|
-
|
3404
|
-
|
3481
|
+
ruleSet?.core && this.processor.core.ruler.disable(ruleSet.core);
|
3482
|
+
ruleSet?.inline && this.processor.inline.ruler.disable(ruleSet.inline);
|
3483
|
+
ruleSet?.block && this.processor.block.ruler.disable(ruleSet.block);
|
3405
3484
|
|
3406
|
-
|
3407
|
-
|
3408
|
-
|
3409
|
-
|
3485
|
+
this.processor.renderer.rules.image = () => {
|
3486
|
+
return '';
|
3487
|
+
};
|
3488
|
+
}
|
3489
|
+
|
3490
|
+
#enableCustomRules() {
|
3491
|
+
if (!this.processor) {
|
3492
|
+
return;
|
3410
3493
|
}
|
3411
3494
|
|
3412
|
-
|
3413
|
-
super.attributeChangedCallback?.(attrName, oldValue, newValue);
|
3495
|
+
const customRuleSet = textRuleSet;
|
3414
3496
|
|
3415
|
-
|
3416
|
-
|
3417
|
-
|
3418
|
-
this.#parseChildren();
|
3419
|
-
}
|
3420
|
-
}
|
3497
|
+
customRuleSet?.core && this.processor?.core.ruler.enable(customRuleSet?.core);
|
3498
|
+
customRuleSet?.inline && this.processor?.inline.ruler.enable(customRuleSet?.inline);
|
3499
|
+
customRuleSet?.block && this.processor?.block.ruler.enable(customRuleSet?.block);
|
3421
3500
|
|
3422
|
-
|
3423
|
-
|
3424
|
-
}
|
3501
|
+
if (customRuleSet?.custom?.includes('image')) {
|
3502
|
+
this.processor.renderer.rules.image = this.#origImageRenderer;
|
3425
3503
|
}
|
3504
|
+
}
|
3426
3505
|
|
3427
|
-
|
3428
|
-
|
3429
|
-
|
3506
|
+
#updateProcessorRules() {
|
3507
|
+
this.#disableAllRules();
|
3508
|
+
this.#enableCustomRules();
|
3509
|
+
}
|
3430
3510
|
|
3431
|
-
|
3432
|
-
|
3511
|
+
#initProcessor() {
|
3512
|
+
this.processor = new Remarkable();
|
3513
|
+
this.#origImageRenderer = this.processor.renderer.rules.image;
|
3514
|
+
this.#updateProcessorRules();
|
3515
|
+
}
|
3433
3516
|
|
3434
|
-
|
3435
|
-
|
3436
|
-
|
3437
|
-
breaks: this.lineBreak,
|
3438
|
-
});
|
3517
|
+
get contentNode() {
|
3518
|
+
return this.shadowRoot.querySelector('.content');
|
3519
|
+
}
|
3439
3520
|
|
3440
|
-
|
3441
|
-
|
3442
|
-
|
3443
|
-
// eslint-disable-next-line no-use-before-define
|
3444
|
-
span.innerHTML = `${getStyleReset()}${result}`;
|
3445
|
-
span.addEventListener('copy', onClipboardCopy);
|
3446
|
-
node.parentNode.replaceChild(span, node);
|
3447
|
-
}
|
3448
|
-
}
|
3521
|
+
#parseChildren() {
|
3522
|
+
if (!this.processor) {
|
3523
|
+
return;
|
3449
3524
|
}
|
3450
3525
|
|
3451
|
-
|
3452
|
-
|
3526
|
+
let html = this.textContent;
|
3527
|
+
|
3528
|
+
try {
|
3529
|
+
const tokens = this.processor.parse(this.textContent);
|
3530
|
+
html = this.processor.renderer.render(tokens, { breaks: true });
|
3531
|
+
this.contentNode.innerHTML = html;
|
3532
|
+
} catch (e) {
|
3533
|
+
// eslint-disable-next-line no-console
|
3534
|
+
console.warn('Not parsing invalid markdown token');
|
3453
3535
|
}
|
3454
|
-
|
3536
|
+
|
3537
|
+
this.contentNode.innerHTML = html;
|
3538
|
+
}
|
3539
|
+
|
3540
|
+
onReadOnlyChange(isReadOnly) {
|
3541
|
+
if (isReadOnly) {
|
3542
|
+
this.setAttribute('inert', isReadOnly);
|
3543
|
+
} else {
|
3544
|
+
this.removeAttribute('inert');
|
3545
|
+
}
|
3546
|
+
}
|
3547
|
+
};
|
3455
3548
|
|
3456
3549
|
const EnrichedTextClass = compose(
|
3457
3550
|
createStyleMixin({
|
@@ -3463,26 +3556,14 @@ const EnrichedTextClass = compose(
|
|
3463
3556
|
fontWeight: {},
|
3464
3557
|
textColor: { property: 'color' },
|
3465
3558
|
textLineHeight: { property: 'line-height' },
|
3466
|
-
marginReset: { selector: '*', property: 'margin' },
|
3467
3559
|
textAlign: {},
|
3560
|
+
linkColor: { selector: 'a', property: 'color' },
|
3468
3561
|
},
|
3469
3562
|
}),
|
3563
|
+
createStyleMixin({ componentNameOverride: getComponentName('link') }),
|
3470
3564
|
draggableMixin,
|
3471
|
-
componentNameValidationMixin
|
3472
|
-
|
3473
|
-
hideWhenEmptyMixin
|
3474
|
-
)(BaseEnrichedTextClass);
|
3475
|
-
|
3476
|
-
function getStyleReset() {
|
3477
|
-
return `
|
3478
|
-
<style>
|
3479
|
-
.enriched-text > * { margin:0 }
|
3480
|
-
.enriched-text > *:not(:only-child):not(:last-child) {
|
3481
|
-
margin-bottom: var(${EnrichedTextClass.cssVarList.textLineHeight})
|
3482
|
-
}
|
3483
|
-
</style>
|
3484
|
-
`;
|
3485
|
-
}
|
3565
|
+
componentNameValidationMixin
|
3566
|
+
)(EnrichedText$2);
|
3486
3567
|
|
3487
3568
|
customElements.define(componentName$z, EnrichedTextClass);
|
3488
3569
|
|
@@ -11562,6 +11643,8 @@ const EnrichedText = {
|
|
11562
11643
|
[vars$q.textAlign]: 'left',
|
11563
11644
|
[vars$q.textColor]: globalRefs$i.colors.surface.dark,
|
11564
11645
|
|
11646
|
+
[vars$q.linkColor]: `var(${LinkClass.cssVarList.textColor})`,
|
11647
|
+
|
11565
11648
|
mode: {
|
11566
11649
|
primary: {
|
11567
11650
|
[vars$q.textColor]: globalRefs$i.colors.surface.contrast,
|