@aurodesignsystem-dev/auro-formkit 0.0.0-pr1346.2 → 0.0.0-pr1346.4

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 (40) 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 +252 -65
  6. package/components/combobox/demo/index.min.js +252 -65
  7. package/components/combobox/dist/auro-combobox.d.ts +2 -1
  8. package/components/combobox/dist/index.js +245 -62
  9. package/components/combobox/dist/registered.js +245 -62
  10. package/components/counter/demo/api.min.js +124 -12
  11. package/components/counter/demo/index.min.js +124 -12
  12. package/components/counter/dist/index.js +124 -12
  13. package/components/counter/dist/registered.js +124 -12
  14. package/components/datepicker/demo/api.min.js +161 -40
  15. package/components/datepicker/demo/index.min.js +161 -40
  16. package/components/datepicker/dist/index.js +161 -40
  17. package/components/datepicker/dist/registered.js +161 -40
  18. package/components/dropdown/demo/api.min.js +122 -10
  19. package/components/dropdown/demo/index.min.js +122 -10
  20. package/components/dropdown/dist/auro-dropdownBib.d.ts +18 -2
  21. package/components/dropdown/dist/index.js +122 -10
  22. package/components/dropdown/dist/registered.js +122 -10
  23. package/components/input/demo/api.min.js +38 -29
  24. package/components/input/demo/index.min.js +38 -29
  25. package/components/input/dist/index.js +38 -29
  26. package/components/input/dist/registered.js +38 -29
  27. package/components/menu/demo/api.min.js +7 -3
  28. package/components/menu/demo/index.min.js +7 -3
  29. package/components/menu/dist/index.js +7 -3
  30. package/components/menu/dist/registered.js +7 -3
  31. package/components/radio/demo/api.min.js +1 -1
  32. package/components/radio/demo/index.min.js +1 -1
  33. package/components/radio/dist/index.js +1 -1
  34. package/components/radio/dist/registered.js +1 -1
  35. package/components/select/demo/api.min.js +159 -17
  36. package/components/select/demo/index.min.js +159 -17
  37. package/components/select/dist/index.js +152 -14
  38. package/components/select/dist/registered.js +152 -14
  39. package/custom-elements.json +35 -10
  40. package/package.json +1 -1
@@ -5197,6 +5197,15 @@ class BaseInput extends AuroElement {
5197
5197
  constructor() {
5198
5198
  super();
5199
5199
 
5200
+ // Delegate focus to the native <input> inside the shadow root so that
5201
+ // showModal()'s dialog focusing steps reach the input element.
5202
+ // This keeps the mobile virtual keyboard open when the fullscreen dialog
5203
+ // opens, because the browser sees an input-to-input focus transfer.
5204
+ this.constructor.shadowRootOptions = {
5205
+ ...AuroElement.shadowRootOptions,
5206
+ delegatesFocus: true,
5207
+ };
5208
+
5200
5209
  this._initializeDefaults();
5201
5210
  }
5202
5211
 
@@ -5318,14 +5327,6 @@ class BaseInput extends AuroElement {
5318
5327
  reflect: true
5319
5328
  },
5320
5329
 
5321
- /**
5322
- * The value for the aria-controls attribute.
5323
- */
5324
- a11yControls: {
5325
- type: String,
5326
- reflect: true
5327
- },
5328
-
5329
5330
  /**
5330
5331
  * The value for the aria-activedescendant attribute.
5331
5332
  * Points to the ID of the currently active/highlighted option in a listbox.
@@ -6018,31 +6019,34 @@ class BaseInput extends AuroElement {
6018
6019
  // Process credit card type detection and formatting during input
6019
6020
  if (this.type === 'credit-card') {
6020
6021
  this.processCreditCard();
6021
- }
6022
+ this.touched = true;
6023
+ this.validation.validate(this);
6024
+ } else {
6022
6025
 
6023
- // Sets value property to value of element value (el.value).
6024
- this.value = this.inputElement.value;
6026
+ // Sets value property to value of element value (el.value).
6027
+ this.value = this.inputElement.value;
6025
6028
 
6026
- // Determine if the value change was programmatic, including autofill.
6027
- const inputWasProgrammatic = !this.matches(":focus") || event.isProgrammatic;
6029
+ // Determine if the value change was programmatic, including autofill.
6030
+ const inputWasProgrammatic = !this.matches(":focus") || event.isProgrammatic;
6028
6031
 
6029
- // Validation on input or programmatic value change (including autofill).
6030
- if (this.validateOnInput || inputWasProgrammatic) {
6031
- this.touched = true;
6032
- this.validation.validate(this);
6033
- }
6032
+ // Validation on input or programmatic value change (including autofill).
6033
+ if (this.validateOnInput || inputWasProgrammatic) {
6034
+ this.touched = true;
6035
+ this.validation.validate(this);
6036
+ }
6034
6037
 
6035
- // Prevents cursor jumping in Safari.
6036
- const { selectionStart } = this.inputElement;
6038
+ // Prevents cursor jumping in Safari.
6039
+ const { selectionStart } = this.inputElement;
6037
6040
 
6038
- if (this.setSelectionInputTypes.includes(this.type)) {
6039
- this.updateComplete.then(() => {
6040
- try {
6041
- this.inputElement.setSelectionRange(selectionStart, selectionStart);
6042
- } catch (error) { // eslint-disable-line
6043
- // do nothing
6044
- }
6045
- });
6041
+ if (this.setSelectionInputTypes.includes(this.type)) {
6042
+ this.updateComplete.then(() => {
6043
+ try {
6044
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
6045
+ } catch (error) { // eslint-disable-line
6046
+ // do nothing
6047
+ }
6048
+ });
6049
+ }
6046
6050
  }
6047
6051
  }
6048
6052
 
@@ -6075,6 +6079,11 @@ class BaseInput extends AuroElement {
6075
6079
  this.inputElement.scrollLeft = 100;
6076
6080
 
6077
6081
  if (!this.noValidate) {
6082
+ // For credit card inputs with mask, ensure value is synced from mask instance
6083
+ if (this.type === 'credit-card' && this.maskInstance) {
6084
+ this.value = this.maskInstance.value;
6085
+ }
6086
+
6078
6087
  this.validation.validate(this);
6079
6088
  }
6080
6089
  }
@@ -6737,7 +6746,7 @@ class AuroHelpText extends i$3 {
6737
6746
  }
6738
6747
  }
6739
6748
 
6740
- var formkitVersion = '202602201708';
6749
+ var formkitVersion = '202602260152';
6741
6750
 
6742
6751
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6743
6752
  // See LICENSE in the project root for license information.
@@ -5122,6 +5122,15 @@ class BaseInput extends AuroElement {
5122
5122
  constructor() {
5123
5123
  super();
5124
5124
 
5125
+ // Delegate focus to the native <input> inside the shadow root so that
5126
+ // showModal()'s dialog focusing steps reach the input element.
5127
+ // This keeps the mobile virtual keyboard open when the fullscreen dialog
5128
+ // opens, because the browser sees an input-to-input focus transfer.
5129
+ this.constructor.shadowRootOptions = {
5130
+ ...AuroElement.shadowRootOptions,
5131
+ delegatesFocus: true,
5132
+ };
5133
+
5125
5134
  this._initializeDefaults();
5126
5135
  }
5127
5136
 
@@ -5243,14 +5252,6 @@ class BaseInput extends AuroElement {
5243
5252
  reflect: true
5244
5253
  },
5245
5254
 
5246
- /**
5247
- * The value for the aria-controls attribute.
5248
- */
5249
- a11yControls: {
5250
- type: String,
5251
- reflect: true
5252
- },
5253
-
5254
5255
  /**
5255
5256
  * The value for the aria-activedescendant attribute.
5256
5257
  * Points to the ID of the currently active/highlighted option in a listbox.
@@ -5943,31 +5944,34 @@ class BaseInput extends AuroElement {
5943
5944
  // Process credit card type detection and formatting during input
5944
5945
  if (this.type === 'credit-card') {
5945
5946
  this.processCreditCard();
5946
- }
5947
+ this.touched = true;
5948
+ this.validation.validate(this);
5949
+ } else {
5947
5950
 
5948
- // Sets value property to value of element value (el.value).
5949
- this.value = this.inputElement.value;
5951
+ // Sets value property to value of element value (el.value).
5952
+ this.value = this.inputElement.value;
5950
5953
 
5951
- // Determine if the value change was programmatic, including autofill.
5952
- const inputWasProgrammatic = !this.matches(":focus") || event.isProgrammatic;
5954
+ // Determine if the value change was programmatic, including autofill.
5955
+ const inputWasProgrammatic = !this.matches(":focus") || event.isProgrammatic;
5953
5956
 
5954
- // Validation on input or programmatic value change (including autofill).
5955
- if (this.validateOnInput || inputWasProgrammatic) {
5956
- this.touched = true;
5957
- this.validation.validate(this);
5958
- }
5957
+ // Validation on input or programmatic value change (including autofill).
5958
+ if (this.validateOnInput || inputWasProgrammatic) {
5959
+ this.touched = true;
5960
+ this.validation.validate(this);
5961
+ }
5959
5962
 
5960
- // Prevents cursor jumping in Safari.
5961
- const { selectionStart } = this.inputElement;
5963
+ // Prevents cursor jumping in Safari.
5964
+ const { selectionStart } = this.inputElement;
5962
5965
 
5963
- if (this.setSelectionInputTypes.includes(this.type)) {
5964
- this.updateComplete.then(() => {
5965
- try {
5966
- this.inputElement.setSelectionRange(selectionStart, selectionStart);
5967
- } catch (error) { // eslint-disable-line
5968
- // do nothing
5969
- }
5970
- });
5966
+ if (this.setSelectionInputTypes.includes(this.type)) {
5967
+ this.updateComplete.then(() => {
5968
+ try {
5969
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
5970
+ } catch (error) { // eslint-disable-line
5971
+ // do nothing
5972
+ }
5973
+ });
5974
+ }
5971
5975
  }
5972
5976
  }
5973
5977
 
@@ -6000,6 +6004,11 @@ class BaseInput extends AuroElement {
6000
6004
  this.inputElement.scrollLeft = 100;
6001
6005
 
6002
6006
  if (!this.noValidate) {
6007
+ // For credit card inputs with mask, ensure value is synced from mask instance
6008
+ if (this.type === 'credit-card' && this.maskInstance) {
6009
+ this.value = this.maskInstance.value;
6010
+ }
6011
+
6003
6012
  this.validation.validate(this);
6004
6013
  }
6005
6014
  }
@@ -6662,7 +6671,7 @@ class AuroHelpText extends i$3 {
6662
6671
  }
6663
6672
  }
6664
6673
 
6665
- var formkitVersion = '202602201708';
6674
+ var formkitVersion = '202602260152';
6666
6675
 
6667
6676
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6668
6677
  // See LICENSE in the project root for license information.
@@ -5063,6 +5063,15 @@ class BaseInput extends AuroElement {
5063
5063
  constructor() {
5064
5064
  super();
5065
5065
 
5066
+ // Delegate focus to the native <input> inside the shadow root so that
5067
+ // showModal()'s dialog focusing steps reach the input element.
5068
+ // This keeps the mobile virtual keyboard open when the fullscreen dialog
5069
+ // opens, because the browser sees an input-to-input focus transfer.
5070
+ this.constructor.shadowRootOptions = {
5071
+ ...AuroElement.shadowRootOptions,
5072
+ delegatesFocus: true,
5073
+ };
5074
+
5066
5075
  this._initializeDefaults();
5067
5076
  }
5068
5077
 
@@ -5184,14 +5193,6 @@ class BaseInput extends AuroElement {
5184
5193
  reflect: true
5185
5194
  },
5186
5195
 
5187
- /**
5188
- * The value for the aria-controls attribute.
5189
- */
5190
- a11yControls: {
5191
- type: String,
5192
- reflect: true
5193
- },
5194
-
5195
5196
  /**
5196
5197
  * The value for the aria-activedescendant attribute.
5197
5198
  * Points to the ID of the currently active/highlighted option in a listbox.
@@ -5884,31 +5885,34 @@ class BaseInput extends AuroElement {
5884
5885
  // Process credit card type detection and formatting during input
5885
5886
  if (this.type === 'credit-card') {
5886
5887
  this.processCreditCard();
5887
- }
5888
+ this.touched = true;
5889
+ this.validation.validate(this);
5890
+ } else {
5888
5891
 
5889
- // Sets value property to value of element value (el.value).
5890
- this.value = this.inputElement.value;
5892
+ // Sets value property to value of element value (el.value).
5893
+ this.value = this.inputElement.value;
5891
5894
 
5892
- // Determine if the value change was programmatic, including autofill.
5893
- const inputWasProgrammatic = !this.matches(":focus") || event.isProgrammatic;
5895
+ // Determine if the value change was programmatic, including autofill.
5896
+ const inputWasProgrammatic = !this.matches(":focus") || event.isProgrammatic;
5894
5897
 
5895
- // Validation on input or programmatic value change (including autofill).
5896
- if (this.validateOnInput || inputWasProgrammatic) {
5897
- this.touched = true;
5898
- this.validation.validate(this);
5899
- }
5898
+ // Validation on input or programmatic value change (including autofill).
5899
+ if (this.validateOnInput || inputWasProgrammatic) {
5900
+ this.touched = true;
5901
+ this.validation.validate(this);
5902
+ }
5900
5903
 
5901
- // Prevents cursor jumping in Safari.
5902
- const { selectionStart } = this.inputElement;
5904
+ // Prevents cursor jumping in Safari.
5905
+ const { selectionStart } = this.inputElement;
5903
5906
 
5904
- if (this.setSelectionInputTypes.includes(this.type)) {
5905
- this.updateComplete.then(() => {
5906
- try {
5907
- this.inputElement.setSelectionRange(selectionStart, selectionStart);
5908
- } catch (error) { // eslint-disable-line
5909
- // do nothing
5910
- }
5911
- });
5907
+ if (this.setSelectionInputTypes.includes(this.type)) {
5908
+ this.updateComplete.then(() => {
5909
+ try {
5910
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
5911
+ } catch (error) { // eslint-disable-line
5912
+ // do nothing
5913
+ }
5914
+ });
5915
+ }
5912
5916
  }
5913
5917
  }
5914
5918
 
@@ -5941,6 +5945,11 @@ class BaseInput extends AuroElement {
5941
5945
  this.inputElement.scrollLeft = 100;
5942
5946
 
5943
5947
  if (!this.noValidate) {
5948
+ // For credit card inputs with mask, ensure value is synced from mask instance
5949
+ if (this.type === 'credit-card' && this.maskInstance) {
5950
+ this.value = this.maskInstance.value;
5951
+ }
5952
+
5944
5953
  this.validation.validate(this);
5945
5954
  }
5946
5955
  }
@@ -6603,7 +6612,7 @@ class AuroHelpText extends LitElement {
6603
6612
  }
6604
6613
  }
6605
6614
 
6606
- var formkitVersion = '202602201708';
6615
+ var formkitVersion = '202602260152';
6607
6616
 
6608
6617
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6609
6618
  // See LICENSE in the project root for license information.
@@ -5063,6 +5063,15 @@ class BaseInput extends AuroElement {
5063
5063
  constructor() {
5064
5064
  super();
5065
5065
 
5066
+ // Delegate focus to the native <input> inside the shadow root so that
5067
+ // showModal()'s dialog focusing steps reach the input element.
5068
+ // This keeps the mobile virtual keyboard open when the fullscreen dialog
5069
+ // opens, because the browser sees an input-to-input focus transfer.
5070
+ this.constructor.shadowRootOptions = {
5071
+ ...AuroElement.shadowRootOptions,
5072
+ delegatesFocus: true,
5073
+ };
5074
+
5066
5075
  this._initializeDefaults();
5067
5076
  }
5068
5077
 
@@ -5184,14 +5193,6 @@ class BaseInput extends AuroElement {
5184
5193
  reflect: true
5185
5194
  },
5186
5195
 
5187
- /**
5188
- * The value for the aria-controls attribute.
5189
- */
5190
- a11yControls: {
5191
- type: String,
5192
- reflect: true
5193
- },
5194
-
5195
5196
  /**
5196
5197
  * The value for the aria-activedescendant attribute.
5197
5198
  * Points to the ID of the currently active/highlighted option in a listbox.
@@ -5884,31 +5885,34 @@ class BaseInput extends AuroElement {
5884
5885
  // Process credit card type detection and formatting during input
5885
5886
  if (this.type === 'credit-card') {
5886
5887
  this.processCreditCard();
5887
- }
5888
+ this.touched = true;
5889
+ this.validation.validate(this);
5890
+ } else {
5888
5891
 
5889
- // Sets value property to value of element value (el.value).
5890
- this.value = this.inputElement.value;
5892
+ // Sets value property to value of element value (el.value).
5893
+ this.value = this.inputElement.value;
5891
5894
 
5892
- // Determine if the value change was programmatic, including autofill.
5893
- const inputWasProgrammatic = !this.matches(":focus") || event.isProgrammatic;
5895
+ // Determine if the value change was programmatic, including autofill.
5896
+ const inputWasProgrammatic = !this.matches(":focus") || event.isProgrammatic;
5894
5897
 
5895
- // Validation on input or programmatic value change (including autofill).
5896
- if (this.validateOnInput || inputWasProgrammatic) {
5897
- this.touched = true;
5898
- this.validation.validate(this);
5899
- }
5898
+ // Validation on input or programmatic value change (including autofill).
5899
+ if (this.validateOnInput || inputWasProgrammatic) {
5900
+ this.touched = true;
5901
+ this.validation.validate(this);
5902
+ }
5900
5903
 
5901
- // Prevents cursor jumping in Safari.
5902
- const { selectionStart } = this.inputElement;
5904
+ // Prevents cursor jumping in Safari.
5905
+ const { selectionStart } = this.inputElement;
5903
5906
 
5904
- if (this.setSelectionInputTypes.includes(this.type)) {
5905
- this.updateComplete.then(() => {
5906
- try {
5907
- this.inputElement.setSelectionRange(selectionStart, selectionStart);
5908
- } catch (error) { // eslint-disable-line
5909
- // do nothing
5910
- }
5911
- });
5907
+ if (this.setSelectionInputTypes.includes(this.type)) {
5908
+ this.updateComplete.then(() => {
5909
+ try {
5910
+ this.inputElement.setSelectionRange(selectionStart, selectionStart);
5911
+ } catch (error) { // eslint-disable-line
5912
+ // do nothing
5913
+ }
5914
+ });
5915
+ }
5912
5916
  }
5913
5917
  }
5914
5918
 
@@ -5941,6 +5945,11 @@ class BaseInput extends AuroElement {
5941
5945
  this.inputElement.scrollLeft = 100;
5942
5946
 
5943
5947
  if (!this.noValidate) {
5948
+ // For credit card inputs with mask, ensure value is synced from mask instance
5949
+ if (this.type === 'credit-card' && this.maskInstance) {
5950
+ this.value = this.maskInstance.value;
5951
+ }
5952
+
5944
5953
  this.validation.validate(this);
5945
5954
  }
5946
5955
  }
@@ -6603,7 +6612,7 @@ class AuroHelpText extends LitElement {
6603
6612
  }
6604
6613
  }
6605
6614
 
6606
- var formkitVersion = '202602201708';
6615
+ var formkitVersion = '202602260152';
6607
6616
 
6608
6617
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6609
6618
  // See LICENSE in the project root for license information.
@@ -660,7 +660,11 @@ class AuroMenuOption extends AuroElement {
660
660
 
661
661
  // Generate unique ID if not already set (required for aria-activedescendant)
662
662
  if (!this.id) {
663
- this.id = `menuoption-${Math.random().toString(36).slice(2, 8)}`;
663
+ const idBase = 36;
664
+ const sliceStart = 2;
665
+ const sliceEnd = 8;
666
+ this.id = `menuoption-${Math.random().toString(idBase).
667
+ slice(sliceStart, sliceEnd)}`;
664
668
  }
665
669
 
666
670
  this.setAttribute('role', 'option');
@@ -1567,7 +1571,7 @@ class MenuService {
1567
1571
 
1568
1572
  const MenuContext = n$1('menu-context');
1569
1573
 
1570
- /* eslint-disable no-underscore-dangle, curly */
1574
+ /* eslint-disable no-underscore-dangle */
1571
1575
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1572
1576
  // See LICENSE in the project root for license information.
1573
1577
 
@@ -1588,7 +1592,7 @@ const MenuContext = n$1('menu-context');
1588
1592
  * @slot - Slot for insertion of menu options.
1589
1593
  */
1590
1594
 
1591
- /* eslint-disable no-magic-numbers, max-lines, no-extra-parens */
1595
+ /* eslint-disable max-lines */
1592
1596
 
1593
1597
  class AuroMenu extends AuroElement {
1594
1598
 
@@ -568,7 +568,11 @@ class AuroMenuOption extends AuroElement {
568
568
 
569
569
  // Generate unique ID if not already set (required for aria-activedescendant)
570
570
  if (!this.id) {
571
- this.id = `menuoption-${Math.random().toString(36).slice(2, 8)}`;
571
+ const idBase = 36;
572
+ const sliceStart = 2;
573
+ const sliceEnd = 8;
574
+ this.id = `menuoption-${Math.random().toString(idBase).
575
+ slice(sliceStart, sliceEnd)}`;
572
576
  }
573
577
 
574
578
  this.setAttribute('role', 'option');
@@ -1475,7 +1479,7 @@ class MenuService {
1475
1479
 
1476
1480
  const MenuContext = n$1('menu-context');
1477
1481
 
1478
- /* eslint-disable no-underscore-dangle, curly */
1482
+ /* eslint-disable no-underscore-dangle */
1479
1483
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1480
1484
  // See LICENSE in the project root for license information.
1481
1485
 
@@ -1496,7 +1500,7 @@ const MenuContext = n$1('menu-context');
1496
1500
  * @slot - Slot for insertion of menu options.
1497
1501
  */
1498
1502
 
1499
- /* eslint-disable no-magic-numbers, max-lines, no-extra-parens */
1503
+ /* eslint-disable max-lines */
1500
1504
 
1501
1505
  class AuroMenu extends AuroElement {
1502
1506
 
@@ -542,7 +542,11 @@ class AuroMenuOption extends AuroElement {
542
542
 
543
543
  // Generate unique ID if not already set (required for aria-activedescendant)
544
544
  if (!this.id) {
545
- this.id = `menuoption-${Math.random().toString(36).slice(2, 8)}`;
545
+ const idBase = 36;
546
+ const sliceStart = 2;
547
+ const sliceEnd = 8;
548
+ this.id = `menuoption-${Math.random().toString(idBase).
549
+ slice(sliceStart, sliceEnd)}`;
546
550
  }
547
551
 
548
552
  this.setAttribute('role', 'option');
@@ -1449,7 +1453,7 @@ class MenuService {
1449
1453
 
1450
1454
  const MenuContext = createContext('menu-context');
1451
1455
 
1452
- /* eslint-disable no-underscore-dangle, curly */
1456
+ /* eslint-disable no-underscore-dangle */
1453
1457
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1454
1458
  // See LICENSE in the project root for license information.
1455
1459
 
@@ -1470,7 +1474,7 @@ const MenuContext = createContext('menu-context');
1470
1474
  * @slot - Slot for insertion of menu options.
1471
1475
  */
1472
1476
 
1473
- /* eslint-disable no-magic-numbers, max-lines, no-extra-parens */
1477
+ /* eslint-disable max-lines */
1474
1478
 
1475
1479
  class AuroMenu extends AuroElement {
1476
1480
 
@@ -489,7 +489,11 @@ class AuroMenuOption extends AuroElement {
489
489
 
490
490
  // Generate unique ID if not already set (required for aria-activedescendant)
491
491
  if (!this.id) {
492
- this.id = `menuoption-${Math.random().toString(36).slice(2, 8)}`;
492
+ const idBase = 36;
493
+ const sliceStart = 2;
494
+ const sliceEnd = 8;
495
+ this.id = `menuoption-${Math.random().toString(idBase).
496
+ slice(sliceStart, sliceEnd)}`;
493
497
  }
494
498
 
495
499
  this.setAttribute('role', 'option');
@@ -1396,7 +1400,7 @@ class MenuService {
1396
1400
 
1397
1401
  const MenuContext = createContext('menu-context');
1398
1402
 
1399
- /* eslint-disable no-underscore-dangle, curly */
1403
+ /* eslint-disable no-underscore-dangle */
1400
1404
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1401
1405
  // See LICENSE in the project root for license information.
1402
1406
 
@@ -1417,7 +1421,7 @@ const MenuContext = createContext('menu-context');
1417
1421
  * @slot - Slot for insertion of menu options.
1418
1422
  */
1419
1423
 
1420
- /* eslint-disable no-magic-numbers, max-lines, no-extra-parens */
1424
+ /* eslint-disable max-lines */
1421
1425
 
1422
1426
  class AuroMenu extends AuroElement {
1423
1427
 
@@ -1645,7 +1645,7 @@ class AuroHelpText extends i$2 {
1645
1645
  }
1646
1646
  }
1647
1647
 
1648
- var formkitVersion = '202602201708';
1648
+ var formkitVersion = '202602260152';
1649
1649
 
1650
1650
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1651
1651
  // See LICENSE in the project root for license information.
@@ -1620,7 +1620,7 @@ class AuroHelpText extends i$2 {
1620
1620
  }
1621
1621
  }
1622
1622
 
1623
- var formkitVersion = '202602201708';
1623
+ var formkitVersion = '202602260152';
1624
1624
 
1625
1625
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1626
1626
  // See LICENSE in the project root for license information.
@@ -1573,7 +1573,7 @@ class AuroHelpText extends LitElement {
1573
1573
  }
1574
1574
  }
1575
1575
 
1576
- var formkitVersion = '202602201708';
1576
+ var formkitVersion = '202602260152';
1577
1577
 
1578
1578
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1579
1579
  // See LICENSE in the project root for license information.
@@ -1573,7 +1573,7 @@ class AuroHelpText extends LitElement {
1573
1573
  }
1574
1574
  }
1575
1575
 
1576
- var formkitVersion = '202602201708';
1576
+ var formkitVersion = '202602260152';
1577
1577
 
1578
1578
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1579
1579
  // See LICENSE in the project root for license information.