@aurodesignsystem-dev/auro-formkit 0.0.0-pr1530.2 → 0.0.0-pr1531.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 (53) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +15 -6
  7. package/components/combobox/demo/getting-started.min.js +15 -6
  8. package/components/combobox/demo/index.min.js +15 -6
  9. package/components/combobox/dist/index.js +15 -6
  10. package/components/combobox/dist/registered.js +15 -6
  11. package/components/counter/demo/customize.min.js +2 -2
  12. package/components/counter/demo/index.min.js +2 -2
  13. package/components/counter/dist/index.js +2 -2
  14. package/components/counter/dist/registered.js +2 -2
  15. package/components/datepicker/demo/accessibility.md +8 -17
  16. package/components/datepicker/demo/api.md +1 -1
  17. package/components/datepicker/demo/customize.min.js +41 -178
  18. package/components/datepicker/demo/index.min.js +41 -178
  19. package/components/datepicker/demo/keyboard-behavior.md +3 -3
  20. package/components/datepicker/demo/voiceover.md +4 -4
  21. package/components/datepicker/demo/why-datepicker.md +2 -2
  22. package/components/datepicker/dist/auro-calendar-cell.d.ts +0 -11
  23. package/components/datepicker/dist/auro-calendar.d.ts +2 -26
  24. package/components/datepicker/dist/auro-datepicker.d.ts +1 -9
  25. package/components/datepicker/dist/index.js +41 -178
  26. package/components/datepicker/dist/registered.js +41 -178
  27. package/components/dropdown/demo/customize.min.js +1 -1
  28. package/components/dropdown/demo/getting-started.min.js +1 -1
  29. package/components/dropdown/demo/index.min.js +1 -1
  30. package/components/dropdown/dist/index.js +1 -1
  31. package/components/dropdown/dist/registered.js +1 -1
  32. package/components/form/demo/customize.min.js +89 -254
  33. package/components/form/demo/getting-started.min.js +89 -254
  34. package/components/form/demo/index.min.js +89 -254
  35. package/components/form/demo/registerDemoDeps.min.js +89 -254
  36. package/components/input/demo/customize.min.js +13 -4
  37. package/components/input/demo/getting-started.min.js +13 -4
  38. package/components/input/demo/index.min.js +13 -4
  39. package/components/input/dist/index.js +13 -4
  40. package/components/input/dist/registered.js +13 -4
  41. package/components/radio/demo/customize.min.js +1 -1
  42. package/components/radio/demo/getting-started.min.js +1 -1
  43. package/components/radio/demo/index.min.js +1 -1
  44. package/components/radio/dist/index.js +1 -1
  45. package/components/radio/dist/registered.js +1 -1
  46. package/components/select/demo/customize.min.js +16 -62
  47. package/components/select/demo/getting-started.min.js +16 -62
  48. package/components/select/demo/index.min.js +16 -62
  49. package/components/select/dist/auro-select.d.ts +0 -6
  50. package/components/select/dist/index.js +16 -62
  51. package/components/select/dist/registered.js +16 -62
  52. package/custom-elements.json +1480 -1510
  53. package/package.json +1 -1
@@ -11174,8 +11174,8 @@ class BaseInput extends AuroElement {
11174
11174
  */
11175
11175
  set format(value) {
11176
11176
  const oldValue = this._format;
11177
- this._format = value ? value.toLowerCase() : value;
11178
- this._userSetFormat = Boolean(value);
11177
+ this._format = value;
11178
+ this._userSetFormat = true;
11179
11179
  this.requestUpdate('format', oldValue);
11180
11180
  }
11181
11181
 
@@ -11187,7 +11187,7 @@ class BaseInput extends AuroElement {
11187
11187
  */
11188
11188
  _setFormatFromLocale(value) {
11189
11189
  const oldValue = this._format;
11190
- this._format = value ? value.toLowerCase() : value;
11190
+ this._format = value;
11191
11191
  this.requestUpdate('format', oldValue);
11192
11192
  }
11193
11193
 
@@ -11238,6 +11238,15 @@ class BaseInput extends AuroElement {
11238
11238
 
11239
11239
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11240
11240
 
11241
+ // Normalize the format token to lowercase so case-mixed values supplied
11242
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
11243
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
11244
+ // format silently misses the map and leaves `setCustomValidityForType`
11245
+ // unset.
11246
+ if (this.format) {
11247
+ this._setFormatFromLocale(this.format.toLowerCase());
11248
+ }
11249
+
11241
11250
  // use validity message override if declared when initializing the component
11242
11251
  if (this.hasAttribute('setCustomValidity')) {
11243
11252
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -12264,7 +12273,7 @@ class AuroHelpText extends i$3 {
12264
12273
  }
12265
12274
  }
12266
12275
 
12267
- var formkitVersion = '202607022225';
12276
+ var formkitVersion = '202607022131';
12268
12277
 
12269
12278
  /**
12270
12279
  * @license
@@ -11174,8 +11174,8 @@ class BaseInput extends AuroElement {
11174
11174
  */
11175
11175
  set format(value) {
11176
11176
  const oldValue = this._format;
11177
- this._format = value ? value.toLowerCase() : value;
11178
- this._userSetFormat = Boolean(value);
11177
+ this._format = value;
11178
+ this._userSetFormat = true;
11179
11179
  this.requestUpdate('format', oldValue);
11180
11180
  }
11181
11181
 
@@ -11187,7 +11187,7 @@ class BaseInput extends AuroElement {
11187
11187
  */
11188
11188
  _setFormatFromLocale(value) {
11189
11189
  const oldValue = this._format;
11190
- this._format = value ? value.toLowerCase() : value;
11190
+ this._format = value;
11191
11191
  this.requestUpdate('format', oldValue);
11192
11192
  }
11193
11193
 
@@ -11238,6 +11238,15 @@ class BaseInput extends AuroElement {
11238
11238
 
11239
11239
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11240
11240
 
11241
+ // Normalize the format token to lowercase so case-mixed values supplied
11242
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
11243
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
11244
+ // format silently misses the map and leaves `setCustomValidityForType`
11245
+ // unset.
11246
+ if (this.format) {
11247
+ this._setFormatFromLocale(this.format.toLowerCase());
11248
+ }
11249
+
11241
11250
  // use validity message override if declared when initializing the component
11242
11251
  if (this.hasAttribute('setCustomValidity')) {
11243
11252
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -12264,7 +12273,7 @@ class AuroHelpText extends i$3 {
12264
12273
  }
12265
12274
  }
12266
12275
 
12267
- var formkitVersion = '202607022225';
12276
+ var formkitVersion = '202607022131';
12268
12277
 
12269
12278
  /**
12270
12279
  * @license
@@ -11174,8 +11174,8 @@ class BaseInput extends AuroElement {
11174
11174
  */
11175
11175
  set format(value) {
11176
11176
  const oldValue = this._format;
11177
- this._format = value ? value.toLowerCase() : value;
11178
- this._userSetFormat = Boolean(value);
11177
+ this._format = value;
11178
+ this._userSetFormat = true;
11179
11179
  this.requestUpdate('format', oldValue);
11180
11180
  }
11181
11181
 
@@ -11187,7 +11187,7 @@ class BaseInput extends AuroElement {
11187
11187
  */
11188
11188
  _setFormatFromLocale(value) {
11189
11189
  const oldValue = this._format;
11190
- this._format = value ? value.toLowerCase() : value;
11190
+ this._format = value;
11191
11191
  this.requestUpdate('format', oldValue);
11192
11192
  }
11193
11193
 
@@ -11238,6 +11238,15 @@ class BaseInput extends AuroElement {
11238
11238
 
11239
11239
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11240
11240
 
11241
+ // Normalize the format token to lowercase so case-mixed values supplied
11242
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
11243
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
11244
+ // format silently misses the map and leaves `setCustomValidityForType`
11245
+ // unset.
11246
+ if (this.format) {
11247
+ this._setFormatFromLocale(this.format.toLowerCase());
11248
+ }
11249
+
11241
11250
  // use validity message override if declared when initializing the component
11242
11251
  if (this.hasAttribute('setCustomValidity')) {
11243
11252
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -12264,7 +12273,7 @@ class AuroHelpText extends i$3 {
12264
12273
  }
12265
12274
  }
12266
12275
 
12267
- var formkitVersion = '202607022225';
12276
+ var formkitVersion = '202607022131';
12268
12277
 
12269
12278
  /**
12270
12279
  * @license
@@ -11116,8 +11116,8 @@ class BaseInput extends AuroElement {
11116
11116
  */
11117
11117
  set format(value) {
11118
11118
  const oldValue = this._format;
11119
- this._format = value ? value.toLowerCase() : value;
11120
- this._userSetFormat = Boolean(value);
11119
+ this._format = value;
11120
+ this._userSetFormat = true;
11121
11121
  this.requestUpdate('format', oldValue);
11122
11122
  }
11123
11123
 
@@ -11129,7 +11129,7 @@ class BaseInput extends AuroElement {
11129
11129
  */
11130
11130
  _setFormatFromLocale(value) {
11131
11131
  const oldValue = this._format;
11132
- this._format = value ? value.toLowerCase() : value;
11132
+ this._format = value;
11133
11133
  this.requestUpdate('format', oldValue);
11134
11134
  }
11135
11135
 
@@ -11180,6 +11180,15 @@ class BaseInput extends AuroElement {
11180
11180
 
11181
11181
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11182
11182
 
11183
+ // Normalize the format token to lowercase so case-mixed values supplied
11184
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
11185
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
11186
+ // format silently misses the map and leaves `setCustomValidityForType`
11187
+ // unset.
11188
+ if (this.format) {
11189
+ this._setFormatFromLocale(this.format.toLowerCase());
11190
+ }
11191
+
11183
11192
  // use validity message override if declared when initializing the component
11184
11193
  if (this.hasAttribute('setCustomValidity')) {
11185
11194
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -12206,7 +12215,7 @@ class AuroHelpText extends LitElement {
12206
12215
  }
12207
12216
  }
12208
12217
 
12209
- var formkitVersion = '202607022225';
12218
+ var formkitVersion = '202607022131';
12210
12219
 
12211
12220
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12212
12221
  // See LICENSE in the project root for license information.
@@ -11116,8 +11116,8 @@ class BaseInput extends AuroElement {
11116
11116
  */
11117
11117
  set format(value) {
11118
11118
  const oldValue = this._format;
11119
- this._format = value ? value.toLowerCase() : value;
11120
- this._userSetFormat = Boolean(value);
11119
+ this._format = value;
11120
+ this._userSetFormat = true;
11121
11121
  this.requestUpdate('format', oldValue);
11122
11122
  }
11123
11123
 
@@ -11129,7 +11129,7 @@ class BaseInput extends AuroElement {
11129
11129
  */
11130
11130
  _setFormatFromLocale(value) {
11131
11131
  const oldValue = this._format;
11132
- this._format = value ? value.toLowerCase() : value;
11132
+ this._format = value;
11133
11133
  this.requestUpdate('format', oldValue);
11134
11134
  }
11135
11135
 
@@ -11180,6 +11180,15 @@ class BaseInput extends AuroElement {
11180
11180
 
11181
11181
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11182
11182
 
11183
+ // Normalize the format token to lowercase so case-mixed values supplied
11184
+ // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
11185
+ // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
11186
+ // format silently misses the map and leaves `setCustomValidityForType`
11187
+ // unset.
11188
+ if (this.format) {
11189
+ this._setFormatFromLocale(this.format.toLowerCase());
11190
+ }
11191
+
11183
11192
  // use validity message override if declared when initializing the component
11184
11193
  if (this.hasAttribute('setCustomValidity')) {
11185
11194
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -12206,7 +12215,7 @@ class AuroHelpText extends LitElement {
12206
12215
  }
12207
12216
  }
12208
12217
 
12209
- var formkitVersion = '202607022225';
12218
+ var formkitVersion = '202607022131';
12210
12219
 
12211
12220
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12212
12221
  // See LICENSE in the project root for license information.
@@ -1227,7 +1227,7 @@ class AuroHelpText extends i$2 {
1227
1227
  }
1228
1228
  }
1229
1229
 
1230
- var formkitVersion = '202607022225';
1230
+ var formkitVersion = '202607022131';
1231
1231
 
1232
1232
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1233
1233
  // See LICENSE in the project root for license information.
@@ -1227,7 +1227,7 @@ class AuroHelpText extends i$2 {
1227
1227
  }
1228
1228
  }
1229
1229
 
1230
- var formkitVersion = '202607022225';
1230
+ var formkitVersion = '202607022131';
1231
1231
 
1232
1232
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1233
1233
  // See LICENSE in the project root for license information.
@@ -1227,7 +1227,7 @@ class AuroHelpText extends i$2 {
1227
1227
  }
1228
1228
  }
1229
1229
 
1230
- var formkitVersion = '202607022225';
1230
+ var formkitVersion = '202607022131';
1231
1231
 
1232
1232
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1233
1233
  // See LICENSE in the project root for license information.
@@ -1166,7 +1166,7 @@ class AuroHelpText extends LitElement {
1166
1166
  }
1167
1167
  }
1168
1168
 
1169
- var formkitVersion = '202607022225';
1169
+ var formkitVersion = '202607022131';
1170
1170
 
1171
1171
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1172
1172
  // See LICENSE in the project root for license information.
@@ -1166,7 +1166,7 @@ class AuroHelpText extends LitElement {
1166
1166
  }
1167
1167
  }
1168
1168
 
1169
- var formkitVersion = '202607022225';
1169
+ var formkitVersion = '202607022131';
1170
1170
 
1171
1171
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1172
1172
  // See LICENSE in the project root for license information.
@@ -904,6 +904,9 @@ function navigateArrow(component, direction, options = {}) {
904
904
  * @param {HTMLElement | null | undefined} menu - The auro-menu element.
905
905
  * @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
906
906
  */
907
+ function getEnabledOptions(menu) {
908
+ return (menu?.options || []).filter((option) => !option.disabled);
909
+ }
907
910
 
908
911
  /**
909
912
  * Returns the active (selectable + visible) options for type-ahead navigation.
@@ -973,10 +976,8 @@ const selectKeyboardStrategy = {
973
976
  End(component, evt, ctx) {
974
977
  evt.preventDefault();
975
978
  evt.stopPropagation();
976
- // `pop()` is safe here: getActiveOptions returns a fresh filtered array.
977
- // Uses "active" (not "enabled") so hidden and static rows — which a screen
978
- // reader must not announce as focused — are skipped.
979
- const lastOption = getActiveOptions(component.menu).pop();
979
+ // `pop()` is safe here: getEnabledOptions returns a fresh filtered array.
980
+ const lastOption = getEnabledOptions(component.menu).pop();
980
981
  if (!lastOption) {
981
982
  return;
982
983
  }
@@ -1007,7 +1008,7 @@ const selectKeyboardStrategy = {
1007
1008
  Home(component, evt, ctx) {
1008
1009
  evt.preventDefault();
1009
1010
  evt.stopPropagation();
1010
- const [firstOption] = getActiveOptions(component.menu);
1011
+ const [firstOption] = getEnabledOptions(component.menu);
1011
1012
  if (!firstOption) {
1012
1013
  return;
1013
1014
  }
@@ -1032,15 +1033,6 @@ const selectKeyboardStrategy = {
1032
1033
  },
1033
1034
 
1034
1035
  default(component, evt, ctx) {
1035
- // Ignore keys chorded with Ctrl/Meta/Alt so browser/OS shortcuts
1036
- // (Cmd+C, Ctrl+V, Alt+X, Cmd+Space, …) don't leak into typeahead
1037
- // or toggle the bib. Native <select> ignores modified keys.
1038
- // ArrowUp/ArrowDown handle modifier+arrow explicitly above; this
1039
- // guard only affects the default (printable/Space) branch.
1040
- if (evt.ctrlKey || evt.metaKey || evt.altKey) {
1041
- return;
1042
- }
1043
-
1044
1036
  // Space resolves to either typeahead-buffer extension or bib toggle
1045
1037
  // depending on whether a type-ahead buffer is active. Mirrors native
1046
1038
  // <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
@@ -4995,7 +4987,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
4995
4987
  }
4996
4988
  };
4997
4989
 
4998
- var formkitVersion$1 = '202607022225';
4990
+ var formkitVersion$1 = '202607022131';
4999
4991
 
5000
4992
  class AuroElement extends i$2 {
5001
4993
  static get properties() {
@@ -7034,7 +7026,7 @@ class AuroHelpText extends i$2 {
7034
7026
  }
7035
7027
  }
7036
7028
 
7037
- var formkitVersion = '202607022225';
7029
+ var formkitVersion = '202607022131';
7038
7030
 
7039
7031
  var styleCss$2 = i$5`.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}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.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, 300);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, 300);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, 0.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, 0.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, 0.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, 0.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, 0.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, 0.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(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
7040
7032
 
@@ -7598,11 +7590,8 @@ class AuroSelect extends AuroElement$1 {
7598
7590
  } else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
7599
7591
  this.menu.updateActiveOption(this.optionSelected[0]);
7600
7592
  } else {
7601
- // If no activeOption has yet to be set, make the first active option
7602
- // (non-disabled, non-hidden, non-static) active by default. "Active" —
7603
- // not just "enabled" — so hidden rows and static placeholders never
7604
- // land in aria-activedescendant on open.
7605
- const [firstActive] = getActiveOptions(this.menu);
7593
+ // If no activeOption has yet to be set, then make the first enabled option active by default
7594
+ const [firstActive] = getEnabledOptions(this.menu);
7606
7595
  this.menu.updateActiveOption(firstActive);
7607
7596
  }
7608
7597
  }
@@ -7848,12 +7837,6 @@ class AuroSelect extends AuroElement$1 {
7848
7837
 
7849
7838
  /**
7850
7839
  * Binds all behavior needed to the menu after rendering.
7851
- *
7852
- * The `<auro-menu>` reference is captured once and not re-targeted on
7853
- * `slotchange`. Runtime option mutations are covered via
7854
- * `auroMenu-optionsChange`, so swap options inside the menu freely; do not
7855
- * swap the `<auro-menu>` element itself under a live select — remount the
7856
- * parent `<auro-select>` instead.
7857
7840
  * @private
7858
7841
  * @returns {void}
7859
7842
  */
@@ -7912,15 +7895,6 @@ class AuroSelect extends AuroElement$1 {
7912
7895
  if (this.menu.optionSelected !== undefined) {
7913
7896
  return;
7914
7897
  }
7915
- // Skip when the select is already cleared (valueless click with no
7916
- // prior selection): value/optionSelected are already empty and there
7917
- // is no stale trigger text to refresh, so updateDisplayedValue would
7918
- // just churn the DOM and request a needless dropdown re-render.
7919
- const hasStaleState = this.value !== undefined ||
7920
- (this.multiSelect ? this.optionSelected?.length > 0 : this.optionSelected !== undefined);
7921
- if (!hasStaleState) {
7922
- return;
7923
- }
7924
7898
  this.value = undefined;
7925
7899
  this.optionSelected = this.multiSelect ? [] : undefined;
7926
7900
  // The trigger label is rendered imperatively into #value, so a property
@@ -7950,15 +7924,10 @@ class AuroSelect extends AuroElement$1 {
7950
7924
  if (this.dropdown.isPopoverVisible) {
7951
7925
  announceToScreenReader(this._getAnnouncementRoot(), message);
7952
7926
  } else {
7953
- // Typeahead-on-closed calls updateActiveOption() before show(), so
7954
- // this handler runs with isPopoverVisible still false. queueMicrotask
7955
- // is safe because show() showBib() flips isPopoverVisible and
7956
- // dialog.showModal() both run synchronously in the same task; the
7957
- // microtask queue only drains once _handleTypeahead unwinds, by
7958
- // which point _getAnnouncementRoot() resolves to the bib's shadow
7959
- // root inside the now-open modal. Do NOT switch to auroDropdown-toggled
7960
- // — it fires before showModal(), landing the announcement in the
7961
- // host root while the dialog is still not-yet-modal.
7927
+ // Typeahead-on-closed fires this event before `show()` flips
7928
+ // isPopoverVisible. Defer so the announcement targets the bib's
7929
+ // live region once the fullscreen <dialog> opens otherwise it
7930
+ // lands in the host root, which is inert under the active modal.
7962
7931
  queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
7963
7932
  }
7964
7933
  }
@@ -8352,13 +8321,6 @@ class AuroSelect extends AuroElement$1 {
8352
8321
  }
8353
8322
 
8354
8323
  if (changedProperties.has('value')) {
8355
- // A value change ends the current interaction — whether it came from a
8356
- // user commit, programmatic assignment, or reset(). Clear the buffer so
8357
- // a stale prefix does not concatenate onto the next keystroke while the
8358
- // host still has focus (the blur listener would otherwise be the only
8359
- // focus-retained clear point, and hideBib() below does not blur).
8360
- this._clearTypeaheadBuffer();
8361
-
8362
8324
  this.setMenuValue(this.value);
8363
8325
 
8364
8326
  this._updateNativeSelect();
@@ -8414,9 +8376,6 @@ class AuroSelect extends AuroElement$1 {
8414
8376
  * @returns {void}
8415
8377
  */
8416
8378
  reset() {
8417
- // Defense-in-depth: updated()'s value-change branch also clears, but
8418
- // reset-to-same-value (e.g. undefined → undefined) skips that path.
8419
- this._clearTypeaheadBuffer();
8420
8379
  this.menu.reset();
8421
8380
  this.validation.reset(this);
8422
8381
  }
@@ -8439,13 +8398,8 @@ class AuroSelect extends AuroElement$1 {
8439
8398
  // Hidden native <select> has no `multiple` attribute, so any change it fires
8440
8399
  // is a single raw value — applying it in multiSelect mode would collapse the
8441
8400
  // JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
8442
- // form control even with aria-hidden/tabindex=-1, so revert to the expected
8443
- // mirror (formattedValue[0]) rather than letting the native select drift and
8444
- // silently submit the autofilled scalar under `name`.
8445
- if (this.multiSelect) {
8446
- this._updateNativeSelect();
8447
- return;
8448
- }
8401
+ // form control even with aria-hidden/tabindex=-1.
8402
+ if (this.multiSelect) return;
8449
8403
 
8450
8404
  const selectedOption = event.target.options[event.target.selectedIndex];
8451
8405
  if (!selectedOption) return;