@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.11 → 0.0.0-pr1554.12

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 (43) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +36 -16
  7. package/components/combobox/demo/getting-started.min.js +36 -16
  8. package/components/combobox/demo/index.min.js +36 -16
  9. package/components/combobox/dist/index.js +36 -16
  10. package/components/combobox/dist/registered.js +36 -16
  11. package/components/counter/demo/customize.min.js +11 -8
  12. package/components/counter/demo/index.min.js +11 -8
  13. package/components/counter/dist/index.js +11 -8
  14. package/components/counter/dist/registered.js +11 -8
  15. package/components/datepicker/demo/customize.min.js +12 -9
  16. package/components/datepicker/demo/index.min.js +12 -9
  17. package/components/datepicker/dist/index.js +12 -9
  18. package/components/datepicker/dist/registered.js +12 -9
  19. package/components/dropdown/demo/customize.min.js +10 -7
  20. package/components/dropdown/demo/getting-started.min.js +10 -7
  21. package/components/dropdown/demo/index.min.js +10 -7
  22. package/components/dropdown/dist/index.js +10 -7
  23. package/components/dropdown/dist/registered.js +10 -7
  24. package/components/form/demo/customize.min.js +73 -44
  25. package/components/form/demo/getting-started.min.js +73 -44
  26. package/components/form/demo/index.min.js +73 -44
  27. package/components/form/demo/registerDemoDeps.min.js +73 -44
  28. package/components/input/demo/customize.min.js +1 -1
  29. package/components/input/demo/getting-started.min.js +1 -1
  30. package/components/input/demo/index.min.js +1 -1
  31. package/components/input/dist/index.js +1 -1
  32. package/components/input/dist/registered.js +1 -1
  33. package/components/radio/demo/customize.min.js +1 -1
  34. package/components/radio/demo/getting-started.min.js +1 -1
  35. package/components/radio/demo/index.min.js +1 -1
  36. package/components/radio/dist/index.js +1 -1
  37. package/components/radio/dist/registered.js +1 -1
  38. package/components/select/demo/customize.min.js +11 -8
  39. package/components/select/demo/getting-started.min.js +11 -8
  40. package/components/select/demo/index.min.js +11 -8
  41. package/components/select/dist/index.js +11 -8
  42. package/components/select/dist/registered.js +11 -8
  43. package/package.json +1 -1
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607160709';
1278
+ var formkitVersion = '202607160725';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607160709';
1278
+ var formkitVersion = '202607160725';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
1275
1275
  }
1276
1276
  }
1277
1277
 
1278
- var formkitVersion = '202607160709';
1278
+ var formkitVersion = '202607160725';
1279
1279
 
1280
1280
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1281
1281
  // See LICENSE in the project root for license information.
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
1228
1228
  }
1229
1229
  }
1230
1230
 
1231
- var formkitVersion = '202607160709';
1231
+ var formkitVersion = '202607160725';
1232
1232
 
1233
1233
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1234
1234
  // See LICENSE in the project root for license information.
@@ -1228,7 +1228,7 @@ class AuroHelpText extends LitElement {
1228
1228
  }
1229
1229
  }
1230
1230
 
1231
- var formkitVersion = '202607160709';
1231
+ var formkitVersion = '202607160725';
1232
1232
 
1233
1233
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1234
1234
  // See LICENSE in the project root for license information.
@@ -4971,7 +4971,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4971
4971
  }
4972
4972
  };
4973
4973
 
4974
- var formkitVersion$2 = '202607160709';
4974
+ var formkitVersion$2 = '202607160725';
4975
4975
 
4976
4976
  let AuroElement$2 = class AuroElement extends i$3 {
4977
4977
  static get properties() {
@@ -5284,22 +5284,25 @@ class AuroDropdown extends AuroElement$2 {
5284
5284
  // getFocusableElements can't find it. Query assigned nodes directly.
5285
5285
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5286
5286
  if (slot) {
5287
- const assigned = slot.assignedElements();
5287
+ const assigned = slot.assignedElements({ flatten: true });
5288
5288
  for (const el of assigned) {
5289
5289
  if (el.hasAttribute('disabled')) {
5290
5290
  continue;
5291
5291
  }
5292
- // Try finding a focusable descendant first (handles non-focusable
5293
- // wrappers like <div> containing a <button>). If none found, try
5294
- // focusing the element directly (works for custom elements like
5295
- // auro-input that have delegatesFocus or a custom focus() method).
5292
+
5293
+ // Try focusing a focusable descendant first (handles non-focusable wrappers).
5296
5294
  const descendants = getFocusableElements(el);
5297
5295
  if (descendants.length > 0) {
5298
5296
  descendants[0].focus();
5299
5297
  return;
5300
5298
  }
5299
+
5300
+ // Otherwise, try focusing the assigned element itself. Only stop if focus moved.
5301
+ const prevActive = document.activeElement;
5301
5302
  el.focus();
5302
- return;
5303
+ if (document.activeElement !== prevActive) {
5304
+ return;
5305
+ }
5303
5306
  }
5304
5307
  }
5305
5308
  // Fallback: try DOM children (non-slotted content)
@@ -18642,7 +18645,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18642
18645
  }
18643
18646
  };
18644
18647
 
18645
- var formkitVersion$1 = '202607160709';
18648
+ var formkitVersion$1 = '202607160725';
18646
18649
 
18647
18650
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18648
18651
  // See LICENSE in the project root for license information.
@@ -19790,7 +19793,7 @@ class AuroBibtemplate extends i$3 {
19790
19793
  }
19791
19794
  }
19792
19795
 
19793
- var formkitVersion = '202607160709';
19796
+ var formkitVersion = '202607160725';
19794
19797
 
19795
19798
  var styleCss$3 = i$6`.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}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19796
19799
 
@@ -20847,13 +20850,30 @@ class AuroCombobox extends AuroElement {
20847
20850
  // human-readable label (e.g. "Seattle, WA"). For consumers where
20848
20851
  // value ≠ label, this produces a brief flash of the raw value until
20849
20852
  // the option elements load and updateTriggerTextDisplay re-runs with
20850
- // the correct label. This is intentionally preferred over a blank
20851
- // state — the displayValueInTrigger.remove() cleanup above ensures
20852
- // this placeholder is replaced once the real option is available.
20853
- const syntheticDV = document.createElement('span');
20854
- syntheticDV.setAttribute('slot', 'displayValue');
20855
- syntheticDV.textContent = this.value;
20856
- this.input.appendChild(syntheticDV);
20853
+ // the correct label.
20854
+
20855
+ // Avoid adding synthetic content when a consumer already provides
20856
+ // displayValue content via the forwarded slot.
20857
+ const forwarderSlot = this.input.querySelector('slot[name="displayValue"][slot="displayValue"]');
20858
+ const hasSlottedDisplayValue = Boolean(forwarderSlot?.assignedNodes({ flatten: true }).some((node) => {
20859
+ if (node.nodeType === Node.TEXT_NODE) {
20860
+ return node.textContent.trim().length > 0;
20861
+ }
20862
+ if (node.nodeType === Node.ELEMENT_NODE) {
20863
+ return node.textContent.trim().length > 0 ||
20864
+ node.children.length > 0 ||
20865
+ node.shadowRoot !== null;
20866
+ }
20867
+ return false;
20868
+ }));
20869
+
20870
+ if (!hasSlottedDisplayValue) {
20871
+ const syntheticDV = document.createElement('span');
20872
+ syntheticDV.setAttribute('slot', 'displayValue');
20873
+ syntheticDV.textContent = this.value;
20874
+ this.input.appendChild(syntheticDV);
20875
+ }
20876
+
20857
20877
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20858
20878
  this.input.checkDisplayValueSlotChange();
20859
20879
  this.input.requestUpdate();
@@ -4971,7 +4971,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4971
4971
  }
4972
4972
  };
4973
4973
 
4974
- var formkitVersion$2 = '202607160709';
4974
+ var formkitVersion$2 = '202607160725';
4975
4975
 
4976
4976
  let AuroElement$2 = class AuroElement extends i$3 {
4977
4977
  static get properties() {
@@ -5284,22 +5284,25 @@ class AuroDropdown extends AuroElement$2 {
5284
5284
  // getFocusableElements can't find it. Query assigned nodes directly.
5285
5285
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5286
5286
  if (slot) {
5287
- const assigned = slot.assignedElements();
5287
+ const assigned = slot.assignedElements({ flatten: true });
5288
5288
  for (const el of assigned) {
5289
5289
  if (el.hasAttribute('disabled')) {
5290
5290
  continue;
5291
5291
  }
5292
- // Try finding a focusable descendant first (handles non-focusable
5293
- // wrappers like <div> containing a <button>). If none found, try
5294
- // focusing the element directly (works for custom elements like
5295
- // auro-input that have delegatesFocus or a custom focus() method).
5292
+
5293
+ // Try focusing a focusable descendant first (handles non-focusable wrappers).
5296
5294
  const descendants = getFocusableElements(el);
5297
5295
  if (descendants.length > 0) {
5298
5296
  descendants[0].focus();
5299
5297
  return;
5300
5298
  }
5299
+
5300
+ // Otherwise, try focusing the assigned element itself. Only stop if focus moved.
5301
+ const prevActive = document.activeElement;
5301
5302
  el.focus();
5302
- return;
5303
+ if (document.activeElement !== prevActive) {
5304
+ return;
5305
+ }
5303
5306
  }
5304
5307
  }
5305
5308
  // Fallback: try DOM children (non-slotted content)
@@ -18642,7 +18645,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18642
18645
  }
18643
18646
  };
18644
18647
 
18645
- var formkitVersion$1 = '202607160709';
18648
+ var formkitVersion$1 = '202607160725';
18646
18649
 
18647
18650
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18648
18651
  // See LICENSE in the project root for license information.
@@ -19790,7 +19793,7 @@ class AuroBibtemplate extends i$3 {
19790
19793
  }
19791
19794
  }
19792
19795
 
19793
- var formkitVersion = '202607160709';
19796
+ var formkitVersion = '202607160725';
19794
19797
 
19795
19798
  var styleCss$3 = i$6`.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}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19796
19799
 
@@ -20847,13 +20850,30 @@ class AuroCombobox extends AuroElement {
20847
20850
  // human-readable label (e.g. "Seattle, WA"). For consumers where
20848
20851
  // value ≠ label, this produces a brief flash of the raw value until
20849
20852
  // the option elements load and updateTriggerTextDisplay re-runs with
20850
- // the correct label. This is intentionally preferred over a blank
20851
- // state — the displayValueInTrigger.remove() cleanup above ensures
20852
- // this placeholder is replaced once the real option is available.
20853
- const syntheticDV = document.createElement('span');
20854
- syntheticDV.setAttribute('slot', 'displayValue');
20855
- syntheticDV.textContent = this.value;
20856
- this.input.appendChild(syntheticDV);
20853
+ // the correct label.
20854
+
20855
+ // Avoid adding synthetic content when a consumer already provides
20856
+ // displayValue content via the forwarded slot.
20857
+ const forwarderSlot = this.input.querySelector('slot[name="displayValue"][slot="displayValue"]');
20858
+ const hasSlottedDisplayValue = Boolean(forwarderSlot?.assignedNodes({ flatten: true }).some((node) => {
20859
+ if (node.nodeType === Node.TEXT_NODE) {
20860
+ return node.textContent.trim().length > 0;
20861
+ }
20862
+ if (node.nodeType === Node.ELEMENT_NODE) {
20863
+ return node.textContent.trim().length > 0 ||
20864
+ node.children.length > 0 ||
20865
+ node.shadowRoot !== null;
20866
+ }
20867
+ return false;
20868
+ }));
20869
+
20870
+ if (!hasSlottedDisplayValue) {
20871
+ const syntheticDV = document.createElement('span');
20872
+ syntheticDV.setAttribute('slot', 'displayValue');
20873
+ syntheticDV.textContent = this.value;
20874
+ this.input.appendChild(syntheticDV);
20875
+ }
20876
+
20857
20877
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20858
20878
  this.input.checkDisplayValueSlotChange();
20859
20879
  this.input.requestUpdate();
@@ -4986,7 +4986,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4986
4986
  }
4987
4987
  };
4988
4988
 
4989
- var formkitVersion$2 = '202607160709';
4989
+ var formkitVersion$2 = '202607160725';
4990
4990
 
4991
4991
  let AuroElement$2 = class AuroElement extends i$3 {
4992
4992
  static get properties() {
@@ -5299,22 +5299,25 @@ class AuroDropdown extends AuroElement$2 {
5299
5299
  // getFocusableElements can't find it. Query assigned nodes directly.
5300
5300
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5301
5301
  if (slot) {
5302
- const assigned = slot.assignedElements();
5302
+ const assigned = slot.assignedElements({ flatten: true });
5303
5303
  for (const el of assigned) {
5304
5304
  if (el.hasAttribute('disabled')) {
5305
5305
  continue;
5306
5306
  }
5307
- // Try finding a focusable descendant first (handles non-focusable
5308
- // wrappers like <div> containing a <button>). If none found, try
5309
- // focusing the element directly (works for custom elements like
5310
- // auro-input that have delegatesFocus or a custom focus() method).
5307
+
5308
+ // Try focusing a focusable descendant first (handles non-focusable wrappers).
5311
5309
  const descendants = getFocusableElements(el);
5312
5310
  if (descendants.length > 0) {
5313
5311
  descendants[0].focus();
5314
5312
  return;
5315
5313
  }
5314
+
5315
+ // Otherwise, try focusing the assigned element itself. Only stop if focus moved.
5316
+ const prevActive = document.activeElement;
5316
5317
  el.focus();
5317
- return;
5318
+ if (document.activeElement !== prevActive) {
5319
+ return;
5320
+ }
5318
5321
  }
5319
5322
  }
5320
5323
  // Fallback: try DOM children (non-slotted content)
@@ -18657,7 +18660,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18657
18660
  }
18658
18661
  };
18659
18662
 
18660
- var formkitVersion$1 = '202607160709';
18663
+ var formkitVersion$1 = '202607160725';
18661
18664
 
18662
18665
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18663
18666
  // See LICENSE in the project root for license information.
@@ -19805,7 +19808,7 @@ class AuroBibtemplate extends i$3 {
19805
19808
  }
19806
19809
  }
19807
19810
 
19808
- var formkitVersion = '202607160709';
19811
+ var formkitVersion = '202607160725';
19809
19812
 
19810
19813
  var styleCss$3 = i$6`.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}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19811
19814
 
@@ -20862,13 +20865,30 @@ class AuroCombobox extends AuroElement {
20862
20865
  // human-readable label (e.g. "Seattle, WA"). For consumers where
20863
20866
  // value ≠ label, this produces a brief flash of the raw value until
20864
20867
  // the option elements load and updateTriggerTextDisplay re-runs with
20865
- // the correct label. This is intentionally preferred over a blank
20866
- // state — the displayValueInTrigger.remove() cleanup above ensures
20867
- // this placeholder is replaced once the real option is available.
20868
- const syntheticDV = document.createElement('span');
20869
- syntheticDV.setAttribute('slot', 'displayValue');
20870
- syntheticDV.textContent = this.value;
20871
- this.input.appendChild(syntheticDV);
20868
+ // the correct label.
20869
+
20870
+ // Avoid adding synthetic content when a consumer already provides
20871
+ // displayValue content via the forwarded slot.
20872
+ const forwarderSlot = this.input.querySelector('slot[name="displayValue"][slot="displayValue"]');
20873
+ const hasSlottedDisplayValue = Boolean(forwarderSlot?.assignedNodes({ flatten: true }).some((node) => {
20874
+ if (node.nodeType === Node.TEXT_NODE) {
20875
+ return node.textContent.trim().length > 0;
20876
+ }
20877
+ if (node.nodeType === Node.ELEMENT_NODE) {
20878
+ return node.textContent.trim().length > 0 ||
20879
+ node.children.length > 0 ||
20880
+ node.shadowRoot !== null;
20881
+ }
20882
+ return false;
20883
+ }));
20884
+
20885
+ if (!hasSlottedDisplayValue) {
20886
+ const syntheticDV = document.createElement('span');
20887
+ syntheticDV.setAttribute('slot', 'displayValue');
20888
+ syntheticDV.textContent = this.value;
20889
+ this.input.appendChild(syntheticDV);
20890
+ }
20891
+
20872
20892
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20873
20893
  this.input.checkDisplayValueSlotChange();
20874
20894
  this.input.requestUpdate();
@@ -4904,7 +4904,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4904
4904
  }
4905
4905
  };
4906
4906
 
4907
- var formkitVersion$2 = '202607160709';
4907
+ var formkitVersion$2 = '202607160725';
4908
4908
 
4909
4909
  let AuroElement$2 = class AuroElement extends LitElement {
4910
4910
  static get properties() {
@@ -5217,22 +5217,25 @@ class AuroDropdown extends AuroElement$2 {
5217
5217
  // getFocusableElements can't find it. Query assigned nodes directly.
5218
5218
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5219
5219
  if (slot) {
5220
- const assigned = slot.assignedElements();
5220
+ const assigned = slot.assignedElements({ flatten: true });
5221
5221
  for (const el of assigned) {
5222
5222
  if (el.hasAttribute('disabled')) {
5223
5223
  continue;
5224
5224
  }
5225
- // Try finding a focusable descendant first (handles non-focusable
5226
- // wrappers like <div> containing a <button>). If none found, try
5227
- // focusing the element directly (works for custom elements like
5228
- // auro-input that have delegatesFocus or a custom focus() method).
5225
+
5226
+ // Try focusing a focusable descendant first (handles non-focusable wrappers).
5229
5227
  const descendants = getFocusableElements(el);
5230
5228
  if (descendants.length > 0) {
5231
5229
  descendants[0].focus();
5232
5230
  return;
5233
5231
  }
5232
+
5233
+ // Otherwise, try focusing the assigned element itself. Only stop if focus moved.
5234
+ const prevActive = document.activeElement;
5234
5235
  el.focus();
5235
- return;
5236
+ if (document.activeElement !== prevActive) {
5237
+ return;
5238
+ }
5236
5239
  }
5237
5240
  }
5238
5241
  // Fallback: try DOM children (non-slotted content)
@@ -18568,7 +18571,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18568
18571
  }
18569
18572
  };
18570
18573
 
18571
- var formkitVersion$1 = '202607160709';
18574
+ var formkitVersion$1 = '202607160725';
18572
18575
 
18573
18576
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18574
18577
  // See LICENSE in the project root for license information.
@@ -19716,7 +19719,7 @@ class AuroBibtemplate extends LitElement {
19716
19719
  }
19717
19720
  }
19718
19721
 
19719
- var formkitVersion = '202607160709';
19722
+ var formkitVersion = '202607160725';
19720
19723
 
19721
19724
  var styleCss$1 = css`.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}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19722
19725
 
@@ -20773,13 +20776,30 @@ class AuroCombobox extends AuroElement {
20773
20776
  // human-readable label (e.g. "Seattle, WA"). For consumers where
20774
20777
  // value ≠ label, this produces a brief flash of the raw value until
20775
20778
  // the option elements load and updateTriggerTextDisplay re-runs with
20776
- // the correct label. This is intentionally preferred over a blank
20777
- // state — the displayValueInTrigger.remove() cleanup above ensures
20778
- // this placeholder is replaced once the real option is available.
20779
- const syntheticDV = document.createElement('span');
20780
- syntheticDV.setAttribute('slot', 'displayValue');
20781
- syntheticDV.textContent = this.value;
20782
- this.input.appendChild(syntheticDV);
20779
+ // the correct label.
20780
+
20781
+ // Avoid adding synthetic content when a consumer already provides
20782
+ // displayValue content via the forwarded slot.
20783
+ const forwarderSlot = this.input.querySelector('slot[name="displayValue"][slot="displayValue"]');
20784
+ const hasSlottedDisplayValue = Boolean(forwarderSlot?.assignedNodes({ flatten: true }).some((node) => {
20785
+ if (node.nodeType === Node.TEXT_NODE) {
20786
+ return node.textContent.trim().length > 0;
20787
+ }
20788
+ if (node.nodeType === Node.ELEMENT_NODE) {
20789
+ return node.textContent.trim().length > 0 ||
20790
+ node.children.length > 0 ||
20791
+ node.shadowRoot !== null;
20792
+ }
20793
+ return false;
20794
+ }));
20795
+
20796
+ if (!hasSlottedDisplayValue) {
20797
+ const syntheticDV = document.createElement('span');
20798
+ syntheticDV.setAttribute('slot', 'displayValue');
20799
+ syntheticDV.textContent = this.value;
20800
+ this.input.appendChild(syntheticDV);
20801
+ }
20802
+
20783
20803
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20784
20804
  this.input.checkDisplayValueSlotChange();
20785
20805
  this.input.requestUpdate();
@@ -4904,7 +4904,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4904
4904
  }
4905
4905
  };
4906
4906
 
4907
- var formkitVersion$2 = '202607160709';
4907
+ var formkitVersion$2 = '202607160725';
4908
4908
 
4909
4909
  let AuroElement$2 = class AuroElement extends LitElement {
4910
4910
  static get properties() {
@@ -5217,22 +5217,25 @@ class AuroDropdown extends AuroElement$2 {
5217
5217
  // getFocusableElements can't find it. Query assigned nodes directly.
5218
5218
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5219
5219
  if (slot) {
5220
- const assigned = slot.assignedElements();
5220
+ const assigned = slot.assignedElements({ flatten: true });
5221
5221
  for (const el of assigned) {
5222
5222
  if (el.hasAttribute('disabled')) {
5223
5223
  continue;
5224
5224
  }
5225
- // Try finding a focusable descendant first (handles non-focusable
5226
- // wrappers like <div> containing a <button>). If none found, try
5227
- // focusing the element directly (works for custom elements like
5228
- // auro-input that have delegatesFocus or a custom focus() method).
5225
+
5226
+ // Try focusing a focusable descendant first (handles non-focusable wrappers).
5229
5227
  const descendants = getFocusableElements(el);
5230
5228
  if (descendants.length > 0) {
5231
5229
  descendants[0].focus();
5232
5230
  return;
5233
5231
  }
5232
+
5233
+ // Otherwise, try focusing the assigned element itself. Only stop if focus moved.
5234
+ const prevActive = document.activeElement;
5234
5235
  el.focus();
5235
- return;
5236
+ if (document.activeElement !== prevActive) {
5237
+ return;
5238
+ }
5236
5239
  }
5237
5240
  }
5238
5241
  // Fallback: try DOM children (non-slotted content)
@@ -18568,7 +18571,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18568
18571
  }
18569
18572
  };
18570
18573
 
18571
- var formkitVersion$1 = '202607160709';
18574
+ var formkitVersion$1 = '202607160725';
18572
18575
 
18573
18576
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18574
18577
  // See LICENSE in the project root for license information.
@@ -19716,7 +19719,7 @@ class AuroBibtemplate extends LitElement {
19716
19719
  }
19717
19720
  }
19718
19721
 
19719
- var formkitVersion = '202607160709';
19722
+ var formkitVersion = '202607160725';
19720
19723
 
19721
19724
  var styleCss$1 = css`.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}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
19722
19725
 
@@ -20773,13 +20776,30 @@ class AuroCombobox extends AuroElement {
20773
20776
  // human-readable label (e.g. "Seattle, WA"). For consumers where
20774
20777
  // value ≠ label, this produces a brief flash of the raw value until
20775
20778
  // the option elements load and updateTriggerTextDisplay re-runs with
20776
- // the correct label. This is intentionally preferred over a blank
20777
- // state — the displayValueInTrigger.remove() cleanup above ensures
20778
- // this placeholder is replaced once the real option is available.
20779
- const syntheticDV = document.createElement('span');
20780
- syntheticDV.setAttribute('slot', 'displayValue');
20781
- syntheticDV.textContent = this.value;
20782
- this.input.appendChild(syntheticDV);
20779
+ // the correct label.
20780
+
20781
+ // Avoid adding synthetic content when a consumer already provides
20782
+ // displayValue content via the forwarded slot.
20783
+ const forwarderSlot = this.input.querySelector('slot[name="displayValue"][slot="displayValue"]');
20784
+ const hasSlottedDisplayValue = Boolean(forwarderSlot?.assignedNodes({ flatten: true }).some((node) => {
20785
+ if (node.nodeType === Node.TEXT_NODE) {
20786
+ return node.textContent.trim().length > 0;
20787
+ }
20788
+ if (node.nodeType === Node.ELEMENT_NODE) {
20789
+ return node.textContent.trim().length > 0 ||
20790
+ node.children.length > 0 ||
20791
+ node.shadowRoot !== null;
20792
+ }
20793
+ return false;
20794
+ }));
20795
+
20796
+ if (!hasSlottedDisplayValue) {
20797
+ const syntheticDV = document.createElement('span');
20798
+ syntheticDV.setAttribute('slot', 'displayValue');
20799
+ syntheticDV.textContent = this.value;
20800
+ this.input.appendChild(syntheticDV);
20801
+ }
20802
+
20783
20803
  if (typeof this.input.checkDisplayValueSlotChange === 'function') {
20784
20804
  this.input.checkDisplayValueSlotChange();
20785
20805
  this.input.requestUpdate();
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202607160709';
1117
+ var formkitVersion$1 = '202607160725';
1118
1118
 
1119
1119
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1120
1120
  // See LICENSE in the project root for license information.
@@ -5280,7 +5280,7 @@ class AuroHelpText extends i$2 {
5280
5280
  }
5281
5281
  }
5282
5282
 
5283
- var formkitVersion = '202607160709';
5283
+ var formkitVersion = '202607160725';
5284
5284
 
5285
5285
  let AuroElement$1 = class AuroElement extends i$2 {
5286
5286
  static get properties() {
@@ -5593,22 +5593,25 @@ class AuroDropdown extends AuroElement$1 {
5593
5593
  // getFocusableElements can't find it. Query assigned nodes directly.
5594
5594
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5595
5595
  if (slot) {
5596
- const assigned = slot.assignedElements();
5596
+ const assigned = slot.assignedElements({ flatten: true });
5597
5597
  for (const el of assigned) {
5598
5598
  if (el.hasAttribute('disabled')) {
5599
5599
  continue;
5600
5600
  }
5601
- // Try finding a focusable descendant first (handles non-focusable
5602
- // wrappers like <div> containing a <button>). If none found, try
5603
- // focusing the element directly (works for custom elements like
5604
- // auro-input that have delegatesFocus or a custom focus() method).
5601
+
5602
+ // Try focusing a focusable descendant first (handles non-focusable wrappers).
5605
5603
  const descendants = getFocusableElements(el);
5606
5604
  if (descendants.length > 0) {
5607
5605
  descendants[0].focus();
5608
5606
  return;
5609
5607
  }
5608
+
5609
+ // Otherwise, try focusing the assigned element itself. Only stop if focus moved.
5610
+ const prevActive = document.activeElement;
5610
5611
  el.focus();
5611
- return;
5612
+ if (document.activeElement !== prevActive) {
5613
+ return;
5614
+ }
5612
5615
  }
5613
5616
  }
5614
5617
  // Fallback: try DOM children (non-slotted content)
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202607160709';
1117
+ var formkitVersion$1 = '202607160725';
1118
1118
 
1119
1119
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1120
1120
  // See LICENSE in the project root for license information.
@@ -5280,7 +5280,7 @@ class AuroHelpText extends i$2 {
5280
5280
  }
5281
5281
  }
5282
5282
 
5283
- var formkitVersion = '202607160709';
5283
+ var formkitVersion = '202607160725';
5284
5284
 
5285
5285
  let AuroElement$1 = class AuroElement extends i$2 {
5286
5286
  static get properties() {
@@ -5593,22 +5593,25 @@ class AuroDropdown extends AuroElement$1 {
5593
5593
  // getFocusableElements can't find it. Query assigned nodes directly.
5594
5594
  const slot = this.trigger.querySelector('slot[name="trigger"]');
5595
5595
  if (slot) {
5596
- const assigned = slot.assignedElements();
5596
+ const assigned = slot.assignedElements({ flatten: true });
5597
5597
  for (const el of assigned) {
5598
5598
  if (el.hasAttribute('disabled')) {
5599
5599
  continue;
5600
5600
  }
5601
- // Try finding a focusable descendant first (handles non-focusable
5602
- // wrappers like <div> containing a <button>). If none found, try
5603
- // focusing the element directly (works for custom elements like
5604
- // auro-input that have delegatesFocus or a custom focus() method).
5601
+
5602
+ // Try focusing a focusable descendant first (handles non-focusable wrappers).
5605
5603
  const descendants = getFocusableElements(el);
5606
5604
  if (descendants.length > 0) {
5607
5605
  descendants[0].focus();
5608
5606
  return;
5609
5607
  }
5608
+
5609
+ // Otherwise, try focusing the assigned element itself. Only stop if focus moved.
5610
+ const prevActive = document.activeElement;
5610
5611
  el.focus();
5611
- return;
5612
+ if (document.activeElement !== prevActive) {
5613
+ return;
5614
+ }
5612
5615
  }
5613
5616
  }
5614
5617
  // Fallback: try DOM children (non-slotted content)