@descope/web-components-ui 1.0.266 → 1.0.268

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
@@ -12,8 +12,8 @@ import { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';
12
12
  import { GridSelectionColumn } from '@vaadin/grid/vaadin-grid-selection-column';
13
13
  import '@vaadin/multi-select-combo-box';
14
14
  import '@vaadin/dialog';
15
+ import '@vaadin/notification';
15
16
  import merge from 'lodash.merge';
16
- import set from 'lodash.set';
17
17
  import Color from 'color';
18
18
 
19
19
  const kebabCase = (str) =>
@@ -1289,7 +1289,7 @@ const clickableMixin = (superclass) =>
1289
1289
  }
1290
1290
  };
1291
1291
 
1292
- const componentName$H = getComponentName('button');
1292
+ const componentName$I = getComponentName('button');
1293
1293
 
1294
1294
  const resetStyles = `
1295
1295
  :host {
@@ -1391,7 +1391,7 @@ const ButtonClass = compose(
1391
1391
  }
1392
1392
  `,
1393
1393
  excludeAttrsSync: ['tabindex'],
1394
- componentName: componentName$H,
1394
+ componentName: componentName$I,
1395
1395
  })
1396
1396
  );
1397
1397
 
@@ -1428,7 +1428,7 @@ loadingIndicatorStyles = `
1428
1428
  }
1429
1429
  `;
1430
1430
 
1431
- customElements.define(componentName$H, ButtonClass);
1431
+ customElements.define(componentName$I, ButtonClass);
1432
1432
 
1433
1433
  const createBaseInputClass = (...args) =>
1434
1434
  compose(
@@ -1438,11 +1438,11 @@ const createBaseInputClass = (...args) =>
1438
1438
  inputEventsDispatchingMixin
1439
1439
  )(createBaseClass(...args));
1440
1440
 
1441
- const componentName$G = getComponentName('boolean-field-internal');
1441
+ const componentName$H = getComponentName('boolean-field-internal');
1442
1442
 
1443
1443
  const forwardAttributes$1 = ['disabled', 'label', 'invalid', 'readonly'];
1444
1444
 
1445
- const BaseInputClass$5 = createBaseInputClass({ componentName: componentName$G, baseSelector: 'div' });
1445
+ const BaseInputClass$5 = createBaseInputClass({ componentName: componentName$H, baseSelector: 'div' });
1446
1446
 
1447
1447
  class BooleanInputInternal extends BaseInputClass$5 {
1448
1448
  static get observedAttributes() {
@@ -1518,14 +1518,14 @@ const booleanFieldMixin = (superclass) =>
1518
1518
 
1519
1519
  const template = document.createElement('template');
1520
1520
  template.innerHTML = `
1521
- <${componentName$G}
1521
+ <${componentName$H}
1522
1522
  tabindex="-1"
1523
1523
  slot="input"
1524
- ></${componentName$G}>
1524
+ ></${componentName$H}>
1525
1525
  `;
1526
1526
 
1527
1527
  this.baseElement.appendChild(template.content.cloneNode(true));
1528
- this.inputElement = this.shadowRoot.querySelector(componentName$G);
1528
+ this.inputElement = this.shadowRoot.querySelector(componentName$H);
1529
1529
  this.checkbox = this.inputElement.querySelector('vaadin-checkbox');
1530
1530
 
1531
1531
  forwardAttrs(this, this.inputElement, {
@@ -1724,7 +1724,7 @@ descope-boolean-field-internal {
1724
1724
  }
1725
1725
  `;
1726
1726
 
1727
- const componentName$F = getComponentName('checkbox');
1727
+ const componentName$G = getComponentName('checkbox');
1728
1728
 
1729
1729
  const {
1730
1730
  host: host$g,
@@ -1830,15 +1830,15 @@ const CheckboxClass = compose(
1830
1830
  }
1831
1831
  `,
1832
1832
  excludeAttrsSync: ['label', 'tabindex'],
1833
- componentName: componentName$F,
1833
+ componentName: componentName$G,
1834
1834
  })
1835
1835
  );
1836
1836
 
1837
- customElements.define(componentName$G, BooleanInputInternal);
1837
+ customElements.define(componentName$H, BooleanInputInternal);
1838
1838
 
1839
- customElements.define(componentName$F, CheckboxClass);
1839
+ customElements.define(componentName$G, CheckboxClass);
1840
1840
 
1841
- const componentName$E = getComponentName('switch-toggle');
1841
+ const componentName$F = getComponentName('switch-toggle');
1842
1842
 
1843
1843
  const {
1844
1844
  host: host$f,
@@ -1970,17 +1970,17 @@ const SwitchToggleClass = compose(
1970
1970
  }
1971
1971
  `,
1972
1972
  excludeAttrsSync: ['label', 'tabindex'],
1973
- componentName: componentName$E,
1973
+ componentName: componentName$F,
1974
1974
  })
1975
1975
  );
1976
1976
 
1977
- customElements.define(componentName$E, SwitchToggleClass);
1977
+ customElements.define(componentName$F, SwitchToggleClass);
1978
1978
 
1979
- const componentName$D = getComponentName('loader-linear');
1979
+ const componentName$E = getComponentName('loader-linear');
1980
1980
 
1981
- class RawLoaderLinear extends createBaseClass({ componentName: componentName$D, baseSelector: ':host > div' }) {
1981
+ class RawLoaderLinear extends createBaseClass({ componentName: componentName$E, baseSelector: ':host > div' }) {
1982
1982
  static get componentName() {
1983
- return componentName$D;
1983
+ return componentName$E;
1984
1984
  }
1985
1985
 
1986
1986
  constructor() {
@@ -2041,11 +2041,11 @@ const LoaderLinearClass = compose(
2041
2041
  componentNameValidationMixin
2042
2042
  )(RawLoaderLinear);
2043
2043
 
2044
- customElements.define(componentName$D, LoaderLinearClass);
2044
+ customElements.define(componentName$E, LoaderLinearClass);
2045
2045
 
2046
- const componentName$C = getComponentName('loader-radial');
2046
+ const componentName$D = getComponentName('loader-radial');
2047
2047
 
2048
- class RawLoaderRadial extends createBaseClass({ componentName: componentName$C, baseSelector: ':host > div' }) {
2048
+ class RawLoaderRadial extends createBaseClass({ componentName: componentName$D, baseSelector: ':host > div' }) {
2049
2049
  constructor() {
2050
2050
  super();
2051
2051
 
@@ -2089,11 +2089,11 @@ const LoaderRadialClass = compose(
2089
2089
  componentNameValidationMixin
2090
2090
  )(RawLoaderRadial);
2091
2091
 
2092
- customElements.define(componentName$C, LoaderRadialClass);
2092
+ customElements.define(componentName$D, LoaderRadialClass);
2093
2093
 
2094
- const componentName$B = getComponentName('container');
2094
+ const componentName$C = getComponentName('container');
2095
2095
 
2096
- class RawContainer extends createBaseClass({ componentName: componentName$B, baseSelector: 'slot' }) {
2096
+ class RawContainer extends createBaseClass({ componentName: componentName$C, baseSelector: 'slot' }) {
2097
2097
  constructor() {
2098
2098
  super();
2099
2099
 
@@ -2145,13 +2145,13 @@ const ContainerClass = compose(
2145
2145
  componentNameValidationMixin
2146
2146
  )(RawContainer);
2147
2147
 
2148
- customElements.define(componentName$B, ContainerClass);
2148
+ customElements.define(componentName$C, ContainerClass);
2149
2149
 
2150
2150
  // eslint-disable-next-line max-classes-per-file
2151
2151
 
2152
- const componentName$A = getComponentName('text');
2152
+ const componentName$B = getComponentName('text');
2153
2153
 
2154
- class RawText extends createBaseClass({ componentName: componentName$A, baseSelector: ':host > slot' }) {
2154
+ class RawText extends createBaseClass({ componentName: componentName$B, baseSelector: ':host > slot' }) {
2155
2155
  constructor() {
2156
2156
  super();
2157
2157
 
@@ -2211,8 +2211,8 @@ const TextClass = compose(
2211
2211
  customTextMixin
2212
2212
  )(RawText);
2213
2213
 
2214
- const componentName$z = getComponentName('divider');
2215
- class RawDivider extends createBaseClass({ componentName: componentName$z, baseSelector: ':host > div' }) {
2214
+ const componentName$A = getComponentName('divider');
2215
+ class RawDivider extends createBaseClass({ componentName: componentName$A, baseSelector: ':host > div' }) {
2216
2216
  constructor() {
2217
2217
  super();
2218
2218
 
@@ -2311,9 +2311,9 @@ const DividerClass = compose(
2311
2311
  componentNameValidationMixin
2312
2312
  )(RawDivider);
2313
2313
 
2314
- customElements.define(componentName$A, TextClass);
2314
+ customElements.define(componentName$B, TextClass);
2315
2315
 
2316
- customElements.define(componentName$z, DividerClass);
2316
+ customElements.define(componentName$A, DividerClass);
2317
2317
 
2318
2318
  const { host: host$c, label: label$9, placeholder: placeholder$3, requiredIndicator: requiredIndicator$9, inputField: inputField$6, input, helperText: helperText$7, errorMessage: errorMessage$9 } =
2319
2319
  {
@@ -2370,7 +2370,7 @@ var textFieldMappings = {
2370
2370
  inputPlaceholderColor: { ...placeholder$3, property: 'color' },
2371
2371
  };
2372
2372
 
2373
- const componentName$y = getComponentName('email-field');
2373
+ const componentName$z = getComponentName('email-field');
2374
2374
 
2375
2375
  const customMixin$6 = (superclass) =>
2376
2376
  class EmailFieldMixinClass extends superclass {
@@ -2405,15 +2405,15 @@ const EmailFieldClass = compose(
2405
2405
  ${resetInputOverrides('vaadin-email-field', EmailFieldClass.cssVarList)}
2406
2406
  `,
2407
2407
  excludeAttrsSync: ['tabindex'],
2408
- componentName: componentName$y,
2408
+ componentName: componentName$z,
2409
2409
  })
2410
2410
  );
2411
2411
 
2412
- customElements.define(componentName$y, EmailFieldClass);
2412
+ customElements.define(componentName$z, EmailFieldClass);
2413
2413
 
2414
- const componentName$x = getComponentName('link');
2414
+ const componentName$y = getComponentName('link');
2415
2415
 
2416
- class RawLink extends createBaseClass({ componentName: componentName$x, baseSelector: ':host a' }) {
2416
+ class RawLink extends createBaseClass({ componentName: componentName$y, baseSelector: ':host a' }) {
2417
2417
  constructor() {
2418
2418
  super();
2419
2419
 
@@ -2478,7 +2478,7 @@ const LinkClass = compose(
2478
2478
  componentNameValidationMixin
2479
2479
  )(RawLink);
2480
2480
 
2481
- customElements.define(componentName$x, LinkClass);
2481
+ customElements.define(componentName$y, LinkClass);
2482
2482
 
2483
2483
  const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) => {
2484
2484
  let style;
@@ -2530,37 +2530,37 @@ const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) =>
2530
2530
  return CssVarImageClass;
2531
2531
  };
2532
2532
 
2533
- const componentName$w = getComponentName('logo');
2533
+ const componentName$x = getComponentName('logo');
2534
2534
 
2535
2535
  const LogoClass = createCssVarImageClass({
2536
- componentName: componentName$w,
2536
+ componentName: componentName$x,
2537
2537
  varName: 'url',
2538
2538
  fallbackVarName: 'fallbackUrl',
2539
2539
  });
2540
2540
 
2541
- customElements.define(componentName$w, LogoClass);
2541
+ customElements.define(componentName$x, LogoClass);
2542
2542
 
2543
- const componentName$v = getComponentName('totp-image');
2543
+ const componentName$w = getComponentName('totp-image');
2544
2544
 
2545
2545
  const TotpImageClass = createCssVarImageClass({
2546
- componentName: componentName$v,
2546
+ componentName: componentName$w,
2547
2547
  varName: 'url',
2548
2548
  fallbackVarName: 'fallbackUrl',
2549
2549
  });
2550
2550
 
2551
- customElements.define(componentName$v, TotpImageClass);
2551
+ customElements.define(componentName$w, TotpImageClass);
2552
2552
 
2553
- const componentName$u = getComponentName('notp-image');
2553
+ const componentName$v = getComponentName('notp-image');
2554
2554
 
2555
2555
  const NotpImageClass = createCssVarImageClass({
2556
- componentName: componentName$u,
2556
+ componentName: componentName$v,
2557
2557
  varName: 'url',
2558
2558
  fallbackVarName: 'fallbackUrl',
2559
2559
  });
2560
2560
 
2561
- customElements.define(componentName$u, NotpImageClass);
2561
+ customElements.define(componentName$v, NotpImageClass);
2562
2562
 
2563
- const componentName$t = getComponentName('number-field');
2563
+ const componentName$u = getComponentName('number-field');
2564
2564
 
2565
2565
  const NumberFieldClass = compose(
2566
2566
  createStyleMixin({
@@ -2586,11 +2586,11 @@ const NumberFieldClass = compose(
2586
2586
  ${resetInputOverrides('vaadin-number-field', NumberFieldClass.cssVarList)}
2587
2587
  `,
2588
2588
  excludeAttrsSync: ['tabindex'],
2589
- componentName: componentName$t,
2589
+ componentName: componentName$u,
2590
2590
  })
2591
2591
  );
2592
2592
 
2593
- customElements.define(componentName$t, NumberFieldClass);
2593
+ customElements.define(componentName$u, NumberFieldClass);
2594
2594
 
2595
2595
  const focusElement = (ele) => {
2596
2596
  ele?.focus();
@@ -2608,13 +2608,13 @@ const getSanitizedCharacters = (str) => {
2608
2608
 
2609
2609
  /* eslint-disable no-param-reassign */
2610
2610
 
2611
- const componentName$s = getComponentName('passcode-internal');
2611
+ const componentName$t = getComponentName('passcode-internal');
2612
2612
 
2613
2613
  const observedAttributes$5 = ['digits', 'loading'];
2614
2614
 
2615
2615
  const forwardAttributes = ['disabled', 'bordered', 'size', 'invalid', 'readonly'];
2616
2616
 
2617
- const BaseInputClass$4 = createBaseInputClass({ componentName: componentName$s, baseSelector: 'div' });
2617
+ const BaseInputClass$4 = createBaseInputClass({ componentName: componentName$t, baseSelector: 'div' });
2618
2618
 
2619
2619
  class PasscodeInternal extends BaseInputClass$4 {
2620
2620
  static get observedAttributes() {
@@ -2840,7 +2840,7 @@ class PasscodeInternal extends BaseInputClass$4 {
2840
2840
  }
2841
2841
  }
2842
2842
 
2843
- const componentName$r = getComponentName('text-field');
2843
+ const componentName$s = getComponentName('text-field');
2844
2844
 
2845
2845
  const observedAttrs = ['type'];
2846
2846
 
@@ -2890,11 +2890,11 @@ const TextFieldClass = compose(
2890
2890
  ${resetInputOverrides('vaadin-text-field', TextFieldClass.cssVarList)}
2891
2891
  `,
2892
2892
  excludeAttrsSync: ['tabindex'],
2893
- componentName: componentName$r,
2893
+ componentName: componentName$s,
2894
2894
  })
2895
2895
  );
2896
2896
 
2897
- const componentName$q = getComponentName('passcode');
2897
+ const componentName$r = getComponentName('passcode');
2898
2898
 
2899
2899
  const observedAttributes$4 = ['digits'];
2900
2900
 
@@ -2913,17 +2913,17 @@ const customMixin$4 = (superclass) =>
2913
2913
  const template = document.createElement('template');
2914
2914
 
2915
2915
  template.innerHTML = `
2916
- <${componentName$s}
2916
+ <${componentName$t}
2917
2917
  bordered="true"
2918
2918
  name="code"
2919
2919
  tabindex="-1"
2920
2920
  slot="input"
2921
- ><slot></slot></${componentName$s}>
2921
+ ><slot></slot></${componentName$t}>
2922
2922
  `;
2923
2923
 
2924
2924
  this.baseElement.appendChild(template.content.cloneNode(true));
2925
2925
 
2926
- this.inputElement = this.shadowRoot.querySelector(componentName$s);
2926
+ this.inputElement = this.shadowRoot.querySelector(componentName$t);
2927
2927
 
2928
2928
  forwardAttrs(this, this.inputElement, { includeAttrs: ['digits', 'size', 'loading'] });
2929
2929
  }
@@ -3070,15 +3070,15 @@ const PasscodeClass = compose(
3070
3070
  ${resetInputCursor('vaadin-text-field')}
3071
3071
  `,
3072
3072
  excludeAttrsSync: ['tabindex'],
3073
- componentName: componentName$q,
3073
+ componentName: componentName$r,
3074
3074
  })
3075
3075
  );
3076
3076
 
3077
- customElements.define(componentName$r, TextFieldClass);
3077
+ customElements.define(componentName$s, TextFieldClass);
3078
3078
 
3079
- customElements.define(componentName$s, PasscodeInternal);
3079
+ customElements.define(componentName$t, PasscodeInternal);
3080
3080
 
3081
- customElements.define(componentName$q, PasscodeClass);
3081
+ customElements.define(componentName$r, PasscodeClass);
3082
3082
 
3083
3083
  const passwordDraggableMixin = (superclass) =>
3084
3084
  class PasswordDraggableMixinClass extends superclass {
@@ -3114,7 +3114,7 @@ const passwordDraggableMixin = (superclass) =>
3114
3114
  }
3115
3115
  };
3116
3116
 
3117
- const componentName$p = getComponentName('password');
3117
+ const componentName$q = getComponentName('password');
3118
3118
 
3119
3119
  const {
3120
3120
  host: host$9,
@@ -3245,13 +3245,13 @@ const PasswordClass = compose(
3245
3245
  }
3246
3246
  `,
3247
3247
  excludeAttrsSync: ['tabindex'],
3248
- componentName: componentName$p,
3248
+ componentName: componentName$q,
3249
3249
  })
3250
3250
  );
3251
3251
 
3252
- customElements.define(componentName$p, PasswordClass);
3252
+ customElements.define(componentName$q, PasswordClass);
3253
3253
 
3254
- const componentName$o = getComponentName('text-area');
3254
+ const componentName$p = getComponentName('text-area');
3255
3255
 
3256
3256
  const {
3257
3257
  host: host$8,
@@ -3327,17 +3327,17 @@ const TextAreaClass = compose(
3327
3327
  ${resetInputCursor('vaadin-text-area')}
3328
3328
  `,
3329
3329
  excludeAttrsSync: ['tabindex'],
3330
- componentName: componentName$o,
3330
+ componentName: componentName$p,
3331
3331
  })
3332
3332
  );
3333
3333
 
3334
- customElements.define(componentName$o, TextAreaClass);
3334
+ customElements.define(componentName$p, TextAreaClass);
3335
3335
 
3336
3336
  const observedAttributes$3 = ['src', 'alt'];
3337
3337
 
3338
- const componentName$n = getComponentName('image');
3338
+ const componentName$o = getComponentName('image');
3339
3339
 
3340
- const BaseClass$1 = createBaseClass({ componentName: componentName$n, baseSelector: ':host > img' });
3340
+ const BaseClass$1 = createBaseClass({ componentName: componentName$o, baseSelector: ':host > img' });
3341
3341
  class RawImage extends BaseClass$1 {
3342
3342
  static get observedAttributes() {
3343
3343
  return observedAttributes$3.concat(BaseClass$1.observedAttributes || []);
@@ -3377,9 +3377,9 @@ const ImageClass = compose(
3377
3377
  draggableMixin
3378
3378
  )(RawImage);
3379
3379
 
3380
- customElements.define(componentName$n, ImageClass);
3380
+ customElements.define(componentName$o, ImageClass);
3381
3381
 
3382
- const componentName$m = getComponentName('combo-box');
3382
+ const componentName$n = getComponentName('combo-box');
3383
3383
 
3384
3384
  const ComboBoxMixin = (superclass) =>
3385
3385
  class ComboBoxMixinClass extends superclass {
@@ -3758,12 +3758,12 @@ const ComboBoxClass = compose(
3758
3758
  // and reset items to an empty array, and opening the list box with no items
3759
3759
  // to display.
3760
3760
  excludeAttrsSync: ['tabindex', 'size', 'data'],
3761
- componentName: componentName$m,
3761
+ componentName: componentName$n,
3762
3762
  includeForwardProps: ['items', 'renderer', 'selectedItem'],
3763
3763
  })
3764
3764
  );
3765
3765
 
3766
- customElements.define(componentName$m, ComboBoxClass);
3766
+ customElements.define(componentName$n, ComboBoxClass);
3767
3767
 
3768
3768
  var CountryCodes = [
3769
3769
  {
@@ -5003,7 +5003,7 @@ const comboBoxItem = ({ code, dialCode, name: country }) => `
5003
5003
  </div>
5004
5004
  `;
5005
5005
 
5006
- const componentName$l = getComponentName('phone-field-internal');
5006
+ const componentName$m = getComponentName('phone-field-internal');
5007
5007
 
5008
5008
  const commonAttrs$1 = ['disabled', 'size', 'bordered', 'invalid', 'readonly'];
5009
5009
  const countryAttrs = ['country-input-placeholder', 'default-code', 'restrict-countries'];
@@ -5015,7 +5015,7 @@ const mapAttrs$1 = {
5015
5015
 
5016
5016
  const inputRelatedAttrs$1 = [].concat(commonAttrs$1, countryAttrs, phoneAttrs);
5017
5017
 
5018
- const BaseInputClass$3 = createBaseInputClass({ componentName: componentName$l, baseSelector: 'div' });
5018
+ const BaseInputClass$3 = createBaseInputClass({ componentName: componentName$m, baseSelector: 'div' });
5019
5019
 
5020
5020
  let PhoneFieldInternal$1 = class PhoneFieldInternal extends BaseInputClass$3 {
5021
5021
  static get observedAttributes() {
@@ -5187,12 +5187,12 @@ let PhoneFieldInternal$1 = class PhoneFieldInternal extends BaseInputClass$3 {
5187
5187
  }
5188
5188
  };
5189
5189
 
5190
- customElements.define(componentName$l, PhoneFieldInternal$1);
5190
+ customElements.define(componentName$m, PhoneFieldInternal$1);
5191
5191
 
5192
5192
  const textVars$1 = TextFieldClass.cssVarList;
5193
5193
  const comboVars = ComboBoxClass.cssVarList;
5194
5194
 
5195
- const componentName$k = getComponentName('phone-field');
5195
+ const componentName$l = getComponentName('phone-field');
5196
5196
 
5197
5197
  const customMixin$3 = (superclass) =>
5198
5198
  class PhoneFieldMixinClass extends superclass {
@@ -5206,15 +5206,15 @@ const customMixin$3 = (superclass) =>
5206
5206
  const template = document.createElement('template');
5207
5207
 
5208
5208
  template.innerHTML = `
5209
- <${componentName$l}
5209
+ <${componentName$m}
5210
5210
  tabindex="-1"
5211
5211
  slot="input"
5212
- ></${componentName$l}>
5212
+ ></${componentName$m}>
5213
5213
  `;
5214
5214
 
5215
5215
  this.baseElement.appendChild(template.content.cloneNode(true));
5216
5216
 
5217
- this.inputElement = this.shadowRoot.querySelector(componentName$l);
5217
+ this.inputElement = this.shadowRoot.querySelector(componentName$m);
5218
5218
 
5219
5219
  forwardAttrs(this.shadowRoot.host, this.inputElement, {
5220
5220
  includeAttrs: [
@@ -5410,17 +5410,17 @@ const PhoneFieldClass = compose(
5410
5410
  ${resetInputLabelPosition('vaadin-text-field')}
5411
5411
  `,
5412
5412
  excludeAttrsSync: ['tabindex'],
5413
- componentName: componentName$k,
5413
+ componentName: componentName$l,
5414
5414
  })
5415
5415
  );
5416
5416
 
5417
- customElements.define(componentName$k, PhoneFieldClass);
5417
+ customElements.define(componentName$l, PhoneFieldClass);
5418
5418
 
5419
5419
  const getCountryByCodeId = (countryCode) => {
5420
5420
  return CountryCodes.find((c) => c.code === countryCode)?.dialCode;
5421
5421
  };
5422
5422
 
5423
- const componentName$j = getComponentName('phone-field-internal-input-box');
5423
+ const componentName$k = getComponentName('phone-field-internal-input-box');
5424
5424
 
5425
5425
  const observedAttributes$2 = [
5426
5426
  'disabled',
@@ -5434,7 +5434,7 @@ const mapAttrs = {
5434
5434
  'phone-input-placeholder': 'placeholder',
5435
5435
  };
5436
5436
 
5437
- const BaseInputClass$2 = createBaseInputClass({ componentName: componentName$j, baseSelector: 'div' });
5437
+ const BaseInputClass$2 = createBaseInputClass({ componentName: componentName$k, baseSelector: 'div' });
5438
5438
 
5439
5439
  class PhoneFieldInternal extends BaseInputClass$2 {
5440
5440
  static get observedAttributes() {
@@ -5573,11 +5573,11 @@ class PhoneFieldInternal extends BaseInputClass$2 {
5573
5573
  }
5574
5574
  }
5575
5575
 
5576
- customElements.define(componentName$j, PhoneFieldInternal);
5576
+ customElements.define(componentName$k, PhoneFieldInternal);
5577
5577
 
5578
5578
  const textVars = TextFieldClass.cssVarList;
5579
5579
 
5580
- const componentName$i = getComponentName('phone-input-box-field');
5580
+ const componentName$j = getComponentName('phone-input-box-field');
5581
5581
 
5582
5582
  const customMixin$2 = (superclass) =>
5583
5583
  class PhoneInputBoxFieldMixinClass extends superclass {
@@ -5591,15 +5591,15 @@ const customMixin$2 = (superclass) =>
5591
5591
  const template = document.createElement('template');
5592
5592
 
5593
5593
  template.innerHTML = `
5594
- <${componentName$j}
5594
+ <${componentName$k}
5595
5595
  tabindex="-1"
5596
5596
  slot="input"
5597
- ></${componentName$j}>
5597
+ ></${componentName$k}>
5598
5598
  `;
5599
5599
 
5600
5600
  this.baseElement.appendChild(template.content.cloneNode(true));
5601
5601
 
5602
- this.inputElement = this.shadowRoot.querySelector(componentName$j);
5602
+ this.inputElement = this.shadowRoot.querySelector(componentName$k);
5603
5603
 
5604
5604
  forwardAttrs(this.shadowRoot.host, this.inputElement, {
5605
5605
  includeAttrs: [
@@ -5732,15 +5732,15 @@ const PhoneFieldInputBoxClass = compose(
5732
5732
  ${resetInputLabelPosition('vaadin-text-field')}
5733
5733
  `,
5734
5734
  excludeAttrsSync: ['tabindex'],
5735
- componentName: componentName$i,
5735
+ componentName: componentName$j,
5736
5736
  })
5737
5737
  );
5738
5738
 
5739
- customElements.define(componentName$i, PhoneFieldInputBoxClass);
5739
+ customElements.define(componentName$j, PhoneFieldInputBoxClass);
5740
5740
 
5741
- const componentName$h = getComponentName('new-password-internal');
5741
+ const componentName$i = getComponentName('new-password-internal');
5742
5742
 
5743
- const componentName$g = getComponentName('new-password');
5743
+ const componentName$h = getComponentName('new-password');
5744
5744
 
5745
5745
  const customMixin$1 = (superclass) =>
5746
5746
  class NewPasswordMixinClass extends superclass {
@@ -5750,16 +5750,16 @@ const customMixin$1 = (superclass) =>
5750
5750
  const template = document.createElement('template');
5751
5751
 
5752
5752
  template.innerHTML = `
5753
- <${componentName$h}
5753
+ <${componentName$i}
5754
5754
  name="new-password"
5755
5755
  tabindex="-1"
5756
5756
  slot="input"
5757
- ></${componentName$h}>
5757
+ ></${componentName$i}>
5758
5758
  `;
5759
5759
 
5760
5760
  this.baseElement.appendChild(template.content.cloneNode(true));
5761
5761
 
5762
- this.inputElement = this.shadowRoot.querySelector(componentName$h);
5762
+ this.inputElement = this.shadowRoot.querySelector(componentName$i);
5763
5763
 
5764
5764
  forwardAttrs(this, this.inputElement, {
5765
5765
  includeAttrs: [
@@ -5866,7 +5866,7 @@ const NewPasswordClass = compose(
5866
5866
  }
5867
5867
  `,
5868
5868
  excludeAttrsSync: ['tabindex'],
5869
- componentName: componentName$g,
5869
+ componentName: componentName$h,
5870
5870
  })
5871
5871
  );
5872
5872
 
@@ -5891,7 +5891,7 @@ const commonAttrs = [
5891
5891
 
5892
5892
  const inputRelatedAttrs = [].concat(commonAttrs, passwordInputAttrs, confirmInputAttrs);
5893
5893
 
5894
- const BaseInputClass$1 = createBaseInputClass({ componentName: componentName$h, baseSelector: 'div' });
5894
+ const BaseInputClass$1 = createBaseInputClass({ componentName: componentName$i, baseSelector: 'div' });
5895
5895
 
5896
5896
  class NewPasswordInternal extends BaseInputClass$1 {
5897
5897
  static get observedAttributes() {
@@ -6056,16 +6056,16 @@ class NewPasswordInternal extends BaseInputClass$1 {
6056
6056
  }
6057
6057
  }
6058
6058
 
6059
- customElements.define(componentName$h, NewPasswordInternal);
6059
+ customElements.define(componentName$i, NewPasswordInternal);
6060
6060
 
6061
- customElements.define(componentName$g, NewPasswordClass);
6061
+ customElements.define(componentName$h, NewPasswordClass);
6062
6062
 
6063
- const componentName$f = getComponentName('recaptcha');
6063
+ const componentName$g = getComponentName('recaptcha');
6064
6064
 
6065
6065
  const observedAttributes$1 = ['enabled', 'site-key', 'action', 'enterprise'];
6066
6066
 
6067
6067
  const BaseClass = createBaseClass({
6068
- componentName: componentName$f,
6068
+ componentName: componentName$g,
6069
6069
  baseSelector: ':host > div',
6070
6070
  });
6071
6071
  class RawRecaptcha extends BaseClass {
@@ -6217,7 +6217,7 @@ class RawRecaptcha extends BaseClass {
6217
6217
 
6218
6218
  const RecaptchaClass = compose(draggableMixin)(RawRecaptcha);
6219
6219
 
6220
- customElements.define(componentName$f, RecaptchaClass);
6220
+ customElements.define(componentName$g, RecaptchaClass);
6221
6221
 
6222
6222
  const getFileBase64 = (fileObj) => {
6223
6223
  return new Promise((resolve) => {
@@ -6231,7 +6231,7 @@ const getFilename = (fileObj) => {
6231
6231
  return fileObj.name.replace(/^.*\\/, '');
6232
6232
  };
6233
6233
 
6234
- const componentName$e = getComponentName('upload-file');
6234
+ const componentName$f = getComponentName('upload-file');
6235
6235
 
6236
6236
  const observedAttributes = [
6237
6237
  'title',
@@ -6246,7 +6246,7 @@ const observedAttributes = [
6246
6246
  'icon',
6247
6247
  ];
6248
6248
 
6249
- const BaseInputClass = createBaseInputClass({ componentName: componentName$e, baseSelector: ':host > div' });
6249
+ const BaseInputClass = createBaseInputClass({ componentName: componentName$f, baseSelector: ':host > div' });
6250
6250
 
6251
6251
  class RawUploadFile extends BaseInputClass {
6252
6252
  static get observedAttributes() {
@@ -6461,7 +6461,7 @@ const UploadFileClass = compose(
6461
6461
  componentNameValidationMixin
6462
6462
  )(RawUploadFile);
6463
6463
 
6464
- customElements.define(componentName$e, UploadFileClass);
6464
+ customElements.define(componentName$f, UploadFileClass);
6465
6465
 
6466
6466
  const createBaseButtonSelectionGroupInternalClass = (componentName) => {
6467
6467
  class BaseButtonSelectionGroupInternalClass extends createBaseInputClass({
@@ -6559,10 +6559,10 @@ const createBaseButtonSelectionGroupInternalClass = (componentName) => {
6559
6559
  return BaseButtonSelectionGroupInternalClass;
6560
6560
  };
6561
6561
 
6562
- const componentName$d = getComponentName('button-selection-group-internal');
6562
+ const componentName$e = getComponentName('button-selection-group-internal');
6563
6563
 
6564
6564
  class ButtonSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
6565
- componentName$d
6565
+ componentName$e
6566
6566
  ) {
6567
6567
  getSelectedNode() {
6568
6568
  return this.items.find((item) => item.hasAttribute('selected'));
@@ -6794,7 +6794,7 @@ const buttonSelectionGroupStyles = `
6794
6794
  ${resetInputCursor('vaadin-text-field')}
6795
6795
  `;
6796
6796
 
6797
- const componentName$c = getComponentName('button-selection-group');
6797
+ const componentName$d = getComponentName('button-selection-group');
6798
6798
 
6799
6799
  const buttonSelectionGroupMixin = (superclass) =>
6800
6800
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -6803,19 +6803,19 @@ const buttonSelectionGroupMixin = (superclass) =>
6803
6803
  const template = document.createElement('template');
6804
6804
 
6805
6805
  template.innerHTML = `
6806
- <${componentName$d}
6806
+ <${componentName$e}
6807
6807
  name="button-selection-group"
6808
6808
  slot="input"
6809
6809
  tabindex="-1"
6810
6810
  part="internal-component"
6811
6811
  >
6812
6812
  <slot></slot>
6813
- </${componentName$d}>
6813
+ </${componentName$e}>
6814
6814
  `;
6815
6815
 
6816
6816
  this.baseElement.appendChild(template.content.cloneNode(true));
6817
6817
 
6818
- this.inputElement = this.shadowRoot.querySelector(componentName$d);
6818
+ this.inputElement = this.shadowRoot.querySelector(componentName$e);
6819
6819
 
6820
6820
  forwardAttrs(this, this.inputElement, {
6821
6821
  includeAttrs: ['size', 'default-value', 'allow-deselect'],
@@ -6840,16 +6840,16 @@ const ButtonSelectionGroupClass = compose(
6840
6840
  wrappedEleName: 'vaadin-text-field',
6841
6841
  style: () => buttonSelectionGroupStyles,
6842
6842
  excludeAttrsSync: ['tabindex'],
6843
- componentName: componentName$c,
6843
+ componentName: componentName$d,
6844
6844
  })
6845
6845
  );
6846
6846
 
6847
- customElements.define(componentName$d, ButtonSelectionGroupInternalClass);
6847
+ customElements.define(componentName$e, ButtonSelectionGroupInternalClass);
6848
6848
 
6849
- const componentName$b = getComponentName('button-selection-group-item');
6849
+ const componentName$c = getComponentName('button-selection-group-item');
6850
6850
 
6851
6851
  class RawSelectItem extends createBaseClass({
6852
- componentName: componentName$b,
6852
+ componentName: componentName$c,
6853
6853
  baseSelector: ':host > descope-button',
6854
6854
  }) {
6855
6855
  get size() {
@@ -6947,14 +6947,14 @@ const ButtonSelectionGroupItemClass = compose(
6947
6947
  componentNameValidationMixin
6948
6948
  )(RawSelectItem);
6949
6949
 
6950
- customElements.define(componentName$b, ButtonSelectionGroupItemClass);
6950
+ customElements.define(componentName$c, ButtonSelectionGroupItemClass);
6951
6951
 
6952
- customElements.define(componentName$c, ButtonSelectionGroupClass);
6952
+ customElements.define(componentName$d, ButtonSelectionGroupClass);
6953
6953
 
6954
- const componentName$a = getComponentName('button-multi-selection-group-internal');
6954
+ const componentName$b = getComponentName('button-multi-selection-group-internal');
6955
6955
 
6956
6956
  class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(
6957
- componentName$a
6957
+ componentName$b
6958
6958
  ) {
6959
6959
  #getSelectedNodes() {
6960
6960
  return this.items.filter((item) => item.hasAttribute('selected'));
@@ -7057,7 +7057,7 @@ class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGr
7057
7057
  }
7058
7058
  }
7059
7059
 
7060
- const componentName$9 = getComponentName('button-multi-selection-group');
7060
+ const componentName$a = getComponentName('button-multi-selection-group');
7061
7061
 
7062
7062
  const buttonMultiSelectionGroupMixin = (superclass) =>
7063
7063
  class ButtonMultiSelectionGroupMixinClass extends superclass {
@@ -7066,19 +7066,19 @@ const buttonMultiSelectionGroupMixin = (superclass) =>
7066
7066
  const template = document.createElement('template');
7067
7067
 
7068
7068
  template.innerHTML = `
7069
- <${componentName$a}
7069
+ <${componentName$b}
7070
7070
  name="button-selection-group"
7071
7071
  slot="input"
7072
7072
  tabindex="-1"
7073
7073
  part="internal-component"
7074
7074
  >
7075
7075
  <slot></slot>
7076
- </${componentName$a}>
7076
+ </${componentName$b}>
7077
7077
  `;
7078
7078
 
7079
7079
  this.baseElement.appendChild(template.content.cloneNode(true));
7080
7080
 
7081
- this.inputElement = this.shadowRoot.querySelector(componentName$a);
7081
+ this.inputElement = this.shadowRoot.querySelector(componentName$b);
7082
7082
 
7083
7083
  forwardAttrs(this, this.inputElement, {
7084
7084
  includeAttrs: ['size', 'default-values', 'min-items-selection', 'max-items-selection'],
@@ -7103,13 +7103,13 @@ const ButtonMultiSelectionGroupClass = compose(
7103
7103
  wrappedEleName: 'vaadin-text-field',
7104
7104
  style: () => buttonSelectionGroupStyles,
7105
7105
  excludeAttrsSync: ['tabindex'],
7106
- componentName: componentName$9,
7106
+ componentName: componentName$a,
7107
7107
  })
7108
7108
  );
7109
7109
 
7110
- customElements.define(componentName$a, ButtonMultiSelectionGroupInternalClass);
7110
+ customElements.define(componentName$b, ButtonMultiSelectionGroupInternalClass);
7111
7111
 
7112
- customElements.define(componentName$9, ButtonMultiSelectionGroupClass);
7112
+ customElements.define(componentName$a, ButtonMultiSelectionGroupClass);
7113
7113
 
7114
7114
  /* eslint-disable no-param-reassign */
7115
7115
 
@@ -7138,9 +7138,9 @@ class GridTextColumnClass extends GridSortColumn {
7138
7138
  }
7139
7139
  }
7140
7140
 
7141
- const componentName$8 = getComponentName('grid-text-column');
7141
+ const componentName$9 = getComponentName('grid-text-column');
7142
7142
 
7143
- customElements.define(componentName$8, GridTextColumnClass);
7143
+ customElements.define(componentName$9, GridTextColumnClass);
7144
7144
 
7145
7145
  /* eslint-disable no-param-reassign */
7146
7146
 
@@ -7175,9 +7175,9 @@ class GridCustomColumnClass extends GridTextColumnClass {
7175
7175
 
7176
7176
  /* eslint-disable no-param-reassign */
7177
7177
 
7178
- const componentName$7 = getComponentName('grid-custom-column');
7178
+ const componentName$8 = getComponentName('grid-custom-column');
7179
7179
 
7180
- customElements.define(componentName$7, GridCustomColumnClass);
7180
+ customElements.define(componentName$8, GridCustomColumnClass);
7181
7181
 
7182
7182
  const createCheckboxEle = () => {
7183
7183
  const checkbox = document.createElement('descope-checkbox');
@@ -7236,9 +7236,9 @@ class GridSelectionColumnClass extends GridSelectionColumn {
7236
7236
  }
7237
7237
  }
7238
7238
 
7239
- const componentName$6 = getComponentName('grid-selection-column');
7239
+ const componentName$7 = getComponentName('grid-selection-column');
7240
7240
 
7241
- customElements.define(componentName$6, GridSelectionColumnClass);
7241
+ customElements.define(componentName$7, GridSelectionColumnClass);
7242
7242
 
7243
7243
  const isValidDataType = (data) => {
7244
7244
  const isValid = Array.isArray(data);
@@ -7250,7 +7250,7 @@ const isValidDataType = (data) => {
7250
7250
  return isValid;
7251
7251
  };
7252
7252
 
7253
- const componentName$5 = getComponentName('grid');
7253
+ const componentName$6 = getComponentName('grid');
7254
7254
 
7255
7255
  const GridMixin = (superclass) =>
7256
7256
  class GridMixinClass extends superclass {
@@ -7483,13 +7483,13 @@ const GridClass = compose(
7483
7483
  }
7484
7484
  `,
7485
7485
  excludeAttrsSync: ['columns', 'tabindex'],
7486
- componentName: componentName$5,
7486
+ componentName: componentName$6,
7487
7487
  })
7488
7488
  );
7489
7489
 
7490
- customElements.define(componentName$5, GridClass);
7490
+ customElements.define(componentName$6, GridClass);
7491
7491
 
7492
- const componentName$4 = getComponentName('multi-select-combo-box');
7492
+ const componentName$5 = getComponentName('multi-select-combo-box');
7493
7493
 
7494
7494
  const multiSelectComboBoxMixin = (superclass) =>
7495
7495
  class MultiSelectComboBoxMixinClass extends superclass {
@@ -8093,16 +8093,16 @@ const MultiSelectComboBoxClass = compose(
8093
8093
  // Note: we exclude `placeholder` because the vaadin component observes it and
8094
8094
  // tries to override it, causing us to lose the user set placeholder.
8095
8095
  excludeAttrsSync: ['tabindex', 'size', 'data', 'placeholder'],
8096
- componentName: componentName$4,
8096
+ componentName: componentName$5,
8097
8097
  includeForwardProps: ['items', 'renderer', 'selectedItems'],
8098
8098
  })
8099
8099
  );
8100
8100
 
8101
- customElements.define(componentName$4, MultiSelectComboBoxClass);
8101
+ customElements.define(componentName$5, MultiSelectComboBoxClass);
8102
8102
 
8103
- const componentName$3 = getComponentName('badge');
8103
+ const componentName$4 = getComponentName('badge');
8104
8104
 
8105
- class RawBadge extends createBaseClass({ componentName: componentName$3, baseSelector: ':host > div' }) {
8105
+ class RawBadge extends createBaseClass({ componentName: componentName$4, baseSelector: ':host > div' }) {
8106
8106
  constructor() {
8107
8107
  super();
8108
8108
 
@@ -8150,9 +8150,9 @@ const BadgeClass = compose(
8150
8150
  componentNameValidationMixin
8151
8151
  )(RawBadge);
8152
8152
 
8153
- customElements.define(componentName$3, BadgeClass);
8153
+ customElements.define(componentName$4, BadgeClass);
8154
8154
 
8155
- const componentName$2 = getComponentName('modal');
8155
+ const componentName$3 = getComponentName('modal');
8156
8156
 
8157
8157
  const customMixin = (superclass) =>
8158
8158
  class ModalMixinClass extends superclass {
@@ -8251,14 +8251,248 @@ const ModalClass = compose(
8251
8251
  wrappedEleName: 'vaadin-dialog',
8252
8252
  style: () => ``,
8253
8253
  excludeAttrsSync: ['tabindex', 'opened'],
8254
+ componentName: componentName$3,
8255
+ })
8256
+ );
8257
+
8258
+ customElements.define(componentName$3, ModalClass);
8259
+
8260
+ const vaadinContainerClass = window.customElements.get('vaadin-notification-container');
8261
+
8262
+ if (!vaadinContainerClass) {
8263
+ throw new Error('could not get vaadin-notification-container class');
8264
+ }
8265
+
8266
+ class NotificationContainerClass extends vaadinContainerClass {}
8267
+ customElements.define(getComponentName('notification-container'), NotificationContainerClass);
8268
+
8269
+ const componentName$2 = getComponentName('notification-card');
8270
+
8271
+ const notificationCardMixin = (superclass) =>
8272
+ class NotificationCardMixinClass extends superclass {
8273
+ close() {
8274
+ // if animation is not applied to the element, the node will not be removed
8275
+ // from the DOM. We should avoid that. So, if in any case we allow
8276
+ // customizing the animation - we should check if animation is applied
8277
+ // and if it's not applied - remove the element from the DOM and dispatch
8278
+ // `card-closed` event.
8279
+ this.baseElement.addEventListener('animationend', () => {
8280
+ this.remove();
8281
+ this.dispatchEvent(new Event('card-closed'));
8282
+ });
8283
+
8284
+ this.setAttribute('opened', 'false');
8285
+ }
8286
+
8287
+ constructor() {
8288
+ super();
8289
+
8290
+ this.baseElement.innerHTML = `
8291
+ <div part="root">
8292
+ <div part="content">
8293
+ <slot></slot>
8294
+ </div>
8295
+ <div part="close">
8296
+ <slot name="close"></slot>
8297
+ </div>
8298
+ </div>
8299
+ `;
8300
+
8301
+ this.closeEle = this.shadowRoot.querySelector('[part="close"]');
8302
+ }
8303
+
8304
+ init() {
8305
+ super.init?.();
8306
+
8307
+ this.closeEle.onclick = () => {
8308
+ this.close();
8309
+ };
8310
+ }
8311
+ };
8312
+
8313
+ const selectors = {
8314
+ content: () => 'vaadin-notification-card::part(content)',
8315
+ overlay: () => 'vaadin-notification-card::part(overlay)',
8316
+ };
8317
+
8318
+ const NotificationCardClass = compose(
8319
+ createStyleMixin({
8320
+ mappings: {
8321
+ hostMinWidth: { selector: selectors.content, property: 'min-width' },
8322
+ fontFamily: {},
8323
+ fontSize: {},
8324
+ backgroundColor: { selector: selectors.content },
8325
+ textColor: { property: 'color' },
8326
+ boxShadow: {},
8327
+ borderWidth: { selector: selectors.content, property: 'border-width' },
8328
+ borderColor: { selector: selectors.content, property: 'border-color' },
8329
+ borderStyle: { selector: selectors.content, property: 'border-style' },
8330
+ borderRadius: [
8331
+ { selector: selectors.content, property: 'border-radius' },
8332
+ { selector: selectors.overlay, property: 'border-radius' },
8333
+ ],
8334
+ verticalPadding: [
8335
+ { selector: selectors.content, property: 'padding-top' },
8336
+ { selector: selectors.content, property: 'padding-bottom' },
8337
+ ],
8338
+ horizontalPadding: [
8339
+ { selector: selectors.content, property: 'padding-right' },
8340
+ { selector: selectors.content, property: 'padding-left' },
8341
+ ],
8342
+ },
8343
+ }),
8344
+ notificationCardMixin
8345
+ )(
8346
+ createProxy({
8347
+ slots: [],
8348
+ wrappedEleName: 'vaadin-notification-card',
8349
+ style: () => `
8350
+ vaadin-notification-card {
8351
+ box-shadow: none;
8352
+ }
8353
+ ::part(overlay) {
8354
+ box-shadow: none;
8355
+ background: none;
8356
+ }
8357
+
8358
+ [part="close"] {
8359
+ cursor: pointer;
8360
+ display: flex;
8361
+ }
8362
+
8363
+ [part="content"] {
8364
+ display: flex;
8365
+ align-items: center;
8366
+ flex-grow: 1;
8367
+ }
8368
+
8369
+ [part="root"] {
8370
+ display: flex;
8371
+ align-items: center;
8372
+ justify-content: space-between;
8373
+ width: 100%;
8374
+ }
8375
+ `,
8376
+ excludeAttrsSync: ['tabindex'],
8254
8377
  componentName: componentName$2,
8255
8378
  })
8256
8379
  );
8257
8380
 
8258
- customElements.define(componentName$2, ModalClass);
8381
+ customElements.define(componentName$2, NotificationCardClass);
8382
+
8383
+ const componentName$1 = getComponentName('notification');
8384
+
8385
+ const NotificationMixin = (superclass) =>
8386
+ class NotificationMixinClass extends superclass {
8387
+ #card;
8388
+
8389
+ constructor() {
8390
+ super();
8391
+
8392
+ const that = this;
8393
+
8394
+ Object.defineProperty(this.baseElement, '_container', {
8395
+ get() {
8396
+ if (!NotificationMixinClass._container) {
8397
+ NotificationMixinClass._container = document.createElement(
8398
+ 'descope-notification-container'
8399
+ );
8400
+
8401
+ // we're adding the container to body to avoid Vaadin's container's `openChanged`
8402
+ // from breaking when trying to remove it directly from the body.
8403
+ document.body.appendChild(NotificationMixinClass._container);
8404
+ }
8405
+
8406
+ if (!NotificationMixinClass._container.isConnected) {
8407
+ // Then, we're adding the container to the parentNode, which is the desired location
8408
+ // for us on the DOM
8409
+ setTimeout(() => that.parentNode.appendChild(NotificationMixinClass._container));
8410
+ }
8411
+
8412
+ return NotificationMixinClass._container;
8413
+ },
8414
+ });
8415
+
8416
+ Object.defineProperty(this.baseElement, '_card', {
8417
+ get() {
8418
+ return that.#card;
8419
+ },
8420
+ });
8421
+
8422
+ // we want to replace the card with vaadin's remove notification so it will not throw
8423
+ this.baseElement._removeNotificationCard = this.close.bind(this);
8424
+ }
8425
+
8426
+ close() {
8427
+ this.#card.close();
8428
+ }
8429
+
8430
+ init() {
8431
+ super.init?.();
8432
+
8433
+ this.createCard();
8434
+
8435
+ forwardAttrs(this, this.#card);
8436
+ syncAttrs(this.#card, this, { includeAttrs: ['opened'] });
8437
+
8438
+ this.baseElement.renderer = (cardRoot) => {
8439
+ Array.from(this.childNodes).forEach((child) => cardRoot.appendChild(child));
8440
+ };
8441
+ }
8442
+
8443
+ // eslint-disable-next-line class-methods-use-this
8444
+ get isContainerEmpty() {
8445
+ return !NotificationMixinClass._container.children.length;
8446
+ }
8447
+
8448
+ // eslint-disable-next-line class-methods-use-this
8449
+ removeContainer() {
8450
+ NotificationMixinClass._container.remove();
8451
+ }
8452
+
8453
+ removeNotification() {
8454
+ // remove descope-notification from the DOM
8455
+ this.remove();
8456
+ // if needed, remove descope-notification-container
8457
+ if (this.isContainerEmpty) this.removeContainer();
8458
+ }
8459
+
8460
+ createCard() {
8461
+ this.#card = document.createElement('descope-notification-card');
8462
+ this.#card.addEventListener('card-closed', this.removeNotification.bind(this));
8463
+ }
8464
+ };
8465
+
8466
+ const NotificationClass = compose(
8467
+ draggableMixin,
8468
+ componentNameValidationMixin,
8469
+ hoverableMixin,
8470
+ NotificationMixin
8471
+ )(
8472
+ createProxy({
8473
+ wrappedEleName: 'vaadin-notification',
8474
+ excludeAttrsSync: ['tabindex'],
8475
+ componentName: componentName$1,
8476
+ })
8477
+ );
8478
+
8479
+ customElements.define(componentName$1, NotificationClass);
8259
8480
 
8260
8481
  const getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path);
8261
8482
 
8483
+ // lodash.set alternative
8484
+ const set = (obj, path, value) => {
8485
+ const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
8486
+
8487
+ pathArray.reduce((acc, key, i) => {
8488
+ if (acc[key] === undefined) acc[key] = {};
8489
+ if (i === pathArray.length - 1) acc[key] = value;
8490
+ return acc[key];
8491
+ }, obj);
8492
+
8493
+ return obj;
8494
+ };
8495
+
8262
8496
  const transformTheme = (theme, path, getTransformation) => {
8263
8497
  return Object.entries(theme).reduce((acc, [key, val]) => {
8264
8498
  if (val?.constructor !== Object) {
@@ -8599,7 +8833,7 @@ const mode = {
8599
8833
  surface: globalRefs$i.colors.surface,
8600
8834
  };
8601
8835
 
8602
- const [helperTheme$3, helperRefs$3, helperVars$3] = createHelperVars({ mode }, componentName$H);
8836
+ const [helperTheme$3, helperRefs$3, helperVars$3] = createHelperVars({ mode }, componentName$I);
8603
8837
 
8604
8838
  const button = {
8605
8839
  ...helperTheme$3,
@@ -8715,7 +8949,7 @@ var button$1 = /*#__PURE__*/Object.freeze({
8715
8949
  vars: vars$x
8716
8950
  });
8717
8951
 
8718
- const componentName$1 = getComponentName('input-wrapper');
8952
+ const componentName = getComponentName('input-wrapper');
8719
8953
  const globalRefs$h = getThemeRefs(globals);
8720
8954
 
8721
8955
  const [theme$1, refs, vars$w] = createHelperVars(
@@ -8784,7 +9018,7 @@ const [theme$1, refs, vars$w] = createHelperVars(
8784
9018
  backgroundColor: globalRefs$h.colors.surface.main,
8785
9019
  },
8786
9020
  },
8787
- componentName$1
9021
+ componentName
8788
9022
  );
8789
9023
 
8790
9024
  var inputWrapper = /*#__PURE__*/Object.freeze({
@@ -9108,7 +9342,7 @@ const [helperTheme$2, helperRefs$2, helperVars$2] = createHelperVars(
9108
9342
  horizontalAlignment,
9109
9343
  shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format
9110
9344
  },
9111
- componentName$B
9345
+ componentName$C
9112
9346
  );
9113
9347
 
9114
9348
  const { shadowColor: shadowColor$1 } = helperRefs$2;
@@ -9379,7 +9613,7 @@ const [helperTheme$1, helperRefs$1, helperVars$1] = createHelperVars(
9379
9613
  thickness: '2px',
9380
9614
  spacing: '10px',
9381
9615
  },
9382
- componentName$z
9616
+ componentName$A
9383
9617
  );
9384
9618
 
9385
9619
  const divider = {
@@ -9522,7 +9756,7 @@ const [helperTheme, helperRefs, helperVars] = createHelperVars(
9522
9756
  },
9523
9757
  },
9524
9758
  },
9525
- componentName$C
9759
+ componentName$D
9526
9760
  );
9527
9761
 
9528
9762
  const loaderRadial = {
@@ -9910,118 +10144,6 @@ var grid$1 = /*#__PURE__*/Object.freeze({
9910
10144
  vars: vars$4
9911
10145
  });
9912
10146
 
9913
- const componentName = getComponentName('notification-card');
9914
-
9915
- const notificationCardMixin = (superclass) =>
9916
- class NotificationCardMixinClass extends superclass {
9917
- close() {
9918
- // if animation is not applied to the element, the node will not be removed
9919
- // from the DOM. We should avoid that. So, if in any case we allow
9920
- // customizing the animation - we should check if animation is applied
9921
- // and if it's not applied - remove the element from the DOM and dispatch
9922
- // `card-closed` event.
9923
- this.baseElement.addEventListener('animationend', () => {
9924
- this.remove();
9925
- this.dispatchEvent(new Event('card-closed'));
9926
- });
9927
-
9928
- this.setAttribute('opened', 'false');
9929
- }
9930
-
9931
- constructor() {
9932
- super();
9933
-
9934
- this.baseElement.innerHTML = `
9935
- <div part="root">
9936
- <div part="content">
9937
- <slot></slot>
9938
- </div>
9939
- <div part="close">
9940
- <slot name="close"></slot>
9941
- </div>
9942
- </div>
9943
- `;
9944
-
9945
- this.closeEle = this.shadowRoot.querySelector('[part="close"]');
9946
- }
9947
-
9948
- init() {
9949
- super.init?.();
9950
-
9951
- this.closeEle.onclick = () => {
9952
- this.close();
9953
- };
9954
- }
9955
- };
9956
-
9957
- const selectors = {
9958
- content: () => 'vaadin-notification-card::part(content)',
9959
- overlay: () => 'vaadin-notification-card::part(overlay)',
9960
- };
9961
-
9962
- const NotificationCardClass = compose(
9963
- createStyleMixin({
9964
- mappings: {
9965
- hostMinWidth: { selector: selectors.content, property: 'min-width' },
9966
- fontFamily: {},
9967
- fontSize: {},
9968
- backgroundColor: { selector: selectors.content },
9969
- textColor: { property: 'color' },
9970
- boxShadow: {},
9971
- borderWidth: { selector: selectors.content, property: 'border-width' },
9972
- borderColor: { selector: selectors.content, property: 'border-color' },
9973
- borderStyle: { selector: selectors.content, property: 'border-style' },
9974
- borderRadius: [
9975
- { selector: selectors.content, property: 'border-radius' },
9976
- { selector: selectors.overlay, property: 'border-radius' },
9977
- ],
9978
- verticalPadding: [
9979
- { selector: selectors.content, property: 'padding-top' },
9980
- { selector: selectors.content, property: 'padding-bottom' },
9981
- ],
9982
- horizontalPadding: [
9983
- { selector: selectors.content, property: 'padding-right' },
9984
- { selector: selectors.content, property: 'padding-left' },
9985
- ],
9986
- },
9987
- }),
9988
- notificationCardMixin
9989
- )(
9990
- createProxy({
9991
- slots: [],
9992
- wrappedEleName: 'vaadin-notification-card',
9993
- style: () => `
9994
- vaadin-notification-card {
9995
- box-shadow: none;
9996
- }
9997
- ::part(overlay) {
9998
- box-shadow: none;
9999
- background: none;
10000
- }
10001
-
10002
- [part="close"] {
10003
- cursor: pointer;
10004
- display: flex;
10005
- }
10006
-
10007
- [part="content"] {
10008
- display: flex;
10009
- align-items: center;
10010
- flex-grow: 1;
10011
- }
10012
-
10013
- [part="root"] {
10014
- display: flex;
10015
- align-items: center;
10016
- justify-content: space-between;
10017
- width: 100%;
10018
- }
10019
- `,
10020
- excludeAttrsSync: ['tabindex'],
10021
- componentName,
10022
- })
10023
- );
10024
-
10025
10147
  const globalRefs$2 = getThemeRefs(globals);
10026
10148
  const vars$3 = NotificationCardClass.cssVarList;
10027
10149
 
@@ -10254,5 +10376,5 @@ const vars = Object.keys(components).reduce(
10254
10376
  const defaultTheme = { globals, components: theme };
10255
10377
  const themeVars = { globals: vars$y, components: vars };
10256
10378
 
10257
- export { BadgeClass, ButtonClass, ButtonMultiSelectionGroupClass, ButtonSelectionGroupClass, CheckboxClass, ContainerClass, DividerClass, EmailFieldClass, GridClass, ImageClass, LinkClass, LoaderLinearClass, LoaderRadialClass, LogoClass, ModalClass, MultiSelectComboBoxClass, NewPasswordClass, NotpImageClass, NumberFieldClass, PasscodeClass, PasswordClass, PhoneFieldClass, PhoneFieldInputBoxClass, RecaptchaClass, SwitchToggleClass, TextAreaClass, TextClass, TextFieldClass, TotpImageClass, UploadFileClass, componentsThemeManager, createComponentsTheme, defaultTheme, genColor, globalsThemeToStyle, themeToStyle, themeVars };
10379
+ export { BadgeClass, ButtonClass, ButtonMultiSelectionGroupClass, ButtonSelectionGroupClass, CheckboxClass, ComboBoxClass, ContainerClass, DividerClass, EmailFieldClass, GridClass, ImageClass, LinkClass, LoaderLinearClass, LoaderRadialClass, LogoClass, ModalClass, MultiSelectComboBoxClass, NewPasswordClass, NotificationClass, NotpImageClass, NumberFieldClass, PasscodeClass, PasswordClass, PhoneFieldClass, PhoneFieldInputBoxClass, RecaptchaClass, SwitchToggleClass, TextAreaClass, TextClass, TextFieldClass, TotpImageClass, UploadFileClass, componentsThemeManager, createComponentsTheme, defaultTheme, genColor, globalsThemeToStyle, themeToStyle, themeVars };
10258
10380
  //# sourceMappingURL=index.esm.js.map