@descope/web-components-ui 1.109.0 → 1.110.0

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.
Files changed (37) hide show
  1. package/dist/cjs/index.cjs.js +330 -330
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +393 -393
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/DescopeDev.js +1 -1
  6. package/dist/umd/DescopeDev.js.map +1 -1
  7. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +3 -3
  8. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
  9. package/dist/umd/descope-button.js +4 -4
  10. package/dist/umd/descope-button.js.map +1 -1
  11. package/dist/umd/descope-collapsible-container.js +1 -1
  12. package/dist/umd/descope-collapsible-container.js.map +1 -1
  13. package/dist/umd/descope-date-field-descope-calendar-index-js.js +1 -1
  14. package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -1
  15. package/dist/umd/descope-icon.js +1 -1
  16. package/dist/umd/descope-icon.js.map +1 -1
  17. package/dist/umd/descope-image.js +1 -1
  18. package/dist/umd/descope-image.js.map +1 -1
  19. package/dist/umd/descope-third-party-app-logo-index-js.js +1 -1
  20. package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -1
  21. package/dist/umd/descope-timer-button.js +2 -2
  22. package/dist/umd/descope-timer-button.js.map +1 -1
  23. package/dist/umd/descope-timer.js +1 -1
  24. package/dist/umd/descope-timer.js.map +1 -1
  25. package/dist/umd/descope-upload-file-index-js.js +3 -3
  26. package/dist/umd/descope-upload-file-index-js.js.map +1 -1
  27. package/dist/umd/descope-user-attribute-index-js.js +4 -4
  28. package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
  29. package/dist/umd/descope-user-auth-method-index-js.js +2 -2
  30. package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
  31. package/dist/umd/index.js +1 -1
  32. package/dist/umd/index.js.map +1 -1
  33. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  34. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
  35. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  36. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
  37. package/package.json +6 -6
@@ -3,9 +3,9 @@
3
3
  var merge = require('lodash.merge');
4
4
  require('lodash.debounce');
5
5
  var Color = require('color');
6
+ var DOMPurify = require('dompurify');
6
7
  var MarkdownIt = require('markdown-it');
7
8
  require('libphonenumber-js/min');
8
- var DOMPurify = require('dompurify');
9
9
  var hljs = require('highlight.js');
10
10
  var core = require('@zxcvbn-ts/core');
11
11
  var zxcvbnCommonPackage = require('@zxcvbn-ts/language-common');
@@ -2721,12 +2721,206 @@ const createDynamicDataMixin$1 =
2721
2721
  }
2722
2722
  };
2723
2723
 
2724
- const componentName$1c = getComponentName('icon');
2724
+ const getFileExtension = (path) => {
2725
+ const match = path.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);
2726
+ return match ? match[1] : null;
2727
+ };
2725
2728
 
2726
- const IconClass = compose(
2729
+ const base64Prefix = 'data:image/svg+xml;base64,';
2730
+
2731
+ const isBase64Svg = (src) => src.startsWith(base64Prefix);
2732
+
2733
+ const createImgEle = (src, altText) => {
2734
+ const ele = document.createElement('img');
2735
+ ele.setAttribute('src', src);
2736
+ ele.setAttribute('alt', altText);
2737
+ return ele;
2738
+ };
2739
+
2740
+ const createSvgEle = (text) => {
2741
+ // we want to purify the SVG to avoid XSS attacks
2742
+ const clean = DOMPurify.sanitize(text, {
2743
+ USE_PROFILES: { svg: true, svgFilters: true },
2744
+ // allow image to render
2745
+ ADD_TAGS: ['image'],
2746
+ // forbid interactiviy via `use` tags (which are sanitized by default)
2747
+ FORBID_TAGS: ['defs']
2748
+ });
2749
+
2750
+ const parser = new DOMParser();
2751
+ const ele = parser
2752
+ .parseFromString(clean, 'image/svg+xml')
2753
+ .querySelector('svg');
2754
+ return ele;
2755
+ };
2756
+
2757
+ const createImage = async (src, altText) => {
2758
+ try {
2759
+ let ele;
2760
+ if (isBase64Svg(src)) {
2761
+ // handle base64 source
2762
+ const svgXml = atob(src.slice(base64Prefix.length));
2763
+ ele = createSvgEle(svgXml);
2764
+ } else if (getFileExtension(src) === 'svg') {
2765
+ // handle urls
2766
+ const fetchedSrc = await fetch(src);
2767
+ const text = await fetchedSrc.text();
2768
+ ele = createSvgEle(text);
2769
+ } else {
2770
+ // handle binary
2771
+ ele = createImgEle(src, altText);
2772
+ }
2773
+
2774
+ ele.style.setProperty('max-width', '100%');
2775
+ ele.style.setProperty('max-height', '100%');
2776
+
2777
+ return ele;
2778
+ } catch {
2779
+ return null;
2780
+ }
2781
+ };
2782
+
2783
+ /* eslint-disable no-use-before-define */
2784
+
2785
+ const componentName$1c = getComponentName('image');
2786
+
2787
+ const srcAttrs = ['src', 'src-dark'];
2788
+
2789
+ class RawImage extends createBaseClass$1({
2790
+ componentName: componentName$1c,
2791
+ baseSelector: 'slot',
2792
+ }) {
2793
+ static get observedAttributes() {
2794
+ return srcAttrs;
2795
+ }
2796
+
2797
+ constructor() {
2798
+ super();
2799
+
2800
+ this.attachShadow({ mode: 'open' }).innerHTML = `
2801
+ <slot></slot>
2802
+ `;
2803
+
2804
+ injectStyle(
2805
+ `
2806
+ :host {
2807
+ display: inline-flex;
2808
+ }
2809
+ :host > slot {
2810
+ width: 100%;
2811
+ height: 100%;
2812
+ box-sizing: border-box;
2813
+ display: flex;
2814
+ overflow: hidden;
2815
+ }
2816
+
2817
+ ::slotted(*) {
2818
+ width: 100%;
2819
+ }
2820
+
2821
+ .hidden {
2822
+ display: none;
2823
+ }
2824
+ `,
2825
+ this,
2826
+ );
2827
+ }
2828
+
2829
+ init() {
2830
+ super.init?.();
2831
+ this.toggleVisibility(this.src);
2832
+ }
2833
+
2834
+ onThemeChange() {
2835
+ this.renderImage();
2836
+ }
2837
+
2838
+ toggleVisibility(isVisible) {
2839
+ if (isVisible) {
2840
+ this.classList.remove('hidden');
2841
+ } else {
2842
+ this.classList.add('hidden');
2843
+ }
2844
+ }
2845
+
2846
+ get altText() {
2847
+ return this.getAttribute('alt') || '';
2848
+ }
2849
+
2850
+ get legacySrc() {
2851
+ return this.getAttribute('src');
2852
+ }
2853
+
2854
+ get themeSrc() {
2855
+ return this.getAttribute(`src-${this.currentThemeName}`);
2856
+ }
2857
+
2858
+ get src() {
2859
+ return this.themeSrc || this.legacySrc;
2860
+ }
2861
+
2862
+ // in order to fill an SVG with `currentColor` override all of its `fill` and `path` nodes
2863
+ // with the value from the `st-fill` attribute
2864
+ // eslint-disable-next-line class-methods-use-this
2865
+ updateFillColor(node) {
2866
+ // set fill to root node and all its relevant selectors
2867
+ const elementsToReplace = [node, ...node.querySelectorAll('*[fill]')];
2868
+
2869
+ elementsToReplace.forEach((ele) => {
2870
+ ele.setAttribute(
2871
+ 'fill',
2872
+ `var(${ImageClass.cssVarList.fill}, ${ele.getAttribute('fill') || "''"})`,
2873
+ );
2874
+ });
2875
+ }
2876
+
2877
+ renderImage() {
2878
+ this.toggleVisibility(this.src);
2879
+
2880
+ createImage(this.src, this.altText).then((res) => {
2881
+ this.innerHTML = '';
2882
+ if (res) {
2883
+ this.updateFillColor(res);
2884
+ this.appendChild(res);
2885
+ }
2886
+ });
2887
+ }
2888
+
2889
+ // render only when src attribute matches current theme
2890
+ shouldRender(src) {
2891
+ const srcVal = this.getAttribute(src);
2892
+ return this.src === srcVal;
2893
+ }
2894
+
2895
+ attributeChangedCallback(attrName, oldValue, newValue) {
2896
+ super.attributeChangedCallback?.(attrName, oldValue, newValue);
2897
+
2898
+ if (oldValue === newValue) return;
2899
+
2900
+ if (this.shouldRender(attrName)) {
2901
+ this.renderImage();
2902
+ }
2903
+ }
2904
+ }
2905
+
2906
+ const ImageClass = compose(
2727
2907
  createStyleMixin$1({
2728
2908
  mappings: {
2729
2909
  fill: {},
2910
+ height: { selector: () => ':host' },
2911
+ width: { selector: () => ':host' },
2912
+ },
2913
+ }),
2914
+ draggableMixin$1,
2915
+ componentNameValidationMixin$1,
2916
+ )(RawImage);
2917
+
2918
+ const componentName$1b = getComponentName('icon');
2919
+
2920
+ const IconClass = compose(
2921
+ createStyleMixin$1({
2922
+ mappings: {
2923
+ fill: [{}, { property: ImageClass.cssVarList.fill }],
2730
2924
  },
2731
2925
  }),
2732
2926
  draggableMixin$1,
@@ -2741,7 +2935,7 @@ const IconClass = compose(
2741
2935
  }
2742
2936
  `,
2743
2937
  excludeAttrsSync: ['tabindex', 'class'],
2744
- componentName: componentName$1c,
2938
+ componentName: componentName$1b,
2745
2939
  }),
2746
2940
  );
2747
2941
 
@@ -2756,7 +2950,7 @@ const clickableMixin = (superclass) =>
2756
2950
  }
2757
2951
  };
2758
2952
 
2759
- const componentName$1b = getComponentName('button');
2953
+ const componentName$1a = getComponentName('button');
2760
2954
 
2761
2955
  const resetStyles = `
2762
2956
  :host {
@@ -2832,9 +3026,9 @@ const ButtonClass = compose(
2832
3026
 
2833
3027
  labelTextColor: { property: 'color' },
2834
3028
  iconColor: {
2835
- selector: () => `::slotted(*)`,
2836
- property: IconClass.cssVarList.fill,
2837
- },
3029
+ selector: () => `::slotted(*)`,
3030
+ property: IconClass.cssVarList.fill
3031
+ },
2838
3032
  labelTextDecoration: { ...label$a, property: 'text-decoration' },
2839
3033
  labelSpacing: { ...label$a, property: 'gap' },
2840
3034
  textAlign: { ...label$a, property: 'justify-content', fallback: 'center' },
@@ -2872,7 +3066,7 @@ const ButtonClass = compose(
2872
3066
  }
2873
3067
  `,
2874
3068
  excludeAttrsSync: ['tabindex'],
2875
- componentName: componentName$1b,
3069
+ componentName: componentName$1a,
2876
3070
  })
2877
3071
  );
2878
3072
 
@@ -2920,7 +3114,7 @@ const mode = {
2920
3114
  surface: globalRefs$G.colors.surface,
2921
3115
  };
2922
3116
 
2923
- const [helperTheme$5, helperRefs$5, helperVars$5] = createHelperVars$1({ mode }, componentName$1b);
3117
+ const [helperTheme$5, helperRefs$5, helperVars$5] = createHelperVars$1({ mode }, componentName$1a);
2924
3118
 
2925
3119
  const button = {
2926
3120
  ...helperTheme$5,
@@ -4789,7 +4983,7 @@ const inputFloatingLabelStyle = () => {
4789
4983
  `;
4790
4984
  };
4791
4985
 
4792
- const componentName$1a = getComponentName$1('text-field');
4986
+ const componentName$19 = getComponentName$1('text-field');
4793
4987
 
4794
4988
  const observedAttrs$4 = ['type', 'label-type', 'copy-to-clipboard'];
4795
4989
 
@@ -4911,11 +5105,11 @@ const TextFieldClass = compose$1(
4911
5105
  }
4912
5106
  `,
4913
5107
  excludeAttrsSync: ['tabindex', 'style'],
4914
- componentName: componentName$1a,
5108
+ componentName: componentName$19,
4915
5109
  })
4916
5110
  );
4917
5111
 
4918
- const componentName$19 = getComponentName$1('input-wrapper');
5112
+ const componentName$18 = getComponentName$1('input-wrapper');
4919
5113
  const globalRefs$F = getThemeRefs(globals$1);
4920
5114
 
4921
5115
  const [theme$2, refs$1, vars$$] = createHelperVars(
@@ -5037,7 +5231,7 @@ const [theme$2, refs$1, vars$$] = createHelperVars(
5037
5231
  backgroundColor: globalRefs$F.colors.surface.main,
5038
5232
  },
5039
5233
  },
5040
- componentName$19
5234
+ componentName$18
5041
5235
  );
5042
5236
 
5043
5237
  var inputWrapper = /*#__PURE__*/Object.freeze({
@@ -5150,7 +5344,7 @@ const passwordDraggableMixin = (superclass) =>
5150
5344
  }
5151
5345
  };
5152
5346
 
5153
- const componentName$18 = getComponentName$1('password');
5347
+ const componentName$17 = getComponentName$1('password');
5154
5348
 
5155
5349
  const customMixin$d = (superclass) =>
5156
5350
  class PasswordFieldMixinClass extends superclass {
@@ -5432,7 +5626,7 @@ const PasswordClass = compose$1(
5432
5626
  }
5433
5627
  `,
5434
5628
  excludeAttrsSync: ['tabindex'],
5435
- componentName: componentName$18,
5629
+ componentName: componentName$17,
5436
5630
  })
5437
5631
  );
5438
5632
 
@@ -5491,7 +5685,7 @@ var password$1 = /*#__PURE__*/Object.freeze({
5491
5685
  vars: vars$Z
5492
5686
  });
5493
5687
 
5494
- const componentName$17 = getComponentName$1('number-field');
5688
+ const componentName$16 = getComponentName$1('number-field');
5495
5689
 
5496
5690
  const NumberFieldClass = compose$1(
5497
5691
  createStyleMixin({
@@ -5525,7 +5719,7 @@ const NumberFieldClass = compose$1(
5525
5719
  }
5526
5720
  `,
5527
5721
  excludeAttrsSync: ['tabindex'],
5528
- componentName: componentName$17,
5722
+ componentName: componentName$16,
5529
5723
  })
5530
5724
  );
5531
5725
 
@@ -5581,7 +5775,7 @@ var numberField$1 = /*#__PURE__*/Object.freeze({
5581
5775
  vars: vars$Y
5582
5776
  });
5583
5777
 
5584
- const componentName$16 = getComponentName$1('email-field');
5778
+ const componentName$15 = getComponentName$1('email-field');
5585
5779
 
5586
5780
  const defaultPattern = "^[\\w\\.\\%\\+\\-']+@[\\w\\.\\-]+\\.[A-Za-z]{2,}$";
5587
5781
  const defaultAutocomplete = 'username';
@@ -5650,7 +5844,7 @@ const EmailFieldClass = compose$1(
5650
5844
  }
5651
5845
  `,
5652
5846
  excludeAttrsSync: ['tabindex'],
5653
- componentName: componentName$16,
5847
+ componentName: componentName$15,
5654
5848
  })
5655
5849
  );
5656
5850
 
@@ -5706,7 +5900,7 @@ var emailField$1 = /*#__PURE__*/Object.freeze({
5706
5900
  vars: vars$X
5707
5901
  });
5708
5902
 
5709
- const componentName$15 = getComponentName$1('text-area');
5903
+ const componentName$14 = getComponentName$1('text-area');
5710
5904
 
5711
5905
  const {
5712
5906
  host: host$q,
@@ -5788,7 +5982,7 @@ const TextAreaClass = compose$1(
5788
5982
  ${resetInputCursor('vaadin-text-area')}
5789
5983
  `,
5790
5984
  excludeAttrsSync: ['tabindex'],
5791
- componentName: componentName$15,
5985
+ componentName: componentName$14,
5792
5986
  })
5793
5987
  );
5794
5988
 
@@ -5850,9 +6044,9 @@ const createBaseInputClass = (...args) =>
5850
6044
  inputEventsDispatchingMixin
5851
6045
  )(createBaseClass(...args));
5852
6046
 
5853
- const componentName$14 = getComponentName$1('boolean-field-internal');
6047
+ const componentName$13 = getComponentName$1('boolean-field-internal');
5854
6048
 
5855
- createBaseInputClass({ componentName: componentName$14, baseSelector: 'div' });
6049
+ createBaseInputClass({ componentName: componentName$13, baseSelector: 'div' });
5856
6050
 
5857
6051
  const booleanFieldMixin = (superclass) =>
5858
6052
  class BooleanFieldMixinClass extends superclass {
@@ -5861,14 +6055,14 @@ const booleanFieldMixin = (superclass) =>
5861
6055
 
5862
6056
  const template = document.createElement('template');
5863
6057
  template.innerHTML = `
5864
- <${componentName$14}
6058
+ <${componentName$13}
5865
6059
  tabindex="-1"
5866
6060
  slot="input"
5867
- ></${componentName$14}>
6061
+ ></${componentName$13}>
5868
6062
  `;
5869
6063
 
5870
6064
  this.baseElement.appendChild(template.content.cloneNode(true));
5871
- this.inputElement = this.shadowRoot.querySelector(componentName$14);
6065
+ this.inputElement = this.shadowRoot.querySelector(componentName$13);
5872
6066
  this.checkbox = this.inputElement.querySelector('vaadin-checkbox');
5873
6067
 
5874
6068
  forwardAttrs$1(this, this.inputElement, {
@@ -5937,7 +6131,7 @@ descope-boolean-field-internal {
5937
6131
  }
5938
6132
  `;
5939
6133
 
5940
- const componentName$13 = getComponentName$1('checkbox');
6134
+ const componentName$12 = getComponentName$1('checkbox');
5941
6135
 
5942
6136
  const {
5943
6137
  host: host$p,
@@ -6055,7 +6249,7 @@ const CheckboxClass = compose$1(
6055
6249
  }
6056
6250
  `,
6057
6251
  excludeAttrsSync: ['label', 'tabindex'],
6058
- componentName: componentName$13,
6252
+ componentName: componentName$12,
6059
6253
  })
6060
6254
  );
6061
6255
 
@@ -6100,7 +6294,7 @@ var checkbox$1 = /*#__PURE__*/Object.freeze({
6100
6294
  vars: vars$V
6101
6295
  });
6102
6296
 
6103
- const componentName$12 = getComponentName$1('switch-toggle');
6297
+ const componentName$11 = getComponentName$1('switch-toggle');
6104
6298
 
6105
6299
  const {
6106
6300
  host: host$o,
@@ -6239,7 +6433,7 @@ const SwitchToggleClass = compose$1(
6239
6433
  }
6240
6434
  `,
6241
6435
  excludeAttrsSync: ['label', 'tabindex'],
6242
- componentName: componentName$12,
6436
+ componentName: componentName$11,
6243
6437
  })
6244
6438
  );
6245
6439
 
@@ -6320,9 +6514,9 @@ var switchToggle$1 = /*#__PURE__*/Object.freeze({
6320
6514
  vars: vars$U
6321
6515
  });
6322
6516
 
6323
- const componentName$11 = getComponentName$1('container');
6517
+ const componentName$10 = getComponentName$1('container');
6324
6518
 
6325
- class RawContainer extends createBaseClass({ componentName: componentName$11, baseSelector: 'slot' }) {
6519
+ class RawContainer extends createBaseClass({ componentName: componentName$10, baseSelector: 'slot' }) {
6326
6520
  constructor() {
6327
6521
  super();
6328
6522
 
@@ -6407,7 +6601,7 @@ const [helperTheme$4, helperRefs$4, helperVars$4] = createHelperVars(
6407
6601
  horizontalAlignment,
6408
6602
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
6409
6603
  },
6410
- componentName$11
6604
+ componentName$10
6411
6605
  );
6412
6606
 
6413
6607
  const { shadowColor: shadowColor$4 } = helperRefs$4;
@@ -6567,10 +6761,10 @@ const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) =>
6567
6761
  return CssVarImageClass;
6568
6762
  };
6569
6763
 
6570
- const componentName$10 = getComponentName$1('logo');
6764
+ const componentName$$ = getComponentName$1('logo');
6571
6765
 
6572
6766
  const LogoClass = createCssVarImageClass({
6573
- componentName: componentName$10,
6767
+ componentName: componentName$$,
6574
6768
  varName: 'url',
6575
6769
  fallbackVarName: 'fallbackUrl',
6576
6770
  });
@@ -6587,10 +6781,10 @@ var logo$3 = /*#__PURE__*/Object.freeze({
6587
6781
  vars: vars$S
6588
6782
  });
6589
6783
 
6590
- const componentName$$ = getComponentName$1('totp-image');
6784
+ const componentName$_ = getComponentName$1('totp-image');
6591
6785
 
6592
6786
  const TotpImageClass = createCssVarImageClass({
6593
- componentName: componentName$$,
6787
+ componentName: componentName$_,
6594
6788
  varName: 'url',
6595
6789
  fallbackVarName: 'fallbackUrl',
6596
6790
  });
@@ -6607,10 +6801,10 @@ var totpImage = /*#__PURE__*/Object.freeze({
6607
6801
  vars: vars$R
6608
6802
  });
6609
6803
 
6610
- const componentName$_ = getComponentName$1('notp-image');
6804
+ const componentName$Z = getComponentName$1('notp-image');
6611
6805
 
6612
6806
  const NotpImageClass = createCssVarImageClass({
6613
- componentName: componentName$_,
6807
+ componentName: componentName$Z,
6614
6808
  varName: 'url',
6615
6809
  fallbackVarName: 'fallbackUrl',
6616
6810
  });
@@ -6627,10 +6821,10 @@ var notpImage = /*#__PURE__*/Object.freeze({
6627
6821
  vars: vars$Q
6628
6822
  });
6629
6823
 
6630
- const componentName$Z = getComponentName('text');
6824
+ const componentName$Y = getComponentName('text');
6631
6825
 
6632
6826
  class RawText extends createBaseClass$1({
6633
- componentName: componentName$Z,
6827
+ componentName: componentName$Y,
6634
6828
  baseSelector: ':host > slot',
6635
6829
  }) {
6636
6830
  constructor() {
@@ -6819,9 +7013,9 @@ const decodeHTML = (html) => {
6819
7013
  /* eslint-disable no-param-reassign */
6820
7014
 
6821
7015
 
6822
- const componentName$Y = getComponentName('enriched-text');
7016
+ const componentName$X = getComponentName('enriched-text');
6823
7017
 
6824
- class EnrichedText extends createBaseClass$1({ componentName: componentName$Y, baseSelector: ':host > div' }) {
7018
+ class EnrichedText extends createBaseClass$1({ componentName: componentName$X, baseSelector: ':host > div' }) {
6825
7019
  #origLinkRenderer;
6826
7020
 
6827
7021
  #origEmRenderer;
@@ -7018,9 +7212,9 @@ const EnrichedTextClass = compose(
7018
7212
  componentNameValidationMixin$1
7019
7213
  )(EnrichedText);
7020
7214
 
7021
- const componentName$X = getComponentName('link');
7215
+ const componentName$W = getComponentName('link');
7022
7216
 
7023
- class RawLink extends createBaseClass$1({ componentName: componentName$X, baseSelector: ':host a' }) {
7217
+ class RawLink extends createBaseClass$1({ componentName: componentName$W, baseSelector: ':host a' }) {
7024
7218
  constructor() {
7025
7219
  super();
7026
7220
 
@@ -7162,8 +7356,8 @@ var enrichedText$1 = /*#__PURE__*/Object.freeze({
7162
7356
  vars: vars$N
7163
7357
  });
7164
7358
 
7165
- const componentName$W = getComponentName$1('divider');
7166
- class RawDivider extends createBaseClass({ componentName: componentName$W, baseSelector: ':host > div' }) {
7359
+ const componentName$V = getComponentName$1('divider');
7360
+ class RawDivider extends createBaseClass({ componentName: componentName$V, baseSelector: ':host > div' }) {
7167
7361
  constructor() {
7168
7362
  super();
7169
7363
 
@@ -7274,7 +7468,7 @@ const [helperTheme$3, helperRefs$3, helperVars$3] = createHelperVars(
7274
7468
  thickness: '2px',
7275
7469
  spacing: '10px',
7276
7470
  },
7277
- componentName$W
7471
+ componentName$V
7278
7472
  );
7279
7473
 
7280
7474
  const divider = {
@@ -7318,13 +7512,13 @@ var divider$1 = /*#__PURE__*/Object.freeze({
7318
7512
 
7319
7513
  /* eslint-disable no-param-reassign */
7320
7514
 
7321
- const componentName$V = getComponentName$1('passcode-internal');
7515
+ const componentName$U = getComponentName$1('passcode-internal');
7322
7516
 
7323
- createBaseInputClass({ componentName: componentName$V, baseSelector: 'div' });
7517
+ createBaseInputClass({ componentName: componentName$U, baseSelector: 'div' });
7324
7518
 
7325
- const componentName$U = getComponentName$1('loader-radial');
7519
+ const componentName$T = getComponentName$1('loader-radial');
7326
7520
 
7327
- class RawLoaderRadial extends createBaseClass({ componentName: componentName$U, baseSelector: ':host > div' }) {
7521
+ class RawLoaderRadial extends createBaseClass({ componentName: componentName$T, baseSelector: ':host > div' }) {
7328
7522
  constructor() {
7329
7523
  super();
7330
7524
 
@@ -7372,7 +7566,7 @@ const LoaderRadialClass = compose$1(
7372
7566
  componentNameValidationMixin
7373
7567
  )(RawLoaderRadial);
7374
7568
 
7375
- const componentName$T = getComponentName$1('passcode');
7569
+ const componentName$S = getComponentName$1('passcode');
7376
7570
 
7377
7571
  const observedAttributes$4 = ['digits'];
7378
7572
 
@@ -7417,18 +7611,18 @@ const customMixin$b = (superclass) =>
7417
7611
  const template = document.createElement('template');
7418
7612
 
7419
7613
  template.innerHTML = `
7420
- <${componentName$V}
7614
+ <${componentName$U}
7421
7615
  bordered="true"
7422
7616
  name="code"
7423
7617
  tabindex="-1"
7424
7618
  slot="input"
7425
7619
  role="textbox"
7426
- ><slot></slot></${componentName$V}>
7620
+ ><slot></slot></${componentName$U}>
7427
7621
  `;
7428
7622
 
7429
7623
  this.baseElement.appendChild(template.content.cloneNode(true));
7430
7624
 
7431
- this.inputElement = this.shadowRoot.querySelector(componentName$V);
7625
+ this.inputElement = this.shadowRoot.querySelector(componentName$U);
7432
7626
 
7433
7627
  forwardAttrs$1(this, this.inputElement, { includeAttrs: ['digits', 'size', 'loading'] });
7434
7628
  }
@@ -7587,7 +7781,7 @@ const PasscodeClass = compose$1(
7587
7781
  ${resetInputCursor('vaadin-text-field')}
7588
7782
  `,
7589
7783
  excludeAttrsSync: ['tabindex'],
7590
- componentName: componentName$T,
7784
+ componentName: componentName$S,
7591
7785
  })
7592
7786
  );
7593
7787
 
@@ -7640,11 +7834,11 @@ var passcode$1 = /*#__PURE__*/Object.freeze({
7640
7834
  vars: vars$L
7641
7835
  });
7642
7836
 
7643
- const componentName$S = getComponentName$1('loader-linear');
7837
+ const componentName$R = getComponentName$1('loader-linear');
7644
7838
 
7645
- class RawLoaderLinear extends createBaseClass({ componentName: componentName$S, baseSelector: ':host > div' }) {
7839
+ class RawLoaderLinear extends createBaseClass({ componentName: componentName$R, baseSelector: ':host > div' }) {
7646
7840
  static get componentName() {
7647
- return componentName$S;
7841
+ return componentName$R;
7648
7842
  }
7649
7843
 
7650
7844
  constructor() {
@@ -7769,7 +7963,7 @@ const [helperTheme$2, helperRefs$2, helperVars$2] = createHelperVars(
7769
7963
  },
7770
7964
  },
7771
7965
  },
7772
- componentName$U
7966
+ componentName$T
7773
7967
  );
7774
7968
 
7775
7969
  const loaderRadial = {
@@ -7809,7 +8003,7 @@ var loaderRadial$1 = /*#__PURE__*/Object.freeze({
7809
8003
  vars: vars$J
7810
8004
  });
7811
8005
 
7812
- const componentName$R = getComponentName('combo-box');
8006
+ const componentName$Q = getComponentName('combo-box');
7813
8007
 
7814
8008
  const ComboBoxMixin = (superclass) =>
7815
8009
  class ComboBoxMixinClass extends superclass {
@@ -8458,12 +8652,12 @@ const ComboBoxClass = compose(
8458
8652
  // and reset items to an empty array, and opening the list box with no items
8459
8653
  // to display.
8460
8654
  excludeAttrsSync: ['tabindex', 'size', 'data', 'loading'],
8461
- componentName: componentName$R,
8655
+ componentName: componentName$Q,
8462
8656
  includeForwardProps: ['items', 'renderer', 'selectedItem'],
8463
8657
  }),
8464
8658
  );
8465
8659
 
8466
- const componentName$Q = getComponentName('input-wrapper');
8660
+ const componentName$P = getComponentName('input-wrapper');
8467
8661
  const globalRefs$u = getThemeRefs$1(globals);
8468
8662
 
8469
8663
  const [theme$1, refs, vars$I] = createHelperVars$1(
@@ -8586,7 +8780,7 @@ const [theme$1, refs, vars$I] = createHelperVars$1(
8586
8780
  backgroundColor: globalRefs$u.colors.surface.main,
8587
8781
  },
8588
8782
  },
8589
- componentName$Q,
8783
+ componentName$P,
8590
8784
  );
8591
8785
 
8592
8786
  const globalRefs$t = getThemeRefs$1(globals);
@@ -9904,14 +10098,14 @@ var CountryCodes = [
9904
10098
  ].sort((a, b) => (a.name < b.name ? -1 : 1)),
9905
10099
  ];
9906
10100
 
9907
- const componentName$P = getComponentName$1('phone-field-internal');
10101
+ const componentName$O = getComponentName$1('phone-field-internal');
9908
10102
 
9909
- createBaseInputClass({ componentName: componentName$P, baseSelector: 'div' });
10103
+ createBaseInputClass({ componentName: componentName$O, baseSelector: 'div' });
9910
10104
 
9911
10105
  const textVars$3 = TextFieldClass.cssVarList;
9912
10106
  const comboVars = ComboBoxClass.cssVarList;
9913
10107
 
9914
- const componentName$O = getComponentName$1('phone-field');
10108
+ const componentName$N = getComponentName$1('phone-field');
9915
10109
 
9916
10110
  const customMixin$a = (superclass) =>
9917
10111
  class PhoneFieldMixinClass extends superclass {
@@ -9925,15 +10119,15 @@ const customMixin$a = (superclass) =>
9925
10119
  const template = document.createElement('template');
9926
10120
 
9927
10121
  template.innerHTML = `
9928
- <${componentName$P}
10122
+ <${componentName$O}
9929
10123
  tabindex="-1"
9930
10124
  slot="input"
9931
- ></${componentName$P}>
10125
+ ></${componentName$O}>
9932
10126
  `;
9933
10127
 
9934
10128
  this.baseElement.appendChild(template.content.cloneNode(true));
9935
10129
 
9936
- this.inputElement = this.shadowRoot.querySelector(componentName$P);
10130
+ this.inputElement = this.shadowRoot.querySelector(componentName$O);
9937
10131
 
9938
10132
  forwardAttrs$1(this.shadowRoot.host, this.inputElement, {
9939
10133
  includeAttrs: [
@@ -10205,7 +10399,7 @@ const PhoneFieldClass = compose$1(
10205
10399
  ${resetInputLabelPosition('vaadin-text-field')}
10206
10400
  `,
10207
10401
  excludeAttrsSync: ['tabindex'],
10208
- componentName: componentName$O,
10402
+ componentName: componentName$N,
10209
10403
  })
10210
10404
  );
10211
10405
 
@@ -10255,13 +10449,13 @@ var phoneField$1 = /*#__PURE__*/Object.freeze({
10255
10449
  vars: vars$G
10256
10450
  });
10257
10451
 
10258
- const componentName$N = getComponentName$1('phone-field-internal-input-box');
10452
+ const componentName$M = getComponentName$1('phone-field-internal-input-box');
10259
10453
 
10260
- createBaseInputClass({ componentName: componentName$N, baseSelector: 'div' });
10454
+ createBaseInputClass({ componentName: componentName$M, baseSelector: 'div' });
10261
10455
 
10262
10456
  const textVars$2 = TextFieldClass.cssVarList;
10263
10457
 
10264
- const componentName$M = getComponentName$1('phone-input-box-field');
10458
+ const componentName$L = getComponentName$1('phone-input-box-field');
10265
10459
 
10266
10460
  const customMixin$9 = (superclass) =>
10267
10461
  class PhoneFieldInputBoxMixinClass extends superclass {
@@ -10275,15 +10469,15 @@ const customMixin$9 = (superclass) =>
10275
10469
  const template = document.createElement('template');
10276
10470
 
10277
10471
  template.innerHTML = `
10278
- <${componentName$N}
10472
+ <${componentName$M}
10279
10473
  tabindex="-1"
10280
10474
  slot="input"
10281
- ></${componentName$N}>
10475
+ ></${componentName$M}>
10282
10476
  `;
10283
10477
 
10284
10478
  this.baseElement.appendChild(template.content.cloneNode(true));
10285
10479
 
10286
- this.inputElement = this.shadowRoot.querySelector(componentName$N);
10480
+ this.inputElement = this.shadowRoot.querySelector(componentName$M);
10287
10481
 
10288
10482
  forwardAttrs$1(this.shadowRoot.host, this.inputElement, {
10289
10483
  includeAttrs: [
@@ -10487,7 +10681,7 @@ const PhoneFieldInputBoxClass = compose$1(
10487
10681
  ${inputFloatingLabelStyle()}
10488
10682
  `,
10489
10683
  excludeAttrsSync: ['tabindex'],
10490
- componentName: componentName$M,
10684
+ componentName: componentName$L,
10491
10685
  })
10492
10686
  );
10493
10687
 
@@ -10543,14 +10737,14 @@ var phoneInputBoxField$1 = /*#__PURE__*/Object.freeze({
10543
10737
  vars: vars$F
10544
10738
  });
10545
10739
 
10546
- const componentName$L = getComponentName$1('new-password-internal');
10740
+ const componentName$K = getComponentName$1('new-password-internal');
10547
10741
 
10548
10742
  const interpolateString = (template, values) =>
10549
10743
  template.replace(/{{(\w+)+}}/g, (match, key) => values?.[key] || match);
10550
10744
 
10551
10745
  // eslint-disable-next-line max-classes-per-file
10552
10746
 
10553
- const componentName$K = getComponentName$1('policy-validation');
10747
+ const componentName$J = getComponentName$1('policy-validation');
10554
10748
 
10555
10749
  const overrideAttrs = [
10556
10750
  'data-password-policy-value-minlength',
@@ -10560,7 +10754,7 @@ const overrideAttrs = [
10560
10754
  const dataAttrs = ['data', 'active-policies', 'overrides', ...overrideAttrs];
10561
10755
  const policyAttrs = ['label', 'value', ...dataAttrs];
10562
10756
 
10563
- class RawPolicyValidation extends createBaseClass({ componentName: componentName$K, baseSelector: ':host > div' }) {
10757
+ class RawPolicyValidation extends createBaseClass({ componentName: componentName$J, baseSelector: ':host > div' }) {
10564
10758
  #availablePolicies;
10565
10759
 
10566
10760
  #activePolicies = [];
@@ -10832,7 +11026,7 @@ const PolicyValidationClass = compose$1(
10832
11026
  componentNameValidationMixin
10833
11027
  )(RawPolicyValidation);
10834
11028
 
10835
- const componentName$J = getComponentName$1('new-password');
11029
+ const componentName$I = getComponentName$1('new-password');
10836
11030
 
10837
11031
  const policyPreviewVars = PolicyValidationClass.cssVarList;
10838
11032
 
@@ -10846,18 +11040,18 @@ const customMixin$8 = (superclass) =>
10846
11040
  const externalInputAttr = this.getAttribute('external-input');
10847
11041
 
10848
11042
  template.innerHTML = `
10849
- <${componentName$L}
11043
+ <${componentName$K}
10850
11044
  name="new-password"
10851
11045
  tabindex="-1"
10852
11046
  slot="input"
10853
11047
  external-input="${externalInputAttr}"
10854
11048
  >
10855
- </${componentName$L}>
11049
+ </${componentName$K}>
10856
11050
  `;
10857
11051
 
10858
11052
  this.baseElement.appendChild(template.content.cloneNode(true));
10859
11053
 
10860
- this.inputElement = this.shadowRoot.querySelector(componentName$L);
11054
+ this.inputElement = this.shadowRoot.querySelector(componentName$K);
10861
11055
 
10862
11056
  if (this.getAttribute('external-input') === 'true') {
10863
11057
  this.initExternalInput();
@@ -11041,7 +11235,7 @@ const NewPasswordClass = compose$1(
11041
11235
  }
11042
11236
  `,
11043
11237
  excludeAttrsSync: ['tabindex'],
11044
- componentName: componentName$J,
11238
+ componentName: componentName$I,
11045
11239
  })
11046
11240
  );
11047
11241
 
@@ -11097,7 +11291,7 @@ const getFilename = (fileObj) => {
11097
11291
  return fileObj.name.replace(/^.*\\/, '');
11098
11292
  };
11099
11293
 
11100
- const componentName$I = getComponentName$1('upload-file');
11294
+ const componentName$H = getComponentName$1('upload-file');
11101
11295
 
11102
11296
  const observedAttributes$3 = [
11103
11297
  'title',
@@ -11112,7 +11306,7 @@ const observedAttributes$3 = [
11112
11306
  'icon',
11113
11307
  ];
11114
11308
 
11115
- const BaseInputClass$4 = createBaseInputClass({ componentName: componentName$I, baseSelector: ':host > div' });
11309
+ const BaseInputClass$4 = createBaseInputClass({ componentName: componentName$H, baseSelector: ':host > div' });
11116
11310
 
11117
11311
  class RawUploadFile extends BaseInputClass$4 {
11118
11312
  static get observedAttributes() {
@@ -11398,10 +11592,10 @@ var uploadFile$1 = /*#__PURE__*/Object.freeze({
11398
11592
  vars: vars$D
11399
11593
  });
11400
11594
 
11401
- const componentName$H = getComponentName$1('button-selection-group-item');
11595
+ const componentName$G = getComponentName$1('button-selection-group-item');
11402
11596
 
11403
11597
  class RawSelectItem extends createBaseClass({
11404
- componentName: componentName$H,
11598
+ componentName: componentName$G,
11405
11599
  baseSelector: ':host > descope-button',
11406
11600
  }) {
11407
11601
  get size() {
@@ -11635,10 +11829,10 @@ const createBaseButtonSelectionGroupInternalClass = (componentName) => {
11635
11829
  return BaseButtonSelectionGroupInternalClass;
11636
11830
  };
11637
11831
 
11638
- const componentName$G = getComponentName$1('button-selection-group-internal');
11832
+ const componentName$F = getComponentName$1('button-selection-group-internal');
11639
11833
 
11640
11834
  class ButtonSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
11641
- componentName$G
11835
+ componentName$F
11642
11836
  ) {
11643
11837
  getSelectedNode() {
11644
11838
  return this.items.find((item) => item.hasAttribute('selected'));
@@ -11883,7 +12077,7 @@ const buttonSelectionGroupStyles = `
11883
12077
  ${resetInputCursor('vaadin-text-field')}
11884
12078
  `;
11885
12079
 
11886
- const componentName$F = getComponentName$1('button-selection-group');
12080
+ const componentName$E = getComponentName$1('button-selection-group');
11887
12081
 
11888
12082
  const buttonSelectionGroupMixin = (superclass) =>
11889
12083
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -11892,19 +12086,19 @@ const buttonSelectionGroupMixin = (superclass) =>
11892
12086
  const template = document.createElement('template');
11893
12087
 
11894
12088
  template.innerHTML = `
11895
- <${componentName$G}
12089
+ <${componentName$F}
11896
12090
  name="button-selection-group"
11897
12091
  slot="input"
11898
12092
  tabindex="-1"
11899
12093
  part="internal-component"
11900
12094
  >
11901
12095
  <slot></slot>
11902
- </${componentName$G}>
12096
+ </${componentName$F}>
11903
12097
  `;
11904
12098
 
11905
12099
  this.baseElement.appendChild(template.content.cloneNode(true));
11906
12100
 
11907
- this.inputElement = this.shadowRoot.querySelector(componentName$G);
12101
+ this.inputElement = this.shadowRoot.querySelector(componentName$F);
11908
12102
 
11909
12103
  forwardAttrs$1(this, this.inputElement, {
11910
12104
  includeAttrs: ['size', 'default-value', 'allow-deselect'],
@@ -11929,7 +12123,7 @@ const ButtonSelectionGroupClass = compose$1(
11929
12123
  wrappedEleName: 'vaadin-text-field',
11930
12124
  style: () => buttonSelectionGroupStyles,
11931
12125
  excludeAttrsSync: ['tabindex'],
11932
- componentName: componentName$F,
12126
+ componentName: componentName$E,
11933
12127
  })
11934
12128
  );
11935
12129
 
@@ -11966,10 +12160,10 @@ var buttonSelectionGroup$1 = /*#__PURE__*/Object.freeze({
11966
12160
  vars: vars$B
11967
12161
  });
11968
12162
 
11969
- const componentName$E = getComponentName$1('button-multi-selection-group-internal');
12163
+ const componentName$D = getComponentName$1('button-multi-selection-group-internal');
11970
12164
 
11971
12165
  class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
11972
- componentName$E
12166
+ componentName$D
11973
12167
  ) {
11974
12168
  #getSelectedNodes() {
11975
12169
  return this.items.filter((item) => item.hasAttribute('selected'));
@@ -12072,7 +12266,7 @@ class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGr
12072
12266
  }
12073
12267
  }
12074
12268
 
12075
- const componentName$D = getComponentName$1('button-multi-selection-group');
12269
+ const componentName$C = getComponentName$1('button-multi-selection-group');
12076
12270
 
12077
12271
  const buttonMultiSelectionGroupMixin = (superclass) =>
12078
12272
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -12081,19 +12275,19 @@ const buttonMultiSelectionGroupMixin = (superclass) =>
12081
12275
  const template = document.createElement('template');
12082
12276
 
12083
12277
  template.innerHTML = `
12084
- <${componentName$E}
12278
+ <${componentName$D}
12085
12279
  name="button-selection-group"
12086
12280
  slot="input"
12087
12281
  tabindex="-1"
12088
12282
  part="internal-component"
12089
12283
  >
12090
12284
  <slot></slot>
12091
- </${componentName$E}>
12285
+ </${componentName$D}>
12092
12286
  `;
12093
12287
 
12094
12288
  this.baseElement.appendChild(template.content.cloneNode(true));
12095
12289
 
12096
- this.inputElement = this.shadowRoot.querySelector(componentName$E);
12290
+ this.inputElement = this.shadowRoot.querySelector(componentName$D);
12097
12291
 
12098
12292
  forwardAttrs$1(this, this.inputElement, {
12099
12293
  includeAttrs: ['size', 'default-values', 'min-items-selection', 'max-items-selection'],
@@ -12118,7 +12312,7 @@ const ButtonMultiSelectionGroupClass = compose$1(
12118
12312
  wrappedEleName: 'vaadin-text-field',
12119
12313
  style: () => buttonSelectionGroupStyles,
12120
12314
  excludeAttrsSync: ['tabindex'],
12121
- componentName: componentName$D,
12315
+ componentName: componentName$C,
12122
12316
  })
12123
12317
  );
12124
12318
 
@@ -12134,7 +12328,7 @@ var buttonMultiSelectionGroup$1 = /*#__PURE__*/Object.freeze({
12134
12328
  vars: vars$A
12135
12329
  });
12136
12330
 
12137
- const componentName$C = getComponentName$1('modal');
12331
+ const componentName$B = getComponentName$1('modal');
12138
12332
 
12139
12333
  const observedAttrs$3 = ['opened'];
12140
12334
 
@@ -12258,7 +12452,7 @@ const ModalClass = compose$1(
12258
12452
  }
12259
12453
  `,
12260
12454
  excludeAttrsSync: ['tabindex', 'opened', 'style'],
12261
- componentName: componentName$C,
12455
+ componentName: componentName$B,
12262
12456
  })
12263
12457
  );
12264
12458
 
@@ -12355,7 +12549,7 @@ const defaultRowDetailsRenderer = (item, itemLabelsMapping) => {
12355
12549
  `;
12356
12550
  };
12357
12551
 
12358
- const componentName$B = getComponentName$1('grid');
12552
+ const componentName$A = getComponentName$1('grid');
12359
12553
 
12360
12554
  const GridMixin = (superclass) =>
12361
12555
  class GridMixinClass extends superclass {
@@ -12709,7 +12903,7 @@ const GridClass = compose$1(
12709
12903
  /*!css*/
12710
12904
  `,
12711
12905
  excludeAttrsSync: ['columns', 'tabindex', 'style'],
12712
- componentName: componentName$B,
12906
+ componentName: componentName$A,
12713
12907
  })
12714
12908
  );
12715
12909
 
@@ -12765,7 +12959,7 @@ var grid$1 = /*#__PURE__*/Object.freeze({
12765
12959
  vars: vars$y
12766
12960
  });
12767
12961
 
12768
- const componentName$A = getComponentName$1('notification-card');
12962
+ const componentName$z = getComponentName$1('notification-card');
12769
12963
 
12770
12964
  const notificationCardMixin = (superclass) =>
12771
12965
  class NotificationCardMixinClass extends superclass {
@@ -12873,7 +13067,7 @@ const NotificationCardClass = compose$1(
12873
13067
  }
12874
13068
  `,
12875
13069
  excludeAttrsSync: ['tabindex'],
12876
- componentName: componentName$A,
13070
+ componentName: componentName$z,
12877
13071
  })
12878
13072
  );
12879
13073
 
@@ -12931,7 +13125,7 @@ var notificationCard = /*#__PURE__*/Object.freeze({
12931
13125
  vars: vars$x
12932
13126
  });
12933
13127
 
12934
- const componentName$z = getComponentName$1('multi-select-combo-box');
13128
+ const componentName$y = getComponentName$1('multi-select-combo-box');
12935
13129
 
12936
13130
  const multiSelectComboBoxMixin = (superclass) =>
12937
13131
  class MultiSelectComboBoxMixinClass extends superclass {
@@ -13584,7 +13778,7 @@ const MultiSelectComboBoxClass = compose$1(
13584
13778
  // Note: we exclude `placeholder` because the vaadin component observes it and
13585
13779
  // tries to override it, causing us to lose the user set placeholder.
13586
13780
  excludeAttrsSync: ['tabindex', 'size', 'data', 'placeholder'],
13587
- componentName: componentName$z,
13781
+ componentName: componentName$y,
13588
13782
  includeForwardProps: ['items', 'renderer', 'selectedItems'],
13589
13783
  })
13590
13784
  );
@@ -13676,9 +13870,9 @@ var multiSelectComboBox$1 = /*#__PURE__*/Object.freeze({
13676
13870
  vars: vars$w
13677
13871
  });
13678
13872
 
13679
- const componentName$y = getComponentName$1('badge');
13873
+ const componentName$x = getComponentName$1('badge');
13680
13874
 
13681
- class RawBadge extends createBaseClass({ componentName: componentName$y, baseSelector: ':host > div' }) {
13875
+ class RawBadge extends createBaseClass({ componentName: componentName$x, baseSelector: ':host > div' }) {
13682
13876
  constructor() {
13683
13877
  super();
13684
13878
 
@@ -13804,9 +13998,9 @@ var badge$3 = /*#__PURE__*/Object.freeze({
13804
13998
  vars: vars$v
13805
13999
  });
13806
14000
 
13807
- const componentName$x = getComponentName('avatar');
14001
+ const componentName$w = getComponentName('avatar');
13808
14002
  class RawAvatar extends createBaseClass$1({
13809
- componentName: componentName$x,
14003
+ componentName: componentName$w,
13810
14004
  baseSelector: ':host > .wrapper',
13811
14005
  }) {
13812
14006
  constructor() {
@@ -13959,11 +14153,11 @@ var avatar$1 = /*#__PURE__*/Object.freeze({
13959
14153
  vars: vars$u
13960
14154
  });
13961
14155
 
13962
- const componentName$w = getComponentName$1('mappings-field-internal');
14156
+ const componentName$v = getComponentName$1('mappings-field-internal');
13963
14157
 
13964
- createBaseInputClass({ componentName: componentName$w, baseSelector: 'div' });
14158
+ createBaseInputClass({ componentName: componentName$v, baseSelector: 'div' });
13965
14159
 
13966
- const componentName$v = getComponentName$1('mappings-field');
14160
+ const componentName$u = getComponentName$1('mappings-field');
13967
14161
 
13968
14162
  const customMixin$6 = (superclass) =>
13969
14163
  class MappingsFieldMixinClass extends superclass {
@@ -13992,14 +14186,14 @@ const customMixin$6 = (superclass) =>
13992
14186
  const template = document.createElement('template');
13993
14187
 
13994
14188
  template.innerHTML = `
13995
- <${componentName$w}
14189
+ <${componentName$v}
13996
14190
  tabindex="-1"
13997
- ></${componentName$w}>
14191
+ ></${componentName$v}>
13998
14192
  `;
13999
14193
 
14000
14194
  this.baseElement.appendChild(template.content.cloneNode(true));
14001
14195
 
14002
- this.inputElement = this.shadowRoot.querySelector(componentName$w);
14196
+ this.inputElement = this.shadowRoot.querySelector(componentName$v);
14003
14197
 
14004
14198
  forwardAttrs$1(this, this.inputElement, {
14005
14199
  includeAttrs: [
@@ -14134,7 +14328,7 @@ const MappingsFieldClass = compose$1(
14134
14328
  'options',
14135
14329
  'error-message',
14136
14330
  ],
14137
- componentName: componentName$v,
14331
+ componentName: componentName$u,
14138
14332
  })
14139
14333
  );
14140
14334
 
@@ -14172,9 +14366,9 @@ var deleteIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTgi
14172
14366
 
14173
14367
  var editIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjAwMDIgMC45OTIxNDlDMTAuMDAwMiAxLjAxNjE1IDEwLjAwMDIgMS4wMTYxNSAxMC4wMDAyIDEuMDE2MTVMOC4yMjQxOSAzLjAwODE1SDIuOTkyMTlDMi40NjQxOSAzLjAwODE1IDIuMDA4MTkgMy40NDAxNSAyLjAwODE5IDMuOTkyMTVWMTIuMDA4MkMyLjAwODE5IDEyLjUzNjIgMi40NDAxOSAxMi45OTIyIDIuOTkyMTkgMTIuOTkyMkg1LjUzNjE5QzUuODQ4MTkgMTMuMDQwMiA2LjE2MDE5IDEzLjA0MDIgNi40NzIxOSAxMi45OTIySDExLjAwODJDMTEuNTM2MiAxMi45OTIyIDExLjk5MjIgMTIuNTYwMiAxMS45OTIyIDEyLjAwODJWNy43ODQxNkwxMy45MzYyIDUuNjI0MTVMMTQuMDA4MiA1LjY3MjE1VjExLjk4NDJDMTQuMDA4MiAxMy42NjQyIDEyLjY2NDIgMTUuMDA4MiAxMS4wMDgyIDE1LjAwODJIMy4wMTYxOUMxLjMzNjE5IDE1LjAwODIgLTAuMDA3ODEyNSAxMy42NjQyIC0wLjAwNzgxMjUgMTEuOTg0MlYzLjk5MjE1Qy0wLjAwNzgxMjUgMi4zMzYxNSAxLjMzNjE5IDAuOTkyMTQ5IDMuMDE2MTkgMC45OTIxNDlIMTAuMDAwMlpNMTEuMjcyMiAyLjYyNDE1TDEyLjYxNjIgNC4xMTIxNUw3LjcyMDE5IDkuNjgwMTZDNy41MDQxOSA5LjkyMDE2IDYuODMyMTkgMTAuMjMyMiA1LjY4MDE5IDEwLjYxNjJDNS42NTYxOSAxMC42NDAyIDUuNjA4MTkgMTAuNjQwMiA1LjU2MDE5IDEwLjYxNjJDNS40NjQxOSAxMC41OTIyIDUuMzkyMTkgMTAuNDcyMiA1LjQ0MDE5IDEwLjM3NjJDNS43NTIxOSA5LjI0ODE2IDYuMDQwMTkgOC41NTIxNiA2LjI1NjE5IDguMzEyMTZMMTEuMjcyMiAyLjYyNDE1Wk0xMS45MjAyIDEuODU2MTVMMTMuMjg4MiAwLjMyMDE0OUMxMy42NDgyIC0wLjA4Nzg1MTYgMTQuMjcyMiAtMC4xMTE4NTIgMTQuNjgwMiAwLjI3MjE0OUMxNS4wODgyIDAuNjMyMTQ5IDE1LjExMjIgMS4yODAxNSAxNC43NTIyIDEuNjg4MTVMMTMuMjY0MiAzLjM2ODE1TDExLjkyMDIgMS44NTYxNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPgo8L3N2Zz4K";
14174
14368
 
14175
- const componentName$u = getComponentName$1('user-attribute');
14369
+ const componentName$t = getComponentName$1('user-attribute');
14176
14370
  class RawUserAttribute extends createBaseClass({
14177
- componentName: componentName$u,
14371
+ componentName: componentName$t,
14178
14372
  baseSelector: ':host > .root',
14179
14373
  }) {
14180
14374
  constructor() {
@@ -14441,9 +14635,9 @@ var userAttribute$1 = /*#__PURE__*/Object.freeze({
14441
14635
 
14442
14636
  var greenVIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhDMCAxMi40IDMuNiAxNiA4IDE2QzEyLjQgMTYgMTYgMTIuNCAxNiA4QzE2IDMuNiAxMi40IDAgOCAwWk03LjEgMTEuN0wyLjkgNy42TDQuMyA2LjJMNyA4LjlMMTIgNEwxMy40IDUuNEw3LjEgMTEuN1oiIGZpbGw9IiM0Q0FGNTAiLz4KPC9zdmc+Cg==";
14443
14637
 
14444
- const componentName$t = getComponentName$1('user-auth-method');
14638
+ const componentName$s = getComponentName$1('user-auth-method');
14445
14639
  class RawUserAuthMethod extends createBaseClass({
14446
- componentName: componentName$t,
14640
+ componentName: componentName$s,
14447
14641
  baseSelector: ':host > .root',
14448
14642
  }) {
14449
14643
  constructor() {
@@ -14659,11 +14853,11 @@ var userAuthMethod$1 = /*#__PURE__*/Object.freeze({
14659
14853
  vars: vars$r
14660
14854
  });
14661
14855
 
14662
- const componentName$s = getComponentName$1('saml-group-mappings-internal');
14856
+ const componentName$r = getComponentName$1('saml-group-mappings-internal');
14663
14857
 
14664
- createBaseInputClass({ componentName: componentName$s, baseSelector: '' });
14858
+ createBaseInputClass({ componentName: componentName$r, baseSelector: '' });
14665
14859
 
14666
- const componentName$r = getComponentName$1('saml-group-mappings');
14860
+ const componentName$q = getComponentName$1('saml-group-mappings');
14667
14861
 
14668
14862
  const customMixin$5 = (superclass) =>
14669
14863
  class SamlGroupMappingsMixinClass extends superclass {
@@ -14673,14 +14867,14 @@ const customMixin$5 = (superclass) =>
14673
14867
  const template = document.createElement('template');
14674
14868
 
14675
14869
  template.innerHTML = `
14676
- <${componentName$s}
14870
+ <${componentName$r}
14677
14871
  tabindex="-1"
14678
- ></${componentName$s}>
14872
+ ></${componentName$r}>
14679
14873
  `;
14680
14874
 
14681
14875
  this.baseElement.appendChild(template.content.cloneNode(true));
14682
14876
 
14683
- this.inputElement = this.shadowRoot.querySelector(componentName$s);
14877
+ this.inputElement = this.shadowRoot.querySelector(componentName$r);
14684
14878
 
14685
14879
  forwardAttrs$1(this, this.inputElement, {
14686
14880
  includeAttrs: [
@@ -14764,7 +14958,7 @@ const SamlGroupMappingsClass = compose$1(
14764
14958
  'options',
14765
14959
  'error-message',
14766
14960
  ],
14767
- componentName: componentName$r,
14961
+ componentName: componentName$q,
14768
14962
  })
14769
14963
  );
14770
14964
 
@@ -14829,200 +15023,6 @@ var icon$3 = /*#__PURE__*/Object.freeze({
14829
15023
  vars: vars$o
14830
15024
  });
14831
15025
 
14832
- const getFileExtension = (path) => {
14833
- const match = path.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);
14834
- return match ? match[1] : null;
14835
- };
14836
-
14837
- const base64Prefix = 'data:image/svg+xml;base64,';
14838
-
14839
- const isBase64Svg = (src) => src.startsWith(base64Prefix);
14840
-
14841
- const createImgEle = (src, altText) => {
14842
- const ele = document.createElement('img');
14843
- ele.setAttribute('src', src);
14844
- ele.setAttribute('alt', altText);
14845
- return ele;
14846
- };
14847
-
14848
- const createSvgEle = (text) => {
14849
- // we want to purify the SVG to avoid XSS attacks
14850
- const clean = DOMPurify.sanitize(text, {
14851
- USE_PROFILES: { svg: true, svgFilters: true },
14852
- // allow image to render
14853
- ADD_TAGS: ['image'],
14854
- // forbid interactiviy via `use` tags (which are sanitized by default)
14855
- FORBID_TAGS: ['defs']
14856
- });
14857
-
14858
- const parser = new DOMParser();
14859
- const ele = parser
14860
- .parseFromString(clean, 'image/svg+xml')
14861
- .querySelector('svg');
14862
- return ele;
14863
- };
14864
-
14865
- const createImage = async (src, altText) => {
14866
- try {
14867
- let ele;
14868
- if (isBase64Svg(src)) {
14869
- // handle base64 source
14870
- const svgXml = atob(src.slice(base64Prefix.length));
14871
- ele = createSvgEle(svgXml);
14872
- } else if (getFileExtension(src) === 'svg') {
14873
- // handle urls
14874
- const fetchedSrc = await fetch(src);
14875
- const text = await fetchedSrc.text();
14876
- ele = createSvgEle(text);
14877
- } else {
14878
- // handle binary
14879
- ele = createImgEle(src, altText);
14880
- }
14881
-
14882
- ele.style.setProperty('max-width', '100%');
14883
- ele.style.setProperty('max-height', '100%');
14884
-
14885
- return ele;
14886
- } catch {
14887
- return null;
14888
- }
14889
- };
14890
-
14891
- /* eslint-disable no-use-before-define */
14892
-
14893
- const componentName$q = getComponentName('image');
14894
-
14895
- const srcAttrs = ['src', 'src-dark'];
14896
-
14897
- class RawImage extends createBaseClass$1({
14898
- componentName: componentName$q,
14899
- baseSelector: 'slot',
14900
- }) {
14901
- static get observedAttributes() {
14902
- return srcAttrs;
14903
- }
14904
-
14905
- constructor() {
14906
- super();
14907
-
14908
- this.attachShadow({ mode: 'open' }).innerHTML = `
14909
- <slot></slot>
14910
- `;
14911
-
14912
- injectStyle(
14913
- `
14914
- :host {
14915
- display: inline-flex;
14916
- }
14917
- :host > slot {
14918
- width: 100%;
14919
- height: 100%;
14920
- box-sizing: border-box;
14921
- display: flex;
14922
- overflow: hidden;
14923
- }
14924
-
14925
- ::slotted(*) {
14926
- width: 100%;
14927
- }
14928
-
14929
- .hidden {
14930
- display: none;
14931
- }
14932
- `,
14933
- this,
14934
- );
14935
- }
14936
-
14937
- init() {
14938
- super.init?.();
14939
- this.toggleVisibility(this.src);
14940
- }
14941
-
14942
- onThemeChange() {
14943
- this.renderImage();
14944
- }
14945
-
14946
- toggleVisibility(isVisible) {
14947
- if (isVisible) {
14948
- this.classList.remove('hidden');
14949
- } else {
14950
- this.classList.add('hidden');
14951
- }
14952
- }
14953
-
14954
- get altText() {
14955
- return this.getAttribute('alt') || '';
14956
- }
14957
-
14958
- get legacySrc() {
14959
- return this.getAttribute('src');
14960
- }
14961
-
14962
- get themeSrc() {
14963
- return this.getAttribute(`src-${this.currentThemeName}`);
14964
- }
14965
-
14966
- get src() {
14967
- return this.themeSrc || this.legacySrc;
14968
- }
14969
-
14970
- // in order to fill an SVG with `currentColor` override all of its `fill` and `path` nodes
14971
- // with the value from the `st-fill` attribute
14972
- // eslint-disable-next-line class-methods-use-this
14973
- updateFillColor(node) {
14974
- // set fill to root node and all its relevant selectors
14975
- const elementsToReplace = [node, ...node.querySelectorAll('*[fill]')];
14976
-
14977
- elementsToReplace.forEach((ele) => {
14978
- ele.setAttribute(
14979
- 'fill',
14980
- `var(${ImageClass.cssVarList.fill}, ${ele.getAttribute('fill') || "''"})`,
14981
- );
14982
- });
14983
- }
14984
-
14985
- renderImage() {
14986
- this.toggleVisibility(this.src);
14987
-
14988
- createImage(this.src, this.altText).then((res) => {
14989
- this.innerHTML = '';
14990
- if (res) {
14991
- this.updateFillColor(res);
14992
- this.appendChild(res);
14993
- }
14994
- });
14995
- }
14996
-
14997
- // render only when src attribute matches current theme
14998
- shouldRender(src) {
14999
- const srcVal = this.getAttribute(src);
15000
- return this.src === srcVal;
15001
- }
15002
-
15003
- attributeChangedCallback(attrName, oldValue, newValue) {
15004
- super.attributeChangedCallback?.(attrName, oldValue, newValue);
15005
-
15006
- if (oldValue === newValue) return;
15007
-
15008
- if (this.shouldRender(attrName)) {
15009
- this.renderImage();
15010
- }
15011
- }
15012
- }
15013
-
15014
- const ImageClass = compose(
15015
- createStyleMixin$1({
15016
- mappings: {
15017
- fill: {},
15018
- height: { selector: () => ':host' },
15019
- width: { selector: () => ':host' },
15020
- },
15021
- }),
15022
- draggableMixin$1,
15023
- componentNameValidationMixin$1,
15024
- )(RawImage);
15025
-
15026
15026
  const vars$n = ImageClass.cssVarList;
15027
15027
 
15028
15028
  const image = {};