@aurodesignsystem-dev/auro-formkit 0.0.0-pr1608.0 → 0.0.0-pr1608.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/components/checkbox/demo/accessibility.md +15 -4
- package/components/checkbox/demo/customize.min.js +25 -10
- package/components/checkbox/demo/getting-started.min.js +25 -10
- package/components/checkbox/demo/index.min.js +25 -10
- package/components/checkbox/dist/auro-checkbox-group.d.ts +9 -0
- package/components/checkbox/dist/index.js +25 -10
- package/components/checkbox/dist/registered.js +25 -10
- package/components/combobox/demo/customize.min.js +46 -4
- package/components/combobox/demo/getting-started.min.js +46 -4
- package/components/combobox/demo/index.min.js +46 -4
- package/components/combobox/dist/index.js +46 -4
- package/components/combobox/dist/registered.js +46 -4
- package/components/counter/demo/customize.min.js +339 -23
- package/components/counter/demo/getting-started.min.js +339 -23
- package/components/counter/demo/index.min.js +339 -23
- package/components/counter/dist/counterGroupKeyboardStrategy.d.ts +1 -0
- package/components/counter/dist/index.js +339 -23
- package/components/counter/dist/registered.js +339 -23
- package/components/datepicker/demo/customize.min.js +46 -4
- package/components/datepicker/demo/getting-started.min.js +46 -4
- package/components/datepicker/demo/index.min.js +46 -4
- package/components/datepicker/dist/index.js +46 -4
- package/components/datepicker/dist/registered.js +46 -4
- package/components/dropdown/demo/customize.min.js +44 -2
- package/components/dropdown/demo/getting-started.min.js +45 -3
- package/components/dropdown/demo/index.min.js +44 -2
- package/components/dropdown/dist/index.js +44 -2
- package/components/dropdown/dist/registered.js +44 -2
- package/components/form/demo/customize.min.js +527 -57
- package/components/form/demo/getting-started.min.js +527 -57
- package/components/form/demo/index.min.js +527 -57
- package/components/form/demo/registerDemoDeps.min.js +527 -57
- package/components/input/demo/customize.min.js +1 -1
- package/components/input/demo/getting-started.min.js +1 -1
- package/components/input/demo/index.min.js +1 -1
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/radio/demo/accessibility.md +13 -4
- package/components/radio/demo/customize.min.js +25 -12
- package/components/radio/demo/getting-started.min.js +25 -12
- package/components/radio/demo/index.min.js +25 -12
- package/components/radio/dist/auro-radio-group.d.ts +9 -0
- package/components/radio/dist/index.js +25 -12
- package/components/radio/dist/registered.js +25 -12
- package/components/select/demo/customize.min.js +45 -3
- package/components/select/demo/getting-started.min.js +45 -3
- package/components/select/demo/index.min.js +45 -3
- package/components/select/dist/index.js +45 -3
- package/components/select/dist/registered.js +45 -3
- package/custom-elements.json +1507 -1485
- package/package.json +3 -3
|
@@ -13521,7 +13521,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
|
|
|
13521
13521
|
}
|
|
13522
13522
|
};
|
|
13523
13523
|
|
|
13524
|
-
var formkitVersion$8 = '
|
|
13524
|
+
var formkitVersion$8 = '202609022217';
|
|
13525
13525
|
|
|
13526
13526
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13527
13527
|
// See LICENSE in the project root for license information.
|
|
@@ -28084,7 +28084,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
28084
28084
|
}
|
|
28085
28085
|
};
|
|
28086
28086
|
|
|
28087
|
-
var formkitVersion$2$1 = '
|
|
28087
|
+
var formkitVersion$2$1 = '202609022217';
|
|
28088
28088
|
|
|
28089
28089
|
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}
|
|
28090
28090
|
`,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}}
|
|
@@ -31865,6 +31865,48 @@ const computePosition$4 = (reference, floating, options) => {
|
|
|
31865
31865
|
});
|
|
31866
31866
|
};
|
|
31867
31867
|
|
|
31868
|
+
/**
|
|
31869
|
+
* Generates a v4 UUID with a three-tier fallback for insecure contexts.
|
|
31870
|
+
*
|
|
31871
|
+
* Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
|
|
31872
|
+
* Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
|
|
31873
|
+
* modern browsers regardless of secure-context status.
|
|
31874
|
+
* Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
|
|
31875
|
+
* but sufficient for element IDs where collision risk is negligible.
|
|
31876
|
+
*
|
|
31877
|
+
* See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
|
|
31878
|
+
*/
|
|
31879
|
+
function generateUUID$3() {
|
|
31880
|
+
let uuid;
|
|
31881
|
+
|
|
31882
|
+
if (
|
|
31883
|
+
typeof crypto !== "undefined" &&
|
|
31884
|
+
typeof crypto.randomUUID === "function"
|
|
31885
|
+
) {
|
|
31886
|
+
uuid = crypto.randomUUID();
|
|
31887
|
+
} else if (
|
|
31888
|
+
typeof crypto !== "undefined" &&
|
|
31889
|
+
typeof crypto.getRandomValues === "function"
|
|
31890
|
+
) {
|
|
31891
|
+
const bytes = new Uint8Array(16);
|
|
31892
|
+
crypto.getRandomValues(bytes);
|
|
31893
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
31894
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
31895
|
+
const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
|
|
31896
|
+
uuid = `${hex.slice(0, 4).join("")}-${hex.slice(4, 6).join("")}-${hex.slice(6, 8).join("")}-${hex.slice(8, 10).join("")}-${hex.slice(10).join("")}`;
|
|
31897
|
+
} else {
|
|
31898
|
+
let d = new Date().getTime();
|
|
31899
|
+
uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
31900
|
+
const r = (d % 16) | 0;
|
|
31901
|
+
d = (d - r) / 16 || new Date().getTime();
|
|
31902
|
+
return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
|
|
31903
|
+
});
|
|
31904
|
+
}
|
|
31905
|
+
|
|
31906
|
+
// CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
|
|
31907
|
+
return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
|
|
31908
|
+
}
|
|
31909
|
+
|
|
31868
31910
|
/* eslint-disable line-comment-position, no-inline-comments */
|
|
31869
31911
|
|
|
31870
31912
|
|
|
@@ -32883,7 +32925,7 @@ let AuroFloatingUI$3 = class AuroFloatingUI {
|
|
|
32883
32925
|
|
|
32884
32926
|
this.id = element.getAttribute("id");
|
|
32885
32927
|
if (!this.id) {
|
|
32886
|
-
this.id =
|
|
32928
|
+
this.id = generateUUID$3();
|
|
32887
32929
|
element.setAttribute("id", this.id);
|
|
32888
32930
|
}
|
|
32889
32931
|
|
|
@@ -33928,7 +33970,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
33928
33970
|
}
|
|
33929
33971
|
};
|
|
33930
33972
|
|
|
33931
|
-
var formkitVersion$1$3 = '
|
|
33973
|
+
var formkitVersion$1$3 = '202609022217';
|
|
33932
33974
|
|
|
33933
33975
|
/**
|
|
33934
33976
|
* AuroElement is the shared base class for layout-aware Auro form components.
|
|
@@ -47790,7 +47832,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
|
|
|
47790
47832
|
}
|
|
47791
47833
|
};
|
|
47792
47834
|
|
|
47793
|
-
var formkitVersion$7 = '
|
|
47835
|
+
var formkitVersion$7 = '202609022217';
|
|
47794
47836
|
|
|
47795
47837
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
47796
47838
|
// See LICENSE in the project root for license information.
|
|
@@ -52896,7 +52938,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
52896
52938
|
}
|
|
52897
52939
|
};
|
|
52898
52940
|
|
|
52899
|
-
var formkitVersion$1$2 = '
|
|
52941
|
+
var formkitVersion$1$2 = '202609022217';
|
|
52900
52942
|
|
|
52901
52943
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
52902
52944
|
// See LICENSE in the project root for license information.
|
|
@@ -55133,6 +55175,48 @@ const computePosition$3 = (reference, floating, options) => {
|
|
|
55133
55175
|
});
|
|
55134
55176
|
};
|
|
55135
55177
|
|
|
55178
|
+
/**
|
|
55179
|
+
* Generates a v4 UUID with a three-tier fallback for insecure contexts.
|
|
55180
|
+
*
|
|
55181
|
+
* Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
|
|
55182
|
+
* Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
|
|
55183
|
+
* modern browsers regardless of secure-context status.
|
|
55184
|
+
* Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
|
|
55185
|
+
* but sufficient for element IDs where collision risk is negligible.
|
|
55186
|
+
*
|
|
55187
|
+
* See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
|
|
55188
|
+
*/
|
|
55189
|
+
function generateUUID$2() {
|
|
55190
|
+
let uuid;
|
|
55191
|
+
|
|
55192
|
+
if (
|
|
55193
|
+
typeof crypto !== "undefined" &&
|
|
55194
|
+
typeof crypto.randomUUID === "function"
|
|
55195
|
+
) {
|
|
55196
|
+
uuid = crypto.randomUUID();
|
|
55197
|
+
} else if (
|
|
55198
|
+
typeof crypto !== "undefined" &&
|
|
55199
|
+
typeof crypto.getRandomValues === "function"
|
|
55200
|
+
) {
|
|
55201
|
+
const bytes = new Uint8Array(16);
|
|
55202
|
+
crypto.getRandomValues(bytes);
|
|
55203
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
55204
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
55205
|
+
const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
|
|
55206
|
+
uuid = `${hex.slice(0, 4).join("")}-${hex.slice(4, 6).join("")}-${hex.slice(6, 8).join("")}-${hex.slice(8, 10).join("")}-${hex.slice(10).join("")}`;
|
|
55207
|
+
} else {
|
|
55208
|
+
let d = new Date().getTime();
|
|
55209
|
+
uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
55210
|
+
const r = (d % 16) | 0;
|
|
55211
|
+
d = (d - r) / 16 || new Date().getTime();
|
|
55212
|
+
return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
|
|
55213
|
+
});
|
|
55214
|
+
}
|
|
55215
|
+
|
|
55216
|
+
// CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
|
|
55217
|
+
return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
|
|
55218
|
+
}
|
|
55219
|
+
|
|
55136
55220
|
/* eslint-disable line-comment-position, no-inline-comments */
|
|
55137
55221
|
|
|
55138
55222
|
|
|
@@ -56151,7 +56235,7 @@ let AuroFloatingUI$2 = class AuroFloatingUI {
|
|
|
56151
56235
|
|
|
56152
56236
|
this.id = element.getAttribute("id");
|
|
56153
56237
|
if (!this.id) {
|
|
56154
|
-
this.id =
|
|
56238
|
+
this.id = generateUUID$2();
|
|
56155
56239
|
element.setAttribute("id", this.id);
|
|
56156
56240
|
}
|
|
56157
56241
|
|
|
@@ -56235,7 +56319,7 @@ let AuroFloatingUI$2 = class AuroFloatingUI {
|
|
|
56235
56319
|
};
|
|
56236
56320
|
|
|
56237
56321
|
// Selectors for focusable elements
|
|
56238
|
-
const FOCUSABLE_SELECTORS$
|
|
56322
|
+
const FOCUSABLE_SELECTORS$1$1 = [
|
|
56239
56323
|
"a[href]",
|
|
56240
56324
|
"button:not([disabled])",
|
|
56241
56325
|
"textarea:not([disabled])",
|
|
@@ -56249,7 +56333,7 @@ const FOCUSABLE_SELECTORS$3 = [
|
|
|
56249
56333
|
];
|
|
56250
56334
|
|
|
56251
56335
|
// List of custom components that are known to be focusable
|
|
56252
|
-
const FOCUSABLE_COMPONENTS$
|
|
56336
|
+
const FOCUSABLE_COMPONENTS$1$1 = [
|
|
56253
56337
|
"auro-checkbox",
|
|
56254
56338
|
"auro-radio",
|
|
56255
56339
|
"auro-dropdown",
|
|
@@ -56271,12 +56355,12 @@ const FOCUSABLE_COMPONENTS$3 = [
|
|
|
56271
56355
|
* @param {HTMLElement} element The element to check for focusability.
|
|
56272
56356
|
* @returns {boolean} True if the element is a focusable custom component, false otherwise.
|
|
56273
56357
|
*/
|
|
56274
|
-
function isFocusableComponent$
|
|
56358
|
+
function isFocusableComponent$1$1(element) {
|
|
56275
56359
|
const componentName = element.tagName.toLowerCase();
|
|
56276
56360
|
|
|
56277
56361
|
// Guard Clause: Element is a focusable component
|
|
56278
56362
|
if (
|
|
56279
|
-
!FOCUSABLE_COMPONENTS$
|
|
56363
|
+
!FOCUSABLE_COMPONENTS$1$1.some(
|
|
56280
56364
|
(name) => element.hasAttribute(name) || componentName === name,
|
|
56281
56365
|
)
|
|
56282
56366
|
)
|
|
@@ -56300,7 +56384,7 @@ function isFocusableComponent$3(element) {
|
|
|
56300
56384
|
* @param {HTMLElement} element The element whose tabindex to read.
|
|
56301
56385
|
* @returns {?number} The numeric tabindex or null if missing/invalid.
|
|
56302
56386
|
*/
|
|
56303
|
-
function getNumericTabIndex$
|
|
56387
|
+
function getNumericTabIndex$1$1(element) {
|
|
56304
56388
|
const raw = element.getAttribute("tabindex");
|
|
56305
56389
|
if (raw == null) return null;
|
|
56306
56390
|
|
|
@@ -56316,7 +56400,7 @@ function getNumericTabIndex$3(element) {
|
|
|
56316
56400
|
* @param {HTMLElement} container The container to search within
|
|
56317
56401
|
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
56318
56402
|
*/
|
|
56319
|
-
function getFocusableElements$
|
|
56403
|
+
function getFocusableElements$1$1(container) {
|
|
56320
56404
|
// Get elements in DOM order by walking the tree
|
|
56321
56405
|
const orderedFocusableElements = [];
|
|
56322
56406
|
|
|
@@ -56325,7 +56409,7 @@ function getFocusableElements$3(container) {
|
|
|
56325
56409
|
// Check if current element is focusable
|
|
56326
56410
|
if (root.nodeType === Node.ELEMENT_NODE) {
|
|
56327
56411
|
// Check if this is a custom component that is focusable
|
|
56328
|
-
const isComponentFocusable = isFocusableComponent$
|
|
56412
|
+
const isComponentFocusable = isFocusableComponent$1$1(root);
|
|
56329
56413
|
|
|
56330
56414
|
if (isComponentFocusable) {
|
|
56331
56415
|
// Add the component itself as a focusable element and don't traverse its shadow DOM
|
|
@@ -56334,7 +56418,7 @@ function getFocusableElements$3(container) {
|
|
|
56334
56418
|
}
|
|
56335
56419
|
|
|
56336
56420
|
// Check if the element itself matches any selector
|
|
56337
|
-
for (const selector of FOCUSABLE_SELECTORS$
|
|
56421
|
+
for (const selector of FOCUSABLE_SELECTORS$1$1) {
|
|
56338
56422
|
if (root.matches?.(selector)) {
|
|
56339
56423
|
orderedFocusableElements.push(root);
|
|
56340
56424
|
break; // Once we know it's focusable, no need to check other selectors
|
|
@@ -56388,20 +56472,20 @@ function getFocusableElements$3(container) {
|
|
|
56388
56472
|
|
|
56389
56473
|
// First extract elements with valid positive tabindex
|
|
56390
56474
|
const elementsWithTabindex = uniqueElements.filter((el) => {
|
|
56391
|
-
const tabindex = getNumericTabIndex$
|
|
56475
|
+
const tabindex = getNumericTabIndex$1$1(el);
|
|
56392
56476
|
return tabindex !== null && tabindex > 0;
|
|
56393
56477
|
});
|
|
56394
56478
|
|
|
56395
56479
|
// Sort these elements by their tabindex value
|
|
56396
56480
|
elementsWithTabindex.sort((a, b) => {
|
|
56397
|
-
const aIndex = getNumericTabIndex$
|
|
56398
|
-
const bIndex = getNumericTabIndex$
|
|
56481
|
+
const aIndex = getNumericTabIndex$1$1(a) ?? 0;
|
|
56482
|
+
const bIndex = getNumericTabIndex$1$1(b) ?? 0;
|
|
56399
56483
|
return aIndex - bIndex;
|
|
56400
56484
|
});
|
|
56401
56485
|
|
|
56402
56486
|
// Elements without tabindex (preserving their original order)
|
|
56403
56487
|
const elementsWithoutTabindex = uniqueElements.filter((el) => {
|
|
56404
|
-
const tabindex = getNumericTabIndex$
|
|
56488
|
+
const tabindex = getNumericTabIndex$1$1(el);
|
|
56405
56489
|
|
|
56406
56490
|
// Elements without tabindex or with tabindex of 0 stay in DOM order
|
|
56407
56491
|
return tabindex === null || tabindex === 0;
|
|
@@ -57196,7 +57280,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
57196
57280
|
}
|
|
57197
57281
|
};
|
|
57198
57282
|
|
|
57199
|
-
var formkitVersion$6 = '
|
|
57283
|
+
var formkitVersion$6 = '202609022217';
|
|
57200
57284
|
|
|
57201
57285
|
/**
|
|
57202
57286
|
* AuroElement is the shared base class for layout-aware Auro form components.
|
|
@@ -57496,7 +57580,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
57496
57580
|
*/
|
|
57497
57581
|
focus() {
|
|
57498
57582
|
if (this.isPopoverVisible && this.bibContent) {
|
|
57499
|
-
const focusables = getFocusableElements$
|
|
57583
|
+
const focusables = getFocusableElements$1$1(this.bibContent);
|
|
57500
57584
|
if (focusables.length > 0) {
|
|
57501
57585
|
focusables[0].focus();
|
|
57502
57586
|
}
|
|
@@ -57528,7 +57612,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
57528
57612
|
// wrappers like <div> containing a <button>). If none found, try
|
|
57529
57613
|
// focusing the element directly (works for custom elements like
|
|
57530
57614
|
// auro-input that have delegatesFocus or a custom focus() method).
|
|
57531
|
-
const descendants = getFocusableElements$
|
|
57615
|
+
const descendants = getFocusableElements$1$1(el);
|
|
57532
57616
|
if (descendants.length > 0) {
|
|
57533
57617
|
descendants[0].focus();
|
|
57534
57618
|
return;
|
|
@@ -57540,7 +57624,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
57540
57624
|
}
|
|
57541
57625
|
}
|
|
57542
57626
|
// Fallback: try DOM children (non-slotted content)
|
|
57543
|
-
const focusables = getFocusableElements$
|
|
57627
|
+
const focusables = getFocusableElements$1$1(this.trigger);
|
|
57544
57628
|
if (focusables.length > 0) {
|
|
57545
57629
|
focusables[0].focus();
|
|
57546
57630
|
}
|
|
@@ -58219,7 +58303,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
58219
58303
|
}
|
|
58220
58304
|
|
|
58221
58305
|
// Collect focusable elements from the bib content.
|
|
58222
|
-
const focusables = getFocusableElements$
|
|
58306
|
+
const focusables = getFocusableElements$1$1(this.bibContent);
|
|
58223
58307
|
|
|
58224
58308
|
// Fallback: try from slotted content directly
|
|
58225
58309
|
if (!focusables.length) {
|
|
@@ -58228,7 +58312,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
58228
58312
|
|
|
58229
58313
|
for (const node of assignedNodes) {
|
|
58230
58314
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
58231
|
-
focusables.push(...getFocusableElements$
|
|
58315
|
+
focusables.push(...getFocusableElements$1$1(node));
|
|
58232
58316
|
}
|
|
58233
58317
|
}
|
|
58234
58318
|
}
|
|
@@ -58288,7 +58372,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
58288
58372
|
|
|
58289
58373
|
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
58290
58374
|
requestAnimationFrame(() => {
|
|
58291
|
-
const focusables = getFocusableElements$
|
|
58375
|
+
const focusables = getFocusableElements$1$1(this.bibContent);
|
|
58292
58376
|
if (focusables.length) {
|
|
58293
58377
|
focusables[0].focus();
|
|
58294
58378
|
}
|
|
@@ -58301,7 +58385,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
58301
58385
|
// popover asynchronously — a synchronous focus() would target
|
|
58302
58386
|
// zero-dimension elements and be silently ignored.
|
|
58303
58387
|
requestAnimationFrame(() => {
|
|
58304
|
-
const focusables = getFocusableElements$
|
|
58388
|
+
const focusables = getFocusableElements$1$1(this.bibContent);
|
|
58305
58389
|
if (focusables.length) {
|
|
58306
58390
|
focusables[0].focus();
|
|
58307
58391
|
}
|
|
@@ -58519,7 +58603,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
58519
58603
|
if (triggerContentNodes) {
|
|
58520
58604
|
|
|
58521
58605
|
// See if any of them are focusable elements
|
|
58522
|
-
this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements$
|
|
58606
|
+
this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements$1$1(node).length > 0);
|
|
58523
58607
|
|
|
58524
58608
|
// If any of them are focusable elements
|
|
58525
58609
|
if (this.triggerContentFocusable) {
|
|
@@ -59281,9 +59365,241 @@ let AuroElement$4 = class AuroElement extends i$3 {
|
|
|
59281
59365
|
}
|
|
59282
59366
|
};
|
|
59283
59367
|
|
|
59368
|
+
// Selectors for focusable elements
|
|
59369
|
+
const FOCUSABLE_SELECTORS$3 = [
|
|
59370
|
+
"a[href]",
|
|
59371
|
+
"button:not([disabled])",
|
|
59372
|
+
"textarea:not([disabled])",
|
|
59373
|
+
"input:not([disabled])",
|
|
59374
|
+
"select:not([disabled])",
|
|
59375
|
+
'[role="tab"]:not([disabled])',
|
|
59376
|
+
'[role="link"]:not([disabled])',
|
|
59377
|
+
'[role="button"]:not([disabled])',
|
|
59378
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
59379
|
+
'[contenteditable]:not([contenteditable="false"])',
|
|
59380
|
+
];
|
|
59381
|
+
|
|
59382
|
+
// List of custom components that are known to be focusable
|
|
59383
|
+
const FOCUSABLE_COMPONENTS$3 = [
|
|
59384
|
+
"auro-checkbox",
|
|
59385
|
+
"auro-radio",
|
|
59386
|
+
"auro-dropdown",
|
|
59387
|
+
"auro-button",
|
|
59388
|
+
"auro-combobox",
|
|
59389
|
+
"auro-input",
|
|
59390
|
+
"auro-counter",
|
|
59391
|
+
// 'auro-menu', // Auro menu is not focusable by default, it uses a different interaction model
|
|
59392
|
+
"auro-select",
|
|
59393
|
+
"auro-datepicker",
|
|
59394
|
+
"auro-hyperlink",
|
|
59395
|
+
"auro-accordion",
|
|
59396
|
+
];
|
|
59397
|
+
|
|
59398
|
+
/**
|
|
59399
|
+
* Determines if a given element is a custom focusable component.
|
|
59400
|
+
* Returns true if the element matches a known focusable component and is not disabled.
|
|
59401
|
+
*
|
|
59402
|
+
* @param {HTMLElement} element The element to check for focusability.
|
|
59403
|
+
* @returns {boolean} True if the element is a focusable custom component, false otherwise.
|
|
59404
|
+
*/
|
|
59405
|
+
function isFocusableComponent$3(element) {
|
|
59406
|
+
const componentName = element.tagName.toLowerCase();
|
|
59407
|
+
|
|
59408
|
+
// Guard Clause: Element is a focusable component
|
|
59409
|
+
if (
|
|
59410
|
+
!FOCUSABLE_COMPONENTS$3.some(
|
|
59411
|
+
(name) => element.hasAttribute(name) || componentName === name,
|
|
59412
|
+
)
|
|
59413
|
+
)
|
|
59414
|
+
return false;
|
|
59415
|
+
|
|
59416
|
+
// Guard Clause: Element is not disabled
|
|
59417
|
+
if (element.hasAttribute("disabled")) return false;
|
|
59418
|
+
|
|
59419
|
+
// Guard Clause: The element is a hyperlink and has no href attribute
|
|
59420
|
+
if (componentName.match("hyperlink") && !element.hasAttribute("href"))
|
|
59421
|
+
return false;
|
|
59422
|
+
|
|
59423
|
+
// If all guard clauses pass, the element is a focusable component
|
|
59424
|
+
return true;
|
|
59425
|
+
}
|
|
59426
|
+
|
|
59427
|
+
/**
|
|
59428
|
+
* Safely get a numeric tabindex for an element.
|
|
59429
|
+
* Returns a number if the tabindex is a valid integer, otherwise null.
|
|
59430
|
+
*
|
|
59431
|
+
* @param {HTMLElement} element The element whose tabindex to read.
|
|
59432
|
+
* @returns {?number} The numeric tabindex or null if missing/invalid.
|
|
59433
|
+
*/
|
|
59434
|
+
function getNumericTabIndex$3(element) {
|
|
59435
|
+
const raw = element.getAttribute("tabindex");
|
|
59436
|
+
if (raw == null) return null;
|
|
59437
|
+
|
|
59438
|
+
const value = Number.parseInt(raw, 10);
|
|
59439
|
+
return Number.isNaN(value) ? null : value;
|
|
59440
|
+
}
|
|
59441
|
+
|
|
59442
|
+
/**
|
|
59443
|
+
* Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
|
|
59444
|
+
* Returns a unique, ordered array of elements that can receive focus.
|
|
59445
|
+
* Also sorts elements with tabindex first, preserving their order.
|
|
59446
|
+
*
|
|
59447
|
+
* @param {HTMLElement} container The container to search within
|
|
59448
|
+
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
59449
|
+
*/
|
|
59450
|
+
function getFocusableElements$3(container) {
|
|
59451
|
+
// Get elements in DOM order by walking the tree
|
|
59452
|
+
const orderedFocusableElements = [];
|
|
59453
|
+
|
|
59454
|
+
// Define a recursive function to collect focusable elements in DOM order
|
|
59455
|
+
const collectFocusableElements = (root) => {
|
|
59456
|
+
// Check if current element is focusable
|
|
59457
|
+
if (root.nodeType === Node.ELEMENT_NODE) {
|
|
59458
|
+
// Check if this is a custom component that is focusable
|
|
59459
|
+
const isComponentFocusable = isFocusableComponent$3(root);
|
|
59460
|
+
|
|
59461
|
+
if (isComponentFocusable) {
|
|
59462
|
+
// Add the component itself as a focusable element and don't traverse its shadow DOM
|
|
59463
|
+
orderedFocusableElements.push(root);
|
|
59464
|
+
return; // Skip traversing inside this component
|
|
59465
|
+
}
|
|
59466
|
+
|
|
59467
|
+
// Check if the element itself matches any selector
|
|
59468
|
+
for (const selector of FOCUSABLE_SELECTORS$3) {
|
|
59469
|
+
if (root.matches?.(selector)) {
|
|
59470
|
+
orderedFocusableElements.push(root);
|
|
59471
|
+
break; // Once we know it's focusable, no need to check other selectors
|
|
59472
|
+
}
|
|
59473
|
+
}
|
|
59474
|
+
|
|
59475
|
+
// Process shadow DOM only for non-Auro components
|
|
59476
|
+
if (root.shadowRoot) {
|
|
59477
|
+
// Process shadow DOM children in order
|
|
59478
|
+
if (root.shadowRoot.children) {
|
|
59479
|
+
Array.from(root.shadowRoot.children).forEach((child) => {
|
|
59480
|
+
collectFocusableElements(child);
|
|
59481
|
+
});
|
|
59482
|
+
}
|
|
59483
|
+
}
|
|
59484
|
+
|
|
59485
|
+
// Process slots and their assigned nodes in order
|
|
59486
|
+
if (root.tagName === "SLOT") {
|
|
59487
|
+
const assignedNodes = root.assignedNodes({ flatten: true });
|
|
59488
|
+
for (const node of assignedNodes) {
|
|
59489
|
+
collectFocusableElements(node);
|
|
59490
|
+
}
|
|
59491
|
+
} else {
|
|
59492
|
+
// Process light DOM children in order
|
|
59493
|
+
if (root.children) {
|
|
59494
|
+
Array.from(root.children).forEach((child) => {
|
|
59495
|
+
collectFocusableElements(child);
|
|
59496
|
+
});
|
|
59497
|
+
}
|
|
59498
|
+
}
|
|
59499
|
+
}
|
|
59500
|
+
};
|
|
59501
|
+
|
|
59502
|
+
// Start the traversal from the container
|
|
59503
|
+
collectFocusableElements(container);
|
|
59504
|
+
|
|
59505
|
+
// Remove duplicates that might have been collected through different paths
|
|
59506
|
+
// while preserving order
|
|
59507
|
+
const uniqueElements = [];
|
|
59508
|
+
const seen = new Set();
|
|
59509
|
+
|
|
59510
|
+
for (const element of orderedFocusableElements) {
|
|
59511
|
+
if (!seen.has(element)) {
|
|
59512
|
+
seen.add(element);
|
|
59513
|
+
uniqueElements.push(element);
|
|
59514
|
+
}
|
|
59515
|
+
}
|
|
59516
|
+
|
|
59517
|
+
// Move tab-indexed elements to the front while preserving their order
|
|
59518
|
+
// This ensures that elements with tabindex are prioritized in the focus order
|
|
59519
|
+
|
|
59520
|
+
// First extract elements with valid positive tabindex
|
|
59521
|
+
const elementsWithTabindex = uniqueElements.filter((el) => {
|
|
59522
|
+
const tabindex = getNumericTabIndex$3(el);
|
|
59523
|
+
return tabindex !== null && tabindex > 0;
|
|
59524
|
+
});
|
|
59525
|
+
|
|
59526
|
+
// Sort these elements by their tabindex value
|
|
59527
|
+
elementsWithTabindex.sort((a, b) => {
|
|
59528
|
+
const aIndex = getNumericTabIndex$3(a) ?? 0;
|
|
59529
|
+
const bIndex = getNumericTabIndex$3(b) ?? 0;
|
|
59530
|
+
return aIndex - bIndex;
|
|
59531
|
+
});
|
|
59532
|
+
|
|
59533
|
+
// Elements without tabindex (preserving their original order)
|
|
59534
|
+
const elementsWithoutTabindex = uniqueElements.filter((el) => {
|
|
59535
|
+
const tabindex = getNumericTabIndex$3(el);
|
|
59536
|
+
|
|
59537
|
+
// Elements without tabindex or with tabindex of 0 stay in DOM order
|
|
59538
|
+
return tabindex === null || tabindex === 0;
|
|
59539
|
+
});
|
|
59540
|
+
|
|
59541
|
+
// Combine both arrays with tabindex elements first
|
|
59542
|
+
const tabIndexedUniqueElements = [
|
|
59543
|
+
...elementsWithTabindex,
|
|
59544
|
+
...elementsWithoutTabindex,
|
|
59545
|
+
];
|
|
59546
|
+
|
|
59547
|
+
return tabIndexedUniqueElements;
|
|
59548
|
+
}
|
|
59549
|
+
|
|
59284
59550
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
59285
59551
|
// See LICENSE in the project root for license information.
|
|
59286
59552
|
|
|
59553
|
+
|
|
59554
|
+
/**
|
|
59555
|
+
* Whether `el` is currently visible enough to receive focus. Prefers the
|
|
59556
|
+
* browser's `checkVisibility()`; otherwise combines a display/visibility check
|
|
59557
|
+
* with an ancestor-hidden probe that keeps position:fixed elements visible.
|
|
59558
|
+
* @param {Element} el - The element to test.
|
|
59559
|
+
* @returns {boolean}
|
|
59560
|
+
*/
|
|
59561
|
+
function isVisibleForFocus$1(el) {
|
|
59562
|
+
if (typeof el.checkVisibility === 'function') {
|
|
59563
|
+
return el.checkVisibility();
|
|
59564
|
+
}
|
|
59565
|
+
const style = el.ownerDocument.defaultView.getComputedStyle(el);
|
|
59566
|
+
if (style.display === 'none' || style.visibility === 'hidden') {
|
|
59567
|
+
return false;
|
|
59568
|
+
}
|
|
59569
|
+
return el.offsetParent !== null || style.position === 'fixed';
|
|
59570
|
+
}
|
|
59571
|
+
|
|
59572
|
+
/**
|
|
59573
|
+
* Return the tab stop that comes before the counter-group in page tab order,
|
|
59574
|
+
* skipping any hidden entries the walker doesn't filter itself. The group host
|
|
59575
|
+
* itself is not a tab stop; its focusables (the internal dropdown and the
|
|
59576
|
+
* counters) are, so anchor the search on the group's earliest focusable.
|
|
59577
|
+
* @param {Element} component - The auro-counter-group host element.
|
|
59578
|
+
* @returns {Element|null}
|
|
59579
|
+
*/
|
|
59580
|
+
function getPreviousTabStop$1(component) {
|
|
59581
|
+
const tabStops = getFocusableElements$3(component.ownerDocument.body);
|
|
59582
|
+
const counters = component.counters || [];
|
|
59583
|
+
const owned = [
|
|
59584
|
+
component,
|
|
59585
|
+
component.dropdown,
|
|
59586
|
+
...counters
|
|
59587
|
+
].filter(Boolean);
|
|
59588
|
+
let groupStart = tabStops.length;
|
|
59589
|
+
owned.forEach((node) => {
|
|
59590
|
+
const index = tabStops.indexOf(node);
|
|
59591
|
+
if (index >= 0 && index < groupStart) {
|
|
59592
|
+
groupStart = index;
|
|
59593
|
+
}
|
|
59594
|
+
});
|
|
59595
|
+
for (let index = groupStart - 1; index >= 0; index -= 1) {
|
|
59596
|
+
if (isVisibleForFocus$1(tabStops[index])) {
|
|
59597
|
+
return tabStops[index];
|
|
59598
|
+
}
|
|
59599
|
+
}
|
|
59600
|
+
return null;
|
|
59601
|
+
}
|
|
59602
|
+
|
|
59287
59603
|
const counterGroupKeyboardStrategy = {
|
|
59288
59604
|
Escape(component, evt) {
|
|
59289
59605
|
if (!component.dropdown || !component.dropdown.isPopoverVisible) {
|
|
@@ -59297,6 +59613,48 @@ const counterGroupKeyboardStrategy = {
|
|
|
59297
59613
|
|
|
59298
59614
|
component.dropdown.hide();
|
|
59299
59615
|
},
|
|
59616
|
+
|
|
59617
|
+
Tab(component, evt, ctx) {
|
|
59618
|
+
// Forward Tab already exits past the bib content and the focusout handler
|
|
59619
|
+
// closes the bib. Fullscreen relies on the dialog's native focus trapping.
|
|
59620
|
+
if (!ctx.isExpanded || ctx.isModal || !evt.shiftKey) {
|
|
59621
|
+
return;
|
|
59622
|
+
}
|
|
59623
|
+
|
|
59624
|
+
// The trigger precedes the bib content in the flattened tab order, so a
|
|
59625
|
+
// native Shift+Tab off the first counter lands back on the trigger and
|
|
59626
|
+
// leaves the bib open. Only intercept when focus is on the first focusable
|
|
59627
|
+
// in the bib; otherwise let the browser move to the previous counter.
|
|
59628
|
+
// `composedPath()` reports the real event origin through every shadow
|
|
59629
|
+
// boundary, unlike `document.activeElement`, which retargets to the first
|
|
59630
|
+
// slotted counter and cannot tell the counters apart.
|
|
59631
|
+
const focusables = getFocusableElements$3(component.dropdown.bibContent);
|
|
59632
|
+
if (!focusables.length) {
|
|
59633
|
+
return;
|
|
59634
|
+
}
|
|
59635
|
+
|
|
59636
|
+
const path = evt.composedPath();
|
|
59637
|
+
const activeIndex = focusables.findIndex((el) => path.includes(el));
|
|
59638
|
+
if (activeIndex !== 0) {
|
|
59639
|
+
return;
|
|
59640
|
+
}
|
|
59641
|
+
|
|
59642
|
+
const previousTabStop = getPreviousTabStop$1(component);
|
|
59643
|
+
|
|
59644
|
+
// Always suppress the native Shift+Tab. Otherwise it fires against the bib
|
|
59645
|
+
// as it is torn down and lands focus on the trigger (which precedes the
|
|
59646
|
+
// first counter), re-opening the exact loop this handler prevents. When
|
|
59647
|
+
// nothing precedes the group, focus falls to the body instead of the
|
|
59648
|
+
// trigger, which reads as exiting the group backward.
|
|
59649
|
+
evt.preventDefault();
|
|
59650
|
+
component.hideBib();
|
|
59651
|
+
|
|
59652
|
+
if (!previousTabStop) {
|
|
59653
|
+
return;
|
|
59654
|
+
}
|
|
59655
|
+
|
|
59656
|
+
doubleRaf$2(() => previousTabStop.focus());
|
|
59657
|
+
},
|
|
59300
59658
|
};
|
|
59301
59659
|
|
|
59302
59660
|
/* eslint-disable lit/no-invalid-html, lit/binding-positions, max-lines, no-underscore-dangle, arrow-parens, no-confusing-arrow, curly, dot-location, no-inline-comments, line-comment-position,
|
|
@@ -61397,7 +61755,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
61397
61755
|
}
|
|
61398
61756
|
};
|
|
61399
61757
|
|
|
61400
|
-
var formkitVersion$5 = '
|
|
61758
|
+
var formkitVersion$5 = '202609022217';
|
|
61401
61759
|
|
|
61402
61760
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
61403
61761
|
// See LICENSE in the project root for license information.
|
|
@@ -61725,18 +62083,30 @@ class AuroRadioGroup extends i$3 {
|
|
|
61725
62083
|
}
|
|
61726
62084
|
|
|
61727
62085
|
if (changedProperties.has('validity')) {
|
|
61728
|
-
|
|
61729
|
-
|
|
61730
|
-
|
|
61731
|
-
|
|
61732
|
-
|
|
62086
|
+
this.syncItemValidity();
|
|
62087
|
+
}
|
|
62088
|
+
}
|
|
62089
|
+
|
|
62090
|
+
/**
|
|
62091
|
+
* Method for mirroring the group's invalid state onto each radio input.
|
|
62092
|
+
* `validity` — not `error` — is the authoritative invalid state, and it has to be
|
|
62093
|
+
* re-applied from `handleItems()` as well, because a slot change or a reconnect can
|
|
62094
|
+
* happen without `validity` itself changing.
|
|
62095
|
+
* @private
|
|
62096
|
+
* @returns {void}
|
|
62097
|
+
*/
|
|
62098
|
+
syncItemValidity() {
|
|
62099
|
+
const invalid = Boolean(this.error) || Boolean(this.validity && this.validity !== 'valid');
|
|
62100
|
+
|
|
62101
|
+
this.items.forEach((el) => {
|
|
62102
|
+
if (invalid) {
|
|
62103
|
+
el.setAttribute('error', true);
|
|
62104
|
+
el.setAttribute('aria-invalid', 'true');
|
|
61733
62105
|
} else {
|
|
61734
|
-
|
|
61735
|
-
|
|
61736
|
-
el.removeAttribute('aria-invalid');
|
|
61737
|
-
});
|
|
62106
|
+
el.removeAttribute('error');
|
|
62107
|
+
el.removeAttribute('aria-invalid');
|
|
61738
62108
|
}
|
|
61739
|
-
}
|
|
62109
|
+
});
|
|
61740
62110
|
}
|
|
61741
62111
|
|
|
61742
62112
|
/**
|
|
@@ -61792,8 +62162,9 @@ class AuroRadioGroup extends i$3 {
|
|
|
61792
62162
|
|
|
61793
62163
|
this.items.forEach((el) => {
|
|
61794
62164
|
el.required = this.required;
|
|
61795
|
-
el.error = Boolean(this.error);
|
|
61796
62165
|
});
|
|
62166
|
+
|
|
62167
|
+
this.syncItemValidity();
|
|
61797
62168
|
}
|
|
61798
62169
|
|
|
61799
62170
|
/**
|
|
@@ -63216,7 +63587,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
63216
63587
|
}
|
|
63217
63588
|
};
|
|
63218
63589
|
|
|
63219
|
-
var formkitVersion$4 = '
|
|
63590
|
+
var formkitVersion$4 = '202609022217';
|
|
63220
63591
|
|
|
63221
63592
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
63222
63593
|
// See LICENSE in the project root for license information.
|
|
@@ -63549,6 +63920,29 @@ class AuroCheckboxGroup extends i$3 {
|
|
|
63549
63920
|
this.handlePreselectedItems();
|
|
63550
63921
|
|
|
63551
63922
|
this.validate();
|
|
63923
|
+
this.syncCheckboxValidity();
|
|
63924
|
+
}
|
|
63925
|
+
|
|
63926
|
+
/**
|
|
63927
|
+
* Method for mirroring the group's invalid state onto each checkbox.
|
|
63928
|
+
* `validity` is the authoritative invalid state, and it has to be re-applied from
|
|
63929
|
+
* `handleItems()` as well, because a slot change can happen without `validity` itself
|
|
63930
|
+
* changing — a checkbox slotted into an already-invalid group would otherwise be missed.
|
|
63931
|
+
* @private
|
|
63932
|
+
* @returns {void}
|
|
63933
|
+
*/
|
|
63934
|
+
syncCheckboxValidity() {
|
|
63935
|
+
const invalid = Boolean(this.validity && this.validity !== 'valid');
|
|
63936
|
+
|
|
63937
|
+
this.checkboxes.forEach((el) => {
|
|
63938
|
+
if (invalid) {
|
|
63939
|
+
el.setAttribute('error', true);
|
|
63940
|
+
el.setAttribute('aria-invalid', 'true');
|
|
63941
|
+
} else {
|
|
63942
|
+
el.removeAttribute('error');
|
|
63943
|
+
el.removeAttribute('aria-invalid');
|
|
63944
|
+
}
|
|
63945
|
+
});
|
|
63552
63946
|
}
|
|
63553
63947
|
|
|
63554
63948
|
/**
|
|
@@ -63580,15 +63974,7 @@ class AuroCheckboxGroup extends i$3 {
|
|
|
63580
63974
|
}
|
|
63581
63975
|
|
|
63582
63976
|
if (changedProperties.has('validity')) {
|
|
63583
|
-
this.
|
|
63584
|
-
if (this.validity && this.validity !== 'valid') {
|
|
63585
|
-
el.setAttribute('error', true);
|
|
63586
|
-
el.setAttribute('aria-invalid', 'true');
|
|
63587
|
-
} else {
|
|
63588
|
-
el.removeAttribute('error');
|
|
63589
|
-
el.removeAttribute('aria-invalid');
|
|
63590
|
-
}
|
|
63591
|
-
});
|
|
63977
|
+
this.syncCheckboxValidity();
|
|
63592
63978
|
}
|
|
63593
63979
|
|
|
63594
63980
|
if (changedProperties.has('required')) {
|
|
@@ -66585,6 +66971,48 @@ const computePosition$2 = (reference, floating, options) => {
|
|
|
66585
66971
|
});
|
|
66586
66972
|
};
|
|
66587
66973
|
|
|
66974
|
+
/**
|
|
66975
|
+
* Generates a v4 UUID with a three-tier fallback for insecure contexts.
|
|
66976
|
+
*
|
|
66977
|
+
* Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
|
|
66978
|
+
* Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
|
|
66979
|
+
* modern browsers regardless of secure-context status.
|
|
66980
|
+
* Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
|
|
66981
|
+
* but sufficient for element IDs where collision risk is negligible.
|
|
66982
|
+
*
|
|
66983
|
+
* See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
|
|
66984
|
+
*/
|
|
66985
|
+
function generateUUID$1() {
|
|
66986
|
+
let uuid;
|
|
66987
|
+
|
|
66988
|
+
if (
|
|
66989
|
+
typeof crypto !== "undefined" &&
|
|
66990
|
+
typeof crypto.randomUUID === "function"
|
|
66991
|
+
) {
|
|
66992
|
+
uuid = crypto.randomUUID();
|
|
66993
|
+
} else if (
|
|
66994
|
+
typeof crypto !== "undefined" &&
|
|
66995
|
+
typeof crypto.getRandomValues === "function"
|
|
66996
|
+
) {
|
|
66997
|
+
const bytes = new Uint8Array(16);
|
|
66998
|
+
crypto.getRandomValues(bytes);
|
|
66999
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
67000
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
67001
|
+
const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
|
|
67002
|
+
uuid = `${hex.slice(0, 4).join("")}-${hex.slice(4, 6).join("")}-${hex.slice(6, 8).join("")}-${hex.slice(8, 10).join("")}-${hex.slice(10).join("")}`;
|
|
67003
|
+
} else {
|
|
67004
|
+
let d = new Date().getTime();
|
|
67005
|
+
uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
67006
|
+
const r = (d % 16) | 0;
|
|
67007
|
+
d = (d - r) / 16 || new Date().getTime();
|
|
67008
|
+
return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
|
|
67009
|
+
});
|
|
67010
|
+
}
|
|
67011
|
+
|
|
67012
|
+
// CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
|
|
67013
|
+
return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
|
|
67014
|
+
}
|
|
67015
|
+
|
|
66588
67016
|
/* eslint-disable line-comment-position, no-inline-comments */
|
|
66589
67017
|
|
|
66590
67018
|
|
|
@@ -67603,7 +68031,7 @@ let AuroFloatingUI$1 = class AuroFloatingUI {
|
|
|
67603
68031
|
|
|
67604
68032
|
this.id = element.getAttribute("id");
|
|
67605
68033
|
if (!this.id) {
|
|
67606
|
-
this.id =
|
|
68034
|
+
this.id = generateUUID$1();
|
|
67607
68035
|
element.setAttribute("id", this.id);
|
|
67608
68036
|
}
|
|
67609
68037
|
|
|
@@ -68648,7 +69076,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
68648
69076
|
}
|
|
68649
69077
|
};
|
|
68650
69078
|
|
|
68651
|
-
var formkitVersion$2 = '
|
|
69079
|
+
var formkitVersion$2 = '202609022217';
|
|
68652
69080
|
|
|
68653
69081
|
/**
|
|
68654
69082
|
* AuroElement is the shared base class for layout-aware Auro form components.
|
|
@@ -82510,7 +82938,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
82510
82938
|
}
|
|
82511
82939
|
};
|
|
82512
82940
|
|
|
82513
|
-
var formkitVersion$1$1 = '
|
|
82941
|
+
var formkitVersion$1$1 = '202609022217';
|
|
82514
82942
|
|
|
82515
82943
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
82516
82944
|
// See LICENSE in the project root for license information.
|
|
@@ -83702,7 +84130,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
83702
84130
|
}
|
|
83703
84131
|
};
|
|
83704
84132
|
|
|
83705
|
-
var formkitVersion$3 = '
|
|
84133
|
+
var formkitVersion$3 = '202609022217';
|
|
83706
84134
|
|
|
83707
84135
|
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}`;
|
|
83708
84136
|
|
|
@@ -91176,6 +91604,48 @@ const computePosition = (reference, floating, options) => {
|
|
|
91176
91604
|
});
|
|
91177
91605
|
};
|
|
91178
91606
|
|
|
91607
|
+
/**
|
|
91608
|
+
* Generates a v4 UUID with a three-tier fallback for insecure contexts.
|
|
91609
|
+
*
|
|
91610
|
+
* Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
|
|
91611
|
+
* Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
|
|
91612
|
+
* modern browsers regardless of secure-context status.
|
|
91613
|
+
* Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
|
|
91614
|
+
* but sufficient for element IDs where collision risk is negligible.
|
|
91615
|
+
*
|
|
91616
|
+
* See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
|
|
91617
|
+
*/
|
|
91618
|
+
function generateUUID() {
|
|
91619
|
+
let uuid;
|
|
91620
|
+
|
|
91621
|
+
if (
|
|
91622
|
+
typeof crypto !== "undefined" &&
|
|
91623
|
+
typeof crypto.randomUUID === "function"
|
|
91624
|
+
) {
|
|
91625
|
+
uuid = crypto.randomUUID();
|
|
91626
|
+
} else if (
|
|
91627
|
+
typeof crypto !== "undefined" &&
|
|
91628
|
+
typeof crypto.getRandomValues === "function"
|
|
91629
|
+
) {
|
|
91630
|
+
const bytes = new Uint8Array(16);
|
|
91631
|
+
crypto.getRandomValues(bytes);
|
|
91632
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
91633
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
91634
|
+
const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
|
|
91635
|
+
uuid = `${hex.slice(0, 4).join("")}-${hex.slice(4, 6).join("")}-${hex.slice(6, 8).join("")}-${hex.slice(8, 10).join("")}-${hex.slice(10).join("")}`;
|
|
91636
|
+
} else {
|
|
91637
|
+
let d = new Date().getTime();
|
|
91638
|
+
uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
91639
|
+
const r = (d % 16) | 0;
|
|
91640
|
+
d = (d - r) / 16 || new Date().getTime();
|
|
91641
|
+
return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
|
|
91642
|
+
});
|
|
91643
|
+
}
|
|
91644
|
+
|
|
91645
|
+
// CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
|
|
91646
|
+
return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
|
|
91647
|
+
}
|
|
91648
|
+
|
|
91179
91649
|
/* eslint-disable line-comment-position, no-inline-comments */
|
|
91180
91650
|
|
|
91181
91651
|
|
|
@@ -92194,7 +92664,7 @@ class AuroFloatingUI {
|
|
|
92194
92664
|
|
|
92195
92665
|
this.id = element.getAttribute("id");
|
|
92196
92666
|
if (!this.id) {
|
|
92197
|
-
this.id =
|
|
92667
|
+
this.id = generateUUID();
|
|
92198
92668
|
element.setAttribute("id", this.id);
|
|
92199
92669
|
}
|
|
92200
92670
|
|
|
@@ -93239,7 +93709,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
93239
93709
|
}
|
|
93240
93710
|
};
|
|
93241
93711
|
|
|
93242
|
-
var formkitVersion$1 = '
|
|
93712
|
+
var formkitVersion$1 = '202609022217';
|
|
93243
93713
|
|
|
93244
93714
|
/**
|
|
93245
93715
|
* AuroElement is the shared base class for layout-aware Auro form components.
|
|
@@ -95412,7 +95882,7 @@ class AuroHelpText extends i$3 {
|
|
|
95412
95882
|
}
|
|
95413
95883
|
}
|
|
95414
95884
|
|
|
95415
|
-
var formkitVersion = '
|
|
95885
|
+
var formkitVersion = '202609022217';
|
|
95416
95886
|
|
|
95417
95887
|
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{max-width:100%}.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%;box-sizing:border-box;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{overflow:hidden;height:auto;text-overflow:ellipsis;white-space:nowrap}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}`;
|
|
95418
95888
|
|