@aurodesignsystem-dev/auro-formkit 0.0.0-pr1052.0 → 0.0.0-pr1052.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/components/combobox/README.md +2 -0
  2. package/components/combobox/demo/api.md +67 -43
  3. package/components/combobox/demo/api.min.js +257 -89
  4. package/components/combobox/demo/index.md +2 -0
  5. package/components/combobox/demo/index.min.js +247 -82
  6. package/components/combobox/demo/readme.md +2 -0
  7. package/components/combobox/dist/auro-combobox.d.ts +42 -2
  8. package/components/combobox/dist/index.js +221 -68
  9. package/components/combobox/dist/registered.js +221 -68
  10. package/components/counter/demo/api.min.js +2 -2
  11. package/components/counter/demo/index.min.js +2 -2
  12. package/components/counter/dist/index.js +2 -2
  13. package/components/counter/dist/registered.js +2 -2
  14. package/components/datepicker/demo/api.min.js +54 -14
  15. package/components/datepicker/demo/index.min.js +54 -14
  16. package/components/datepicker/dist/index.js +54 -14
  17. package/components/datepicker/dist/registered.js +54 -14
  18. package/components/dropdown/demo/api.min.js +1 -1
  19. package/components/dropdown/demo/index.min.js +1 -1
  20. package/components/dropdown/dist/index.js +1 -1
  21. package/components/dropdown/dist/registered.js +1 -1
  22. package/components/input/demo/api.md +48 -46
  23. package/components/input/demo/api.min.js +52 -12
  24. package/components/input/demo/index.min.js +52 -12
  25. package/components/input/dist/auro-input.d.ts +4 -0
  26. package/components/input/dist/base-input.d.ts +9 -1
  27. package/components/input/dist/index.js +52 -12
  28. package/components/input/dist/registered.js +52 -12
  29. package/components/layoutElement/dist/index.js +1 -1
  30. package/components/layoutElement/dist/registered.js +1 -1
  31. package/components/menu/demo/api.min.js +27 -15
  32. package/components/menu/demo/index.min.js +27 -15
  33. package/components/menu/dist/auro-menu.d.ts +2 -1
  34. package/components/menu/dist/index.js +27 -15
  35. package/components/menu/dist/registered.js +27 -15
  36. package/components/select/demo/api.min.js +28 -16
  37. package/components/select/demo/index.min.js +28 -16
  38. package/components/select/dist/index.js +2 -2
  39. package/components/select/dist/registered.js +2 -2
  40. package/package.json +1 -1
@@ -47,15 +47,15 @@ function dynamicMenuExample() {
47
47
  resetMenu(initialMenu);
48
48
 
49
49
  for (let index = 0; index < data.length; index++) {
50
- let country = data[index]['country'];
51
- let cities = data[index]['cities'];
50
+ const country = data[index]['country'];
51
+ const cities = data[index]['cities'];
52
52
 
53
- generateMenuOptionHtml(initialMenu, country, country);
53
+ generateMenuOptionHtml(initialMenu, country, country.substring(0, 3).toUpperCase());
54
54
 
55
55
  for (let indexB = 0; indexB < cities.length; indexB++) {
56
- let subMenu = document.createElement('auro-menu');
56
+ const subMenu = document.createElement('auro-menu');
57
57
 
58
- generateMenuOptionHtml(subMenu, cities[indexB], cities[indexB]);
58
+ generateMenuOptionHtml(subMenu, cities[indexB], cities[indexB].substring(0, 3).toUpperCase());
59
59
 
60
60
  initialMenu.appendChild(subMenu);
61
61
  }
@@ -63,12 +63,15 @@ function dynamicMenuExample() {
63
63
 
64
64
  // Helper function that generates HTML for menuoptions
65
65
  function generateMenuOptionHtml(menu, label, value) {
66
- let option = document.createElement('auro-menuoption');
66
+ const option = document.createElement('auro-menuoption');
67
+ const displayValue = document.createElement('div');
68
+ displayValue.setAttribute("slot", "displayValue");
69
+ displayValue.innerHTML = value;
67
70
 
68
71
  option.value = value;
69
72
  option.innerHTML = label;
70
-
71
73
  menu.appendChild(option);
74
+ option.appendChild(displayValue);
72
75
  }
73
76
 
74
77
  // Main javascript that runs all JS to create example
@@ -4511,7 +4514,7 @@ let AuroElement$4 = class AuroElement extends i$2 {
4511
4514
  * @returns {boolean} - Returns true if the element has focus.
4512
4515
  */
4513
4516
  get componentHasFocus() {
4514
- return this.matches(':focus');
4517
+ return this.matches(':focus') || this.matches(':focus-within');
4515
4518
  }
4516
4519
 
4517
4520
  resetShapeClasses() {
@@ -10371,7 +10374,7 @@ let AuroElement$2$1 = class AuroElement extends i$2 {
10371
10374
  * @returns {boolean} - Returns true if the element has focus.
10372
10375
  */
10373
10376
  get componentHasFocus() {
10374
- return this.matches(':focus');
10377
+ return this.matches(':focus') || this.matches(':focus-within');
10375
10378
  }
10376
10379
 
10377
10380
  resetShapeClasses() {
@@ -10445,7 +10448,7 @@ let AuroElement$2$1 = class AuroElement extends i$2 {
10445
10448
  * @prop {string} id - The id global attribute defines an identifier (ID) which must be unique in the whole document.
10446
10449
  * @attr id
10447
10450
  *
10448
- * @slot ariaLabel.clear - Sets aria-label on clear button for screenreader to read
10451
+ * @slot ariaLabel.clear - Sets aria-label on clear button for screen reader to read
10449
10452
  * @slot ariaLabel.password.show - Sets aria-label on password button to toggle on showing password
10450
10453
  * @slot ariaLabel.password.hide - Sets aria-label on password button to toggle off showing password
10451
10454
  * @slot helpText - Sets the help text displayed below the input.
@@ -10473,6 +10476,7 @@ class BaseInput extends AuroElement$2$1 {
10473
10476
  this.activeLabel = false;
10474
10477
  this.icon = false;
10475
10478
  this.disabled = false;
10479
+ this.dvInputOnly = false;
10476
10480
  this.max = undefined;
10477
10481
  this.maxLength = undefined;
10478
10482
  this.min = undefined;
@@ -10566,6 +10570,14 @@ class BaseInput extends AuroElement$2$1 {
10566
10570
  return {
10567
10571
  ...super.properties,
10568
10572
 
10573
+ /**
10574
+ * If defined, the display value slot content will only mask the HTML5 input element. The inputs label will not be masked.
10575
+ */
10576
+ dvInputOnly: {
10577
+ type: Boolean,
10578
+ reflect: true
10579
+ },
10580
+
10569
10581
  /**
10570
10582
  * The value for the role attribute.
10571
10583
  */
@@ -13331,7 +13343,13 @@ class AuroInput extends BaseInput {
13331
13343
  * @private
13332
13344
  */
13333
13345
  get inputHidden() {
13334
- return (this.hasDisplayValueContent && !this.hasFocus && this.hasValue) || ((!this.value || this.value.length === 0) && !this.hasFocus && (!this.placeholder || this.placeholder === ''));
13346
+ return (
13347
+ this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
13348
+ (
13349
+ (!this.value || this.value.length === 0) &&
13350
+ !this.hasFocus &&
13351
+ (!this.placeholder || this.placeholder === '')
13352
+ );
13335
13353
  }
13336
13354
 
13337
13355
  /**
@@ -13351,7 +13369,7 @@ class AuroInput extends BaseInput {
13351
13369
  * @private
13352
13370
  */
13353
13371
  get labelHidden() {
13354
- return this.hasDisplayValueContent && !this.hasFocus && this.hasValue;
13372
+ return this.hasDisplayValueContent && !this.dvInputOnly && !this.hasFocus && this.hasValue;
13355
13373
  }
13356
13374
 
13357
13375
  /**
@@ -13360,18 +13378,26 @@ class AuroInput extends BaseInput {
13360
13378
  * @returns {string} - The font class for the label.
13361
13379
  */
13362
13380
  get labelFontClass() {
13363
- const isHidden = this.inputHidden;
13364
-
13365
13381
  if (this.layout.startsWith('emphasized')) {
13366
- return this.noFocusOrValue ? 'accent-xl' : 'body-sm';
13382
+ let typeSize = 'body-sm';
13383
+
13384
+ if (this.hasDisplayValueContent) {
13385
+ if (!this.hasValue) {
13386
+ typeSize = 'accent-xl';
13387
+ }
13388
+ } else if (this.noFocusOrValue) {
13389
+ typeSize = 'accent-xl';
13390
+ }
13391
+
13392
+ return typeSize;
13367
13393
  }
13368
13394
 
13369
13395
  if (this.layout === 'snowflake') {
13370
- return isHidden ? 'body-lg' : 'body-xs';
13396
+ return this.hasValue || this.hasFocus || this.placeholder ? 'body-xs' : 'body-lg';
13371
13397
  }
13372
13398
 
13373
13399
  // classic layout (default)
13374
- return isHidden ? 'body-default' : 'body-xs';
13400
+ return ((!this.value || this.value.length === 0) && !this.placeholder && !this.hasFocus) ? 'body-default' : 'body-xs';
13375
13401
  }
13376
13402
 
13377
13403
  /**
@@ -13381,7 +13407,17 @@ class AuroInput extends BaseInput {
13381
13407
  */
13382
13408
  get inputFontClass() {
13383
13409
  if (this.layout.startsWith('emphasized')) {
13384
- return this.noFocusOrValue ? 'body-sm' : 'accent-xl';
13410
+ let typeSize = 'accent-xl';
13411
+
13412
+ if (this.hasDisplayValueContent) {
13413
+ if (!this.hasValue) {
13414
+ typeSize = 'body-sm';
13415
+ }
13416
+ } else if (this.noFocusOrValue) {
13417
+ typeSize = 'body-sm';
13418
+ }
13419
+
13420
+ return typeSize;
13385
13421
  }
13386
13422
 
13387
13423
  if (this.layout === 'snowflake') {
@@ -13424,6 +13460,13 @@ class AuroInput extends BaseInput {
13424
13460
  };
13425
13461
  }
13426
13462
 
13463
+ get commonDisplayValueWrapperClasses() {
13464
+ return {
13465
+ 'displayValueWrapper': true,
13466
+ [this.inputFontClass]: true,
13467
+ };
13468
+ }
13469
+
13427
13470
  /**
13428
13471
  * Returns classmap configuration for html5 inputs in each layout.
13429
13472
  * @private
@@ -13496,7 +13539,7 @@ class AuroInput extends BaseInput {
13496
13539
  let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
13497
13540
 
13498
13541
  // Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
13499
- if (nodes[0].tagName === 'SLOT') {
13542
+ if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
13500
13543
  nodes = nodes[0].assignedNodes();
13501
13544
  }
13502
13545
 
@@ -13587,7 +13630,7 @@ class AuroInput extends BaseInput {
13587
13630
  type="${this.type === "password" && this.showPassword ? "text" : this.getInputType(this.type)}"
13588
13631
  />
13589
13632
  <div class="${e(displayValueClasses)}" aria-hidden="true" part="displayValue">
13590
- <div class="displayValueWrapper">
13633
+ <div class="${e(this.commonDisplayValueWrapperClasses)}">
13591
13634
  <slot name="displayValue" @slotchange=${this.checkDisplayValueSlotChange}></slot>
13592
13635
  </div>
13593
13636
  </div>
@@ -15849,7 +15892,7 @@ let AuroElement$1 = class AuroElement extends i$2 {
15849
15892
  * @returns {boolean} - Returns true if the element has focus.
15850
15893
  */
15851
15894
  get componentHasFocus() {
15852
- return this.matches(':focus');
15895
+ return this.matches(':focus') || this.matches(':focus-within');
15853
15896
  }
15854
15897
 
15855
15898
  resetShapeClasses() {
@@ -16131,7 +16174,9 @@ class AuroHelpText extends i$2 {
16131
16174
  * @slot label - Defines the content of the label.
16132
16175
  * @slot helpText - Defines the content of the helpText.
16133
16176
  * @slot displayValue - Allows custom HTML content to display the selected value when the combobox is not focused. Only works with `snowflake` and `emphasized` layouts.
16134
- * @event auroCombobox-valueSet - Notifies that the component has a new value set.
16177
+ * @event auroCombobox-valueSet - (Deprecated) Notifies that the component has a new value set.
16178
+ * @event input - Notifies that the component has a new value set.
16179
+ * @event inputValue - Notifies that the components internal HTML5 input value has changed.
16135
16180
  * @event auroFormElement-validated - Notifies that the component value(s) have been validated.
16136
16181
  */
16137
16182
 
@@ -16151,6 +16196,7 @@ class AuroCombobox extends AuroElement$1 {
16151
16196
  * @returns {void} Internal defaults.
16152
16197
  */
16153
16198
  privateDefaults() {
16199
+ this.touched = false;
16154
16200
  this.dropdownOpen = false;
16155
16201
  this.dropdownId = undefined;
16156
16202
  this.onDark = false;
@@ -16179,6 +16225,10 @@ class AuroCombobox extends AuroElement$1 {
16179
16225
 
16180
16226
  this.isHiddenWhileLoading = false;
16181
16227
 
16228
+ this.persistInput = false;
16229
+
16230
+ this.dvInputOnly = false;
16231
+
16182
16232
  // Error message
16183
16233
  this.errorMessage = null;
16184
16234
 
@@ -16247,7 +16297,7 @@ class AuroCombobox extends AuroElement$1 {
16247
16297
  },
16248
16298
 
16249
16299
  /**
16250
- * When attribute is present auro-menu will apply checkmarks to selected options.
16300
+ * When attribute is present auro-menu will apply check marks to selected options.
16251
16301
  */
16252
16302
  checkmark: {
16253
16303
  type: Boolean,
@@ -16282,6 +16332,14 @@ class AuroCombobox extends AuroElement$1 {
16282
16332
  attribute: false
16283
16333
  },
16284
16334
 
16335
+ /**
16336
+ * If defined, the display value slot content will only mask the HTML5 input element. The inputs label will not be masked.
16337
+ */
16338
+ dvInputOnly: {
16339
+ type: Boolean,
16340
+ reflect: true
16341
+ },
16342
+
16285
16343
  /**
16286
16344
  * When defined, sets persistent validity to `customError` and sets the validation message to the attribute value.
16287
16345
  */
@@ -16364,6 +16422,17 @@ class AuroCombobox extends AuroElement$1 {
16364
16422
  type: Object
16365
16423
  },
16366
16424
 
16425
+ /**
16426
+ * If declared, selecting a menu option will not change the input value. By doing so,
16427
+ * the current menu filter will be preserved and the user can continue from their last
16428
+ * filter state. It is recommended to use this in combination with the `displayValue` slot.
16429
+ * @type {Boolean}
16430
+ */
16431
+ persistInput: {
16432
+ type: Boolean,
16433
+ reflect: true
16434
+ },
16435
+
16367
16436
  /* eslint-disable jsdoc/require-description-complete-sentence */
16368
16437
  /**
16369
16438
  * Position where the bib should appear relative to the trigger.
@@ -16417,6 +16486,18 @@ class AuroCombobox extends AuroElement$1 {
16417
16486
  type: String
16418
16487
  },
16419
16488
 
16489
+ /**
16490
+ * Indicates whether the combobox is in a dirty state (has been interacted with).
16491
+ * @type {boolean}
16492
+ * @default false
16493
+ * @private
16494
+ */
16495
+ touched: {
16496
+ type: Boolean,
16497
+ reflect: true,
16498
+ attribute: false
16499
+ },
16500
+
16420
16501
  /**
16421
16502
  * If set, the `icon` attribute will be applied to the trigger `auro-input` element.
16422
16503
  */
@@ -16492,6 +16573,17 @@ class AuroCombobox extends AuroElement$1 {
16492
16573
  ];
16493
16574
  }
16494
16575
 
16576
+ /**
16577
+ * Returns the current value of the input element within the combobox.
16578
+ * @returns {string|undefined} The value of the input element, or undefined if the input is not present.
16579
+ */
16580
+ get inputValue() {
16581
+ if (!this.input) {
16582
+ return undefined;
16583
+ }
16584
+ return this.input.value;
16585
+ }
16586
+
16495
16587
  /**
16496
16588
  * Checks if the element is valid.
16497
16589
  * @returns {boolean} - Returns true if the element is valid, false otherwise.
@@ -16580,10 +16672,35 @@ class AuroCombobox extends AuroElement$1 {
16580
16672
  // Wait a lifecycle for child components to update
16581
16673
  await Promise.all([this.menu.updateComplete]);
16582
16674
 
16583
- if (this.menu.optionSelected && this.menu.optionSelected.textContent.length > 0) {
16584
- this.input.value = this.menu.optionSelected.textContent;
16585
- } else {
16586
- this.input.value = this.value;
16675
+ this.updateTriggerTextDisplay();
16676
+ }
16677
+
16678
+ /**
16679
+ * Update displayValue or input.value, it's called when making a selection.
16680
+ * @private
16681
+ */
16682
+ updateTriggerTextDisplay() {
16683
+ // update the input content if persistInput is false
16684
+ if (!this.persistInput) {
16685
+ if (this.menu.optionSelected && this.menu.optionSelected.textContent.length > 0) {
16686
+ this.input.value = this.menu.optionSelected.textContent;
16687
+ } else {
16688
+ this.input.value = this.value;
16689
+ }
16690
+ }
16691
+
16692
+ // update the displayValue in the trigger if displayValue slot content is present
16693
+ const displayValueInTrigger = this.input.querySelector('[slot="displayValue"]');
16694
+
16695
+ if (displayValueInTrigger) {
16696
+ displayValueInTrigger.remove();
16697
+ }
16698
+
16699
+ if (this.menu.optionSelected) {
16700
+ const displayValueEl = this.menu.optionSelected.querySelector("[slot='displayValue']");
16701
+ if (displayValueEl) {
16702
+ this.input.appendChild(displayValueEl.cloneNode(true));
16703
+ }
16587
16704
  }
16588
16705
  }
16589
16706
 
@@ -16606,8 +16723,8 @@ class AuroCombobox extends AuroElement$1 {
16606
16723
  * @returns {void}
16607
16724
  */
16608
16725
  handleMenuOptions() {
16609
-
16610
16726
  this.resetMenuMatchword();
16727
+
16611
16728
  this.generateOptionsArray();
16612
16729
  this.availableOptions = [];
16613
16730
  this.updateFilter();
@@ -16708,14 +16825,29 @@ class AuroCombobox extends AuroElement$1 {
16708
16825
  });
16709
16826
  }
16710
16827
 
16828
+ /**
16829
+ * @private
16830
+ */
16831
+ setClearBtnFocus() {
16832
+ const clearBtn = this.input.shadowRoot.querySelector('.clearBtn');
16833
+ if (clearBtn) {
16834
+ clearBtn.focus();
16835
+ }
16836
+ }
16837
+
16711
16838
  /**
16712
16839
  * @private
16713
16840
  */
16714
16841
  setInputFocus() {
16715
16842
  if (this.dropdown.isBibFullscreen && this.dropdown.isPopoverVisible) {
16716
16843
  this.inputInBib.focus();
16717
- } else {
16844
+ } else if (!this.input.componentHasFocus) {
16845
+ const focusedEl = this.querySelector(":focus");
16718
16846
  this.input.focus();
16847
+ // current focus is on a menuoption, after clicking on it.
16848
+ if (this.persistInput && focusedEl && (focusedEl.tagName.toLowerCase() === 'auro-menuoption' || focusedEl.hasAttribute('auro-menuoption'))) {
16849
+ this.setClearBtnFocus();
16850
+ }
16719
16851
  }
16720
16852
  }
16721
16853
 
@@ -16751,6 +16883,8 @@ class AuroCombobox extends AuroElement$1 {
16751
16883
  configureMenu() {
16752
16884
  this.menu = this.querySelector('auro-menu, [auro-menu]');
16753
16885
 
16886
+ this.menu.value = this.value;
16887
+
16754
16888
  this.updateMenuShapeSize();
16755
16889
 
16756
16890
  // a racing condition on custom-combobox with custom-menu
@@ -16771,7 +16905,7 @@ class AuroCombobox extends AuroElement$1 {
16771
16905
  }
16772
16906
 
16773
16907
  // handle the menu event for an option selection
16774
- this.menu.addEventListener('auroMenu-selectedOption', () => {
16908
+ this.menu.addEventListener('auroMenu-selectedOption', (evt) => {
16775
16909
  if (this.menu.optionSelected) {
16776
16910
  const selected = this.menu.optionSelected;
16777
16911
 
@@ -16784,9 +16918,7 @@ class AuroCombobox extends AuroElement$1 {
16784
16918
  this.menu.value = this.value;
16785
16919
  }
16786
16920
 
16787
- if (this.input.value !== this.optionSelected.textContent) {
16788
- this.input.value = this.optionSelected.textContent;
16789
- }
16921
+ this.updateTriggerTextDisplay();
16790
16922
 
16791
16923
  if (this.menu.matchWord !== this.input.value) {
16792
16924
  this.menu.matchWord = this.input.value;
@@ -16794,18 +16926,14 @@ class AuroCombobox extends AuroElement$1 {
16794
16926
 
16795
16927
  // update the hidden state of options based on newly selected value
16796
16928
  this.handleMenuOptions();
16797
-
16798
- this.dispatchEvent(new CustomEvent('auroCombobox-valueSet', {
16799
- bubbles: true,
16800
- cancelable: false,
16801
- composed: true,
16802
- }));
16803
16929
  }
16804
16930
 
16805
16931
  // dropdown bib should hide when making a selection
16806
- setTimeout(() => {
16807
- this.hideBib();
16808
- }, 0);
16932
+ if (evt.detail && evt.detail.source !== 'slotchange') {
16933
+ setTimeout(() => {
16934
+ this.hideBib();
16935
+ }, 0);
16936
+ }
16809
16937
  });
16810
16938
 
16811
16939
  this.menu.addEventListener('auroMenu-customEventFired', () => {
@@ -16847,12 +16975,8 @@ class AuroCombobox extends AuroElement$1 {
16847
16975
  }
16848
16976
  });
16849
16977
 
16850
- // Handle validation messages from auroFormElement-validated event
16851
- this.input.addEventListener('auroFormElement-validated', (evt) => {
16852
- // not to bubble up input's validated event.
16853
- evt.stopPropagation();
16854
-
16855
- this.errorMessage = evt.detail.message;
16978
+ this.input.addEventListener('input', () => {
16979
+ this.dispatchEvent(new CustomEvent('inputValue', { detail: { value: this.inputValue} }));
16856
16980
  });
16857
16981
  }
16858
16982
 
@@ -16896,29 +17020,9 @@ class AuroCombobox extends AuroElement$1 {
16896
17020
  this.menu.matchWord = this.input.value;
16897
17021
  this.optionActive = null;
16898
17022
 
16899
- let hasChange = false;
16900
-
16901
- if (!this.value || this.value !== this.input.value) {
16902
- this.menu.value = this.input.value;
16903
- this.value = this.menu.value;
16904
- hasChange = true;
16905
- this.dispatchEvent(new CustomEvent('auroCombobox-valueSet', {
16906
- bubbles: true,
16907
- cancelable: false,
16908
- composed: true,
16909
- }));
16910
- }
16911
-
16912
- if (this.optionSelected && this.input.value !== this.optionSelected.textContent) {
16913
- this.optionSelected = undefined;
16914
- hasChange = true;
16915
- }
16916
-
16917
- if (!hasChange) {
16918
- return;
17023
+ if (!this.input.value) {
17024
+ this.clear();
16919
17025
  }
16920
-
16921
- this.menu.clearSelection();
16922
17026
  this.handleMenuOptions();
16923
17027
 
16924
17028
  // Validate only if the value was set programmatically
@@ -16943,10 +17047,16 @@ class AuroCombobox extends AuroElement$1 {
16943
17047
  * @returns {void}
16944
17048
  */
16945
17049
  configureCombobox() {
16946
- this.addEventListener('keydown', (evt) => {
17050
+ this.addEventListener('keydown', async (evt) => {
16947
17051
  if (evt.key === 'Enter') {
16948
17052
  if (this.dropdown.isPopoverVisible && this.optionActive) {
16949
17053
  this.menu.makeSelection();
17054
+
17055
+ await this.updateComplete;
17056
+
17057
+ evt.preventDefault();
17058
+ evt.stopPropagation();
17059
+ this.setClearBtnFocus();
16950
17060
  } else {
16951
17061
  this.showBib();
16952
17062
  }
@@ -16961,6 +17071,10 @@ class AuroCombobox extends AuroElement$1 {
16961
17071
  this.dropdown.focus();
16962
17072
  }
16963
17073
  } else {
17074
+ if (this.menu.optionActive && this.menu.optionActive.value) {
17075
+ this.menu.value = this.menu.optionActive.value;
17076
+ }
17077
+
16964
17078
  setTimeout(() => {
16965
17079
  if (!this.componentHasFocus) {
16966
17080
  this.hideBib();
@@ -16990,8 +17104,15 @@ class AuroCombobox extends AuroElement$1 {
16990
17104
  });
16991
17105
 
16992
17106
  this.addEventListener('focusin', () => {
17107
+ this.touched = true;
17108
+
16993
17109
  this.focus();
16994
17110
  });
17111
+
17112
+ this.addEventListener('auroFormElement-validated', (evt) => {
17113
+ this.input.validity = evt.detail.validity;
17114
+ this.input.errorMessage = evt.detail.message;
17115
+ });
16995
17116
  }
16996
17117
 
16997
17118
  /**
@@ -17036,7 +17157,9 @@ class AuroCombobox extends AuroElement$1 {
17036
17157
  * @returns {void}
17037
17158
  */
17038
17159
  focus() {
17039
- this.input.focus();
17160
+ if (!this.componentHasFocus) {
17161
+ this.input.focus();
17162
+ }
17040
17163
  }
17041
17164
 
17042
17165
  /**
@@ -17045,7 +17168,11 @@ class AuroCombobox extends AuroElement$1 {
17045
17168
  */
17046
17169
  reset() {
17047
17170
  this.input.reset();
17171
+ this.menu.reset();
17172
+ this.optionSelected = undefined;
17173
+ this.value = undefined;
17048
17174
  this.validation.reset(this);
17175
+ this.touched = false;
17049
17176
  }
17050
17177
 
17051
17178
  /**
@@ -17054,6 +17181,11 @@ class AuroCombobox extends AuroElement$1 {
17054
17181
  */
17055
17182
  clear() {
17056
17183
  this.input.clear();
17184
+ if (this.menu.value || this.menu.optionSelected) {
17185
+ this.menu.reset();
17186
+ }
17187
+ this.optionSelected = undefined;
17188
+ this.value = undefined;
17057
17189
  }
17058
17190
 
17059
17191
  /**
@@ -17066,7 +17198,7 @@ class AuroCombobox extends AuroElement$1 {
17066
17198
 
17067
17199
  async updated(changedProperties) {
17068
17200
  // After the component is ready, send direct value changes to auro-menu.
17069
- if (changedProperties.has('value') && this.value !== changedProperties.get('value')) {
17201
+ if (changedProperties.has('value')) {
17070
17202
 
17071
17203
  if (this.value) {
17072
17204
  // If the value got set programmatically make sure we hide the bib
@@ -17080,6 +17212,19 @@ class AuroCombobox extends AuroElement$1 {
17080
17212
 
17081
17213
  // Sync the input, menu, and optionSelected states
17082
17214
  await this.syncValuesAndStates();
17215
+
17216
+ this.dispatchEvent(new CustomEvent('input', {
17217
+ bubbles: true,
17218
+ cancelable: false,
17219
+ composed: true,
17220
+ }));
17221
+
17222
+ // Deprecated, need to be removed.
17223
+ this.dispatchEvent(new CustomEvent('auroCombobox-valueSet', {
17224
+ bubbles: true,
17225
+ cancelable: false,
17226
+ composed: true,
17227
+ }));
17083
17228
  }
17084
17229
 
17085
17230
  if (changedProperties.has('availableOptions')) {
@@ -17131,6 +17276,10 @@ class AuroCombobox extends AuroElement$1 {
17131
17276
  handleSlotChange(event) {
17132
17277
  switch (event.target.name) {
17133
17278
  case '':
17279
+ if (!this.menu || this.menu !== this.querySelector('auro-menu, [auro-menu]')) {
17280
+ this.configureMenu();
17281
+ }
17282
+
17134
17283
  // Treat only generic menuoptions.
17135
17284
  this.options = this.menu.querySelectorAll('auro-menuoption, [auro-menuoption]');
17136
17285
  this.options.forEach((opt) => {
@@ -17143,6 +17292,12 @@ class AuroCombobox extends AuroElement$1 {
17143
17292
 
17144
17293
  this.handleMenuOptions();
17145
17294
 
17295
+
17296
+ console.warn('make a selection?');
17297
+ console.info('this.hasFocus', this.componentHasFocus);
17298
+ console.info('this.inputValue', this.inputValue);
17299
+ console.info('this.value', this.value);
17300
+
17146
17301
  break;
17147
17302
 
17148
17303
  // Programmatically inject as the slot cannot be carried over to bibtemplate.
@@ -17209,12 +17364,13 @@ class AuroCombobox extends AuroElement$1 {
17209
17364
  .type="${this.type}"
17210
17365
  ?disabled="${this.disabled}"
17211
17366
  ?icon="${this.triggerIcon}"
17212
- ?noValidate="${this.noValidate}"
17367
+ ?dvInputOnly="${this.dvInputOnly}"
17213
17368
  ?onDark="${this.onDark}"
17214
17369
  ?required="${this.required}"
17215
17370
  a11yRole="combobox"
17216
17371
  id="${this.id}"
17217
17372
  layout="${this.layout}"
17373
+ noValidate="true"
17218
17374
  setCustomValidity="${this.setCustomValidity}"
17219
17375
  setCustomValidityCustomError="${this.setCustomValidityCustomError}"
17220
17376
  setCustomValidityValueMissing="${this.setCustomValidityValueMissing}"
@@ -17230,7 +17386,7 @@ class AuroCombobox extends AuroElement$1 {
17230
17386
  <${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}">
17231
17387
  <slot name="bib.fullscreen.headline" slot="header"></slot>
17232
17388
  <slot name="ariaLabel.bib.close" slot="ariaLabel.close">Close</slot>
17233
- <slot></slot>
17389
+ <slot @slotchange="${this.handleSlotChange}"></slot>
17234
17390
  <${this.inputTag}
17235
17391
  id="inputInBib"
17236
17392
  @input="${this.handleInputValueChange}"
@@ -17566,8 +17722,7 @@ class AuroMenu extends AuroElement$1 {
17566
17722
  if (changedProperties.has("value")) {
17567
17723
  // Handle null/undefined case
17568
17724
  if (this.value === undefined || this.value === null) {
17569
- this.optionSelected = undefined;
17570
- this.index = -1;
17725
+ this.clearSelection();
17571
17726
  } else {
17572
17727
  if (this.multiSelect) {
17573
17728
  // In multiselect mode, this.value should be an array of strings
@@ -17671,6 +17826,12 @@ class AuroMenu extends AuroElement$1 {
17671
17826
  if (changedProperties.has('matchWord') && regexWord &&
17672
17827
  isOptionInteractive(option) && !option.hasAttribute('persistent')) {
17673
17828
  const nested = option.querySelectorAll('.nestingSpacer');
17829
+
17830
+ const displayValueEl = option.querySelector('[slot="displayValue"]');
17831
+ if (displayValueEl) {
17832
+ option.removeChild(displayValueEl);
17833
+ }
17834
+
17674
17835
  // Create nested spacers
17675
17836
  const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
17676
17837
 
@@ -17680,6 +17841,9 @@ class AuroMenu extends AuroElement$1 {
17680
17841
  regexWord,
17681
17842
  (match) => `<strong>${match}</strong>`
17682
17843
  );
17844
+ if (displayValueEl) {
17845
+ option.append(displayValueEl);
17846
+ }
17683
17847
  }
17684
17848
 
17685
17849
  // Update disabled state
@@ -17811,6 +17975,7 @@ class AuroMenu extends AuroElement$1 {
17811
17975
  clearSelection() {
17812
17976
  this.optionSelected = undefined;
17813
17977
  this.value = undefined;
17978
+ this.index = -1;
17814
17979
  }
17815
17980
 
17816
17981
  /**
@@ -17908,7 +18073,7 @@ class AuroMenu extends AuroElement$1 {
17908
18073
  // In multiselect, toggle individual selections
17909
18074
  this.toggleOption(option);
17910
18075
  // In single select, only handle selection of new options
17911
- } else if (!this.isOptionSelected(option)) {
18076
+ } else if (this.option !== this.optionSelected || !this.isOptionSelected(option)) {
17912
18077
  this.clearSelection();
17913
18078
  this.handleSelectState(option);
17914
18079
  }
@@ -17939,7 +18104,7 @@ class AuroMenu extends AuroElement$1 {
17939
18104
  * @param {MouseEvent} event - Event object from the browser.
17940
18105
  */
17941
18106
  handleMouseSelect(event) {
17942
- if (event.target === this) {
18107
+ if (!this.rootMenu || event.target === this) {
17943
18108
  return;
17944
18109
  }
17945
18110
 
@@ -17964,7 +18129,7 @@ class AuroMenu extends AuroElement$1 {
17964
18129
  /**
17965
18130
  * Handles slot change events.
17966
18131
  * @private
17967
- * @param {Event} evt - slotchange Event.
18132
+ * @param {Event} evt - Event object from the browser.
17968
18133
  */
17969
18134
  handleSlotChange(evt) {
17970
18135
  if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
@@ -17982,12 +18147,14 @@ class AuroMenu extends AuroElement$1 {
17982
18147
  ]));
17983
18148
  }
17984
18149
 
17985
- const options = evt.target.assignedElements();
17986
- options.forEach((opt) => {
17987
- if (opt.value === this.value) {
17988
- this.handleSelectState(opt);
17989
- }
17990
- });
18150
+ if (this.value) {
18151
+ this.items.forEach((opt) => {
18152
+ if (opt.value === this.value || (this.multiSelect && this.formattedValue.includes(opt.value))) {
18153
+ this.handleSelectState(opt);
18154
+ this.notifySelectionChange(evt.type);
18155
+ }
18156
+ });
18157
+ }
17991
18158
  }
17992
18159
 
17993
18160
  /**
@@ -18071,10 +18238,11 @@ class AuroMenu extends AuroElement$1 {
18071
18238
 
18072
18239
  /**
18073
18240
  * Notifies selection change to parent components.
18241
+ * @param {any} source - The source that triggers this event.
18074
18242
  * @private
18075
18243
  */
18076
- notifySelectionChange() {
18077
- dispatchMenuEvent(this, 'auroMenu-selectedOption');
18244
+ notifySelectionChange(source = undefined) {
18245
+ dispatchMenuEvent(this, 'auroMenu-selectedOption', { source });
18078
18246
  }
18079
18247
 
18080
18248
  /**
@@ -18147,7 +18315,7 @@ class AuroMenu extends AuroElement$1 {
18147
18315
  }
18148
18316
  }
18149
18317
 
18150
- var styleCss$1 = i$5`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem))}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem))}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem))}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-md-letter-spacing, 0);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem))}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem))}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem))}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem))}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem))}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem))}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem))}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);font-weight:var(--wcss-heading-xs-weight, 450);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem))}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);font-weight:var(--wcss-heading-2xs-weight, 450);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem))}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));text-transform:uppercase}:host{cursor:pointer;user-select:none}:host .wrapper{display:flex;align-items:center;padding-right:var(--ds-size-200, 1rem);padding-left:calc(var(--ds-size-150, 0.75rem) + var(--ds-size-300, 1.5rem) + var(--ds-size-100, 0.5rem));padding-top:var(--ds-size-50, 0.25rem);padding-bottom:var(--ds-size-50, 0.25rem);border-radius:var(--ds-size-100, 0.5rem);-webkit-tap-highlight-color:transparent}:host .wrapper[class*=shape-box]{border-radius:unset}:host .wrapper[class*=shape-snowflake]{border-radius:unset;line-height:24px}:host .wrapper[class*=shape-pill]{border-radius:30px}:host .wrapper[class*=-lg]{padding-top:var(--ds-size-75, 0.375rem);padding-bottom:var(--ds-size-75, 0.375rem);padding-right:var(--ds-size-150, 0.75rem);line-height:26px}:host .wrapper[class*=-xl]{padding-top:var(--ds-size-100, 0.5rem);padding-bottom:var(--ds-size-100, 0.5rem);padding-right:var(--ds-size-200, 1rem);line-height:26px}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host([loadingplaceholder]) .wrapper{padding-left:calc(var(--ds-size-150, 0.75rem) + var(--ds-size-300, 1.5rem) + var(--ds-size-100, 0.5rem))}:host([selected]) .wrapper{padding-left:0}:host([nocheckmark]) .wrapper{padding-left:var(--ds-size-150, 0.75rem)}:host([nocheckmark]) .wrapper[class*=-lg]{padding-left:var(--ds-size-150, 0.75rem)}:host([nocheckmark]) .wrapper[class*=-xl]{padding-left:var(--ds-size-200, 1rem)}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
18318
+ var styleCss$1 = i$5`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);font-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem))}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);font-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem))}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);font-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem))}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-md-letter-spacing, 0);font-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem))}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);font-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem))}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);font-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem))}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);font-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem))}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);font-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem))}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);font-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem))}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);font-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem))}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);font-weight:var(--wcss-heading-xs-weight, 450);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem))}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);font-weight:var(--wcss-heading-2xs-weight, 450);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem))}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);font-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);font-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));text-transform:uppercase}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);font-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);font-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));text-transform:uppercase}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);font-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);font-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));text-transform:uppercase}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);font-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));text-transform:uppercase}:host{cursor:pointer;user-select:none}:host .wrapper{display:flex;align-items:center;padding-right:var(--ds-size-200, 1rem);padding-left:calc(var(--ds-size-150, 0.75rem) + var(--ds-size-300, 1.5rem) + var(--ds-size-100, 0.5rem));padding-top:var(--ds-size-50, 0.25rem);padding-bottom:var(--ds-size-50, 0.25rem);border-radius:var(--ds-size-100, 0.5rem);-webkit-tap-highlight-color:transparent}:host .wrapper[class*=shape-box]{border-radius:unset}:host .wrapper[class*=shape-snowflake]{border-radius:unset;line-height:24px}:host .wrapper[class*=shape-pill]{border-radius:30px}:host .wrapper[class*=-lg]{padding-top:var(--ds-size-75, 0.375rem);padding-bottom:var(--ds-size-75, 0.375rem);padding-right:var(--ds-size-150, 0.75rem);line-height:26px}:host .wrapper[class*=-xl]{padding-top:var(--ds-size-100, 0.5rem);padding-bottom:var(--ds-size-100, 0.5rem);padding-right:var(--ds-size-200, 1rem);line-height:26px}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}[slot=displayValue]{display:none}:host([loadingplaceholder]) .wrapper{padding-left:calc(var(--ds-size-150, 0.75rem) + var(--ds-size-300, 1.5rem) + var(--ds-size-100, 0.5rem))}:host([selected]) .wrapper{padding-left:0}:host([nocheckmark]) .wrapper{padding-left:var(--ds-size-150, 0.75rem)}:host([nocheckmark]) .wrapper[class*=-lg]{padding-left:var(--ds-size-150, 0.75rem)}:host([nocheckmark]) .wrapper[class*=-xl]{padding-left:var(--ds-size-200, 1rem)}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
18151
18319
 
18152
18320
  var colorCss$1 = i$5`:host .wrapper{background-color:var(--ds-auro-menuoption-container-color, transparent);box-shadow:inset 0 0 0 1px var(--ds-auro-menuoption-container-border-color, transparent);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color)}:host([disabled]){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-accent1-muted, #ebfafd)}:host(:focus){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-menuoption-container-border-color: var(--ds-basic-color-border-brand, #00274a)}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-accent1-subtle, #b4eff9);--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([selected]:hover),:host([selected].active){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-accent1-muted, #ebfafd)}:host([selected]:focus){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-accent1-subtle, #b4eff9);--ds-auro-menuoption-container-border-color: var(--ds-basic-color-border-brand, #00274a)}:host(:focus:hover),:host(:focus.active){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-accent1-muted, #ebfafd);--ds-auro-menuoption-container-border-color: var(--ds-basic-color-border-brand, #00274a)}:host([selected]:focus:hover),:host([selected]:focus.active){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-accent1-muted, #ebfafd);--ds-auro-menuoption-container-border-color: var(--ds-basic-color-border-brand, #00274a)}`;
18153
18321