@aurodesignsystem-dev/auro-formkit 0.0.0-pr1533.13 → 0.0.0-pr1533.14

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 (71) 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/api.md +2 -2
  7. package/components/combobox/demo/customize.md +1 -1
  8. package/components/combobox/demo/customize.min.js +110 -22
  9. package/components/combobox/demo/getting-started.min.js +110 -22
  10. package/components/combobox/demo/index.md +1 -0
  11. package/components/combobox/demo/index.min.js +110 -22
  12. package/components/combobox/demo/keyboard-behavior.md +1 -4
  13. package/components/combobox/dist/auro-combobox.d.ts +3 -1
  14. package/components/combobox/dist/index.js +23 -4
  15. package/components/combobox/dist/registered.js +23 -4
  16. package/components/counter/demo/customize.min.js +2 -2
  17. package/components/counter/demo/index.min.js +2 -2
  18. package/components/counter/dist/index.js +2 -2
  19. package/components/counter/dist/registered.js +2 -2
  20. package/components/datepicker/demo/customize.min.js +3 -3
  21. package/components/datepicker/demo/index.min.js +3 -3
  22. package/components/datepicker/dist/index.js +3 -3
  23. package/components/datepicker/dist/registered.js +3 -3
  24. package/components/dropdown/demo/customize.min.js +1 -1
  25. package/components/dropdown/demo/getting-started.min.js +1 -1
  26. package/components/dropdown/demo/index.min.js +1 -1
  27. package/components/dropdown/dist/index.js +1 -1
  28. package/components/dropdown/dist/registered.js +1 -1
  29. package/components/form/demo/customize.min.js +125 -33
  30. package/components/form/demo/getting-started.min.js +125 -33
  31. package/components/form/demo/index.min.js +125 -33
  32. package/components/form/demo/registerDemoDeps.min.js +125 -33
  33. package/components/input/demo/customize.min.js +1 -1
  34. package/components/input/demo/getting-started.min.js +1 -1
  35. package/components/input/demo/index.min.js +1 -1
  36. package/components/input/dist/index.js +1 -1
  37. package/components/input/dist/registered.js +1 -1
  38. package/components/menu/demo/accessibility.md +4 -4
  39. package/components/menu/demo/api.md +26 -19
  40. package/components/menu/demo/css-only.md +26 -19
  41. package/components/menu/demo/customize.md +307 -47
  42. package/components/menu/demo/design.md +1 -1
  43. package/components/menu/demo/getting-started.md +144 -7
  44. package/components/menu/demo/index.min.js +214 -19
  45. package/components/menu/demo/keyboard-behavior.md +83 -4
  46. package/components/menu/demo/voiceover.md +12 -8
  47. package/components/menu/demo/why-menu.md +8 -9
  48. package/components/menu/dist/auro-menu-utils.d.ts +19 -0
  49. package/components/menu/dist/auro-menu.d.ts +4 -8
  50. package/components/menu/dist/auro-menuoption.d.ts +12 -0
  51. package/components/menu/dist/index.js +87 -18
  52. package/components/menu/dist/registered.js +87 -18
  53. package/components/radio/demo/customize.min.js +1 -1
  54. package/components/radio/demo/getting-started.min.js +1 -1
  55. package/components/radio/demo/index.min.js +1 -1
  56. package/components/radio/dist/index.js +1 -1
  57. package/components/radio/dist/registered.js +1 -1
  58. package/components/select/demo/api.md +2 -2
  59. package/components/select/demo/customize.md +5 -2
  60. package/components/select/demo/customize.min.js +94 -21
  61. package/components/select/demo/design.md +10 -10
  62. package/components/select/demo/getting-started.md +1 -1
  63. package/components/select/demo/getting-started.min.js +94 -21
  64. package/components/select/demo/index.md +2 -2
  65. package/components/select/demo/index.min.js +94 -21
  66. package/components/select/demo/keyboard-behavior.md +49 -18
  67. package/components/select/dist/auro-select.d.ts +6 -2
  68. package/components/select/dist/index.js +7 -3
  69. package/components/select/dist/registered.js +7 -3
  70. package/custom-elements.json +1608 -1534
  71. package/package.json +1 -1
@@ -983,6 +983,23 @@ const comboboxKeyboardStrategy = {
983
983
  },
984
984
 
985
985
  Tab(component, evt, ctx) {
986
+ // Runs for both Tab and Shift+Tab.
987
+ //
988
+ // Current behavior:
989
+ // Tab — select the active option, close the bib, and (in fullscreen
990
+ // modal mode only) explicitly move focus to the trigger's
991
+ // clear button. In desktop popover mode the browser's native
992
+ // tab traversal takes focus forward from the input.
993
+ // Shift+Tab — select the active option and close the bib. Focus then
994
+ // lands on the trigger's clear button as a byproduct of the
995
+ // shadow-DOM tab order, so keyboard users must press
996
+ // Shift+Tab three times to exit the component (clear button
997
+ // → input → previous element on the page).
998
+ //
999
+ // Intended behavior for Shift+Tab (per team decision, tracked in
1000
+ // AB#1590650): a single Shift+Tab should select the active option, close
1001
+ // the bib, and move focus directly to the previous focusable element on
1002
+ // the page — symmetric with Tab.
986
1003
  if (ctx.isExpanded && !isClearBtnFocused(ctx)) {
987
1004
  // When the clear button is focused, Tab events do not bubble out of
988
1005
  // its shadow DOM, so this handler only fires when the clear button
@@ -4894,7 +4911,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
4894
4911
  }
4895
4912
  };
4896
4913
 
4897
- var formkitVersion$2 = '202607081857';
4914
+ var formkitVersion$2 = '202607082225';
4898
4915
 
4899
4916
  let AuroElement$2 = class AuroElement extends i$3 {
4900
4917
  static get properties() {
@@ -18519,7 +18536,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
18519
18536
  }
18520
18537
  };
18521
18538
 
18522
- var formkitVersion$1 = '202607081857';
18539
+ var formkitVersion$1 = '202607082225';
18523
18540
 
18524
18541
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18525
18542
  // See LICENSE in the project root for license information.
@@ -19640,7 +19657,7 @@ class AuroBibtemplate extends i$3 {
19640
19657
  }
19641
19658
  }
19642
19659
 
19643
- var formkitVersion = '202607081857';
19660
+ var formkitVersion = '202607082225';
19644
19661
 
19645
19662
  var styleCss$3 = i$6`.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}`;
19646
19663
 
@@ -20423,6 +20440,8 @@ class AuroCombobox extends AuroElement {
20423
20440
 
20424
20441
  /**
20425
20442
  * If set, the `icon` attribute will be applied to the trigger `auro-input` element.
20443
+ * Icon rendering is currently limited to `type="credit-card"`. Setting `triggerIcon`
20444
+ * without a supported `type` propagates the attribute but does not render a visible icon.
20426
20445
  */
20427
20446
  triggerIcon: {
20428
20447
  type: Boolean,
@@ -20454,7 +20473,7 @@ class AuroCombobox extends AuroElement {
20454
20473
  },
20455
20474
 
20456
20475
  /**
20457
- * Value selected for the dropdown menu.
20476
+ * Value selected for the dropdown menu. When set programmatically or as a preset attribute, the value must match a selectable option. If it matches an option marked `disabled` or `static`, the selection is rejected: `value` and `optionSelected` are cleared to `undefined`. `hidden` options (including those filtered out by type-ahead) remain selectable by value.
20458
20477
  */
20459
20478
  value: {
20460
20479
  type: String
@@ -21972,6 +21991,18 @@ var tokensCss = i$6`:host{--ds-auro-menu-divider-color: var(--ds-basic-color-bor
21972
21991
  // See LICENSE in the project root for license information.
21973
21992
 
21974
21993
 
21994
+ /**
21995
+ * Serializes a multi-select value array back into the String `value` property.
21996
+ * An empty (or missing) array collapses to `undefined` so an emptied selection
21997
+ * clears `value` rather than reflecting a `"[]"` attribute.
21998
+ * @private
21999
+ * @param {Array<string>|undefined} values - The selected values.
22000
+ * @returns {string|undefined} JSON string of the values, or undefined when empty.
22001
+ */
22002
+ function serializeMultiSelectValue(values) {
22003
+ return values && values.length > 0 ? JSON.stringify(values) : undefined;
22004
+ }
22005
+
21975
22006
  /**
21976
22007
  * Validates if an option can be interacted with.
21977
22008
  * @private
@@ -21984,6 +22015,20 @@ function isOptionInteractive(option) {
21984
22015
  !option.hasAttribute('static');
21985
22016
  }
21986
22017
 
22018
+ /**
22019
+ * Validates if an option may be selected by matching a programmatic value.
22020
+ * Unlike `isOptionInteractive`, `hidden` is allowed: the combobox toggles
22021
+ * `hidden` as its type-ahead filter, so a filtered-out option is still a
22022
+ * valid programmatic selection. Only disabled and static options — which are
22023
+ * never selectable — are rejected.
22024
+ * @param {HTMLElement} option - The option to check.
22025
+ * @returns {boolean} True if option can be selected by value.
22026
+ */
22027
+ function isSelectableByValue(option) {
22028
+ return !option.hasAttribute('disabled') &&
22029
+ !option.hasAttribute('static');
22030
+ }
22031
+
21987
22032
  /**
21988
22033
  * Helper method to dispatch custom events.
21989
22034
  * @param {HTMLElement} element - Element to dispatch event from.
@@ -22153,22 +22198,26 @@ class AuroMenu extends AuroElement {
22153
22198
 
22154
22199
  /**
22155
22200
  * Specifies the current active menuOption.
22201
+ * @readonly
22156
22202
  */
22157
22203
  optionActive: {
22158
22204
  type: Object,
22159
- attribute: 'optionactive'
22205
+ attribute: false
22160
22206
  },
22161
22207
 
22162
22208
  /**
22163
- * An array of currently selected menu options, type `HTMLElement` by default. In multi-select mode, `optionSelected` is an array of HTML elements.
22209
+ * The currently selected menu option(s). In single-select mode this is a single `HTMLElement` (or `undefined` when nothing is selected). In multi-select mode this is an array of `HTMLElement`s.
22210
+ * @readonly
22164
22211
  */
22165
22212
  optionSelected: {
22166
22213
  // Allow HTMLElement, HTMLElement[] arrays and undefined
22167
- type: Object
22214
+ type: Object,
22215
+ attribute: false
22168
22216
  },
22169
22217
 
22170
22218
  /**
22171
22219
  * The value of the selected option. In multi-select mode, this is a JSON stringified array of selected option values.
22220
+ * Options marked `disabled` or `static` are not selectable by value; `hidden` options remain selectable. In single-select mode, if the value matches a non-selectable option the selection is cleared (`optionSelected` becomes `undefined`) and `auroMenu-selectValueFailure` is dispatched. In multi-select mode, non-selectable entries are dropped from the value and the remaining selectable entries are selected; `auroMenu-selectValueFailure` is dispatched only when none of the entries match a selectable option.
22172
22221
  */
22173
22222
  value: {
22174
22223
  type: String,
@@ -22292,7 +22341,7 @@ class AuroMenu extends AuroElement {
22292
22341
  }
22293
22342
 
22294
22343
  /**
22295
- * Selects options by value.
22344
+ * Selects options by value. Options marked `disabled` or `static` are not selectable; `hidden` options remain selectable. In single-select mode, if the value matches a non-selectable option the selection is cleared and `auroMenu-selectValueFailure` is dispatched. In multi-select mode, non-selectable entries are dropped and the remaining selectable entries are selected; `auroMenu-selectValueFailure` is dispatched only when none of the entries match a selectable option. Passing `undefined`, `null`, an empty string, or an empty array clears the selection without dispatching a failure.
22296
22345
  * @param {string|string[]|undefined|null} value - The value(s) to select.
22297
22346
  * @public
22298
22347
  */
@@ -22377,6 +22426,11 @@ class AuroMenu extends AuroElement {
22377
22426
  this.initItems();
22378
22427
  }
22379
22428
 
22429
+ // Set when reconciliation reassigns `value` below. That reassignment schedules a
22430
+ // second updated() cycle, so the `event`-attribute dispatch is deferred to that
22431
+ // cycle to avoid firing option custom events twice on the same selection.
22432
+ let valueReconciled = false;
22433
+
22380
22434
  // Handle null/undefined/empty case — empty/whitespace strings clear selection
22381
22435
  // consistently with selectByValue(''), and avoid downstream `.includes('')` matches.
22382
22436
  if (this.value === undefined || this.value === null || (typeof this.value === 'string' && this.value.trim() === '')) {
@@ -22389,11 +22443,31 @@ class AuroMenu extends AuroElement {
22389
22443
  // Defensive default: `formattedValue` can be undefined for unexpected value types,
22390
22444
  // and calling `.includes` on undefined would throw during reconciliation.
22391
22445
  const valueArray = this.formattedValue || [];
22392
- const matchingOptions = this.items ? this.items.filter((item) => valueArray.includes(item.value)) : [];
22446
+ const matchingOptions = this.items ? this.items.filter((item) => isSelectableByValue(item) && valueArray.includes(item.value)) : [];
22393
22447
  newSelected = matchingOptions.length > 0 ? matchingOptions : undefined;
22448
+
22449
+ // Reconcile `value` with the selectable set. Drop only entries whose option is
22450
+ // loaded but non-selectable (disabled/static) — leaving them would desync `value`
22451
+ // from `optionSelected`, and the toggle handlers rebuild `value` from `formattedValue`,
22452
+ // so the rejected entry would resurface on the next select/deselect. Entries with no
22453
+ // matching item yet are preserved so async preselection still works once options render.
22454
+ const rejectedValues = this.items
22455
+ ? this.items.filter((item) => !isSelectableByValue(item) && valueArray.includes(item.value)).map((item) => item.value)
22456
+ : [];
22457
+ if (rejectedValues.length > 0) {
22458
+ const reconciled = valueArray.filter((val) => !rejectedValues.includes(val));
22459
+ this.value = serializeMultiSelectValue(reconciled);
22460
+ valueReconciled = true;
22461
+ }
22394
22462
  } else {
22395
- // In single-select mode, this.value should be a string
22396
- const matchingOption = this.items ? this.items.find((item) => item.value === this.value) : undefined;
22463
+ // In single-select mode, this.value should be a string. Reject
22464
+ // disabled/static options so a programmatic value pointing at a
22465
+ // non-selectable option falls through to the no-match path below
22466
+ // (dispatching auroMenu-selectValueFailure) instead of pinning it.
22467
+ // `hidden` is intentionally NOT excluded: the combobox toggles
22468
+ // `hidden` as its type-ahead filter, so a filtered-out option is
22469
+ // still a valid programmatic selection.
22470
+ const matchingOption = this.items ? this.items.find((item) => isSelectableByValue(item) && item.value === this.value) : undefined;
22397
22471
 
22398
22472
  if (matchingOption) {
22399
22473
  newSelected = matchingOption;
@@ -22435,8 +22509,9 @@ class AuroMenu extends AuroElement {
22435
22509
  ]
22436
22510
  ]));
22437
22511
 
22438
- // Notify of changes
22439
- if (this.optionSelected !== undefined) {
22512
+ // Notify of changes. Skip when reconciliation just reassigned `value`: the
22513
+ // follow-on update cycle re-runs this branch and fires the events exactly once.
22514
+ if (this.optionSelected !== undefined && !valueReconciled) {
22440
22515
  const selected = Array.isArray(this.optionSelected) ? this.optionSelected : [this.optionSelected];
22441
22516
  selected.forEach((opt) => {
22442
22517
  if (opt.hasAttribute('event')) {
@@ -22649,7 +22724,7 @@ class AuroMenu extends AuroElement {
22649
22724
  const currentSelected = this.optionSelected || [];
22650
22725
 
22651
22726
  if (!currentValue.includes(option.value)) {
22652
- this.value = JSON.stringify([
22727
+ this.value = serializeMultiSelectValue([
22653
22728
  ...currentValue,
22654
22729
  option.value
22655
22730
  ]);
@@ -22675,15 +22750,9 @@ class AuroMenu extends AuroElement {
22675
22750
  */
22676
22751
  handleDeselectState(option) {
22677
22752
  if (this.multiSelect) {
22678
- // Remove this option from array
22753
+ // Remove this option from array; an empty result collapses `value` to undefined.
22679
22754
  const newFormattedValue = (this.formattedValue || []).filter((val) => val !== option.value);
22680
-
22681
- // If array is empty after removal, set back to undefined
22682
- if (newFormattedValue && newFormattedValue.length === 0) {
22683
- this.value = undefined;
22684
- } else {
22685
- this.value = JSON.stringify(newFormattedValue);
22686
- }
22755
+ this.value = serializeMultiSelectValue(newFormattedValue);
22687
22756
 
22688
22757
  this.optionSelected = this.optionSelected.filter((val) => val !== option);
22689
22758
  if (this.optionSelected.length === 0) {
@@ -22730,6 +22799,11 @@ class AuroMenu extends AuroElement {
22730
22799
  this.optionSelected = undefined;
22731
22800
  this._index = -1;
22732
22801
 
22802
+ // Clear active option state so a follow-up open/navigation starts fresh
22803
+ // rather than reusing a stale reference from before the reset.
22804
+ this.items?.forEach((item) => item.classList.remove('active'));
22805
+ this.optionActive = undefined;
22806
+
22733
22807
  // Reset UI state
22734
22808
  this.updateItemsState(new Map([
22735
22809
  [
@@ -23139,6 +23213,7 @@ let menuOptionIdCounter = 0;
23139
23213
  * The `auro-menuoption` element provides users a way to define a menu option.
23140
23214
  * @customElement auro-menuoption
23141
23215
  *
23216
+ * @attr {Boolean} static - When present, marks the option as non-interactive — it renders but is skipped during keyboard navigation and cannot be selected. Useful for section headers, informational rows inside a menu, or attaching event listeners.
23142
23217
  * @slot default - The default slot for the menu option text.
23143
23218
  *
23144
23219
  * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
@@ -23168,6 +23243,7 @@ class AuroMenuOption extends AuroElement {
23168
23243
  this.noCheckmark = false;
23169
23244
  this.disabled = false;
23170
23245
  this.noMatch = false;
23246
+ this.persistent = false;
23171
23247
 
23172
23248
  /**
23173
23249
  * @private
@@ -23189,6 +23265,12 @@ class AuroMenuOption extends AuroElement {
23189
23265
  type: Boolean,
23190
23266
  reflect: true
23191
23267
  },
23268
+
23269
+ /**
23270
+ * **Deprecated.** Use the `value` attribute on `auro-menu` to set the selected option when the menu renders (or call `menu.selectByValue(value)` programmatically). Support for the child-level `selected` attribute will be removed in a future major release.
23271
+ *
23272
+ * @deprecated Use the `value` attribute on `auro-menu` instead.
23273
+ */
23192
23274
  selected: {
23193
23275
  type: Boolean,
23194
23276
  reflect: true
@@ -23223,6 +23305,12 @@ class AuroMenuOption extends AuroElement {
23223
23305
  reflect: true,
23224
23306
  attribute: 'nomatch'
23225
23307
  },
23308
+
23309
+ /** When true, this option is excluded from `matchWord` DOM rewriting — useful for utility rows (e.g., "Add new…") that must render identically regardless of the current filter. */
23310
+ persistent: {
23311
+ type: Boolean,
23312
+ reflect: true
23313
+ },
23226
23314
  };
23227
23315
  }
23228
23316
 
@@ -175,10 +175,7 @@
175
175
  </div>
176
176
  </td>
177
177
  <td>
178
- Advances the <code>focused</code> option to the first enabled option in the list.
179
- <div class="note">
180
- <strong>Note:</strong> the bib will <strong>NOT</strong> close and the page will <strong>NOT</strong> navigate to the previous focusable element in the tabindex order.
181
- </div>
178
+ The current <code>focused</code> option is selected, the bib is closed and <strong>focus</strong> is moved to the <strong>clear button</strong> in the component trigger. A subsequent Shift+Tab moves focus back to the input, and another Shift+Tab exits the component to the previous focusable element on the page.
182
179
  </td>
183
180
  </tr>
184
181
  </tbody>
@@ -245,6 +245,8 @@ export class AuroCombobox extends AuroElement {
245
245
  };
246
246
  /**
247
247
  * If set, the `icon` attribute will be applied to the trigger `auro-input` element.
248
+ * Icon rendering is currently limited to `type="credit-card"`. Setting `triggerIcon`
249
+ * without a supported `type` propagates the attribute but does not render a visible icon.
248
250
  */
249
251
  triggerIcon: {
250
252
  type: BooleanConstructor;
@@ -272,7 +274,7 @@ export class AuroCombobox extends AuroElement {
272
274
  reflect: boolean;
273
275
  };
274
276
  /**
275
- * Value selected for the dropdown menu.
277
+ * Value selected for the dropdown menu. When set programmatically or as a preset attribute, the value must match a selectable option. If it matches an option marked `disabled` or `static`, the selection is rejected: `value` and `optionSelected` are cleared to `undefined`. `hidden` options (including those filtered out by type-ahead) remain selectable by value.
276
278
  */
277
279
  value: {
278
280
  type: StringConstructor;
@@ -925,6 +925,23 @@ const comboboxKeyboardStrategy = {
925
925
  },
926
926
 
927
927
  Tab(component, evt, ctx) {
928
+ // Runs for both Tab and Shift+Tab.
929
+ //
930
+ // Current behavior:
931
+ // Tab — select the active option, close the bib, and (in fullscreen
932
+ // modal mode only) explicitly move focus to the trigger's
933
+ // clear button. In desktop popover mode the browser's native
934
+ // tab traversal takes focus forward from the input.
935
+ // Shift+Tab — select the active option and close the bib. Focus then
936
+ // lands on the trigger's clear button as a byproduct of the
937
+ // shadow-DOM tab order, so keyboard users must press
938
+ // Shift+Tab three times to exit the component (clear button
939
+ // → input → previous element on the page).
940
+ //
941
+ // Intended behavior for Shift+Tab (per team decision, tracked in
942
+ // AB#1590650): a single Shift+Tab should select the active option, close
943
+ // the bib, and move focus directly to the previous focusable element on
944
+ // the page — symmetric with Tab.
928
945
  if (ctx.isExpanded && !isClearBtnFocused(ctx)) {
929
946
  // When the clear button is focused, Tab events do not bubble out of
930
947
  // its shadow DOM, so this handler only fires when the clear button
@@ -4812,7 +4829,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4812
4829
  }
4813
4830
  };
4814
4831
 
4815
- var formkitVersion$2 = '202607081857';
4832
+ var formkitVersion$2 = '202607082225';
4816
4833
 
4817
4834
  let AuroElement$2 = class AuroElement extends LitElement {
4818
4835
  static get properties() {
@@ -18430,7 +18447,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18430
18447
  }
18431
18448
  };
18432
18449
 
18433
- var formkitVersion$1 = '202607081857';
18450
+ var formkitVersion$1 = '202607082225';
18434
18451
 
18435
18452
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18436
18453
  // See LICENSE in the project root for license information.
@@ -19551,7 +19568,7 @@ class AuroBibtemplate extends LitElement {
19551
19568
  }
19552
19569
  }
19553
19570
 
19554
- var formkitVersion = '202607081857';
19571
+ var formkitVersion = '202607082225';
19555
19572
 
19556
19573
  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}`;
19557
19574
 
@@ -20334,6 +20351,8 @@ class AuroCombobox extends AuroElement {
20334
20351
 
20335
20352
  /**
20336
20353
  * If set, the `icon` attribute will be applied to the trigger `auro-input` element.
20354
+ * Icon rendering is currently limited to `type="credit-card"`. Setting `triggerIcon`
20355
+ * without a supported `type` propagates the attribute but does not render a visible icon.
20337
20356
  */
20338
20357
  triggerIcon: {
20339
20358
  type: Boolean,
@@ -20365,7 +20384,7 @@ class AuroCombobox extends AuroElement {
20365
20384
  },
20366
20385
 
20367
20386
  /**
20368
- * Value selected for the dropdown menu.
20387
+ * Value selected for the dropdown menu. When set programmatically or as a preset attribute, the value must match a selectable option. If it matches an option marked `disabled` or `static`, the selection is rejected: `value` and `optionSelected` are cleared to `undefined`. `hidden` options (including those filtered out by type-ahead) remain selectable by value.
20369
20388
  */
20370
20389
  value: {
20371
20390
  type: String
@@ -925,6 +925,23 @@ const comboboxKeyboardStrategy = {
925
925
  },
926
926
 
927
927
  Tab(component, evt, ctx) {
928
+ // Runs for both Tab and Shift+Tab.
929
+ //
930
+ // Current behavior:
931
+ // Tab — select the active option, close the bib, and (in fullscreen
932
+ // modal mode only) explicitly move focus to the trigger's
933
+ // clear button. In desktop popover mode the browser's native
934
+ // tab traversal takes focus forward from the input.
935
+ // Shift+Tab — select the active option and close the bib. Focus then
936
+ // lands on the trigger's clear button as a byproduct of the
937
+ // shadow-DOM tab order, so keyboard users must press
938
+ // Shift+Tab three times to exit the component (clear button
939
+ // → input → previous element on the page).
940
+ //
941
+ // Intended behavior for Shift+Tab (per team decision, tracked in
942
+ // AB#1590650): a single Shift+Tab should select the active option, close
943
+ // the bib, and move focus directly to the previous focusable element on
944
+ // the page — symmetric with Tab.
928
945
  if (ctx.isExpanded && !isClearBtnFocused(ctx)) {
929
946
  // When the clear button is focused, Tab events do not bubble out of
930
947
  // its shadow DOM, so this handler only fires when the clear button
@@ -4812,7 +4829,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4812
4829
  }
4813
4830
  };
4814
4831
 
4815
- var formkitVersion$2 = '202607081857';
4832
+ var formkitVersion$2 = '202607082225';
4816
4833
 
4817
4834
  let AuroElement$2 = class AuroElement extends LitElement {
4818
4835
  static get properties() {
@@ -18430,7 +18447,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
18430
18447
  }
18431
18448
  };
18432
18449
 
18433
- var formkitVersion$1 = '202607081857';
18450
+ var formkitVersion$1 = '202607082225';
18434
18451
 
18435
18452
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
18436
18453
  // See LICENSE in the project root for license information.
@@ -19551,7 +19568,7 @@ class AuroBibtemplate extends LitElement {
19551
19568
  }
19552
19569
  }
19553
19570
 
19554
- var formkitVersion = '202607081857';
19571
+ var formkitVersion = '202607082225';
19555
19572
 
19556
19573
  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}`;
19557
19574
 
@@ -20334,6 +20351,8 @@ class AuroCombobox extends AuroElement {
20334
20351
 
20335
20352
  /**
20336
20353
  * If set, the `icon` attribute will be applied to the trigger `auro-input` element.
20354
+ * Icon rendering is currently limited to `type="credit-card"`. Setting `triggerIcon`
20355
+ * without a supported `type` propagates the attribute but does not render a visible icon.
20337
20356
  */
20338
20357
  triggerIcon: {
20339
20358
  type: Boolean,
@@ -20365,7 +20384,7 @@ class AuroCombobox extends AuroElement {
20365
20384
  },
20366
20385
 
20367
20386
  /**
20368
- * Value selected for the dropdown menu.
20387
+ * Value selected for the dropdown menu. When set programmatically or as a preset attribute, the value must match a selectable option. If it matches an option marked `disabled` or `static`, the selection is rejected: `value` and `optionSelected` are cleared to `undefined`. `hidden` options (including those filtered out by type-ahead) remain selectable by value.
20369
20388
  */
20370
20389
  value: {
20371
20390
  type: String
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202607081857';
1117
+ var formkitVersion$1 = '202607082225';
1118
1118
 
1119
1119
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1120
1120
  // See LICENSE in the project root for license information.
@@ -5460,7 +5460,7 @@ class AuroHelpText extends i$2 {
5460
5460
  }
5461
5461
  }
5462
5462
 
5463
- var formkitVersion = '202607081857';
5463
+ var formkitVersion = '202607082225';
5464
5464
 
5465
5465
  let AuroElement$1 = class AuroElement extends i$2 {
5466
5466
  static get properties() {
@@ -1114,7 +1114,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1114
1114
  }
1115
1115
  };
1116
1116
 
1117
- var formkitVersion$1 = '202607081857';
1117
+ var formkitVersion$1 = '202607082225';
1118
1118
 
1119
1119
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1120
1120
  // See LICENSE in the project root for license information.
@@ -5460,7 +5460,7 @@ class AuroHelpText extends i$2 {
5460
5460
  }
5461
5461
  }
5462
5462
 
5463
- var formkitVersion = '202607081857';
5463
+ var formkitVersion = '202607082225';
5464
5464
 
5465
5465
  let AuroElement$1 = class AuroElement extends i$2 {
5466
5466
  static get properties() {
@@ -1064,7 +1064,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1064
1064
  }
1065
1065
  };
1066
1066
 
1067
- var formkitVersion$1 = '202607081857';
1067
+ var formkitVersion$1 = '202607082225';
1068
1068
 
1069
1069
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1070
1070
  // See LICENSE in the project root for license information.
@@ -5392,7 +5392,7 @@ class AuroHelpText extends LitElement {
5392
5392
  }
5393
5393
  }
5394
5394
 
5395
- var formkitVersion = '202607081857';
5395
+ var formkitVersion = '202607082225';
5396
5396
 
5397
5397
  let AuroElement$1 = class AuroElement extends LitElement {
5398
5398
  static get properties() {
@@ -1064,7 +1064,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1064
1064
  }
1065
1065
  };
1066
1066
 
1067
- var formkitVersion$1 = '202607081857';
1067
+ var formkitVersion$1 = '202607082225';
1068
1068
 
1069
1069
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1070
1070
  // See LICENSE in the project root for license information.
@@ -5392,7 +5392,7 @@ class AuroHelpText extends LitElement {
5392
5392
  }
5393
5393
  }
5394
5394
 
5395
- var formkitVersion = '202607081857';
5395
+ var formkitVersion = '202607082225';
5396
5396
 
5397
5397
  let AuroElement$1 = class AuroElement extends LitElement {
5398
5398
  static get properties() {
@@ -13717,7 +13717,7 @@ class AuroBibtemplate extends i$1 {
13717
13717
  }
13718
13718
  }
13719
13719
 
13720
- var formkitVersion$2 = '202607081857';
13720
+ var formkitVersion$2 = '202607082225';
13721
13721
 
13722
13722
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
13723
13723
  `,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, .05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, .05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, .05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, .05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, .05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, .1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -19634,7 +19634,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
19634
19634
  }
19635
19635
  };
19636
19636
 
19637
- var formkitVersion$1 = '202607081857';
19637
+ var formkitVersion$1 = '202607082225';
19638
19638
 
19639
19639
  let AuroElement$2 = class AuroElement extends i$1 {
19640
19640
  static get properties() {
@@ -33259,7 +33259,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
33259
33259
  }
33260
33260
  };
33261
33261
 
33262
- var formkitVersion = '202607081857';
33262
+ var formkitVersion = '202607082225';
33263
33263
 
33264
33264
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
33265
33265
  // See LICENSE in the project root for license information.