@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.
Files changed (51) hide show
  1. package/components/checkbox/demo/accessibility.md +15 -4
  2. package/components/checkbox/demo/customize.min.js +25 -10
  3. package/components/checkbox/demo/getting-started.min.js +25 -10
  4. package/components/checkbox/demo/index.min.js +25 -10
  5. package/components/checkbox/dist/auro-checkbox-group.d.ts +9 -0
  6. package/components/checkbox/dist/index.js +25 -10
  7. package/components/checkbox/dist/registered.js +25 -10
  8. package/components/combobox/demo/customize.min.js +46 -4
  9. package/components/combobox/demo/getting-started.min.js +46 -4
  10. package/components/combobox/demo/index.min.js +46 -4
  11. package/components/combobox/dist/index.js +46 -4
  12. package/components/combobox/dist/registered.js +46 -4
  13. package/components/counter/demo/customize.min.js +339 -23
  14. package/components/counter/demo/getting-started.min.js +339 -23
  15. package/components/counter/demo/index.min.js +339 -23
  16. package/components/counter/dist/counterGroupKeyboardStrategy.d.ts +1 -0
  17. package/components/counter/dist/index.js +339 -23
  18. package/components/counter/dist/registered.js +339 -23
  19. package/components/datepicker/demo/customize.min.js +46 -4
  20. package/components/datepicker/demo/getting-started.min.js +46 -4
  21. package/components/datepicker/demo/index.min.js +46 -4
  22. package/components/datepicker/dist/index.js +46 -4
  23. package/components/datepicker/dist/registered.js +46 -4
  24. package/components/dropdown/demo/customize.min.js +44 -2
  25. package/components/dropdown/demo/getting-started.min.js +45 -3
  26. package/components/dropdown/demo/index.min.js +44 -2
  27. package/components/dropdown/dist/index.js +44 -2
  28. package/components/dropdown/dist/registered.js +44 -2
  29. package/components/form/demo/customize.min.js +527 -57
  30. package/components/form/demo/getting-started.min.js +527 -57
  31. package/components/form/demo/index.min.js +527 -57
  32. package/components/form/demo/registerDemoDeps.min.js +527 -57
  33. package/components/input/demo/customize.min.js +1 -1
  34. package/components/input/demo/getting-started.min.js +1 -1
  35. package/components/input/demo/index.min.js +1 -1
  36. package/components/input/dist/index.js +1 -1
  37. package/components/input/dist/registered.js +1 -1
  38. package/components/radio/demo/accessibility.md +13 -4
  39. package/components/radio/demo/customize.min.js +25 -12
  40. package/components/radio/demo/getting-started.min.js +25 -12
  41. package/components/radio/demo/index.min.js +25 -12
  42. package/components/radio/dist/auro-radio-group.d.ts +9 -0
  43. package/components/radio/dist/index.js +25 -12
  44. package/components/radio/dist/registered.js +25 -12
  45. package/components/select/demo/customize.min.js +45 -3
  46. package/components/select/demo/getting-started.min.js +45 -3
  47. package/components/select/demo/index.min.js +45 -3
  48. package/components/select/dist/index.js +45 -3
  49. package/components/select/dist/registered.js +45 -3
  50. package/custom-elements.json +1507 -1485
  51. 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 = '202609021913';
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 = '202609021913';
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 = window.crypto.randomUUID();
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 = '202609021913';
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 = '202609021913';
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 = '202609021913';
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 = window.crypto.randomUUID();
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$3 = [
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$3 = [
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$3(element) {
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$3.some(
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$3(element) {
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$3(container) {
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$3(root);
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$3) {
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$3(el);
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$3(a) ?? 0;
56398
- const bIndex = getNumericTabIndex$3(b) ?? 0;
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$3(el);
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 = '202609021913';
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$3(this.bibContent);
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$3(el);
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$3(this.trigger);
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$3(this.bibContent);
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$3(node));
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$3(this.bibContent);
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$3(this.bibContent);
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$3(node).length > 0);
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 = '202609021913';
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
- if (this.validity && this.validity !== 'valid') {
61729
- this.items.forEach((el) => {
61730
- el.setAttribute('error', true);
61731
- el.setAttribute('aria-invalid', 'true');
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
- this.items.forEach((el) => {
61735
- el.removeAttribute('error');
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 = '202609021913';
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.checkboxes.forEach((el) => {
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 = window.crypto.randomUUID();
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 = '202609021913';
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 = '202609021913';
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 = '202609021913';
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 = window.crypto.randomUUID();
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 = '202609021913';
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 = '202609021913';
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