@aurodesignsystem/auro-formkit 6.0.0 → 6.0.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 (46) hide show
  1. package/CHANGELOG.md +5 -240
  2. package/components/checkbox/demo/customize.min.js +1 -1
  3. package/components/checkbox/demo/getting-started.min.js +1 -1
  4. package/components/checkbox/demo/index.min.js +1 -1
  5. package/components/checkbox/dist/index.js +1 -1
  6. package/components/checkbox/dist/registered.js +1 -1
  7. package/components/combobox/demo/customize.min.js +172 -46
  8. package/components/combobox/demo/getting-started.min.js +172 -46
  9. package/components/combobox/demo/index.min.js +172 -46
  10. package/components/combobox/dist/index.js +172 -46
  11. package/components/combobox/dist/registered.js +172 -46
  12. package/components/counter/demo/customize.min.js +59 -7
  13. package/components/counter/demo/index.min.js +59 -7
  14. package/components/counter/dist/index.js +59 -7
  15. package/components/counter/dist/registered.js +59 -7
  16. package/components/datepicker/demo/customize.min.js +106 -18
  17. package/components/datepicker/demo/index.min.js +106 -18
  18. package/components/datepicker/dist/index.js +106 -18
  19. package/components/datepicker/dist/registered.js +106 -18
  20. package/components/dropdown/demo/customize.min.js +58 -6
  21. package/components/dropdown/demo/getting-started.min.js +58 -6
  22. package/components/dropdown/demo/index.min.js +58 -6
  23. package/components/dropdown/dist/auro-dropdown.d.ts +16 -1
  24. package/components/dropdown/dist/index.js +58 -6
  25. package/components/dropdown/dist/registered.js +58 -6
  26. package/components/form/demo/customize.min.js +445 -91
  27. package/components/form/demo/getting-started.min.js +445 -91
  28. package/components/form/demo/index.min.js +445 -91
  29. package/components/form/demo/registerDemoDeps.min.js +445 -91
  30. package/components/input/demo/customize.min.js +47 -11
  31. package/components/input/demo/getting-started.min.js +47 -11
  32. package/components/input/demo/index.min.js +47 -11
  33. package/components/input/dist/index.js +47 -11
  34. package/components/input/dist/registered.js +47 -11
  35. package/components/radio/demo/customize.min.js +1 -1
  36. package/components/radio/demo/getting-started.min.js +1 -1
  37. package/components/radio/demo/index.min.js +1 -1
  38. package/components/radio/dist/index.js +1 -1
  39. package/components/radio/dist/registered.js +1 -1
  40. package/components/select/demo/customize.min.js +59 -7
  41. package/components/select/demo/getting-started.min.js +59 -7
  42. package/components/select/demo/index.min.js +59 -7
  43. package/components/select/dist/index.js +59 -7
  44. package/components/select/dist/registered.js +59 -7
  45. package/custom-elements.json +1500 -1484
  46. package/package.json +1 -1
@@ -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 = '202607161943';
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 = '202607161943';
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 = '202607161943';
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 = '202607161943';
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 = '202607161943';
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() {
@@ -1227,7 +1227,7 @@ class AuroHelpText extends i$2 {
1227
1227
  }
1228
1228
  }
1229
1229
 
1230
- var formkitVersion = '202607102309';
1230
+ var formkitVersion = '202607161943';
1231
1231
 
1232
1232
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1233
1233
  // See LICENSE in the project root for license information.
@@ -1227,7 +1227,7 @@ class AuroHelpText extends i$2 {
1227
1227
  }
1228
1228
  }
1229
1229
 
1230
- var formkitVersion = '202607102309';
1230
+ var formkitVersion = '202607161943';
1231
1231
 
1232
1232
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1233
1233
  // See LICENSE in the project root for license information.
@@ -1227,7 +1227,7 @@ class AuroHelpText extends i$2 {
1227
1227
  }
1228
1228
  }
1229
1229
 
1230
- var formkitVersion = '202607102309';
1230
+ var formkitVersion = '202607161943';
1231
1231
 
1232
1232
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1233
1233
  // See LICENSE in the project root for license information.
@@ -1166,7 +1166,7 @@ class AuroHelpText extends LitElement {
1166
1166
  }
1167
1167
  }
1168
1168
 
1169
- var formkitVersion = '202607102309';
1169
+ var formkitVersion = '202607161943';
1170
1170
 
1171
1171
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1172
1172
  // See LICENSE in the project root for license information.
@@ -1166,7 +1166,7 @@ class AuroHelpText extends LitElement {
1166
1166
  }
1167
1167
  }
1168
1168
 
1169
- var formkitVersion = '202607102309';
1169
+ var formkitVersion = '202607161943';
1170
1170
 
1171
1171
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1172
1172
  // See LICENSE in the project root for license information.
@@ -4830,7 +4830,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
4830
4830
  }
4831
4831
  };
4832
4832
 
4833
- var formkitVersion$1 = '202607102309';
4833
+ var formkitVersion$1 = '202607161943';
4834
4834
 
4835
4835
  class AuroElement extends i$2 {
4836
4836
  static get properties() {
@@ -4959,7 +4959,6 @@ class AuroDropdown extends AuroElement {
4959
4959
  static get shadowRootOptions() {
4960
4960
  return {
4961
4961
  ...AuroElement.shadowRootOptions,
4962
- delegatesFocus: true,
4963
4962
  };
4964
4963
  }
4965
4964
 
@@ -4971,6 +4970,15 @@ class AuroDropdown extends AuroElement {
4971
4970
  this.matchWidth = false;
4972
4971
  this.noHideOnThisFocusLoss = false;
4973
4972
 
4973
+ /**
4974
+ * When true, the dropdown skips its generic focus restoration on close.
4975
+ * Set by consumers (e.g. combobox) that manage their own focus routing
4976
+ * via setClearBtnFocus / setInputFocus / keyboard strategy.
4977
+ * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
4978
+ * @private
4979
+ */
4980
+ this.noFocusRestoreOnClose = false;
4981
+
4974
4982
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
4975
4983
 
4976
4984
  // Layout Config
@@ -5126,7 +5134,49 @@ class AuroDropdown extends AuroElement {
5126
5134
  focusables[0].focus();
5127
5135
  }
5128
5136
  } else {
5137
+ this.focusTrigger();
5138
+ }
5139
+ }
5140
+
5141
+ /**
5142
+ * Focus the trigger content. When the trigger wrapper itself is focusable
5143
+ * (has tabindex), focus it directly. Otherwise, focus the first focusable
5144
+ * element slotted into the trigger slot (e.g. the auro-input).
5145
+ * @private
5146
+ */
5147
+ focusTrigger() {
5148
+ if (this.trigger.hasAttribute('tabindex')) {
5129
5149
  this.trigger.focus();
5150
+ } else {
5151
+ // Slotted content isn't a DOM child of the trigger div, so
5152
+ // getFocusableElements can't find it. Query assigned nodes directly.
5153
+ const slot = this.trigger.querySelector('slot[name="trigger"]');
5154
+ if (slot) {
5155
+ const assigned = slot.assignedElements();
5156
+ for (const el of assigned) {
5157
+ if (el.hasAttribute('disabled')) {
5158
+ continue;
5159
+ }
5160
+ // Try finding a focusable descendant first (handles non-focusable
5161
+ // wrappers like <div> containing a <button>). If none found, try
5162
+ // focusing the element directly (works for custom elements like
5163
+ // auro-input that have delegatesFocus or a custom focus() method).
5164
+ const descendants = getFocusableElements(el);
5165
+ if (descendants.length > 0) {
5166
+ descendants[0].focus();
5167
+ return;
5168
+ }
5169
+ el.focus();
5170
+ if (document.activeElement === el) {
5171
+ return;
5172
+ }
5173
+ }
5174
+ }
5175
+ // Fallback: try DOM children (non-slotted content)
5176
+ const focusables = getFocusableElements(this.trigger);
5177
+ if (focusables.length > 0) {
5178
+ focusables[0].focus();
5179
+ }
5130
5180
  }
5131
5181
  }
5132
5182
 
@@ -5579,15 +5629,17 @@ class AuroDropdown extends AuroElement {
5579
5629
  }
5580
5630
 
5581
5631
  const eventType = event.detail.eventType || "unknown";
5582
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
5583
- this.trigger.focus();
5632
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
5633
+ this.focusTrigger();
5584
5634
  }
5585
5635
 
5586
5636
 
5587
5637
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
5588
5638
  // — restoring to the trigger would trap the user on this dropdown, forcing
5589
5639
  // an extra Tab to move on. Escape and outside-click still restore.
5590
- if (!this.isPopoverVisible && eventType !== "focusloss") {
5640
+ // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
5641
+ // its own focus restoration — skip the generic trigger focus to avoid races.
5642
+ if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
5591
5643
  // wait til the bib gets fully closed and rendered
5592
5644
  setTimeout(() => {
5593
5645
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -5599,7 +5651,7 @@ class AuroDropdown extends AuroElement {
5599
5651
  return;
5600
5652
  }
5601
5653
  // Restore focus to the trigger.
5602
- this.trigger.focus();
5654
+ this.focusTrigger();
5603
5655
  });
5604
5656
  }
5605
5657
  }
@@ -6873,7 +6925,7 @@ class AuroHelpText extends i$2 {
6873
6925
  }
6874
6926
  }
6875
6927
 
6876
- var formkitVersion = '202607102309';
6928
+ var formkitVersion = '202607161943';
6877
6929
 
6878
6930
  var styleCss$2 = i$5`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );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-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.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-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.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-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.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-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.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-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.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-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.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-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.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-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.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-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.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-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.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-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.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-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.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-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{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-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.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-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{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-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.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-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{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-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.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-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
6879
6931