@descope/web-components-ui 3.7.0 → 3.7.1

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 (43) hide show
  1. package/dist/cjs/index.cjs.js +631 -337
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +733 -438
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/8961.js +1 -1
  6. package/dist/umd/8961.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/button-selection-group-fields-descope-button-selection-group-item-index-js.js +1 -1
  10. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
  11. package/dist/umd/descope-anchored.js +2 -0
  12. package/dist/umd/descope-anchored.js.map +1 -0
  13. package/dist/umd/descope-attachment.js +1 -1
  14. package/dist/umd/descope-attachment.js.map +1 -1
  15. package/dist/umd/descope-badge.js +1 -1
  16. package/dist/umd/descope-badge.js.map +1 -1
  17. package/dist/umd/descope-button.js +1 -1
  18. package/dist/umd/descope-button.js.map +1 -1
  19. package/dist/umd/descope-date-field-descope-calendar-index-js.js +1 -1
  20. package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -1
  21. package/dist/umd/descope-outbound-app-button.js +1 -1
  22. package/dist/umd/descope-outbound-app-button.js.map +1 -1
  23. package/dist/umd/descope-outbound-apps.js +1 -1
  24. package/dist/umd/descope-outbound-apps.js.map +1 -1
  25. package/dist/umd/descope-timer-button.js +1 -1
  26. package/dist/umd/descope-timer-button.js.map +1 -1
  27. package/dist/umd/descope-tooltip.js +1 -1
  28. package/dist/umd/descope-tooltip.js.map +1 -1
  29. package/dist/umd/descope-trusted-devices.js +1 -1
  30. package/dist/umd/descope-trusted-devices.js.map +1 -1
  31. package/dist/umd/descope-upload-file-index-js.js +1 -1
  32. package/dist/umd/descope-upload-file-index-js.js.map +1 -1
  33. package/dist/umd/descope-user-attribute-index-js.js +2 -2
  34. package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
  35. package/dist/umd/descope-user-auth-method-index-js.js +4 -4
  36. package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
  37. package/dist/umd/index.js +1 -1
  38. package/dist/umd/index.js.map +1 -1
  39. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  40. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
  41. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  42. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
  43. package/package.json +33 -32
package/dist/index.esm.js CHANGED
@@ -145,6 +145,8 @@ const observeAttributes$1 = (
145
145
  });
146
146
 
147
147
  observer.observe(ele, { attributes: true });
148
+
149
+ return { disconnect: () => observer.disconnect() };
148
150
  };
149
151
 
150
152
  // calling the callback with this object: { addedNodes, removedNodes }
@@ -194,13 +196,12 @@ const getComponentName$1 = (name) => kebabCaseJoin$1(DESCOPE_PREFIX$1, name);
194
196
 
195
197
  const getCssVarName$1 = (...args) => `--${kebabCaseJoin$1(...args)}`;
196
198
 
197
- const forwardAttrs$1 = (source, dest, options = {}) => {
199
+ const forwardAttrs$1 = (source, dest, options = {}) =>
198
200
  observeAttributes$1(
199
201
  source,
200
202
  createSyncAttrsCb$1(source, dest, options.mapAttrs),
201
203
  options,
202
204
  );
203
- };
204
205
 
205
206
  const forwardProps$3 = (src, target, props = []) => {
206
207
  if (!props.length) return;
@@ -213,7 +214,6 @@ const forwardProps$3 = (src, target, props = []) => {
213
214
  return src[prop];
214
215
  },
215
216
  set(v) {
216
- // eslint-disable-next-line no-param-reassign
217
217
  src[prop] = v;
218
218
  },
219
219
  },
@@ -228,8 +228,9 @@ const injectStyle = (cssString, ref, { prepend = false } = {}) => {
228
228
  let style;
229
229
 
230
230
  try {
231
+ // eslint-disable-next-line no-undef
231
232
  style = new CSSStyleSheet();
232
- } catch (e) {
233
+ } catch {
233
234
  // fallback for browsers that don't support CSSStyleSheet
234
235
  return generateStyleTagFallback(cssString, ref, { prepend });
235
236
  }
@@ -2092,6 +2093,55 @@ const inputOverrideValidConstraintsMixin$1 = (superclass) =>
2092
2093
  }
2093
2094
  };
2094
2095
 
2096
+ // stretchMixin — manages the `[stretch]` attribute as a pure layout signal.
2097
+ // Consumers own the visual implementation (`:host([stretch])` CSS in their
2098
+ // own init styles, theme rules, etc.).
2099
+ //
2100
+ // triggers — for leaf components that own a "full size" attribute.
2101
+ // Each entry maps an attribute/value pair; when the attribute matches the
2102
+ // value, `[stretch]` is toggled on the host.
2103
+ // Example: stretchMixin({ triggers: [{ attr: 'full-width', value: 'true' }] })
2104
+ // Use on components like descope-button that expose a full-width prop.
2105
+ //
2106
+ // Propagating `[stretch]` from slotted children (e.g. for anchored components)
2107
+ // is the consumer's responsibility. descope-anchored implements this correctly
2108
+ // via per-anchor MutationObservers on assignedElements({ flatten: true }),
2109
+ // which also handles React props set after init.
2110
+
2111
+ const stretchMixin =
2112
+ ({ triggers = [] } = {}) =>
2113
+ (superclass) =>
2114
+ class StretchMixinClass extends superclass {
2115
+ static get observedAttributes() {
2116
+ return [
2117
+ ...(superclass.observedAttributes || []),
2118
+ ...triggers.map(({ attr }) => attr),
2119
+ ];
2120
+ }
2121
+
2122
+ get #shouldStretch() {
2123
+ return triggers.some(
2124
+ ({ attr, value }) => this.getAttribute(attr) === value,
2125
+ );
2126
+ }
2127
+
2128
+ #syncStretch = () => {
2129
+ this.toggleAttribute('stretch', this.#shouldStretch);
2130
+ };
2131
+
2132
+ attributeChangedCallback(name, oldVal, newVal) {
2133
+ super.attributeChangedCallback?.(name, oldVal, newVal);
2134
+ if (oldVal !== newVal) {
2135
+ this.#syncStretch();
2136
+ }
2137
+ }
2138
+
2139
+ init() {
2140
+ super.init?.();
2141
+ this.#syncStretch();
2142
+ }
2143
+ };
2144
+
2095
2145
  const disableRules = [
2096
2146
  'blockquote',
2097
2147
  'list',
@@ -2116,9 +2166,9 @@ const decodeHTML = (html) => {
2116
2166
  /* eslint-disable no-param-reassign */
2117
2167
 
2118
2168
 
2119
- const componentName$1p = getComponentName$1('enriched-text');
2169
+ const componentName$1q = getComponentName$1('enriched-text');
2120
2170
 
2121
- class EnrichedText extends createBaseClass$1({ componentName: componentName$1p, baseSelector: ':host > div' }) {
2171
+ class EnrichedText extends createBaseClass$1({ componentName: componentName$1q, baseSelector: ':host > div' }) {
2122
2172
  #origLinkRenderer;
2123
2173
 
2124
2174
  #origEmRenderer;
@@ -4418,11 +4468,11 @@ const createBaseInputClass = (...args) =>
4418
4468
  inputEventsDispatchingMixin
4419
4469
  )(createBaseClass(...args));
4420
4470
 
4421
- const componentName$1o = getComponentName('boolean-field-internal');
4471
+ const componentName$1p = getComponentName('boolean-field-internal');
4422
4472
 
4423
4473
  const forwardAttributes$1 = ['disabled', 'invalid', 'readonly'];
4424
4474
 
4425
- const BaseInputClass$e = createBaseInputClass({ componentName: componentName$1o, baseSelector: 'div' });
4475
+ const BaseInputClass$e = createBaseInputClass({ componentName: componentName$1p, baseSelector: 'div' });
4426
4476
 
4427
4477
  class BooleanInputInternal extends BaseInputClass$e {
4428
4478
  static get observedAttributes() {
@@ -4521,14 +4571,14 @@ const booleanFieldMixin = (superclass) =>
4521
4571
 
4522
4572
  const template = document.createElement('template');
4523
4573
  template.innerHTML = `
4524
- <${componentName$1o}
4574
+ <${componentName$1p}
4525
4575
  tabindex="-1"
4526
4576
  slot="input"
4527
- ></${componentName$1o}>
4577
+ ></${componentName$1p}>
4528
4578
  `;
4529
4579
 
4530
4580
  this.baseElement.appendChild(template.content.cloneNode(true));
4531
- this.inputElement = this.shadowRoot.querySelector(componentName$1o);
4581
+ this.inputElement = this.shadowRoot.querySelector(componentName$1p);
4532
4582
  this.checkbox = this.inputElement.querySelector('vaadin-checkbox');
4533
4583
 
4534
4584
  forwardAttrs(this, this.inputElement, {
@@ -4606,7 +4656,7 @@ descope-enriched-text {
4606
4656
 
4607
4657
  `;
4608
4658
 
4609
- const componentName$1n = getComponentName('checkbox');
4659
+ const componentName$1o = getComponentName('checkbox');
4610
4660
 
4611
4661
  const {
4612
4662
  host: host$x,
@@ -4742,14 +4792,14 @@ const CheckboxClass = compose(
4742
4792
  }
4743
4793
  `,
4744
4794
  excludeAttrsSync: ['label', 'tabindex', 'style'],
4745
- componentName: componentName$1n,
4795
+ componentName: componentName$1o,
4746
4796
  })
4747
4797
  );
4748
4798
 
4749
- const componentName$1m = getComponentName$1('text');
4799
+ const componentName$1n = getComponentName$1('text');
4750
4800
 
4751
4801
  class RawText extends createBaseClass$1({
4752
- componentName: componentName$1m,
4802
+ componentName: componentName$1n,
4753
4803
  baseSelector: ':host > slot',
4754
4804
  }) {
4755
4805
  constructor() {
@@ -4815,12 +4865,12 @@ const TextClass = compose$1(
4815
4865
  componentNameValidationMixin$1,
4816
4866
  )(RawText);
4817
4867
 
4818
- const componentName$1l = getComponentName$1('link');
4868
+ const componentName$1m = getComponentName$1('link');
4819
4869
 
4820
4870
  const observedAttrs$7 = ['href', 'readonly'];
4821
4871
 
4822
4872
  class RawLink extends createBaseClass$1({
4823
- componentName: componentName$1l,
4873
+ componentName: componentName$1m,
4824
4874
  baseSelector: ':host a',
4825
4875
  }) {
4826
4876
  static get observedAttributes() {
@@ -4919,17 +4969,17 @@ const LinkClass = compose$1(
4919
4969
  componentNameValidationMixin$1,
4920
4970
  )(RawLink);
4921
4971
 
4922
- customElements.define(componentName$1m, TextClass);
4972
+ customElements.define(componentName$1n, TextClass);
4923
4973
 
4924
- customElements.define(componentName$1l, LinkClass);
4974
+ customElements.define(componentName$1m, LinkClass);
4925
4975
 
4926
- customElements.define(componentName$1p, EnrichedTextClass);
4976
+ customElements.define(componentName$1q, EnrichedTextClass);
4927
4977
 
4928
- customElements.define(componentName$1o, BooleanInputInternal);
4978
+ customElements.define(componentName$1p, BooleanInputInternal);
4929
4979
 
4930
- customElements.define(componentName$1n, CheckboxClass);
4980
+ customElements.define(componentName$1o, CheckboxClass);
4931
4981
 
4932
- const componentName$1k = getComponentName('switch-toggle');
4982
+ const componentName$1l = getComponentName('switch-toggle');
4933
4983
 
4934
4984
  const {
4935
4985
  host: host$u,
@@ -5073,17 +5123,17 @@ const SwitchToggleClass = compose(
5073
5123
  }
5074
5124
  `,
5075
5125
  excludeAttrsSync: ['label', 'tabindex', 'style'],
5076
- componentName: componentName$1k,
5126
+ componentName: componentName$1l,
5077
5127
  })
5078
5128
  );
5079
5129
 
5080
- customElements.define(componentName$1k, SwitchToggleClass);
5130
+ customElements.define(componentName$1l, SwitchToggleClass);
5081
5131
 
5082
- const componentName$1j = getComponentName('loader-linear');
5132
+ const componentName$1k = getComponentName('loader-linear');
5083
5133
 
5084
- class RawLoaderLinear extends createBaseClass({ componentName: componentName$1j, baseSelector: ':host > div' }) {
5134
+ class RawLoaderLinear extends createBaseClass({ componentName: componentName$1k, baseSelector: ':host > div' }) {
5085
5135
  static get componentName() {
5086
- return componentName$1j;
5136
+ return componentName$1k;
5087
5137
  }
5088
5138
 
5089
5139
  constructor() {
@@ -5148,11 +5198,11 @@ const LoaderLinearClass = compose(
5148
5198
  componentNameValidationMixin
5149
5199
  )(RawLoaderLinear);
5150
5200
 
5151
- customElements.define(componentName$1j, LoaderLinearClass);
5201
+ customElements.define(componentName$1k, LoaderLinearClass);
5152
5202
 
5153
- const componentName$1i = getComponentName('loader-radial');
5203
+ const componentName$1j = getComponentName('loader-radial');
5154
5204
 
5155
- class RawLoaderRadial extends createBaseClass({ componentName: componentName$1i, baseSelector: ':host > div' }) {
5205
+ class RawLoaderRadial extends createBaseClass({ componentName: componentName$1j, baseSelector: ':host > div' }) {
5156
5206
  constructor() {
5157
5207
  super();
5158
5208
 
@@ -5200,11 +5250,11 @@ const LoaderRadialClass = compose(
5200
5250
  componentNameValidationMixin
5201
5251
  )(RawLoaderRadial);
5202
5252
 
5203
- customElements.define(componentName$1i, LoaderRadialClass);
5253
+ customElements.define(componentName$1j, LoaderRadialClass);
5204
5254
 
5205
- const componentName$1h = getComponentName('container');
5255
+ const componentName$1i = getComponentName('container');
5206
5256
 
5207
- class RawContainer extends createBaseClass({ componentName: componentName$1h, baseSelector: 'slot' }) {
5257
+ class RawContainer extends createBaseClass({ componentName: componentName$1i, baseSelector: 'slot' }) {
5208
5258
  constructor() {
5209
5259
  super();
5210
5260
 
@@ -5267,9 +5317,9 @@ const ContainerClass = compose(
5267
5317
  componentNameValidationMixin
5268
5318
  )(RawContainer);
5269
5319
 
5270
- customElements.define(componentName$1h, ContainerClass);
5320
+ customElements.define(componentName$1i, ContainerClass);
5271
5321
 
5272
- const componentName$1g = getComponentName$1('combo-box');
5322
+ const componentName$1h = getComponentName$1('combo-box');
5273
5323
 
5274
5324
  const ComboBoxMixin = (superclass) =>
5275
5325
  class ComboBoxMixinClass extends superclass {
@@ -5962,12 +6012,12 @@ const ComboBoxClass = compose$1(
5962
6012
  // and reset items to an empty array, and opening the list box with no items
5963
6013
  // to display.
5964
6014
  excludeAttrsSync: ['tabindex', 'size', 'data', 'loading', 'style'],
5965
- componentName: componentName$1g,
6015
+ componentName: componentName$1h,
5966
6016
  includeForwardProps: ['items', 'renderer', 'selectedItem'],
5967
6017
  }),
5968
6018
  );
5969
6019
 
5970
- customElements.define(componentName$1g, ComboBoxClass);
6020
+ customElements.define(componentName$1h, ComboBoxClass);
5971
6021
 
5972
6022
  const getFileExtension = (path) => {
5973
6023
  const match = path.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);
@@ -6030,12 +6080,12 @@ const createImage = async (src, altText) => {
6030
6080
 
6031
6081
  /* eslint-disable no-use-before-define */
6032
6082
 
6033
- const componentName$1f = getComponentName$1('image');
6083
+ const componentName$1g = getComponentName$1('image');
6034
6084
 
6035
6085
  const srcAttrs = ['src', 'src-dark'];
6036
6086
 
6037
6087
  class RawImage extends createBaseClass$1({
6038
- componentName: componentName$1f,
6088
+ componentName: componentName$1g,
6039
6089
  baseSelector: 'slot',
6040
6090
  }) {
6041
6091
  static get observedAttributes() {
@@ -6163,7 +6213,7 @@ const ImageClass = compose$1(
6163
6213
  componentNameValidationMixin$1,
6164
6214
  )(RawImage);
6165
6215
 
6166
- const componentName$1e = getComponentName$1('icon');
6216
+ const componentName$1f = getComponentName$1('icon');
6167
6217
 
6168
6218
  const IconClass = compose$1(
6169
6219
  createStyleMixin$1({
@@ -6184,7 +6234,7 @@ const IconClass = compose$1(
6184
6234
  }
6185
6235
  `,
6186
6236
  excludeAttrsSync: ['tabindex', 'class', 'style'],
6187
- componentName: componentName$1e,
6237
+ componentName: componentName$1f,
6188
6238
  }),
6189
6239
  );
6190
6240
 
@@ -6199,7 +6249,7 @@ const clickableMixin = (superclass) =>
6199
6249
  }
6200
6250
  };
6201
6251
 
6202
- const componentName$1d = getComponentName$1('button');
6252
+ const componentName$1e = getComponentName$1('button');
6203
6253
 
6204
6254
  const resetStyles = `
6205
6255
  :host {
@@ -6246,6 +6296,7 @@ const { host: host$r, label: label$9, slottedIcon } = {
6246
6296
  let loadingIndicatorStyles;
6247
6297
 
6248
6298
  const ButtonClass = compose$1(
6299
+ stretchMixin({ triggers: [{ attr: 'full-width', value: 'true' }] }),
6249
6300
  createStyleMixin$1({
6250
6301
  mappings: {
6251
6302
  hostWidth: { property: 'width' },
@@ -6319,7 +6370,7 @@ const ButtonClass = compose$1(
6319
6370
  }
6320
6371
  `,
6321
6372
  excludeAttrsSync: ['tabindex', 'class', 'style'],
6322
- componentName: componentName$1d,
6373
+ componentName: componentName$1e,
6323
6374
  }),
6324
6375
  );
6325
6376
 
@@ -6356,7 +6407,7 @@ loadingIndicatorStyles = `
6356
6407
  }
6357
6408
  `;
6358
6409
 
6359
- customElements.define(componentName$1d, ButtonClass);
6410
+ customElements.define(componentName$1e, ButtonClass);
6360
6411
 
6361
6412
  const SUPPORTED_FORMATS = ['MM/DD/YYYY', 'DD/MM/YYYY', 'YYYY/MM/DD'];
6362
6413
 
@@ -6712,7 +6763,7 @@ const nextMonth = (epoch) => {
6712
6763
  return date;
6713
6764
  };
6714
6765
 
6715
- const componentName$1c = getComponentName('calendar');
6766
+ const componentName$1d = getComponentName('calendar');
6716
6767
 
6717
6768
  const observedAttrs$6 = [
6718
6769
  'initial-value',
@@ -6729,7 +6780,7 @@ const observedAttrs$6 = [
6729
6780
 
6730
6781
  const calendarUiAttrs = ['calendar-label-submit', 'calendar-label-cancel'];
6731
6782
 
6732
- const BaseInputClass$d = createBaseInputClass({ componentName: componentName$1c, baseSelector: 'div' });
6783
+ const BaseInputClass$d = createBaseInputClass({ componentName: componentName$1d, baseSelector: 'div' });
6733
6784
 
6734
6785
  class RawCalendar extends BaseInputClass$d {
6735
6786
  static get observedAttributes() {
@@ -7350,7 +7401,7 @@ const CalendarClass = compose(
7350
7401
  componentNameValidationMixin
7351
7402
  )(RawCalendar);
7352
7403
 
7353
- customElements.define(componentName$1c, CalendarClass);
7404
+ customElements.define(componentName$1d, CalendarClass);
7354
7405
 
7355
7406
  const {
7356
7407
  host: host$q,
@@ -7522,7 +7573,7 @@ var textFieldMappings = {
7522
7573
  ],
7523
7574
  };
7524
7575
 
7525
- const componentName$1b = getComponentName('text-field');
7576
+ const componentName$1c = getComponentName('text-field');
7526
7577
 
7527
7578
  const observedAttrs$5 = ['type', 'label-type', 'copy-to-clipboard'];
7528
7579
 
@@ -7644,11 +7695,11 @@ const TextFieldClass = compose(
7644
7695
  }
7645
7696
  `,
7646
7697
  excludeAttrsSync: ['tabindex', 'style'],
7647
- componentName: componentName$1b,
7698
+ componentName: componentName$1c,
7648
7699
  })
7649
7700
  );
7650
7701
 
7651
- customElements.define(componentName$1b, TextFieldClass);
7702
+ customElements.define(componentName$1c, TextFieldClass);
7652
7703
 
7653
7704
  // DateCounterClass allows us to add several counters to the input, and use them seperately.
7654
7705
  // For examele, we have a DayCounter, MonthCounter and YearCounter, which can each separately navigate
@@ -7768,12 +7819,12 @@ class DateCounter {
7768
7819
  }
7769
7820
  }
7770
7821
 
7771
- const componentName$1a = getComponentName('date-field');
7822
+ const componentName$1b = getComponentName('date-field');
7772
7823
 
7773
7824
  // we set baseSelector to `vaadin-popover` as a temporary hack, so our portalMixin will
7774
7825
  // be able to process this component's overlay. The whole process needs refactoring as soon as possible.
7775
7826
  const BASE_SELECTOR = 'vaadin-popover';
7776
- const BaseInputClass$c = createBaseInputClass({ componentName: componentName$1a, baseSelector: BASE_SELECTOR });
7827
+ const BaseInputClass$c = createBaseInputClass({ componentName: componentName$1b, baseSelector: BASE_SELECTOR });
7777
7828
 
7778
7829
  const dateFieldAttrs = [
7779
7830
  'format',
@@ -8711,10 +8762,10 @@ const DateFieldClass = compose(
8711
8762
  componentNameValidationMixin
8712
8763
  )(RawDateFieldClass);
8713
8764
 
8714
- customElements.define(componentName$1a, DateFieldClass);
8765
+ customElements.define(componentName$1b, DateFieldClass);
8715
8766
 
8716
- const componentName$19 = getComponentName('divider');
8717
- class RawDivider extends createBaseClass({ componentName: componentName$19, baseSelector: ':host > div' }) {
8767
+ const componentName$1a = getComponentName('divider');
8768
+ class RawDivider extends createBaseClass({ componentName: componentName$1a, baseSelector: ':host > div' }) {
8718
8769
  constructor() {
8719
8770
  super();
8720
8771
 
@@ -8817,9 +8868,9 @@ const DividerClass = compose(
8817
8868
  componentNameValidationMixin
8818
8869
  )(RawDivider);
8819
8870
 
8820
- customElements.define(componentName$19, DividerClass);
8871
+ customElements.define(componentName$1a, DividerClass);
8821
8872
 
8822
- const componentName$18 = getComponentName('email-field');
8873
+ const componentName$19 = getComponentName('email-field');
8823
8874
 
8824
8875
  const defaultPattern = "^[\\w\\.\\%\\+\\-']+@[\\w\\.\\-]+\\.[A-Za-z]{2,}$";
8825
8876
  const defaultAutocomplete = 'username';
@@ -8888,11 +8939,11 @@ const EmailFieldClass = compose(
8888
8939
  }
8889
8940
  `,
8890
8941
  excludeAttrsSync: ['tabindex', 'style'],
8891
- componentName: componentName$18,
8942
+ componentName: componentName$19,
8892
8943
  })
8893
8944
  );
8894
8945
 
8895
- customElements.define(componentName$18, EmailFieldClass);
8946
+ customElements.define(componentName$19, EmailFieldClass);
8896
8947
 
8897
8948
  const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) => {
8898
8949
  let style;
@@ -8948,37 +8999,37 @@ const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) =>
8948
8999
  return CssVarImageClass;
8949
9000
  };
8950
9001
 
8951
- const componentName$17 = getComponentName('logo');
9002
+ const componentName$18 = getComponentName('logo');
8952
9003
 
8953
9004
  const LogoClass = createCssVarImageClass({
8954
- componentName: componentName$17,
9005
+ componentName: componentName$18,
8955
9006
  varName: 'url',
8956
9007
  fallbackVarName: 'fallbackUrl',
8957
9008
  });
8958
9009
 
8959
- customElements.define(componentName$17, LogoClass);
9010
+ customElements.define(componentName$18, LogoClass);
8960
9011
 
8961
- const componentName$16 = getComponentName('totp-image');
9012
+ const componentName$17 = getComponentName('totp-image');
8962
9013
 
8963
9014
  const TotpImageClass = createCssVarImageClass({
8964
- componentName: componentName$16,
9015
+ componentName: componentName$17,
8965
9016
  varName: 'url',
8966
9017
  fallbackVarName: 'fallbackUrl',
8967
9018
  });
8968
9019
 
8969
- customElements.define(componentName$16, TotpImageClass);
9020
+ customElements.define(componentName$17, TotpImageClass);
8970
9021
 
8971
- const componentName$15 = getComponentName('notp-image');
9022
+ const componentName$16 = getComponentName('notp-image');
8972
9023
 
8973
9024
  const NotpImageClass = createCssVarImageClass({
8974
- componentName: componentName$15,
9025
+ componentName: componentName$16,
8975
9026
  varName: 'url',
8976
9027
  fallbackVarName: 'fallbackUrl',
8977
9028
  });
8978
9029
 
8979
- customElements.define(componentName$15, NotpImageClass);
9030
+ customElements.define(componentName$16, NotpImageClass);
8980
9031
 
8981
- const componentName$14 = getComponentName('number-field');
9032
+ const componentName$15 = getComponentName('number-field');
8982
9033
 
8983
9034
  const NumberFieldClass = compose(
8984
9035
  createStyleMixin({
@@ -9012,11 +9063,11 @@ const NumberFieldClass = compose(
9012
9063
  }
9013
9064
  `,
9014
9065
  excludeAttrsSync: ['tabindex', 'style'],
9015
- componentName: componentName$14,
9066
+ componentName: componentName$15,
9016
9067
  })
9017
9068
  );
9018
9069
 
9019
- customElements.define(componentName$14, NumberFieldClass);
9070
+ customElements.define(componentName$15, NumberFieldClass);
9020
9071
 
9021
9072
  const INPUT_MASK_TEXT_PROP = '--descope-input-mask-content';
9022
9073
  const INPUT_MASK_DISPLAY_PROP = '--descope-input-mask-display';
@@ -9039,7 +9090,7 @@ const toggleMaskVisibility = (input, value) => {
9039
9090
  }
9040
9091
  };
9041
9092
 
9042
- const componentName$13 = getComponentName('passcode-internal');
9093
+ const componentName$14 = getComponentName('passcode-internal');
9043
9094
 
9044
9095
  const observedAttributes$6 = ['digits', 'loading'];
9045
9096
 
@@ -9052,7 +9103,7 @@ const forwardAttributes = [
9052
9103
  'aria-labelledby',
9053
9104
  ];
9054
9105
 
9055
- const BaseInputClass$b = createBaseInputClass({ componentName: componentName$13, baseSelector: 'div' });
9106
+ const BaseInputClass$b = createBaseInputClass({ componentName: componentName$14, baseSelector: 'div' });
9056
9107
 
9057
9108
  class PasscodeInternal extends BaseInputClass$b {
9058
9109
  static get observedAttributes() {
@@ -9265,7 +9316,7 @@ class PasscodeInternal extends BaseInputClass$b {
9265
9316
  }
9266
9317
  }
9267
9318
 
9268
- const componentName$12 = getComponentName('passcode');
9319
+ const componentName$13 = getComponentName('passcode');
9269
9320
 
9270
9321
  const observedAttributes$5 = ['digits'];
9271
9322
 
@@ -9310,18 +9361,18 @@ const customMixin$d = (superclass) =>
9310
9361
  const template = document.createElement('template');
9311
9362
 
9312
9363
  template.innerHTML = `
9313
- <${componentName$13}
9364
+ <${componentName$14}
9314
9365
  bordered="true"
9315
9366
  name="code"
9316
9367
  tabindex="-1"
9317
9368
  slot="input"
9318
9369
  role="textbox"
9319
- ><slot></slot></${componentName$13}>
9370
+ ><slot></slot></${componentName$14}>
9320
9371
  `;
9321
9372
 
9322
9373
  this.baseElement.appendChild(template.content.cloneNode(true));
9323
9374
 
9324
- this.inputElement = this.shadowRoot.querySelector(componentName$13);
9375
+ this.inputElement = this.shadowRoot.querySelector(componentName$14);
9325
9376
 
9326
9377
  forwardAttrs(this, this.inputElement, {
9327
9378
  includeAttrs: ['digits', 'size', 'loading', 'disabled'],
@@ -9490,13 +9541,13 @@ const PasscodeClass = compose(
9490
9541
  ${resetInputCursor('vaadin-text-field')}
9491
9542
  `,
9492
9543
  excludeAttrsSync: ['tabindex', 'style'],
9493
- componentName: componentName$12,
9544
+ componentName: componentName$13,
9494
9545
  })
9495
9546
  );
9496
9547
 
9497
- customElements.define(componentName$13, PasscodeInternal);
9548
+ customElements.define(componentName$14, PasscodeInternal);
9498
9549
 
9499
- customElements.define(componentName$12, PasscodeClass);
9550
+ customElements.define(componentName$13, PasscodeClass);
9500
9551
 
9501
9552
  const passwordDraggableMixin = (superclass) =>
9502
9553
  class PasswordDraggableMixinClass extends superclass {
@@ -9537,7 +9588,7 @@ const passwordDraggableMixin = (superclass) =>
9537
9588
  }
9538
9589
  };
9539
9590
 
9540
- const componentName$11 = getComponentName('password');
9591
+ const componentName$12 = getComponentName('password');
9541
9592
 
9542
9593
  const customMixin$c = (superclass) =>
9543
9594
  class PasswordFieldMixinClass extends superclass {
@@ -9831,13 +9882,13 @@ const PasswordClass = compose(
9831
9882
  }
9832
9883
  `,
9833
9884
  excludeAttrsSync: ['tabindex', 'style'],
9834
- componentName: componentName$11,
9885
+ componentName: componentName$12,
9835
9886
  })
9836
9887
  );
9837
9888
 
9838
- customElements.define(componentName$11, PasswordClass);
9889
+ customElements.define(componentName$12, PasswordClass);
9839
9890
 
9840
- const componentName$10 = getComponentName('text-area');
9891
+ const componentName$11 = getComponentName('text-area');
9841
9892
 
9842
9893
  const {
9843
9894
  host: host$l,
@@ -9926,11 +9977,11 @@ const TextAreaClass = compose(
9926
9977
  ${resetInputCursor('vaadin-text-area')}
9927
9978
  `,
9928
9979
  excludeAttrsSync: ['tabindex', 'style'],
9929
- componentName: componentName$10,
9980
+ componentName: componentName$11,
9930
9981
  })
9931
9982
  );
9932
9983
 
9933
- customElements.define(componentName$10, TextAreaClass);
9984
+ customElements.define(componentName$11, TextAreaClass);
9934
9985
 
9935
9986
  var CountryCodes = [
9936
9987
  // United States should be the first option
@@ -11167,7 +11218,7 @@ const comboBoxItem = ({ code, dialCode, name: country }) => `
11167
11218
  </div>
11168
11219
  `;
11169
11220
 
11170
- const componentName$$ = getComponentName('phone-field-internal');
11221
+ const componentName$10 = getComponentName('phone-field-internal');
11171
11222
 
11172
11223
  const commonAttrs$2 = ['disabled', 'size', 'bordered', 'readonly'];
11173
11224
  const countryAttrs = ['country-input-placeholder', 'default-code', 'restrict-countries'];
@@ -11188,7 +11239,7 @@ const mapAttrs$1 = {
11188
11239
 
11189
11240
  const inputRelatedAttrs$1 = [].concat(commonAttrs$2, countryAttrs, phoneAttrs, labelTypeAttrs$1);
11190
11241
 
11191
- const BaseInputClass$a = createBaseInputClass({ componentName: componentName$$, baseSelector: 'div' });
11242
+ const BaseInputClass$a = createBaseInputClass({ componentName: componentName$10, baseSelector: 'div' });
11192
11243
 
11193
11244
  let PhoneFieldInternal$1 = class PhoneFieldInternal extends BaseInputClass$a {
11194
11245
  static get observedAttributes() {
@@ -11545,12 +11596,12 @@ let PhoneFieldInternal$1 = class PhoneFieldInternal extends BaseInputClass$a {
11545
11596
  }
11546
11597
  };
11547
11598
 
11548
- customElements.define(componentName$$, PhoneFieldInternal$1);
11599
+ customElements.define(componentName$10, PhoneFieldInternal$1);
11549
11600
 
11550
11601
  const textVars$2 = TextFieldClass.cssVarList;
11551
11602
  const comboVars = ComboBoxClass.cssVarList;
11552
11603
 
11553
- const componentName$_ = getComponentName('phone-field');
11604
+ const componentName$$ = getComponentName('phone-field');
11554
11605
 
11555
11606
  const customMixin$b = (superclass) =>
11556
11607
  class PhoneFieldMixinClass extends superclass {
@@ -11564,15 +11615,15 @@ const customMixin$b = (superclass) =>
11564
11615
  const template = document.createElement('template');
11565
11616
 
11566
11617
  template.innerHTML = `
11567
- <${componentName$$}
11618
+ <${componentName$10}
11568
11619
  tabindex="-1"
11569
11620
  slot="input"
11570
- ></${componentName$$}>
11621
+ ></${componentName$10}>
11571
11622
  `;
11572
11623
 
11573
11624
  this.baseElement.appendChild(template.content.cloneNode(true));
11574
11625
 
11575
- this.inputElement = this.shadowRoot.querySelector(componentName$$);
11626
+ this.inputElement = this.shadowRoot.querySelector(componentName$10);
11576
11627
 
11577
11628
  forwardAttrs(this.shadowRoot.host, this.inputElement, {
11578
11629
  includeAttrs: [
@@ -11855,11 +11906,11 @@ const PhoneFieldClass = compose(
11855
11906
  ${resetInputLabelPosition('vaadin-text-field')}
11856
11907
  `,
11857
11908
  excludeAttrsSync: ['tabindex', 'style'],
11858
- componentName: componentName$_,
11909
+ componentName: componentName$$,
11859
11910
  })
11860
11911
  );
11861
11912
 
11862
- customElements.define(componentName$_, PhoneFieldClass);
11913
+ customElements.define(componentName$$, PhoneFieldClass);
11863
11914
 
11864
11915
  const getCountryByCodeId = (countryCode) =>
11865
11916
  CountryCodes.find((c) => c.code === countryCode)?.dialCode;
@@ -11870,7 +11921,7 @@ const matchingParenthesis = (val) => {
11870
11921
  return openParenMatches?.length === closeParenMatches?.length;
11871
11922
  };
11872
11923
 
11873
- const componentName$Z = getComponentName('phone-field-internal-input-box');
11924
+ const componentName$_ = getComponentName('phone-field-internal-input-box');
11874
11925
 
11875
11926
  const observedAttributes$4 = [
11876
11927
  'disabled',
@@ -11888,7 +11939,7 @@ const mapAttrs = {
11888
11939
  'phone-input-type': 'type',
11889
11940
  };
11890
11941
 
11891
- const BaseInputClass$9 = createBaseInputClass({ componentName: componentName$Z, baseSelector: 'div' });
11942
+ const BaseInputClass$9 = createBaseInputClass({ componentName: componentName$_, baseSelector: 'div' });
11892
11943
 
11893
11944
  class PhoneFieldInternal extends BaseInputClass$9 {
11894
11945
  static get observedAttributes() {
@@ -12141,11 +12192,11 @@ class PhoneFieldInternal extends BaseInputClass$9 {
12141
12192
  }
12142
12193
  }
12143
12194
 
12144
- customElements.define(componentName$Z, PhoneFieldInternal);
12195
+ customElements.define(componentName$_, PhoneFieldInternal);
12145
12196
 
12146
12197
  const textVars$1 = TextFieldClass.cssVarList;
12147
12198
 
12148
- const componentName$Y = getComponentName('phone-input-box-field');
12199
+ const componentName$Z = getComponentName('phone-input-box-field');
12149
12200
 
12150
12201
  const customMixin$a = (superclass) =>
12151
12202
  class PhoneFieldInputBoxMixinClass extends superclass {
@@ -12159,15 +12210,15 @@ const customMixin$a = (superclass) =>
12159
12210
  const template = document.createElement('template');
12160
12211
 
12161
12212
  template.innerHTML = `
12162
- <${componentName$Z}
12213
+ <${componentName$_}
12163
12214
  tabindex="-1"
12164
12215
  slot="input"
12165
- ></${componentName$Z}>
12216
+ ></${componentName$_}>
12166
12217
  `;
12167
12218
 
12168
12219
  this.baseElement.appendChild(template.content.cloneNode(true));
12169
12220
 
12170
- this.inputElement = this.shadowRoot.querySelector(componentName$Z);
12221
+ this.inputElement = this.shadowRoot.querySelector(componentName$_);
12171
12222
 
12172
12223
  syncAttrs$1(this, this.inputElement, { includeAttrs: ['has-value'] });
12173
12224
 
@@ -12379,18 +12430,18 @@ const PhoneFieldInputBoxClass = compose(
12379
12430
  ${inputFloatingLabelStyle()}
12380
12431
  `,
12381
12432
  excludeAttrsSync: ['tabindex', 'style'],
12382
- componentName: componentName$Y,
12433
+ componentName: componentName$Z,
12383
12434
  })
12384
12435
  );
12385
12436
 
12386
- customElements.define(componentName$Y, PhoneFieldInputBoxClass);
12437
+ customElements.define(componentName$Z, PhoneFieldInputBoxClass);
12387
12438
 
12388
- const componentName$X = getComponentName('new-password-internal');
12439
+ const componentName$Y = getComponentName('new-password-internal');
12389
12440
 
12390
12441
  const interpolateString = (template, values) =>
12391
12442
  template.replace(/{{(\w+)+}}/g, (match, key) => values?.[key] || match);
12392
12443
 
12393
- const componentName$W = getComponentName('policy-validation');
12444
+ const componentName$X = getComponentName('policy-validation');
12394
12445
 
12395
12446
  const overrideAttrs = [
12396
12447
  'data-password-policy-value-minlength',
@@ -12400,7 +12451,7 @@ const overrideAttrs = [
12400
12451
  const dataAttrs = ['data', 'active-policies', 'overrides', ...overrideAttrs];
12401
12452
  const policyAttrs = ['label', 'value', ...dataAttrs];
12402
12453
 
12403
- class RawPolicyValidation extends createBaseClass({ componentName: componentName$W, baseSelector: ':host > div' }) {
12454
+ class RawPolicyValidation extends createBaseClass({ componentName: componentName$X, baseSelector: ':host > div' }) {
12404
12455
  #availablePolicies;
12405
12456
 
12406
12457
  #activePolicies = [];
@@ -12672,7 +12723,7 @@ const PolicyValidationClass = compose(
12672
12723
  componentNameValidationMixin
12673
12724
  )(RawPolicyValidation);
12674
12725
 
12675
- const componentName$V = getComponentName('new-password');
12726
+ const componentName$W = getComponentName('new-password');
12676
12727
 
12677
12728
  const policyPreviewVars = PolicyValidationClass.cssVarList;
12678
12729
 
@@ -12686,18 +12737,18 @@ const customMixin$9 = (superclass) =>
12686
12737
  const externalInputAttr = this.getAttribute('external-input');
12687
12738
 
12688
12739
  template.innerHTML = `
12689
- <${componentName$X}
12740
+ <${componentName$Y}
12690
12741
  name="new-password"
12691
12742
  tabindex="-1"
12692
12743
  slot="input"
12693
12744
  external-input="${externalInputAttr}"
12694
12745
  >
12695
- </${componentName$X}>
12746
+ </${componentName$Y}>
12696
12747
  `;
12697
12748
 
12698
12749
  this.baseElement.appendChild(template.content.cloneNode(true));
12699
12750
 
12700
- this.inputElement = this.shadowRoot.querySelector(componentName$X);
12751
+ this.inputElement = this.shadowRoot.querySelector(componentName$Y);
12701
12752
 
12702
12753
  if (this.getAttribute('external-input') === 'true') {
12703
12754
  this.initExternalInput();
@@ -12892,11 +12943,11 @@ const NewPasswordClass = compose(
12892
12943
  }
12893
12944
  `,
12894
12945
  excludeAttrsSync: ['tabindex', 'style'],
12895
- componentName: componentName$V,
12946
+ componentName: componentName$W,
12896
12947
  })
12897
12948
  );
12898
12949
 
12899
- customElements.define(componentName$W, PolicyValidationClass);
12950
+ customElements.define(componentName$X, PolicyValidationClass);
12900
12951
 
12901
12952
  const passwordAttrPrefixRegex = /^password-/;
12902
12953
  const confirmAttrPrefixRegex = /^confirm-/;
@@ -12936,7 +12987,7 @@ const inputRelatedAttrs = [].concat(
12936
12987
  policyPanelAttrs
12937
12988
  );
12938
12989
 
12939
- const BaseInputClass$8 = createBaseInputClass({ componentName: componentName$X, baseSelector: 'div' });
12990
+ const BaseInputClass$8 = createBaseInputClass({ componentName: componentName$Y, baseSelector: 'div' });
12940
12991
 
12941
12992
  class NewPasswordInternal extends BaseInputClass$8 {
12942
12993
  static get observedAttributes() {
@@ -13179,21 +13230,21 @@ class NewPasswordInternal extends BaseInputClass$8 {
13179
13230
  }
13180
13231
  }
13181
13232
 
13182
- customElements.define(componentName$X, NewPasswordInternal);
13233
+ customElements.define(componentName$Y, NewPasswordInternal);
13183
13234
 
13184
- customElements.define(componentName$V, NewPasswordClass);
13235
+ customElements.define(componentName$W, NewPasswordClass);
13185
13236
 
13186
- const componentName$U = getComponentName('recaptcha');
13237
+ const componentName$V = getComponentName('recaptcha');
13187
13238
 
13188
13239
  const observedAttributes$3 = ['enabled', 'site-key', 'action', 'enterprise', 'variant'];
13189
13240
 
13190
- const BaseClass$7 = createBaseClass({
13191
- componentName: componentName$U,
13241
+ const BaseClass$6 = createBaseClass({
13242
+ componentName: componentName$V,
13192
13243
  baseSelector: ':host > div',
13193
13244
  });
13194
- class RawRecaptcha extends BaseClass$7 {
13245
+ class RawRecaptcha extends BaseClass$6 {
13195
13246
  static get observedAttributes() {
13196
- return observedAttributes$3.concat(BaseClass$7.observedAttributes || []);
13247
+ return observedAttributes$3.concat(BaseClass$6.observedAttributes || []);
13197
13248
  }
13198
13249
 
13199
13250
  attributeChangedCallback(attrName, oldValue, newValue) {
@@ -13486,7 +13537,7 @@ class RawRecaptcha extends BaseClass$7 {
13486
13537
 
13487
13538
  const RecaptchaClass = compose(draggableMixin)(RawRecaptcha);
13488
13539
 
13489
- customElements.define(componentName$U, RecaptchaClass);
13540
+ customElements.define(componentName$V, RecaptchaClass);
13490
13541
 
13491
13542
  const getFileBase64 = (fileObj) =>
13492
13543
  new Promise((resolve) => {
@@ -13497,7 +13548,7 @@ const getFileBase64 = (fileObj) =>
13497
13548
 
13498
13549
  const getFilename = (fileObj) => fileObj.name.replace(/^.*\\/, '');
13499
13550
 
13500
- const componentName$T = getComponentName('upload-file');
13551
+ const componentName$U = getComponentName('upload-file');
13501
13552
 
13502
13553
  const observedAttributes$2 = [
13503
13554
  'title',
@@ -13512,7 +13563,7 @@ const observedAttributes$2 = [
13512
13563
  'icon',
13513
13564
  ];
13514
13565
 
13515
- const BaseInputClass$7 = createBaseInputClass({ componentName: componentName$T, baseSelector: ':host > div' });
13566
+ const BaseInputClass$7 = createBaseInputClass({ componentName: componentName$U, baseSelector: ':host > div' });
13516
13567
 
13517
13568
  class RawUploadFile extends BaseInputClass$7 {
13518
13569
  static get observedAttributes() {
@@ -13731,7 +13782,7 @@ const UploadFileClass = compose(
13731
13782
  componentNameValidationMixin
13732
13783
  )(RawUploadFile);
13733
13784
 
13734
- customElements.define(componentName$T, UploadFileClass);
13785
+ customElements.define(componentName$U, UploadFileClass);
13735
13786
 
13736
13787
  const createBaseButtonSelectionGroupInternalClass = (componentName) => {
13737
13788
  class BaseButtonSelectionGroupInternalClass extends createBaseInputClass({
@@ -13819,10 +13870,10 @@ const createBaseButtonSelectionGroupInternalClass = (componentName) => {
13819
13870
  return BaseButtonSelectionGroupInternalClass;
13820
13871
  };
13821
13872
 
13822
- const componentName$S = getComponentName('button-selection-group-internal');
13873
+ const componentName$T = getComponentName('button-selection-group-internal');
13823
13874
 
13824
13875
  class ButtonSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
13825
- componentName$S
13876
+ componentName$T
13826
13877
  ) {
13827
13878
  getSelectedNode() {
13828
13879
  return this.items.find((item) => item.hasAttribute('selected'));
@@ -14065,7 +14116,7 @@ const buttonSelectionGroupStyles = `
14065
14116
  ${resetInputCursor('vaadin-text-field')}
14066
14117
  `;
14067
14118
 
14068
- const componentName$R = getComponentName('button-selection-group');
14119
+ const componentName$S = getComponentName('button-selection-group');
14069
14120
 
14070
14121
  const buttonSelectionGroupMixin = (superclass) =>
14071
14122
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -14074,19 +14125,19 @@ const buttonSelectionGroupMixin = (superclass) =>
14074
14125
  const template = document.createElement('template');
14075
14126
 
14076
14127
  template.innerHTML = `
14077
- <${componentName$S}
14128
+ <${componentName$T}
14078
14129
  name="button-selection-group"
14079
14130
  slot="input"
14080
14131
  tabindex="-1"
14081
14132
  part="internal-component"
14082
14133
  >
14083
14134
  <slot></slot>
14084
- </${componentName$S}>
14135
+ </${componentName$T}>
14085
14136
  `;
14086
14137
 
14087
14138
  this.baseElement.appendChild(template.content.cloneNode(true));
14088
14139
 
14089
- this.inputElement = this.shadowRoot.querySelector(componentName$S);
14140
+ this.inputElement = this.shadowRoot.querySelector(componentName$T);
14090
14141
 
14091
14142
  forwardAttrs(this, this.inputElement, {
14092
14143
  includeAttrs: ['size', 'default-value', 'allow-deselect'],
@@ -14111,16 +14162,16 @@ const ButtonSelectionGroupClass = compose(
14111
14162
  wrappedEleName: 'vaadin-text-field',
14112
14163
  style: () => buttonSelectionGroupStyles,
14113
14164
  excludeAttrsSync: ['tabindex', 'style'],
14114
- componentName: componentName$R,
14165
+ componentName: componentName$S,
14115
14166
  })
14116
14167
  );
14117
14168
 
14118
- customElements.define(componentName$S, ButtonSelectionGroupInternalClass);
14169
+ customElements.define(componentName$T, ButtonSelectionGroupInternalClass);
14119
14170
 
14120
- const componentName$Q = getComponentName('button-selection-group-item');
14171
+ const componentName$R = getComponentName('button-selection-group-item');
14121
14172
 
14122
14173
  class RawSelectItem extends createBaseClass({
14123
- componentName: componentName$Q,
14174
+ componentName: componentName$R,
14124
14175
  baseSelector: ':host > descope-button',
14125
14176
  }) {
14126
14177
  get size() {
@@ -14231,14 +14282,14 @@ const ButtonSelectionGroupItemClass = compose(
14231
14282
  componentNameValidationMixin
14232
14283
  )(RawSelectItem);
14233
14284
 
14234
- customElements.define(componentName$Q, ButtonSelectionGroupItemClass);
14285
+ customElements.define(componentName$R, ButtonSelectionGroupItemClass);
14235
14286
 
14236
- customElements.define(componentName$R, ButtonSelectionGroupClass);
14287
+ customElements.define(componentName$S, ButtonSelectionGroupClass);
14237
14288
 
14238
- const componentName$P = getComponentName('button-multi-selection-group-internal');
14289
+ const componentName$Q = getComponentName('button-multi-selection-group-internal');
14239
14290
 
14240
14291
  class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
14241
- componentName$P
14292
+ componentName$Q
14242
14293
  ) {
14243
14294
  #getSelectedNodes() {
14244
14295
  return this.items.filter((item) => item.hasAttribute('selected'));
@@ -14340,7 +14391,7 @@ class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGr
14340
14391
  }
14341
14392
  }
14342
14393
 
14343
- const componentName$O = getComponentName('button-multi-selection-group');
14394
+ const componentName$P = getComponentName('button-multi-selection-group');
14344
14395
 
14345
14396
  const buttonMultiSelectionGroupMixin = (superclass) =>
14346
14397
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -14349,19 +14400,19 @@ const buttonMultiSelectionGroupMixin = (superclass) =>
14349
14400
  const template = document.createElement('template');
14350
14401
 
14351
14402
  template.innerHTML = `
14352
- <${componentName$P}
14403
+ <${componentName$Q}
14353
14404
  name="button-selection-group"
14354
14405
  slot="input"
14355
14406
  tabindex="-1"
14356
14407
  part="internal-component"
14357
14408
  >
14358
14409
  <slot></slot>
14359
- </${componentName$P}>
14410
+ </${componentName$Q}>
14360
14411
  `;
14361
14412
 
14362
14413
  this.baseElement.appendChild(template.content.cloneNode(true));
14363
14414
 
14364
- this.inputElement = this.shadowRoot.querySelector(componentName$P);
14415
+ this.inputElement = this.shadowRoot.querySelector(componentName$Q);
14365
14416
 
14366
14417
  forwardAttrs(this, this.inputElement, {
14367
14418
  includeAttrs: ['size', 'default-values', 'min-items-selection', 'max-items-selection'],
@@ -14386,13 +14437,13 @@ const ButtonMultiSelectionGroupClass = compose(
14386
14437
  wrappedEleName: 'vaadin-text-field',
14387
14438
  style: () => buttonSelectionGroupStyles,
14388
14439
  excludeAttrsSync: ['tabindex', 'style'],
14389
- componentName: componentName$O,
14440
+ componentName: componentName$P,
14390
14441
  })
14391
14442
  );
14392
14443
 
14393
- customElements.define(componentName$P, ButtonMultiSelectionGroupInternalClass);
14444
+ customElements.define(componentName$Q, ButtonMultiSelectionGroupInternalClass);
14394
14445
 
14395
- customElements.define(componentName$O, ButtonMultiSelectionGroupClass);
14446
+ customElements.define(componentName$P, ButtonMultiSelectionGroupClass);
14396
14447
 
14397
14448
  class GridTextColumnClass extends GridSortColumn {
14398
14449
  get sortable() {
@@ -14418,9 +14469,9 @@ class GridTextColumnClass extends GridSortColumn {
14418
14469
  }
14419
14470
  }
14420
14471
 
14421
- const componentName$N = getComponentName('grid-text-column');
14472
+ const componentName$O = getComponentName('grid-text-column');
14422
14473
 
14423
- customElements.define(componentName$N, GridTextColumnClass);
14474
+ customElements.define(componentName$O, GridTextColumnClass);
14424
14475
 
14425
14476
  class GridCustomColumnClass extends GridTextColumnClass {
14426
14477
  _defaultRenderer(cell, _col, model) {
@@ -14451,9 +14502,9 @@ class GridCustomColumnClass extends GridTextColumnClass {
14451
14502
  }
14452
14503
  }
14453
14504
 
14454
- const componentName$M = getComponentName('grid-custom-column');
14505
+ const componentName$N = getComponentName('grid-custom-column');
14455
14506
 
14456
- customElements.define(componentName$M, GridCustomColumnClass);
14507
+ customElements.define(componentName$N, GridCustomColumnClass);
14457
14508
 
14458
14509
  const createCheckboxEle = () => {
14459
14510
  const checkbox = document.createElement('descope-checkbox');
@@ -14509,9 +14560,9 @@ class GridSelectionColumnClass extends GridSelectionColumn {
14509
14560
  }
14510
14561
  }
14511
14562
 
14512
- const componentName$L = getComponentName('grid-selection-column');
14563
+ const componentName$M = getComponentName('grid-selection-column');
14513
14564
 
14514
- customElements.define(componentName$L, GridSelectionColumnClass);
14565
+ customElements.define(componentName$M, GridSelectionColumnClass);
14515
14566
 
14516
14567
  class GridItemDetailsColumnClass extends GridSortColumn {
14517
14568
  get sortable() {
@@ -14547,13 +14598,13 @@ class GridItemDetailsColumnClass extends GridSortColumn {
14547
14598
  }
14548
14599
  }
14549
14600
 
14550
- const componentName$K = getComponentName('grid-item-details-column');
14601
+ const componentName$L = getComponentName('grid-item-details-column');
14551
14602
 
14552
- customElements.define(componentName$K, GridItemDetailsColumnClass);
14603
+ customElements.define(componentName$L, GridItemDetailsColumnClass);
14553
14604
 
14554
- customElements.define(componentName$1f, ImageClass);
14605
+ customElements.define(componentName$1g, ImageClass);
14555
14606
 
14556
- customElements.define(componentName$1e, IconClass);
14607
+ customElements.define(componentName$1f, IconClass);
14557
14608
 
14558
14609
  const decode = (input) => {
14559
14610
  const txt = document.createElement('textarea');
@@ -14567,9 +14618,9 @@ var copyIconSrc = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5
14567
14618
 
14568
14619
  var checkIconSrc = "data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iY2hlY2staWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cG9seWxpbmUgcG9pbnRzPSIyMCA2IDkgMTcgNCAxMiI+PC9wb2x5bGluZT4KPC9zdmc+Cg==";
14569
14620
 
14570
- const componentName$J = getComponentName('code-snippet');
14621
+ const componentName$K = getComponentName('code-snippet');
14571
14622
 
14572
- let CodeSnippet$1 = class CodeSnippet extends createBaseClass({ componentName: componentName$J, baseSelector: ':host > .wrapper' }) {
14623
+ let CodeSnippet$1 = class CodeSnippet extends createBaseClass({ componentName: componentName$K, baseSelector: ':host > .wrapper' }) {
14573
14624
  static get observedAttributes() {
14574
14625
  return ['lang', 'inline', 'copy-button'];
14575
14626
  }
@@ -14905,7 +14956,7 @@ const CodeSnippetClass = compose(
14905
14956
  componentNameValidationMixin
14906
14957
  )(CodeSnippet$1);
14907
14958
 
14908
- customElements.define(componentName$J, CodeSnippetClass);
14959
+ customElements.define(componentName$K, CodeSnippetClass);
14909
14960
 
14910
14961
  const isValidDataType = (data) => {
14911
14962
  const isValid = Array.isArray(data);
@@ -14993,7 +15044,7 @@ const defaultRowDetailsRenderer = (item, itemLabelsMapping) => `
14993
15044
  </div>
14994
15045
  `;
14995
15046
 
14996
- const componentName$I = getComponentName('grid');
15047
+ const componentName$J = getComponentName('grid');
14997
15048
 
14998
15049
  const GridMixin = (superclass) =>
14999
15050
  class GridMixinClass extends superclass {
@@ -15362,13 +15413,13 @@ const GridClass = compose(
15362
15413
  /*!css*/
15363
15414
  `,
15364
15415
  excludeAttrsSync: ['columns', 'tabindex', 'style'],
15365
- componentName: componentName$I,
15416
+ componentName: componentName$J,
15366
15417
  })
15367
15418
  );
15368
15419
 
15369
- customElements.define(componentName$I, GridClass);
15420
+ customElements.define(componentName$J, GridClass);
15370
15421
 
15371
- const componentName$H = getComponentName('multi-select-combo-box');
15422
+ const componentName$I = getComponentName('multi-select-combo-box');
15372
15423
 
15373
15424
  const multiSelectComboBoxMixin = (superclass) =>
15374
15425
  class MultiSelectComboBoxMixinClass extends superclass {
@@ -16023,14 +16074,14 @@ const MultiSelectComboBoxClass = compose(
16023
16074
  // Note: we exclude `placeholder` because the vaadin component observes it and
16024
16075
  // tries to override it, causing us to lose the user set placeholder.
16025
16076
  excludeAttrsSync: ['tabindex', 'size', 'data', 'placeholder', 'style'],
16026
- componentName: componentName$H,
16077
+ componentName: componentName$I,
16027
16078
  includeForwardProps: ['items', 'renderer', 'selectedItems'],
16028
16079
  })
16029
16080
  );
16030
16081
 
16031
- customElements.define(componentName$H, MultiSelectComboBoxClass);
16082
+ customElements.define(componentName$I, MultiSelectComboBoxClass);
16032
16083
 
16033
- const componentName$G = getComponentName('modal');
16084
+ const componentName$H = getComponentName('modal');
16034
16085
 
16035
16086
  const observedAttrs$3 = ['opened'];
16036
16087
 
@@ -16179,11 +16230,11 @@ const ModalClass = compose(
16179
16230
  }
16180
16231
  `,
16181
16232
  excludeAttrsSync: ['tabindex', 'opened', 'style'],
16182
- componentName: componentName$G,
16233
+ componentName: componentName$H,
16183
16234
  })
16184
16235
  );
16185
16236
 
16186
- customElements.define(componentName$G, ModalClass);
16237
+ customElements.define(componentName$H, ModalClass);
16187
16238
 
16188
16239
  const vaadinContainerClass = window.customElements.get('vaadin-notification-container');
16189
16240
 
@@ -16194,7 +16245,7 @@ if (!vaadinContainerClass) {
16194
16245
  class NotificationContainerClass extends vaadinContainerClass {}
16195
16246
  customElements.define(getComponentName('notification-container'), NotificationContainerClass);
16196
16247
 
16197
- const componentName$F = getComponentName('notification-card');
16248
+ const componentName$G = getComponentName('notification-card');
16198
16249
 
16199
16250
  const notificationCardMixin = (superclass) =>
16200
16251
  class NotificationCardMixinClass extends superclass {
@@ -16302,13 +16353,13 @@ const NotificationCardClass = compose(
16302
16353
  }
16303
16354
  `,
16304
16355
  excludeAttrsSync: ['tabindex', 'style'],
16305
- componentName: componentName$F,
16356
+ componentName: componentName$G,
16306
16357
  })
16307
16358
  );
16308
16359
 
16309
- customElements.define(componentName$F, NotificationCardClass);
16360
+ customElements.define(componentName$G, NotificationCardClass);
16310
16361
 
16311
- const componentName$E = getComponentName('notification');
16362
+ const componentName$F = getComponentName('notification');
16312
16363
 
16313
16364
  const NotificationMixin = (superclass) =>
16314
16365
  class NotificationMixinClass extends superclass {
@@ -16401,15 +16452,15 @@ const NotificationClass = compose(
16401
16452
  createProxy({
16402
16453
  wrappedEleName: 'vaadin-notification',
16403
16454
  excludeAttrsSync: ['tabindex', 'style'],
16404
- componentName: componentName$E,
16455
+ componentName: componentName$F,
16405
16456
  })
16406
16457
  );
16407
16458
 
16408
- customElements.define(componentName$E, NotificationClass);
16459
+ customElements.define(componentName$F, NotificationClass);
16409
16460
 
16410
- const componentName$D = getComponentName('mappings-field-internal');
16461
+ const componentName$E = getComponentName('mappings-field-internal');
16411
16462
 
16412
- const BaseInputClass$6 = createBaseInputClass({ componentName: componentName$D, baseSelector: 'div' });
16463
+ const BaseInputClass$6 = createBaseInputClass({ componentName: componentName$E, baseSelector: 'div' });
16413
16464
 
16414
16465
  class MappingsFieldInternal extends BaseInputClass$6 {
16415
16466
  #errorItem;
@@ -16655,7 +16706,7 @@ class MappingsFieldInternal extends BaseInputClass$6 {
16655
16706
  }
16656
16707
  }
16657
16708
 
16658
- const componentName$C = getComponentName('mappings-field');
16709
+ const componentName$D = getComponentName('mappings-field');
16659
16710
 
16660
16711
  const customMixin$7 = (superclass) =>
16661
16712
  class MappingsFieldMixinClass extends superclass {
@@ -16684,14 +16735,14 @@ const customMixin$7 = (superclass) =>
16684
16735
  const template = document.createElement('template');
16685
16736
 
16686
16737
  template.innerHTML = `
16687
- <${componentName$D}
16738
+ <${componentName$E}
16688
16739
  tabindex="-1"
16689
- ></${componentName$D}>
16740
+ ></${componentName$E}>
16690
16741
  `;
16691
16742
 
16692
16743
  this.baseElement.appendChild(template.content.cloneNode(true));
16693
16744
 
16694
- this.inputElement = this.shadowRoot.querySelector(componentName$D);
16745
+ this.inputElement = this.shadowRoot.querySelector(componentName$E);
16695
16746
 
16696
16747
  forwardAttrs(this, this.inputElement, {
16697
16748
  includeAttrs: [
@@ -16827,13 +16878,13 @@ const MappingsFieldClass = compose(
16827
16878
  'error-message',
16828
16879
  'style',
16829
16880
  ],
16830
- componentName: componentName$C,
16881
+ componentName: componentName$D,
16831
16882
  })
16832
16883
  );
16833
16884
 
16834
- customElements.define(componentName$D, MappingsFieldInternal);
16885
+ customElements.define(componentName$E, MappingsFieldInternal);
16835
16886
 
16836
- const componentName$B = getComponentName('mapping-item');
16887
+ const componentName$C = getComponentName('mapping-item');
16837
16888
 
16838
16889
  const inputAttrs = [
16839
16890
  'size',
@@ -16846,7 +16897,7 @@ const inputAttrs = [
16846
16897
  'st-error-message-icon-padding',
16847
16898
  ];
16848
16899
 
16849
- const BaseInputClass$5 = createBaseInputClass({ componentName: componentName$B, baseSelector: 'div' });
16900
+ const BaseInputClass$5 = createBaseInputClass({ componentName: componentName$C, baseSelector: 'div' });
16850
16901
 
16851
16902
  class MappingItem extends BaseInputClass$5 {
16852
16903
  static get observedAttributes() {
@@ -17001,16 +17052,20 @@ class MappingItem extends BaseInputClass$5 {
17001
17052
  }
17002
17053
  }
17003
17054
 
17004
- customElements.define(componentName$B, MappingItem);
17055
+ customElements.define(componentName$C, MappingItem);
17005
17056
 
17006
- customElements.define(componentName$C, MappingsFieldClass);
17057
+ customElements.define(componentName$D, MappingsFieldClass);
17007
17058
 
17008
- const componentName$A = getComponentName$1('badge');
17059
+ const componentName$B = getComponentName$1('badge');
17009
17060
 
17010
17061
  class RawBadge extends createBaseClass$1({
17011
- componentName: componentName$A,
17062
+ componentName: componentName$B,
17012
17063
  baseSelector: ':host > div',
17013
17064
  }) {
17065
+ static get observedAttributes() {
17066
+ return ['data-attachment-size', 'shrink-to-indicator-threshold'];
17067
+ }
17068
+
17014
17069
  constructor() {
17015
17070
  super();
17016
17071
 
@@ -17036,6 +17091,24 @@ class RawBadge extends createBaseClass$1({
17036
17091
  this,
17037
17092
  );
17038
17093
  }
17094
+
17095
+ get shrinkToIndicatorThreshold() {
17096
+ return this.getAttribute('shrink-to-indicator-threshold') || 65;
17097
+ }
17098
+
17099
+ #handleShrinkToIndicator(value) {
17100
+ this.toggleAttribute(
17101
+ 'shrink-to-indicator',
17102
+ parseFloat(value) < this.shrinkToIndicatorThreshold,
17103
+ );
17104
+ }
17105
+
17106
+ attributeChangedCallback(name, oldVal, newVal) {
17107
+ super.attributeChangedCallback?.(name, oldVal, newVal);
17108
+ if (name === 'data-attachment-size' && oldVal !== newVal) {
17109
+ this.#handleShrinkToIndicator(newVal);
17110
+ }
17111
+ }
17039
17112
  }
17040
17113
 
17041
17114
  const BadgeClass = compose$1(
@@ -17079,9 +17152,9 @@ var deleteIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTgi
17079
17152
 
17080
17153
  var editIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTAuMDAwMiAwLjk5MjE0OUMxMC4wMDAyIDEuMDE2MTUgMTAuMDAwMiAxLjAxNjE1IDEwLjAwMDIgMS4wMTYxNUw4LjIyNDE5IDMuMDA4MTVIMi45OTIxOUMyLjQ2NDE5IDMuMDA4MTUgMi4wMDgxOSAzLjQ0MDE1IDIuMDA4MTkgMy45OTIxNVYxMi4wMDgyQzIuMDA4MTkgMTIuNTM2MiAyLjQ0MDE5IDEyLjk5MjIgMi45OTIxOSAxMi45OTIySDUuNTM2MTlDNS44NDgxOSAxMy4wNDAyIDYuMTYwMTkgMTMuMDQwMiA2LjQ3MjE5IDEyLjk5MjJIMTEuMDA4MkMxMS41MzYyIDEyLjk5MjIgMTEuOTkyMiAxMi41NjAyIDExLjk5MjIgMTIuMDA4MlY3Ljc4NDE2TDEzLjkzNjIgNS42MjQxNUwxNC4wMDgyIDUuNjcyMTVWMTEuOTg0MkMxNC4wMDgyIDEzLjY2NDIgMTIuNjY0MiAxNS4wMDgyIDExLjAwODIgMTUuMDA4MkgzLjAxNjE5QzEuMzM2MTkgMTUuMDA4MiAtMC4wMDc4MTI1IDEzLjY2NDIgLTAuMDA3ODEyNSAxMS45ODQyVjMuOTkyMTVDLTAuMDA3ODEyNSAyLjMzNjE1IDEuMzM2MTkgMC45OTIxNDkgMy4wMTYxOSAwLjk5MjE0OUgxMC4wMDAyWk0xMS4yNzIyIDIuNjI0MTVMMTIuNjE2MiA0LjExMjE1TDcuNzIwMTkgOS42ODAxNkM3LjUwNDE5IDkuOTIwMTYgNi44MzIxOSAxMC4yMzIyIDUuNjgwMTkgMTAuNjE2MkM1LjY1NjE5IDEwLjY0MDIgNS42MDgxOSAxMC42NDAyIDUuNTYwMTkgMTAuNjE2MkM1LjQ2NDE5IDEwLjU5MjIgNS4zOTIxOSAxMC40NzIyIDUuNDQwMTkgMTAuMzc2MkM1Ljc1MjE5IDkuMjQ4MTYgNi4wNDAxOSA4LjU1MjE2IDYuMjU2MTkgOC4zMTIxNkwxMS4yNzIyIDIuNjI0MTVaTTExLjkyMDIgMS44NTYxNUwxMy4yODgyIDAuMzIwMTQ5QzEzLjY0ODIgLTAuMDg3ODUxNiAxNC4yNzIyIC0wLjExMTg1MiAxNC42ODAyIDAuMjcyMTQ5QzE1LjA4ODIgMC42MzIxNDkgMTUuMTEyMiAxLjI4MDE1IDE0Ljc1MjIgMS42ODgxNUwxMy4yNjQyIDMuMzY4MTVMMTEuOTIwMiAxLjg1NjE1WiIgZmlsbD0iY3VycmVudGNvbG9yIi8+Cjwvc3ZnPgo=";
17081
17154
 
17082
- const componentName$z = getComponentName('user-attribute');
17155
+ const componentName$A = getComponentName('user-attribute');
17083
17156
  class RawUserAttribute extends createBaseClass({
17084
- componentName: componentName$z,
17157
+ componentName: componentName$A,
17085
17158
  baseSelector: ':host > .root',
17086
17159
  }) {
17087
17160
  constructor() {
@@ -17402,15 +17475,15 @@ const UserAttributeClass = compose(
17402
17475
  componentNameValidationMixin
17403
17476
  )(RawUserAttribute);
17404
17477
 
17405
- customElements.define(componentName$A, BadgeClass);
17478
+ customElements.define(componentName$B, BadgeClass);
17406
17479
 
17407
- customElements.define(componentName$z, UserAttributeClass);
17480
+ customElements.define(componentName$A, UserAttributeClass);
17408
17481
 
17409
17482
  var greenVIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhDMCAxMi40IDMuNiAxNiA4IDE2QzEyLjQgMTYgMTYgMTIuNCAxNiA4QzE2IDMuNiAxMi40IDAgOCAwWk03LjEgMTEuN0wyLjkgNy42TDQuMyA2LjJMNyA4LjlMMTIgNEwxMy40IDUuNEw3LjEgMTEuN1oiIGZpbGw9IiM0Q0FGNTAiLz4KPC9zdmc+Cg==";
17410
17483
 
17411
- const componentName$y = getComponentName('user-auth-method');
17484
+ const componentName$z = getComponentName('user-auth-method');
17412
17485
  class RawUserAuthMethod extends createBaseClass({
17413
- componentName: componentName$y,
17486
+ componentName: componentName$z,
17414
17487
  baseSelector: ':host > .root',
17415
17488
  }) {
17416
17489
  constructor() {
@@ -17661,11 +17734,11 @@ const UserAuthMethodClass = compose(
17661
17734
  componentNameValidationMixin
17662
17735
  )(RawUserAuthMethod);
17663
17736
 
17664
- customElements.define(componentName$y, UserAuthMethodClass);
17737
+ customElements.define(componentName$z, UserAuthMethodClass);
17665
17738
 
17666
- const componentName$x = getComponentName('saml-group-mappings-internal');
17739
+ const componentName$y = getComponentName('saml-group-mappings-internal');
17667
17740
 
17668
- const BaseInputClass$4 = createBaseInputClass({ componentName: componentName$x, baseSelector: '' });
17741
+ const BaseInputClass$4 = createBaseInputClass({ componentName: componentName$y, baseSelector: '' });
17669
17742
 
17670
17743
  class SamlGroupMappingsInternal extends BaseInputClass$4 {
17671
17744
  static get observedAttributes() {
@@ -17791,7 +17864,7 @@ class SamlGroupMappingsInternal extends BaseInputClass$4 {
17791
17864
  }
17792
17865
  }
17793
17866
 
17794
- const componentName$w = getComponentName('saml-group-mappings');
17867
+ const componentName$x = getComponentName('saml-group-mappings');
17795
17868
 
17796
17869
  const customMixin$6 = (superclass) =>
17797
17870
  class SamlGroupMappingsMixinClass extends superclass {
@@ -17801,14 +17874,14 @@ const customMixin$6 = (superclass) =>
17801
17874
  const template = document.createElement('template');
17802
17875
 
17803
17876
  template.innerHTML = `
17804
- <${componentName$x}
17877
+ <${componentName$y}
17805
17878
  tabindex="-1"
17806
- ></${componentName$x}>
17879
+ ></${componentName$y}>
17807
17880
  `;
17808
17881
 
17809
17882
  this.baseElement.appendChild(template.content.cloneNode(true));
17810
17883
 
17811
- this.inputElement = this.shadowRoot.querySelector(componentName$x);
17884
+ this.inputElement = this.shadowRoot.querySelector(componentName$y);
17812
17885
 
17813
17886
  forwardAttrs(this, this.inputElement, {
17814
17887
  includeAttrs: [
@@ -17893,15 +17966,15 @@ const SamlGroupMappingsClass = compose(
17893
17966
  'error-message',
17894
17967
  'style',
17895
17968
  ],
17896
- componentName: componentName$w,
17969
+ componentName: componentName$x,
17897
17970
  })
17898
17971
  );
17899
17972
 
17900
- customElements.define(componentName$x, SamlGroupMappingsInternal);
17973
+ customElements.define(componentName$y, SamlGroupMappingsInternal);
17901
17974
 
17902
- customElements.define(componentName$w, SamlGroupMappingsClass);
17975
+ customElements.define(componentName$x, SamlGroupMappingsClass);
17903
17976
 
17904
- const componentName$v = getComponentName('radio-button');
17977
+ const componentName$w = getComponentName('radio-button');
17905
17978
 
17906
17979
  const customMixin$5 = (superclass) =>
17907
17980
  class CustomMixin extends superclass {
@@ -17966,11 +18039,11 @@ const RadioButtonClass = compose(
17966
18039
  wrappedEleName: 'vaadin-radio-button',
17967
18040
  excludeAttrsSync: ['tabindex', 'data', 'style'],
17968
18041
  includeForwardProps: ['checked', 'name', 'disabled'],
17969
- componentName: componentName$v,
18042
+ componentName: componentName$w,
17970
18043
  })
17971
18044
  );
17972
18045
 
17973
- const componentName$u = getComponentName('radio-group');
18046
+ const componentName$v = getComponentName('radio-group');
17974
18047
 
17975
18048
  const RadioGroupMixin = (superclass) =>
17976
18049
  class RadioGroupMixinClass extends superclass {
@@ -17984,12 +18057,12 @@ const RadioGroupMixin = (superclass) =>
17984
18057
 
17985
18058
  // we are overriding vaadin children getter so it will run on our custom elements
17986
18059
  Object.defineProperty(this.baseElement, 'children', {
17987
- get: () => this.querySelectorAll(componentName$v),
18060
+ get: () => this.querySelectorAll(componentName$w),
17988
18061
  });
17989
18062
 
17990
18063
  // we are overriding vaadin __filterRadioButtons so it will run on our custom elements
17991
18064
  this.baseElement.__filterRadioButtons = (nodes) =>
17992
- nodes.filter((node) => node.localName === componentName$v);
18065
+ nodes.filter((node) => node.localName === componentName$w);
17993
18066
 
17994
18067
  // vaadin radio group missing some input properties
17995
18068
  this.baseElement.setCustomValidity = () => {};
@@ -18135,13 +18208,13 @@ const RadioGroupClass = compose(
18135
18208
  `,
18136
18209
 
18137
18210
  excludeAttrsSync: ['tabindex', 'size', 'data', 'direction', 'style'],
18138
- componentName: componentName$u,
18211
+ componentName: componentName$v,
18139
18212
  includeForwardProps: ['value'],
18140
18213
  })
18141
18214
  );
18142
18215
 
18143
- customElements.define(componentName$u, RadioGroupClass);
18144
- customElements.define(componentName$v, RadioButtonClass);
18216
+ customElements.define(componentName$v, RadioGroupClass);
18217
+ customElements.define(componentName$w, RadioButtonClass);
18145
18218
 
18146
18219
  const defaultValidateSchema = () => true;
18147
18220
  const defaultItemRenderer = (item) => `<pre>${JSON.stringify(item, null, 4)}</pre>`;
@@ -18241,7 +18314,7 @@ const createDynamicDataMixin =
18241
18314
  }
18242
18315
  };
18243
18316
 
18244
- const componentName$t = getComponentName('scopes-list');
18317
+ const componentName$u = getComponentName('scopes-list');
18245
18318
  const variants = ['checkbox', 'switch'];
18246
18319
 
18247
18320
  const itemRenderer$4 = ({ id, desc, required = false }, _, ref) => {
@@ -18260,7 +18333,7 @@ const itemRenderer$4 = ({ id, desc, required = false }, _, ref) => {
18260
18333
  `;
18261
18334
  };
18262
18335
 
18263
- class RawScopesList extends createBaseClass({ componentName: componentName$t, baseSelector: 'div' }) {
18336
+ class RawScopesList extends createBaseClass({ componentName: componentName$u, baseSelector: 'div' }) {
18264
18337
  constructor() {
18265
18338
  super();
18266
18339
 
@@ -18365,7 +18438,7 @@ const ScopesListClass = compose(
18365
18438
  componentNameValidationMixin
18366
18439
  )(RawScopesList);
18367
18440
 
18368
- const componentName$s = getComponentName$1('list-item');
18441
+ const componentName$t = getComponentName$1('list-item');
18369
18442
 
18370
18443
  const customMixin$4 = (superclass) =>
18371
18444
  class ListItemMixinClass extends superclass {
@@ -18422,14 +18495,14 @@ const ListItemClass = compose$1(
18422
18495
  componentNameValidationMixin$1,
18423
18496
  customMixin$4,
18424
18497
  activeableMixin,
18425
- )(createBaseClass$1({ componentName: componentName$s, baseSelector: 'slot' }));
18498
+ )(createBaseClass$1({ componentName: componentName$t, baseSelector: 'slot' }));
18426
18499
 
18427
- customElements.define(componentName$s, ListItemClass);
18500
+ customElements.define(componentName$t, ListItemClass);
18428
18501
 
18429
- const componentName$r = getComponentName$1('list');
18502
+ const componentName$s = getComponentName$1('list');
18430
18503
 
18431
18504
  class RawList extends createBaseClass$1({
18432
- componentName: componentName$r,
18505
+ componentName: componentName$s,
18433
18506
  baseSelector: '.wrapper',
18434
18507
  }) {
18435
18508
  static get observedAttributes() {
@@ -18600,15 +18673,15 @@ const ListClass = compose$1(
18600
18673
  componentNameValidationMixin$1,
18601
18674
  )(RawList);
18602
18675
 
18603
- customElements.define(componentName$r, ListClass);
18676
+ customElements.define(componentName$s, ListClass);
18604
18677
 
18605
- customElements.define(componentName$t, ScopesListClass);
18678
+ customElements.define(componentName$u, ScopesListClass);
18606
18679
 
18607
18680
  var arrowsImg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuMTQ0OTIgMTUuNjQ1TDcuNDk5OTIgMTRMMi44MzMyNSAxOC42NjY3TDcuNDk5OTIgMjMuMzMzM0w5LjE0NDkyIDIxLjY4ODNMNy4zMDE1OSAxOS44MzMzSDI0Ljk5OTlWMTcuNUg3LjMwMTU5TDkuMTQ0OTIgMTUuNjQ1WiIgZmlsbD0iIzYzNkM3NCIvPgo8cGF0aCBkPSJNMTkuODU1IDEyLjM1NTNMMjEuNSAxNC4wMDAzTDI2LjE2NjcgOS4zMzM2NkwyMS41IDQuNjY2OTlMMTkuODU1IDYuMzExOTlMMjEuNjk4MyA4LjE2Njk5SDRWMTAuNTAwM0gyMS42OTgzTDE5Ljg1NSAxMi4zNTUzWiIgZmlsbD0iIzYzNkM3NCIvPgo8L3N2Zz4K";
18608
18681
 
18609
- const componentName$q = getComponentName('third-party-app-logo');
18682
+ const componentName$r = getComponentName('third-party-app-logo');
18610
18683
  class RawThirdPartyAppLogoClass extends createBaseClass({
18611
- componentName: componentName$q,
18684
+ componentName: componentName$r,
18612
18685
  baseSelector: '.wrapper',
18613
18686
  }) {
18614
18687
  constructor() {
@@ -18705,9 +18778,9 @@ const ThirdPartyAppLogoClass = compose(
18705
18778
  componentNameValidationMixin
18706
18779
  )(RawThirdPartyAppLogoClass);
18707
18780
 
18708
- customElements.define(componentName$q, ThirdPartyAppLogoClass);
18781
+ customElements.define(componentName$r, ThirdPartyAppLogoClass);
18709
18782
 
18710
- const componentName$p = getComponentName('security-questions-setup');
18783
+ const componentName$q = getComponentName('security-questions-setup');
18711
18784
 
18712
18785
  const attrsToSync$1 = [
18713
18786
  'full-width',
@@ -18726,7 +18799,7 @@ const attrsToSync$1 = [
18726
18799
  ];
18727
18800
 
18728
18801
  const attrsToReRender$1 = ['count', 'questions'];
18729
- class RawSecurityQuestionsSetup extends createBaseClass({ componentName: componentName$p, baseSelector: 'div' }) {
18802
+ class RawSecurityQuestionsSetup extends createBaseClass({ componentName: componentName$q, baseSelector: 'div' }) {
18730
18803
  constructor() {
18731
18804
  super();
18732
18805
 
@@ -18834,7 +18907,7 @@ class RawSecurityQuestionsSetup extends createBaseClass({ componentName: compone
18834
18907
  return JSON.parse(this.getAttribute('questions')) || [];
18835
18908
  } catch (e) {
18836
18909
  // eslint-disable-next-line no-console
18837
- console.error(componentName$p, 'Error parsing questions attribute', e);
18910
+ console.error(componentName$q, 'Error parsing questions attribute', e);
18838
18911
  return [];
18839
18912
  }
18840
18913
  }
@@ -18941,9 +19014,9 @@ const SecurityQuestionsSetupClass = compose(
18941
19014
  componentNameValidationMixin
18942
19015
  )(RawSecurityQuestionsSetup);
18943
19016
 
18944
- customElements.define(componentName$p, SecurityQuestionsSetupClass);
19017
+ customElements.define(componentName$q, SecurityQuestionsSetupClass);
18945
19018
 
18946
- const componentName$o = getComponentName('security-questions-verify');
19019
+ const componentName$p = getComponentName('security-questions-verify');
18947
19020
 
18948
19021
  const textFieldsAttrs = [
18949
19022
  'full-width',
@@ -18967,7 +19040,7 @@ const attrMappings = {
18967
19040
  const attrsToSync = [...textFieldsAttrs, ...textsAttrs];
18968
19041
 
18969
19042
  const attrsToReRender = ['questions'];
18970
- class RawSecurityQuestionsVerify extends createBaseClass({ componentName: componentName$o, baseSelector: 'div' }) {
19043
+ class RawSecurityQuestionsVerify extends createBaseClass({ componentName: componentName$p, baseSelector: 'div' }) {
18971
19044
  constructor() {
18972
19045
  super();
18973
19046
 
@@ -19041,7 +19114,7 @@ class RawSecurityQuestionsVerify extends createBaseClass({ componentName: compon
19041
19114
  return JSON.parse(this.getAttribute('questions')) || [];
19042
19115
  } catch (e) {
19043
19116
  // eslint-disable-next-line no-console
19044
- console.error(componentName$o, 'Error parsing questions attribute', e);
19117
+ console.error(componentName$p, 'Error parsing questions attribute', e);
19045
19118
  return [];
19046
19119
  }
19047
19120
  }
@@ -19175,7 +19248,7 @@ const SecurityQuestionsVerifyClass = compose(
19175
19248
  componentNameValidationMixin
19176
19249
  )(RawSecurityQuestionsVerify);
19177
19250
 
19178
- customElements.define(componentName$o, SecurityQuestionsVerifyClass);
19251
+ customElements.define(componentName$p, SecurityQuestionsVerifyClass);
19179
19252
 
19180
19253
  // Matches any character that is not a digit, whitespace, or phone formatting character (+, -, (, ))
19181
19254
  const INVALID_PHONE_CHARS_RE = /[^\d\s+\-()]/;
@@ -19184,7 +19257,7 @@ const isNumericValue = (val) => !!val && !INVALID_PHONE_CHARS_RE.test(val);
19184
19257
 
19185
19258
  const sanitizeCountryCodePrefix = (val) => val.replace(/\+\d+-/, '');
19186
19259
 
19187
- const componentName$n = getComponentName('hybrid-field');
19260
+ const componentName$o = getComponentName('hybrid-field');
19188
19261
 
19189
19262
  const attrs = {
19190
19263
  shared: [
@@ -19250,12 +19323,12 @@ const EMAIL_FIELD = 'descope-email-field';
19250
19323
  const PHONE_FIELD = 'descope-phone-field';
19251
19324
  const PHONE_INPUT_BOX_FIELD = 'descope-phone-input-box-field';
19252
19325
 
19253
- const BaseClass$6 = createBaseClass({
19254
- componentName: componentName$n,
19326
+ const BaseClass$5 = createBaseClass({
19327
+ componentName: componentName$o,
19255
19328
  baseSelector: 'div',
19256
19329
  });
19257
19330
 
19258
- class RawHybridField extends BaseClass$6 {
19331
+ class RawHybridField extends BaseClass$5 {
19259
19332
  #isReportedValidity = false;
19260
19333
 
19261
19334
  #selectionStart;
@@ -19633,11 +19706,11 @@ const HybridFieldClass = compose(
19633
19706
  componentNameValidationMixin
19634
19707
  )(RawHybridField);
19635
19708
 
19636
- customElements.define(componentName$n, HybridFieldClass);
19709
+ customElements.define(componentName$o, HybridFieldClass);
19637
19710
 
19638
- const componentName$m = getComponentName('alert');
19711
+ const componentName$n = getComponentName('alert');
19639
19712
 
19640
- class RawAlert extends createBaseClass({ componentName: componentName$m, baseSelector: ':host > div' }) {
19713
+ class RawAlert extends createBaseClass({ componentName: componentName$n, baseSelector: ':host > div' }) {
19641
19714
  constructor() {
19642
19715
  super();
19643
19716
 
@@ -19758,13 +19831,13 @@ const AlertClass = compose(
19758
19831
  componentNameValidationMixin
19759
19832
  )(RawAlert);
19760
19833
 
19761
- customElements.define(componentName$m, AlertClass);
19834
+ customElements.define(componentName$n, AlertClass);
19762
19835
 
19763
- const componentName$l = getComponentName('hcaptcha');
19836
+ const componentName$m = getComponentName('hcaptcha');
19764
19837
 
19765
19838
  const observedAttributes$1 = ['enabled', 'site-key'];
19766
19839
 
19767
- const BaseInputClass$3 = createBaseInputClass({ componentName: componentName$l, baseSelector: ':host > div' });
19840
+ const BaseInputClass$3 = createBaseInputClass({ componentName: componentName$m, baseSelector: ':host > div' });
19768
19841
  class RawHcaptcha extends BaseInputClass$3 {
19769
19842
  static get observedAttributes() {
19770
19843
  return observedAttributes$1.concat(BaseInputClass$3.observedAttributes || []);
@@ -19892,7 +19965,7 @@ const HcaptchaClass = compose(
19892
19965
  componentNameValidationMixin
19893
19966
  )(RawHcaptcha);
19894
19967
 
19895
- customElements.define(componentName$l, HcaptchaClass);
19968
+ customElements.define(componentName$m, HcaptchaClass);
19896
19969
 
19897
19970
  const direction$1 = 'ltr';
19898
19971
 
@@ -20275,7 +20348,7 @@ const mode = {
20275
20348
 
20276
20349
  const [helperTheme$7, helperRefs$7, helperVars$6] = createHelperVars$1(
20277
20350
  { mode },
20278
- componentName$1d,
20351
+ componentName$1e,
20279
20352
  );
20280
20353
 
20281
20354
  const button = {
@@ -20577,7 +20650,7 @@ var enrichedText$1 = /*#__PURE__*/Object.freeze({
20577
20650
  vars: vars$12
20578
20651
  });
20579
20652
 
20580
- const componentName$k = getComponentName$1('input-wrapper');
20653
+ const componentName$l = getComponentName$1('input-wrapper');
20581
20654
  const globalRefs$D = getThemeRefs$1(globals);
20582
20655
 
20583
20656
  const [theme$2, refs$1] = createHelperVars$1(
@@ -20703,7 +20776,7 @@ const [theme$2, refs$1] = createHelperVars$1(
20703
20776
  backgroundColor: globalRefs$D.colors.surface.main,
20704
20777
  },
20705
20778
  },
20706
- componentName$k,
20779
+ componentName$l,
20707
20780
  );
20708
20781
 
20709
20782
  const globalRefs$C = getThemeRefs$1(globals);
@@ -20820,7 +20893,7 @@ const [helperTheme$6, helperRefs$6] = createHelperVars$1(
20820
20893
  {
20821
20894
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
20822
20895
  },
20823
- componentName$A,
20896
+ componentName$B,
20824
20897
  );
20825
20898
 
20826
20899
  const { shadowColor: shadowColor$6 } = helperRefs$6;
@@ -20863,18 +20936,26 @@ const badge = {
20863
20936
  },
20864
20937
  },
20865
20938
 
20866
- $breakpoints: {
20867
- indicator: '(max-width: 65px)',
20868
- },
20939
+ // Container Query example:
20940
+ // $breakpoints: {
20941
+ // indicator: '(max-width: 65px)',
20942
+ // },
20943
+ // _shrinkToIndicator: {
20944
+ // '$breakpoints.indicator': {
20945
+ // [vars.hostWidth]: '13px',
20946
+ // [vars.hostHeight]: '13px',
20947
+ // [vars.borderRadius]: '50%',
20948
+ // [vars.fontSize]: '0',
20949
+ // [vars.textIndent]: '-9999px',
20950
+ // },
20951
+ // },
20869
20952
 
20870
20953
  _shrinkToIndicator: {
20871
- '$breakpoints.indicator': {
20872
- [vars$10.hostWidth]: '13px',
20873
- [vars$10.hostHeight]: '13px',
20874
- [vars$10.borderRadius]: '50%',
20875
- [vars$10.fontSize]: '0',
20876
- [vars$10.textIndent]: '-9999px',
20877
- },
20954
+ [vars$10.hostWidth]: '13px',
20955
+ [vars$10.hostHeight]: '13px',
20956
+ [vars$10.borderRadius]: '50%',
20957
+ [vars$10.fontSize]: '0',
20958
+ [vars$10.textIndent]: '-9999px',
20878
20959
  },
20879
20960
 
20880
20961
  mode: {
@@ -20932,9 +21013,9 @@ var badge$1 = /*#__PURE__*/Object.freeze({
20932
21013
  vars: vars$10
20933
21014
  });
20934
21015
 
20935
- const componentName$j = getComponentName$1('avatar');
21016
+ const componentName$k = getComponentName$1('avatar');
20936
21017
  class RawAvatar extends createBaseClass$1({
20937
- componentName: componentName$j,
21018
+ componentName: componentName$k,
20938
21019
  baseSelector: ':host > .wrapper',
20939
21020
  }) {
20940
21021
  constructor() {
@@ -21115,7 +21196,7 @@ var image$1 = /*#__PURE__*/Object.freeze({
21115
21196
  vars: vars$Z
21116
21197
  });
21117
21198
 
21118
- const componentName$i = getComponentName$1('apps-list');
21199
+ const componentName$j = getComponentName$1('apps-list');
21119
21200
 
21120
21201
  const itemRenderer$3 = ({ name, icon, url }, _, ref) => `
21121
21202
  <a ${url ? `href="${url}" title="${url}"` : ''} ${ref.openInSameWindow ? '' : 'target="_blank"'}>
@@ -21239,7 +21320,7 @@ const AppsListClass = compose$1(
21239
21320
  slots: ['empty-state'],
21240
21321
  wrappedEleName: 'descope-list',
21241
21322
  excludeAttrsSync: ['tabindex', 'class', 'empty', 'style'],
21242
- componentName: componentName$i,
21323
+ componentName: componentName$j,
21243
21324
  style: () => `
21244
21325
  :host {
21245
21326
  width: 100%;
@@ -21344,7 +21425,7 @@ const compVars$7 = ListClass.cssVarList;
21344
21425
 
21345
21426
  const [helperTheme$5, helperRefs$5, helperVars$5] = createHelperVars$1(
21346
21427
  { shadowColor: '#00000020' },
21347
- componentName$r,
21428
+ componentName$s,
21348
21429
  );
21349
21430
 
21350
21431
  const { shadowColor: shadowColor$5 } = helperRefs$5;
@@ -21459,10 +21540,10 @@ var listItem$1 = /*#__PURE__*/Object.freeze({
21459
21540
  vars: vars$W
21460
21541
  });
21461
21542
 
21462
- const componentName$h = getComponentName$1('autocomplete-field-internal');
21543
+ const componentName$i = getComponentName$1('autocomplete-field-internal');
21463
21544
 
21464
21545
  const BaseInputClass$2 = createBaseInputClass$1({
21465
- componentName: componentName$h,
21546
+ componentName: componentName$i,
21466
21547
  baseSelector: '',
21467
21548
  });
21468
21549
  const observedAttrs$2 = [];
@@ -21667,7 +21748,7 @@ class AutocompleteFieldInternal extends BaseInputClass$2 {
21667
21748
  }
21668
21749
  }
21669
21750
 
21670
- const componentName$g = getComponentName$1('autocomplete-field');
21751
+ const componentName$h = getComponentName$1('autocomplete-field');
21671
21752
 
21672
21753
  const customMixin$2 = (superclass) =>
21673
21754
  class AutocompleteFieldMixinClass extends superclass {
@@ -21688,15 +21769,15 @@ const customMixin$2 = (superclass) =>
21688
21769
  const template = document.createElement('template');
21689
21770
 
21690
21771
  template.innerHTML = `
21691
- <${componentName$h}
21772
+ <${componentName$i}
21692
21773
  tabindex="-1"
21693
- ></${componentName$h}>
21774
+ ></${componentName$i}>
21694
21775
  `;
21695
21776
 
21696
21777
  this.baseElement.appendChild(template.content.cloneNode(true));
21697
21778
 
21698
21779
  this.inputElement = this.shadowRoot.querySelector(
21699
- componentName$h,
21780
+ componentName$i,
21700
21781
  );
21701
21782
 
21702
21783
  forwardAttrs$1(this, this.inputElement, {
@@ -21815,7 +21896,7 @@ const AutocompleteFieldClass = compose$1(
21815
21896
  }
21816
21897
  `,
21817
21898
  excludeAttrsSync: ['tabindex', 'error-message', 'label', 'style'],
21818
- componentName: componentName$g,
21899
+ componentName: componentName$h,
21819
21900
  }),
21820
21901
  );
21821
21902
 
@@ -22069,7 +22150,7 @@ class RadarConnector extends createBaseConnectorClass() {
22069
22150
  }
22070
22151
  }
22071
22152
 
22072
- const componentName$f = getComponentName$1('address-field-internal');
22153
+ const componentName$g = getComponentName$1('address-field-internal');
22073
22154
 
22074
22155
  const GOOGLE_MAPS_CONNECTOR_TEMPLATE = 'google-maps-places';
22075
22156
  const RADAR_CONNECTOR_TEMPLATE = 'radar';
@@ -22080,7 +22161,7 @@ const CONNECTOR_CLASSES = {
22080
22161
  };
22081
22162
 
22082
22163
  const BaseInputClass$1 = createBaseInputClass$1({
22083
- componentName: componentName$f,
22164
+ componentName: componentName$g,
22084
22165
  baseSelector: '',
22085
22166
  });
22086
22167
  const initConnectorAttrs = ['public-api-key'];
@@ -22187,7 +22268,7 @@ const AddressFieldInternal = compose$1(
22187
22268
  connectorMixin({ connectorClasses: CONNECTOR_CLASSES }),
22188
22269
  )(RawAddressFieldInternal);
22189
22270
 
22190
- const componentName$e = getComponentName$1('address-field');
22271
+ const componentName$f = getComponentName$1('address-field');
22191
22272
 
22192
22273
  const customMixin$1 = (superclass) =>
22193
22274
  class AddressFieldMixinClass extends superclass {
@@ -22216,15 +22297,15 @@ const customMixin$1 = (superclass) =>
22216
22297
  const template = document.createElement('template');
22217
22298
 
22218
22299
  template.innerHTML = `
22219
- <${componentName$f}
22300
+ <${componentName$g}
22220
22301
  tabindex="-1"
22221
- ></${componentName$f}>
22302
+ ></${componentName$g}>
22222
22303
  `;
22223
22304
 
22224
22305
  this.baseElement.appendChild(template.content.cloneNode(true));
22225
22306
 
22226
22307
  this.inputElement = this.shadowRoot.querySelector(
22227
- componentName$f,
22308
+ componentName$g,
22228
22309
  );
22229
22310
 
22230
22311
  forwardAttrs$1(this, this.inputElement, {
@@ -22302,7 +22383,7 @@ const AddressFieldClass = compose$1(
22302
22383
  width: 100%;
22303
22384
  }
22304
22385
 
22305
- ${componentName$f} {
22386
+ ${componentName$g} {
22306
22387
  display: inline-block;
22307
22388
  box-sizing: border-box;
22308
22389
  user-select: none;
@@ -22310,12 +22391,12 @@ const AddressFieldClass = compose$1(
22310
22391
  max-width: 100%;
22311
22392
  }
22312
22393
 
22313
- ${componentName$f} ::slotted {
22394
+ ${componentName$g} ::slotted {
22314
22395
  padding: 0;
22315
22396
  }
22316
22397
  `,
22317
22398
  excludeAttrsSync: ['tabindex', 'error-message', 'label', 'style'],
22318
- componentName: componentName$e,
22399
+ componentName: componentName$f,
22319
22400
  }),
22320
22401
  );
22321
22402
 
@@ -22355,24 +22436,24 @@ const formatTime = (ms = 0) => {
22355
22436
  return timeParts.join(':');
22356
22437
  };
22357
22438
 
22358
- const componentName$d = getComponentName$1('timer');
22439
+ const componentName$e = getComponentName$1('timer');
22359
22440
 
22360
22441
  const observedAttributes = ['seconds', 'hide-icon', 'paused'];
22361
22442
 
22362
- const BaseClass$5 = createBaseClass$1({
22363
- componentName: componentName$d,
22443
+ const BaseClass$4 = createBaseClass$1({
22444
+ componentName: componentName$e,
22364
22445
  baseSelector: ':host > .wrapper',
22365
22446
  });
22366
22447
 
22367
22448
  const DEFAULT_INTERVAL = 1000;
22368
22449
 
22369
- class RawTimer extends BaseClass$5 {
22450
+ class RawTimer extends BaseClass$4 {
22370
22451
  #timeRemains = 0;
22371
22452
 
22372
22453
  #intervalId;
22373
22454
 
22374
22455
  static get observedAttributes() {
22375
- return observedAttributes.concat(BaseClass$5.observedAttributes || []);
22456
+ return observedAttributes.concat(BaseClass$4.observedAttributes || []);
22376
22457
  }
22377
22458
 
22378
22459
  constructor() {
@@ -22581,7 +22662,7 @@ var timer$1 = /*#__PURE__*/Object.freeze({
22581
22662
  vars: vars$T
22582
22663
  });
22583
22664
 
22584
- const componentName$c = getComponentName$1('timer-button');
22665
+ const componentName$d = getComponentName$1('timer-button');
22585
22666
 
22586
22667
  const buttonAttrs = [
22587
22668
  'button-variant',
@@ -22611,12 +22692,12 @@ const mapTimerAttrs = {
22611
22692
  'timer-paused': 'paused',
22612
22693
  };
22613
22694
 
22614
- const BaseClass$4 = createBaseClass$1({
22615
- componentName: componentName$c,
22695
+ const BaseClass$3 = createBaseClass$1({
22696
+ componentName: componentName$d,
22616
22697
  baseSelector: ':host > div',
22617
22698
  });
22618
22699
 
22619
- class RawTimerButton extends BaseClass$4 {
22700
+ class RawTimerButton extends BaseClass$3 {
22620
22701
  constructor() {
22621
22702
  super();
22622
22703
 
@@ -22867,9 +22948,9 @@ var timerButton$1 = /*#__PURE__*/Object.freeze({
22867
22948
  vars: vars$S
22868
22949
  });
22869
22950
 
22870
- const componentName$b = getComponentName$1('password-strength');
22951
+ const componentName$c = getComponentName$1('password-strength');
22871
22952
  class RawPasswordStrength extends createBaseClass$1({
22872
- componentName: componentName$b,
22953
+ componentName: componentName$c,
22873
22954
  baseSelector: ':host > .wrapper',
22874
22955
  }) {
22875
22956
  static get observedAttributes() {
@@ -23072,10 +23153,10 @@ var passwordStrength$1 = /*#__PURE__*/Object.freeze({
23072
23153
 
23073
23154
  var chevronIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iYmxhY2siIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xNy4yMTkzIDkuMjcyODNDMTcuNjU4NCA4Ljg3OTEyIDE4LjMzMzQgOC45MTU4NyAxOC43MjcyIDkuMzU0OTJDMTkuMTIwOSA5Ljc5Mzk3IDE5LjA4NDEgMTAuNDY5MSAxOC42NDUxIDEwLjg2MjhDMTguNjQ1MSAxMC44NjI4IDEzLjA0NTcgMTYuMDAyMiAxMi42NCAxNi4zNjZDMTIuMjM0MyAxNi43Mjk4IDExLjc2MDggMTYuNzI5OCAxMS4zNTUyIDE2LjM2Nkw1LjM1NDkyIDEwLjg2MjhDNC45MTU4NyAxMC40NjkxIDQuODc5MTIgOS43OTM5NyA1LjI3MjgzIDkuMzU0OTJDNS42NjY1NSA4LjkxNTg3IDYuMzQxNjQgOC44NzkxMiA2Ljc4MDY5IDkuMjcyODNMMTIgMTQuMTM2OEwxNy4yMTkzIDkuMjcyODNaIi8+Cjwvc3ZnPgo=";
23074
23155
 
23075
- const componentName$a = getComponentName$1('collapsible-container');
23156
+ const componentName$b = getComponentName$1('collapsible-container');
23076
23157
 
23077
23158
  class RawCollapsibleContainer extends createBaseClass$1({
23078
- componentName: componentName$a,
23159
+ componentName: componentName$b,
23079
23160
  baseSelector: 'slot',
23080
23161
  }) {
23081
23162
  static get observedAttributes() {
@@ -23310,7 +23391,7 @@ const [helperTheme$4, helperRefs$4, helperVars$4] = createHelperVars$1(
23310
23391
  {
23311
23392
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
23312
23393
  },
23313
- componentName$a
23394
+ componentName$b
23314
23395
  );
23315
23396
 
23316
23397
  const { shadowColor: shadowColor$4 } = helperRefs$4;
@@ -23421,7 +23502,7 @@ var collapsibleContainer$1 = /*#__PURE__*/Object.freeze({
23421
23502
  vars: vars$Q
23422
23503
  });
23423
23504
 
23424
- const componentName$9 = getComponentName$1('recovery-codes');
23505
+ const componentName$a = getComponentName$1('recovery-codes');
23425
23506
 
23426
23507
  const itemRenderer$2 = ({ value }, _, ref) => {
23427
23508
  return `
@@ -23432,7 +23513,7 @@ const itemRenderer$2 = ({ value }, _, ref) => {
23432
23513
  };
23433
23514
 
23434
23515
  class RawRecoveryCodes extends createBaseClass$1({
23435
- componentName: componentName$9,
23516
+ componentName: componentName$a,
23436
23517
  baseSelector: ':host > div',
23437
23518
  }) {
23438
23519
  static get observedAttributes() {
@@ -23600,7 +23681,7 @@ var recoveryCodes$1 = /*#__PURE__*/Object.freeze({
23600
23681
  vars: vars$P
23601
23682
  });
23602
23683
 
23603
- const componentName$8 = getComponentName$1('outbound-apps');
23684
+ const componentName$9 = getComponentName$1('outbound-apps');
23604
23685
 
23605
23686
  const itemRenderer$1 = (
23606
23687
  { name, description, logo, appId, isConnected },
@@ -23645,12 +23726,12 @@ const itemRenderer$1 = (
23645
23726
  `;
23646
23727
  };
23647
23728
 
23648
- const BaseClass$3 = createBaseClass$1({
23649
- componentName: componentName$8,
23729
+ const BaseClass$2 = createBaseClass$1({
23730
+ componentName: componentName$9,
23650
23731
  baseSelector: 'descope-list',
23651
23732
  });
23652
23733
 
23653
- class RawOutboundAppsClass extends BaseClass$3 {
23734
+ class RawOutboundAppsClass extends BaseClass$2 {
23654
23735
  constructor() {
23655
23736
  super();
23656
23737
 
@@ -23862,10 +23943,10 @@ var outboundApps$1 = /*#__PURE__*/Object.freeze({
23862
23943
  vars: vars$O
23863
23944
  });
23864
23945
 
23865
- const componentName$7 = getComponentName$1('outbound-app-button');
23946
+ const componentName$8 = getComponentName$1('outbound-app-button');
23866
23947
 
23867
23948
  class RawOutboundAppButton extends createBaseClass$1({
23868
- componentName: componentName$7,
23949
+ componentName: componentName$8,
23869
23950
  baseSelector: ':host > descope-button',
23870
23951
  }) {
23871
23952
  static get observedAttributes() {
@@ -24047,7 +24128,7 @@ const getDeviceIcon = (deviceType) => {
24047
24128
  };
24048
24129
  };
24049
24130
 
24050
- const componentName$6 = getComponentName$1('trusted-devices');
24131
+ const componentName$7 = getComponentName$1('trusted-devices');
24051
24132
 
24052
24133
  const itemRenderer = (
24053
24134
  { id, name, lastLoginDate, deviceType, isCurrent },
@@ -24135,12 +24216,12 @@ const itemRenderer = (
24135
24216
  return template;
24136
24217
  };
24137
24218
 
24138
- const BaseClass$2 = createBaseClass$1({
24139
- componentName: componentName$6,
24219
+ const BaseClass$1 = createBaseClass$1({
24220
+ componentName: componentName$7,
24140
24221
  baseSelector: ListClass.componentName,
24141
24222
  });
24142
24223
 
24143
- class RawTrustedDevicesClass extends BaseClass$2 {
24224
+ class RawTrustedDevicesClass extends BaseClass$1 {
24144
24225
  constructor() {
24145
24226
  super();
24146
24227
 
@@ -24470,7 +24551,7 @@ var trustedDevices = /*#__PURE__*/Object.freeze({
24470
24551
  vars: vars$M
24471
24552
  });
24472
24553
 
24473
- const componentName$5 = getComponentName$1('tooltip');
24554
+ const componentName$6 = getComponentName$1('tooltip');
24474
24555
 
24475
24556
  const tooltipAttrs = [
24476
24557
  'text',
@@ -24480,14 +24561,26 @@ const tooltipAttrs = [
24480
24561
  'opened',
24481
24562
  ];
24482
24563
 
24483
- const BaseClass$1 = createBaseClass$1({
24484
- componentName: componentName$5,
24564
+ class RawTooltip extends createBaseClass$1({
24565
+ componentName: componentName$6,
24485
24566
  baseSelector: 'vaadin-tooltip',
24486
- });
24567
+ }) {
24568
+ constructor() {
24569
+ super();
24570
+
24571
+ this.attachShadow({ mode: 'open' }).innerHTML = `
24572
+ <descope-anchored>
24573
+ <slot></slot>
24574
+ <vaadin-tooltip slot="anchored"></vaadin-tooltip>
24575
+ </descope-anchored>
24576
+ `;
24577
+
24578
+ this.defaultSlot = this.shadowRoot.querySelector('slot:not([name])');
24579
+ this.tooltip = this.shadowRoot.querySelector('vaadin-tooltip');
24580
+ }
24487
24581
 
24488
- class RawTooltip extends BaseClass$1 {
24489
24582
  static get observedAttributes() {
24490
- return tooltipAttrs.concat(BaseClass$1.observedAttributes || []);
24583
+ return tooltipAttrs.concat(super.observedAttributes || []);
24491
24584
  }
24492
24585
 
24493
24586
  get isOpened() {
@@ -24510,51 +24603,81 @@ class RawTooltip extends BaseClass$1 {
24510
24603
  return this.getAttribute('static-display') === 'true';
24511
24604
  }
24512
24605
 
24606
+ get srLabel() {
24607
+ return this.tooltip?.querySelector('[slot="sr-label"]');
24608
+ }
24609
+
24513
24610
  // We use `static-display` for presentation purposes, to show the tooltip content.
24514
24611
  // This should be used only when `opened` is `true`. Once `static-display` is set,
24515
- // the overlay would become a `static` element, and will have layout in the presenting page.
24516
- // This is mainly aimed to solve the presentation problem on our Styles Page in the Console.
24612
+ // the overlay flows in-line and has layout in the presenting page. Mainly aimed
24613
+ // to solve the presentation problem on our Styles Page in the Console.
24517
24614
  #handleStaticDisplay() {
24518
24615
  if (this.isStaticDisplay) {
24519
- this.#revealWrappedParts();
24616
+ this.#revealOverlay();
24520
24617
  this.setAttribute('inert', 'true');
24521
24618
  } else {
24522
- this.#hideWrappedParts();
24523
24619
  this.removeAttribute('inert');
24524
24620
  }
24525
24621
  }
24526
24622
 
24527
- init() {
24528
- super.init();
24623
+ #revealOverlay() {
24624
+ if (!this.overlay) return;
24625
+ // Keep the overlay in vaadin-tooltip.shadowRoot so adopted stylesheets from
24626
+ // portalMixin continue to apply (they are scoped to that shadow root).
24627
+ // Layout is handled via CSS: anchored-root becomes a column, vaadin-tooltip
24628
+ // becomes a visible block below the anchor, and the sr-label is hidden.
24629
+ this.overlay.style.display = 'block';
24630
+ this.overlay.style.position = 'static';
24631
+ }
24529
24632
 
24530
- // Create the vaadin-tooltip here instead of constructor (for React compatibility)
24531
- this.style.display = 'contents';
24532
- this.insertAdjacentHTML('beforeend', '<vaadin-tooltip></vaadin-tooltip>');
24533
- this.tooltip = this.querySelector('vaadin-tooltip');
24633
+ init() {
24634
+ super.init?.();
24534
24635
 
24535
- this.#hideWrappedParts();
24636
+ injectStyle(
24637
+ `
24638
+ :host {
24639
+ display: inline-block;
24640
+ }
24641
+ vaadin-tooltip {
24642
+ display: block;
24643
+ position: absolute;
24644
+ width: 0;
24645
+ height: 0;
24646
+ overflow: hidden;
24647
+ }
24648
+ /* Stack anchor above the anchored element so the tooltip flows below it inline. */
24649
+ :host([static-display="true"]) descope-anchored::part(root) {
24650
+ flex-direction: column;
24651
+ }
24652
+ :host([static-display="true"]) descope-anchored::part(anchored) {
24653
+ position: static;
24654
+ inset: unset;
24655
+ }
24656
+ :host([static-display="true"]) vaadin-tooltip {
24657
+ position: static;
24658
+ width: auto;
24659
+ height: auto;
24660
+ overflow: visible;
24661
+ }
24662
+ :host([static-display="true"]) vaadin-tooltip [slot="sr-label"] {
24663
+ display: none;
24664
+ }
24665
+ `,
24666
+ this,
24667
+ );
24536
24668
 
24669
+ this.defaultSlot.addEventListener('slotchange', () =>
24670
+ this.#setTooltipTarget(),
24671
+ );
24537
24672
  this.#setTooltipTarget();
24538
24673
 
24539
24674
  setTimeout(() => this.#onOverlayReady());
24540
24675
  }
24541
24676
 
24542
- #hideWrappedParts() {
24543
- this.tooltip.style.width = '0';
24544
- this.tooltip.style.height = '0';
24545
- this.tooltip.style.display = 'block';
24546
- this.tooltip.style.overflow = 'hidden';
24547
- this.tooltip.style.position = 'absolute';
24548
- }
24549
-
24550
- #revealWrappedParts() {
24551
- this.tooltip.style.width = '100%';
24552
- this.tooltip.style.height = '100%';
24553
- this.tooltip.style.position = 'static';
24554
- this.tooltip.style.overflow = 'visible';
24555
- this.tooltip.textContent = '';
24556
- this.overlay.style.display = 'block';
24557
- this.overlay.style.position = 'static';
24677
+ #setTooltipTarget() {
24678
+ const target = this.defaultSlot?.assignedElements()?.[0];
24679
+ if (!target) return;
24680
+ this.tooltip.target = target;
24558
24681
  }
24559
24682
 
24560
24683
  #onOverlayReady() {
@@ -24568,16 +24691,6 @@ class RawTooltip extends BaseClass$1 {
24568
24691
  this.#handleTooltipVisibility();
24569
24692
  }
24570
24693
 
24571
- #setTooltipTarget() {
24572
- if (!this.children?.length) return;
24573
-
24574
- let ele = Array.from(this.children).find((child) => child !== this.tooltip);
24575
-
24576
- if (!ele) return;
24577
-
24578
- this.tooltip.target = ele;
24579
- }
24580
-
24581
24694
  #clearOverlayContentNode() {
24582
24695
  this.overlayContentNode.innerHTML = '';
24583
24696
  }
@@ -24591,10 +24704,6 @@ class RawTooltip extends BaseClass$1 {
24591
24704
  return enrichedText;
24592
24705
  }
24593
24706
 
24594
- get srLabel() {
24595
- return this.tooltip?.querySelector('[slot="sr-label"]');
24596
- }
24597
-
24598
24707
  #initTooltipTextComponent() {
24599
24708
  if (!this.overlayContentNode) return;
24600
24709
 
@@ -24617,25 +24726,35 @@ class RawTooltip extends BaseClass$1 {
24617
24726
  });
24618
24727
  }
24619
24728
 
24620
- // the default vaadin behavior is to attach the overlay to the body when opened
24621
- // we do not want that because it's difficult to style the overlay in this way
24622
- // so we override it to open inside the shadow DOM
24729
+ // The default vaadin behavior is to attach the overlay to the body when opened,
24730
+ // which makes it hard to style. We move the overlay into our shadow root instead.
24731
+ // Critical: vaadin computes position against the overlay's offsetParent moving
24732
+ // it changes that context, so we must call `_updatePosition()` afterwards.
24733
+ // That's vaadin's own position-recompute method (the same one its resize/scroll
24734
+ // listeners use internally), so we get the right reposition without dispatching
24735
+ // global events.
24623
24736
  #overrideAttachOverlay() {
24624
24737
  if (!this.overlay) return;
24625
24738
 
24626
- if (this.isOpened) {
24627
- // When `opened` attr is used, vaadin doesn't execute `_attachOverlay`,
24628
- // and the overlay element is rendered outside the component, on the top
24629
- // level. We need to move it back to the local component's DOM.
24739
+ const originalAttach = this.overlay._attachOverlay?.bind(this.overlay);
24740
+
24741
+ this.overlay._detachOverlay = () => {};
24742
+ this.overlay._attachOverlay = () => {
24743
+ originalAttach?.();
24630
24744
  setTimeout(() => {
24631
24745
  this.tooltip.shadowRoot.appendChild(this.overlay);
24632
- this.#handleStaticDisplay();
24746
+ this.overlay._updatePosition?.();
24633
24747
  });
24634
- } else {
24635
- this.overlay._detachOverlay = () => {};
24748
+ };
24636
24749
 
24637
- this.overlay._attachOverlay = () =>
24750
+ if (this.isOpened) {
24751
+ // When `opened` attr is set at init, vaadin renders the overlay at the top
24752
+ // level without calling `_attachOverlay`. Move it back into our shadow root.
24753
+ setTimeout(() => {
24638
24754
  this.tooltip.shadowRoot.appendChild(this.overlay);
24755
+ this.#handleStaticDisplay();
24756
+ this.overlay._updatePosition?.();
24757
+ });
24639
24758
  }
24640
24759
  }
24641
24760
 
@@ -24677,11 +24796,6 @@ const { overlay, content } = {
24677
24796
  content: { selector: () => 'vaadin-tooltip-overlay::part(content)' },
24678
24797
  };
24679
24798
 
24680
- /**
24681
- * This component has no Shadow DOM of its own, so we can't add styles to it
24682
- * (otherwise it would affect the rest of the DOM).
24683
- * Note that all styles are within PortalMixin.
24684
- */
24685
24799
  const TooltipClass = compose$1(
24686
24800
  componentNameValidationMixin$1,
24687
24801
  portalMixin$1({
@@ -24736,7 +24850,7 @@ const [helperTheme$3, helperRefs$3, helperVars$3] = createHelperVars$1(
24736
24850
  {
24737
24851
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
24738
24852
  },
24739
- componentName$5
24853
+ componentName$6
24740
24854
  );
24741
24855
 
24742
24856
  const { shadowColor: shadowColor$3 } = helperRefs$3;
@@ -24834,7 +24948,7 @@ const fetchLabels = async (baseUrl) => {
24834
24948
  const fetchCitiesForCountry = async (countryIso2, baseUrl) =>
24835
24949
  fetchJson(`${baseUrl}/countries/${countryIso2}/cities.json`);
24836
24950
 
24837
- const componentName$4 = getComponentName$1(
24951
+ const componentName$5 = getComponentName$1(
24838
24952
  'country-subdivision-city-field-internal',
24839
24953
  );
24840
24954
 
@@ -24894,7 +25008,7 @@ const comboBoxHTML = (id) =>
24894
25008
  // --- Base class ---
24895
25009
 
24896
25010
  const BaseInputClass = createBaseInputClass$1({
24897
- componentName: componentName$4,
25011
+ componentName: componentName$5,
24898
25012
  baseSelector: '',
24899
25013
  });
24900
25014
 
@@ -25070,7 +25184,7 @@ class RawCountrySubdivisionCityFieldInternal extends BaseInputClass {
25070
25184
  if (e.isTrusted) {
25071
25185
  const firstInvalidCombo = this.#allCombos.find(
25072
25186
  (combo) =>
25073
- !combo.classList.contains(`${componentName$4}-hidden`) &&
25187
+ !combo.classList.contains(`${componentName$5}-hidden`) &&
25074
25188
  !combo.checkValidity(),
25075
25189
  );
25076
25190
  (firstInvalidCombo || this.#getFirstVisibleCombo())?.focus();
@@ -25167,7 +25281,7 @@ class RawCountrySubdivisionCityFieldInternal extends BaseInputClass {
25167
25281
  // Iterate in reverse so reportValidity's focus() lands on the first invalid combo last.
25168
25282
  #handleInvalidCombos() {
25169
25283
  for (const combo of [...this.#allCombos].reverse()) {
25170
- if (combo.classList.contains(`${componentName$4}-hidden`)) continue;
25284
+ if (combo.classList.contains(`${componentName$5}-hidden`)) continue;
25171
25285
  if (!combo.checkValidity()) combo.reportValidity();
25172
25286
  }
25173
25287
  }
@@ -25440,7 +25554,7 @@ class RawCountrySubdivisionCityFieldInternal extends BaseInputClass {
25440
25554
  if (!this.#pendingValue && this.#defaultCountry)
25441
25555
  this.#onCountrySelected(this.#defaultCountry);
25442
25556
  } catch (e) {
25443
- console.error(`[${componentName$4}] Failed to load countries`, e);
25557
+ console.error(`[${componentName$5}] Failed to load countries`, e);
25444
25558
  } finally {
25445
25559
  this.#countryComboBox.removeAttribute('loading');
25446
25560
  }
@@ -25465,7 +25579,7 @@ class RawCountrySubdivisionCityFieldInternal extends BaseInputClass {
25465
25579
  }
25466
25580
  } catch (e) {
25467
25581
  console.error(
25468
- `[${componentName$4}] Failed to load subdivisions for ${countryIso2}`,
25582
+ `[${componentName$5}] Failed to load subdivisions for ${countryIso2}`,
25469
25583
  e,
25470
25584
  );
25471
25585
  this.#subdivisionVisible = false;
@@ -25493,7 +25607,7 @@ class RawCountrySubdivisionCityFieldInternal extends BaseInputClass {
25493
25607
  }
25494
25608
  } catch (e) {
25495
25609
  console.error(
25496
- `[${componentName$4}] Failed to load cities for ${countryIso2}${stateCode ? `/${stateCode}` : ''}`,
25610
+ `[${componentName$5}] Failed to load cities for ${countryIso2}${stateCode ? `/${stateCode}` : ''}`,
25497
25611
  e,
25498
25612
  );
25499
25613
  } finally {
@@ -25585,7 +25699,7 @@ class RawCountrySubdivisionCityFieldInternal extends BaseInputClass {
25585
25699
  }
25586
25700
 
25587
25701
  #setVisible(el, visible) {
25588
- el?.classList.toggle(`${componentName$4}-hidden`, !visible);
25702
+ el?.classList.toggle(`${componentName$5}-hidden`, !visible);
25589
25703
  }
25590
25704
 
25591
25705
  #updateRequiredOnCombos() {
@@ -25655,7 +25769,7 @@ class RawCountrySubdivisionCityFieldInternal extends BaseInputClass {
25655
25769
 
25656
25770
  #getFirstVisibleCombo() {
25657
25771
  return this.#allCombos.find(
25658
- (combo) => !combo.classList.contains(`${componentName$4}-hidden`),
25772
+ (combo) => !combo.classList.contains(`${componentName$5}-hidden`),
25659
25773
  );
25660
25774
  }
25661
25775
 
@@ -25672,7 +25786,7 @@ const CountrySubdivisionCityFieldInternal = compose$1()(
25672
25786
  RawCountrySubdivisionCityFieldInternal,
25673
25787
  );
25674
25788
 
25675
- const componentName$3 = getComponentName$1('country-subdivision-city-field');
25789
+ const componentName$4 = getComponentName$1('country-subdivision-city-field');
25676
25790
 
25677
25791
  const customMixin = (superclass) =>
25678
25792
  class CountrySubdivisionCityFieldMixinClass extends superclass {
@@ -25682,15 +25796,15 @@ const customMixin = (superclass) =>
25682
25796
  const template = document.createElement('template');
25683
25797
 
25684
25798
  template.innerHTML = `
25685
- <${componentName$4}
25799
+ <${componentName$5}
25686
25800
  tabindex="-1"
25687
- ></${componentName$4}>
25801
+ ></${componentName$5}>
25688
25802
  `;
25689
25803
 
25690
25804
  this.baseElement.appendChild(template.content.cloneNode(true));
25691
25805
 
25692
25806
  this.inputElement = this.shadowRoot.querySelector(
25693
- componentName$4,
25807
+ componentName$5,
25694
25808
  );
25695
25809
 
25696
25810
  forwardAttrs$1(this, this.inputElement, {
@@ -25727,11 +25841,11 @@ const customMixin = (superclass) =>
25727
25841
  const host = { selector: () => ':host' };
25728
25842
 
25729
25843
  const internalWrapper = {
25730
- selector: `${componentName$4} > .wrapper`,
25844
+ selector: `${componentName$5} > .wrapper`,
25731
25845
  };
25732
25846
 
25733
25847
  const internalComboBoxes = {
25734
- selector: `${componentName$4} > .wrapper > descope-combo-box`,
25848
+ selector: `${componentName$5} > .wrapper > descope-combo-box`,
25735
25849
  };
25736
25850
 
25737
25851
  const CountrySubdivisionCityFieldClass = compose$1(
@@ -25781,7 +25895,7 @@ const CountrySubdivisionCityFieldClass = compose$1(
25781
25895
  width: 100%;
25782
25896
  }
25783
25897
 
25784
- ${componentName$4} {
25898
+ ${componentName$5} {
25785
25899
  display: inline-block;
25786
25900
  box-sizing: border-box;
25787
25901
  user-select: none;
@@ -25789,19 +25903,19 @@ const CountrySubdivisionCityFieldClass = compose$1(
25789
25903
  max-width: 100%;
25790
25904
  }
25791
25905
 
25792
- ${componentName$4} > .wrapper {
25906
+ ${componentName$5} > .wrapper {
25793
25907
  display: flex;
25794
25908
  width: 100%;
25795
25909
  flex-wrap: wrap;
25796
25910
  }
25797
25911
 
25798
- .${componentName$4}-hidden {
25912
+ .${componentName$5}-hidden {
25799
25913
  display: none;
25800
25914
  }
25801
25915
 
25802
25916
  `,
25803
25917
  excludeAttrsSync: ['tabindex', 'style', 'error-message'],
25804
- componentName: componentName$3,
25918
+ componentName: componentName$4,
25805
25919
  }),
25806
25920
  );
25807
25921
 
@@ -25832,7 +25946,7 @@ var countrySubdivisionCityField$1 = /*#__PURE__*/Object.freeze({
25832
25946
  vars: vars$K
25833
25947
  });
25834
25948
 
25835
- const componentName$2 = getComponentName$1('attachment');
25949
+ const componentName$3 = getComponentName$1('attachment');
25836
25950
 
25837
25951
  const ATTACHMENT_POSITIONS = [
25838
25952
  'top-end',
@@ -25846,19 +25960,19 @@ const ATTACHMENT_POSITIONS = [
25846
25960
  const DEFAULT_POSITION = ATTACHMENT_POSITIONS[0];
25847
25961
 
25848
25962
  class RawAttachment extends createBaseClass$1({
25849
- componentName: componentName$2,
25850
- baseSelector: ':host > .wrapper',
25963
+ componentName: componentName$3,
25964
+ baseSelector: 'descope-anchored',
25851
25965
  }) {
25852
25966
  constructor() {
25853
25967
  super();
25854
25968
 
25855
25969
  this.attachShadow({ mode: 'open' }).innerHTML = `
25856
- <div class="wrapper">
25970
+ <descope-anchored>
25857
25971
  <slot></slot>
25858
- <div class="attachment-container">
25972
+ <div slot="anchored" class="attachment-container">
25859
25973
  <slot name="attachment"></slot>
25860
25974
  </div>
25861
- </div>
25975
+ </descope-anchored>
25862
25976
  `;
25863
25977
 
25864
25978
  this.defaultSlot = this.shadowRoot.querySelector('slot:not([name])');
@@ -25867,6 +25981,10 @@ class RawAttachment extends createBaseClass$1({
25867
25981
  );
25868
25982
  }
25869
25983
 
25984
+ get #attachment() {
25985
+ return this.attachmentSlot?.assignedElements()[0];
25986
+ }
25987
+
25870
25988
  static get observedAttributes() {
25871
25989
  return [...(super.observedAttributes || []), 'position'];
25872
25990
  }
@@ -25886,9 +26004,8 @@ class RawAttachment extends createBaseClass$1({
25886
26004
  :host {
25887
26005
  display: inline-block;
25888
26006
  }
25889
- .wrapper {
25890
- position: relative;
25891
- display: inline-flex;
26007
+ :host(.hidden) {
26008
+ display: none;
25892
26009
  }
25893
26010
  .attachment-container {
25894
26011
  position: absolute;
@@ -25899,24 +26016,43 @@ class RawAttachment extends createBaseClass$1({
25899
26016
  align-items: center;
25900
26017
  container-type: inline-size;
25901
26018
  }
25902
- :host(.hidden) {
25903
- display: none;
25904
- }
25905
- `,
26019
+ `,
25906
26020
  this,
25907
26021
  );
25908
26022
 
25909
26023
  this.#handlePositionChange();
25910
26024
 
25911
- this.defaultSlot.addEventListener('slotchange', () => {
25912
- this.#setVisibility();
25913
- this.#syncDirection();
26025
+ // When descope-anchored forwards st-host-direction from the anchor to this container,
26026
+ // propagate it to the attachment elements.
26027
+ const container = this.shadowRoot.querySelector('.attachment-container');
26028
+ observeAttributes$1(container, () => this.#syncDirection(), {
26029
+ includeAttrs: ['st-host-direction'],
25914
26030
  });
25915
26031
 
25916
- window.requestAnimationFrame(() => {
26032
+ // Re-sync direction when new elements are slotted into the attachment slot.
26033
+ this.attachmentSlot.addEventListener('slotchange', () =>
26034
+ this.#syncDirection(),
26035
+ );
26036
+
26037
+ this.defaultSlot.addEventListener('slotchange', () => {
25917
26038
  this.#setVisibility();
25918
- this.#syncDirection();
26039
+ window.requestAnimationFrame(() => this.#syncAvailableSizeAttr());
25919
26040
  });
26041
+
26042
+ window.requestAnimationFrame(() => this.#setVisibility());
26043
+ }
26044
+
26045
+ #syncAvailableSizeAttr() {
26046
+ const anchor = this.defaultSlot?.assignedElements()?.[0];
26047
+
26048
+ const anchorRect = anchor?.getBoundingClientRect();
26049
+ if (anchorRect) {
26050
+ const availableWidth = anchorRect.width;
26051
+ this.#attachment?.setAttribute(
26052
+ 'data-attachment-size',
26053
+ Number(availableWidth),
26054
+ );
26055
+ }
25920
26056
  }
25921
26057
 
25922
26058
  #setVisibility() {
@@ -25925,16 +26061,14 @@ class RawAttachment extends createBaseClass$1({
25925
26061
  }
25926
26062
 
25927
26063
  #syncDirection() {
25928
- const child = this.defaultSlot?.assignedElements()?.[0];
25929
- if (!child) return;
25930
-
25931
- const { direction } = window.getComputedStyle(child);
26064
+ const direction = this.shadowRoot
26065
+ .querySelector('.attachment-container')
26066
+ ?.getAttribute('st-host-direction');
25932
26067
 
26068
+ if (!direction) return;
25933
26069
  // currently we support direction sync only for web-components-ui
25934
26070
  // elements, which support st-host-direction attribute.
25935
- this.attachmentSlot?.assignedElements().forEach((el) => {
25936
- el.setAttribute('st-host-direction', direction);
25937
- });
26071
+ this.#attachment?.setAttribute('st-host-direction', direction);
25938
26072
  }
25939
26073
 
25940
26074
  get offsetX() {
@@ -26026,7 +26160,7 @@ var attachment$1 = /*#__PURE__*/Object.freeze({
26026
26160
  default: attachment
26027
26161
  });
26028
26162
 
26029
- const componentName$1 = getComponentName('input-wrapper');
26163
+ const componentName$2 = getComponentName('input-wrapper');
26030
26164
  const globalRefs$p = getThemeRefs(globals$1);
26031
26165
 
26032
26166
  const [theme$1, refs, vars$I] = createHelperVars(
@@ -26156,7 +26290,7 @@ const [theme$1, refs, vars$I] = createHelperVars(
26156
26290
  inputTextSecurity: 'disc',
26157
26291
  },
26158
26292
  },
26159
- componentName$1
26293
+ componentName$2
26160
26294
  );
26161
26295
 
26162
26296
  var inputWrapper = /*#__PURE__*/Object.freeze({
@@ -26604,7 +26738,7 @@ const [helperTheme$2, helperRefs$2, helperVars$2] = createHelperVars(
26604
26738
  horizontalAlignment,
26605
26739
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
26606
26740
  },
26607
- componentName$1h
26741
+ componentName$1i
26608
26742
  );
26609
26743
 
26610
26744
  const { shadowColor: shadowColor$2 } = helperRefs$2;
@@ -26760,7 +26894,7 @@ const [helperTheme$1, helperRefs$1, helperVars$1] = createHelperVars(
26760
26894
  thickness: '2px',
26761
26895
  spacing: '10px',
26762
26896
  },
26763
- componentName$19
26897
+ componentName$1a
26764
26898
  );
26765
26899
 
26766
26900
  const divider = {
@@ -26914,7 +27048,7 @@ const [helperTheme, helperRefs, helperVars] = createHelperVars(
26914
27048
  },
26915
27049
  },
26916
27050
  },
26917
- componentName$1i
27051
+ componentName$1j
26918
27052
  );
26919
27053
 
26920
27054
  const loaderRadial = {
@@ -28319,36 +28453,197 @@ const darkTheme = merge({}, defaultTheme, {
28319
28453
  },
28320
28454
  });
28321
28455
 
28322
- customElements.define(componentName$h, AutocompleteFieldInternal);
28456
+ customElements.define(componentName$i, AutocompleteFieldInternal);
28457
+
28458
+ customElements.define(componentName$h, AutocompleteFieldClass);
28459
+
28460
+ customElements.define(componentName$g, AddressFieldInternal);
28461
+
28462
+ customElements.define(componentName$f, AddressFieldClass);
28463
+
28464
+ const componentName$1 = getComponentName$1('anchored');
28465
+
28466
+ class RawAnchored extends createBaseClass$1({
28467
+ componentName: componentName$1,
28468
+ baseSelector: '.anchored-root',
28469
+ }) {
28470
+ #stretchObserver = null;
28471
+
28472
+ #directionObserver = null;
28473
+
28474
+ #hostStretchSheet = null;
28475
+
28476
+ get #anchor() {
28477
+ return this.defaultSlot.assignedElements({ flatten: true })[0];
28478
+ }
28479
+
28480
+ get #anchored() {
28481
+ return this.shadowRoot
28482
+ .querySelector('slot[name="anchored"]')
28483
+ ?.assignedElements()[0];
28484
+ }
28485
+
28486
+ get #outerHost() {
28487
+ return this.getRootNode().host;
28488
+ }
28489
+
28490
+ constructor() {
28491
+ super();
28492
+
28493
+ this.attachShadow({ mode: 'open' }).innerHTML = `
28494
+ <div class="anchored-root" part="root">
28495
+ <slot></slot>
28496
+ <div class="anchored-host" part="anchored">
28497
+ <slot name="anchored"></slot>
28498
+ </div>
28499
+ </div>
28500
+ `;
28501
+
28502
+ this.defaultSlot = this.shadowRoot.querySelector('slot:not([name])');
28503
+ }
28504
+
28505
+ init() {
28506
+ super.init?.();
28507
+
28508
+ injectStyle(
28509
+ `
28510
+ :host {
28511
+ display: inline-flex;
28512
+ position: relative;
28513
+ box-sizing: border-box;
28514
+ }
28515
+
28516
+ :host(:not([has-anchor])) {
28517
+ display: none;
28518
+ }
28519
+
28520
+ .anchored-root {
28521
+ position: relative;
28522
+ display: flex;
28523
+ width: 100%;
28524
+ min-width: 0;
28525
+ }
28323
28526
 
28324
- customElements.define(componentName$g, AutocompleteFieldClass);
28527
+ /* Make anchor fill the flex row and allow it to shrink. */
28528
+ ::slotted(*:not([slot])) {
28529
+ flex-grow: 1; /* fill the flex row */
28530
+ flex-shrink: 1; /* compress when constrained */
28531
+ flex-basis: auto; /* start from the anchor's natural size */
28532
+ min-width: 0; /* flex items won't shrink below content size without this */
28533
+ }
28534
+
28535
+ /* Anchored container covers the anchor but is invisible to pointer events. */
28536
+ .anchored-host {
28537
+ position: absolute;
28538
+ inset: 0;
28539
+ pointer-events: none;
28540
+ }
28541
+
28542
+ /* Restore interactivity for actual anchored content. */
28543
+ ::slotted([slot="anchored"]) {
28544
+ pointer-events: auto;
28545
+ }
28546
+ `,
28547
+ this,
28548
+ );
28549
+
28550
+ this.#syncStretchCSS();
28551
+
28552
+ this.defaultSlot.addEventListener('slotchange', () => this.#syncAnchor());
28553
+
28554
+ this.#syncAnchor();
28555
+ }
28556
+
28557
+ #syncAnchor() {
28558
+ this.#onAnchorChanged();
28559
+
28560
+ this.#stretchObserver = this.#forwardAttr(
28561
+ this.#stretchObserver,
28562
+ this.#outerHost,
28563
+ 'stretch',
28564
+ );
28565
+
28566
+ this.#directionObserver = this.#forwardAttr(
28567
+ this.#directionObserver,
28568
+ this.#anchored,
28569
+ 'st-host-direction',
28570
+ );
28571
+ }
28572
+
28573
+ // Injects [stretch] layout rules into the containing component's shadow root (e.g. descope-attachment)
28574
+ // so it stretches when the anchor has [stretch]. Replaces the existing rules on subsequent calls.
28575
+ #syncStretchCSS() {
28576
+ const css = `
28577
+ descope-anchored {
28578
+ width: 100%; /* fill the outer host so the anchored element spans the full anchor width */
28579
+ }
28580
+ :host([stretch]) {
28581
+ display: inline-flex; /* switch from inline-block so internal children are flex items */
28582
+ width: 100%; /* fill non-flex parents */
28583
+ flex-grow: 1; /* absorb extra space in flex parents */
28584
+ flex-shrink: 0; /* hold full width — shrink:1 would let siblings squeeze it below 100% */
28585
+ flex-basis: 100%; /* start at full width before grow/shrink */
28586
+ min-width: 0; /* prevent overflow when the outer host is itself inside a constrained flex row */
28587
+ }
28588
+ `;
28589
+
28590
+ if (this.#hostStretchSheet) {
28591
+ this.#hostStretchSheet.replaceSync(css);
28592
+ } else if (this.#outerHost) {
28593
+ this.#hostStretchSheet = injectStyle(css, this.#outerHost);
28594
+ }
28595
+ }
28596
+
28597
+ // Reconnects forwarding to the current anchor. Disconnects the old observer and
28598
+ // removes the stale attr from target first — forwardAttrs only sets attrs present
28599
+ // on the source, so absent attrs won't be removed automatically.
28600
+ #forwardAttr(observer, target, attr) {
28601
+ observer?.disconnect();
28602
+ target?.removeAttribute(attr);
28603
+ if (!this.#anchor || !target) return null;
28604
+ return forwardAttrs$1(this.#anchor, target, { includeAttrs: [attr] });
28605
+ }
28606
+
28607
+ // Prevent stale callbacks from firing on a detached anchor after removal.
28608
+ disconnectedCallback() {
28609
+ super.disconnectedCallback?.();
28610
+ this.#stretchObserver?.disconnect();
28611
+ this.#directionObserver?.disconnect();
28612
+ }
28613
+
28614
+ // Track whether anything is slotted, so the host display rule can hide an
28615
+ // empty host rather than reserving its layout box.
28616
+ #onAnchorChanged() {
28617
+ this.toggleAttribute('has-anchor', !!this.#anchor);
28618
+ }
28619
+ }
28325
28620
 
28326
- customElements.define(componentName$f, AddressFieldInternal);
28621
+ const AnchoredClass = compose$1(componentNameValidationMixin$1)(RawAnchored);
28327
28622
 
28328
- customElements.define(componentName$e, AddressFieldClass);
28623
+ customElements.define(componentName$1, AnchoredClass);
28329
28624
 
28330
- customElements.define(componentName$j, AvatarClass);
28625
+ customElements.define(componentName$k, AvatarClass);
28331
28626
 
28332
- customElements.define(componentName$i, AppsListClass);
28627
+ customElements.define(componentName$j, AppsListClass);
28333
28628
 
28334
- customElements.define(componentName$2, AttachmentClass);
28629
+ customElements.define(componentName$3, AttachmentClass);
28335
28630
 
28336
- customElements.define(componentName$a, CollapsibleContainerClass);
28631
+ customElements.define(componentName$b, CollapsibleContainerClass);
28337
28632
 
28338
- customElements.define(componentName$4, CountrySubdivisionCityFieldInternal);
28633
+ customElements.define(componentName$5, CountrySubdivisionCityFieldInternal);
28339
28634
 
28340
- customElements.define(componentName$3, CountrySubdivisionCityFieldClass);
28635
+ customElements.define(componentName$4, CountrySubdivisionCityFieldClass);
28341
28636
 
28342
- customElements.define(componentName$7, OutboundAppButtonClass);
28637
+ customElements.define(componentName$8, OutboundAppButtonClass);
28343
28638
 
28344
- customElements.define(componentName$8, OutboundAppsClass);
28639
+ customElements.define(componentName$9, OutboundAppsClass);
28345
28640
 
28346
- customElements.define(componentName$b, PasswordStrengthClass);
28641
+ customElements.define(componentName$c, PasswordStrengthClass);
28347
28642
 
28348
28643
  var index = /*#__PURE__*/Object.freeze({
28349
28644
  __proto__: null,
28350
28645
  PasswordStrengthClass: PasswordStrengthClass,
28351
- componentName: componentName$b
28646
+ componentName: componentName$c
28352
28647
  });
28353
28648
 
28354
28649
  // NOTICE: This component registers with a DIFFERENT name than its file name
@@ -28455,15 +28750,15 @@ const HoneypotClass = compose$1(componentNameValidationMixin$1)(RawHoneypot);
28455
28750
 
28456
28751
  customElements.define(componentName, HoneypotClass);
28457
28752
 
28458
- customElements.define(componentName$9, RecoveryCodesClass);
28753
+ customElements.define(componentName$a, RecoveryCodesClass);
28459
28754
 
28460
- customElements.define(componentName$d, TimerClass);
28755
+ customElements.define(componentName$e, TimerClass);
28461
28756
 
28462
- customElements.define(componentName$c, TimerButtonClass);
28757
+ customElements.define(componentName$d, TimerButtonClass);
28463
28758
 
28464
- customElements.define(componentName$5, TooltipClass);
28759
+ customElements.define(componentName$6, TooltipClass);
28465
28760
 
28466
- customElements.define(componentName$6, TrustedDevicesClass);
28761
+ customElements.define(componentName$7, TrustedDevicesClass);
28467
28762
 
28468
28763
  const options = {
28469
28764
  translations: zxcvbnEnPackage.translations,
@@ -28481,5 +28776,5 @@ var calcScore = /*#__PURE__*/Object.freeze({
28481
28776
  options: options
28482
28777
  });
28483
28778
 
28484
- export { AddressFieldClass, AlertClass, AppsListClass, AttachmentClass, AutocompleteFieldClass, AvatarClass, BadgeClass, ButtonClass, ButtonMultiSelectionGroupClass, ButtonSelectionGroupClass, CalendarClass, CheckboxClass, CodeSnippetClass, CollapsibleContainerClass, ComboBoxClass, ContainerClass, CountrySubdivisionCityFieldClass, DateFieldClass, DividerClass, EmailFieldClass, EnrichedTextClass, GridClass, HcaptchaClass, HoneypotClass, HybridFieldClass, IconClass, ImageClass, LinkClass, ListClass, ListItemClass, LoaderLinearClass, LoaderRadialClass, LogoClass, MappingsFieldClass, ModalClass, MultiSelectComboBoxClass, NewPasswordClass, NotificationClass, NotpImageClass, NumberFieldClass, OutboundAppButtonClass, OutboundAppsClass, PasscodeClass, PasswordClass, PasswordStrengthClass, PhoneFieldClass, PhoneFieldInputBoxClass, PolicyValidationClass, RadioGroupClass, RecaptchaClass, RecoveryCodesClass, SamlGroupMappingsClass, ScopesListClass, SecurityQuestionsSetupClass, SecurityQuestionsVerifyClass, SwitchToggleClass, TextAreaClass, TextClass, TextFieldClass, ThirdPartyAppLogoClass, TimerButtonClass, TimerClass, TooltipClass, TotpImageClass, TrustedDevicesClass, UploadFileClass, UserAttributeClass, UserAuthMethodClass, componentsThemeManager, createComponentsTheme, darkTheme, defaultTheme, genColor, globalsThemeToStyle, themeToStyle, themeVars };
28779
+ export { AddressFieldClass, AlertClass, AnchoredClass, AppsListClass, AttachmentClass, AutocompleteFieldClass, AvatarClass, BadgeClass, ButtonClass, ButtonMultiSelectionGroupClass, ButtonSelectionGroupClass, CalendarClass, CheckboxClass, CodeSnippetClass, CollapsibleContainerClass, ComboBoxClass, ContainerClass, CountrySubdivisionCityFieldClass, DateFieldClass, DividerClass, EmailFieldClass, EnrichedTextClass, GridClass, HcaptchaClass, HoneypotClass, HybridFieldClass, IconClass, ImageClass, LinkClass, ListClass, ListItemClass, LoaderLinearClass, LoaderRadialClass, LogoClass, MappingsFieldClass, ModalClass, MultiSelectComboBoxClass, NewPasswordClass, NotificationClass, NotpImageClass, NumberFieldClass, OutboundAppButtonClass, OutboundAppsClass, PasscodeClass, PasswordClass, PasswordStrengthClass, PhoneFieldClass, PhoneFieldInputBoxClass, PolicyValidationClass, RadioGroupClass, RecaptchaClass, RecoveryCodesClass, SamlGroupMappingsClass, ScopesListClass, SecurityQuestionsSetupClass, SecurityQuestionsVerifyClass, SwitchToggleClass, TextAreaClass, TextClass, TextFieldClass, ThirdPartyAppLogoClass, TimerButtonClass, TimerClass, TooltipClass, TotpImageClass, TrustedDevicesClass, UploadFileClass, UserAttributeClass, UserAuthMethodClass, componentsThemeManager, createComponentsTheme, darkTheme, defaultTheme, genColor, globalsThemeToStyle, themeToStyle, themeVars };
28485
28780
  //# sourceMappingURL=index.esm.js.map