@descope/web-components-ui 3.22.3 → 3.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -24,8 +24,8 @@ import '@vaadin/dialog';
24
24
  import '@vaadin/notification';
25
25
  import '@vaadin/custom-field';
26
26
  import '@vaadin/radio-group';
27
- import '@vaadin/avatar';
28
27
  import '@vaadin/multi-select-combo-box';
28
+ import '@vaadin/avatar';
29
29
  import '@vaadin/tooltip';
30
30
  import { zxcvbn, zxcvbnOptions } from '@zxcvbn-ts/core';
31
31
  import * as zxcvbnCommonPackage from '@zxcvbn-ts/language-common';
@@ -219,6 +219,39 @@ const syncAttrs$1 = (ele1, ele2, options) => {
219
219
  observeAttributes$1(ele2, createSyncAttrsCb$1(ele2, ele1), options);
220
220
  };
221
221
 
222
+ // A custom element has no shadow root on the first tick, so anything reaching into one has to
223
+ // wait for it. Takes a function rather than the element, because the element itself is often not
224
+ // there yet either.
225
+ //
226
+ // On giving up it resolves the element it was given, not a shadow root. `portalMixin` relies on
227
+ // that to carry on with something usable, so a caller that cannot use the element must check what
228
+ // it got back.
229
+ const waitForShadowRoot$1 = (getRootElementFn) => async (that) => {
230
+ const ele = await getRootElementFn(that);
231
+
232
+ return new Promise((res) => {
233
+ const MAX_RETRIES = 20;
234
+ let counter = 0;
235
+
236
+ const check = () => {
237
+ if (counter > MAX_RETRIES) {
238
+ console.error('could not get shadow root for element', ele);
239
+ res(ele);
240
+ return;
241
+ }
242
+
243
+ counter++;
244
+
245
+ if (!ele?.shadowRoot) {
246
+ setTimeout(check);
247
+ } else {
248
+ res(ele.shadowRoot);
249
+ }
250
+ };
251
+ check();
252
+ });
253
+ };
254
+
222
255
  const getComponentName$1 = (name) => kebabCaseJoin$1(DESCOPE_PREFIX$1, name);
223
256
 
224
257
  const getCssVarName$1 = (...args) => `--${kebabCaseJoin$1(...args)}`;
@@ -770,7 +803,7 @@ const createClassSelectorSpecifier$1 = (className, numOfRepeats) => `.${classNam
770
803
  const STYLE_OVERRIDE_ATTR_PREFIX$1 = 'st';
771
804
 
772
805
  const createStyleMixin$1 =
773
- ({ mappings = {}, componentNameOverride = '' }) =>
806
+ ({ mappings = {}, componentNameOverride = '', style = '' }) =>
774
807
  (superclass) => {
775
808
  const componentName = componentNameOverride || superclass.componentName;
776
809
 
@@ -824,7 +857,7 @@ const createStyleMixin$1 =
824
857
  );
825
858
  }
826
859
 
827
- // eslint-disable-next-line class-methods-use-this
860
+
828
861
  get #componentTheme() {
829
862
  return componentsThemeManager.currentTheme?.[componentName] || '';
830
863
  }
@@ -860,6 +893,7 @@ const createStyleMixin$1 =
860
893
  if (elementId) {
861
894
  // basically this is enough to make the selector more specific
862
895
  // but just in case there is no id, we will also add the class multiple times
896
+ // eslint-disable-next-line no-undef
863
897
  classSpecifier += `#${CSS.escape(elementId)}`;
864
898
  }
865
899
 
@@ -907,6 +941,14 @@ const createStyleMixin$1 =
907
941
  }
908
942
  }
909
943
 
944
+ // Rules the component needs wherever this mixin writes, which for a portal is a shadow root
945
+ // it does not own. Prepended after the mapping rules so those still win: the mapping is the
946
+ // themeable half, this is the structure underneath it.
947
+ #createStaticStyle() {
948
+ const css = isFunction$1(style) ? style() : style;
949
+ if (css) injectStyle(css, this.#rootElement, { prepend: true });
950
+ }
951
+
910
952
  #addClassName(className) {
911
953
  (
912
954
  this.#rootElement?.classList ||
@@ -924,6 +966,7 @@ const createStyleMixin$1 =
924
966
  this.#addClassName(componentName);
925
967
 
926
968
  this.#createMappingStyle();
969
+ this.#createStaticStyle();
927
970
  this.#createComponentTheme();
928
971
  this.#createOverridesStyle();
929
972
 
@@ -1876,46 +1919,31 @@ const DISPLAY_NAME_SEPARATOR$1 = '_';
1876
1919
 
1877
1920
  const sanitizeSelector = (selector) => selector.replace(/[^\w\s]/gi, '');
1878
1921
 
1879
- const withWaitForShadowRoot$1 = (getRootElementFn) => async (that) => {
1880
- const ele = await getRootElementFn(that);
1881
-
1882
- return new Promise((res) => {
1883
- const MAX_RETRIES = 20;
1884
- let counter = 0;
1885
-
1886
- const check = () => {
1887
- if (counter > MAX_RETRIES) {
1888
- // eslint-disable-next-line no-console
1889
- console.error('could not get shadow root for element', ele);
1890
- res(ele);
1891
- return;
1892
- }
1893
-
1894
- counter++;
1895
-
1896
- if (!ele?.shadowRoot) {
1897
- setTimeout(check);
1898
- } else {
1899
- res(ele.shadowRoot);
1900
- return;
1901
- }
1902
- };
1903
- check();
1904
- });
1905
- };
1906
-
1907
1922
  const portalMixin$1 =
1908
1923
  ({
1909
1924
  name,
1910
1925
  selector,
1911
1926
  mappings = {},
1912
- forward: { attributes = [], include = true } = {},
1927
+ // Static css for the portal's own root, for rules that should not become themeable knobs.
1928
+ style = '',
1929
+ // `false` forwards nothing to the portal element. It needs its own value because an empty
1930
+ // `attributes` list already means "no filter", so it forwards everything rather than nothing.
1931
+ // Forwarding is wrong for a portal whose element is not a copy of the host, where attributes
1932
+ // like `data` or `label` would land somewhere that does not expect them.
1933
+ forward = {},
1913
1934
  }) =>
1914
1935
  (superclass) => {
1936
+ // A function selector has no text to derive a name from, and an empty one would quietly
1937
+ // produce empty css var names, so say so instead.
1938
+ if (isFunction$1(selector) && !name) {
1939
+ throw new Error('portalMixin: a function selector requires a name');
1940
+ }
1941
+
1915
1942
  const eleDisplayName = name || sanitizeSelector(selector);
1916
1943
 
1917
1944
  const BaseClass = createStyleMixin$1({
1918
1945
  mappings,
1946
+ style,
1919
1947
  })(superclass);
1920
1948
 
1921
1949
  return class PortalMixinClass extends BaseClass {
@@ -1948,13 +1976,18 @@ const portalMixin$1 =
1948
1976
 
1949
1977
  // in case we have a selector, we should first wait for the base element shadow root
1950
1978
  // and then look for the internal element
1951
- const baseEleShadowRoot = await withWaitForShadowRoot$1(() => baseEle)(
1979
+ const baseEleShadowRoot = await waitForShadowRoot$1(() => baseEle)(
1952
1980
  that,
1953
1981
  );
1954
- return baseEleShadowRoot.querySelector(selector);
1982
+
1983
+ // a string selector only reaches inside that one shadow root. a portal that sits deeper
1984
+ // takes a function instead, which receives the root and may await its own way down.
1985
+ return isFunction$1(selector)
1986
+ ? selector(baseEleShadowRoot)
1987
+ : baseEleShadowRoot.querySelector(selector);
1955
1988
  };
1956
1989
 
1957
- const getPortalElement = withWaitForShadowRoot$1(getRootElement);
1990
+ const getPortalElement = waitForShadowRoot$1(getRootElement);
1958
1991
 
1959
1992
  super({
1960
1993
  getRootElement: getPortalElement,
@@ -1989,9 +2022,12 @@ const portalMixin$1 =
1989
2022
  // Initialize portal element lookup here (deferred from constructor for React compatibility)
1990
2023
  this.#portalEle = this.#getPortalElement();
1991
2024
  const portalEle = await this.#portalEle;
1992
- forwardAttrs$1(this, portalEle, {
1993
- [include ? 'includeAttrs' : 'excludeAttrs']: attributes,
1994
- });
2025
+ if (forward !== false) {
2026
+ const { attributes = [], include = true } = forward;
2027
+ forwardAttrs$1(this, portalEle, {
2028
+ [include ? 'includeAttrs' : 'excludeAttrs']: attributes,
2029
+ });
2030
+ }
1995
2031
 
1996
2032
  this.#handleHoverAttribute();
1997
2033
  }
@@ -2278,10 +2314,10 @@ const decodeHTML = (html) => {
2278
2314
  return textArea.value;
2279
2315
  };
2280
2316
 
2281
- const componentName$1y = getComponentName$1('enriched-text');
2317
+ const componentName$1z = getComponentName$1('enriched-text');
2282
2318
 
2283
2319
  class EnrichedText extends createBaseClass$1({
2284
- componentName: componentName$1y,
2320
+ componentName: componentName$1z,
2285
2321
  baseSelector: ':host > div',
2286
2322
  }) {
2287
2323
  #origLinkRenderer;
@@ -2637,6 +2673,40 @@ const syncAttrs = (ele1, ele2, options) => {
2637
2673
  observeAttributes(ele2, createSyncAttrsCb(ele2, ele1), options);
2638
2674
  };
2639
2675
 
2676
+ // A custom element has no shadow root on the first tick, so anything reaching into one has to
2677
+ // wait for it. Takes a function rather than the element, because the element itself is often not
2678
+ // there yet either.
2679
+ //
2680
+ // On giving up it resolves the element it was given, not a shadow root. `portalMixin` relies on
2681
+ // that to carry on with something usable, so a caller that cannot use the element must check what
2682
+ // it got back.
2683
+ const waitForShadowRoot = (getRootElementFn) => async (that) => {
2684
+ const ele = await getRootElementFn(that);
2685
+
2686
+ return new Promise((res) => {
2687
+ const MAX_RETRIES = 20;
2688
+ let counter = 0;
2689
+
2690
+ const check = () => {
2691
+ if (counter > MAX_RETRIES) {
2692
+ // eslint-disable-next-line no-console
2693
+ console.error('could not get shadow root for element', ele);
2694
+ res(ele);
2695
+ return;
2696
+ }
2697
+
2698
+ counter++;
2699
+
2700
+ if (!ele?.shadowRoot) {
2701
+ setTimeout(check);
2702
+ } else {
2703
+ res(ele.shadowRoot);
2704
+ }
2705
+ };
2706
+ check();
2707
+ });
2708
+ };
2709
+
2640
2710
  const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name);
2641
2711
 
2642
2712
  const getCssVarName = (...args) => `--${kebabCaseJoin(...args)}`;
@@ -3233,7 +3303,7 @@ const createClassSelectorSpecifier = (className, numOfRepeats) =>
3233
3303
  const STYLE_OVERRIDE_ATTR_PREFIX = 'st';
3234
3304
 
3235
3305
  const createStyleMixin =
3236
- ({ mappings = {}, componentNameOverride = '' }) =>
3306
+ ({ mappings = {}, componentNameOverride = '', style = '' }) =>
3237
3307
  (superclass) => {
3238
3308
  const componentName = componentNameOverride || superclass.componentName;
3239
3309
 
@@ -3355,6 +3425,14 @@ const createStyleMixin =
3355
3425
  }
3356
3426
  }
3357
3427
 
3428
+ // Rules the component needs wherever this mixin writes, which for a portal is a shadow root
3429
+ // it does not own. Prepended after the mapping rules so those still win: the mapping is the
3430
+ // themeable half, this is the structure underneath it.
3431
+ #createStaticStyle() {
3432
+ const css = isFunction(style) ? style() : style;
3433
+ if (css) injectStyle(css, this.#rootElement, { prepend: true });
3434
+ }
3435
+
3358
3436
  #addClassName(className) {
3359
3437
  (this.#rootElement.classList || this.#rootElement.host.classList).add(className);
3360
3438
  }
@@ -3367,6 +3445,7 @@ const createStyleMixin =
3367
3445
  this.#addClassName(componentName);
3368
3446
 
3369
3447
  this.#createMappingStyle();
3448
+ this.#createStaticStyle();
3370
3449
  this.#createComponentTheme();
3371
3450
  this.#createOverridesStyle();
3372
3451
 
@@ -4110,40 +4189,26 @@ const composedProxyInputMixin = (proxyInputMixinConfig) =>
4110
4189
  // because of that, we are adding this separator that is also used as a differentiator
4111
4190
  const DISPLAY_NAME_SEPARATOR = '_';
4112
4191
 
4113
- const withWaitForShadowRoot = (getRootElementFn) => async (that) => {
4114
- const ele = await getRootElementFn(that);
4115
-
4116
- return new Promise((res) => {
4117
- const MAX_RETRIES = 20;
4118
- let counter = 0;
4119
-
4120
- const check = () => {
4121
- if (counter > MAX_RETRIES) {
4122
- // eslint-disable-next-line no-console
4123
- console.error('could not get shadow root for element', ele);
4124
- res(ele);
4125
- return;
4126
- }
4127
-
4128
- counter++;
4129
-
4130
- if (!ele?.shadowRoot) {
4131
- setTimeout(check);
4132
- } else {
4133
- res(ele.shadowRoot);
4134
- }
4135
- };
4136
- check();
4137
- });
4138
- };
4139
-
4140
4192
  const portalMixin =
4141
- ({ name, selector, mappings = {}, forward: { attributes = [], include = true } = {} }) =>
4193
+ ({
4194
+ name,
4195
+ selector,
4196
+ mappings = {},
4197
+ // Static css for the portal's own root, for rules that should not become themeable knobs.
4198
+ style = '',
4199
+ // `false` forwards nothing to the portal element. It needs its own value because an empty
4200
+ // `attributes` list already means "no filter", so it forwards everything rather than nothing.
4201
+ // Forwarding is wrong for a portal whose element is not a copy of the host, where attributes
4202
+ // like `data` or `label` would land somewhere that does not expect them.
4203
+ forward = {},
4204
+ }) =>
4142
4205
  (superclass) => {
4206
+
4143
4207
  const eleDisplayName = name;
4144
4208
 
4145
4209
  const BaseClass = createStyleMixin({
4146
4210
  mappings,
4211
+ style,
4147
4212
  })(superclass);
4148
4213
 
4149
4214
  return class PortalMixinClass extends BaseClass {
@@ -4169,7 +4234,7 @@ const portalMixin =
4169
4234
  }
4170
4235
  };
4171
4236
 
4172
- const getPortalElement = withWaitForShadowRoot(getRootElement);
4237
+ const getPortalElement = waitForShadowRoot(getRootElement);
4173
4238
 
4174
4239
  super({
4175
4240
  getRootElement: getPortalElement,
@@ -4200,9 +4265,12 @@ const portalMixin =
4200
4265
  // Initialize portal element lookup here (deferred from constructor for React compatibility)
4201
4266
  this.#portalEle = this.#getPortalElement();
4202
4267
  const portalEle = await this.#portalEle;
4203
- forwardAttrs(this, portalEle, {
4204
- [include ? 'includeAttrs' : 'excludeAttrs']: attributes,
4205
- });
4268
+ if (forward !== false) {
4269
+ const { attributes = [], include = true } = forward;
4270
+ forwardAttrs(this, portalEle, {
4271
+ [include ? 'includeAttrs' : 'excludeAttrs']: attributes,
4272
+ });
4273
+ }
4206
4274
 
4207
4275
  this.#handleHoverAttribute();
4208
4276
  }
@@ -4582,11 +4650,11 @@ const createBaseInputClass = (...args) =>
4582
4650
  inputEventsDispatchingMixin
4583
4651
  )(createBaseClass(...args));
4584
4652
 
4585
- const componentName$1x = getComponentName('boolean-field-internal');
4653
+ const componentName$1y = getComponentName('boolean-field-internal');
4586
4654
 
4587
4655
  const forwardAttributes$1 = ['disabled', 'invalid', 'readonly'];
4588
4656
 
4589
- const BaseInputClass$h = createBaseInputClass({ componentName: componentName$1x, baseSelector: 'div' });
4657
+ const BaseInputClass$h = createBaseInputClass({ componentName: componentName$1y, baseSelector: 'div' });
4590
4658
 
4591
4659
  class BooleanInputInternal extends BaseInputClass$h {
4592
4660
  static get observedAttributes() {
@@ -4685,14 +4753,14 @@ const booleanFieldMixin = (superclass) =>
4685
4753
 
4686
4754
  const template = document.createElement('template');
4687
4755
  template.innerHTML = `
4688
- <${componentName$1x}
4756
+ <${componentName$1y}
4689
4757
  tabindex="-1"
4690
4758
  slot="input"
4691
- ></${componentName$1x}>
4759
+ ></${componentName$1y}>
4692
4760
  `;
4693
4761
 
4694
4762
  this.baseElement.appendChild(template.content.cloneNode(true));
4695
- this.inputElement = this.shadowRoot.querySelector(componentName$1x);
4763
+ this.inputElement = this.shadowRoot.querySelector(componentName$1y);
4696
4764
  this.checkbox = this.inputElement.querySelector('vaadin-checkbox');
4697
4765
 
4698
4766
  forwardAttrs(this, this.inputElement, {
@@ -4770,10 +4838,10 @@ descope-enriched-text {
4770
4838
 
4771
4839
  `;
4772
4840
 
4773
- const componentName$1w = getComponentName('checkbox');
4841
+ const componentName$1x = getComponentName('checkbox');
4774
4842
 
4775
4843
  const {
4776
- host: host$E,
4844
+ host: host$F,
4777
4845
  component: component$1,
4778
4846
  checkboxElement,
4779
4847
  checkboxSurface,
@@ -4797,10 +4865,10 @@ const {
4797
4865
  const CheckboxClass = compose(
4798
4866
  createStyleMixin({
4799
4867
  mappings: {
4800
- hostWidth: { ...host$E, property: 'width' },
4801
- hostDirection: { ...host$E, property: 'direction' },
4868
+ hostWidth: { ...host$F, property: 'width' },
4869
+ hostDirection: { ...host$F, property: 'direction' },
4802
4870
 
4803
- fontSize: [host$E, checkboxElement, checkboxLabel$1],
4871
+ fontSize: [host$F, checkboxElement, checkboxLabel$1],
4804
4872
  fontFamily: [checkboxLabel$1, helperText$a, errorMessage$d],
4805
4873
 
4806
4874
  labelTextColor: { ...checkboxLabel$1, property: 'color' },
@@ -4906,14 +4974,14 @@ const CheckboxClass = compose(
4906
4974
  }
4907
4975
  `,
4908
4976
  excludeAttrsSync: ['label', 'tabindex', 'style'],
4909
- componentName: componentName$1w,
4977
+ componentName: componentName$1x,
4910
4978
  })
4911
4979
  );
4912
4980
 
4913
- const componentName$1v = getComponentName$1('text');
4981
+ const componentName$1w = getComponentName$1('text');
4914
4982
 
4915
4983
  class RawText extends createBaseClass$1({
4916
- componentName: componentName$1v,
4984
+ componentName: componentName$1w,
4917
4985
  baseSelector: ':host > slot',
4918
4986
  }) {
4919
4987
  constructor() {
@@ -4952,15 +5020,15 @@ class RawText extends createBaseClass$1({
4952
5020
  }
4953
5021
  }
4954
5022
 
4955
- const { host: host$D } = {
5023
+ const { host: host$E } = {
4956
5024
  host: { selector: () => ':host' },
4957
5025
  };
4958
5026
 
4959
5027
  const TextClass = compose$1(
4960
5028
  createStyleMixin$1({
4961
5029
  mappings: {
4962
- hostWidth: { ...host$D, property: 'width' },
4963
- hostDirection: { ...host$D, property: 'direction' },
5030
+ hostWidth: { ...host$E, property: 'width' },
5031
+ hostDirection: { ...host$E, property: 'direction' },
4964
5032
  fontSize: {},
4965
5033
  textColor: [{ property: 'color' }],
4966
5034
  textLineHeight: { property: 'line-height' },
@@ -4981,12 +5049,12 @@ const TextClass = compose$1(
4981
5049
  componentNameValidationMixin$1,
4982
5050
  )(RawText);
4983
5051
 
4984
- const componentName$1u = getComponentName$1('link');
5052
+ const componentName$1v = getComponentName$1('link');
4985
5053
 
4986
5054
  const observedAttrs$9 = ['href', 'readonly'];
4987
5055
 
4988
5056
  class RawLink extends createBaseClass$1({
4989
- componentName: componentName$1u,
5057
+ componentName: componentName$1v,
4990
5058
  baseSelector: ':host a',
4991
5059
  }) {
4992
5060
  static get observedAttributes() {
@@ -5061,12 +5129,12 @@ const selectors$3 = {
5061
5129
  text: { selector: () => TextClass.componentName },
5062
5130
  };
5063
5131
 
5064
- const { anchor, text: text$4, host: host$C, wrapper: wrapper$1, link: link$3 } = selectors$3;
5132
+ const { anchor, text: text$4, host: host$D, wrapper: wrapper$1, link: link$3 } = selectors$3;
5065
5133
 
5066
5134
  const LinkClass = compose$1(
5067
5135
  createStyleMixin$1({
5068
5136
  mappings: {
5069
- hostWidth: { ...host$C, property: 'width' },
5137
+ hostWidth: { ...host$D, property: 'width' },
5070
5138
  hostDirection: { ...text$4, property: 'direction' },
5071
5139
  textAlign: wrapper$1,
5072
5140
  textDecoration: {
@@ -5086,20 +5154,20 @@ const LinkClass = compose$1(
5086
5154
  componentNameValidationMixin$1,
5087
5155
  )(RawLink);
5088
5156
 
5089
- customElements.define(componentName$1v, TextClass);
5157
+ customElements.define(componentName$1w, TextClass);
5090
5158
 
5091
- customElements.define(componentName$1u, LinkClass);
5159
+ customElements.define(componentName$1v, LinkClass);
5092
5160
 
5093
- customElements.define(componentName$1y, EnrichedTextClass);
5161
+ customElements.define(componentName$1z, EnrichedTextClass);
5094
5162
 
5095
- customElements.define(componentName$1x, BooleanInputInternal);
5163
+ customElements.define(componentName$1y, BooleanInputInternal);
5096
5164
 
5097
- customElements.define(componentName$1w, CheckboxClass);
5165
+ customElements.define(componentName$1x, CheckboxClass);
5098
5166
 
5099
- const componentName$1t = getComponentName('switch-toggle');
5167
+ const componentName$1u = getComponentName('switch-toggle');
5100
5168
 
5101
5169
  const {
5102
- host: host$B,
5170
+ host: host$C,
5103
5171
  component,
5104
5172
  checkboxElement: track,
5105
5173
  checkboxSurface: knob,
@@ -5123,8 +5191,8 @@ const {
5123
5191
  const SwitchToggleClass = compose(
5124
5192
  createStyleMixin({
5125
5193
  mappings: {
5126
- hostWidth: { ...host$B, property: 'width' },
5127
- hostDirection: { ...host$B, property: 'direction' },
5194
+ hostWidth: { ...host$C, property: 'width' },
5195
+ hostDirection: { ...host$C, property: 'direction' },
5128
5196
 
5129
5197
  fontSize: [component, checkboxLabel, checkboxLabel],
5130
5198
  fontFamily: [checkboxLabel, helperText$9, errorMessage$c],
@@ -5240,17 +5308,17 @@ const SwitchToggleClass = compose(
5240
5308
  }
5241
5309
  `,
5242
5310
  excludeAttrsSync: ['label', 'tabindex', 'style'],
5243
- componentName: componentName$1t,
5311
+ componentName: componentName$1u,
5244
5312
  })
5245
5313
  );
5246
5314
 
5247
- customElements.define(componentName$1t, SwitchToggleClass);
5315
+ customElements.define(componentName$1u, SwitchToggleClass);
5248
5316
 
5249
- const componentName$1s = getComponentName('loader-linear');
5317
+ const componentName$1t = getComponentName('loader-linear');
5250
5318
 
5251
- class RawLoaderLinear extends createBaseClass({ componentName: componentName$1s, baseSelector: ':host > div' }) {
5319
+ class RawLoaderLinear extends createBaseClass({ componentName: componentName$1t, baseSelector: ':host > div' }) {
5252
5320
  static get componentName() {
5253
- return componentName$1s;
5321
+ return componentName$1t;
5254
5322
  }
5255
5323
 
5256
5324
  constructor() {
@@ -5290,18 +5358,18 @@ const selectors$2 = {
5290
5358
  host: { selector: () => ':host' },
5291
5359
  };
5292
5360
 
5293
- const { after: after$1, host: host$A } = selectors$2;
5361
+ const { after: after$1, host: host$B } = selectors$2;
5294
5362
 
5295
5363
  const LoaderLinearClass = compose(
5296
5364
  createStyleMixin({
5297
5365
  mappings: {
5298
5366
  hostDisplay: {},
5299
- hostWidth: { ...host$A, property: 'width' },
5367
+ hostWidth: { ...host$B, property: 'width' },
5300
5368
  barHeight: [{ property: 'height' }, { ...after$1, property: 'height' }],
5301
5369
  barBorderRadius: [{ property: 'border-radius' }, { ...after$1, property: 'border-radius' }],
5302
5370
  verticalPadding: [
5303
- { ...host$A, property: 'padding-top' },
5304
- { ...host$A, property: 'padding-bottom' },
5371
+ { ...host$B, property: 'padding-top' },
5372
+ { ...host$B, property: 'padding-bottom' },
5305
5373
  ],
5306
5374
  barBackgroundColor: { property: 'background-color' },
5307
5375
  barColor: { ...after$1, property: 'background-color' },
@@ -5315,11 +5383,11 @@ const LoaderLinearClass = compose(
5315
5383
  componentNameValidationMixin
5316
5384
  )(RawLoaderLinear);
5317
5385
 
5318
- customElements.define(componentName$1s, LoaderLinearClass);
5386
+ customElements.define(componentName$1t, LoaderLinearClass);
5319
5387
 
5320
- const componentName$1r = getComponentName('loader-radial');
5388
+ const componentName$1s = getComponentName('loader-radial');
5321
5389
 
5322
- class RawLoaderRadial extends createBaseClass({ componentName: componentName$1r, baseSelector: ':host > div' }) {
5390
+ class RawLoaderRadial extends createBaseClass({ componentName: componentName$1s, baseSelector: ':host > div' }) {
5323
5391
  constructor() {
5324
5392
  super();
5325
5393
 
@@ -5367,11 +5435,11 @@ const LoaderRadialClass = compose(
5367
5435
  componentNameValidationMixin
5368
5436
  )(RawLoaderRadial);
5369
5437
 
5370
- customElements.define(componentName$1r, LoaderRadialClass);
5438
+ customElements.define(componentName$1s, LoaderRadialClass);
5371
5439
 
5372
- const componentName$1q = getComponentName('container');
5440
+ const componentName$1r = getComponentName('container');
5373
5441
 
5374
- class RawContainer extends createBaseClass({ componentName: componentName$1q, baseSelector: 'slot' }) {
5442
+ class RawContainer extends createBaseClass({ componentName: componentName$1r, baseSelector: 'slot' }) {
5375
5443
  constructor() {
5376
5444
  super();
5377
5445
 
@@ -5434,9 +5502,9 @@ const ContainerClass = compose(
5434
5502
  componentNameValidationMixin
5435
5503
  )(RawContainer);
5436
5504
 
5437
- customElements.define(componentName$1q, ContainerClass);
5505
+ customElements.define(componentName$1r, ContainerClass);
5438
5506
 
5439
- const componentName$1p = getComponentName$1('combo-box');
5507
+ const componentName$1q = getComponentName$1('combo-box');
5440
5508
 
5441
5509
  const ComboBoxMixin = (superclass) =>
5442
5510
  class ComboBoxMixinClass extends superclass {
@@ -5823,7 +5891,7 @@ const ComboBoxMixin = (superclass) =>
5823
5891
  };
5824
5892
 
5825
5893
  const {
5826
- host: host$z,
5894
+ host: host$A,
5827
5895
  inputField: inputField$6,
5828
5896
  inputElement: inputElement$3,
5829
5897
  placeholder: placeholder$3,
@@ -5855,10 +5923,10 @@ const {
5855
5923
  const ComboBoxClass = compose$1(
5856
5924
  createStyleMixin$1({
5857
5925
  mappings: {
5858
- hostWidth: { ...host$z, property: 'width' },
5859
- hostDirection: { ...host$z, property: 'direction' },
5926
+ hostWidth: { ...host$A, property: 'width' },
5927
+ hostDirection: { ...host$A, property: 'direction' },
5860
5928
  // we apply font-size also on the host so we can set its width with em
5861
- fontSize: [{}, host$z],
5929
+ fontSize: [{}, host$A],
5862
5930
  fontFamily: [label$a, placeholder$3, inputField$6, helperText$8, errorMessage$b],
5863
5931
  labelFontSize: { ...label$a, property: 'font-size' },
5864
5932
  labelFontWeight: { ...label$a, property: 'font-weight' },
@@ -6133,12 +6201,12 @@ const ComboBoxClass = compose$1(
6133
6201
  'loading',
6134
6202
  'style',
6135
6203
  ],
6136
- componentName: componentName$1p,
6204
+ componentName: componentName$1q,
6137
6205
  includeForwardProps: ['items', 'renderer', 'selectedItem'],
6138
6206
  }),
6139
6207
  );
6140
6208
 
6141
- customElements.define(componentName$1p, ComboBoxClass);
6209
+ customElements.define(componentName$1q, ComboBoxClass);
6142
6210
 
6143
6211
  const getFileExtension = (path) => {
6144
6212
  const match = path.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);
@@ -6199,12 +6267,12 @@ const createImage = async (src, altText) => {
6199
6267
  }
6200
6268
  };
6201
6269
 
6202
- const componentName$1o = getComponentName$1('image');
6270
+ const componentName$1p = getComponentName$1('image');
6203
6271
 
6204
6272
  const srcAttrs = ['src', 'src-dark'];
6205
6273
 
6206
6274
  class RawImage extends createBaseClass$1({
6207
- componentName: componentName$1o,
6275
+ componentName: componentName$1p,
6208
6276
  baseSelector: 'slot',
6209
6277
  }) {
6210
6278
  static get observedAttributes() {
@@ -6332,7 +6400,7 @@ const ImageClass = compose$1(
6332
6400
  componentNameValidationMixin$1,
6333
6401
  )(RawImage);
6334
6402
 
6335
- const componentName$1n = getComponentName$1('icon');
6403
+ const componentName$1o = getComponentName$1('icon');
6336
6404
 
6337
6405
  const IconClass = compose$1(
6338
6406
  createStyleMixin$1({
@@ -6357,7 +6425,7 @@ const IconClass = compose$1(
6357
6425
  }
6358
6426
  `,
6359
6427
  excludeAttrsSync: ['tabindex', 'class', 'style', 'st-height', 'st-width'],
6360
- componentName: componentName$1n,
6428
+ componentName: componentName$1o,
6361
6429
  }),
6362
6430
  );
6363
6431
 
@@ -6372,7 +6440,7 @@ const clickableMixin = (superclass) =>
6372
6440
  }
6373
6441
  };
6374
6442
 
6375
- const componentName$1m = getComponentName$1('button');
6443
+ const componentName$1n = getComponentName$1('button');
6376
6444
 
6377
6445
  const resetStyles = `
6378
6446
  :host {
@@ -6410,7 +6478,7 @@ const iconStyles = `
6410
6478
 
6411
6479
  const editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;
6412
6480
 
6413
- const { host: host$y, label: label$9, slottedIcon } = {
6481
+ const { host: host$z, label: label$9, slottedIcon } = {
6414
6482
  host: { selector: () => ':host' },
6415
6483
  label: { selector: '::part(label)' },
6416
6484
  slottedIcon: { selector: () => '::slotted(descope-icon)' },
@@ -6423,9 +6491,9 @@ const ButtonClass = compose$1(
6423
6491
  createStyleMixin$1({
6424
6492
  mappings: {
6425
6493
  hostWidth: { property: 'width' },
6426
- hostMaxWidth: { ...host$y, property: 'max-width' },
6494
+ hostMaxWidth: { ...host$z, property: 'max-width' },
6427
6495
  hostHeight: { property: 'height' },
6428
- hostDirection: { ...host$y, property: 'direction' },
6496
+ hostDirection: { ...host$z, property: 'direction' },
6429
6497
  fontSize: {},
6430
6498
  fontFamily: {},
6431
6499
  fontWeight: {},
@@ -6494,7 +6562,7 @@ const ButtonClass = compose$1(
6494
6562
  }
6495
6563
  `,
6496
6564
  excludeAttrsSync: ['tabindex', 'class', 'style'],
6497
- componentName: componentName$1m,
6565
+ componentName: componentName$1n,
6498
6566
  }),
6499
6567
  );
6500
6568
 
@@ -6531,7 +6599,7 @@ loadingIndicatorStyles = `
6531
6599
  }
6532
6600
  `;
6533
6601
 
6534
- customElements.define(componentName$1m, ButtonClass);
6602
+ customElements.define(componentName$1n, ButtonClass);
6535
6603
 
6536
6604
  const SUPPORTED_FORMATS$1 = ['MM/DD/YYYY', 'DD/MM/YYYY', 'YYYY/MM/DD'];
6537
6605
 
@@ -6887,7 +6955,7 @@ const nextMonth = (epoch) => {
6887
6955
  return date;
6888
6956
  };
6889
6957
 
6890
- const componentName$1l = getComponentName('calendar');
6958
+ const componentName$1m = getComponentName('calendar');
6891
6959
 
6892
6960
  const observedAttrs$8 = [
6893
6961
  'initial-value',
@@ -6904,7 +6972,7 @@ const observedAttrs$8 = [
6904
6972
 
6905
6973
  const calendarUiAttrs = ['calendar-label-submit', 'calendar-label-cancel'];
6906
6974
 
6907
- const BaseInputClass$g = createBaseInputClass({ componentName: componentName$1l, baseSelector: 'div' });
6975
+ const BaseInputClass$g = createBaseInputClass({ componentName: componentName$1m, baseSelector: 'div' });
6908
6976
 
6909
6977
  class RawCalendar extends BaseInputClass$g {
6910
6978
  static get observedAttributes() {
@@ -7525,10 +7593,10 @@ const CalendarClass = compose(
7525
7593
  componentNameValidationMixin
7526
7594
  )(RawCalendar);
7527
7595
 
7528
- customElements.define(componentName$1l, CalendarClass);
7596
+ customElements.define(componentName$1m, CalendarClass);
7529
7597
 
7530
7598
  const {
7531
- host: host$x,
7599
+ host: host$y,
7532
7600
  label: label$8,
7533
7601
  placeholder: placeholder$2,
7534
7602
  requiredIndicator: requiredIndicator$8,
@@ -7572,7 +7640,7 @@ const {
7572
7640
 
7573
7641
  var textFieldMappings = {
7574
7642
  // we apply font-size also on the host so we can set its width with em
7575
- fontSize: [{}, host$x],
7643
+ fontSize: [{}, host$y],
7576
7644
  fontFamily: [label$8, inputField$5, helperText$7, errorMessage$a],
7577
7645
 
7578
7646
  labelFontSize: { ...label$8, property: 'font-size' },
@@ -7599,9 +7667,9 @@ var textFieldMappings = {
7599
7667
  { ...requiredIndicator$8, property: '-webkit-text-fill-color' },
7600
7668
  ],
7601
7669
 
7602
- hostWidth: { ...host$x, property: 'width' },
7603
- hostMinWidth: { ...host$x, property: 'min-width' },
7604
- hostDirection: { ...host$x, property: 'direction' },
7670
+ hostWidth: { ...host$y, property: 'width' },
7671
+ hostMinWidth: { ...host$y, property: 'min-width' },
7672
+ hostDirection: { ...host$y, property: 'direction' },
7605
7673
  inputDirection: { ...input$2, property: 'direction' },
7606
7674
 
7607
7675
  inputBackgroundColor: [
@@ -7710,11 +7778,11 @@ var textFieldMappings = {
7710
7778
  ],
7711
7779
  };
7712
7780
 
7713
- const componentName$1k = getComponentName$1('text-field');
7781
+ const componentName$1l = getComponentName$1('text-field');
7714
7782
 
7715
7783
  const observedAttrs$7 = ['type', 'label-type', 'copy-to-clipboard'];
7716
7784
 
7717
- const customMixin$f = (superclass) =>
7785
+ const customMixin$g = (superclass) =>
7718
7786
  class TextFieldClass extends superclass {
7719
7787
  static get observedAttributes() {
7720
7788
  return observedAttrs$7.concat(superclass.observedAttributes || []);
@@ -7805,7 +7873,7 @@ const TextFieldClass = compose$1(
7805
7873
  useProxyTargets: true,
7806
7874
  }),
7807
7875
  componentNameValidationMixin$1,
7808
- customMixin$f,
7876
+ customMixin$g,
7809
7877
  )(
7810
7878
  createProxy$1({
7811
7879
  slots: ['prefix', 'suffix'],
@@ -7839,11 +7907,11 @@ const TextFieldClass = compose$1(
7839
7907
  }
7840
7908
  `,
7841
7909
  excludeAttrsSync: ['tabindex', 'style', 'placeholder'],
7842
- componentName: componentName$1k,
7910
+ componentName: componentName$1l,
7843
7911
  }),
7844
7912
  );
7845
7913
 
7846
- customElements.define(componentName$1k, TextFieldClass);
7914
+ customElements.define(componentName$1l, TextFieldClass);
7847
7915
 
7848
7916
  // DateCounterClass allows us to add several counters to the input, and use them seperately.
7849
7917
  // For examele, we have a DayCounter, MonthCounter and YearCounter, which can each separately navigate
@@ -7963,12 +8031,12 @@ class DateCounter {
7963
8031
  }
7964
8032
  }
7965
8033
 
7966
- const componentName$1j = getComponentName('date-field');
8034
+ const componentName$1k = getComponentName('date-field');
7967
8035
 
7968
8036
  // we set baseSelector to `vaadin-popover` as a temporary hack, so our portalMixin will
7969
8037
  // be able to process this component's overlay. The whole process needs refactoring as soon as possible.
7970
8038
  const BASE_SELECTOR$2 = 'vaadin-popover';
7971
- const BaseInputClass$f = createBaseInputClass({ componentName: componentName$1j, baseSelector: BASE_SELECTOR$2 });
8039
+ const BaseInputClass$f = createBaseInputClass({ componentName: componentName$1k, baseSelector: BASE_SELECTOR$2 });
7972
8040
 
7973
8041
  const dateFieldAttrs = [
7974
8042
  'format',
@@ -8803,7 +8871,7 @@ class RawDateFieldClass extends BaseInputClass$f {
8803
8871
  }
8804
8872
 
8805
8873
  const textVars$6 = TextFieldClass.cssVarList;
8806
- const { host: host$w, input: input$1, inputEleRTL: inputEleRTL$1, toggleButton: toggleButton$1, overlay: overlay$3, backdrop: backdrop$2} = {
8874
+ const { host: host$x, input: input$1, inputEleRTL: inputEleRTL$1, toggleButton: toggleButton$1, overlay: overlay$3, backdrop: backdrop$2} = {
8807
8875
  host: { selector: () => ':host' },
8808
8876
  input: { selector: () => 'descope-text-field' },
8809
8877
  inputEleRTL: { selector: () => ':host([st-host-direction="rtl"]) descope-text-field' },
@@ -8817,8 +8885,8 @@ const DateFieldClass = compose(
8817
8885
  createStyleMixin({
8818
8886
  mappings: {
8819
8887
  iconMargin: { ...toggleButton$1, property: 'margin-inline-end' },
8820
- hostWidth: { ...host$w, property: 'width' },
8821
- hostDirection: { ...host$w, property: 'direction' },
8888
+ hostWidth: { ...host$x, property: 'width' },
8889
+ hostDirection: { ...host$x, property: 'direction' },
8822
8890
  textAlign: { ...input$1, property: 'text-align' },
8823
8891
  rtlInputDirection: { ...inputEleRTL$1, property: textVars$6.inputDirection },
8824
8892
  rtlInputAlignment: { ...inputEleRTL$1, property: textVars$6.inputTextAlign },
@@ -8906,10 +8974,10 @@ const DateFieldClass = compose(
8906
8974
  componentNameValidationMixin
8907
8975
  )(RawDateFieldClass);
8908
8976
 
8909
- customElements.define(componentName$1j, DateFieldClass);
8977
+ customElements.define(componentName$1k, DateFieldClass);
8910
8978
 
8911
- const componentName$1i = getComponentName('divider');
8912
- class RawDivider extends createBaseClass({ componentName: componentName$1i, baseSelector: ':host > div' }) {
8979
+ const componentName$1j = getComponentName('divider');
8980
+ class RawDivider extends createBaseClass({ componentName: componentName$1j, baseSelector: ':host > div' }) {
8913
8981
  constructor() {
8914
8982
  super();
8915
8983
 
@@ -8959,7 +9027,7 @@ class RawDivider extends createBaseClass({ componentName: componentName$1i, base
8959
9027
  }
8960
9028
 
8961
9029
  const textVars$5 = TextClass.cssVarList;
8962
- const { host: host$v, before, after, text: text$3 } = {
9030
+ const { host: host$w, before, after, text: text$3 } = {
8963
9031
  host: { selector: () => ':host' },
8964
9032
  before: { selector: '::before' },
8965
9033
  after: { selector: '::after' },
@@ -8969,8 +9037,8 @@ const { host: host$v, before, after, text: text$3 } = {
8969
9037
  const DividerClass = compose(
8970
9038
  createStyleMixin({
8971
9039
  mappings: {
8972
- hostWidth: { ...host$v, property: 'width' },
8973
- hostPadding: { ...host$v, property: 'padding' },
9040
+ hostWidth: { ...host$w, property: 'width' },
9041
+ hostPadding: { ...host$w, property: 'padding' },
8974
9042
  hostDirection: { ...text$3, property: 'direction' },
8975
9043
 
8976
9044
  minHeight: {},
@@ -9012,7 +9080,7 @@ const DividerClass = compose(
9012
9080
  componentNameValidationMixin
9013
9081
  )(RawDivider);
9014
9082
 
9015
- customElements.define(componentName$1i, DividerClass);
9083
+ customElements.define(componentName$1j, DividerClass);
9016
9084
 
9017
9085
  // Kept in its own module (with no imports) so it can be unit tested without
9018
9086
  // pulling in the whole component / vaadin dependency chain.
@@ -9022,12 +9090,12 @@ const asciiPattern = "^[\\w\\.\\%\\+\\-']+@[\\w\\.\\-]+\\.[A-Za-z]{2,}$";
9022
9090
  const unicodePattern =
9023
9091
  "^[\\p{L}\\p{M}\\p{N}._%+'\\-]+@[\\p{L}\\p{M}\\p{N}.\\-]+\\.[\\p{L}\\p{M}][\\p{L}\\p{M}\\p{N}\\-]+$";
9024
9092
 
9025
- const componentName$1h = getComponentName('email-field');
9093
+ const componentName$1i = getComponentName('email-field');
9026
9094
 
9027
9095
  const defaultAutocomplete = 'username';
9028
9096
  const defaultInputMode = 'email';
9029
9097
 
9030
- const customMixin$e = (superclass) =>
9098
+ const customMixin$f = (superclass) =>
9031
9099
  class EmailFieldMixinClass extends superclass {
9032
9100
  // On by default - `accept-unicode="false"` restores the pre-unicode field:
9033
9101
  // native `type="email"` validation and the ASCII pattern.
@@ -9103,7 +9171,7 @@ const EmailFieldClass = compose(
9103
9171
  }),
9104
9172
  composedProxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),
9105
9173
  componentNameValidationMixin,
9106
- customMixin$e
9174
+ customMixin$f
9107
9175
  )(
9108
9176
  createProxy({
9109
9177
  slots: ['', 'suffix'],
@@ -9138,11 +9206,11 @@ const EmailFieldClass = compose(
9138
9206
  }
9139
9207
  `,
9140
9208
  excludeAttrsSync: ['tabindex', 'style'],
9141
- componentName: componentName$1h,
9209
+ componentName: componentName$1i,
9142
9210
  })
9143
9211
  );
9144
9212
 
9145
- customElements.define(componentName$1h, EmailFieldClass);
9213
+ customElements.define(componentName$1i, EmailFieldClass);
9146
9214
 
9147
9215
  const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) => {
9148
9216
  let style;
@@ -9198,37 +9266,37 @@ const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) =>
9198
9266
  return CssVarImageClass;
9199
9267
  };
9200
9268
 
9201
- const componentName$1g = getComponentName('logo');
9269
+ const componentName$1h = getComponentName('logo');
9202
9270
 
9203
9271
  const LogoClass = createCssVarImageClass({
9204
- componentName: componentName$1g,
9272
+ componentName: componentName$1h,
9205
9273
  varName: 'url',
9206
9274
  fallbackVarName: 'fallbackUrl',
9207
9275
  });
9208
9276
 
9209
- customElements.define(componentName$1g, LogoClass);
9277
+ customElements.define(componentName$1h, LogoClass);
9210
9278
 
9211
- const componentName$1f = getComponentName('totp-image');
9279
+ const componentName$1g = getComponentName('totp-image');
9212
9280
 
9213
9281
  const TotpImageClass = createCssVarImageClass({
9214
- componentName: componentName$1f,
9282
+ componentName: componentName$1g,
9215
9283
  varName: 'url',
9216
9284
  fallbackVarName: 'fallbackUrl',
9217
9285
  });
9218
9286
 
9219
- customElements.define(componentName$1f, TotpImageClass);
9287
+ customElements.define(componentName$1g, TotpImageClass);
9220
9288
 
9221
- const componentName$1e = getComponentName('notp-image');
9289
+ const componentName$1f = getComponentName('notp-image');
9222
9290
 
9223
9291
  const NotpImageClass = createCssVarImageClass({
9224
- componentName: componentName$1e,
9292
+ componentName: componentName$1f,
9225
9293
  varName: 'url',
9226
9294
  fallbackVarName: 'fallbackUrl',
9227
9295
  });
9228
9296
 
9229
- customElements.define(componentName$1e, NotpImageClass);
9297
+ customElements.define(componentName$1f, NotpImageClass);
9230
9298
 
9231
- const componentName$1d = getComponentName('number-field');
9299
+ const componentName$1e = getComponentName('number-field');
9232
9300
 
9233
9301
  const NumberFieldClass = compose(
9234
9302
  createStyleMixin({
@@ -9262,11 +9330,11 @@ const NumberFieldClass = compose(
9262
9330
  }
9263
9331
  `,
9264
9332
  excludeAttrsSync: ['tabindex', 'style'],
9265
- componentName: componentName$1d,
9333
+ componentName: componentName$1e,
9266
9334
  })
9267
9335
  );
9268
9336
 
9269
- customElements.define(componentName$1d, NumberFieldClass);
9337
+ customElements.define(componentName$1e, NumberFieldClass);
9270
9338
 
9271
9339
  const INPUT_MASK_TEXT_PROP = '--descope-input-mask-content';
9272
9340
  const INPUT_MASK_DISPLAY_PROP = '--descope-input-mask-display';
@@ -9289,7 +9357,7 @@ const toggleMaskVisibility = (input, value) => {
9289
9357
  }
9290
9358
  };
9291
9359
 
9292
- const componentName$1c = getComponentName('passcode-internal');
9360
+ const componentName$1d = getComponentName('passcode-internal');
9293
9361
 
9294
9362
  const observedAttributes$6 = ['digits', 'loading'];
9295
9363
 
@@ -9302,7 +9370,7 @@ const forwardAttributes = [
9302
9370
  'aria-labelledby',
9303
9371
  ];
9304
9372
 
9305
- const BaseInputClass$e = createBaseInputClass({ componentName: componentName$1c, baseSelector: 'div' });
9373
+ const BaseInputClass$e = createBaseInputClass({ componentName: componentName$1d, baseSelector: 'div' });
9306
9374
 
9307
9375
  class PasscodeInternal extends BaseInputClass$e {
9308
9376
  static get observedAttributes() {
@@ -9543,11 +9611,11 @@ class PasscodeInternal extends BaseInputClass$e {
9543
9611
  }
9544
9612
  }
9545
9613
 
9546
- const componentName$1b = getComponentName('passcode');
9614
+ const componentName$1c = getComponentName('passcode');
9547
9615
 
9548
9616
  const observedAttributes$5 = ['digits'];
9549
9617
 
9550
- const customMixin$d = (superclass) =>
9618
+ const customMixin$e = (superclass) =>
9551
9619
  class PasscodeMixinClass extends superclass {
9552
9620
  static get observedAttributes() {
9553
9621
  return observedAttributes$5.concat(superclass.observedAttributes || []);
@@ -9588,18 +9656,18 @@ const customMixin$d = (superclass) =>
9588
9656
  const template = document.createElement('template');
9589
9657
 
9590
9658
  template.innerHTML = `
9591
- <${componentName$1c}
9659
+ <${componentName$1d}
9592
9660
  bordered="true"
9593
9661
  name="code"
9594
9662
  tabindex="-1"
9595
9663
  slot="input"
9596
9664
  role="textbox"
9597
- ><slot></slot></${componentName$1c}>
9665
+ ><slot></slot></${componentName$1d}>
9598
9666
  `;
9599
9667
 
9600
9668
  this.baseElement.appendChild(template.content.cloneNode(true));
9601
9669
 
9602
- this.inputElement = this.shadowRoot.querySelector(componentName$1c);
9670
+ this.inputElement = this.shadowRoot.querySelector(componentName$1d);
9603
9671
 
9604
9672
  forwardAttrs(this, this.inputElement, {
9605
9673
  includeAttrs: ['digits', 'size', 'loading', 'disabled'],
@@ -9616,7 +9684,7 @@ const customMixin$d = (superclass) =>
9616
9684
  };
9617
9685
 
9618
9686
  const {
9619
- host: host$u,
9687
+ host: host$v,
9620
9688
  digitField,
9621
9689
  label: label$7,
9622
9690
  requiredIndicator: requiredIndicator$7,
@@ -9639,10 +9707,10 @@ const loaderVars = LoaderRadialClass.cssVarList;
9639
9707
  const PasscodeClass = compose(
9640
9708
  createStyleMixin({
9641
9709
  mappings: {
9642
- fontSize: [{ ...digitField, property: textVars$4.fontSize }, host$u],
9710
+ fontSize: [{ ...digitField, property: textVars$4.fontSize }, host$v],
9643
9711
  hostWidth: { property: 'width' },
9644
- hostDirection: { ...host$u, property: 'direction' },
9645
- fontFamily: [host$u, { ...label$7 }],
9712
+ hostDirection: { ...host$v, property: 'direction' },
9713
+ fontFamily: [host$v, { ...label$7 }],
9646
9714
  labelFontWeight: { ...label$7, property: 'font-weight' },
9647
9715
  errorMessageFontWeight: { ...errorMessage$9, property: 'font-weight' },
9648
9716
  digitValueFontWeight: {
@@ -9687,7 +9755,7 @@ const PasscodeClass = compose(
9687
9755
  inputOverrideValidConstraintsMixin,
9688
9756
  composedProxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),
9689
9757
  componentNameValidationMixin,
9690
- customMixin$d
9758
+ customMixin$e
9691
9759
  )(
9692
9760
  createProxy({
9693
9761
  slots: [],
@@ -9768,13 +9836,13 @@ const PasscodeClass = compose(
9768
9836
  ${resetInputCursor('vaadin-text-field')}
9769
9837
  `,
9770
9838
  excludeAttrsSync: ['tabindex', 'style'],
9771
- componentName: componentName$1b,
9839
+ componentName: componentName$1c,
9772
9840
  })
9773
9841
  );
9774
9842
 
9775
- customElements.define(componentName$1c, PasscodeInternal);
9843
+ customElements.define(componentName$1d, PasscodeInternal);
9776
9844
 
9777
- customElements.define(componentName$1b, PasscodeClass);
9845
+ customElements.define(componentName$1c, PasscodeClass);
9778
9846
 
9779
9847
  const passwordDraggableMixin = (superclass) =>
9780
9848
  class PasswordDraggableMixinClass extends superclass {
@@ -9815,9 +9883,9 @@ const passwordDraggableMixin = (superclass) =>
9815
9883
  }
9816
9884
  };
9817
9885
 
9818
- const componentName$1a = getComponentName('password');
9886
+ const componentName$1b = getComponentName('password');
9819
9887
 
9820
- const customMixin$c = (superclass) =>
9888
+ const customMixin$d = (superclass) =>
9821
9889
  class PasswordFieldMixinClass extends superclass {
9822
9890
  static get observedAttributes() {
9823
9891
  return ['manual-visibility-toggle'];
@@ -9935,7 +10003,7 @@ const customMixin$c = (superclass) =>
9935
10003
  };
9936
10004
 
9937
10005
  const {
9938
- host: host$t,
10006
+ host: host$u,
9939
10007
  inputField: inputField$4,
9940
10008
  inputElement: inputElement$2,
9941
10009
  inputElementPlaceholder,
@@ -9961,10 +10029,10 @@ const {
9961
10029
  const PasswordClass = compose(
9962
10030
  createStyleMixin({
9963
10031
  mappings: {
9964
- hostWidth: { ...host$t, property: 'width' },
9965
- hostMinWidth: { ...host$t, property: 'min-width' },
9966
- hostDirection: { ...host$t, property: 'direction' },
9967
- fontSize: [{}, host$t],
10032
+ hostWidth: { ...host$u, property: 'width' },
10033
+ hostMinWidth: { ...host$u, property: 'min-width' },
10034
+ hostDirection: { ...host$u, property: 'direction' },
10035
+ fontSize: [{}, host$u],
9968
10036
  fontFamily: [label$6, inputField$4, errorMessage$8, helperText$6],
9969
10037
  inputHeight: { ...inputField$4, property: 'height' },
9970
10038
  inputHorizontalPadding: [
@@ -10053,7 +10121,7 @@ const PasswordClass = compose(
10053
10121
  composedProxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),
10054
10122
  componentNameValidationMixin,
10055
10123
  passwordDraggableMixin,
10056
- customMixin$c
10124
+ customMixin$d
10057
10125
  )(
10058
10126
  createProxy({
10059
10127
  slots: ['', 'suffix'],
@@ -10120,16 +10188,16 @@ const PasswordClass = compose(
10120
10188
  }
10121
10189
  `,
10122
10190
  excludeAttrsSync: ['tabindex', 'style'],
10123
- componentName: componentName$1a,
10191
+ componentName: componentName$1b,
10124
10192
  })
10125
10193
  );
10126
10194
 
10127
- customElements.define(componentName$1a, PasswordClass);
10195
+ customElements.define(componentName$1b, PasswordClass);
10128
10196
 
10129
- const componentName$19 = getComponentName('text-area');
10197
+ const componentName$1a = getComponentName('text-area');
10130
10198
 
10131
10199
  const {
10132
- host: host$s,
10200
+ host: host$t,
10133
10201
  label: label$5,
10134
10202
  placeholder: placeholder$1,
10135
10203
  inputField: inputField$3,
@@ -10151,10 +10219,10 @@ const {
10151
10219
  const TextAreaClass = compose(
10152
10220
  createStyleMixin({
10153
10221
  mappings: {
10154
- hostWidth: { ...host$s, property: 'width' },
10155
- hostMinWidth: { ...host$s, property: 'min-width' },
10156
- hostDirection: { ...host$s, property: 'direction' },
10157
- fontSize: [host$s, textArea$2],
10222
+ hostWidth: { ...host$t, property: 'width' },
10223
+ hostMinWidth: { ...host$t, property: 'min-width' },
10224
+ hostDirection: { ...host$t, property: 'direction' },
10225
+ fontSize: [host$t, textArea$2],
10158
10226
  fontFamily: [label$5, inputField$3, helperText$5, errorMessage$7],
10159
10227
  labelFontSize: { ...label$5, property: 'font-size' },
10160
10228
  labelFontWeight: { ...label$5, property: 'font-weight' },
@@ -10215,11 +10283,11 @@ const TextAreaClass = compose(
10215
10283
  ${resetInputCursor('vaadin-text-area')}
10216
10284
  `,
10217
10285
  excludeAttrsSync: ['tabindex', 'style'],
10218
- componentName: componentName$19,
10286
+ componentName: componentName$1a,
10219
10287
  })
10220
10288
  );
10221
10289
 
10222
- customElements.define(componentName$19, TextAreaClass);
10290
+ customElements.define(componentName$1a, TextAreaClass);
10223
10291
 
10224
10292
  var CountryCodes = [
10225
10293
  // United States should be the first option
@@ -11456,7 +11524,7 @@ const comboBoxItem = ({ code, dialCode, name: country }) => `
11456
11524
  </div>
11457
11525
  `;
11458
11526
 
11459
- const componentName$18 = getComponentName('phone-field-internal');
11527
+ const componentName$19 = getComponentName('phone-field-internal');
11460
11528
 
11461
11529
  const commonAttrs$2 = ['disabled', 'size', 'bordered', 'readonly'];
11462
11530
  const countryAttrs = ['country-input-placeholder', 'default-code', 'restrict-countries'];
@@ -11477,7 +11545,7 @@ const mapAttrs$1 = {
11477
11545
 
11478
11546
  const inputRelatedAttrs$1 = [].concat(commonAttrs$2, countryAttrs, phoneAttrs, labelTypeAttrs$1);
11479
11547
 
11480
- const BaseInputClass$d = createBaseInputClass({ componentName: componentName$18, baseSelector: 'div' });
11548
+ const BaseInputClass$d = createBaseInputClass({ componentName: componentName$19, baseSelector: 'div' });
11481
11549
 
11482
11550
  let PhoneFieldInternal$1 = class PhoneFieldInternal extends BaseInputClass$d {
11483
11551
  static get observedAttributes() {
@@ -11857,14 +11925,14 @@ let PhoneFieldInternal$1 = class PhoneFieldInternal extends BaseInputClass$d {
11857
11925
  }
11858
11926
  };
11859
11927
 
11860
- customElements.define(componentName$18, PhoneFieldInternal$1);
11928
+ customElements.define(componentName$19, PhoneFieldInternal$1);
11861
11929
 
11862
11930
  const textVars$3 = TextFieldClass.cssVarList;
11863
11931
  const comboVars = ComboBoxClass.cssVarList;
11864
11932
 
11865
- const componentName$17 = getComponentName('phone-field');
11933
+ const componentName$18 = getComponentName('phone-field');
11866
11934
 
11867
- const customMixin$b = (superclass) =>
11935
+ const customMixin$c = (superclass) =>
11868
11936
  class PhoneFieldMixinClass extends superclass {
11869
11937
  static get CountryCodes() {
11870
11938
  return CountryCodes;
@@ -11876,10 +11944,10 @@ const customMixin$b = (superclass) =>
11876
11944
  const template = document.createElement('template');
11877
11945
 
11878
11946
  template.innerHTML = `
11879
- <${componentName$18}
11947
+ <${componentName$19}
11880
11948
  tabindex="-1"
11881
11949
  slot="input"
11882
- ></${componentName$18}>
11950
+ ></${componentName$19}>
11883
11951
  `;
11884
11952
 
11885
11953
  this.baseElement.appendChild(template.content.cloneNode(true));
@@ -11890,7 +11958,7 @@ const customMixin$b = (superclass) =>
11890
11958
  // disable Vaadin's write-back.
11891
11959
  this.baseElement._forwardInputValue = () => {};
11892
11960
 
11893
- this.inputElement = this.shadowRoot.querySelector(componentName$18);
11961
+ this.inputElement = this.shadowRoot.querySelector(componentName$19);
11894
11962
 
11895
11963
  forwardAttrs(this.shadowRoot.host, this.inputElement, {
11896
11964
  includeAttrs: [
@@ -11935,7 +12003,7 @@ const customMixin$b = (superclass) =>
11935
12003
  };
11936
12004
 
11937
12005
  const {
11938
- host: host$r,
12006
+ host: host$s,
11939
12007
  label: label$4,
11940
12008
  requiredIndicator: requiredIndicator$4,
11941
12009
  inputField: inputField$2,
@@ -11962,7 +12030,7 @@ const PhoneFieldClass = compose(
11962
12030
  createStyleMixin({
11963
12031
  mappings: {
11964
12032
  fontSize: [
11965
- host$r,
12033
+ host$s,
11966
12034
  inputField$2,
11967
12035
  {
11968
12036
  selector: TextFieldClass.componentName,
@@ -11983,11 +12051,11 @@ const PhoneFieldClass = compose(
11983
12051
  },
11984
12052
  ],
11985
12053
  hostWidth: [
11986
- { ...host$r, property: 'width' },
12054
+ { ...host$s, property: 'width' },
11987
12055
  { ...phoneInput$1, property: 'width' },
11988
12056
  { ...countryCodeInput, property: '--vaadin-combo-box-overlay-width' },
11989
12057
  ],
11990
- hostDirection: { ...host$r, property: 'direction' },
12058
+ hostDirection: { ...host$s, property: 'direction' },
11991
12059
 
11992
12060
  inputBorderStyle: [
11993
12061
  { ...internalAfter, property: 'border-style' },
@@ -12072,7 +12140,7 @@ const PhoneFieldClass = compose(
12072
12140
  draggableMixin,
12073
12141
  inputOverrideValidConstraintsMixin,
12074
12142
  composedProxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),
12075
- customMixin$b
12143
+ customMixin$c
12076
12144
  )(
12077
12145
  createProxy({
12078
12146
  slots: [],
@@ -12173,11 +12241,11 @@ const PhoneFieldClass = compose(
12173
12241
  ${resetInputLabelPosition('vaadin-text-field')}
12174
12242
  `,
12175
12243
  excludeAttrsSync: ['tabindex', 'style'],
12176
- componentName: componentName$17,
12244
+ componentName: componentName$18,
12177
12245
  })
12178
12246
  );
12179
12247
 
12180
- customElements.define(componentName$17, PhoneFieldClass);
12248
+ customElements.define(componentName$18, PhoneFieldClass);
12181
12249
 
12182
12250
  const getCountryByCodeId = (countryCode) =>
12183
12251
  CountryCodes.find((c) => c.code === countryCode)?.dialCode;
@@ -12188,7 +12256,7 @@ const matchingParenthesis = (val) => {
12188
12256
  return openParenMatches?.length === closeParenMatches?.length;
12189
12257
  };
12190
12258
 
12191
- const componentName$16 = getComponentName('phone-field-internal-input-box');
12259
+ const componentName$17 = getComponentName('phone-field-internal-input-box');
12192
12260
 
12193
12261
  const observedAttributes$4 = [
12194
12262
  'disabled',
@@ -12206,7 +12274,7 @@ const mapAttrs = {
12206
12274
  'phone-input-type': 'type',
12207
12275
  };
12208
12276
 
12209
- const BaseInputClass$c = createBaseInputClass({ componentName: componentName$16, baseSelector: 'div' });
12277
+ const BaseInputClass$c = createBaseInputClass({ componentName: componentName$17, baseSelector: 'div' });
12210
12278
 
12211
12279
  class PhoneFieldInternal extends BaseInputClass$c {
12212
12280
  static get observedAttributes() {
@@ -12459,13 +12527,13 @@ class PhoneFieldInternal extends BaseInputClass$c {
12459
12527
  }
12460
12528
  }
12461
12529
 
12462
- customElements.define(componentName$16, PhoneFieldInternal);
12530
+ customElements.define(componentName$17, PhoneFieldInternal);
12463
12531
 
12464
12532
  const textVars$2 = TextFieldClass.cssVarList;
12465
12533
 
12466
- const componentName$15 = getComponentName('phone-input-box-field');
12534
+ const componentName$16 = getComponentName('phone-input-box-field');
12467
12535
 
12468
- const customMixin$a = (superclass) =>
12536
+ const customMixin$b = (superclass) =>
12469
12537
  class PhoneFieldInputBoxMixinClass extends superclass {
12470
12538
  static get CountryCodes() {
12471
12539
  return CountryCodes;
@@ -12477,15 +12545,15 @@ const customMixin$a = (superclass) =>
12477
12545
  const template = document.createElement('template');
12478
12546
 
12479
12547
  template.innerHTML = `
12480
- <${componentName$16}
12548
+ <${componentName$17}
12481
12549
  tabindex="-1"
12482
12550
  slot="input"
12483
- ></${componentName$16}>
12551
+ ></${componentName$17}>
12484
12552
  `;
12485
12553
 
12486
12554
  this.baseElement.appendChild(template.content.cloneNode(true));
12487
12555
 
12488
- this.inputElement = this.shadowRoot.querySelector(componentName$16);
12556
+ this.inputElement = this.shadowRoot.querySelector(componentName$17);
12489
12557
 
12490
12558
  syncAttrs$1(this, this.inputElement, { includeAttrs: ['has-value'] });
12491
12559
 
@@ -12515,7 +12583,7 @@ const customMixin$a = (superclass) =>
12515
12583
  };
12516
12584
 
12517
12585
  const {
12518
- host: host$q,
12586
+ host: host$r,
12519
12587
  label: label$3,
12520
12588
  inputElement: inputElement$1,
12521
12589
  requiredIndicator: requiredIndicator$3,
@@ -12546,7 +12614,7 @@ const PhoneFieldInputBoxClass = compose(
12546
12614
  createStyleMixin({
12547
12615
  mappings: {
12548
12616
  fontSize: [
12549
- host$q,
12617
+ host$r,
12550
12618
  inputField$1,
12551
12619
  {
12552
12620
  selector: TextFieldClass.componentName,
@@ -12554,9 +12622,9 @@ const PhoneFieldInputBoxClass = compose(
12554
12622
  },
12555
12623
  ],
12556
12624
  fontFamily: [label$3, errorMessage$5, helperText$3],
12557
- hostWidth: { ...host$q, property: 'width' },
12558
- hostMinWidth: { ...host$q, property: 'min-width' },
12559
- hostDirection: { ...host$q, property: 'direction' },
12625
+ hostWidth: { ...host$r, property: 'width' },
12626
+ hostMinWidth: { ...host$r, property: 'min-width' },
12627
+ hostDirection: { ...host$r, property: 'direction' },
12560
12628
 
12561
12629
  inputHorizontalPadding: [
12562
12630
  { ...phoneInput, property: 'padding-left' },
@@ -12620,7 +12688,7 @@ const PhoneFieldInputBoxClass = compose(
12620
12688
  draggableMixin,
12621
12689
  inputOverrideValidConstraintsMixin,
12622
12690
  composedProxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),
12623
- customMixin$a
12691
+ customMixin$b
12624
12692
  )(
12625
12693
  createProxy({
12626
12694
  slots: [],
@@ -12697,18 +12765,18 @@ const PhoneFieldInputBoxClass = compose(
12697
12765
  ${inputFloatingLabelStyle()}
12698
12766
  `,
12699
12767
  excludeAttrsSync: ['tabindex', 'style'],
12700
- componentName: componentName$15,
12768
+ componentName: componentName$16,
12701
12769
  })
12702
12770
  );
12703
12771
 
12704
- customElements.define(componentName$15, PhoneFieldInputBoxClass);
12772
+ customElements.define(componentName$16, PhoneFieldInputBoxClass);
12705
12773
 
12706
- const componentName$14 = getComponentName('new-password-internal');
12774
+ const componentName$15 = getComponentName('new-password-internal');
12707
12775
 
12708
12776
  const interpolateString = (template, values) =>
12709
12777
  template.replace(/{{(\w+)+}}/g, (match, key) => values?.[key] || match);
12710
12778
 
12711
- const componentName$13 = getComponentName('policy-validation');
12779
+ const componentName$14 = getComponentName('policy-validation');
12712
12780
 
12713
12781
  const overrideAttrs = [
12714
12782
  'data-password-policy-value-minlength',
@@ -12720,7 +12788,7 @@ const overrideAttrs = [
12720
12788
  const dataAttrs = ['data', 'active-policies', 'overrides', ...overrideAttrs];
12721
12789
  const policyAttrs = ['label', 'value', ...dataAttrs];
12722
12790
 
12723
- class RawPolicyValidation extends createBaseClass({ componentName: componentName$13, baseSelector: ':host > div' }) {
12791
+ class RawPolicyValidation extends createBaseClass({ componentName: componentName$14, baseSelector: ':host > div' }) {
12724
12792
  #availablePolicies;
12725
12793
 
12726
12794
  #activePolicies = [];
@@ -13017,7 +13085,7 @@ class RawPolicyValidation extends createBaseClass({ componentName: componentName
13017
13085
  }
13018
13086
  }
13019
13087
 
13020
- const { host: host$p, item, symbolDefault, symbolSuccess, symbolError } = {
13088
+ const { host: host$q, item, symbolDefault, symbolSuccess, symbolError } = {
13021
13089
  host: { selector: () => ':host > div' },
13022
13090
  item: { selector: () => '.item' },
13023
13091
  symbolDefault: { selector: () => '.item[data-valid="none"]::before' },
@@ -13033,13 +13101,13 @@ const PolicyValidationClass = compose(
13033
13101
  fontSize: {},
13034
13102
  fontFamily: {},
13035
13103
  padding: {},
13036
- borderWidth: { ...host$p, property: 'border-width' },
13037
- borderStyle: { ...host$p, property: 'border-style' },
13038
- borderColor: { ...host$p, property: 'border-color' },
13039
- borderRadius: { ...host$p, property: 'border-radius' },
13040
- backgroundColor: { ...host$p, property: 'background-color' },
13104
+ borderWidth: { ...host$q, property: 'border-width' },
13105
+ borderStyle: { ...host$q, property: 'border-style' },
13106
+ borderColor: { ...host$q, property: 'border-color' },
13107
+ borderRadius: { ...host$q, property: 'border-radius' },
13108
+ backgroundColor: { ...host$q, property: 'background-color' },
13041
13109
  textColor: { property: 'color' },
13042
- labelMargin: { ...host$p, property: 'gap' },
13110
+ labelMargin: { ...host$q, property: 'gap' },
13043
13111
  itemsSpacing: { ...item, property: 'line-height' },
13044
13112
  itemSymbolSuccessColor: { ...symbolSuccess, property: 'color' },
13045
13113
  itemSymbolErrorColor: { ...symbolError, property: 'color' },
@@ -13052,11 +13120,11 @@ const PolicyValidationClass = compose(
13052
13120
  componentNameValidationMixin
13053
13121
  )(RawPolicyValidation);
13054
13122
 
13055
- const componentName$12 = getComponentName('new-password');
13123
+ const componentName$13 = getComponentName('new-password');
13056
13124
 
13057
13125
  const policyPreviewVars = PolicyValidationClass.cssVarList;
13058
13126
 
13059
- const customMixin$9 = (superclass) =>
13127
+ const customMixin$a = (superclass) =>
13060
13128
  class NewPasswordMixinClass extends superclass {
13061
13129
  init() {
13062
13130
  super.init?.();
@@ -13066,18 +13134,18 @@ const customMixin$9 = (superclass) =>
13066
13134
  const externalInputAttr = this.getAttribute('external-input');
13067
13135
 
13068
13136
  template.innerHTML = `
13069
- <${componentName$14}
13137
+ <${componentName$15}
13070
13138
  name="new-password"
13071
13139
  tabindex="-1"
13072
13140
  slot="input"
13073
13141
  external-input="${externalInputAttr}"
13074
13142
  >
13075
- </${componentName$14}>
13143
+ </${componentName$15}>
13076
13144
  `;
13077
13145
 
13078
13146
  this.baseElement.appendChild(template.content.cloneNode(true));
13079
13147
 
13080
- this.inputElement = this.shadowRoot.querySelector(componentName$14);
13148
+ this.inputElement = this.shadowRoot.querySelector(componentName$15);
13081
13149
 
13082
13150
  if (this.getAttribute('external-input') === 'true') {
13083
13151
  this.initExternalInput();
@@ -13143,7 +13211,7 @@ const customMixin$9 = (superclass) =>
13143
13211
  };
13144
13212
 
13145
13213
  const {
13146
- host: host$o,
13214
+ host: host$p,
13147
13215
  label: label$2,
13148
13216
  internalInputsWrapper,
13149
13217
  errorMessage: errorMessage$4,
@@ -13164,7 +13232,7 @@ const NewPasswordClass = compose(
13164
13232
  createStyleMixin({
13165
13233
  mappings: {
13166
13234
  fontSize: [
13167
- host$o,
13235
+ host$p,
13168
13236
  {},
13169
13237
  {
13170
13238
  selector: PasswordClass.componentName,
@@ -13192,13 +13260,13 @@ const NewPasswordClass = compose(
13192
13260
  errorMessageIconRepeat: { ...errorMessage$4, property: 'background-repeat' },
13193
13261
  errorMessageIconPosition: { ...errorMessage$4, property: 'background-position' },
13194
13262
  errorMessageFontSize: { ...errorMessage$4, property: 'font-size' },
13195
- hostWidth: { ...host$o, property: 'width' },
13196
- hostMinWidth: { ...host$o, property: 'min-width' },
13263
+ hostWidth: { ...host$p, property: 'width' },
13264
+ hostMinWidth: { ...host$p, property: 'min-width' },
13197
13265
  hostDirection: [
13198
- { ...host$o, property: 'direction' },
13266
+ { ...host$p, property: 'direction' },
13199
13267
  { ...passwordInput, property: PasswordClass.cssVarList.hostDirection },
13200
13268
  ],
13201
- inputsRequiredIndicator: { ...host$o, property: 'content' },
13269
+ inputsRequiredIndicator: { ...host$p, property: 'content' },
13202
13270
  spaceBetweenInputs: { ...internalInputsWrapper, property: 'gap' },
13203
13271
  policyPreviewBackgroundColor: {
13204
13272
  ...policyPreview,
@@ -13215,7 +13283,7 @@ const NewPasswordClass = compose(
13215
13283
  }),
13216
13284
  draggableMixin,
13217
13285
  composedProxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),
13218
- customMixin$9
13286
+ customMixin$a
13219
13287
  )(
13220
13288
  createProxy({
13221
13289
  slots: [],
@@ -13274,11 +13342,11 @@ const NewPasswordClass = compose(
13274
13342
  }
13275
13343
  `,
13276
13344
  excludeAttrsSync: ['tabindex', 'style'],
13277
- componentName: componentName$12,
13345
+ componentName: componentName$13,
13278
13346
  })
13279
13347
  );
13280
13348
 
13281
- customElements.define(componentName$13, PolicyValidationClass);
13349
+ customElements.define(componentName$14, PolicyValidationClass);
13282
13350
 
13283
13351
  const passwordAttrPrefixRegex = /^password-/;
13284
13352
  const confirmAttrPrefixRegex = /^confirm-/;
@@ -13320,7 +13388,7 @@ const inputRelatedAttrs = [].concat(
13320
13388
  policyPanelAttrs
13321
13389
  );
13322
13390
 
13323
- const BaseInputClass$b = createBaseInputClass({ componentName: componentName$14, baseSelector: 'div' });
13391
+ const BaseInputClass$b = createBaseInputClass({ componentName: componentName$15, baseSelector: 'div' });
13324
13392
 
13325
13393
  class NewPasswordInternal extends BaseInputClass$b {
13326
13394
  static get observedAttributes() {
@@ -13563,11 +13631,11 @@ class NewPasswordInternal extends BaseInputClass$b {
13563
13631
  }
13564
13632
  }
13565
13633
 
13566
- customElements.define(componentName$14, NewPasswordInternal);
13634
+ customElements.define(componentName$15, NewPasswordInternal);
13567
13635
 
13568
- customElements.define(componentName$12, NewPasswordClass);
13636
+ customElements.define(componentName$13, NewPasswordClass);
13569
13637
 
13570
- const componentName$11 = getComponentName('recaptcha');
13638
+ const componentName$12 = getComponentName('recaptcha');
13571
13639
 
13572
13640
  const observedAttributes$3 = ['enabled', 'site-key', 'action', 'enterprise', 'variant'];
13573
13641
 
@@ -13575,7 +13643,7 @@ const observedAttributes$3 = ['enabled', 'site-key', 'action', 'enterprise', 'va
13575
13643
  const DEFAULT_FIELD_NAME = 'recaptcha';
13576
13644
 
13577
13645
  const BaseInputClass$a = createBaseInputClass({
13578
- componentName: componentName$11,
13646
+ componentName: componentName$12,
13579
13647
  baseSelector: ':host > div',
13580
13648
  });
13581
13649
  class RawRecaptcha extends BaseInputClass$a {
@@ -13903,7 +13971,7 @@ class RawRecaptcha extends BaseInputClass$a {
13903
13971
 
13904
13972
  const RecaptchaClass = compose(draggableMixin)(RawRecaptcha);
13905
13973
 
13906
- customElements.define(componentName$11, RecaptchaClass);
13974
+ customElements.define(componentName$12, RecaptchaClass);
13907
13975
 
13908
13976
  const getFileBase64 = (fileObj) =>
13909
13977
  new Promise((resolve) => {
@@ -13914,7 +13982,7 @@ const getFileBase64 = (fileObj) =>
13914
13982
 
13915
13983
  const getFilename = (fileObj) => fileObj.name.replace(/^.*\\/, '');
13916
13984
 
13917
- const componentName$10 = getComponentName('upload-file');
13985
+ const componentName$11 = getComponentName('upload-file');
13918
13986
 
13919
13987
  const observedAttributes$2 = [
13920
13988
  'title',
@@ -13929,7 +13997,7 @@ const observedAttributes$2 = [
13929
13997
  'icon',
13930
13998
  ];
13931
13999
 
13932
- const BaseInputClass$9 = createBaseInputClass({ componentName: componentName$10, baseSelector: ':host > div' });
14000
+ const BaseInputClass$9 = createBaseInputClass({ componentName: componentName$11, baseSelector: ':host > div' });
13933
14001
 
13934
14002
  class RawUploadFile extends BaseInputClass$9 {
13935
14003
  static get observedAttributes() {
@@ -14105,7 +14173,7 @@ class RawUploadFile extends BaseInputClass$9 {
14105
14173
  }
14106
14174
 
14107
14175
  const buttonVars = ButtonClass.cssVarList;
14108
- const { host: host$n, wrapper, icon: icon$4, title: title$1, description, requiredIndicator: requiredIndicator$2 } = {
14176
+ const { host: host$o, wrapper, icon: icon$4, title: title$1, description, requiredIndicator: requiredIndicator$2 } = {
14109
14177
  host: { selector: () => ':host' },
14110
14178
  wrapper: { selector: () => ':host > div' },
14111
14179
  icon: { selector: () => '::slotted(*)' },
@@ -14124,11 +14192,11 @@ const UploadFileClass = compose(
14124
14192
  borderWidth: {},
14125
14193
  borderStyle: {},
14126
14194
  borderRadius: {},
14127
- hostHeight: { ...host$n, property: 'height' },
14128
- hostWidth: { ...host$n, property: 'width' },
14195
+ hostHeight: { ...host$o, property: 'height' },
14196
+ hostWidth: { ...host$o, property: 'width' },
14129
14197
  hostPadding: { property: 'padding' },
14130
14198
  hostDirection: [
14131
- { ...host$n, property: 'direction' },
14199
+ { ...host$o, property: 'direction' },
14132
14200
  { selector: () => ButtonClass.componentName, property: buttonVars.hostDirection },
14133
14201
  ],
14134
14202
  gap: { ...wrapper },
@@ -14148,7 +14216,7 @@ const UploadFileClass = compose(
14148
14216
  componentNameValidationMixin
14149
14217
  )(RawUploadFile);
14150
14218
 
14151
- customElements.define(componentName$10, UploadFileClass);
14219
+ customElements.define(componentName$11, UploadFileClass);
14152
14220
 
14153
14221
  const createBaseButtonSelectionGroupInternalClass = (componentName) => {
14154
14222
  class BaseButtonSelectionGroupInternalClass extends createBaseInputClass({
@@ -14236,10 +14304,10 @@ const createBaseButtonSelectionGroupInternalClass = (componentName) => {
14236
14304
  return BaseButtonSelectionGroupInternalClass;
14237
14305
  };
14238
14306
 
14239
- const componentName$$ = getComponentName('button-selection-group-internal');
14307
+ const componentName$10 = getComponentName('button-selection-group-internal');
14240
14308
 
14241
14309
  class ButtonSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
14242
- componentName$$
14310
+ componentName$10
14243
14311
  ) {
14244
14312
  getSelectedNode() {
14245
14313
  return this.items.find((item) => item.hasAttribute('selected'));
@@ -14393,7 +14461,7 @@ const buttonSelectionGroupBaseMixin = (superclass) =>
14393
14461
  }
14394
14462
  };
14395
14463
 
14396
- const { host: host$m, label: label$1, requiredIndicator: requiredIndicator$1, internalWrapper: internalWrapper$1, errorMessage: errorMessage$3 } = {
14464
+ const { host: host$n, label: label$1, requiredIndicator: requiredIndicator$1, internalWrapper: internalWrapper$1, errorMessage: errorMessage$3 } = {
14397
14465
  host: { selector: () => ':host' },
14398
14466
  label: { selector: '::part(label)' },
14399
14467
  requiredIndicator: { selector: '[required]::part(required-indicator)::after' },
@@ -14402,9 +14470,9 @@ const { host: host$m, label: label$1, requiredIndicator: requiredIndicator$1, in
14402
14470
  };
14403
14471
 
14404
14472
  const buttonSelectionGroupMappings = {
14405
- hostWidth: { ...host$m, property: 'width' },
14406
- hostDirection: { ...host$m, property: 'direction' },
14407
- fontFamily: host$m,
14473
+ hostWidth: { ...host$n, property: 'width' },
14474
+ hostDirection: { ...host$n, property: 'direction' },
14475
+ fontFamily: host$n,
14408
14476
  labelTextColor: [
14409
14477
  { ...label$1, property: 'color' },
14410
14478
  { ...requiredIndicator$1, property: 'color' },
@@ -14482,7 +14550,7 @@ const buttonSelectionGroupStyles = `
14482
14550
  ${resetInputCursor('vaadin-text-field')}
14483
14551
  `;
14484
14552
 
14485
- const componentName$_ = getComponentName('button-selection-group');
14553
+ const componentName$$ = getComponentName('button-selection-group');
14486
14554
 
14487
14555
  const buttonSelectionGroupMixin = (superclass) =>
14488
14556
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -14491,19 +14559,19 @@ const buttonSelectionGroupMixin = (superclass) =>
14491
14559
  const template = document.createElement('template');
14492
14560
 
14493
14561
  template.innerHTML = `
14494
- <${componentName$$}
14562
+ <${componentName$10}
14495
14563
  name="button-selection-group"
14496
14564
  slot="input"
14497
14565
  tabindex="-1"
14498
14566
  part="internal-component"
14499
14567
  >
14500
14568
  <slot></slot>
14501
- </${componentName$$}>
14569
+ </${componentName$10}>
14502
14570
  `;
14503
14571
 
14504
14572
  this.baseElement.appendChild(template.content.cloneNode(true));
14505
14573
 
14506
- this.inputElement = this.shadowRoot.querySelector(componentName$$);
14574
+ this.inputElement = this.shadowRoot.querySelector(componentName$10);
14507
14575
 
14508
14576
  // the inner *-internal dispatches a non-bubbling, non-composed `change`,
14509
14577
  // which never reaches the flow runtime. Re-emit standard input/change from
@@ -14536,16 +14604,16 @@ const ButtonSelectionGroupClass = compose(
14536
14604
  wrappedEleName: 'vaadin-text-field',
14537
14605
  style: () => buttonSelectionGroupStyles,
14538
14606
  excludeAttrsSync: ['tabindex', 'style'],
14539
- componentName: componentName$_,
14607
+ componentName: componentName$$,
14540
14608
  })
14541
14609
  );
14542
14610
 
14543
- customElements.define(componentName$$, ButtonSelectionGroupInternalClass);
14611
+ customElements.define(componentName$10, ButtonSelectionGroupInternalClass);
14544
14612
 
14545
- const componentName$Z = getComponentName('button-selection-group-item');
14613
+ const componentName$_ = getComponentName('button-selection-group-item');
14546
14614
 
14547
14615
  class RawSelectItem extends createBaseClass({
14548
- componentName: componentName$Z,
14616
+ componentName: componentName$_,
14549
14617
  baseSelector: ':host > descope-button',
14550
14618
  }) {
14551
14619
  get size() {
@@ -14656,14 +14724,14 @@ const ButtonSelectionGroupItemClass = compose(
14656
14724
  componentNameValidationMixin
14657
14725
  )(RawSelectItem);
14658
14726
 
14659
- customElements.define(componentName$Z, ButtonSelectionGroupItemClass);
14727
+ customElements.define(componentName$_, ButtonSelectionGroupItemClass);
14660
14728
 
14661
- customElements.define(componentName$_, ButtonSelectionGroupClass);
14729
+ customElements.define(componentName$$, ButtonSelectionGroupClass);
14662
14730
 
14663
- const componentName$Y = getComponentName('button-multi-selection-group-internal');
14731
+ const componentName$Z = getComponentName('button-multi-selection-group-internal');
14664
14732
 
14665
14733
  class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
14666
- componentName$Y
14734
+ componentName$Z
14667
14735
  ) {
14668
14736
  #getSelectedNodes() {
14669
14737
  return this.items.filter((item) => item.hasAttribute('selected'));
@@ -14765,7 +14833,7 @@ class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGr
14765
14833
  }
14766
14834
  }
14767
14835
 
14768
- const componentName$X = getComponentName('button-multi-selection-group');
14836
+ const componentName$Y = getComponentName('button-multi-selection-group');
14769
14837
 
14770
14838
  const buttonMultiSelectionGroupMixin = (superclass) =>
14771
14839
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -14774,19 +14842,19 @@ const buttonMultiSelectionGroupMixin = (superclass) =>
14774
14842
  const template = document.createElement('template');
14775
14843
 
14776
14844
  template.innerHTML = `
14777
- <${componentName$Y}
14845
+ <${componentName$Z}
14778
14846
  name="button-selection-group"
14779
14847
  slot="input"
14780
14848
  tabindex="-1"
14781
14849
  part="internal-component"
14782
14850
  >
14783
14851
  <slot></slot>
14784
- </${componentName$Y}>
14852
+ </${componentName$Z}>
14785
14853
  `;
14786
14854
 
14787
14855
  this.baseElement.appendChild(template.content.cloneNode(true));
14788
14856
 
14789
- this.inputElement = this.shadowRoot.querySelector(componentName$Y);
14857
+ this.inputElement = this.shadowRoot.querySelector(componentName$Z);
14790
14858
 
14791
14859
  // the inner *-internal dispatches a non-bubbling, non-composed `change`,
14792
14860
  // which never reaches the flow runtime. Re-emit standard input/change from
@@ -14819,13 +14887,13 @@ const ButtonMultiSelectionGroupClass = compose(
14819
14887
  wrappedEleName: 'vaadin-text-field',
14820
14888
  style: () => buttonSelectionGroupStyles,
14821
14889
  excludeAttrsSync: ['tabindex', 'style'],
14822
- componentName: componentName$X,
14890
+ componentName: componentName$Y,
14823
14891
  })
14824
14892
  );
14825
14893
 
14826
- customElements.define(componentName$Y, ButtonMultiSelectionGroupInternalClass);
14894
+ customElements.define(componentName$Z, ButtonMultiSelectionGroupInternalClass);
14827
14895
 
14828
- customElements.define(componentName$X, ButtonMultiSelectionGroupClass);
14896
+ customElements.define(componentName$Y, ButtonMultiSelectionGroupClass);
14829
14897
 
14830
14898
  class GridTextColumnClass extends GridSortColumn {
14831
14899
  get sortable() {
@@ -14851,9 +14919,9 @@ class GridTextColumnClass extends GridSortColumn {
14851
14919
  }
14852
14920
  }
14853
14921
 
14854
- const componentName$W = getComponentName('grid-text-column');
14922
+ const componentName$X = getComponentName('grid-text-column');
14855
14923
 
14856
- customElements.define(componentName$W, GridTextColumnClass);
14924
+ customElements.define(componentName$X, GridTextColumnClass);
14857
14925
 
14858
14926
  class GridCustomColumnClass extends GridTextColumnClass {
14859
14927
  _defaultRenderer(cell, _col, model) {
@@ -14884,9 +14952,9 @@ class GridCustomColumnClass extends GridTextColumnClass {
14884
14952
  }
14885
14953
  }
14886
14954
 
14887
- const componentName$V = getComponentName('grid-custom-column');
14955
+ const componentName$W = getComponentName('grid-custom-column');
14888
14956
 
14889
- customElements.define(componentName$V, GridCustomColumnClass);
14957
+ customElements.define(componentName$W, GridCustomColumnClass);
14890
14958
 
14891
14959
  const createCheckboxEle = () => {
14892
14960
  const checkbox = document.createElement('descope-checkbox');
@@ -14942,9 +15010,9 @@ class GridSelectionColumnClass extends GridSelectionColumn {
14942
15010
  }
14943
15011
  }
14944
15012
 
14945
- const componentName$U = getComponentName('grid-selection-column');
15013
+ const componentName$V = getComponentName('grid-selection-column');
14946
15014
 
14947
- customElements.define(componentName$U, GridSelectionColumnClass);
15015
+ customElements.define(componentName$V, GridSelectionColumnClass);
14948
15016
 
14949
15017
  class GridItemDetailsColumnClass extends GridSortColumn {
14950
15018
  get sortable() {
@@ -14980,13 +15048,13 @@ class GridItemDetailsColumnClass extends GridSortColumn {
14980
15048
  }
14981
15049
  }
14982
15050
 
14983
- const componentName$T = getComponentName('grid-item-details-column');
15051
+ const componentName$U = getComponentName('grid-item-details-column');
14984
15052
 
14985
- customElements.define(componentName$T, GridItemDetailsColumnClass);
15053
+ customElements.define(componentName$U, GridItemDetailsColumnClass);
14986
15054
 
14987
- customElements.define(componentName$1o, ImageClass);
15055
+ customElements.define(componentName$1p, ImageClass);
14988
15056
 
14989
- customElements.define(componentName$1n, IconClass);
15057
+ customElements.define(componentName$1o, IconClass);
14990
15058
 
14991
15059
  const decode = (input) => {
14992
15060
  const txt = document.createElement('textarea');
@@ -15000,9 +15068,9 @@ var copyIconSrc = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5
15000
15068
 
15001
15069
  var checkIconSrc = "data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iY2hlY2staWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cG9seWxpbmUgcG9pbnRzPSIyMCA2IDkgMTcgNCAxMiI+PC9wb2x5bGluZT4KPC9zdmc+Cg==";
15002
15070
 
15003
- const componentName$S = getComponentName('code-snippet');
15071
+ const componentName$T = getComponentName('code-snippet');
15004
15072
 
15005
- let CodeSnippet$1 = class CodeSnippet extends createBaseClass({ componentName: componentName$S, baseSelector: ':host > .wrapper' }) {
15073
+ let CodeSnippet$1 = class CodeSnippet extends createBaseClass({ componentName: componentName$T, baseSelector: ':host > .wrapper' }) {
15006
15074
  static get observedAttributes() {
15007
15075
  return ['lang', 'inline', 'copy-button'];
15008
15076
  }
@@ -15338,7 +15406,7 @@ const CodeSnippetClass = compose(
15338
15406
  componentNameValidationMixin
15339
15407
  )(CodeSnippet$1);
15340
15408
 
15341
- customElements.define(componentName$S, CodeSnippetClass);
15409
+ customElements.define(componentName$T, CodeSnippetClass);
15342
15410
 
15343
15411
  const isValidDataType = (data) => {
15344
15412
  const isValid = Array.isArray(data);
@@ -15426,7 +15494,7 @@ const defaultRowDetailsRenderer = (item, itemLabelsMapping) => `
15426
15494
  </div>
15427
15495
  `;
15428
15496
 
15429
- const componentName$R = getComponentName('grid');
15497
+ const componentName$S = getComponentName('grid');
15430
15498
 
15431
15499
  const GridMixin = (superclass) =>
15432
15500
  class GridMixinClass extends superclass {
@@ -15647,7 +15715,7 @@ const GridMixin = (superclass) =>
15647
15715
  };
15648
15716
 
15649
15717
  const {
15650
- host: host$l,
15718
+ host: host$m,
15651
15719
  headerRow,
15652
15720
  headerRowCell,
15653
15721
  contentRow,
@@ -15700,15 +15768,15 @@ const GridClass = compose(
15700
15768
  fontWeight: { ...contentRow },
15701
15769
  valueTextColor: { ...contentRow, property: 'color' },
15702
15770
  backgroundColor: [
15703
- { ...host$l, property: 'background-color' },
15771
+ { ...host$m, property: 'background-color' },
15704
15772
  { ...contentRow, property: 'background-color' },
15705
15773
  ],
15706
15774
  sortIndicatorsColor: { ...sortIndicators, property: 'color' },
15707
15775
  activeSortIndicator: { ...activeSortIndicator, property: 'color' },
15708
- borderColor: { ...host$l, property: 'border-color' },
15709
- borderWidth: { ...host$l, property: 'border-width' },
15710
- borderStyle: { ...host$l, property: 'border-style' },
15711
- borderRadius: { ...host$l, property: 'border-radius' },
15776
+ borderColor: { ...host$m, property: 'border-color' },
15777
+ borderWidth: { ...host$m, property: 'border-width' },
15778
+ borderStyle: { ...host$m, property: 'border-style' },
15779
+ borderRadius: { ...host$m, property: 'border-radius' },
15712
15780
  selectedBackgroundColor: [
15713
15781
  { ...selectedRow, property: 'background-color' },
15714
15782
  { ...selectedRowCell, property: 'background-color' },
@@ -15719,7 +15787,7 @@ const GridClass = compose(
15719
15787
  { ...rowSeparator, property: 'border-top-color' },
15720
15788
  ],
15721
15789
  resizeHandleColor: { ...resizeHandle, property: 'background-color' },
15722
- hostDirection: { ...host$l, property: 'direction', fallback: 'ltr' },
15790
+ hostDirection: { ...host$m, property: 'direction', fallback: 'ltr' },
15723
15791
  toggleDetailsPanelButtonSize: [
15724
15792
  { ...toggleDetailsPanelButton, property: 'width' },
15725
15793
  { ...toggleDetailsPanelButton, property: 'height' },
@@ -15795,17 +15863,17 @@ const GridClass = compose(
15795
15863
  /*!css*/
15796
15864
  `,
15797
15865
  excludeAttrsSync: ['columns', 'tabindex', 'style'],
15798
- componentName: componentName$R,
15866
+ componentName: componentName$S,
15799
15867
  })
15800
15868
  );
15801
15869
 
15802
- customElements.define(componentName$R, GridClass);
15870
+ customElements.define(componentName$S, GridClass);
15803
15871
 
15804
- const componentName$Q = getComponentName('modal');
15872
+ const componentName$R = getComponentName('modal');
15805
15873
 
15806
15874
  const observedAttrs$5 = ['opened'];
15807
15875
 
15808
- const customMixin$8 = (superclass) =>
15876
+ const customMixin$9 = (superclass) =>
15809
15877
  class ModalMixinClass extends superclass {
15810
15878
  static get observedAttributes() {
15811
15879
  return [].concat(superclass.observedAttributes || [], observedAttrs$5);
@@ -15965,7 +16033,7 @@ const ModalClass = compose(
15965
16033
  }),
15966
16034
  draggableMixin,
15967
16035
  componentNameValidationMixin,
15968
- customMixin$8
16036
+ customMixin$9
15969
16037
  )(
15970
16038
  createProxy({
15971
16039
  slots: [''],
@@ -15976,11 +16044,11 @@ const ModalClass = compose(
15976
16044
  }
15977
16045
  `,
15978
16046
  excludeAttrsSync: ['tabindex', 'opened', 'style'],
15979
- componentName: componentName$Q,
16047
+ componentName: componentName$R,
15980
16048
  })
15981
16049
  );
15982
16050
 
15983
- customElements.define(componentName$Q, ModalClass);
16051
+ customElements.define(componentName$R, ModalClass);
15984
16052
 
15985
16053
  const vaadinContainerClass = window.customElements.get('vaadin-notification-container');
15986
16054
 
@@ -15991,7 +16059,7 @@ if (!vaadinContainerClass) {
15991
16059
  class NotificationContainerClass extends vaadinContainerClass {}
15992
16060
  customElements.define(getComponentName('notification-container'), NotificationContainerClass);
15993
16061
 
15994
- const componentName$P = getComponentName('notification-card');
16062
+ const componentName$Q = getComponentName('notification-card');
15995
16063
 
15996
16064
  const notificationCardMixin = (superclass) =>
15997
16065
  class NotificationCardMixinClass extends superclass {
@@ -16099,13 +16167,13 @@ const NotificationCardClass = compose(
16099
16167
  }
16100
16168
  `,
16101
16169
  excludeAttrsSync: ['tabindex', 'style'],
16102
- componentName: componentName$P,
16170
+ componentName: componentName$Q,
16103
16171
  })
16104
16172
  );
16105
16173
 
16106
- customElements.define(componentName$P, NotificationCardClass);
16174
+ customElements.define(componentName$Q, NotificationCardClass);
16107
16175
 
16108
- const componentName$O = getComponentName('notification');
16176
+ const componentName$P = getComponentName('notification');
16109
16177
 
16110
16178
  const NotificationMixin = (superclass) =>
16111
16179
  class NotificationMixinClass extends superclass {
@@ -16198,15 +16266,15 @@ const NotificationClass = compose(
16198
16266
  createProxy({
16199
16267
  wrappedEleName: 'vaadin-notification',
16200
16268
  excludeAttrsSync: ['tabindex', 'style'],
16201
- componentName: componentName$O,
16269
+ componentName: componentName$P,
16202
16270
  })
16203
16271
  );
16204
16272
 
16205
- customElements.define(componentName$O, NotificationClass);
16273
+ customElements.define(componentName$P, NotificationClass);
16206
16274
 
16207
- const componentName$N = getComponentName('mappings-field-internal');
16275
+ const componentName$O = getComponentName('mappings-field-internal');
16208
16276
 
16209
- const BaseInputClass$8 = createBaseInputClass({ componentName: componentName$N, baseSelector: 'div' });
16277
+ const BaseInputClass$8 = createBaseInputClass({ componentName: componentName$O, baseSelector: 'div' });
16210
16278
 
16211
16279
  class MappingsFieldInternal extends BaseInputClass$8 {
16212
16280
  #errorItem;
@@ -16452,9 +16520,9 @@ class MappingsFieldInternal extends BaseInputClass$8 {
16452
16520
  }
16453
16521
  }
16454
16522
 
16455
- const componentName$M = getComponentName('mappings-field');
16523
+ const componentName$N = getComponentName('mappings-field');
16456
16524
 
16457
- const customMixin$7 = (superclass) =>
16525
+ const customMixin$8 = (superclass) =>
16458
16526
  class MappingsFieldMixinClass extends superclass {
16459
16527
  get defaultValues() {
16460
16528
  const defaultValuesAttr = this.getAttribute('default-values');
@@ -16481,14 +16549,14 @@ const customMixin$7 = (superclass) =>
16481
16549
  const template = document.createElement('template');
16482
16550
 
16483
16551
  template.innerHTML = `
16484
- <${componentName$N}
16552
+ <${componentName$O}
16485
16553
  tabindex="-1"
16486
- ></${componentName$N}>
16554
+ ></${componentName$O}>
16487
16555
  `;
16488
16556
 
16489
16557
  this.baseElement.appendChild(template.content.cloneNode(true));
16490
16558
 
16491
- this.inputElement = this.shadowRoot.querySelector(componentName$N);
16559
+ this.inputElement = this.shadowRoot.querySelector(componentName$O);
16492
16560
 
16493
16561
  forwardAttrs(this, this.inputElement, {
16494
16562
  includeAttrs: [
@@ -16518,7 +16586,7 @@ const customMixin$7 = (superclass) =>
16518
16586
  };
16519
16587
 
16520
16588
  const {
16521
- host: host$k,
16589
+ host: host$l,
16522
16590
  helperText: helperText$1,
16523
16591
  errorMessage: errorMessage$2,
16524
16592
  mappingItem,
@@ -16546,10 +16614,10 @@ const {
16546
16614
  const MappingsFieldClass = compose(
16547
16615
  createStyleMixin({
16548
16616
  mappings: {
16549
- hostWidth: { ...host$k, property: 'width' },
16550
- hostDirection: { ...host$k, property: 'direction' },
16617
+ hostWidth: { ...host$l, property: 'width' },
16618
+ hostDirection: { ...host$l, property: 'direction' },
16551
16619
  // we apply font-size also on the host so we can set its width with em
16552
- fontSize: [{}, host$k, { ...separator, property: 'margin-top' }],
16620
+ fontSize: [{}, host$l, { ...separator, property: 'margin-top' }],
16553
16621
  fontFamily: [helperText$1, errorMessage$2, labels],
16554
16622
  separatorFontSize: { ...separator, property: 'font-size' },
16555
16623
  labelsFontSize: { ...labelsText, property: 'font-size' },
@@ -16576,7 +16644,7 @@ const MappingsFieldClass = compose(
16576
16644
  proxyParentValidation: true,
16577
16645
  }),
16578
16646
  componentNameValidationMixin,
16579
- customMixin$7
16647
+ customMixin$8
16580
16648
  )(
16581
16649
  createProxy({
16582
16650
  slots: [],
@@ -16624,13 +16692,13 @@ const MappingsFieldClass = compose(
16624
16692
  'error-message',
16625
16693
  'style',
16626
16694
  ],
16627
- componentName: componentName$M,
16695
+ componentName: componentName$N,
16628
16696
  })
16629
16697
  );
16630
16698
 
16631
- customElements.define(componentName$N, MappingsFieldInternal);
16699
+ customElements.define(componentName$O, MappingsFieldInternal);
16632
16700
 
16633
- const componentName$L = getComponentName('mapping-item');
16701
+ const componentName$M = getComponentName('mapping-item');
16634
16702
 
16635
16703
  const inputAttrs = [
16636
16704
  'size',
@@ -16643,7 +16711,7 @@ const inputAttrs = [
16643
16711
  'st-error-message-icon-padding',
16644
16712
  ];
16645
16713
 
16646
- const BaseInputClass$7 = createBaseInputClass({ componentName: componentName$L, baseSelector: 'div' });
16714
+ const BaseInputClass$7 = createBaseInputClass({ componentName: componentName$M, baseSelector: 'div' });
16647
16715
 
16648
16716
  class MappingItem extends BaseInputClass$7 {
16649
16717
  static get observedAttributes() {
@@ -16798,14 +16866,14 @@ class MappingItem extends BaseInputClass$7 {
16798
16866
  }
16799
16867
  }
16800
16868
 
16801
- customElements.define(componentName$L, MappingItem);
16869
+ customElements.define(componentName$M, MappingItem);
16802
16870
 
16803
- customElements.define(componentName$M, MappingsFieldClass);
16871
+ customElements.define(componentName$N, MappingsFieldClass);
16804
16872
 
16805
- const componentName$K = getComponentName$1('badge');
16873
+ const componentName$L = getComponentName$1('badge');
16806
16874
 
16807
16875
  class RawBadge extends createBaseClass$1({
16808
- componentName: componentName$K,
16876
+ componentName: componentName$L,
16809
16877
  baseSelector: ':host > div',
16810
16878
  }) {
16811
16879
  static get observedAttributes() {
@@ -16903,9 +16971,9 @@ var copyIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIH
16903
16971
 
16904
16972
  var checkIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNOSAxNi4xNyA0LjgzIDEybC0xLjQyIDEuNDFMOSAxOSAyMSA3bC0xLjQxLTEuNDF6IiBmaWxsPSJjdXJyZW50Y29sb3IiLz4KPC9zdmc+Cg==";
16905
16973
 
16906
- const componentName$J = getComponentName('user-attribute');
16974
+ const componentName$K = getComponentName('user-attribute');
16907
16975
  class RawUserAttribute extends createBaseClass({
16908
- componentName: componentName$J,
16976
+ componentName: componentName$K,
16909
16977
  baseSelector: ':host > .root',
16910
16978
  }) {
16911
16979
  constructor() {
@@ -17272,7 +17340,7 @@ class RawUserAttribute extends createBaseClass({
17272
17340
  }
17273
17341
  }
17274
17342
 
17275
- const { host: host$j, textFields, buttons: buttons$1, badge: badge$3, labelText, contentWrapper } = {
17343
+ const { host: host$k, textFields, buttons: buttons$1, badge: badge$3, labelText, contentWrapper } = {
17276
17344
  host: { selector: () => ':host' },
17277
17345
  textFields: { selector: 'descope-text' },
17278
17346
  labelText: { selector: 'descope-text[data-id="label-text"]' },
@@ -17284,11 +17352,11 @@ const { host: host$j, textFields, buttons: buttons$1, badge: badge$3, labelText,
17284
17352
  const UserAttributeClass = compose(
17285
17353
  createStyleMixin({
17286
17354
  mappings: {
17287
- hostWidth: { ...host$j, property: 'width' },
17288
- hostMinWidth: { ...host$j, property: 'min-width' },
17289
- hostMaxWidth: { ...host$j, property: 'max-width' },
17355
+ hostWidth: { ...host$k, property: 'width' },
17356
+ hostMinWidth: { ...host$k, property: 'min-width' },
17357
+ hostMaxWidth: { ...host$k, property: 'max-width' },
17290
17358
  hostDirection: [
17291
- { ...host$j, property: 'direction' },
17359
+ { ...host$k, property: 'direction' },
17292
17360
  { ...textFields, property: TextClass.cssVarList.hostDirection },
17293
17361
  { ...buttons$1, property: ButtonClass.cssVarList.hostDirection },
17294
17362
  { ...badge$3, property: BadgeClass.cssVarList.hostDirection },
@@ -17309,15 +17377,15 @@ const UserAttributeClass = compose(
17309
17377
  componentNameValidationMixin
17310
17378
  )(RawUserAttribute);
17311
17379
 
17312
- customElements.define(componentName$K, BadgeClass);
17380
+ customElements.define(componentName$L, BadgeClass);
17313
17381
 
17314
- customElements.define(componentName$J, UserAttributeClass);
17382
+ customElements.define(componentName$K, UserAttributeClass);
17315
17383
 
17316
17384
  var greenVIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhDMCAxMi40IDMuNiAxNiA4IDE2QzEyLjQgMTYgMTYgMTIuNCAxNiA4QzE2IDMuNiAxMi40IDAgOCAwWk03LjEgMTEuN0wyLjkgNy42TDQuMyA2LjJMNyA4LjlMMTIgNEwxMy40IDUuNEw3LjEgMTEuN1oiIGZpbGw9IiM0Q0FGNTAiLz4KPC9zdmc+Cg==";
17317
17385
 
17318
- const componentName$I = getComponentName('user-auth-method');
17386
+ const componentName$J = getComponentName('user-auth-method');
17319
17387
  class RawUserAuthMethod extends createBaseClass({
17320
- componentName: componentName$I,
17388
+ componentName: componentName$J,
17321
17389
  baseSelector: ':host > .root',
17322
17390
  }) {
17323
17391
  constructor() {
@@ -17535,7 +17603,7 @@ class RawUserAuthMethod extends createBaseClass({
17535
17603
  }
17536
17604
  }
17537
17605
 
17538
- const { host: host$i, textField: textField$2, buttons, badge: badge$2, textWrapper, methodIconSlot } = {
17606
+ const { host: host$j, textField: textField$2, buttons, badge: badge$2, textWrapper, methodIconSlot } = {
17539
17607
  host: { selector: () => ':host' },
17540
17608
  textField: { selector: 'descope-text' },
17541
17609
  buttons: { selector: 'descope-button' },
@@ -17547,11 +17615,11 @@ const { host: host$i, textField: textField$2, buttons, badge: badge$2, textWrapp
17547
17615
  const UserAuthMethodClass = compose(
17548
17616
  createStyleMixin({
17549
17617
  mappings: {
17550
- hostWidth: { ...host$i, property: 'width' },
17551
- hostMinWidth: { ...host$i, property: 'min-width' },
17552
- hostMaxWidth: { ...host$i, property: 'max-width' },
17618
+ hostWidth: { ...host$j, property: 'width' },
17619
+ hostMinWidth: { ...host$j, property: 'min-width' },
17620
+ hostMaxWidth: { ...host$j, property: 'max-width' },
17553
17621
  hostDirection: [
17554
- { ...host$i, property: 'direction' },
17622
+ { ...host$j, property: 'direction' },
17555
17623
  { ...textField$2, property: TextClass.cssVarList.hostDirection },
17556
17624
  { ...buttons, property: ButtonClass.cssVarList.hostDirection },
17557
17625
  { ...badge$2, property: BadgeClass.cssVarList.hostDirection },
@@ -17568,11 +17636,11 @@ const UserAuthMethodClass = compose(
17568
17636
  componentNameValidationMixin
17569
17637
  )(RawUserAuthMethod);
17570
17638
 
17571
- customElements.define(componentName$I, UserAuthMethodClass);
17639
+ customElements.define(componentName$J, UserAuthMethodClass);
17572
17640
 
17573
- const componentName$H = getComponentName('saml-group-mappings-internal');
17641
+ const componentName$I = getComponentName('saml-group-mappings-internal');
17574
17642
 
17575
- const BaseInputClass$6 = createBaseInputClass({ componentName: componentName$H, baseSelector: '' });
17643
+ const BaseInputClass$6 = createBaseInputClass({ componentName: componentName$I, baseSelector: '' });
17576
17644
 
17577
17645
  class SamlGroupMappingsInternal extends BaseInputClass$6 {
17578
17646
  static get observedAttributes() {
@@ -17698,9 +17766,9 @@ class SamlGroupMappingsInternal extends BaseInputClass$6 {
17698
17766
  }
17699
17767
  }
17700
17768
 
17701
- const componentName$G = getComponentName('saml-group-mappings');
17769
+ const componentName$H = getComponentName('saml-group-mappings');
17702
17770
 
17703
- const customMixin$6 = (superclass) =>
17771
+ const customMixin$7 = (superclass) =>
17704
17772
  class SamlGroupMappingsMixinClass extends superclass {
17705
17773
  init() {
17706
17774
  super.init?.();
@@ -17708,14 +17776,14 @@ const customMixin$6 = (superclass) =>
17708
17776
  const template = document.createElement('template');
17709
17777
 
17710
17778
  template.innerHTML = `
17711
- <${componentName$H}
17779
+ <${componentName$I}
17712
17780
  tabindex="-1"
17713
- ></${componentName$H}>
17781
+ ></${componentName$I}>
17714
17782
  `;
17715
17783
 
17716
17784
  this.baseElement.appendChild(template.content.cloneNode(true));
17717
17785
 
17718
- this.inputElement = this.shadowRoot.querySelector(componentName$H);
17786
+ this.inputElement = this.shadowRoot.querySelector(componentName$I);
17719
17787
 
17720
17788
  forwardAttrs(this, this.inputElement, {
17721
17789
  includeAttrs: [
@@ -17736,7 +17804,7 @@ const customMixin$6 = (superclass) =>
17736
17804
  }
17737
17805
  };
17738
17806
 
17739
- const { host: host$h, groupInput, errorMessage: errorMessage$1 } = {
17807
+ const { host: host$i, groupInput, errorMessage: errorMessage$1 } = {
17740
17808
  host: { selector: () => ':host' },
17741
17809
  groupInput: { selector: 'descope-text-field' },
17742
17810
  errorMessage: { selector: '::part(error-message)' },
@@ -17745,8 +17813,8 @@ const { host: host$h, groupInput, errorMessage: errorMessage$1 } = {
17745
17813
  const SamlGroupMappingsClass = compose(
17746
17814
  createStyleMixin({
17747
17815
  mappings: {
17748
- hostWidth: { ...host$h, property: 'width' },
17749
- hostDirection: { ...host$h, property: 'direction' },
17816
+ hostWidth: { ...host$i, property: 'width' },
17817
+ hostDirection: { ...host$i, property: 'direction' },
17750
17818
  groupNameInputMarginBottom: { ...groupInput, property: 'margin-bottom' },
17751
17819
  errorMessageIcon: { ...errorMessage$1, property: 'background-image' },
17752
17820
  errorMessageIconSize: { ...errorMessage$1, property: 'background-size' },
@@ -17764,7 +17832,7 @@ const SamlGroupMappingsClass = compose(
17764
17832
  proxyParentValidation: true,
17765
17833
  }),
17766
17834
  componentNameValidationMixin,
17767
- customMixin$6
17835
+ customMixin$7
17768
17836
  )(
17769
17837
  createProxy({
17770
17838
  slots: [],
@@ -17800,17 +17868,17 @@ const SamlGroupMappingsClass = compose(
17800
17868
  'error-message',
17801
17869
  'style',
17802
17870
  ],
17803
- componentName: componentName$G,
17871
+ componentName: componentName$H,
17804
17872
  })
17805
17873
  );
17806
17874
 
17807
- customElements.define(componentName$H, SamlGroupMappingsInternal);
17875
+ customElements.define(componentName$I, SamlGroupMappingsInternal);
17808
17876
 
17809
- customElements.define(componentName$G, SamlGroupMappingsClass);
17877
+ customElements.define(componentName$H, SamlGroupMappingsClass);
17810
17878
 
17811
- const componentName$F = getComponentName('radio-button');
17879
+ const componentName$G = getComponentName('radio-button');
17812
17880
 
17813
- const customMixin$5 = (superclass) =>
17881
+ const customMixin$6 = (superclass) =>
17814
17882
  class CustomMixin extends superclass {
17815
17883
  constructor() {
17816
17884
  super();
@@ -17867,18 +17935,18 @@ const RadioButtonClass = compose(
17867
17935
  }),
17868
17936
  composedProxyInputMixin({ proxyProps: ['setSelectionRange'] }),
17869
17937
  componentNameValidationMixin,
17870
- customMixin$5
17938
+ customMixin$6
17871
17939
  )(
17872
17940
  createProxy({
17873
17941
  slots: [''],
17874
17942
  wrappedEleName: 'vaadin-radio-button',
17875
17943
  excludeAttrsSync: ['tabindex', 'data', 'style'],
17876
17944
  includeForwardProps: ['checked', 'name', 'disabled'],
17877
- componentName: componentName$F,
17945
+ componentName: componentName$G,
17878
17946
  })
17879
17947
  );
17880
17948
 
17881
- const componentName$E = getComponentName('radio-group');
17949
+ const componentName$F = getComponentName('radio-group');
17882
17950
 
17883
17951
  const RadioGroupMixin = (superclass) =>
17884
17952
  class RadioGroupMixinClass extends superclass {
@@ -17892,12 +17960,12 @@ const RadioGroupMixin = (superclass) =>
17892
17960
 
17893
17961
  // we are overriding vaadin children getter so it will run on our custom elements
17894
17962
  Object.defineProperty(this.baseElement, 'children', {
17895
- get: () => this.querySelectorAll(componentName$F),
17963
+ get: () => this.querySelectorAll(componentName$G),
17896
17964
  });
17897
17965
 
17898
17966
  // we are overriding vaadin __filterRadioButtons so it will run on our custom elements
17899
17967
  this.baseElement.__filterRadioButtons = (nodes) =>
17900
- nodes.filter((node) => node.localName === componentName$F);
17968
+ nodes.filter((node) => node.localName === componentName$G);
17901
17969
 
17902
17970
  // vaadin radio group missing some input properties
17903
17971
  this.baseElement.setCustomValidity = () => {};
@@ -18072,14 +18140,14 @@ const RadioGroupClass = compose(
18072
18140
  `,
18073
18141
 
18074
18142
  excludeAttrsSync: ['tabindex', 'size', 'data', 'direction', 'style'],
18075
- componentName: componentName$E,
18143
+ componentName: componentName$F,
18076
18144
  includeForwardProps: ['value'],
18077
18145
  })
18078
18146
  );
18079
18147
 
18080
- customElements.define(componentName$F, RadioButtonClass);
18148
+ customElements.define(componentName$G, RadioButtonClass);
18081
18149
 
18082
- customElements.define(componentName$E, RadioGroupClass);
18150
+ customElements.define(componentName$F, RadioGroupClass);
18083
18151
 
18084
18152
  const defaultValidateSchema = () => true;
18085
18153
  const defaultItemRenderer = (item) => `<pre>${JSON.stringify(item, null, 4)}</pre>`;
@@ -18179,7 +18247,7 @@ const createDynamicDataMixin =
18179
18247
  }
18180
18248
  };
18181
18249
 
18182
- const componentName$D = getComponentName('scopes-list');
18250
+ const componentName$E = getComponentName('scopes-list');
18183
18251
  const variants = ['checkbox', 'switch'];
18184
18252
 
18185
18253
  const itemRenderer$6 = ({ id, desc, required = false }, _, ref) => {
@@ -18198,7 +18266,7 @@ const itemRenderer$6 = ({ id, desc, required = false }, _, ref) => {
18198
18266
  `;
18199
18267
  };
18200
18268
 
18201
- class RawScopesList extends createBaseClass({ componentName: componentName$D, baseSelector: 'div' }) {
18269
+ class RawScopesList extends createBaseClass({ componentName: componentName$E, baseSelector: 'div' }) {
18202
18270
  constructor() {
18203
18271
  super();
18204
18272
 
@@ -18303,9 +18371,9 @@ const ScopesListClass = compose(
18303
18371
  componentNameValidationMixin
18304
18372
  )(RawScopesList);
18305
18373
 
18306
- const componentName$C = getComponentName$1('list-item');
18374
+ const componentName$D = getComponentName$1('list-item');
18307
18375
 
18308
- const customMixin$4 = (superclass) =>
18376
+ const customMixin$5 = (superclass) =>
18309
18377
  class ListItemMixinClass extends superclass {
18310
18378
  constructor() {
18311
18379
  super();
@@ -18358,16 +18426,16 @@ const ListItemClass = compose$1(
18358
18426
  }),
18359
18427
  draggableMixin$1,
18360
18428
  componentNameValidationMixin$1,
18361
- customMixin$4,
18429
+ customMixin$5,
18362
18430
  activeableMixin,
18363
- )(createBaseClass$1({ componentName: componentName$C, baseSelector: 'slot' }));
18431
+ )(createBaseClass$1({ componentName: componentName$D, baseSelector: 'slot' }));
18364
18432
 
18365
- customElements.define(componentName$C, ListItemClass);
18433
+ customElements.define(componentName$D, ListItemClass);
18366
18434
 
18367
- const componentName$B = getComponentName$1('list');
18435
+ const componentName$C = getComponentName$1('list');
18368
18436
 
18369
18437
  class RawList extends createBaseClass$1({
18370
- componentName: componentName$B,
18438
+ componentName: componentName$C,
18371
18439
  baseSelector: '.wrapper',
18372
18440
  }) {
18373
18441
  static get observedAttributes() {
@@ -18549,15 +18617,15 @@ const ListClass = compose$1(
18549
18617
  componentNameValidationMixin$1,
18550
18618
  )(RawList);
18551
18619
 
18552
- customElements.define(componentName$B, ListClass);
18620
+ customElements.define(componentName$C, ListClass);
18553
18621
 
18554
- customElements.define(componentName$D, ScopesListClass);
18622
+ customElements.define(componentName$E, ScopesListClass);
18555
18623
 
18556
18624
  var arrowsImg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuMTQ0OTIgMTUuNjQ1TDcuNDk5OTIgMTRMMi44MzMyNSAxOC42NjY3TDcuNDk5OTIgMjMuMzMzM0w5LjE0NDkyIDIxLjY4ODNMNy4zMDE1OSAxOS44MzMzSDI0Ljk5OTlWMTcuNUg3LjMwMTU5TDkuMTQ0OTIgMTUuNjQ1WiIgZmlsbD0iIzYzNkM3NCIvPgo8cGF0aCBkPSJNMTkuODU1IDEyLjM1NTNMMjEuNSAxNC4wMDAzTDI2LjE2NjcgOS4zMzM2NkwyMS41IDQuNjY2OTlMMTkuODU1IDYuMzExOTlMMjEuNjk4MyA4LjE2Njk5SDRWMTAuNTAwM0gyMS42OTgzTDE5Ljg1NSAxMi4zNTUzWiIgZmlsbD0iIzYzNkM3NCIvPgo8L3N2Zz4K";
18557
18625
 
18558
- const componentName$A = getComponentName('third-party-app-logo');
18626
+ const componentName$B = getComponentName('third-party-app-logo');
18559
18627
  class RawThirdPartyAppLogoClass extends createBaseClass({
18560
- componentName: componentName$A,
18628
+ componentName: componentName$B,
18561
18629
  baseSelector: '.wrapper',
18562
18630
  }) {
18563
18631
  constructor() {
@@ -18654,9 +18722,9 @@ const ThirdPartyAppLogoClass = compose(
18654
18722
  componentNameValidationMixin
18655
18723
  )(RawThirdPartyAppLogoClass);
18656
18724
 
18657
- customElements.define(componentName$A, ThirdPartyAppLogoClass);
18725
+ customElements.define(componentName$B, ThirdPartyAppLogoClass);
18658
18726
 
18659
- const componentName$z = getComponentName('security-questions-setup');
18727
+ const componentName$A = getComponentName('security-questions-setup');
18660
18728
 
18661
18729
  const attrsToSync$1 = [
18662
18730
  'full-width',
@@ -18675,7 +18743,7 @@ const attrsToSync$1 = [
18675
18743
  ];
18676
18744
 
18677
18745
  const attrsToReRender$1 = ['count', 'questions'];
18678
- class RawSecurityQuestionsSetup extends createBaseClass({ componentName: componentName$z, baseSelector: 'div' }) {
18746
+ class RawSecurityQuestionsSetup extends createBaseClass({ componentName: componentName$A, baseSelector: 'div' }) {
18679
18747
  constructor() {
18680
18748
  super();
18681
18749
 
@@ -18783,7 +18851,7 @@ class RawSecurityQuestionsSetup extends createBaseClass({ componentName: compone
18783
18851
  return JSON.parse(this.getAttribute('questions')) || [];
18784
18852
  } catch (e) {
18785
18853
  // eslint-disable-next-line no-console
18786
- console.error(componentName$z, 'Error parsing questions attribute', e);
18854
+ console.error(componentName$A, 'Error parsing questions attribute', e);
18787
18855
  return [];
18788
18856
  }
18789
18857
  }
@@ -18890,9 +18958,9 @@ const SecurityQuestionsSetupClass = compose(
18890
18958
  componentNameValidationMixin
18891
18959
  )(RawSecurityQuestionsSetup);
18892
18960
 
18893
- customElements.define(componentName$z, SecurityQuestionsSetupClass);
18961
+ customElements.define(componentName$A, SecurityQuestionsSetupClass);
18894
18962
 
18895
- const componentName$y = getComponentName('security-questions-verify');
18963
+ const componentName$z = getComponentName('security-questions-verify');
18896
18964
 
18897
18965
  const textFieldsAttrs = [
18898
18966
  'full-width',
@@ -18916,7 +18984,7 @@ const attrMappings = {
18916
18984
  const attrsToSync = [...textFieldsAttrs, ...textsAttrs];
18917
18985
 
18918
18986
  const attrsToReRender = ['questions'];
18919
- class RawSecurityQuestionsVerify extends createBaseClass({ componentName: componentName$y, baseSelector: 'div' }) {
18987
+ class RawSecurityQuestionsVerify extends createBaseClass({ componentName: componentName$z, baseSelector: 'div' }) {
18920
18988
  constructor() {
18921
18989
  super();
18922
18990
 
@@ -18990,7 +19058,7 @@ class RawSecurityQuestionsVerify extends createBaseClass({ componentName: compon
18990
19058
  return JSON.parse(this.getAttribute('questions')) || [];
18991
19059
  } catch (e) {
18992
19060
  // eslint-disable-next-line no-console
18993
- console.error(componentName$y, 'Error parsing questions attribute', e);
19061
+ console.error(componentName$z, 'Error parsing questions attribute', e);
18994
19062
  return [];
18995
19063
  }
18996
19064
  }
@@ -19124,7 +19192,7 @@ const SecurityQuestionsVerifyClass = compose(
19124
19192
  componentNameValidationMixin
19125
19193
  )(RawSecurityQuestionsVerify);
19126
19194
 
19127
- customElements.define(componentName$y, SecurityQuestionsVerifyClass);
19195
+ customElements.define(componentName$z, SecurityQuestionsVerifyClass);
19128
19196
 
19129
19197
  // Matches any character that is not a digit, whitespace, or phone formatting character (+, -, (, ))
19130
19198
  const INVALID_PHONE_CHARS_RE = /[^\d\s+\-()]/;
@@ -19133,7 +19201,7 @@ const isNumericValue = (val) => !!val && !INVALID_PHONE_CHARS_RE.test(val);
19133
19201
 
19134
19202
  const sanitizeCountryCodePrefix = (val) => val.replace(/\+\d+-/, '');
19135
19203
 
19136
- const componentName$x = getComponentName('hybrid-field');
19204
+ const componentName$y = getComponentName('hybrid-field');
19137
19205
 
19138
19206
  const attrs = {
19139
19207
  shared: [
@@ -19200,7 +19268,7 @@ const PHONE_FIELD = 'descope-phone-field';
19200
19268
  const PHONE_INPUT_BOX_FIELD = 'descope-phone-input-box-field';
19201
19269
 
19202
19270
  const BaseClass$9 = createBaseClass({
19203
- componentName: componentName$x,
19271
+ componentName: componentName$y,
19204
19272
  baseSelector: 'div',
19205
19273
  });
19206
19274
 
@@ -19591,11 +19659,11 @@ const HybridFieldClass = compose(
19591
19659
  componentNameValidationMixin
19592
19660
  )(RawHybridField);
19593
19661
 
19594
- customElements.define(componentName$x, HybridFieldClass);
19662
+ customElements.define(componentName$y, HybridFieldClass);
19595
19663
 
19596
- const componentName$w = getComponentName('alert');
19664
+ const componentName$x = getComponentName('alert');
19597
19665
 
19598
- class RawAlert extends createBaseClass({ componentName: componentName$w, baseSelector: ':host > div' }) {
19666
+ class RawAlert extends createBaseClass({ componentName: componentName$x, baseSelector: ':host > div' }) {
19599
19667
  constructor() {
19600
19668
  super();
19601
19669
 
@@ -19716,13 +19784,13 @@ const AlertClass = compose(
19716
19784
  componentNameValidationMixin
19717
19785
  )(RawAlert);
19718
19786
 
19719
- customElements.define(componentName$w, AlertClass);
19787
+ customElements.define(componentName$x, AlertClass);
19720
19788
 
19721
- const componentName$v = getComponentName('hcaptcha');
19789
+ const componentName$w = getComponentName('hcaptcha');
19722
19790
 
19723
19791
  const observedAttributes$1 = ['enabled', 'site-key'];
19724
19792
 
19725
- const BaseInputClass$5 = createBaseInputClass({ componentName: componentName$v, baseSelector: ':host > div' });
19793
+ const BaseInputClass$5 = createBaseInputClass({ componentName: componentName$w, baseSelector: ':host > div' });
19726
19794
  class RawHcaptcha extends BaseInputClass$5 {
19727
19795
  static get observedAttributes() {
19728
19796
  return observedAttributes$1.concat(BaseInputClass$5.observedAttributes || []);
@@ -19850,7 +19918,7 @@ const HcaptchaClass = compose(
19850
19918
  componentNameValidationMixin
19851
19919
  )(RawHcaptcha);
19852
19920
 
19853
- customElements.define(componentName$v, HcaptchaClass);
19921
+ customElements.define(componentName$w, HcaptchaClass);
19854
19922
 
19855
19923
  const direction$1 = 'ltr';
19856
19924
 
@@ -20034,7 +20102,7 @@ const globals$1 = {
20034
20102
  fonts: fonts$1,
20035
20103
  direction: direction$1,
20036
20104
  };
20037
- const vars$1c = getThemeVars(globals$1);
20105
+ const vars$1d = getThemeVars(globals$1);
20038
20106
 
20039
20107
  const direction = 'ltr';
20040
20108
 
@@ -20233,7 +20301,7 @@ const mode = {
20233
20301
 
20234
20302
  const [helperTheme$7, helperRefs$7, helperVars$6] = createHelperVars$1(
20235
20303
  { mode },
20236
- componentName$1m,
20304
+ componentName$1n,
20237
20305
  );
20238
20306
 
20239
20307
  const button = {
@@ -20353,7 +20421,7 @@ const button = {
20353
20421
  },
20354
20422
  };
20355
20423
 
20356
- const vars$1b = {
20424
+ const vars$1c = {
20357
20425
  ...compVars$9,
20358
20426
  ...helperVars$6,
20359
20427
  };
@@ -20361,138 +20429,138 @@ const vars$1b = {
20361
20429
  var button$1 = /*#__PURE__*/Object.freeze({
20362
20430
  __proto__: null,
20363
20431
  default: button,
20364
- vars: vars$1b
20432
+ vars: vars$1c
20365
20433
  });
20366
20434
 
20367
20435
  const globalRefs$J = getThemeRefs$1(globals);
20368
- const vars$1a = TextClass.cssVarList;
20436
+ const vars$1b = TextClass.cssVarList;
20369
20437
 
20370
20438
  const text$1 = {
20371
- [vars$1a.hostDirection]: globalRefs$J.direction,
20372
- [vars$1a.textLineHeight]: '1.35em',
20373
- [vars$1a.textAlign]: 'start',
20374
- [vars$1a.textColor]: globalRefs$J.colors.surface.dark,
20439
+ [vars$1b.hostDirection]: globalRefs$J.direction,
20440
+ [vars$1b.textLineHeight]: '1.35em',
20441
+ [vars$1b.textAlign]: 'start',
20442
+ [vars$1b.textColor]: globalRefs$J.colors.surface.dark,
20375
20443
 
20376
20444
  variant: {
20377
20445
  h1: {
20378
- [vars$1a.fontSize]: globalRefs$J.typography.h1.size,
20379
- [vars$1a.fontWeight]: globalRefs$J.typography.h1.weight,
20380
- [vars$1a.fontFamily]: globalRefs$J.typography.h1.font,
20446
+ [vars$1b.fontSize]: globalRefs$J.typography.h1.size,
20447
+ [vars$1b.fontWeight]: globalRefs$J.typography.h1.weight,
20448
+ [vars$1b.fontFamily]: globalRefs$J.typography.h1.font,
20381
20449
  },
20382
20450
  h2: {
20383
- [vars$1a.fontSize]: globalRefs$J.typography.h2.size,
20384
- [vars$1a.fontWeight]: globalRefs$J.typography.h2.weight,
20385
- [vars$1a.fontFamily]: globalRefs$J.typography.h2.font,
20451
+ [vars$1b.fontSize]: globalRefs$J.typography.h2.size,
20452
+ [vars$1b.fontWeight]: globalRefs$J.typography.h2.weight,
20453
+ [vars$1b.fontFamily]: globalRefs$J.typography.h2.font,
20386
20454
  },
20387
20455
  h3: {
20388
- [vars$1a.fontSize]: globalRefs$J.typography.h3.size,
20389
- [vars$1a.fontWeight]: globalRefs$J.typography.h3.weight,
20390
- [vars$1a.fontFamily]: globalRefs$J.typography.h3.font,
20456
+ [vars$1b.fontSize]: globalRefs$J.typography.h3.size,
20457
+ [vars$1b.fontWeight]: globalRefs$J.typography.h3.weight,
20458
+ [vars$1b.fontFamily]: globalRefs$J.typography.h3.font,
20391
20459
  },
20392
20460
  subtitle1: {
20393
- [vars$1a.fontSize]: globalRefs$J.typography.subtitle1.size,
20394
- [vars$1a.fontWeight]: globalRefs$J.typography.subtitle1.weight,
20395
- [vars$1a.fontFamily]: globalRefs$J.typography.subtitle1.font,
20461
+ [vars$1b.fontSize]: globalRefs$J.typography.subtitle1.size,
20462
+ [vars$1b.fontWeight]: globalRefs$J.typography.subtitle1.weight,
20463
+ [vars$1b.fontFamily]: globalRefs$J.typography.subtitle1.font,
20396
20464
  },
20397
20465
  subtitle2: {
20398
- [vars$1a.fontSize]: globalRefs$J.typography.subtitle2.size,
20399
- [vars$1a.fontWeight]: globalRefs$J.typography.subtitle2.weight,
20400
- [vars$1a.fontFamily]: globalRefs$J.typography.subtitle2.font,
20466
+ [vars$1b.fontSize]: globalRefs$J.typography.subtitle2.size,
20467
+ [vars$1b.fontWeight]: globalRefs$J.typography.subtitle2.weight,
20468
+ [vars$1b.fontFamily]: globalRefs$J.typography.subtitle2.font,
20401
20469
  },
20402
20470
  body1: {
20403
- [vars$1a.fontSize]: globalRefs$J.typography.body1.size,
20404
- [vars$1a.fontWeight]: globalRefs$J.typography.body1.weight,
20405
- [vars$1a.fontFamily]: globalRefs$J.typography.body1.font,
20471
+ [vars$1b.fontSize]: globalRefs$J.typography.body1.size,
20472
+ [vars$1b.fontWeight]: globalRefs$J.typography.body1.weight,
20473
+ [vars$1b.fontFamily]: globalRefs$J.typography.body1.font,
20406
20474
  },
20407
20475
  body2: {
20408
- [vars$1a.fontSize]: globalRefs$J.typography.body2.size,
20409
- [vars$1a.fontWeight]: globalRefs$J.typography.body2.weight,
20410
- [vars$1a.fontFamily]: globalRefs$J.typography.body2.font,
20476
+ [vars$1b.fontSize]: globalRefs$J.typography.body2.size,
20477
+ [vars$1b.fontWeight]: globalRefs$J.typography.body2.weight,
20478
+ [vars$1b.fontFamily]: globalRefs$J.typography.body2.font,
20411
20479
  },
20412
20480
  },
20413
20481
 
20414
20482
  mode: {
20415
20483
  primary: {
20416
- [vars$1a.textColor]: globalRefs$J.colors.surface.contrast,
20484
+ [vars$1b.textColor]: globalRefs$J.colors.surface.contrast,
20417
20485
  },
20418
20486
  secondary: {
20419
- [vars$1a.textColor]: globalRefs$J.colors.surface.dark,
20487
+ [vars$1b.textColor]: globalRefs$J.colors.surface.dark,
20420
20488
  },
20421
20489
  error: {
20422
- [vars$1a.textColor]: globalRefs$J.colors.error.main,
20490
+ [vars$1b.textColor]: globalRefs$J.colors.error.main,
20423
20491
  },
20424
20492
  'error-dark': {
20425
- [vars$1a.textColor]: globalRefs$J.colors.error.dark,
20493
+ [vars$1b.textColor]: globalRefs$J.colors.error.dark,
20426
20494
  },
20427
20495
  success: {
20428
- [vars$1a.textColor]: globalRefs$J.colors.success.main,
20496
+ [vars$1b.textColor]: globalRefs$J.colors.success.main,
20429
20497
  },
20430
20498
  'success-dark': {
20431
- [vars$1a.textColor]: globalRefs$J.colors.success.dark,
20499
+ [vars$1b.textColor]: globalRefs$J.colors.success.dark,
20432
20500
  },
20433
20501
  warning: {
20434
- [vars$1a.textColor]: globalRefs$J.colors.warning.main,
20502
+ [vars$1b.textColor]: globalRefs$J.colors.warning.main,
20435
20503
  },
20436
20504
  'warning-dark': {
20437
- [vars$1a.textColor]: globalRefs$J.colors.warning.dark,
20505
+ [vars$1b.textColor]: globalRefs$J.colors.warning.dark,
20438
20506
  },
20439
20507
  },
20440
20508
 
20441
20509
  textAlign: {
20442
- right: { [vars$1a.textAlign]: 'right' },
20443
- left: { [vars$1a.textAlign]: 'left' },
20444
- center: { [vars$1a.textAlign]: 'center' },
20510
+ right: { [vars$1b.textAlign]: 'right' },
20511
+ left: { [vars$1b.textAlign]: 'left' },
20512
+ center: { [vars$1b.textAlign]: 'center' },
20445
20513
  },
20446
20514
 
20447
20515
  _fullWidth: {
20448
- [vars$1a.hostWidth]: '100%',
20516
+ [vars$1b.hostWidth]: '100%',
20449
20517
  },
20450
20518
 
20451
20519
  _italic: {
20452
- [vars$1a.fontStyle]: 'italic',
20520
+ [vars$1b.fontStyle]: 'italic',
20453
20521
  },
20454
20522
 
20455
20523
  _uppercase: {
20456
- [vars$1a.textTransform]: 'uppercase',
20524
+ [vars$1b.textTransform]: 'uppercase',
20457
20525
  },
20458
20526
 
20459
20527
  _lowercase: {
20460
- [vars$1a.textTransform]: 'lowercase',
20528
+ [vars$1b.textTransform]: 'lowercase',
20461
20529
  },
20462
20530
  };
20463
20531
 
20464
20532
  var text$2 = /*#__PURE__*/Object.freeze({
20465
20533
  __proto__: null,
20466
20534
  default: text$1,
20467
- vars: vars$1a
20535
+ vars: vars$1b
20468
20536
  });
20469
20537
 
20470
20538
  const globalRefs$I = getThemeRefs$1(globals);
20471
- const vars$19 = LinkClass.cssVarList;
20539
+ const vars$1a = LinkClass.cssVarList;
20472
20540
 
20473
20541
  const link = {
20474
- [vars$19.hostDirection]: globalRefs$I.direction,
20475
- [vars$19.cursor]: 'pointer',
20542
+ [vars$1a.hostDirection]: globalRefs$I.direction,
20543
+ [vars$1a.cursor]: 'pointer',
20476
20544
 
20477
- [vars$19.textColor]: globalRefs$I.colors.primary.main,
20545
+ [vars$1a.textColor]: globalRefs$I.colors.primary.main,
20478
20546
 
20479
20547
  textAlign: {
20480
- right: { [vars$19.textAlign]: 'right' },
20481
- left: { [vars$19.textAlign]: 'left' },
20482
- center: { [vars$19.textAlign]: 'center' },
20548
+ right: { [vars$1a.textAlign]: 'right' },
20549
+ left: { [vars$1a.textAlign]: 'left' },
20550
+ center: { [vars$1a.textAlign]: 'center' },
20483
20551
  },
20484
20552
 
20485
20553
  _fullWidth: {
20486
- [vars$19.hostWidth]: '100%',
20554
+ [vars$1a.hostWidth]: '100%',
20487
20555
  },
20488
20556
 
20489
20557
  _hover: {
20490
- [vars$19.textDecoration]: 'underline',
20558
+ [vars$1a.textDecoration]: 'underline',
20491
20559
  },
20492
20560
 
20493
20561
  mode: {
20494
20562
  secondary: {
20495
- [vars$19.textColor]: globalRefs$I.colors.secondary.main,
20563
+ [vars$1a.textColor]: globalRefs$I.colors.secondary.main,
20496
20564
  },
20497
20565
  },
20498
20566
  };
@@ -20500,37 +20568,37 @@ const link = {
20500
20568
  var link$1 = /*#__PURE__*/Object.freeze({
20501
20569
  __proto__: null,
20502
20570
  default: link,
20503
- vars: vars$19
20571
+ vars: vars$1a
20504
20572
  });
20505
20573
 
20506
20574
  const globalRefs$H = getThemeRefs$1(globals);
20507
- const vars$18 = EnrichedTextClass.cssVarList;
20575
+ const vars$19 = EnrichedTextClass.cssVarList;
20508
20576
 
20509
20577
  const enrichedText = {
20510
- [vars$18.hostDirection]: globalRefs$H.direction,
20511
- [vars$18.hostWidth]: useVar$1(vars$1a.hostWidth),
20578
+ [vars$19.hostDirection]: globalRefs$H.direction,
20579
+ [vars$19.hostWidth]: useVar$1(vars$1b.hostWidth),
20512
20580
 
20513
- [vars$18.textLineHeight]: useVar$1(vars$1a.textLineHeight),
20514
- [vars$18.textColor]: useVar$1(vars$1a.textColor),
20515
- [vars$18.textAlign]: useVar$1(vars$1a.textAlign),
20581
+ [vars$19.textLineHeight]: useVar$1(vars$1b.textLineHeight),
20582
+ [vars$19.textColor]: useVar$1(vars$1b.textColor),
20583
+ [vars$19.textAlign]: useVar$1(vars$1b.textAlign),
20516
20584
 
20517
- [vars$18.fontSize]: useVar$1(vars$1a.fontSize),
20518
- [vars$18.fontWeight]: useVar$1(vars$1a.fontWeight),
20519
- [vars$18.fontFamily]: useVar$1(vars$1a.fontFamily),
20585
+ [vars$19.fontSize]: useVar$1(vars$1b.fontSize),
20586
+ [vars$19.fontWeight]: useVar$1(vars$1b.fontWeight),
20587
+ [vars$19.fontFamily]: useVar$1(vars$1b.fontFamily),
20520
20588
 
20521
- [vars$18.linkColor]: useVar$1(vars$19.textColor),
20522
- [vars$18.linkTextDecoration]: 'none',
20523
- [vars$18.linkHoverTextDecoration]: 'underline',
20589
+ [vars$19.linkColor]: useVar$1(vars$1a.textColor),
20590
+ [vars$19.linkTextDecoration]: 'none',
20591
+ [vars$19.linkHoverTextDecoration]: 'underline',
20524
20592
 
20525
- [vars$18.fontWeightBold]: '900',
20526
- [vars$18.minWidth]: '0.25em',
20527
- [vars$18.minHeight]: '1.35em',
20593
+ [vars$19.fontWeightBold]: '900',
20594
+ [vars$19.minWidth]: '0.25em',
20595
+ [vars$19.minHeight]: '1.35em',
20528
20596
 
20529
- [vars$18.hostDisplay]: 'inline-block',
20597
+ [vars$19.hostDisplay]: 'inline-block',
20530
20598
 
20531
20599
  _empty: {
20532
20600
  _hideWhenEmpty: {
20533
- [vars$18.hostDisplay]: 'none',
20601
+ [vars$19.hostDisplay]: 'none',
20534
20602
  },
20535
20603
  },
20536
20604
  };
@@ -20538,10 +20606,10 @@ const enrichedText = {
20538
20606
  var enrichedText$1 = /*#__PURE__*/Object.freeze({
20539
20607
  __proto__: null,
20540
20608
  default: enrichedText,
20541
- vars: vars$18
20609
+ vars: vars$19
20542
20610
  });
20543
20611
 
20544
- const componentName$u = getComponentName$1('input-wrapper');
20612
+ const componentName$v = getComponentName$1('input-wrapper');
20545
20613
  const globalRefs$G = getThemeRefs$1(globals);
20546
20614
 
20547
20615
  const [theme$2, refs$1] = createHelperVars$1(
@@ -20671,114 +20739,114 @@ const [theme$2, refs$1] = createHelperVars$1(
20671
20739
  inputTextSecurity: 'disc',
20672
20740
  },
20673
20741
  },
20674
- componentName$u,
20742
+ componentName$v,
20675
20743
  );
20676
20744
 
20677
20745
  const globalRefs$F = getThemeRefs$1(globals);
20678
- const vars$17 = ComboBoxClass.cssVarList;
20679
-
20680
- const comboBox = {
20681
- [vars$17.hostWidth]: refs$1.width,
20682
- [vars$17.hostDirection]: refs$1.direction,
20683
- [vars$17.fontSize]: refs$1.fontSize,
20684
- [vars$17.fontFamily]: refs$1.fontFamily,
20685
- [vars$17.labelFontSize]: refs$1.labelFontSize,
20686
- [vars$17.labelFontWeight]: refs$1.labelFontWeight,
20687
- [vars$17.inputValueFontWeight]: refs$1.inputValueFontWeight,
20688
- [vars$17.inputPlaceholderFontWeight]: refs$1.inputPlaceholderFontWeight,
20689
- [vars$17.helperTextFontWeight]: refs$1.helperTextFontWeight,
20690
- [vars$17.errorMessageFontWeight]: refs$1.errorMessageFontWeight,
20691
- [vars$17.labelTextColor]: refs$1.labelTextColor,
20692
- [vars$17.errorMessageTextColor]: refs$1.errorMessageTextColor,
20693
- [vars$17.inputBorderColor]: refs$1.borderColor,
20694
- [vars$17.inputBorderWidth]: refs$1.borderWidth,
20695
- [vars$17.inputBorderStyle]: refs$1.borderStyle,
20696
- [vars$17.inputBorderRadius]: refs$1.borderRadius,
20697
- [vars$17.inputOutlineColor]: refs$1.outlineColor,
20698
- [vars$17.inputOutlineOffset]: refs$1.outlineOffset,
20699
- [vars$17.inputOutlineWidth]: refs$1.outlineWidth,
20700
- [vars$17.inputOutlineStyle]: refs$1.outlineStyle,
20701
- [vars$17.labelRequiredIndicator]: refs$1.requiredIndicator,
20702
- [vars$17.inputValueTextColor]: refs$1.valueTextColor,
20703
- [vars$17.inputPlaceholderTextColor]: refs$1.placeholderTextColor,
20704
- [vars$17.inputBackgroundColor]: refs$1.backgroundColor,
20705
- [vars$17.inputHorizontalPadding]: refs$1.horizontalPadding,
20706
- [vars$17.inputHeight]: refs$1.inputHeight,
20707
- [vars$17.inputDropdownButtonColor]: globalRefs$F.colors.surface.dark,
20708
- [vars$17.inputDropdownButtonCursor]: 'pointer',
20709
- [vars$17.inputDropdownButtonSize]: refs$1.toggleButtonSize,
20710
- [vars$17.inputDropdownButtonOffset]: globalRefs$F.spacing.xs,
20711
- [vars$17.overlayItemPaddingInlineStart]: globalRefs$F.spacing.xs,
20712
- [vars$17.overlayItemPaddingInlineEnd]: globalRefs$F.spacing.lg,
20713
- [vars$17.labelPosition]: refs$1.labelPosition,
20714
- [vars$17.labelTopPosition]: refs$1.labelTopPosition,
20715
- [vars$17.labelHorizontalPosition]: refs$1.labelHorizontalPosition,
20716
- [vars$17.inputTransformY]: refs$1.inputTransformY,
20717
- [vars$17.inputTransition]: refs$1.inputTransition,
20718
- [vars$17.marginInlineStart]: refs$1.marginInlineStart,
20719
- [vars$17.placeholderOpacity]: refs$1.placeholderOpacity,
20720
- [vars$17.inputVerticalAlignment]: refs$1.inputVerticalAlignment,
20721
- [vars$17.valueInputHeight]: refs$1.valueInputHeight,
20722
- [vars$17.valueInputMarginBottom]: refs$1.valueInputMarginBottom,
20746
+ const vars$18 = ComboBoxClass.cssVarList;
20747
+
20748
+ const comboBox$1 = {
20749
+ [vars$18.hostWidth]: refs$1.width,
20750
+ [vars$18.hostDirection]: refs$1.direction,
20751
+ [vars$18.fontSize]: refs$1.fontSize,
20752
+ [vars$18.fontFamily]: refs$1.fontFamily,
20753
+ [vars$18.labelFontSize]: refs$1.labelFontSize,
20754
+ [vars$18.labelFontWeight]: refs$1.labelFontWeight,
20755
+ [vars$18.inputValueFontWeight]: refs$1.inputValueFontWeight,
20756
+ [vars$18.inputPlaceholderFontWeight]: refs$1.inputPlaceholderFontWeight,
20757
+ [vars$18.helperTextFontWeight]: refs$1.helperTextFontWeight,
20758
+ [vars$18.errorMessageFontWeight]: refs$1.errorMessageFontWeight,
20759
+ [vars$18.labelTextColor]: refs$1.labelTextColor,
20760
+ [vars$18.errorMessageTextColor]: refs$1.errorMessageTextColor,
20761
+ [vars$18.inputBorderColor]: refs$1.borderColor,
20762
+ [vars$18.inputBorderWidth]: refs$1.borderWidth,
20763
+ [vars$18.inputBorderStyle]: refs$1.borderStyle,
20764
+ [vars$18.inputBorderRadius]: refs$1.borderRadius,
20765
+ [vars$18.inputOutlineColor]: refs$1.outlineColor,
20766
+ [vars$18.inputOutlineOffset]: refs$1.outlineOffset,
20767
+ [vars$18.inputOutlineWidth]: refs$1.outlineWidth,
20768
+ [vars$18.inputOutlineStyle]: refs$1.outlineStyle,
20769
+ [vars$18.labelRequiredIndicator]: refs$1.requiredIndicator,
20770
+ [vars$18.inputValueTextColor]: refs$1.valueTextColor,
20771
+ [vars$18.inputPlaceholderTextColor]: refs$1.placeholderTextColor,
20772
+ [vars$18.inputBackgroundColor]: refs$1.backgroundColor,
20773
+ [vars$18.inputHorizontalPadding]: refs$1.horizontalPadding,
20774
+ [vars$18.inputHeight]: refs$1.inputHeight,
20775
+ [vars$18.inputDropdownButtonColor]: globalRefs$F.colors.surface.dark,
20776
+ [vars$18.inputDropdownButtonCursor]: 'pointer',
20777
+ [vars$18.inputDropdownButtonSize]: refs$1.toggleButtonSize,
20778
+ [vars$18.inputDropdownButtonOffset]: globalRefs$F.spacing.xs,
20779
+ [vars$18.overlayItemPaddingInlineStart]: globalRefs$F.spacing.xs,
20780
+ [vars$18.overlayItemPaddingInlineEnd]: globalRefs$F.spacing.lg,
20781
+ [vars$18.labelPosition]: refs$1.labelPosition,
20782
+ [vars$18.labelTopPosition]: refs$1.labelTopPosition,
20783
+ [vars$18.labelHorizontalPosition]: refs$1.labelHorizontalPosition,
20784
+ [vars$18.inputTransformY]: refs$1.inputTransformY,
20785
+ [vars$18.inputTransition]: refs$1.inputTransition,
20786
+ [vars$18.marginInlineStart]: refs$1.marginInlineStart,
20787
+ [vars$18.placeholderOpacity]: refs$1.placeholderOpacity,
20788
+ [vars$18.inputVerticalAlignment]: refs$1.inputVerticalAlignment,
20789
+ [vars$18.valueInputHeight]: refs$1.valueInputHeight,
20790
+ [vars$18.valueInputMarginBottom]: refs$1.valueInputMarginBottom,
20723
20791
 
20724
20792
  // error message icon
20725
- [vars$17.errorMessageIcon]: refs$1.errorMessageIcon,
20726
- [vars$17.errorMessageIconSize]: refs$1.errorMessageIconSize,
20727
- [vars$17.errorMessageIconPadding]: refs$1.errorMessageIconPadding,
20728
- [vars$17.errorMessageIconRepeat]: refs$1.errorMessageIconRepeat,
20729
- [vars$17.errorMessageIconPosition]: refs$1.errorMessageIconPosition,
20730
- [vars$17.errorMessageFontSize]: refs$1.errorMessageFontSize,
20793
+ [vars$18.errorMessageIcon]: refs$1.errorMessageIcon,
20794
+ [vars$18.errorMessageIconSize]: refs$1.errorMessageIconSize,
20795
+ [vars$18.errorMessageIconPadding]: refs$1.errorMessageIconPadding,
20796
+ [vars$18.errorMessageIconRepeat]: refs$1.errorMessageIconRepeat,
20797
+ [vars$18.errorMessageIconPosition]: refs$1.errorMessageIconPosition,
20798
+ [vars$18.errorMessageFontSize]: refs$1.errorMessageFontSize,
20731
20799
 
20732
20800
  _readonly: {
20733
- [vars$17.inputDropdownButtonCursor]: 'default',
20801
+ [vars$18.inputDropdownButtonCursor]: 'default',
20734
20802
  },
20735
20803
 
20736
20804
  // Overlay theme exposed via the component:
20737
- [vars$17.overlayFontSize]: refs$1.fontSize,
20738
- [vars$17.overlayFontFamily]: refs$1.fontFamily,
20739
- [vars$17.overlayCursor]: 'pointer',
20740
- [vars$17.overlayItemBoxShadow]: 'none',
20741
- [vars$17.overlayBackground]: refs$1.backgroundColor,
20742
- [vars$17.overlayTextColor]: refs$1.valueTextColor,
20743
- [vars$17.overlayCheckmarkDisplay]: 'initial',
20744
- [vars$17.overlaySelectedItemBackground]: 'initial',
20745
- [vars$17.overlaySelectedItemHoverBackground]:
20805
+ [vars$18.overlayFontSize]: refs$1.fontSize,
20806
+ [vars$18.overlayFontFamily]: refs$1.fontFamily,
20807
+ [vars$18.overlayCursor]: 'pointer',
20808
+ [vars$18.overlayItemBoxShadow]: 'none',
20809
+ [vars$18.overlayBackground]: refs$1.backgroundColor,
20810
+ [vars$18.overlayTextColor]: refs$1.valueTextColor,
20811
+ [vars$18.overlayCheckmarkDisplay]: 'initial',
20812
+ [vars$18.overlaySelectedItemBackground]: 'initial',
20813
+ [vars$18.overlaySelectedItemHoverBackground]:
20746
20814
  globalRefs$F.colors.primary.highlight,
20747
- [vars$17.overlaySelectedItemFocusBackground]:
20815
+ [vars$18.overlaySelectedItemFocusBackground]:
20748
20816
  globalRefs$F.colors.primary.highlight,
20749
- [vars$17.overlayItemHoverBackground]: globalRefs$F.colors.primary.highlight,
20750
- [vars$17.overlayItemFocusBackground]: globalRefs$F.colors.primary.highlight,
20817
+ [vars$18.overlayItemHoverBackground]: globalRefs$F.colors.primary.highlight,
20818
+ [vars$18.overlayItemFocusBackground]: globalRefs$F.colors.primary.highlight,
20751
20819
 
20752
20820
  // Overlay direct theme:
20753
- [vars$17.overlay.margin]: '0',
20821
+ [vars$18.overlay.margin]: '0',
20754
20822
 
20755
- [vars$17.overlay.contentHeight]: '100%',
20756
- [vars$17.overlay.contentOpacity]: '1',
20757
- [vars$17.overlay.scrollerMinHeight]: '1px',
20823
+ [vars$18.overlay.contentHeight]: '100%',
20824
+ [vars$18.overlay.contentOpacity]: '1',
20825
+ [vars$18.overlay.scrollerMinHeight]: '1px',
20758
20826
  _loading: {
20759
- [vars$17.overlay.loaderTop]: '50%',
20760
- [vars$17.overlay.loaderLeft]: '50%',
20761
- [vars$17.overlay.loaderRight]: 'auto',
20827
+ [vars$18.overlay.loaderTop]: '50%',
20828
+ [vars$18.overlay.loaderLeft]: '50%',
20829
+ [vars$18.overlay.loaderRight]: 'auto',
20762
20830
  // Margin has to be negative to center the loader, "transform" can't be used because the animation uses it
20763
20831
  // Margin has to be half of the width/height of the loader to center it
20764
- [vars$17.overlay.loaderMargin]: '-15px 0 0 -15px',
20765
- [vars$17.overlay.loaderWidth]: '30px',
20766
- [vars$17.overlay.loaderHeight]: '30px',
20767
- [vars$17.overlay.loaderBorder]: '2px solid transparent',
20768
- [vars$17.overlay.loaderBorderColor]:
20832
+ [vars$18.overlay.loaderMargin]: '-15px 0 0 -15px',
20833
+ [vars$18.overlay.loaderWidth]: '30px',
20834
+ [vars$18.overlay.loaderHeight]: '30px',
20835
+ [vars$18.overlay.loaderBorder]: '2px solid transparent',
20836
+ [vars$18.overlay.loaderBorderColor]:
20769
20837
  `${globalRefs$F.colors.primary.highlight} ${globalRefs$F.colors.primary.highlight} ${globalRefs$F.colors.primary.main} ${globalRefs$F.colors.primary.main}`,
20770
- [vars$17.overlay.loaderBorderRadius]: '50%',
20771
- [vars$17.overlay.contentHeight]: '100px',
20772
- [vars$17.overlay.scrollerMinHeight]: '100px',
20773
- [vars$17.overlay.contentOpacity]: '0',
20838
+ [vars$18.overlay.loaderBorderRadius]: '50%',
20839
+ [vars$18.overlay.contentHeight]: '100px',
20840
+ [vars$18.overlay.scrollerMinHeight]: '100px',
20841
+ [vars$18.overlay.contentOpacity]: '0',
20774
20842
  },
20775
20843
  };
20776
20844
 
20777
- var comboBox$1 = /*#__PURE__*/Object.freeze({
20845
+ var comboBox$2 = /*#__PURE__*/Object.freeze({
20778
20846
  __proto__: null,
20779
- comboBox: comboBox,
20780
- default: comboBox,
20781
- vars: vars$17
20847
+ comboBox: comboBox$1,
20848
+ default: comboBox$1,
20849
+ vars: vars$18
20782
20850
  });
20783
20851
 
20784
20852
  const globalRefs$E = getThemeRefs$1(globals);
@@ -20787,46 +20855,46 @@ const [helperTheme$6, helperRefs$6] = createHelperVars$1(
20787
20855
  {
20788
20856
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
20789
20857
  },
20790
- componentName$K,
20858
+ componentName$L,
20791
20859
  );
20792
20860
 
20793
20861
  const { shadowColor: shadowColor$8 } = helperRefs$6;
20794
20862
 
20795
- const vars$16 = BadgeClass.cssVarList;
20863
+ const vars$17 = BadgeClass.cssVarList;
20796
20864
 
20797
20865
  const badge = {
20798
20866
  ...helperTheme$6,
20799
20867
 
20800
- [vars$16.hostWidth]: 'fit-content',
20801
- [vars$16.hostDirection]: globalRefs$E.direction,
20868
+ [vars$17.hostWidth]: 'fit-content',
20869
+ [vars$17.hostDirection]: globalRefs$E.direction,
20802
20870
 
20803
- [vars$16.textAlign]: 'center',
20871
+ [vars$17.textAlign]: 'center',
20804
20872
 
20805
- [vars$16.fontFamily]: globalRefs$E.fonts.font1.family,
20806
- [vars$16.fontWeight]: '400',
20873
+ [vars$17.fontFamily]: globalRefs$E.fonts.font1.family,
20874
+ [vars$17.fontWeight]: '400',
20807
20875
 
20808
- [vars$16.verticalPadding]: '0.25em',
20809
- [vars$16.horizontalPadding]: '0.5em',
20876
+ [vars$17.verticalPadding]: '0.25em',
20877
+ [vars$17.horizontalPadding]: '0.5em',
20810
20878
 
20811
- [vars$16.borderWidth]: globalRefs$E.border.xs,
20812
- [vars$16.borderRadius]: globalRefs$E.radius.xs,
20813
- [vars$16.borderColor]: 'transparent',
20814
- [vars$16.borderStyle]: 'solid',
20879
+ [vars$17.borderWidth]: globalRefs$E.border.xs,
20880
+ [vars$17.borderRadius]: globalRefs$E.radius.xs,
20881
+ [vars$17.borderColor]: 'transparent',
20882
+ [vars$17.borderStyle]: 'solid',
20815
20883
 
20816
20884
  _fullWidth: {
20817
- [vars$16.hostWidth]: '100%',
20885
+ [vars$17.hostWidth]: '100%',
20818
20886
  },
20819
20887
 
20820
20888
  size: {
20821
- xs: { [vars$16.fontSize]: '12px' },
20822
- sm: { [vars$16.fontSize]: '14px' },
20823
- md: { [vars$16.fontSize]: '16px' },
20824
- lg: { [vars$16.fontSize]: '18px' },
20889
+ xs: { [vars$17.fontSize]: '12px' },
20890
+ sm: { [vars$17.fontSize]: '14px' },
20891
+ md: { [vars$17.fontSize]: '16px' },
20892
+ lg: { [vars$17.fontSize]: '18px' },
20825
20893
  },
20826
20894
 
20827
20895
  variant: {
20828
20896
  contained: {
20829
- [vars$16.backgroundColor]: globalRefs$E.colors.surface.main,
20897
+ [vars$17.backgroundColor]: globalRefs$E.colors.surface.main,
20830
20898
  },
20831
20899
  },
20832
20900
 
@@ -20845,58 +20913,58 @@ const badge = {
20845
20913
  // },
20846
20914
 
20847
20915
  _shrinkToIndicator: {
20848
- [vars$16.hostWidth]: '13px',
20849
- [vars$16.hostHeight]: '13px',
20850
- [vars$16.borderRadius]: '50%',
20851
- [vars$16.fontSize]: '0',
20852
- [vars$16.textIndent]: '-9999px',
20916
+ [vars$17.hostWidth]: '13px',
20917
+ [vars$17.hostHeight]: '13px',
20918
+ [vars$17.borderRadius]: '50%',
20919
+ [vars$17.fontSize]: '0',
20920
+ [vars$17.textIndent]: '-9999px',
20853
20921
  },
20854
20922
 
20855
20923
  mode: {
20856
20924
  default: {
20857
- [vars$16.textColor]: globalRefs$E.colors.surface.dark,
20925
+ [vars$17.textColor]: globalRefs$E.colors.surface.dark,
20858
20926
  _bordered: {
20859
- [vars$16.borderColor]: globalRefs$E.colors.surface.light,
20927
+ [vars$17.borderColor]: globalRefs$E.colors.surface.light,
20860
20928
  },
20861
20929
  },
20862
20930
  primary: {
20863
- [vars$16.textColor]: globalRefs$E.colors.primary.main,
20931
+ [vars$17.textColor]: globalRefs$E.colors.primary.main,
20864
20932
  _bordered: {
20865
- [vars$16.borderColor]: globalRefs$E.colors.primary.light,
20933
+ [vars$17.borderColor]: globalRefs$E.colors.primary.light,
20866
20934
  },
20867
20935
  },
20868
20936
  secondary: {
20869
- [vars$16.textColor]: globalRefs$E.colors.secondary.main,
20937
+ [vars$17.textColor]: globalRefs$E.colors.secondary.main,
20870
20938
  _bordered: {
20871
- [vars$16.borderColor]: globalRefs$E.colors.secondary.light,
20939
+ [vars$17.borderColor]: globalRefs$E.colors.secondary.light,
20872
20940
  },
20873
20941
  },
20874
20942
  error: {
20875
- [vars$16.textColor]: globalRefs$E.colors.error.main,
20943
+ [vars$17.textColor]: globalRefs$E.colors.error.main,
20876
20944
  _bordered: {
20877
- [vars$16.borderColor]: globalRefs$E.colors.error.light,
20945
+ [vars$17.borderColor]: globalRefs$E.colors.error.light,
20878
20946
  },
20879
20947
  },
20880
20948
  success: {
20881
- [vars$16.textColor]: globalRefs$E.colors.success.main,
20949
+ [vars$17.textColor]: globalRefs$E.colors.success.main,
20882
20950
  _bordered: {
20883
- [vars$16.borderColor]: globalRefs$E.colors.success.light,
20951
+ [vars$17.borderColor]: globalRefs$E.colors.success.light,
20884
20952
  },
20885
20953
  },
20886
20954
  },
20887
20955
 
20888
20956
  shadow: {
20889
20957
  sm: {
20890
- [vars$16.boxShadow]: `${globalRefs$E.shadow.wide.sm} ${shadowColor$8}, ${globalRefs$E.shadow.narrow.sm} ${shadowColor$8}`,
20958
+ [vars$17.boxShadow]: `${globalRefs$E.shadow.wide.sm} ${shadowColor$8}, ${globalRefs$E.shadow.narrow.sm} ${shadowColor$8}`,
20891
20959
  },
20892
20960
  md: {
20893
- [vars$16.boxShadow]: `${globalRefs$E.shadow.wide.md} ${shadowColor$8}, ${globalRefs$E.shadow.narrow.md} ${shadowColor$8}`,
20961
+ [vars$17.boxShadow]: `${globalRefs$E.shadow.wide.md} ${shadowColor$8}, ${globalRefs$E.shadow.narrow.md} ${shadowColor$8}`,
20894
20962
  },
20895
20963
  lg: {
20896
- [vars$16.boxShadow]: `${globalRefs$E.shadow.wide.lg} ${shadowColor$8}, ${globalRefs$E.shadow.narrow.lg} ${shadowColor$8}`,
20964
+ [vars$17.boxShadow]: `${globalRefs$E.shadow.wide.lg} ${shadowColor$8}, ${globalRefs$E.shadow.narrow.lg} ${shadowColor$8}`,
20897
20965
  },
20898
20966
  xl: {
20899
- [vars$16.boxShadow]: `${globalRefs$E.shadow.wide.xl} ${shadowColor$8}, ${globalRefs$E.shadow.narrow.xl} ${shadowColor$8}`,
20967
+ [vars$17.boxShadow]: `${globalRefs$E.shadow.wide.xl} ${shadowColor$8}, ${globalRefs$E.shadow.narrow.xl} ${shadowColor$8}`,
20900
20968
  },
20901
20969
  },
20902
20970
  };
@@ -20904,12 +20972,12 @@ const badge = {
20904
20972
  var badge$1 = /*#__PURE__*/Object.freeze({
20905
20973
  __proto__: null,
20906
20974
  default: badge,
20907
- vars: vars$16
20975
+ vars: vars$17
20908
20976
  });
20909
20977
 
20910
- const componentName$t = getComponentName$1('avatar');
20978
+ const componentName$u = getComponentName$1('avatar');
20911
20979
  class RawAvatar extends createBaseClass$1({
20912
- componentName: componentName$t,
20980
+ componentName: componentName$u,
20913
20981
  baseSelector: ':host > .wrapper',
20914
20982
  }) {
20915
20983
  constructor() {
@@ -20987,7 +21055,7 @@ class RawAvatar extends createBaseClass$1({
20987
21055
  }
20988
21056
  }
20989
21057
 
20990
- const { host: host$g, editableBadge, avatar: avatar$2 } = {
21058
+ const { host: host$h, editableBadge, avatar: avatar$2 } = {
20991
21059
  host: { selector: () => ':host' },
20992
21060
  editableBadge: { selector: '> .editableBadge' },
20993
21061
  avatar: { selector: 'vaadin-avatar' },
@@ -20997,12 +21065,12 @@ const AvatarClass = compose$1(
20997
21065
  createStyleMixin$1({
20998
21066
  mappings: {
20999
21067
  hostWidth: [
21000
- { ...host$g, property: 'width' },
21001
- { ...host$g, property: 'min-width' },
21068
+ { ...host$h, property: 'width' },
21069
+ { ...host$h, property: 'min-width' },
21002
21070
  ],
21003
- hostHeight: { ...host$g, property: 'height' },
21004
- cursor: [avatar$2, host$g],
21005
- hostDirection: { ...host$g, property: 'direction' },
21071
+ hostHeight: { ...host$h, property: 'height' },
21072
+ cursor: [avatar$2, host$h],
21073
+ hostDirection: { ...host$h, property: 'direction' },
21006
21074
  avatarTextColor: { ...avatar$2, property: 'color' },
21007
21075
  avatarBackgroundColor: { ...avatar$2, property: 'background-color' },
21008
21076
  editableIconColor: { ...editableBadge, property: 'color' },
@@ -21060,37 +21128,37 @@ const avatar = {
21060
21128
  },
21061
21129
  };
21062
21130
 
21063
- const vars$15 = {
21131
+ const vars$16 = {
21064
21132
  ...compVars$8,
21065
21133
  };
21066
21134
 
21067
21135
  var avatar$1 = /*#__PURE__*/Object.freeze({
21068
21136
  __proto__: null,
21069
21137
  default: avatar,
21070
- vars: vars$15
21138
+ vars: vars$16
21071
21139
  });
21072
21140
 
21073
- const vars$14 = IconClass.cssVarList;
21141
+ const vars$15 = IconClass.cssVarList;
21074
21142
 
21075
21143
  const icon$1 = {};
21076
21144
 
21077
21145
  var icon$2 = /*#__PURE__*/Object.freeze({
21078
21146
  __proto__: null,
21079
21147
  default: icon$1,
21080
- vars: vars$14
21148
+ vars: vars$15
21081
21149
  });
21082
21150
 
21083
- const vars$13 = ImageClass.cssVarList;
21151
+ const vars$14 = ImageClass.cssVarList;
21084
21152
 
21085
21153
  const image = {};
21086
21154
 
21087
21155
  var image$1 = /*#__PURE__*/Object.freeze({
21088
21156
  __proto__: null,
21089
21157
  default: image,
21090
- vars: vars$13
21158
+ vars: vars$14
21091
21159
  });
21092
21160
 
21093
- const componentName$s = getComponentName$1('apps-list');
21161
+ const componentName$t = getComponentName$1('apps-list');
21094
21162
 
21095
21163
  const itemRenderer$5 = ({ name, icon, url }, _, ref) => `
21096
21164
  <a ${url ? `href="${url}" title="${url}"` : ''} ${ref.openInSameWindow ? '' : 'target="_blank"'}>
@@ -21110,7 +21178,7 @@ const itemRenderer$5 = ({ name, icon, url }, _, ref) => `
21110
21178
  </a>
21111
21179
  `;
21112
21180
 
21113
- const customMixin$3 = (superclass) =>
21181
+ const customMixin$4 = (superclass) =>
21114
21182
  class AppsListMixinClass extends superclass {
21115
21183
  // size controls both item logo size and font size
21116
21184
  get size() {
@@ -21216,13 +21284,13 @@ const AppsListClass = compose$1(
21216
21284
  }),
21217
21285
  draggableMixin$1,
21218
21286
  componentNameValidationMixin$1,
21219
- customMixin$3,
21287
+ customMixin$4,
21220
21288
  )(
21221
21289
  createProxy$1({
21222
21290
  slots: ['empty-state'],
21223
21291
  wrappedEleName: 'descope-list',
21224
21292
  excludeAttrsSync: ['tabindex', 'class', 'empty', 'style'],
21225
- componentName: componentName$s,
21293
+ componentName: componentName$t,
21226
21294
  style: () => `
21227
21295
  :host {
21228
21296
  width: 100%;
@@ -21257,60 +21325,60 @@ const AppsListClass = compose$1(
21257
21325
  }),
21258
21326
  );
21259
21327
 
21260
- const vars$12 = AppsListClass.cssVarList;
21328
+ const vars$13 = AppsListClass.cssVarList;
21261
21329
  const globalRefs$C = getThemeRefs$1(globals);
21262
21330
 
21263
21331
  const defaultHeight = '400px';
21264
21332
 
21265
21333
  const appsList = {
21266
- [vars$12.itemsTextAlign]: 'start',
21267
- [vars$12.hostDirection]: globalRefs$C.direction,
21268
- [vars$12.maxHeight]: defaultHeight,
21269
- [vars$12.itemHoverBackgroundColor]: globalRefs$C.colors.surface.highlight,
21334
+ [vars$13.itemsTextAlign]: 'start',
21335
+ [vars$13.hostDirection]: globalRefs$C.direction,
21336
+ [vars$13.maxHeight]: defaultHeight,
21337
+ [vars$13.itemHoverBackgroundColor]: globalRefs$C.colors.surface.highlight,
21270
21338
 
21271
21339
  _empty: {
21272
- [vars$12.minHeight]: defaultHeight,
21340
+ [vars$13.minHeight]: defaultHeight,
21273
21341
  },
21274
21342
 
21275
21343
  size: {
21276
21344
  xs: {
21277
- [vars$12.itemsFontSize]: '14px',
21278
- [vars$12.itemsFontWeight]: 'normal',
21345
+ [vars$13.itemsFontSize]: '14px',
21346
+ [vars$13.itemsFontWeight]: 'normal',
21279
21347
  },
21280
21348
  sm: {
21281
- [vars$12.itemsFontSize]: '14px',
21282
- [vars$12.itemsFontWeight]: 'normal',
21349
+ [vars$13.itemsFontSize]: '14px',
21350
+ [vars$13.itemsFontWeight]: 'normal',
21283
21351
  },
21284
21352
  md: {
21285
- [vars$12.itemsFontSize]: '16px',
21286
- [vars$12.itemsFontWeight]: 'normal',
21353
+ [vars$13.itemsFontSize]: '16px',
21354
+ [vars$13.itemsFontWeight]: 'normal',
21287
21355
  },
21288
21356
  lg: {
21289
- [vars$12.itemsFontSize]: '20px',
21290
- [vars$12.itemsFontWeight]: 'normal',
21357
+ [vars$13.itemsFontSize]: '20px',
21358
+ [vars$13.itemsFontWeight]: 'normal',
21291
21359
  },
21292
21360
  },
21293
21361
 
21294
21362
  itemPadding: {
21295
21363
  xs: {
21296
- [vars$12.itemVerticalPadding]: globalRefs$C.spacing.xs,
21297
- [vars$12.itemHorizontalPadding]: globalRefs$C.spacing.xs,
21364
+ [vars$13.itemVerticalPadding]: globalRefs$C.spacing.xs,
21365
+ [vars$13.itemHorizontalPadding]: globalRefs$C.spacing.xs,
21298
21366
  },
21299
21367
  sm: {
21300
- [vars$12.itemVerticalPadding]: globalRefs$C.spacing.sm,
21301
- [vars$12.itemHorizontalPadding]: globalRefs$C.spacing.sm,
21368
+ [vars$13.itemVerticalPadding]: globalRefs$C.spacing.sm,
21369
+ [vars$13.itemHorizontalPadding]: globalRefs$C.spacing.sm,
21302
21370
  },
21303
21371
  md: {
21304
- [vars$12.itemVerticalPadding]: globalRefs$C.spacing.md,
21305
- [vars$12.itemHorizontalPadding]: globalRefs$C.spacing.md,
21372
+ [vars$13.itemVerticalPadding]: globalRefs$C.spacing.md,
21373
+ [vars$13.itemHorizontalPadding]: globalRefs$C.spacing.md,
21306
21374
  },
21307
21375
  lg: {
21308
- [vars$12.itemVerticalPadding]: globalRefs$C.spacing.lg,
21309
- [vars$12.itemHorizontalPadding]: globalRefs$C.spacing.lg,
21376
+ [vars$13.itemVerticalPadding]: globalRefs$C.spacing.lg,
21377
+ [vars$13.itemHorizontalPadding]: globalRefs$C.spacing.lg,
21310
21378
  },
21311
21379
  xl: {
21312
- [vars$12.itemVerticalPadding]: globalRefs$C.spacing.xl,
21313
- [vars$12.itemHorizontalPadding]: globalRefs$C.spacing.xl,
21380
+ [vars$13.itemVerticalPadding]: globalRefs$C.spacing.xl,
21381
+ [vars$13.itemHorizontalPadding]: globalRefs$C.spacing.xl,
21314
21382
  },
21315
21383
  },
21316
21384
  };
@@ -21318,7 +21386,7 @@ const appsList = {
21318
21386
  var appsList$1 = /*#__PURE__*/Object.freeze({
21319
21387
  __proto__: null,
21320
21388
  default: appsList,
21321
- vars: vars$12
21389
+ vars: vars$13
21322
21390
  });
21323
21391
 
21324
21392
  const globalRefs$B = getThemeRefs$1(globals);
@@ -21327,7 +21395,7 @@ const compVars$7 = ListClass.cssVarList;
21327
21395
 
21328
21396
  const [helperTheme$5, helperRefs$5, helperVars$5] = createHelperVars$1(
21329
21397
  { shadowColor: '#00000020' },
21330
- componentName$B,
21398
+ componentName$C,
21331
21399
  );
21332
21400
 
21333
21401
  const { shadowColor: shadowColor$7 } = helperRefs$5;
@@ -21388,7 +21456,7 @@ const list = {
21388
21456
  },
21389
21457
  };
21390
21458
 
21391
- const vars$11 = {
21459
+ const vars$12 = {
21392
21460
  ...compVars$7,
21393
21461
  ...helperVars$5,
21394
21462
  };
@@ -21396,53 +21464,53 @@ const vars$11 = {
21396
21464
  var list$1 = /*#__PURE__*/Object.freeze({
21397
21465
  __proto__: null,
21398
21466
  default: list,
21399
- vars: vars$11
21467
+ vars: vars$12
21400
21468
  });
21401
21469
 
21402
21470
  const globalRefs$A = getThemeRefs$1(globals);
21403
21471
 
21404
- const vars$10 = ListItemClass.cssVarList;
21472
+ const vars$11 = ListItemClass.cssVarList;
21405
21473
 
21406
21474
  const listItem = {
21407
- [vars$10.backgroundColor]: globalRefs$A.colors.surface.main,
21408
- [vars$10.verticalPadding]: globalRefs$A.spacing.lg,
21409
- [vars$10.horizontalPadding]: globalRefs$A.spacing.lg,
21410
- [vars$10.gap]: globalRefs$A.spacing.md,
21411
- [vars$10.borderStyle]: 'solid',
21412
- [vars$10.borderWidth]: globalRefs$A.border.xs,
21413
- [vars$10.borderColor]: globalRefs$A.colors.surface.main,
21414
- [vars$10.borderRadius]: globalRefs$A.radius.sm,
21415
- [vars$10.cursor]: 'pointer',
21416
- [vars$10.alignItems]: 'center',
21417
- [vars$10.flexDirection]: 'row',
21418
- [vars$10.transition]: 'border-color 0.2s, background-color 0.2s',
21475
+ [vars$11.backgroundColor]: globalRefs$A.colors.surface.main,
21476
+ [vars$11.verticalPadding]: globalRefs$A.spacing.lg,
21477
+ [vars$11.horizontalPadding]: globalRefs$A.spacing.lg,
21478
+ [vars$11.gap]: globalRefs$A.spacing.md,
21479
+ [vars$11.borderStyle]: 'solid',
21480
+ [vars$11.borderWidth]: globalRefs$A.border.xs,
21481
+ [vars$11.borderColor]: globalRefs$A.colors.surface.main,
21482
+ [vars$11.borderRadius]: globalRefs$A.radius.sm,
21483
+ [vars$11.cursor]: 'pointer',
21484
+ [vars$11.alignItems]: 'center',
21485
+ [vars$11.flexDirection]: 'row',
21486
+ [vars$11.transition]: 'border-color 0.2s, background-color 0.2s',
21419
21487
 
21420
21488
  variant: {
21421
21489
  tile: {
21422
- [vars$10.alignItems]: 'flex-start',
21423
- [vars$10.flexDirection]: 'column',
21424
- [vars$10.borderColor]: globalRefs$A.colors.surface.light,
21490
+ [vars$11.alignItems]: 'flex-start',
21491
+ [vars$11.flexDirection]: 'column',
21492
+ [vars$11.borderColor]: globalRefs$A.colors.surface.light,
21425
21493
  },
21426
21494
  },
21427
21495
 
21428
21496
  _hover: {
21429
- [vars$10.backgroundColor]: globalRefs$A.colors.surface.highlight,
21497
+ [vars$11.backgroundColor]: globalRefs$A.colors.surface.highlight,
21430
21498
  },
21431
21499
 
21432
21500
  _active: {
21433
- [vars$10.backgroundColor]: globalRefs$A.colors.surface.main,
21434
- [vars$10.borderColor]: globalRefs$A.colors.primary.light,
21435
- [vars$10.outline]: `1px solid ${globalRefs$A.colors.primary.light}`,
21501
+ [vars$11.backgroundColor]: globalRefs$A.colors.surface.main,
21502
+ [vars$11.borderColor]: globalRefs$A.colors.primary.light,
21503
+ [vars$11.outline]: `1px solid ${globalRefs$A.colors.primary.light}`,
21436
21504
  },
21437
21505
  };
21438
21506
 
21439
21507
  var listItem$1 = /*#__PURE__*/Object.freeze({
21440
21508
  __proto__: null,
21441
21509
  default: listItem,
21442
- vars: vars$10
21510
+ vars: vars$11
21443
21511
  });
21444
21512
 
21445
- const componentName$r = getComponentName$1('multi-select-combo-box');
21513
+ const componentName$s = getComponentName$1('multi-select-combo-box');
21446
21514
 
21447
21515
  const multiSelectComboBoxMixin = (superclass) =>
21448
21516
  class MultiSelectComboBoxMixinClass extends superclass {
@@ -21550,9 +21618,35 @@ const multiSelectComboBoxMixin = (superclass) =>
21550
21618
  );
21551
21619
  }
21552
21620
 
21621
+ // Whether `data` is what this combo box builds its items from. Items can instead be given as
21622
+ // light DOM children (see the observeChildren call in init), and those are the consumer's to
21623
+ // manage - so an absent, empty or unparseable `data` attribute means "not my items".
21624
+ #hasDataSource() {
21625
+ if (this.#data) return true;
21626
+
21627
+ const dataAttr = this.getAttribute('data');
21628
+ if (!dataAttr) return false;
21629
+
21630
+ try {
21631
+ return Array.isArray(JSON.parse(dataAttr));
21632
+ } catch {
21633
+ // Already reported by the `data` getter, and a broken attribute is no reason to throw
21634
+ // away items that are on screen.
21635
+ return false;
21636
+ }
21637
+ }
21638
+
21553
21639
  renderItems() {
21554
21640
  const template = this.getItemsTemplate();
21555
- if (template) this.innerHTML = template;
21641
+ if (template) {
21642
+ this.innerHTML = template;
21643
+ return;
21644
+ }
21645
+
21646
+ // An empty list has to empty the dropdown. Without this the previous items stayed on screen
21647
+ // after the data said there were none, so a picker refreshed with nothing left would still
21648
+ // offer the old rows.
21649
+ if (this.#hasDataSource()) this.innerHTML = '';
21556
21650
  }
21557
21651
 
21558
21652
  updateSelectedItems() {
@@ -21821,7 +21915,7 @@ const multiSelectComboBoxMixin = (superclass) =>
21821
21915
  };
21822
21916
 
21823
21917
  const {
21824
- host: host$f,
21918
+ host: host$g,
21825
21919
  inputField,
21826
21920
  inputElement,
21827
21921
  placeholder,
@@ -21861,9 +21955,9 @@ const {
21861
21955
  const MultiSelectComboBoxClass = compose$1(
21862
21956
  createStyleMixin$1({
21863
21957
  mappings: {
21864
- hostWidth: { ...host$f, property: 'width' },
21865
- hostDirection: { ...host$f, property: 'direction' },
21866
- fontSize: [{}, host$f],
21958
+ hostWidth: { ...host$g, property: 'width' },
21959
+ hostDirection: { ...host$g, property: 'direction' },
21960
+ fontSize: [{}, host$g],
21867
21961
  chipFontSize: { ...chipLabel, property: 'font-size' },
21868
21962
  fontFamily: [
21869
21963
  label,
@@ -22105,13 +22199,13 @@ const MultiSelectComboBoxClass = compose$1(
22105
22199
 
22106
22200
  `,
22107
22201
  excludeAttrsSync: ['tabindex', 'size', 'data', 'placeholder', 'style'],
22108
- componentName: componentName$r,
22202
+ componentName: componentName$s,
22109
22203
  includeForwardProps: ['items', 'renderer', 'selectedItems'],
22110
22204
  }),
22111
22205
  );
22112
22206
 
22113
- const componentName$q = getComponentName$1('multi-line-mappings');
22114
- const BaseClass$8 = createBaseClass$1({ componentName: componentName$q });
22207
+ const componentName$r = getComponentName$1('multi-line-mappings');
22208
+ const BaseClass$8 = createBaseClass$1({ componentName: componentName$r });
22115
22209
 
22116
22210
  const parseJSON = (value, fallback, source = 'unknown') => {
22117
22211
  if (typeof value !== 'string' || !value?.trim()) {
@@ -22818,7 +22912,7 @@ class RawMultiLineMappingsClass extends BaseClass$8 {
22818
22912
  }
22819
22913
  }
22820
22914
 
22821
- const host$e = { selector: () => ':host' };
22915
+ const host$f = { selector: () => ':host' };
22822
22916
  const rows = { selector: '.rows' };
22823
22917
  const row = { selector: '.row' };
22824
22918
  const addAction = { selector: '.add-action' };
@@ -22826,9 +22920,9 @@ const addAction = { selector: '.add-action' };
22826
22920
  const MultiLineMappingsClass = compose$1(
22827
22921
  createStyleMixin$1({
22828
22922
  mappings: {
22829
- hostWidth: { ...host$e, property: 'width' },
22923
+ hostWidth: { ...host$f, property: 'width' },
22830
22924
  hostDirection: [
22831
- { ...host$e, property: 'direction' },
22925
+ { ...host$f, property: 'direction' },
22832
22926
  {
22833
22927
  selector: MultiSelectComboBoxClass.componentName,
22834
22928
  property: MultiSelectComboBoxClass.cssVarList.hostDirection,
@@ -22849,122 +22943,122 @@ const MultiLineMappingsClass = compose$1(
22849
22943
  draggableMixin$1,
22850
22944
  )(RawMultiLineMappingsClass);
22851
22945
 
22852
- const vars$$ = MultiLineMappingsClass.cssVarList;
22946
+ const vars$10 = MultiLineMappingsClass.cssVarList;
22853
22947
 
22854
22948
  const multiLineMappings = {
22855
- [vars$$.hostDirection]: refs$1.direction,
22949
+ [vars$10.hostDirection]: refs$1.direction,
22856
22950
 
22857
- [vars$$.rowsGap]: globals.spacing.sm,
22858
- [vars$$.rowGap]: globals.spacing.sm,
22859
- [vars$$.rowAlignItems]: 'flex-end',
22860
- [vars$$.rowWrap]: 'nowrap',
22951
+ [vars$10.rowsGap]: globals.spacing.sm,
22952
+ [vars$10.rowGap]: globals.spacing.sm,
22953
+ [vars$10.rowAlignItems]: 'flex-end',
22954
+ [vars$10.rowWrap]: 'nowrap',
22861
22955
 
22862
- [vars$$.addActionJustifyContent]: 'flex-start',
22863
- [vars$$.addActionMarginTop]: globals.spacing.xs,
22956
+ [vars$10.addActionJustifyContent]: 'flex-start',
22957
+ [vars$10.addActionMarginTop]: globals.spacing.xs,
22864
22958
 
22865
22959
  _fullWidth: {
22866
- [vars$$.hostWidth]: '100%',
22960
+ [vars$10.hostWidth]: '100%',
22867
22961
  },
22868
22962
  };
22869
22963
 
22870
22964
  var multiLineMappings$1 = /*#__PURE__*/Object.freeze({
22871
22965
  __proto__: null,
22872
22966
  default: multiLineMappings,
22873
- vars: vars$$
22967
+ vars: vars$10
22874
22968
  });
22875
22969
 
22876
22970
  const globalRefs$z = getThemeRefs$1(globals);
22877
- const vars$_ = MultiSelectComboBoxClass.cssVarList;
22971
+ const vars$$ = MultiSelectComboBoxClass.cssVarList;
22878
22972
 
22879
22973
  const multiSelectComboBox = {
22880
- [vars$_.hostWidth]: refs$1.width,
22881
- [vars$_.hostDirection]: refs$1.direction,
22882
- [vars$_.fontSize]: refs$1.fontSize,
22883
- [vars$_.fontFamily]: refs$1.fontFamily,
22884
- [vars$_.labelFontSize]: refs$1.labelFontSize,
22885
- [vars$_.labelFontWeight]: refs$1.labelFontWeight,
22886
- [vars$_.inputValueFontWeight]: refs$1.inputValueFontWeight,
22887
- [vars$_.inputPlaceholderFontWeight]: refs$1.inputPlaceholderFontWeight,
22888
- [vars$_.helperTextFontWeight]: refs$1.helperTextFontWeight,
22889
- [vars$_.errorMessageFontWeight]: refs$1.errorMessageFontWeight,
22890
- [vars$_.labelTextColor]: refs$1.labelTextColor,
22891
- [vars$_.errorMessageTextColor]: refs$1.errorMessageTextColor,
22892
- [vars$_.inputBorderColor]: refs$1.borderColor,
22893
- [vars$_.inputBorderWidth]: refs$1.borderWidth,
22894
- [vars$_.inputBorderStyle]: refs$1.borderStyle,
22895
- [vars$_.inputBorderRadius]: refs$1.borderRadius,
22896
- [vars$_.inputOutlineColor]: refs$1.outlineColor,
22897
- [vars$_.inputOutlineOffset]: refs$1.outlineOffset,
22898
- [vars$_.inputOutlineWidth]: refs$1.outlineWidth,
22899
- [vars$_.inputOutlineStyle]: refs$1.outlineStyle,
22900
- [vars$_.labelRequiredIndicator]: refs$1.requiredIndicator,
22901
- [vars$_.inputValueTextColor]: refs$1.valueTextColor,
22902
- [vars$_.inputPlaceholderTextColor]: refs$1.placeholderTextColor,
22903
- [vars$_.inputBackgroundColor]: refs$1.backgroundColor,
22904
- [vars$_.inputHorizontalPadding]: refs$1.horizontalPadding,
22905
- [vars$_.inputVerticalPadding]: refs$1.verticalPadding,
22906
- [vars$_.inputHeight]: refs$1.inputHeight,
22907
- [vars$_.inputDropdownButtonColor]: globalRefs$z.colors.surface.dark,
22908
- [vars$_.inputDropdownButtonCursor]: 'pointer',
22909
- [vars$_.inputDropdownButtonSize]: refs$1.toggleButtonSize,
22910
- [vars$_.inputDropdownButtonOffset]: globalRefs$z.spacing.xs,
22911
- [vars$_.overlayItemPaddingInlineStart]: globalRefs$z.spacing.xs,
22912
- [vars$_.overlayItemPaddingInlineEnd]: globalRefs$z.spacing.lg,
22913
- [vars$_.chipFontSize]: refs$1.chipFontSize,
22914
- [vars$_.chipTextColor]: globalRefs$z.colors.surface.contrast,
22915
- [vars$_.chipBackgroundColor]: globalRefs$z.colors.surface.light,
22916
- [vars$_.labelPosition]: refs$1.labelPosition,
22917
- [vars$_.labelTopPosition]: refs$1.labelTopPosition,
22918
- [vars$_.labelLeftPosition]: refs$1.labelLeftPosition,
22919
- [vars$_.labelHorizontalPosition]: refs$1.labelHorizontalPosition,
22920
- [vars$_.inputTransformY]: refs$1.inputTransformY,
22921
- [vars$_.inputTransition]: refs$1.inputTransition,
22922
- [vars$_.marginInlineStart]: refs$1.marginInlineStart,
22923
- [vars$_.placeholderOpacity]: refs$1.placeholderOpacity,
22924
- [vars$_.inputVerticalAlignment]: refs$1.inputVerticalAlignment,
22925
-
22926
- [vars$_.errorMessageIcon]: refs$1.errorMessageIcon,
22927
- [vars$_.errorMessageIconSize]: refs$1.errorMessageIconSize,
22928
- [vars$_.errorMessageIconPadding]: refs$1.errorMessageIconPadding,
22929
- [vars$_.errorMessageIconRepeat]: refs$1.errorMessageIconRepeat,
22930
- [vars$_.errorMessageIconPosition]: refs$1.errorMessageIconPosition,
22931
- [vars$_.errorMessageFontSize]: refs$1.errorMessageFontSize,
22974
+ [vars$$.hostWidth]: refs$1.width,
22975
+ [vars$$.hostDirection]: refs$1.direction,
22976
+ [vars$$.fontSize]: refs$1.fontSize,
22977
+ [vars$$.fontFamily]: refs$1.fontFamily,
22978
+ [vars$$.labelFontSize]: refs$1.labelFontSize,
22979
+ [vars$$.labelFontWeight]: refs$1.labelFontWeight,
22980
+ [vars$$.inputValueFontWeight]: refs$1.inputValueFontWeight,
22981
+ [vars$$.inputPlaceholderFontWeight]: refs$1.inputPlaceholderFontWeight,
22982
+ [vars$$.helperTextFontWeight]: refs$1.helperTextFontWeight,
22983
+ [vars$$.errorMessageFontWeight]: refs$1.errorMessageFontWeight,
22984
+ [vars$$.labelTextColor]: refs$1.labelTextColor,
22985
+ [vars$$.errorMessageTextColor]: refs$1.errorMessageTextColor,
22986
+ [vars$$.inputBorderColor]: refs$1.borderColor,
22987
+ [vars$$.inputBorderWidth]: refs$1.borderWidth,
22988
+ [vars$$.inputBorderStyle]: refs$1.borderStyle,
22989
+ [vars$$.inputBorderRadius]: refs$1.borderRadius,
22990
+ [vars$$.inputOutlineColor]: refs$1.outlineColor,
22991
+ [vars$$.inputOutlineOffset]: refs$1.outlineOffset,
22992
+ [vars$$.inputOutlineWidth]: refs$1.outlineWidth,
22993
+ [vars$$.inputOutlineStyle]: refs$1.outlineStyle,
22994
+ [vars$$.labelRequiredIndicator]: refs$1.requiredIndicator,
22995
+ [vars$$.inputValueTextColor]: refs$1.valueTextColor,
22996
+ [vars$$.inputPlaceholderTextColor]: refs$1.placeholderTextColor,
22997
+ [vars$$.inputBackgroundColor]: refs$1.backgroundColor,
22998
+ [vars$$.inputHorizontalPadding]: refs$1.horizontalPadding,
22999
+ [vars$$.inputVerticalPadding]: refs$1.verticalPadding,
23000
+ [vars$$.inputHeight]: refs$1.inputHeight,
23001
+ [vars$$.inputDropdownButtonColor]: globalRefs$z.colors.surface.dark,
23002
+ [vars$$.inputDropdownButtonCursor]: 'pointer',
23003
+ [vars$$.inputDropdownButtonSize]: refs$1.toggleButtonSize,
23004
+ [vars$$.inputDropdownButtonOffset]: globalRefs$z.spacing.xs,
23005
+ [vars$$.overlayItemPaddingInlineStart]: globalRefs$z.spacing.xs,
23006
+ [vars$$.overlayItemPaddingInlineEnd]: globalRefs$z.spacing.lg,
23007
+ [vars$$.chipFontSize]: refs$1.chipFontSize,
23008
+ [vars$$.chipTextColor]: globalRefs$z.colors.surface.contrast,
23009
+ [vars$$.chipBackgroundColor]: globalRefs$z.colors.surface.light,
23010
+ [vars$$.labelPosition]: refs$1.labelPosition,
23011
+ [vars$$.labelTopPosition]: refs$1.labelTopPosition,
23012
+ [vars$$.labelLeftPosition]: refs$1.labelLeftPosition,
23013
+ [vars$$.labelHorizontalPosition]: refs$1.labelHorizontalPosition,
23014
+ [vars$$.inputTransformY]: refs$1.inputTransformY,
23015
+ [vars$$.inputTransition]: refs$1.inputTransition,
23016
+ [vars$$.marginInlineStart]: refs$1.marginInlineStart,
23017
+ [vars$$.placeholderOpacity]: refs$1.placeholderOpacity,
23018
+ [vars$$.inputVerticalAlignment]: refs$1.inputVerticalAlignment,
23019
+
23020
+ [vars$$.errorMessageIcon]: refs$1.errorMessageIcon,
23021
+ [vars$$.errorMessageIconSize]: refs$1.errorMessageIconSize,
23022
+ [vars$$.errorMessageIconPadding]: refs$1.errorMessageIconPadding,
23023
+ [vars$$.errorMessageIconRepeat]: refs$1.errorMessageIconRepeat,
23024
+ [vars$$.errorMessageIconPosition]: refs$1.errorMessageIconPosition,
23025
+ [vars$$.errorMessageFontSize]: refs$1.errorMessageFontSize,
22932
23026
 
22933
23027
  labelType: {
22934
23028
  floating: {
22935
- [vars$_.inputHorizontalPadding]: '0.25em',
23029
+ [vars$$.inputHorizontalPadding]: '0.25em',
22936
23030
  _hasValue: {
22937
- [vars$_.inputHorizontalPadding]: '0.45em',
23031
+ [vars$$.inputHorizontalPadding]: '0.45em',
22938
23032
  },
22939
23033
  },
22940
23034
  },
22941
23035
 
22942
23036
  _readonly: {
22943
- [vars$_.inputDropdownButtonCursor]: 'default',
23037
+ [vars$$.inputDropdownButtonCursor]: 'default',
22944
23038
  },
22945
23039
 
22946
- [vars$_.overlayFontSize]: refs$1.fontSize,
22947
- [vars$_.overlayFontFamily]: refs$1.fontFamily,
22948
- [vars$_.overlayCursor]: 'pointer',
22949
- [vars$_.overlayItemBoxShadow]: 'none',
22950
- [vars$_.overlayBackground]: refs$1.backgroundColor,
22951
- [vars$_.overlayTextColor]: refs$1.valueTextColor,
23040
+ [vars$$.overlayFontSize]: refs$1.fontSize,
23041
+ [vars$$.overlayFontFamily]: refs$1.fontFamily,
23042
+ [vars$$.overlayCursor]: 'pointer',
23043
+ [vars$$.overlayItemBoxShadow]: 'none',
23044
+ [vars$$.overlayBackground]: refs$1.backgroundColor,
23045
+ [vars$$.overlayTextColor]: refs$1.valueTextColor,
22952
23046
 
22953
- [vars$_.overlay.minHeight]: '400px',
22954
- [vars$_.overlay.margin]: '0',
23047
+ [vars$$.overlay.minHeight]: '400px',
23048
+ [vars$$.overlay.margin]: '0',
22955
23049
  };
22956
23050
 
22957
23051
  var multiSelectComboBox$1 = /*#__PURE__*/Object.freeze({
22958
23052
  __proto__: null,
22959
23053
  default: multiSelectComboBox,
22960
23054
  multiSelectComboBox: multiSelectComboBox,
22961
- vars: vars$_
23055
+ vars: vars$$
22962
23056
  });
22963
23057
 
22964
- const componentName$p = getComponentName$1('autocomplete-field-internal');
23058
+ const componentName$q = getComponentName$1('autocomplete-field-internal');
22965
23059
 
22966
23060
  const BaseInputClass$4 = createBaseInputClass$1({
22967
- componentName: componentName$p,
23061
+ componentName: componentName$q,
22968
23062
  baseSelector: '',
22969
23063
  });
22970
23064
  const observedAttrs$4 = [];
@@ -23169,9 +23263,9 @@ class AutocompleteFieldInternal extends BaseInputClass$4 {
23169
23263
  }
23170
23264
  }
23171
23265
 
23172
- const componentName$o = getComponentName$1('autocomplete-field');
23266
+ const componentName$p = getComponentName$1('autocomplete-field');
23173
23267
 
23174
- const customMixin$2 = (superclass) =>
23268
+ const customMixin$3 = (superclass) =>
23175
23269
  class AutocompleteFieldMixinClass extends superclass {
23176
23270
  get defaultValue() {
23177
23271
  return this.getAttribute('default-value');
@@ -23190,15 +23284,15 @@ const customMixin$2 = (superclass) =>
23190
23284
  const template = document.createElement('template');
23191
23285
 
23192
23286
  template.innerHTML = `
23193
- <${componentName$p}
23287
+ <${componentName$q}
23194
23288
  tabindex="-1"
23195
- ></${componentName$p}>
23289
+ ></${componentName$q}>
23196
23290
  `;
23197
23291
 
23198
23292
  this.baseElement.appendChild(template.content.cloneNode(true));
23199
23293
 
23200
23294
  this.inputElement = this.shadowRoot.querySelector(
23201
- componentName$p,
23295
+ componentName$q,
23202
23296
  );
23203
23297
 
23204
23298
  forwardAttrs$1(this, this.inputElement, {
@@ -23238,7 +23332,7 @@ const customMixin$2 = (superclass) =>
23238
23332
  }
23239
23333
  };
23240
23334
 
23241
- const { host: host$d } = {
23335
+ const { host: host$e } = {
23242
23336
  host: { selector: () => ':host' },
23243
23337
  };
23244
23338
 
@@ -23248,9 +23342,9 @@ const AutocompleteFieldClass = compose$1(
23248
23342
  }),
23249
23343
  createStyleMixin$1({
23250
23344
  mappings: {
23251
- hostWidth: { ...host$d, property: 'width' },
23252
- hostDirection: { ...host$d, property: 'direction' },
23253
- fontSize: { ...host$d },
23345
+ hostWidth: { ...host$e, property: 'width' },
23346
+ hostDirection: { ...host$e, property: 'direction' },
23347
+ fontSize: { ...host$e },
23254
23348
  checkmarkDisplay: {
23255
23349
  selector: ComboBoxClass.componentName,
23256
23350
  property: ComboBoxClass.cssVarList.overlayCheckmarkDisplay,
@@ -23288,7 +23382,7 @@ const AutocompleteFieldClass = compose$1(
23288
23382
  proxyParentValidation: true,
23289
23383
  }),
23290
23384
  componentNameValidationMixin$1,
23291
- customMixin$2,
23385
+ customMixin$3,
23292
23386
  )(
23293
23387
  createProxy$1({
23294
23388
  slots: [],
@@ -23317,34 +23411,34 @@ const AutocompleteFieldClass = compose$1(
23317
23411
  }
23318
23412
  `,
23319
23413
  excludeAttrsSync: ['tabindex', 'error-message', 'label', 'style'],
23320
- componentName: componentName$o,
23414
+ componentName: componentName$p,
23321
23415
  }),
23322
23416
  );
23323
23417
 
23324
- const vars$Z = AutocompleteFieldClass.cssVarList;
23418
+ const vars$_ = AutocompleteFieldClass.cssVarList;
23325
23419
  const globalRefs$y = getThemeRefs$1(globals);
23326
23420
 
23327
23421
  const autocompleteField = {
23328
- [vars$Z.hostWidth]: refs$1.width,
23329
- [vars$Z.hostDirection]: refs$1.direction,
23330
- [vars$Z.fontSize]: refs$1.fontSize,
23331
- [vars$Z.checkmarkDisplay]: 'none',
23332
- [vars$Z.itemPaddingInlineStart]: globalRefs$y.spacing.lg,
23333
- [vars$Z.itemPaddingInlineEnd]: globalRefs$y.spacing.lg,
23334
- [vars$Z.selectedItemBackground]: globalRefs$y.colors.primary.light,
23335
- [vars$Z.selectedItemHoverBackground]: globalRefs$y.colors.primary.light,
23336
- [vars$Z.selectedItemFocusBackground]: globalRefs$y.colors.primary.light,
23337
- [vars$Z.itemHoverBackground]: globalRefs$y.colors.primary.highlight,
23422
+ [vars$_.hostWidth]: refs$1.width,
23423
+ [vars$_.hostDirection]: refs$1.direction,
23424
+ [vars$_.fontSize]: refs$1.fontSize,
23425
+ [vars$_.checkmarkDisplay]: 'none',
23426
+ [vars$_.itemPaddingInlineStart]: globalRefs$y.spacing.lg,
23427
+ [vars$_.itemPaddingInlineEnd]: globalRefs$y.spacing.lg,
23428
+ [vars$_.selectedItemBackground]: globalRefs$y.colors.primary.light,
23429
+ [vars$_.selectedItemHoverBackground]: globalRefs$y.colors.primary.light,
23430
+ [vars$_.selectedItemFocusBackground]: globalRefs$y.colors.primary.light,
23431
+ [vars$_.itemHoverBackground]: globalRefs$y.colors.primary.highlight,
23338
23432
 
23339
23433
  _fullWidth: {
23340
- [vars$Z.hostWidth]: '100%',
23434
+ [vars$_.hostWidth]: '100%',
23341
23435
  },
23342
23436
  };
23343
23437
 
23344
23438
  var autocompleteField$1 = /*#__PURE__*/Object.freeze({
23345
23439
  __proto__: null,
23346
23440
  default: autocompleteField,
23347
- vars: vars$Z
23441
+ vars: vars$_
23348
23442
  });
23349
23443
 
23350
23444
  const initGoogleMapsLoader = (apiKey) => {
@@ -23571,7 +23665,7 @@ class RadarConnector extends createBaseConnectorClass() {
23571
23665
  }
23572
23666
  }
23573
23667
 
23574
- const componentName$n = getComponentName$1('address-field-internal');
23668
+ const componentName$o = getComponentName$1('address-field-internal');
23575
23669
 
23576
23670
  const GOOGLE_MAPS_CONNECTOR_TEMPLATE = 'google-maps-places';
23577
23671
  const RADAR_CONNECTOR_TEMPLATE = 'radar';
@@ -23582,7 +23676,7 @@ const CONNECTOR_CLASSES = {
23582
23676
  };
23583
23677
 
23584
23678
  const BaseInputClass$3 = createBaseInputClass$1({
23585
- componentName: componentName$n,
23679
+ componentName: componentName$o,
23586
23680
  baseSelector: '',
23587
23681
  });
23588
23682
  const initConnectorAttrs = ['public-api-key'];
@@ -23689,9 +23783,9 @@ const AddressFieldInternal = compose$1(
23689
23783
  connectorMixin({ connectorClasses: CONNECTOR_CLASSES }),
23690
23784
  )(RawAddressFieldInternal);
23691
23785
 
23692
- const componentName$m = getComponentName$1('address-field');
23786
+ const componentName$n = getComponentName$1('address-field');
23693
23787
 
23694
- const customMixin$1 = (superclass) =>
23788
+ const customMixin$2 = (superclass) =>
23695
23789
  class AddressFieldMixinClass extends superclass {
23696
23790
  get defaultValue() {
23697
23791
  return this.getAttribute('default-value');
@@ -23718,15 +23812,15 @@ const customMixin$1 = (superclass) =>
23718
23812
  const template = document.createElement('template');
23719
23813
 
23720
23814
  template.innerHTML = `
23721
- <${componentName$n}
23815
+ <${componentName$o}
23722
23816
  tabindex="-1"
23723
- ></${componentName$n}>
23817
+ ></${componentName$o}>
23724
23818
  `;
23725
23819
 
23726
23820
  this.baseElement.appendChild(template.content.cloneNode(true));
23727
23821
 
23728
23822
  this.inputElement = this.shadowRoot.querySelector(
23729
- componentName$n,
23823
+ componentName$o,
23730
23824
  );
23731
23825
 
23732
23826
  forwardAttrs$1(this, this.inputElement, {
@@ -23767,7 +23861,7 @@ const customMixin$1 = (superclass) =>
23767
23861
  }
23768
23862
  };
23769
23863
 
23770
- const { host: host$c } = {
23864
+ const { host: host$d } = {
23771
23865
  host: { selector: () => ':host' },
23772
23866
  };
23773
23867
 
@@ -23777,8 +23871,8 @@ const AddressFieldClass = compose$1(
23777
23871
  }),
23778
23872
  createStyleMixin$1({
23779
23873
  mappings: {
23780
- hostWidth: { ...host$c, property: 'width' },
23781
- hostDirection: { ...host$c, property: 'direction' },
23874
+ hostWidth: { ...host$d, property: 'width' },
23875
+ hostDirection: { ...host$d, property: 'direction' },
23782
23876
  },
23783
23877
  }),
23784
23878
  draggableMixin$1,
@@ -23788,7 +23882,7 @@ const AddressFieldClass = compose$1(
23788
23882
  proxyParentValidation: true,
23789
23883
  }),
23790
23884
  componentNameValidationMixin$1,
23791
- customMixin$1,
23885
+ customMixin$2,
23792
23886
  )(
23793
23887
  createProxy$1({
23794
23888
  slots: [],
@@ -23804,7 +23898,7 @@ const AddressFieldClass = compose$1(
23804
23898
  width: 100%;
23805
23899
  }
23806
23900
 
23807
- ${componentName$n} {
23901
+ ${componentName$o} {
23808
23902
  display: inline-block;
23809
23903
  box-sizing: border-box;
23810
23904
  user-select: none;
@@ -23812,30 +23906,30 @@ const AddressFieldClass = compose$1(
23812
23906
  max-width: 100%;
23813
23907
  }
23814
23908
 
23815
- ${componentName$n} ::slotted {
23909
+ ${componentName$o} ::slotted {
23816
23910
  padding: 0;
23817
23911
  }
23818
23912
  `,
23819
23913
  excludeAttrsSync: ['tabindex', 'error-message', 'label', 'style'],
23820
- componentName: componentName$m,
23914
+ componentName: componentName$n,
23821
23915
  }),
23822
23916
  );
23823
23917
 
23824
- const vars$Y = AddressFieldClass.cssVarList;
23918
+ const vars$Z = AddressFieldClass.cssVarList;
23825
23919
 
23826
23920
  const addressField = {
23827
- [vars$Y.hostWidth]: refs$1.width,
23828
- [vars$Y.hostDirection]: refs$1.direction,
23921
+ [vars$Z.hostWidth]: refs$1.width,
23922
+ [vars$Z.hostDirection]: refs$1.direction,
23829
23923
 
23830
23924
  _fullWidth: {
23831
- [vars$Y.hostWidth]: '100%',
23925
+ [vars$Z.hostWidth]: '100%',
23832
23926
  },
23833
23927
  };
23834
23928
 
23835
23929
  var addressField$1 = /*#__PURE__*/Object.freeze({
23836
23930
  __proto__: null,
23837
23931
  default: addressField,
23838
- vars: vars$Y
23932
+ vars: vars$Z
23839
23933
  });
23840
23934
 
23841
23935
  var clockIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMWVtIiBoZWlnaHQ9IjFlbSIgdmlld0JveD0iMCAwIDEwNCAxMDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik01MC4zMzM0IDAuMzMzMjUyQzIyLjgzMzQgMC4zMzMyNTIgMC4zMzMzNzQgMjIuODMzMyAwLjMzMzM3NCA1MC4zMzMzQzAuMzMzMzc0IDc3LjgzMzMgMjIuODMzNCAxMDAuMzMzIDUwLjMzMzQgMTAwLjMzM0M3Ny44MzM0IDEwMC4zMzMgMTAwLjMzMyA3Ny44MzMzIDEwMC4zMzMgNTAuMzMzM0MxMDAuMzMzIDIyLjgzMzMgNzcuODMzNCAwLjMzMzI1MiA1MC4zMzM0IDAuMzMzMjUyWk01MC4zMzM0IDg3LjgzMzNDMjkuNzA4NCA4Ny44MzMzIDEyLjgzMzQgNzAuOTU4MyAxMi44MzM0IDUwLjMzMzNDMTIuODMzNCAyOS43MDgzIDI5LjcwODQgMTIuODMzMyA1MC4zMzM0IDEyLjgzMzNDNzAuOTU4NCAxMi44MzMzIDg3LjgzMzQgMjkuNzA4MyA4Ny44MzM0IDUwLjMzMzNDODcuODMzNCA3MC45NTgzIDcwLjk1ODQgODcuODMzMyA1MC4zMzM0IDg3LjgzMzNaIiBmaWxsPSIjMTgxQTFDIi8+CjxwYXRoIGQ9Ik01MC4zMzI4IDE5LjA4MzNINDQuMDgyOFY1Ni41ODMySDc1LjMzMjhWNTAuMzMzMkg1MC4zMzI4VjE5LjA4MzNaIiBmaWxsPSIjMTgxQTFDIi8+Cjwvc3ZnPgo=";
@@ -23857,12 +23951,12 @@ const formatTime = (ms = 0) => {
23857
23951
  return timeParts.join(':');
23858
23952
  };
23859
23953
 
23860
- const componentName$l = getComponentName$1('timer');
23954
+ const componentName$m = getComponentName$1('timer');
23861
23955
 
23862
23956
  const observedAttributes = ['seconds', 'hide-icon', 'paused'];
23863
23957
 
23864
23958
  const BaseClass$7 = createBaseClass$1({
23865
- componentName: componentName$l,
23959
+ componentName: componentName$m,
23866
23960
  baseSelector: ':host > .wrapper',
23867
23961
  });
23868
23962
 
@@ -24015,7 +24109,7 @@ class RawTimer extends BaseClass$7 {
24015
24109
  }
24016
24110
  }
24017
24111
 
24018
- const { host: host$b, icon, timer: timer$2 } = {
24112
+ const { host: host$c, icon, timer: timer$2 } = {
24019
24113
  host: { selector: () => ':host' },
24020
24114
  icon: { selector: () => '.icon' },
24021
24115
  timer: { selector: () => '.timer' },
@@ -24036,8 +24130,8 @@ const TimerClass = compose$1(
24036
24130
  textColor: { ...timer$2, property: 'color' },
24037
24131
  gap: {},
24038
24132
  textAlign: { property: 'justify-content' },
24039
- hostWidth: { ...host$b, property: 'width' },
24040
- hostDirection: { ...host$b, property: 'direction' },
24133
+ hostWidth: { ...host$c, property: 'width' },
24134
+ hostDirection: { ...host$c, property: 'direction' },
24041
24135
  iconColor: { ...icon, property: IconClass.cssVarList.fill },
24042
24136
  },
24043
24137
  }),
@@ -24046,44 +24140,44 @@ const TimerClass = compose$1(
24046
24140
  )(RawTimer);
24047
24141
 
24048
24142
  const globalRefs$x = getThemeRefs$1(globals);
24049
- const vars$X = TimerClass.cssVarList;
24143
+ const vars$Y = TimerClass.cssVarList;
24050
24144
 
24051
24145
  const timer = {
24052
- [vars$X.hostDirection]: globalRefs$x.direction,
24053
- [vars$X.gap]: '0.25em',
24054
- [vars$X.fontFamily]: globalRefs$x.fonts.font1.family,
24055
- [vars$X.minHeight]: '1.5em',
24056
- [vars$X.lineHeight]: '1em',
24057
- [vars$X.fontWeight]: globalRefs$x.fonts.font1.fontWeight,
24058
- [vars$X.textColor]: globalRefs$x.colors.surface.contrast,
24059
- [vars$X.iconColor]: globalRefs$x.colors.surface.contrast,
24060
- [vars$X.iconSize]: '1em',
24146
+ [vars$Y.hostDirection]: globalRefs$x.direction,
24147
+ [vars$Y.gap]: '0.25em',
24148
+ [vars$Y.fontFamily]: globalRefs$x.fonts.font1.family,
24149
+ [vars$Y.minHeight]: '1.5em',
24150
+ [vars$Y.lineHeight]: '1em',
24151
+ [vars$Y.fontWeight]: globalRefs$x.fonts.font1.fontWeight,
24152
+ [vars$Y.textColor]: globalRefs$x.colors.surface.contrast,
24153
+ [vars$Y.iconColor]: globalRefs$x.colors.surface.contrast,
24154
+ [vars$Y.iconSize]: '1em',
24061
24155
 
24062
24156
  size: {
24063
- xs: { [vars$X.fontSize]: '12px' },
24064
- sm: { [vars$X.fontSize]: '14px' },
24065
- md: { [vars$X.fontSize]: '16px' },
24066
- lg: { [vars$X.fontSize]: '18px' },
24157
+ xs: { [vars$Y.fontSize]: '12px' },
24158
+ sm: { [vars$Y.fontSize]: '14px' },
24159
+ md: { [vars$Y.fontSize]: '16px' },
24160
+ lg: { [vars$Y.fontSize]: '18px' },
24067
24161
  },
24068
24162
 
24069
24163
  textAlign: {
24070
- right: { [vars$X.textAlign]: 'right' },
24071
- left: { [vars$X.textAlign]: 'left' },
24072
- center: { [vars$X.textAlign]: 'center' },
24164
+ right: { [vars$Y.textAlign]: 'right' },
24165
+ left: { [vars$Y.textAlign]: 'left' },
24166
+ center: { [vars$Y.textAlign]: 'center' },
24073
24167
  },
24074
24168
 
24075
24169
  _fullWidth: {
24076
- [vars$X.hostWidth]: '100%',
24170
+ [vars$Y.hostWidth]: '100%',
24077
24171
  },
24078
24172
  };
24079
24173
 
24080
24174
  var timer$1 = /*#__PURE__*/Object.freeze({
24081
24175
  __proto__: null,
24082
24176
  default: timer,
24083
- vars: vars$X
24177
+ vars: vars$Y
24084
24178
  });
24085
24179
 
24086
- const componentName$k = getComponentName$1('timer-button');
24180
+ const componentName$l = getComponentName$1('timer-button');
24087
24181
 
24088
24182
  const buttonAttrs = [
24089
24183
  'button-variant',
@@ -24114,7 +24208,7 @@ const mapTimerAttrs = {
24114
24208
  };
24115
24209
 
24116
24210
  const BaseClass$6 = createBaseClass$1({
24117
- componentName: componentName$k,
24211
+ componentName: componentName$l,
24118
24212
  baseSelector: ':host > div',
24119
24213
  });
24120
24214
 
@@ -24266,7 +24360,7 @@ class RawTimerButton extends BaseClass$6 {
24266
24360
  }
24267
24361
 
24268
24362
  const {
24269
- host: host$a,
24363
+ host: host$b,
24270
24364
  nestedTimer,
24271
24365
  nestedButton,
24272
24366
  timerInsideNotReversed,
@@ -24291,8 +24385,8 @@ const TimerButtonClass = compose$1(
24291
24385
  mappings: {
24292
24386
  gap: {},
24293
24387
  flexDirection: {},
24294
- hostWidth: { ...host$a, property: 'width' },
24295
- hostDirection: { ...host$a, property: 'direction' },
24388
+ hostWidth: { ...host$b, property: 'width' },
24389
+ hostDirection: { ...host$b, property: 'direction' },
24296
24390
  timerTextColor: {
24297
24391
  ...nestedTimer,
24298
24392
  property: TimerClass.cssVarList.textColor,
@@ -24324,40 +24418,40 @@ const TimerButtonClass = compose$1(
24324
24418
  )(RawTimerButton);
24325
24419
 
24326
24420
  const globalRefs$w = getThemeRefs$1(globals);
24327
- const vars$W = TimerButtonClass.cssVarList;
24421
+ const vars$X = TimerButtonClass.cssVarList;
24328
24422
 
24329
24423
  const timerButton = {
24330
- [vars$W.gap]: globalRefs$w.spacing.sm,
24331
- [vars$W.flexDirection]: 'column',
24424
+ [vars$X.gap]: globalRefs$w.spacing.sm,
24425
+ [vars$X.flexDirection]: 'column',
24332
24426
 
24333
24427
  _horizontal: {
24334
- [vars$W.flexDirection]: 'row',
24428
+ [vars$X.flexDirection]: 'row',
24335
24429
  timerPosition: {
24336
24430
  end: {
24337
- [vars$W.flexDirection]: 'row-reverse',
24431
+ [vars$X.flexDirection]: 'row-reverse',
24338
24432
  },
24339
24433
  },
24340
24434
  },
24341
24435
 
24342
24436
  timerPosition: {
24343
24437
  end: {
24344
- [vars$W.flexDirection]: 'column-reverse',
24438
+ [vars$X.flexDirection]: 'column-reverse',
24345
24439
  },
24346
24440
  },
24347
24441
 
24348
24442
  _fullWidth: {
24349
- [vars$W.hostWidth]: '100%',
24443
+ [vars$X.hostWidth]: '100%',
24350
24444
  },
24351
24445
 
24352
24446
  _timerInside: {
24353
- [vars$W.timerTextColor]: 'currentColor',
24354
- [vars$W.timerIconColor]: 'currentColor',
24355
- [vars$W.timerHostWidth]: 'auto',
24356
- [vars$W.buttonLabelSpacing]: '0',
24357
- [vars$W.timerInsideGapEnd]: `var(${vars$W.gap})`,
24447
+ [vars$X.timerTextColor]: 'currentColor',
24448
+ [vars$X.timerIconColor]: 'currentColor',
24449
+ [vars$X.timerHostWidth]: 'auto',
24450
+ [vars$X.buttonLabelSpacing]: '0',
24451
+ [vars$X.timerInsideGapEnd]: `var(${vars$X.gap})`,
24358
24452
  timerPosition: {
24359
24453
  end: {
24360
- [vars$W.timerInsideGapStart]: `var(${vars$W.gap})`,
24454
+ [vars$X.timerInsideGapStart]: `var(${vars$X.gap})`,
24361
24455
  },
24362
24456
  },
24363
24457
  },
@@ -24366,12 +24460,12 @@ const timerButton = {
24366
24460
  var timerButton$1 = /*#__PURE__*/Object.freeze({
24367
24461
  __proto__: null,
24368
24462
  default: timerButton,
24369
- vars: vars$W
24463
+ vars: vars$X
24370
24464
  });
24371
24465
 
24372
- const componentName$j = getComponentName$1('password-strength');
24466
+ const componentName$k = getComponentName$1('password-strength');
24373
24467
  class RawPasswordStrength extends createBaseClass$1({
24374
- componentName: componentName$j,
24468
+ componentName: componentName$k,
24375
24469
  baseSelector: ':host > .wrapper',
24376
24470
  }) {
24377
24471
  static get observedAttributes() {
@@ -24485,7 +24579,7 @@ class RawPasswordStrength extends createBaseClass$1({
24485
24579
  }
24486
24580
  }
24487
24581
 
24488
- const { host: host$9, bar, filledBar, barsContainer, text } = {
24582
+ const { host: host$a, bar, filledBar, barsContainer, text } = {
24489
24583
  host: { selector: () => ':host' },
24490
24584
  bar: { selector: ' .bar' },
24491
24585
  barsContainer: { selector: ' .bars-container' },
@@ -24498,11 +24592,11 @@ const PasswordStrengthClass = compose$1(
24498
24592
  createStyleMixin$1({
24499
24593
  mappings: {
24500
24594
  hostWidth: [
24501
- { ...host$9, property: 'width' },
24502
- { ...host$9, property: 'min-width' },
24595
+ { ...host$a, property: 'width' },
24596
+ { ...host$a, property: 'min-width' },
24503
24597
  ],
24504
- hostDirection: { ...host$9, property: 'direction' },
24505
- hostMinWidth: { ...host$9, property: 'min-width' },
24598
+ hostDirection: { ...host$a, property: 'direction' },
24599
+ hostMinWidth: { ...host$a, property: 'min-width' },
24506
24600
  barHeight: { ...bar, property: 'height' },
24507
24601
  barBorderRadius: { ...bar, property: 'border-radius' },
24508
24602
  emptyBarColor: { ...bar, property: 'background-color' },
@@ -24562,22 +24656,22 @@ const passwordStrength = {
24562
24656
  }
24563
24657
  };
24564
24658
 
24565
- const vars$V = {
24659
+ const vars$W = {
24566
24660
  ...compVars$6,
24567
24661
  };
24568
24662
 
24569
24663
  var passwordStrength$1 = /*#__PURE__*/Object.freeze({
24570
24664
  __proto__: null,
24571
24665
  default: passwordStrength,
24572
- vars: vars$V
24666
+ vars: vars$W
24573
24667
  });
24574
24668
 
24575
24669
  var chevronIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iYmxhY2siIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik02Ljc4MDcgMTQuNzI3MkM2LjM0MTYgMTUuMTIwOSA1LjY2NjYgMTUuMDg0MSA1LjI3MjggMTQuNjQ1MUM0Ljg3OTEgMTQuMjA2IDQuOTE1OSAxMy41MzA5IDUuMzU0OSAxMy4xMzcyQzUuMzU0OSAxMy4xMzcyIDEwLjk1NDMgNy45OTc4IDExLjM2IDcuNjM0QzExLjc2NTcgNy4yNzAyIDEyLjIzOTIgNy4yNzAyIDEyLjY0NDggNy42MzRMMTguNjQ1MSAxMy4xMzcyQzE5LjA4NDEgMTMuNTMwOSAxOS4xMjA5IDE0LjIwNiAxOC43MjcyIDE0LjY0NTFDMTguMzMzNCAxNS4wODQxIDE3LjY1ODQgMTUuMTIwOSAxNy4yMTkzIDE0LjcyNzJMMTIgOS44NjMyTDYuNzgwNyAxNC43MjcyWiIvPgo8L3N2Zz4K";
24576
24670
 
24577
- const componentName$i = getComponentName$1('collapsible-container');
24671
+ const componentName$j = getComponentName$1('collapsible-container');
24578
24672
 
24579
24673
  class RawCollapsibleContainer extends createBaseClass$1({
24580
- componentName: componentName$i,
24674
+ componentName: componentName$j,
24581
24675
  baseSelector: 'slot',
24582
24676
  }) {
24583
24677
  static get observedAttributes() {
@@ -24828,7 +24922,7 @@ const [helperTheme$4, helperRefs$4, helperVars$4] = createHelperVars$1(
24828
24922
  {
24829
24923
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
24830
24924
  },
24831
- componentName$i,
24925
+ componentName$j,
24832
24926
  );
24833
24927
 
24834
24928
  const { shadowColor: shadowColor$6 } = helperRefs$4;
@@ -24929,7 +25023,7 @@ const collapsibleContainer = {
24929
25023
  },
24930
25024
  };
24931
25025
 
24932
- const vars$U = {
25026
+ const vars$V = {
24933
25027
  ...compVars$5,
24934
25028
  ...helperVars$4,
24935
25029
  };
@@ -24937,10 +25031,10 @@ const vars$U = {
24937
25031
  var collapsibleContainer$1 = /*#__PURE__*/Object.freeze({
24938
25032
  __proto__: null,
24939
25033
  default: collapsibleContainer,
24940
- vars: vars$U
25034
+ vars: vars$V
24941
25035
  });
24942
25036
 
24943
- const componentName$h = getComponentName$1('recovery-codes');
25037
+ const componentName$i = getComponentName$1('recovery-codes');
24944
25038
 
24945
25039
  const NO_ACTION = 'none';
24946
25040
  const DEFAULT_ERROR_MESSAGE =
@@ -24982,7 +25076,7 @@ const itemRenderer$4 = ({ value }, _, ref) => {
24982
25076
  };
24983
25077
 
24984
25078
  class RawRecoveryCodes extends createBaseClass$1({
24985
- componentName: componentName$h,
25079
+ componentName: componentName$i,
24986
25080
  baseSelector: ':host > div',
24987
25081
  }) {
24988
25082
  static get observedAttributes() {
@@ -25395,60 +25489,388 @@ const RecoveryCodesClass = compose$1(
25395
25489
  )(RawRecoveryCodes);
25396
25490
 
25397
25491
  const globalRefs$t = getThemeRefs$1(globals);
25398
- const vars$T = RecoveryCodesClass.cssVarList;
25492
+ const vars$U = RecoveryCodesClass.cssVarList;
25399
25493
  const textVars$1 = TextClass.cssVarList;
25400
25494
 
25401
25495
  const recoveryCodes = {
25402
- [vars$T.hostMinWidth]: '190px',
25403
- [vars$T.hostDirection]: globalRefs$t.direction,
25404
- [vars$T.iconColor]: useVar$1(textVars$1.textColor),
25405
- [vars$T.iconSize]: useVar$1(textVars$1.fontSize),
25496
+ [vars$U.hostMinWidth]: '190px',
25497
+ [vars$U.hostDirection]: globalRefs$t.direction,
25498
+ [vars$U.iconColor]: useVar$1(textVars$1.textColor),
25499
+ [vars$U.iconSize]: useVar$1(textVars$1.fontSize),
25406
25500
  // gap between the codes and the icon column
25407
- [vars$T.iconGap]: '8px',
25501
+ [vars$U.iconGap]: '8px',
25408
25502
  // gap between the stacked copy and download icons
25409
- [vars$T.iconStackGap]: '16px',
25503
+ [vars$U.iconStackGap]: '16px',
25410
25504
  // gap between the copy and download buttons (buttons variant)
25411
- [vars$T.buttonsGap]: '8px',
25505
+ [vars$U.buttonsGap]: '8px',
25412
25506
  // gap between the codes, the error message and the buttons
25413
- [vars$T.sectionsGap]: '8px',
25414
- [vars$T.bulletGap]: '0.35em',
25507
+ [vars$U.sectionsGap]: '8px',
25508
+ [vars$U.bulletGap]: '0.35em',
25415
25509
 
25416
25510
  // no padding by default so the current look is unchanged; the editor overrides per instance
25417
- [vars$T.verticalPadding]: '0',
25418
- [vars$T.horizontalPadding]: '0',
25511
+ [vars$U.verticalPadding]: '0',
25512
+ [vars$U.horizontalPadding]: '0',
25419
25513
 
25420
25514
  // error ring is transparent until the component is marked invalid (see _invalid below).
25421
25515
  // message color/font + border come from the shared input-wrapper tokens, so customizing
25422
25516
  // inputs in the console updates the recovery-codes error styling from the same place.
25423
- [vars$T.errorBorderColor]: 'transparent',
25424
- [vars$T.errorBorderWidth]: refs$1.borderWidth,
25425
- [vars$T.boxBorderRadius]: refs$1.borderRadius,
25517
+ [vars$U.errorBorderColor]: 'transparent',
25518
+ [vars$U.errorBorderWidth]: refs$1.borderWidth,
25519
+ [vars$U.boxBorderRadius]: refs$1.borderRadius,
25426
25520
  // local default; can later map to the input-wrapper border style if it exposes one
25427
- [vars$T.boxBorderStyle]: 'solid',
25428
- [vars$T.errorMessageColor]: refs$1.errorMessageTextColor,
25429
- [vars$T.errorMessageFontSize]: refs$1.errorMessageFontSize,
25430
- [vars$T.errorMessageFontWeight]: refs$1.errorMessageFontWeight,
25431
- [vars$T.errorMessageFontFamily]: refs$1.fontFamily,
25521
+ [vars$U.boxBorderStyle]: 'solid',
25522
+ [vars$U.errorMessageColor]: refs$1.errorMessageTextColor,
25523
+ [vars$U.errorMessageFontSize]: refs$1.errorMessageFontSize,
25524
+ [vars$U.errorMessageFontWeight]: refs$1.errorMessageFontWeight,
25525
+ [vars$U.errorMessageFontFamily]: refs$1.fontFamily,
25432
25526
 
25433
25527
  textAlign: {
25434
- right: { [vars$T.textAlign]: 'flex-end' },
25435
- left: { [vars$T.textAlign]: 'flex-start' },
25436
- center: { [vars$T.textAlign]: 'center' },
25528
+ right: { [vars$U.textAlign]: 'flex-end' },
25529
+ left: { [vars$U.textAlign]: 'flex-start' },
25530
+ center: { [vars$U.textAlign]: 'center' },
25437
25531
  },
25438
25532
 
25439
25533
  _fullWidth: {
25440
- [vars$T.hostWidth]: '100%',
25534
+ [vars$U.hostWidth]: '100%',
25441
25535
  },
25442
25536
 
25443
25537
  // reflected `invalid` attribute (set by the component on a failed submit)
25444
25538
  _invalid: {
25445
- [vars$T.errorBorderColor]: refs$1.errorMessageTextColor,
25539
+ [vars$U.errorBorderColor]: refs$1.errorMessageTextColor,
25446
25540
  },
25447
25541
  };
25448
25542
 
25449
25543
  var recoveryCodes$1 = /*#__PURE__*/Object.freeze({
25450
25544
  __proto__: null,
25451
25545
  default: recoveryCodes,
25546
+ vars: vars$U
25547
+ });
25548
+
25549
+ var desktopDeviceIconLight$1 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwIDE4QzIxLjEgMTggMjEuOTkgMTcuMSAyMS45OSAxNkwyMiA2QzIyIDQuOSAyMS4xIDQgMjAgNEg0QzIuOSA0IDIgNC45IDIgNlYxNkMyIDE3LjEgMi45IDE4IDQgMThIMFYyMEgyNFYxOEgyMFpNNCA2SDIwVjE2SDRWNloiIGZpbGw9IiM2MzZDNzQiLz4KPC9zdmc+Cg==";
25550
+
25551
+ var mobileDeviceIconLight$1 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2IDFIOEM2LjM0IDEgNSAyLjM0IDUgNFYyMEM1IDIxLjY2IDYuMzQgMjMgOCAyM0gxNkMxNy42NiAyMyAxOSAyMS42NiAxOSAyMFY0QzE5IDIuMzQgMTcuNjYgMSAxNiAxWk0xNyAxOEg3VjRIMTdWMThaTTE0IDIxSDEwVjIwSDE0VjIxWiIgZmlsbD0iIzYzNkM3NCIvPgo8L3N2Zz4K";
25552
+
25553
+ var tabletDeviceIconLight$1 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzUyNTJfNzY4KSI+CjxwYXRoIGQ9Ik0xOC41IDAuNUg0LjVDMy4xMiAwLjUgMiAxLjYyIDIgM1YyMkMyIDIzLjM4IDMuMTIgMjQuNSA0LjUgMjQuNUgxOC41QzE5Ljg4IDI0LjUgMjEgMjMuMzggMjEgMjJWM0MyMSAxLjYyIDE5Ljg4IDAuNSAxOC41IDAuNVpNMTEuNSAyMy41QzEwLjY3IDIzLjUgMTAgMjIuODMgMTAgMjJDMTAgMjEuMTcgMTAuNjcgMjAuNSAxMS41IDIwLjVDMTIuMzMgMjAuNSAxMyAyMS4xNyAxMyAyMkMxMyAyMi44MyAxMi4zMyAyMy41IDExLjUgMjMuNVpNMTkgMTkuNUg0VjMuNUgxOVYxOS41WiIgZmlsbD0iIzYzNkM3NCIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzUyNTJfNzY4Ij4KPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjUpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==";
25554
+
25555
+ var unknownDeviceIconLight$1 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQgNi41SDIyVjQuNUg0QzIuOSA0LjUgMiA1LjQgMiA2LjVWMTcuNUgwVjIwLjVIMTRWMTcuNUg0VjYuNVpNMjMgOC41SDE3QzE2LjQ1IDguNSAxNiA4Ljk1IDE2IDkuNVYxOS41QzE2IDIwLjA1IDE2LjQ1IDIwLjUgMTcgMjAuNUgyM0MyMy41NSAyMC41IDI0IDIwLjA1IDI0IDE5LjVWOS41QzI0IDguOTUgMjMuNTUgOC41IDIzIDguNVpNMjIgMTcuNUgxOFYxMC41SDIyVjE3LjVaIiBmaWxsPSIjNjM2Qzc0Ii8+Cjwvc3ZnPgo=";
25556
+
25557
+ var desktopDeviceIconDark$1 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwIDE4LjVDMjEuMSAxOC41IDIxLjk5IDE3LjYgMjEuOTkgMTYuNUwyMiA2LjVDMjIgNS40IDIxLjEgNC41IDIwIDQuNUg0QzIuOSA0LjUgMiA1LjQgMiA2LjVWMTYuNUMyIDE3LjYgMi45IDE4LjUgNCAxOC41SDBWMjAuNUgyNFYxOC41SDIwWk00IDYuNUgyMFYxNi41SDRWNi41WiIgZmlsbD0iI0Y0RjVGNiIvPgo8L3N2Zz4K";
25558
+
25559
+ var mobileDeviceIconDark$1 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2IDEuNUg4QzYuMzQgMS41IDUgMi44NCA1IDQuNVYyMC41QzUgMjIuMTYgNi4zNCAyMy41IDggMjMuNUgxNkMxNy42NiAyMy41IDE5IDIyLjE2IDE5IDIwLjVWNC41QzE5IDIuODQgMTcuNjYgMS41IDE2IDEuNVpNMTcgMTguNUg3VjQuNUgxN1YxOC41Wk0xNCAyMS41SDEwVjIwLjVIMTRWMjEuNVoiIGZpbGw9IiNGNEY1RjYiLz4KPC9zdmc+Cg==";
25560
+
25561
+ var tabletDeviceIconDark$1 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzUzMDNfODYzKSI+CjxwYXRoIGQ9Ik0xOC41IDAuNUg0LjVDMy4xMiAwLjUgMiAxLjYyIDIgM1YyMkMyIDIzLjM4IDMuMTIgMjQuNSA0LjUgMjQuNUgxOC41QzE5Ljg4IDI0LjUgMjEgMjMuMzggMjEgMjJWM0MyMSAxLjYyIDE5Ljg4IDAuNSAxOC41IDAuNVpNMTEuNSAyMy41QzEwLjY3IDIzLjUgMTAgMjIuODMgMTAgMjJDMTAgMjEuMTcgMTAuNjcgMjAuNSAxMS41IDIwLjVDMTIuMzMgMjAuNSAxMyAyMS4xNyAxMyAyMkMxMyAyMi44MyAxMi4zMyAyMy41IDExLjUgMjMuNVpNMTkgMTkuNUg0VjMuNUgxOVYxOS41WiIgZmlsbD0iI0Y0RjVGNiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzUzMDNfODYzIj4KPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjUpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==";
25562
+
25563
+ var unknownDeviceIconDark$1 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQgNkgyMlY0SDRDMi45IDQgMiA0LjkgMiA2VjE3SDBWMjBIMTRWMTdINFY2Wk0yMyA4SDE3QzE2LjQ1IDggMTYgOC40NSAxNiA5VjE5QzE2IDE5LjU1IDE2LjQ1IDIwIDE3IDIwSDIzQzIzLjU1IDIwIDI0IDE5LjU1IDI0IDE5VjlDMjQgOC40NSAyMy41NSA4IDIzIDhaTTIyIDE3SDE4VjEwSDIyVjE3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==";
25564
+
25565
+ // Same four device types userservice records. A session created before those columns existed
25566
+ // carries an empty type, so everything unrecognised falls back to the unknown icon rather than
25567
+ // rendering a broken image.
25568
+ const deviceIconMap$1 = {
25569
+ desktop: { light: desktopDeviceIconLight$1, dark: desktopDeviceIconDark$1 },
25570
+ mobile: { light: mobileDeviceIconLight$1, dark: mobileDeviceIconDark$1 },
25571
+ tablet: { light: tabletDeviceIconLight$1, dark: tabletDeviceIconDark$1 },
25572
+ unknown: { light: unknownDeviceIconLight$1, dark: unknownDeviceIconDark$1 },
25573
+ };
25574
+
25575
+ const getDeviceIcon$1 = (deviceType) => {
25576
+ const icon = deviceIconMap$1[deviceType] || deviceIconMap$1.unknown;
25577
+ return { iconSrc: icon.light, iconSrcDark: icon.dark };
25578
+ };
25579
+
25580
+ // "Tel Aviv, IL". Either half may be missing - geo lookup is best effort - so show whichever we
25581
+ // have, and nothing at all when we have neither.
25582
+ const formatLocation = ({ country, city }) =>
25583
+ [city, country].filter(Boolean).join(', ');
25584
+
25585
+ // The login time arrives as epoch SECONDS (userservice stores it that way and the flow passes it
25586
+ // through untouched), while Date wants milliseconds. Getting this wrong shows 1970.
25587
+ const SECONDS_TO_MS = 1000;
25588
+
25589
+ // Rendered in the viewer's own locale and timezone rather than a fixed order, so the same session
25590
+ // reads correctly for someone in Tel Aviv and someone in New York. The offset is spelled out
25591
+ // because the point of this list is telling two of your own sessions apart, and the hour is what
25592
+ // does that.
25593
+ const formatLastLogin = (loginTime) => {
25594
+ const seconds = parseInt(loginTime, 10);
25595
+ if (Number.isNaN(seconds) || seconds <= 0) return '';
25596
+
25597
+ const date = new Date(seconds * SECONDS_TO_MS);
25598
+ // Spelled out as individual components rather than dateStyle/timeStyle: Intl rejects mixing
25599
+ // those with timeZoneName, and the rejection is a throw, so the offset would be silently lost to
25600
+ // the fallback below.
25601
+ const parts = {
25602
+ year: 'numeric',
25603
+ month: '2-digit',
25604
+ day: '2-digit',
25605
+ hour: '2-digit',
25606
+ minute: '2-digit',
25607
+ };
25608
+ try {
25609
+ return date.toLocaleString(undefined, {
25610
+ ...parts,
25611
+ timeZoneName: 'shortOffset',
25612
+ });
25613
+ } catch {
25614
+ // `shortOffset` is not understood everywhere; the time matters more than the offset.
25615
+ return date.toLocaleString(undefined, parts);
25616
+ }
25617
+ };
25618
+
25619
+ const componentName$h = getComponentName$1('active-sessions');
25620
+
25621
+ const comboBoxName = MultiSelectComboBoxClass.componentName;
25622
+
25623
+ // Structure only, handed to the portal mixin below, which writes it into the overlay root
25624
+ // alongside the themeable mappings. These are the rules no theme should change, and they have to
25625
+ // be a stylesheet because a `style` attribute would be dropped by the flow runtime's CSP.
25626
+ const OVERLAY_ITEM_STYLE = `
25627
+ .session {
25628
+ display: flex;
25629
+ flex-direction: column;
25630
+ }
25631
+ /* descope-text and its slot are both inline-blocks, which would leave a baseline gap under the
25632
+ title and widen the space to the location line. */
25633
+ .session .device descope-text,
25634
+ .session .device descope-text::part(text-wrapper) {
25635
+ display: block;
25636
+ }
25637
+ /* The flex row has to sit inside descope-text, not around it: descope-text slots its children,
25638
+ so a container outside would only ever see the slot as its single item. */
25639
+ .session .device-row {
25640
+ display: flex;
25641
+ align-items: center;
25642
+ }
25643
+ .session .device-icon {
25644
+ width: 1em;
25645
+ height: 1em;
25646
+ flex-shrink: 0;
25647
+ }
25648
+ `;
25649
+
25650
+ // None of the shadow roots down to the rows exists on the first tick. `waitForShadowRoot` is the
25651
+ // same wait `portalMixin` uses, and it resolves the element rather than a root when it gives up,
25652
+ // so anything that is not a shadow root means stop.
25653
+ const shadowRootOf = async (ele) => {
25654
+ if (!ele) return null;
25655
+ const root = await waitForShadowRoot$1(() => ele)();
25656
+ return root instanceof ShadowRoot ? root : null;
25657
+ };
25658
+
25659
+ // From the combo box's shadow root down to the element whose own root holds the rows.
25660
+ // the portal mixin takes it as its selector and writes both its mappings and the static css there.
25661
+ const findOverlayElement = async (comboBoxRoot) => {
25662
+ const vaadinRoot = await shadowRootOf(
25663
+ comboBoxRoot?.querySelector('vaadin-multi-select-combo-box'),
25664
+ );
25665
+ return vaadinRoot?.querySelector('vaadin-multi-select-combo-box-internal');
25666
+ };
25667
+
25668
+ // The row's shape, written once as markup so it reads like the thing it produces. Every value is
25669
+ // filled in afterwards with textContent and setAttribute: the combo box assigns the result to
25670
+ // innerHTML, and `deviceName` comes from a user agent the client controls, so interpolating it
25671
+ // into this string would be an HTML injection.
25672
+ // Built on first render rather than at import. This module is the `./class` entry, which has to
25673
+ // stay free of side effects so a server with no `document` can import the bundle.
25674
+ let rowTemplate;
25675
+ const getRowTemplate = () => {
25676
+ if (rowTemplate) return rowTemplate;
25677
+
25678
+ rowTemplate = document.createElement('template');
25679
+ rowTemplate.innerHTML = `
25680
+ <div class="session">
25681
+ <div class="device">
25682
+ <descope-text variant="body1" mode="primary" st-font-size="1em">
25683
+ <div class="device-row">
25684
+ <descope-icon class="device-icon" aria-hidden="true"></descope-icon>
25685
+ <span class="device-name"></span>
25686
+ </div>
25687
+ </descope-text>
25688
+ </div>
25689
+ <div class="location">
25690
+ <descope-text
25691
+ variant="body2"
25692
+ mode="secondary"
25693
+ st-font-size="0.875em"
25694
+ ></descope-text>
25695
+ </div>
25696
+ <div class="last-login">
25697
+ <descope-text
25698
+ variant="body2"
25699
+ mode="secondary"
25700
+ st-font-size="0.875em"
25701
+ ></descope-text>
25702
+ </div>
25703
+ </div>
25704
+ `;
25705
+
25706
+ return rowTemplate;
25707
+ };
25708
+
25709
+ const renderItem =
25710
+ (ref) =>
25711
+ ({ value, deviceName, deviceType, city, country, loginTime } = {}) => {
25712
+ const name = deviceName || ref.unknownDeviceLabel;
25713
+ const row = getRowTemplate().content.cloneNode(true).firstElementChild;
25714
+
25715
+ row.setAttribute('data-id', value ?? '');
25716
+ // The chip shows this once the row is picked.
25717
+ row.setAttribute('data-name', name);
25718
+
25719
+ row.querySelector('.device-name').textContent = name;
25720
+
25721
+ const { iconSrc, iconSrcDark } = getDeviceIcon$1(deviceType);
25722
+ const icon = row.querySelector('.device-icon');
25723
+ icon.setAttribute('src', iconSrc);
25724
+ icon.setAttribute('src-dark', iconSrcDark);
25725
+
25726
+ // Both detail lines are optional, and an empty one would still take up space, so the line is
25727
+ // removed rather than left blank.
25728
+ const fill = (selector, text) => {
25729
+ const ele = row.querySelector(selector);
25730
+ if (text) ele.firstElementChild.textContent = text;
25731
+ else ele.remove();
25732
+ };
25733
+
25734
+ fill('.location', formatLocation({ country, city }));
25735
+
25736
+ const lastLogin = formatLastLogin(loginTime);
25737
+ fill(
25738
+ '.last-login',
25739
+ lastLogin && ref.lastLoginLabel
25740
+ ? `${ref.lastLoginLabel} ${lastLogin}`
25741
+ : lastLogin,
25742
+ );
25743
+
25744
+ return row.outerHTML;
25745
+ };
25746
+
25747
+ const customMixin$1 = (superclass) =>
25748
+ class ActiveSessionsMixinClass extends superclass {
25749
+ get lastLoginLabel() {
25750
+ return this.getAttribute('last-login-label') ?? 'Last login:';
25751
+ }
25752
+
25753
+ get unknownDeviceLabel() {
25754
+ return this.getAttribute('unknown-device-label') ?? 'Unknown device';
25755
+ }
25756
+
25757
+ init() {
25758
+ super.init?.();
25759
+
25760
+ this.inputElement = this.baseElement;
25761
+
25762
+ // Set before any `data` arrives, so the list is never painted with the stock one-line rows
25763
+ // first. The SDK sets `data` on a detached fragment, so that first paint is the real one.
25764
+ this.inputElement.renderItem = renderItem(this);
25765
+
25766
+ // The picker never invents a session, so a typed value must not become one.
25767
+ this.inputElement.setAttribute('allow-custom-value', 'false');
25768
+ this.inputElement.setAttribute('item-label-path', 'data-name');
25769
+ this.inputElement.setAttribute('item-value-path', 'data-id');
25770
+ }
25771
+ };
25772
+
25773
+ const host$9 = { selector: () => ':host' };
25774
+ const comboBox = { selector: () => comboBoxName };
25775
+
25776
+ // Only the knobs that can actually reach their target. The dropdown row's themeable values are
25777
+ // mapped through the portal below, which writes its rules into the overlay root. Better a small
25778
+ // honest set of variables than knobs that silently do nothing.
25779
+ const ActiveSessionsClass = compose$1(
25780
+ createStyleMixin$1({
25781
+ mappings: {
25782
+ hostWidth: [
25783
+ { ...host$9, property: 'width' },
25784
+ {
25785
+ ...comboBox,
25786
+ property: MultiSelectComboBoxClass.cssVarList.hostWidth,
25787
+ },
25788
+ ],
25789
+ hostDirection: [
25790
+ { ...host$9, property: 'direction' },
25791
+ {
25792
+ ...comboBox,
25793
+ property: MultiSelectComboBoxClass.cssVarList.hostDirection,
25794
+ },
25795
+ ],
25796
+ },
25797
+ }),
25798
+ draggableMixin$1,
25799
+ // The rows are drawn four shadow roots down, deeper than a query string reaches, so the portal
25800
+ // is found with a function. This puts their themeable values through the normal mapping path:
25801
+ // the style mixin writes its rules into that same root. Nothing is forwarded, because the
25802
+ // element there is vaadin's internal, not a copy of this host, and attributes like `data` would
25803
+ // stop the list rendering.
25804
+ portalMixin$1({
25805
+ name: 'overlay',
25806
+ forward: false,
25807
+ selector: findOverlayElement,
25808
+ style: OVERLAY_ITEM_STYLE,
25809
+ mappings: {
25810
+ rowGap: { selector: '.session', property: 'gap' },
25811
+ deviceRowGap: { selector: '.device-row', property: 'gap' },
25812
+ },
25813
+ }),
25814
+ composedProxyInputMixin$1({
25815
+ proxyProps: ['value'],
25816
+ inputEvent: 'change',
25817
+ proxyParentValidation: true,
25818
+ }),
25819
+ componentNameValidationMixin$1,
25820
+ customMixin$1,
25821
+ )(
25822
+ createProxy$1({
25823
+ slots: [],
25824
+ // The combo box is wrapped directly. It draws its own label, so there is nothing for an outer
25825
+ // field element to add here, and its label follows the input theme instead of vaadin's.
25826
+ wrappedEleName: comboBoxName,
25827
+ style: () => `
25828
+ :host {
25829
+ display: inline-flex;
25830
+ max-width: 100%;
25831
+ }
25832
+ ${comboBoxName} {
25833
+ width: 100%;
25834
+ max-width: 100%;
25835
+ }
25836
+ `,
25837
+ // `name` stays on the host only: that is the element the SDK collects the value from, and a
25838
+ // second match would post the field twice. `error-message` deliberately does reach the combo
25839
+ // box, which is what draws the message under the field. Without it the field only turns red
25840
+ // and the browser's own bubble appears instead.
25841
+ // `class` must not sync: the wrapped element carries its own component classes, and syncing
25842
+ // is two way, so they would land on the host and push off `descope-active-sessions`. Every
25843
+ // theme rule is written as `:host(.descope-active-sessions...)`, so losing that class turns
25844
+ // off all of this component's theming, direction included. descope-apps-list excludes it for
25845
+ // the same reason.
25846
+ excludeAttrsSync: ['tabindex', 'style', 'name', 'class'],
25847
+ componentName: componentName$h,
25848
+ }),
25849
+ );
25850
+
25851
+ const vars$T = ActiveSessionsClass.cssVarList;
25852
+
25853
+ // The dropdown rows are styled by the stylesheet `ActiveSessionsClass` adopts into vaadin's
25854
+ // overlay root (`OVERLAY_ITEM_STYLE`), which no theme variable reaches. A `style` attribute would
25855
+ // not work there either, because the flow runtime's CSP drops it. What is left to theme here is
25856
+ // the field itself.
25857
+ const activeSessions = {
25858
+ [vars$T.hostWidth]: refs$1.width,
25859
+ [vars$T.hostDirection]: refs$1.direction,
25860
+
25861
+ // Spacing inside a dropdown row. These reach the row as custom properties, because the rows are
25862
+ // rendered inside vaadin's overlay where no selector from here applies.
25863
+ [vars$T.overlay.rowGap]: '0.125em',
25864
+ [vars$T.overlay.deviceRowGap]: '0.5em',
25865
+
25866
+ _fullWidth: {
25867
+ [vars$T.hostWidth]: '100%',
25868
+ },
25869
+ };
25870
+
25871
+ var activeSessions$1 = /*#__PURE__*/Object.freeze({
25872
+ __proto__: null,
25873
+ default: activeSessions,
25452
25874
  vars: vars$T
25453
25875
  });
25454
25876
 
@@ -33337,7 +33759,7 @@ const [helperTheme$2, helperRefs$2, helperVars$2] = createHelperVars(
33337
33759
  horizontalAlignment,
33338
33760
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
33339
33761
  },
33340
- componentName$1q
33762
+ componentName$1r
33341
33763
  );
33342
33764
 
33343
33765
  const { shadowColor: shadowColor$2 } = helperRefs$2;
@@ -33493,7 +33915,7 @@ const [helperTheme$1, helperRefs$1, helperVars$1] = createHelperVars(
33493
33915
  thickness: '2px',
33494
33916
  spacing: '10px',
33495
33917
  },
33496
- componentName$1i
33918
+ componentName$1j
33497
33919
  );
33498
33920
 
33499
33921
  const divider = {
@@ -33647,7 +34069,7 @@ const [helperTheme, helperRefs, helperVars] = createHelperVars(
33647
34069
  },
33648
34070
  },
33649
34071
  },
33650
- componentName$1r
34072
+ componentName$1s
33651
34073
  );
33652
34074
 
33653
34075
  const loaderRadial = {
@@ -34739,7 +35161,7 @@ const alert = {
34739
35161
  [vars$2.horizontalPadding]: '0',
34740
35162
  [vars$2.verticalPadding]: '0',
34741
35163
  [vars$2.gap]: `0.5em`,
34742
- [vars$2.fontSize]: useVar(vars$1a.fontSize),
35164
+ [vars$2.fontSize]: useVar(vars$1b.fontSize),
34743
35165
 
34744
35166
  mode: {
34745
35167
  error: {
@@ -34850,7 +35272,7 @@ const components = {
34850
35272
  passcode: passcode$1,
34851
35273
  loaderRadial: loaderRadial$1,
34852
35274
  loaderLinear: loaderLinear$1,
34853
- comboBox: comboBox$1,
35275
+ comboBox: comboBox$2,
34854
35276
  phoneField: phoneField$1,
34855
35277
  phoneInputBoxField: phoneInputBoxField$1,
34856
35278
  newPassword: newPassword$1,
@@ -34897,6 +35319,7 @@ const components = {
34897
35319
  passwordStrength: passwordStrength$1,
34898
35320
  collapsibleContainer: collapsibleContainer$1,
34899
35321
  recoveryCodes: recoveryCodes$1,
35322
+ activeSessions: activeSessions$1,
34900
35323
  hcaptcha: hcaptcha$1,
34901
35324
  outboundApps: outboundApps$1,
34902
35325
  outboundAppButton: outboundAppButton$1,
@@ -34918,7 +35341,7 @@ const vars = Object.keys(components).reduce(
34918
35341
  );
34919
35342
 
34920
35343
  const defaultTheme = { globals: globals$1, components: theme };
34921
- const themeVars = { globals: vars$1c, components: vars };
35344
+ const themeVars = { globals: vars$1d, components: vars };
34922
35345
 
34923
35346
  const colors = {
34924
35347
  surface: {
@@ -34974,13 +35397,17 @@ const darkTheme = merge({}, defaultTheme, {
34974
35397
  },
34975
35398
  });
34976
35399
 
34977
- customElements.define(componentName$p, AutocompleteFieldInternal);
35400
+ customElements.define(componentName$s, MultiSelectComboBoxClass);
35401
+
35402
+ customElements.define(componentName$h, ActiveSessionsClass);
34978
35403
 
34979
- customElements.define(componentName$o, AutocompleteFieldClass);
35404
+ customElements.define(componentName$q, AutocompleteFieldInternal);
34980
35405
 
34981
- customElements.define(componentName$n, AddressFieldInternal);
35406
+ customElements.define(componentName$p, AutocompleteFieldClass);
34982
35407
 
34983
- customElements.define(componentName$m, AddressFieldClass);
35408
+ customElements.define(componentName$o, AddressFieldInternal);
35409
+
35410
+ customElements.define(componentName$n, AddressFieldClass);
34984
35411
 
34985
35412
  const componentName$1 = getComponentName$1('anchored');
34986
35413
 
@@ -35179,20 +35606,18 @@ const AnchoredClass = compose$1(componentNameValidationMixin$1)(RawAnchored);
35179
35606
 
35180
35607
  customElements.define(componentName$1, AnchoredClass);
35181
35608
 
35182
- customElements.define(componentName$t, AvatarClass);
35609
+ customElements.define(componentName$u, AvatarClass);
35183
35610
 
35184
- customElements.define(componentName$s, AppsListClass);
35611
+ customElements.define(componentName$t, AppsListClass);
35185
35612
 
35186
35613
  customElements.define(componentName$9, AttachmentClass);
35187
35614
 
35188
- customElements.define(componentName$i, CollapsibleContainerClass);
35615
+ customElements.define(componentName$j, CollapsibleContainerClass);
35189
35616
 
35190
35617
  customElements.define(componentName$b, CountrySubdivisionCityFieldInternal);
35191
35618
 
35192
35619
  customElements.define(componentName$a, CountrySubdivisionCityFieldClass);
35193
35620
 
35194
- customElements.define(componentName$r, MultiSelectComboBoxClass);
35195
-
35196
35621
  customElements.define(componentName$5, FilterRowClass);
35197
35622
 
35198
35623
  customElements.define(componentName$4, FilterRowsClass);
@@ -35203,7 +35628,7 @@ customElements.define(componentName$6, MonthDayFieldPickerClass);
35203
35628
 
35204
35629
  customElements.define(componentName$7, MonthDayFieldClass);
35205
35630
 
35206
- customElements.define(componentName$q, MultiLineMappingsClass);
35631
+ customElements.define(componentName$r, MultiLineMappingsClass);
35207
35632
 
35208
35633
  customElements.define(componentName$d, MultiSsoClass);
35209
35634
 
@@ -35211,12 +35636,12 @@ customElements.define(componentName$f, OutboundAppButtonClass);
35211
35636
 
35212
35637
  customElements.define(componentName$g, OutboundAppsClass);
35213
35638
 
35214
- customElements.define(componentName$j, PasswordStrengthClass);
35639
+ customElements.define(componentName$k, PasswordStrengthClass);
35215
35640
 
35216
35641
  var index = /*#__PURE__*/Object.freeze({
35217
35642
  __proto__: null,
35218
35643
  PasswordStrengthClass: PasswordStrengthClass,
35219
- componentName: componentName$j
35644
+ componentName: componentName$k
35220
35645
  });
35221
35646
 
35222
35647
  // NOTICE: This component registers with a DIFFERENT name than its file name
@@ -35323,11 +35748,11 @@ const HoneypotClass = compose$1(componentNameValidationMixin$1)(RawHoneypot);
35323
35748
 
35324
35749
  customElements.define(componentName, HoneypotClass);
35325
35750
 
35326
- customElements.define(componentName$h, RecoveryCodesClass);
35751
+ customElements.define(componentName$i, RecoveryCodesClass);
35327
35752
 
35328
- customElements.define(componentName$l, TimerClass);
35753
+ customElements.define(componentName$m, TimerClass);
35329
35754
 
35330
- customElements.define(componentName$k, TimerButtonClass);
35755
+ customElements.define(componentName$l, TimerButtonClass);
35331
35756
 
35332
35757
  customElements.define(componentName$c, TooltipClass);
35333
35758
 
@@ -35351,5 +35776,5 @@ var calcScore = /*#__PURE__*/Object.freeze({
35351
35776
  options: options
35352
35777
  });
35353
35778
 
35354
- export { AddressFieldClass, AlertClass, AnchoredClass, AppsListClass, AttachmentClass, AutocompleteFieldClass, AvatarClass, BadgeClass, ButtonClass, ButtonMultiSelectionGroupClass, ButtonSelectionGroupClass, CalendarClass, CheckboxClass, CodeSnippetClass, CollapsibleContainerClass, ComboBoxClass, ContainerClass, CountrySubdivisionCityFieldClass, DateFieldClass, DividerClass, EmailFieldClass, EnrichedTextClass, FilterClass, GridClass, HcaptchaClass, HoneypotClass, HybridFieldClass, IconClass, ImageClass, LinkClass, ListClass, ListItemClass, LoaderLinearClass, LoaderRadialClass, LogoClass, MappingsFieldClass, ModalClass, MonthDayFieldClass, MonthDayFieldPickerClass, MultiLineMappingsClass, MultiSelectComboBoxClass, MultiSsoClass, 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, UserPasskeysClass, componentsThemeManager, createComponentsTheme, darkTheme, defaultTheme, genColor, globalsThemeToStyle, themeToStyle, themeVars };
35779
+ export { ActiveSessionsClass, AddressFieldClass, AlertClass, AnchoredClass, AppsListClass, AttachmentClass, AutocompleteFieldClass, AvatarClass, BadgeClass, ButtonClass, ButtonMultiSelectionGroupClass, ButtonSelectionGroupClass, CalendarClass, CheckboxClass, CodeSnippetClass, CollapsibleContainerClass, ComboBoxClass, ContainerClass, CountrySubdivisionCityFieldClass, DateFieldClass, DividerClass, EmailFieldClass, EnrichedTextClass, FilterClass, GridClass, HcaptchaClass, HoneypotClass, HybridFieldClass, IconClass, ImageClass, LinkClass, ListClass, ListItemClass, LoaderLinearClass, LoaderRadialClass, LogoClass, MappingsFieldClass, ModalClass, MonthDayFieldClass, MonthDayFieldPickerClass, MultiLineMappingsClass, MultiSelectComboBoxClass, MultiSsoClass, 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, UserPasskeysClass, componentsThemeManager, createComponentsTheme, darkTheme, defaultTheme, genColor, globalsThemeToStyle, themeToStyle, themeVars };
35355
35780
  //# sourceMappingURL=index.esm.js.map