@aurodesignsystem-dev/auro-formkit 0.0.0-pr1480.6 → 0.0.0-pr1480.8

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 (45) 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 +3 -3
  7. package/components/combobox/demo/getting-started.min.js +3 -3
  8. package/components/combobox/demo/index.min.js +3 -3
  9. package/components/combobox/dist/index.js +3 -3
  10. package/components/combobox/dist/registered.js +3 -3
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +1 -1
  14. package/components/counter/dist/registered.js +1 -1
  15. package/components/datepicker/demo/customize.min.js +77 -52
  16. package/components/datepicker/demo/index.min.js +77 -52
  17. package/components/datepicker/dist/index.js +77 -52
  18. package/components/datepicker/dist/registered.js +77 -52
  19. package/components/datepicker/dist/src/auro-calendar.d.ts +16 -2
  20. package/components/dropdown/demo/customize.min.js +1 -1
  21. package/components/dropdown/demo/getting-started.min.js +1 -1
  22. package/components/dropdown/demo/index.min.js +1 -1
  23. package/components/dropdown/dist/index.js +1 -1
  24. package/components/dropdown/dist/registered.js +1 -1
  25. package/components/form/demo/customize.min.js +86 -61
  26. package/components/form/demo/getting-started.min.js +86 -61
  27. package/components/form/demo/index.min.js +86 -61
  28. package/components/form/demo/registerDemoDeps.min.js +86 -61
  29. package/components/input/demo/customize.min.js +1 -1
  30. package/components/input/demo/getting-started.min.js +1 -1
  31. package/components/input/demo/index.min.js +1 -1
  32. package/components/input/dist/index.js +1 -1
  33. package/components/input/dist/registered.js +1 -1
  34. package/components/radio/demo/customize.min.js +1 -1
  35. package/components/radio/demo/getting-started.min.js +1 -1
  36. package/components/radio/demo/index.min.js +1 -1
  37. package/components/radio/dist/index.js +1 -1
  38. package/components/radio/dist/registered.js +1 -1
  39. package/components/select/demo/customize.min.js +2 -2
  40. package/components/select/demo/getting-started.min.js +2 -2
  41. package/components/select/demo/index.min.js +2 -2
  42. package/components/select/dist/index.js +2 -2
  43. package/components/select/dist/registered.js +2 -2
  44. package/custom-elements.json +13 -2
  45. package/package.json +1 -1
@@ -9749,7 +9749,7 @@ class AuroBibtemplate extends LitElement {
9749
9749
  }
9750
9750
  }
9751
9751
 
9752
- var formkitVersion$2 = '202605261630';
9752
+ var formkitVersion$2 = '202605261805';
9753
9753
 
9754
9754
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=literal`${unsafeStatic(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1=css`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
9755
9755
  `,u$4=css`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -10059,6 +10059,13 @@ class AuroCalendar extends RangeDatepicker {
10059
10059
  * @returns {void}
10060
10060
  */
10061
10061
  announceMonthChange() {
10062
+ // Cancel any pending debounced cell announcement so it does not
10063
+ // overwrite this month navigation announcement.
10064
+ if (this._focusAnnounceTimer) {
10065
+ clearTimeout(this._focusAnnounceTimer);
10066
+ this._focusAnnounceTimer = null;
10067
+ }
10068
+
10062
10069
  const date = new Date(this.centralDate);
10063
10070
  const localeCode = this.locale?.code || undefined;
10064
10071
  const formatter = new Intl.DateTimeFormat(localeCode, { month: 'long', year: 'numeric' });
@@ -10243,47 +10250,11 @@ class AuroCalendar extends RangeDatepicker {
10243
10250
  const btn = newActiveCell._cachedButton || newActiveCell.shadowRoot.querySelector('button.day');
10244
10251
  if (btn) btn.classList.add('visualFocus');
10245
10252
  }
10246
-
10247
- // Update the proxy element that aria-activedescendant references.
10248
- // The proxy lives in the same shadow root as the grid wrapper, so
10249
- // string-based aria-activedescendant works reliably with all SRs.
10250
- if (newActiveCell) {
10251
- const proxy = this.shadowRoot.querySelector('[data-role="activeDescendantProxy"]');
10252
- if (proxy) {
10253
- proxy.setAttribute('aria-label', newActiveCell.getAriaLabel());
10254
- proxy.setAttribute('aria-selected', newActiveCell.selected ? 'true' : 'false');
10255
- if (newActiveCell.isCurrentDate) {
10256
- proxy.setAttribute('aria-current', 'date');
10257
- } else {
10258
- proxy.removeAttribute('aria-current');
10259
- }
10260
- if (newActiveCell.isBlackout()) {
10261
- proxy.setAttribute('aria-disabled', 'true');
10262
- } else {
10263
- proxy.removeAttribute('aria-disabled');
10264
- }
10265
- }
10266
-
10267
- // Force Chrome to fire an ActiveDescendantChanged event by giving
10268
- // the proxy a new unique ID each time. Chrome batches synchronous
10269
- // DOM mutations, so removing and re-setting the same string value
10270
- // is silently coalesced. A genuinely different value ensures the
10271
- // accessibility event fires on every navigation.
10272
- this._proxyIdCounter += 1;
10273
- const proxyId = `activeDescendantProxy-${this._proxyIdCounter}`;
10274
- if (proxy) {
10275
- proxy.setAttribute('id', proxyId);
10276
- }
10277
- const gridWrapper = this.shadowRoot.querySelector('#calendarGrid');
10278
- if (gridWrapper) {
10279
- gridWrapper.setAttribute('aria-activedescendant', proxyId);
10280
- }
10281
- }
10282
10253
  }
10283
10254
 
10284
10255
  /**
10285
10256
  * Focuses the calendar grid wrapper and sets the active cell.
10286
- * DOM focus stays on the grid wrapper; ariaActiveDescendantElement
10257
+ * DOM focus stays on the grid wrapper; the aria-live region
10287
10258
  * tells the screen reader which cell is "active".
10288
10259
  * @returns {void}
10289
10260
  */
@@ -10990,21 +10961,78 @@ class AuroCalendar extends RangeDatepicker {
10990
10961
  }
10991
10962
  }
10992
10963
 
10964
+ /**
10965
+ * Returns (and lazily creates) a document-level aria-live region.
10966
+ * Chrome does not reliably observe aria-live regions inside shadow DOM,
10967
+ * so this element is appended to document.body where all browsers and
10968
+ * screen readers can observe it.
10969
+ * @private
10970
+ * @returns {HTMLElement} The live region element.
10971
+ */
10972
+ getOrCreateLiveRegion() {
10973
+ if (this._liveRegion && this._liveRegion.isConnected) {
10974
+ return this._liveRegion;
10975
+ }
10976
+
10977
+ // Reuse an existing shared region if another calendar instance created one.
10978
+ const existing = document.getElementById('auro-calendar-live-region');
10979
+ if (existing) {
10980
+ this._liveRegion = existing;
10981
+ return existing;
10982
+ }
10983
+
10984
+ const el = document.createElement('div');
10985
+ el.id = 'auro-calendar-live-region';
10986
+ el.setAttribute('aria-live', 'assertive');
10987
+ el.setAttribute('aria-atomic', 'true');
10988
+ el.setAttribute('role', 'status');
10989
+ // Visually hidden but available to screen readers
10990
+ el.style.cssText = 'position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;';
10991
+ document.body.appendChild(el);
10992
+ this._liveRegion = el;
10993
+ return el;
10994
+ }
10995
+
10996
+ /**
10997
+ * Removes the document-level live region when this calendar is disconnected.
10998
+ * @private
10999
+ * @returns {void}
11000
+ */
11001
+ disconnectedCallback() {
11002
+ super.disconnectedCallback();
11003
+ if (this._liveRegion && this._liveRegion.isConnected) {
11004
+ // Only remove if no other calendar instances are still using it.
11005
+ const otherCalendars = document.querySelectorAll('auro-formkit-calendar');
11006
+ if (otherCalendars.length === 0) {
11007
+ this._liveRegion.remove();
11008
+ }
11009
+ }
11010
+ this._liveRegion = null;
11011
+ }
11012
+
10993
11013
  /**
10994
11014
  * Announces a date selection or focus change via the live region.
11015
+ * Uses requestAnimationFrame to ensure the clear and set happen in
11016
+ * separate rendering frames — Chrome may coalesce synchronous or
11017
+ * microtask-deferred mutations into a single accessibility tree update.
10995
11018
  * @private
10996
11019
  * @param {String} dateStr - The localized date string to announce.
10997
11020
  * @returns {void}
10998
11021
  */
10999
11022
  announceSelection(dateStr) {
11000
- const liveRegion = this.shadowRoot.querySelector('#calendar-live-region');
11001
- if (liveRegion) {
11002
- liveRegion.textContent = '';
11003
- // Use microtask to ensure SR picks up the change
11004
- Promise.resolve().then(() => {
11005
- liveRegion.textContent = dateStr;
11006
- });
11007
- }
11023
+ // Cancel any previously queued rAF announcement so a rapid
11024
+ // sequence of calls (e.g. bib open → month nav) only announces
11025
+ // the last one.
11026
+ if (this._announceRafId) {
11027
+ cancelAnimationFrame(this._announceRafId);
11028
+ }
11029
+
11030
+ const liveRegion = this.getOrCreateLiveRegion();
11031
+ liveRegion.textContent = '';
11032
+ this._announceRafId = requestAnimationFrame(() => {
11033
+ liveRegion.textContent = dateStr;
11034
+ this._announceRafId = null;
11035
+ });
11008
11036
  }
11009
11037
 
11010
11038
  /**
@@ -11169,14 +11197,11 @@ class AuroCalendar extends RangeDatepicker {
11169
11197
  </button>
11170
11198
  ` : undefined}
11171
11199
  </div>
11172
- <div id="calendarGrid" class="calendars" role="group" tabindex="0" aria-activedescendant="activeDescendantProxy" @keydown="${this.handleGridKeyDown}" @focusin="${this.handleGridFocusIn}" @focusout="${this.handleGridFocusOut}">
11173
- <span id="activeDescendantProxy" data-role="activeDescendantProxy" role="gridcell" aria-label="" class="sr-only"></span>
11200
+ <div id="calendarGrid" class="calendars" role="group" tabindex="0" @keydown="${this.handleGridKeyDown}" @focusin="${this.handleGridFocusIn}" @focusout="${this.handleGridFocusOut}">
11174
11201
  ${this.renderAllCalendars()}
11175
11202
  </div>
11176
11203
  </div>
11177
11204
 
11178
- <div id="calendar-live-region" aria-live="assertive" aria-atomic="true" class="sr-only"></div>
11179
-
11180
11205
  <${this.buttonTag} slot="footer" fluid @click="${this.utilCal.requestDismiss}">Done</${this.buttonTag}>
11181
11206
  </${this.bibtemplateTag}>
11182
11207
  `;
@@ -15055,7 +15080,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
15055
15080
  }
15056
15081
  };
15057
15082
 
15058
- var formkitVersion$1 = '202605261630';
15083
+ var formkitVersion$1 = '202605261805';
15059
15084
 
15060
15085
  let AuroElement$2 = class AuroElement extends LitElement {
15061
15086
  static get properties() {
@@ -23010,7 +23035,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
23010
23035
  }
23011
23036
  };
23012
23037
 
23013
- var formkitVersion = '202605261630';
23038
+ var formkitVersion = '202605261805';
23014
23039
 
23015
23040
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
23016
23041
  // See LICENSE in the project root for license information.
@@ -184,6 +184,7 @@ export class AuroCalendar extends RangeDatepicker {
184
184
  * @returns {void}
185
185
  */
186
186
  private announceMonthChange;
187
+ _focusAnnounceTimer: any;
187
188
  /**
188
189
  * Updates the active cell after month navigation (prev/next buttons).
189
190
  * Always moves the active cell to the first enabled date in the newly
@@ -234,7 +235,7 @@ export class AuroCalendar extends RangeDatepicker {
234
235
  setActiveCell(date: number): void;
235
236
  /**
236
237
  * Focuses the calendar grid wrapper and sets the active cell.
237
- * DOM focus stays on the grid wrapper; ariaActiveDescendantElement
238
+ * DOM focus stays on the grid wrapper; the aria-live region
238
239
  * tells the screen reader which cell is "active".
239
240
  * @returns {void}
240
241
  */
@@ -364,13 +365,27 @@ export class AuroCalendar extends RangeDatepicker {
364
365
  * @returns {void}
365
366
  */
366
367
  private scrollToActiveCell;
368
+ /**
369
+ * Returns (and lazily creates) a document-level aria-live region.
370
+ * Chrome does not reliably observe aria-live regions inside shadow DOM,
371
+ * so this element is appended to document.body where all browsers and
372
+ * screen readers can observe it.
373
+ * @private
374
+ * @returns {HTMLElement} The live region element.
375
+ */
376
+ private getOrCreateLiveRegion;
377
+ _liveRegion: HTMLElement | HTMLDivElement | null | undefined;
367
378
  /**
368
379
  * Announces a date selection or focus change via the live region.
380
+ * Uses requestAnimationFrame to ensure the clear and set happen in
381
+ * separate rendering frames — Chrome may coalesce synchronous or
382
+ * microtask-deferred mutations into a single accessibility tree update.
369
383
  * @private
370
384
  * @param {String} dateStr - The localized date string to announce.
371
385
  * @returns {void}
372
386
  */
373
387
  private announceSelection;
388
+ _announceRafId: any;
374
389
  /**
375
390
  * Debounced version of announceSelection for focus navigation.
376
391
  * Only announces the last focused date after rapid navigation pauses,
@@ -381,7 +396,6 @@ export class AuroCalendar extends RangeDatepicker {
381
396
  * @returns {void}
382
397
  */
383
398
  private announceFocusDebounced;
384
- _focusAnnounceTimer: any;
385
399
  /**
386
400
  * Formats a Unix timestamp (seconds) as a localized date string for SR announcements.
387
401
  * @private
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202605261630';
3945
+ var formkitVersion = '202605261805';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -3942,7 +3942,7 @@ class AuroHelpText extends i {
3942
3942
  }
3943
3943
  }
3944
3944
 
3945
- var formkitVersion = '202605261630';
3945
+ var formkitVersion = '202605261805';
3946
3946
 
3947
3947
  class AuroElement extends i {
3948
3948
  static get properties() {
@@ -3969,7 +3969,7 @@ class AuroHelpText extends i {
3969
3969
  }
3970
3970
  }
3971
3971
 
3972
- var formkitVersion = '202605261630';
3972
+ var formkitVersion = '202605261805';
3973
3973
 
3974
3974
  class AuroElement extends i {
3975
3975
  static get properties() {
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202605261630';
3877
+ var formkitVersion = '202605261805';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {
@@ -3874,7 +3874,7 @@ class AuroHelpText extends LitElement {
3874
3874
  }
3875
3875
  }
3876
3876
 
3877
- var formkitVersion = '202605261630';
3877
+ var formkitVersion = '202605261805';
3878
3878
 
3879
3879
  class AuroElement extends LitElement {
3880
3880
  static get properties() {