@aurodesignsystem-dev/auro-formkit 0.0.0-pr1554.13 → 0.0.0-pr1554.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.min.js +33 -44
- package/components/combobox/demo/getting-started.min.js +33 -44
- package/components/combobox/demo/index.min.js +33 -44
- package/components/combobox/dist/index.js +33 -44
- package/components/combobox/dist/registered.js +33 -44
- package/components/counter/demo/customize.min.js +20 -14
- package/components/counter/demo/index.min.js +20 -14
- package/components/counter/dist/index.js +20 -14
- package/components/counter/dist/registered.js +20 -14
- package/components/datepicker/demo/customize.min.js +22 -20
- package/components/datepicker/demo/index.min.js +22 -20
- package/components/datepicker/dist/index.js +22 -20
- package/components/datepicker/dist/registered.js +22 -20
- package/components/dropdown/demo/customize.min.js +19 -13
- package/components/dropdown/demo/getting-started.min.js +19 -13
- package/components/dropdown/demo/index.min.js +19 -13
- package/components/dropdown/dist/auro-dropdown.d.ts +8 -0
- package/components/dropdown/dist/index.js +19 -13
- package/components/dropdown/dist/registered.js +19 -13
- package/components/form/demo/customize.min.js +99 -100
- package/components/form/demo/getting-started.min.js +99 -100
- package/components/form/demo/index.min.js +99 -100
- package/components/form/demo/registerDemoDeps.min.js +99 -100
- package/components/input/demo/customize.min.js +2 -6
- package/components/input/demo/getting-started.min.js +2 -6
- package/components/input/demo/index.min.js +2 -6
- package/components/input/dist/index.js +2 -6
- package/components/input/dist/registered.js +2 -6
- 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 +20 -14
- package/components/select/demo/getting-started.min.js +20 -14
- package/components/select/demo/index.min.js +20 -14
- package/components/select/dist/index.js +20 -14
- package/components/select/dist/registered.js +20 -14
- package/custom-elements.json +10 -0
- package/package.json +1 -1
|
@@ -13669,7 +13669,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
13669
13669
|
}
|
|
13670
13670
|
}
|
|
13671
13671
|
|
|
13672
|
-
var formkitVersion$2 = '
|
|
13672
|
+
var formkitVersion$2 = '202607160755';
|
|
13673
13673
|
|
|
13674
13674
|
let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=literal`${unsafeStatic(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1 = 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=css`: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}
|
|
13675
13675
|
`,u$4=css`.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}}
|
|
@@ -19397,7 +19397,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
19397
19397
|
}
|
|
19398
19398
|
};
|
|
19399
19399
|
|
|
19400
|
-
var formkitVersion$1 = '
|
|
19400
|
+
var formkitVersion$1 = '202607160755';
|
|
19401
19401
|
|
|
19402
19402
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
19403
19403
|
static get properties() {
|
|
@@ -19537,6 +19537,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
19537
19537
|
this.matchWidth = false;
|
|
19538
19538
|
this.noHideOnThisFocusLoss = false;
|
|
19539
19539
|
|
|
19540
|
+
/**
|
|
19541
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
19542
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
19543
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
19544
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
19545
|
+
* @private
|
|
19546
|
+
*/
|
|
19547
|
+
this.noFocusRestoreOnClose = false;
|
|
19548
|
+
|
|
19540
19549
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
19541
19550
|
|
|
19542
19551
|
// Layout Config
|
|
@@ -19710,25 +19719,22 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
19710
19719
|
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
19711
19720
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
19712
19721
|
if (slot) {
|
|
19713
|
-
const assigned = slot.assignedElements(
|
|
19722
|
+
const assigned = slot.assignedElements();
|
|
19714
19723
|
for (const el of assigned) {
|
|
19715
19724
|
if (el.hasAttribute('disabled')) {
|
|
19716
19725
|
continue;
|
|
19717
19726
|
}
|
|
19718
|
-
|
|
19719
|
-
//
|
|
19727
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
19728
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
19729
|
+
// focusing the element directly (works for custom elements like
|
|
19730
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
19720
19731
|
const descendants = getFocusableElements(el);
|
|
19721
19732
|
if (descendants.length > 0) {
|
|
19722
19733
|
descendants[0].focus();
|
|
19723
19734
|
return;
|
|
19724
19735
|
}
|
|
19725
|
-
|
|
19726
|
-
// Otherwise, try focusing the assigned element itself. Only stop if focus moved.
|
|
19727
|
-
const prevActive = document.activeElement;
|
|
19728
19736
|
el.focus();
|
|
19729
|
-
|
|
19730
|
-
return;
|
|
19731
|
-
}
|
|
19737
|
+
return;
|
|
19732
19738
|
}
|
|
19733
19739
|
}
|
|
19734
19740
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -20188,7 +20194,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
20188
20194
|
}
|
|
20189
20195
|
|
|
20190
20196
|
const eventType = event.detail.eventType || "unknown";
|
|
20191
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.
|
|
20197
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
20192
20198
|
this.focusTrigger();
|
|
20193
20199
|
}
|
|
20194
20200
|
|
|
@@ -20196,9 +20202,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
20196
20202
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
20197
20203
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
20198
20204
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
20199
|
-
// When
|
|
20205
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
20200
20206
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
20201
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
20207
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
20202
20208
|
// wait til the bib gets fully closed and rendered
|
|
20203
20209
|
setTimeout(() => {
|
|
20204
20210
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -33064,7 +33070,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
33064
33070
|
}
|
|
33065
33071
|
};
|
|
33066
33072
|
|
|
33067
|
-
var formkitVersion = '
|
|
33073
|
+
var formkitVersion = '202607160755';
|
|
33068
33074
|
|
|
33069
33075
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
33070
33076
|
// See LICENSE in the project root for license information.
|
|
@@ -33358,15 +33364,11 @@ class AuroInput extends BaseInput {
|
|
|
33358
33364
|
// Check for any element (including custom elements like <auro-icon>
|
|
33359
33365
|
// that render via shadow DOM with no text content).
|
|
33360
33366
|
const lightDomContent = this.querySelector('[slot="displayValue"]:not(slot)');
|
|
33361
|
-
|
|
33367
|
+
this.hasDisplayValueContent = Boolean(lightDomContent && (
|
|
33362
33368
|
lightDomContent.textContent.trim().length > 0 ||
|
|
33363
33369
|
lightDomContent.children.length > 0 ||
|
|
33364
33370
|
lightDomContent.shadowRoot !== null
|
|
33365
33371
|
));
|
|
33366
|
-
if (nextHasDisplayValueContent !== this.hasDisplayValueContent) {
|
|
33367
|
-
this.hasDisplayValueContent = nextHasDisplayValueContent;
|
|
33368
|
-
this.requestUpdate();
|
|
33369
|
-
}
|
|
33370
33372
|
return;
|
|
33371
33373
|
}
|
|
33372
33374
|
const nodes = slot.assignedNodes({ flatten: true });
|
|
@@ -3777,7 +3777,7 @@ class AuroHelpText extends i {
|
|
|
3777
3777
|
}
|
|
3778
3778
|
}
|
|
3779
3779
|
|
|
3780
|
-
var formkitVersion = '
|
|
3780
|
+
var formkitVersion = '202607160755';
|
|
3781
3781
|
|
|
3782
3782
|
class AuroElement extends i {
|
|
3783
3783
|
static get properties() {
|
|
@@ -3917,6 +3917,15 @@ class AuroDropdown extends AuroElement {
|
|
|
3917
3917
|
this.matchWidth = false;
|
|
3918
3918
|
this.noHideOnThisFocusLoss = false;
|
|
3919
3919
|
|
|
3920
|
+
/**
|
|
3921
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
3922
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
3923
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
3924
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
3925
|
+
* @private
|
|
3926
|
+
*/
|
|
3927
|
+
this.noFocusRestoreOnClose = false;
|
|
3928
|
+
|
|
3920
3929
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
3921
3930
|
|
|
3922
3931
|
// Layout Config
|
|
@@ -4090,25 +4099,22 @@ class AuroDropdown extends AuroElement {
|
|
|
4090
4099
|
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
4091
4100
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
4092
4101
|
if (slot) {
|
|
4093
|
-
const assigned = slot.assignedElements(
|
|
4102
|
+
const assigned = slot.assignedElements();
|
|
4094
4103
|
for (const el of assigned) {
|
|
4095
4104
|
if (el.hasAttribute('disabled')) {
|
|
4096
4105
|
continue;
|
|
4097
4106
|
}
|
|
4098
|
-
|
|
4099
|
-
//
|
|
4107
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
4108
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
4109
|
+
// focusing the element directly (works for custom elements like
|
|
4110
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
4100
4111
|
const descendants = getFocusableElements(el);
|
|
4101
4112
|
if (descendants.length > 0) {
|
|
4102
4113
|
descendants[0].focus();
|
|
4103
4114
|
return;
|
|
4104
4115
|
}
|
|
4105
|
-
|
|
4106
|
-
// Otherwise, try focusing the assigned element itself. Only stop if focus moved.
|
|
4107
|
-
const prevActive = document.activeElement;
|
|
4108
4116
|
el.focus();
|
|
4109
|
-
|
|
4110
|
-
return;
|
|
4111
|
-
}
|
|
4117
|
+
return;
|
|
4112
4118
|
}
|
|
4113
4119
|
}
|
|
4114
4120
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -4568,7 +4574,7 @@ class AuroDropdown extends AuroElement {
|
|
|
4568
4574
|
}
|
|
4569
4575
|
|
|
4570
4576
|
const eventType = event.detail.eventType || "unknown";
|
|
4571
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.
|
|
4577
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
4572
4578
|
this.focusTrigger();
|
|
4573
4579
|
}
|
|
4574
4580
|
|
|
@@ -4576,9 +4582,9 @@ class AuroDropdown extends AuroElement {
|
|
|
4576
4582
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
4577
4583
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
4578
4584
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
4579
|
-
// When
|
|
4585
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
4580
4586
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
4581
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
4587
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
4582
4588
|
// wait til the bib gets fully closed and rendered
|
|
4583
4589
|
setTimeout(() => {
|
|
4584
4590
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -3777,7 +3777,7 @@ class AuroHelpText extends i {
|
|
|
3777
3777
|
}
|
|
3778
3778
|
}
|
|
3779
3779
|
|
|
3780
|
-
var formkitVersion = '
|
|
3780
|
+
var formkitVersion = '202607160755';
|
|
3781
3781
|
|
|
3782
3782
|
class AuroElement extends i {
|
|
3783
3783
|
static get properties() {
|
|
@@ -3917,6 +3917,15 @@ class AuroDropdown extends AuroElement {
|
|
|
3917
3917
|
this.matchWidth = false;
|
|
3918
3918
|
this.noHideOnThisFocusLoss = false;
|
|
3919
3919
|
|
|
3920
|
+
/**
|
|
3921
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
3922
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
3923
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
3924
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
3925
|
+
* @private
|
|
3926
|
+
*/
|
|
3927
|
+
this.noFocusRestoreOnClose = false;
|
|
3928
|
+
|
|
3920
3929
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
3921
3930
|
|
|
3922
3931
|
// Layout Config
|
|
@@ -4090,25 +4099,22 @@ class AuroDropdown extends AuroElement {
|
|
|
4090
4099
|
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
4091
4100
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
4092
4101
|
if (slot) {
|
|
4093
|
-
const assigned = slot.assignedElements(
|
|
4102
|
+
const assigned = slot.assignedElements();
|
|
4094
4103
|
for (const el of assigned) {
|
|
4095
4104
|
if (el.hasAttribute('disabled')) {
|
|
4096
4105
|
continue;
|
|
4097
4106
|
}
|
|
4098
|
-
|
|
4099
|
-
//
|
|
4107
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
4108
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
4109
|
+
// focusing the element directly (works for custom elements like
|
|
4110
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
4100
4111
|
const descendants = getFocusableElements(el);
|
|
4101
4112
|
if (descendants.length > 0) {
|
|
4102
4113
|
descendants[0].focus();
|
|
4103
4114
|
return;
|
|
4104
4115
|
}
|
|
4105
|
-
|
|
4106
|
-
// Otherwise, try focusing the assigned element itself. Only stop if focus moved.
|
|
4107
|
-
const prevActive = document.activeElement;
|
|
4108
4116
|
el.focus();
|
|
4109
|
-
|
|
4110
|
-
return;
|
|
4111
|
-
}
|
|
4117
|
+
return;
|
|
4112
4118
|
}
|
|
4113
4119
|
}
|
|
4114
4120
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -4568,7 +4574,7 @@ class AuroDropdown extends AuroElement {
|
|
|
4568
4574
|
}
|
|
4569
4575
|
|
|
4570
4576
|
const eventType = event.detail.eventType || "unknown";
|
|
4571
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.
|
|
4577
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
4572
4578
|
this.focusTrigger();
|
|
4573
4579
|
}
|
|
4574
4580
|
|
|
@@ -4576,9 +4582,9 @@ class AuroDropdown extends AuroElement {
|
|
|
4576
4582
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
4577
4583
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
4578
4584
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
4579
|
-
// When
|
|
4585
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
4580
4586
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
4581
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
4587
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
4582
4588
|
// wait til the bib gets fully closed and rendered
|
|
4583
4589
|
setTimeout(() => {
|
|
4584
4590
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -3804,7 +3804,7 @@ class AuroHelpText extends i {
|
|
|
3804
3804
|
}
|
|
3805
3805
|
}
|
|
3806
3806
|
|
|
3807
|
-
var formkitVersion = '
|
|
3807
|
+
var formkitVersion = '202607160755';
|
|
3808
3808
|
|
|
3809
3809
|
class AuroElement extends i {
|
|
3810
3810
|
static get properties() {
|
|
@@ -3944,6 +3944,15 @@ class AuroDropdown extends AuroElement {
|
|
|
3944
3944
|
this.matchWidth = false;
|
|
3945
3945
|
this.noHideOnThisFocusLoss = false;
|
|
3946
3946
|
|
|
3947
|
+
/**
|
|
3948
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
3949
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
3950
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
3951
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
3952
|
+
* @private
|
|
3953
|
+
*/
|
|
3954
|
+
this.noFocusRestoreOnClose = false;
|
|
3955
|
+
|
|
3947
3956
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
3948
3957
|
|
|
3949
3958
|
// Layout Config
|
|
@@ -4117,25 +4126,22 @@ class AuroDropdown extends AuroElement {
|
|
|
4117
4126
|
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
4118
4127
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
4119
4128
|
if (slot) {
|
|
4120
|
-
const assigned = slot.assignedElements(
|
|
4129
|
+
const assigned = slot.assignedElements();
|
|
4121
4130
|
for (const el of assigned) {
|
|
4122
4131
|
if (el.hasAttribute('disabled')) {
|
|
4123
4132
|
continue;
|
|
4124
4133
|
}
|
|
4125
|
-
|
|
4126
|
-
//
|
|
4134
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
4135
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
4136
|
+
// focusing the element directly (works for custom elements like
|
|
4137
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
4127
4138
|
const descendants = getFocusableElements(el);
|
|
4128
4139
|
if (descendants.length > 0) {
|
|
4129
4140
|
descendants[0].focus();
|
|
4130
4141
|
return;
|
|
4131
4142
|
}
|
|
4132
|
-
|
|
4133
|
-
// Otherwise, try focusing the assigned element itself. Only stop if focus moved.
|
|
4134
|
-
const prevActive = document.activeElement;
|
|
4135
4143
|
el.focus();
|
|
4136
|
-
|
|
4137
|
-
return;
|
|
4138
|
-
}
|
|
4144
|
+
return;
|
|
4139
4145
|
}
|
|
4140
4146
|
}
|
|
4141
4147
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -4595,7 +4601,7 @@ class AuroDropdown extends AuroElement {
|
|
|
4595
4601
|
}
|
|
4596
4602
|
|
|
4597
4603
|
const eventType = event.detail.eventType || "unknown";
|
|
4598
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.
|
|
4604
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
4599
4605
|
this.focusTrigger();
|
|
4600
4606
|
}
|
|
4601
4607
|
|
|
@@ -4603,9 +4609,9 @@ class AuroDropdown extends AuroElement {
|
|
|
4603
4609
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
4604
4610
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
4605
4611
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
4606
|
-
// When
|
|
4612
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
4607
4613
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
4608
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
4614
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
4609
4615
|
// wait til the bib gets fully closed and rendered
|
|
4610
4616
|
setTimeout(() => {
|
|
4611
4617
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -267,6 +267,14 @@ export class AuroDropdown extends AuroElement {
|
|
|
267
267
|
isBibFullscreen: boolean;
|
|
268
268
|
matchWidth: boolean;
|
|
269
269
|
noHideOnThisFocusLoss: boolean;
|
|
270
|
+
/**
|
|
271
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
272
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
273
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
274
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
275
|
+
* @private
|
|
276
|
+
*/
|
|
277
|
+
private noFocusRestoreOnClose;
|
|
270
278
|
errorMessage: any;
|
|
271
279
|
layout: any;
|
|
272
280
|
shape: any;
|
|
@@ -3709,7 +3709,7 @@ class AuroHelpText extends LitElement {
|
|
|
3709
3709
|
}
|
|
3710
3710
|
}
|
|
3711
3711
|
|
|
3712
|
-
var formkitVersion = '
|
|
3712
|
+
var formkitVersion = '202607160755';
|
|
3713
3713
|
|
|
3714
3714
|
class AuroElement extends LitElement {
|
|
3715
3715
|
static get properties() {
|
|
@@ -3849,6 +3849,15 @@ class AuroDropdown extends AuroElement {
|
|
|
3849
3849
|
this.matchWidth = false;
|
|
3850
3850
|
this.noHideOnThisFocusLoss = false;
|
|
3851
3851
|
|
|
3852
|
+
/**
|
|
3853
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
3854
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
3855
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
3856
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
3857
|
+
* @private
|
|
3858
|
+
*/
|
|
3859
|
+
this.noFocusRestoreOnClose = false;
|
|
3860
|
+
|
|
3852
3861
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
3853
3862
|
|
|
3854
3863
|
// Layout Config
|
|
@@ -4022,25 +4031,22 @@ class AuroDropdown extends AuroElement {
|
|
|
4022
4031
|
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
4023
4032
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
4024
4033
|
if (slot) {
|
|
4025
|
-
const assigned = slot.assignedElements(
|
|
4034
|
+
const assigned = slot.assignedElements();
|
|
4026
4035
|
for (const el of assigned) {
|
|
4027
4036
|
if (el.hasAttribute('disabled')) {
|
|
4028
4037
|
continue;
|
|
4029
4038
|
}
|
|
4030
|
-
|
|
4031
|
-
//
|
|
4039
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
4040
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
4041
|
+
// focusing the element directly (works for custom elements like
|
|
4042
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
4032
4043
|
const descendants = getFocusableElements(el);
|
|
4033
4044
|
if (descendants.length > 0) {
|
|
4034
4045
|
descendants[0].focus();
|
|
4035
4046
|
return;
|
|
4036
4047
|
}
|
|
4037
|
-
|
|
4038
|
-
// Otherwise, try focusing the assigned element itself. Only stop if focus moved.
|
|
4039
|
-
const prevActive = document.activeElement;
|
|
4040
4048
|
el.focus();
|
|
4041
|
-
|
|
4042
|
-
return;
|
|
4043
|
-
}
|
|
4049
|
+
return;
|
|
4044
4050
|
}
|
|
4045
4051
|
}
|
|
4046
4052
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -4500,7 +4506,7 @@ class AuroDropdown extends AuroElement {
|
|
|
4500
4506
|
}
|
|
4501
4507
|
|
|
4502
4508
|
const eventType = event.detail.eventType || "unknown";
|
|
4503
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.
|
|
4509
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
4504
4510
|
this.focusTrigger();
|
|
4505
4511
|
}
|
|
4506
4512
|
|
|
@@ -4508,9 +4514,9 @@ class AuroDropdown extends AuroElement {
|
|
|
4508
4514
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
4509
4515
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
4510
4516
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
4511
|
-
// When
|
|
4517
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
4512
4518
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
4513
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
4519
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
4514
4520
|
// wait til the bib gets fully closed and rendered
|
|
4515
4521
|
setTimeout(() => {
|
|
4516
4522
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|
|
@@ -3709,7 +3709,7 @@ class AuroHelpText extends LitElement {
|
|
|
3709
3709
|
}
|
|
3710
3710
|
}
|
|
3711
3711
|
|
|
3712
|
-
var formkitVersion = '
|
|
3712
|
+
var formkitVersion = '202607160755';
|
|
3713
3713
|
|
|
3714
3714
|
class AuroElement extends LitElement {
|
|
3715
3715
|
static get properties() {
|
|
@@ -3849,6 +3849,15 @@ class AuroDropdown extends AuroElement {
|
|
|
3849
3849
|
this.matchWidth = false;
|
|
3850
3850
|
this.noHideOnThisFocusLoss = false;
|
|
3851
3851
|
|
|
3852
|
+
/**
|
|
3853
|
+
* When true, the dropdown skips its generic focus restoration on close.
|
|
3854
|
+
* Set by consumers (e.g. combobox) that manage their own focus routing
|
|
3855
|
+
* via setClearBtnFocus / setInputFocus / keyboard strategy.
|
|
3856
|
+
* Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
|
|
3857
|
+
* @private
|
|
3858
|
+
*/
|
|
3859
|
+
this.noFocusRestoreOnClose = false;
|
|
3860
|
+
|
|
3852
3861
|
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
3853
3862
|
|
|
3854
3863
|
// Layout Config
|
|
@@ -4022,25 +4031,22 @@ class AuroDropdown extends AuroElement {
|
|
|
4022
4031
|
// getFocusableElements can't find it. Query assigned nodes directly.
|
|
4023
4032
|
const slot = this.trigger.querySelector('slot[name="trigger"]');
|
|
4024
4033
|
if (slot) {
|
|
4025
|
-
const assigned = slot.assignedElements(
|
|
4034
|
+
const assigned = slot.assignedElements();
|
|
4026
4035
|
for (const el of assigned) {
|
|
4027
4036
|
if (el.hasAttribute('disabled')) {
|
|
4028
4037
|
continue;
|
|
4029
4038
|
}
|
|
4030
|
-
|
|
4031
|
-
//
|
|
4039
|
+
// Try finding a focusable descendant first (handles non-focusable
|
|
4040
|
+
// wrappers like <div> containing a <button>). If none found, try
|
|
4041
|
+
// focusing the element directly (works for custom elements like
|
|
4042
|
+
// auro-input that have delegatesFocus or a custom focus() method).
|
|
4032
4043
|
const descendants = getFocusableElements(el);
|
|
4033
4044
|
if (descendants.length > 0) {
|
|
4034
4045
|
descendants[0].focus();
|
|
4035
4046
|
return;
|
|
4036
4047
|
}
|
|
4037
|
-
|
|
4038
|
-
// Otherwise, try focusing the assigned element itself. Only stop if focus moved.
|
|
4039
|
-
const prevActive = document.activeElement;
|
|
4040
4048
|
el.focus();
|
|
4041
|
-
|
|
4042
|
-
return;
|
|
4043
|
-
}
|
|
4049
|
+
return;
|
|
4044
4050
|
}
|
|
4045
4051
|
}
|
|
4046
4052
|
// Fallback: try DOM children (non-slotted content)
|
|
@@ -4500,7 +4506,7 @@ class AuroDropdown extends AuroElement {
|
|
|
4500
4506
|
}
|
|
4501
4507
|
|
|
4502
4508
|
const eventType = event.detail.eventType || "unknown";
|
|
4503
|
-
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.
|
|
4509
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
|
|
4504
4510
|
this.focusTrigger();
|
|
4505
4511
|
}
|
|
4506
4512
|
|
|
@@ -4508,9 +4514,9 @@ class AuroDropdown extends AuroElement {
|
|
|
4508
4514
|
// On Tab-driven close (eventType "focusloss"), let focus advance naturally
|
|
4509
4515
|
// — restoring to the trigger would trap the user on this dropdown, forcing
|
|
4510
4516
|
// an extra Tab to move on. Escape and outside-click still restore.
|
|
4511
|
-
// When
|
|
4517
|
+
// When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
|
|
4512
4518
|
// its own focus restoration — skip the generic trigger focus to avoid races.
|
|
4513
|
-
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.
|
|
4519
|
+
if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
|
|
4514
4520
|
// wait til the bib gets fully closed and rendered
|
|
4515
4521
|
setTimeout(() => {
|
|
4516
4522
|
// Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
|