@aurodesignsystem-dev/auro-formkit 0.0.0-pr1429.1 → 0.0.0-pr1430.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/components/checkbox/demo/api.min.js +3 -3
  2. package/components/checkbox/demo/index.min.js +3 -3
  3. package/components/checkbox/dist/index.js +3 -3
  4. package/components/checkbox/dist/registered.js +3 -3
  5. package/components/combobox/demo/api.html +0 -1
  6. package/components/combobox/demo/api.js +1 -3
  7. package/components/combobox/demo/api.md +0 -75
  8. package/components/combobox/demo/api.min.js +122 -32
  9. package/components/combobox/demo/index.min.js +121 -19
  10. package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +1 -1
  11. package/components/combobox/dist/index.js +121 -19
  12. package/components/combobox/dist/registered.js +121 -19
  13. package/components/counter/demo/api.html +0 -3
  14. package/components/counter/demo/api.js +0 -4
  15. package/components/counter/demo/api.md +0 -130
  16. package/components/counter/demo/api.min.js +132 -63
  17. package/components/counter/demo/index.min.js +132 -43
  18. package/components/counter/dist/index.js +132 -43
  19. package/components/counter/dist/registered.js +132 -43
  20. package/components/datepicker/demo/api.html +0 -1
  21. package/components/datepicker/demo/api.js +0 -2
  22. package/components/datepicker/demo/api.md +0 -57
  23. package/components/datepicker/demo/api.min.js +123 -106
  24. package/components/datepicker/demo/index.min.js +123 -94
  25. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +1 -3
  26. package/components/datepicker/dist/index.js +123 -94
  27. package/components/datepicker/dist/registered.js +123 -94
  28. package/components/dropdown/demo/api.html +0 -1
  29. package/components/dropdown/demo/api.js +0 -2
  30. package/components/dropdown/demo/api.md +0 -95
  31. package/components/dropdown/demo/api.min.js +116 -25
  32. package/components/dropdown/demo/index.min.js +116 -5
  33. package/components/dropdown/dist/index.js +116 -5
  34. package/components/dropdown/dist/registered.js +116 -5
  35. package/components/form/demo/api.min.js +545 -218
  36. package/components/form/demo/index.min.js +545 -218
  37. package/components/input/demo/api.min.js +1 -1
  38. package/components/input/demo/index.min.js +1 -1
  39. package/components/input/dist/index.js +1 -1
  40. package/components/input/dist/registered.js +1 -1
  41. package/components/radio/demo/api.min.js +2 -2
  42. package/components/radio/demo/index.min.js +2 -2
  43. package/components/radio/dist/index.js +2 -2
  44. package/components/radio/dist/registered.js +2 -2
  45. package/components/select/demo/api.html +0 -1
  46. package/components/select/demo/api.js +0 -2
  47. package/components/select/demo/api.md +0 -76
  48. package/components/select/demo/api.min.js +129 -35
  49. package/components/select/demo/index.min.js +129 -22
  50. package/components/select/dist/index.js +125 -18
  51. package/components/select/dist/registered.js +125 -18
  52. package/custom-elements.json +3 -27
  53. package/package.json +2 -3
  54. package/components/counter/dist/counterGroupKeyboardStrategy.d.ts +0 -3
@@ -9242,7 +9242,7 @@ class AuroBibtemplate extends LitElement {
9242
9242
  }
9243
9243
  }
9244
9244
 
9245
- var formkitVersion$2 = '202604081945';
9245
+ var formkitVersion$2 = '202604082129';
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}}
@@ -9725,7 +9725,7 @@ if (!customElements.get('auro-formkit-calendar')) {
9725
9725
 
9726
9726
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
9727
9727
 
9728
- let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
9728
+ let AuroLibraryRuntimeUtils$2$1 = class AuroLibraryRuntimeUtils {
9729
9729
 
9730
9730
  /* eslint-disable jsdoc/require-param */
9731
9731
 
@@ -11514,6 +11514,7 @@ class AuroFloatingUI {
11514
11514
  this.focusHandler = null;
11515
11515
  this.clickHandler = null;
11516
11516
  this.keyDownHandler = null;
11517
+ this.touchHandler = null;
11517
11518
 
11518
11519
  /**
11519
11520
  * @private
@@ -11931,6 +11932,28 @@ class AuroFloatingUI {
11931
11932
  setTimeout(() => {
11932
11933
  window.addEventListener("click", this.clickHandler);
11933
11934
  }, 0);
11935
+
11936
+ // iOS Safari does not fire `click` on non-interactive elements, so
11937
+ // tapping an inert backdrop never reaches the click handler above.
11938
+ // Mirror the same outside-tap logic with a passive touchstart listener.
11939
+ this.touchHandler = (evt) => {
11940
+ const element = this.element;
11941
+ if (!element?.bib) {
11942
+ return;
11943
+ }
11944
+
11945
+ // fullscreen (modal) dialog handles its own dismissal
11946
+ if (element.bib.hasAttribute("isfullscreen")) {
11947
+ return;
11948
+ }
11949
+
11950
+ const path = evt.composedPath();
11951
+ if (!path.includes(element.trigger) && !path.includes(element.bib)) {
11952
+ this.hideBib("click");
11953
+ }
11954
+ };
11955
+
11956
+ window.addEventListener("touchstart", this.touchHandler, { passive: true });
11934
11957
  }
11935
11958
 
11936
11959
  cleanupHideHandlers() {
@@ -11946,6 +11969,11 @@ class AuroFloatingUI {
11946
11969
  this.clickHandler = null;
11947
11970
  }
11948
11971
 
11972
+ if (this.touchHandler) {
11973
+ window.removeEventListener("touchstart", this.touchHandler);
11974
+ this.touchHandler = null;
11975
+ }
11976
+
11949
11977
  if (this.keyDownHandler) {
11950
11978
  document.removeEventListener("keydown", this.keyDownHandler);
11951
11979
  this.keyDownHandler = null;
@@ -12738,6 +12766,89 @@ let p$3 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
12738
12766
 
12739
12767
  var iconVersion$2 = '9.1.2';
12740
12768
 
12769
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12770
+ // See LICENSE in the project root for license information.
12771
+
12772
+ // ---------------------------------------------------------------------
12773
+
12774
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
12775
+
12776
+ let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
12777
+
12778
+ /* eslint-disable jsdoc/require-param */
12779
+
12780
+ /**
12781
+ * This will register a new custom element with the browser.
12782
+ * @param {String} name - The name of the custom element.
12783
+ * @param {Object} componentClass - The class to register as a custom element.
12784
+ * @returns {void}
12785
+ */
12786
+ registerComponent(name, componentClass) {
12787
+ if (!customElements.get(name)) {
12788
+ customElements.define(name, class extends componentClass {});
12789
+ }
12790
+ }
12791
+
12792
+ /**
12793
+ * Finds and returns the closest HTML Element based on a selector.
12794
+ * @returns {void}
12795
+ */
12796
+ closestElement(
12797
+ selector, // selector like in .closest()
12798
+ base = this, // extra functionality to skip a parent
12799
+ __Closest = (el, found = el && el.closest(selector)) =>
12800
+ !el || el === document || el === window
12801
+ ? null // standard .closest() returns null for non-found selectors also
12802
+ : found
12803
+ ? found // found a selector INside this element
12804
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
12805
+ ) {
12806
+ return __Closest(base);
12807
+ }
12808
+ /* eslint-enable jsdoc/require-param */
12809
+
12810
+ /**
12811
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
12812
+ * @param {Object} elem - The element to check.
12813
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
12814
+ * @returns {void}
12815
+ */
12816
+ handleComponentTagRename(elem, tagName) {
12817
+ const tag = tagName.toLowerCase();
12818
+ const elemTag = elem.tagName.toLowerCase();
12819
+
12820
+ if (elemTag !== tag) {
12821
+ elem.setAttribute(tag, true);
12822
+ }
12823
+ }
12824
+
12825
+ /**
12826
+ * Validates if an element is a specific Auro component.
12827
+ * @param {Object} elem - The element to validate.
12828
+ * @param {String} tagName - The name of the Auro component to check against.
12829
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
12830
+ */
12831
+ elementMatch(elem, tagName) {
12832
+ const tag = tagName.toLowerCase();
12833
+ const elemTag = elem.tagName.toLowerCase();
12834
+
12835
+ return elemTag === tag || elem.hasAttribute(tag);
12836
+ }
12837
+
12838
+ /**
12839
+ * Gets the text content of a named slot.
12840
+ * @returns {String}
12841
+ * @private
12842
+ */
12843
+ getSlotText(elem, name) {
12844
+ const slot = elem.shadowRoot?.querySelector(`slot[name="${name}"]`);
12845
+ const nodes = slot?.assignedNodes({ flatten: true }) || [];
12846
+ const text = nodes.map(n => n.textContent?.trim()).join(' ').trim();
12847
+
12848
+ return text || null;
12849
+ }
12850
+ };
12851
+
12741
12852
  /**
12742
12853
  * Computes display state once per keydown event.
12743
12854
  * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
@@ -12749,7 +12860,7 @@ var iconVersion$2 = '9.1.2';
12749
12860
  * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
12750
12861
  * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
12751
12862
  */
12752
- function createDisplayContext$1(component, options = {}) {
12863
+ function createDisplayContext(component, options = {}) {
12753
12864
  const dd = options.dropdown || component.dropdown;
12754
12865
  // isPopoverVisible reflects as the `open` attribute.
12755
12866
  // It reports whether the bib is open in any mode (popover or modal).
@@ -12779,11 +12890,11 @@ function createDisplayContext$1(component, options = {}) {
12779
12890
  * @param {Object} strategy - Map of key names to handler functions.
12780
12891
  * @param {Object} [options] - Optional config passed to createDisplayContext.
12781
12892
  */
12782
- function applyKeyboardStrategy$1(component, strategy, options = {}) {
12893
+ function applyKeyboardStrategy(component, strategy, options = {}) {
12783
12894
  component.addEventListener('keydown', async (evt) => {
12784
12895
  const handler = strategy[evt.key] || strategy.default;
12785
12896
  if (typeof handler === 'function') {
12786
- const ctx = createDisplayContext$1(component, options);
12897
+ const ctx = createDisplayContext(component, options);
12787
12898
  await handler(component, evt, ctx);
12788
12899
  }
12789
12900
  });
@@ -13018,7 +13129,7 @@ class AuroDropdownBib extends LitElement {
13018
13129
 
13019
13130
  const dialog = this.shadowRoot.querySelector('dialog');
13020
13131
  this._setupCancelHandler(dialog);
13021
- applyKeyboardStrategy$1(dialog, createDropdownBibKeyboardStrategy());
13132
+ applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
13022
13133
 
13023
13134
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
13024
13135
  bubbles: true,
@@ -13420,7 +13531,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
13420
13531
  }
13421
13532
  };
13422
13533
 
13423
- var formkitVersion$1 = '202604081945';
13534
+ var formkitVersion$1 = '202604082129';
13424
13535
 
13425
13536
  let AuroElement$2 = class AuroElement extends LitElement {
13426
13537
  static get properties() {
@@ -13526,7 +13637,7 @@ let AuroElement$2 = class AuroElement extends LitElement {
13526
13637
  }
13527
13638
  };
13528
13639
 
13529
- // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
13640
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
13530
13641
  // See LICENSE in the project root for license information.
13531
13642
 
13532
13643
 
@@ -13631,7 +13742,7 @@ class AuroDropdown extends AuroElement$2 {
13631
13742
  /**
13632
13743
  * @private
13633
13744
  */
13634
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
13745
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2$1();
13635
13746
 
13636
13747
  /**
13637
13748
  * @private
@@ -14049,7 +14160,7 @@ class AuroDropdown extends AuroElement$2 {
14049
14160
  *
14050
14161
  */
14051
14162
  static register(name = "auro-dropdown") {
14052
- AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroDropdown);
14163
+ AuroLibraryRuntimeUtils$2$1.prototype.registerComponent(name, AuroDropdown);
14053
14164
  }
14054
14165
 
14055
14166
  /**
@@ -21177,7 +21288,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
21177
21288
  }
21178
21289
  };
21179
21290
 
21180
- var formkitVersion = '202604081945';
21291
+ var formkitVersion = '202604082129';
21181
21292
 
21182
21293
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21183
21294
  // See LICENSE in the project root for license information.
@@ -22374,88 +22485,7 @@ function guardTouchPassthrough(element) {
22374
22485
  }, { once: true });
22375
22486
  }
22376
22487
 
22377
- /**
22378
- * Computes display state once per keydown event.
22379
- * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22380
- *
22381
- * @param {HTMLElement} component - The component with a dropdown reference.
22382
- * @param {Object} [options] - Optional config.
22383
- * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22384
- * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22385
- * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22386
- * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22387
- */
22388
- function createDisplayContext(component, options = {}) {
22389
- const dd = options.dropdown || component.dropdown;
22390
- // isPopoverVisible reflects as the `open` attribute.
22391
- // It reports whether the bib is open in any mode (popover or modal).
22392
- const isExpanded = Boolean(dd && dd.isPopoverVisible);
22393
- const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22394
-
22395
- const ctx = {
22396
- isExpanded,
22397
- isModal: isFullscreen,
22398
- isPopover: !isFullscreen,
22399
- activeInput: null,
22400
- };
22401
-
22402
- if (options.inputResolver) {
22403
- const resolvedInput = options.inputResolver(component, ctx);
22404
- // Guard against resolvers returning undefined or non-HTMLElement values.
22405
- ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22406
- }
22407
-
22408
- return ctx;
22409
- }
22410
-
22411
- /**
22412
- * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22413
- * Handles both sync and async handlers.
22414
- * @param {HTMLElement} component - The component to attach the listener to.
22415
- * @param {Object} strategy - Map of key names to handler functions.
22416
- * @param {Object} [options] - Optional config passed to createDisplayContext.
22417
- */
22418
- function applyKeyboardStrategy(component, strategy, options = {}) {
22419
- component.addEventListener('keydown', async (evt) => {
22420
- const handler = strategy[evt.key] || strategy.default;
22421
- if (typeof handler === 'function') {
22422
- const ctx = createDisplayContext(component, options);
22423
- await handler(component, evt, ctx);
22424
- }
22425
- });
22426
- }
22427
-
22428
- // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
22429
- // See LICENSE in the project root for license information.
22430
-
22431
- // Authoritative datepicker keyboard behavior spec:
22432
- // components/datepicker/docs/partials/keyboardBehavior.md
22433
- //
22434
- // Current behavior (transitional — full bib keyboard navigation is planned for a future iteration):
22435
- // - The bib opens and closes via pointer/touch interaction only.
22436
- // - Escape closes the bib and prevents the event from reaching parent containers.
22437
- // - Tab uses the browser's default tabindex sequence across trigger controls.
22438
- // - Enter and Space do not open or close the bib.
22439
- //
22440
- // This file is an intentional placeholder for most keys. When datepicker bib keyboard navigation is
22441
- // added, handlers should go here following the same strategy pattern used by
22442
- // auro-select (selectKeyboardStrategy.js) and auro-combobox (comboboxKeyboardStrategy.js).
22443
- const datepickerKeyboardStrategy = {
22444
- Escape(component, evt) {
22445
- if (!component.dropdown || !component.dropdown.isPopoverVisible) {
22446
- return;
22447
- }
22448
-
22449
- // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups.
22450
- // Because stopPropagation prevents the document-level floatingUI keydown handler from
22451
- // seeing this event, we must also close the dropdown explicitly.
22452
- evt.stopPropagation();
22453
-
22454
- component.dropdown.hide();
22455
- },
22456
- };
22457
-
22458
- // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
22488
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22459
22489
  // See LICENSE in the project root for license information.
22460
22490
 
22461
22491
 
@@ -23912,7 +23942,6 @@ class AuroDatePicker extends AuroElement {
23912
23942
  this.configureCalendar();
23913
23943
  this.configureDatepicker();
23914
23944
  this.configureClickHandler();
23915
- applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23916
23945
  }
23917
23946
 
23918
23947
  connectedCallback() {
@@ -59,7 +59,6 @@
59
59
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/+esm" type="module"></script>
60
60
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/+esm" type="module"></script>
61
61
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-dialog@latest/+esm" type="module"></script>
62
- <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-drawer@latest/+esm" type="module"></script>
63
62
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-icon@latest/+esm" type="module"></script>
64
63
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-input/+esm" type="module"></script>
65
64
  </body>
@@ -8,7 +8,6 @@ import { matchWidthExample } from '../apiExamples/match-width.js';
8
8
  import { hideExample } from './../apiExamples/programmatically-hide';
9
9
  import { showExample } from './../apiExamples/programmatically-show';
10
10
  import { inDialogExample } from './../apiExamples/in-dialog';
11
- import { inDrawerExample } from './../apiExamples/in-drawer';
12
11
  import '../src/registered.js';
13
12
 
14
13
  export function initExamples() {
@@ -22,5 +21,4 @@ export function initExamples() {
22
21
  hideExample();
23
22
  showExample();
24
23
  inDialogExample();
25
- inDrawerExample();
26
24
  }
@@ -1314,101 +1314,6 @@ export function inDialogExample() {
1314
1314
  <!-- AURO-GENERATED-CONTENT:END -->
1315
1315
  </auro-accordion>
1316
1316
 
1317
- ### Dropdown in Drawer
1318
-
1319
- The element used within an `auro-drawer`.
1320
-
1321
- <div class="exampleWrapper">
1322
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/in-drawer.html) -->
1323
- <!-- The below content is automatically added from ./../apiExamples/in-drawer.html -->
1324
- <div>
1325
- <auro-button id="dropdown-drawer-opener">Dropdown in Drawer</auro-button>
1326
- <auro-drawer id="dropdown-drawer">
1327
- <span slot="header">Dropdown in Drawer</span>
1328
- <div slot="content">
1329
- <auro-dropdown id="in-drawer-dropdown" layout="classic" shape="classic" size="lg">
1330
- <div style="padding: var(--ds-size-150);">
1331
- Lorem ipsum dolor
1332
- <br />
1333
- <auro-button id="in-drawer-dismiss-btn">
1334
- Dismiss Dropdown
1335
- </auro-button>
1336
- </div>
1337
- <span slot="helpText">
1338
- Help text
1339
- </span>
1340
- <span slot="label">
1341
- Element label (default text will be read by screen reader)
1342
- </span>
1343
- <div slot="trigger">
1344
- Dropdown Trigger in Drawer
1345
- </div>
1346
- </auro-dropdown>
1347
- </div>
1348
- </auro-drawer>
1349
- </div>
1350
- <!-- AURO-GENERATED-CONTENT:END -->
1351
- </div>
1352
- <auro-accordion alignRight>
1353
- <span slot="trigger">See code</span>
1354
- <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/in-drawer.html) -->
1355
- <!-- The below code snippet is automatically added from ./../apiExamples/in-drawer.html -->
1356
-
1357
- ```html
1358
- <div>
1359
- <auro-button id="dropdown-drawer-opener">Dropdown in Drawer</auro-button>
1360
- <auro-drawer id="dropdown-drawer">
1361
- <span slot="header">Dropdown in Drawer</span>
1362
- <div slot="content">
1363
- <auro-dropdown id="in-drawer-dropdown" layout="classic" shape="classic" size="lg">
1364
- <div style="padding: var(--ds-size-150);">
1365
- Lorem ipsum dolor
1366
- <br />
1367
- <auro-button id="in-drawer-dismiss-btn">
1368
- Dismiss Dropdown
1369
- </auro-button>
1370
- </div>
1371
- <span slot="helpText">
1372
- Help text
1373
- </span>
1374
- <span slot="label">
1375
- Element label (default text will be read by screen reader)
1376
- </span>
1377
- <div slot="trigger">
1378
- Dropdown Trigger in Drawer
1379
- </div>
1380
- </auro-dropdown>
1381
- </div>
1382
- </auro-drawer>
1383
- </div>
1384
- ```
1385
- <!-- AURO-GENERATED-CONTENT:END -->
1386
- <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/in-drawer.js) -->
1387
- <!-- The below code snippet is automatically added from ./../apiExamples/in-drawer.js -->
1388
-
1389
- ```js
1390
- export function inDrawerExample() {
1391
- const openBtn = document.querySelector("#dropdown-drawer-opener");
1392
- const closeBtn = document.querySelector("#in-drawer-dismiss-btn");
1393
- const dropdown = document.querySelector("#in-drawer-dropdown");
1394
-
1395
- openBtn?.addEventListener("click", () => {
1396
- const drawer = document.querySelector("#dropdown-drawer");
1397
- if (drawer.hasAttribute('open')) {
1398
- drawer.removeAttribute('open');
1399
- } else {
1400
- drawer.setAttribute('open', true);
1401
- }
1402
- });
1403
-
1404
- closeBtn?.addEventListener("click", () => {
1405
- dropdown?.hide();
1406
- });
1407
- };
1408
- ```
1409
- <!-- AURO-GENERATED-CONTENT:END -->
1410
- </auro-accordion>
1411
-
1412
1317
  ## Restyle Component with CSS Variables
1413
1318
 
1414
1319
  The component may be restyled by changing the values of the following token(s).