@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.
- package/CHANGELOG.md +4 -24
- package/README.md +133 -183
- package/components/bibtemplate/dist/auro-bibtemplate.d.ts +6 -0
- package/components/bibtemplate/dist/index.js +12 -0
- package/components/bibtemplate/dist/registered.js +12 -0
- package/components/checkbox/demo/api.min.js +4 -4
- package/components/checkbox/demo/index.min.js +4 -4
- package/components/checkbox/demo/keyboardBehavior.md +0 -0
- package/components/checkbox/dist/index.js +4 -4
- package/components/checkbox/dist/registered.js +4 -4
- package/components/combobox/demo/api.min.js +1975 -598
- package/components/combobox/demo/index.min.js +1975 -598
- package/components/combobox/demo/keyboardBehavior.html +81 -0
- package/components/combobox/demo/keyboardBehavior.md +281 -0
- package/components/combobox/dist/auro-combobox.d.ts +50 -1
- package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +9 -0
- package/components/combobox/dist/index.js +1720 -473
- package/components/combobox/dist/registered.js +1720 -473
- package/components/counter/demo/api.md +1 -1
- package/components/counter/demo/api.min.js +1047 -370
- package/components/counter/demo/index.min.js +1047 -370
- package/components/counter/demo/keyboardBehavior.html +81 -0
- package/components/counter/demo/keyboardBehavior.md +127 -0
- package/components/counter/dist/auro-counter.d.ts +26 -8
- package/components/counter/dist/buttonVersion.d.ts +1 -1
- package/components/counter/dist/iconVersion.d.ts +1 -1
- package/components/counter/dist/index.js +1047 -370
- package/components/counter/dist/keyboardStrategy.d.ts +4 -0
- package/components/counter/dist/registered.js +1047 -370
- package/components/datepicker/demo/api.md +109 -86
- package/components/datepicker/demo/api.min.js +1261 -500
- package/components/datepicker/demo/index.md +18 -12
- package/components/datepicker/demo/index.min.js +1261 -500
- package/components/datepicker/demo/keyboard-behavior.html +81 -0
- package/components/datepicker/demo/keyboardBehavior.md +19 -0
- package/components/datepicker/dist/auro-calendar.d.ts +6 -0
- package/components/datepicker/dist/auro-datepicker.d.ts +19 -15
- package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +1 -0
- package/components/datepicker/dist/index.js +1208 -451
- package/components/datepicker/dist/registered.js +1208 -451
- package/components/dropdown/demo/api.md +44 -46
- package/components/dropdown/demo/api.min.js +903 -361
- package/components/dropdown/demo/index.md +2 -2
- package/components/dropdown/demo/index.min.js +903 -361
- package/components/dropdown/demo/keyboardBehavior.html +81 -0
- package/components/dropdown/demo/keyboardBehavior.md +77 -0
- package/components/dropdown/dist/auro-dropdown.d.ts +30 -4
- package/components/dropdown/dist/auro-dropdownBib.d.ts +61 -1
- package/components/dropdown/dist/dropdownBibKeyboardStrategy.d.ts +7 -0
- package/components/dropdown/dist/index.js +869 -331
- package/components/dropdown/dist/registered.js +869 -331
- package/components/form/README.md +47 -2
- package/components/form/demo/api.js +2 -0
- package/components/form/demo/api.md +303 -30
- package/components/form/demo/api.min.js +70578 -67
- package/components/form/demo/index.html +0 -1
- package/components/form/demo/index.js +1 -0
- package/components/form/demo/index.md +1 -275
- package/components/form/demo/index.min.js +70577 -67
- package/components/form/demo/keyboardBehavior.md +0 -0
- package/components/form/demo/readme.md +47 -2
- package/components/form/demo/working.html +123 -32
- package/components/form/dist/auro-form.d.ts +98 -61
- package/components/form/dist/index.js +140 -56
- package/components/form/dist/registered.js +140 -56
- package/components/helptext/dist/auro-helptext.d.ts +1 -1
- package/components/helptext/dist/index.js +1 -1
- package/components/helptext/dist/registered.js +1 -1
- package/components/input/demo/api.md +1 -0
- package/components/input/demo/api.min.js +192 -100
- package/components/input/demo/index.min.js +192 -100
- package/components/input/demo/keyboardBehavior.md +0 -0
- package/components/input/dist/auro-input.d.ts +12 -0
- package/components/input/dist/base-input.d.ts +34 -0
- package/components/input/dist/index.js +123 -42
- package/components/input/dist/registered.js +123 -42
- package/components/menu/demo/api.md +2 -1
- package/components/menu/demo/api.min.js +215 -89
- package/components/menu/demo/index.min.js +215 -89
- package/components/menu/demo/keyboardBehavior.md +0 -0
- package/components/menu/dist/auro-menu.context.d.ts +15 -3
- package/components/menu/dist/auro-menu.d.ts +5 -12
- package/components/menu/dist/iconVersion.d.ts +1 -1
- package/components/menu/dist/index.js +215 -89
- package/components/menu/dist/registered.js +215 -89
- package/components/radio/demo/api.min.js +4 -4
- package/components/radio/demo/index.min.js +4 -4
- package/components/radio/demo/keyboardBehavior.md +0 -0
- package/components/radio/dist/index.js +4 -4
- package/components/radio/dist/registered.js +4 -4
- package/components/select/demo/api.js +2 -0
- package/components/select/demo/api.md +333 -78
- package/components/select/demo/api.min.js +1658 -545
- package/components/select/demo/index.min.js +1646 -545
- package/components/select/demo/keyboardBehavior.html +81 -0
- package/components/select/demo/keyboardBehavior.md +245 -0
- package/components/select/dist/auro-select.d.ts +34 -0
- package/components/select/dist/index.js +1394 -423
- package/components/select/dist/registered.js +1394 -423
- package/components/select/dist/selectKeyboardStrategy.d.ts +11 -0
- package/custom-elements.json +2156 -1498
- package/package.json +66 -53
package/CHANGELOG.md
CHANGED
|
@@ -1,32 +1,12 @@
|
|
|
1
|
-
# [5.
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
|
11
|
-
| Use Cases | Examples for when to use this
|
|
12
|
-
| Additional Information | For use to add any
|
|
13
|
-
|
|
|
14
|
-
-->
|
|
15
|
-
|
|
16
|
-
#
|
|
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
|
-
##
|
|
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 (
|
|
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
|
[](https://github.com/AlaskaAirlines/auro-formkit/actions/workflows/testPublish.yml)
|
|
47
98
|
[](https://www.npmjs.com/package/@aurodesignsystem/auro-formkit)
|
|
48
99
|
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
49
100
|

|
|
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
|
-
|
|
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
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
-
|
|
132
|
+
Each component is imported individually by its export path:
|
|
119
133
|
|
|
120
134
|
```html
|
|
121
|
-
<auro-checkbox
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
"
|
|
252
|
-
"@
|
|
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
|
-
|
|
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
|
-
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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.
|