@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.8 → 0.0.0-pr1555.0
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 +45 -150
- package/components/combobox/demo/getting-started.min.js +45 -150
- package/components/combobox/demo/index.min.js +45 -150
- package/components/combobox/dist/index.js +45 -150
- package/components/combobox/dist/registered.js +45 -150
- package/components/counter/demo/customize.min.js +6 -47
- package/components/counter/demo/index.min.js +6 -47
- package/components/counter/dist/index.js +6 -47
- package/components/counter/dist/registered.js +6 -47
- package/components/datepicker/demo/customize.min.js +20 -89
- package/components/datepicker/demo/index.min.js +20 -89
- package/components/datepicker/dist/index.js +20 -89
- package/components/datepicker/dist/registered.js +20 -89
- package/components/dropdown/demo/customize.min.js +5 -46
- package/components/dropdown/demo/getting-started.min.js +5 -46
- package/components/dropdown/demo/index.min.js +5 -46
- package/components/dropdown/dist/auro-dropdown.d.ts +1 -8
- package/components/dropdown/dist/index.js +5 -46
- package/components/dropdown/dist/registered.js +5 -46
- package/components/form/demo/customize.min.js +90 -374
- package/components/form/demo/getting-started.min.js +90 -374
- package/components/form/demo/index.min.js +90 -374
- package/components/form/demo/registerDemoDeps.min.js +90 -374
- package/components/input/demo/customize.min.js +11 -39
- package/components/input/demo/getting-started.min.js +11 -39
- package/components/input/demo/index.min.js +11 -39
- package/components/input/dist/index.js +11 -39
- package/components/input/dist/registered.js +11 -39
- 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 +6 -47
- package/components/select/demo/getting-started.min.js +6 -47
- package/components/select/demo/index.min.js +6 -47
- package/components/select/dist/index.js +6 -47
- package/components/select/dist/registered.js +6 -47
- package/custom-elements.json +1504 -1510
- 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 = '202607152222';
|
|
4908
4908
|
|
|
4909
4909
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
4910
4910
|
static get properties() {
|
|
@@ -5033,6 +5033,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5033
5033
|
static get shadowRootOptions() {
|
|
5034
5034
|
return {
|
|
5035
5035
|
...AuroElement$2.shadowRootOptions,
|
|
5036
|
+
delegatesFocus: true,
|
|
5036
5037
|
};
|
|
5037
5038
|
}
|
|
5038
5039
|
|
|
@@ -5199,47 +5200,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5199
5200
|
focusables[0].focus();
|
|
5200
5201
|
}
|
|
5201
5202
|
} else {
|
|
5202
|
-
this.focusTrigger();
|
|
5203
|
-
}
|
|
5204
|
-
}
|
|
5205
|
-
|
|
5206
|
-
/**
|
|
5207
|
-
* Focus the trigger content. When the trigger wrapper itself is focusable
|
|
5208
|
-
* (has tabindex), focus it directly. Otherwise, focus the first focusable
|
|
5209
|
-
* element slotted into the trigger slot (e.g. the auro-input).
|
|
5210
|
-
* @private
|
|
5211
|
-
*/
|
|
5212
|
-
focusTrigger() {
|
|
5213
|
-
if (this.trigger.hasAttribute('tabindex')) {
|
|
5214
5203
|
this.trigger.focus();
|
|
5215
|
-
} else {
|
|
5216
|
-
// Slotted content isn't a DOM child of the trigger div, so
|
|
5217
|
-
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
5218
|
-
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5219
|
-
if (slot) {
|
|
5220
|
-
const assigned = slot.assignedElements();
|
|
5221
|
-
for (const el of assigned) {
|
|
5222
|
-
if (el.hasAttribute('disabled')) {
|
|
5223
|
-
continue;
|
|
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).
|
|
5229
|
-
const descendants = getFocusableElements(el);
|
|
5230
|
-
if (descendants.length > 0) {
|
|
5231
|
-
descendants[0].focus();
|
|
5232
|
-
return;
|
|
5233
|
-
}
|
|
5234
|
-
el.focus();
|
|
5235
|
-
return;
|
|
5236
|
-
}
|
|
5237
|
-
}
|
|
5238
|
-
// Fallback: try DOM children (non-slotted content)
|
|
5239
|
-
const focusables = getFocusableElements(this.trigger);
|
|
5240
|
-
if (focusables.length > 0) {
|
|
5241
|
-
focusables[0].focus();
|
|
5242
|
-
}
|
|
5243
5204
|
}
|
|
5244
5205
|
}
|
|
5245
5206
|
|
|
@@ -5693,16 +5654,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5693
5654
|
|
|
5694
5655
|
const eventType = event.detail.eventType || "unknown";
|
|
5695
5656
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
5696
|
-
this.
|
|
5657
|
+
this.trigger.focus();
|
|
5697
5658
|
}
|
|
5698
5659
|
|
|
5699
5660
|
|
|
5700
5661
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
5701
5662
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
5702
5663
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
5703
|
-
|
|
5704
|
-
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
5705
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
|
|
5664
|
+
if (!this.isPopoverVisible && eventType !== "focusloss") {
|
|
5706
5665
|
// wait til the bib gets fully closed and rendered
|
|
5707
5666
|
setTimeout(() => {
|
|
5708
5667
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -5714,7 +5673,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5714
5673
|
return;
|
|
5715
5674
|
}
|
|
5716
5675
|
// Restore focus to the trigger.
|
|
5717
|
-
this.
|
|
5676
|
+
this.trigger.focus();
|
|
5718
5677
|
});
|
|
5719
5678
|
}
|
|
5720
5679
|
}
|
|
@@ -16888,10 +16847,9 @@ class DomHandler {
|
|
|
16888
16847
|
class BaseInput extends AuroElement$1 {
|
|
16889
16848
|
|
|
16890
16849
|
// Delegate focus to the native <input> inside the shadow root so that
|
|
16891
|
-
//
|
|
16892
|
-
//
|
|
16893
|
-
//
|
|
16894
|
-
// attribute on the bib input (now conditional), not by delegatesFocus.
|
|
16850
|
+
// showModal()'s dialog focusing steps reach the input element.
|
|
16851
|
+
// This keeps the mobile virtual keyboard open when the fullscreen dialog
|
|
16852
|
+
// opens, because the browser sees an input-to-input focus transfer.
|
|
16895
16853
|
static get shadowRootOptions() {
|
|
16896
16854
|
return {
|
|
16897
16855
|
...AuroElement$1.shadowRootOptions,
|
|
@@ -18568,7 +18526,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
18568
18526
|
}
|
|
18569
18527
|
};
|
|
18570
18528
|
|
|
18571
|
-
var formkitVersion$1 = '
|
|
18529
|
+
var formkitVersion$1 = '202607152222';
|
|
18572
18530
|
|
|
18573
18531
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
18574
18532
|
// See LICENSE in the project root for license information.
|
|
@@ -18854,42 +18812,15 @@ class AuroInput extends BaseInput {
|
|
|
18854
18812
|
* @returns {void}
|
|
18855
18813
|
*/
|
|
18856
18814
|
checkDisplayValueSlotChange() {
|
|
18857
|
-
|
|
18858
|
-
|
|
18859
|
-
|
|
18860
|
-
|
|
18861
|
-
|
|
18862
|
-
|
|
18863
|
-
// that render via shadow DOM with no text content).
|
|
18864
|
-
const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
|
|
18865
|
-
this.hasDisplayValueContent = Boolean(lightDomContent && (
|
|
18866
|
-
lightDomContent.textContent.trim().length > 0 ||
|
|
18867
|
-
lightDomContent.children.length > 0 ||
|
|
18868
|
-
lightDomContent.shadowRoot !== null
|
|
18869
|
-
));
|
|
18870
|
-
return;
|
|
18871
|
-
}
|
|
18815
|
+
// flatten:true resolves through auro-combobox's forwarding slot
|
|
18816
|
+
// (<slot name="displayValue" slot="displayValue">) so a clone appended
|
|
18817
|
+
// directly to auro-input's light DOM alongside the forwarder still
|
|
18818
|
+
// counts as content. The prior nodes[0].tagName === 'SLOT' recursion
|
|
18819
|
+
// discarded any siblings past the forwarder.
|
|
18820
|
+
const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
|
|
18872
18821
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
18873
18822
|
|
|
18874
|
-
|
|
18875
|
-
// An empty <span slot="displayValue"></span> forwarded from the
|
|
18876
|
-
// consumer should not be treated as "has content" — it causes the
|
|
18877
|
-
// displayValue wrapper to render (with hasContent class) but show
|
|
18878
|
-
// nothing, blocking the combobox's synthetic displayValue from
|
|
18879
|
-
// being visible on preset/deeplink load.
|
|
18880
|
-
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
18881
|
-
// treated as content even when they have no text or light-DOM children.
|
|
18882
|
-
this.hasDisplayValueContent = nodes.some((node) => {
|
|
18883
|
-
if (node.nodeType === Node.TEXT_NODE) {
|
|
18884
|
-
return node.textContent.trim().length > 0;
|
|
18885
|
-
}
|
|
18886
|
-
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
18887
|
-
return node.textContent.trim().length > 0 ||
|
|
18888
|
-
node.children.length > 0 ||
|
|
18889
|
-
node.shadowRoot !== null;
|
|
18890
|
-
}
|
|
18891
|
-
return false;
|
|
18892
|
-
});
|
|
18823
|
+
this.hasDisplayValueContent = nodes.length > 0;
|
|
18893
18824
|
}
|
|
18894
18825
|
|
|
18895
18826
|
firstUpdated() {
|
|
@@ -19716,7 +19647,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
19716
19647
|
}
|
|
19717
19648
|
}
|
|
19718
19649
|
|
|
19719
|
-
var formkitVersion = '
|
|
19650
|
+
var formkitVersion = '202607152222';
|
|
19720
19651
|
|
|
19721
19652
|
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
19653
|
|
|
@@ -20753,36 +20684,14 @@ class AuroCombobox extends AuroElement {
|
|
|
20753
20684
|
const displayValueEl = this.menu.optionSelected.querySelector("[slot='displayValue']");
|
|
20754
20685
|
if (displayValueEl) {
|
|
20755
20686
|
this.input.appendChild(displayValueEl.cloneNode(true));
|
|
20756
|
-
|
|
20757
|
-
|
|
20758
|
-
|
|
20759
|
-
|
|
20760
|
-
|
|
20761
|
-
|
|
20762
|
-
|
|
20763
|
-
|
|
20764
|
-
this.input.requestUpdate();
|
|
20765
|
-
}
|
|
20766
|
-
} else if (this.value) {
|
|
20767
|
-
// No optionSelected yet (e.g. setMenuValue was called but the menu's
|
|
20768
|
-
// auroMenu-selectedOption event hasn't fired yet, or we're on remount
|
|
20769
|
-
// with no options loaded). Synthesize a displayValue from the value so
|
|
20770
|
-
// the overlay isn't blank.
|
|
20771
|
-
//
|
|
20772
|
-
// NOTE: This renders the raw machine value (e.g. "SEA"), not the
|
|
20773
|
-
// human-readable label (e.g. "Seattle, WA"). For consumers where
|
|
20774
|
-
// value ≠ label, this produces a brief flash of the raw value until
|
|
20775
|
-
// 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);
|
|
20783
|
-
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20784
|
-
this.input.checkDisplayValueSlotChange();
|
|
20785
|
-
this.input.requestUpdate();
|
|
20687
|
+
// auro-input's hasDisplayValueContent is non-reactive; nudge it to
|
|
20688
|
+
// re-evaluate the slot and re-render so the displayValue wrapper
|
|
20689
|
+
// gets its hasContent class. Without this, the apple/icon stays
|
|
20690
|
+
// hidden when input.value is set in the same tick as the append.
|
|
20691
|
+
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
20692
|
+
this.input.checkDisplayValueSlotChange();
|
|
20693
|
+
this.input.requestUpdate();
|
|
20694
|
+
}
|
|
20786
20695
|
}
|
|
20787
20696
|
}
|
|
20788
20697
|
|
|
@@ -21028,11 +20937,7 @@ class AuroCombobox extends AuroElement {
|
|
|
21028
20937
|
// after the dropdown layout settles.
|
|
21029
20938
|
|
|
21030
20939
|
doubleRaf(() => {
|
|
21031
|
-
|
|
21032
|
-
// (e.g. user selected an option immediately after the bib opened).
|
|
21033
|
-
if (this.dropdownOpen) {
|
|
21034
|
-
this.setInputFocus();
|
|
21035
|
-
}
|
|
20940
|
+
this.setInputFocus();
|
|
21036
20941
|
if (this._inFullscreenTransition) {
|
|
21037
20942
|
this._inFullscreenTransition = false;
|
|
21038
20943
|
}
|
|
@@ -21079,9 +20984,7 @@ class AuroCombobox extends AuroElement {
|
|
|
21079
20984
|
}
|
|
21080
20985
|
|
|
21081
20986
|
this._scheduleTimer(() => {
|
|
21082
|
-
|
|
21083
|
-
this.setInputFocus();
|
|
21084
|
-
}
|
|
20987
|
+
this.setInputFocus();
|
|
21085
20988
|
}, 0);
|
|
21086
20989
|
});
|
|
21087
20990
|
}
|
|
@@ -21090,19 +20993,14 @@ class AuroCombobox extends AuroElement {
|
|
|
21090
20993
|
* @private
|
|
21091
20994
|
*/
|
|
21092
20995
|
setClearBtnFocus() {
|
|
21093
|
-
|
|
21094
|
-
|
|
21095
|
-
//
|
|
21096
|
-
//
|
|
21097
|
-
|
|
21098
|
-
this.input.focus();
|
|
21099
|
-
|
|
21100
|
-
// Now move focus to the clear button within the same shadow root.
|
|
21101
|
-
const clearBtn = this.input.shadowRoot.querySelector('.clearBtn');
|
|
21102
|
-
if (clearBtn) {
|
|
20996
|
+
const clearBtn = this.input.shadowRoot.querySelector('.clearBtn');
|
|
20997
|
+
if (clearBtn) {
|
|
20998
|
+
// Wait for the element to fully render across
|
|
20999
|
+
// multiple Lit update cycles before moving focus
|
|
21000
|
+
doubleRaf(() => {
|
|
21103
21001
|
clearBtn.focus();
|
|
21104
|
-
}
|
|
21105
|
-
}
|
|
21002
|
+
});
|
|
21003
|
+
}
|
|
21106
21004
|
}
|
|
21107
21005
|
|
|
21108
21006
|
/**
|
|
@@ -21313,9 +21211,6 @@ class AuroCombobox extends AuroElement {
|
|
|
21313
21211
|
// only — fresh user selections take the existing hideBib path.
|
|
21314
21212
|
if (isEcho && this.menu.optionSelected) {
|
|
21315
21213
|
this._programmaticFilterRefresh = true;
|
|
21316
|
-
this.updateComplete.then(() => {
|
|
21317
|
-
this._programmaticFilterRefresh = false;
|
|
21318
|
-
});
|
|
21319
21214
|
}
|
|
21320
21215
|
});
|
|
21321
21216
|
|
|
@@ -21568,6 +21463,10 @@ class AuroCombobox extends AuroElement {
|
|
|
21568
21463
|
if (this.dropdown.isBibFullscreen && this.input.value && this.input.value.length > 0 && this.dropdown.isPopoverVisible) {
|
|
21569
21464
|
this.setInputFocus();
|
|
21570
21465
|
}
|
|
21466
|
+
|
|
21467
|
+
if (this._programmaticFilterRefresh) {
|
|
21468
|
+
this._programmaticFilterRefresh = false;
|
|
21469
|
+
}
|
|
21571
21470
|
}
|
|
21572
21471
|
|
|
21573
21472
|
/**
|
|
@@ -21581,12 +21480,10 @@ class AuroCombobox extends AuroElement {
|
|
|
21581
21480
|
inputResolver: (comp, ctx) => (ctx.isModal && comp.inputInBib ? comp.inputInBib : comp.input),
|
|
21582
21481
|
});
|
|
21583
21482
|
|
|
21584
|
-
this.addEventListener('focusin', (
|
|
21483
|
+
this.addEventListener('focusin', () => {
|
|
21585
21484
|
this.touched = true;
|
|
21586
21485
|
|
|
21587
|
-
|
|
21588
|
-
this.focus();
|
|
21589
|
-
}
|
|
21486
|
+
this.focus();
|
|
21590
21487
|
});
|
|
21591
21488
|
|
|
21592
21489
|
this.addEventListener('auroFormElement-validated', (evt) => {
|
|
@@ -21766,12 +21663,6 @@ class AuroCombobox extends AuroElement {
|
|
|
21766
21663
|
// setting the flag unconditionally here masks the user-typed open path.
|
|
21767
21664
|
if (!this._userTyped) {
|
|
21768
21665
|
this._programmaticFilterRefresh = true;
|
|
21769
|
-
// Self-clear after this update cycle completes. This collapses
|
|
21770
|
-
// the previous scattered clear-points into one and prevents the
|
|
21771
|
-
// flag from surviving into the next user interaction.
|
|
21772
|
-
this.updateComplete.then(() => {
|
|
21773
|
-
this._programmaticFilterRefresh = false;
|
|
21774
|
-
});
|
|
21775
21666
|
}
|
|
21776
21667
|
|
|
21777
21668
|
if (this.input.value !== this.value) {
|
|
@@ -21861,6 +21752,10 @@ class AuroCombobox extends AuroElement {
|
|
|
21861
21752
|
} else if (!this.dropdown.isBibFullscreen) {
|
|
21862
21753
|
this.hideBib();
|
|
21863
21754
|
}
|
|
21755
|
+
|
|
21756
|
+
if (this._programmaticFilterRefresh) {
|
|
21757
|
+
this._programmaticFilterRefresh = false;
|
|
21758
|
+
}
|
|
21864
21759
|
}
|
|
21865
21760
|
|
|
21866
21761
|
if (changedProperties.has('error')) {
|
|
@@ -22042,7 +21937,7 @@ class AuroCombobox extends AuroElement {
|
|
|
22042
21937
|
<slot @slotchange="${this.handleSlotChange}"></slot>
|
|
22043
21938
|
<${this.inputTag}
|
|
22044
21939
|
id="inputInBib"
|
|
22045
|
-
|
|
21940
|
+
autofocus
|
|
22046
21941
|
@input="${this.handleInputValueChange}"
|
|
22047
21942
|
.a11yActivedescendant="${this.dropdownOpen && this.optionActive ? this.optionActive.id : undefined}"
|
|
22048
21943
|
.a11yControls=${`${this.dropdownId}-floater-bib`}
|
|
@@ -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 = '202607152222';
|
|
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 = '202607152222';
|
|
5284
5284
|
|
|
5285
5285
|
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5286
5286
|
static get properties() {
|
|
@@ -5409,6 +5409,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5409
5409
|
static get shadowRootOptions() {
|
|
5410
5410
|
return {
|
|
5411
5411
|
...AuroElement$1.shadowRootOptions,
|
|
5412
|
+
delegatesFocus: true,
|
|
5412
5413
|
};
|
|
5413
5414
|
}
|
|
5414
5415
|
|
|
@@ -5575,47 +5576,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5575
5576
|
focusables[0].focus();
|
|
5576
5577
|
}
|
|
5577
5578
|
} else {
|
|
5578
|
-
this.focusTrigger();
|
|
5579
|
-
}
|
|
5580
|
-
}
|
|
5581
|
-
|
|
5582
|
-
/**
|
|
5583
|
-
* Focus the trigger content. When the trigger wrapper itself is focusable
|
|
5584
|
-
* (has tabindex), focus it directly. Otherwise, focus the first focusable
|
|
5585
|
-
* element slotted into the trigger slot (e.g. the auro-input).
|
|
5586
|
-
* @private
|
|
5587
|
-
*/
|
|
5588
|
-
focusTrigger() {
|
|
5589
|
-
if (this.trigger.hasAttribute('tabindex')) {
|
|
5590
5579
|
this.trigger.focus();
|
|
5591
|
-
} else {
|
|
5592
|
-
// Slotted content isn't a DOM child of the trigger div, so
|
|
5593
|
-
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
5594
|
-
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5595
|
-
if (slot) {
|
|
5596
|
-
const assigned = slot.assignedElements();
|
|
5597
|
-
for (const el of assigned) {
|
|
5598
|
-
if (el.hasAttribute('disabled')) {
|
|
5599
|
-
continue;
|
|
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).
|
|
5605
|
-
const descendants = getFocusableElements(el);
|
|
5606
|
-
if (descendants.length > 0) {
|
|
5607
|
-
descendants[0].focus();
|
|
5608
|
-
return;
|
|
5609
|
-
}
|
|
5610
|
-
el.focus();
|
|
5611
|
-
return;
|
|
5612
|
-
}
|
|
5613
|
-
}
|
|
5614
|
-
// Fallback: try DOM children (non-slotted content)
|
|
5615
|
-
const focusables = getFocusableElements(this.trigger);
|
|
5616
|
-
if (focusables.length > 0) {
|
|
5617
|
-
focusables[0].focus();
|
|
5618
|
-
}
|
|
5619
5580
|
}
|
|
5620
5581
|
}
|
|
5621
5582
|
|
|
@@ -6069,16 +6030,14 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6069
6030
|
|
|
6070
6031
|
const eventType = event.detail.eventType || "unknown";
|
|
6071
6032
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6072
|
-
this.
|
|
6033
|
+
this.trigger.focus();
|
|
6073
6034
|
}
|
|
6074
6035
|
|
|
6075
6036
|
|
|
6076
6037
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
6077
6038
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
6078
6039
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
6079
|
-
|
|
6080
|
-
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
6081
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
|
|
6040
|
+
if (!this.isPopoverVisible && eventType !== "focusloss") {
|
|
6082
6041
|
// wait til the bib gets fully closed and rendered
|
|
6083
6042
|
setTimeout(() => {
|
|
6084
6043
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -6090,7 +6049,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6090
6049
|
return;
|
|
6091
6050
|
}
|
|
6092
6051
|
// Restore focus to the trigger.
|
|
6093
|
-
this.
|
|
6052
|
+
this.trigger.focus();
|
|
6094
6053
|
});
|
|
6095
6054
|
}
|
|
6096
6055
|
}
|
|
@@ -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 = '202607152222';
|
|
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 = '202607152222';
|
|
5284
5284
|
|
|
5285
5285
|
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5286
5286
|
static get properties() {
|
|
@@ -5409,6 +5409,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5409
5409
|
static get shadowRootOptions() {
|
|
5410
5410
|
return {
|
|
5411
5411
|
...AuroElement$1.shadowRootOptions,
|
|
5412
|
+
delegatesFocus: true,
|
|
5412
5413
|
};
|
|
5413
5414
|
}
|
|
5414
5415
|
|
|
@@ -5575,47 +5576,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5575
5576
|
focusables[0].focus();
|
|
5576
5577
|
}
|
|
5577
5578
|
} else {
|
|
5578
|
-
this.focusTrigger();
|
|
5579
|
-
}
|
|
5580
|
-
}
|
|
5581
|
-
|
|
5582
|
-
/**
|
|
5583
|
-
* Focus the trigger content. When the trigger wrapper itself is focusable
|
|
5584
|
-
* (has tabindex), focus it directly. Otherwise, focus the first focusable
|
|
5585
|
-
* element slotted into the trigger slot (e.g. the auro-input).
|
|
5586
|
-
* @private
|
|
5587
|
-
*/
|
|
5588
|
-
focusTrigger() {
|
|
5589
|
-
if (this.trigger.hasAttribute('tabindex')) {
|
|
5590
5579
|
this.trigger.focus();
|
|
5591
|
-
} else {
|
|
5592
|
-
// Slotted content isn't a DOM child of the trigger div, so
|
|
5593
|
-
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
5594
|
-
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5595
|
-
if (slot) {
|
|
5596
|
-
const assigned = slot.assignedElements();
|
|
5597
|
-
for (const el of assigned) {
|
|
5598
|
-
if (el.hasAttribute('disabled')) {
|
|
5599
|
-
continue;
|
|
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).
|
|
5605
|
-
const descendants = getFocusableElements(el);
|
|
5606
|
-
if (descendants.length > 0) {
|
|
5607
|
-
descendants[0].focus();
|
|
5608
|
-
return;
|
|
5609
|
-
}
|
|
5610
|
-
el.focus();
|
|
5611
|
-
return;
|
|
5612
|
-
}
|
|
5613
|
-
}
|
|
5614
|
-
// Fallback: try DOM children (non-slotted content)
|
|
5615
|
-
const focusables = getFocusableElements(this.trigger);
|
|
5616
|
-
if (focusables.length > 0) {
|
|
5617
|
-
focusables[0].focus();
|
|
5618
|
-
}
|
|
5619
5580
|
}
|
|
5620
5581
|
}
|
|
5621
5582
|
|
|
@@ -6069,16 +6030,14 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6069
6030
|
|
|
6070
6031
|
const eventType = event.detail.eventType || "unknown";
|
|
6071
6032
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6072
|
-
this.
|
|
6033
|
+
this.trigger.focus();
|
|
6073
6034
|
}
|
|
6074
6035
|
|
|
6075
6036
|
|
|
6076
6037
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
6077
6038
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
6078
6039
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
6079
|
-
|
|
6080
|
-
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
6081
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
|
|
6040
|
+
if (!this.isPopoverVisible && eventType !== "focusloss") {
|
|
6082
6041
|
// wait til the bib gets fully closed and rendered
|
|
6083
6042
|
setTimeout(() => {
|
|
6084
6043
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -6090,7 +6049,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6090
6049
|
return;
|
|
6091
6050
|
}
|
|
6092
6051
|
// Restore focus to the trigger.
|
|
6093
|
-
this.
|
|
6052
|
+
this.trigger.focus();
|
|
6094
6053
|
});
|
|
6095
6054
|
}
|
|
6096
6055
|
}
|
|
@@ -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 = '202607152222';
|
|
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 = '202607152222';
|
|
5216
5216
|
|
|
5217
5217
|
let AuroElement$1 = class AuroElement extends LitElement {
|
|
5218
5218
|
static get properties() {
|
|
@@ -5341,6 +5341,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5341
5341
|
static get shadowRootOptions() {
|
|
5342
5342
|
return {
|
|
5343
5343
|
...AuroElement$1.shadowRootOptions,
|
|
5344
|
+
delegatesFocus: true,
|
|
5344
5345
|
};
|
|
5345
5346
|
}
|
|
5346
5347
|
|
|
@@ -5507,47 +5508,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5507
5508
|
focusables[0].focus();
|
|
5508
5509
|
}
|
|
5509
5510
|
} else {
|
|
5510
|
-
this.focusTrigger();
|
|
5511
|
-
}
|
|
5512
|
-
}
|
|
5513
|
-
|
|
5514
|
-
/**
|
|
5515
|
-
* Focus the trigger content. When the trigger wrapper itself is focusable
|
|
5516
|
-
* (has tabindex), focus it directly. Otherwise, focus the first focusable
|
|
5517
|
-
* element slotted into the trigger slot (e.g. the auro-input).
|
|
5518
|
-
* @private
|
|
5519
|
-
*/
|
|
5520
|
-
focusTrigger() {
|
|
5521
|
-
if (this.trigger.hasAttribute('tabindex')) {
|
|
5522
5511
|
this.trigger.focus();
|
|
5523
|
-
} else {
|
|
5524
|
-
// Slotted content isn't a DOM child of the trigger div, so
|
|
5525
|
-
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
5526
|
-
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
5527
|
-
if (slot) {
|
|
5528
|
-
const assigned = slot.assignedElements();
|
|
5529
|
-
for (const el of assigned) {
|
|
5530
|
-
if (el.hasAttribute('disabled')) {
|
|
5531
|
-
continue;
|
|
5532
|
-
}
|
|
5533
|
-
// Try finding a focusable descendant first (handles non-focusable
|
|
5534
|
-
// wrappers like <div> containing a <button>). If none found, try
|
|
5535
|
-
// focusing the element directly (works for custom elements like
|
|
5536
|
-
// auro-input that have delegatesFocus or a custom focus() method).
|
|
5537
|
-
const descendants = getFocusableElements(el);
|
|
5538
|
-
if (descendants.length > 0) {
|
|
5539
|
-
descendants[0].focus();
|
|
5540
|
-
return;
|
|
5541
|
-
}
|
|
5542
|
-
el.focus();
|
|
5543
|
-
return;
|
|
5544
|
-
}
|
|
5545
|
-
}
|
|
5546
|
-
// Fallback: try DOM children (non-slotted content)
|
|
5547
|
-
const focusables = getFocusableElements(this.trigger);
|
|
5548
|
-
if (focusables.length > 0) {
|
|
5549
|
-
focusables[0].focus();
|
|
5550
|
-
}
|
|
5551
5512
|
}
|
|
5552
5513
|
}
|
|
5553
5514
|
|
|
@@ -6001,16 +5962,14 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6001
5962
|
|
|
6002
5963
|
const eventType = event.detail.eventType || "unknown";
|
|
6003
5964
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6004
|
-
this.
|
|
5965
|
+
this.trigger.focus();
|
|
6005
5966
|
}
|
|
6006
5967
|
|
|
6007
5968
|
|
|
6008
5969
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
6009
5970
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
6010
5971
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
6011
|
-
|
|
6012
|
-
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
6013
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noHideOnThisFocusLoss) {
|
|
5972
|
+
if (!this.isPopoverVisible && eventType !== "focusloss") {
|
|
6014
5973
|
// wait til the bib gets fully closed and rendered
|
|
6015
5974
|
setTimeout(() => {
|
|
6016
5975
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -6022,7 +5981,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6022
5981
|
return;
|
|
6023
5982
|
}
|
|
6024
5983
|
// Restore focus to the trigger.
|
|
6025
|
-
this.
|
|
5984
|
+
this.trigger.focus();
|
|
6026
5985
|
});
|
|
6027
5986
|
}
|
|
6028
5987
|
}
|