@descope/web-components-ui 1.108.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 (78) hide show
  1. package/dist/cjs/index.cjs.js +330 -336
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +393 -399
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/2739.js +1 -1
  6. package/dist/umd/2739.js.map +1 -1
  7. package/dist/umd/DescopeDev.js +1 -1
  8. package/dist/umd/DescopeDev.js.map +1 -1
  9. package/dist/umd/boolean-fields-descope-checkbox-index-js.js +1 -1
  10. package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -1
  11. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +1 -1
  12. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -1
  13. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +1 -1
  14. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -1
  15. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +1 -1
  16. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -1
  17. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +3 -3
  18. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
  19. package/dist/umd/descope-button.js +4 -4
  20. package/dist/umd/descope-button.js.map +1 -1
  21. package/dist/umd/descope-collapsible-container.js +1 -1
  22. package/dist/umd/descope-collapsible-container.js.map +1 -1
  23. package/dist/umd/descope-date-field-descope-calendar-index-js.js +1 -1
  24. package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -1
  25. package/dist/umd/descope-email-field-index-js.js +1 -1
  26. package/dist/umd/descope-email-field-index-js.js.map +1 -1
  27. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
  28. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
  29. package/dist/umd/descope-grid-index-js.js +1 -1
  30. package/dist/umd/descope-grid-index-js.js.map +1 -1
  31. package/dist/umd/descope-icon.js +1 -1
  32. package/dist/umd/descope-icon.js.map +1 -1
  33. package/dist/umd/descope-image.js +1 -1
  34. package/dist/umd/descope-image.js.map +1 -1
  35. package/dist/umd/descope-multi-select-combo-box-index-js.js +1 -1
  36. package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -1
  37. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -1
  38. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -1
  39. package/dist/umd/descope-new-password-index-js.js +1 -1
  40. package/dist/umd/descope-new-password-index-js.js.map +1 -1
  41. package/dist/umd/descope-number-field-index-js.js +1 -1
  42. package/dist/umd/descope-number-field-index-js.js.map +1 -1
  43. package/dist/umd/descope-passcode-index-js.js +1 -1
  44. package/dist/umd/descope-passcode-index-js.js.map +1 -1
  45. package/dist/umd/descope-password-index-js.js +1 -1
  46. package/dist/umd/descope-password-index-js.js.map +1 -1
  47. package/dist/umd/descope-radio-group-index-js.js +1 -1
  48. package/dist/umd/descope-radio-group-index-js.js.map +1 -1
  49. package/dist/umd/descope-scopes-list-index-js.js +1 -1
  50. package/dist/umd/descope-scopes-list-index-js.js.map +1 -1
  51. package/dist/umd/descope-security-questions-setup-index-js.js +1 -1
  52. package/dist/umd/descope-security-questions-setup-index-js.js.map +1 -1
  53. package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
  54. package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -1
  55. package/dist/umd/descope-text-area-index-js.js +1 -1
  56. package/dist/umd/descope-text-area-index-js.js.map +1 -1
  57. package/dist/umd/descope-text-field-index-js.js +1 -1
  58. package/dist/umd/descope-text-field-index-js.js.map +1 -1
  59. package/dist/umd/descope-third-party-app-logo-index-js.js +1 -1
  60. package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -1
  61. package/dist/umd/descope-timer-button.js +2 -2
  62. package/dist/umd/descope-timer-button.js.map +1 -1
  63. package/dist/umd/descope-timer.js +1 -1
  64. package/dist/umd/descope-timer.js.map +1 -1
  65. package/dist/umd/descope-upload-file-index-js.js +3 -3
  66. package/dist/umd/descope-upload-file-index-js.js.map +1 -1
  67. package/dist/umd/descope-user-attribute-index-js.js +4 -4
  68. package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
  69. package/dist/umd/descope-user-auth-method-index-js.js +2 -2
  70. package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
  71. package/dist/umd/index.js +1 -1
  72. package/dist/umd/index.js.map +1 -1
  73. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  74. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
  75. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  76. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
  77. package/package.json +17 -17
  78. package/src/helpers/themeHelpers/resetHelpers.js +0 -3
@@ -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');
@@ -557,9 +557,6 @@ const inputFloatingLabelStyle$1 = () => {
557
557
  :host([label-type="floating"]) {
558
558
  position: relative;
559
559
  }
560
- :host([label-type="floating"][has-label]) [slot="label"] {
561
- padding: 0;
562
- }
563
560
  :host([label-type="floating"][has-label]) > ::part(label) {
564
561
  z-index: 1;
565
562
  padding: 0;
@@ -2724,12 +2721,206 @@ const createDynamicDataMixin$1 =
2724
2721
  }
2725
2722
  };
2726
2723
 
2727
- 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
+ };
2728
+
2729
+ const base64Prefix = 'data:image/svg+xml;base64,';
2728
2730
 
2729
- const IconClass = compose(
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(
2730
2907
  createStyleMixin$1({
2731
2908
  mappings: {
2732
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 }],
2733
2924
  },
2734
2925
  }),
2735
2926
  draggableMixin$1,
@@ -2744,7 +2935,7 @@ const IconClass = compose(
2744
2935
  }
2745
2936
  `,
2746
2937
  excludeAttrsSync: ['tabindex', 'class'],
2747
- componentName: componentName$1c,
2938
+ componentName: componentName$1b,
2748
2939
  }),
2749
2940
  );
2750
2941
 
@@ -2759,7 +2950,7 @@ const clickableMixin = (superclass) =>
2759
2950
  }
2760
2951
  };
2761
2952
 
2762
- const componentName$1b = getComponentName('button');
2953
+ const componentName$1a = getComponentName('button');
2763
2954
 
2764
2955
  const resetStyles = `
2765
2956
  :host {
@@ -2835,9 +3026,9 @@ const ButtonClass = compose(
2835
3026
 
2836
3027
  labelTextColor: { property: 'color' },
2837
3028
  iconColor: {
2838
- selector: () => `::slotted(*)`,
2839
- property: IconClass.cssVarList.fill,
2840
- },
3029
+ selector: () => `::slotted(*)`,
3030
+ property: IconClass.cssVarList.fill
3031
+ },
2841
3032
  labelTextDecoration: { ...label$a, property: 'text-decoration' },
2842
3033
  labelSpacing: { ...label$a, property: 'gap' },
2843
3034
  textAlign: { ...label$a, property: 'justify-content', fallback: 'center' },
@@ -2875,7 +3066,7 @@ const ButtonClass = compose(
2875
3066
  }
2876
3067
  `,
2877
3068
  excludeAttrsSync: ['tabindex'],
2878
- componentName: componentName$1b,
3069
+ componentName: componentName$1a,
2879
3070
  })
2880
3071
  );
2881
3072
 
@@ -2923,7 +3114,7 @@ const mode = {
2923
3114
  surface: globalRefs$G.colors.surface,
2924
3115
  };
2925
3116
 
2926
- 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);
2927
3118
 
2928
3119
  const button = {
2929
3120
  ...helperTheme$5,
@@ -4784,9 +4975,6 @@ const inputFloatingLabelStyle = () => {
4784
4975
  :host([label-type="floating"]) {
4785
4976
  position: relative;
4786
4977
  }
4787
- :host([label-type="floating"][has-label]) [slot="label"] {
4788
- padding: 0;
4789
- }
4790
4978
  :host([label-type="floating"][has-label]) > ::part(label) {
4791
4979
  z-index: 1;
4792
4980
  padding: 0;
@@ -4795,7 +4983,7 @@ const inputFloatingLabelStyle = () => {
4795
4983
  `;
4796
4984
  };
4797
4985
 
4798
- const componentName$1a = getComponentName$1('text-field');
4986
+ const componentName$19 = getComponentName$1('text-field');
4799
4987
 
4800
4988
  const observedAttrs$4 = ['type', 'label-type', 'copy-to-clipboard'];
4801
4989
 
@@ -4917,11 +5105,11 @@ const TextFieldClass = compose$1(
4917
5105
  }
4918
5106
  `,
4919
5107
  excludeAttrsSync: ['tabindex', 'style'],
4920
- componentName: componentName$1a,
5108
+ componentName: componentName$19,
4921
5109
  })
4922
5110
  );
4923
5111
 
4924
- const componentName$19 = getComponentName$1('input-wrapper');
5112
+ const componentName$18 = getComponentName$1('input-wrapper');
4925
5113
  const globalRefs$F = getThemeRefs(globals$1);
4926
5114
 
4927
5115
  const [theme$2, refs$1, vars$$] = createHelperVars(
@@ -5043,7 +5231,7 @@ const [theme$2, refs$1, vars$$] = createHelperVars(
5043
5231
  backgroundColor: globalRefs$F.colors.surface.main,
5044
5232
  },
5045
5233
  },
5046
- componentName$19
5234
+ componentName$18
5047
5235
  );
5048
5236
 
5049
5237
  var inputWrapper = /*#__PURE__*/Object.freeze({
@@ -5156,7 +5344,7 @@ const passwordDraggableMixin = (superclass) =>
5156
5344
  }
5157
5345
  };
5158
5346
 
5159
- const componentName$18 = getComponentName$1('password');
5347
+ const componentName$17 = getComponentName$1('password');
5160
5348
 
5161
5349
  const customMixin$d = (superclass) =>
5162
5350
  class PasswordFieldMixinClass extends superclass {
@@ -5438,7 +5626,7 @@ const PasswordClass = compose$1(
5438
5626
  }
5439
5627
  `,
5440
5628
  excludeAttrsSync: ['tabindex'],
5441
- componentName: componentName$18,
5629
+ componentName: componentName$17,
5442
5630
  })
5443
5631
  );
5444
5632
 
@@ -5497,7 +5685,7 @@ var password$1 = /*#__PURE__*/Object.freeze({
5497
5685
  vars: vars$Z
5498
5686
  });
5499
5687
 
5500
- const componentName$17 = getComponentName$1('number-field');
5688
+ const componentName$16 = getComponentName$1('number-field');
5501
5689
 
5502
5690
  const NumberFieldClass = compose$1(
5503
5691
  createStyleMixin({
@@ -5531,7 +5719,7 @@ const NumberFieldClass = compose$1(
5531
5719
  }
5532
5720
  `,
5533
5721
  excludeAttrsSync: ['tabindex'],
5534
- componentName: componentName$17,
5722
+ componentName: componentName$16,
5535
5723
  })
5536
5724
  );
5537
5725
 
@@ -5587,7 +5775,7 @@ var numberField$1 = /*#__PURE__*/Object.freeze({
5587
5775
  vars: vars$Y
5588
5776
  });
5589
5777
 
5590
- const componentName$16 = getComponentName$1('email-field');
5778
+ const componentName$15 = getComponentName$1('email-field');
5591
5779
 
5592
5780
  const defaultPattern = "^[\\w\\.\\%\\+\\-']+@[\\w\\.\\-]+\\.[A-Za-z]{2,}$";
5593
5781
  const defaultAutocomplete = 'username';
@@ -5656,7 +5844,7 @@ const EmailFieldClass = compose$1(
5656
5844
  }
5657
5845
  `,
5658
5846
  excludeAttrsSync: ['tabindex'],
5659
- componentName: componentName$16,
5847
+ componentName: componentName$15,
5660
5848
  })
5661
5849
  );
5662
5850
 
@@ -5712,7 +5900,7 @@ var emailField$1 = /*#__PURE__*/Object.freeze({
5712
5900
  vars: vars$X
5713
5901
  });
5714
5902
 
5715
- const componentName$15 = getComponentName$1('text-area');
5903
+ const componentName$14 = getComponentName$1('text-area');
5716
5904
 
5717
5905
  const {
5718
5906
  host: host$q,
@@ -5794,7 +5982,7 @@ const TextAreaClass = compose$1(
5794
5982
  ${resetInputCursor('vaadin-text-area')}
5795
5983
  `,
5796
5984
  excludeAttrsSync: ['tabindex'],
5797
- componentName: componentName$15,
5985
+ componentName: componentName$14,
5798
5986
  })
5799
5987
  );
5800
5988
 
@@ -5856,9 +6044,9 @@ const createBaseInputClass = (...args) =>
5856
6044
  inputEventsDispatchingMixin
5857
6045
  )(createBaseClass(...args));
5858
6046
 
5859
- const componentName$14 = getComponentName$1('boolean-field-internal');
6047
+ const componentName$13 = getComponentName$1('boolean-field-internal');
5860
6048
 
5861
- createBaseInputClass({ componentName: componentName$14, baseSelector: 'div' });
6049
+ createBaseInputClass({ componentName: componentName$13, baseSelector: 'div' });
5862
6050
 
5863
6051
  const booleanFieldMixin = (superclass) =>
5864
6052
  class BooleanFieldMixinClass extends superclass {
@@ -5867,14 +6055,14 @@ const booleanFieldMixin = (superclass) =>
5867
6055
 
5868
6056
  const template = document.createElement('template');
5869
6057
  template.innerHTML = `
5870
- <${componentName$14}
6058
+ <${componentName$13}
5871
6059
  tabindex="-1"
5872
6060
  slot="input"
5873
- ></${componentName$14}>
6061
+ ></${componentName$13}>
5874
6062
  `;
5875
6063
 
5876
6064
  this.baseElement.appendChild(template.content.cloneNode(true));
5877
- this.inputElement = this.shadowRoot.querySelector(componentName$14);
6065
+ this.inputElement = this.shadowRoot.querySelector(componentName$13);
5878
6066
  this.checkbox = this.inputElement.querySelector('vaadin-checkbox');
5879
6067
 
5880
6068
  forwardAttrs$1(this, this.inputElement, {
@@ -5943,7 +6131,7 @@ descope-boolean-field-internal {
5943
6131
  }
5944
6132
  `;
5945
6133
 
5946
- const componentName$13 = getComponentName$1('checkbox');
6134
+ const componentName$12 = getComponentName$1('checkbox');
5947
6135
 
5948
6136
  const {
5949
6137
  host: host$p,
@@ -6061,7 +6249,7 @@ const CheckboxClass = compose$1(
6061
6249
  }
6062
6250
  `,
6063
6251
  excludeAttrsSync: ['label', 'tabindex'],
6064
- componentName: componentName$13,
6252
+ componentName: componentName$12,
6065
6253
  })
6066
6254
  );
6067
6255
 
@@ -6106,7 +6294,7 @@ var checkbox$1 = /*#__PURE__*/Object.freeze({
6106
6294
  vars: vars$V
6107
6295
  });
6108
6296
 
6109
- const componentName$12 = getComponentName$1('switch-toggle');
6297
+ const componentName$11 = getComponentName$1('switch-toggle');
6110
6298
 
6111
6299
  const {
6112
6300
  host: host$o,
@@ -6245,7 +6433,7 @@ const SwitchToggleClass = compose$1(
6245
6433
  }
6246
6434
  `,
6247
6435
  excludeAttrsSync: ['label', 'tabindex'],
6248
- componentName: componentName$12,
6436
+ componentName: componentName$11,
6249
6437
  })
6250
6438
  );
6251
6439
 
@@ -6326,9 +6514,9 @@ var switchToggle$1 = /*#__PURE__*/Object.freeze({
6326
6514
  vars: vars$U
6327
6515
  });
6328
6516
 
6329
- const componentName$11 = getComponentName$1('container');
6517
+ const componentName$10 = getComponentName$1('container');
6330
6518
 
6331
- class RawContainer extends createBaseClass({ componentName: componentName$11, baseSelector: 'slot' }) {
6519
+ class RawContainer extends createBaseClass({ componentName: componentName$10, baseSelector: 'slot' }) {
6332
6520
  constructor() {
6333
6521
  super();
6334
6522
 
@@ -6413,7 +6601,7 @@ const [helperTheme$4, helperRefs$4, helperVars$4] = createHelperVars(
6413
6601
  horizontalAlignment,
6414
6602
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
6415
6603
  },
6416
- componentName$11
6604
+ componentName$10
6417
6605
  );
6418
6606
 
6419
6607
  const { shadowColor: shadowColor$4 } = helperRefs$4;
@@ -6573,10 +6761,10 @@ const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) =>
6573
6761
  return CssVarImageClass;
6574
6762
  };
6575
6763
 
6576
- const componentName$10 = getComponentName$1('logo');
6764
+ const componentName$$ = getComponentName$1('logo');
6577
6765
 
6578
6766
  const LogoClass = createCssVarImageClass({
6579
- componentName: componentName$10,
6767
+ componentName: componentName$$,
6580
6768
  varName: 'url',
6581
6769
  fallbackVarName: 'fallbackUrl',
6582
6770
  });
@@ -6593,10 +6781,10 @@ var logo$3 = /*#__PURE__*/Object.freeze({
6593
6781
  vars: vars$S
6594
6782
  });
6595
6783
 
6596
- const componentName$$ = getComponentName$1('totp-image');
6784
+ const componentName$_ = getComponentName$1('totp-image');
6597
6785
 
6598
6786
  const TotpImageClass = createCssVarImageClass({
6599
- componentName: componentName$$,
6787
+ componentName: componentName$_,
6600
6788
  varName: 'url',
6601
6789
  fallbackVarName: 'fallbackUrl',
6602
6790
  });
@@ -6613,10 +6801,10 @@ var totpImage = /*#__PURE__*/Object.freeze({
6613
6801
  vars: vars$R
6614
6802
  });
6615
6803
 
6616
- const componentName$_ = getComponentName$1('notp-image');
6804
+ const componentName$Z = getComponentName$1('notp-image');
6617
6805
 
6618
6806
  const NotpImageClass = createCssVarImageClass({
6619
- componentName: componentName$_,
6807
+ componentName: componentName$Z,
6620
6808
  varName: 'url',
6621
6809
  fallbackVarName: 'fallbackUrl',
6622
6810
  });
@@ -6633,10 +6821,10 @@ var notpImage = /*#__PURE__*/Object.freeze({
6633
6821
  vars: vars$Q
6634
6822
  });
6635
6823
 
6636
- const componentName$Z = getComponentName('text');
6824
+ const componentName$Y = getComponentName('text');
6637
6825
 
6638
6826
  class RawText extends createBaseClass$1({
6639
- componentName: componentName$Z,
6827
+ componentName: componentName$Y,
6640
6828
  baseSelector: ':host > slot',
6641
6829
  }) {
6642
6830
  constructor() {
@@ -6825,9 +7013,9 @@ const decodeHTML = (html) => {
6825
7013
  /* eslint-disable no-param-reassign */
6826
7014
 
6827
7015
 
6828
- const componentName$Y = getComponentName('enriched-text');
7016
+ const componentName$X = getComponentName('enriched-text');
6829
7017
 
6830
- class EnrichedText extends createBaseClass$1({ componentName: componentName$Y, baseSelector: ':host > div' }) {
7018
+ class EnrichedText extends createBaseClass$1({ componentName: componentName$X, baseSelector: ':host > div' }) {
6831
7019
  #origLinkRenderer;
6832
7020
 
6833
7021
  #origEmRenderer;
@@ -7024,9 +7212,9 @@ const EnrichedTextClass = compose(
7024
7212
  componentNameValidationMixin$1
7025
7213
  )(EnrichedText);
7026
7214
 
7027
- const componentName$X = getComponentName('link');
7215
+ const componentName$W = getComponentName('link');
7028
7216
 
7029
- class RawLink extends createBaseClass$1({ componentName: componentName$X, baseSelector: ':host a' }) {
7217
+ class RawLink extends createBaseClass$1({ componentName: componentName$W, baseSelector: ':host a' }) {
7030
7218
  constructor() {
7031
7219
  super();
7032
7220
 
@@ -7168,8 +7356,8 @@ var enrichedText$1 = /*#__PURE__*/Object.freeze({
7168
7356
  vars: vars$N
7169
7357
  });
7170
7358
 
7171
- const componentName$W = getComponentName$1('divider');
7172
- 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' }) {
7173
7361
  constructor() {
7174
7362
  super();
7175
7363
 
@@ -7280,7 +7468,7 @@ const [helperTheme$3, helperRefs$3, helperVars$3] = createHelperVars(
7280
7468
  thickness: '2px',
7281
7469
  spacing: '10px',
7282
7470
  },
7283
- componentName$W
7471
+ componentName$V
7284
7472
  );
7285
7473
 
7286
7474
  const divider = {
@@ -7324,13 +7512,13 @@ var divider$1 = /*#__PURE__*/Object.freeze({
7324
7512
 
7325
7513
  /* eslint-disable no-param-reassign */
7326
7514
 
7327
- const componentName$V = getComponentName$1('passcode-internal');
7515
+ const componentName$U = getComponentName$1('passcode-internal');
7328
7516
 
7329
- createBaseInputClass({ componentName: componentName$V, baseSelector: 'div' });
7517
+ createBaseInputClass({ componentName: componentName$U, baseSelector: 'div' });
7330
7518
 
7331
- const componentName$U = getComponentName$1('loader-radial');
7519
+ const componentName$T = getComponentName$1('loader-radial');
7332
7520
 
7333
- class RawLoaderRadial extends createBaseClass({ componentName: componentName$U, baseSelector: ':host > div' }) {
7521
+ class RawLoaderRadial extends createBaseClass({ componentName: componentName$T, baseSelector: ':host > div' }) {
7334
7522
  constructor() {
7335
7523
  super();
7336
7524
 
@@ -7378,7 +7566,7 @@ const LoaderRadialClass = compose$1(
7378
7566
  componentNameValidationMixin
7379
7567
  )(RawLoaderRadial);
7380
7568
 
7381
- const componentName$T = getComponentName$1('passcode');
7569
+ const componentName$S = getComponentName$1('passcode');
7382
7570
 
7383
7571
  const observedAttributes$4 = ['digits'];
7384
7572
 
@@ -7423,18 +7611,18 @@ const customMixin$b = (superclass) =>
7423
7611
  const template = document.createElement('template');
7424
7612
 
7425
7613
  template.innerHTML = `
7426
- <${componentName$V}
7614
+ <${componentName$U}
7427
7615
  bordered="true"
7428
7616
  name="code"
7429
7617
  tabindex="-1"
7430
7618
  slot="input"
7431
7619
  role="textbox"
7432
- ><slot></slot></${componentName$V}>
7620
+ ><slot></slot></${componentName$U}>
7433
7621
  `;
7434
7622
 
7435
7623
  this.baseElement.appendChild(template.content.cloneNode(true));
7436
7624
 
7437
- this.inputElement = this.shadowRoot.querySelector(componentName$V);
7625
+ this.inputElement = this.shadowRoot.querySelector(componentName$U);
7438
7626
 
7439
7627
  forwardAttrs$1(this, this.inputElement, { includeAttrs: ['digits', 'size', 'loading'] });
7440
7628
  }
@@ -7593,7 +7781,7 @@ const PasscodeClass = compose$1(
7593
7781
  ${resetInputCursor('vaadin-text-field')}
7594
7782
  `,
7595
7783
  excludeAttrsSync: ['tabindex'],
7596
- componentName: componentName$T,
7784
+ componentName: componentName$S,
7597
7785
  })
7598
7786
  );
7599
7787
 
@@ -7646,11 +7834,11 @@ var passcode$1 = /*#__PURE__*/Object.freeze({
7646
7834
  vars: vars$L
7647
7835
  });
7648
7836
 
7649
- const componentName$S = getComponentName$1('loader-linear');
7837
+ const componentName$R = getComponentName$1('loader-linear');
7650
7838
 
7651
- class RawLoaderLinear extends createBaseClass({ componentName: componentName$S, baseSelector: ':host > div' }) {
7839
+ class RawLoaderLinear extends createBaseClass({ componentName: componentName$R, baseSelector: ':host > div' }) {
7652
7840
  static get componentName() {
7653
- return componentName$S;
7841
+ return componentName$R;
7654
7842
  }
7655
7843
 
7656
7844
  constructor() {
@@ -7775,7 +7963,7 @@ const [helperTheme$2, helperRefs$2, helperVars$2] = createHelperVars(
7775
7963
  },
7776
7964
  },
7777
7965
  },
7778
- componentName$U
7966
+ componentName$T
7779
7967
  );
7780
7968
 
7781
7969
  const loaderRadial = {
@@ -7815,7 +8003,7 @@ var loaderRadial$1 = /*#__PURE__*/Object.freeze({
7815
8003
  vars: vars$J
7816
8004
  });
7817
8005
 
7818
- const componentName$R = getComponentName('combo-box');
8006
+ const componentName$Q = getComponentName('combo-box');
7819
8007
 
7820
8008
  const ComboBoxMixin = (superclass) =>
7821
8009
  class ComboBoxMixinClass extends superclass {
@@ -8464,12 +8652,12 @@ const ComboBoxClass = compose(
8464
8652
  // and reset items to an empty array, and opening the list box with no items
8465
8653
  // to display.
8466
8654
  excludeAttrsSync: ['tabindex', 'size', 'data', 'loading'],
8467
- componentName: componentName$R,
8655
+ componentName: componentName$Q,
8468
8656
  includeForwardProps: ['items', 'renderer', 'selectedItem'],
8469
8657
  }),
8470
8658
  );
8471
8659
 
8472
- const componentName$Q = getComponentName('input-wrapper');
8660
+ const componentName$P = getComponentName('input-wrapper');
8473
8661
  const globalRefs$u = getThemeRefs$1(globals);
8474
8662
 
8475
8663
  const [theme$1, refs, vars$I] = createHelperVars$1(
@@ -8592,7 +8780,7 @@ const [theme$1, refs, vars$I] = createHelperVars$1(
8592
8780
  backgroundColor: globalRefs$u.colors.surface.main,
8593
8781
  },
8594
8782
  },
8595
- componentName$Q,
8783
+ componentName$P,
8596
8784
  );
8597
8785
 
8598
8786
  const globalRefs$t = getThemeRefs$1(globals);
@@ -9910,14 +10098,14 @@ var CountryCodes = [
9910
10098
  ].sort((a, b) => (a.name < b.name ? -1 : 1)),
9911
10099
  ];
9912
10100
 
9913
- const componentName$P = getComponentName$1('phone-field-internal');
10101
+ const componentName$O = getComponentName$1('phone-field-internal');
9914
10102
 
9915
- createBaseInputClass({ componentName: componentName$P, baseSelector: 'div' });
10103
+ createBaseInputClass({ componentName: componentName$O, baseSelector: 'div' });
9916
10104
 
9917
10105
  const textVars$3 = TextFieldClass.cssVarList;
9918
10106
  const comboVars = ComboBoxClass.cssVarList;
9919
10107
 
9920
- const componentName$O = getComponentName$1('phone-field');
10108
+ const componentName$N = getComponentName$1('phone-field');
9921
10109
 
9922
10110
  const customMixin$a = (superclass) =>
9923
10111
  class PhoneFieldMixinClass extends superclass {
@@ -9931,15 +10119,15 @@ const customMixin$a = (superclass) =>
9931
10119
  const template = document.createElement('template');
9932
10120
 
9933
10121
  template.innerHTML = `
9934
- <${componentName$P}
10122
+ <${componentName$O}
9935
10123
  tabindex="-1"
9936
10124
  slot="input"
9937
- ></${componentName$P}>
10125
+ ></${componentName$O}>
9938
10126
  `;
9939
10127
 
9940
10128
  this.baseElement.appendChild(template.content.cloneNode(true));
9941
10129
 
9942
- this.inputElement = this.shadowRoot.querySelector(componentName$P);
10130
+ this.inputElement = this.shadowRoot.querySelector(componentName$O);
9943
10131
 
9944
10132
  forwardAttrs$1(this.shadowRoot.host, this.inputElement, {
9945
10133
  includeAttrs: [
@@ -10211,7 +10399,7 @@ const PhoneFieldClass = compose$1(
10211
10399
  ${resetInputLabelPosition('vaadin-text-field')}
10212
10400
  `,
10213
10401
  excludeAttrsSync: ['tabindex'],
10214
- componentName: componentName$O,
10402
+ componentName: componentName$N,
10215
10403
  })
10216
10404
  );
10217
10405
 
@@ -10261,13 +10449,13 @@ var phoneField$1 = /*#__PURE__*/Object.freeze({
10261
10449
  vars: vars$G
10262
10450
  });
10263
10451
 
10264
- const componentName$N = getComponentName$1('phone-field-internal-input-box');
10452
+ const componentName$M = getComponentName$1('phone-field-internal-input-box');
10265
10453
 
10266
- createBaseInputClass({ componentName: componentName$N, baseSelector: 'div' });
10454
+ createBaseInputClass({ componentName: componentName$M, baseSelector: 'div' });
10267
10455
 
10268
10456
  const textVars$2 = TextFieldClass.cssVarList;
10269
10457
 
10270
- const componentName$M = getComponentName$1('phone-input-box-field');
10458
+ const componentName$L = getComponentName$1('phone-input-box-field');
10271
10459
 
10272
10460
  const customMixin$9 = (superclass) =>
10273
10461
  class PhoneFieldInputBoxMixinClass extends superclass {
@@ -10281,15 +10469,15 @@ const customMixin$9 = (superclass) =>
10281
10469
  const template = document.createElement('template');
10282
10470
 
10283
10471
  template.innerHTML = `
10284
- <${componentName$N}
10472
+ <${componentName$M}
10285
10473
  tabindex="-1"
10286
10474
  slot="input"
10287
- ></${componentName$N}>
10475
+ ></${componentName$M}>
10288
10476
  `;
10289
10477
 
10290
10478
  this.baseElement.appendChild(template.content.cloneNode(true));
10291
10479
 
10292
- this.inputElement = this.shadowRoot.querySelector(componentName$N);
10480
+ this.inputElement = this.shadowRoot.querySelector(componentName$M);
10293
10481
 
10294
10482
  forwardAttrs$1(this.shadowRoot.host, this.inputElement, {
10295
10483
  includeAttrs: [
@@ -10493,7 +10681,7 @@ const PhoneFieldInputBoxClass = compose$1(
10493
10681
  ${inputFloatingLabelStyle()}
10494
10682
  `,
10495
10683
  excludeAttrsSync: ['tabindex'],
10496
- componentName: componentName$M,
10684
+ componentName: componentName$L,
10497
10685
  })
10498
10686
  );
10499
10687
 
@@ -10549,14 +10737,14 @@ var phoneInputBoxField$1 = /*#__PURE__*/Object.freeze({
10549
10737
  vars: vars$F
10550
10738
  });
10551
10739
 
10552
- const componentName$L = getComponentName$1('new-password-internal');
10740
+ const componentName$K = getComponentName$1('new-password-internal');
10553
10741
 
10554
10742
  const interpolateString = (template, values) =>
10555
10743
  template.replace(/{{(\w+)+}}/g, (match, key) => values?.[key] || match);
10556
10744
 
10557
10745
  // eslint-disable-next-line max-classes-per-file
10558
10746
 
10559
- const componentName$K = getComponentName$1('policy-validation');
10747
+ const componentName$J = getComponentName$1('policy-validation');
10560
10748
 
10561
10749
  const overrideAttrs = [
10562
10750
  'data-password-policy-value-minlength',
@@ -10566,7 +10754,7 @@ const overrideAttrs = [
10566
10754
  const dataAttrs = ['data', 'active-policies', 'overrides', ...overrideAttrs];
10567
10755
  const policyAttrs = ['label', 'value', ...dataAttrs];
10568
10756
 
10569
- class RawPolicyValidation extends createBaseClass({ componentName: componentName$K, baseSelector: ':host > div' }) {
10757
+ class RawPolicyValidation extends createBaseClass({ componentName: componentName$J, baseSelector: ':host > div' }) {
10570
10758
  #availablePolicies;
10571
10759
 
10572
10760
  #activePolicies = [];
@@ -10838,7 +11026,7 @@ const PolicyValidationClass = compose$1(
10838
11026
  componentNameValidationMixin
10839
11027
  )(RawPolicyValidation);
10840
11028
 
10841
- const componentName$J = getComponentName$1('new-password');
11029
+ const componentName$I = getComponentName$1('new-password');
10842
11030
 
10843
11031
  const policyPreviewVars = PolicyValidationClass.cssVarList;
10844
11032
 
@@ -10852,18 +11040,18 @@ const customMixin$8 = (superclass) =>
10852
11040
  const externalInputAttr = this.getAttribute('external-input');
10853
11041
 
10854
11042
  template.innerHTML = `
10855
- <${componentName$L}
11043
+ <${componentName$K}
10856
11044
  name="new-password"
10857
11045
  tabindex="-1"
10858
11046
  slot="input"
10859
11047
  external-input="${externalInputAttr}"
10860
11048
  >
10861
- </${componentName$L}>
11049
+ </${componentName$K}>
10862
11050
  `;
10863
11051
 
10864
11052
  this.baseElement.appendChild(template.content.cloneNode(true));
10865
11053
 
10866
- this.inputElement = this.shadowRoot.querySelector(componentName$L);
11054
+ this.inputElement = this.shadowRoot.querySelector(componentName$K);
10867
11055
 
10868
11056
  if (this.getAttribute('external-input') === 'true') {
10869
11057
  this.initExternalInput();
@@ -11047,7 +11235,7 @@ const NewPasswordClass = compose$1(
11047
11235
  }
11048
11236
  `,
11049
11237
  excludeAttrsSync: ['tabindex'],
11050
- componentName: componentName$J,
11238
+ componentName: componentName$I,
11051
11239
  })
11052
11240
  );
11053
11241
 
@@ -11103,7 +11291,7 @@ const getFilename = (fileObj) => {
11103
11291
  return fileObj.name.replace(/^.*\\/, '');
11104
11292
  };
11105
11293
 
11106
- const componentName$I = getComponentName$1('upload-file');
11294
+ const componentName$H = getComponentName$1('upload-file');
11107
11295
 
11108
11296
  const observedAttributes$3 = [
11109
11297
  'title',
@@ -11118,7 +11306,7 @@ const observedAttributes$3 = [
11118
11306
  'icon',
11119
11307
  ];
11120
11308
 
11121
- const BaseInputClass$4 = createBaseInputClass({ componentName: componentName$I, baseSelector: ':host > div' });
11309
+ const BaseInputClass$4 = createBaseInputClass({ componentName: componentName$H, baseSelector: ':host > div' });
11122
11310
 
11123
11311
  class RawUploadFile extends BaseInputClass$4 {
11124
11312
  static get observedAttributes() {
@@ -11404,10 +11592,10 @@ var uploadFile$1 = /*#__PURE__*/Object.freeze({
11404
11592
  vars: vars$D
11405
11593
  });
11406
11594
 
11407
- const componentName$H = getComponentName$1('button-selection-group-item');
11595
+ const componentName$G = getComponentName$1('button-selection-group-item');
11408
11596
 
11409
11597
  class RawSelectItem extends createBaseClass({
11410
- componentName: componentName$H,
11598
+ componentName: componentName$G,
11411
11599
  baseSelector: ':host > descope-button',
11412
11600
  }) {
11413
11601
  get size() {
@@ -11641,10 +11829,10 @@ const createBaseButtonSelectionGroupInternalClass = (componentName) => {
11641
11829
  return BaseButtonSelectionGroupInternalClass;
11642
11830
  };
11643
11831
 
11644
- const componentName$G = getComponentName$1('button-selection-group-internal');
11832
+ const componentName$F = getComponentName$1('button-selection-group-internal');
11645
11833
 
11646
11834
  class ButtonSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
11647
- componentName$G
11835
+ componentName$F
11648
11836
  ) {
11649
11837
  getSelectedNode() {
11650
11838
  return this.items.find((item) => item.hasAttribute('selected'));
@@ -11889,7 +12077,7 @@ const buttonSelectionGroupStyles = `
11889
12077
  ${resetInputCursor('vaadin-text-field')}
11890
12078
  `;
11891
12079
 
11892
- const componentName$F = getComponentName$1('button-selection-group');
12080
+ const componentName$E = getComponentName$1('button-selection-group');
11893
12081
 
11894
12082
  const buttonSelectionGroupMixin = (superclass) =>
11895
12083
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -11898,19 +12086,19 @@ const buttonSelectionGroupMixin = (superclass) =>
11898
12086
  const template = document.createElement('template');
11899
12087
 
11900
12088
  template.innerHTML = `
11901
- <${componentName$G}
12089
+ <${componentName$F}
11902
12090
  name="button-selection-group"
11903
12091
  slot="input"
11904
12092
  tabindex="-1"
11905
12093
  part="internal-component"
11906
12094
  >
11907
12095
  <slot></slot>
11908
- </${componentName$G}>
12096
+ </${componentName$F}>
11909
12097
  `;
11910
12098
 
11911
12099
  this.baseElement.appendChild(template.content.cloneNode(true));
11912
12100
 
11913
- this.inputElement = this.shadowRoot.querySelector(componentName$G);
12101
+ this.inputElement = this.shadowRoot.querySelector(componentName$F);
11914
12102
 
11915
12103
  forwardAttrs$1(this, this.inputElement, {
11916
12104
  includeAttrs: ['size', 'default-value', 'allow-deselect'],
@@ -11935,7 +12123,7 @@ const ButtonSelectionGroupClass = compose$1(
11935
12123
  wrappedEleName: 'vaadin-text-field',
11936
12124
  style: () => buttonSelectionGroupStyles,
11937
12125
  excludeAttrsSync: ['tabindex'],
11938
- componentName: componentName$F,
12126
+ componentName: componentName$E,
11939
12127
  })
11940
12128
  );
11941
12129
 
@@ -11972,10 +12160,10 @@ var buttonSelectionGroup$1 = /*#__PURE__*/Object.freeze({
11972
12160
  vars: vars$B
11973
12161
  });
11974
12162
 
11975
- const componentName$E = getComponentName$1('button-multi-selection-group-internal');
12163
+ const componentName$D = getComponentName$1('button-multi-selection-group-internal');
11976
12164
 
11977
12165
  class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
11978
- componentName$E
12166
+ componentName$D
11979
12167
  ) {
11980
12168
  #getSelectedNodes() {
11981
12169
  return this.items.filter((item) => item.hasAttribute('selected'));
@@ -12078,7 +12266,7 @@ class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGr
12078
12266
  }
12079
12267
  }
12080
12268
 
12081
- const componentName$D = getComponentName$1('button-multi-selection-group');
12269
+ const componentName$C = getComponentName$1('button-multi-selection-group');
12082
12270
 
12083
12271
  const buttonMultiSelectionGroupMixin = (superclass) =>
12084
12272
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -12087,19 +12275,19 @@ const buttonMultiSelectionGroupMixin = (superclass) =>
12087
12275
  const template = document.createElement('template');
12088
12276
 
12089
12277
  template.innerHTML = `
12090
- <${componentName$E}
12278
+ <${componentName$D}
12091
12279
  name="button-selection-group"
12092
12280
  slot="input"
12093
12281
  tabindex="-1"
12094
12282
  part="internal-component"
12095
12283
  >
12096
12284
  <slot></slot>
12097
- </${componentName$E}>
12285
+ </${componentName$D}>
12098
12286
  `;
12099
12287
 
12100
12288
  this.baseElement.appendChild(template.content.cloneNode(true));
12101
12289
 
12102
- this.inputElement = this.shadowRoot.querySelector(componentName$E);
12290
+ this.inputElement = this.shadowRoot.querySelector(componentName$D);
12103
12291
 
12104
12292
  forwardAttrs$1(this, this.inputElement, {
12105
12293
  includeAttrs: ['size', 'default-values', 'min-items-selection', 'max-items-selection'],
@@ -12124,7 +12312,7 @@ const ButtonMultiSelectionGroupClass = compose$1(
12124
12312
  wrappedEleName: 'vaadin-text-field',
12125
12313
  style: () => buttonSelectionGroupStyles,
12126
12314
  excludeAttrsSync: ['tabindex'],
12127
- componentName: componentName$D,
12315
+ componentName: componentName$C,
12128
12316
  })
12129
12317
  );
12130
12318
 
@@ -12140,7 +12328,7 @@ var buttonMultiSelectionGroup$1 = /*#__PURE__*/Object.freeze({
12140
12328
  vars: vars$A
12141
12329
  });
12142
12330
 
12143
- const componentName$C = getComponentName$1('modal');
12331
+ const componentName$B = getComponentName$1('modal');
12144
12332
 
12145
12333
  const observedAttrs$3 = ['opened'];
12146
12334
 
@@ -12264,7 +12452,7 @@ const ModalClass = compose$1(
12264
12452
  }
12265
12453
  `,
12266
12454
  excludeAttrsSync: ['tabindex', 'opened', 'style'],
12267
- componentName: componentName$C,
12455
+ componentName: componentName$B,
12268
12456
  })
12269
12457
  );
12270
12458
 
@@ -12361,7 +12549,7 @@ const defaultRowDetailsRenderer = (item, itemLabelsMapping) => {
12361
12549
  `;
12362
12550
  };
12363
12551
 
12364
- const componentName$B = getComponentName$1('grid');
12552
+ const componentName$A = getComponentName$1('grid');
12365
12553
 
12366
12554
  const GridMixin = (superclass) =>
12367
12555
  class GridMixinClass extends superclass {
@@ -12715,7 +12903,7 @@ const GridClass = compose$1(
12715
12903
  /*!css*/
12716
12904
  `,
12717
12905
  excludeAttrsSync: ['columns', 'tabindex', 'style'],
12718
- componentName: componentName$B,
12906
+ componentName: componentName$A,
12719
12907
  })
12720
12908
  );
12721
12909
 
@@ -12771,7 +12959,7 @@ var grid$1 = /*#__PURE__*/Object.freeze({
12771
12959
  vars: vars$y
12772
12960
  });
12773
12961
 
12774
- const componentName$A = getComponentName$1('notification-card');
12962
+ const componentName$z = getComponentName$1('notification-card');
12775
12963
 
12776
12964
  const notificationCardMixin = (superclass) =>
12777
12965
  class NotificationCardMixinClass extends superclass {
@@ -12879,7 +13067,7 @@ const NotificationCardClass = compose$1(
12879
13067
  }
12880
13068
  `,
12881
13069
  excludeAttrsSync: ['tabindex'],
12882
- componentName: componentName$A,
13070
+ componentName: componentName$z,
12883
13071
  })
12884
13072
  );
12885
13073
 
@@ -12937,7 +13125,7 @@ var notificationCard = /*#__PURE__*/Object.freeze({
12937
13125
  vars: vars$x
12938
13126
  });
12939
13127
 
12940
- const componentName$z = getComponentName$1('multi-select-combo-box');
13128
+ const componentName$y = getComponentName$1('multi-select-combo-box');
12941
13129
 
12942
13130
  const multiSelectComboBoxMixin = (superclass) =>
12943
13131
  class MultiSelectComboBoxMixinClass extends superclass {
@@ -13590,7 +13778,7 @@ const MultiSelectComboBoxClass = compose$1(
13590
13778
  // Note: we exclude `placeholder` because the vaadin component observes it and
13591
13779
  // tries to override it, causing us to lose the user set placeholder.
13592
13780
  excludeAttrsSync: ['tabindex', 'size', 'data', 'placeholder'],
13593
- componentName: componentName$z,
13781
+ componentName: componentName$y,
13594
13782
  includeForwardProps: ['items', 'renderer', 'selectedItems'],
13595
13783
  })
13596
13784
  );
@@ -13682,9 +13870,9 @@ var multiSelectComboBox$1 = /*#__PURE__*/Object.freeze({
13682
13870
  vars: vars$w
13683
13871
  });
13684
13872
 
13685
- const componentName$y = getComponentName$1('badge');
13873
+ const componentName$x = getComponentName$1('badge');
13686
13874
 
13687
- class RawBadge extends createBaseClass({ componentName: componentName$y, baseSelector: ':host > div' }) {
13875
+ class RawBadge extends createBaseClass({ componentName: componentName$x, baseSelector: ':host > div' }) {
13688
13876
  constructor() {
13689
13877
  super();
13690
13878
 
@@ -13810,9 +13998,9 @@ var badge$3 = /*#__PURE__*/Object.freeze({
13810
13998
  vars: vars$v
13811
13999
  });
13812
14000
 
13813
- const componentName$x = getComponentName('avatar');
14001
+ const componentName$w = getComponentName('avatar');
13814
14002
  class RawAvatar extends createBaseClass$1({
13815
- componentName: componentName$x,
14003
+ componentName: componentName$w,
13816
14004
  baseSelector: ':host > .wrapper',
13817
14005
  }) {
13818
14006
  constructor() {
@@ -13965,11 +14153,11 @@ var avatar$1 = /*#__PURE__*/Object.freeze({
13965
14153
  vars: vars$u
13966
14154
  });
13967
14155
 
13968
- const componentName$w = getComponentName$1('mappings-field-internal');
14156
+ const componentName$v = getComponentName$1('mappings-field-internal');
13969
14157
 
13970
- createBaseInputClass({ componentName: componentName$w, baseSelector: 'div' });
14158
+ createBaseInputClass({ componentName: componentName$v, baseSelector: 'div' });
13971
14159
 
13972
- const componentName$v = getComponentName$1('mappings-field');
14160
+ const componentName$u = getComponentName$1('mappings-field');
13973
14161
 
13974
14162
  const customMixin$6 = (superclass) =>
13975
14163
  class MappingsFieldMixinClass extends superclass {
@@ -13998,14 +14186,14 @@ const customMixin$6 = (superclass) =>
13998
14186
  const template = document.createElement('template');
13999
14187
 
14000
14188
  template.innerHTML = `
14001
- <${componentName$w}
14189
+ <${componentName$v}
14002
14190
  tabindex="-1"
14003
- ></${componentName$w}>
14191
+ ></${componentName$v}>
14004
14192
  `;
14005
14193
 
14006
14194
  this.baseElement.appendChild(template.content.cloneNode(true));
14007
14195
 
14008
- this.inputElement = this.shadowRoot.querySelector(componentName$w);
14196
+ this.inputElement = this.shadowRoot.querySelector(componentName$v);
14009
14197
 
14010
14198
  forwardAttrs$1(this, this.inputElement, {
14011
14199
  includeAttrs: [
@@ -14140,7 +14328,7 @@ const MappingsFieldClass = compose$1(
14140
14328
  'options',
14141
14329
  'error-message',
14142
14330
  ],
14143
- componentName: componentName$v,
14331
+ componentName: componentName$u,
14144
14332
  })
14145
14333
  );
14146
14334
 
@@ -14178,9 +14366,9 @@ var deleteIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTgi
14178
14366
 
14179
14367
  var editIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjAwMDIgMC45OTIxNDlDMTAuMDAwMiAxLjAxNjE1IDEwLjAwMDIgMS4wMTYxNSAxMC4wMDAyIDEuMDE2MTVMOC4yMjQxOSAzLjAwODE1SDIuOTkyMTlDMi40NjQxOSAzLjAwODE1IDIuMDA4MTkgMy40NDAxNSAyLjAwODE5IDMuOTkyMTVWMTIuMDA4MkMyLjAwODE5IDEyLjUzNjIgMi40NDAxOSAxMi45OTIyIDIuOTkyMTkgMTIuOTkyMkg1LjUzNjE5QzUuODQ4MTkgMTMuMDQwMiA2LjE2MDE5IDEzLjA0MDIgNi40NzIxOSAxMi45OTIySDExLjAwODJDMTEuNTM2MiAxMi45OTIyIDExLjk5MjIgMTIuNTYwMiAxMS45OTIyIDEyLjAwODJWNy43ODQxNkwxMy45MzYyIDUuNjI0MTVMMTQuMDA4MiA1LjY3MjE1VjExLjk4NDJDMTQuMDA4MiAxMy42NjQyIDEyLjY2NDIgMTUuMDA4MiAxMS4wMDgyIDE1LjAwODJIMy4wMTYxOUMxLjMzNjE5IDE1LjAwODIgLTAuMDA3ODEyNSAxMy42NjQyIC0wLjAwNzgxMjUgMTEuOTg0MlYzLjk5MjE1Qy0wLjAwNzgxMjUgMi4zMzYxNSAxLjMzNjE5IDAuOTkyMTQ5IDMuMDE2MTkgMC45OTIxNDlIMTAuMDAwMlpNMTEuMjcyMiAyLjYyNDE1TDEyLjYxNjIgNC4xMTIxNUw3LjcyMDE5IDkuNjgwMTZDNy41MDQxOSA5LjkyMDE2IDYuODMyMTkgMTAuMjMyMiA1LjY4MDE5IDEwLjYxNjJDNS42NTYxOSAxMC42NDAyIDUuNjA4MTkgMTAuNjQwMiA1LjU2MDE5IDEwLjYxNjJDNS40NjQxOSAxMC41OTIyIDUuMzkyMTkgMTAuNDcyMiA1LjQ0MDE5IDEwLjM3NjJDNS43NTIxOSA5LjI0ODE2IDYuMDQwMTkgOC41NTIxNiA2LjI1NjE5IDguMzEyMTZMMTEuMjcyMiAyLjYyNDE1Wk0xMS45MjAyIDEuODU2MTVMMTMuMjg4MiAwLjMyMDE0OUMxMy42NDgyIC0wLjA4Nzg1MTYgMTQuMjcyMiAtMC4xMTE4NTIgMTQuNjgwMiAwLjI3MjE0OUMxNS4wODgyIDAuNjMyMTQ5IDE1LjExMjIgMS4yODAxNSAxNC43NTIyIDEuNjg4MTVMMTMuMjY0MiAzLjM2ODE1TDExLjkyMDIgMS44NTYxNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPgo8L3N2Zz4K";
14180
14368
 
14181
- const componentName$u = getComponentName$1('user-attribute');
14369
+ const componentName$t = getComponentName$1('user-attribute');
14182
14370
  class RawUserAttribute extends createBaseClass({
14183
- componentName: componentName$u,
14371
+ componentName: componentName$t,
14184
14372
  baseSelector: ':host > .root',
14185
14373
  }) {
14186
14374
  constructor() {
@@ -14447,9 +14635,9 @@ var userAttribute$1 = /*#__PURE__*/Object.freeze({
14447
14635
 
14448
14636
  var greenVIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhDMCAxMi40IDMuNiAxNiA4IDE2QzEyLjQgMTYgMTYgMTIuNCAxNiA4QzE2IDMuNiAxMi40IDAgOCAwWk03LjEgMTEuN0wyLjkgNy42TDQuMyA2LjJMNyA4LjlMMTIgNEwxMy40IDUuNEw3LjEgMTEuN1oiIGZpbGw9IiM0Q0FGNTAiLz4KPC9zdmc+Cg==";
14449
14637
 
14450
- const componentName$t = getComponentName$1('user-auth-method');
14638
+ const componentName$s = getComponentName$1('user-auth-method');
14451
14639
  class RawUserAuthMethod extends createBaseClass({
14452
- componentName: componentName$t,
14640
+ componentName: componentName$s,
14453
14641
  baseSelector: ':host > .root',
14454
14642
  }) {
14455
14643
  constructor() {
@@ -14665,11 +14853,11 @@ var userAuthMethod$1 = /*#__PURE__*/Object.freeze({
14665
14853
  vars: vars$r
14666
14854
  });
14667
14855
 
14668
- const componentName$s = getComponentName$1('saml-group-mappings-internal');
14856
+ const componentName$r = getComponentName$1('saml-group-mappings-internal');
14669
14857
 
14670
- createBaseInputClass({ componentName: componentName$s, baseSelector: '' });
14858
+ createBaseInputClass({ componentName: componentName$r, baseSelector: '' });
14671
14859
 
14672
- const componentName$r = getComponentName$1('saml-group-mappings');
14860
+ const componentName$q = getComponentName$1('saml-group-mappings');
14673
14861
 
14674
14862
  const customMixin$5 = (superclass) =>
14675
14863
  class SamlGroupMappingsMixinClass extends superclass {
@@ -14679,14 +14867,14 @@ const customMixin$5 = (superclass) =>
14679
14867
  const template = document.createElement('template');
14680
14868
 
14681
14869
  template.innerHTML = `
14682
- <${componentName$s}
14870
+ <${componentName$r}
14683
14871
  tabindex="-1"
14684
- ></${componentName$s}>
14872
+ ></${componentName$r}>
14685
14873
  `;
14686
14874
 
14687
14875
  this.baseElement.appendChild(template.content.cloneNode(true));
14688
14876
 
14689
- this.inputElement = this.shadowRoot.querySelector(componentName$s);
14877
+ this.inputElement = this.shadowRoot.querySelector(componentName$r);
14690
14878
 
14691
14879
  forwardAttrs$1(this, this.inputElement, {
14692
14880
  includeAttrs: [
@@ -14770,7 +14958,7 @@ const SamlGroupMappingsClass = compose$1(
14770
14958
  'options',
14771
14959
  'error-message',
14772
14960
  ],
14773
- componentName: componentName$r,
14961
+ componentName: componentName$q,
14774
14962
  })
14775
14963
  );
14776
14964
 
@@ -14835,200 +15023,6 @@ var icon$3 = /*#__PURE__*/Object.freeze({
14835
15023
  vars: vars$o
14836
15024
  });
14837
15025
 
14838
- const getFileExtension = (path) => {
14839
- const match = path.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);
14840
- return match ? match[1] : null;
14841
- };
14842
-
14843
- const base64Prefix = 'data:image/svg+xml;base64,';
14844
-
14845
- const isBase64Svg = (src) => src.startsWith(base64Prefix);
14846
-
14847
- const createImgEle = (src, altText) => {
14848
- const ele = document.createElement('img');
14849
- ele.setAttribute('src', src);
14850
- ele.setAttribute('alt', altText);
14851
- return ele;
14852
- };
14853
-
14854
- const createSvgEle = (text) => {
14855
- // we want to purify the SVG to avoid XSS attacks
14856
- const clean = DOMPurify.sanitize(text, {
14857
- USE_PROFILES: { svg: true, svgFilters: true },
14858
- // allow image to render
14859
- ADD_TAGS: ['image'],
14860
- // forbid interactiviy via `use` tags (which are sanitized by default)
14861
- FORBID_TAGS: ['defs']
14862
- });
14863
-
14864
- const parser = new DOMParser();
14865
- const ele = parser
14866
- .parseFromString(clean, 'image/svg+xml')
14867
- .querySelector('svg');
14868
- return ele;
14869
- };
14870
-
14871
- const createImage = async (src, altText) => {
14872
- try {
14873
- let ele;
14874
- if (isBase64Svg(src)) {
14875
- // handle base64 source
14876
- const svgXml = atob(src.slice(base64Prefix.length));
14877
- ele = createSvgEle(svgXml);
14878
- } else if (getFileExtension(src) === 'svg') {
14879
- // handle urls
14880
- const fetchedSrc = await fetch(src);
14881
- const text = await fetchedSrc.text();
14882
- ele = createSvgEle(text);
14883
- } else {
14884
- // handle binary
14885
- ele = createImgEle(src, altText);
14886
- }
14887
-
14888
- ele.style.setProperty('max-width', '100%');
14889
- ele.style.setProperty('max-height', '100%');
14890
-
14891
- return ele;
14892
- } catch {
14893
- return null;
14894
- }
14895
- };
14896
-
14897
- /* eslint-disable no-use-before-define */
14898
-
14899
- const componentName$q = getComponentName('image');
14900
-
14901
- const srcAttrs = ['src', 'src-dark'];
14902
-
14903
- class RawImage extends createBaseClass$1({
14904
- componentName: componentName$q,
14905
- baseSelector: 'slot',
14906
- }) {
14907
- static get observedAttributes() {
14908
- return srcAttrs;
14909
- }
14910
-
14911
- constructor() {
14912
- super();
14913
-
14914
- this.attachShadow({ mode: 'open' }).innerHTML = `
14915
- <slot></slot>
14916
- `;
14917
-
14918
- injectStyle(
14919
- `
14920
- :host {
14921
- display: inline-flex;
14922
- }
14923
- :host > slot {
14924
- width: 100%;
14925
- height: 100%;
14926
- box-sizing: border-box;
14927
- display: flex;
14928
- overflow: hidden;
14929
- }
14930
-
14931
- ::slotted(*) {
14932
- width: 100%;
14933
- }
14934
-
14935
- .hidden {
14936
- display: none;
14937
- }
14938
- `,
14939
- this,
14940
- );
14941
- }
14942
-
14943
- init() {
14944
- super.init?.();
14945
- this.toggleVisibility(this.src);
14946
- }
14947
-
14948
- onThemeChange() {
14949
- this.renderImage();
14950
- }
14951
-
14952
- toggleVisibility(isVisible) {
14953
- if (isVisible) {
14954
- this.classList.remove('hidden');
14955
- } else {
14956
- this.classList.add('hidden');
14957
- }
14958
- }
14959
-
14960
- get altText() {
14961
- return this.getAttribute('alt') || '';
14962
- }
14963
-
14964
- get legacySrc() {
14965
- return this.getAttribute('src');
14966
- }
14967
-
14968
- get themeSrc() {
14969
- return this.getAttribute(`src-${this.currentThemeName}`);
14970
- }
14971
-
14972
- get src() {
14973
- return this.themeSrc || this.legacySrc;
14974
- }
14975
-
14976
- // in order to fill an SVG with `currentColor` override all of its `fill` and `path` nodes
14977
- // with the value from the `st-fill` attribute
14978
- // eslint-disable-next-line class-methods-use-this
14979
- updateFillColor(node) {
14980
- // set fill to root node and all its relevant selectors
14981
- const elementsToReplace = [node, ...node.querySelectorAll('*[fill]')];
14982
-
14983
- elementsToReplace.forEach((ele) => {
14984
- ele.setAttribute(
14985
- 'fill',
14986
- `var(${ImageClass.cssVarList.fill}, ${ele.getAttribute('fill') || "''"})`,
14987
- );
14988
- });
14989
- }
14990
-
14991
- renderImage() {
14992
- this.toggleVisibility(this.src);
14993
-
14994
- createImage(this.src, this.altText).then((res) => {
14995
- this.innerHTML = '';
14996
- if (res) {
14997
- this.updateFillColor(res);
14998
- this.appendChild(res);
14999
- }
15000
- });
15001
- }
15002
-
15003
- // render only when src attribute matches current theme
15004
- shouldRender(src) {
15005
- const srcVal = this.getAttribute(src);
15006
- return this.src === srcVal;
15007
- }
15008
-
15009
- attributeChangedCallback(attrName, oldValue, newValue) {
15010
- super.attributeChangedCallback?.(attrName, oldValue, newValue);
15011
-
15012
- if (oldValue === newValue) return;
15013
-
15014
- if (this.shouldRender(attrName)) {
15015
- this.renderImage();
15016
- }
15017
- }
15018
- }
15019
-
15020
- const ImageClass = compose(
15021
- createStyleMixin$1({
15022
- mappings: {
15023
- fill: {},
15024
- height: { selector: () => ':host' },
15025
- width: { selector: () => ':host' },
15026
- },
15027
- }),
15028
- draggableMixin$1,
15029
- componentNameValidationMixin$1,
15030
- )(RawImage);
15031
-
15032
15026
  const vars$n = ImageClass.cssVarList;
15033
15027
 
15034
15028
  const image = {};