@aurodesignsystem-dev/auro-formkit 0.0.0-pr1377.0 → 0.0.0-pr1377.2
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/api.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/api.min.js +59 -16
- package/components/combobox/demo/index.min.js +59 -16
- package/components/combobox/dist/auro-combobox.d.ts +1 -0
- package/components/combobox/dist/index.js +59 -16
- package/components/combobox/dist/registered.js +59 -16
- package/components/counter/demo/api.min.js +26 -13
- package/components/counter/demo/index.min.js +26 -13
- package/components/counter/dist/index.js +26 -13
- package/components/counter/dist/registered.js +26 -13
- package/components/datepicker/demo/api.min.js +27 -14
- package/components/datepicker/demo/index.min.js +27 -14
- package/components/datepicker/dist/index.js +27 -14
- package/components/datepicker/dist/registered.js +27 -14
- package/components/dropdown/demo/api.min.js +25 -12
- package/components/dropdown/demo/index.min.js +25 -12
- package/components/dropdown/dist/index.js +25 -12
- package/components/dropdown/dist/registered.js +25 -12
- package/components/form/demo/api.min.js +143 -60
- package/components/form/demo/index.min.js +143 -60
- package/components/input/demo/api.min.js +1 -1
- package/components/input/demo/index.min.js +1 -1
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/radio/demo/api.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/api.min.js +28 -14
- package/components/select/demo/index.min.js +28 -14
- package/components/select/dist/index.js +28 -14
- package/components/select/dist/registered.js +28 -14
- package/custom-elements.json +2 -2
- package/package.json +2 -2
|
@@ -1687,7 +1687,7 @@ class AuroHelpText extends i$2 {
|
|
|
1687
1687
|
}
|
|
1688
1688
|
}
|
|
1689
1689
|
|
|
1690
|
-
var formkitVersion = '
|
|
1690
|
+
var formkitVersion = '202603181736';
|
|
1691
1691
|
|
|
1692
1692
|
// Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
1693
1693
|
// See LICENSE in the project root for license information.
|
|
@@ -1679,7 +1679,7 @@ class AuroHelpText extends i$2 {
|
|
|
1679
1679
|
}
|
|
1680
1680
|
}
|
|
1681
1681
|
|
|
1682
|
-
var formkitVersion = '
|
|
1682
|
+
var formkitVersion = '202603181736';
|
|
1683
1683
|
|
|
1684
1684
|
// Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
1685
1685
|
// See LICENSE in the project root for license information.
|
|
@@ -1632,7 +1632,7 @@ class AuroHelpText extends LitElement {
|
|
|
1632
1632
|
}
|
|
1633
1633
|
}
|
|
1634
1634
|
|
|
1635
|
-
var formkitVersion = '
|
|
1635
|
+
var formkitVersion = '202603181736';
|
|
1636
1636
|
|
|
1637
1637
|
// Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
1638
1638
|
// See LICENSE in the project root for license information.
|
|
@@ -1632,7 +1632,7 @@ class AuroHelpText extends LitElement {
|
|
|
1632
1632
|
}
|
|
1633
1633
|
}
|
|
1634
1634
|
|
|
1635
|
-
var formkitVersion = '
|
|
1635
|
+
var formkitVersion = '202603181736';
|
|
1636
1636
|
|
|
1637
1637
|
// Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
1638
1638
|
// See LICENSE in the project root for license information.
|
|
@@ -1342,6 +1342,17 @@ const comboboxKeyboardStrategy = {
|
|
|
1342
1342
|
// since Safari does not propagate :focus-within through shadow DOM.
|
|
1343
1343
|
const clearBtnHasFocus = clearBtn && clearBtn.shadowRoot && clearBtn.shadowRoot.activeElement !== null;
|
|
1344
1344
|
|
|
1345
|
+
if (evt.shiftKey) {
|
|
1346
|
+
// Shift+Tab from clear button: move focus back to the input
|
|
1347
|
+
if (clearBtnHasFocus) {
|
|
1348
|
+
ctx.activeInput.focus();
|
|
1349
|
+
return;
|
|
1350
|
+
}
|
|
1351
|
+
// Shift+Tab from input (or no clear button): close without selecting
|
|
1352
|
+
component.hideBib();
|
|
1353
|
+
return;
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1345
1356
|
// Tab from input: if clear button exists and doesn't have focus, focus it
|
|
1346
1357
|
if (clearBtn && !clearBtnHasFocus && ctx.activeInput.value) {
|
|
1347
1358
|
// Force clear button container visible to work around Safari not
|
|
@@ -1379,8 +1390,8 @@ const comboboxKeyboardStrategy = {
|
|
|
1379
1390
|
return;
|
|
1380
1391
|
}
|
|
1381
1392
|
|
|
1382
|
-
// Non-fullscreen: select + close
|
|
1383
|
-
if (component.menu.optionActive && component.menu.optionActive.value) {
|
|
1393
|
+
// Non-fullscreen: select + close (Shift+Tab closes without selecting)
|
|
1394
|
+
if (!evt.shiftKey && component.menu.optionActive && component.menu.optionActive.value) {
|
|
1384
1395
|
component.menu.value = component.menu.optionActive.value;
|
|
1385
1396
|
}
|
|
1386
1397
|
component.hideBib();
|
|
@@ -3639,19 +3650,32 @@ class AuroFloatingUI {
|
|
|
3639
3650
|
* @param {String} eventType - The event type that triggered the hiding action.
|
|
3640
3651
|
*/
|
|
3641
3652
|
hideBib(eventType = "unknown") {
|
|
3642
|
-
if (
|
|
3643
|
-
|
|
3644
|
-
|
|
3653
|
+
if (this.element.disabled) {
|
|
3654
|
+
return;
|
|
3655
|
+
}
|
|
3645
3656
|
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
this.showing = false;
|
|
3652
|
-
this.dispatchEventDropdownToggle(eventType);
|
|
3653
|
-
}
|
|
3657
|
+
// noToggle dropdowns should not close when the trigger is clicked (the
|
|
3658
|
+
// "toggle" behavior), but they CAN still close via other interactions like
|
|
3659
|
+
// Escape key or focus loss.
|
|
3660
|
+
if (this.element.noToggle && eventType === "click") {
|
|
3661
|
+
return;
|
|
3654
3662
|
}
|
|
3663
|
+
|
|
3664
|
+
this.lockScroll(false);
|
|
3665
|
+
this.element.triggerChevron?.removeAttribute("data-expanded");
|
|
3666
|
+
|
|
3667
|
+
if (this.element.isPopoverVisible) {
|
|
3668
|
+
this.element.isPopoverVisible = false;
|
|
3669
|
+
}
|
|
3670
|
+
if (this.showing) {
|
|
3671
|
+
this.cleanupHideHandlers();
|
|
3672
|
+
this.showing = false;
|
|
3673
|
+
this.dispatchEventDropdownToggle(eventType);
|
|
3674
|
+
}
|
|
3675
|
+
|
|
3676
|
+
// Only clear the global reference if the bib was actually hidden.
|
|
3677
|
+
// Clearing it when hideBib is blocked (e.g. noToggle + click) corrupts
|
|
3678
|
+
// the singleton state so other dropdowns can't detect this one is still open.
|
|
3655
3679
|
document.expandedAuroFloater = null;
|
|
3656
3680
|
}
|
|
3657
3681
|
|
|
@@ -4984,7 +5008,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
|
|
|
4984
5008
|
}
|
|
4985
5009
|
};
|
|
4986
5010
|
|
|
4987
|
-
var formkitVersion$2 = '
|
|
5011
|
+
var formkitVersion$2 = '202603181736';
|
|
4988
5012
|
|
|
4989
5013
|
let AuroElement$2 = class AuroElement extends i$4 {
|
|
4990
5014
|
static get properties() {
|
|
@@ -12739,7 +12763,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
|
|
|
12739
12763
|
}
|
|
12740
12764
|
};
|
|
12741
12765
|
|
|
12742
|
-
var formkitVersion$1 = '
|
|
12766
|
+
var formkitVersion$1 = '202603181736';
|
|
12743
12767
|
|
|
12744
12768
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12745
12769
|
// See LICENSE in the project root for license information.
|
|
@@ -13778,7 +13802,7 @@ class AuroBibtemplate extends i$4 {
|
|
|
13778
13802
|
}
|
|
13779
13803
|
}
|
|
13780
13804
|
|
|
13781
|
-
var formkitVersion = '
|
|
13805
|
+
var formkitVersion = '202603181736';
|
|
13782
13806
|
|
|
13783
13807
|
var styleCss$3 = i$7`.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}`;
|
|
13784
13808
|
|
|
@@ -14165,6 +14189,7 @@ class AuroCombobox extends AuroElement {
|
|
|
14165
14189
|
this.value = undefined;
|
|
14166
14190
|
this.typedValue = undefined;
|
|
14167
14191
|
this.behavior = "suggestion";
|
|
14192
|
+
this.clearBtnFocused = false;
|
|
14168
14193
|
|
|
14169
14194
|
// Defaults that effect the overall layout of the combobox
|
|
14170
14195
|
this.checkmark = false;
|
|
@@ -14815,6 +14840,9 @@ class AuroCombobox extends AuroElement {
|
|
|
14815
14840
|
if (this.dropdownOpen) {
|
|
14816
14841
|
const expandedDelay = 150;
|
|
14817
14842
|
this._expandedTimeout = setTimeout(() => {
|
|
14843
|
+
if (!this.value) {
|
|
14844
|
+
this.updateActiveOption(0);
|
|
14845
|
+
}
|
|
14818
14846
|
this.triggerExpandedState = true;
|
|
14819
14847
|
}, expandedDelay);
|
|
14820
14848
|
} else {
|
|
@@ -15121,6 +15149,21 @@ class AuroCombobox extends AuroElement {
|
|
|
15121
15149
|
this.validate();
|
|
15122
15150
|
}
|
|
15123
15151
|
});
|
|
15152
|
+
|
|
15153
|
+
/**
|
|
15154
|
+
* Track focus on the clear button within the input.
|
|
15155
|
+
* This is used to prevent unwanted interactions when the clear button is focused.
|
|
15156
|
+
*
|
|
15157
|
+
* Use event delegation on the shadow root so the listener works regardless
|
|
15158
|
+
* of when .clearBtn is rendered (it only exists after a value is set).
|
|
15159
|
+
*/
|
|
15160
|
+
this.input.shadowRoot.addEventListener('focusin', (event) => {
|
|
15161
|
+
if (event.target.closest('.clearBtn')) {
|
|
15162
|
+
this.clearBtnFocused = true;
|
|
15163
|
+
} else {
|
|
15164
|
+
this.clearBtnFocused = false;
|
|
15165
|
+
}
|
|
15166
|
+
});
|
|
15124
15167
|
}
|
|
15125
15168
|
|
|
15126
15169
|
/**
|
|
@@ -1265,6 +1265,17 @@ const comboboxKeyboardStrategy = {
|
|
|
1265
1265
|
// since Safari does not propagate :focus-within through shadow DOM.
|
|
1266
1266
|
const clearBtnHasFocus = clearBtn && clearBtn.shadowRoot && clearBtn.shadowRoot.activeElement !== null;
|
|
1267
1267
|
|
|
1268
|
+
if (evt.shiftKey) {
|
|
1269
|
+
// Shift+Tab from clear button: move focus back to the input
|
|
1270
|
+
if (clearBtnHasFocus) {
|
|
1271
|
+
ctx.activeInput.focus();
|
|
1272
|
+
return;
|
|
1273
|
+
}
|
|
1274
|
+
// Shift+Tab from input (or no clear button): close without selecting
|
|
1275
|
+
component.hideBib();
|
|
1276
|
+
return;
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1268
1279
|
// Tab from input: if clear button exists and doesn't have focus, focus it
|
|
1269
1280
|
if (clearBtn && !clearBtnHasFocus && ctx.activeInput.value) {
|
|
1270
1281
|
// Force clear button container visible to work around Safari not
|
|
@@ -1302,8 +1313,8 @@ const comboboxKeyboardStrategy = {
|
|
|
1302
1313
|
return;
|
|
1303
1314
|
}
|
|
1304
1315
|
|
|
1305
|
-
// Non-fullscreen: select + close
|
|
1306
|
-
if (component.menu.optionActive && component.menu.optionActive.value) {
|
|
1316
|
+
// Non-fullscreen: select + close (Shift+Tab closes without selecting)
|
|
1317
|
+
if (!evt.shiftKey && component.menu.optionActive && component.menu.optionActive.value) {
|
|
1307
1318
|
component.menu.value = component.menu.optionActive.value;
|
|
1308
1319
|
}
|
|
1309
1320
|
component.hideBib();
|
|
@@ -3562,19 +3573,32 @@ class AuroFloatingUI {
|
|
|
3562
3573
|
* @param {String} eventType - The event type that triggered the hiding action.
|
|
3563
3574
|
*/
|
|
3564
3575
|
hideBib(eventType = "unknown") {
|
|
3565
|
-
if (
|
|
3566
|
-
|
|
3567
|
-
|
|
3576
|
+
if (this.element.disabled) {
|
|
3577
|
+
return;
|
|
3578
|
+
}
|
|
3568
3579
|
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
this.showing = false;
|
|
3575
|
-
this.dispatchEventDropdownToggle(eventType);
|
|
3576
|
-
}
|
|
3580
|
+
// noToggle dropdowns should not close when the trigger is clicked (the
|
|
3581
|
+
// "toggle" behavior), but they CAN still close via other interactions like
|
|
3582
|
+
// Escape key or focus loss.
|
|
3583
|
+
if (this.element.noToggle && eventType === "click") {
|
|
3584
|
+
return;
|
|
3577
3585
|
}
|
|
3586
|
+
|
|
3587
|
+
this.lockScroll(false);
|
|
3588
|
+
this.element.triggerChevron?.removeAttribute("data-expanded");
|
|
3589
|
+
|
|
3590
|
+
if (this.element.isPopoverVisible) {
|
|
3591
|
+
this.element.isPopoverVisible = false;
|
|
3592
|
+
}
|
|
3593
|
+
if (this.showing) {
|
|
3594
|
+
this.cleanupHideHandlers();
|
|
3595
|
+
this.showing = false;
|
|
3596
|
+
this.dispatchEventDropdownToggle(eventType);
|
|
3597
|
+
}
|
|
3598
|
+
|
|
3599
|
+
// Only clear the global reference if the bib was actually hidden.
|
|
3600
|
+
// Clearing it when hideBib is blocked (e.g. noToggle + click) corrupts
|
|
3601
|
+
// the singleton state so other dropdowns can't detect this one is still open.
|
|
3578
3602
|
document.expandedAuroFloater = null;
|
|
3579
3603
|
}
|
|
3580
3604
|
|
|
@@ -4907,7 +4931,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
|
|
|
4907
4931
|
}
|
|
4908
4932
|
};
|
|
4909
4933
|
|
|
4910
|
-
var formkitVersion$2 = '
|
|
4934
|
+
var formkitVersion$2 = '202603181736';
|
|
4911
4935
|
|
|
4912
4936
|
let AuroElement$2 = class AuroElement extends i$4 {
|
|
4913
4937
|
static get properties() {
|
|
@@ -12662,7 +12686,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
|
|
|
12662
12686
|
}
|
|
12663
12687
|
};
|
|
12664
12688
|
|
|
12665
|
-
var formkitVersion$1 = '
|
|
12689
|
+
var formkitVersion$1 = '202603181736';
|
|
12666
12690
|
|
|
12667
12691
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12668
12692
|
// See LICENSE in the project root for license information.
|
|
@@ -13701,7 +13725,7 @@ class AuroBibtemplate extends i$4 {
|
|
|
13701
13725
|
}
|
|
13702
13726
|
}
|
|
13703
13727
|
|
|
13704
|
-
var formkitVersion = '
|
|
13728
|
+
var formkitVersion = '202603181736';
|
|
13705
13729
|
|
|
13706
13730
|
var styleCss$3 = i$7`.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}`;
|
|
13707
13731
|
|
|
@@ -14088,6 +14112,7 @@ class AuroCombobox extends AuroElement {
|
|
|
14088
14112
|
this.value = undefined;
|
|
14089
14113
|
this.typedValue = undefined;
|
|
14090
14114
|
this.behavior = "suggestion";
|
|
14115
|
+
this.clearBtnFocused = false;
|
|
14091
14116
|
|
|
14092
14117
|
// Defaults that effect the overall layout of the combobox
|
|
14093
14118
|
this.checkmark = false;
|
|
@@ -14738,6 +14763,9 @@ class AuroCombobox extends AuroElement {
|
|
|
14738
14763
|
if (this.dropdownOpen) {
|
|
14739
14764
|
const expandedDelay = 150;
|
|
14740
14765
|
this._expandedTimeout = setTimeout(() => {
|
|
14766
|
+
if (!this.value) {
|
|
14767
|
+
this.updateActiveOption(0);
|
|
14768
|
+
}
|
|
14741
14769
|
this.triggerExpandedState = true;
|
|
14742
14770
|
}, expandedDelay);
|
|
14743
14771
|
} else {
|
|
@@ -15044,6 +15072,21 @@ class AuroCombobox extends AuroElement {
|
|
|
15044
15072
|
this.validate();
|
|
15045
15073
|
}
|
|
15046
15074
|
});
|
|
15075
|
+
|
|
15076
|
+
/**
|
|
15077
|
+
* Track focus on the clear button within the input.
|
|
15078
|
+
* This is used to prevent unwanted interactions when the clear button is focused.
|
|
15079
|
+
*
|
|
15080
|
+
* Use event delegation on the shadow root so the listener works regardless
|
|
15081
|
+
* of when .clearBtn is rendered (it only exists after a value is set).
|
|
15082
|
+
*/
|
|
15083
|
+
this.input.shadowRoot.addEventListener('focusin', (event) => {
|
|
15084
|
+
if (event.target.closest('.clearBtn')) {
|
|
15085
|
+
this.clearBtnFocused = true;
|
|
15086
|
+
} else {
|
|
15087
|
+
this.clearBtnFocused = false;
|
|
15088
|
+
}
|
|
15089
|
+
});
|
|
15047
15090
|
}
|
|
15048
15091
|
|
|
15049
15092
|
/**
|
|
@@ -1222,6 +1222,17 @@ const comboboxKeyboardStrategy = {
|
|
|
1222
1222
|
// since Safari does not propagate :focus-within through shadow DOM.
|
|
1223
1223
|
const clearBtnHasFocus = clearBtn && clearBtn.shadowRoot && clearBtn.shadowRoot.activeElement !== null;
|
|
1224
1224
|
|
|
1225
|
+
if (evt.shiftKey) {
|
|
1226
|
+
// Shift+Tab from clear button: move focus back to the input
|
|
1227
|
+
if (clearBtnHasFocus) {
|
|
1228
|
+
ctx.activeInput.focus();
|
|
1229
|
+
return;
|
|
1230
|
+
}
|
|
1231
|
+
// Shift+Tab from input (or no clear button): close without selecting
|
|
1232
|
+
component.hideBib();
|
|
1233
|
+
return;
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1225
1236
|
// Tab from input: if clear button exists and doesn't have focus, focus it
|
|
1226
1237
|
if (clearBtn && !clearBtnHasFocus && ctx.activeInput.value) {
|
|
1227
1238
|
// Force clear button container visible to work around Safari not
|
|
@@ -1259,8 +1270,8 @@ const comboboxKeyboardStrategy = {
|
|
|
1259
1270
|
return;
|
|
1260
1271
|
}
|
|
1261
1272
|
|
|
1262
|
-
// Non-fullscreen: select + close
|
|
1263
|
-
if (component.menu.optionActive && component.menu.optionActive.value) {
|
|
1273
|
+
// Non-fullscreen: select + close (Shift+Tab closes without selecting)
|
|
1274
|
+
if (!evt.shiftKey && component.menu.optionActive && component.menu.optionActive.value) {
|
|
1264
1275
|
component.menu.value = component.menu.optionActive.value;
|
|
1265
1276
|
}
|
|
1266
1277
|
component.hideBib();
|
|
@@ -3495,19 +3506,32 @@ class AuroFloatingUI {
|
|
|
3495
3506
|
* @param {String} eventType - The event type that triggered the hiding action.
|
|
3496
3507
|
*/
|
|
3497
3508
|
hideBib(eventType = "unknown") {
|
|
3498
|
-
if (
|
|
3499
|
-
|
|
3500
|
-
|
|
3509
|
+
if (this.element.disabled) {
|
|
3510
|
+
return;
|
|
3511
|
+
}
|
|
3501
3512
|
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
this.showing = false;
|
|
3508
|
-
this.dispatchEventDropdownToggle(eventType);
|
|
3509
|
-
}
|
|
3513
|
+
// noToggle dropdowns should not close when the trigger is clicked (the
|
|
3514
|
+
// "toggle" behavior), but they CAN still close via other interactions like
|
|
3515
|
+
// Escape key or focus loss.
|
|
3516
|
+
if (this.element.noToggle && eventType === "click") {
|
|
3517
|
+
return;
|
|
3510
3518
|
}
|
|
3519
|
+
|
|
3520
|
+
this.lockScroll(false);
|
|
3521
|
+
this.element.triggerChevron?.removeAttribute("data-expanded");
|
|
3522
|
+
|
|
3523
|
+
if (this.element.isPopoverVisible) {
|
|
3524
|
+
this.element.isPopoverVisible = false;
|
|
3525
|
+
}
|
|
3526
|
+
if (this.showing) {
|
|
3527
|
+
this.cleanupHideHandlers();
|
|
3528
|
+
this.showing = false;
|
|
3529
|
+
this.dispatchEventDropdownToggle(eventType);
|
|
3530
|
+
}
|
|
3531
|
+
|
|
3532
|
+
// Only clear the global reference if the bib was actually hidden.
|
|
3533
|
+
// Clearing it when hideBib is blocked (e.g. noToggle + click) corrupts
|
|
3534
|
+
// the singleton state so other dropdowns can't detect this one is still open.
|
|
3511
3535
|
document.expandedAuroFloater = null;
|
|
3512
3536
|
}
|
|
3513
3537
|
|
|
@@ -4840,7 +4864,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
4840
4864
|
}
|
|
4841
4865
|
};
|
|
4842
4866
|
|
|
4843
|
-
var formkitVersion$2 = '
|
|
4867
|
+
var formkitVersion$2 = '202603181736';
|
|
4844
4868
|
|
|
4845
4869
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
4846
4870
|
static get properties() {
|
|
@@ -12588,7 +12612,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
12588
12612
|
}
|
|
12589
12613
|
};
|
|
12590
12614
|
|
|
12591
|
-
var formkitVersion$1 = '
|
|
12615
|
+
var formkitVersion$1 = '202603181736';
|
|
12592
12616
|
|
|
12593
12617
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12594
12618
|
// See LICENSE in the project root for license information.
|
|
@@ -13627,7 +13651,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
13627
13651
|
}
|
|
13628
13652
|
}
|
|
13629
13653
|
|
|
13630
|
-
var formkitVersion = '
|
|
13654
|
+
var formkitVersion = '202603181736';
|
|
13631
13655
|
|
|
13632
13656
|
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}`;
|
|
13633
13657
|
|
|
@@ -14014,6 +14038,7 @@ class AuroCombobox extends AuroElement {
|
|
|
14014
14038
|
this.value = undefined;
|
|
14015
14039
|
this.typedValue = undefined;
|
|
14016
14040
|
this.behavior = "suggestion";
|
|
14041
|
+
this.clearBtnFocused = false;
|
|
14017
14042
|
|
|
14018
14043
|
// Defaults that effect the overall layout of the combobox
|
|
14019
14044
|
this.checkmark = false;
|
|
@@ -14664,6 +14689,9 @@ class AuroCombobox extends AuroElement {
|
|
|
14664
14689
|
if (this.dropdownOpen) {
|
|
14665
14690
|
const expandedDelay = 150;
|
|
14666
14691
|
this._expandedTimeout = setTimeout(() => {
|
|
14692
|
+
if (!this.value) {
|
|
14693
|
+
this.updateActiveOption(0);
|
|
14694
|
+
}
|
|
14667
14695
|
this.triggerExpandedState = true;
|
|
14668
14696
|
}, expandedDelay);
|
|
14669
14697
|
} else {
|
|
@@ -14970,6 +14998,21 @@ class AuroCombobox extends AuroElement {
|
|
|
14970
14998
|
this.validate();
|
|
14971
14999
|
}
|
|
14972
15000
|
});
|
|
15001
|
+
|
|
15002
|
+
/**
|
|
15003
|
+
* Track focus on the clear button within the input.
|
|
15004
|
+
* This is used to prevent unwanted interactions when the clear button is focused.
|
|
15005
|
+
*
|
|
15006
|
+
* Use event delegation on the shadow root so the listener works regardless
|
|
15007
|
+
* of when .clearBtn is rendered (it only exists after a value is set).
|
|
15008
|
+
*/
|
|
15009
|
+
this.input.shadowRoot.addEventListener('focusin', (event) => {
|
|
15010
|
+
if (event.target.closest('.clearBtn')) {
|
|
15011
|
+
this.clearBtnFocused = true;
|
|
15012
|
+
} else {
|
|
15013
|
+
this.clearBtnFocused = false;
|
|
15014
|
+
}
|
|
15015
|
+
});
|
|
14973
15016
|
}
|
|
14974
15017
|
|
|
14975
15018
|
/**
|
|
@@ -1222,6 +1222,17 @@ const comboboxKeyboardStrategy = {
|
|
|
1222
1222
|
// since Safari does not propagate :focus-within through shadow DOM.
|
|
1223
1223
|
const clearBtnHasFocus = clearBtn && clearBtn.shadowRoot && clearBtn.shadowRoot.activeElement !== null;
|
|
1224
1224
|
|
|
1225
|
+
if (evt.shiftKey) {
|
|
1226
|
+
// Shift+Tab from clear button: move focus back to the input
|
|
1227
|
+
if (clearBtnHasFocus) {
|
|
1228
|
+
ctx.activeInput.focus();
|
|
1229
|
+
return;
|
|
1230
|
+
}
|
|
1231
|
+
// Shift+Tab from input (or no clear button): close without selecting
|
|
1232
|
+
component.hideBib();
|
|
1233
|
+
return;
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1225
1236
|
// Tab from input: if clear button exists and doesn't have focus, focus it
|
|
1226
1237
|
if (clearBtn && !clearBtnHasFocus && ctx.activeInput.value) {
|
|
1227
1238
|
// Force clear button container visible to work around Safari not
|
|
@@ -1259,8 +1270,8 @@ const comboboxKeyboardStrategy = {
|
|
|
1259
1270
|
return;
|
|
1260
1271
|
}
|
|
1261
1272
|
|
|
1262
|
-
// Non-fullscreen: select + close
|
|
1263
|
-
if (component.menu.optionActive && component.menu.optionActive.value) {
|
|
1273
|
+
// Non-fullscreen: select + close (Shift+Tab closes without selecting)
|
|
1274
|
+
if (!evt.shiftKey && component.menu.optionActive && component.menu.optionActive.value) {
|
|
1264
1275
|
component.menu.value = component.menu.optionActive.value;
|
|
1265
1276
|
}
|
|
1266
1277
|
component.hideBib();
|
|
@@ -3495,19 +3506,32 @@ class AuroFloatingUI {
|
|
|
3495
3506
|
* @param {String} eventType - The event type that triggered the hiding action.
|
|
3496
3507
|
*/
|
|
3497
3508
|
hideBib(eventType = "unknown") {
|
|
3498
|
-
if (
|
|
3499
|
-
|
|
3500
|
-
|
|
3509
|
+
if (this.element.disabled) {
|
|
3510
|
+
return;
|
|
3511
|
+
}
|
|
3501
3512
|
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
this.showing = false;
|
|
3508
|
-
this.dispatchEventDropdownToggle(eventType);
|
|
3509
|
-
}
|
|
3513
|
+
// noToggle dropdowns should not close when the trigger is clicked (the
|
|
3514
|
+
// "toggle" behavior), but they CAN still close via other interactions like
|
|
3515
|
+
// Escape key or focus loss.
|
|
3516
|
+
if (this.element.noToggle && eventType === "click") {
|
|
3517
|
+
return;
|
|
3510
3518
|
}
|
|
3519
|
+
|
|
3520
|
+
this.lockScroll(false);
|
|
3521
|
+
this.element.triggerChevron?.removeAttribute("data-expanded");
|
|
3522
|
+
|
|
3523
|
+
if (this.element.isPopoverVisible) {
|
|
3524
|
+
this.element.isPopoverVisible = false;
|
|
3525
|
+
}
|
|
3526
|
+
if (this.showing) {
|
|
3527
|
+
this.cleanupHideHandlers();
|
|
3528
|
+
this.showing = false;
|
|
3529
|
+
this.dispatchEventDropdownToggle(eventType);
|
|
3530
|
+
}
|
|
3531
|
+
|
|
3532
|
+
// Only clear the global reference if the bib was actually hidden.
|
|
3533
|
+
// Clearing it when hideBib is blocked (e.g. noToggle + click) corrupts
|
|
3534
|
+
// the singleton state so other dropdowns can't detect this one is still open.
|
|
3511
3535
|
document.expandedAuroFloater = null;
|
|
3512
3536
|
}
|
|
3513
3537
|
|
|
@@ -4840,7 +4864,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
4840
4864
|
}
|
|
4841
4865
|
};
|
|
4842
4866
|
|
|
4843
|
-
var formkitVersion$2 = '
|
|
4867
|
+
var formkitVersion$2 = '202603181736';
|
|
4844
4868
|
|
|
4845
4869
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
4846
4870
|
static get properties() {
|
|
@@ -12588,7 +12612,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
12588
12612
|
}
|
|
12589
12613
|
};
|
|
12590
12614
|
|
|
12591
|
-
var formkitVersion$1 = '
|
|
12615
|
+
var formkitVersion$1 = '202603181736';
|
|
12592
12616
|
|
|
12593
12617
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12594
12618
|
// See LICENSE in the project root for license information.
|
|
@@ -13627,7 +13651,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
13627
13651
|
}
|
|
13628
13652
|
}
|
|
13629
13653
|
|
|
13630
|
-
var formkitVersion = '
|
|
13654
|
+
var formkitVersion = '202603181736';
|
|
13631
13655
|
|
|
13632
13656
|
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}`;
|
|
13633
13657
|
|
|
@@ -14014,6 +14038,7 @@ class AuroCombobox extends AuroElement {
|
|
|
14014
14038
|
this.value = undefined;
|
|
14015
14039
|
this.typedValue = undefined;
|
|
14016
14040
|
this.behavior = "suggestion";
|
|
14041
|
+
this.clearBtnFocused = false;
|
|
14017
14042
|
|
|
14018
14043
|
// Defaults that effect the overall layout of the combobox
|
|
14019
14044
|
this.checkmark = false;
|
|
@@ -14664,6 +14689,9 @@ class AuroCombobox extends AuroElement {
|
|
|
14664
14689
|
if (this.dropdownOpen) {
|
|
14665
14690
|
const expandedDelay = 150;
|
|
14666
14691
|
this._expandedTimeout = setTimeout(() => {
|
|
14692
|
+
if (!this.value) {
|
|
14693
|
+
this.updateActiveOption(0);
|
|
14694
|
+
}
|
|
14667
14695
|
this.triggerExpandedState = true;
|
|
14668
14696
|
}, expandedDelay);
|
|
14669
14697
|
} else {
|
|
@@ -14970,6 +14998,21 @@ class AuroCombobox extends AuroElement {
|
|
|
14970
14998
|
this.validate();
|
|
14971
14999
|
}
|
|
14972
15000
|
});
|
|
15001
|
+
|
|
15002
|
+
/**
|
|
15003
|
+
* Track focus on the clear button within the input.
|
|
15004
|
+
* This is used to prevent unwanted interactions when the clear button is focused.
|
|
15005
|
+
*
|
|
15006
|
+
* Use event delegation on the shadow root so the listener works regardless
|
|
15007
|
+
* of when .clearBtn is rendered (it only exists after a value is set).
|
|
15008
|
+
*/
|
|
15009
|
+
this.input.shadowRoot.addEventListener('focusin', (event) => {
|
|
15010
|
+
if (event.target.closest('.clearBtn')) {
|
|
15011
|
+
this.clearBtnFocused = true;
|
|
15012
|
+
} else {
|
|
15013
|
+
this.clearBtnFocused = false;
|
|
15014
|
+
}
|
|
15015
|
+
});
|
|
14973
15016
|
}
|
|
14974
15017
|
|
|
14975
15018
|
/**
|
|
@@ -1470,7 +1470,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
1470
1470
|
}
|
|
1471
1471
|
};
|
|
1472
1472
|
|
|
1473
|
-
var formkitVersion$1 = '
|
|
1473
|
+
var formkitVersion$1 = '202603181736';
|
|
1474
1474
|
|
|
1475
1475
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
1476
1476
|
// See LICENSE in the project root for license information.
|
|
@@ -4118,19 +4118,32 @@ class AuroFloatingUI {
|
|
|
4118
4118
|
* @param {String} eventType - The event type that triggered the hiding action.
|
|
4119
4119
|
*/
|
|
4120
4120
|
hideBib(eventType = "unknown") {
|
|
4121
|
-
if (
|
|
4122
|
-
|
|
4123
|
-
|
|
4121
|
+
if (this.element.disabled) {
|
|
4122
|
+
return;
|
|
4123
|
+
}
|
|
4124
4124
|
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
this.showing = false;
|
|
4131
|
-
this.dispatchEventDropdownToggle(eventType);
|
|
4132
|
-
}
|
|
4125
|
+
// noToggle dropdowns should not close when the trigger is clicked (the
|
|
4126
|
+
// "toggle" behavior), but they CAN still close via other interactions like
|
|
4127
|
+
// Escape key or focus loss.
|
|
4128
|
+
if (this.element.noToggle && eventType === "click") {
|
|
4129
|
+
return;
|
|
4133
4130
|
}
|
|
4131
|
+
|
|
4132
|
+
this.lockScroll(false);
|
|
4133
|
+
this.element.triggerChevron?.removeAttribute("data-expanded");
|
|
4134
|
+
|
|
4135
|
+
if (this.element.isPopoverVisible) {
|
|
4136
|
+
this.element.isPopoverVisible = false;
|
|
4137
|
+
}
|
|
4138
|
+
if (this.showing) {
|
|
4139
|
+
this.cleanupHideHandlers();
|
|
4140
|
+
this.showing = false;
|
|
4141
|
+
this.dispatchEventDropdownToggle(eventType);
|
|
4142
|
+
}
|
|
4143
|
+
|
|
4144
|
+
// Only clear the global reference if the bib was actually hidden.
|
|
4145
|
+
// Clearing it when hideBib is blocked (e.g. noToggle + click) corrupts
|
|
4146
|
+
// the singleton state so other dropdowns can't detect this one is still open.
|
|
4134
4147
|
document.expandedAuroFloater = null;
|
|
4135
4148
|
}
|
|
4136
4149
|
|
|
@@ -5463,7 +5476,7 @@ class AuroHelpText extends i$2 {
|
|
|
5463
5476
|
}
|
|
5464
5477
|
}
|
|
5465
5478
|
|
|
5466
|
-
var formkitVersion = '
|
|
5479
|
+
var formkitVersion = '202603181736';
|
|
5467
5480
|
|
|
5468
5481
|
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5469
5482
|
static get properties() {
|