@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.2 → 0.0.0-pr1554.21
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.
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.min.js +54 -13
- package/components/combobox/demo/getting-started.min.js +54 -13
- package/components/combobox/demo/index.min.js +54 -13
- package/components/combobox/dist/index.js +54 -13
- package/components/combobox/dist/registered.js +54 -13
- package/components/counter/demo/customize.min.js +31 -9
- package/components/counter/demo/index.min.js +31 -9
- package/components/counter/dist/index.js +31 -9
- package/components/counter/dist/registered.js +31 -9
- package/components/datepicker/demo/customize.min.js +50 -11
- package/components/datepicker/demo/index.min.js +50 -11
- package/components/datepicker/dist/index.js +50 -11
- package/components/datepicker/dist/registered.js +50 -11
- package/components/dropdown/demo/customize.min.js +30 -8
- package/components/dropdown/demo/getting-started.min.js +30 -8
- package/components/dropdown/demo/index.min.js +30 -8
- package/components/dropdown/dist/auro-dropdown.d.ts +8 -0
- package/components/dropdown/dist/index.js +30 -8
- package/components/dropdown/dist/registered.js +30 -8
- package/components/form/demo/customize.min.js +187 -46
- package/components/form/demo/getting-started.min.js +187 -46
- package/components/form/demo/index.min.js +187 -46
- package/components/form/demo/registerDemoDeps.min.js +187 -46
- package/components/input/demo/customize.min.js +19 -2
- package/components/input/demo/getting-started.min.js +19 -2
- package/components/input/demo/index.min.js +19 -2
- package/components/input/dist/index.js +19 -2
- package/components/input/dist/registered.js +19 -2
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.min.js +31 -9
- package/components/select/demo/getting-started.min.js +31 -9
- package/components/select/demo/index.min.js +31 -9
- package/components/select/dist/index.js +31 -9
- package/components/select/dist/registered.js +31 -9
- package/custom-elements.json +10 -0
- package/package.json +1 -1
|
@@ -4904,7 +4904,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
4904
4904
|
}
|
|
4905
4905
|
};
|
|
4906
4906
|
|
|
4907
|
-
var formkitVersion$2 = '
|
|
4907
|
+
var formkitVersion$2 = '202607160836';
|
|
4908
4908
|
|
|
4909
4909
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
4910
4910
|
static get properties() {
|
|
@@ -5044,6 +5044,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5044
5044
|
this.matchWidth = false;
|
|
5045
5045
|
this.noHideOnThisFocusLoss = false;
|
|
5046
5046
|
|
|
5047
|
+
/**
|
|
5048
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
5049
|
+
* Intended for internal consumer coordination (e.g. auro-combobox), not as a
|
|
5050
|
+
* declarative attribute.
|
|
5051
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
5052
|
+
* @private
|
|
5053
|
+
*/
|
|
5054
|
+
this.noFocusRestoreOnClose = false;
|
|
5055
|
+
|
|
5047
5056
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
5048
5057
|
|
|
5049
5058
|
// Layout Config
|
|
@@ -5218,10 +5227,23 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5218
5227
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5219
5228
|
if (slot) {
|
|
5220
5229
|
const assigned = slot.assignedElements();
|
|
5221
|
-
const
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5230
|
+
for (const el of assigned) {
|
|
5231
|
+
if (el.hasAttribute('disabled')) {
|
|
5232
|
+
continue;
|
|
5233
|
+
}
|
|
5234
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
5235
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
5236
|
+
// focusing the element directly (works for custom elements like
|
|
5237
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5238
|
+
const descendants = getFocusableElements(el);
|
|
5239
|
+
if (descendants.length > 0) {
|
|
5240
|
+
descendants[0].focus();
|
|
5241
|
+
return;
|
|
5242
|
+
}
|
|
5243
|
+
el.focus();
|
|
5244
|
+
if (document.activeElement === el) {
|
|
5245
|
+
return;
|
|
5246
|
+
}
|
|
5225
5247
|
}
|
|
5226
5248
|
}
|
|
5227
5249
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -5681,7 +5703,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5681
5703
|
}
|
|
5682
5704
|
|
|
5683
5705
|
const eventType = event.detail.eventType || "unknown";
|
|
5684
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
5706
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
5685
5707
|
this.focusTrigger();
|
|
5686
5708
|
}
|
|
5687
5709
|
|
|
@@ -5689,9 +5711,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5689
5711
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
5690
5712
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
5691
5713
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
5692
|
-
// When
|
|
5714
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
5693
5715
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
5694
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
5716
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
5695
5717
|
// wait til the bib gets fully closed and rendered
|
|
5696
5718
|
setTimeout(() => {
|
|
5697
5719
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -18557,7 +18579,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
18557
18579
|
}
|
|
18558
18580
|
};
|
|
18559
18581
|
|
|
18560
|
-
var formkitVersion$1 = '
|
|
18582
|
+
var formkitVersion$1 = '202607160836';
|
|
18561
18583
|
|
|
18562
18584
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18563
18585
|
// See LICENSE in the project root for license information.
|
|
@@ -18845,6 +18867,18 @@ class AuroInput extends BaseInput {
|
|
|
18845
18867
|
checkDisplayValueSlotChange() {
|
|
18846
18868
|
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
18847
18869
|
if (!slot) {
|
|
18870
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
18871
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
18872
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
18873
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
18874
|
+
// that render via shadow DOM with no text content).
|
|
18875
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
18876
|
+
this.hasDisplayValueContent = lightDomNodes.some((node) => (
|
|
18877
|
+
node.textContent.trim().length > 0 ||
|
|
18878
|
+
node.children.length > 0 ||
|
|
18879
|
+
node.shadowRoot !== null
|
|
18880
|
+
));
|
|
18881
|
+
this.requestUpdate();
|
|
18848
18882
|
return;
|
|
18849
18883
|
}
|
|
18850
18884
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
@@ -18855,15 +18889,20 @@ class AuroInput extends BaseInput {
|
|
|
18855
18889
|
// displayValue wrapper to render (with hasContent class) but show
|
|
18856
18890
|
// nothing, blocking the combobox's synthetic displayValue from
|
|
18857
18891
|
// being visible on preset/deeplink load.
|
|
18892
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
18893
|
+
// treated as content even when they have no text or light-DOM children.
|
|
18858
18894
|
this.hasDisplayValueContent = nodes.some((node) => {
|
|
18859
18895
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
18860
18896
|
return node.textContent.trim().length > 0;
|
|
18861
18897
|
}
|
|
18862
18898
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
18863
|
-
return node.textContent.trim().length > 0 ||
|
|
18899
|
+
return node.textContent.trim().length > 0 ||
|
|
18900
|
+
node.children.length > 0 ||
|
|
18901
|
+
node.shadowRoot !== null;
|
|
18864
18902
|
}
|
|
18865
18903
|
return false;
|
|
18866
18904
|
});
|
|
18905
|
+
this.requestUpdate();
|
|
18867
18906
|
}
|
|
18868
18907
|
|
|
18869
18908
|
firstUpdated() {
|
|
@@ -19690,7 +19729,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
19690
19729
|
}
|
|
19691
19730
|
}
|
|
19692
19731
|
|
|
19693
|
-
var formkitVersion = '
|
|
19732
|
+
var formkitVersion = '202607160836';
|
|
19694
19733
|
|
|
19695
19734
|
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}`;
|
|
19696
19735
|
|
|
@@ -20735,7 +20774,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20735
20774
|
// hidden when input.value is set in the same tick as the append.
|
|
20736
20775
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20737
20776
|
this.input.checkDisplayValueSlotChange();
|
|
20738
|
-
this.input.requestUpdate();
|
|
20739
20777
|
}
|
|
20740
20778
|
} else if (this.value) {
|
|
20741
20779
|
// No optionSelected yet (e.g. setMenuValue was called but the menu's
|
|
@@ -20756,7 +20794,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20756
20794
|
this.input.appendChild(syntheticDV);
|
|
20757
20795
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20758
20796
|
this.input.checkDisplayValueSlotChange();
|
|
20759
|
-
this.input.requestUpdate();
|
|
20760
20797
|
}
|
|
20761
20798
|
}
|
|
20762
20799
|
|
|
@@ -20929,6 +20966,10 @@ class AuroCombobox extends AuroElement {
|
|
|
20929
20966
|
// from combobox's light DOM and won't be detected by dropdown's contains() check.
|
|
20930
20967
|
this.dropdown.noHideOnThisFocusLoss = true;
|
|
20931
20968
|
|
|
20969
|
+
// Suppress the dropdown's generic focus restoration on close — the combobox
|
|
20970
|
+
// manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
20971
|
+
this.dropdown.noFocusRestoreOnClose = true;
|
|
20972
|
+
|
|
20932
20973
|
// Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
|
|
20933
20974
|
this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
|
|
20934
20975
|
this.dropdownId = event.detail.id;
|
|
@@ -4904,7 +4904,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
4904
4904
|
}
|
|
4905
4905
|
};
|
|
4906
4906
|
|
|
4907
|
-
var formkitVersion$2 = '
|
|
4907
|
+
var formkitVersion$2 = '202607160836';
|
|
4908
4908
|
|
|
4909
4909
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
4910
4910
|
static get properties() {
|
|
@@ -5044,6 +5044,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5044
5044
|
this.matchWidth = false;
|
|
5045
5045
|
this.noHideOnThisFocusLoss = false;
|
|
5046
5046
|
|
|
5047
|
+
/**
|
|
5048
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
5049
|
+
* Intended for internal consumer coordination (e.g. auro-combobox), not as a
|
|
5050
|
+
* declarative attribute.
|
|
5051
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
5052
|
+
* @private
|
|
5053
|
+
*/
|
|
5054
|
+
this.noFocusRestoreOnClose = false;
|
|
5055
|
+
|
|
5047
5056
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
5048
5057
|
|
|
5049
5058
|
// Layout Config
|
|
@@ -5218,10 +5227,23 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5218
5227
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5219
5228
|
if (slot) {
|
|
5220
5229
|
const assigned = slot.assignedElements();
|
|
5221
|
-
const
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5230
|
+
for (const el of assigned) {
|
|
5231
|
+
if (el.hasAttribute('disabled')) {
|
|
5232
|
+
continue;
|
|
5233
|
+
}
|
|
5234
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
5235
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
5236
|
+
// focusing the element directly (works for custom elements like
|
|
5237
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5238
|
+
const descendants = getFocusableElements(el);
|
|
5239
|
+
if (descendants.length > 0) {
|
|
5240
|
+
descendants[0].focus();
|
|
5241
|
+
return;
|
|
5242
|
+
}
|
|
5243
|
+
el.focus();
|
|
5244
|
+
if (document.activeElement === el) {
|
|
5245
|
+
return;
|
|
5246
|
+
}
|
|
5225
5247
|
}
|
|
5226
5248
|
}
|
|
5227
5249
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -5681,7 +5703,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5681
5703
|
}
|
|
5682
5704
|
|
|
5683
5705
|
const eventType = event.detail.eventType || "unknown";
|
|
5684
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
5706
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
5685
5707
|
this.focusTrigger();
|
|
5686
5708
|
}
|
|
5687
5709
|
|
|
@@ -5689,9 +5711,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5689
5711
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
5690
5712
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
5691
5713
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
5692
|
-
// When
|
|
5714
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
5693
5715
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
5694
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
5716
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
5695
5717
|
// wait til the bib gets fully closed and rendered
|
|
5696
5718
|
setTimeout(() => {
|
|
5697
5719
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -18557,7 +18579,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
18557
18579
|
}
|
|
18558
18580
|
};
|
|
18559
18581
|
|
|
18560
|
-
var formkitVersion$1 = '
|
|
18582
|
+
var formkitVersion$1 = '202607160836';
|
|
18561
18583
|
|
|
18562
18584
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18563
18585
|
// See LICENSE in the project root for license information.
|
|
@@ -18845,6 +18867,18 @@ class AuroInput extends BaseInput {
|
|
|
18845
18867
|
checkDisplayValueSlotChange() {
|
|
18846
18868
|
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
18847
18869
|
if (!slot) {
|
|
18870
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
18871
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
18872
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
18873
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
18874
|
+
// that render via shadow DOM with no text content).
|
|
18875
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
18876
|
+
this.hasDisplayValueContent = lightDomNodes.some((node) => (
|
|
18877
|
+
node.textContent.trim().length > 0 ||
|
|
18878
|
+
node.children.length > 0 ||
|
|
18879
|
+
node.shadowRoot !== null
|
|
18880
|
+
));
|
|
18881
|
+
this.requestUpdate();
|
|
18848
18882
|
return;
|
|
18849
18883
|
}
|
|
18850
18884
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
@@ -18855,15 +18889,20 @@ class AuroInput extends BaseInput {
|
|
|
18855
18889
|
// displayValue wrapper to render (with hasContent class) but show
|
|
18856
18890
|
// nothing, blocking the combobox's synthetic displayValue from
|
|
18857
18891
|
// being visible on preset/deeplink load.
|
|
18892
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
18893
|
+
// treated as content even when they have no text or light-DOM children.
|
|
18858
18894
|
this.hasDisplayValueContent = nodes.some((node) => {
|
|
18859
18895
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
18860
18896
|
return node.textContent.trim().length > 0;
|
|
18861
18897
|
}
|
|
18862
18898
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
18863
|
-
return node.textContent.trim().length > 0 ||
|
|
18899
|
+
return node.textContent.trim().length > 0 ||
|
|
18900
|
+
node.children.length > 0 ||
|
|
18901
|
+
node.shadowRoot !== null;
|
|
18864
18902
|
}
|
|
18865
18903
|
return false;
|
|
18866
18904
|
});
|
|
18905
|
+
this.requestUpdate();
|
|
18867
18906
|
}
|
|
18868
18907
|
|
|
18869
18908
|
firstUpdated() {
|
|
@@ -19690,7 +19729,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
19690
19729
|
}
|
|
19691
19730
|
}
|
|
19692
19731
|
|
|
19693
|
-
var formkitVersion = '
|
|
19732
|
+
var formkitVersion = '202607160836';
|
|
19694
19733
|
|
|
19695
19734
|
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}`;
|
|
19696
19735
|
|
|
@@ -20735,7 +20774,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20735
20774
|
// hidden when input.value is set in the same tick as the append.
|
|
20736
20775
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20737
20776
|
this.input.checkDisplayValueSlotChange();
|
|
20738
|
-
this.input.requestUpdate();
|
|
20739
20777
|
}
|
|
20740
20778
|
} else if (this.value) {
|
|
20741
20779
|
// No optionSelected yet (e.g. setMenuValue was called but the menu's
|
|
@@ -20756,7 +20794,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20756
20794
|
this.input.appendChild(syntheticDV);
|
|
20757
20795
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20758
20796
|
this.input.checkDisplayValueSlotChange();
|
|
20759
|
-
this.input.requestUpdate();
|
|
20760
20797
|
}
|
|
20761
20798
|
}
|
|
20762
20799
|
|
|
@@ -20929,6 +20966,10 @@ class AuroCombobox extends AuroElement {
|
|
|
20929
20966
|
// from combobox's light DOM and won't be detected by dropdown's contains() check.
|
|
20930
20967
|
this.dropdown.noHideOnThisFocusLoss = true;
|
|
20931
20968
|
|
|
20969
|
+
// Suppress the dropdown's generic focus restoration on close — the combobox
|
|
20970
|
+
// manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
20971
|
+
this.dropdown.noFocusRestoreOnClose = true;
|
|
20972
|
+
|
|
20932
20973
|
// Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
|
|
20933
20974
|
this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
|
|
20934
20975
|
this.dropdownId = event.detail.id;
|
|
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
1114
1114
|
}
|
|
1115
1115
|
};
|
|
1116
1116
|
|
|
1117
|
-
var formkitVersion$1 = '
|
|
1117
|
+
var formkitVersion$1 = '202607160836';
|
|
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 = '
|
|
5283
|
+
var formkitVersion = '202607160836';
|
|
5284
5284
|
|
|
5285
5285
|
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5286
5286
|
static get properties() {
|
|
@@ -5420,6 +5420,15 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5420
5420
|
this.matchWidth = false;
|
|
5421
5421
|
this.noHideOnThisFocusLoss = false;
|
|
5422
5422
|
|
|
5423
|
+
/**
|
|
5424
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
5425
|
+
* Intended for internal consumer coordination (e.g. auro-combobox), not as a
|
|
5426
|
+
* declarative attribute.
|
|
5427
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
5428
|
+
* @private
|
|
5429
|
+
*/
|
|
5430
|
+
this.noFocusRestoreOnClose = false;
|
|
5431
|
+
|
|
5423
5432
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
5424
5433
|
|
|
5425
5434
|
// Layout Config
|
|
@@ -5594,10 +5603,23 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5594
5603
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5595
5604
|
if (slot) {
|
|
5596
5605
|
const assigned = slot.assignedElements();
|
|
5597
|
-
const
|
|
5598
|
-
|
|
5599
|
-
|
|
5600
|
-
|
|
5606
|
+
for (const el of assigned) {
|
|
5607
|
+
if (el.hasAttribute('disabled')) {
|
|
5608
|
+
continue;
|
|
5609
|
+
}
|
|
5610
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
5611
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
5612
|
+
// focusing the element directly (works for custom elements like
|
|
5613
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5614
|
+
const descendants = getFocusableElements(el);
|
|
5615
|
+
if (descendants.length > 0) {
|
|
5616
|
+
descendants[0].focus();
|
|
5617
|
+
return;
|
|
5618
|
+
}
|
|
5619
|
+
el.focus();
|
|
5620
|
+
if (document.activeElement === el) {
|
|
5621
|
+
return;
|
|
5622
|
+
}
|
|
5601
5623
|
}
|
|
5602
5624
|
}
|
|
5603
5625
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -6057,7 +6079,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6057
6079
|
}
|
|
6058
6080
|
|
|
6059
6081
|
const eventType = event.detail.eventType || "unknown";
|
|
6060
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6082
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
6061
6083
|
this.focusTrigger();
|
|
6062
6084
|
}
|
|
6063
6085
|
|
|
@@ -6065,9 +6087,9 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6065
6087
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
6066
6088
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
6067
6089
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
6068
|
-
// When
|
|
6090
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
6069
6091
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
6070
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
6092
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
6071
6093
|
// wait til the bib gets fully closed and rendered
|
|
6072
6094
|
setTimeout(() => {
|
|
6073
6095
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
1114
1114
|
}
|
|
1115
1115
|
};
|
|
1116
1116
|
|
|
1117
|
-
var formkitVersion$1 = '
|
|
1117
|
+
var formkitVersion$1 = '202607160836';
|
|
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 = '
|
|
5283
|
+
var formkitVersion = '202607160836';
|
|
5284
5284
|
|
|
5285
5285
|
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5286
5286
|
static get properties() {
|
|
@@ -5420,6 +5420,15 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5420
5420
|
this.matchWidth = false;
|
|
5421
5421
|
this.noHideOnThisFocusLoss = false;
|
|
5422
5422
|
|
|
5423
|
+
/**
|
|
5424
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
5425
|
+
* Intended for internal consumer coordination (e.g. auro-combobox), not as a
|
|
5426
|
+
* declarative attribute.
|
|
5427
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
5428
|
+
* @private
|
|
5429
|
+
*/
|
|
5430
|
+
this.noFocusRestoreOnClose = false;
|
|
5431
|
+
|
|
5423
5432
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
5424
5433
|
|
|
5425
5434
|
// Layout Config
|
|
@@ -5594,10 +5603,23 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5594
5603
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5595
5604
|
if (slot) {
|
|
5596
5605
|
const assigned = slot.assignedElements();
|
|
5597
|
-
const
|
|
5598
|
-
|
|
5599
|
-
|
|
5600
|
-
|
|
5606
|
+
for (const el of assigned) {
|
|
5607
|
+
if (el.hasAttribute('disabled')) {
|
|
5608
|
+
continue;
|
|
5609
|
+
}
|
|
5610
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
5611
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
5612
|
+
// focusing the element directly (works for custom elements like
|
|
5613
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5614
|
+
const descendants = getFocusableElements(el);
|
|
5615
|
+
if (descendants.length > 0) {
|
|
5616
|
+
descendants[0].focus();
|
|
5617
|
+
return;
|
|
5618
|
+
}
|
|
5619
|
+
el.focus();
|
|
5620
|
+
if (document.activeElement === el) {
|
|
5621
|
+
return;
|
|
5622
|
+
}
|
|
5601
5623
|
}
|
|
5602
5624
|
}
|
|
5603
5625
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -6057,7 +6079,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6057
6079
|
}
|
|
6058
6080
|
|
|
6059
6081
|
const eventType = event.detail.eventType || "unknown";
|
|
6060
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6082
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
6061
6083
|
this.focusTrigger();
|
|
6062
6084
|
}
|
|
6063
6085
|
|
|
@@ -6065,9 +6087,9 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6065
6087
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
6066
6088
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
6067
6089
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
6068
|
-
// When
|
|
6090
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
6069
6091
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
6070
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
6092
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
6071
6093
|
// wait til the bib gets fully closed and rendered
|
|
6072
6094
|
setTimeout(() => {
|
|
6073
6095
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -1064,7 +1064,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
1064
1064
|
}
|
|
1065
1065
|
};
|
|
1066
1066
|
|
|
1067
|
-
var formkitVersion$1 = '
|
|
1067
|
+
var formkitVersion$1 = '202607160836';
|
|
1068
1068
|
|
|
1069
1069
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1070
1070
|
// See LICENSE in the project root for license information.
|
|
@@ -5212,7 +5212,7 @@ class AuroHelpText extends LitElement {
|
|
|
5212
5212
|
}
|
|
5213
5213
|
}
|
|
5214
5214
|
|
|
5215
|
-
var formkitVersion = '
|
|
5215
|
+
var formkitVersion = '202607160836';
|
|
5216
5216
|
|
|
5217
5217
|
let AuroElement$1 = class AuroElement extends LitElement {
|
|
5218
5218
|
static get properties() {
|
|
@@ -5352,6 +5352,15 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5352
5352
|
this.matchWidth = false;
|
|
5353
5353
|
this.noHideOnThisFocusLoss = false;
|
|
5354
5354
|
|
|
5355
|
+
/**
|
|
5356
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
5357
|
+
* Intended for internal consumer coordination (e.g. auro-combobox), not as a
|
|
5358
|
+
* declarative attribute.
|
|
5359
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
5360
|
+
* @private
|
|
5361
|
+
*/
|
|
5362
|
+
this.noFocusRestoreOnClose = false;
|
|
5363
|
+
|
|
5355
5364
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
5356
5365
|
|
|
5357
5366
|
// Layout Config
|
|
@@ -5526,10 +5535,23 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5526
5535
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5527
5536
|
if (slot) {
|
|
5528
5537
|
const assigned = slot.assignedElements();
|
|
5529
|
-
const
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5538
|
+
for (const el of assigned) {
|
|
5539
|
+
if (el.hasAttribute('disabled')) {
|
|
5540
|
+
continue;
|
|
5541
|
+
}
|
|
5542
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
5543
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
5544
|
+
// focusing the element directly (works for custom elements like
|
|
5545
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5546
|
+
const descendants = getFocusableElements(el);
|
|
5547
|
+
if (descendants.length > 0) {
|
|
5548
|
+
descendants[0].focus();
|
|
5549
|
+
return;
|
|
5550
|
+
}
|
|
5551
|
+
el.focus();
|
|
5552
|
+
if (document.activeElement === el) {
|
|
5553
|
+
return;
|
|
5554
|
+
}
|
|
5533
5555
|
}
|
|
5534
5556
|
}
|
|
5535
5557
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -5989,7 +6011,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5989
6011
|
}
|
|
5990
6012
|
|
|
5991
6013
|
const eventType = event.detail.eventType || "unknown";
|
|
5992
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6014
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
5993
6015
|
this.focusTrigger();
|
|
5994
6016
|
}
|
|
5995
6017
|
|
|
@@ -5997,9 +6019,9 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5997
6019
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
5998
6020
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
5999
6021
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
6000
|
-
// When
|
|
6022
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
6001
6023
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
6002
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
6024
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
6003
6025
|
// wait til the bib gets fully closed and rendered
|
|
6004
6026
|
setTimeout(() => {
|
|
6005
6027
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -1064,7 +1064,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
1064
1064
|
}
|
|
1065
1065
|
};
|
|
1066
1066
|
|
|
1067
|
-
var formkitVersion$1 = '
|
|
1067
|
+
var formkitVersion$1 = '202607160836';
|
|
1068
1068
|
|
|
1069
1069
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1070
1070
|
// See LICENSE in the project root for license information.
|
|
@@ -5212,7 +5212,7 @@ class AuroHelpText extends LitElement {
|
|
|
5212
5212
|
}
|
|
5213
5213
|
}
|
|
5214
5214
|
|
|
5215
|
-
var formkitVersion = '
|
|
5215
|
+
var formkitVersion = '202607160836';
|
|
5216
5216
|
|
|
5217
5217
|
let AuroElement$1 = class AuroElement extends LitElement {
|
|
5218
5218
|
static get properties() {
|
|
@@ -5352,6 +5352,15 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5352
5352
|
this.matchWidth = false;
|
|
5353
5353
|
this.noHideOnThisFocusLoss = false;
|
|
5354
5354
|
|
|
5355
|
+
/**
|
|
5356
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
5357
|
+
* Intended for internal consumer coordination (e.g. auro-combobox), not as a
|
|
5358
|
+
* declarative attribute.
|
|
5359
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
5360
|
+
* @private
|
|
5361
|
+
*/
|
|
5362
|
+
this.noFocusRestoreOnClose = false;
|
|
5363
|
+
|
|
5355
5364
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
5356
5365
|
|
|
5357
5366
|
// Layout Config
|
|
@@ -5526,10 +5535,23 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5526
5535
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5527
5536
|
if (slot) {
|
|
5528
5537
|
const assigned = slot.assignedElements();
|
|
5529
|
-
const
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5538
|
+
for (const el of assigned) {
|
|
5539
|
+
if (el.hasAttribute('disabled')) {
|
|
5540
|
+
continue;
|
|
5541
|
+
}
|
|
5542
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
5543
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
5544
|
+
// focusing the element directly (works for custom elements like
|
|
5545
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5546
|
+
const descendants = getFocusableElements(el);
|
|
5547
|
+
if (descendants.length > 0) {
|
|
5548
|
+
descendants[0].focus();
|
|
5549
|
+
return;
|
|
5550
|
+
}
|
|
5551
|
+
el.focus();
|
|
5552
|
+
if (document.activeElement === el) {
|
|
5553
|
+
return;
|
|
5554
|
+
}
|
|
5533
5555
|
}
|
|
5534
5556
|
}
|
|
5535
5557
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -5989,7 +6011,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5989
6011
|
}
|
|
5990
6012
|
|
|
5991
6013
|
const eventType = event.detail.eventType || "unknown";
|
|
5992
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6014
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
5993
6015
|
this.focusTrigger();
|
|
5994
6016
|
}
|
|
5995
6017
|
|
|
@@ -5997,9 +6019,9 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5997
6019
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
5998
6020
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
5999
6021
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
6000
|
-
// When
|
|
6022
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
6001
6023
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
6002
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
6024
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
6003
6025
|
// wait til the bib gets fully closed and rendered
|
|
6004
6026
|
setTimeout(() => {
|
|
6005
6027
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|