@aurodesignsystem-dev/auro-formkit 0.0.0-pr1395.2 → 0.0.0-pr1396.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 (38) 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 +45 -13
  6. package/components/combobox/demo/index.min.js +45 -13
  7. package/components/combobox/dist/index.js +45 -13
  8. package/components/combobox/dist/registered.js +45 -13
  9. package/components/counter/demo/api.min.js +44 -12
  10. package/components/counter/demo/index.min.js +44 -12
  11. package/components/counter/dist/index.js +44 -12
  12. package/components/counter/dist/registered.js +44 -12
  13. package/components/datepicker/demo/api.min.js +51 -85
  14. package/components/datepicker/demo/index.min.js +51 -85
  15. package/components/datepicker/dist/index.js +51 -85
  16. package/components/datepicker/dist/registered.js +51 -85
  17. package/components/dropdown/demo/api.min.js +43 -11
  18. package/components/dropdown/demo/index.min.js +43 -11
  19. package/components/dropdown/dist/auro-dropdownBib.d.ts +14 -2
  20. package/components/dropdown/dist/index.js +43 -11
  21. package/components/dropdown/dist/registered.js +43 -11
  22. package/components/form/demo/api.min.js +187 -125
  23. package/components/form/demo/index.min.js +187 -125
  24. package/components/input/demo/api.min.js +1 -1
  25. package/components/input/demo/index.min.js +1 -1
  26. package/components/input/dist/index.js +1 -1
  27. package/components/input/dist/registered.js +1 -1
  28. package/components/radio/demo/api.min.js +1 -1
  29. package/components/radio/demo/index.min.js +1 -1
  30. package/components/radio/dist/index.js +1 -1
  31. package/components/radio/dist/registered.js +1 -1
  32. package/components/select/demo/api.min.js +44 -12
  33. package/components/select/demo/index.min.js +44 -12
  34. package/components/select/dist/index.js +44 -12
  35. package/components/select/dist/registered.js +44 -12
  36. package/custom-elements.json +1418 -1420
  37. package/package.json +2 -1
  38. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +0 -4
@@ -1470,7 +1470,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1470
1470
  }
1471
1471
  };
1472
1472
 
1473
- var formkitVersion$1 = '202603241855';
1473
+ var formkitVersion$1 = '202603242359';
1474
1474
 
1475
1475
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1476
1476
  // See LICENSE in the project root for license information.
@@ -4862,6 +4862,7 @@ class AuroDropdownBib extends i$2 {
4862
4862
 
4863
4863
  this.shape = "rounded";
4864
4864
  this.matchWidth = false;
4865
+ this.hasActiveDescendant = false;
4865
4866
  }
4866
4867
 
4867
4868
  static get styles() {
@@ -4948,6 +4949,18 @@ class AuroDropdownBib extends i$2 {
4948
4949
  */
4949
4950
  dialogRole: {
4950
4951
  type: String
4952
+ },
4953
+
4954
+ /**
4955
+ * Set by auro-dropdown when a menu option is highlighted via
4956
+ * aria-activedescendant. The dialog keyboard bridge checks this
4957
+ * flag so that Enter selects the highlighted option instead of
4958
+ * activating the focused interactive element (e.g. the trigger
4959
+ * button, or the bibtemplate close button in fullscreen).
4960
+ * @private
4961
+ */
4962
+ hasActiveDescendant: {
4963
+ type: Boolean
4951
4964
  }
4952
4965
  };
4953
4966
  }
@@ -5031,7 +5044,7 @@ class AuroDropdownBib extends i$2 {
5031
5044
  /**
5032
5045
  * Forwards the dialog's native `cancel` event (fired on ESC) as
5033
5046
  * an `auro-bib-cancel` custom event so parent components can close.
5034
- * @param {HTMLDialogElement} dialog
5047
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
5035
5048
  * @private
5036
5049
  */
5037
5050
  _setupCancelHandler(dialog) {
@@ -5075,7 +5088,7 @@ class AuroDropdownBib extends i$2 {
5075
5088
  * is a secondary path for parent components that also listen for
5076
5089
  * Escape keydown.
5077
5090
  *
5078
- * @param {HTMLDialogElement} dialog
5091
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
5079
5092
  * @private
5080
5093
  */
5081
5094
  _setupKeyboardBridge(dialog) {
@@ -5094,15 +5107,23 @@ class AuroDropdownBib extends i$2 {
5094
5107
 
5095
5108
  // Custom elements (auro-button) don't get the native Enter→click
5096
5109
  // behavior that <button> has. Find the button in the composed path
5097
- // and click it directly.
5110
+ // and click it directly — but only when no menu option is
5111
+ // highlighted. In fullscreen mode focus stays on the close button
5112
+ // while arrow keys move the active-descendant highlight through
5113
+ // the listbox. If the user presses Enter with an option
5114
+ // highlighted, the intent is to select that option, not to click
5115
+ // the close button. In that case we fall through and bridge the
5116
+ // Enter key to the parent component's keyboard strategy.
5098
5117
  if (event.key === 'Enter') {
5099
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
5100
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
5101
- if (btn) {
5102
- event.preventDefault();
5103
- event.stopPropagation();
5104
- btn.click();
5105
- return;
5118
+ if (!this.hasActiveDescendant) {
5119
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
5120
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
5121
+ if (btn) {
5122
+ event.preventDefault();
5123
+ event.stopPropagation();
5124
+ btn.click();
5125
+ return;
5126
+ }
5106
5127
  }
5107
5128
  }
5108
5129
 
@@ -5217,6 +5238,8 @@ class AuroDropdownBib extends i$2 {
5217
5238
  * Closes the dialog.
5218
5239
  */
5219
5240
  close() {
5241
+ this.hasActiveDescendant = false;
5242
+
5220
5243
  const dialog = this.shadowRoot.querySelector('dialog');
5221
5244
 
5222
5245
  if (dialog && dialog.open) {
@@ -5494,7 +5517,7 @@ class AuroHelpText extends i$2 {
5494
5517
  }
5495
5518
  }
5496
5519
 
5497
- var formkitVersion = '202603241855';
5520
+ var formkitVersion = '202603242359';
5498
5521
 
5499
5522
  let AuroElement$1 = class AuroElement extends i$2 {
5500
5523
  static get properties() {
@@ -5813,6 +5836,15 @@ class AuroDropdown extends AuroElement$1 {
5813
5836
  this.trigger.ariaActiveDescendantElement = null;
5814
5837
  this.trigger.removeAttribute('aria-activedescendant');
5815
5838
  }
5839
+
5840
+ // In fullscreen, focus stays on the close button while arrow keys
5841
+ // highlight options via active-descendant. Without this flag the
5842
+ // keyboard bridge clicks the close button on Enter (closing the
5843
+ // bib without selecting). When true, the bridge skips the button
5844
+ // click and forwards Enter to the parent to make the selection.
5845
+ if (this.bibContent) {
5846
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
5847
+ }
5816
5848
  }
5817
5849
 
5818
5850
  // function to define props used within the scope of this component
@@ -1420,7 +1420,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1420
1420
  }
1421
1421
  };
1422
1422
 
1423
- var formkitVersion$1 = '202603241855';
1423
+ var formkitVersion$1 = '202603242359';
1424
1424
 
1425
1425
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1426
1426
  // See LICENSE in the project root for license information.
@@ -4794,6 +4794,7 @@ class AuroDropdownBib extends LitElement {
4794
4794
 
4795
4795
  this.shape = "rounded";
4796
4796
  this.matchWidth = false;
4797
+ this.hasActiveDescendant = false;
4797
4798
  }
4798
4799
 
4799
4800
  static get styles() {
@@ -4880,6 +4881,18 @@ class AuroDropdownBib extends LitElement {
4880
4881
  */
4881
4882
  dialogRole: {
4882
4883
  type: String
4884
+ },
4885
+
4886
+ /**
4887
+ * Set by auro-dropdown when a menu option is highlighted via
4888
+ * aria-activedescendant. The dialog keyboard bridge checks this
4889
+ * flag so that Enter selects the highlighted option instead of
4890
+ * activating the focused interactive element (e.g. the trigger
4891
+ * button, or the bibtemplate close button in fullscreen).
4892
+ * @private
4893
+ */
4894
+ hasActiveDescendant: {
4895
+ type: Boolean
4883
4896
  }
4884
4897
  };
4885
4898
  }
@@ -4963,7 +4976,7 @@ class AuroDropdownBib extends LitElement {
4963
4976
  /**
4964
4977
  * Forwards the dialog's native `cancel` event (fired on ESC) as
4965
4978
  * an `auro-bib-cancel` custom event so parent components can close.
4966
- * @param {HTMLDialogElement} dialog
4979
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
4967
4980
  * @private
4968
4981
  */
4969
4982
  _setupCancelHandler(dialog) {
@@ -5007,7 +5020,7 @@ class AuroDropdownBib extends LitElement {
5007
5020
  * is a secondary path for parent components that also listen for
5008
5021
  * Escape keydown.
5009
5022
  *
5010
- * @param {HTMLDialogElement} dialog
5023
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
5011
5024
  * @private
5012
5025
  */
5013
5026
  _setupKeyboardBridge(dialog) {
@@ -5026,15 +5039,23 @@ class AuroDropdownBib extends LitElement {
5026
5039
 
5027
5040
  // Custom elements (auro-button) don't get the native Enter→click
5028
5041
  // behavior that <button> has. Find the button in the composed path
5029
- // and click it directly.
5042
+ // and click it directly — but only when no menu option is
5043
+ // highlighted. In fullscreen mode focus stays on the close button
5044
+ // while arrow keys move the active-descendant highlight through
5045
+ // the listbox. If the user presses Enter with an option
5046
+ // highlighted, the intent is to select that option, not to click
5047
+ // the close button. In that case we fall through and bridge the
5048
+ // Enter key to the parent component's keyboard strategy.
5030
5049
  if (event.key === 'Enter') {
5031
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
5032
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
5033
- if (btn) {
5034
- event.preventDefault();
5035
- event.stopPropagation();
5036
- btn.click();
5037
- return;
5050
+ if (!this.hasActiveDescendant) {
5051
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
5052
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
5053
+ if (btn) {
5054
+ event.preventDefault();
5055
+ event.stopPropagation();
5056
+ btn.click();
5057
+ return;
5058
+ }
5038
5059
  }
5039
5060
  }
5040
5061
 
@@ -5149,6 +5170,8 @@ class AuroDropdownBib extends LitElement {
5149
5170
  * Closes the dialog.
5150
5171
  */
5151
5172
  close() {
5173
+ this.hasActiveDescendant = false;
5174
+
5152
5175
  const dialog = this.shadowRoot.querySelector('dialog');
5153
5176
 
5154
5177
  if (dialog && dialog.open) {
@@ -5426,7 +5449,7 @@ class AuroHelpText extends LitElement {
5426
5449
  }
5427
5450
  }
5428
5451
 
5429
- var formkitVersion = '202603241855';
5452
+ var formkitVersion = '202603242359';
5430
5453
 
5431
5454
  let AuroElement$1 = class AuroElement extends LitElement {
5432
5455
  static get properties() {
@@ -5745,6 +5768,15 @@ class AuroDropdown extends AuroElement$1 {
5745
5768
  this.trigger.ariaActiveDescendantElement = null;
5746
5769
  this.trigger.removeAttribute('aria-activedescendant');
5747
5770
  }
5771
+
5772
+ // In fullscreen, focus stays on the close button while arrow keys
5773
+ // highlight options via active-descendant. Without this flag the
5774
+ // keyboard bridge clicks the close button on Enter (closing the
5775
+ // bib without selecting). When true, the bridge skips the button
5776
+ // click and forwards Enter to the parent to make the selection.
5777
+ if (this.bibContent) {
5778
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
5779
+ }
5748
5780
  }
5749
5781
 
5750
5782
  // function to define props used within the scope of this component
@@ -1420,7 +1420,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1420
1420
  }
1421
1421
  };
1422
1422
 
1423
- var formkitVersion$1 = '202603241855';
1423
+ var formkitVersion$1 = '202603242359';
1424
1424
 
1425
1425
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1426
1426
  // See LICENSE in the project root for license information.
@@ -4794,6 +4794,7 @@ class AuroDropdownBib extends LitElement {
4794
4794
 
4795
4795
  this.shape = "rounded";
4796
4796
  this.matchWidth = false;
4797
+ this.hasActiveDescendant = false;
4797
4798
  }
4798
4799
 
4799
4800
  static get styles() {
@@ -4880,6 +4881,18 @@ class AuroDropdownBib extends LitElement {
4880
4881
  */
4881
4882
  dialogRole: {
4882
4883
  type: String
4884
+ },
4885
+
4886
+ /**
4887
+ * Set by auro-dropdown when a menu option is highlighted via
4888
+ * aria-activedescendant. The dialog keyboard bridge checks this
4889
+ * flag so that Enter selects the highlighted option instead of
4890
+ * activating the focused interactive element (e.g. the trigger
4891
+ * button, or the bibtemplate close button in fullscreen).
4892
+ * @private
4893
+ */
4894
+ hasActiveDescendant: {
4895
+ type: Boolean
4883
4896
  }
4884
4897
  };
4885
4898
  }
@@ -4963,7 +4976,7 @@ class AuroDropdownBib extends LitElement {
4963
4976
  /**
4964
4977
  * Forwards the dialog's native `cancel` event (fired on ESC) as
4965
4978
  * an `auro-bib-cancel` custom event so parent components can close.
4966
- * @param {HTMLDialogElement} dialog
4979
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
4967
4980
  * @private
4968
4981
  */
4969
4982
  _setupCancelHandler(dialog) {
@@ -5007,7 +5020,7 @@ class AuroDropdownBib extends LitElement {
5007
5020
  * is a secondary path for parent components that also listen for
5008
5021
  * Escape keydown.
5009
5022
  *
5010
- * @param {HTMLDialogElement} dialog
5023
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
5011
5024
  * @private
5012
5025
  */
5013
5026
  _setupKeyboardBridge(dialog) {
@@ -5026,15 +5039,23 @@ class AuroDropdownBib extends LitElement {
5026
5039
 
5027
5040
  // Custom elements (auro-button) don't get the native Enter→click
5028
5041
  // behavior that <button> has. Find the button in the composed path
5029
- // and click it directly.
5042
+ // and click it directly — but only when no menu option is
5043
+ // highlighted. In fullscreen mode focus stays on the close button
5044
+ // while arrow keys move the active-descendant highlight through
5045
+ // the listbox. If the user presses Enter with an option
5046
+ // highlighted, the intent is to select that option, not to click
5047
+ // the close button. In that case we fall through and bridge the
5048
+ // Enter key to the parent component's keyboard strategy.
5030
5049
  if (event.key === 'Enter') {
5031
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
5032
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
5033
- if (btn) {
5034
- event.preventDefault();
5035
- event.stopPropagation();
5036
- btn.click();
5037
- return;
5050
+ if (!this.hasActiveDescendant) {
5051
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
5052
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
5053
+ if (btn) {
5054
+ event.preventDefault();
5055
+ event.stopPropagation();
5056
+ btn.click();
5057
+ return;
5058
+ }
5038
5059
  }
5039
5060
  }
5040
5061
 
@@ -5149,6 +5170,8 @@ class AuroDropdownBib extends LitElement {
5149
5170
  * Closes the dialog.
5150
5171
  */
5151
5172
  close() {
5173
+ this.hasActiveDescendant = false;
5174
+
5152
5175
  const dialog = this.shadowRoot.querySelector('dialog');
5153
5176
 
5154
5177
  if (dialog && dialog.open) {
@@ -5426,7 +5449,7 @@ class AuroHelpText extends LitElement {
5426
5449
  }
5427
5450
  }
5428
5451
 
5429
- var formkitVersion = '202603241855';
5452
+ var formkitVersion = '202603242359';
5430
5453
 
5431
5454
  let AuroElement$1 = class AuroElement extends LitElement {
5432
5455
  static get properties() {
@@ -5745,6 +5768,15 @@ class AuroDropdown extends AuroElement$1 {
5745
5768
  this.trigger.ariaActiveDescendantElement = null;
5746
5769
  this.trigger.removeAttribute('aria-activedescendant');
5747
5770
  }
5771
+
5772
+ // In fullscreen, focus stays on the close button while arrow keys
5773
+ // highlight options via active-descendant. Without this flag the
5774
+ // keyboard bridge clicks the close button on Enter (closing the
5775
+ // bib without selecting). When true, the bridge skips the button
5776
+ // click and forwards Enter to the parent to make the selection.
5777
+ if (this.bibContent) {
5778
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
5779
+ }
5748
5780
  }
5749
5781
 
5750
5782
  // function to define props used within the scope of this component
@@ -9549,7 +9549,7 @@ class AuroBibtemplate extends i$1 {
9549
9549
  }
9550
9550
  }
9551
9551
 
9552
- var formkitVersion$2 = '202603241855';
9552
+ var formkitVersion$2 = '202603242359';
9553
9553
 
9554
9554
  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}
9555
9555
  `,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}}
@@ -12975,6 +12975,7 @@ class AuroDropdownBib extends i$1 {
12975
12975
 
12976
12976
  this.shape = "rounded";
12977
12977
  this.matchWidth = false;
12978
+ this.hasActiveDescendant = false;
12978
12979
  }
12979
12980
 
12980
12981
  static get styles() {
@@ -13061,6 +13062,18 @@ class AuroDropdownBib extends i$1 {
13061
13062
  */
13062
13063
  dialogRole: {
13063
13064
  type: String
13065
+ },
13066
+
13067
+ /**
13068
+ * Set by auro-dropdown when a menu option is highlighted via
13069
+ * aria-activedescendant. The dialog keyboard bridge checks this
13070
+ * flag so that Enter selects the highlighted option instead of
13071
+ * activating the focused interactive element (e.g. the trigger
13072
+ * button, or the bibtemplate close button in fullscreen).
13073
+ * @private
13074
+ */
13075
+ hasActiveDescendant: {
13076
+ type: Boolean
13064
13077
  }
13065
13078
  };
13066
13079
  }
@@ -13144,7 +13157,7 @@ class AuroDropdownBib extends i$1 {
13144
13157
  /**
13145
13158
  * Forwards the dialog's native `cancel` event (fired on ESC) as
13146
13159
  * an `auro-bib-cancel` custom event so parent components can close.
13147
- * @param {HTMLDialogElement} dialog
13160
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
13148
13161
  * @private
13149
13162
  */
13150
13163
  _setupCancelHandler(dialog) {
@@ -13188,7 +13201,7 @@ class AuroDropdownBib extends i$1 {
13188
13201
  * is a secondary path for parent components that also listen for
13189
13202
  * Escape keydown.
13190
13203
  *
13191
- * @param {HTMLDialogElement} dialog
13204
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
13192
13205
  * @private
13193
13206
  */
13194
13207
  _setupKeyboardBridge(dialog) {
@@ -13207,15 +13220,23 @@ class AuroDropdownBib extends i$1 {
13207
13220
 
13208
13221
  // Custom elements (auro-button) don't get the native Enter→click
13209
13222
  // behavior that <button> has. Find the button in the composed path
13210
- // and click it directly.
13223
+ // and click it directly — but only when no menu option is
13224
+ // highlighted. In fullscreen mode focus stays on the close button
13225
+ // while arrow keys move the active-descendant highlight through
13226
+ // the listbox. If the user presses Enter with an option
13227
+ // highlighted, the intent is to select that option, not to click
13228
+ // the close button. In that case we fall through and bridge the
13229
+ // Enter key to the parent component's keyboard strategy.
13211
13230
  if (event.key === 'Enter') {
13212
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
13213
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
13214
- if (btn) {
13215
- event.preventDefault();
13216
- event.stopPropagation();
13217
- btn.click();
13218
- return;
13231
+ if (!this.hasActiveDescendant) {
13232
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
13233
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
13234
+ if (btn) {
13235
+ event.preventDefault();
13236
+ event.stopPropagation();
13237
+ btn.click();
13238
+ return;
13239
+ }
13219
13240
  }
13220
13241
  }
13221
13242
 
@@ -13330,6 +13351,8 @@ class AuroDropdownBib extends i$1 {
13330
13351
  * Closes the dialog.
13331
13352
  */
13332
13353
  close() {
13354
+ this.hasActiveDescendant = false;
13355
+
13333
13356
  const dialog = this.shadowRoot.querySelector('dialog');
13334
13357
 
13335
13358
  if (dialog && dialog.open) {
@@ -13607,7 +13630,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13607
13630
  }
13608
13631
  };
13609
13632
 
13610
- var formkitVersion$1 = '202603241855';
13633
+ var formkitVersion$1 = '202603242359';
13611
13634
 
13612
13635
  let AuroElement$2 = class AuroElement extends i$1 {
13613
13636
  static get properties() {
@@ -13926,6 +13949,15 @@ class AuroDropdown extends AuroElement$2 {
13926
13949
  this.trigger.ariaActiveDescendantElement = null;
13927
13950
  this.trigger.removeAttribute('aria-activedescendant');
13928
13951
  }
13952
+
13953
+ // In fullscreen, focus stays on the close button while arrow keys
13954
+ // highlight options via active-descendant. Without this flag the
13955
+ // keyboard bridge clicks the close button on Enter (closing the
13956
+ // bib without selecting). When true, the bridge skips the button
13957
+ // click and forwards Enter to the parent to make the selection.
13958
+ if (this.bibContent) {
13959
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
13960
+ }
13929
13961
  }
13930
13962
 
13931
13963
  // function to define props used within the scope of this component
@@ -21362,7 +21394,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
21362
21394
  }
21363
21395
  };
21364
21396
 
21365
- var formkitVersion = '202603241855';
21397
+ var formkitVersion = '202603242359';
21366
21398
 
21367
21399
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
21368
21400
  // See LICENSE in the project root for license information.
@@ -22563,75 +22595,6 @@ function restoreTriggerAfterClose(dropdown, focusTarget) {
22563
22595
  * SPDX-License-Identifier: BSD-3-Clause
22564
22596
  */class e extends i$4{constructor(i){if(super(i),this.it=A$4,i.type!==t$2.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(r){if(r===A$4||null==r)return this._t=void 0,this.it=r;if(r===E$1)return r;if("string"!=typeof r)throw Error(this.constructor.directiveName+"() called with a non-string value");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName="unsafeHTML",e.resultType=1;
22565
22597
 
22566
- /**
22567
- * Computes display state once per keydown event.
22568
- * Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
22569
- *
22570
- * @param {HTMLElement} component - The component with a dropdown reference.
22571
- * @param {Object} [options] - Optional config.
22572
- * @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
22573
- * @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
22574
- * @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
22575
- * isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
22576
- */
22577
- function createDisplayContext(component, options = {}) {
22578
- const dd = options.dropdown || component.dropdown;
22579
- // isPopoverVisible reflects as the `open` attribute.
22580
- // It reports whether the bib is open in any mode (popover or modal).
22581
- const isExpanded = Boolean(dd && dd.isPopoverVisible);
22582
- const isFullscreen = Boolean(dd && dd.isBibFullscreen);
22583
-
22584
- const ctx = {
22585
- isExpanded,
22586
- isModal: isFullscreen,
22587
- isPopover: !isFullscreen,
22588
- activeInput: null,
22589
- };
22590
-
22591
- if (options.inputResolver) {
22592
- const resolvedInput = options.inputResolver(component, ctx);
22593
- // Guard against resolvers returning undefined or non-HTMLElement values.
22594
- ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
22595
- }
22596
-
22597
- return ctx;
22598
- }
22599
-
22600
- /**
22601
- * Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
22602
- * Handles both sync and async handlers.
22603
- * @param {HTMLElement} component - The component to attach the listener to.
22604
- * @param {Object} strategy - Map of key names to handler functions.
22605
- * @param {Object} [options] - Optional config passed to createDisplayContext.
22606
- */
22607
- function applyKeyboardStrategy(component, strategy, options = {}) {
22608
- component.addEventListener('keydown', async (evt) => {
22609
- const handler = strategy[evt.key] || strategy.default;
22610
- if (typeof handler === 'function') {
22611
- const ctx = createDisplayContext(component, options);
22612
- await handler(component, evt, ctx);
22613
- }
22614
- });
22615
- }
22616
-
22617
- // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22618
- // See LICENSE in the project root for license information.
22619
-
22620
- const datepickerKeyboardStrategy = {
22621
- Enter(component, evt, ctx) {
22622
- if (!ctx.isExpanded) {
22623
- evt.preventDefault();
22624
- component.dropdown.show();
22625
- }
22626
- },
22627
-
22628
- Tab(component, _evt, ctx) {
22629
- if (ctx.isExpanded && ctx.isModal) {
22630
- component.dropdown.hide();
22631
- }
22632
- },
22633
- };
22634
-
22635
22598
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
22636
22599
  // See LICENSE in the project root for license information.
22637
22600
 
@@ -22641,7 +22604,7 @@ const datepickerKeyboardStrategy = {
22641
22604
  /**
22642
22605
  * The `auro-datepicker` component provides users with a way to select a date or date range from a calendar popup or fullscreen calendar on mobile.
22643
22606
  * @customElement auro-datepicker
22644
- *
22607
+ *
22645
22608
  * @slot helpText - Defines the content of the helpText.
22646
22609
  * @slot ariaLabel.bib.close - Sets aria-label on close button in fullscreen bib
22647
22610
  * @slot ariaLabel.input.clear - Sets aria-label on clear button
@@ -23445,8 +23408,11 @@ class AuroDatePicker extends AuroElement {
23445
23408
  // Tab closes the fullscreen dialog (same pattern as select).
23446
23409
  // The dialog event bridge intercepts Tab and re-dispatches it as a
23447
23410
  // composed keydown; this listener catches the re-dispatched event.
23448
- // Enter opens the bib when it is closed.
23449
- applyKeyboardStrategy(this, datepickerKeyboardStrategy);
23411
+ this.addEventListener('keydown', (evt) => {
23412
+ if (evt.key === 'Tab' && this.dropdown.isPopoverVisible && this.dropdown.isBibFullscreen) {
23413
+ this.dropdown.hide();
23414
+ }
23415
+ });
23450
23416
 
23451
23417
  this.dropdown.addEventListener('auroDropdown-triggerClick', () => {
23452
23418
  if (!this.isPopoverVisible) {