@aurodesignsystem-dev/auro-formkit 0.0.0-pr1395.2 → 0.0.0-pr1396.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/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 +45 -13
- package/components/combobox/demo/index.min.js +45 -13
- package/components/combobox/dist/index.js +45 -13
- package/components/combobox/dist/registered.js +45 -13
- package/components/counter/demo/api.min.js +44 -12
- package/components/counter/demo/index.min.js +44 -12
- package/components/counter/dist/index.js +44 -12
- package/components/counter/dist/registered.js +44 -12
- package/components/datepicker/demo/api.min.js +51 -85
- package/components/datepicker/demo/index.min.js +51 -85
- package/components/datepicker/dist/index.js +51 -85
- package/components/datepicker/dist/registered.js +51 -85
- package/components/dropdown/demo/api.min.js +43 -11
- package/components/dropdown/demo/index.min.js +43 -11
- package/components/dropdown/dist/auro-dropdownBib.d.ts +14 -2
- package/components/dropdown/dist/index.js +43 -11
- package/components/dropdown/dist/registered.js +43 -11
- package/components/form/demo/api.min.js +187 -125
- package/components/form/demo/index.min.js +187 -125
- 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 +44 -12
- package/components/select/demo/index.min.js +44 -12
- package/components/select/dist/index.js +44 -12
- package/components/select/dist/registered.js +44 -12
- package/custom-elements.json +1418 -1420
- package/package.json +2 -1
- package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +0 -4
|
@@ -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 = '202603242359';
|
|
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.
|
|
@@ -4862,6 +4862,7 @@ class AuroDropdownBib extends i$2 {
|
|
|
4862
4862
|
|
|
4863
4863
|
this.shape = "rounded";
|
|
4864
4864
|
this.matchWidth = false;
|
|
4865
|
+
this.hasActiveDescendant = false;
|
|
4865
4866
|
}
|
|
4866
4867
|
|
|
4867
4868
|
static get styles() {
|
|
@@ -4948,6 +4949,18 @@ class AuroDropdownBib extends i$2 {
|
|
|
4948
4949
|
*/
|
|
4949
4950
|
dialogRole: {
|
|
4950
4951
|
type: String
|
|
4952
|
+
},
|
|
4953
|
+
|
|
4954
|
+
/**
|
|
4955
|
+
* Set by auro-dropdown when a menu option is highlighted via
|
|
4956
|
+
* aria-activedescendant. The dialog keyboard bridge checks this
|
|
4957
|
+
* flag so that Enter selects the highlighted option instead of
|
|
4958
|
+
* activating the focused interactive element (e.g. the trigger
|
|
4959
|
+
* button, or the bibtemplate close button in fullscreen).
|
|
4960
|
+
* @private
|
|
4961
|
+
*/
|
|
4962
|
+
hasActiveDescendant: {
|
|
4963
|
+
type: Boolean
|
|
4951
4964
|
}
|
|
4952
4965
|
};
|
|
4953
4966
|
}
|
|
@@ -5031,7 +5044,7 @@ class AuroDropdownBib extends i$2 {
|
|
|
5031
5044
|
/**
|
|
5032
5045
|
* Forwards the dialog's native `cancel` event (fired on ESC) as
|
|
5033
5046
|
* an `auro-bib-cancel` custom event so parent components can close.
|
|
5034
|
-
* @param {HTMLDialogElement} dialog
|
|
5047
|
+
* @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
|
|
5035
5048
|
* @private
|
|
5036
5049
|
*/
|
|
5037
5050
|
_setupCancelHandler(dialog) {
|
|
@@ -5075,7 +5088,7 @@ class AuroDropdownBib extends i$2 {
|
|
|
5075
5088
|
* is a secondary path for parent components that also listen for
|
|
5076
5089
|
* Escape keydown.
|
|
5077
5090
|
*
|
|
5078
|
-
* @param {HTMLDialogElement} dialog
|
|
5091
|
+
* @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
|
|
5079
5092
|
* @private
|
|
5080
5093
|
*/
|
|
5081
5094
|
_setupKeyboardBridge(dialog) {
|
|
@@ -5094,15 +5107,23 @@ class AuroDropdownBib extends i$2 {
|
|
|
5094
5107
|
|
|
5095
5108
|
// Custom elements (auro-button) don't get the native Enter→click
|
|
5096
5109
|
// behavior that <button> has. Find the button in the composed path
|
|
5097
|
-
// and click it directly
|
|
5110
|
+
// and click it directly — but only when no menu option is
|
|
5111
|
+
// highlighted. In fullscreen mode focus stays on the close button
|
|
5112
|
+
// while arrow keys move the active-descendant highlight through
|
|
5113
|
+
// the listbox. If the user presses Enter with an option
|
|
5114
|
+
// highlighted, the intent is to select that option, not to click
|
|
5115
|
+
// the close button. In that case we fall through and bridge the
|
|
5116
|
+
// Enter key to the parent component's keyboard strategy.
|
|
5098
5117
|
if (event.key === 'Enter') {
|
|
5099
|
-
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
|
|
5104
|
-
|
|
5105
|
-
|
|
5118
|
+
if (!this.hasActiveDescendant) {
|
|
5119
|
+
const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
|
|
5120
|
+
const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
|
|
5121
|
+
if (btn) {
|
|
5122
|
+
event.preventDefault();
|
|
5123
|
+
event.stopPropagation();
|
|
5124
|
+
btn.click();
|
|
5125
|
+
return;
|
|
5126
|
+
}
|
|
5106
5127
|
}
|
|
5107
5128
|
}
|
|
5108
5129
|
|
|
@@ -5217,6 +5238,8 @@ class AuroDropdownBib extends i$2 {
|
|
|
5217
5238
|
* Closes the dialog.
|
|
5218
5239
|
*/
|
|
5219
5240
|
close() {
|
|
5241
|
+
this.hasActiveDescendant = false;
|
|
5242
|
+
|
|
5220
5243
|
const dialog = this.shadowRoot.querySelector('dialog');
|
|
5221
5244
|
|
|
5222
5245
|
if (dialog && dialog.open) {
|
|
@@ -5494,7 +5517,7 @@ class AuroHelpText extends i$2 {
|
|
|
5494
5517
|
}
|
|
5495
5518
|
}
|
|
5496
5519
|
|
|
5497
|
-
var formkitVersion = '
|
|
5520
|
+
var formkitVersion = '202603242359';
|
|
5498
5521
|
|
|
5499
5522
|
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5500
5523
|
static get properties() {
|
|
@@ -5813,6 +5836,15 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5813
5836
|
this.trigger.ariaActiveDescendantElement = null;
|
|
5814
5837
|
this.trigger.removeAttribute('aria-activedescendant');
|
|
5815
5838
|
}
|
|
5839
|
+
|
|
5840
|
+
// In fullscreen, focus stays on the close button while arrow keys
|
|
5841
|
+
// highlight options via active-descendant. Without this flag the
|
|
5842
|
+
// keyboard bridge clicks the close button on Enter (closing the
|
|
5843
|
+
// bib without selecting). When true, the bridge skips the button
|
|
5844
|
+
// click and forwards Enter to the parent to make the selection.
|
|
5845
|
+
if (this.bibContent) {
|
|
5846
|
+
this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
|
|
5847
|
+
}
|
|
5816
5848
|
}
|
|
5817
5849
|
|
|
5818
5850
|
// function to define props used within the scope of this component
|
|
@@ -1420,7 +1420,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
1420
1420
|
}
|
|
1421
1421
|
};
|
|
1422
1422
|
|
|
1423
|
-
var formkitVersion$1 = '
|
|
1423
|
+
var formkitVersion$1 = '202603242359';
|
|
1424
1424
|
|
|
1425
1425
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
1426
1426
|
// See LICENSE in the project root for license information.
|
|
@@ -4794,6 +4794,7 @@ class AuroDropdownBib extends LitElement {
|
|
|
4794
4794
|
|
|
4795
4795
|
this.shape = "rounded";
|
|
4796
4796
|
this.matchWidth = false;
|
|
4797
|
+
this.hasActiveDescendant = false;
|
|
4797
4798
|
}
|
|
4798
4799
|
|
|
4799
4800
|
static get styles() {
|
|
@@ -4880,6 +4881,18 @@ class AuroDropdownBib extends LitElement {
|
|
|
4880
4881
|
*/
|
|
4881
4882
|
dialogRole: {
|
|
4882
4883
|
type: String
|
|
4884
|
+
},
|
|
4885
|
+
|
|
4886
|
+
/**
|
|
4887
|
+
* Set by auro-dropdown when a menu option is highlighted via
|
|
4888
|
+
* aria-activedescendant. The dialog keyboard bridge checks this
|
|
4889
|
+
* flag so that Enter selects the highlighted option instead of
|
|
4890
|
+
* activating the focused interactive element (e.g. the trigger
|
|
4891
|
+
* button, or the bibtemplate close button in fullscreen).
|
|
4892
|
+
* @private
|
|
4893
|
+
*/
|
|
4894
|
+
hasActiveDescendant: {
|
|
4895
|
+
type: Boolean
|
|
4883
4896
|
}
|
|
4884
4897
|
};
|
|
4885
4898
|
}
|
|
@@ -4963,7 +4976,7 @@ class AuroDropdownBib extends LitElement {
|
|
|
4963
4976
|
/**
|
|
4964
4977
|
* Forwards the dialog's native `cancel` event (fired on ESC) as
|
|
4965
4978
|
* an `auro-bib-cancel` custom event so parent components can close.
|
|
4966
|
-
* @param {HTMLDialogElement} dialog
|
|
4979
|
+
* @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
|
|
4967
4980
|
* @private
|
|
4968
4981
|
*/
|
|
4969
4982
|
_setupCancelHandler(dialog) {
|
|
@@ -5007,7 +5020,7 @@ class AuroDropdownBib extends LitElement {
|
|
|
5007
5020
|
* is a secondary path for parent components that also listen for
|
|
5008
5021
|
* Escape keydown.
|
|
5009
5022
|
*
|
|
5010
|
-
* @param {HTMLDialogElement} dialog
|
|
5023
|
+
* @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
|
|
5011
5024
|
* @private
|
|
5012
5025
|
*/
|
|
5013
5026
|
_setupKeyboardBridge(dialog) {
|
|
@@ -5026,15 +5039,23 @@ class AuroDropdownBib extends LitElement {
|
|
|
5026
5039
|
|
|
5027
5040
|
// Custom elements (auro-button) don't get the native Enter→click
|
|
5028
5041
|
// behavior that <button> has. Find the button in the composed path
|
|
5029
|
-
// and click it directly
|
|
5042
|
+
// and click it directly — but only when no menu option is
|
|
5043
|
+
// highlighted. In fullscreen mode focus stays on the close button
|
|
5044
|
+
// while arrow keys move the active-descendant highlight through
|
|
5045
|
+
// the listbox. If the user presses Enter with an option
|
|
5046
|
+
// highlighted, the intent is to select that option, not to click
|
|
5047
|
+
// the close button. In that case we fall through and bridge the
|
|
5048
|
+
// Enter key to the parent component's keyboard strategy.
|
|
5030
5049
|
if (event.key === 'Enter') {
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
|
|
5037
|
-
|
|
5050
|
+
if (!this.hasActiveDescendant) {
|
|
5051
|
+
const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
|
|
5052
|
+
const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
|
|
5053
|
+
if (btn) {
|
|
5054
|
+
event.preventDefault();
|
|
5055
|
+
event.stopPropagation();
|
|
5056
|
+
btn.click();
|
|
5057
|
+
return;
|
|
5058
|
+
}
|
|
5038
5059
|
}
|
|
5039
5060
|
}
|
|
5040
5061
|
|
|
@@ -5149,6 +5170,8 @@ class AuroDropdownBib extends LitElement {
|
|
|
5149
5170
|
* Closes the dialog.
|
|
5150
5171
|
*/
|
|
5151
5172
|
close() {
|
|
5173
|
+
this.hasActiveDescendant = false;
|
|
5174
|
+
|
|
5152
5175
|
const dialog = this.shadowRoot.querySelector('dialog');
|
|
5153
5176
|
|
|
5154
5177
|
if (dialog && dialog.open) {
|
|
@@ -5426,7 +5449,7 @@ class AuroHelpText extends LitElement {
|
|
|
5426
5449
|
}
|
|
5427
5450
|
}
|
|
5428
5451
|
|
|
5429
|
-
var formkitVersion = '
|
|
5452
|
+
var formkitVersion = '202603242359';
|
|
5430
5453
|
|
|
5431
5454
|
let AuroElement$1 = class AuroElement extends LitElement {
|
|
5432
5455
|
static get properties() {
|
|
@@ -5745,6 +5768,15 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5745
5768
|
this.trigger.ariaActiveDescendantElement = null;
|
|
5746
5769
|
this.trigger.removeAttribute('aria-activedescendant');
|
|
5747
5770
|
}
|
|
5771
|
+
|
|
5772
|
+
// In fullscreen, focus stays on the close button while arrow keys
|
|
5773
|
+
// highlight options via active-descendant. Without this flag the
|
|
5774
|
+
// keyboard bridge clicks the close button on Enter (closing the
|
|
5775
|
+
// bib without selecting). When true, the bridge skips the button
|
|
5776
|
+
// click and forwards Enter to the parent to make the selection.
|
|
5777
|
+
if (this.bibContent) {
|
|
5778
|
+
this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
|
|
5779
|
+
}
|
|
5748
5780
|
}
|
|
5749
5781
|
|
|
5750
5782
|
// function to define props used within the scope of this component
|
|
@@ -1420,7 +1420,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
1420
1420
|
}
|
|
1421
1421
|
};
|
|
1422
1422
|
|
|
1423
|
-
var formkitVersion$1 = '
|
|
1423
|
+
var formkitVersion$1 = '202603242359';
|
|
1424
1424
|
|
|
1425
1425
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
1426
1426
|
// See LICENSE in the project root for license information.
|
|
@@ -4794,6 +4794,7 @@ class AuroDropdownBib extends LitElement {
|
|
|
4794
4794
|
|
|
4795
4795
|
this.shape = "rounded";
|
|
4796
4796
|
this.matchWidth = false;
|
|
4797
|
+
this.hasActiveDescendant = false;
|
|
4797
4798
|
}
|
|
4798
4799
|
|
|
4799
4800
|
static get styles() {
|
|
@@ -4880,6 +4881,18 @@ class AuroDropdownBib extends LitElement {
|
|
|
4880
4881
|
*/
|
|
4881
4882
|
dialogRole: {
|
|
4882
4883
|
type: String
|
|
4884
|
+
},
|
|
4885
|
+
|
|
4886
|
+
/**
|
|
4887
|
+
* Set by auro-dropdown when a menu option is highlighted via
|
|
4888
|
+
* aria-activedescendant. The dialog keyboard bridge checks this
|
|
4889
|
+
* flag so that Enter selects the highlighted option instead of
|
|
4890
|
+
* activating the focused interactive element (e.g. the trigger
|
|
4891
|
+
* button, or the bibtemplate close button in fullscreen).
|
|
4892
|
+
* @private
|
|
4893
|
+
*/
|
|
4894
|
+
hasActiveDescendant: {
|
|
4895
|
+
type: Boolean
|
|
4883
4896
|
}
|
|
4884
4897
|
};
|
|
4885
4898
|
}
|
|
@@ -4963,7 +4976,7 @@ class AuroDropdownBib extends LitElement {
|
|
|
4963
4976
|
/**
|
|
4964
4977
|
* Forwards the dialog's native `cancel` event (fired on ESC) as
|
|
4965
4978
|
* an `auro-bib-cancel` custom event so parent components can close.
|
|
4966
|
-
* @param {HTMLDialogElement} dialog
|
|
4979
|
+
* @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
|
|
4967
4980
|
* @private
|
|
4968
4981
|
*/
|
|
4969
4982
|
_setupCancelHandler(dialog) {
|
|
@@ -5007,7 +5020,7 @@ class AuroDropdownBib extends LitElement {
|
|
|
5007
5020
|
* is a secondary path for parent components that also listen for
|
|
5008
5021
|
* Escape keydown.
|
|
5009
5022
|
*
|
|
5010
|
-
* @param {HTMLDialogElement} dialog
|
|
5023
|
+
* @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
|
|
5011
5024
|
* @private
|
|
5012
5025
|
*/
|
|
5013
5026
|
_setupKeyboardBridge(dialog) {
|
|
@@ -5026,15 +5039,23 @@ class AuroDropdownBib extends LitElement {
|
|
|
5026
5039
|
|
|
5027
5040
|
// Custom elements (auro-button) don't get the native Enter→click
|
|
5028
5041
|
// behavior that <button> has. Find the button in the composed path
|
|
5029
|
-
// and click it directly
|
|
5042
|
+
// and click it directly — but only when no menu option is
|
|
5043
|
+
// highlighted. In fullscreen mode focus stays on the close button
|
|
5044
|
+
// while arrow keys move the active-descendant highlight through
|
|
5045
|
+
// the listbox. If the user presses Enter with an option
|
|
5046
|
+
// highlighted, the intent is to select that option, not to click
|
|
5047
|
+
// the close button. In that case we fall through and bridge the
|
|
5048
|
+
// Enter key to the parent component's keyboard strategy.
|
|
5030
5049
|
if (event.key === 'Enter') {
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
|
|
5037
|
-
|
|
5050
|
+
if (!this.hasActiveDescendant) {
|
|
5051
|
+
const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
|
|
5052
|
+
const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
|
|
5053
|
+
if (btn) {
|
|
5054
|
+
event.preventDefault();
|
|
5055
|
+
event.stopPropagation();
|
|
5056
|
+
btn.click();
|
|
5057
|
+
return;
|
|
5058
|
+
}
|
|
5038
5059
|
}
|
|
5039
5060
|
}
|
|
5040
5061
|
|
|
@@ -5149,6 +5170,8 @@ class AuroDropdownBib extends LitElement {
|
|
|
5149
5170
|
* Closes the dialog.
|
|
5150
5171
|
*/
|
|
5151
5172
|
close() {
|
|
5173
|
+
this.hasActiveDescendant = false;
|
|
5174
|
+
|
|
5152
5175
|
const dialog = this.shadowRoot.querySelector('dialog');
|
|
5153
5176
|
|
|
5154
5177
|
if (dialog && dialog.open) {
|
|
@@ -5426,7 +5449,7 @@ class AuroHelpText extends LitElement {
|
|
|
5426
5449
|
}
|
|
5427
5450
|
}
|
|
5428
5451
|
|
|
5429
|
-
var formkitVersion = '
|
|
5452
|
+
var formkitVersion = '202603242359';
|
|
5430
5453
|
|
|
5431
5454
|
let AuroElement$1 = class AuroElement extends LitElement {
|
|
5432
5455
|
static get properties() {
|
|
@@ -5745,6 +5768,15 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
5745
5768
|
this.trigger.ariaActiveDescendantElement = null;
|
|
5746
5769
|
this.trigger.removeAttribute('aria-activedescendant');
|
|
5747
5770
|
}
|
|
5771
|
+
|
|
5772
|
+
// In fullscreen, focus stays on the close button while arrow keys
|
|
5773
|
+
// highlight options via active-descendant. Without this flag the
|
|
5774
|
+
// keyboard bridge clicks the close button on Enter (closing the
|
|
5775
|
+
// bib without selecting). When true, the bridge skips the button
|
|
5776
|
+
// click and forwards Enter to the parent to make the selection.
|
|
5777
|
+
if (this.bibContent) {
|
|
5778
|
+
this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
|
|
5779
|
+
}
|
|
5748
5780
|
}
|
|
5749
5781
|
|
|
5750
5782
|
// function to define props used within the scope of this component
|
|
@@ -9549,7 +9549,7 @@ class AuroBibtemplate extends i$1 {
|
|
|
9549
9549
|
}
|
|
9550
9550
|
}
|
|
9551
9551
|
|
|
9552
|
-
var formkitVersion$2 = '
|
|
9552
|
+
var formkitVersion$2 = '202603242359';
|
|
9553
9553
|
|
|
9554
9554
|
let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
9555
9555
|
`,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -12975,6 +12975,7 @@ class AuroDropdownBib extends i$1 {
|
|
|
12975
12975
|
|
|
12976
12976
|
this.shape = "rounded";
|
|
12977
12977
|
this.matchWidth = false;
|
|
12978
|
+
this.hasActiveDescendant = false;
|
|
12978
12979
|
}
|
|
12979
12980
|
|
|
12980
12981
|
static get styles() {
|
|
@@ -13061,6 +13062,18 @@ class AuroDropdownBib extends i$1 {
|
|
|
13061
13062
|
*/
|
|
13062
13063
|
dialogRole: {
|
|
13063
13064
|
type: String
|
|
13065
|
+
},
|
|
13066
|
+
|
|
13067
|
+
/**
|
|
13068
|
+
* Set by auro-dropdown when a menu option is highlighted via
|
|
13069
|
+
* aria-activedescendant. The dialog keyboard bridge checks this
|
|
13070
|
+
* flag so that Enter selects the highlighted option instead of
|
|
13071
|
+
* activating the focused interactive element (e.g. the trigger
|
|
13072
|
+
* button, or the bibtemplate close button in fullscreen).
|
|
13073
|
+
* @private
|
|
13074
|
+
*/
|
|
13075
|
+
hasActiveDescendant: {
|
|
13076
|
+
type: Boolean
|
|
13064
13077
|
}
|
|
13065
13078
|
};
|
|
13066
13079
|
}
|
|
@@ -13144,7 +13157,7 @@ class AuroDropdownBib extends i$1 {
|
|
|
13144
13157
|
/**
|
|
13145
13158
|
* Forwards the dialog's native `cancel` event (fired on ESC) as
|
|
13146
13159
|
* an `auro-bib-cancel` custom event so parent components can close.
|
|
13147
|
-
* @param {HTMLDialogElement} dialog
|
|
13160
|
+
* @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
|
|
13148
13161
|
* @private
|
|
13149
13162
|
*/
|
|
13150
13163
|
_setupCancelHandler(dialog) {
|
|
@@ -13188,7 +13201,7 @@ class AuroDropdownBib extends i$1 {
|
|
|
13188
13201
|
* is a secondary path for parent components that also listen for
|
|
13189
13202
|
* Escape keydown.
|
|
13190
13203
|
*
|
|
13191
|
-
* @param {HTMLDialogElement} dialog
|
|
13204
|
+
* @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
|
|
13192
13205
|
* @private
|
|
13193
13206
|
*/
|
|
13194
13207
|
_setupKeyboardBridge(dialog) {
|
|
@@ -13207,15 +13220,23 @@ class AuroDropdownBib extends i$1 {
|
|
|
13207
13220
|
|
|
13208
13221
|
// Custom elements (auro-button) don't get the native Enter→click
|
|
13209
13222
|
// behavior that <button> has. Find the button in the composed path
|
|
13210
|
-
// and click it directly
|
|
13223
|
+
// and click it directly — but only when no menu option is
|
|
13224
|
+
// highlighted. In fullscreen mode focus stays on the close button
|
|
13225
|
+
// while arrow keys move the active-descendant highlight through
|
|
13226
|
+
// the listbox. If the user presses Enter with an option
|
|
13227
|
+
// highlighted, the intent is to select that option, not to click
|
|
13228
|
+
// the close button. In that case we fall through and bridge the
|
|
13229
|
+
// Enter key to the parent component's keyboard strategy.
|
|
13211
13230
|
if (event.key === 'Enter') {
|
|
13212
|
-
|
|
13213
|
-
|
|
13214
|
-
|
|
13215
|
-
|
|
13216
|
-
|
|
13217
|
-
|
|
13218
|
-
|
|
13231
|
+
if (!this.hasActiveDescendant) {
|
|
13232
|
+
const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
|
|
13233
|
+
const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
|
|
13234
|
+
if (btn) {
|
|
13235
|
+
event.preventDefault();
|
|
13236
|
+
event.stopPropagation();
|
|
13237
|
+
btn.click();
|
|
13238
|
+
return;
|
|
13239
|
+
}
|
|
13219
13240
|
}
|
|
13220
13241
|
}
|
|
13221
13242
|
|
|
@@ -13330,6 +13351,8 @@ class AuroDropdownBib extends i$1 {
|
|
|
13330
13351
|
* Closes the dialog.
|
|
13331
13352
|
*/
|
|
13332
13353
|
close() {
|
|
13354
|
+
this.hasActiveDescendant = false;
|
|
13355
|
+
|
|
13333
13356
|
const dialog = this.shadowRoot.querySelector('dialog');
|
|
13334
13357
|
|
|
13335
13358
|
if (dialog && dialog.open) {
|
|
@@ -13607,7 +13630,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
|
|
|
13607
13630
|
}
|
|
13608
13631
|
};
|
|
13609
13632
|
|
|
13610
|
-
var formkitVersion$1 = '
|
|
13633
|
+
var formkitVersion$1 = '202603242359';
|
|
13611
13634
|
|
|
13612
13635
|
let AuroElement$2 = class AuroElement extends i$1 {
|
|
13613
13636
|
static get properties() {
|
|
@@ -13926,6 +13949,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
13926
13949
|
this.trigger.ariaActiveDescendantElement = null;
|
|
13927
13950
|
this.trigger.removeAttribute('aria-activedescendant');
|
|
13928
13951
|
}
|
|
13952
|
+
|
|
13953
|
+
// In fullscreen, focus stays on the close button while arrow keys
|
|
13954
|
+
// highlight options via active-descendant. Without this flag the
|
|
13955
|
+
// keyboard bridge clicks the close button on Enter (closing the
|
|
13956
|
+
// bib without selecting). When true, the bridge skips the button
|
|
13957
|
+
// click and forwards Enter to the parent to make the selection.
|
|
13958
|
+
if (this.bibContent) {
|
|
13959
|
+
this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
|
|
13960
|
+
}
|
|
13929
13961
|
}
|
|
13930
13962
|
|
|
13931
13963
|
// function to define props used within the scope of this component
|
|
@@ -21362,7 +21394,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
|
|
|
21362
21394
|
}
|
|
21363
21395
|
};
|
|
21364
21396
|
|
|
21365
|
-
var formkitVersion = '
|
|
21397
|
+
var formkitVersion = '202603242359';
|
|
21366
21398
|
|
|
21367
21399
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
21368
21400
|
// See LICENSE in the project root for license information.
|
|
@@ -22563,75 +22595,6 @@ function restoreTriggerAfterClose(dropdown, focusTarget) {
|
|
|
22563
22595
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
22564
22596
|
*/class e extends i$4{constructor(i){if(super(i),this.it=A$4,i.type!==t$2.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(r){if(r===A$4||null==r)return this._t=void 0,this.it=r;if(r===E$1)return r;if("string"!=typeof r)throw Error(this.constructor.directiveName+"() called with a non-string value");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName="unsafeHTML",e.resultType=1;
|
|
22565
22597
|
|
|
22566
|
-
/**
|
|
22567
|
-
* Computes display state once per keydown event.
|
|
22568
|
-
* Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
|
|
22569
|
-
*
|
|
22570
|
-
* @param {HTMLElement} component - The component with a dropdown reference.
|
|
22571
|
-
* @param {Object} [options] - Optional config.
|
|
22572
|
-
* @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
|
|
22573
|
-
* @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
|
|
22574
|
-
* @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
|
|
22575
|
-
* isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
|
|
22576
|
-
*/
|
|
22577
|
-
function createDisplayContext(component, options = {}) {
|
|
22578
|
-
const dd = options.dropdown || component.dropdown;
|
|
22579
|
-
// isPopoverVisible reflects as the `open` attribute.
|
|
22580
|
-
// It reports whether the bib is open in any mode (popover or modal).
|
|
22581
|
-
const isExpanded = Boolean(dd && dd.isPopoverVisible);
|
|
22582
|
-
const isFullscreen = Boolean(dd && dd.isBibFullscreen);
|
|
22583
|
-
|
|
22584
|
-
const ctx = {
|
|
22585
|
-
isExpanded,
|
|
22586
|
-
isModal: isFullscreen,
|
|
22587
|
-
isPopover: !isFullscreen,
|
|
22588
|
-
activeInput: null,
|
|
22589
|
-
};
|
|
22590
|
-
|
|
22591
|
-
if (options.inputResolver) {
|
|
22592
|
-
const resolvedInput = options.inputResolver(component, ctx);
|
|
22593
|
-
// Guard against resolvers returning undefined or non-HTMLElement values.
|
|
22594
|
-
ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
|
|
22595
|
-
}
|
|
22596
|
-
|
|
22597
|
-
return ctx;
|
|
22598
|
-
}
|
|
22599
|
-
|
|
22600
|
-
/**
|
|
22601
|
-
* Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
|
|
22602
|
-
* Handles both sync and async handlers.
|
|
22603
|
-
* @param {HTMLElement} component - The component to attach the listener to.
|
|
22604
|
-
* @param {Object} strategy - Map of key names to handler functions.
|
|
22605
|
-
* @param {Object} [options] - Optional config passed to createDisplayContext.
|
|
22606
|
-
*/
|
|
22607
|
-
function applyKeyboardStrategy(component, strategy, options = {}) {
|
|
22608
|
-
component.addEventListener('keydown', async (evt) => {
|
|
22609
|
-
const handler = strategy[evt.key] || strategy.default;
|
|
22610
|
-
if (typeof handler === 'function') {
|
|
22611
|
-
const ctx = createDisplayContext(component, options);
|
|
22612
|
-
await handler(component, evt, ctx);
|
|
22613
|
-
}
|
|
22614
|
-
});
|
|
22615
|
-
}
|
|
22616
|
-
|
|
22617
|
-
// Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
22618
|
-
// See LICENSE in the project root for license information.
|
|
22619
|
-
|
|
22620
|
-
const datepickerKeyboardStrategy = {
|
|
22621
|
-
Enter(component, evt, ctx) {
|
|
22622
|
-
if (!ctx.isExpanded) {
|
|
22623
|
-
evt.preventDefault();
|
|
22624
|
-
component.dropdown.show();
|
|
22625
|
-
}
|
|
22626
|
-
},
|
|
22627
|
-
|
|
22628
|
-
Tab(component, _evt, ctx) {
|
|
22629
|
-
if (ctx.isExpanded && ctx.isModal) {
|
|
22630
|
-
component.dropdown.hide();
|
|
22631
|
-
}
|
|
22632
|
-
},
|
|
22633
|
-
};
|
|
22634
|
-
|
|
22635
22598
|
// Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
22636
22599
|
// See LICENSE in the project root for license information.
|
|
22637
22600
|
|
|
@@ -22641,7 +22604,7 @@ const datepickerKeyboardStrategy = {
|
|
|
22641
22604
|
/**
|
|
22642
22605
|
* The `auro-datepicker` component provides users with a way to select a date or date range from a calendar popup or fullscreen calendar on mobile.
|
|
22643
22606
|
* @customElement auro-datepicker
|
|
22644
|
-
*
|
|
22607
|
+
*
|
|
22645
22608
|
* @slot helpText - Defines the content of the helpText.
|
|
22646
22609
|
* @slot ariaLabel.bib.close - Sets aria-label on close button in fullscreen bib
|
|
22647
22610
|
* @slot ariaLabel.input.clear - Sets aria-label on clear button
|
|
@@ -23445,8 +23408,11 @@ class AuroDatePicker extends AuroElement {
|
|
|
23445
23408
|
// Tab closes the fullscreen dialog (same pattern as select).
|
|
23446
23409
|
// The dialog event bridge intercepts Tab and re-dispatches it as a
|
|
23447
23410
|
// composed keydown; this listener catches the re-dispatched event.
|
|
23448
|
-
|
|
23449
|
-
|
|
23411
|
+
this.addEventListener('keydown', (evt) => {
|
|
23412
|
+
if (evt.key === 'Tab' && this.dropdown.isPopoverVisible && this.dropdown.isBibFullscreen) {
|
|
23413
|
+
this.dropdown.hide();
|
|
23414
|
+
}
|
|
23415
|
+
});
|
|
23450
23416
|
|
|
23451
23417
|
this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
|
|
23452
23418
|
if (!this.isPopoverVisible) {
|