@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
|
@@ -12467,7 +12467,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
|
|
|
12467
12467
|
}
|
|
12468
12468
|
};
|
|
12469
12469
|
|
|
12470
|
-
var formkitVersion$8 = '
|
|
12470
|
+
var formkitVersion$8 = '202609022217';
|
|
12471
12471
|
|
|
12472
12472
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12473
12473
|
// See LICENSE in the project root for license information.
|
|
@@ -27030,7 +27030,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
|
|
|
27030
27030
|
}
|
|
27031
27031
|
};
|
|
27032
27032
|
|
|
27033
|
-
var formkitVersion$2$1 = '
|
|
27033
|
+
var formkitVersion$2$1 = '202609022217';
|
|
27034
27034
|
|
|
27035
27035
|
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$5`${s$5(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$4`: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}
|
|
27036
27036
|
`,u$4$2=i$4`.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}}
|
|
@@ -30811,6 +30811,48 @@ const computePosition$4 = (reference, floating, options) => {
|
|
|
30811
30811
|
});
|
|
30812
30812
|
};
|
|
30813
30813
|
|
|
30814
|
+
/**
|
|
30815
|
+
* Generates a v4 UUID with a three-tier fallback for insecure contexts.
|
|
30816
|
+
*
|
|
30817
|
+
* Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
|
|
30818
|
+
* Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
|
|
30819
|
+
* modern browsers regardless of secure-context status.
|
|
30820
|
+
* Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
|
|
30821
|
+
* but sufficient for element IDs where collision risk is negligible.
|
|
30822
|
+
*
|
|
30823
|
+
* See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
|
|
30824
|
+
*/
|
|
30825
|
+
function generateUUID$3() {
|
|
30826
|
+
let uuid;
|
|
30827
|
+
|
|
30828
|
+
if (
|
|
30829
|
+
typeof crypto !== "undefined" &&
|
|
30830
|
+
typeof crypto.randomUUID === "function"
|
|
30831
|
+
) {
|
|
30832
|
+
uuid = crypto.randomUUID();
|
|
30833
|
+
} else if (
|
|
30834
|
+
typeof crypto !== "undefined" &&
|
|
30835
|
+
typeof crypto.getRandomValues === "function"
|
|
30836
|
+
) {
|
|
30837
|
+
const bytes = new Uint8Array(16);
|
|
30838
|
+
crypto.getRandomValues(bytes);
|
|
30839
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
30840
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
30841
|
+
const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
|
|
30842
|
+
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("")}`;
|
|
30843
|
+
} else {
|
|
30844
|
+
let d = new Date().getTime();
|
|
30845
|
+
uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
30846
|
+
const r = (d % 16) | 0;
|
|
30847
|
+
d = (d - r) / 16 || new Date().getTime();
|
|
30848
|
+
return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
|
|
30849
|
+
});
|
|
30850
|
+
}
|
|
30851
|
+
|
|
30852
|
+
// CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
|
|
30853
|
+
return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
|
|
30854
|
+
}
|
|
30855
|
+
|
|
30814
30856
|
/* eslint-disable line-comment-position, no-inline-comments */
|
|
30815
30857
|
|
|
30816
30858
|
|
|
@@ -31829,7 +31871,7 @@ let AuroFloatingUI$3 = class AuroFloatingUI {
|
|
|
31829
31871
|
|
|
31830
31872
|
this.id = element.getAttribute("id");
|
|
31831
31873
|
if (!this.id) {
|
|
31832
|
-
this.id =
|
|
31874
|
+
this.id = generateUUID$3();
|
|
31833
31875
|
element.setAttribute("id", this.id);
|
|
31834
31876
|
}
|
|
31835
31877
|
|
|
@@ -32874,7 +32916,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
|
|
|
32874
32916
|
}
|
|
32875
32917
|
};
|
|
32876
32918
|
|
|
32877
|
-
var formkitVersion$1$3 = '
|
|
32919
|
+
var formkitVersion$1$3 = '202609022217';
|
|
32878
32920
|
|
|
32879
32921
|
/**
|
|
32880
32922
|
* AuroElement is the shared base class for layout-aware Auro form components.
|
|
@@ -46736,7 +46778,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
|
|
|
46736
46778
|
}
|
|
46737
46779
|
};
|
|
46738
46780
|
|
|
46739
|
-
var formkitVersion$7 = '
|
|
46781
|
+
var formkitVersion$7 = '202609022217';
|
|
46740
46782
|
|
|
46741
46783
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
46742
46784
|
// See LICENSE in the project root for license information.
|
|
@@ -51842,7 +51884,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
|
|
|
51842
51884
|
}
|
|
51843
51885
|
};
|
|
51844
51886
|
|
|
51845
|
-
var formkitVersion$1$2 = '
|
|
51887
|
+
var formkitVersion$1$2 = '202609022217';
|
|
51846
51888
|
|
|
51847
51889
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
51848
51890
|
// See LICENSE in the project root for license information.
|
|
@@ -54079,6 +54121,48 @@ const computePosition$3 = (reference, floating, options) => {
|
|
|
54079
54121
|
});
|
|
54080
54122
|
};
|
|
54081
54123
|
|
|
54124
|
+
/**
|
|
54125
|
+
* Generates a v4 UUID with a three-tier fallback for insecure contexts.
|
|
54126
|
+
*
|
|
54127
|
+
* Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
|
|
54128
|
+
* Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
|
|
54129
|
+
* modern browsers regardless of secure-context status.
|
|
54130
|
+
* Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
|
|
54131
|
+
* but sufficient for element IDs where collision risk is negligible.
|
|
54132
|
+
*
|
|
54133
|
+
* See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
|
|
54134
|
+
*/
|
|
54135
|
+
function generateUUID$2() {
|
|
54136
|
+
let uuid;
|
|
54137
|
+
|
|
54138
|
+
if (
|
|
54139
|
+
typeof crypto !== "undefined" &&
|
|
54140
|
+
typeof crypto.randomUUID === "function"
|
|
54141
|
+
) {
|
|
54142
|
+
uuid = crypto.randomUUID();
|
|
54143
|
+
} else if (
|
|
54144
|
+
typeof crypto !== "undefined" &&
|
|
54145
|
+
typeof crypto.getRandomValues === "function"
|
|
54146
|
+
) {
|
|
54147
|
+
const bytes = new Uint8Array(16);
|
|
54148
|
+
crypto.getRandomValues(bytes);
|
|
54149
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
54150
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
54151
|
+
const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
|
|
54152
|
+
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("")}`;
|
|
54153
|
+
} else {
|
|
54154
|
+
let d = new Date().getTime();
|
|
54155
|
+
uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
54156
|
+
const r = (d % 16) | 0;
|
|
54157
|
+
d = (d - r) / 16 || new Date().getTime();
|
|
54158
|
+
return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
|
|
54159
|
+
});
|
|
54160
|
+
}
|
|
54161
|
+
|
|
54162
|
+
// CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
|
|
54163
|
+
return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
|
|
54164
|
+
}
|
|
54165
|
+
|
|
54082
54166
|
/* eslint-disable line-comment-position, no-inline-comments */
|
|
54083
54167
|
|
|
54084
54168
|
|
|
@@ -55097,7 +55181,7 @@ let AuroFloatingUI$2 = class AuroFloatingUI {
|
|
|
55097
55181
|
|
|
55098
55182
|
this.id = element.getAttribute("id");
|
|
55099
55183
|
if (!this.id) {
|
|
55100
|
-
this.id =
|
|
55184
|
+
this.id = generateUUID$2();
|
|
55101
55185
|
element.setAttribute("id", this.id);
|
|
55102
55186
|
}
|
|
55103
55187
|
|
|
@@ -55181,7 +55265,7 @@ let AuroFloatingUI$2 = class AuroFloatingUI {
|
|
|
55181
55265
|
};
|
|
55182
55266
|
|
|
55183
55267
|
// Selectors for focusable elements
|
|
55184
|
-
const FOCUSABLE_SELECTORS$
|
|
55268
|
+
const FOCUSABLE_SELECTORS$1$1 = [
|
|
55185
55269
|
"a[href]",
|
|
55186
55270
|
"button:not([disabled])",
|
|
55187
55271
|
"textarea:not([disabled])",
|
|
@@ -55195,7 +55279,7 @@ const FOCUSABLE_SELECTORS$3 = [
|
|
|
55195
55279
|
];
|
|
55196
55280
|
|
|
55197
55281
|
// List of custom components that are known to be focusable
|
|
55198
|
-
const FOCUSABLE_COMPONENTS$
|
|
55282
|
+
const FOCUSABLE_COMPONENTS$1$1 = [
|
|
55199
55283
|
"auro-checkbox",
|
|
55200
55284
|
"auro-radio",
|
|
55201
55285
|
"auro-dropdown",
|
|
@@ -55217,12 +55301,12 @@ const FOCUSABLE_COMPONENTS$3 = [
|
|
|
55217
55301
|
* @param {HTMLElement} element The element to check for focusability.
|
|
55218
55302
|
* @returns {boolean} True if the element is a focusable custom component, false otherwise.
|
|
55219
55303
|
*/
|
|
55220
|
-
function isFocusableComponent$
|
|
55304
|
+
function isFocusableComponent$1$1(element) {
|
|
55221
55305
|
const componentName = element.tagName.toLowerCase();
|
|
55222
55306
|
|
|
55223
55307
|
// Guard Clause: Element is a focusable component
|
|
55224
55308
|
if (
|
|
55225
|
-
!FOCUSABLE_COMPONENTS$
|
|
55309
|
+
!FOCUSABLE_COMPONENTS$1$1.some(
|
|
55226
55310
|
(name) => element.hasAttribute(name) || componentName === name,
|
|
55227
55311
|
)
|
|
55228
55312
|
)
|
|
@@ -55246,7 +55330,7 @@ function isFocusableComponent$3(element) {
|
|
|
55246
55330
|
* @param {HTMLElement} element The element whose tabindex to read.
|
|
55247
55331
|
* @returns {?number} The numeric tabindex or null if missing/invalid.
|
|
55248
55332
|
*/
|
|
55249
|
-
function getNumericTabIndex$
|
|
55333
|
+
function getNumericTabIndex$1$1(element) {
|
|
55250
55334
|
const raw = element.getAttribute("tabindex");
|
|
55251
55335
|
if (raw == null) return null;
|
|
55252
55336
|
|
|
@@ -55262,7 +55346,7 @@ function getNumericTabIndex$3(element) {
|
|
|
55262
55346
|
* @param {HTMLElement} container The container to search within
|
|
55263
55347
|
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
55264
55348
|
*/
|
|
55265
|
-
function getFocusableElements$
|
|
55349
|
+
function getFocusableElements$1$1(container) {
|
|
55266
55350
|
// Get elements in DOM order by walking the tree
|
|
55267
55351
|
const orderedFocusableElements = [];
|
|
55268
55352
|
|
|
@@ -55271,7 +55355,7 @@ function getFocusableElements$3(container) {
|
|
|
55271
55355
|
// Check if current element is focusable
|
|
55272
55356
|
if (root.nodeType === Node.ELEMENT_NODE) {
|
|
55273
55357
|
// Check if this is a custom component that is focusable
|
|
55274
|
-
const isComponentFocusable = isFocusableComponent$
|
|
55358
|
+
const isComponentFocusable = isFocusableComponent$1$1(root);
|
|
55275
55359
|
|
|
55276
55360
|
if (isComponentFocusable) {
|
|
55277
55361
|
// Add the component itself as a focusable element and don't traverse its shadow DOM
|
|
@@ -55280,7 +55364,7 @@ function getFocusableElements$3(container) {
|
|
|
55280
55364
|
}
|
|
55281
55365
|
|
|
55282
55366
|
// Check if the element itself matches any selector
|
|
55283
|
-
for (const selector of FOCUSABLE_SELECTORS$
|
|
55367
|
+
for (const selector of FOCUSABLE_SELECTORS$1$1) {
|
|
55284
55368
|
if (root.matches?.(selector)) {
|
|
55285
55369
|
orderedFocusableElements.push(root);
|
|
55286
55370
|
break; // Once we know it's focusable, no need to check other selectors
|
|
@@ -55334,20 +55418,20 @@ function getFocusableElements$3(container) {
|
|
|
55334
55418
|
|
|
55335
55419
|
// First extract elements with valid positive tabindex
|
|
55336
55420
|
const elementsWithTabindex = uniqueElements.filter((el) => {
|
|
55337
|
-
const tabindex = getNumericTabIndex$
|
|
55421
|
+
const tabindex = getNumericTabIndex$1$1(el);
|
|
55338
55422
|
return tabindex !== null && tabindex > 0;
|
|
55339
55423
|
});
|
|
55340
55424
|
|
|
55341
55425
|
// Sort these elements by their tabindex value
|
|
55342
55426
|
elementsWithTabindex.sort((a, b) => {
|
|
55343
|
-
const aIndex = getNumericTabIndex$
|
|
55344
|
-
const bIndex = getNumericTabIndex$
|
|
55427
|
+
const aIndex = getNumericTabIndex$1$1(a) ?? 0;
|
|
55428
|
+
const bIndex = getNumericTabIndex$1$1(b) ?? 0;
|
|
55345
55429
|
return aIndex - bIndex;
|
|
55346
55430
|
});
|
|
55347
55431
|
|
|
55348
55432
|
// Elements without tabindex (preserving their original order)
|
|
55349
55433
|
const elementsWithoutTabindex = uniqueElements.filter((el) => {
|
|
55350
|
-
const tabindex = getNumericTabIndex$
|
|
55434
|
+
const tabindex = getNumericTabIndex$1$1(el);
|
|
55351
55435
|
|
|
55352
55436
|
// Elements without tabindex or with tabindex of 0 stay in DOM order
|
|
55353
55437
|
return tabindex === null || tabindex === 0;
|
|
@@ -56142,7 +56226,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
|
|
|
56142
56226
|
}
|
|
56143
56227
|
};
|
|
56144
56228
|
|
|
56145
|
-
var formkitVersion$6 = '
|
|
56229
|
+
var formkitVersion$6 = '202609022217';
|
|
56146
56230
|
|
|
56147
56231
|
/**
|
|
56148
56232
|
* AuroElement is the shared base class for layout-aware Auro form components.
|
|
@@ -56442,7 +56526,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56442
56526
|
*/
|
|
56443
56527
|
focus() {
|
|
56444
56528
|
if (this.isPopoverVisible && this.bibContent) {
|
|
56445
|
-
const focusables = getFocusableElements$
|
|
56529
|
+
const focusables = getFocusableElements$1$1(this.bibContent);
|
|
56446
56530
|
if (focusables.length > 0) {
|
|
56447
56531
|
focusables[0].focus();
|
|
56448
56532
|
}
|
|
@@ -56474,7 +56558,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56474
56558
|
// wrappers like <div> containing a <button>). If none found, try
|
|
56475
56559
|
// focusing the element directly (works for custom elements like
|
|
56476
56560
|
// auro-input that have delegatesFocus or a custom focus() method).
|
|
56477
|
-
const descendants = getFocusableElements$
|
|
56561
|
+
const descendants = getFocusableElements$1$1(el);
|
|
56478
56562
|
if (descendants.length > 0) {
|
|
56479
56563
|
descendants[0].focus();
|
|
56480
56564
|
return;
|
|
@@ -56486,7 +56570,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
56486
56570
|
}
|
|
56487
56571
|
}
|
|
56488
56572
|
// Fallback: try DOM children (non-slotted content)
|
|
56489
|
-
const focusables = getFocusableElements$
|
|
56573
|
+
const focusables = getFocusableElements$1$1(this.trigger);
|
|
56490
56574
|
if (focusables.length > 0) {
|
|
56491
56575
|
focusables[0].focus();
|
|
56492
56576
|
}
|
|
@@ -57165,7 +57249,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
57165
57249
|
}
|
|
57166
57250
|
|
|
57167
57251
|
// Collect focusable elements from the bib content.
|
|
57168
|
-
const focusables = getFocusableElements$
|
|
57252
|
+
const focusables = getFocusableElements$1$1(this.bibContent);
|
|
57169
57253
|
|
|
57170
57254
|
// Fallback: try from slotted content directly
|
|
57171
57255
|
if (!focusables.length) {
|
|
@@ -57174,7 +57258,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
57174
57258
|
|
|
57175
57259
|
for (const node of assignedNodes) {
|
|
57176
57260
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
57177
|
-
focusables.push(...getFocusableElements$
|
|
57261
|
+
focusables.push(...getFocusableElements$1$1(node));
|
|
57178
57262
|
}
|
|
57179
57263
|
}
|
|
57180
57264
|
}
|
|
@@ -57234,7 +57318,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
57234
57318
|
|
|
57235
57319
|
// Move initial focus into the bib content, matching FocusTrap behavior
|
|
57236
57320
|
requestAnimationFrame(() => {
|
|
57237
|
-
const focusables = getFocusableElements$
|
|
57321
|
+
const focusables = getFocusableElements$1$1(this.bibContent);
|
|
57238
57322
|
if (focusables.length) {
|
|
57239
57323
|
focusables[0].focus();
|
|
57240
57324
|
}
|
|
@@ -57247,7 +57331,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
57247
57331
|
// popover asynchronously — a synchronous focus() would target
|
|
57248
57332
|
// zero-dimension elements and be silently ignored.
|
|
57249
57333
|
requestAnimationFrame(() => {
|
|
57250
|
-
const focusables = getFocusableElements$
|
|
57334
|
+
const focusables = getFocusableElements$1$1(this.bibContent);
|
|
57251
57335
|
if (focusables.length) {
|
|
57252
57336
|
focusables[0].focus();
|
|
57253
57337
|
}
|
|
@@ -57465,7 +57549,7 @@ let AuroDropdown$2 = class AuroDropdown extends AuroElement$1$2 {
|
|
|
57465
57549
|
if (triggerContentNodes) {
|
|
57466
57550
|
|
|
57467
57551
|
// See if any of them are focusable elements
|
|
57468
|
-
this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements$
|
|
57552
|
+
this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements$1$1(node).length > 0);
|
|
57469
57553
|
|
|
57470
57554
|
// If any of them are focusable elements
|
|
57471
57555
|
if (this.triggerContentFocusable) {
|
|
@@ -58227,9 +58311,241 @@ let AuroElement$4 = class AuroElement extends i$2 {
|
|
|
58227
58311
|
}
|
|
58228
58312
|
};
|
|
58229
58313
|
|
|
58314
|
+
// Selectors for focusable elements
|
|
58315
|
+
const FOCUSABLE_SELECTORS$3 = [
|
|
58316
|
+
"a[href]",
|
|
58317
|
+
"button:not([disabled])",
|
|
58318
|
+
"textarea:not([disabled])",
|
|
58319
|
+
"input:not([disabled])",
|
|
58320
|
+
"select:not([disabled])",
|
|
58321
|
+
'[role="tab"]:not([disabled])',
|
|
58322
|
+
'[role="link"]:not([disabled])',
|
|
58323
|
+
'[role="button"]:not([disabled])',
|
|
58324
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
58325
|
+
'[contenteditable]:not([contenteditable="false"])',
|
|
58326
|
+
];
|
|
58327
|
+
|
|
58328
|
+
// List of custom components that are known to be focusable
|
|
58329
|
+
const FOCUSABLE_COMPONENTS$3 = [
|
|
58330
|
+
"auro-checkbox",
|
|
58331
|
+
"auro-radio",
|
|
58332
|
+
"auro-dropdown",
|
|
58333
|
+
"auro-button",
|
|
58334
|
+
"auro-combobox",
|
|
58335
|
+
"auro-input",
|
|
58336
|
+
"auro-counter",
|
|
58337
|
+
// 'auro-menu', // Auro menu is not focusable by default, it uses a different interaction model
|
|
58338
|
+
"auro-select",
|
|
58339
|
+
"auro-datepicker",
|
|
58340
|
+
"auro-hyperlink",
|
|
58341
|
+
"auro-accordion",
|
|
58342
|
+
];
|
|
58343
|
+
|
|
58344
|
+
/**
|
|
58345
|
+
* Determines if a given element is a custom focusable component.
|
|
58346
|
+
* Returns true if the element matches a known focusable component and is not disabled.
|
|
58347
|
+
*
|
|
58348
|
+
* @param {HTMLElement} element The element to check for focusability.
|
|
58349
|
+
* @returns {boolean} True if the element is a focusable custom component, false otherwise.
|
|
58350
|
+
*/
|
|
58351
|
+
function isFocusableComponent$3(element) {
|
|
58352
|
+
const componentName = element.tagName.toLowerCase();
|
|
58353
|
+
|
|
58354
|
+
// Guard Clause: Element is a focusable component
|
|
58355
|
+
if (
|
|
58356
|
+
!FOCUSABLE_COMPONENTS$3.some(
|
|
58357
|
+
(name) => element.hasAttribute(name) || componentName === name,
|
|
58358
|
+
)
|
|
58359
|
+
)
|
|
58360
|
+
return false;
|
|
58361
|
+
|
|
58362
|
+
// Guard Clause: Element is not disabled
|
|
58363
|
+
if (element.hasAttribute("disabled")) return false;
|
|
58364
|
+
|
|
58365
|
+
// Guard Clause: The element is a hyperlink and has no href attribute
|
|
58366
|
+
if (componentName.match("hyperlink") && !element.hasAttribute("href"))
|
|
58367
|
+
return false;
|
|
58368
|
+
|
|
58369
|
+
// If all guard clauses pass, the element is a focusable component
|
|
58370
|
+
return true;
|
|
58371
|
+
}
|
|
58372
|
+
|
|
58373
|
+
/**
|
|
58374
|
+
* Safely get a numeric tabindex for an element.
|
|
58375
|
+
* Returns a number if the tabindex is a valid integer, otherwise null.
|
|
58376
|
+
*
|
|
58377
|
+
* @param {HTMLElement} element The element whose tabindex to read.
|
|
58378
|
+
* @returns {?number} The numeric tabindex or null if missing/invalid.
|
|
58379
|
+
*/
|
|
58380
|
+
function getNumericTabIndex$3(element) {
|
|
58381
|
+
const raw = element.getAttribute("tabindex");
|
|
58382
|
+
if (raw == null) return null;
|
|
58383
|
+
|
|
58384
|
+
const value = Number.parseInt(raw, 10);
|
|
58385
|
+
return Number.isNaN(value) ? null : value;
|
|
58386
|
+
}
|
|
58387
|
+
|
|
58388
|
+
/**
|
|
58389
|
+
* Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
|
|
58390
|
+
* Returns a unique, ordered array of elements that can receive focus.
|
|
58391
|
+
* Also sorts elements with tabindex first, preserving their order.
|
|
58392
|
+
*
|
|
58393
|
+
* @param {HTMLElement} container The container to search within
|
|
58394
|
+
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
58395
|
+
*/
|
|
58396
|
+
function getFocusableElements$3(container) {
|
|
58397
|
+
// Get elements in DOM order by walking the tree
|
|
58398
|
+
const orderedFocusableElements = [];
|
|
58399
|
+
|
|
58400
|
+
// Define a recursive function to collect focusable elements in DOM order
|
|
58401
|
+
const collectFocusableElements = (root) => {
|
|
58402
|
+
// Check if current element is focusable
|
|
58403
|
+
if (root.nodeType === Node.ELEMENT_NODE) {
|
|
58404
|
+
// Check if this is a custom component that is focusable
|
|
58405
|
+
const isComponentFocusable = isFocusableComponent$3(root);
|
|
58406
|
+
|
|
58407
|
+
if (isComponentFocusable) {
|
|
58408
|
+
// Add the component itself as a focusable element and don't traverse its shadow DOM
|
|
58409
|
+
orderedFocusableElements.push(root);
|
|
58410
|
+
return; // Skip traversing inside this component
|
|
58411
|
+
}
|
|
58412
|
+
|
|
58413
|
+
// Check if the element itself matches any selector
|
|
58414
|
+
for (const selector of FOCUSABLE_SELECTORS$3) {
|
|
58415
|
+
if (root.matches?.(selector)) {
|
|
58416
|
+
orderedFocusableElements.push(root);
|
|
58417
|
+
break; // Once we know it's focusable, no need to check other selectors
|
|
58418
|
+
}
|
|
58419
|
+
}
|
|
58420
|
+
|
|
58421
|
+
// Process shadow DOM only for non-Auro components
|
|
58422
|
+
if (root.shadowRoot) {
|
|
58423
|
+
// Process shadow DOM children in order
|
|
58424
|
+
if (root.shadowRoot.children) {
|
|
58425
|
+
Array.from(root.shadowRoot.children).forEach((child) => {
|
|
58426
|
+
collectFocusableElements(child);
|
|
58427
|
+
});
|
|
58428
|
+
}
|
|
58429
|
+
}
|
|
58430
|
+
|
|
58431
|
+
// Process slots and their assigned nodes in order
|
|
58432
|
+
if (root.tagName === "SLOT") {
|
|
58433
|
+
const assignedNodes = root.assignedNodes({ flatten: true });
|
|
58434
|
+
for (const node of assignedNodes) {
|
|
58435
|
+
collectFocusableElements(node);
|
|
58436
|
+
}
|
|
58437
|
+
} else {
|
|
58438
|
+
// Process light DOM children in order
|
|
58439
|
+
if (root.children) {
|
|
58440
|
+
Array.from(root.children).forEach((child) => {
|
|
58441
|
+
collectFocusableElements(child);
|
|
58442
|
+
});
|
|
58443
|
+
}
|
|
58444
|
+
}
|
|
58445
|
+
}
|
|
58446
|
+
};
|
|
58447
|
+
|
|
58448
|
+
// Start the traversal from the container
|
|
58449
|
+
collectFocusableElements(container);
|
|
58450
|
+
|
|
58451
|
+
// Remove duplicates that might have been collected through different paths
|
|
58452
|
+
// while preserving order
|
|
58453
|
+
const uniqueElements = [];
|
|
58454
|
+
const seen = new Set();
|
|
58455
|
+
|
|
58456
|
+
for (const element of orderedFocusableElements) {
|
|
58457
|
+
if (!seen.has(element)) {
|
|
58458
|
+
seen.add(element);
|
|
58459
|
+
uniqueElements.push(element);
|
|
58460
|
+
}
|
|
58461
|
+
}
|
|
58462
|
+
|
|
58463
|
+
// Move tab-indexed elements to the front while preserving their order
|
|
58464
|
+
// This ensures that elements with tabindex are prioritized in the focus order
|
|
58465
|
+
|
|
58466
|
+
// First extract elements with valid positive tabindex
|
|
58467
|
+
const elementsWithTabindex = uniqueElements.filter((el) => {
|
|
58468
|
+
const tabindex = getNumericTabIndex$3(el);
|
|
58469
|
+
return tabindex !== null && tabindex > 0;
|
|
58470
|
+
});
|
|
58471
|
+
|
|
58472
|
+
// Sort these elements by their tabindex value
|
|
58473
|
+
elementsWithTabindex.sort((a, b) => {
|
|
58474
|
+
const aIndex = getNumericTabIndex$3(a) ?? 0;
|
|
58475
|
+
const bIndex = getNumericTabIndex$3(b) ?? 0;
|
|
58476
|
+
return aIndex - bIndex;
|
|
58477
|
+
});
|
|
58478
|
+
|
|
58479
|
+
// Elements without tabindex (preserving their original order)
|
|
58480
|
+
const elementsWithoutTabindex = uniqueElements.filter((el) => {
|
|
58481
|
+
const tabindex = getNumericTabIndex$3(el);
|
|
58482
|
+
|
|
58483
|
+
// Elements without tabindex or with tabindex of 0 stay in DOM order
|
|
58484
|
+
return tabindex === null || tabindex === 0;
|
|
58485
|
+
});
|
|
58486
|
+
|
|
58487
|
+
// Combine both arrays with tabindex elements first
|
|
58488
|
+
const tabIndexedUniqueElements = [
|
|
58489
|
+
...elementsWithTabindex,
|
|
58490
|
+
...elementsWithoutTabindex,
|
|
58491
|
+
];
|
|
58492
|
+
|
|
58493
|
+
return tabIndexedUniqueElements;
|
|
58494
|
+
}
|
|
58495
|
+
|
|
58230
58496
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
58231
58497
|
// See LICENSE in the project root for license information.
|
|
58232
58498
|
|
|
58499
|
+
|
|
58500
|
+
/**
|
|
58501
|
+
* Whether `el` is currently visible enough to receive focus. Prefers the
|
|
58502
|
+
* browser's `checkVisibility()`; otherwise combines a display/visibility check
|
|
58503
|
+
* with an ancestor-hidden probe that keeps position:fixed elements visible.
|
|
58504
|
+
* @param {Element} el - The element to test.
|
|
58505
|
+
* @returns {boolean}
|
|
58506
|
+
*/
|
|
58507
|
+
function isVisibleForFocus$1(el) {
|
|
58508
|
+
if (typeof el.checkVisibility === 'function') {
|
|
58509
|
+
return el.checkVisibility();
|
|
58510
|
+
}
|
|
58511
|
+
const style = el.ownerDocument.defaultView.getComputedStyle(el);
|
|
58512
|
+
if (style.display === 'none' || style.visibility === 'hidden') {
|
|
58513
|
+
return false;
|
|
58514
|
+
}
|
|
58515
|
+
return el.offsetParent !== null || style.position === 'fixed';
|
|
58516
|
+
}
|
|
58517
|
+
|
|
58518
|
+
/**
|
|
58519
|
+
* Return the tab stop that comes before the counter-group in page tab order,
|
|
58520
|
+
* skipping any hidden entries the walker doesn't filter itself. The group host
|
|
58521
|
+
* itself is not a tab stop; its focusables (the internal dropdown and the
|
|
58522
|
+
* counters) are, so anchor the search on the group's earliest focusable.
|
|
58523
|
+
* @param {Element} component - The auro-counter-group host element.
|
|
58524
|
+
* @returns {Element|null}
|
|
58525
|
+
*/
|
|
58526
|
+
function getPreviousTabStop$1(component) {
|
|
58527
|
+
const tabStops = getFocusableElements$3(component.ownerDocument.body);
|
|
58528
|
+
const counters = component.counters || [];
|
|
58529
|
+
const owned = [
|
|
58530
|
+
component,
|
|
58531
|
+
component.dropdown,
|
|
58532
|
+
...counters
|
|
58533
|
+
].filter(Boolean);
|
|
58534
|
+
let groupStart = tabStops.length;
|
|
58535
|
+
owned.forEach((node) => {
|
|
58536
|
+
const index = tabStops.indexOf(node);
|
|
58537
|
+
if (index >= 0 && index < groupStart) {
|
|
58538
|
+
groupStart = index;
|
|
58539
|
+
}
|
|
58540
|
+
});
|
|
58541
|
+
for (let index = groupStart - 1; index >= 0; index -= 1) {
|
|
58542
|
+
if (isVisibleForFocus$1(tabStops[index])) {
|
|
58543
|
+
return tabStops[index];
|
|
58544
|
+
}
|
|
58545
|
+
}
|
|
58546
|
+
return null;
|
|
58547
|
+
}
|
|
58548
|
+
|
|
58233
58549
|
const counterGroupKeyboardStrategy = {
|
|
58234
58550
|
Escape(component, evt) {
|
|
58235
58551
|
if (!component.dropdown || !component.dropdown.isPopoverVisible) {
|
|
@@ -58243,6 +58559,48 @@ const counterGroupKeyboardStrategy = {
|
|
|
58243
58559
|
|
|
58244
58560
|
component.dropdown.hide();
|
|
58245
58561
|
},
|
|
58562
|
+
|
|
58563
|
+
Tab(component, evt, ctx) {
|
|
58564
|
+
// Forward Tab already exits past the bib content and the focusout handler
|
|
58565
|
+
// closes the bib. Fullscreen relies on the dialog's native focus trapping.
|
|
58566
|
+
if (!ctx.isExpanded || ctx.isModal || !evt.shiftKey) {
|
|
58567
|
+
return;
|
|
58568
|
+
}
|
|
58569
|
+
|
|
58570
|
+
// The trigger precedes the bib content in the flattened tab order, so a
|
|
58571
|
+
// native Shift+Tab off the first counter lands back on the trigger and
|
|
58572
|
+
// leaves the bib open. Only intercept when focus is on the first focusable
|
|
58573
|
+
// in the bib; otherwise let the browser move to the previous counter.
|
|
58574
|
+
// `composedPath()` reports the real event origin through every shadow
|
|
58575
|
+
// boundary, unlike `document.activeElement`, which retargets to the first
|
|
58576
|
+
// slotted counter and cannot tell the counters apart.
|
|
58577
|
+
const focusables = getFocusableElements$3(component.dropdown.bibContent);
|
|
58578
|
+
if (!focusables.length) {
|
|
58579
|
+
return;
|
|
58580
|
+
}
|
|
58581
|
+
|
|
58582
|
+
const path = evt.composedPath();
|
|
58583
|
+
const activeIndex = focusables.findIndex((el) => path.includes(el));
|
|
58584
|
+
if (activeIndex !== 0) {
|
|
58585
|
+
return;
|
|
58586
|
+
}
|
|
58587
|
+
|
|
58588
|
+
const previousTabStop = getPreviousTabStop$1(component);
|
|
58589
|
+
|
|
58590
|
+
// Always suppress the native Shift+Tab. Otherwise it fires against the bib
|
|
58591
|
+
// as it is torn down and lands focus on the trigger (which precedes the
|
|
58592
|
+
// first counter), re-opening the exact loop this handler prevents. When
|
|
58593
|
+
// nothing precedes the group, focus falls to the body instead of the
|
|
58594
|
+
// trigger, which reads as exiting the group backward.
|
|
58595
|
+
evt.preventDefault();
|
|
58596
|
+
component.hideBib();
|
|
58597
|
+
|
|
58598
|
+
if (!previousTabStop) {
|
|
58599
|
+
return;
|
|
58600
|
+
}
|
|
58601
|
+
|
|
58602
|
+
doubleRaf$2(() => previousTabStop.focus());
|
|
58603
|
+
},
|
|
58246
58604
|
};
|
|
58247
58605
|
|
|
58248
58606
|
/* 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,
|
|
@@ -60343,7 +60701,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
|
|
|
60343
60701
|
}
|
|
60344
60702
|
};
|
|
60345
60703
|
|
|
60346
|
-
var formkitVersion$5 = '
|
|
60704
|
+
var formkitVersion$5 = '202609022217';
|
|
60347
60705
|
|
|
60348
60706
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
60349
60707
|
// See LICENSE in the project root for license information.
|
|
@@ -60671,18 +61029,30 @@ class AuroRadioGroup extends i$2 {
|
|
|
60671
61029
|
}
|
|
60672
61030
|
|
|
60673
61031
|
if (changedProperties.has('validity')) {
|
|
60674
|
-
|
|
60675
|
-
|
|
60676
|
-
|
|
60677
|
-
|
|
60678
|
-
|
|
61032
|
+
this.syncItemValidity();
|
|
61033
|
+
}
|
|
61034
|
+
}
|
|
61035
|
+
|
|
61036
|
+
/**
|
|
61037
|
+
* Method for mirroring the group's invalid state onto each radio input.
|
|
61038
|
+
* `validity` — not `error` — is the authoritative invalid state, and it has to be
|
|
61039
|
+
* re-applied from `handleItems()` as well, because a slot change or a reconnect can
|
|
61040
|
+
* happen without `validity` itself changing.
|
|
61041
|
+
* @private
|
|
61042
|
+
* @returns {void}
|
|
61043
|
+
*/
|
|
61044
|
+
syncItemValidity() {
|
|
61045
|
+
const invalid = Boolean(this.error) || Boolean(this.validity && this.validity !== 'valid');
|
|
61046
|
+
|
|
61047
|
+
this.items.forEach((el) => {
|
|
61048
|
+
if (invalid) {
|
|
61049
|
+
el.setAttribute('error', true);
|
|
61050
|
+
el.setAttribute('aria-invalid', 'true');
|
|
60679
61051
|
} else {
|
|
60680
|
-
|
|
60681
|
-
|
|
60682
|
-
el.removeAttribute('aria-invalid');
|
|
60683
|
-
});
|
|
61052
|
+
el.removeAttribute('error');
|
|
61053
|
+
el.removeAttribute('aria-invalid');
|
|
60684
61054
|
}
|
|
60685
|
-
}
|
|
61055
|
+
});
|
|
60686
61056
|
}
|
|
60687
61057
|
|
|
60688
61058
|
/**
|
|
@@ -60738,8 +61108,9 @@ class AuroRadioGroup extends i$2 {
|
|
|
60738
61108
|
|
|
60739
61109
|
this.items.forEach((el) => {
|
|
60740
61110
|
el.required = this.required;
|
|
60741
|
-
el.error = Boolean(this.error);
|
|
60742
61111
|
});
|
|
61112
|
+
|
|
61113
|
+
this.syncItemValidity();
|
|
60743
61114
|
}
|
|
60744
61115
|
|
|
60745
61116
|
/**
|
|
@@ -62162,7 +62533,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
|
|
|
62162
62533
|
}
|
|
62163
62534
|
};
|
|
62164
62535
|
|
|
62165
|
-
var formkitVersion$4 = '
|
|
62536
|
+
var formkitVersion$4 = '202609022217';
|
|
62166
62537
|
|
|
62167
62538
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
62168
62539
|
// See LICENSE in the project root for license information.
|
|
@@ -62495,6 +62866,29 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
62495
62866
|
this.handlePreselectedItems();
|
|
62496
62867
|
|
|
62497
62868
|
this.validate();
|
|
62869
|
+
this.syncCheckboxValidity();
|
|
62870
|
+
}
|
|
62871
|
+
|
|
62872
|
+
/**
|
|
62873
|
+
* Method for mirroring the group's invalid state onto each checkbox.
|
|
62874
|
+
* `validity` is the authoritative invalid state, and it has to be re-applied from
|
|
62875
|
+
* `handleItems()` as well, because a slot change can happen without `validity` itself
|
|
62876
|
+
* changing — a checkbox slotted into an already-invalid group would otherwise be missed.
|
|
62877
|
+
* @private
|
|
62878
|
+
* @returns {void}
|
|
62879
|
+
*/
|
|
62880
|
+
syncCheckboxValidity() {
|
|
62881
|
+
const invalid = Boolean(this.validity && this.validity !== 'valid');
|
|
62882
|
+
|
|
62883
|
+
this.checkboxes.forEach((el) => {
|
|
62884
|
+
if (invalid) {
|
|
62885
|
+
el.setAttribute('error', true);
|
|
62886
|
+
el.setAttribute('aria-invalid', 'true');
|
|
62887
|
+
} else {
|
|
62888
|
+
el.removeAttribute('error');
|
|
62889
|
+
el.removeAttribute('aria-invalid');
|
|
62890
|
+
}
|
|
62891
|
+
});
|
|
62498
62892
|
}
|
|
62499
62893
|
|
|
62500
62894
|
/**
|
|
@@ -62526,15 +62920,7 @@ class AuroCheckboxGroup extends i$2 {
|
|
|
62526
62920
|
}
|
|
62527
62921
|
|
|
62528
62922
|
if (changedProperties.has('validity')) {
|
|
62529
|
-
this.
|
|
62530
|
-
if (this.validity && this.validity !== 'valid') {
|
|
62531
|
-
el.setAttribute('error', true);
|
|
62532
|
-
el.setAttribute('aria-invalid', 'true');
|
|
62533
|
-
} else {
|
|
62534
|
-
el.removeAttribute('error');
|
|
62535
|
-
el.removeAttribute('aria-invalid');
|
|
62536
|
-
}
|
|
62537
|
-
});
|
|
62923
|
+
this.syncCheckboxValidity();
|
|
62538
62924
|
}
|
|
62539
62925
|
|
|
62540
62926
|
if (changedProperties.has('required')) {
|
|
@@ -65531,6 +65917,48 @@ const computePosition$2 = (reference, floating, options) => {
|
|
|
65531
65917
|
});
|
|
65532
65918
|
};
|
|
65533
65919
|
|
|
65920
|
+
/**
|
|
65921
|
+
* Generates a v4 UUID with a three-tier fallback for insecure contexts.
|
|
65922
|
+
*
|
|
65923
|
+
* Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
|
|
65924
|
+
* Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
|
|
65925
|
+
* modern browsers regardless of secure-context status.
|
|
65926
|
+
* Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
|
|
65927
|
+
* but sufficient for element IDs where collision risk is negligible.
|
|
65928
|
+
*
|
|
65929
|
+
* See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
|
|
65930
|
+
*/
|
|
65931
|
+
function generateUUID$1() {
|
|
65932
|
+
let uuid;
|
|
65933
|
+
|
|
65934
|
+
if (
|
|
65935
|
+
typeof crypto !== "undefined" &&
|
|
65936
|
+
typeof crypto.randomUUID === "function"
|
|
65937
|
+
) {
|
|
65938
|
+
uuid = crypto.randomUUID();
|
|
65939
|
+
} else if (
|
|
65940
|
+
typeof crypto !== "undefined" &&
|
|
65941
|
+
typeof crypto.getRandomValues === "function"
|
|
65942
|
+
) {
|
|
65943
|
+
const bytes = new Uint8Array(16);
|
|
65944
|
+
crypto.getRandomValues(bytes);
|
|
65945
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
65946
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
65947
|
+
const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
|
|
65948
|
+
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("")}`;
|
|
65949
|
+
} else {
|
|
65950
|
+
let d = new Date().getTime();
|
|
65951
|
+
uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
65952
|
+
const r = (d % 16) | 0;
|
|
65953
|
+
d = (d - r) / 16 || new Date().getTime();
|
|
65954
|
+
return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
|
|
65955
|
+
});
|
|
65956
|
+
}
|
|
65957
|
+
|
|
65958
|
+
// CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
|
|
65959
|
+
return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
|
|
65960
|
+
}
|
|
65961
|
+
|
|
65534
65962
|
/* eslint-disable line-comment-position, no-inline-comments */
|
|
65535
65963
|
|
|
65536
65964
|
|
|
@@ -66549,7 +66977,7 @@ let AuroFloatingUI$1 = class AuroFloatingUI {
|
|
|
66549
66977
|
|
|
66550
66978
|
this.id = element.getAttribute("id");
|
|
66551
66979
|
if (!this.id) {
|
|
66552
|
-
this.id =
|
|
66980
|
+
this.id = generateUUID$1();
|
|
66553
66981
|
element.setAttribute("id", this.id);
|
|
66554
66982
|
}
|
|
66555
66983
|
|
|
@@ -67594,7 +68022,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
|
|
|
67594
68022
|
}
|
|
67595
68023
|
};
|
|
67596
68024
|
|
|
67597
|
-
var formkitVersion$2 = '
|
|
68025
|
+
var formkitVersion$2 = '202609022217';
|
|
67598
68026
|
|
|
67599
68027
|
/**
|
|
67600
68028
|
* AuroElement is the shared base class for layout-aware Auro form components.
|
|
@@ -81456,7 +81884,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
|
|
|
81456
81884
|
}
|
|
81457
81885
|
};
|
|
81458
81886
|
|
|
81459
|
-
var formkitVersion$1$1 = '
|
|
81887
|
+
var formkitVersion$1$1 = '202609022217';
|
|
81460
81888
|
|
|
81461
81889
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
81462
81890
|
// See LICENSE in the project root for license information.
|
|
@@ -82648,7 +83076,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
|
|
|
82648
83076
|
}
|
|
82649
83077
|
};
|
|
82650
83078
|
|
|
82651
|
-
var formkitVersion$3 = '
|
|
83079
|
+
var formkitVersion$3 = '202609022217';
|
|
82652
83080
|
|
|
82653
83081
|
var styleCss$1$3 = i$4`.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}`;
|
|
82654
83082
|
|
|
@@ -90122,6 +90550,48 @@ const computePosition = (reference, floating, options) => {
|
|
|
90122
90550
|
});
|
|
90123
90551
|
};
|
|
90124
90552
|
|
|
90553
|
+
/**
|
|
90554
|
+
* Generates a v4 UUID with a three-tier fallback for insecure contexts.
|
|
90555
|
+
*
|
|
90556
|
+
* Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
|
|
90557
|
+
* Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
|
|
90558
|
+
* modern browsers regardless of secure-context status.
|
|
90559
|
+
* Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
|
|
90560
|
+
* but sufficient for element IDs where collision risk is negligible.
|
|
90561
|
+
*
|
|
90562
|
+
* See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
|
|
90563
|
+
*/
|
|
90564
|
+
function generateUUID() {
|
|
90565
|
+
let uuid;
|
|
90566
|
+
|
|
90567
|
+
if (
|
|
90568
|
+
typeof crypto !== "undefined" &&
|
|
90569
|
+
typeof crypto.randomUUID === "function"
|
|
90570
|
+
) {
|
|
90571
|
+
uuid = crypto.randomUUID();
|
|
90572
|
+
} else if (
|
|
90573
|
+
typeof crypto !== "undefined" &&
|
|
90574
|
+
typeof crypto.getRandomValues === "function"
|
|
90575
|
+
) {
|
|
90576
|
+
const bytes = new Uint8Array(16);
|
|
90577
|
+
crypto.getRandomValues(bytes);
|
|
90578
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
90579
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
90580
|
+
const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
|
|
90581
|
+
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("")}`;
|
|
90582
|
+
} else {
|
|
90583
|
+
let d = new Date().getTime();
|
|
90584
|
+
uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
90585
|
+
const r = (d % 16) | 0;
|
|
90586
|
+
d = (d - r) / 16 || new Date().getTime();
|
|
90587
|
+
return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
|
|
90588
|
+
});
|
|
90589
|
+
}
|
|
90590
|
+
|
|
90591
|
+
// CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
|
|
90592
|
+
return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
|
|
90593
|
+
}
|
|
90594
|
+
|
|
90125
90595
|
/* eslint-disable line-comment-position, no-inline-comments */
|
|
90126
90596
|
|
|
90127
90597
|
|
|
@@ -91140,7 +91610,7 @@ class AuroFloatingUI {
|
|
|
91140
91610
|
|
|
91141
91611
|
this.id = element.getAttribute("id");
|
|
91142
91612
|
if (!this.id) {
|
|
91143
|
-
this.id =
|
|
91613
|
+
this.id = generateUUID();
|
|
91144
91614
|
element.setAttribute("id", this.id);
|
|
91145
91615
|
}
|
|
91146
91616
|
|
|
@@ -92185,7 +92655,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
92185
92655
|
}
|
|
92186
92656
|
};
|
|
92187
92657
|
|
|
92188
|
-
var formkitVersion$1 = '
|
|
92658
|
+
var formkitVersion$1 = '202609022217';
|
|
92189
92659
|
|
|
92190
92660
|
/**
|
|
92191
92661
|
* AuroElement is the shared base class for layout-aware Auro form components.
|
|
@@ -94358,7 +94828,7 @@ class AuroHelpText extends i$2 {
|
|
|
94358
94828
|
}
|
|
94359
94829
|
}
|
|
94360
94830
|
|
|
94361
|
-
var formkitVersion = '
|
|
94831
|
+
var formkitVersion = '202609022217';
|
|
94362
94832
|
|
|
94363
94833
|
var styleCss = i$4`.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}`;
|
|
94364
94834
|
|