@aurodesignsystem-dev/auro-formkit 0.0.0-pr1604.1 → 0.0.0-pr1605.0

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 (52) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +153 -5
  7. package/components/combobox/demo/getting-started.min.js +153 -5
  8. package/components/combobox/demo/index.min.js +153 -5
  9. package/components/combobox/dist/auro-combobox.d.ts +22 -0
  10. package/components/combobox/dist/index.js +137 -5
  11. package/components/combobox/dist/registered.js +137 -5
  12. package/components/counter/demo/customize.min.js +339 -23
  13. package/components/counter/demo/getting-started.min.js +339 -23
  14. package/components/counter/demo/index.min.js +339 -23
  15. package/components/counter/dist/counterGroupKeyboardStrategy.d.ts +1 -0
  16. package/components/counter/dist/index.js +339 -23
  17. package/components/counter/dist/registered.js +339 -23
  18. package/components/datepicker/demo/customize.min.js +94 -5
  19. package/components/datepicker/demo/getting-started.min.js +94 -5
  20. package/components/datepicker/demo/index.min.js +94 -5
  21. package/components/datepicker/dist/auro-datepicker.d.ts +7 -0
  22. package/components/datepicker/dist/index.js +94 -5
  23. package/components/datepicker/dist/registered.js +94 -5
  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 +634 -39
  30. package/components/form/demo/getting-started.min.js +634 -39
  31. package/components/form/demo/index.min.js +634 -39
  32. package/components/form/demo/registerDemoDeps.min.js +634 -39
  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/menu/demo/index.min.js +16 -0
  39. package/components/menu/dist/index.js +16 -0
  40. package/components/menu/dist/registered.js +16 -0
  41. package/components/radio/demo/customize.min.js +1 -1
  42. package/components/radio/demo/getting-started.min.js +1 -1
  43. package/components/radio/demo/index.min.js +1 -1
  44. package/components/radio/dist/index.js +1 -1
  45. package/components/radio/dist/registered.js +1 -1
  46. package/components/select/demo/customize.min.js +61 -3
  47. package/components/select/demo/getting-started.min.js +61 -3
  48. package/components/select/demo/index.min.js +61 -3
  49. package/components/select/dist/index.js +45 -3
  50. package/components/select/dist/registered.js +45 -3
  51. package/custom-elements.json +1521 -1491
  52. package/package.json +3 -3
@@ -13825,7 +13825,7 @@ class AuroBibtemplate extends i$1 {
13825
13825
  }
13826
13826
  }
13827
13827
 
13828
- var formkitVersion$2 = '202609012101';
13828
+ var formkitVersion$2 = '202609022200';
13829
13829
 
13830
13830
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = 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$3=i$3`: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}
13831
13831
  `,u$6=i$3`.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}}
@@ -17630,6 +17630,48 @@ const computePosition = (reference, floating, options) => {
17630
17630
  });
17631
17631
  };
17632
17632
 
17633
+ /**
17634
+ * Generates a v4 UUID with a three-tier fallback for insecure contexts.
17635
+ *
17636
+ * Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
17637
+ * Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
17638
+ * modern browsers regardless of secure-context status.
17639
+ * Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
17640
+ * but sufficient for element IDs where collision risk is negligible.
17641
+ *
17642
+ * See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
17643
+ */
17644
+ function generateUUID() {
17645
+ let uuid;
17646
+
17647
+ if (
17648
+ typeof crypto !== "undefined" &&
17649
+ typeof crypto.randomUUID === "function"
17650
+ ) {
17651
+ uuid = crypto.randomUUID();
17652
+ } else if (
17653
+ typeof crypto !== "undefined" &&
17654
+ typeof crypto.getRandomValues === "function"
17655
+ ) {
17656
+ const bytes = new Uint8Array(16);
17657
+ crypto.getRandomValues(bytes);
17658
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
17659
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
17660
+ const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
17661
+ 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("")}`;
17662
+ } else {
17663
+ let d = new Date().getTime();
17664
+ uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
17665
+ const r = (d % 16) | 0;
17666
+ d = (d - r) / 16 || new Date().getTime();
17667
+ return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
17668
+ });
17669
+ }
17670
+
17671
+ // CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
17672
+ return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
17673
+ }
17674
+
17633
17675
  /* eslint-disable line-comment-position, no-inline-comments */
17634
17676
 
17635
17677
 
@@ -18648,7 +18690,7 @@ class AuroFloatingUI {
18648
18690
 
18649
18691
  this.id = element.getAttribute("id");
18650
18692
  if (!this.id) {
18651
- this.id = window.crypto.randomUUID();
18693
+ this.id = generateUUID();
18652
18694
  element.setAttribute("id", this.id);
18653
18695
  }
18654
18696
 
@@ -19693,7 +19735,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
19693
19735
  }
19694
19736
  };
19695
19737
 
19696
- var formkitVersion$1 = '202609012101';
19738
+ var formkitVersion$1 = '202609022200';
19697
19739
 
19698
19740
  /**
19699
19741
  * AuroElement is the shared base class for layout-aware Auro form components.
@@ -33562,7 +33604,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
33562
33604
  }
33563
33605
  };
33564
33606
 
33565
- var formkitVersion = '202609012101';
33607
+ var formkitVersion = '202609022200';
33566
33608
 
33567
33609
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
33568
33610
  // See LICENSE in the project root for license information.
@@ -35179,6 +35221,14 @@ class AuroDatePicker extends AuroElement {
35179
35221
  */
35180
35222
  this.hasFocus = false;
35181
35223
 
35224
+ /**
35225
+ * Tracks whether the current open cycle promoted the fullscreen bib via
35226
+ * showModal(). Used by the close handler to decide whether native <dialog>
35227
+ * focus restoration will fire (see the auroDropdown-toggled handler).
35228
+ * @private
35229
+ */
35230
+ this._bibOpenedAsModal = false;
35231
+
35182
35232
  /**
35183
35233
  * @private
35184
35234
  */
@@ -36234,6 +36284,15 @@ class AuroDatePicker extends AuroElement {
36234
36284
  // a top-layer popover where :focus-within on the dropdown host returns false).
36235
36285
  this.dropdown.noHideOnThisFocusLoss = true;
36236
36286
 
36287
+ // Suppress the dropdown's generic focus restoration on close — the
36288
+ // datepicker manages its own focus in the auroDropdown-toggled handler
36289
+ // below (respecting hasFocus / _restoreFocusOnClose, and deferring to the
36290
+ // fullscreen dialog's native restoration on touch devices). Without this,
36291
+ // the dropdown's setTimeout(focusTrigger) fires a second, gesture-decoupled
36292
+ // programmatic focus on close, which on iOS Safari swallows the user's next
36293
+ // tap and forces a second tap to reopen the calendar (AB#1634252).
36294
+ this.dropdown.noFocusRestoreOnClose = true;
36295
+
36237
36296
  // Pass label text to the dropdown bib for accessible dialog naming.
36238
36297
  // Without this, the fullscreen <dialog> has no accessible name and
36239
36298
  // screen readers announce it as just "dialog" with no context.
@@ -36305,6 +36364,16 @@ class AuroDatePicker extends AuroElement {
36305
36364
  bibEl.close();
36306
36365
  bibEl.open(true);
36307
36366
 
36367
+ // Record that this open cycle actually promoted the dialog via
36368
+ // showModal(). The close handler relies on this — not the broader
36369
+ // isBibFullscreen flag — to decide whether native <dialog> focus
36370
+ // restoration will occur, because isBibFullscreen is set
36371
+ // synchronously in showBib() while this open(true) runs a
36372
+ // microtask later. If the bib is closed before this resolves,
36373
+ // showModal() never fires and there is no native restoration to
36374
+ // defer to.
36375
+ this._bibOpenedAsModal = true;
36376
+
36308
36377
  doubleRaf(() => {
36309
36378
  this.focusActiveCellWhenReady();
36310
36379
  });
@@ -36336,7 +36405,27 @@ class AuroDatePicker extends AuroElement {
36336
36405
  this.dropdown.trigger.inert = false;
36337
36406
  const shouldRestoreFocus = this.hasFocus || this._restoreFocusOnClose;
36338
36407
  this._restoreFocusOnClose = false;
36339
- if (shouldRestoreFocus) {
36408
+ // On coarse-pointer (touch) devices closing the fullscreen modal, rely
36409
+ // on the <dialog>'s native focus restoration instead of forcing focus
36410
+ // back onto the input. showModal() returns focus to the trigger anchor
36411
+ // as part of the closing gesture, so a11y focus is preserved. Re-running
36412
+ // .focus() here is a gesture-decoupled programmatic focus that iOS
36413
+ // Safari penalizes: it swallows the user's next tap, so reopening the
36414
+ // calendar takes two taps instead of one (AB#1634252). Fine-pointer
36415
+ // (desktop) layouts keep the explicit restore for keyboard/SR
36416
+ // correctness, and non-fullscreen bibs (no showModal, no native
36417
+ // restoration) always restore explicitly.
36418
+ //
36419
+ // Gate on `_bibOpenedAsModal` — set only after the actual showModal()
36420
+ // promotion (open(true)) — rather than `isBibFullscreen`, which is true
36421
+ // as soon as the fullscreen layout is chosen but before the modal is
36422
+ // promoted. If the bib is closed before that async promotion runs, no
36423
+ // native restoration will occur, so we must still restore explicitly.
36424
+ const bibWasModal = this._bibOpenedAsModal;
36425
+ this._bibOpenedAsModal = false;
36426
+ const useNativeFocusRestoration =
36427
+ bibWasModal && window.matchMedia('(pointer: coarse)').matches;
36428
+ if (shouldRestoreFocus && !useNativeFocusRestoration) {
36340
36429
  requestAnimationFrame(() => {
36341
36430
  if (!this.dropdown.isPopoverVisible) {
36342
36431
  this.inputList[0].focus();
@@ -13825,7 +13825,7 @@ class AuroBibtemplate extends i$1 {
13825
13825
  }
13826
13826
  }
13827
13827
 
13828
- var formkitVersion$2 = '202609012101';
13828
+ var formkitVersion$2 = '202609022200';
13829
13829
 
13830
13830
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = 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$3=i$3`: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}
13831
13831
  `,u$6=i$3`.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}}
@@ -17630,6 +17630,48 @@ const computePosition = (reference, floating, options) => {
17630
17630
  });
17631
17631
  };
17632
17632
 
17633
+ /**
17634
+ * Generates a v4 UUID with a three-tier fallback for insecure contexts.
17635
+ *
17636
+ * Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
17637
+ * Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
17638
+ * modern browsers regardless of secure-context status.
17639
+ * Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
17640
+ * but sufficient for element IDs where collision risk is negligible.
17641
+ *
17642
+ * See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
17643
+ */
17644
+ function generateUUID() {
17645
+ let uuid;
17646
+
17647
+ if (
17648
+ typeof crypto !== "undefined" &&
17649
+ typeof crypto.randomUUID === "function"
17650
+ ) {
17651
+ uuid = crypto.randomUUID();
17652
+ } else if (
17653
+ typeof crypto !== "undefined" &&
17654
+ typeof crypto.getRandomValues === "function"
17655
+ ) {
17656
+ const bytes = new Uint8Array(16);
17657
+ crypto.getRandomValues(bytes);
17658
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
17659
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
17660
+ const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
17661
+ 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("")}`;
17662
+ } else {
17663
+ let d = new Date().getTime();
17664
+ uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
17665
+ const r = (d % 16) | 0;
17666
+ d = (d - r) / 16 || new Date().getTime();
17667
+ return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
17668
+ });
17669
+ }
17670
+
17671
+ // CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
17672
+ return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
17673
+ }
17674
+
17633
17675
  /* eslint-disable line-comment-position, no-inline-comments */
17634
17676
 
17635
17677
 
@@ -18648,7 +18690,7 @@ class AuroFloatingUI {
18648
18690
 
18649
18691
  this.id = element.getAttribute("id");
18650
18692
  if (!this.id) {
18651
- this.id = window.crypto.randomUUID();
18693
+ this.id = generateUUID();
18652
18694
  element.setAttribute("id", this.id);
18653
18695
  }
18654
18696
 
@@ -19693,7 +19735,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
19693
19735
  }
19694
19736
  };
19695
19737
 
19696
- var formkitVersion$1 = '202609012101';
19738
+ var formkitVersion$1 = '202609022200';
19697
19739
 
19698
19740
  /**
19699
19741
  * AuroElement is the shared base class for layout-aware Auro form components.
@@ -33562,7 +33604,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
33562
33604
  }
33563
33605
  };
33564
33606
 
33565
- var formkitVersion = '202609012101';
33607
+ var formkitVersion = '202609022200';
33566
33608
 
33567
33609
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
33568
33610
  // See LICENSE in the project root for license information.
@@ -35179,6 +35221,14 @@ class AuroDatePicker extends AuroElement {
35179
35221
  */
35180
35222
  this.hasFocus = false;
35181
35223
 
35224
+ /**
35225
+ * Tracks whether the current open cycle promoted the fullscreen bib via
35226
+ * showModal(). Used by the close handler to decide whether native <dialog>
35227
+ * focus restoration will fire (see the auroDropdown-toggled handler).
35228
+ * @private
35229
+ */
35230
+ this._bibOpenedAsModal = false;
35231
+
35182
35232
  /**
35183
35233
  * @private
35184
35234
  */
@@ -36234,6 +36284,15 @@ class AuroDatePicker extends AuroElement {
36234
36284
  // a top-layer popover where :focus-within on the dropdown host returns false).
36235
36285
  this.dropdown.noHideOnThisFocusLoss = true;
36236
36286
 
36287
+ // Suppress the dropdown's generic focus restoration on close — the
36288
+ // datepicker manages its own focus in the auroDropdown-toggled handler
36289
+ // below (respecting hasFocus / _restoreFocusOnClose, and deferring to the
36290
+ // fullscreen dialog's native restoration on touch devices). Without this,
36291
+ // the dropdown's setTimeout(focusTrigger) fires a second, gesture-decoupled
36292
+ // programmatic focus on close, which on iOS Safari swallows the user's next
36293
+ // tap and forces a second tap to reopen the calendar (AB#1634252).
36294
+ this.dropdown.noFocusRestoreOnClose = true;
36295
+
36237
36296
  // Pass label text to the dropdown bib for accessible dialog naming.
36238
36297
  // Without this, the fullscreen <dialog> has no accessible name and
36239
36298
  // screen readers announce it as just "dialog" with no context.
@@ -36305,6 +36364,16 @@ class AuroDatePicker extends AuroElement {
36305
36364
  bibEl.close();
36306
36365
  bibEl.open(true);
36307
36366
 
36367
+ // Record that this open cycle actually promoted the dialog via
36368
+ // showModal(). The close handler relies on this — not the broader
36369
+ // isBibFullscreen flag — to decide whether native <dialog> focus
36370
+ // restoration will occur, because isBibFullscreen is set
36371
+ // synchronously in showBib() while this open(true) runs a
36372
+ // microtask later. If the bib is closed before this resolves,
36373
+ // showModal() never fires and there is no native restoration to
36374
+ // defer to.
36375
+ this._bibOpenedAsModal = true;
36376
+
36308
36377
  doubleRaf(() => {
36309
36378
  this.focusActiveCellWhenReady();
36310
36379
  });
@@ -36336,7 +36405,27 @@ class AuroDatePicker extends AuroElement {
36336
36405
  this.dropdown.trigger.inert = false;
36337
36406
  const shouldRestoreFocus = this.hasFocus || this._restoreFocusOnClose;
36338
36407
  this._restoreFocusOnClose = false;
36339
- if (shouldRestoreFocus) {
36408
+ // On coarse-pointer (touch) devices closing the fullscreen modal, rely
36409
+ // on the <dialog>'s native focus restoration instead of forcing focus
36410
+ // back onto the input. showModal() returns focus to the trigger anchor
36411
+ // as part of the closing gesture, so a11y focus is preserved. Re-running
36412
+ // .focus() here is a gesture-decoupled programmatic focus that iOS
36413
+ // Safari penalizes: it swallows the user's next tap, so reopening the
36414
+ // calendar takes two taps instead of one (AB#1634252). Fine-pointer
36415
+ // (desktop) layouts keep the explicit restore for keyboard/SR
36416
+ // correctness, and non-fullscreen bibs (no showModal, no native
36417
+ // restoration) always restore explicitly.
36418
+ //
36419
+ // Gate on `_bibOpenedAsModal` — set only after the actual showModal()
36420
+ // promotion (open(true)) — rather than `isBibFullscreen`, which is true
36421
+ // as soon as the fullscreen layout is chosen but before the modal is
36422
+ // promoted. If the bib is closed before that async promotion runs, no
36423
+ // native restoration will occur, so we must still restore explicitly.
36424
+ const bibWasModal = this._bibOpenedAsModal;
36425
+ this._bibOpenedAsModal = false;
36426
+ const useNativeFocusRestoration =
36427
+ bibWasModal && window.matchMedia('(pointer: coarse)').matches;
36428
+ if (shouldRestoreFocus && !useNativeFocusRestoration) {
36340
36429
  requestAnimationFrame(() => {
36341
36430
  if (!this.dropdown.isPopoverVisible) {
36342
36431
  this.inputList[0].focus();
@@ -13825,7 +13825,7 @@ class AuroBibtemplate extends i$1 {
13825
13825
  }
13826
13826
  }
13827
13827
 
13828
- var formkitVersion$2 = '202609012101';
13828
+ var formkitVersion$2 = '202609022200';
13829
13829
 
13830
13830
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = 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$3=i$3`: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}
13831
13831
  `,u$6=i$3`.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}}
@@ -17630,6 +17630,48 @@ const computePosition = (reference, floating, options) => {
17630
17630
  });
17631
17631
  };
17632
17632
 
17633
+ /**
17634
+ * Generates a v4 UUID with a three-tier fallback for insecure contexts.
17635
+ *
17636
+ * Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
17637
+ * Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
17638
+ * modern browsers regardless of secure-context status.
17639
+ * Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
17640
+ * but sufficient for element IDs where collision risk is negligible.
17641
+ *
17642
+ * See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
17643
+ */
17644
+ function generateUUID() {
17645
+ let uuid;
17646
+
17647
+ if (
17648
+ typeof crypto !== "undefined" &&
17649
+ typeof crypto.randomUUID === "function"
17650
+ ) {
17651
+ uuid = crypto.randomUUID();
17652
+ } else if (
17653
+ typeof crypto !== "undefined" &&
17654
+ typeof crypto.getRandomValues === "function"
17655
+ ) {
17656
+ const bytes = new Uint8Array(16);
17657
+ crypto.getRandomValues(bytes);
17658
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
17659
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
17660
+ const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
17661
+ 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("")}`;
17662
+ } else {
17663
+ let d = new Date().getTime();
17664
+ uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
17665
+ const r = (d % 16) | 0;
17666
+ d = (d - r) / 16 || new Date().getTime();
17667
+ return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
17668
+ });
17669
+ }
17670
+
17671
+ // CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
17672
+ return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
17673
+ }
17674
+
17633
17675
  /* eslint-disable line-comment-position, no-inline-comments */
17634
17676
 
17635
17677
 
@@ -18648,7 +18690,7 @@ class AuroFloatingUI {
18648
18690
 
18649
18691
  this.id = element.getAttribute("id");
18650
18692
  if (!this.id) {
18651
- this.id = window.crypto.randomUUID();
18693
+ this.id = generateUUID();
18652
18694
  element.setAttribute("id", this.id);
18653
18695
  }
18654
18696
 
@@ -19693,7 +19735,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
19693
19735
  }
19694
19736
  };
19695
19737
 
19696
- var formkitVersion$1 = '202609012101';
19738
+ var formkitVersion$1 = '202609022200';
19697
19739
 
19698
19740
  /**
19699
19741
  * AuroElement is the shared base class for layout-aware Auro form components.
@@ -33562,7 +33604,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
33562
33604
  }
33563
33605
  };
33564
33606
 
33565
- var formkitVersion = '202609012101';
33607
+ var formkitVersion = '202609022200';
33566
33608
 
33567
33609
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
33568
33610
  // See LICENSE in the project root for license information.
@@ -35179,6 +35221,14 @@ class AuroDatePicker extends AuroElement {
35179
35221
  */
35180
35222
  this.hasFocus = false;
35181
35223
 
35224
+ /**
35225
+ * Tracks whether the current open cycle promoted the fullscreen bib via
35226
+ * showModal(). Used by the close handler to decide whether native <dialog>
35227
+ * focus restoration will fire (see the auroDropdown-toggled handler).
35228
+ * @private
35229
+ */
35230
+ this._bibOpenedAsModal = false;
35231
+
35182
35232
  /**
35183
35233
  * @private
35184
35234
  */
@@ -36234,6 +36284,15 @@ class AuroDatePicker extends AuroElement {
36234
36284
  // a top-layer popover where :focus-within on the dropdown host returns false).
36235
36285
  this.dropdown.noHideOnThisFocusLoss = true;
36236
36286
 
36287
+ // Suppress the dropdown's generic focus restoration on close — the
36288
+ // datepicker manages its own focus in the auroDropdown-toggled handler
36289
+ // below (respecting hasFocus / _restoreFocusOnClose, and deferring to the
36290
+ // fullscreen dialog's native restoration on touch devices). Without this,
36291
+ // the dropdown's setTimeout(focusTrigger) fires a second, gesture-decoupled
36292
+ // programmatic focus on close, which on iOS Safari swallows the user's next
36293
+ // tap and forces a second tap to reopen the calendar (AB#1634252).
36294
+ this.dropdown.noFocusRestoreOnClose = true;
36295
+
36237
36296
  // Pass label text to the dropdown bib for accessible dialog naming.
36238
36297
  // Without this, the fullscreen <dialog> has no accessible name and
36239
36298
  // screen readers announce it as just "dialog" with no context.
@@ -36305,6 +36364,16 @@ class AuroDatePicker extends AuroElement {
36305
36364
  bibEl.close();
36306
36365
  bibEl.open(true);
36307
36366
 
36367
+ // Record that this open cycle actually promoted the dialog via
36368
+ // showModal(). The close handler relies on this — not the broader
36369
+ // isBibFullscreen flag — to decide whether native <dialog> focus
36370
+ // restoration will occur, because isBibFullscreen is set
36371
+ // synchronously in showBib() while this open(true) runs a
36372
+ // microtask later. If the bib is closed before this resolves,
36373
+ // showModal() never fires and there is no native restoration to
36374
+ // defer to.
36375
+ this._bibOpenedAsModal = true;
36376
+
36308
36377
  doubleRaf(() => {
36309
36378
  this.focusActiveCellWhenReady();
36310
36379
  });
@@ -36336,7 +36405,27 @@ class AuroDatePicker extends AuroElement {
36336
36405
  this.dropdown.trigger.inert = false;
36337
36406
  const shouldRestoreFocus = this.hasFocus || this._restoreFocusOnClose;
36338
36407
  this._restoreFocusOnClose = false;
36339
- if (shouldRestoreFocus) {
36408
+ // On coarse-pointer (touch) devices closing the fullscreen modal, rely
36409
+ // on the <dialog>'s native focus restoration instead of forcing focus
36410
+ // back onto the input. showModal() returns focus to the trigger anchor
36411
+ // as part of the closing gesture, so a11y focus is preserved. Re-running
36412
+ // .focus() here is a gesture-decoupled programmatic focus that iOS
36413
+ // Safari penalizes: it swallows the user's next tap, so reopening the
36414
+ // calendar takes two taps instead of one (AB#1634252). Fine-pointer
36415
+ // (desktop) layouts keep the explicit restore for keyboard/SR
36416
+ // correctness, and non-fullscreen bibs (no showModal, no native
36417
+ // restoration) always restore explicitly.
36418
+ //
36419
+ // Gate on `_bibOpenedAsModal` — set only after the actual showModal()
36420
+ // promotion (open(true)) — rather than `isBibFullscreen`, which is true
36421
+ // as soon as the fullscreen layout is chosen but before the modal is
36422
+ // promoted. If the bib is closed before that async promotion runs, no
36423
+ // native restoration will occur, so we must still restore explicitly.
36424
+ const bibWasModal = this._bibOpenedAsModal;
36425
+ this._bibOpenedAsModal = false;
36426
+ const useNativeFocusRestoration =
36427
+ bibWasModal && window.matchMedia('(pointer: coarse)').matches;
36428
+ if (shouldRestoreFocus && !useNativeFocusRestoration) {
36340
36429
  requestAnimationFrame(() => {
36341
36430
  if (!this.dropdown.isPopoverVisible) {
36342
36431
  this.inputList[0].focus();
@@ -563,6 +563,13 @@ export class AuroDatePicker extends AuroElement {
563
563
  * @private
564
564
  */
565
565
  private hasFocus;
566
+ /**
567
+ * Tracks whether the current open cycle promoted the fullscreen bib via
568
+ * showModal(). Used by the close handler to decide whether native <dialog>
569
+ * focus restoration will fire (see the auroDropdown-toggled handler).
570
+ * @private
571
+ */
572
+ private _bibOpenedAsModal;
566
573
  /**
567
574
  * @private
568
575
  */