@aurodesignsystem/auro-formkit 5.10.0 → 5.11.0-rc-1426.2

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 (102) hide show
  1. package/CHANGELOG.md +4 -24
  2. package/README.md +133 -183
  3. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +6 -0
  4. package/components/bibtemplate/dist/index.js +12 -0
  5. package/components/bibtemplate/dist/registered.js +12 -0
  6. package/components/checkbox/demo/api.min.js +4 -4
  7. package/components/checkbox/demo/index.min.js +4 -4
  8. package/components/checkbox/demo/keyboardBehavior.md +0 -0
  9. package/components/checkbox/dist/index.js +4 -4
  10. package/components/checkbox/dist/registered.js +4 -4
  11. package/components/combobox/demo/api.min.js +1975 -598
  12. package/components/combobox/demo/index.min.js +1975 -598
  13. package/components/combobox/demo/keyboardBehavior.html +81 -0
  14. package/components/combobox/demo/keyboardBehavior.md +281 -0
  15. package/components/combobox/dist/auro-combobox.d.ts +50 -1
  16. package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +9 -0
  17. package/components/combobox/dist/index.js +1720 -473
  18. package/components/combobox/dist/registered.js +1720 -473
  19. package/components/counter/demo/api.md +1 -1
  20. package/components/counter/demo/api.min.js +1047 -370
  21. package/components/counter/demo/index.min.js +1047 -370
  22. package/components/counter/demo/keyboardBehavior.html +81 -0
  23. package/components/counter/demo/keyboardBehavior.md +127 -0
  24. package/components/counter/dist/auro-counter.d.ts +26 -8
  25. package/components/counter/dist/buttonVersion.d.ts +1 -1
  26. package/components/counter/dist/iconVersion.d.ts +1 -1
  27. package/components/counter/dist/index.js +1047 -370
  28. package/components/counter/dist/keyboardStrategy.d.ts +4 -0
  29. package/components/counter/dist/registered.js +1047 -370
  30. package/components/datepicker/demo/api.md +109 -86
  31. package/components/datepicker/demo/api.min.js +1261 -500
  32. package/components/datepicker/demo/index.md +18 -12
  33. package/components/datepicker/demo/index.min.js +1261 -500
  34. package/components/datepicker/demo/keyboard-behavior.html +81 -0
  35. package/components/datepicker/demo/keyboardBehavior.md +19 -0
  36. package/components/datepicker/dist/auro-calendar.d.ts +6 -0
  37. package/components/datepicker/dist/auro-datepicker.d.ts +19 -15
  38. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +1 -0
  39. package/components/datepicker/dist/index.js +1208 -451
  40. package/components/datepicker/dist/registered.js +1208 -451
  41. package/components/dropdown/demo/api.md +44 -46
  42. package/components/dropdown/demo/api.min.js +903 -361
  43. package/components/dropdown/demo/index.md +2 -2
  44. package/components/dropdown/demo/index.min.js +903 -361
  45. package/components/dropdown/demo/keyboardBehavior.html +81 -0
  46. package/components/dropdown/demo/keyboardBehavior.md +77 -0
  47. package/components/dropdown/dist/auro-dropdown.d.ts +30 -4
  48. package/components/dropdown/dist/auro-dropdownBib.d.ts +61 -1
  49. package/components/dropdown/dist/dropdownBibKeyboardStrategy.d.ts +7 -0
  50. package/components/dropdown/dist/index.js +869 -331
  51. package/components/dropdown/dist/registered.js +869 -331
  52. package/components/form/README.md +47 -2
  53. package/components/form/demo/api.js +2 -0
  54. package/components/form/demo/api.md +303 -30
  55. package/components/form/demo/api.min.js +70578 -67
  56. package/components/form/demo/index.html +0 -1
  57. package/components/form/demo/index.js +1 -0
  58. package/components/form/demo/index.md +1 -275
  59. package/components/form/demo/index.min.js +70577 -67
  60. package/components/form/demo/keyboardBehavior.md +0 -0
  61. package/components/form/demo/readme.md +47 -2
  62. package/components/form/demo/working.html +123 -32
  63. package/components/form/dist/auro-form.d.ts +98 -61
  64. package/components/form/dist/index.js +140 -56
  65. package/components/form/dist/registered.js +140 -56
  66. package/components/helptext/dist/auro-helptext.d.ts +1 -1
  67. package/components/helptext/dist/index.js +1 -1
  68. package/components/helptext/dist/registered.js +1 -1
  69. package/components/input/demo/api.md +1 -0
  70. package/components/input/demo/api.min.js +192 -100
  71. package/components/input/demo/index.min.js +192 -100
  72. package/components/input/demo/keyboardBehavior.md +0 -0
  73. package/components/input/dist/auro-input.d.ts +12 -0
  74. package/components/input/dist/base-input.d.ts +34 -0
  75. package/components/input/dist/index.js +123 -42
  76. package/components/input/dist/registered.js +123 -42
  77. package/components/menu/demo/api.md +2 -1
  78. package/components/menu/demo/api.min.js +215 -89
  79. package/components/menu/demo/index.min.js +215 -89
  80. package/components/menu/demo/keyboardBehavior.md +0 -0
  81. package/components/menu/dist/auro-menu.context.d.ts +15 -3
  82. package/components/menu/dist/auro-menu.d.ts +5 -12
  83. package/components/menu/dist/iconVersion.d.ts +1 -1
  84. package/components/menu/dist/index.js +215 -89
  85. package/components/menu/dist/registered.js +215 -89
  86. package/components/radio/demo/api.min.js +4 -4
  87. package/components/radio/demo/index.min.js +4 -4
  88. package/components/radio/demo/keyboardBehavior.md +0 -0
  89. package/components/radio/dist/index.js +4 -4
  90. package/components/radio/dist/registered.js +4 -4
  91. package/components/select/demo/api.js +2 -0
  92. package/components/select/demo/api.md +333 -78
  93. package/components/select/demo/api.min.js +1658 -545
  94. package/components/select/demo/index.min.js +1646 -545
  95. package/components/select/demo/keyboardBehavior.html +81 -0
  96. package/components/select/demo/keyboardBehavior.md +245 -0
  97. package/components/select/dist/auro-select.d.ts +34 -0
  98. package/components/select/dist/index.js +1394 -423
  99. package/components/select/dist/registered.js +1394 -423
  100. package/components/select/dist/selectKeyboardStrategy.d.ts +11 -0
  101. package/custom-elements.json +2156 -1498
  102. package/package.json +66 -53
package/CHANGELOG.md CHANGED
@@ -1,32 +1,12 @@
1
- # [5.10.0](https://github.com/AlaskaAirlines/auro-formkit/compare/v5.9.4...v5.10.0) (2026-02-14)
1
+ # [5.11.0-rc-1426.2](https://github.com/AlaskaAirlines/auro-formkit/compare/v5.11.0-rc-1426.1...v5.11.0-rc-1426.2) (2026-04-08)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * add Chromatic workflow for visual testing on rc branches ([ad9c2d3](https://github.com/AlaskaAirlines/auro-formkit/commit/ad9c2d32b0181a222c9cb4731887bf0683f486c5))
7
- * address failing a11y tests in select and combobox ([45230a8](https://github.com/AlaskaAirlines/auro-formkit/commit/45230a81b71959594c2ba65745f515a5a3befd1f))
8
- * adjust types to enable cem to process correctly ([6781a8d](https://github.com/AlaskaAirlines/auro-formkit/commit/6781a8dcdd9f4eda11286a83a923e0eaeab428e7))
9
- * **combobox:** error attribute now correctly displays error UI [#1272](https://github.com/AlaskaAirlines/auro-formkit/issues/1272) ([96f09ab](https://github.com/AlaskaAirlines/auro-formkit/commit/96f09abf449fcfdf6f935aa51215f216ef739e29))
10
- * **combobox:** update validity check to reflect correct state after clearing customError ([77eaa14](https://github.com/AlaskaAirlines/auro-formkit/commit/77eaa14d29ea10419facecde0472b1c2f9ff4142))
11
- * **combobox:** updateActiveOption method correctly highlights menu option [#1275](https://github.com/AlaskaAirlines/auro-formkit/issues/1275) ([2733cbb](https://github.com/AlaskaAirlines/auro-formkit/commit/2733cbb34dbad71a45f761449d73fb87dd6b54bb))
12
- * make menuoptions visible to screenreaders [#456](https://github.com/AlaskaAirlines/auro-formkit/issues/456) ([c6326a2](https://github.com/AlaskaAirlines/auro-formkit/commit/c6326a29ab0ee0423a28a975cd9082b828599b7e))
13
- * set max length for each input type [#1331](https://github.com/AlaskaAirlines/auro-formkit/issues/1331) ([1dbfa0c](https://github.com/AlaskaAirlines/auro-formkit/commit/1dbfa0cb6182db0f6faaf807a7664b0af060ddee))
14
- * update release workflow to include cache directories ([72c45d0](https://github.com/AlaskaAirlines/auro-formkit/commit/72c45d024595ea244fa3e959bf284110d63aee3b))
15
- * user input credit card formatting logic [#1324](https://github.com/AlaskaAirlines/auro-formkit/issues/1324) ([8328de1](https://github.com/AlaskaAirlines/auro-formkit/commit/8328de1337d1233089c41efff4d6ded6d73b8322))
6
+ * **select:** ensure dropdown trigger is focused after click selection AB[#1528057](https://github.com/AlaskaAirlines/auro-formkit/issues/1528057) ([d4f95bc](https://github.com/AlaskaAirlines/auro-formkit/commit/d4f95bcccb31218c06eb698b9d29410b08958145))
16
7
 
8
+ # Changelog
17
9
 
18
- ### Features
19
-
20
- * add story generation utilities and update stories for checkbox component ([9afbfbe](https://github.com/AlaskaAirlines/auro-formkit/commit/9afbfbe66de1eaa05ab9291ee05c71a65d810c67))
21
-
22
-
23
- ### Reverts
24
-
25
- * Revert "fix: address failing a11y tests in select and combobox" ([7a40335](https://github.com/AlaskaAirlines/auro-formkit/commit/7a4033504e5cf3c94d27e2133b09e4379d405791))
26
- * Revert "fix: make menuoptions visible to screenreaders [#456](https://github.com/AlaskaAirlines/auro-formkit/issues/456)" ([aaddbb5](https://github.com/AlaskaAirlines/auro-formkit/commit/aaddbb585e28b38025b49b3cf72dfab598bbcef9))
27
-
28
- ### Changelog
29
-
30
- You can view a history of changes to this repository on the releases page:
10
+ You can view a complete history of changes to this repository on the GitHub releases page:
31
11
 
32
12
  https://github.com/AlaskaAirlines/auro-formkit/releases
package/README.md CHANGED
@@ -3,21 +3,25 @@ The README.md file is a compiled document. No edits should be made directly to t
3
3
 
4
4
  README.md is created by running `npm run build:docs:kit`.
5
5
 
6
+ This file is generated based on the template at
7
+ `./docs/templates/kitReadmeTemplate.md`
8
+ and compiled to `./README.md` each time the docs are compiled.
9
+
6
10
  The following sections are editable by making changes to the following files:
7
11
 
8
12
  | SECTION | DESCRIPTION | FILE LOCATION |
9
13
  |------------------------|---------------------------------------------------|-------------------------------------|
10
- | Description | Description of the component | `./docs/partials/description.md` |
11
- | Use Cases | Examples for when to use this component | `./docs/partials/useCases.md` |
12
- | Additional Information | For use to add any component specific information | `./docs/partials/readmeAddlInfo.md` |
13
- | Component Example Code | HTML sample code of the components use | `./apiExamples/basic.html` |
14
- -->
15
-
16
- # Auro Formkit
14
+ | Description | Description of the kit | `./docs/partials/description.md` |
15
+ | Use Cases | Examples for when to use this kit | `./docs/partials/useCases.md` |
16
+ | Additional Information | For use to add any kit specific information | `./docs/partials/readmeAddlInfo.md` |
17
+ | kit Example Code | HTML sample code of the kits use | `./apiExamples/basic.html` |
18
+ -->
19
+
20
+ # Formkit
17
21
 
18
22
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/description.md) -->
19
- <!-- The below content is automatically added from ./docs/partials/description.md -->
20
-
23
+ <!-- The below content is automatically added from ./docs/partials/description.md -->
24
+
21
25
  ## Description
22
26
 
23
27
  `auro-formkit` is a collection of web components that can be used to build forms.
@@ -38,58 +42,73 @@ It is a monorepo that contains the following components:
38
42
  - `auro-radio`
39
43
  - `auro-radio-group`
40
44
  - `auro-select`
41
- <!-- AURO-GENERATED-CONTENT:END -->
42
-
43
- ## Install
45
+ <!-- AURO-GENERATED-CONTENT:END -->
46
+
47
+ ## Use Cases
48
+
49
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/useCases.md) -->
50
+ <!-- The below content is automatically added from ./docs/partials/useCases.md -->
51
+
52
+ ### 1. User Accounts
53
+ - Sign up and login forms
54
+ - Email and password validation
55
+
56
+ ### 2. Checkout & Payments
57
+ - Collect shipping and billing info
58
+ - Use autofill and validation to reduce errors
59
+
60
+ ### 3. Booking & Scheduling
61
+ - Select dates and times
62
+ - Prevent invalid selections (like past dates)
63
+
64
+ ### 4. Search & Filters
65
+ - Search inputs with suggestions
66
+ - Filters like price ranges or categories
67
+
68
+ ### 5. File Uploads
69
+ - Upload images, documents, or media
70
+ - Restrict file types and allow multiple files
71
+
72
+ ### 6. Feedback & Surveys
73
+ - Collect ratings, choices, and comments
74
+ - Require answers where needed
75
+
76
+ ### 7. Calculators & Dynamic Forms
77
+ - Show real-time results (e.g., pricing, totals)
78
+
79
+ ### 8. Multi-Step Forms
80
+ - Break long forms into smaller steps
81
+
82
+ ### 9. Mobile-Friendly Input
83
+ - Use input types that trigger the right keyboard
84
+
85
+ ### 10. Accessible Forms
86
+ - Proper labels and grouped inputs
87
+ - Built-in error handling
88
+
89
+ ### 11. Built-in Validation
90
+ - Use HTML5 rules instead of custom JavaScript
91
+ <!-- AURO-GENERATED-CONTENT:END -->
92
+
93
+ ## Getting Started
44
94
 
45
- <!-- AURO-GENERATED-CONTENT:START (REMOTE:url=https://raw.githubusercontent.com/AlaskaAirlines/WC-Generator/master/componentDocs/partials/usage/componentInstall_esm.md) -->
95
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/kitInstall.md) -->
96
+ <!-- The below content is automatically added from ./docs/partials/kitInstall.md -->
46
97
  [![Build Status](https://img.shields.io/github/actions/workflow/status/AlaskaAirlines/auro-formkit/testPublish.yml?style=for-the-badge)](https://github.com/AlaskaAirlines/auro-formkit/actions/workflows/testPublish.yml)
47
98
  [![See it on NPM!](https://img.shields.io/npm/v/@aurodesignsystem/auro-formkit?style=for-the-badge&color=orange)](https://www.npmjs.com/package/@aurodesignsystem/auro-formkit)
48
99
  [![License](https://img.shields.io/npm/l/@aurodesignsystem/auro-formkit?color=blue&style=for-the-badge)](https://www.apache.org/licenses/LICENSE-2.0)
49
100
  ![ESM supported](https://img.shields.io/badge/ESM-compatible-FFE900?style=for-the-badge)
50
101
 
102
+ #### NPM Installation
103
+
51
104
  ```shell
52
105
  $ npm i @aurodesignsystem/auro-formkit
53
106
  ```
54
-
55
- Installing as a direct, dev or peer dependency is up to the user installing the package. If you are unsure as to what type of dependency you should use, consider reading this [stack overflow](https://stackoverflow.com/questions/18875674/whats-the-difference-between-dependencies-devdependencies-and-peerdependencies) answer.
56
-
57
- <!-- AURO-GENERATED-CONTENT:END -->
58
-
59
- ## Getting Started
60
-
107
+ <!-- AURO-GENERATED-CONTENT:END -->
61
108
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/gettingStarted.md) -->
62
- <!-- The below content is automatically added from ./docs/partials/gettingStarted.md -->
63
- To start using the Auro Formkit components, follow the instructions below:
64
-
65
- ### Usage
66
-
67
- You can use Auro Formkit components in your project in two ways: automatic or custom registration.
68
-
69
- #### Automatic Registration
70
-
71
- For automatic registration, simply import the component:
72
-
73
- ```javascript
74
- import "@aurodesignsystem/auro-formkit/auro-checkbox";
75
- ```
76
-
77
- This will automatically register both the `<auro-checkbox>` and the included `<auro-checkbox-group>` component for use in your project. Note that not all Auro Formkit components have sub-components. Be sure to check the documentation for each component to understand its specific usage and registration requirements.
78
-
79
- #### Custom Registration
80
-
81
- If you prefer to register the component with a custom name, you can call the component class directly to create a custom registration:
82
-
83
- ```javascript
84
- import { AuroCheckbox, AuroCheckboxGroup } from "@aurodesignsystem/auro-formkit/auro-checkbox/class";
85
-
86
- AuroCheckbox.register('custom-checkbox');
87
- AuroCheckbox.register('custom-checkbox-group');
88
- ```
89
-
90
- This will register the component as `<custom-checkbox>` and `<custom-checkbox-group>`.
91
-
92
- #### TypeScript Module Resolution
109
+ <!-- The below content is automatically added from ./docs/partials/gettingStarted.md -->
110
+
111
+ ### TypeScript Module Resolution
93
112
 
94
113
  When using TypeScript set `moduleResolution` to `bundler`, add the following to your `tsconfig.json`:
95
114
 
@@ -102,111 +121,47 @@ When using TypeScript set `moduleResolution` to `bundler`, add the following to
102
121
  ```
103
122
 
104
123
  This configuration enables proper module resolution for the component's TypeScript files.
124
+ <!-- AURO-GENERATED-CONTENT:END -->
125
+
126
+ ## Install from CDN
105
127
 
106
- ### Basic HTML Example
107
-
108
- Here is an example of how to use the Auro Checkbox component in your HTML:
109
-
110
- `index.html -> <head>`
111
-
112
- ```html
113
- <script type="module">
114
- import "@aurodesignsystem/auro-formkit/auro-checkbox";
115
- </script>
116
- ```
128
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/bundleInstallDescription.md) -->
129
+ <!-- The below content is automatically added from ./docs/partials/bundleInstallDescription.md -->
130
+ 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.
117
131
 
118
- `index.html -> <body>`
132
+ Each component is imported individually by its export path:
119
133
 
120
134
  ```html
121
- <auro-checkbox-group>
122
- <span slot="legend">
123
- Form label goes here
124
- </span>
125
- <auro-checkbox value="value1" name="basic" id="checkbox-basic1">
126
- Checkbox option
127
- </auro-checkbox>
128
- <auro-checkbox value="value2" name="basic" id="checkbox-basic2" checked>
129
- Checkbox option two
130
- </auro-checkbox>
131
- </auro-checkbox-group>
132
- ```
133
-
134
- By following these steps, you can easily integrate Auro Formkit components into your project.
135
- <!-- AURO-GENERATED-CONTENT:END -->
136
-
137
- ### Design Token CSS Custom Property dependency
138
-
139
- <!-- AURO-GENERATED-CONTENT:START (REMOTE:url=https://raw.githubusercontent.com/AlaskaAirlines/WC-Generator/master/componentDocs/partials/development/designTokens.md) -->
140
- The use of any Auro custom element has a dependency on the [Auro Design Tokens](https://auro.alaskaair.com/getting-started/developers/design-tokens).
141
-
142
- <!-- AURO-GENERATED-CONTENT:END -->
143
-
144
- ## Development
145
-
146
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/developmentDescription.md) -->
147
- <!-- The below content is automatically added from ./docs/partials/developmentDescription.md -->
148
-
149
- ### Filtering
150
-
151
- Running the `dev` command will open a `localhost` development server for all components in the monorepo at once.
152
-
153
- To only develop a single component, use the `--filter` flag:
154
-
155
- ```shell
156
- npx turbo dev --filter=@aurodesignsystem/auro-input
157
- ```
158
- <!-- AURO-GENERATED-CONTENT:END -->
159
-
160
- ### Start development environment
161
-
162
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/localhost.md) -->
163
- <!-- The below content is automatically added from ./docs/partials/localhost.md -->
164
-
165
- ## Local Development
166
- <!-- AURO-GENERATED-CONTENT:END -->
167
-
168
- ### Testing
169
-
170
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/testing.md) -->
171
- <!-- The below content is automatically added from ./docs/partials/testing.md -->
172
- ```
173
- npm run test
174
- ```
175
-
176
- #### Port configuration
135
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-checkbox/+esm"></script>
136
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-input/+esm"></script>
137
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-select/+esm"></script>
138
+ ```
139
+ <!-- AURO-GENERATED-CONTENT:END -->
140
+
141
+ ## Additional Information
177
142
 
178
- Turbo will attempt to test components in parallel which will lead to port conflicts.
179
-
180
- Setting the `concurrency` to `1` will prevent Turbo from running tests in parallel:
181
-
182
- ```
183
- "test": "turbo run test --concurrency=1",
184
- ```
185
-
186
- `turbo.json`does not support `--concurrency` yet. See [this issue](https://github.com/vercel/turborepo/discussions/7493).
187
- <!-- AURO-GENERATED-CONTENT:END -->
188
143
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/readmeAddlInfo.md) -->
189
- <!-- The below content is automatically added from ./docs/partials/readmeAddlInfo.md -->
190
-
191
- ## Turborepo Overview
192
-
193
- This monorepo is managed using [Turborepo](https://turborepo.org/).
194
-
195
- ### Managing dependencies
196
-
144
+ <!-- The below content is automatically added from ./docs/partials/readmeAddlInfo.md -->
145
+
146
+ ### Turborepo Overview
147
+
148
+ This monorepo is managed using [Turborepo](https://turborepo.org/).
149
+
150
+ ### Managing dependencies
151
+
197
152
  #### Best practices for dependency installation
198
153
 
199
154
  When you install a dependency in a component or package in `auro-formkit`, you should install it directly in the package that uses it.
200
155
 
201
- The package's `package.json` will have every dependency that it needs. This is true for both external and internal dependencies.
202
-
203
- ### Types of Dependencies by Source
204
-
156
+ The package's `package.json` will have every dependency that it needs. This is true for both external and internal dependencies.
157
+
158
+ ### Types of Dependencies by Source
159
+
205
160
  #### External Dependencies
206
161
  - These are packages fetched from the `npm` registry (e.g., Lit, Rollup, Sass)
207
162
  - Declared in `package.json` using exact versions or version ranges
208
- - Installed in `node_modules` during `npm install` or `yarn install`
209
-
163
+ - Installed in `node_modules` during `npm install` or `yarn install`
164
+
210
165
  #### Internal Dependencies
211
166
  - These are packages from within the `auro-formkit` monorepo
212
167
  - Allow sharing code between different packages in your repository
@@ -214,33 +169,19 @@ The package's `package.json` will have every dependency that it needs. This is t
214
169
  - Must be declared in `package.json` just like external dependencies
215
170
  - Use workspace protocols (e.g., `"workspace:*"` or `"workspace:^1.0.0"`)
216
171
 
217
- ### Types of Dependencies by Purpose
218
-
172
+ ### Types of Dependencies by Purpose
173
+
219
174
  #### Dependencies (`dependencies`)
220
175
  - Required for the package to function in production
221
176
  - Example:
222
177
  ```json
223
178
  {
224
179
  "dependencies": {
225
- "lit.js": "^3.0.0", // External dependency
226
- "@aurodesignsystem/input": "workspace:*" // Internal dependency
227
- }
228
- }
229
- ```
230
-
231
- #### Peer Dependencies (`peerDependencies`)
232
- - Packages that your library expects the consuming application to provide
233
- - Common for plugins or UI component libraries
234
- - Example:
235
- ```json
236
- {
237
- "peerDependencies": {
238
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
239
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
180
+ "lit": "^3.0.0"
240
181
  }
241
182
  }
242
- ```
243
-
183
+ ```
184
+
244
185
  ### Development Dependencies (`devDependencies`)
245
186
  - Only needed during development, testing, or building
246
187
  - Not included in the production bundle
@@ -248,36 +189,30 @@ The package's `package.json` will have every dependency that it needs. This is t
248
189
  ```json
249
190
  {
250
191
  "devDependencies": {
251
- "typescript": "^5.0.0",
252
- "@open-wc/testing": "^4.0.0" // Internal dev dependency
192
+ "@aurodesignsystem/auro-dropdown": "*",
193
+ "@aurodesignsystem/build-tools": "*",
194
+ "rollup": "^4.24.4"
253
195
  }
254
196
  }
255
- ```
197
+ ```
198
+
199
+ ### Example: Component Dependencies
256
200
 
257
- ## Example: Component Dependencies
258
-
259
- Let's use `@auro-formki/combobox` as an example to illustrate these concepts:
201
+ Let's use `@aurodesignsystem/combobox` as an example to illustrate these concepts:
260
202
 
261
203
  ```json
262
204
  {
263
205
  "name": "@aurodesignsystem/combobox",
264
206
  "dependencies": {
265
- // Internal dependencies
266
- "@aurodesignsystem/auro-dropdown": "*", // Required UI component
267
- "@aurodesignsystem/auro-input": "*", // Required UI component
268
-
269
- // External dependencies
270
- "@alaskaairux/icons": "^5.3.0", // Required UI component
271
- "lit": "^3.2.1" // Framework
272
- },
273
- "peerDependencies": {
274
- "@aurodesignsystem/design-tokens": "^4.12.1",
275
- "@aurodesignsystem/webcorestylesheets": "^5.1.2"
207
+ "lit": "^3.2.1"
276
208
  },
277
209
  "devDependencies": {
210
+ // Internal component dependencies
211
+ "@aurodesignsystem/auro-dropdown": "*",
212
+ "@aurodesignsystem/auro-input": "*",
278
213
  // Build utilities
279
214
  "rollup": "^4.24.4",
280
- "@aurodesignsystem/build-tools": "*",
215
+ "@aurodesignsystem/build-tools": "*"
281
216
  }
282
217
  }
283
218
  ```
@@ -286,7 +221,6 @@ This structure ensures that:
286
221
  1. The package explicitly declares all its dependencies
287
222
  2. Internal dependencies are properly tracked and versioned
288
223
  3. Development tools are separated from production dependencies
289
- 4. Peer dependencies are clearly communicated to consumers
290
224
 
291
225
  - External dependencies come from the `npm` registry.
292
226
 
@@ -302,8 +236,8 @@ This practice has several benefits:
302
236
 
303
237
  - **Pruning unused dependencies:** When dependencies are installed in the packages that they are meant for, Turborepo can read your lockfile and remove dependencies that aren't used in the packages you need.
304
238
 
305
- For more information, see the [Turborepo docs](https://turbo.build/repo/docs/crafting-your-repository/managing-dependencies).
306
-
239
+ For more information, see the [Turborepo docs](https://turbo.build/repo/docs/crafting-your-repository/managing-dependencies).
240
+
307
241
  ### Root `package.json`
308
242
 
309
243
  The only dependencies that belong in the root `package.json` are **tools for managing the repository**.
@@ -311,4 +245,20 @@ The only dependencies that belong in the root `package.json` are **tools for man
311
245
  Some examples of dependencies that make sense to install in the root are `turbo`, `husky`, or `stylelint`.
312
246
 
313
247
  Conversely, dependencies Auro components rely on should be installed in their respective packages, such as `Lit`, `Rollup`, or other `auro-formkit` dependencies.
248
+ <!-- AURO-GENERATED-CONTENT:END -->
249
+
250
+ ## Formkit Development
251
+
252
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/developmentDescription.md) -->
253
+ <!-- The below content is automatically added from ./docs/partials/developmentDescription.md -->
254
+
255
+ ### Filtering
256
+
257
+ Running the `dev` command will open a `localhost` development server for all components in the monorepo at once.
258
+
259
+ To only develop a single component, use the `--filter` flag:
260
+
261
+ ```shell
262
+ npx turbo dev --filter=@aurodesignsystem/auro-input
263
+ ```
314
264
  <!-- AURO-GENERATED-CONTENT:END -->
@@ -48,6 +48,12 @@ export class AuroBibtemplate extends LitElement {
48
48
  * @returns {void}
49
49
  */
50
50
  preventBodyScroll(event: Event): void;
51
+ /**
52
+ * Focuses the close button inside the bibtemplate's shadow DOM.
53
+ * Used by parent components to set initial focus when the fullscreen dialog opens.
54
+ * @returns {void}
55
+ */
56
+ focusCloseButton(): void;
51
57
  onCloseButtonClick(): void;
52
58
  /**
53
59
  * Exposes CSS parts for styling from parent components.
@@ -322,6 +322,18 @@ class AuroBibtemplate extends LitElement {
322
322
  this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
323
323
  }
324
324
 
325
+ /**
326
+ * Focuses the close button inside the bibtemplate's shadow DOM.
327
+ * Used by parent components to set initial focus when the fullscreen dialog opens.
328
+ * @returns {void}
329
+ */
330
+ focusCloseButton() {
331
+ const closeBtn = this.shadowRoot.querySelector('#closeButton');
332
+ if (closeBtn) {
333
+ closeBtn.focus();
334
+ }
335
+ }
336
+
325
337
  onCloseButtonClick() {
326
338
  this.dispatchEvent(new Event("close-click", { bubbles: true,
327
339
  composed: true }));
@@ -322,6 +322,18 @@ class AuroBibtemplate extends LitElement {
322
322
  this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
323
323
  }
324
324
 
325
+ /**
326
+ * Focuses the close button inside the bibtemplate's shadow DOM.
327
+ * Used by parent components to set initial focus when the fullscreen dialog opens.
328
+ * @returns {void}
329
+ */
330
+ focusCloseButton() {
331
+ const closeBtn = this.shadowRoot.querySelector('#closeButton');
332
+ if (closeBtn) {
333
+ closeBtn.focus();
334
+ }
335
+ }
336
+
325
337
  onCloseButtonClick() {
326
338
  this.dispatchEvent(new Event("close-click", { bubbles: true,
327
339
  composed: true }));
@@ -1300,7 +1300,7 @@ class AuroFormValidation {
1300
1300
  }
1301
1301
  }
1302
1302
 
1303
- if (!hasValue && elem.required && elem.touched) {
1303
+ if (!hasValue && elem.required && (force || elem.touched)) {
1304
1304
  elem.validity = 'valueMissing';
1305
1305
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
1306
1306
  } else if (hasValue && this.runtimeUtils.elementMatch(elem, 'auro-input')) {
@@ -1324,7 +1324,7 @@ class AuroFormValidation {
1324
1324
  if (!isCombobox || isCombobox && !elem.persistInput) {
1325
1325
 
1326
1326
  // run validation on all inputs since we're going to use them to set the validity of this component
1327
- this.auroInputElements.forEach(input => input.validate());
1327
+ this.auroInputElements.forEach(input => input.validate(force));
1328
1328
 
1329
1329
  // Reset element validity to the validity of the input
1330
1330
  elem.validity = this.auroInputElements[0].validity;
@@ -1582,7 +1582,7 @@ class AuroHelpText extends i$2 {
1582
1582
 
1583
1583
  /**
1584
1584
  * Defines whether the component will be on lighter or darker backgrounds.
1585
- * @property {'default', 'inverse'}
1585
+ * @property {'default', 'inverse'} - The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
1586
1586
  * @default 'default'
1587
1587
  */
1588
1588
  appearance: {
@@ -1687,7 +1687,7 @@ class AuroHelpText extends i$2 {
1687
1687
  }
1688
1688
  }
1689
1689
 
1690
- var formkitVersion = '202602140013';
1690
+ var formkitVersion = '202604081414';
1691
1691
 
1692
1692
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1693
1693
  // See LICENSE in the project root for license information.
@@ -1292,7 +1292,7 @@ class AuroFormValidation {
1292
1292
  }
1293
1293
  }
1294
1294
 
1295
- if (!hasValue && elem.required && elem.touched) {
1295
+ if (!hasValue && elem.required && (force || elem.touched)) {
1296
1296
  elem.validity = 'valueMissing';
1297
1297
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
1298
1298
  } else if (hasValue && this.runtimeUtils.elementMatch(elem, 'auro-input')) {
@@ -1316,7 +1316,7 @@ class AuroFormValidation {
1316
1316
  if (!isCombobox || isCombobox && !elem.persistInput) {
1317
1317
 
1318
1318
  // run validation on all inputs since we're going to use them to set the validity of this component
1319
- this.auroInputElements.forEach(input => input.validate());
1319
+ this.auroInputElements.forEach(input => input.validate(force));
1320
1320
 
1321
1321
  // Reset element validity to the validity of the input
1322
1322
  elem.validity = this.auroInputElements[0].validity;
@@ -1574,7 +1574,7 @@ class AuroHelpText extends i$2 {
1574
1574
 
1575
1575
  /**
1576
1576
  * Defines whether the component will be on lighter or darker backgrounds.
1577
- * @property {'default', 'inverse'}
1577
+ * @property {'default', 'inverse'} - The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
1578
1578
  * @default 'default'
1579
1579
  */
1580
1580
  appearance: {
@@ -1679,7 +1679,7 @@ class AuroHelpText extends i$2 {
1679
1679
  }
1680
1680
  }
1681
1681
 
1682
- var formkitVersion = '202602140013';
1682
+ var formkitVersion = '202604081414';
1683
1683
 
1684
1684
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1685
1685
  // See LICENSE in the project root for license information.
File without changes
@@ -1245,7 +1245,7 @@ class AuroFormValidation {
1245
1245
  }
1246
1246
  }
1247
1247
 
1248
- if (!hasValue && elem.required && elem.touched) {
1248
+ if (!hasValue && elem.required && (force || elem.touched)) {
1249
1249
  elem.validity = 'valueMissing';
1250
1250
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
1251
1251
  } else if (hasValue && this.runtimeUtils.elementMatch(elem, 'auro-input')) {
@@ -1269,7 +1269,7 @@ class AuroFormValidation {
1269
1269
  if (!isCombobox || isCombobox && !elem.persistInput) {
1270
1270
 
1271
1271
  // run validation on all inputs since we're going to use them to set the validity of this component
1272
- this.auroInputElements.forEach(input => input.validate());
1272
+ this.auroInputElements.forEach(input => input.validate(force));
1273
1273
 
1274
1274
  // Reset element validity to the validity of the input
1275
1275
  elem.validity = this.auroInputElements[0].validity;
@@ -1527,7 +1527,7 @@ class AuroHelpText extends LitElement {
1527
1527
 
1528
1528
  /**
1529
1529
  * Defines whether the component will be on lighter or darker backgrounds.
1530
- * @property {'default', 'inverse'}
1530
+ * @property {'default', 'inverse'} - The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
1531
1531
  * @default 'default'
1532
1532
  */
1533
1533
  appearance: {
@@ -1632,7 +1632,7 @@ class AuroHelpText extends LitElement {
1632
1632
  }
1633
1633
  }
1634
1634
 
1635
- var formkitVersion = '202602140013';
1635
+ var formkitVersion = '202604081414';
1636
1636
 
1637
1637
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1638
1638
  // See LICENSE in the project root for license information.
@@ -1245,7 +1245,7 @@ class AuroFormValidation {
1245
1245
  }
1246
1246
  }
1247
1247
 
1248
- if (!hasValue && elem.required && elem.touched) {
1248
+ if (!hasValue && elem.required && (force || elem.touched)) {
1249
1249
  elem.validity = 'valueMissing';
1250
1250
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
1251
1251
  } else if (hasValue && this.runtimeUtils.elementMatch(elem, 'auro-input')) {
@@ -1269,7 +1269,7 @@ class AuroFormValidation {
1269
1269
  if (!isCombobox || isCombobox && !elem.persistInput) {
1270
1270
 
1271
1271
  // run validation on all inputs since we're going to use them to set the validity of this component
1272
- this.auroInputElements.forEach(input => input.validate());
1272
+ this.auroInputElements.forEach(input => input.validate(force));
1273
1273
 
1274
1274
  // Reset element validity to the validity of the input
1275
1275
  elem.validity = this.auroInputElements[0].validity;
@@ -1527,7 +1527,7 @@ class AuroHelpText extends LitElement {
1527
1527
 
1528
1528
  /**
1529
1529
  * Defines whether the component will be on lighter or darker backgrounds.
1530
- * @property {'default', 'inverse'}
1530
+ * @property {'default', 'inverse'} - The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
1531
1531
  * @default 'default'
1532
1532
  */
1533
1533
  appearance: {
@@ -1632,7 +1632,7 @@ class AuroHelpText extends LitElement {
1632
1632
  }
1633
1633
  }
1634
1634
 
1635
- var formkitVersion = '202602140013';
1635
+ var formkitVersion = '202604081414';
1636
1636
 
1637
1637
  // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1638
1638
  // See LICENSE in the project root for license information.