@aurodesignsystem-dev/auro-formkit 0.0.0-pr1408.16 → 0.0.0-pr1408.18

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 (48) hide show
  1. package/components/checkbox/demo/api.min.js +1 -1
  2. package/components/checkbox/demo/index.min.js +1 -1
  3. package/components/checkbox/dist/index.js +1 -1
  4. package/components/checkbox/dist/registered.js +1 -1
  5. package/components/combobox/demo/api.min.js +187 -141
  6. package/components/combobox/demo/index.min.js +187 -141
  7. package/components/combobox/demo/keyboardBehavior.md +9 -36
  8. package/components/combobox/dist/auro-combobox.d.ts +17 -0
  9. package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +6 -3
  10. package/components/combobox/dist/index.js +187 -141
  11. package/components/combobox/dist/registered.js +187 -141
  12. package/components/counter/demo/api.min.js +2 -2
  13. package/components/counter/demo/index.min.js +2 -2
  14. package/components/counter/dist/index.js +2 -2
  15. package/components/counter/dist/registered.js +2 -2
  16. package/components/datepicker/demo/api.md +1 -1
  17. package/components/datepicker/demo/api.min.js +77 -157
  18. package/components/datepicker/demo/index.min.js +77 -157
  19. package/components/datepicker/demo/keyboardBehavior.md +1 -6
  20. package/components/datepicker/dist/auro-datepicker.d.ts +8 -7
  21. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +1 -4
  22. package/components/datepicker/dist/index.js +77 -157
  23. package/components/datepicker/dist/registered.js +77 -157
  24. package/components/dropdown/demo/api.min.js +1 -1
  25. package/components/dropdown/demo/index.min.js +1 -1
  26. package/components/dropdown/dist/index.js +1 -1
  27. package/components/dropdown/dist/registered.js +1 -1
  28. package/components/form/demo/api.min.js +382 -390
  29. package/components/form/demo/index.min.js +382 -390
  30. package/components/input/demo/api.min.js +106 -77
  31. package/components/input/demo/index.min.js +106 -77
  32. package/components/input/dist/auro-input.d.ts +11 -0
  33. package/components/input/dist/base-input.d.ts +1 -0
  34. package/components/input/dist/index.js +36 -18
  35. package/components/input/dist/registered.js +36 -18
  36. package/components/menu/demo/keyboardBehavior.md +0 -0
  37. package/components/radio/demo/api.min.js +1 -1
  38. package/components/radio/demo/index.min.js +1 -1
  39. package/components/radio/demo/keyboardBehavior.md +0 -0
  40. package/components/radio/dist/index.js +1 -1
  41. package/components/radio/dist/registered.js +1 -1
  42. package/components/select/demo/api.min.js +13 -4
  43. package/components/select/demo/index.min.js +13 -4
  44. package/components/select/dist/index.js +13 -4
  45. package/components/select/dist/registered.js +13 -4
  46. package/custom-elements.json +1449 -1401
  47. package/package.json +3 -3
  48. /package/components/datepicker/demo/{keyboardBehavior.html → keyboard-behavior.html} +0 -0
@@ -9242,7 +9242,7 @@ class AuroBibtemplate extends LitElement {
9242
9242
  }
9243
9243
  }
9244
9244
 
9245
- var formkitVersion$2 = '202604022013';
9245
+ var formkitVersion$2 = '202604032311';
9246
9246
 
9247
9247
  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}
9248
9248
  `,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}}
@@ -9696,12 +9696,12 @@ class AuroCalendar extends RangeDatepicker {
9696
9696
  </div>
9697
9697
  <div class="calendarNavButtons">
9698
9698
  ${this.showPrevMonthBtn ? html$1`
9699
- <button class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
9699
+ <button tabIndex="-1" class="calendarNavBtn prevMonth" @click="${this.handlePrevMonth}">
9700
9700
  ${this.util.generateIconHtml(chevronLeft)}
9701
9701
  </button>
9702
9702
  ` : undefined}
9703
9703
  ${this.showNextMonthBtn ? html$1`
9704
- <button class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
9704
+ <button tabIndex="-1" class="calendarNavBtn nextMonth" @click="${this.handleNextMonth}">
9705
9705
  ${this.util.generateIconHtml(chevronRight)}
9706
9706
  </button>
9707
9707
  ` : undefined}
@@ -12630,7 +12630,7 @@ var iconVersion$2 = '9.1.2';
12630
12630
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
12631
12631
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
12632
12632
  */
12633
- function createDisplayContext$1(component, options = {}) {
12633
+ function createDisplayContext(component, options = {}) {
12634
12634
  const dd = options.dropdown || component.dropdown;
12635
12635
  // isPopoverVisible reflects as the `open` attribute.
12636
12636
  // It reports whether the bib is open in any mode (popover or modal).
@@ -12660,11 +12660,11 @@ function createDisplayContext$1(component, options = {}) {
12660
12660
  * @param {Object} strategy - Map of key names to handler functions.
12661
12661
  * @param {Object} [options] - Optional config passed to createDisplayContext.
12662
12662
  */
12663
- function applyKeyboardStrategy$1(component, strategy, options = {}) {
12663
+ function applyKeyboardStrategy(component, strategy, options = {}) {
12664
12664
  component.addEventListener('keydown', async (evt) => {
12665
12665
  const handler = strategy[evt.key] || strategy.default;
12666
12666
  if (typeof handler === 'function') {
12667
- const ctx = createDisplayContext$1(component, options);
12667
+ const ctx = createDisplayContext(component, options);
12668
12668
  await handler(component, evt, ctx);
12669
12669
  }
12670
12670
  });
@@ -12894,7 +12894,7 @@ class AuroDropdownBib extends LitElement {
12894
12894
 
12895
12895
  const dialog = this.shadowRoot.querySelector('dialog');
12896
12896
  this._setupCancelHandler(dialog);
12897
- applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
12897
+ applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
12898
12898
 
12899
12899
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
12900
12900
  bubbles: true,
@@ -13295,7 +13295,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
13295
13295
  }
13296
13296
  };
13297
13297
 
13298
- var formkitVersion$1 = '202604022013';
13298
+ var formkitVersion$1 = '202604032311';
13299
13299
 
13300
13300
  let AuroElement$2 = class AuroElement extends LitElement {
13301
13301
  static get properties() {
@@ -20029,6 +20029,16 @@ class BaseInput extends AuroElement$1 {
20029
20029
  this.wrapperElement = this.shadowRoot.querySelector('.wrapper');
20030
20030
  this.inputElement = this.renderRoot.querySelector('input');
20031
20031
  this.labelElement = this.shadowRoot.querySelector('label');
20032
+ this.clearBtn = this.clearButtonRef.value;
20033
+
20034
+ // This must get moved into inputKeyboardStrategy when implemented
20035
+ this.clearBtn.addEventListener('keydown', (evt) => {
20036
+ evt.stopPropagation();
20037
+ });
20038
+
20039
+ this.clearBtn.addEventListener('click', (evt) => {
20040
+ evt.stopPropagation();
20041
+ });
20032
20042
 
20033
20043
  this.patchInputEvent(this.inputElement);
20034
20044
 
@@ -21052,7 +21062,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
21052
21062
  }
21053
21063
  };
21054
21064
 
21055
- var formkitVersion = '202604022013';
21065
+ var formkitVersion = '202604032311';
21056
21066
 
21057
21067
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21058
21068
  // See LICENSE in the project root for license information.
@@ -21109,6 +21119,11 @@ class AuroInput extends BaseInput {
21109
21119
  * @private
21110
21120
  */
21111
21121
  this.iconTag = versioning.generateTag('auro-formkit-input-icon', iconVersion$1, _$1);
21122
+
21123
+ /**
21124
+ * @private
21125
+ */
21126
+ this.clearButtonRef = createRef();
21112
21127
  }
21113
21128
 
21114
21129
  static get styles() {
@@ -21126,6 +21141,19 @@ class AuroInput extends BaseInput {
21126
21141
  ];
21127
21142
  }
21128
21143
 
21144
+ /**
21145
+ * Returns classmap configuration for the clear button visibility.
21146
+ * The button is hidden when the input has no value, is read-only, or is disabled.
21147
+ * @private
21148
+ * @returns {Record<string, boolean>} - Classmap object controlling clear button display state.
21149
+ */
21150
+ get clearBtnClassMap() {
21151
+ return {
21152
+ 'util_displayHidden': !this.hasValue || this.readyOnly || this.disabled
21153
+ };
21154
+ }
21155
+
21156
+
21129
21157
  /**
21130
21158
  * Determines if the HTML input element should be visually hidden.
21131
21159
  * Returns true when display value content exists without focus and has a value,
@@ -21445,10 +21473,11 @@ class AuroInput extends BaseInput {
21445
21473
  <${this.buttonTag}
21446
21474
  @click="${this.handleClickClear}"
21447
21475
  appearance="${this.onDark ? 'inverse' : this.appearance}"
21448
- class="notificationBtn clearBtn"
21476
+ class="notificationBtn clearBtn ${classMap(this.clearBtnClassMap)}"
21449
21477
  shape="circle"
21450
21478
  size="sm"
21451
- variant="ghost">
21479
+ variant="ghost"
21480
+ ${ref(this.clearButtonRef)}>
21452
21481
  <span><slot name="ariaLabel.clear">Clear Input</slot></span>
21453
21482
  <${this.iconTag}
21454
21483
  aria-hidden="true"
@@ -21593,11 +21622,7 @@ class AuroInput extends BaseInput {
21593
21622
  <div part="accent-right" class="accents right">
21594
21623
  ${this.renderValidationErrorIconHtml()}
21595
21624
  ${this.hasValue && this.type === 'password' ? this.renderHtmlNotificationPassword() : undefined}
21596
- ${this.hasValue ? html$1`
21597
- ${!this.disabled && !this.readonly ? html$1`
21598
- ${this.renderHtmlActionClear()}
21599
- ` : undefined}
21600
- ` : undefined}
21625
+ ${this.renderHtmlActionClear()}
21601
21626
  </div>
21602
21627
  </div>
21603
21628
  <div class="helpTextWrapper leftIndent rightIndent" part="inputHelpText">
@@ -21629,11 +21654,7 @@ class AuroInput extends BaseInput {
21629
21654
  ${this.layout.includes('right') || this.layout === "emphasized" ? html$1`
21630
21655
  ${this.renderValidationErrorIconHtml()}
21631
21656
  ` : undefined}
21632
- ${this.hasValue ? html$1`
21633
- ${!this.disabled && !this.readonly ? html$1`
21634
- ${this.renderHtmlActionClear()}
21635
- ` : undefined}
21636
- ` : undefined}
21657
+ ${this.renderHtmlActionClear()}
21637
21658
  </div>
21638
21659
  </div>
21639
21660
  <div class="${classMap(this.helpTextClasses)}" part="inputHelpText">
@@ -21661,11 +21682,7 @@ class AuroInput extends BaseInput {
21661
21682
  </div>
21662
21683
  <div class="accents right">
21663
21684
  ${this.renderValidationErrorIconHtml()}
21664
- ${this.hasValue ? html$1`
21665
- ${!this.disabled && !this.readonly ? html$1`
21666
- ${this.renderHtmlActionClear()}
21667
- ` : undefined}
21668
- ` : undefined}
21685
+ ${this.renderHtmlActionClear()}
21669
21686
  </div>
21670
21687
  </div>
21671
21688
  <div class="helpTextWrapper leftIndent rightIndent" part="inputHelpText">
@@ -22223,99 +22240,6 @@ function guardTouchPassthrough(element) {
22223
22240
  }, { once: true });
22224
22241
  }
22225
22242
 
22226
- /**
22227
- * Restores the dropdown trigger after a fullscreen dialog closes.
22228
- *
22229
- * Removes the `inert` attribute from the trigger so it is accessible again,
22230
- * and restores focus to the given target after one animation frame. The rAF
22231
- * delay lets Lit's microtask update cycle call `dialog.close()` first —
22232
- * without it the browser's native dialog focus restoration can conflict.
22233
- *
22234
- * The focus is only applied if the dropdown is still closed at the time the
22235
- * rAF fires, guarding against a rapid close-then-reopen race.
22236
- *
22237
- * @param {HTMLElement} dropdown - The `auro-dropdown` element.
22238
- * @param {HTMLElement} focusTarget - The element to focus (e.g. trigger or input).
22239
- */
22240
- function restoreTriggerAfterClose(dropdown, focusTarget) {
22241
- dropdown.trigger.inert = false;
22242
-
22243
- requestAnimationFrame(() => {
22244
- if (!dropdown.isPopoverVisible) {
22245
- focusTarget.focus();
22246
- }
22247
- });
22248
- }
22249
-
22250
- /**
22251
- * Computes display state once per keydown event.
22252
- * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22253
- *
22254
- * @param {HTMLElement} component - The component with a dropdown reference.
22255
- * @param {Object} [options] - Optional config.
22256
- * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22257
- * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22258
- * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22259
- * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22260
- */
22261
- function createDisplayContext(component, options = {}) {
22262
- const dd = options.dropdown || component.dropdown;
22263
- // isPopoverVisible reflects as the `open` attribute.
22264
- // It reports whether the bib is open in any mode (popover or modal).
22265
- const isExpanded = Boolean(dd && dd.isPopoverVisible);
22266
- const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22267
-
22268
- const ctx = {
22269
- isExpanded,
22270
- isModal: isFullscreen,
22271
- isPopover: !isFullscreen,
22272
- activeInput: null,
22273
- };
22274
-
22275
- if (options.inputResolver) {
22276
- const resolvedInput = options.inputResolver(component, ctx);
22277
- // Guard against resolvers returning undefined or non-HTMLElement values.
22278
- ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22279
- }
22280
-
22281
- return ctx;
22282
- }
22283
-
22284
- /**
22285
- * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22286
- * Handles both sync and async handlers.
22287
- * @param {HTMLElement} component - The component to attach the listener to.
22288
- * @param {Object} strategy - Map of key names to handler functions.
22289
- * @param {Object} [options] - Optional config passed to createDisplayContext.
22290
- */
22291
- function applyKeyboardStrategy(component, strategy, options = {}) {
22292
- component.addEventListener('keydown', async (evt) => {
22293
- const handler = strategy[evt.key] || strategy.default;
22294
- if (typeof handler === 'function') {
22295
- const ctx = createDisplayContext(component, options);
22296
- await handler(component, evt, ctx);
22297
- }
22298
- });
22299
- }
22300
-
22301
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22302
- // See LICENSE in the project root for license information.
22303
-
22304
- const datepickerKeyboardStrategy = {
22305
- Enter(component, evt, ctx) {
22306
- if (!ctx.isExpanded) {
22307
- evt.preventDefault();
22308
- component.dropdown.show();
22309
- }
22310
- },
22311
-
22312
- Tab(component, _evt, ctx) {
22313
- if (ctx.isExpanded && ctx.isModal) {
22314
- component.dropdown.hide();
22315
- }
22316
- },
22317
- };
22318
-
22319
22243
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22320
22244
  // See LICENSE in the project root for license information.
22321
22245
 
@@ -22490,9 +22414,16 @@ class AuroDatePicker extends AuroElement {
22490
22414
  */
22491
22415
  this.helpTextTag = versioning.generateTag('auro-formkit-input-helptext', formkitVersion$2, AuroHelpText);
22492
22416
 
22493
- /** @private */
22417
+ /**
22418
+ * @private
22419
+ */
22494
22420
  this.handleClick = this.handleClick.bind(this);
22495
22421
 
22422
+ /**
22423
+ * @private
22424
+ */
22425
+ this.handleClearClick = this.handleClearClick.bind(this);
22426
+
22496
22427
  // Layout Config
22497
22428
  this.layout = 'classic';
22498
22429
  this.shape = 'classic';
@@ -22732,7 +22663,7 @@ class AuroDatePicker extends AuroElement {
22732
22663
  /**
22733
22664
  * Optional placeholder text to display in the second input when using date range.
22734
22665
  * By default, datepicker will use `placeholder` for both inputs if placeholder is
22735
- * specified, but placeholderendDate is not.
22666
+ * specified, but placeholderEndDate is not.
22736
22667
  */
22737
22668
  placeholderEndDate: {
22738
22669
  type: String,
@@ -23111,13 +23042,6 @@ class AuroDatePicker extends AuroElement {
23111
23042
  configureDropdown() {
23112
23043
  this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
23113
23044
 
23114
- // Prevent dropdown from closing on focus loss during fullscreen transitions.
23115
- // When trigger.inert is set to true (to hide the trigger from assistive
23116
- // technology behind the fullscreen dialog), focus leaves the trigger, which
23117
- // fires a focusout event. The floater's handleFocusLoss() would interpret
23118
- // this as "close the bib" without this flag.
23119
- this.dropdown.noHideOnThisFocusLoss = true;
23120
-
23121
23045
  // Pass label text to the dropdown bib for accessible dialog naming.
23122
23046
  // Without this, the fullscreen <dialog> has no accessible name and
23123
23047
  // screen readers announce it as just "dialog" with no context.
@@ -23126,12 +23050,6 @@ class AuroDatePicker extends AuroElement {
23126
23050
  this.dropdown.bibDialogLabel = labelElement.textContent.trim() || undefined;
23127
23051
  }
23128
23052
 
23129
- // Tab closes the fullscreen dialog (same pattern as select).
23130
- // The dialog event bridge intercepts Tab and re-dispatches it as a
23131
- // composed keydown; this listener catches the re-dispatched event.
23132
- // Enter opens the bib when it is closed.
23133
- applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23134
-
23135
23053
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
23136
23054
  if (!this.isPopoverVisible) {
23137
23055
  this.dropdown.show();
@@ -23181,7 +23099,17 @@ class AuroDatePicker extends AuroElement {
23181
23099
  guardTouchPassthrough(this.shadowRoot.querySelector('.calendarWrapper'));
23182
23100
  }
23183
23101
  } else {
23184
- restoreTriggerAfterClose(this.dropdown, this.inputList[0]);
23102
+ // Always clear the inert flag. Only restore focus to the input when the datepicker
23103
+ // still has focus (e.g. Escape, date selected) — not when the user tabbed away,
23104
+ // which would pull them back and require extra Tab presses to escape.
23105
+ this.dropdown.trigger.inert = false;
23106
+ if (this.hasFocus) {
23107
+ requestAnimationFrame(() => {
23108
+ if (!this.dropdown.isPopoverVisible) {
23109
+ this.inputList[0].focus();
23110
+ }
23111
+ });
23112
+ }
23185
23113
  }
23186
23114
 
23187
23115
  // If on mobile, and the calendar is opened, scroll the focus date into view if the flag is set
@@ -23224,7 +23152,7 @@ class AuroDatePicker extends AuroElement {
23224
23152
  }
23225
23153
  });
23226
23154
  }
23227
-
23155
+
23228
23156
  /**
23229
23157
  * Binds all behavior needed to the input after rendering.
23230
23158
  * @private
@@ -23236,13 +23164,6 @@ class AuroDatePicker extends AuroElement {
23236
23164
  this.inputList = [...this.dropdown.querySelectorAll(this.inputTag._$litStatic$)];
23237
23165
 
23238
23166
  this.inputList.forEach((input, index) => {
23239
- // auto-show bib when manually editing the input value
23240
- input.addEventListener('keyup', (evt) => {
23241
- if (evt.key === " ") {
23242
- this.dropdown.show();
23243
- }
23244
- });
23245
-
23246
23167
  input.addEventListener('input', () => {
23247
23168
  if (index === 0) {
23248
23169
  this.value = input.value;
@@ -23435,18 +23356,6 @@ class AuroDatePicker extends AuroElement {
23435
23356
  this.dispatchEvent(new CustomEvent('auroDatePicker-newSlotContent'));
23436
23357
  }
23437
23358
 
23438
- /**
23439
- * Handle enter/space keydown on the reset button.
23440
- * @private
23441
- * @param {KeyboardEvent} event - The keydown event.
23442
- */
23443
- handleKeydownReset(event) {
23444
- if (event.key === 'Enter' || event.key === ' ') {
23445
- this.resetInputs();
23446
- this.focus();
23447
- }
23448
- }
23449
-
23450
23359
  /**
23451
23360
  * Resets values without resetting validation.
23452
23361
  */
@@ -24056,6 +23965,18 @@ class AuroDatePicker extends AuroElement {
24056
23965
  // icons/actions
24057
23966
  // ------------------------------------
24058
23967
 
23968
+ /**
23969
+ * Handles click on the clear button.
23970
+ * @private
23971
+ * @param {MouseEvent} event
23972
+ * @returns {void}
23973
+ */
23974
+ handleClearClick(event) {
23975
+ event.stopPropagation();
23976
+ this.resetInputs();
23977
+ this.focus();
23978
+ }
23979
+
24059
23980
  /**
24060
23981
  * Renders the clear action button.
24061
23982
  * @private
@@ -24070,8 +23991,7 @@ class AuroDatePicker extends AuroElement {
24070
23991
  return html$1`
24071
23992
  <div class="${classMap(clearActionClassMap)}">
24072
23993
  <${this.buttonTag}
24073
- @click="${this.resetInputs}"
24074
- @keydown="${this.handleKeydownReset}"
23994
+ @click="${this.handleClearClick}"
24075
23995
  ?onDark="${this.onDark}"
24076
23996
  appearance="${this.onDark ? 'inverse' : this.appearance}"
24077
23997
  aria-label="${this.runtimeUtils.getSlotText(this, 'ariaLabel.input.clear') || i18n(this.lang, 'clearInput')}"