@aurodesignsystem/auro-formkit 6.0.0 → 6.0.2

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 (58) hide show
  1. package/CHANGELOG.md +10 -240
  2. package/components/bibtemplate/dist/index.js +1 -1
  3. package/components/bibtemplate/dist/registered.js +1 -1
  4. package/components/checkbox/demo/customize.min.js +1 -1
  5. package/components/checkbox/demo/getting-started.min.js +1 -1
  6. package/components/checkbox/demo/index.min.js +1 -1
  7. package/components/checkbox/dist/index.js +1 -1
  8. package/components/checkbox/dist/registered.js +1 -1
  9. package/components/combobox/demo/customize.html +1 -0
  10. package/components/combobox/demo/customize.md +29 -0
  11. package/components/combobox/demo/customize.min.js +247 -55
  12. package/components/combobox/demo/getting-started.min.js +204 -55
  13. package/components/combobox/demo/index.min.js +204 -55
  14. package/components/combobox/dist/index.js +196 -48
  15. package/components/combobox/dist/registered.js +196 -48
  16. package/components/counter/demo/customize.min.js +89 -24
  17. package/components/counter/demo/index.min.js +89 -24
  18. package/components/counter/dist/index.js +85 -20
  19. package/components/counter/dist/registered.js +85 -20
  20. package/components/datepicker/demo/customize.min.js +129 -28
  21. package/components/datepicker/demo/index.min.js +129 -28
  22. package/components/datepicker/dist/index.js +124 -23
  23. package/components/datepicker/dist/registered.js +124 -23
  24. package/components/dropdown/demo/customize.min.js +72 -10
  25. package/components/dropdown/demo/getting-started.min.js +72 -10
  26. package/components/dropdown/demo/index.min.js +72 -10
  27. package/components/dropdown/dist/auro-dropdown.d.ts +16 -1
  28. package/components/dropdown/dist/index.js +68 -6
  29. package/components/dropdown/dist/registered.js +68 -6
  30. package/components/form/demo/customize.min.js +552 -128
  31. package/components/form/demo/getting-started.min.js +552 -128
  32. package/components/form/demo/index.min.js +552 -128
  33. package/components/form/demo/registerDemoDeps.min.js +540 -124
  34. package/components/form/dist/index.js +12 -4
  35. package/components/form/dist/registered.js +12 -4
  36. package/components/input/demo/customize.min.js +47 -11
  37. package/components/input/demo/getting-started.min.js +47 -11
  38. package/components/input/demo/index.min.js +47 -11
  39. package/components/input/dist/index.js +47 -11
  40. package/components/input/dist/registered.js +47 -11
  41. package/components/menu/demo/index.min.js +3 -2
  42. package/components/menu/dist/index.js +3 -2
  43. package/components/menu/dist/registered.js +3 -2
  44. package/components/radio/demo/customize.min.js +1 -1
  45. package/components/radio/demo/getting-started.min.js +1 -1
  46. package/components/radio/demo/index.min.js +1 -1
  47. package/components/radio/dist/index.js +1 -1
  48. package/components/radio/dist/registered.js +1 -1
  49. package/components/select/demo/customize.html +1 -0
  50. package/components/select/demo/customize.md +49 -0
  51. package/components/select/demo/customize.min.js +140 -16
  52. package/components/select/demo/getting-started.min.js +81 -15
  53. package/components/select/demo/index.min.js +81 -15
  54. package/components/select/dist/index.js +74 -9
  55. package/components/select/dist/registered.js +74 -9
  56. package/custom-elements.json +16 -0
  57. package/package.json +3 -1
  58. /package/components/counter/dist/styles/{counter-wrapper-color-css.d.ts → counter-group-color-css.d.ts} +0 -0
@@ -807,15 +807,23 @@ class AuroForm extends LitElement {
807
807
  * @private
808
808
  */
809
809
  handleKeyDown(event) {
810
- if (event.key === 'Enter' && this.isFormElement(event.target)) {
810
+
811
+ /**
812
+ * Use `currentTarget` because it is the tracked form element
813
+ * handling the event, while `target` may be an inner radio,
814
+ * checkbox, or counter inside that form control.
815
+ */
816
+ const formElement = event.currentTarget;
817
+
818
+ if (event.key === 'Enter' && this.isFormElement(formElement)) {
811
819
  // Disabled controls do not submit a form natively.
812
- if (this._isDisabled(event.target)) {
820
+ if (this._isDisabled(formElement)) {
813
821
  return;
814
822
  }
815
823
 
816
824
  // Don't submit if it's a textarea (allow new lines)
817
- if (event.target.tagName.toLowerCase() === 'textarea' ||
818
- event.target.hasAttribute('textarea')) {
825
+ if (formElement.tagName.toLowerCase() === 'textarea' ||
826
+ formElement.hasAttribute('textarea')) {
819
827
  return;
820
828
  }
821
829
 
@@ -807,15 +807,23 @@ class AuroForm extends LitElement {
807
807
  * @private
808
808
  */
809
809
  handleKeyDown(event) {
810
- if (event.key === 'Enter' && this.isFormElement(event.target)) {
810
+
811
+ /**
812
+ * Use `currentTarget` because it is the tracked form element
813
+ * handling the event, while `target` may be an inner radio,
814
+ * checkbox, or counter inside that form control.
815
+ */
816
+ const formElement = event.currentTarget;
817
+
818
+ if (event.key === 'Enter' && this.isFormElement(formElement)) {
811
819
  // Disabled controls do not submit a form natively.
812
- if (this._isDisabled(event.target)) {
820
+ if (this._isDisabled(formElement)) {
813
821
  return;
814
822
  }
815
823
 
816
824
  // Don't submit if it's a textarea (allow new lines)
817
- if (event.target.tagName.toLowerCase() === 'textarea' ||
818
- event.target.hasAttribute('textarea')) {
825
+ if (formElement.tagName.toLowerCase() === 'textarea' ||
826
+ formElement.hasAttribute('textarea')) {
819
827
  return;
820
828
  }
821
829
 
@@ -10588,9 +10588,10 @@ class DomHandler {
10588
10588
  class BaseInput extends AuroElement {
10589
10589
 
10590
10590
  // Delegate focus to the native <input> inside the shadow root so that
10591
- // showModal()'s dialog focusing steps reach the input element.
10592
- // This keeps the mobile virtual keyboard open when the fullscreen dialog
10593
- // opens, because the browser sees an input-to-input focus transfer.
10591
+ // clicking anywhere on the input wrapper focuses the native input, and
10592
+ // programmatic .focus() calls on elements in the shadow DOM work correctly.
10593
+ // The initial-load focus theft was caused by the static `autofocus`
10594
+ // attribute on the bib input (now conditional), not by delegatesFocus.
10594
10595
  static get shadowRootOptions() {
10595
10596
  return {
10596
10597
  ...AuroElement.shadowRootOptions,
@@ -12267,7 +12268,7 @@ class AuroHelpText extends i$3 {
12267
12268
  }
12268
12269
  }
12269
12270
 
12270
- var formkitVersion = '202607102309';
12271
+ var formkitVersion = '202607291953';
12271
12272
 
12272
12273
  /**
12273
12274
  * @license
@@ -12565,15 +12566,50 @@ class AuroInput extends BaseInput {
12565
12566
  * @returns {void}
12566
12567
  */
12567
12568
  checkDisplayValueSlotChange() {
12568
- // flatten:true resolves through auro-combobox's forwarding slot
12569
- // (<slot name="displayValue" slot="displayValue">) so a clone appended
12570
- // directly to auro-input's light DOM alongside the forwarder still
12571
- // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
12572
- // discarded any siblings past the forwarder.
12573
- const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
12569
+ const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
12570
+ if (!slot) {
12571
+ // Shadow slot not yet rendered fall back to checking light-DOM
12572
+ // children so hasDisplayValueContent isn't stuck false when called
12573
+ // before firstUpdated (e.g. from auro-combobox during mount).
12574
+ // Check for any element (including custom elements like <auro-icon>
12575
+ // that render via shadow DOM with no text content).
12576
+ const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
12577
+ const hasContent = lightDomNodes.some((node) => (
12578
+ node.textContent.trim().length > 0 ||
12579
+ node.children.length > 0 ||
12580
+ node.shadowRoot !== null
12581
+ ));
12582
+ if (this.hasDisplayValueContent !== hasContent) {
12583
+ this.hasDisplayValueContent = hasContent;
12584
+ this.requestUpdate();
12585
+ }
12586
+ return;
12587
+ }
12574
12588
  const nodes = slot.assignedNodes({ flatten: true });
12575
12589
 
12576
- this.hasDisplayValueContent = nodes.length > 0;
12590
+ // Check for actual visible content, not just node existence.
12591
+ // An empty <span slot="displayValue"></span> forwarded from the
12592
+ // consumer should not be treated as "has content" — it causes the
12593
+ // displayValue wrapper to render (with hasContent class) but show
12594
+ // nothing, blocking the combobox's synthetic displayValue from
12595
+ // being visible on preset/deeplink load.
12596
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
12597
+ // treated as content even when they have no text or light-DOM children.
12598
+ const hasContent = nodes.some((node) => {
12599
+ if (node.nodeType === Node.TEXT_NODE) {
12600
+ return node.textContent.trim().length > 0;
12601
+ }
12602
+ if (node.nodeType === Node.ELEMENT_NODE) {
12603
+ return node.textContent.trim().length > 0 ||
12604
+ node.children.length > 0 ||
12605
+ node.shadowRoot !== null;
12606
+ }
12607
+ return false;
12608
+ });
12609
+ if (this.hasDisplayValueContent !== hasContent) {
12610
+ this.hasDisplayValueContent = hasContent;
12611
+ this.requestUpdate();
12612
+ }
12577
12613
  }
12578
12614
 
12579
12615
  firstUpdated() {
@@ -10588,9 +10588,10 @@ class DomHandler {
10588
10588
  class BaseInput extends AuroElement {
10589
10589
 
10590
10590
  // Delegate focus to the native <input> inside the shadow root so that
10591
- // showModal()'s dialog focusing steps reach the input element.
10592
- // This keeps the mobile virtual keyboard open when the fullscreen dialog
10593
- // opens, because the browser sees an input-to-input focus transfer.
10591
+ // clicking anywhere on the input wrapper focuses the native input, and
10592
+ // programmatic .focus() calls on elements in the shadow DOM work correctly.
10593
+ // The initial-load focus theft was caused by the static `autofocus`
10594
+ // attribute on the bib input (now conditional), not by delegatesFocus.
10594
10595
  static get shadowRootOptions() {
10595
10596
  return {
10596
10597
  ...AuroElement.shadowRootOptions,
@@ -12267,7 +12268,7 @@ class AuroHelpText extends i$3 {
12267
12268
  }
12268
12269
  }
12269
12270
 
12270
- var formkitVersion = '202607102309';
12271
+ var formkitVersion = '202607291953';
12271
12272
 
12272
12273
  /**
12273
12274
  * @license
@@ -12565,15 +12566,50 @@ class AuroInput extends BaseInput {
12565
12566
  * @returns {void}
12566
12567
  */
12567
12568
  checkDisplayValueSlotChange() {
12568
- // flatten:true resolves through auro-combobox's forwarding slot
12569
- // (<slot name="displayValue" slot="displayValue">) so a clone appended
12570
- // directly to auro-input's light DOM alongside the forwarder still
12571
- // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
12572
- // discarded any siblings past the forwarder.
12573
- const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
12569
+ const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
12570
+ if (!slot) {
12571
+ // Shadow slot not yet rendered fall back to checking light-DOM
12572
+ // children so hasDisplayValueContent isn't stuck false when called
12573
+ // before firstUpdated (e.g. from auro-combobox during mount).
12574
+ // Check for any element (including custom elements like <auro-icon>
12575
+ // that render via shadow DOM with no text content).
12576
+ const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
12577
+ const hasContent = lightDomNodes.some((node) => (
12578
+ node.textContent.trim().length > 0 ||
12579
+ node.children.length > 0 ||
12580
+ node.shadowRoot !== null
12581
+ ));
12582
+ if (this.hasDisplayValueContent !== hasContent) {
12583
+ this.hasDisplayValueContent = hasContent;
12584
+ this.requestUpdate();
12585
+ }
12586
+ return;
12587
+ }
12574
12588
  const nodes = slot.assignedNodes({ flatten: true });
12575
12589
 
12576
- this.hasDisplayValueContent = nodes.length > 0;
12590
+ // Check for actual visible content, not just node existence.
12591
+ // An empty <span slot="displayValue"></span> forwarded from the
12592
+ // consumer should not be treated as "has content" — it causes the
12593
+ // displayValue wrapper to render (with hasContent class) but show
12594
+ // nothing, blocking the combobox's synthetic displayValue from
12595
+ // being visible on preset/deeplink load.
12596
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
12597
+ // treated as content even when they have no text or light-DOM children.
12598
+ const hasContent = nodes.some((node) => {
12599
+ if (node.nodeType === Node.TEXT_NODE) {
12600
+ return node.textContent.trim().length > 0;
12601
+ }
12602
+ if (node.nodeType === Node.ELEMENT_NODE) {
12603
+ return node.textContent.trim().length > 0 ||
12604
+ node.children.length > 0 ||
12605
+ node.shadowRoot !== null;
12606
+ }
12607
+ return false;
12608
+ });
12609
+ if (this.hasDisplayValueContent !== hasContent) {
12610
+ this.hasDisplayValueContent = hasContent;
12611
+ this.requestUpdate();
12612
+ }
12577
12613
  }
12578
12614
 
12579
12615
  firstUpdated() {
@@ -10588,9 +10588,10 @@ class DomHandler {
10588
10588
  class BaseInput extends AuroElement {
10589
10589
 
10590
10590
  // Delegate focus to the native <input> inside the shadow root so that
10591
- // showModal()'s dialog focusing steps reach the input element.
10592
- // This keeps the mobile virtual keyboard open when the fullscreen dialog
10593
- // opens, because the browser sees an input-to-input focus transfer.
10591
+ // clicking anywhere on the input wrapper focuses the native input, and
10592
+ // programmatic .focus() calls on elements in the shadow DOM work correctly.
10593
+ // The initial-load focus theft was caused by the static `autofocus`
10594
+ // attribute on the bib input (now conditional), not by delegatesFocus.
10594
10595
  static get shadowRootOptions() {
10595
10596
  return {
10596
10597
  ...AuroElement.shadowRootOptions,
@@ -12267,7 +12268,7 @@ class AuroHelpText extends i$3 {
12267
12268
  }
12268
12269
  }
12269
12270
 
12270
- var formkitVersion = '202607102309';
12271
+ var formkitVersion = '202607291953';
12271
12272
 
12272
12273
  /**
12273
12274
  * @license
@@ -12565,15 +12566,50 @@ class AuroInput extends BaseInput {
12565
12566
  * @returns {void}
12566
12567
  */
12567
12568
  checkDisplayValueSlotChange() {
12568
- // flatten:true resolves through auro-combobox's forwarding slot
12569
- // (<slot name="displayValue" slot="displayValue">) so a clone appended
12570
- // directly to auro-input's light DOM alongside the forwarder still
12571
- // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
12572
- // discarded any siblings past the forwarder.
12573
- const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
12569
+ const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
12570
+ if (!slot) {
12571
+ // Shadow slot not yet rendered fall back to checking light-DOM
12572
+ // children so hasDisplayValueContent isn't stuck false when called
12573
+ // before firstUpdated (e.g. from auro-combobox during mount).
12574
+ // Check for any element (including custom elements like <auro-icon>
12575
+ // that render via shadow DOM with no text content).
12576
+ const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
12577
+ const hasContent = lightDomNodes.some((node) => (
12578
+ node.textContent.trim().length > 0 ||
12579
+ node.children.length > 0 ||
12580
+ node.shadowRoot !== null
12581
+ ));
12582
+ if (this.hasDisplayValueContent !== hasContent) {
12583
+ this.hasDisplayValueContent = hasContent;
12584
+ this.requestUpdate();
12585
+ }
12586
+ return;
12587
+ }
12574
12588
  const nodes = slot.assignedNodes({ flatten: true });
12575
12589
 
12576
- this.hasDisplayValueContent = nodes.length > 0;
12590
+ // Check for actual visible content, not just node existence.
12591
+ // An empty <span slot="displayValue"></span> forwarded from the
12592
+ // consumer should not be treated as "has content" — it causes the
12593
+ // displayValue wrapper to render (with hasContent class) but show
12594
+ // nothing, blocking the combobox's synthetic displayValue from
12595
+ // being visible on preset/deeplink load.
12596
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
12597
+ // treated as content even when they have no text or light-DOM children.
12598
+ const hasContent = nodes.some((node) => {
12599
+ if (node.nodeType === Node.TEXT_NODE) {
12600
+ return node.textContent.trim().length > 0;
12601
+ }
12602
+ if (node.nodeType === Node.ELEMENT_NODE) {
12603
+ return node.textContent.trim().length > 0 ||
12604
+ node.children.length > 0 ||
12605
+ node.shadowRoot !== null;
12606
+ }
12607
+ return false;
12608
+ });
12609
+ if (this.hasDisplayValueContent !== hasContent) {
12610
+ this.hasDisplayValueContent = hasContent;
12611
+ this.requestUpdate();
12612
+ }
12577
12613
  }
12578
12614
 
12579
12615
  firstUpdated() {
@@ -10530,9 +10530,10 @@ class DomHandler {
10530
10530
  class BaseInput extends AuroElement {
10531
10531
 
10532
10532
  // Delegate focus to the native <input> inside the shadow root so that
10533
- // showModal()'s dialog focusing steps reach the input element.
10534
- // This keeps the mobile virtual keyboard open when the fullscreen dialog
10535
- // opens, because the browser sees an input-to-input focus transfer.
10533
+ // clicking anywhere on the input wrapper focuses the native input, and
10534
+ // programmatic .focus() calls on elements in the shadow DOM work correctly.
10535
+ // The initial-load focus theft was caused by the static `autofocus`
10536
+ // attribute on the bib input (now conditional), not by delegatesFocus.
10536
10537
  static get shadowRootOptions() {
10537
10538
  return {
10538
10539
  ...AuroElement.shadowRootOptions,
@@ -12209,7 +12210,7 @@ class AuroHelpText extends LitElement {
12209
12210
  }
12210
12211
  }
12211
12212
 
12212
- var formkitVersion = '202607102309';
12213
+ var formkitVersion = '202607291953';
12213
12214
 
12214
12215
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12215
12216
  // See LICENSE in the project root for license information.
@@ -12495,15 +12496,50 @@ class AuroInput extends BaseInput {
12495
12496
  * @returns {void}
12496
12497
  */
12497
12498
  checkDisplayValueSlotChange() {
12498
- // flatten:true resolves through auro-combobox's forwarding slot
12499
- // (<slot name="displayValue" slot="displayValue">) so a clone appended
12500
- // directly to auro-input's light DOM alongside the forwarder still
12501
- // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
12502
- // discarded any siblings past the forwarder.
12503
- const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
12499
+ const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
12500
+ if (!slot) {
12501
+ // Shadow slot not yet rendered fall back to checking light-DOM
12502
+ // children so hasDisplayValueContent isn't stuck false when called
12503
+ // before firstUpdated (e.g. from auro-combobox during mount).
12504
+ // Check for any element (including custom elements like <auro-icon>
12505
+ // that render via shadow DOM with no text content).
12506
+ const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
12507
+ const hasContent = lightDomNodes.some((node) => (
12508
+ node.textContent.trim().length > 0 ||
12509
+ node.children.length > 0 ||
12510
+ node.shadowRoot !== null
12511
+ ));
12512
+ if (this.hasDisplayValueContent !== hasContent) {
12513
+ this.hasDisplayValueContent = hasContent;
12514
+ this.requestUpdate();
12515
+ }
12516
+ return;
12517
+ }
12504
12518
  const nodes = slot.assignedNodes({ flatten: true });
12505
12519
 
12506
- this.hasDisplayValueContent = nodes.length > 0;
12520
+ // Check for actual visible content, not just node existence.
12521
+ // An empty <span slot="displayValue"></span> forwarded from the
12522
+ // consumer should not be treated as "has content" — it causes the
12523
+ // displayValue wrapper to render (with hasContent class) but show
12524
+ // nothing, blocking the combobox's synthetic displayValue from
12525
+ // being visible on preset/deeplink load.
12526
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
12527
+ // treated as content even when they have no text or light-DOM children.
12528
+ const hasContent = nodes.some((node) => {
12529
+ if (node.nodeType === Node.TEXT_NODE) {
12530
+ return node.textContent.trim().length > 0;
12531
+ }
12532
+ if (node.nodeType === Node.ELEMENT_NODE) {
12533
+ return node.textContent.trim().length > 0 ||
12534
+ node.children.length > 0 ||
12535
+ node.shadowRoot !== null;
12536
+ }
12537
+ return false;
12538
+ });
12539
+ if (this.hasDisplayValueContent !== hasContent) {
12540
+ this.hasDisplayValueContent = hasContent;
12541
+ this.requestUpdate();
12542
+ }
12507
12543
  }
12508
12544
 
12509
12545
  firstUpdated() {
@@ -10530,9 +10530,10 @@ class DomHandler {
10530
10530
  class BaseInput extends AuroElement {
10531
10531
 
10532
10532
  // Delegate focus to the native <input> inside the shadow root so that
10533
- // showModal()'s dialog focusing steps reach the input element.
10534
- // This keeps the mobile virtual keyboard open when the fullscreen dialog
10535
- // opens, because the browser sees an input-to-input focus transfer.
10533
+ // clicking anywhere on the input wrapper focuses the native input, and
10534
+ // programmatic .focus() calls on elements in the shadow DOM work correctly.
10535
+ // The initial-load focus theft was caused by the static `autofocus`
10536
+ // attribute on the bib input (now conditional), not by delegatesFocus.
10536
10537
  static get shadowRootOptions() {
10537
10538
  return {
10538
10539
  ...AuroElement.shadowRootOptions,
@@ -12209,7 +12210,7 @@ class AuroHelpText extends LitElement {
12209
12210
  }
12210
12211
  }
12211
12212
 
12212
- var formkitVersion = '202607102309';
12213
+ var formkitVersion = '202607291953';
12213
12214
 
12214
12215
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12215
12216
  // See LICENSE in the project root for license information.
@@ -12495,15 +12496,50 @@ class AuroInput extends BaseInput {
12495
12496
  * @returns {void}
12496
12497
  */
12497
12498
  checkDisplayValueSlotChange() {
12498
- // flatten:true resolves through auro-combobox's forwarding slot
12499
- // (<slot name="displayValue" slot="displayValue">) so a clone appended
12500
- // directly to auro-input's light DOM alongside the forwarder still
12501
- // counts as content. The prior nodes[0].tagName === 'SLOT' recursion
12502
- // discarded any siblings past the forwarder.
12503
- const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
12499
+ const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
12500
+ if (!slot) {
12501
+ // Shadow slot not yet rendered fall back to checking light-DOM
12502
+ // children so hasDisplayValueContent isn't stuck false when called
12503
+ // before firstUpdated (e.g. from auro-combobox during mount).
12504
+ // Check for any element (including custom elements like <auro-icon>
12505
+ // that render via shadow DOM with no text content).
12506
+ const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
12507
+ const hasContent = lightDomNodes.some((node) => (
12508
+ node.textContent.trim().length > 0 ||
12509
+ node.children.length > 0 ||
12510
+ node.shadowRoot !== null
12511
+ ));
12512
+ if (this.hasDisplayValueContent !== hasContent) {
12513
+ this.hasDisplayValueContent = hasContent;
12514
+ this.requestUpdate();
12515
+ }
12516
+ return;
12517
+ }
12504
12518
  const nodes = slot.assignedNodes({ flatten: true });
12505
12519
 
12506
- this.hasDisplayValueContent = nodes.length > 0;
12520
+ // Check for actual visible content, not just node existence.
12521
+ // An empty <span slot="displayValue"></span> forwarded from the
12522
+ // consumer should not be treated as "has content" — it causes the
12523
+ // displayValue wrapper to render (with hasContent class) but show
12524
+ // nothing, blocking the combobox's synthetic displayValue from
12525
+ // being visible on preset/deeplink load.
12526
+ // Custom elements (e.g. <auro-icon>) that render via shadow DOM are
12527
+ // treated as content even when they have no text or light-DOM children.
12528
+ const hasContent = nodes.some((node) => {
12529
+ if (node.nodeType === Node.TEXT_NODE) {
12530
+ return node.textContent.trim().length > 0;
12531
+ }
12532
+ if (node.nodeType === Node.ELEMENT_NODE) {
12533
+ return node.textContent.trim().length > 0 ||
12534
+ node.children.length > 0 ||
12535
+ node.shadowRoot !== null;
12536
+ }
12537
+ return false;
12538
+ });
12539
+ if (this.hasDisplayValueContent !== hasContent) {
12540
+ this.hasDisplayValueContent = hasContent;
12541
+ this.requestUpdate();
12542
+ }
12507
12543
  }
12508
12544
 
12509
12545
  firstUpdated() {
@@ -24,7 +24,7 @@ const t$1=globalThis,i$3=t=>t,s$2=t$1.trustedTypes,e$2=s$2?s$2.createPolicy("lit
24
24
  * SPDX-License-Identifier: BSD-3-Clause
25
25
  */const s$1=globalThis;let i$2 = class i extends y$2{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=D(r,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return E}};i$2._$litElement$=true,i$2["finalized"]=true,s$1.litElementHydrateSupport?.({LitElement:i$2});const o$2=s$1.litElementPolyfillSupport;o$2?.({LitElement:i$2});(s$1.litElementVersions??=[]).push("4.2.2");
26
26
 
27
- var styleCss$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}.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-default-weight, );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-default-emphasized{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-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-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-lg-weight, );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-lg-emphasized{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-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-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-sm-weight, );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-sm-emphasized{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-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-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-xs-weight, );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-xs-emphasized{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-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-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-2xs-weight, );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)}.body-2xs-emphasized{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-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-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);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));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.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);font-weight:var(--wcss-heading-xs-weight, 300);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));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.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);font-weight:var(--wcss-heading-2xs-weight, 300);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));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);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);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));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{display:block;line-height:0;overflow-y:auto}:host .menuWrapper{box-sizing:border-box;display:flex;flex-direction:column;width:100%;margin:0;padding:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host [loadingplaceholder].empty{opacity:0;position:absolute}:host [loadingplaceholder] slot[name=loadingIcon]{vertical-align:middle;display:inline-block;margin-bottom:var(--ds-size-25, 0.125rem)}:host [loadingplaceholder] slot[name=loadingIcon]::slotted(*){margin-right:var(--ds-size-150, 0.75rem)}:host([root]) .menuWrapper.lg{padding:var(--ds-size-150, 0.75rem);gap:var(--ds-size-50, 0.25rem)}:host([root]) .menuWrapper.xl{padding:var(--ds-size-200, 1rem);gap:var(--ds-size-100, 0.5rem)}`;
27
+ var styleCss$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}.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-default-weight, );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-default-emphasized{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-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-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-lg-weight, );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-lg-emphasized{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-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-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-sm-weight, );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-sm-emphasized{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-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-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-xs-weight, );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-xs-emphasized{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-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-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-2xs-weight, );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)}.body-2xs-emphasized{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-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-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);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));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.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);font-weight:var(--wcss-heading-xs-weight, 300);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));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.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);font-weight:var(--wcss-heading-2xs-weight, 300);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));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.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);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));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);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);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));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);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);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));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{display:block;line-height:0;overflow-y:auto}:host .menuWrapper{box-sizing:border-box;display:flex;flex-direction:column;width:100%;margin:0;padding:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host [loadingplaceholder]{padding:var(--ds-size-150, 0.75rem) 0}:host [loadingplaceholder].empty{opacity:0;position:absolute}:host [loadingplaceholder] .loadingWrapper{display:flex;align-items:center;justify-content:center;gap:var(--ds-size-150, 0.75rem)}:host([root]) .menuWrapper.lg{padding:var(--ds-size-150, 0.75rem);gap:var(--ds-size-50, 0.25rem)}:host([root]) .menuWrapper.xl{padding:var(--ds-size-200, 1rem);gap:var(--ds-size-100, 0.5rem)}`;
28
28
 
29
29
  var colorCss$1 = i$5`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color)}[loadingplaceholder] slot[name=loadingIcon]{color:var(--ds-auro-menu-loader-color)}[loadingplaceholder] slot[name=loadingText]{color:var(--ds-auro-menu-loader-text-color)}`;
30
30
 
@@ -1395,9 +1395,10 @@ class AuroMenu extends AuroElement {
1395
1395
  <auro-menuoption
1396
1396
  disabled
1397
1397
  loadingplaceholder
1398
+ nocheckmark
1398
1399
  class="${this.hasLoadingPlaceholder ? "" : "empty"}"
1399
1400
  >
1400
- <div>
1401
+ <div class="loadingWrapper">
1401
1402
  <slot name="loadingIcon" class="body-lg"></slot>
1402
1403
  <slot name="loadingText"></slot>
1403
1404
  </div>