@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.2 → 0.0.0-pr1554.20
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
|
@@ -1275,7 +1275,7 @@ class AuroHelpText extends i$2 {
|
|
|
1275
1275
|
}
|
|
1276
1276
|
}
|
|
1277
1277
|
|
|
1278
|
-
var formkitVersion = '
|
|
1278
|
+
var formkitVersion = '202607160830';
|
|
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 = '
|
|
1278
|
+
var formkitVersion = '202607160830';
|
|
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 = '
|
|
1278
|
+
var formkitVersion = '202607160830';
|
|
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 = '
|
|
1231
|
+
var formkitVersion = '202607160830';
|
|
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 = '
|
|
1231
|
+
var formkitVersion = '202607160830';
|
|
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 = '
|
|
4974
|
+
var formkitVersion$2 = '202607160830';
|
|
4975
4975
|
|
|
4976
4976
|
let AuroElement$2 = class AuroElement extends i$3 {
|
|
4977
4977
|
static get properties() {
|
|
@@ -5111,6 +5111,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5111
5111
|
this.matchWidth = false;
|
|
5112
5112
|
this.noHideOnThisFocusLoss = false;
|
|
5113
5113
|
|
|
5114
|
+
/**
|
|
5115
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
5116
|
+
* Intended for internal consumer coordination (e.g. auro-combobox), not as a
|
|
5117
|
+
* declarative attribute.
|
|
5118
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
5119
|
+
* @private
|
|
5120
|
+
*/
|
|
5121
|
+
this.noFocusRestoreOnClose = false;
|
|
5122
|
+
|
|
5114
5123
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
5115
5124
|
|
|
5116
5125
|
// Layout Config
|
|
@@ -5285,10 +5294,23 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5285
5294
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5286
5295
|
if (slot) {
|
|
5287
5296
|
const assigned = slot.assignedElements();
|
|
5288
|
-
const
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5297
|
+
for (const el of assigned) {
|
|
5298
|
+
if (el.hasAttribute('disabled')) {
|
|
5299
|
+
continue;
|
|
5300
|
+
}
|
|
5301
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
5302
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
5303
|
+
// focusing the element directly (works for custom elements like
|
|
5304
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5305
|
+
const descendants = getFocusableElements(el);
|
|
5306
|
+
if (descendants.length > 0) {
|
|
5307
|
+
descendants[0].focus();
|
|
5308
|
+
return;
|
|
5309
|
+
}
|
|
5310
|
+
el.focus();
|
|
5311
|
+
if (document.activeElement === el) {
|
|
5312
|
+
return;
|
|
5313
|
+
}
|
|
5292
5314
|
}
|
|
5293
5315
|
}
|
|
5294
5316
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -5748,7 +5770,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5748
5770
|
}
|
|
5749
5771
|
|
|
5750
5772
|
const eventType = event.detail.eventType || "unknown";
|
|
5751
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
5773
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
5752
5774
|
this.focusTrigger();
|
|
5753
5775
|
}
|
|
5754
5776
|
|
|
@@ -5756,9 +5778,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5756
5778
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
5757
5779
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
5758
5780
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
5759
|
-
// When
|
|
5781
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
5760
5782
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
5761
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
5783
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
5762
5784
|
// wait til the bib gets fully closed and rendered
|
|
5763
5785
|
setTimeout(() => {
|
|
5764
5786
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -18631,7 +18653,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
18631
18653
|
}
|
|
18632
18654
|
};
|
|
18633
18655
|
|
|
18634
|
-
var formkitVersion$1 = '
|
|
18656
|
+
var formkitVersion$1 = '202607160830';
|
|
18635
18657
|
|
|
18636
18658
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18637
18659
|
// See LICENSE in the project root for license information.
|
|
@@ -18919,6 +18941,18 @@ class AuroInput extends BaseInput {
|
|
|
18919
18941
|
checkDisplayValueSlotChange() {
|
|
18920
18942
|
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
18921
18943
|
if (!slot) {
|
|
18944
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
18945
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
18946
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
18947
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
18948
|
+
// that render via shadow DOM with no text content).
|
|
18949
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
18950
|
+
this.hasDisplayValueContent = lightDomNodes.some((node) => (
|
|
18951
|
+
node.textContent.trim().length > 0 ||
|
|
18952
|
+
node.children.length > 0 ||
|
|
18953
|
+
node.shadowRoot !== null
|
|
18954
|
+
));
|
|
18955
|
+
this.requestUpdate();
|
|
18922
18956
|
return;
|
|
18923
18957
|
}
|
|
18924
18958
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
@@ -18929,15 +18963,20 @@ class AuroInput extends BaseInput {
|
|
|
18929
18963
|
// displayValue wrapper to render (with hasContent class) but show
|
|
18930
18964
|
// nothing, blocking the combobox's synthetic displayValue from
|
|
18931
18965
|
// being visible on preset/deeplink load.
|
|
18966
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
18967
|
+
// treated as content even when they have no text or light-DOM children.
|
|
18932
18968
|
this.hasDisplayValueContent = nodes.some((node) => {
|
|
18933
18969
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
18934
18970
|
return node.textContent.trim().length > 0;
|
|
18935
18971
|
}
|
|
18936
18972
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
18937
|
-
return node.textContent.trim().length > 0 ||
|
|
18973
|
+
return node.textContent.trim().length > 0 ||
|
|
18974
|
+
node.children.length > 0 ||
|
|
18975
|
+
node.shadowRoot !== null;
|
|
18938
18976
|
}
|
|
18939
18977
|
return false;
|
|
18940
18978
|
});
|
|
18979
|
+
this.requestUpdate();
|
|
18941
18980
|
}
|
|
18942
18981
|
|
|
18943
18982
|
firstUpdated() {
|
|
@@ -19764,7 +19803,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
19764
19803
|
}
|
|
19765
19804
|
}
|
|
19766
19805
|
|
|
19767
|
-
var formkitVersion = '
|
|
19806
|
+
var formkitVersion = '202607160830';
|
|
19768
19807
|
|
|
19769
19808
|
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}`;
|
|
19770
19809
|
|
|
@@ -20809,7 +20848,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20809
20848
|
// hidden when input.value is set in the same tick as the append.
|
|
20810
20849
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20811
20850
|
this.input.checkDisplayValueSlotChange();
|
|
20812
|
-
this.input.requestUpdate();
|
|
20813
20851
|
}
|
|
20814
20852
|
} else if (this.value) {
|
|
20815
20853
|
// No optionSelected yet (e.g. setMenuValue was called but the menu's
|
|
@@ -20830,7 +20868,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20830
20868
|
this.input.appendChild(syntheticDV);
|
|
20831
20869
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20832
20870
|
this.input.checkDisplayValueSlotChange();
|
|
20833
|
-
this.input.requestUpdate();
|
|
20834
20871
|
}
|
|
20835
20872
|
}
|
|
20836
20873
|
|
|
@@ -21003,6 +21040,10 @@ class AuroCombobox extends AuroElement {
|
|
|
21003
21040
|
// from combobox's light DOM and won't be detected by dropdown's contains() check.
|
|
21004
21041
|
this.dropdown.noHideOnThisFocusLoss = true;
|
|
21005
21042
|
|
|
21043
|
+
// Suppress the dropdown's generic focus restoration on close — the combobox
|
|
21044
|
+
// manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
21045
|
+
this.dropdown.noFocusRestoreOnClose = true;
|
|
21046
|
+
|
|
21006
21047
|
// Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
|
|
21007
21048
|
this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
|
|
21008
21049
|
this.dropdownId = event.detail.id;
|
|
@@ -4971,7 +4971,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
4971
4971
|
}
|
|
4972
4972
|
};
|
|
4973
4973
|
|
|
4974
|
-
var formkitVersion$2 = '
|
|
4974
|
+
var formkitVersion$2 = '202607160830';
|
|
4975
4975
|
|
|
4976
4976
|
let AuroElement$2 = class AuroElement extends i$3 {
|
|
4977
4977
|
static get properties() {
|
|
@@ -5111,6 +5111,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5111
5111
|
this.matchWidth = false;
|
|
5112
5112
|
this.noHideOnThisFocusLoss = false;
|
|
5113
5113
|
|
|
5114
|
+
/**
|
|
5115
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
5116
|
+
* Intended for internal consumer coordination (e.g. auro-combobox), not as a
|
|
5117
|
+
* declarative attribute.
|
|
5118
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
5119
|
+
* @private
|
|
5120
|
+
*/
|
|
5121
|
+
this.noFocusRestoreOnClose = false;
|
|
5122
|
+
|
|
5114
5123
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
5115
5124
|
|
|
5116
5125
|
// Layout Config
|
|
@@ -5285,10 +5294,23 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5285
5294
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5286
5295
|
if (slot) {
|
|
5287
5296
|
const assigned = slot.assignedElements();
|
|
5288
|
-
const
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5297
|
+
for (const el of assigned) {
|
|
5298
|
+
if (el.hasAttribute('disabled')) {
|
|
5299
|
+
continue;
|
|
5300
|
+
}
|
|
5301
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
5302
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
5303
|
+
// focusing the element directly (works for custom elements like
|
|
5304
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5305
|
+
const descendants = getFocusableElements(el);
|
|
5306
|
+
if (descendants.length > 0) {
|
|
5307
|
+
descendants[0].focus();
|
|
5308
|
+
return;
|
|
5309
|
+
}
|
|
5310
|
+
el.focus();
|
|
5311
|
+
if (document.activeElement === el) {
|
|
5312
|
+
return;
|
|
5313
|
+
}
|
|
5292
5314
|
}
|
|
5293
5315
|
}
|
|
5294
5316
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -5748,7 +5770,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5748
5770
|
}
|
|
5749
5771
|
|
|
5750
5772
|
const eventType = event.detail.eventType || "unknown";
|
|
5751
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
5773
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
5752
5774
|
this.focusTrigger();
|
|
5753
5775
|
}
|
|
5754
5776
|
|
|
@@ -5756,9 +5778,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5756
5778
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
5757
5779
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
5758
5780
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
5759
|
-
// When
|
|
5781
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
5760
5782
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
5761
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
5783
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
5762
5784
|
// wait til the bib gets fully closed and rendered
|
|
5763
5785
|
setTimeout(() => {
|
|
5764
5786
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -18631,7 +18653,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
18631
18653
|
}
|
|
18632
18654
|
};
|
|
18633
18655
|
|
|
18634
|
-
var formkitVersion$1 = '
|
|
18656
|
+
var formkitVersion$1 = '202607160830';
|
|
18635
18657
|
|
|
18636
18658
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18637
18659
|
// See LICENSE in the project root for license information.
|
|
@@ -18919,6 +18941,18 @@ class AuroInput extends BaseInput {
|
|
|
18919
18941
|
checkDisplayValueSlotChange() {
|
|
18920
18942
|
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
18921
18943
|
if (!slot) {
|
|
18944
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
18945
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
18946
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
18947
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
18948
|
+
// that render via shadow DOM with no text content).
|
|
18949
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
18950
|
+
this.hasDisplayValueContent = lightDomNodes.some((node) => (
|
|
18951
|
+
node.textContent.trim().length > 0 ||
|
|
18952
|
+
node.children.length > 0 ||
|
|
18953
|
+
node.shadowRoot !== null
|
|
18954
|
+
));
|
|
18955
|
+
this.requestUpdate();
|
|
18922
18956
|
return;
|
|
18923
18957
|
}
|
|
18924
18958
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
@@ -18929,15 +18963,20 @@ class AuroInput extends BaseInput {
|
|
|
18929
18963
|
// displayValue wrapper to render (with hasContent class) but show
|
|
18930
18964
|
// nothing, blocking the combobox's synthetic displayValue from
|
|
18931
18965
|
// being visible on preset/deeplink load.
|
|
18966
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
18967
|
+
// treated as content even when they have no text or light-DOM children.
|
|
18932
18968
|
this.hasDisplayValueContent = nodes.some((node) => {
|
|
18933
18969
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
18934
18970
|
return node.textContent.trim().length > 0;
|
|
18935
18971
|
}
|
|
18936
18972
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
18937
|
-
return node.textContent.trim().length > 0 ||
|
|
18973
|
+
return node.textContent.trim().length > 0 ||
|
|
18974
|
+
node.children.length > 0 ||
|
|
18975
|
+
node.shadowRoot !== null;
|
|
18938
18976
|
}
|
|
18939
18977
|
return false;
|
|
18940
18978
|
});
|
|
18979
|
+
this.requestUpdate();
|
|
18941
18980
|
}
|
|
18942
18981
|
|
|
18943
18982
|
firstUpdated() {
|
|
@@ -19764,7 +19803,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
19764
19803
|
}
|
|
19765
19804
|
}
|
|
19766
19805
|
|
|
19767
|
-
var formkitVersion = '
|
|
19806
|
+
var formkitVersion = '202607160830';
|
|
19768
19807
|
|
|
19769
19808
|
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}`;
|
|
19770
19809
|
|
|
@@ -20809,7 +20848,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20809
20848
|
// hidden when input.value is set in the same tick as the append.
|
|
20810
20849
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20811
20850
|
this.input.checkDisplayValueSlotChange();
|
|
20812
|
-
this.input.requestUpdate();
|
|
20813
20851
|
}
|
|
20814
20852
|
} else if (this.value) {
|
|
20815
20853
|
// No optionSelected yet (e.g. setMenuValue was called but the menu's
|
|
@@ -20830,7 +20868,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20830
20868
|
this.input.appendChild(syntheticDV);
|
|
20831
20869
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20832
20870
|
this.input.checkDisplayValueSlotChange();
|
|
20833
|
-
this.input.requestUpdate();
|
|
20834
20871
|
}
|
|
20835
20872
|
}
|
|
20836
20873
|
|
|
@@ -21003,6 +21040,10 @@ class AuroCombobox extends AuroElement {
|
|
|
21003
21040
|
// from combobox's light DOM and won't be detected by dropdown's contains() check.
|
|
21004
21041
|
this.dropdown.noHideOnThisFocusLoss = true;
|
|
21005
21042
|
|
|
21043
|
+
// Suppress the dropdown's generic focus restoration on close — the combobox
|
|
21044
|
+
// manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
21045
|
+
this.dropdown.noFocusRestoreOnClose = true;
|
|
21046
|
+
|
|
21006
21047
|
// Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
|
|
21007
21048
|
this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
|
|
21008
21049
|
this.dropdownId = event.detail.id;
|
|
@@ -4986,7 +4986,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
4986
4986
|
}
|
|
4987
4987
|
};
|
|
4988
4988
|
|
|
4989
|
-
var formkitVersion$2 = '
|
|
4989
|
+
var formkitVersion$2 = '202607160830';
|
|
4990
4990
|
|
|
4991
4991
|
let AuroElement$2 = class AuroElement extends i$3 {
|
|
4992
4992
|
static get properties() {
|
|
@@ -5126,6 +5126,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5126
5126
|
this.matchWidth = false;
|
|
5127
5127
|
this.noHideOnThisFocusLoss = false;
|
|
5128
5128
|
|
|
5129
|
+
/**
|
|
5130
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
5131
|
+
* Intended for internal consumer coordination (e.g. auro-combobox), not as a
|
|
5132
|
+
* declarative attribute.
|
|
5133
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
5134
|
+
* @private
|
|
5135
|
+
*/
|
|
5136
|
+
this.noFocusRestoreOnClose = false;
|
|
5137
|
+
|
|
5129
5138
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
5130
5139
|
|
|
5131
5140
|
// Layout Config
|
|
@@ -5300,10 +5309,23 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5300
5309
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5301
5310
|
if (slot) {
|
|
5302
5311
|
const assigned = slot.assignedElements();
|
|
5303
|
-
const
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5312
|
+
for (const el of assigned) {
|
|
5313
|
+
if (el.hasAttribute('disabled')) {
|
|
5314
|
+
continue;
|
|
5315
|
+
}
|
|
5316
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
5317
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
5318
|
+
// focusing the element directly (works for custom elements like
|
|
5319
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5320
|
+
const descendants = getFocusableElements(el);
|
|
5321
|
+
if (descendants.length > 0) {
|
|
5322
|
+
descendants[0].focus();
|
|
5323
|
+
return;
|
|
5324
|
+
}
|
|
5325
|
+
el.focus();
|
|
5326
|
+
if (document.activeElement === el) {
|
|
5327
|
+
return;
|
|
5328
|
+
}
|
|
5307
5329
|
}
|
|
5308
5330
|
}
|
|
5309
5331
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -5763,7 +5785,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5763
5785
|
}
|
|
5764
5786
|
|
|
5765
5787
|
const eventType = event.detail.eventType || "unknown";
|
|
5766
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
5788
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
5767
5789
|
this.focusTrigger();
|
|
5768
5790
|
}
|
|
5769
5791
|
|
|
@@ -5771,9 +5793,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5771
5793
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
5772
5794
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
5773
5795
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
5774
|
-
// When
|
|
5796
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
5775
5797
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
5776
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
5798
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
5777
5799
|
// wait til the bib gets fully closed and rendered
|
|
5778
5800
|
setTimeout(() => {
|
|
5779
5801
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -18646,7 +18668,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
18646
18668
|
}
|
|
18647
18669
|
};
|
|
18648
18670
|
|
|
18649
|
-
var formkitVersion$1 = '
|
|
18671
|
+
var formkitVersion$1 = '202607160830';
|
|
18650
18672
|
|
|
18651
18673
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18652
18674
|
// See LICENSE in the project root for license information.
|
|
@@ -18934,6 +18956,18 @@ class AuroInput extends BaseInput {
|
|
|
18934
18956
|
checkDisplayValueSlotChange() {
|
|
18935
18957
|
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
18936
18958
|
if (!slot) {
|
|
18959
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
18960
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
18961
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
18962
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
18963
|
+
// that render via shadow DOM with no text content).
|
|
18964
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
18965
|
+
this.hasDisplayValueContent = lightDomNodes.some((node) => (
|
|
18966
|
+
node.textContent.trim().length > 0 ||
|
|
18967
|
+
node.children.length > 0 ||
|
|
18968
|
+
node.shadowRoot !== null
|
|
18969
|
+
));
|
|
18970
|
+
this.requestUpdate();
|
|
18937
18971
|
return;
|
|
18938
18972
|
}
|
|
18939
18973
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
@@ -18944,15 +18978,20 @@ class AuroInput extends BaseInput {
|
|
|
18944
18978
|
// displayValue wrapper to render (with hasContent class) but show
|
|
18945
18979
|
// nothing, blocking the combobox's synthetic displayValue from
|
|
18946
18980
|
// being visible on preset/deeplink load.
|
|
18981
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
18982
|
+
// treated as content even when they have no text or light-DOM children.
|
|
18947
18983
|
this.hasDisplayValueContent = nodes.some((node) => {
|
|
18948
18984
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
18949
18985
|
return node.textContent.trim().length > 0;
|
|
18950
18986
|
}
|
|
18951
18987
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
18952
|
-
return node.textContent.trim().length > 0 ||
|
|
18988
|
+
return node.textContent.trim().length > 0 ||
|
|
18989
|
+
node.children.length > 0 ||
|
|
18990
|
+
node.shadowRoot !== null;
|
|
18953
18991
|
}
|
|
18954
18992
|
return false;
|
|
18955
18993
|
});
|
|
18994
|
+
this.requestUpdate();
|
|
18956
18995
|
}
|
|
18957
18996
|
|
|
18958
18997
|
firstUpdated() {
|
|
@@ -19779,7 +19818,7 @@ class AuroBibtemplate extends i$3 {
|
|
|
19779
19818
|
}
|
|
19780
19819
|
}
|
|
19781
19820
|
|
|
19782
|
-
var formkitVersion = '
|
|
19821
|
+
var formkitVersion = '202607160830';
|
|
19783
19822
|
|
|
19784
19823
|
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}`;
|
|
19785
19824
|
|
|
@@ -20824,7 +20863,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20824
20863
|
// hidden when input.value is set in the same tick as the append.
|
|
20825
20864
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20826
20865
|
this.input.checkDisplayValueSlotChange();
|
|
20827
|
-
this.input.requestUpdate();
|
|
20828
20866
|
}
|
|
20829
20867
|
} else if (this.value) {
|
|
20830
20868
|
// No optionSelected yet (e.g. setMenuValue was called but the menu's
|
|
@@ -20845,7 +20883,6 @@ class AuroCombobox extends AuroElement {
|
|
|
20845
20883
|
this.input.appendChild(syntheticDV);
|
|
20846
20884
|
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20847
20885
|
this.input.checkDisplayValueSlotChange();
|
|
20848
|
-
this.input.requestUpdate();
|
|
20849
20886
|
}
|
|
20850
20887
|
}
|
|
20851
20888
|
|
|
@@ -21018,6 +21055,10 @@ class AuroCombobox extends AuroElement {
|
|
|
21018
21055
|
// from combobox's light DOM and won't be detected by dropdown's contains() check.
|
|
21019
21056
|
this.dropdown.noHideOnThisFocusLoss = true;
|
|
21020
21057
|
|
|
21058
|
+
// Suppress the dropdown's generic focus restoration on close — the combobox
|
|
21059
|
+
// manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
21060
|
+
this.dropdown.noFocusRestoreOnClose = true;
|
|
21061
|
+
|
|
21021
21062
|
// Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
|
|
21022
21063
|
this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
|
|
21023
21064
|
this.dropdownId = event.detail.id;
|