@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
@@ -1687,7 +1687,7 @@ class AuroHelpText extends i$2 {
1687
1687
  }
1688
1688
  }
1689
1689
 
1690
- var formkitVersion = '202603241855';
1690
+ var formkitVersion = '202603242359';
1691
1691
 
1692
1692
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1693
1693
  // See LICENSE in the project root for license information.
@@ -1679,7 +1679,7 @@ class AuroHelpText extends i$2 {
1679
1679
  }
1680
1680
  }
1681
1681
 
1682
- var formkitVersion = '202603241855';
1682
+ var formkitVersion = '202603242359';
1683
1683
 
1684
1684
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1685
1685
  // See LICENSE in the project root for license information.
@@ -1632,7 +1632,7 @@ class AuroHelpText extends LitElement {
1632
1632
  }
1633
1633
  }
1634
1634
 
1635
- var formkitVersion = '202603241855';
1635
+ var formkitVersion = '202603242359';
1636
1636
 
1637
1637
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1638
1638
  // See LICENSE in the project root for license information.
@@ -1632,7 +1632,7 @@ class AuroHelpText extends LitElement {
1632
1632
  }
1633
1633
  }
1634
1634
 
1635
- var formkitVersion = '202603241855';
1635
+ var formkitVersion = '202603242359';
1636
1636
 
1637
1637
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1638
1638
  // See LICENSE in the project root for license information.
@@ -4404,6 +4404,7 @@ class AuroDropdownBib extends i$4 {
4404
4404
 
4405
4405
  this.shape = "rounded";
4406
4406
  this.matchWidth = false;
4407
+ this.hasActiveDescendant = false;
4407
4408
  }
4408
4409
 
4409
4410
  static get styles() {
@@ -4490,6 +4491,18 @@ class AuroDropdownBib extends i$4 {
4490
4491
  */
4491
4492
  dialogRole: {
4492
4493
  type: String
4494
+ },
4495
+
4496
+ /**
4497
+ * Set by auro-dropdown when a menu option is highlighted via
4498
+ * aria-activedescendant. The dialog keyboard bridge checks this
4499
+ * flag so that Enter selects the highlighted option instead of
4500
+ * activating the focused interactive element (e.g. the trigger
4501
+ * button, or the bibtemplate close button in fullscreen).
4502
+ * @private
4503
+ */
4504
+ hasActiveDescendant: {
4505
+ type: Boolean
4493
4506
  }
4494
4507
  };
4495
4508
  }
@@ -4573,7 +4586,7 @@ class AuroDropdownBib extends i$4 {
4573
4586
  /**
4574
4587
  * Forwards the dialog's native `cancel` event (fired on ESC) as
4575
4588
  * an `auro-bib-cancel` custom event so parent components can close.
4576
- * @param {HTMLDialogElement} dialog
4589
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
4577
4590
  * @private
4578
4591
  */
4579
4592
  _setupCancelHandler(dialog) {
@@ -4617,7 +4630,7 @@ class AuroDropdownBib extends i$4 {
4617
4630
  * is a secondary path for parent components that also listen for
4618
4631
  * Escape keydown.
4619
4632
  *
4620
- * @param {HTMLDialogElement} dialog
4633
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
4621
4634
  * @private
4622
4635
  */
4623
4636
  _setupKeyboardBridge(dialog) {
@@ -4636,15 +4649,23 @@ class AuroDropdownBib extends i$4 {
4636
4649
 
4637
4650
  // Custom elements (auro-button) don't get the native Enter→click
4638
4651
  // behavior that <button> has. Find the button in the composed path
4639
- // and click it directly.
4652
+ // and click it directly — but only when no menu option is
4653
+ // highlighted. In fullscreen mode focus stays on the close button
4654
+ // while arrow keys move the active-descendant highlight through
4655
+ // the listbox. If the user presses Enter with an option
4656
+ // highlighted, the intent is to select that option, not to click
4657
+ // the close button. In that case we fall through and bridge the
4658
+ // Enter key to the parent component's keyboard strategy.
4640
4659
  if (event.key === 'Enter') {
4641
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
4642
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
4643
- if (btn) {
4644
- event.preventDefault();
4645
- event.stopPropagation();
4646
- btn.click();
4647
- return;
4660
+ if (!this.hasActiveDescendant) {
4661
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
4662
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
4663
+ if (btn) {
4664
+ event.preventDefault();
4665
+ event.stopPropagation();
4666
+ btn.click();
4667
+ return;
4668
+ }
4648
4669
  }
4649
4670
  }
4650
4671
 
@@ -4759,6 +4780,8 @@ class AuroDropdownBib extends i$4 {
4759
4780
  * Closes the dialog.
4760
4781
  */
4761
4782
  close() {
4783
+ this.hasActiveDescendant = false;
4784
+
4762
4785
  const dialog = this.shadowRoot.querySelector('dialog');
4763
4786
 
4764
4787
  if (dialog && dialog.open) {
@@ -5036,7 +5059,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
5036
5059
  }
5037
5060
  };
5038
5061
 
5039
- var formkitVersion$2 = '202603241855';
5062
+ var formkitVersion$2 = '202603242359';
5040
5063
 
5041
5064
  let AuroElement$2 = class AuroElement extends i$4 {
5042
5065
  static get properties() {
@@ -5355,6 +5378,15 @@ class AuroDropdown extends AuroElement$2 {
5355
5378
  this.trigger.ariaActiveDescendantElement = null;
5356
5379
  this.trigger.removeAttribute('aria-activedescendant');
5357
5380
  }
5381
+
5382
+ // In fullscreen, focus stays on the close button while arrow keys
5383
+ // highlight options via active-descendant. Without this flag the
5384
+ // keyboard bridge clicks the close button on Enter (closing the
5385
+ // bib without selecting). When true, the bridge skips the button
5386
+ // click and forwards Enter to the parent to make the selection.
5387
+ if (this.bibContent) {
5388
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
5389
+ }
5358
5390
  }
5359
5391
 
5360
5392
  // function to define props used within the scope of this component
@@ -12791,7 +12823,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
12791
12823
  }
12792
12824
  };
12793
12825
 
12794
- var formkitVersion$1 = '202603241855';
12826
+ var formkitVersion$1 = '202603242359';
12795
12827
 
12796
12828
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12797
12829
  // See LICENSE in the project root for license information.
@@ -13830,7 +13862,7 @@ class AuroBibtemplate extends i$4 {
13830
13862
  }
13831
13863
  }
13832
13864
 
13833
- var formkitVersion = '202603241855';
13865
+ var formkitVersion = '202603242359';
13834
13866
 
13835
13867
  var styleCss$3 = i$7`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
13836
13868
 
@@ -4327,6 +4327,7 @@ class AuroDropdownBib extends i$4 {
4327
4327
 
4328
4328
  this.shape = "rounded";
4329
4329
  this.matchWidth = false;
4330
+ this.hasActiveDescendant = false;
4330
4331
  }
4331
4332
 
4332
4333
  static get styles() {
@@ -4413,6 +4414,18 @@ class AuroDropdownBib extends i$4 {
4413
4414
  */
4414
4415
  dialogRole: {
4415
4416
  type: String
4417
+ },
4418
+
4419
+ /**
4420
+ * Set by auro-dropdown when a menu option is highlighted via
4421
+ * aria-activedescendant. The dialog keyboard bridge checks this
4422
+ * flag so that Enter selects the highlighted option instead of
4423
+ * activating the focused interactive element (e.g. the trigger
4424
+ * button, or the bibtemplate close button in fullscreen).
4425
+ * @private
4426
+ */
4427
+ hasActiveDescendant: {
4428
+ type: Boolean
4416
4429
  }
4417
4430
  };
4418
4431
  }
@@ -4496,7 +4509,7 @@ class AuroDropdownBib extends i$4 {
4496
4509
  /**
4497
4510
  * Forwards the dialog's native `cancel` event (fired on ESC) as
4498
4511
  * an `auro-bib-cancel` custom event so parent components can close.
4499
- * @param {HTMLDialogElement} dialog
4512
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
4500
4513
  * @private
4501
4514
  */
4502
4515
  _setupCancelHandler(dialog) {
@@ -4540,7 +4553,7 @@ class AuroDropdownBib extends i$4 {
4540
4553
  * is a secondary path for parent components that also listen for
4541
4554
  * Escape keydown.
4542
4555
  *
4543
- * @param {HTMLDialogElement} dialog
4556
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
4544
4557
  * @private
4545
4558
  */
4546
4559
  _setupKeyboardBridge(dialog) {
@@ -4559,15 +4572,23 @@ class AuroDropdownBib extends i$4 {
4559
4572
 
4560
4573
  // Custom elements (auro-button) don't get the native Enter→click
4561
4574
  // behavior that <button> has. Find the button in the composed path
4562
- // and click it directly.
4575
+ // and click it directly — but only when no menu option is
4576
+ // highlighted. In fullscreen mode focus stays on the close button
4577
+ // while arrow keys move the active-descendant highlight through
4578
+ // the listbox. If the user presses Enter with an option
4579
+ // highlighted, the intent is to select that option, not to click
4580
+ // the close button. In that case we fall through and bridge the
4581
+ // Enter key to the parent component's keyboard strategy.
4563
4582
  if (event.key === 'Enter') {
4564
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
4565
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
4566
- if (btn) {
4567
- event.preventDefault();
4568
- event.stopPropagation();
4569
- btn.click();
4570
- return;
4583
+ if (!this.hasActiveDescendant) {
4584
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
4585
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
4586
+ if (btn) {
4587
+ event.preventDefault();
4588
+ event.stopPropagation();
4589
+ btn.click();
4590
+ return;
4591
+ }
4571
4592
  }
4572
4593
  }
4573
4594
 
@@ -4682,6 +4703,8 @@ class AuroDropdownBib extends i$4 {
4682
4703
  * Closes the dialog.
4683
4704
  */
4684
4705
  close() {
4706
+ this.hasActiveDescendant = false;
4707
+
4685
4708
  const dialog = this.shadowRoot.querySelector('dialog');
4686
4709
 
4687
4710
  if (dialog && dialog.open) {
@@ -4959,7 +4982,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
4959
4982
  }
4960
4983
  };
4961
4984
 
4962
- var formkitVersion$2 = '202603241855';
4985
+ var formkitVersion$2 = '202603242359';
4963
4986
 
4964
4987
  let AuroElement$2 = class AuroElement extends i$4 {
4965
4988
  static get properties() {
@@ -5278,6 +5301,15 @@ class AuroDropdown extends AuroElement$2 {
5278
5301
  this.trigger.ariaActiveDescendantElement = null;
5279
5302
  this.trigger.removeAttribute('aria-activedescendant');
5280
5303
  }
5304
+
5305
+ // In fullscreen, focus stays on the close button while arrow keys
5306
+ // highlight options via active-descendant. Without this flag the
5307
+ // keyboard bridge clicks the close button on Enter (closing the
5308
+ // bib without selecting). When true, the bridge skips the button
5309
+ // click and forwards Enter to the parent to make the selection.
5310
+ if (this.bibContent) {
5311
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
5312
+ }
5281
5313
  }
5282
5314
 
5283
5315
  // function to define props used within the scope of this component
@@ -12714,7 +12746,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
12714
12746
  }
12715
12747
  };
12716
12748
 
12717
- var formkitVersion$1 = '202603241855';
12749
+ var formkitVersion$1 = '202603242359';
12718
12750
 
12719
12751
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12720
12752
  // See LICENSE in the project root for license information.
@@ -13753,7 +13785,7 @@ class AuroBibtemplate extends i$4 {
13753
13785
  }
13754
13786
  }
13755
13787
 
13756
- var formkitVersion = '202603241855';
13788
+ var formkitVersion = '202603242359';
13757
13789
 
13758
13790
  var styleCss$3 = i$7`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
13759
13791
 
@@ -4260,6 +4260,7 @@ class AuroDropdownBib extends LitElement {
4260
4260
 
4261
4261
  this.shape = "rounded";
4262
4262
  this.matchWidth = false;
4263
+ this.hasActiveDescendant = false;
4263
4264
  }
4264
4265
 
4265
4266
  static get styles() {
@@ -4346,6 +4347,18 @@ class AuroDropdownBib extends LitElement {
4346
4347
  */
4347
4348
  dialogRole: {
4348
4349
  type: String
4350
+ },
4351
+
4352
+ /**
4353
+ * Set by auro-dropdown when a menu option is highlighted via
4354
+ * aria-activedescendant. The dialog keyboard bridge checks this
4355
+ * flag so that Enter selects the highlighted option instead of
4356
+ * activating the focused interactive element (e.g. the trigger
4357
+ * button, or the bibtemplate close button in fullscreen).
4358
+ * @private
4359
+ */
4360
+ hasActiveDescendant: {
4361
+ type: Boolean
4349
4362
  }
4350
4363
  };
4351
4364
  }
@@ -4429,7 +4442,7 @@ class AuroDropdownBib extends LitElement {
4429
4442
  /**
4430
4443
  * Forwards the dialog's native `cancel` event (fired on ESC) as
4431
4444
  * an `auro-bib-cancel` custom event so parent components can close.
4432
- * @param {HTMLDialogElement} dialog
4445
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
4433
4446
  * @private
4434
4447
  */
4435
4448
  _setupCancelHandler(dialog) {
@@ -4473,7 +4486,7 @@ class AuroDropdownBib extends LitElement {
4473
4486
  * is a secondary path for parent components that also listen for
4474
4487
  * Escape keydown.
4475
4488
  *
4476
- * @param {HTMLDialogElement} dialog
4489
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
4477
4490
  * @private
4478
4491
  */
4479
4492
  _setupKeyboardBridge(dialog) {
@@ -4492,15 +4505,23 @@ class AuroDropdownBib extends LitElement {
4492
4505
 
4493
4506
  // Custom elements (auro-button) don't get the native Enter→click
4494
4507
  // behavior that <button> has. Find the button in the composed path
4495
- // and click it directly.
4508
+ // and click it directly — but only when no menu option is
4509
+ // highlighted. In fullscreen mode focus stays on the close button
4510
+ // while arrow keys move the active-descendant highlight through
4511
+ // the listbox. If the user presses Enter with an option
4512
+ // highlighted, the intent is to select that option, not to click
4513
+ // the close button. In that case we fall through and bridge the
4514
+ // Enter key to the parent component's keyboard strategy.
4496
4515
  if (event.key === 'Enter') {
4497
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
4498
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
4499
- if (btn) {
4500
- event.preventDefault();
4501
- event.stopPropagation();
4502
- btn.click();
4503
- return;
4516
+ if (!this.hasActiveDescendant) {
4517
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
4518
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
4519
+ if (btn) {
4520
+ event.preventDefault();
4521
+ event.stopPropagation();
4522
+ btn.click();
4523
+ return;
4524
+ }
4504
4525
  }
4505
4526
  }
4506
4527
 
@@ -4615,6 +4636,8 @@ class AuroDropdownBib extends LitElement {
4615
4636
  * Closes the dialog.
4616
4637
  */
4617
4638
  close() {
4639
+ this.hasActiveDescendant = false;
4640
+
4618
4641
  const dialog = this.shadowRoot.querySelector('dialog');
4619
4642
 
4620
4643
  if (dialog && dialog.open) {
@@ -4892,7 +4915,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4892
4915
  }
4893
4916
  };
4894
4917
 
4895
- var formkitVersion$2 = '202603241855';
4918
+ var formkitVersion$2 = '202603242359';
4896
4919
 
4897
4920
  let AuroElement$2 = class AuroElement extends LitElement {
4898
4921
  static get properties() {
@@ -5211,6 +5234,15 @@ class AuroDropdown extends AuroElement$2 {
5211
5234
  this.trigger.ariaActiveDescendantElement = null;
5212
5235
  this.trigger.removeAttribute('aria-activedescendant');
5213
5236
  }
5237
+
5238
+ // In fullscreen, focus stays on the close button while arrow keys
5239
+ // highlight options via active-descendant. Without this flag the
5240
+ // keyboard bridge clicks the close button on Enter (closing the
5241
+ // bib without selecting). When true, the bridge skips the button
5242
+ // click and forwards Enter to the parent to make the selection.
5243
+ if (this.bibContent) {
5244
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
5245
+ }
5214
5246
  }
5215
5247
 
5216
5248
  // function to define props used within the scope of this component
@@ -12640,7 +12672,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
12640
12672
  }
12641
12673
  };
12642
12674
 
12643
- var formkitVersion$1 = '202603241855';
12675
+ var formkitVersion$1 = '202603242359';
12644
12676
 
12645
12677
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12646
12678
  // See LICENSE in the project root for license information.
@@ -13679,7 +13711,7 @@ class AuroBibtemplate extends LitElement {
13679
13711
  }
13680
13712
  }
13681
13713
 
13682
- var formkitVersion = '202603241855';
13714
+ var formkitVersion = '202603242359';
13683
13715
 
13684
13716
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
13685
13717
 
@@ -4260,6 +4260,7 @@ class AuroDropdownBib extends LitElement {
4260
4260
 
4261
4261
  this.shape = "rounded";
4262
4262
  this.matchWidth = false;
4263
+ this.hasActiveDescendant = false;
4263
4264
  }
4264
4265
 
4265
4266
  static get styles() {
@@ -4346,6 +4347,18 @@ class AuroDropdownBib extends LitElement {
4346
4347
  */
4347
4348
  dialogRole: {
4348
4349
  type: String
4350
+ },
4351
+
4352
+ /**
4353
+ * Set by auro-dropdown when a menu option is highlighted via
4354
+ * aria-activedescendant. The dialog keyboard bridge checks this
4355
+ * flag so that Enter selects the highlighted option instead of
4356
+ * activating the focused interactive element (e.g. the trigger
4357
+ * button, or the bibtemplate close button in fullscreen).
4358
+ * @private
4359
+ */
4360
+ hasActiveDescendant: {
4361
+ type: Boolean
4349
4362
  }
4350
4363
  };
4351
4364
  }
@@ -4429,7 +4442,7 @@ class AuroDropdownBib extends LitElement {
4429
4442
  /**
4430
4443
  * Forwards the dialog's native `cancel` event (fired on ESC) as
4431
4444
  * an `auro-bib-cancel` custom event so parent components can close.
4432
- * @param {HTMLDialogElement} dialog
4445
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the cancel listener to.
4433
4446
  * @private
4434
4447
  */
4435
4448
  _setupCancelHandler(dialog) {
@@ -4473,7 +4486,7 @@ class AuroDropdownBib extends LitElement {
4473
4486
  * is a secondary path for parent components that also listen for
4474
4487
  * Escape keydown.
4475
4488
  *
4476
- * @param {HTMLDialogElement} dialog
4489
+ * @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
4477
4490
  * @private
4478
4491
  */
4479
4492
  _setupKeyboardBridge(dialog) {
@@ -4492,15 +4505,23 @@ class AuroDropdownBib extends LitElement {
4492
4505
 
4493
4506
  // Custom elements (auro-button) don't get the native Enter→click
4494
4507
  // behavior that <button> has. Find the button in the composed path
4495
- // and click it directly.
4508
+ // and click it directly — but only when no menu option is
4509
+ // highlighted. In fullscreen mode focus stays on the close button
4510
+ // while arrow keys move the active-descendant highlight through
4511
+ // the listbox. If the user presses Enter with an option
4512
+ // highlighted, the intent is to select that option, not to click
4513
+ // the close button. In that case we fall through and bridge the
4514
+ // Enter key to the parent component's keyboard strategy.
4496
4515
  if (event.key === 'Enter') {
4497
- const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
4498
- const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
4499
- if (btn) {
4500
- event.preventDefault();
4501
- event.stopPropagation();
4502
- btn.click();
4503
- return;
4516
+ if (!this.hasActiveDescendant) {
4517
+ const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
4518
+ const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
4519
+ if (btn) {
4520
+ event.preventDefault();
4521
+ event.stopPropagation();
4522
+ btn.click();
4523
+ return;
4524
+ }
4504
4525
  }
4505
4526
  }
4506
4527
 
@@ -4615,6 +4636,8 @@ class AuroDropdownBib extends LitElement {
4615
4636
  * Closes the dialog.
4616
4637
  */
4617
4638
  close() {
4639
+ this.hasActiveDescendant = false;
4640
+
4618
4641
  const dialog = this.shadowRoot.querySelector('dialog');
4619
4642
 
4620
4643
  if (dialog && dialog.open) {
@@ -4892,7 +4915,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4892
4915
  }
4893
4916
  };
4894
4917
 
4895
- var formkitVersion$2 = '202603241855';
4918
+ var formkitVersion$2 = '202603242359';
4896
4919
 
4897
4920
  let AuroElement$2 = class AuroElement extends LitElement {
4898
4921
  static get properties() {
@@ -5211,6 +5234,15 @@ class AuroDropdown extends AuroElement$2 {
5211
5234
  this.trigger.ariaActiveDescendantElement = null;
5212
5235
  this.trigger.removeAttribute('aria-activedescendant');
5213
5236
  }
5237
+
5238
+ // In fullscreen, focus stays on the close button while arrow keys
5239
+ // highlight options via active-descendant. Without this flag the
5240
+ // keyboard bridge clicks the close button on Enter (closing the
5241
+ // bib without selecting). When true, the bridge skips the button
5242
+ // click and forwards Enter to the parent to make the selection.
5243
+ if (this.bibContent) {
5244
+ this.bibContent.hasActiveDescendant = this.isBibFullscreen && Boolean(element);
5245
+ }
5214
5246
  }
5215
5247
 
5216
5248
  // function to define props used within the scope of this component
@@ -12640,7 +12672,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
12640
12672
  }
12641
12673
  };
12642
12674
 
12643
- var formkitVersion$1 = '202603241855';
12675
+ var formkitVersion$1 = '202603242359';
12644
12676
 
12645
12677
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12646
12678
  // See LICENSE in the project root for license information.
@@ -13679,7 +13711,7 @@ class AuroBibtemplate extends LitElement {
13679
13711
  }
13680
13712
  }
13681
13713
 
13682
- var formkitVersion = '202603241855';
13714
+ var formkitVersion = '202603242359';
13683
13715
 
13684
13716
  var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
13685
13717
 
@@ -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