@aurodesignsystem-dev/auro-formkit 0.0.0-pr1475.5 → 0.0.0-pr1477.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/bibtemplate/dist/auro-bibtemplate.d.ts +0 -7
- package/components/bibtemplate/dist/index.js +1 -9
- package/components/bibtemplate/dist/registered.js +1 -9
- 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 +18 -234
- package/components/combobox/demo/getting-started.min.js +18 -234
- package/components/combobox/demo/index.min.js +18 -234
- package/components/combobox/demo/keyboard-behavior.md +68 -8
- package/components/combobox/dist/index.js +18 -234
- package/components/combobox/dist/registered.js +18 -234
- package/components/counter/demo/customize.min.js +15 -231
- package/components/counter/demo/index.min.js +15 -231
- package/components/counter/demo/keyboard-behavior.md +0 -1
- package/components/counter/dist/index.js +2 -10
- package/components/counter/dist/registered.js +2 -10
- package/components/datepicker/demo/accessibility.md +3 -51
- package/components/datepicker/demo/api.md +0 -9
- package/components/datepicker/demo/customize.html +0 -2
- package/components/datepicker/demo/customize.md +8 -72
- package/components/datepicker/demo/design.md +1 -3
- package/components/datepicker/demo/index.js +1 -5
- package/components/datepicker/demo/index.md +2 -82
- package/components/datepicker/demo/index.min.js +94 -1338
- package/components/datepicker/demo/keyboard-behavior.md +2 -201
- package/components/datepicker/demo/voiceover.md +12 -19
- package/components/datepicker/dist/index.js +112 -1280
- package/components/datepicker/dist/registered.js +112 -1280
- package/components/datepicker/dist/src/auro-calendar-cell.d.ts +1 -64
- package/components/datepicker/dist/src/auro-calendar-month.d.ts +0 -28
- package/components/datepicker/dist/src/auro-calendar.d.ts +0 -84
- package/components/datepicker/dist/src/auro-datepicker.d.ts +0 -80
- package/components/datepicker/dist/src/datepickerKeyboardStrategy.d.ts +3 -5
- package/components/dropdown/demo/accessibility.md +0 -11
- package/components/dropdown/demo/api.md +0 -1
- package/components/dropdown/demo/customize.md +0 -3
- package/components/dropdown/demo/customize.min.js +13 -221
- package/components/dropdown/demo/getting-started.min.js +13 -221
- package/components/dropdown/demo/index.min.js +13 -221
- package/components/dropdown/demo/keyboard-behavior.md +0 -1
- package/components/dropdown/dist/auro-dropdown.d.ts +1 -31
- package/components/dropdown/dist/index.js +13 -221
- package/components/dropdown/dist/registered.js +13 -221
- package/components/form/demo/customize.min.js +163 -1977
- package/components/form/demo/getting-started.min.js +163 -1977
- package/components/form/demo/index.min.js +163 -1977
- package/components/form/demo/registerDemoDeps.min.js +163 -1977
- package/components/input/demo/customize.min.js +1 -1
- package/components/input/demo/getting-started.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/getting-started.js +1 -1
- package/components/radio/demo/getting-started.md +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 +33 -247
- package/components/select/demo/getting-started.min.js +33 -247
- package/components/select/demo/index.min.js +33 -247
- package/components/select/demo/keyboard-behavior.md +54 -9
- package/components/select/dist/index.js +33 -247
- package/components/select/dist/registered.js +33 -247
- package/custom-elements.json +5 -677
- package/package.json +2 -2
- package/components/datepicker/demo/customize.js +0 -19
- package/components/datepicker/demo/customize.min.js +0 -25805
- package/components/radio/demo/customize.min.js +0 -2186
- package/components/radio/demo/demo-support.min.js +0 -55807
- package/components/radio/demo/getting-started.min.js +0 -2205
|
@@ -19,13 +19,6 @@ export class AuroBibtemplate extends LitElement {
|
|
|
19
19
|
type: BooleanConstructor;
|
|
20
20
|
reflect: boolean;
|
|
21
21
|
};
|
|
22
|
-
/**
|
|
23
|
-
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
24
|
-
*/
|
|
25
|
-
showFooter: {
|
|
26
|
-
type: BooleanConstructor;
|
|
27
|
-
reflect: boolean;
|
|
28
|
-
};
|
|
29
22
|
};
|
|
30
23
|
/**
|
|
31
24
|
* This will register this element with the browser.
|
|
@@ -281,14 +281,6 @@ class AuroBibtemplate extends LitElement {
|
|
|
281
281
|
large: {
|
|
282
282
|
type: Boolean,
|
|
283
283
|
reflect: true
|
|
284
|
-
},
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
288
|
-
*/
|
|
289
|
-
showFooter: {
|
|
290
|
-
type: Boolean,
|
|
291
|
-
reflect: true
|
|
292
284
|
}
|
|
293
285
|
};
|
|
294
286
|
}
|
|
@@ -391,7 +383,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
391
383
|
<slot></slot>
|
|
392
384
|
</div>
|
|
393
385
|
|
|
394
|
-
${this.isFullscreen
|
|
386
|
+
${this.isFullscreen ? html`
|
|
395
387
|
<div id="footerContainer">
|
|
396
388
|
<slot name="footer"></slot>
|
|
397
389
|
</div>` : null}
|
|
@@ -281,14 +281,6 @@ class AuroBibtemplate extends LitElement {
|
|
|
281
281
|
large: {
|
|
282
282
|
type: Boolean,
|
|
283
283
|
reflect: true
|
|
284
|
-
},
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
288
|
-
*/
|
|
289
|
-
showFooter: {
|
|
290
|
-
type: Boolean,
|
|
291
|
-
reflect: true
|
|
292
284
|
}
|
|
293
285
|
};
|
|
294
286
|
}
|
|
@@ -391,7 +383,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
391
383
|
<slot></slot>
|
|
392
384
|
</div>
|
|
393
385
|
|
|
394
|
-
${this.isFullscreen
|
|
386
|
+
${this.isFullscreen ? html`
|
|
395
387
|
<div id="footerContainer">
|
|
396
388
|
<slot name="footer"></slot>
|
|
397
389
|
</div>` : null}
|
|
@@ -1682,7 +1682,7 @@ class AuroHelpText extends i$2 {
|
|
|
1682
1682
|
}
|
|
1683
1683
|
}
|
|
1684
1684
|
|
|
1685
|
-
var formkitVersion = '
|
|
1685
|
+
var formkitVersion = '202605192014';
|
|
1686
1686
|
|
|
1687
1687
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1688
1688
|
// See LICENSE in the project root for license information.
|
|
@@ -1682,7 +1682,7 @@ class AuroHelpText extends i$2 {
|
|
|
1682
1682
|
}
|
|
1683
1683
|
}
|
|
1684
1684
|
|
|
1685
|
-
var formkitVersion = '
|
|
1685
|
+
var formkitVersion = '202605192014';
|
|
1686
1686
|
|
|
1687
1687
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1688
1688
|
// See LICENSE in the project root for license information.
|
|
@@ -1682,7 +1682,7 @@ class AuroHelpText extends i$2 {
|
|
|
1682
1682
|
}
|
|
1683
1683
|
}
|
|
1684
1684
|
|
|
1685
|
-
var formkitVersion = '
|
|
1685
|
+
var formkitVersion = '202605192014';
|
|
1686
1686
|
|
|
1687
1687
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1688
1688
|
// See LICENSE in the project root for license information.
|
|
@@ -1635,7 +1635,7 @@ class AuroHelpText extends LitElement {
|
|
|
1635
1635
|
}
|
|
1636
1636
|
}
|
|
1637
1637
|
|
|
1638
|
-
var formkitVersion = '
|
|
1638
|
+
var formkitVersion = '202605192014';
|
|
1639
1639
|
|
|
1640
1640
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1641
1641
|
// See LICENSE in the project root for license information.
|
|
@@ -1635,7 +1635,7 @@ class AuroHelpText extends LitElement {
|
|
|
1635
1635
|
}
|
|
1636
1636
|
}
|
|
1637
1637
|
|
|
1638
|
-
var formkitVersion = '
|
|
1638
|
+
var formkitVersion = '202605192014';
|
|
1639
1639
|
|
|
1640
1640
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1641
1641
|
// See LICENSE in the project root for license information.
|
|
@@ -1275,7 +1275,7 @@ const comboboxKeyboardStrategy = {
|
|
|
1275
1275
|
|
|
1276
1276
|
// navigate if bib is open otherwise open it
|
|
1277
1277
|
if (component.dropdown.isPopoverVisible) {
|
|
1278
|
-
if (evt.altKey || evt.metaKey) {
|
|
1278
|
+
if (evt.altKey || evt.ctrlKey || evt.metaKey) {
|
|
1279
1279
|
component.activateLastEnabledAvailableOption();
|
|
1280
1280
|
} else {
|
|
1281
1281
|
navigateArrow(component, 'down');
|
|
@@ -1298,7 +1298,7 @@ const comboboxKeyboardStrategy = {
|
|
|
1298
1298
|
|
|
1299
1299
|
// navigate if bib is open otherwise open it
|
|
1300
1300
|
if (component.dropdown.isPopoverVisible) {
|
|
1301
|
-
if (evt.altKey || evt.metaKey) {
|
|
1301
|
+
if (evt.altKey || evt.ctrlKey || evt.metaKey) {
|
|
1302
1302
|
component.activateFirstEnabledAvailableOption();
|
|
1303
1303
|
} else {
|
|
1304
1304
|
navigateArrow(component, 'up');
|
|
@@ -4647,7 +4647,7 @@ function applyKeyboardStrategy(component, strategy, options = {}) {
|
|
|
4647
4647
|
});
|
|
4648
4648
|
}
|
|
4649
4649
|
|
|
4650
|
-
var styleCss$2$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(
|
|
4650
|
+
var styleCss$2$1 = i$7`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
4651
4651
|
|
|
4652
4652
|
var colorCss$2$1 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
4653
4653
|
|
|
@@ -5278,7 +5278,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
|
|
|
5278
5278
|
}
|
|
5279
5279
|
};
|
|
5280
5280
|
|
|
5281
|
-
var formkitVersion$2 = '
|
|
5281
|
+
var formkitVersion$2 = '202605192014';
|
|
5282
5282
|
|
|
5283
5283
|
let AuroElement$2 = class AuroElement extends i$4 {
|
|
5284
5284
|
static get properties() {
|
|
@@ -5458,7 +5458,6 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5458
5458
|
_intializeDefaults() {
|
|
5459
5459
|
this.appearance = 'default';
|
|
5460
5460
|
this.chevron = false;
|
|
5461
|
-
this.desktopModal = false;
|
|
5462
5461
|
this.disabled = false;
|
|
5463
5462
|
this.disableKeyboardHandling = false;
|
|
5464
5463
|
this.error = false;
|
|
@@ -5639,14 +5638,6 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5639
5638
|
reflect: true
|
|
5640
5639
|
},
|
|
5641
5640
|
|
|
5642
|
-
/**
|
|
5643
|
-
* If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
|
|
5644
|
-
*/
|
|
5645
|
-
desktopModal: {
|
|
5646
|
-
type: Boolean,
|
|
5647
|
-
reflect: true
|
|
5648
|
-
},
|
|
5649
|
-
|
|
5650
5641
|
/**
|
|
5651
5642
|
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
5652
5643
|
*/
|
|
@@ -5934,15 +5925,6 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5934
5925
|
|
|
5935
5926
|
disconnectedCallback() {
|
|
5936
5927
|
super.disconnectedCallback();
|
|
5937
|
-
this._clearPageInert();
|
|
5938
|
-
if (this._bibTabHandler) {
|
|
5939
|
-
this.removeEventListener('keydown', this._bibTabHandler);
|
|
5940
|
-
this._bibTabHandler = undefined;
|
|
5941
|
-
}
|
|
5942
|
-
if (this.focusTrap) {
|
|
5943
|
-
this.focusTrap.disconnect();
|
|
5944
|
-
this.focusTrap = undefined;
|
|
5945
|
-
}
|
|
5946
5928
|
if (this.floater) {
|
|
5947
5929
|
this.floater.hideBib('disconnect');
|
|
5948
5930
|
this.floater.disconnect();
|
|
@@ -5970,45 +5952,19 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5970
5952
|
if (this.isPopoverVisible) {
|
|
5971
5953
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
5972
5954
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
5973
|
-
this.
|
|
5974
|
-
this.
|
|
5975
|
-
|
|
5976
|
-
// Desktop modal: make siblings inert so content outside is not interactive
|
|
5977
|
-
if (this.desktopModal && !this.isBibFullscreen) {
|
|
5978
|
-
this._setPageInert();
|
|
5979
|
-
}
|
|
5955
|
+
const useModal = this.isBibFullscreen;
|
|
5956
|
+
this.bibElement.value.open(useModal);
|
|
5980
5957
|
} else {
|
|
5981
5958
|
this.bibElement.value.close();
|
|
5982
|
-
this._clearPageInert();
|
|
5983
5959
|
}
|
|
5984
5960
|
}
|
|
5985
5961
|
|
|
5986
5962
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
5987
5963
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
5988
5964
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
5965
|
+
const useModal = this.isBibFullscreen;
|
|
5989
5966
|
this.bibElement.value.close();
|
|
5990
|
-
this.bibElement.value.open(
|
|
5991
|
-
|
|
5992
|
-
// Re-initialize focus management for the new strategy
|
|
5993
|
-
this.updateFocusTrap();
|
|
5994
|
-
|
|
5995
|
-
// Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
|
|
5996
|
-
if (this.desktopModal && !this.isBibFullscreen) {
|
|
5997
|
-
this._setPageInert();
|
|
5998
|
-
} else {
|
|
5999
|
-
this._clearPageInert();
|
|
6000
|
-
}
|
|
6001
|
-
}
|
|
6002
|
-
|
|
6003
|
-
// Handle desktopModal toggled while the dropdown is already open.
|
|
6004
|
-
// Re-initialize focus trapping and page inert state to match the new mode.
|
|
6005
|
-
if (changedProperties.has('desktopModal') && this.isPopoverVisible && !this.isBibFullscreen) {
|
|
6006
|
-
this.updateFocusTrap();
|
|
6007
|
-
if (this.desktopModal) {
|
|
6008
|
-
this._setPageInert();
|
|
6009
|
-
} else {
|
|
6010
|
-
this._clearPageInert();
|
|
6011
|
-
}
|
|
5967
|
+
this.bibElement.value.open(useModal);
|
|
6012
5968
|
}
|
|
6013
5969
|
}
|
|
6014
5970
|
|
|
@@ -6018,14 +5974,8 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
6018
5974
|
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
6019
5975
|
*/
|
|
6020
5976
|
handleDropdownToggle(event) {
|
|
5977
|
+
this.updateFocusTrap();
|
|
6021
5978
|
this.isPopoverVisible = event.detail.expanded;
|
|
6022
|
-
|
|
6023
|
-
// Tear down FocusTrap when closing. Creation happens in updated()
|
|
6024
|
-
// after the dialog is open so getFocusableElements can find content.
|
|
6025
|
-
if (!this.isPopoverVisible) {
|
|
6026
|
-
this.updateFocusTrap();
|
|
6027
|
-
}
|
|
6028
|
-
|
|
6029
5979
|
const eventType = event.detail.eventType || "unknown";
|
|
6030
5980
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6031
5981
|
this.trigger.focus();
|
|
@@ -6124,176 +6074,19 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
6124
6074
|
* @private
|
|
6125
6075
|
*/
|
|
6126
6076
|
updateFocusTrap() {
|
|
6127
|
-
// Always clean up existing handlers/traps before setting up new ones
|
|
6128
|
-
// to prevent duplicate listeners on repeated calls.
|
|
6129
|
-
if (this._bibTabHandler) {
|
|
6130
|
-
this.removeEventListener('keydown', this._bibTabHandler);
|
|
6131
|
-
this._bibTabHandler = undefined;
|
|
6132
|
-
}
|
|
6133
|
-
|
|
6134
|
-
if (this.focusTrap) {
|
|
6135
|
-
this.focusTrap.disconnect();
|
|
6136
|
-
this.focusTrap = undefined;
|
|
6137
|
-
}
|
|
6138
|
-
|
|
6139
6077
|
if (this.isPopoverVisible) {
|
|
6140
6078
|
if (!this.isBibFullscreen) {
|
|
6141
|
-
|
|
6142
|
-
|
|
6143
|
-
|
|
6144
|
-
// from slotted content bubble through the dropdown host (light DOM),
|
|
6145
|
-
// not through the bib (shadow projection target). Using FocusTrap
|
|
6146
|
-
// on the dropdown would include the trigger in the tab cycle.
|
|
6147
|
-
// Instead, listen for Tab on the dropdown and manually wrap focus
|
|
6148
|
-
// within the bib's focusable elements.
|
|
6149
|
-
this._bibTabHandler = (event) => {
|
|
6150
|
-
if (event.key !== 'Tab') {
|
|
6151
|
-
return;
|
|
6152
|
-
}
|
|
6153
|
-
|
|
6154
|
-
// Collect focusable elements from the bib content.
|
|
6155
|
-
const focusables = getFocusableElements(this.bibContent);
|
|
6156
|
-
|
|
6157
|
-
// Fallback: try from slotted content directly
|
|
6158
|
-
if (!focusables.length) {
|
|
6159
|
-
const slot = this.shadowRoot.querySelector('.slotContent slot');
|
|
6160
|
-
const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
6161
|
-
|
|
6162
|
-
for (const node of assignedNodes) {
|
|
6163
|
-
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
6164
|
-
focusables.push(...getFocusableElements(node));
|
|
6165
|
-
}
|
|
6166
|
-
}
|
|
6167
|
-
}
|
|
6168
|
-
|
|
6169
|
-
if (!focusables.length) {
|
|
6170
|
-
return;
|
|
6171
|
-
}
|
|
6172
|
-
|
|
6173
|
-
event.preventDefault();
|
|
6174
|
-
|
|
6175
|
-
const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
|
|
6176
|
-
|
|
6177
|
-
// Walk the active element chain through shadow roots
|
|
6178
|
-
const actives = this._getActiveElements();
|
|
6179
|
-
|
|
6180
|
-
let idx = focusables.findIndex((el) => actives.includes(el));
|
|
6181
|
-
|
|
6182
|
-
if (idx === -1) { // eslint-disable-line no-magic-numbers
|
|
6183
|
-
// Focus is not on a known element — move to first/last
|
|
6184
|
-
idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
|
|
6185
|
-
}
|
|
6186
|
-
|
|
6187
|
-
// Try each element in order, skipping any that can't receive focus
|
|
6188
|
-
// (e.g. hidden elements, elements in collapsed sections)
|
|
6189
|
-
for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
|
|
6190
|
-
let nextIdx = idx + direction;
|
|
6191
|
-
|
|
6192
|
-
// Wrap around
|
|
6193
|
-
if (nextIdx < 0) {
|
|
6194
|
-
nextIdx = focusables.length - 1;
|
|
6195
|
-
} else if (nextIdx >= focusables.length) {
|
|
6196
|
-
nextIdx = 0;
|
|
6197
|
-
}
|
|
6198
|
-
|
|
6199
|
-
focusables[nextIdx].focus();
|
|
6200
|
-
|
|
6201
|
-
// Verify focus actually moved to the target
|
|
6202
|
-
const newActives = this._getActiveElements();
|
|
6203
|
-
|
|
6204
|
-
if (newActives.includes(focusables[nextIdx])) {
|
|
6205
|
-
return;
|
|
6206
|
-
}
|
|
6207
|
-
|
|
6208
|
-
// Focus didn't stick — skip this element and try the next
|
|
6209
|
-
idx = nextIdx;
|
|
6210
|
-
}
|
|
6211
|
-
};
|
|
6212
|
-
this.addEventListener('keydown', this._bibTabHandler);
|
|
6213
|
-
|
|
6214
|
-
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
6215
|
-
requestAnimationFrame(() => {
|
|
6216
|
-
const focusables = getFocusableElements(this.bibContent);
|
|
6217
|
-
if (focusables.length) {
|
|
6218
|
-
focusables[0].focus();
|
|
6219
|
-
}
|
|
6220
|
-
});
|
|
6221
|
-
} else {
|
|
6222
|
-
// Normal desktop: use FocusTrap on the bib element
|
|
6223
|
-
this.focusTrap = new FocusTrap(this.bibContent);
|
|
6224
|
-
this.focusTrap.focusFirstElement();
|
|
6225
|
-
}
|
|
6079
|
+
// Desktop: show() doesn't trap focus, so use FocusTrap
|
|
6080
|
+
this.focusTrap = new FocusTrap(this.bibContent);
|
|
6081
|
+
this.focusTrap.focusFirstElement();
|
|
6226
6082
|
}
|
|
6227
6083
|
// Fullscreen: showModal() provides native focus trapping
|
|
6228
|
-
}
|
|
6229
|
-
}
|
|
6230
|
-
|
|
6231
|
-
/**
|
|
6232
|
-
* Returns the chain of active (focused) elements through shadow roots.
|
|
6233
|
-
* @private
|
|
6234
|
-
* @returns {Array<HTMLElement>}
|
|
6235
|
-
*/
|
|
6236
|
-
_getActiveElements() {
|
|
6237
|
-
let { activeElement } = document;
|
|
6238
|
-
const actives = [activeElement];
|
|
6239
|
-
|
|
6240
|
-
while (activeElement?.shadowRoot?.activeElement) {
|
|
6241
|
-
activeElement = activeElement.shadowRoot.activeElement;
|
|
6242
|
-
actives.push(activeElement);
|
|
6243
|
-
}
|
|
6244
|
-
|
|
6245
|
-
return actives;
|
|
6246
|
-
}
|
|
6247
|
-
|
|
6248
|
-
/**
|
|
6249
|
-
* Sets `inert` on sibling elements of the dropdown's top-level host
|
|
6250
|
-
* so that content outside the dropdown is not interactive while the modal is open.
|
|
6251
|
-
* Walks up through shadow DOM boundaries to find the outermost host element
|
|
6252
|
-
* in the light DOM, then sets `inert` on siblings at each ancestor level
|
|
6253
|
-
* to ensure all page content outside the host subtree is inert.
|
|
6254
|
-
* @private
|
|
6255
|
-
*/
|
|
6256
|
-
_setPageInert() {
|
|
6257
|
-
if (this._inertSiblings) {
|
|
6258
6084
|
return;
|
|
6259
6085
|
}
|
|
6260
6086
|
|
|
6261
|
-
this.
|
|
6262
|
-
|
|
6263
|
-
|
|
6264
|
-
// element in the light DOM. For example, if this dropdown is inside
|
|
6265
|
-
// auro-datepicker's shadow DOM, we walk up to the datepicker element
|
|
6266
|
-
// so we set inert on its siblings — not on the datepicker itself.
|
|
6267
|
-
let host = this;
|
|
6268
|
-
while (host.getRootNode() instanceof ShadowRoot) {
|
|
6269
|
-
host = host.getRootNode().host;
|
|
6270
|
-
}
|
|
6271
|
-
|
|
6272
|
-
// Walk up the ancestor chain, inerting siblings at each level
|
|
6273
|
-
// to ensure the entire page outside the host subtree is inert.
|
|
6274
|
-
let current = host;
|
|
6275
|
-
while (current.parentElement) {
|
|
6276
|
-
const parent = current.parentElement;
|
|
6277
|
-
for (const sibling of parent.children) {
|
|
6278
|
-
if (sibling !== current && !sibling.inert) {
|
|
6279
|
-
sibling.inert = true;
|
|
6280
|
-
this._inertSiblings.push(sibling);
|
|
6281
|
-
}
|
|
6282
|
-
}
|
|
6283
|
-
current = parent;
|
|
6284
|
-
}
|
|
6285
|
-
}
|
|
6286
|
-
|
|
6287
|
-
/**
|
|
6288
|
-
* Restores `inert` state on siblings that were made inert by `_setPageInert`.
|
|
6289
|
-
* @private
|
|
6290
|
-
*/
|
|
6291
|
-
_clearPageInert() {
|
|
6292
|
-
if (this._inertSiblings) {
|
|
6293
|
-
for (const sibling of this._inertSiblings) {
|
|
6294
|
-
sibling.inert = false;
|
|
6295
|
-
}
|
|
6296
|
-
this._inertSiblings = undefined;
|
|
6087
|
+
if (this.focusTrap) {
|
|
6088
|
+
this.focusTrap.disconnect();
|
|
6089
|
+
this.focusTrap = undefined;
|
|
6297
6090
|
}
|
|
6298
6091
|
}
|
|
6299
6092
|
|
|
@@ -6532,7 +6325,6 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
6532
6325
|
shape="${this.shape}"
|
|
6533
6326
|
?data-show="${this.isPopoverVisible}"
|
|
6534
6327
|
?isfullscreen="${this.isBibFullscreen}"
|
|
6535
|
-
?desktopmodal="${this.desktopModal}"
|
|
6536
6328
|
.dialogLabel="${this.bibDialogLabel}"
|
|
6537
6329
|
${n$2(this.bibElement)}
|
|
6538
6330
|
>
|
|
@@ -13238,7 +13030,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
|
|
|
13238
13030
|
}
|
|
13239
13031
|
};
|
|
13240
13032
|
|
|
13241
|
-
var formkitVersion$1 = '
|
|
13033
|
+
var formkitVersion$1 = '202605192014';
|
|
13242
13034
|
|
|
13243
13035
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13244
13036
|
// See LICENSE in the project root for license information.
|
|
@@ -14192,14 +13984,6 @@ class AuroBibtemplate extends i$4 {
|
|
|
14192
13984
|
large: {
|
|
14193
13985
|
type: Boolean,
|
|
14194
13986
|
reflect: true
|
|
14195
|
-
},
|
|
14196
|
-
|
|
14197
|
-
/**
|
|
14198
|
-
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
14199
|
-
*/
|
|
14200
|
-
showFooter: {
|
|
14201
|
-
type: Boolean,
|
|
14202
|
-
reflect: true
|
|
14203
13987
|
}
|
|
14204
13988
|
};
|
|
14205
13989
|
}
|
|
@@ -14302,7 +14086,7 @@ class AuroBibtemplate extends i$4 {
|
|
|
14302
14086
|
<slot></slot>
|
|
14303
14087
|
</div>
|
|
14304
14088
|
|
|
14305
|
-
${this.isFullscreen
|
|
14089
|
+
${this.isFullscreen ? u$7`
|
|
14306
14090
|
<div id="footerContainer">
|
|
14307
14091
|
<slot name="footer"></slot>
|
|
14308
14092
|
</div>` : null}
|
|
@@ -14311,7 +14095,7 @@ class AuroBibtemplate extends i$4 {
|
|
|
14311
14095
|
}
|
|
14312
14096
|
}
|
|
14313
14097
|
|
|
14314
|
-
var formkitVersion = '
|
|
14098
|
+
var formkitVersion = '202605192014';
|
|
14315
14099
|
|
|
14316
14100
|
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}`;
|
|
14317
14101
|
|