@aurodesignsystem-dev/auro-formkit 0.0.0-pr1400.3 → 0.0.0-pr1402.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 (42) 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 +31 -101
  6. package/components/combobox/demo/index.min.js +31 -101
  7. package/components/combobox/dist/auro-combobox.d.ts +0 -2
  8. package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +1 -1
  9. package/components/combobox/dist/index.js +31 -101
  10. package/components/combobox/dist/registered.js +31 -101
  11. package/components/counter/demo/api.md +1 -1
  12. package/components/counter/demo/api.min.js +51 -12
  13. package/components/counter/demo/index.min.js +51 -12
  14. package/components/counter/dist/auro-counter.d.ts +11 -1
  15. package/components/counter/dist/index.js +51 -12
  16. package/components/counter/dist/registered.js +51 -12
  17. package/components/datepicker/demo/api.min.js +20 -3
  18. package/components/datepicker/demo/index.min.js +20 -3
  19. package/components/datepicker/dist/index.js +20 -3
  20. package/components/datepicker/dist/registered.js +20 -3
  21. package/components/dropdown/demo/api.min.js +18 -1
  22. package/components/dropdown/demo/index.min.js +18 -1
  23. package/components/dropdown/dist/auro-dropdownBib.d.ts +10 -0
  24. package/components/dropdown/dist/index.js +18 -1
  25. package/components/dropdown/dist/registered.js +18 -1
  26. package/components/form/demo/api.min.js +125 -133
  27. package/components/form/demo/index.min.js +125 -133
  28. package/components/input/demo/api.min.js +1 -1
  29. package/components/input/demo/index.min.js +1 -1
  30. package/components/input/dist/index.js +1 -1
  31. package/components/input/dist/registered.js +1 -1
  32. package/components/radio/demo/api.min.js +1 -1
  33. package/components/radio/demo/index.min.js +1 -1
  34. package/components/radio/dist/index.js +1 -1
  35. package/components/radio/dist/registered.js +1 -1
  36. package/components/select/demo/api.min.js +20 -14
  37. package/components/select/demo/index.min.js +20 -14
  38. package/components/select/dist/index.js +20 -14
  39. package/components/select/dist/registered.js +20 -14
  40. package/components/select/dist/selectKeyboardStrategy.d.ts +1 -1
  41. package/custom-elements.json +1436 -1390
  42. package/package.json +4 -2
@@ -1687,7 +1687,7 @@ class AuroHelpText extends i$2 {
1687
1687
  }
1688
1688
  }
1689
1689
 
1690
- var formkitVersion = '202603270007';
1690
+ var formkitVersion = '202603270129';
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 = '202603270007';
1682
+ var formkitVersion = '202603270129';
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 = '202603270007';
1635
+ var formkitVersion = '202603270129';
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 = '202603270007';
1635
+ var formkitVersion = '202603270129';
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.
@@ -1300,8 +1300,6 @@ function navigateArrow(component, direction, options = {}) {
1300
1300
  }
1301
1301
  }
1302
1302
 
1303
- /* eslint-disable no-underscore-dangle */
1304
-
1305
1303
  /**
1306
1304
  * Returns the clear button element from the active input's shadow
1307
1305
  * DOM, if available.
@@ -1359,52 +1357,24 @@ const comboboxKeyboardStrategy = {
1359
1357
  }
1360
1358
  },
1361
1359
 
1362
- Tab(component, evt, ctx) {
1360
+ Tab(component, _evt, ctx) {
1363
1361
  if (!ctx.isExpanded) {
1364
1362
  return;
1365
1363
  }
1366
1364
 
1367
- // Shift+Tab moves the highlight to the first non-disabled option
1368
- // without making a selection or closing the bib.
1369
- if (evt.shiftKey) {
1370
- evt.preventDefault();
1371
- const firstActive = component.menu.menuService.menuOptions.find((option) => option.isActive);
1372
- if (firstActive) {
1373
- component.menu.updateActiveOption(firstActive);
1374
- }
1375
- return;
1376
- }
1377
-
1378
1365
  if (ctx.isModal) {
1379
1366
  if (!ctx.activeInput) {
1380
1367
  return;
1381
1368
  }
1382
-
1383
- // Active option → select immediately and close the dialog.
1384
- // Flag the component so the close handler focuses the trigger's
1385
- // clear button instead of the input. Set flags before makeSelection
1386
- // because the value change triggers showBib via Lit's updated().
1387
- if (component.optionActive) {
1388
- evt.preventDefault();
1389
- component._focusClearBtnAfterClose = true;
1390
- component._clearBtnFocusPending = true;
1391
- component.menu.makeSelection();
1392
- component.hideBib();
1393
- return;
1394
- }
1395
-
1396
1369
  const clearBtn = getClearBtn(ctx);
1397
1370
  const clearBtnHasFocus = isClearBtnFocused(ctx, clearBtn);
1398
1371
 
1399
- // No active option, input has a value, clear button not focused
1400
- // move focus to the dialog's clear button.
1372
+ // Tab from input: if clear button exists and doesn't have focus, focus it
1401
1373
  if (clearBtn && !clearBtnHasFocus && ctx.activeInput.value) {
1402
-
1403
1374
  // Force clear button container visible to work around Safari not
1404
1375
  // propagating :focus-within through shadow DOM boundaries, which
1405
1376
  // causes .wrapper:not(:focus-within) to hide .notification.clear.
1406
1377
  const clearContainer = clearBtn.closest('.clear');
1407
-
1408
1378
  if (clearContainer) {
1409
1379
  clearContainer.style.display = 'flex';
1410
1380
  clearBtn.addEventListener('focusout', () => {
@@ -1427,17 +1397,18 @@ const comboboxKeyboardStrategy = {
1427
1397
  return;
1428
1398
  }
1429
1399
 
1430
- // No active option, no clear button (or already focused) → just close.
1400
+ // Tab from clear button (or no clear button / no value) →
1401
+ // select the highlighted option if any, then close
1402
+ if (component.optionActive) {
1403
+ component.menu.makeSelection();
1404
+ }
1431
1405
  component.hideBib();
1432
1406
  return;
1433
1407
  }
1434
1408
 
1435
1409
  // Non-fullscreen: select + close
1436
- if (component.optionActive) {
1437
- evt.preventDefault();
1438
- component._focusClearBtnAfterClose = true;
1439
- component._clearBtnFocusPending = true;
1440
- component.menu.makeSelection();
1410
+ if (component.menu.optionActive && component.menu.optionActive.value) {
1411
+ component.menu.value = component.menu.optionActive.value;
1441
1412
  }
1442
1413
  component.hideBib();
1443
1414
  },
@@ -4532,6 +4503,17 @@ class AuroDropdownBib extends i$4 {
4532
4503
  */
4533
4504
  hasActiveDescendant: {
4534
4505
  type: Boolean
4506
+ },
4507
+
4508
+ /**
4509
+ * When true, the keyboard bridge allows native Tab behavior
4510
+ * instead of intercepting it. Set this for bib consumers
4511
+ * (e.g. counter) whose content contains real focusable elements
4512
+ * that need native Tab navigation.
4513
+ * @private
4514
+ */
4515
+ nativeFocusableContent: {
4516
+ type: Boolean
4535
4517
  }
4536
4518
  };
4537
4519
  }
@@ -4698,6 +4680,12 @@ class AuroDropdownBib extends i$4 {
4698
4680
  }
4699
4681
  }
4700
4682
 
4683
+ // Allow native Tab when the bib contains focusable content
4684
+ // (e.g. counter buttons) that needs normal Tab navigation.
4685
+ if (event.key === 'Tab' && this.nativeFocusableContent) {
4686
+ return;
4687
+ }
4688
+
4701
4689
  event.preventDefault();
4702
4690
  event.stopPropagation();
4703
4691
  const newEvent = new KeyboardEvent('keydown', {
@@ -5088,7 +5076,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
5088
5076
  }
5089
5077
  };
5090
5078
 
5091
- var formkitVersion$2 = '202603270007';
5079
+ var formkitVersion$2 = '202603270129';
5092
5080
 
5093
5081
  let AuroElement$2 = class AuroElement extends i$4 {
5094
5082
  static get properties() {
@@ -12852,7 +12840,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
12852
12840
  }
12853
12841
  };
12854
12842
 
12855
- var formkitVersion$1 = '202603270007';
12843
+ var formkitVersion$1 = '202603270129';
12856
12844
 
12857
12845
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12858
12846
  // See LICENSE in the project root for license information.
@@ -13891,7 +13879,7 @@ class AuroBibtemplate extends i$4 {
13891
13879
  }
13892
13880
  }
13893
13881
 
13894
- var formkitVersion = '202603270007';
13882
+ var formkitVersion = '202603270129';
13895
13883
 
13896
13884
  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}`;
13897
13885
 
@@ -14901,12 +14889,6 @@ class AuroCombobox extends AuroElement {
14901
14889
  * @returns {void}
14902
14890
  */
14903
14891
  showBib() {
14904
- // Suppress reopening the bib when a Tab selection is in progress —
14905
- // the value change from makeSelection triggers availableOptions update
14906
- // which calls showBib from updated(), but the bib should stay closed.
14907
- if (this._clearBtnFocusPending) {
14908
- return;
14909
- }
14910
14892
  if (!this.input.value && !this.dropdown.isBibFullscreen) {
14911
14893
  this.dropdown.hide();
14912
14894
  return;
@@ -14977,38 +14959,7 @@ class AuroCombobox extends AuroElement {
14977
14959
  // during fullscreen open to prevent touch pass-through.
14978
14960
  this.menu.style.pointerEvents = '';
14979
14961
 
14980
- const shouldFocusClearBtn = this._focusClearBtnAfterClose;
14981
- this._focusClearBtnAfterClose = false;
14982
-
14983
- if (shouldFocusClearBtn) {
14984
- // Set a guard so duplicate toggle events don't call
14985
- // restoreTriggerAfterClose and steal focus from the clear button.
14986
- this._clearBtnFocusPending = true;
14987
-
14988
- restoreTriggerAfterClose(this.dropdown, this.input);
14989
-
14990
- if (this.input.componentHasFocus) {
14991
- // Desktop: input already has focus, redirect to clear button
14992
- // after restoreTriggerAfterClose's rAF settles.
14993
- requestAnimationFrame(() => {
14994
- this.setClearBtnFocus();
14995
- this._clearBtnFocusPending = false;
14996
- });
14997
- } else {
14998
- // Fullscreen: input will receive focus after dialog.close().
14999
- // Listen for that focus event then redirect to clear button.
15000
- const onFocus = () => {
15001
- this.input.removeEventListener('focusin', onFocus);
15002
- requestAnimationFrame(() => {
15003
- this.setClearBtnFocus();
15004
- this._clearBtnFocusPending = false;
15005
- });
15006
- };
15007
- this.input.addEventListener('focusin', onFocus);
15008
- }
15009
- } else if (!this._clearBtnFocusPending) {
15010
- restoreTriggerAfterClose(this.dropdown, this.input);
15011
- }
14962
+ restoreTriggerAfterClose(this.dropdown, this.input);
15012
14963
  }
15013
14964
 
15014
14965
  if (this.dropdownOpen) {
@@ -15099,28 +15050,7 @@ class AuroCombobox extends AuroElement {
15099
15050
  setClearBtnFocus() {
15100
15051
  const clearBtn = this.input.shadowRoot.querySelector('.clearBtn');
15101
15052
  if (clearBtn) {
15102
- // Force the clear button container visible — without :focus-within
15103
- // the CSS rule `.wrapper:not(:focus-within) .notification.clear`
15104
- // hides the container with display:none, preventing focus.
15105
- const clearContainer = clearBtn.closest('.clear');
15106
-
15107
- if (clearContainer) {
15108
- clearContainer.style.display = 'flex';
15109
- clearBtn.addEventListener('focusout', () => {
15110
- requestAnimationFrame(() => {
15111
- clearContainer.style.display = '';
15112
- });
15113
- }, { once: true });
15114
- }
15115
-
15116
- // Focus the native button inside auro-button so the browser
15117
- // treats it as a real focusable element.
15118
- const nativeBtn = clearBtn.shadowRoot && clearBtn.shadowRoot.querySelector('button');
15119
- if (nativeBtn) {
15120
- nativeBtn.focus();
15121
- } else {
15122
- clearBtn.focus();
15123
- }
15053
+ clearBtn.focus();
15124
15054
  }
15125
15055
  }
15126
15056
 
@@ -1223,8 +1223,6 @@ function navigateArrow(component, direction, options = {}) {
1223
1223
  }
1224
1224
  }
1225
1225
 
1226
- /* eslint-disable no-underscore-dangle */
1227
-
1228
1226
  /**
1229
1227
  * Returns the clear button element from the active input's shadow
1230
1228
  * DOM, if available.
@@ -1282,52 +1280,24 @@ const comboboxKeyboardStrategy = {
1282
1280
  }
1283
1281
  },
1284
1282
 
1285
- Tab(component, evt, ctx) {
1283
+ Tab(component, _evt, ctx) {
1286
1284
  if (!ctx.isExpanded) {
1287
1285
  return;
1288
1286
  }
1289
1287
 
1290
- // Shift+Tab moves the highlight to the first non-disabled option
1291
- // without making a selection or closing the bib.
1292
- if (evt.shiftKey) {
1293
- evt.preventDefault();
1294
- const firstActive = component.menu.menuService.menuOptions.find((option) => option.isActive);
1295
- if (firstActive) {
1296
- component.menu.updateActiveOption(firstActive);
1297
- }
1298
- return;
1299
- }
1300
-
1301
1288
  if (ctx.isModal) {
1302
1289
  if (!ctx.activeInput) {
1303
1290
  return;
1304
1291
  }
1305
-
1306
- // Active option → select immediately and close the dialog.
1307
- // Flag the component so the close handler focuses the trigger's
1308
- // clear button instead of the input. Set flags before makeSelection
1309
- // because the value change triggers showBib via Lit's updated().
1310
- if (component.optionActive) {
1311
- evt.preventDefault();
1312
- component._focusClearBtnAfterClose = true;
1313
- component._clearBtnFocusPending = true;
1314
- component.menu.makeSelection();
1315
- component.hideBib();
1316
- return;
1317
- }
1318
-
1319
1292
  const clearBtn = getClearBtn(ctx);
1320
1293
  const clearBtnHasFocus = isClearBtnFocused(ctx, clearBtn);
1321
1294
 
1322
- // No active option, input has a value, clear button not focused
1323
- // move focus to the dialog's clear button.
1295
+ // Tab from input: if clear button exists and doesn't have focus, focus it
1324
1296
  if (clearBtn && !clearBtnHasFocus && ctx.activeInput.value) {
1325
-
1326
1297
  // Force clear button container visible to work around Safari not
1327
1298
  // propagating :focus-within through shadow DOM boundaries, which
1328
1299
  // causes .wrapper:not(:focus-within) to hide .notification.clear.
1329
1300
  const clearContainer = clearBtn.closest('.clear');
1330
-
1331
1301
  if (clearContainer) {
1332
1302
  clearContainer.style.display = 'flex';
1333
1303
  clearBtn.addEventListener('focusout', () => {
@@ -1350,17 +1320,18 @@ const comboboxKeyboardStrategy = {
1350
1320
  return;
1351
1321
  }
1352
1322
 
1353
- // No active option, no clear button (or already focused) → just close.
1323
+ // Tab from clear button (or no clear button / no value) →
1324
+ // select the highlighted option if any, then close
1325
+ if (component.optionActive) {
1326
+ component.menu.makeSelection();
1327
+ }
1354
1328
  component.hideBib();
1355
1329
  return;
1356
1330
  }
1357
1331
 
1358
1332
  // Non-fullscreen: select + close
1359
- if (component.optionActive) {
1360
- evt.preventDefault();
1361
- component._focusClearBtnAfterClose = true;
1362
- component._clearBtnFocusPending = true;
1363
- component.menu.makeSelection();
1333
+ if (component.menu.optionActive && component.menu.optionActive.value) {
1334
+ component.menu.value = component.menu.optionActive.value;
1364
1335
  }
1365
1336
  component.hideBib();
1366
1337
  },
@@ -4455,6 +4426,17 @@ class AuroDropdownBib extends i$4 {
4455
4426
  */
4456
4427
  hasActiveDescendant: {
4457
4428
  type: Boolean
4429
+ },
4430
+
4431
+ /**
4432
+ * When true, the keyboard bridge allows native Tab behavior
4433
+ * instead of intercepting it. Set this for bib consumers
4434
+ * (e.g. counter) whose content contains real focusable elements
4435
+ * that need native Tab navigation.
4436
+ * @private
4437
+ */
4438
+ nativeFocusableContent: {
4439
+ type: Boolean
4458
4440
  }
4459
4441
  };
4460
4442
  }
@@ -4621,6 +4603,12 @@ class AuroDropdownBib extends i$4 {
4621
4603
  }
4622
4604
  }
4623
4605
 
4606
+ // Allow native Tab when the bib contains focusable content
4607
+ // (e.g. counter buttons) that needs normal Tab navigation.
4608
+ if (event.key === 'Tab' && this.nativeFocusableContent) {
4609
+ return;
4610
+ }
4611
+
4624
4612
  event.preventDefault();
4625
4613
  event.stopPropagation();
4626
4614
  const newEvent = new KeyboardEvent('keydown', {
@@ -5011,7 +4999,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$4 {
5011
4999
  }
5012
5000
  };
5013
5001
 
5014
- var formkitVersion$2 = '202603270007';
5002
+ var formkitVersion$2 = '202603270129';
5015
5003
 
5016
5004
  let AuroElement$2 = class AuroElement extends i$4 {
5017
5005
  static get properties() {
@@ -12775,7 +12763,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$4 {
12775
12763
  }
12776
12764
  };
12777
12765
 
12778
- var formkitVersion$1 = '202603270007';
12766
+ var formkitVersion$1 = '202603270129';
12779
12767
 
12780
12768
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12781
12769
  // See LICENSE in the project root for license information.
@@ -13814,7 +13802,7 @@ class AuroBibtemplate extends i$4 {
13814
13802
  }
13815
13803
  }
13816
13804
 
13817
- var formkitVersion = '202603270007';
13805
+ var formkitVersion = '202603270129';
13818
13806
 
13819
13807
  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}`;
13820
13808
 
@@ -14824,12 +14812,6 @@ class AuroCombobox extends AuroElement {
14824
14812
  * @returns {void}
14825
14813
  */
14826
14814
  showBib() {
14827
- // Suppress reopening the bib when a Tab selection is in progress —
14828
- // the value change from makeSelection triggers availableOptions update
14829
- // which calls showBib from updated(), but the bib should stay closed.
14830
- if (this._clearBtnFocusPending) {
14831
- return;
14832
- }
14833
14815
  if (!this.input.value && !this.dropdown.isBibFullscreen) {
14834
14816
  this.dropdown.hide();
14835
14817
  return;
@@ -14900,38 +14882,7 @@ class AuroCombobox extends AuroElement {
14900
14882
  // during fullscreen open to prevent touch pass-through.
14901
14883
  this.menu.style.pointerEvents = '';
14902
14884
 
14903
- const shouldFocusClearBtn = this._focusClearBtnAfterClose;
14904
- this._focusClearBtnAfterClose = false;
14905
-
14906
- if (shouldFocusClearBtn) {
14907
- // Set a guard so duplicate toggle events don't call
14908
- // restoreTriggerAfterClose and steal focus from the clear button.
14909
- this._clearBtnFocusPending = true;
14910
-
14911
- restoreTriggerAfterClose(this.dropdown, this.input);
14912
-
14913
- if (this.input.componentHasFocus) {
14914
- // Desktop: input already has focus, redirect to clear button
14915
- // after restoreTriggerAfterClose's rAF settles.
14916
- requestAnimationFrame(() => {
14917
- this.setClearBtnFocus();
14918
- this._clearBtnFocusPending = false;
14919
- });
14920
- } else {
14921
- // Fullscreen: input will receive focus after dialog.close().
14922
- // Listen for that focus event then redirect to clear button.
14923
- const onFocus = () => {
14924
- this.input.removeEventListener('focusin', onFocus);
14925
- requestAnimationFrame(() => {
14926
- this.setClearBtnFocus();
14927
- this._clearBtnFocusPending = false;
14928
- });
14929
- };
14930
- this.input.addEventListener('focusin', onFocus);
14931
- }
14932
- } else if (!this._clearBtnFocusPending) {
14933
- restoreTriggerAfterClose(this.dropdown, this.input);
14934
- }
14885
+ restoreTriggerAfterClose(this.dropdown, this.input);
14935
14886
  }
14936
14887
 
14937
14888
  if (this.dropdownOpen) {
@@ -15022,28 +14973,7 @@ class AuroCombobox extends AuroElement {
15022
14973
  setClearBtnFocus() {
15023
14974
  const clearBtn = this.input.shadowRoot.querySelector('.clearBtn');
15024
14975
  if (clearBtn) {
15025
- // Force the clear button container visible — without :focus-within
15026
- // the CSS rule `.wrapper:not(:focus-within) .notification.clear`
15027
- // hides the container with display:none, preventing focus.
15028
- const clearContainer = clearBtn.closest('.clear');
15029
-
15030
- if (clearContainer) {
15031
- clearContainer.style.display = 'flex';
15032
- clearBtn.addEventListener('focusout', () => {
15033
- requestAnimationFrame(() => {
15034
- clearContainer.style.display = '';
15035
- });
15036
- }, { once: true });
15037
- }
15038
-
15039
- // Focus the native button inside auro-button so the browser
15040
- // treats it as a real focusable element.
15041
- const nativeBtn = clearBtn.shadowRoot && clearBtn.shadowRoot.querySelector('button');
15042
- if (nativeBtn) {
15043
- nativeBtn.focus();
15044
- } else {
15045
- clearBtn.focus();
15046
- }
14976
+ clearBtn.focus();
15047
14977
  }
15048
14978
  }
15049
14979
 
@@ -428,8 +428,6 @@ export class AuroCombobox extends AuroElement {
428
428
  * @returns {void}
429
429
  */
430
430
  private configureDropdown;
431
- _focusClearBtnAfterClose: boolean;
432
- _clearBtnFocusPending: boolean;
433
431
  bibtemplate: any;
434
432
  inputInBib: any;
435
433
  /**
@@ -1,6 +1,6 @@
1
1
  export namespace comboboxKeyboardStrategy {
2
2
  function Enter(component: any, evt: any, ctx: any): Promise<void>;
3
- function Tab(component: any, evt: any, ctx: any): void;
3
+ function Tab(component: any, _evt: any, ctx: any): void;
4
4
  function ArrowUp(component: any, evt: any, ctx: any): void;
5
5
  function ArrowDown(component: any, evt: any, ctx: any): void;
6
6
  }