@aurodesignsystem-dev/auro-formkit 0.0.0-pr1413.2 → 0.0.0-pr1419.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 (231) hide show
  1. package/package.json +32 -31
  2. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +0 -66
  3. package/components/bibtemplate/dist/buttonVersion.d.ts +0 -2
  4. package/components/bibtemplate/dist/headerVersion.d.ts +0 -2
  5. package/components/bibtemplate/dist/iconVersion.d.ts +0 -2
  6. package/components/bibtemplate/dist/index.d.ts +0 -2
  7. package/components/bibtemplate/dist/index.js +0 -395
  8. package/components/bibtemplate/dist/registered.js +0 -395
  9. package/components/bibtemplate/dist/styles/color-css.d.ts +0 -2
  10. package/components/bibtemplate/dist/styles/style-css.d.ts +0 -2
  11. package/components/bibtemplate/dist/styles/tokens-css.d.ts +0 -2
  12. package/components/checkbox/demo/api.md +0 -489
  13. package/components/checkbox/demo/api.min.js +0 -2133
  14. package/components/checkbox/demo/index.md +0 -55
  15. package/components/checkbox/demo/index.min.js +0 -2108
  16. package/components/checkbox/demo/keyboardBehavior.md +0 -0
  17. package/components/checkbox/demo/readme.md +0 -142
  18. package/components/checkbox/dist/auro-checkbox-group.d.ts +0 -176
  19. package/components/checkbox/dist/auro-checkbox.d.ts +0 -209
  20. package/components/checkbox/dist/index.d.ts +0 -3
  21. package/components/checkbox/dist/index.js +0 -2057
  22. package/components/checkbox/dist/registered.js +0 -2058
  23. package/components/checkbox/dist/styles/auro-checkbox-css.d.ts +0 -2
  24. package/components/checkbox/dist/styles/auro-checkbox-group-css.d.ts +0 -2
  25. package/components/checkbox/dist/styles/color-css.d.ts +0 -2
  26. package/components/checkbox/dist/styles/colorGroup-css.d.ts +0 -2
  27. package/components/checkbox/dist/styles/tokens-css.d.ts +0 -2
  28. package/components/combobox/demo/api.md +0 -2287
  29. package/components/combobox/demo/api.min.js +0 -17800
  30. package/components/combobox/demo/index.md +0 -196
  31. package/components/combobox/demo/index.min.js +0 -17705
  32. package/components/combobox/demo/keyboardBehavior.md +0 -281
  33. package/components/combobox/demo/readme.md +0 -158
  34. package/components/combobox/dist/auro-combobox.d.ts +0 -566
  35. package/components/combobox/dist/comboboxKeyboardStrategy.d.ts +0 -8
  36. package/components/combobox/dist/index.d.ts +0 -2
  37. package/components/combobox/dist/index.js +0 -15604
  38. package/components/combobox/dist/registered.js +0 -15606
  39. package/components/combobox/dist/styles/emphasized/style-css.d.ts +0 -2
  40. package/components/combobox/dist/styles/snowflake/style-css.d.ts +0 -2
  41. package/components/combobox/dist/styles/style-css.d.ts +0 -2
  42. package/components/counter/demo/api.md +0 -1285
  43. package/components/counter/demo/api.min.js +0 -8112
  44. package/components/counter/demo/index.md +0 -92
  45. package/components/counter/demo/index.min.js +0 -8093
  46. package/components/counter/demo/keyboardBehavior.md +0 -127
  47. package/components/counter/demo/readme.md +0 -161
  48. package/components/counter/dist/auro-counter-button.d.ts +0 -14
  49. package/components/counter/dist/auro-counter-group.d.ts +0 -390
  50. package/components/counter/dist/auro-counter-wrapper.d.ts +0 -17
  51. package/components/counter/dist/auro-counter.d.ts +0 -136
  52. package/components/counter/dist/buttonVersion.d.ts +0 -2
  53. package/components/counter/dist/iconVersion.d.ts +0 -2
  54. package/components/counter/dist/index.d.ts +0 -3
  55. package/components/counter/dist/index.js +0 -8015
  56. package/components/counter/dist/keyboardStrategy.d.ts +0 -4
  57. package/components/counter/dist/registered.js +0 -8016
  58. package/components/counter/dist/styles/color-css.d.ts +0 -2
  59. package/components/counter/dist/styles/counter-button-color-css.d.ts +0 -2
  60. package/components/counter/dist/styles/counter-button-css.d.ts +0 -2
  61. package/components/counter/dist/styles/counter-group-css.d.ts +0 -2
  62. package/components/counter/dist/styles/counter-wrapper-color-css.d.ts +0 -2
  63. package/components/counter/dist/styles/counter-wrapper-css.d.ts +0 -2
  64. package/components/counter/dist/styles/shapeSize-css.d.ts +0 -2
  65. package/components/counter/dist/styles/style-css.d.ts +0 -2
  66. package/components/counter/dist/styles/tokens-css.d.ts +0 -2
  67. package/components/datepicker/demo/api.md +0 -1824
  68. package/components/datepicker/demo/api.min.js +0 -24510
  69. package/components/datepicker/demo/index.md +0 -158
  70. package/components/datepicker/demo/index.min.js +0 -24231
  71. package/components/datepicker/demo/keyboardBehavior.md +0 -24
  72. package/components/datepicker/demo/readme.md +0 -137
  73. package/components/datepicker/dist/auro-calendar-cell.d.ts +0 -169
  74. package/components/datepicker/dist/auro-calendar-month.d.ts +0 -20
  75. package/components/datepicker/dist/auro-calendar.d.ts +0 -173
  76. package/components/datepicker/dist/auro-datepicker.d.ts +0 -715
  77. package/components/datepicker/dist/buttonVersion.d.ts +0 -2
  78. package/components/datepicker/dist/datepickerKeyboardStrategy.d.ts +0 -1
  79. package/components/datepicker/dist/iconVersion.d.ts +0 -2
  80. package/components/datepicker/dist/index.d.ts +0 -2
  81. package/components/datepicker/dist/index.js +0 -24146
  82. package/components/datepicker/dist/popoverVersion.d.ts +0 -2
  83. package/components/datepicker/dist/registered.js +0 -24146
  84. package/components/datepicker/dist/styles/classic/color-css.d.ts +0 -2
  85. package/components/datepicker/dist/styles/classic/style-css.d.ts +0 -2
  86. package/components/datepicker/dist/styles/color-calendar-css.d.ts +0 -2
  87. package/components/datepicker/dist/styles/color-cell-css.d.ts +0 -2
  88. package/components/datepicker/dist/styles/color-css.d.ts +0 -2
  89. package/components/datepicker/dist/styles/color-month-css.d.ts +0 -2
  90. package/components/datepicker/dist/styles/shapeSize-css.d.ts +0 -2
  91. package/components/datepicker/dist/styles/snowflake/color-css.d.ts +0 -2
  92. package/components/datepicker/dist/styles/snowflake/style-css.d.ts +0 -2
  93. package/components/datepicker/dist/styles/style-auro-calendar-cell-css.d.ts +0 -2
  94. package/components/datepicker/dist/styles/style-auro-calendar-css.d.ts +0 -2
  95. package/components/datepicker/dist/styles/style-auro-calendar-month-css.d.ts +0 -2
  96. package/components/datepicker/dist/styles/style-css.d.ts +0 -2
  97. package/components/datepicker/dist/styles/tokens-css.d.ts +0 -2
  98. package/components/datepicker/dist/utilities.d.ts +0 -78
  99. package/components/datepicker/dist/utilitiesCalendar.d.ts +0 -38
  100. package/components/datepicker/dist/utilitiesCalendarRender.d.ts +0 -50
  101. package/components/datepicker/dist/vendor/wc-range-datepicker/day.d.ts +0 -5
  102. package/components/datepicker/dist/vendor/wc-range-datepicker/range-datepicker-calendar.d.ts +0 -60
  103. package/components/datepicker/dist/vendor/wc-range-datepicker/range-datepicker-cell.d.ts +0 -1
  104. package/components/datepicker/dist/vendor/wc-range-datepicker/range-datepicker.d.ts +0 -57
  105. package/components/dropdown/demo/api.md +0 -1358
  106. package/components/dropdown/demo/api.min.js +0 -4894
  107. package/components/dropdown/demo/index.md +0 -283
  108. package/components/dropdown/demo/index.min.js +0 -4829
  109. package/components/dropdown/demo/keyboardBehavior.md +0 -77
  110. package/components/dropdown/demo/readme.md +0 -160
  111. package/components/dropdown/dist/auro-dropdown.d.ts +0 -482
  112. package/components/dropdown/dist/auro-dropdownBib.d.ts +0 -128
  113. package/components/dropdown/dist/dropdownBibKeyboardStrategy.d.ts +0 -7
  114. package/components/dropdown/dist/iconVersion.d.ts +0 -2
  115. package/components/dropdown/dist/index.d.ts +0 -2
  116. package/components/dropdown/dist/index.js +0 -4722
  117. package/components/dropdown/dist/registered.js +0 -4722
  118. package/components/dropdown/dist/styles/classic/bibColors-css.d.ts +0 -2
  119. package/components/dropdown/dist/styles/classic/bibStyles-css.d.ts +0 -2
  120. package/components/dropdown/dist/styles/classic/color-css.d.ts +0 -2
  121. package/components/dropdown/dist/styles/classic/style-css.d.ts +0 -2
  122. package/components/dropdown/dist/styles/color-css.d.ts +0 -2
  123. package/components/dropdown/dist/styles/emphasized/style-css.d.ts +0 -2
  124. package/components/dropdown/dist/styles/shapeSize-css.d.ts +0 -2
  125. package/components/dropdown/dist/styles/snowflake/style-css.d.ts +0 -2
  126. package/components/dropdown/dist/styles/style-css.d.ts +0 -2
  127. package/components/dropdown/dist/styles/tokens-css.d.ts +0 -2
  128. package/components/form/demo/api.md +0 -319
  129. package/components/form/demo/api.min.js +0 -70505
  130. package/components/form/demo/index.md +0 -128
  131. package/components/form/demo/index.min.js +0 -70505
  132. package/components/form/demo/keyboardBehavior.md +0 -0
  133. package/components/form/demo/readme.md +0 -145
  134. package/components/form/dist/auro-form.d.ts +0 -280
  135. package/components/form/dist/index.d.ts +0 -2
  136. package/components/form/dist/index.js +0 -718
  137. package/components/form/dist/registered.d.ts +0 -1
  138. package/components/form/dist/registered.js +0 -718
  139. package/components/form/dist/styles/style-css.d.ts +0 -2
  140. package/components/helptext/dist/auro-helptext.d.ts +0 -69
  141. package/components/helptext/dist/index.d.ts +0 -2
  142. package/components/helptext/dist/index.js +0 -231
  143. package/components/helptext/dist/registered.js +0 -231
  144. package/components/helptext/dist/styles/color-css.d.ts +0 -2
  145. package/components/helptext/dist/styles/style-css.d.ts +0 -2
  146. package/components/helptext/dist/styles/tokens-css.d.ts +0 -2
  147. package/components/input/demo/api.md +0 -1397
  148. package/components/input/demo/api.min.js +0 -7460
  149. package/components/input/demo/index.md +0 -161
  150. package/components/input/demo/index.min.js +0 -7380
  151. package/components/input/demo/keyboardBehavior.md +0 -0
  152. package/components/input/demo/readme.md +0 -134
  153. package/components/input/dist/auro-input.d.ts +0 -206
  154. package/components/input/dist/base-input.d.ts +0 -629
  155. package/components/input/dist/buttonVersion.d.ts +0 -2
  156. package/components/input/dist/i18n.d.ts +0 -18
  157. package/components/input/dist/iconVersion.d.ts +0 -2
  158. package/components/input/dist/index.d.ts +0 -2
  159. package/components/input/dist/index.js +0 -7292
  160. package/components/input/dist/registered.js +0 -7292
  161. package/components/input/dist/styles/classic/color-css.d.ts +0 -2
  162. package/components/input/dist/styles/classic/style-css.d.ts +0 -2
  163. package/components/input/dist/styles/color-css.d.ts +0 -2
  164. package/components/input/dist/styles/default/borders-css.d.ts +0 -2
  165. package/components/input/dist/styles/default/color-css.d.ts +0 -2
  166. package/components/input/dist/styles/default/mixins-css.d.ts +0 -2
  167. package/components/input/dist/styles/default/notificationIcons-css.d.ts +0 -2
  168. package/components/input/dist/styles/default/style-css.d.ts +0 -2
  169. package/components/input/dist/styles/emphasized/color-css.d.ts +0 -2
  170. package/components/input/dist/styles/emphasized/style-css.d.ts +0 -2
  171. package/components/input/dist/styles/mixins-css.d.ts +0 -2
  172. package/components/input/dist/styles/shapeSize-css.d.ts +0 -2
  173. package/components/input/dist/styles/snowflake/style-css.d.ts +0 -2
  174. package/components/input/dist/styles/style-css.d.ts +0 -2
  175. package/components/input/dist/styles/tokens-css.d.ts +0 -2
  176. package/components/input/dist/utilities.d.ts +0 -25
  177. package/components/layoutElement/dist/auroElement.d.ts +0 -40
  178. package/components/layoutElement/dist/index.d.ts +0 -2
  179. package/components/layoutElement/dist/index.js +0 -107
  180. package/components/layoutElement/dist/registered.js +0 -107
  181. package/components/menu/demo/api.md +0 -1200
  182. package/components/menu/demo/api.min.js +0 -2413
  183. package/components/menu/demo/index.md +0 -72
  184. package/components/menu/demo/index.min.js +0 -2306
  185. package/components/menu/demo/keyboardBehavior.md +0 -0
  186. package/components/menu/demo/readme.md +0 -145
  187. package/components/menu/dist/auro-menu-utils.d.ts +0 -34
  188. package/components/menu/dist/auro-menu.context.d.ts +0 -239
  189. package/components/menu/dist/auro-menu.d.ts +0 -316
  190. package/components/menu/dist/auro-menuoption.d.ts +0 -210
  191. package/components/menu/dist/iconVersion.d.ts +0 -2
  192. package/components/menu/dist/index.d.ts +0 -4
  193. package/components/menu/dist/index.js +0 -2269
  194. package/components/menu/dist/registered.js +0 -2217
  195. package/components/menu/dist/styles/default/color-menu-css.d.ts +0 -2
  196. package/components/menu/dist/styles/default/color-menuoption-css.d.ts +0 -2
  197. package/components/menu/dist/styles/default/style-menu-css.d.ts +0 -2
  198. package/components/menu/dist/styles/default/style-menuoption-css.d.ts +0 -2
  199. package/components/menu/dist/styles/default/tokens-css.d.ts +0 -2
  200. package/components/radio/demo/api.md +0 -675
  201. package/components/radio/demo/api.min.js +0 -2210
  202. package/components/radio/demo/index.md +0 -73
  203. package/components/radio/demo/index.min.js +0 -2167
  204. package/components/radio/demo/keyboardBehavior.md +0 -0
  205. package/components/radio/demo/readme.md +0 -141
  206. package/components/radio/dist/auro-radio-group.d.ts +0 -250
  207. package/components/radio/dist/auro-radio.d.ts +0 -180
  208. package/components/radio/dist/index.d.ts +0 -3
  209. package/components/radio/dist/index.js +0 -2116
  210. package/components/radio/dist/registered.js +0 -2117
  211. package/components/radio/dist/styles/auro-radio-group-css.d.ts +0 -2
  212. package/components/radio/dist/styles/color-css.d.ts +0 -2
  213. package/components/radio/dist/styles/groupColor-css.d.ts +0 -2
  214. package/components/radio/dist/styles/style-css.d.ts +0 -2
  215. package/components/radio/dist/styles/tokens-css.d.ts +0 -2
  216. package/components/select/demo/api.md +0 -2378
  217. package/components/select/demo/api.min.js +0 -10400
  218. package/components/select/demo/index.md +0 -355
  219. package/components/select/demo/index.min.js +0 -10307
  220. package/components/select/demo/keyboardBehavior.md +0 -246
  221. package/components/select/demo/readme.md +0 -148
  222. package/components/select/dist/auro-select.d.ts +0 -545
  223. package/components/select/dist/index.d.ts +0 -2
  224. package/components/select/dist/index.js +0 -8218
  225. package/components/select/dist/registered.js +0 -8218
  226. package/components/select/dist/selectKeyboardStrategy.d.ts +0 -11
  227. package/components/select/dist/styles/emphasized/color-css.d.ts +0 -2
  228. package/components/select/dist/styles/shapeSize-css.d.ts +0 -2
  229. package/components/select/dist/styles/style-css.d.ts +0 -2
  230. package/components/select/dist/styles/tokens-css.d.ts +0 -2
  231. package/custom-elements.json +0 -18768
File without changes
@@ -1,145 +0,0 @@
1
- <!--
2
- The README.md file is a compiled document. No edits should be made directly to this file.
3
-
4
- README.md is created by running `npm run build:docs`.
5
-
6
- This file is generated based on a template fetched from
7
- `../../docs/templates/componentReadmeTemplate.md`
8
- and copied to `./componentDocs/README.md` each time the docs are compiled.
9
-
10
- The following sections are editable by making changes to the following files:
11
-
12
- | SECTION | DESCRIPTION | FILE LOCATION |
13
- |------------------------|---------------------------------------------------|-------------------------------------|
14
- | Description | Description of the component | `./docs/partials/description.md` |
15
- | Use Cases | Examples for when to use this component | `./docs/partials/useCases.md` |
16
- | Additional Information | For use to add any component specific information | `./docs/partials/readmeAddlInfo.md` |
17
- | Component Example Code | HTML sample code of the components use | `./apiExamples/basic.html` |
18
- -->
19
-
20
- # Form
21
-
22
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/description.md) -->
23
- <!-- The below content is automatically added from ./docs/partials/description.md -->
24
- `<auro-form>` is a [HTML custom element](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) designed to
25
- serve as the base logic for all auro-constructed forms.
26
-
27
- It automatically "scrapes" its inner content for any auro form elements, and surfaces
28
- them (along with events) to the parent form element as a JSON object.
29
- <!-- AURO-GENERATED-CONTENT:END -->
30
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/readmeAddlInfo.md) -->
31
- <!-- The below content is automatically added from ./docs/partials/readmeAddlInfo.md -->
32
- <!-- AURO-GENERATED-CONTENT This file is to be used for any additional content that should be included in the README.md which is specific to this component. -->
33
- <!-- AURO-GENERATED-CONTENT:END -->
34
-
35
- ## Form Use Cases
36
-
37
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/useCases.md) -->
38
- <!-- The below content is automatically added from ./docs/partials/useCases.md -->
39
- The `<auro-form>` element should be used in situations where users want to build HTML forms.
40
- <!-- AURO-GENERATED-CONTENT:END -->
41
-
42
- ## Getting Started
43
-
44
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=../../docs/templates/componentInstall.md) -->
45
- <!-- The below content is automatically added from ../../docs/templates/componentInstall.md -->
46
-
47
- #### NPM Installation
48
-
49
- ```shell
50
- $ npm i @aurodesignsystem/auro-formkit
51
- ```
52
- <!-- AURO-GENERATED-CONTENT:END -->
53
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=../../docs/templates/gettingStarted.md) -->
54
- <!-- The below content is automatically added from ../../docs/templates/gettingStarted.md -->
55
-
56
- ### TypeScript Module Resolution
57
-
58
- When using TypeScript set `moduleResolution` to `bundler`, add the following to your `tsconfig.json`:
59
-
60
- ```json
61
- {
62
- "compilerOptions": {
63
- "moduleResolution": "bundler"
64
- }
65
- }
66
- ```
67
-
68
- This configuration enables proper module resolution for the component's TypeScript files.
69
- <!-- AURO-GENERATED-CONTENT:END -->
70
-
71
- ## Install from CDN
72
-
73
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=../../docs/templates/bundleInstallDescription.md) -->
74
- <!-- The below content is automatically added from ../../docs/templates/bundleInstallDescription.md -->
75
- 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.
76
-
77
- ```html
78
- <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-form/+esm"></script>
79
- ```
80
- <!-- AURO-GENERATED-CONTENT:END -->
81
-
82
- ## Formkit Development
83
-
84
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=../../docs/partials/developmentDescription.md) -->
85
- <!-- The below content is automatically added from ../../docs/partials/developmentDescription.md -->
86
-
87
- ### Filtering
88
-
89
- Running the `dev` command will open a `localhost` development server for all components in the monorepo at once.
90
-
91
- To only develop a single component, use the `--filter` flag:
92
-
93
- ```shell
94
- npx turbo dev --filter=@aurodesignsystem/auro-input
95
- ```
96
- <!-- AURO-GENERATED-CONTENT:END -->
97
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/customRegistration.md) -->
98
- <!-- The below content is automatically added from ./docs/partials/customRegistration.md -->
99
-
100
- ## Custom Component Registration for Version Management
101
-
102
- There are two key parts to every Auro component: the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes">class</a> and the custom element definition. The class defines the component's behavior, while the custom element registers it under a specific name so it can be used in HTML.
103
-
104
- When you install the component as described on the `Install` page, the class is imported automatically, and the component is registered globally for you.
105
-
106
- However, if you need to load multiple versions of the same component on a single page (for example, when two projects depend on different versions), you can manually register the class under a custom element name to avoid conflicts.
107
-
108
- You can do this by importing only the component class and using the `register(name)` method with a unique name:
109
-
110
- ```js
111
- // Import the class only
112
- import { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
113
-
114
- // Register with a custom name if desired
115
- AuroForm.register('custom-form');
116
- ```
117
-
118
- This will create a new custom element `<custom-form>` that behaves exactly like `<auro-form>`, allowing both to coexist on the same page without interfering with each other.
119
-
120
- ### Using Custom-Named Child Form Elements
121
-
122
- When consuming custom-named Auro form elements (like `auro-input` registered as `my-custom-input`),
123
- these elements _must_ be registered BEFORE auro-form due to rendering order limitations.
124
- Auro form elements are automatically recognized based on their tag name (e.g. `auro-input`) or special auro attributes which are only assigned during the initial render.
125
-
126
- For example, the following is correct:
127
-
128
- ```javascript
129
- import { AuroInput } from '@aurodesignsystem/auro-formkit/auro-input/class';
130
- import { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
131
-
132
- AuroInput.register('my-custom-input'); // adds an internal identifier auro-form uses to recognize the custom element
133
- AuroForm.register(); // render looks for said identifier
134
- ```
135
-
136
- The following is NOT correct and will result in forms not working as expected:
137
-
138
- ```javascript
139
- import { AuroInput } from '@aurodesignsystem/auro-formkit/auro-input/class';
140
- import { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
141
-
142
- AuroForm.register(); // forms start rendering, looking for auro inputs, or custom-named inputs
143
- AuroInput.register('my-custom-input'); // too late, form has already rendered and did not find the custom element
144
- ```
145
- <!-- AURO-GENERATED-CONTENT:END -->
@@ -1,280 +0,0 @@
1
- /**
2
- * @typedef {Object} FormStateMember - The form state member.
3
- * @property {string | number | boolean | string[] | null} value - The value of the form element.
4
- * @property {ValidityState} validity - The validity state of the form element, stored when fired from the form element.
5
- * @property {boolean} required - Whether the form element is required or not.
6
- * @property {HTMLElement} element - Whether the form element is required or not.
7
- */
8
- /**
9
- * @typedef {Object.<string, FormStateMember>} FormState - The form state.
10
- */
11
- /**
12
- * The `auro-form` element provides users a way to create and manage forms in a consistent manner.
13
- * @customElement auro-form
14
- *
15
- * @slot default - The default slot for form elements.
16
- *
17
- * @event input - Fires when a child form element receives user input.
18
- * @event change - Fires when a child form element's value changes or the form is initialized.
19
- * @event reset - Fires when the form is reset. The event detail contains the previous value of the form before reset.
20
- * @event submit - Fires when the form is submitted. The event detail contains the current value of the form.
21
- */
22
- export class AuroForm extends LitElement {
23
- static get properties(): {
24
- /** @private */
25
- formState: {
26
- type: ObjectConstructor;
27
- attribute: boolean;
28
- };
29
- /** @private */
30
- _validity: {
31
- type: ObjectConstructor;
32
- attribute: boolean;
33
- };
34
- /** @private */
35
- _isInitialState: {
36
- type: BooleanConstructor;
37
- attribute: boolean;
38
- };
39
- /** @private */
40
- _elements: {
41
- type: ArrayConstructor;
42
- attribute: boolean;
43
- };
44
- /** @private */
45
- _submitElements: {
46
- type: ArrayConstructor;
47
- attribute: boolean;
48
- };
49
- /** @private */
50
- _resetElements: {
51
- type: ArrayConstructor;
52
- attribute: boolean;
53
- };
54
- };
55
- static get formElementTags(): string[];
56
- static get buttonElementTags(): string[];
57
- static get styles(): import("lit").CSSResult[];
58
- /**
59
- * Registers the `auro-form` custom element with the browser under a given tag name.
60
- * @param {string} [name="auro-form"] - The custom element tag name to register.
61
- *
62
- * @example
63
- * AuroForm.register("custom-form") // registers as <custom-form>
64
- */
65
- static register(name?: string): void;
66
- /**
67
- * @type {FormState}
68
- * @private
69
- */
70
- private formState;
71
- /**
72
- * @type {"valid" | "invalid" | null}
73
- * @private
74
- */
75
- private _validity;
76
- /** @private */
77
- private _isInitialState;
78
- /**
79
- * @type {(HTMLElement & {reset: () => void})[]}
80
- * @private
81
- */
82
- private _elements;
83
- /**
84
- * @type {HTMLButtonElement[]}
85
- * @private
86
- */
87
- private _submitElements;
88
- /**
89
- * @type {HTMLButtonElement[]}
90
- * @private
91
- */
92
- private _resetElements;
93
- /**
94
- * @private
95
- * @type {MutationObserver[]}
96
- */
97
- private mutationObservers;
98
- /**
99
- * Resets all form elements to their initial state and fires a `reset` event. The event's `detail.previousValue` contains the form values captured immediately before the reset.
100
- * @returns {void}
101
- */
102
- reset(): void;
103
- /**
104
- * Validates all form elements. If all are valid, fires a `submit` event with `detail.value` containing the current form values. If any element is invalid, its error state is surfaced and the `submit` event is not fired.
105
- * @returns {Promise<void>}
106
- */
107
- submit(): Promise<void>;
108
- /**
109
- * Shared input listener for all form elements.
110
- * @param {Event} event - The event that is fired from the form element.
111
- * @private
112
- */
113
- private sharedInputListener;
114
- /**
115
- * Shared validation listener for all form elements.
116
- * @param {Event} event - The event that is fired from the form element.
117
- * @private
118
- */
119
- private sharedValidationListener;
120
- /**
121
- * Mutation observer for form elements. Slot change does not trigger unless
122
- * root-level elements are added/removed. This is a workaround to ensure
123
- * nested form elements are also observed.
124
- *
125
- * @returns {void}
126
- * @private
127
- */
128
- private mutationEventListener;
129
- /**
130
- * Handle Enter key press on form elements.
131
- * @param {KeyboardEvent} event - The keyboard event.
132
- * @private
133
- */
134
- private handleKeyDown;
135
- /**
136
- * Compare tag name with element to identify it (for API purposes).
137
- * @param {string} elementTag - The HTML tag name like `auro-datepicker`.
138
- * @param {HTMLElement} element - The actual HTML element to compare.
139
- * @returns {boolean}
140
- * @private
141
- */
142
- private _isElementTag;
143
- /**
144
- * Shared code for determining if an element is something we care about (submit, form element, etc.).
145
- * @param {string[]} collection - The array to use for tag name search.
146
- * @param {HTMLElement} element - The element to compare against the master list.
147
- * @returns {boolean}
148
- * @private
149
- */
150
- private _isInElementCollection;
151
- /**
152
- * Check if the tag name is a form element.
153
- * @param {HTMLElement} element - The element to check (attr or tag name).
154
- * @returns {boolean}
155
- * @private
156
- */
157
- private isFormElement;
158
- /**
159
- * Validates if an event is from a valid form element with a name.
160
- * @param {Event} event - The event to validate.
161
- * @returns {boolean} - True if event is valid for processing.
162
- * @private
163
- */
164
- private _eventIsValidFormEvent;
165
- /**
166
- * Check if the tag name is a button element.
167
- * @param {HTMLElement} element - The element to check.
168
- * @returns {boolean}
169
- * @private
170
- */
171
- private isButtonElement;
172
- /**
173
- * Returns the current values of all named form elements as a key-value object, keyed by each element's `name` attribute.
174
- * @returns {Record<string, string | number | boolean | string[] | null>} The current form values.
175
- */
176
- get value(): Record<string, string | number | boolean | string[] | null>;
177
- /**
178
- * Getter for internal _submitElements.
179
- * @returns {HTMLButtonElement[]}
180
- * @private
181
- */
182
- private get submitElements();
183
- /**
184
- * Returns a collection of elements that will reset the form.
185
- * @returns {HTMLButtonElement[]}
186
- * @private
187
- */
188
- private get resetElements();
189
- /**
190
- * Infer validity status based on current formState.
191
- * @private
192
- */
193
- private _calculateValidity;
194
- /**
195
- * Returns `'valid'` if all required and interacted-with form elements are valid, `'invalid'` if any are not, or `null` if the form has not been interacted with yet.
196
- * @returns {"valid" | "invalid" | null}
197
- */
198
- get validity(): "valid" | "invalid" | null;
199
- /**
200
- * Determines whether the form is in its initial (untouched) state and updates `_isInitialState` accordingly.
201
- * @returns {void}
202
- * @private
203
- */
204
- private _setInitialState;
205
- /**
206
- * Returns `true` if no form element has been interacted with or had its value changed since the form was initialized or last reset.
207
- * @returns {boolean}
208
- */
209
- get isInitialState(): boolean;
210
- /**
211
- * Enables or disables submit and reset buttons based on the current form state and validity.
212
- * @returns {void}
213
- * @private
214
- */
215
- private setDisabledStateOnButtons;
216
- /**
217
- * Construct the query strings from elements, append them together, execute, and return the NodeList.
218
- * @returns {NodeList}
219
- * @private
220
- */
221
- private queryAuroElements;
222
- /**
223
- * Store an element in state and on the _elements array.
224
- * @param {HTMLElement} element - The element to add to our state.
225
- * @private
226
- */
227
- private _addElementToState;
228
- /**
229
- * Initialize (or reinitialize) the form state.
230
- * @returns {void}
231
- * @private
232
- */
233
- private initializeState;
234
- /**
235
- * Attaches input, validation, and keydown listeners to all tracked form and button elements.
236
- * Removes existing listeners first to avoid duplicates on re-initialization.
237
- * @returns {void}
238
- * @private
239
- */
240
- private _attachEventListeners;
241
- /**
242
- * Slot change event listener. This is the main entry point for the form element.
243
- * @param {Event} event - The slot change event.
244
- * @returns {void}
245
- * @private
246
- */
247
- private onSlotChange;
248
- /**
249
- * @returns {import('lit').TemplateResult}
250
- */
251
- render(): import("lit").TemplateResult;
252
- }
253
- /**
254
- * - The form state member.
255
- */
256
- export type FormStateMember = {
257
- /**
258
- * - The value of the form element.
259
- */
260
- value: string | number | boolean | string[] | null;
261
- /**
262
- * - The validity state of the form element, stored when fired from the form element.
263
- */
264
- validity: ValidityState;
265
- /**
266
- * - Whether the form element is required or not.
267
- */
268
- required: boolean;
269
- /**
270
- * - Whether the form element is required or not.
271
- */
272
- element: HTMLElement;
273
- };
274
- /**
275
- * - The form state.
276
- */
277
- export type FormState = {
278
- [x: string]: FormStateMember;
279
- };
280
- import { LitElement } from "lit";
@@ -1,2 +0,0 @@
1
- export { AuroForm };
2
- import { AuroForm } from './auro-form.js';