@aurodesignsystem-dev/auro-formkit 0.0.0-pr1520.0 → 0.0.0-pr1521.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) 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 +2 -2
  14. package/components/counter/dist/registered.js +2 -2
  15. package/components/datepicker/demo/customize.min.js +107 -6
  16. package/components/datepicker/demo/index.min.js +107 -6
  17. package/components/datepicker/dist/auro-calendar-cell.d.ts +17 -0
  18. package/components/datepicker/dist/auro-calendar.d.ts +43 -3
  19. package/components/datepicker/dist/index.js +107 -6
  20. package/components/datepicker/dist/registered.js +107 -6
  21. package/components/dropdown/demo/customize.min.js +1 -1
  22. package/components/dropdown/demo/getting-started.min.js +1 -1
  23. package/components/dropdown/demo/index.min.js +1 -1
  24. package/components/dropdown/dist/index.js +1 -1
  25. package/components/dropdown/dist/registered.js +1 -1
  26. package/components/form/demo/customize.min.js +117 -16
  27. package/components/form/demo/getting-started.min.js +117 -16
  28. package/components/form/demo/index.min.js +117 -16
  29. package/components/form/demo/registerDemoDeps.min.js +117 -16
  30. package/components/input/demo/customize.min.js +1 -1
  31. package/components/input/demo/getting-started.min.js +1 -1
  32. package/components/input/demo/index.min.js +1 -1
  33. package/components/input/dist/index.js +1 -1
  34. package/components/input/dist/registered.js +1 -1
  35. package/components/radio/demo/customize.min.js +1 -1
  36. package/components/radio/demo/getting-started.min.js +1 -1
  37. package/components/radio/demo/index.min.js +1 -1
  38. package/components/radio/dist/index.js +1 -1
  39. package/components/radio/dist/registered.js +1 -1
  40. package/components/select/demo/customize.min.js +2 -2
  41. package/components/select/demo/getting-started.min.js +2 -2
  42. package/components/select/demo/index.min.js +2 -2
  43. package/components/select/dist/index.js +2 -2
  44. package/components/select/dist/registered.js +2 -2
  45. package/custom-elements.json +33 -1
  46. package/package.json +1 -1
@@ -12442,6 +12442,41 @@ class AuroCalendarCell extends i$1 {
12442
12442
  btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
12443
12443
  }
12444
12444
 
12445
+ /**
12446
+ * Re-applies the committed-range classes (inRange / rangeDepartDate /
12447
+ * rangeReturnDate) imperatively from the cell's current `day`,
12448
+ * `dateFrom`, and `dateTo`. Used after month navigation flushes:
12449
+ * classMap in `renderCellButton` tracks its own previous state, so a
12450
+ * preceding imperative `classList.remove` (from
12451
+ * `clearRangePreviewClasses`) leaves classMap thinking the class is
12452
+ * still applied. On re-render with the same class-value, classMap emits
12453
+ * no delta and the class stays missing in the DOM. Re-toggling
12454
+ * imperatively resyncs the DOM with the committed range.
12455
+ *
12456
+ * Delegates to the same `isInRange` / `isDepartDate` / `isReturnDate`
12457
+ * helpers `renderCellButton` uses, so the two code paths cannot drift
12458
+ * (including whatever timestamp normalization those helpers apply).
12459
+ * @returns {void}
12460
+ */
12461
+ applyCommittedRangeClasses() {
12462
+ if (!this.day) return;
12463
+ // Fall back to a shadowRoot query when `_cachedButton` hasn't
12464
+ // populated yet — this method's whole job is recovering from stale
12465
+ // DOM after a month re-render, so no-oping on a cache miss defeats
12466
+ // the fix (mirrors the fallback in `clearActive()`).
12467
+ const btn = this._cachedButton || this.shadowRoot?.querySelector('button.day');
12468
+ if (!btn) return;
12469
+
12470
+ const hasRange = this.datepicker?.hasAttribute('range');
12471
+ const inRange = hasRange && this.dateTo && this.isInRange(this.day, this.dateFrom, this.dateTo);
12472
+ const isDepart = hasRange && this.isDepartDate(this.day, this.dateFrom) && this.dateTo;
12473
+ const isReturn = hasRange && this.isReturnDate(this.day, this.dateFrom, this.dateTo);
12474
+
12475
+ btn.classList.toggle('inRange', Boolean(inRange));
12476
+ btn.classList.toggle('rangeDepartDate', Boolean(isDepart));
12477
+ btn.classList.toggle('rangeReturnDate', Boolean(isReturn));
12478
+ }
12479
+
12445
12480
  renderCellButton() {
12446
12481
  const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
12447
12482
  const blackout = this.isBlackout();
@@ -13592,7 +13627,7 @@ class AuroBibtemplate extends i$1 {
13592
13627
  }
13593
13628
  }
13594
13629
 
13595
- var formkitVersion$2 = '202607011727';
13630
+ var formkitVersion$2 = '202607011826';
13596
13631
 
13597
13632
  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}
13598
13633
  `,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}}
@@ -13937,6 +13972,11 @@ class AuroCalendar extends RangeDatepicker {
13937
13972
  if (!opts.skipActiveUpdate) {
13938
13973
  this.updateActiveCellForVisibleMonth();
13939
13974
  }
13975
+ // clearRangePreview above strips classMap-managed range classes from
13976
+ // the DOM; classMap's private state still thinks they're applied, so
13977
+ // it won't re-add them on the post-nav re-render. Re-apply imperatively
13978
+ // after both months and their cell button caches have settled.
13979
+ this.scheduleCommittedRangeClassRefresh();
13940
13980
  this.announceMonthChange();
13941
13981
  }
13942
13982
 
@@ -13955,6 +13995,11 @@ class AuroCalendar extends RangeDatepicker {
13955
13995
  if (!opts.skipActiveUpdate) {
13956
13996
  this.updateActiveCellForVisibleMonth();
13957
13997
  }
13998
+ // clearRangePreview above strips classMap-managed range classes from
13999
+ // the DOM; classMap's private state still thinks they're applied, so
14000
+ // it won't re-add them on the post-nav re-render. Re-apply imperatively
14001
+ // after both months and their cell button caches have settled.
14002
+ this.scheduleCommittedRangeClassRefresh();
13958
14003
  this.announceMonthChange();
13959
14004
  }
13960
14005
 
@@ -15033,9 +15078,14 @@ class AuroCalendar extends RangeDatepicker {
15033
15078
  * @private
15034
15079
  * @param {Object} [options] - Optional settings.
15035
15080
  * @param {boolean} [options.force=false] - When true, clears classes even
15036
- * when both dateFrom and dateTo are set. Used by month nav handlers
15037
- * since the subsequent re-render re-applies classMap-managed classes,
15038
- * while `lastHoveredDate` (not in classMap) would otherwise persist.
15081
+ * when both dateFrom and dateTo are set. Used by month nav handlers to
15082
+ * strip the imperative-only `lastHoveredDate` before the re-render.
15083
+ * The other two classes (`inRange`, `rangeDepartDate`) are classMap-
15084
+ * managed and get stripped as a side effect here; because classMap
15085
+ * remembers what it last emitted and does not diff against the actual
15086
+ * DOM, the following month re-render will NOT re-add them on its own.
15087
+ * Nav handlers must schedule `refreshCommittedRangeClasses` (via
15088
+ * `scheduleCommittedRangeClassRefresh`) to resync them.
15039
15089
  * @returns {void}
15040
15090
  */
15041
15091
  clearRangePreview(options) {
@@ -15050,6 +15100,57 @@ class AuroCalendar extends RangeDatepicker {
15050
15100
  });
15051
15101
  }
15052
15102
 
15103
+ /**
15104
+ * Re-applies the committed-range classes across every focusable cell
15105
+ * after a month navigation. classMap in the cell tracks its own
15106
+ * previous state: once `clearRangePreview({ force: true })` strips
15107
+ * `inRange`/`rangeDepartDate` imperatively before the re-render,
15108
+ * classMap's next diff sees the same class-value it emitted before and
15109
+ * produces no delta, leaving the DOM without the classes even though a
15110
+ * full range is committed. Re-applying imperatively resyncs the two
15111
+ * months' cells with `dateFrom`/`dateTo`.
15112
+ *
15113
+ * Iterates `getAllFocusableCells()` — out-of-range cells (blocked by
15114
+ * `min`/`max`) can never carry range classes anyway, so skipping them
15115
+ * is correct and cheaper than a whole-grid walk.
15116
+ *
15117
+ * The cell's `applyCommittedRangeClasses` reuses the same
15118
+ * `isInRange`/`isDepartDate`/`isReturnDate` helpers `renderCellButton`
15119
+ * uses, so we don't parse dateFrom/dateTo here — the helpers already
15120
+ * normalize their inputs (midnight-truncation, string→int) internally.
15121
+ * @private
15122
+ * @returns {void}
15123
+ */
15124
+ refreshCommittedRangeClasses() {
15125
+ if (this.noRange || !this.dateFrom || !this.dateTo) {
15126
+ return;
15127
+ }
15128
+
15129
+ const allCells = this.getAllFocusableCells();
15130
+ allCells.forEach((cell) => {
15131
+ cell.applyCommittedRangeClasses();
15132
+ });
15133
+ }
15134
+
15135
+ /**
15136
+ * Schedules `refreshCommittedRangeClasses` to run after the month
15137
+ * re-render has flushed and the cells' button caches have refreshed.
15138
+ * Both `handlePrevMonth` and `handleNextMonth` need this exact call
15139
+ * shape; keeping it in one place prevents them from drifting apart.
15140
+ *
15141
+ * Bails synchronously when a full committed range isn't set — otherwise
15142
+ * every prev/next click in single-date mode (or before the user picks
15143
+ * both dates in range mode) pays for an unused double-rAF hop.
15144
+ * @private
15145
+ * @returns {void}
15146
+ */
15147
+ scheduleCommittedRangeClassRefresh() {
15148
+ if (this.noRange || !this.dateFrom || !this.dateTo) {
15149
+ return;
15150
+ }
15151
+ this._afterMonthRender(() => this.refreshCommittedRangeClasses());
15152
+ }
15153
+
15053
15154
  /**
15054
15155
  * Overrides the base class handler to prevent setting `this.hoveredDate`
15055
15156
  * as a reactive property. Instead, handles the range preview imperatively.
@@ -19368,7 +19469,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
19368
19469
  }
19369
19470
  };
19370
19471
 
19371
- var formkitVersion$1 = '202607011727';
19472
+ var formkitVersion$1 = '202607011826';
19372
19473
 
19373
19474
  let AuroElement$2 = class AuroElement extends i$1 {
19374
19475
  static get properties() {
@@ -32895,7 +32996,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
32895
32996
  }
32896
32997
  };
32897
32998
 
32898
- var formkitVersion = '202607011727';
32999
+ var formkitVersion = '202607011826';
32899
33000
 
32900
33001
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32901
33002
  // See LICENSE in the project root for license information.
@@ -282,6 +282,23 @@ export class AuroCalendarCell extends LitElement {
282
282
  * @returns {void}
283
283
  */
284
284
  clearRangePreviewClasses(): void;
285
+ /**
286
+ * Re-applies the committed-range classes (inRange / rangeDepartDate /
287
+ * rangeReturnDate) imperatively from the cell's current `day`,
288
+ * `dateFrom`, and `dateTo`. Used after month navigation flushes:
289
+ * classMap in `renderCellButton` tracks its own previous state, so a
290
+ * preceding imperative `classList.remove` (from
291
+ * `clearRangePreviewClasses`) leaves classMap thinking the class is
292
+ * still applied. On re-render with the same class-value, classMap emits
293
+ * no delta and the class stays missing in the DOM. Re-toggling
294
+ * imperatively resyncs the DOM with the committed range.
295
+ *
296
+ * Delegates to the same `isInRange` / `isDepartDate` / `isReturnDate`
297
+ * helpers `renderCellButton` uses, so the two code paths cannot drift
298
+ * (including whatever timestamp normalization those helpers apply).
299
+ * @returns {void}
300
+ */
301
+ applyCommittedRangeClasses(): void;
285
302
  renderCellButton(): import("lit-html").TemplateResult;
286
303
  render(): import("lit-html").TemplateResult;
287
304
  }
@@ -456,12 +456,52 @@ export class AuroCalendar extends RangeDatepicker {
456
456
  * @private
457
457
  * @param {Object} [options] - Optional settings.
458
458
  * @param {boolean} [options.force=false] - When true, clears classes even
459
- * when both dateFrom and dateTo are set. Used by month nav handlers
460
- * since the subsequent re-render re-applies classMap-managed classes,
461
- * while `lastHoveredDate` (not in classMap) would otherwise persist.
459
+ * when both dateFrom and dateTo are set. Used by month nav handlers to
460
+ * strip the imperative-only `lastHoveredDate` before the re-render.
461
+ * The other two classes (`inRange`, `rangeDepartDate`) are classMap-
462
+ * managed and get stripped as a side effect here; because classMap
463
+ * remembers what it last emitted and does not diff against the actual
464
+ * DOM, the following month re-render will NOT re-add them on its own.
465
+ * Nav handlers must schedule `refreshCommittedRangeClasses` (via
466
+ * `scheduleCommittedRangeClassRefresh`) to resync them.
462
467
  * @returns {void}
463
468
  */
464
469
  private clearRangePreview;
470
+ /**
471
+ * Re-applies the committed-range classes across every focusable cell
472
+ * after a month navigation. classMap in the cell tracks its own
473
+ * previous state: once `clearRangePreview({ force: true })` strips
474
+ * `inRange`/`rangeDepartDate` imperatively before the re-render,
475
+ * classMap's next diff sees the same class-value it emitted before and
476
+ * produces no delta, leaving the DOM without the classes even though a
477
+ * full range is committed. Re-applying imperatively resyncs the two
478
+ * months' cells with `dateFrom`/`dateTo`.
479
+ *
480
+ * Iterates `getAllFocusableCells()` — out-of-range cells (blocked by
481
+ * `min`/`max`) can never carry range classes anyway, so skipping them
482
+ * is correct and cheaper than a whole-grid walk.
483
+ *
484
+ * The cell's `applyCommittedRangeClasses` reuses the same
485
+ * `isInRange`/`isDepartDate`/`isReturnDate` helpers `renderCellButton`
486
+ * uses, so we don't parse dateFrom/dateTo here — the helpers already
487
+ * normalize their inputs (midnight-truncation, string→int) internally.
488
+ * @private
489
+ * @returns {void}
490
+ */
491
+ private refreshCommittedRangeClasses;
492
+ /**
493
+ * Schedules `refreshCommittedRangeClasses` to run after the month
494
+ * re-render has flushed and the cells' button caches have refreshed.
495
+ * Both `handlePrevMonth` and `handleNextMonth` need this exact call
496
+ * shape; keeping it in one place prevents them from drifting apart.
497
+ *
498
+ * Bails synchronously when a full committed range isn't set — otherwise
499
+ * every prev/next click in single-date mode (or before the user picks
500
+ * both dates in range mode) pays for an unused double-rAF hop.
501
+ * @private
502
+ * @returns {void}
503
+ */
504
+ private scheduleCommittedRangeClassRefresh;
465
505
  /**
466
506
  * Overrides the base class handler to prevent setting `this.hoveredDate`
467
507
  * as a reactive property. Instead, handles the range preview imperatively.
@@ -12400,6 +12400,41 @@ class AuroCalendarCell extends LitElement {
12400
12400
  btn.classList.remove('inRange', 'lastHoveredDate', 'rangeDepartDate');
12401
12401
  }
12402
12402
 
12403
+ /**
12404
+ * Re-applies the committed-range classes (inRange / rangeDepartDate /
12405
+ * rangeReturnDate) imperatively from the cell's current `day`,
12406
+ * `dateFrom`, and `dateTo`. Used after month navigation flushes:
12407
+ * classMap in `renderCellButton` tracks its own previous state, so a
12408
+ * preceding imperative `classList.remove` (from
12409
+ * `clearRangePreviewClasses`) leaves classMap thinking the class is
12410
+ * still applied. On re-render with the same class-value, classMap emits
12411
+ * no delta and the class stays missing in the DOM. Re-toggling
12412
+ * imperatively resyncs the DOM with the committed range.
12413
+ *
12414
+ * Delegates to the same `isInRange` / `isDepartDate` / `isReturnDate`
12415
+ * helpers `renderCellButton` uses, so the two code paths cannot drift
12416
+ * (including whatever timestamp normalization those helpers apply).
12417
+ * @returns {void}
12418
+ */
12419
+ applyCommittedRangeClasses() {
12420
+ if (!this.day) return;
12421
+ // Fall back to a shadowRoot query when `_cachedButton` hasn't
12422
+ // populated yet — this method's whole job is recovering from stale
12423
+ // DOM after a month re-render, so no-oping on a cache miss defeats
12424
+ // the fix (mirrors the fallback in `clearActive()`).
12425
+ const btn = this._cachedButton || this.shadowRoot?.querySelector('button.day');
12426
+ if (!btn) return;
12427
+
12428
+ const hasRange = this.datepicker?.hasAttribute('range');
12429
+ const inRange = hasRange && this.dateTo && this.isInRange(this.day, this.dateFrom, this.dateTo);
12430
+ const isDepart = hasRange && this.isDepartDate(this.day, this.dateFrom) && this.dateTo;
12431
+ const isReturn = hasRange && this.isReturnDate(this.day, this.dateFrom, this.dateTo);
12432
+
12433
+ btn.classList.toggle('inRange', Boolean(inRange));
12434
+ btn.classList.toggle('rangeDepartDate', Boolean(isDepart));
12435
+ btn.classList.toggle('rangeReturnDate', Boolean(isReturn));
12436
+ }
12437
+
12403
12438
  renderCellButton() {
12404
12439
  const outOfRange = this.isOutOfRange(this.day, this.min, this.max);
12405
12440
  const blackout = this.isBlackout();
@@ -13544,7 +13579,7 @@ class AuroBibtemplate extends LitElement {
13544
13579
  }
13545
13580
  }
13546
13581
 
13547
- var formkitVersion$2 = '202607011727';
13582
+ var formkitVersion$2 = '202607011826';
13548
13583
 
13549
13584
  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}
13550
13585
  `,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}}
@@ -13889,6 +13924,11 @@ class AuroCalendar extends RangeDatepicker {
13889
13924
  if (!opts.skipActiveUpdate) {
13890
13925
  this.updateActiveCellForVisibleMonth();
13891
13926
  }
13927
+ // clearRangePreview above strips classMap-managed range classes from
13928
+ // the DOM; classMap's private state still thinks they're applied, so
13929
+ // it won't re-add them on the post-nav re-render. Re-apply imperatively
13930
+ // after both months and their cell button caches have settled.
13931
+ this.scheduleCommittedRangeClassRefresh();
13892
13932
  this.announceMonthChange();
13893
13933
  }
13894
13934
 
@@ -13907,6 +13947,11 @@ class AuroCalendar extends RangeDatepicker {
13907
13947
  if (!opts.skipActiveUpdate) {
13908
13948
  this.updateActiveCellForVisibleMonth();
13909
13949
  }
13950
+ // clearRangePreview above strips classMap-managed range classes from
13951
+ // the DOM; classMap's private state still thinks they're applied, so
13952
+ // it won't re-add them on the post-nav re-render. Re-apply imperatively
13953
+ // after both months and their cell button caches have settled.
13954
+ this.scheduleCommittedRangeClassRefresh();
13910
13955
  this.announceMonthChange();
13911
13956
  }
13912
13957
 
@@ -14985,9 +15030,14 @@ class AuroCalendar extends RangeDatepicker {
14985
15030
  * @private
14986
15031
  * @param {Object} [options] - Optional settings.
14987
15032
  * @param {boolean} [options.force=false] - When true, clears classes even
14988
- * when both dateFrom and dateTo are set. Used by month nav handlers
14989
- * since the subsequent re-render re-applies classMap-managed classes,
14990
- * while `lastHoveredDate` (not in classMap) would otherwise persist.
15033
+ * when both dateFrom and dateTo are set. Used by month nav handlers to
15034
+ * strip the imperative-only `lastHoveredDate` before the re-render.
15035
+ * The other two classes (`inRange`, `rangeDepartDate`) are classMap-
15036
+ * managed and get stripped as a side effect here; because classMap
15037
+ * remembers what it last emitted and does not diff against the actual
15038
+ * DOM, the following month re-render will NOT re-add them on its own.
15039
+ * Nav handlers must schedule `refreshCommittedRangeClasses` (via
15040
+ * `scheduleCommittedRangeClassRefresh`) to resync them.
14991
15041
  * @returns {void}
14992
15042
  */
14993
15043
  clearRangePreview(options) {
@@ -15002,6 +15052,57 @@ class AuroCalendar extends RangeDatepicker {
15002
15052
  });
15003
15053
  }
15004
15054
 
15055
+ /**
15056
+ * Re-applies the committed-range classes across every focusable cell
15057
+ * after a month navigation. classMap in the cell tracks its own
15058
+ * previous state: once `clearRangePreview({ force: true })` strips
15059
+ * `inRange`/`rangeDepartDate` imperatively before the re-render,
15060
+ * classMap's next diff sees the same class-value it emitted before and
15061
+ * produces no delta, leaving the DOM without the classes even though a
15062
+ * full range is committed. Re-applying imperatively resyncs the two
15063
+ * months' cells with `dateFrom`/`dateTo`.
15064
+ *
15065
+ * Iterates `getAllFocusableCells()` — out-of-range cells (blocked by
15066
+ * `min`/`max`) can never carry range classes anyway, so skipping them
15067
+ * is correct and cheaper than a whole-grid walk.
15068
+ *
15069
+ * The cell's `applyCommittedRangeClasses` reuses the same
15070
+ * `isInRange`/`isDepartDate`/`isReturnDate` helpers `renderCellButton`
15071
+ * uses, so we don't parse dateFrom/dateTo here — the helpers already
15072
+ * normalize their inputs (midnight-truncation, string→int) internally.
15073
+ * @private
15074
+ * @returns {void}
15075
+ */
15076
+ refreshCommittedRangeClasses() {
15077
+ if (this.noRange || !this.dateFrom || !this.dateTo) {
15078
+ return;
15079
+ }
15080
+
15081
+ const allCells = this.getAllFocusableCells();
15082
+ allCells.forEach((cell) => {
15083
+ cell.applyCommittedRangeClasses();
15084
+ });
15085
+ }
15086
+
15087
+ /**
15088
+ * Schedules `refreshCommittedRangeClasses` to run after the month
15089
+ * re-render has flushed and the cells' button caches have refreshed.
15090
+ * Both `handlePrevMonth` and `handleNextMonth` need this exact call
15091
+ * shape; keeping it in one place prevents them from drifting apart.
15092
+ *
15093
+ * Bails synchronously when a full committed range isn't set — otherwise
15094
+ * every prev/next click in single-date mode (or before the user picks
15095
+ * both dates in range mode) pays for an unused double-rAF hop.
15096
+ * @private
15097
+ * @returns {void}
15098
+ */
15099
+ scheduleCommittedRangeClassRefresh() {
15100
+ if (this.noRange || !this.dateFrom || !this.dateTo) {
15101
+ return;
15102
+ }
15103
+ this._afterMonthRender(() => this.refreshCommittedRangeClasses());
15104
+ }
15105
+
15005
15106
  /**
15006
15107
  * Overrides the base class handler to prevent setting `this.hoveredDate`
15007
15108
  * as a reactive property. Instead, handles the range preview imperatively.
@@ -19296,7 +19397,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
19296
19397
  }
19297
19398
  };
19298
19399
 
19299
- var formkitVersion$1 = '202607011727';
19400
+ var formkitVersion$1 = '202607011826';
19300
19401
 
19301
19402
  let AuroElement$2 = class AuroElement extends LitElement {
19302
19403
  static get properties() {
@@ -32816,7 +32917,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
32816
32917
  }
32817
32918
  };
32818
32919
 
32819
- var formkitVersion = '202607011727';
32920
+ var formkitVersion = '202607011826';
32820
32921
 
32821
32922
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
32822
32923
  // See LICENSE in the project root for license information.