@descope/web-components-ui 1.0.266 → 1.0.268

Sign up to get free protection for your applications and to get access to all the features.
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