@aurodesignsystem/auro-formkit 6.0.0 → 6.0.1
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/CHANGELOG.md +5 -240
- 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 +172 -46
- package/components/combobox/demo/getting-started.min.js +172 -46
- package/components/combobox/demo/index.min.js +172 -46
- package/components/combobox/dist/index.js +172 -46
- package/components/combobox/dist/registered.js +172 -46
- package/components/counter/demo/customize.min.js +59 -7
- package/components/counter/demo/index.min.js +59 -7
- package/components/counter/dist/index.js +59 -7
- package/components/counter/dist/registered.js +59 -7
- package/components/datepicker/demo/customize.min.js +106 -18
- package/components/datepicker/demo/index.min.js +106 -18
- package/components/datepicker/dist/index.js +106 -18
- package/components/datepicker/dist/registered.js +106 -18
- package/components/dropdown/demo/customize.min.js +58 -6
- package/components/dropdown/demo/getting-started.min.js +58 -6
- package/components/dropdown/demo/index.min.js +58 -6
- package/components/dropdown/dist/auro-dropdown.d.ts +16 -1
- package/components/dropdown/dist/index.js +58 -6
- package/components/dropdown/dist/registered.js +58 -6
- package/components/form/demo/customize.min.js +445 -91
- package/components/form/demo/getting-started.min.js +445 -91
- package/components/form/demo/index.min.js +445 -91
- package/components/form/demo/registerDemoDeps.min.js +445 -91
- package/components/input/demo/customize.min.js +47 -11
- package/components/input/demo/getting-started.min.js +47 -11
- package/components/input/demo/index.min.js +47 -11
- package/components/input/dist/index.js +47 -11
- package/components/input/dist/registered.js +47 -11
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.min.js +59 -7
- package/components/select/demo/getting-started.min.js +59 -7
- package/components/select/demo/index.min.js +59 -7
- package/components/select/dist/index.js +59 -7
- package/components/select/dist/registered.js +59 -7
- package/custom-elements.json +1500 -1484
- package/package.json +1 -1
|
@@ -11700,9 +11700,10 @@ let DomHandler$3 = class DomHandler {
|
|
|
11700
11700
|
let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
11701
11701
|
|
|
11702
11702
|
// Delegate focus to the native <input> inside the shadow root so that
|
|
11703
|
-
//
|
|
11704
|
-
//
|
|
11705
|
-
//
|
|
11703
|
+
// clicking anywhere on the input wrapper focuses the native input, and
|
|
11704
|
+
// programmatic .focus() calls on elements in the shadow DOM work correctly.
|
|
11705
|
+
// The initial-load focus theft was caused by the static `autofocus`
|
|
11706
|
+
// attribute on the bib input (now conditional), not by delegatesFocus.
|
|
11706
11707
|
static get shadowRootOptions() {
|
|
11707
11708
|
return {
|
|
11708
11709
|
...AuroElement$6.shadowRootOptions,
|
|
@@ -13379,7 +13380,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
|
|
|
13379
13380
|
}
|
|
13380
13381
|
};
|
|
13381
13382
|
|
|
13382
|
-
var formkitVersion$8 = '
|
|
13383
|
+
var formkitVersion$8 = '202607161943';
|
|
13383
13384
|
|
|
13384
13385
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13385
13386
|
// See LICENSE in the project root for license information.
|
|
@@ -13665,15 +13666,50 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
13665
13666
|
* @returns {void}
|
|
13666
13667
|
*/
|
|
13667
13668
|
checkDisplayValueSlotChange() {
|
|
13668
|
-
|
|
13669
|
-
|
|
13670
|
-
|
|
13671
|
-
|
|
13672
|
-
|
|
13673
|
-
|
|
13669
|
+
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
13670
|
+
if (!slot) {
|
|
13671
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
13672
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
13673
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
13674
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
13675
|
+
// that render via shadow DOM with no text content).
|
|
13676
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
13677
|
+
const hasContent = lightDomNodes.some((node) => (
|
|
13678
|
+
node.textContent.trim().length > 0 ||
|
|
13679
|
+
node.children.length > 0 ||
|
|
13680
|
+
node.shadowRoot !== null
|
|
13681
|
+
));
|
|
13682
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
13683
|
+
this.hasDisplayValueContent = hasContent;
|
|
13684
|
+
this.requestUpdate();
|
|
13685
|
+
}
|
|
13686
|
+
return;
|
|
13687
|
+
}
|
|
13674
13688
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
13675
13689
|
|
|
13676
|
-
|
|
13690
|
+
// Check for actual visible content, not just node existence.
|
|
13691
|
+
// An empty <span slot="displayValue"></span> forwarded from the
|
|
13692
|
+
// consumer should not be treated as "has content" — it causes the
|
|
13693
|
+
// displayValue wrapper to render (with hasContent class) but show
|
|
13694
|
+
// nothing, blocking the combobox's synthetic displayValue from
|
|
13695
|
+
// being visible on preset/deeplink load.
|
|
13696
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
13697
|
+
// treated as content even when they have no text or light-DOM children.
|
|
13698
|
+
const hasContent = nodes.some((node) => {
|
|
13699
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
13700
|
+
return node.textContent.trim().length > 0;
|
|
13701
|
+
}
|
|
13702
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
13703
|
+
return node.textContent.trim().length > 0 ||
|
|
13704
|
+
node.children.length > 0 ||
|
|
13705
|
+
node.shadowRoot !== null;
|
|
13706
|
+
}
|
|
13707
|
+
return false;
|
|
13708
|
+
});
|
|
13709
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
13710
|
+
this.hasDisplayValueContent = hasContent;
|
|
13711
|
+
this.requestUpdate();
|
|
13712
|
+
}
|
|
13677
13713
|
}
|
|
13678
13714
|
|
|
13679
13715
|
firstUpdated() {
|
|
@@ -27776,7 +27812,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
27776
27812
|
}
|
|
27777
27813
|
};
|
|
27778
27814
|
|
|
27779
|
-
var formkitVersion$2$1 = '
|
|
27815
|
+
var formkitVersion$2$1 = '202607161943';
|
|
27780
27816
|
|
|
27781
27817
|
let l$1$2 = 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$2`${s$3(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = 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$1$2 = 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$1$3=i$6`: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}
|
|
27782
27818
|
`,u$4$2=i$6`.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}}
|
|
@@ -33504,7 +33540,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
33504
33540
|
}
|
|
33505
33541
|
};
|
|
33506
33542
|
|
|
33507
|
-
var formkitVersion$1$3 = '
|
|
33543
|
+
var formkitVersion$1$3 = '202607161943';
|
|
33508
33544
|
|
|
33509
33545
|
let AuroElement$2$2 = class AuroElement extends i$3 {
|
|
33510
33546
|
static get properties() {
|
|
@@ -33633,7 +33669,6 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
33633
33669
|
static get shadowRootOptions() {
|
|
33634
33670
|
return {
|
|
33635
33671
|
...AuroElement$2$2.shadowRootOptions,
|
|
33636
|
-
delegatesFocus: true,
|
|
33637
33672
|
};
|
|
33638
33673
|
}
|
|
33639
33674
|
|
|
@@ -33645,6 +33680,15 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
33645
33680
|
this.matchWidth = false;
|
|
33646
33681
|
this.noHideOnThisFocusLoss = false;
|
|
33647
33682
|
|
|
33683
|
+
/**
|
|
33684
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
33685
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
33686
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
33687
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
33688
|
+
* @private
|
|
33689
|
+
*/
|
|
33690
|
+
this.noFocusRestoreOnClose = false;
|
|
33691
|
+
|
|
33648
33692
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
33649
33693
|
|
|
33650
33694
|
// Layout Config
|
|
@@ -33800,7 +33844,49 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
33800
33844
|
focusables[0].focus();
|
|
33801
33845
|
}
|
|
33802
33846
|
} else {
|
|
33847
|
+
this.focusTrigger();
|
|
33848
|
+
}
|
|
33849
|
+
}
|
|
33850
|
+
|
|
33851
|
+
/**
|
|
33852
|
+
* Focus the trigger content. When the trigger wrapper itself is focusable
|
|
33853
|
+
* (has tabindex), focus it directly. Otherwise, focus the first focusable
|
|
33854
|
+
* element slotted into the trigger slot (e.g. the auro-input).
|
|
33855
|
+
* @private
|
|
33856
|
+
*/
|
|
33857
|
+
focusTrigger() {
|
|
33858
|
+
if (this.trigger.hasAttribute('tabindex')) {
|
|
33803
33859
|
this.trigger.focus();
|
|
33860
|
+
} else {
|
|
33861
|
+
// Slotted content isn't a DOM child of the trigger div, so
|
|
33862
|
+
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
33863
|
+
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
33864
|
+
if (slot) {
|
|
33865
|
+
const assigned = slot.assignedElements();
|
|
33866
|
+
for (const el of assigned) {
|
|
33867
|
+
if (el.hasAttribute('disabled')) {
|
|
33868
|
+
continue;
|
|
33869
|
+
}
|
|
33870
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
33871
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
33872
|
+
// focusing the element directly (works for custom elements like
|
|
33873
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
33874
|
+
const descendants = getFocusableElements$4(el);
|
|
33875
|
+
if (descendants.length > 0) {
|
|
33876
|
+
descendants[0].focus();
|
|
33877
|
+
return;
|
|
33878
|
+
}
|
|
33879
|
+
el.focus();
|
|
33880
|
+
if (document.activeElement === el) {
|
|
33881
|
+
return;
|
|
33882
|
+
}
|
|
33883
|
+
}
|
|
33884
|
+
}
|
|
33885
|
+
// Fallback: try DOM children (non-slotted content)
|
|
33886
|
+
const focusables = getFocusableElements$4(this.trigger);
|
|
33887
|
+
if (focusables.length > 0) {
|
|
33888
|
+
focusables[0].focus();
|
|
33889
|
+
}
|
|
33804
33890
|
}
|
|
33805
33891
|
}
|
|
33806
33892
|
|
|
@@ -34253,15 +34339,17 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
34253
34339
|
}
|
|
34254
34340
|
|
|
34255
34341
|
const eventType = event.detail.eventType || "unknown";
|
|
34256
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
34257
|
-
this.
|
|
34342
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
34343
|
+
this.focusTrigger();
|
|
34258
34344
|
}
|
|
34259
34345
|
|
|
34260
34346
|
|
|
34261
34347
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
34262
34348
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
34263
34349
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
34264
|
-
|
|
34350
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
34351
|
+
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
34352
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
34265
34353
|
// wait til the bib gets fully closed and rendered
|
|
34266
34354
|
setTimeout(() => {
|
|
34267
34355
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -34273,7 +34361,7 @@ let AuroDropdown$3 = class AuroDropdown extends AuroElement$2$2 {
|
|
|
34273
34361
|
return;
|
|
34274
34362
|
}
|
|
34275
34363
|
// Restore focus to the trigger.
|
|
34276
|
-
this.
|
|
34364
|
+
this.focusTrigger();
|
|
34277
34365
|
});
|
|
34278
34366
|
}
|
|
34279
34367
|
}
|
|
@@ -45447,9 +45535,10 @@ let DomHandler$2 = class DomHandler {
|
|
|
45447
45535
|
let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
45448
45536
|
|
|
45449
45537
|
// Delegate focus to the native <input> inside the shadow root so that
|
|
45450
|
-
//
|
|
45451
|
-
//
|
|
45452
|
-
//
|
|
45538
|
+
// clicking anywhere on the input wrapper focuses the native input, and
|
|
45539
|
+
// programmatic .focus() calls on elements in the shadow DOM work correctly.
|
|
45540
|
+
// The initial-load focus theft was caused by the static `autofocus`
|
|
45541
|
+
// attribute on the bib input (now conditional), not by delegatesFocus.
|
|
45453
45542
|
static get shadowRootOptions() {
|
|
45454
45543
|
return {
|
|
45455
45544
|
...AuroElement$1$3.shadowRootOptions,
|
|
@@ -47126,7 +47215,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
|
|
|
47126
47215
|
}
|
|
47127
47216
|
};
|
|
47128
47217
|
|
|
47129
|
-
var formkitVersion$7 = '
|
|
47218
|
+
var formkitVersion$7 = '202607161943';
|
|
47130
47219
|
|
|
47131
47220
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
47132
47221
|
// See LICENSE in the project root for license information.
|
|
@@ -47412,15 +47501,50 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
47412
47501
|
* @returns {void}
|
|
47413
47502
|
*/
|
|
47414
47503
|
checkDisplayValueSlotChange() {
|
|
47415
|
-
|
|
47416
|
-
|
|
47417
|
-
|
|
47418
|
-
|
|
47419
|
-
|
|
47420
|
-
|
|
47504
|
+
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
47505
|
+
if (!slot) {
|
|
47506
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
47507
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
47508
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
47509
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
47510
|
+
// that render via shadow DOM with no text content).
|
|
47511
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
47512
|
+
const hasContent = lightDomNodes.some((node) => (
|
|
47513
|
+
node.textContent.trim().length > 0 ||
|
|
47514
|
+
node.children.length > 0 ||
|
|
47515
|
+
node.shadowRoot !== null
|
|
47516
|
+
));
|
|
47517
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
47518
|
+
this.hasDisplayValueContent = hasContent;
|
|
47519
|
+
this.requestUpdate();
|
|
47520
|
+
}
|
|
47521
|
+
return;
|
|
47522
|
+
}
|
|
47421
47523
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
47422
47524
|
|
|
47423
|
-
|
|
47525
|
+
// Check for actual visible content, not just node existence.
|
|
47526
|
+
// An empty <span slot="displayValue"></span> forwarded from the
|
|
47527
|
+
// consumer should not be treated as "has content" — it causes the
|
|
47528
|
+
// displayValue wrapper to render (with hasContent class) but show
|
|
47529
|
+
// nothing, blocking the combobox's synthetic displayValue from
|
|
47530
|
+
// being visible on preset/deeplink load.
|
|
47531
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
47532
|
+
// treated as content even when they have no text or light-DOM children.
|
|
47533
|
+
const hasContent = nodes.some((node) => {
|
|
47534
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
47535
|
+
return node.textContent.trim().length > 0;
|
|
47536
|
+
}
|
|
47537
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
47538
|
+
return node.textContent.trim().length > 0 ||
|
|
47539
|
+
node.children.length > 0 ||
|
|
47540
|
+
node.shadowRoot !== null;
|
|
47541
|
+
}
|
|
47542
|
+
return false;
|
|
47543
|
+
});
|
|
47544
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
47545
|
+
this.hasDisplayValueContent = hasContent;
|
|
47546
|
+
this.requestUpdate();
|
|
47547
|
+
}
|
|
47424
47548
|
}
|
|
47425
47549
|
|
|
47426
47550
|
firstUpdated() {
|
|
@@ -52067,7 +52191,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
52067
52191
|
}
|
|
52068
52192
|
};
|
|
52069
52193
|
|
|
52070
|
-
var formkitVersion$1$2 = '
|
|
52194
|
+
var formkitVersion$1$2 = '202607161943';
|
|
52071
52195
|
|
|
52072
52196
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
52073
52197
|
// See LICENSE in the project root for license information.
|
|
@@ -56215,7 +56339,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
56215
56339
|
}
|
|
56216
56340
|
};
|
|
56217
56341
|
|
|
56218
|
-
var formkitVersion$6 = '
|
|
56342
|
+
var formkitVersion$6 = '202607161943';
|
|
56219
56343
|
|
|
56220
56344
|
let AuroElement$1$2 = class AuroElement extends i$3 {
|
|
56221
56345
|
static get properties() {
|
|
@@ -56344,7 +56468,6 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56344
56468
|
static get shadowRootOptions() {
|
|
56345
56469
|
return {
|
|
56346
56470
|
...AuroElement$1$2.shadowRootOptions,
|
|
56347
|
-
delegatesFocus: true,
|
|
56348
56471
|
};
|
|
56349
56472
|
}
|
|
56350
56473
|
|
|
@@ -56356,6 +56479,15 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56356
56479
|
this.matchWidth = false;
|
|
56357
56480
|
this.noHideOnThisFocusLoss = false;
|
|
56358
56481
|
|
|
56482
|
+
/**
|
|
56483
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
56484
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
56485
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
56486
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
56487
|
+
* @private
|
|
56488
|
+
*/
|
|
56489
|
+
this.noFocusRestoreOnClose = false;
|
|
56490
|
+
|
|
56359
56491
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
56360
56492
|
|
|
56361
56493
|
// Layout Config
|
|
@@ -56511,7 +56643,49 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56511
56643
|
focusables[0].focus();
|
|
56512
56644
|
}
|
|
56513
56645
|
} else {
|
|
56646
|
+
this.focusTrigger();
|
|
56647
|
+
}
|
|
56648
|
+
}
|
|
56649
|
+
|
|
56650
|
+
/**
|
|
56651
|
+
* Focus the trigger content. When the trigger wrapper itself is focusable
|
|
56652
|
+
* (has tabindex), focus it directly. Otherwise, focus the first focusable
|
|
56653
|
+
* element slotted into the trigger slot (e.g. the auro-input).
|
|
56654
|
+
* @private
|
|
56655
|
+
*/
|
|
56656
|
+
focusTrigger() {
|
|
56657
|
+
if (this.trigger.hasAttribute('tabindex')) {
|
|
56514
56658
|
this.trigger.focus();
|
|
56659
|
+
} else {
|
|
56660
|
+
// Slotted content isn't a DOM child of the trigger div, so
|
|
56661
|
+
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
56662
|
+
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
56663
|
+
if (slot) {
|
|
56664
|
+
const assigned = slot.assignedElements();
|
|
56665
|
+
for (const el of assigned) {
|
|
56666
|
+
if (el.hasAttribute('disabled')) {
|
|
56667
|
+
continue;
|
|
56668
|
+
}
|
|
56669
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
56670
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
56671
|
+
// focusing the element directly (works for custom elements like
|
|
56672
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
56673
|
+
const descendants = getFocusableElements$3(el);
|
|
56674
|
+
if (descendants.length > 0) {
|
|
56675
|
+
descendants[0].focus();
|
|
56676
|
+
return;
|
|
56677
|
+
}
|
|
56678
|
+
el.focus();
|
|
56679
|
+
if (document.activeElement === el) {
|
|
56680
|
+
return;
|
|
56681
|
+
}
|
|
56682
|
+
}
|
|
56683
|
+
}
|
|
56684
|
+
// Fallback: try DOM children (non-slotted content)
|
|
56685
|
+
const focusables = getFocusableElements$3(this.trigger);
|
|
56686
|
+
if (focusables.length > 0) {
|
|
56687
|
+
focusables[0].focus();
|
|
56688
|
+
}
|
|
56515
56689
|
}
|
|
56516
56690
|
}
|
|
56517
56691
|
|
|
@@ -56964,15 +57138,17 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56964
57138
|
}
|
|
56965
57139
|
|
|
56966
57140
|
const eventType = event.detail.eventType || "unknown";
|
|
56967
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
56968
|
-
this.
|
|
57141
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
57142
|
+
this.focusTrigger();
|
|
56969
57143
|
}
|
|
56970
57144
|
|
|
56971
57145
|
|
|
56972
57146
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
56973
57147
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
56974
57148
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
56975
|
-
|
|
57149
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
57150
|
+
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
57151
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
56976
57152
|
// wait til the bib gets fully closed and rendered
|
|
56977
57153
|
setTimeout(() => {
|
|
56978
57154
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -56984,7 +57160,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56984
57160
|
return;
|
|
56985
57161
|
}
|
|
56986
57162
|
// Restore focus to the trigger.
|
|
56987
|
-
this.
|
|
57163
|
+
this.focusTrigger();
|
|
56988
57164
|
});
|
|
56989
57165
|
}
|
|
56990
57166
|
}
|
|
@@ -60212,7 +60388,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
60212
60388
|
}
|
|
60213
60389
|
};
|
|
60214
60390
|
|
|
60215
|
-
var formkitVersion$5 = '
|
|
60391
|
+
var formkitVersion$5 = '202607161943';
|
|
60216
60392
|
|
|
60217
60393
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
60218
60394
|
// See LICENSE in the project root for license information.
|
|
@@ -61977,7 +62153,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
61977
62153
|
}
|
|
61978
62154
|
};
|
|
61979
62155
|
|
|
61980
|
-
var formkitVersion$4 = '
|
|
62156
|
+
var formkitVersion$4 = '202607161943';
|
|
61981
62157
|
|
|
61982
62158
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
61983
62159
|
// See LICENSE in the project root for license information.
|
|
@@ -67290,7 +67466,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
67290
67466
|
}
|
|
67291
67467
|
};
|
|
67292
67468
|
|
|
67293
|
-
var formkitVersion$2 = '
|
|
67469
|
+
var formkitVersion$2 = '202607161943';
|
|
67294
67470
|
|
|
67295
67471
|
let AuroElement$2$1 = class AuroElement extends i$3 {
|
|
67296
67472
|
static get properties() {
|
|
@@ -67419,7 +67595,6 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
67419
67595
|
static get shadowRootOptions() {
|
|
67420
67596
|
return {
|
|
67421
67597
|
...AuroElement$2$1.shadowRootOptions,
|
|
67422
|
-
delegatesFocus: true,
|
|
67423
67598
|
};
|
|
67424
67599
|
}
|
|
67425
67600
|
|
|
@@ -67431,6 +67606,15 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
67431
67606
|
this.matchWidth = false;
|
|
67432
67607
|
this.noHideOnThisFocusLoss = false;
|
|
67433
67608
|
|
|
67609
|
+
/**
|
|
67610
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
67611
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
67612
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
67613
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
67614
|
+
* @private
|
|
67615
|
+
*/
|
|
67616
|
+
this.noFocusRestoreOnClose = false;
|
|
67617
|
+
|
|
67434
67618
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
67435
67619
|
|
|
67436
67620
|
// Layout Config
|
|
@@ -67586,7 +67770,49 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
67586
67770
|
focusables[0].focus();
|
|
67587
67771
|
}
|
|
67588
67772
|
} else {
|
|
67773
|
+
this.focusTrigger();
|
|
67774
|
+
}
|
|
67775
|
+
}
|
|
67776
|
+
|
|
67777
|
+
/**
|
|
67778
|
+
* Focus the trigger content. When the trigger wrapper itself is focusable
|
|
67779
|
+
* (has tabindex), focus it directly. Otherwise, focus the first focusable
|
|
67780
|
+
* element slotted into the trigger slot (e.g. the auro-input).
|
|
67781
|
+
* @private
|
|
67782
|
+
*/
|
|
67783
|
+
focusTrigger() {
|
|
67784
|
+
if (this.trigger.hasAttribute('tabindex')) {
|
|
67589
67785
|
this.trigger.focus();
|
|
67786
|
+
} else {
|
|
67787
|
+
// Slotted content isn't a DOM child of the trigger div, so
|
|
67788
|
+
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
67789
|
+
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
67790
|
+
if (slot) {
|
|
67791
|
+
const assigned = slot.assignedElements();
|
|
67792
|
+
for (const el of assigned) {
|
|
67793
|
+
if (el.hasAttribute('disabled')) {
|
|
67794
|
+
continue;
|
|
67795
|
+
}
|
|
67796
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
67797
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
67798
|
+
// focusing the element directly (works for custom elements like
|
|
67799
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
67800
|
+
const descendants = getFocusableElements$2(el);
|
|
67801
|
+
if (descendants.length > 0) {
|
|
67802
|
+
descendants[0].focus();
|
|
67803
|
+
return;
|
|
67804
|
+
}
|
|
67805
|
+
el.focus();
|
|
67806
|
+
if (document.activeElement === el) {
|
|
67807
|
+
return;
|
|
67808
|
+
}
|
|
67809
|
+
}
|
|
67810
|
+
}
|
|
67811
|
+
// Fallback: try DOM children (non-slotted content)
|
|
67812
|
+
const focusables = getFocusableElements$2(this.trigger);
|
|
67813
|
+
if (focusables.length > 0) {
|
|
67814
|
+
focusables[0].focus();
|
|
67815
|
+
}
|
|
67590
67816
|
}
|
|
67591
67817
|
}
|
|
67592
67818
|
|
|
@@ -68039,15 +68265,17 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
68039
68265
|
}
|
|
68040
68266
|
|
|
68041
68267
|
const eventType = event.detail.eventType || "unknown";
|
|
68042
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
68043
|
-
this.
|
|
68268
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
68269
|
+
this.focusTrigger();
|
|
68044
68270
|
}
|
|
68045
68271
|
|
|
68046
68272
|
|
|
68047
68273
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
68048
68274
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
68049
68275
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
68050
|
-
|
|
68276
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
68277
|
+
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
68278
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
68051
68279
|
// wait til the bib gets fully closed and rendered
|
|
68052
68280
|
setTimeout(() => {
|
|
68053
68281
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -68059,7 +68287,7 @@ let AuroDropdown$1 = class AuroDropdown extends AuroElement$2$1 {
|
|
|
68059
68287
|
return;
|
|
68060
68288
|
}
|
|
68061
68289
|
// Restore focus to the trigger.
|
|
68062
|
-
this.
|
|
68290
|
+
this.focusTrigger();
|
|
68063
68291
|
});
|
|
68064
68292
|
}
|
|
68065
68293
|
}
|
|
@@ -79233,9 +79461,10 @@ class DomHandler {
|
|
|
79233
79461
|
class BaseInput extends AuroElement$1$1 {
|
|
79234
79462
|
|
|
79235
79463
|
// Delegate focus to the native <input> inside the shadow root so that
|
|
79236
|
-
//
|
|
79237
|
-
//
|
|
79238
|
-
//
|
|
79464
|
+
// clicking anywhere on the input wrapper focuses the native input, and
|
|
79465
|
+
// programmatic .focus() calls on elements in the shadow DOM work correctly.
|
|
79466
|
+
// The initial-load focus theft was caused by the static `autofocus`
|
|
79467
|
+
// attribute on the bib input (now conditional), not by delegatesFocus.
|
|
79239
79468
|
static get shadowRootOptions() {
|
|
79240
79469
|
return {
|
|
79241
79470
|
...AuroElement$1$1.shadowRootOptions,
|
|
@@ -80912,7 +81141,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
80912
81141
|
}
|
|
80913
81142
|
};
|
|
80914
81143
|
|
|
80915
|
-
var formkitVersion$1$1 = '
|
|
81144
|
+
var formkitVersion$1$1 = '202607161943';
|
|
80916
81145
|
|
|
80917
81146
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
80918
81147
|
// See LICENSE in the project root for license information.
|
|
@@ -81198,15 +81427,50 @@ class AuroInput extends BaseInput {
|
|
|
81198
81427
|
* @returns {void}
|
|
81199
81428
|
*/
|
|
81200
81429
|
checkDisplayValueSlotChange() {
|
|
81201
|
-
|
|
81202
|
-
|
|
81203
|
-
|
|
81204
|
-
|
|
81205
|
-
|
|
81206
|
-
|
|
81430
|
+
const slot = this.shadowRoot?.querySelector('slot[name="displayValue"]');
|
|
81431
|
+
if (!slot) {
|
|
81432
|
+
// Shadow slot not yet rendered — fall back to checking light-DOM
|
|
81433
|
+
// children so hasDisplayValueContent isn't stuck false when called
|
|
81434
|
+
// before firstUpdated (e.g. from auro-combobox during mount).
|
|
81435
|
+
// Check for any element (including custom elements like <auro-icon>
|
|
81436
|
+
// that render via shadow DOM with no text content).
|
|
81437
|
+
const lightDomNodes = Array.from(this.querySelectorAll('[slot="displayValue"]:not(slot)'));
|
|
81438
|
+
const hasContent = lightDomNodes.some((node) => (
|
|
81439
|
+
node.textContent.trim().length > 0 ||
|
|
81440
|
+
node.children.length > 0 ||
|
|
81441
|
+
node.shadowRoot !== null
|
|
81442
|
+
));
|
|
81443
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
81444
|
+
this.hasDisplayValueContent = hasContent;
|
|
81445
|
+
this.requestUpdate();
|
|
81446
|
+
}
|
|
81447
|
+
return;
|
|
81448
|
+
}
|
|
81207
81449
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
81208
81450
|
|
|
81209
|
-
|
|
81451
|
+
// Check for actual visible content, not just node existence.
|
|
81452
|
+
// An empty <span slot="displayValue"></span> forwarded from the
|
|
81453
|
+
// consumer should not be treated as "has content" — it causes the
|
|
81454
|
+
// displayValue wrapper to render (with hasContent class) but show
|
|
81455
|
+
// nothing, blocking the combobox's synthetic displayValue from
|
|
81456
|
+
// being visible on preset/deeplink load.
|
|
81457
|
+
// Custom elements (e.g. <auro-icon>) that render via shadow DOM are
|
|
81458
|
+
// treated as content even when they have no text or light-DOM children.
|
|
81459
|
+
const hasContent = nodes.some((node) => {
|
|
81460
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
81461
|
+
return node.textContent.trim().length > 0;
|
|
81462
|
+
}
|
|
81463
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
81464
|
+
return node.textContent.trim().length > 0 ||
|
|
81465
|
+
node.children.length > 0 ||
|
|
81466
|
+
node.shadowRoot !== null;
|
|
81467
|
+
}
|
|
81468
|
+
return false;
|
|
81469
|
+
});
|
|
81470
|
+
if (this.hasDisplayValueContent !== hasContent) {
|
|
81471
|
+
this.hasDisplayValueContent = hasContent;
|
|
81472
|
+
this.requestUpdate();
|
|
81473
|
+
}
|
|
81210
81474
|
}
|
|
81211
81475
|
|
|
81212
81476
|
firstUpdated() {
|
|
@@ -82033,7 +82297,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
82033
82297
|
}
|
|
82034
82298
|
};
|
|
82035
82299
|
|
|
82036
|
-
var formkitVersion$3 = '
|
|
82300
|
+
var formkitVersion$3 = '202607161943';
|
|
82037
82301
|
|
|
82038
82302
|
var styleCss$1$3 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
82039
82303
|
|
|
@@ -83070,14 +83334,34 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83070
83334
|
const displayValueEl = this.menu.optionSelected.querySelector("[slot='displayValue']");
|
|
83071
83335
|
if (displayValueEl) {
|
|
83072
83336
|
this.input.appendChild(displayValueEl.cloneNode(true));
|
|
83073
|
-
|
|
83074
|
-
|
|
83075
|
-
|
|
83076
|
-
|
|
83077
|
-
|
|
83078
|
-
|
|
83079
|
-
|
|
83080
|
-
|
|
83337
|
+
}
|
|
83338
|
+
|
|
83339
|
+
// auro-input's hasDisplayValueContent is non-reactive; nudge it to
|
|
83340
|
+
// re-evaluate the slot and re-render so the displayValue wrapper
|
|
83341
|
+
// gets its hasContent class. Without this, the apple/icon stays
|
|
83342
|
+
// hidden when input.value is set in the same tick as the append.
|
|
83343
|
+
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
83344
|
+
this.input.checkDisplayValueSlotChange();
|
|
83345
|
+
}
|
|
83346
|
+
} else if (this.value) {
|
|
83347
|
+
// No optionSelected yet (e.g. setMenuValue was called but the menu's
|
|
83348
|
+
// auroMenu-selectedOption event hasn't fired yet, or we're on remount
|
|
83349
|
+
// with no options loaded). Synthesize a displayValue from the value so
|
|
83350
|
+
// the overlay isn't blank.
|
|
83351
|
+
//
|
|
83352
|
+
// NOTE: This renders the raw machine value (e.g. "SEA"), not the
|
|
83353
|
+
// human-readable label (e.g. "Seattle, WA"). For consumers where
|
|
83354
|
+
// value ≠ label, this produces a brief flash of the raw value until
|
|
83355
|
+
// the option elements load and updateTriggerTextDisplay re-runs with
|
|
83356
|
+
// the correct label. This is intentionally preferred over a blank
|
|
83357
|
+
// state — the displayValueInTrigger.remove() cleanup above ensures
|
|
83358
|
+
// this placeholder is replaced once the real option is available.
|
|
83359
|
+
const syntheticDV = document.createElement('span');
|
|
83360
|
+
syntheticDV.setAttribute('slot', 'displayValue');
|
|
83361
|
+
syntheticDV.textContent = this.value;
|
|
83362
|
+
this.input.appendChild(syntheticDV);
|
|
83363
|
+
if (typeof this.input.checkDisplayValueSlotChange === 'function') {
|
|
83364
|
+
this.input.checkDisplayValueSlotChange();
|
|
83081
83365
|
}
|
|
83082
83366
|
}
|
|
83083
83367
|
|
|
@@ -83250,6 +83534,10 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83250
83534
|
// from combobox's light DOM and won't be detected by dropdown's contains() check.
|
|
83251
83535
|
this.dropdown.noHideOnThisFocusLoss = true;
|
|
83252
83536
|
|
|
83537
|
+
// Suppress the dropdown's generic focus restoration on close — the combobox
|
|
83538
|
+
// manages its own focus via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
83539
|
+
this.dropdown.noFocusRestoreOnClose = true;
|
|
83540
|
+
|
|
83253
83541
|
// Listen for the ID to be added to the dropdown so we can capture it and use it for accessibility.
|
|
83254
83542
|
this.dropdown.addEventListener('auroDropdown-idAdded', (event) => {
|
|
83255
83543
|
this.dropdownId = event.detail.id;
|
|
@@ -83323,7 +83611,11 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83323
83611
|
// after the dropdown layout settles.
|
|
83324
83612
|
|
|
83325
83613
|
doubleRaf$1(() => {
|
|
83326
|
-
this
|
|
83614
|
+
// Guard: skip if the dropdown closed before this rAF fired
|
|
83615
|
+
// (e.g. user selected an option immediately after the bib opened).
|
|
83616
|
+
if (this.dropdownOpen) {
|
|
83617
|
+
this.setInputFocus();
|
|
83618
|
+
}
|
|
83327
83619
|
if (this._inFullscreenTransition) {
|
|
83328
83620
|
this._inFullscreenTransition = false;
|
|
83329
83621
|
}
|
|
@@ -83370,7 +83662,9 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83370
83662
|
}
|
|
83371
83663
|
|
|
83372
83664
|
this._scheduleTimer(() => {
|
|
83373
|
-
this.
|
|
83665
|
+
if (this.dropdown.isPopoverVisible) {
|
|
83666
|
+
this.setInputFocus();
|
|
83667
|
+
}
|
|
83374
83668
|
}, 0);
|
|
83375
83669
|
});
|
|
83376
83670
|
}
|
|
@@ -83379,14 +83673,19 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83379
83673
|
* @private
|
|
83380
83674
|
*/
|
|
83381
83675
|
setClearBtnFocus() {
|
|
83382
|
-
|
|
83383
|
-
|
|
83384
|
-
//
|
|
83385
|
-
//
|
|
83386
|
-
|
|
83676
|
+
doubleRaf$1(() => {
|
|
83677
|
+
// First establish focus inside the input's shadow root.
|
|
83678
|
+
// Without this, clearBtn.focus() silently fails when focus is on
|
|
83679
|
+
// document.body (e.g. after a click selection closes the bib dialog).
|
|
83680
|
+
// delegatesFocus on BaseInput routes this to the native <input>.
|
|
83681
|
+
this.input.focus();
|
|
83682
|
+
|
|
83683
|
+
// Now move focus to the clear button within the same shadow root.
|
|
83684
|
+
const clearBtn = this.input.shadowRoot.querySelector('.clearBtn');
|
|
83685
|
+
if (clearBtn) {
|
|
83387
83686
|
clearBtn.focus();
|
|
83388
|
-
}
|
|
83389
|
-
}
|
|
83687
|
+
}
|
|
83688
|
+
});
|
|
83390
83689
|
}
|
|
83391
83690
|
|
|
83392
83691
|
/**
|
|
@@ -83597,6 +83896,9 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83597
83896
|
// only — fresh user selections take the existing hideBib path.
|
|
83598
83897
|
if (isEcho && this.menu.optionSelected) {
|
|
83599
83898
|
this._programmaticFilterRefresh = true;
|
|
83899
|
+
this.updateComplete.then(() => {
|
|
83900
|
+
this._programmaticFilterRefresh = false;
|
|
83901
|
+
});
|
|
83600
83902
|
}
|
|
83601
83903
|
});
|
|
83602
83904
|
|
|
@@ -83849,10 +84151,6 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83849
84151
|
if (this.dropdown.isBibFullscreen && this.input.value && this.input.value.length > 0 && this.dropdown.isPopoverVisible) {
|
|
83850
84152
|
this.setInputFocus();
|
|
83851
84153
|
}
|
|
83852
|
-
|
|
83853
|
-
if (this._programmaticFilterRefresh) {
|
|
83854
|
-
this._programmaticFilterRefresh = false;
|
|
83855
|
-
}
|
|
83856
84154
|
}
|
|
83857
84155
|
|
|
83858
84156
|
/**
|
|
@@ -83866,10 +84164,12 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83866
84164
|
inputResolver: (comp, ctx) => (ctx.isModal && comp.inputInBib ? comp.inputInBib : comp.input),
|
|
83867
84165
|
});
|
|
83868
84166
|
|
|
83869
|
-
this.addEventListener('focusin', () => {
|
|
84167
|
+
this.addEventListener('focusin', (event) => {
|
|
83870
84168
|
this.touched = true;
|
|
83871
84169
|
|
|
83872
|
-
|
|
84170
|
+
if (event.composedPath()[0] === this) {
|
|
84171
|
+
this.focus();
|
|
84172
|
+
}
|
|
83873
84173
|
});
|
|
83874
84174
|
|
|
83875
84175
|
this.addEventListener('auroFormElement-validated', (evt) => {
|
|
@@ -84049,6 +84349,12 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
84049
84349
|
// setting the flag unconditionally here masks the user-typed open path.
|
|
84050
84350
|
if (!this._userTyped) {
|
|
84051
84351
|
this._programmaticFilterRefresh = true;
|
|
84352
|
+
// Self-clear after this update cycle completes. This collapses
|
|
84353
|
+
// the previous scattered clear-points into one and prevents the
|
|
84354
|
+
// flag from surviving into the next user interaction.
|
|
84355
|
+
this.updateComplete.then(() => {
|
|
84356
|
+
this._programmaticFilterRefresh = false;
|
|
84357
|
+
});
|
|
84052
84358
|
}
|
|
84053
84359
|
|
|
84054
84360
|
if (this.input.value !== this.value) {
|
|
@@ -84138,10 +84444,6 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
84138
84444
|
} else if (!this.dropdown.isBibFullscreen) {
|
|
84139
84445
|
this.hideBib();
|
|
84140
84446
|
}
|
|
84141
|
-
|
|
84142
|
-
if (this._programmaticFilterRefresh) {
|
|
84143
|
-
this._programmaticFilterRefresh = false;
|
|
84144
|
-
}
|
|
84145
84447
|
}
|
|
84146
84448
|
|
|
84147
84449
|
if (changedProperties.has('error')) {
|
|
@@ -84323,7 +84625,7 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
84323
84625
|
<slot @slotchange="${this.handleSlotChange}"></slot>
|
|
84324
84626
|
<${this.inputTag}
|
|
84325
84627
|
id="inputInBib"
|
|
84326
|
-
autofocus
|
|
84628
|
+
?autofocus="${this.dropdownOpen && this.dropdown?.isBibFullscreen}"
|
|
84327
84629
|
@input="${this.handleInputValueChange}"
|
|
84328
84630
|
.a11yActivedescendant="${this.dropdownOpen && this.optionActive ? this.optionActive.id : undefined}"
|
|
84329
84631
|
.a11yControls=${`${this.dropdownId}-floater-bib`}
|
|
@@ -90854,7 +91156,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
90854
91156
|
}
|
|
90855
91157
|
};
|
|
90856
91158
|
|
|
90857
|
-
var formkitVersion$1 = '
|
|
91159
|
+
var formkitVersion$1 = '202607161943';
|
|
90858
91160
|
|
|
90859
91161
|
class AuroElement extends i$3 {
|
|
90860
91162
|
static get properties() {
|
|
@@ -90983,7 +91285,6 @@ class AuroDropdown extends AuroElement {
|
|
|
90983
91285
|
static get shadowRootOptions() {
|
|
90984
91286
|
return {
|
|
90985
91287
|
...AuroElement.shadowRootOptions,
|
|
90986
|
-
delegatesFocus: true,
|
|
90987
91288
|
};
|
|
90988
91289
|
}
|
|
90989
91290
|
|
|
@@ -90995,6 +91296,15 @@ class AuroDropdown extends AuroElement {
|
|
|
90995
91296
|
this.matchWidth = false;
|
|
90996
91297
|
this.noHideOnThisFocusLoss = false;
|
|
90997
91298
|
|
|
91299
|
+
/**
|
|
91300
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
91301
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
91302
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
91303
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
91304
|
+
* @private
|
|
91305
|
+
*/
|
|
91306
|
+
this.noFocusRestoreOnClose = false;
|
|
91307
|
+
|
|
90998
91308
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
90999
91309
|
|
|
91000
91310
|
// Layout Config
|
|
@@ -91150,7 +91460,49 @@ class AuroDropdown extends AuroElement {
|
|
|
91150
91460
|
focusables[0].focus();
|
|
91151
91461
|
}
|
|
91152
91462
|
} else {
|
|
91463
|
+
this.focusTrigger();
|
|
91464
|
+
}
|
|
91465
|
+
}
|
|
91466
|
+
|
|
91467
|
+
/**
|
|
91468
|
+
* Focus the trigger content. When the trigger wrapper itself is focusable
|
|
91469
|
+
* (has tabindex), focus it directly. Otherwise, focus the first focusable
|
|
91470
|
+
* element slotted into the trigger slot (e.g. the auro-input).
|
|
91471
|
+
* @private
|
|
91472
|
+
*/
|
|
91473
|
+
focusTrigger() {
|
|
91474
|
+
if (this.trigger.hasAttribute('tabindex')) {
|
|
91153
91475
|
this.trigger.focus();
|
|
91476
|
+
} else {
|
|
91477
|
+
// Slotted content isn't a DOM child of the trigger div, so
|
|
91478
|
+
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
91479
|
+
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
91480
|
+
if (slot) {
|
|
91481
|
+
const assigned = slot.assignedElements();
|
|
91482
|
+
for (const el of assigned) {
|
|
91483
|
+
if (el.hasAttribute('disabled')) {
|
|
91484
|
+
continue;
|
|
91485
|
+
}
|
|
91486
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
91487
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
91488
|
+
// focusing the element directly (works for custom elements like
|
|
91489
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
91490
|
+
const descendants = getFocusableElements(el);
|
|
91491
|
+
if (descendants.length > 0) {
|
|
91492
|
+
descendants[0].focus();
|
|
91493
|
+
return;
|
|
91494
|
+
}
|
|
91495
|
+
el.focus();
|
|
91496
|
+
if (document.activeElement === el) {
|
|
91497
|
+
return;
|
|
91498
|
+
}
|
|
91499
|
+
}
|
|
91500
|
+
}
|
|
91501
|
+
// Fallback: try DOM children (non-slotted content)
|
|
91502
|
+
const focusables = getFocusableElements(this.trigger);
|
|
91503
|
+
if (focusables.length > 0) {
|
|
91504
|
+
focusables[0].focus();
|
|
91505
|
+
}
|
|
91154
91506
|
}
|
|
91155
91507
|
}
|
|
91156
91508
|
|
|
@@ -91603,15 +91955,17 @@ class AuroDropdown extends AuroElement {
|
|
|
91603
91955
|
}
|
|
91604
91956
|
|
|
91605
91957
|
const eventType = event.detail.eventType || "unknown";
|
|
91606
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
91607
|
-
this.
|
|
91958
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
91959
|
+
this.focusTrigger();
|
|
91608
91960
|
}
|
|
91609
91961
|
|
|
91610
91962
|
|
|
91611
91963
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
91612
91964
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
91613
91965
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
91614
|
-
|
|
91966
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
91967
|
+
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
91968
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
91615
91969
|
// wait til the bib gets fully closed and rendered
|
|
91616
91970
|
setTimeout(() => {
|
|
91617
91971
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -91623,7 +91977,7 @@ class AuroDropdown extends AuroElement {
|
|
|
91623
91977
|
return;
|
|
91624
91978
|
}
|
|
91625
91979
|
// Restore focus to the trigger.
|
|
91626
|
-
this.
|
|
91980
|
+
this.focusTrigger();
|
|
91627
91981
|
});
|
|
91628
91982
|
}
|
|
91629
91983
|
}
|
|
@@ -92897,7 +93251,7 @@ class AuroHelpText extends i$3 {
|
|
|
92897
93251
|
}
|
|
92898
93252
|
}
|
|
92899
93253
|
|
|
92900
|
-
var formkitVersion = '
|
|
93254
|
+
var formkitVersion = '202607161943';
|
|
92901
93255
|
|
|
92902
93256
|
var styleCss = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.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, 300);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, 300);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, 0.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, 0.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, 0.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, 0.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, 0.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, 0.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(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
92903
93257
|
|