@aurodesignsystem-dev/auro-formkit 0.0.0-pr1447.0 → 0.0.0-pr1451.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 (113) hide show
  1. package/components/checkbox/demo/api.md +203 -223
  2. package/components/checkbox/demo/api.min.js +5 -3
  3. package/components/checkbox/demo/index.md +21 -23
  4. package/components/checkbox/demo/index.min.js +5 -3
  5. package/components/checkbox/demo/keyboard-behavior.md +39 -0
  6. package/components/checkbox/demo/readme.md +23 -35
  7. package/components/checkbox/dist/auro-checkbox.d.ts +2 -2
  8. package/components/checkbox/dist/index.js +5 -3
  9. package/components/checkbox/dist/registered.js +5 -3
  10. package/components/combobox/README.md +13 -3
  11. package/components/combobox/demo/accessibility.html +57 -0
  12. package/components/combobox/demo/accessibility.md +77 -0
  13. package/components/combobox/demo/api.html +24 -0
  14. package/components/combobox/demo/api.md +1613 -1685
  15. package/components/combobox/demo/api.min.js +3 -3
  16. package/components/combobox/demo/design.html +83 -0
  17. package/components/combobox/demo/design.md +283 -0
  18. package/components/combobox/demo/index.html +49 -16
  19. package/components/combobox/demo/index.js +3 -2
  20. package/components/combobox/demo/index.md +861 -185
  21. package/components/combobox/demo/index.min.js +29 -4
  22. package/components/combobox/demo/install.html +84 -0
  23. package/components/combobox/demo/install.js +24 -0
  24. package/components/combobox/demo/install.md +100 -0
  25. package/components/combobox/demo/install.min.js +17991 -0
  26. package/components/combobox/demo/{keyboardBehavior.html → keyboard-behavior.html} +2 -1
  27. package/components/combobox/demo/keyboard-behavior.md +276 -0
  28. package/components/combobox/demo/layout.md +112 -0
  29. package/components/combobox/demo/readme.html +25 -1
  30. package/components/combobox/demo/readme.md +50 -52
  31. package/components/combobox/demo/styles.css +141 -0
  32. package/components/combobox/demo/voiceover.html +66 -0
  33. package/components/combobox/demo/voiceover.md +118 -0
  34. package/components/combobox/dist/index.js +3 -3
  35. package/components/combobox/dist/registered.js +3 -3
  36. package/components/counter/demo/api.md +751 -819
  37. package/components/counter/demo/api.min.js +2 -2
  38. package/components/counter/demo/index.md +35 -39
  39. package/components/counter/demo/index.min.js +2 -2
  40. package/components/counter/demo/keyboard-behavior.md +127 -0
  41. package/components/counter/demo/readme.md +39 -51
  42. package/components/counter/dist/index.js +2 -2
  43. package/components/counter/dist/registered.js +2 -2
  44. package/components/datepicker/demo/api.md +829 -932
  45. package/components/datepicker/demo/api.min.js +13 -10
  46. package/components/datepicker/demo/index.md +79 -87
  47. package/components/datepicker/demo/index.min.js +13 -10
  48. package/components/datepicker/demo/keyboard-behavior.md +19 -0
  49. package/components/datepicker/demo/readme.md +19 -31
  50. package/components/datepicker/dist/index.js +13 -10
  51. package/components/datepicker/dist/registered.js +13 -10
  52. package/components/dropdown/demo/api.md +795 -851
  53. package/components/dropdown/demo/api.min.js +1 -1
  54. package/components/dropdown/demo/index.md +145 -155
  55. package/components/dropdown/demo/index.min.js +1 -1
  56. package/components/dropdown/demo/keyboard-behavior.md +72 -0
  57. package/components/dropdown/demo/readme.md +39 -51
  58. package/components/dropdown/dist/index.js +1 -1
  59. package/components/dropdown/dist/registered.js +1 -1
  60. package/components/form/demo/api.md +173 -179
  61. package/components/form/demo/api.min.js +27 -22
  62. package/components/form/demo/index.md +27 -33
  63. package/components/form/demo/index.min.js +27 -22
  64. package/components/form/demo/keyboard-behavior.md +38 -0
  65. package/components/form/demo/readme.md +14 -28
  66. package/components/input/demo/api.md +572 -664
  67. package/components/input/demo/api.min.js +1 -1
  68. package/components/input/demo/index.md +93 -99
  69. package/components/input/demo/index.min.js +1 -1
  70. package/components/input/demo/keyboard-behavior.md +25 -0
  71. package/components/input/demo/readme.md +17 -29
  72. package/components/input/dist/index.js +1 -1
  73. package/components/input/dist/registered.js +1 -1
  74. package/components/menu/demo/api.md +742 -786
  75. package/components/menu/demo/index.md +35 -37
  76. package/components/menu/demo/keyboard-behavior.md +18 -0
  77. package/components/menu/demo/readme.md +23 -35
  78. package/components/radio/demo/api.md +318 -350
  79. package/components/radio/demo/api.min.js +1 -1
  80. package/components/radio/demo/index.md +25 -29
  81. package/components/radio/demo/index.min.js +1 -1
  82. package/components/radio/demo/keyboard-behavior.md +72 -0
  83. package/components/radio/demo/readme.md +21 -33
  84. package/components/radio/dist/index.js +1 -1
  85. package/components/radio/dist/registered.js +1 -1
  86. package/components/select/README.md +12 -1
  87. package/components/select/demo/accessibility.html +65 -0
  88. package/components/select/demo/accessibility.md +76 -0
  89. package/components/select/demo/api.md +1713 -1793
  90. package/components/select/demo/api.min.js +2 -2
  91. package/components/select/demo/index.html +247 -37
  92. package/components/select/demo/index.md +225 -345
  93. package/components/select/demo/index.min.js +2 -2
  94. package/components/select/demo/keyboard-behavior.md +39 -0
  95. package/components/select/demo/layout.html +59 -0
  96. package/components/select/demo/layout.md +299 -0
  97. package/components/select/demo/readme.md +45 -46
  98. package/components/select/demo/voiceover.html +65 -0
  99. package/components/select/demo/voiceover.md +183 -0
  100. package/components/select/dist/index.js +2 -2
  101. package/components/select/dist/registered.js +2 -2
  102. package/custom-elements.json +1661 -1658
  103. package/package.json +23 -20
  104. package/components/checkbox/demo/keyboardBehavior.md +0 -0
  105. package/components/combobox/demo/keyboardBehavior.md +0 -281
  106. package/components/counter/demo/keyboardBehavior.md +0 -127
  107. package/components/datepicker/demo/keyboardBehavior.md +0 -19
  108. package/components/dropdown/demo/keyboardBehavior.md +0 -77
  109. package/components/form/demo/keyboardBehavior.md +0 -0
  110. package/components/input/demo/keyboardBehavior.md +0 -0
  111. package/components/menu/demo/keyboardBehavior.md +0 -0
  112. package/components/radio/demo/keyboardBehavior.md +0 -0
  113. package/components/select/demo/keyboardBehavior.md +0 -245
@@ -146,6 +146,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
146
146
  // See LICENSE in the project root for license information.
147
147
 
148
148
 
149
+ /* eslint-disable jsdoc/no-undefined-types -- @fires event names are not types */
149
150
  /**
150
151
  * The `auro-checkbox` element is for the purpose of allowing users to select one or more options of a limited number of choices.
151
152
  * @customElement auro-checkbox
@@ -156,9 +157,10 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
156
157
  *
157
158
  * @slot default - The default slot for the checkbox label.
158
159
  *
159
- * @fires {CustomEvent<any>} change - (Deprecated) Notifies when checked value is changed.
160
- * @fires {InputEvent} input - Notifies when when checked value is changed by user's interface.
160
+ * @fires change - (Deprecated) Notifies when checked value is changed.
161
+ * @fires input - Notifies when when checked value is changed by user's interface.
161
162
  */
163
+ /* eslint-enable jsdoc/no-undefined-types */
162
164
 
163
165
  // build the component class
164
166
  class AuroCheckbox extends i$2 {
@@ -1687,7 +1689,7 @@ class AuroHelpText extends i$2 {
1687
1689
  }
1688
1690
  }
1689
1691
 
1690
- var formkitVersion = '202604222117';
1692
+ var formkitVersion = '202604232130';
1691
1693
 
1692
1694
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1693
1695
  // See LICENSE in the project root for license information.
@@ -1,7 +1,7 @@
1
1
  <!--
2
- THIS PAGE'S CONTENT SHOULD BE KEPT MINIMAL.
3
- ONLY ADD EXAMPLES THAT ARE TRULY NECESSARY FOR THE INDEX PAGE — THE BASIC EXAMPLE IS USUALLY ENOUGH.
4
- ALL OTHER EXAMPLES SHOULD GO IN THE API DOCUMENTATION.
2
+ THIS PAGE'S CONTENT SHOULD BE KEPT MINIMAL.
3
+ ONLY ADD EXAMPLES THAT ARE TRULY NECESSARY FOR THE INDEX PAGE — THE BASIC EXAMPLE IS USUALLY ENOUGH.
4
+ ALL OTHER EXAMPLES SHOULD GO IN THE API DOCUMENTATION.
5
5
  -->
6
6
 
7
7
  # Checkbox
@@ -26,30 +26,28 @@ The `<auro-checkbox>` element should be used in situations where users may:
26
26
  ### Basic
27
27
 
28
28
  <div class="exampleWrapper">
29
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/basic.html) -->
30
- <!-- The below content is automatically added from ./../apiExamples/basic.html -->
31
- <auro-checkbox-group>
32
- <span slot="legend">Form label goes here</span>
33
- <auro-checkbox value="value1" name="basic" id="checkbox-basic1">Checkbox option</auro-checkbox>
34
- <auro-checkbox value="value2" name="basic" id="checkbox-basic2" checked>Checkbox option</auro-checkbox>
35
- <auro-checkbox value="value3" name="basic" id="checkbox-basic3">Checkbox option that has some extra text that should wrap when rendered in a narrow container</auro-checkbox>
36
- <auro-checkbox value="value4" name="basic" id="checkbox-basic4">Checkbox option</auro-checkbox>
37
- </auro-checkbox-group>
38
- <!-- AURO-GENERATED-CONTENT:END -->
29
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/basic.html) -->
30
+ <!-- The below content is automatically added from ./../apiExamples/basic.html -->
31
+ <auro-checkbox-group>
32
+ <span slot="legend">Form label goes here</span>
33
+ <auro-checkbox value="value1" name="basic" id="checkbox-basic1">Checkbox option</auro-checkbox>
34
+ <auro-checkbox value="value2" name="basic" id="checkbox-basic2" checked>Checkbox option</auro-checkbox>
35
+ <auro-checkbox value="value3" name="basic" id="checkbox-basic3">Checkbox option that has some extra text that should wrap when rendered in a narrow container</auro-checkbox>
36
+ <auro-checkbox value="value4" name="basic" id="checkbox-basic4">Checkbox option</auro-checkbox>
37
+ </auro-checkbox-group>
38
+ <!-- AURO-GENERATED-CONTENT:END -->
39
39
  </div>
40
40
  <auro-accordion alignRight>
41
- <span slot="trigger">See code</span>
41
+ <span slot="trigger">See code</span>
42
42
  <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/basic.html) -->
43
43
  <!-- The below code snippet is automatically added from ./../apiExamples/basic.html -->
44
44
 
45
- ```html
46
- <auro-checkbox-group>
47
- <span slot="legend">Form label goes here</span>
48
- <auro-checkbox value="value1" name="basic" id="checkbox-basic1">Checkbox option</auro-checkbox>
49
- <auro-checkbox value="value2" name="basic" id="checkbox-basic2" checked>Checkbox option</auro-checkbox>
50
- <auro-checkbox value="value3" name="basic" id="checkbox-basic3">Checkbox option that has some extra text that should wrap when rendered in a narrow container</auro-checkbox>
51
- <auro-checkbox value="value4" name="basic" id="checkbox-basic4">Checkbox option</auro-checkbox>
52
- </auro-checkbox-group>
53
- ```
45
+ <pre class="language-html"><code class="language-html">&lt;auro-checkbox-group&gt;
46
+ &lt;span slot="legend"&gt;Form label goes here&lt;/span&gt;
47
+ &lt;auro-checkbox value="value1" name="basic" id="checkbox-basic1"&gt;Checkbox option&lt;/auro-checkbox&gt;
48
+ &lt;auro-checkbox value="value2" name="basic" id="checkbox-basic2" checked&gt;Checkbox option&lt;/auro-checkbox&gt;
49
+ &lt;auro-checkbox value="value3" name="basic" id="checkbox-basic3"&gt;Checkbox option that has some extra text that should wrap when rendered in a narrow container&lt;/auro-checkbox&gt;
50
+ &lt;auro-checkbox value="value4" name="basic" id="checkbox-basic4"&gt;Checkbox option&lt;/auro-checkbox&gt;
51
+ &lt;/auro-checkbox-group&gt;</code></pre>
54
52
  <!-- AURO-GENERATED-CONTENT:END -->
55
53
  </auro-accordion>
@@ -138,6 +138,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
138
138
  // See LICENSE in the project root for license information.
139
139
 
140
140
 
141
+ /* eslint-disable jsdoc/no-undefined-types -- @fires event names are not types */
141
142
  /**
142
143
  * The `auro-checkbox` element is for the purpose of allowing users to select one or more options of a limited number of choices.
143
144
  * @customElement auro-checkbox
@@ -148,9 +149,10 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
148
149
  *
149
150
  * @slot default - The default slot for the checkbox label.
150
151
  *
151
- * @fires {CustomEvent<any>} change - (Deprecated) Notifies when checked value is changed.
152
- * @fires {InputEvent} input - Notifies when when checked value is changed by user's interface.
152
+ * @fires change - (Deprecated) Notifies when checked value is changed.
153
+ * @fires input - Notifies when when checked value is changed by user's interface.
153
154
  */
155
+ /* eslint-enable jsdoc/no-undefined-types */
154
156
 
155
157
  // build the component class
156
158
  class AuroCheckbox extends i$2 {
@@ -1679,7 +1681,7 @@ class AuroHelpText extends i$2 {
1679
1681
  }
1680
1682
  }
1681
1683
 
1682
- var formkitVersion = '202604222117';
1684
+ var formkitVersion = '202604232130';
1683
1685
 
1684
1686
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1685
1687
  // See LICENSE in the project root for license information.
@@ -0,0 +1,39 @@
1
+ <auro-header level="1" id="overview">Checkbox - Keyboard Behavior</auro-header>
2
+ <div class="contentWrapper">
3
+ <div class="mainContent">
4
+ <div class="scrollWrapper">
5
+ <auro-header level="2" id="tabBehavior">Tab Behavior</auro-header>
6
+ <p>Each <code>&lt;auro-checkbox&gt;</code> participates independently in the browser's default <code>tabindex</code> sequence. When a checkbox is <code>disabled</code> it is removed from the <code>tabindex</code> sequence.</p>
7
+ <p>Arrow key navigation within a <code>&lt;auro-checkbox-group&gt;</code> is not currently supported.</p>
8
+ <auro-header level="2" id="keyEvents">Key Events</auro-header>
9
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/keyEvents.md) -->
10
+ <!-- The below content is automatically added from ./../docs/partials/keyEvents.md -->
11
+ <table>
12
+ <thead>
13
+ <tr>
14
+ <th>Key</th>
15
+ <th>Modifier</th>
16
+ <th>Current State</th>
17
+ <th>Focus Element</th>
18
+ <th>Behavior</th>
19
+ </tr>
20
+ </thead>
21
+ <tbody>
22
+ <tr>
23
+ <td>Space</td>
24
+ <td>-</td>
25
+ <td>Not disabled</td>
26
+ <td>Checkbox element</td>
27
+ <td>
28
+ Toggles the <code>checked</code> state. Calls <code>preventDefault()</code> to block page scroll.
29
+ </td>
30
+ </tr>
31
+ </tbody>
32
+ </table>
33
+ <div class="note">
34
+ <p><strong>Note:</strong> Arrow key navigation within a <code>&lt;auro-checkbox-group&gt;</code> is not currently supported. Each checkbox participates independently in the browser's default <code>tabindex</code> sequence.</p>
35
+ </div>
36
+ <!-- AURO-GENERATED-CONTENT:END -->
37
+ </div>
38
+ </div>
39
+ </div>
@@ -45,9 +45,7 @@ The `<auro-checkbox>` element should be used in situations where users may:
45
45
 
46
46
  #### NPM Installation
47
47
 
48
- ```shell
49
- $ npm i @aurodesignsystem/auro-formkit
50
- ```
48
+ <pre class="language-shell"><code class="language-shell">$ npm i @aurodesignsystem/auro-formkit</code></pre>
51
49
  <!-- AURO-GENERATED-CONTENT:END -->
52
50
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=../../docs/templates/gettingStarted.md) -->
53
51
  <!-- The below content is automatically added from ../../docs/templates/gettingStarted.md -->
@@ -56,13 +54,11 @@ $ npm i @aurodesignsystem/auro-formkit
56
54
 
57
55
  When using TypeScript set `moduleResolution` to `bundler`, add the following to your `tsconfig.json`:
58
56
 
59
- ```json
60
- {
57
+ <pre class="language-json"><code class="language-json">{
61
58
  "compilerOptions": {
62
59
  "moduleResolution": "bundler"
63
60
  }
64
- }
65
- ```
61
+ }</code></pre>
66
62
 
67
63
  This configuration enables proper module resolution for the component's TypeScript files.
68
64
  <!-- AURO-GENERATED-CONTENT:END -->
@@ -73,9 +69,7 @@ This configuration enables proper module resolution for the component's TypeScri
73
69
  <!-- The below content is automatically added from ../../docs/templates/bundleInstallDescription.md -->
74
70
  In cases where the project is not able to process JS assets, there are pre-processed assets available for use. Legacy browsers such as IE11 are no longer supported.
75
71
 
76
- ```html
77
- <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-checkbox/+esm"></script>
78
- ```
72
+ <pre class="language-html"><code class="language-html">&lt;script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-checkbox/+esm"&gt;&lt;/script&gt;</code></pre>
79
73
  <!-- AURO-GENERATED-CONTENT:END -->
80
74
 
81
75
  ## Formkit Development
@@ -89,9 +83,7 @@ Running the `dev` command will open a `localhost` development server for all com
89
83
 
90
84
  To only develop a single component, use the `--filter` flag:
91
85
 
92
- ```shell
93
- npx turbo dev --filter=@aurodesignsystem/auro-input
94
- ```
86
+ <pre class="language-shell"><code class="language-shell">npx turbo dev --filter=@aurodesignsystem/auro-input</code></pre>
95
87
  <!-- AURO-GENERATED-CONTENT:END -->
96
88
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/customRegistration.md) -->
97
89
  <!-- The below content is automatically added from ./docs/partials/customRegistration.md -->
@@ -106,37 +98,33 @@ However, if you need to load multiple versions of the same component on a single
106
98
 
107
99
  You can do this by importing only the component class and using the `register(name)` method with a unique name:
108
100
 
109
- ```js
110
- // Import the class only
101
+ <pre class="language-js"><code class="language-js">// Import the class only
111
102
  import { AuroCheckbox, AuroCheckboxGroup } from '@aurodesignsystem/auro-formkit/auro-checkbox/class';
112
-
103
+
113
104
  // Register with a custom name if desired
114
105
  AuroCheckbox.register('custom-checkbox');
115
- AuroCheckboxGroup.register('custom-checkbox-group');
116
- ```
106
+ AuroCheckboxGroup.register('custom-checkbox-group');</code></pre>
117
107
 
118
108
  This will create a new custom element `<custom-checkbox>` and `<custom-checkbox-group>` that behaves exactly like `<auro-checkbox>` and `<auro-checkbox-group>`, allowing both to coexist on the same page without interfering with each other.
119
109
 
120
110
  <div class="exampleWrapper exampleWrapper--flex">
121
- <custom-checkbox-group>
122
- <span slot="legend">Form label goes here</span>
123
- <custom-checkbox value="value1" name="custom" id="checkbox-custom1">Custom checkbox option</custom-checkbox>
124
- <custom-checkbox value="value2" name="custom" id="checkbox-custom2" checked>Custom checkbox option</custom-checkbox>
125
- <custom-checkbox value="value3" name="custom" id="checkbox-custom3">Custom checkbox option</custom-checkbox>
126
- <custom-checkbox value="value4" name="custom" id="checkbox-custom4">Custom checkbox option</custom-checkbox>
127
- </custom-checkbox-group>
111
+ <custom-checkbox-group>
112
+ <span slot="legend">Form label goes here</span>
113
+ <custom-checkbox value="value1" name="custom" id="checkbox-custom1">Custom checkbox option</custom-checkbox>
114
+ <custom-checkbox value="value2" name="custom" id="checkbox-custom2" checked>Custom checkbox option</custom-checkbox>
115
+ <custom-checkbox value="value3" name="custom" id="checkbox-custom3">Custom checkbox option</custom-checkbox>
116
+ <custom-checkbox value="value4" name="custom" id="checkbox-custom4">Custom checkbox option</custom-checkbox>
117
+ </custom-checkbox-group>
128
118
  </div>
129
119
  <auro-accordion alignRight>
130
- <span slot="trigger">See code</span>
120
+ <span slot="trigger">See code</span>
131
121
 
132
- ```html
133
- <custom-checkbox-group>
134
- <span slot="legend">Form label goes here</span>
135
- <custom-checkbox value="value1" name="custom" id="checkbox-custom1">Custom checkbox option</custom-checkbox>
136
- <custom-checkbox value="value2" name="custom" id="checkbox-custom2" checked>Custom checkbox option</custom-checkbox>
137
- <custom-checkbox value="value3" name="custom" id="checkbox-custom3">Custom checkbox option</custom-checkbox>
138
- <custom-checkbox value="value4" name="custom" id="checkbox-custom4">Custom checkbox option</custom-checkbox>
139
- </custom-checkbox-group>
140
- ```
122
+ <pre class="language-html"><code class="language-html">&lt;custom-checkbox-group&gt;
123
+ &lt;span slot="legend"&gt;Form label goes here&lt;/span&gt;
124
+ &lt;custom-checkbox value="value1" name="custom" id="checkbox-custom1"&gt;Custom checkbox option&lt;/custom-checkbox&gt;
125
+ &lt;custom-checkbox value="value2" name="custom" id="checkbox-custom2" checked&gt;Custom checkbox option&lt;/custom-checkbox&gt;
126
+ &lt;custom-checkbox value="value3" name="custom" id="checkbox-custom3"&gt;Custom checkbox option&lt;/custom-checkbox&gt;
127
+ &lt;custom-checkbox value="value4" name="custom" id="checkbox-custom4"&gt;Custom checkbox option&lt;/custom-checkbox&gt;
128
+ &lt;/custom-checkbox-group&gt;</code></pre>
141
129
  </auro-accordion>
142
130
  <!-- AURO-GENERATED-CONTENT:END -->
@@ -8,8 +8,8 @@
8
8
  *
9
9
  * @slot default - The default slot for the checkbox label.
10
10
  *
11
- * @fires {CustomEvent<any>} change - (Deprecated) Notifies when checked value is changed.
12
- * @fires {InputEvent} input - Notifies when when checked value is changed by user's interface.
11
+ * @fires change - (Deprecated) Notifies when checked value is changed.
12
+ * @fires input - Notifies when when checked value is changed by user's interface.
13
13
  */
14
14
  export class AuroCheckbox extends LitElement {
15
15
  static get styles(): import("lit").CSSResult[];
@@ -98,6 +98,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
98
98
  // See LICENSE in the project root for license information.
99
99
 
100
100
 
101
+ /* eslint-disable jsdoc/no-undefined-types -- @fires event names are not types */
101
102
  /**
102
103
  * The `auro-checkbox` element is for the purpose of allowing users to select one or more options of a limited number of choices.
103
104
  * @customElement auro-checkbox
@@ -108,9 +109,10 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
108
109
  *
109
110
  * @slot default - The default slot for the checkbox label.
110
111
  *
111
- * @fires {CustomEvent<any>} change - (Deprecated) Notifies when checked value is changed.
112
- * @fires {InputEvent} input - Notifies when when checked value is changed by user's interface.
112
+ * @fires change - (Deprecated) Notifies when checked value is changed.
113
+ * @fires input - Notifies when when checked value is changed by user's interface.
113
114
  */
115
+ /* eslint-enable jsdoc/no-undefined-types */
114
116
 
115
117
  // build the component class
116
118
  class AuroCheckbox extends LitElement {
@@ -1632,7 +1634,7 @@ class AuroHelpText extends LitElement {
1632
1634
  }
1633
1635
  }
1634
1636
 
1635
- var formkitVersion = '202604222117';
1637
+ var formkitVersion = '202604232130';
1636
1638
 
1637
1639
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1638
1640
  // See LICENSE in the project root for license information.
@@ -98,6 +98,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
98
98
  // See LICENSE in the project root for license information.
99
99
 
100
100
 
101
+ /* eslint-disable jsdoc/no-undefined-types -- @fires event names are not types */
101
102
  /**
102
103
  * The `auro-checkbox` element is for the purpose of allowing users to select one or more options of a limited number of choices.
103
104
  * @customElement auro-checkbox
@@ -108,9 +109,10 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
108
109
  *
109
110
  * @slot default - The default slot for the checkbox label.
110
111
  *
111
- * @fires {CustomEvent<any>} change - (Deprecated) Notifies when checked value is changed.
112
- * @fires {InputEvent} input - Notifies when when checked value is changed by user's interface.
112
+ * @fires change - (Deprecated) Notifies when checked value is changed.
113
+ * @fires input - Notifies when when checked value is changed by user's interface.
113
114
  */
115
+ /* eslint-enable jsdoc/no-undefined-types */
114
116
 
115
117
  // build the component class
116
118
  class AuroCheckbox extends LitElement {
@@ -1632,7 +1634,7 @@ class AuroHelpText extends LitElement {
1632
1634
  }
1633
1635
  }
1634
1636
 
1635
- var formkitVersion = '202604222117';
1637
+ var formkitVersion = '202604232130';
1636
1638
 
1637
1639
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1638
1640
  // See LICENSE in the project root for license information.
@@ -21,9 +21,19 @@ The following sections are editable by making changes to the following files:
21
21
 
22
22
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/description.md) -->
23
23
  <!-- The below content is automatically added from ./docs/partials/description.md -->
24
- `<auro-combobox>` is the combination of [dropdown](http://auro.alaskaair.com/components/auro/dropdown), [input](http://auro.alaskaair.com/components/auro/input), and [menu](http://auro.alaskaair.com/components/auro/menu) and allows users to filter search results from a predefined list as they type. When the user starts typing in the text input, a dropdown of a menu shows up to display options that match the user’s search.
25
-
26
- By default, `auro-combobox` behaves as a suggestion list. This means any value may be typed into the combobox and the menu list presented effectively provides sample or suggestion options. With the use of the `persistInput` attribute the `auro-combobox` behaves as a filter of menu options. In this mode. typing into the input field will execute the filter but will not set the `value` of the combobox. The combobox value is set by selecting a menu option. Clicking the `X` clear button in the input will remove the current value of the HTML5 input causing the menu filter to reset as well as remove the current value of the combobox.
24
+ <p><code>&lt;auro-combobox&gt;</code> combines a text input with a filterable dropdown menu, letting users either type a value or pick one from a list. As the user types, the menu narrows to show only matching options.</p>
25
+ <p>The component supports two modes:</p>
26
+ <ul>
27
+ <li><strong>Suggestion (default)</strong> — The user may type any value. The menu provides suggestions but does not restrict input.</li>
28
+ <li><strong>Filter</strong> — The user must select from the menu. Typing filters the available options but does not set the component's value. The value is only set when a menu option is selected.</li>
29
+ </ul>
30
+ <p>Common use cases:</p>
31
+ <ul>
32
+ <li><strong>Airport or city search</strong> — Type a city name or airport code to filter a long list of destinations.</li>
33
+ <li><strong>Country or region selection</strong> — Quickly find and select from a large set of geographic options.</li>
34
+ <li><strong>Autocomplete fields</strong> — Provide type-ahead suggestions for form fields where the set of valid values is known.</li>
35
+ <li><strong>Search with suggestions</strong> — Offer recommended results while still allowing freeform input.</li>
36
+ </ul>
27
37
  <!-- AURO-GENERATED-CONTENT:END -->
28
38
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/readmeAddlInfo.md) -->
29
39
  <!-- The below content is automatically added from ./docs/partials/readmeAddlInfo.md -->
@@ -0,0 +1,57 @@
1
+ <!--
2
+ Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
3
+ See LICENSE in the project root for license information.
4
+
5
+ HTML in this document is standardized and NOT to be edited.
6
+ All demo code should be added/edited in ./demo/accessibility.md
7
+
8
+ With the exception of adding custom elements if needed for the demo.
9
+
10
+ ----------------------- DO NOT EDIT -----------------------------
11
+
12
+ -->
13
+
14
+ <!DOCTYPE html>
15
+ <html lang="en">
16
+ <head>
17
+ <meta charset="UTF-8" />
18
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
19
+ <title>Auro Web Component Demo | auro-combobox | Accessibility</title>
20
+
21
+ <!-- Prism.js Stylesheet -->
22
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/prismjs@1.24.1/themes/prism.css"/>
23
+
24
+ <!-- Legacy reference is still needed to support auro-combobox's use of legacy token values at this time -->
25
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/legacy/auro-classic/CSSCustomProperties.css"/>
26
+
27
+ <!-- Design Token Alaska Theme -->
28
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/themes/alaska/CSSCustomProperties--alaska.min.css"/>
29
+
30
+ <!-- Webcore Stylesheet Alaska Theme -->
31
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/bundled/themes/alaska.global.min.css" />
32
+
33
+ <!-- Demo Specific Styles -->
34
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/demoWrapper.css" />
35
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/elementDemoStyles.css" />
36
+ <link rel="stylesheet" type="text/css" href="./styles.css" />
37
+ </head>
38
+ <body class="auro-markdown">
39
+ <main></main>
40
+
41
+ <script type="module">
42
+ import 'https://cdn.jsdelivr.net/npm/marked@latest/marked.min.js';
43
+ import 'https://cdn.jsdelivr.net/npm/prismjs@latest/prism.js';
44
+ fetch('./accessibility.md')
45
+ .then((response) => response.text())
46
+ .then((text) => {
47
+ const rawHtml = marked.parse(text);
48
+ document.querySelector('main').innerHTML = rawHtml;
49
+ Prism.highlightAll();
50
+ });
51
+ </script>
52
+
53
+ <!-- If additional elements are needed for the demo, add them here. -->
54
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-header@latest/+esm" type="module"></script>
55
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-hyperlink@latest/+esm" type="module"></script>
56
+ </body>
57
+ </html>
@@ -0,0 +1,77 @@
1
+ <auro-header level="1" id="overview">Combobox - Accessibility</auro-header>
2
+ <div class="contentWrapper">
3
+ <div class="mainContent">
4
+ <div class="scrollWrapper">
5
+ The `auro-combobox` component follows the <a href="https://www.w3.org/WAI/ARIA/apg/patterns/combobox/" target="_blank">W3C APG Combobox</a> pattern. This page documents the ARIA semantics, screen reader announcements, and other accessibility behaviors built into the component.
6
+
7
+ For keyboard interaction details, see the <a href="./keyboardBehavior.html">Keyboard Behavior</a> page.
8
+
9
+ <auro-header level="2" id="ariaRolesAndAttributes">ARIA Roles and Attributes</auro-header>
10
+ <auro-header level="3" id="trigger">Trigger</auro-header>
11
+ The trigger element exposes the following ARIA attributes:
12
+
13
+ | Attribute | Value | Description |
14
+ |---|---|---|
15
+ | `role` | `combobox` | Identifies the trigger as a combobox control. |
16
+ | `aria-expanded` | `true` / `false` | Reflects whether the bib (listbox) is currently open. |
17
+ | `aria-controls` | `{bib-id}` | References the bib element that the trigger controls. |
18
+ | `aria-labelledby` | `{label-id}` | Associates the trigger with its visible label text. |
19
+ | `aria-activedescendant` | `{option-id}` | Points to the currently highlighted option when the bib is open. Cleared when the bib closes. |
20
+ | `aria-autocomplete` | `list` / `both` | Indicates the type of autocomplete behavior provided by the combobox. |
21
+
22
+ <auro-header level="3" id="menuOptions">Menu Options</auro-header>
23
+ Each menu option exposes the following ARIA attributes:
24
+
25
+ | Attribute | Value | Description |
26
+ |---|---|---|
27
+ | `role` | `option` | Identifies each item as a selectable option. |
28
+ | `aria-selected` | `true` / `false` | Indicates whether the option is currently selected. |
29
+ | `aria-setsize` | `{count}` | Total number of options available, so screen readers can announce "option X of Y." |
30
+ | `aria-posinset` | `{index}` | The 1-based position of the option within the set. |
31
+
32
+ <auro-header level="3" id="helpTextAndErrors">Help Text and Errors</auro-header>
33
+ - Help text is associated with the component so screen readers can announce contextual guidance.
34
+ - When validation fails, the error message is rendered with `role="alert"` and `aria-live="assertive"` to ensure it is announced immediately.
35
+
36
+ <auro-header level="2" id="activeDescendant">Active Descendant</auro-header>
37
+ Focus management in `auro-combobox` follows the **active descendant** pattern rather than moving DOM focus between options:
38
+
39
+ 1. When the bib opens, focus remains on the **input** element.
40
+ 2. Arrow keys update `aria-activedescendant` on the input to reference the currently highlighted option.
41
+ 3. This allows screen readers to announce each option as the user navigates without moving focus away from the input.
42
+
43
+ When the bib closes, `aria-activedescendant` is cleared so stale references are not announced.
44
+
45
+ <auro-header level="2" id="screenReaderAnnouncements">Screen Reader Announcements</auro-header>
46
+ The component uses a visually hidden live region (`aria-live="polite"`) to announce state changes:
47
+
48
+ - **Option highlighted** — When an option becomes active (via arrow keys or type-ahead), the live region announces the option text along with its selected state (e.g. "Apples, not selected").
49
+ - **Option selected** — After an option is selected, the live region announces the selected value (e.g. "Apples, selected"). This announcement is slightly delayed to avoid being overridden by the bib's collapse announcement.
50
+
51
+ <auro-header level="2" id="accessibleLabels">Accessible Labels</auro-header>
52
+ - The `label` slot content is used as the accessible name for both the input (via `aria-labelledby`) and the menu (via `aria-label`).
53
+ - A label is required. Without it, assistive technology users will not have context for what the combobox controls.
54
+ - The `(optional)` label is automatically appended when the `required` attribute is not set.
55
+
56
+ <auro-header level="2" id="fullscreenBehavior">Fullscreen (Modal) Behavior</auro-header>
57
+ On smaller viewports, the bib opens as a fullscreen modal dialog:
58
+
59
+ - The dialog is opened with `showModal()`, which provides **native focus trapping** — only elements inside the dialog are reachable via Tab.
60
+ - Content outside the dialog is automatically made **inert** by the browser, preventing interaction with the page behind it.
61
+ - The dialog receives an accessible label derived from the component's `label` slot text via `aria-labelledby`.
62
+ - A close button inside the dialog is focused when the modal opens, giving screen reader users an immediate action to dismiss it.
63
+ - Touch scrolling on the page behind the dialog is blocked to prevent the background from scrolling into view.
64
+
65
+ <auro-header level="2" id="reducedMotion">Reduced Motion</auro-header>
66
+ The component respects the `prefers-reduced-motion` media query. When the user has requested reduced motion, scroll animations (e.g. scrolling the selected or active option into view) use instant scrolling instead of smooth scrolling.
67
+
68
+ <auro-header level="2" id="formParticipation">Form Participation</auro-header>
69
+ A hidden native `<input>` element is rendered alongside the custom component with `aria-hidden="true"`. This element:
70
+
71
+ - Participates in HTML form submissions, ensuring the selected value is included in form data.
72
+ - Supports the `required` and `disabled` attributes.
73
+ - Is invisible and unreachable by assistive technology — all user interaction goes through the custom component.
74
+
75
+ </div>
76
+ </div>
77
+ </div>
@@ -33,6 +33,7 @@
33
33
  <!-- Demo Specific Styles -->
34
34
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/demoWrapper.css" />
35
35
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/elementDemoStyles.css" />
36
+ <link rel="stylesheet" type="text/css" href="./styles.css" />
36
37
  </head>
37
38
  <body class="auro-markdown">
38
39
  <main></main>
@@ -46,7 +47,30 @@
46
47
  const rawHtml = marked.parse(text);
47
48
  document.querySelector('main').innerHTML = rawHtml;
48
49
  Prism.highlightAll();
50
+ addCopyButtons();
49
51
  });
52
+
53
+ function addCopyButtons() {
54
+ document.querySelectorAll('auro-accordion pre[class*="language-"]').forEach((pre) => {
55
+ const wrapper = document.createElement('div');
56
+ wrapper.className = 'pre-wrapper';
57
+ pre.parentNode.insertBefore(wrapper, pre);
58
+ wrapper.appendChild(pre);
59
+ const btn = document.createElement('button');
60
+ btn.className = 'copy-btn';
61
+ btn.textContent = 'Copy';
62
+ btn.addEventListener('click', () => {
63
+ const code = pre.querySelector('code');
64
+ const raw = code ? code.textContent : pre.textContent;
65
+ const text = raw.replace(/\u200B/g, '').replace(/^\n+/, '').replace(/\n+$/, '\n');
66
+ navigator.clipboard.writeText(text).then(() => {
67
+ btn.textContent = 'Copied!';
68
+ setTimeout(() => { btn.textContent = 'Copy'; }, 1500);
69
+ });
70
+ });
71
+ wrapper.appendChild(btn);
72
+ });
73
+ }
50
74
  </script>
51
75
 
52
76
  <!-- If additional elements are needed for the demo, add them here. -->