@aurodesignsystem/auro-formkit 2.0.0-beta.2 → 2.0.0-beta.20

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 (583) hide show
  1. package/.turbo/cache/0185585abae43d38-meta.json +1 -0
  2. package/.turbo/cache/0185585abae43d38.tar.zst +0 -0
  3. package/.turbo/cache/092e1fe054c68113-meta.json +1 -0
  4. package/.turbo/cache/092e1fe054c68113.tar.zst +0 -0
  5. package/.turbo/cache/19eb9b69e5625309-meta.json +1 -0
  6. package/.turbo/cache/19eb9b69e5625309.tar.zst +0 -0
  7. package/.turbo/cache/2059bc724ac24519-meta.json +1 -0
  8. package/.turbo/cache/2059bc724ac24519.tar.zst +0 -0
  9. package/.turbo/cache/23b3a2fea223679d-meta.json +1 -0
  10. package/.turbo/cache/23b3a2fea223679d.tar.zst +0 -0
  11. package/.turbo/cache/2c0d681132c153dd-meta.json +1 -0
  12. package/.turbo/cache/2c0d681132c153dd.tar.zst +0 -0
  13. package/.turbo/cache/2e79b1c1455468a1-meta.json +1 -0
  14. package/.turbo/cache/2e79b1c1455468a1.tar.zst +0 -0
  15. package/.turbo/cache/341f87099beb533e-meta.json +1 -0
  16. package/.turbo/cache/341f87099beb533e.tar.zst +0 -0
  17. package/.turbo/cache/363aa008d976f81d-meta.json +1 -0
  18. package/.turbo/cache/363aa008d976f81d.tar.zst +0 -0
  19. package/.turbo/cache/4006a206400d5c7b-meta.json +1 -0
  20. package/.turbo/cache/4006a206400d5c7b.tar.zst +0 -0
  21. package/.turbo/cache/43ab6002bc2cd191-meta.json +1 -0
  22. package/.turbo/cache/43ab6002bc2cd191.tar.zst +0 -0
  23. package/.turbo/cache/45cd32cd38eacbcb-meta.json +1 -0
  24. package/.turbo/cache/45cd32cd38eacbcb.tar.zst +0 -0
  25. package/.turbo/cache/492dda333b8d15f1-meta.json +1 -0
  26. package/.turbo/cache/492dda333b8d15f1.tar.zst +0 -0
  27. package/.turbo/cache/493e064c221aa745-meta.json +1 -0
  28. package/.turbo/cache/493e064c221aa745.tar.zst +0 -0
  29. package/.turbo/cache/50cd7dcfc9f820c5-meta.json +1 -0
  30. package/.turbo/cache/50cd7dcfc9f820c5.tar.zst +0 -0
  31. package/.turbo/cache/51eaa58d5c167de8-meta.json +1 -0
  32. package/.turbo/cache/51eaa58d5c167de8.tar.zst +0 -0
  33. package/.turbo/cache/56ee89ef1c48963e-meta.json +1 -0
  34. package/.turbo/cache/56ee89ef1c48963e.tar.zst +0 -0
  35. package/.turbo/cache/5b57cc0e26e1fd5d-meta.json +1 -0
  36. package/.turbo/cache/5b57cc0e26e1fd5d.tar.zst +0 -0
  37. package/.turbo/cache/60ad74320c682a2b-meta.json +1 -0
  38. package/.turbo/cache/60ad74320c682a2b.tar.zst +0 -0
  39. package/.turbo/cache/61e218aba69cff58-meta.json +1 -0
  40. package/.turbo/cache/61e218aba69cff58.tar.zst +0 -0
  41. package/.turbo/cache/631d441eebe7e4ac-meta.json +1 -0
  42. package/.turbo/cache/631d441eebe7e4ac.tar.zst +0 -0
  43. package/.turbo/cache/6c582e957afdd75f-meta.json +1 -0
  44. package/.turbo/cache/6c582e957afdd75f.tar.zst +0 -0
  45. package/.turbo/cache/77da375a012de9d0-meta.json +1 -0
  46. package/.turbo/cache/77da375a012de9d0.tar.zst +0 -0
  47. package/.turbo/cache/78418f9089673a21-meta.json +1 -0
  48. package/.turbo/cache/78418f9089673a21.tar.zst +0 -0
  49. package/.turbo/cache/7964d1656e9e702a-meta.json +1 -0
  50. package/.turbo/cache/7964d1656e9e702a.tar.zst +0 -0
  51. package/.turbo/cache/7bf2b06a479d0b30-meta.json +1 -0
  52. package/.turbo/cache/7bf2b06a479d0b30.tar.zst +0 -0
  53. package/.turbo/cache/7c9ca6163e61285c-meta.json +1 -0
  54. package/.turbo/cache/7c9ca6163e61285c.tar.zst +0 -0
  55. package/.turbo/cache/80ebd4b1fa5c1e3a-meta.json +1 -0
  56. package/.turbo/cache/80ebd4b1fa5c1e3a.tar.zst +0 -0
  57. package/.turbo/cache/8bb856bd31b5b479-meta.json +1 -0
  58. package/.turbo/cache/8bb856bd31b5b479.tar.zst +0 -0
  59. package/.turbo/cache/8c5b86ca67d33b17-meta.json +1 -0
  60. package/.turbo/cache/8c5b86ca67d33b17.tar.zst +0 -0
  61. package/.turbo/cache/8f5fef3e04a6fcfa-meta.json +1 -0
  62. package/.turbo/cache/8f5fef3e04a6fcfa.tar.zst +0 -0
  63. package/.turbo/cache/9d99fa3ab31d272f-meta.json +1 -0
  64. package/.turbo/cache/9d99fa3ab31d272f.tar.zst +0 -0
  65. package/.turbo/cache/a779ea8b78ce9d59-meta.json +1 -0
  66. package/.turbo/cache/a779ea8b78ce9d59.tar.zst +0 -0
  67. package/.turbo/cache/a9c36a3534c5496b-meta.json +1 -0
  68. package/.turbo/cache/a9c36a3534c5496b.tar.zst +0 -0
  69. package/.turbo/cache/ac1b55ad6757fd54-meta.json +1 -0
  70. package/.turbo/cache/ac1b55ad6757fd54.tar.zst +0 -0
  71. package/.turbo/cache/b1cd3922508c11c0-meta.json +1 -0
  72. package/.turbo/cache/b1cd3922508c11c0.tar.zst +0 -0
  73. package/.turbo/cache/b3c5c13bb1c28c92-meta.json +1 -0
  74. package/.turbo/cache/b3c5c13bb1c28c92.tar.zst +0 -0
  75. package/.turbo/cache/b5e6dc7fb9ae1a2f-meta.json +1 -0
  76. package/.turbo/cache/b5e6dc7fb9ae1a2f.tar.zst +0 -0
  77. package/.turbo/cache/b6a202cc85cb61a0-meta.json +1 -0
  78. package/.turbo/cache/b6a202cc85cb61a0.tar.zst +0 -0
  79. package/.turbo/cache/ba270a0ef147f2e5-meta.json +1 -0
  80. package/.turbo/cache/ba270a0ef147f2e5.tar.zst +0 -0
  81. package/.turbo/cache/bb5213773d5d3b04-meta.json +1 -0
  82. package/.turbo/cache/bb5213773d5d3b04.tar.zst +0 -0
  83. package/.turbo/cache/bbefd8d9606f1e87-meta.json +1 -0
  84. package/.turbo/cache/bbefd8d9606f1e87.tar.zst +0 -0
  85. package/.turbo/cache/be0b95293ea517cc-meta.json +1 -0
  86. package/.turbo/cache/be0b95293ea517cc.tar.zst +0 -0
  87. package/.turbo/cache/c03a12ff38ba1e02-meta.json +1 -0
  88. package/.turbo/cache/c03a12ff38ba1e02.tar.zst +0 -0
  89. package/.turbo/cache/c1312c6f8c051461-meta.json +1 -0
  90. package/.turbo/cache/c1312c6f8c051461.tar.zst +0 -0
  91. package/.turbo/cache/c289a5a9a6b897a9-meta.json +1 -0
  92. package/.turbo/cache/c289a5a9a6b897a9.tar.zst +0 -0
  93. package/.turbo/cache/c376d692c092d4d1-meta.json +1 -0
  94. package/.turbo/cache/c376d692c092d4d1.tar.zst +0 -0
  95. package/.turbo/cache/c6c6411199b68170-meta.json +1 -0
  96. package/.turbo/cache/c6c6411199b68170.tar.zst +0 -0
  97. package/.turbo/cache/c6dbc49c3038946d-meta.json +1 -0
  98. package/.turbo/cache/c6dbc49c3038946d.tar.zst +0 -0
  99. package/.turbo/cache/cae7586c45bed13e-meta.json +1 -0
  100. package/.turbo/cache/cae7586c45bed13e.tar.zst +0 -0
  101. package/.turbo/cache/d5db503b2eaf239c-meta.json +1 -0
  102. package/.turbo/cache/d5db503b2eaf239c.tar.zst +0 -0
  103. package/.turbo/cache/d775555355d6b8fc-meta.json +1 -0
  104. package/.turbo/cache/d775555355d6b8fc.tar.zst +0 -0
  105. package/.turbo/cache/d7c3007be148d2a1-meta.json +1 -0
  106. package/.turbo/cache/d7c3007be148d2a1.tar.zst +0 -0
  107. package/.turbo/cache/db5e65d819bfe66b-meta.json +1 -0
  108. package/.turbo/cache/db5e65d819bfe66b.tar.zst +0 -0
  109. package/.turbo/cache/dbe6a08c64601aec-meta.json +1 -0
  110. package/.turbo/cache/dbe6a08c64601aec.tar.zst +0 -0
  111. package/.turbo/cache/dc597b3ea4f61ec8-meta.json +1 -0
  112. package/.turbo/cache/dc597b3ea4f61ec8.tar.zst +0 -0
  113. package/.turbo/cache/df5f651693145406-meta.json +1 -0
  114. package/.turbo/cache/df5f651693145406.tar.zst +0 -0
  115. package/.turbo/cache/e62cfee068e3ef36-meta.json +1 -0
  116. package/.turbo/cache/e62cfee068e3ef36.tar.zst +0 -0
  117. package/.turbo/cache/ee40cab15d5b1fad-meta.json +1 -0
  118. package/.turbo/cache/ee40cab15d5b1fad.tar.zst +0 -0
  119. package/.vscode/settings.json +3 -0
  120. package/CHANGELOG.md +202 -0
  121. package/README.md +59 -59
  122. package/components/checkbox/.turbo/turbo-build$colon$sass.log +10 -10
  123. package/components/checkbox/.turbo/turbo-build.log +20 -21
  124. package/components/checkbox/.turbo/turbo-bundler.log +4 -4
  125. package/components/checkbox/.turbo/turbo-postCss$colon$component.log +1 -2
  126. package/components/checkbox/.turbo/turbo-sass$colon$render.log +6 -6
  127. package/components/checkbox/.turbo/turbo-types.log +1 -1
  128. package/components/checkbox/README.md +26 -34
  129. package/components/checkbox/demo/api.md +69 -68
  130. package/components/checkbox/demo/api.min.js +195 -87
  131. package/components/checkbox/demo/index.md +62 -62
  132. package/components/checkbox/demo/index.min.js +195 -87
  133. package/components/checkbox/dist/auro-checkbox-group.d.ts +40 -16
  134. package/components/checkbox/dist/auro-checkbox-group.d.ts.map +1 -1
  135. package/components/checkbox/dist/auro-checkbox.d.ts +20 -11
  136. package/components/checkbox/dist/auro-checkbox.d.ts.map +1 -1
  137. package/components/checkbox/dist/index.js +195 -87
  138. package/components/checkbox/package.json +1 -1
  139. package/components/checkbox/src/auro-checkbox-group.js +57 -20
  140. package/components/checkbox/src/auro-checkbox.js +29 -12
  141. package/components/combobox/.turbo/turbo-build$colon$sass.log +5 -5
  142. package/components/combobox/.turbo/turbo-build.log +22 -23
  143. package/components/combobox/.turbo/turbo-postCss$colon$component.log +1 -2
  144. package/components/combobox/.turbo/turbo-sass$colon$render.log +2 -2
  145. package/components/combobox/README.md +21 -26
  146. package/components/combobox/demo/api.md +30 -26
  147. package/components/combobox/demo/api.min.js +3227 -948
  148. package/components/combobox/demo/index.md +1 -1
  149. package/components/combobox/demo/index.min.js +3224 -945
  150. package/components/combobox/dist/auro-combobox.d.ts +76 -74
  151. package/components/combobox/dist/auro-combobox.d.ts.map +1 -1
  152. package/components/combobox/dist/dropdownVersion.d.ts +3 -0
  153. package/components/combobox/dist/dropdownVersion.d.ts.map +1 -0
  154. package/components/combobox/dist/index.js +2593 -628
  155. package/components/combobox/dist/inputVersion.d.ts +3 -0
  156. package/components/combobox/dist/inputVersion.d.ts.map +1 -0
  157. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/.husky/pre-commit +1 -0
  158. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/CHANGELOG.md +863 -0
  159. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/README.md +109 -0
  160. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/README.md +86 -0
  161. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/_auroElement.scss +45 -0
  162. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/auroElement.js +38 -0
  163. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/auroElement.mjs +38 -0
  164. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/bundled/essentials+fv.css +110 -0
  165. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/bundled/essentials.css +106 -0
  166. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/demoWrapper.css +8 -0
  167. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/elementDemoStyles.css +813 -0
  168. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/package.json +134 -0
  169. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/packageScripts/postinstall.mjs +39 -0
  170. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_animation.scss +30 -0
  171. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_blockquote.scss +46 -0
  172. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_breakpoints.scss +155 -0
  173. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_core.scss +25 -0
  174. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_essentials.scss +267 -0
  175. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_focus-visible.scss +36 -0
  176. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_fonts.scss +50 -0
  177. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_grids.scss +395 -0
  178. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_headings.scss +255 -0
  179. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_normalize.scss +663 -0
  180. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_picture.scss +31 -0
  181. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_utilityClasses.scss +22 -0
  182. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/bundled/essentials+fv.scss +19 -0
  183. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/bundled/essentials.scss +18 -0
  184. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_anchor-roleButton.scss +32 -0
  185. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_anchor-roleTab.scss +26 -0
  186. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_containedButtons.scss +59 -0
  187. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_table.scss +54 -0
  188. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_tablist.scss +37 -0
  189. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/README.md +5 -0
  190. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/demoWrapper.scss +18 -0
  191. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/elementDemoStyles.scss +123 -0
  192. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/libSupport/_deprecated.scss +16 -0
  193. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/libSupport/_manageScope.scss +42 -0
  194. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_displayProperties.scss +142 -0
  195. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_fontStyles.scss +151 -0
  196. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_inset.scss +188 -0
  197. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_layoutProperties.scss +75 -0
  198. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_listProperties.scss +176 -0
  199. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_responsive.scss +249 -0
  200. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_typeProperties.scss +49 -0
  201. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_capitalize.scss +20 -0
  202. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_contains.scss +26 -0
  203. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_map-deep-get.scss +29 -0
  204. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_anchor-roleButton.scss +76 -0
  205. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_anchor-roleTab.scss +86 -0
  206. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_insetUtility.scss +9 -0
  207. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_layoutPropertiesGenerator.scss +75 -0
  208. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_spacingUtility.scss +96 -0
  209. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityVariables/_important.scss +20 -0
  210. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityVariables/_spacing-options.scss +13 -0
  211. package/components/combobox/node_modules/@rollup/plugin-node-resolve/README.md +293 -0
  212. package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/cjs/index.js +1377 -0
  213. package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/es/index.js +1370 -0
  214. package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/es/package.json +1 -0
  215. package/components/combobox/node_modules/@rollup/plugin-node-resolve/package.json +89 -0
  216. package/components/combobox/node_modules/@rollup/plugin-node-resolve/types/index.d.ts +115 -0
  217. package/components/combobox/node_modules/chalk/package.json +3 -3
  218. package/components/combobox/node_modules/chalk/readme.md +25 -53
  219. package/components/combobox/node_modules/chalk/source/index.d.ts +6 -1
  220. package/components/combobox/node_modules/chalk/source/vendor/supports-color/browser.js +6 -2
  221. package/components/combobox/node_modules/chalk/source/vendor/supports-color/index.js +2 -2
  222. package/components/combobox/package.json +8 -8
  223. package/components/combobox/src/auro-combobox.js +225 -164
  224. package/components/combobox/src/dropdownVersion.js +1 -0
  225. package/components/combobox/src/inputVersion.js +1 -0
  226. package/components/counter/.turbo/turbo-build$colon$sass.log +210 -7
  227. package/components/counter/.turbo/turbo-build$colon$version.log +10 -0
  228. package/components/counter/.turbo/turbo-build.log +325 -14
  229. package/components/counter/.turbo/turbo-bundler.log +7 -4
  230. package/components/counter/.turbo/turbo-postCss$colon$component.log +1 -2
  231. package/components/counter/.turbo/turbo-sass$colon$render.log +45 -3
  232. package/components/counter/.turbo/turbo-types.log +1 -1
  233. package/components/counter/README.md +188 -0
  234. package/components/counter/demo/api.md +104 -1014
  235. package/components/counter/demo/api.min.js +4773 -36
  236. package/components/counter/demo/index.js +2 -1
  237. package/components/counter/demo/index.md +190 -0
  238. package/components/counter/demo/index.min.js +4801 -19
  239. package/components/counter/dist/auro-counter-button.d.ts +13 -0
  240. package/components/counter/dist/auro-counter-button.d.ts.map +1 -0
  241. package/components/counter/dist/auro-counter-group.d.ts +112 -5
  242. package/components/counter/dist/auro-counter-group.d.ts.map +1 -1
  243. package/components/counter/dist/auro-counter-wrapper.d.ts +23 -0
  244. package/components/counter/dist/auro-counter-wrapper.d.ts.map +1 -0
  245. package/components/counter/dist/auro-counter.d.ts +89 -0
  246. package/components/counter/dist/auro-counter.d.ts.map +1 -1
  247. package/components/counter/dist/dropdownVersion.d.ts +3 -0
  248. package/components/counter/dist/dropdownVersion.d.ts.map +1 -0
  249. package/components/counter/dist/iconVersion.d.ts +3 -0
  250. package/components/counter/dist/iconVersion.d.ts.map +1 -0
  251. package/components/counter/dist/index.js +4773 -36
  252. package/components/counter/dist/styles/color-css.d.ts +3 -0
  253. package/components/counter/dist/styles/color-css.d.ts.map +1 -0
  254. package/components/counter/dist/styles/counter-button-color-css.d.ts +3 -0
  255. package/components/counter/dist/styles/counter-button-color-css.d.ts.map +1 -0
  256. package/components/counter/dist/styles/counter-button-css.d.ts +3 -0
  257. package/components/counter/dist/styles/counter-button-css.d.ts.map +1 -0
  258. package/components/counter/dist/styles/counter-button-tokens-css.d.ts +3 -0
  259. package/components/counter/dist/styles/counter-button-tokens-css.d.ts.map +1 -0
  260. package/components/counter/dist/styles/counter-wrapper-color-css.d.ts +3 -0
  261. package/components/counter/dist/styles/counter-wrapper-color-css.d.ts.map +1 -0
  262. package/components/counter/dist/styles/counter-wrapper-css.d.ts +3 -0
  263. package/components/counter/dist/styles/counter-wrapper-css.d.ts.map +1 -0
  264. package/components/counter/dist/styles/tokens-css.d.ts +3 -0
  265. package/components/counter/dist/styles/tokens-css.d.ts.map +1 -0
  266. package/components/counter/package.json +9 -3
  267. package/components/counter/src/auro-counter-button.js +42 -0
  268. package/components/counter/src/auro-counter-group.js +229 -20
  269. package/components/counter/src/auro-counter-wrapper.js +54 -0
  270. package/components/counter/src/auro-counter.js +287 -12
  271. package/components/counter/src/dropdownVersion.js +1 -0
  272. package/components/counter/src/iconVersion.js +1 -0
  273. package/components/counter/src/index.js +1 -1
  274. package/components/counter/src/styles/color-css.js +2 -0
  275. package/components/counter/src/styles/color.css +25 -0
  276. package/components/counter/src/styles/color.scss +44 -0
  277. package/components/counter/src/styles/counter-button-color-css.js +2 -0
  278. package/components/counter/src/styles/counter-button-color.css +14 -0
  279. package/components/counter/src/styles/counter-button-color.scss +29 -0
  280. package/components/counter/src/styles/counter-button-css.js +2 -0
  281. package/components/counter/src/styles/counter-button-tokens-css.js +2 -0
  282. package/components/counter/src/styles/counter-button-tokens.css +7 -0
  283. package/components/counter/src/styles/counter-button-tokens.scss +9 -0
  284. package/components/counter/src/styles/counter-button.css +187 -0
  285. package/components/counter/src/styles/counter-button.scss +83 -0
  286. package/components/counter/src/styles/counter-group-css.js +1 -1
  287. package/components/counter/src/styles/counter-group.css +9 -1
  288. package/components/counter/src/styles/counter-group.scss +10 -1
  289. package/components/counter/src/styles/counter-wrapper-color-css.js +2 -0
  290. package/components/counter/src/styles/counter-wrapper-color.css +4 -0
  291. package/components/counter/src/styles/counter-wrapper-color.scss +19 -0
  292. package/components/counter/src/styles/counter-wrapper-css.js +2 -0
  293. package/components/counter/src/styles/counter-wrapper.css +15 -0
  294. package/components/counter/src/styles/counter-wrapper.scss +29 -0
  295. package/components/counter/src/styles/style-css.js +1 -1
  296. package/components/counter/src/styles/style.css +43 -1
  297. package/components/counter/src/styles/style.scss +48 -2
  298. package/components/counter/src/styles/tokens-css.js +2 -0
  299. package/components/counter/src/styles/tokens.css +11 -0
  300. package/components/counter/src/styles/tokens.scss +24 -0
  301. package/components/datepicker/.turbo/turbo-build$colon$sass.log +34 -34
  302. package/components/datepicker/.turbo/turbo-build.log +57 -57
  303. package/components/datepicker/.turbo/turbo-postCss$colon$component.log +1 -2
  304. package/components/datepicker/.turbo/turbo-sass$colon$render.log +10 -10
  305. package/components/datepicker/README.md +21 -26
  306. package/components/datepicker/demo/api.md +182 -135
  307. package/components/datepicker/demo/api.min.js +1010 -566
  308. package/components/datepicker/demo/index.md +1 -1
  309. package/components/datepicker/demo/index.min.js +1010 -566
  310. package/components/datepicker/dist/auro-datepicker.d.ts +94 -78
  311. package/components/datepicker/dist/auro-datepicker.d.ts.map +1 -1
  312. package/components/datepicker/dist/dropdownVersion.d.ts +2 -0
  313. package/components/datepicker/dist/dropdownVersion.d.ts.map +1 -1
  314. package/components/datepicker/dist/index.js +1010 -566
  315. package/components/datepicker/dist/inputVersion.d.ts +3 -0
  316. package/components/datepicker/dist/inputVersion.d.ts.map +1 -0
  317. package/components/datepicker/package.json +3 -3
  318. package/components/datepicker/src/auro-datepicker.js +152 -106
  319. package/components/datepicker/src/dropdownVersion.js +1 -0
  320. package/components/datepicker/src/inputVersion.js +1 -0
  321. package/components/datepicker/src/styles/color-cell-css.js +1 -1
  322. package/components/datepicker/src/styles/color-cell.css +1 -1
  323. package/components/datepicker/src/styles/color-cell.scss +1 -1
  324. package/components/dropdown/.turbo/turbo-build$colon$sass.log +8 -8
  325. package/components/dropdown/.turbo/turbo-build$colon$version.log +1 -1
  326. package/components/dropdown/.turbo/turbo-build.log +19 -20
  327. package/components/dropdown/.turbo/turbo-bundler.log +4 -4
  328. package/components/dropdown/.turbo/turbo-postCss$colon$component.log +1 -2
  329. package/components/dropdown/.turbo/turbo-sass$colon$render.log +6 -6
  330. package/components/dropdown/.turbo/turbo-types.log +1 -1
  331. package/components/dropdown/README.md +18 -26
  332. package/components/dropdown/demo/api.md +4 -4
  333. package/components/dropdown/demo/api.min.js +205 -81
  334. package/components/dropdown/demo/index.min.js +205 -81
  335. package/components/dropdown/dist/auro-dropdown.d.ts +93 -34
  336. package/components/dropdown/dist/auro-dropdown.d.ts.map +1 -1
  337. package/components/dropdown/dist/auro-dropdownBib.d.ts +9 -3
  338. package/components/dropdown/dist/auro-dropdownBib.d.ts.map +1 -1
  339. package/components/dropdown/dist/index.js +205 -81
  340. package/components/dropdown/package.json +1 -1
  341. package/components/dropdown/src/auro-dropdown.js +154 -39
  342. package/components/dropdown/src/auro-dropdownBib.js +12 -3
  343. package/components/dropdown/src/styles/style-css.js +1 -1
  344. package/components/dropdown/src/styles/style.css +4 -0
  345. package/components/dropdown/src/styles/style.scss +5 -0
  346. package/components/form/.turbo/turbo-build$colon$sass.log +6 -6
  347. package/components/form/.turbo/turbo-build$colon$version.log +1 -1
  348. package/components/form/.turbo/turbo-build.log +17 -18
  349. package/components/form/.turbo/turbo-bundler.log +4 -4
  350. package/components/form/.turbo/turbo-postCss$colon$component.log +1 -2
  351. package/components/form/.turbo/turbo-sass$colon$render.log +2 -2
  352. package/components/form/.turbo/turbo-types.log +1 -1
  353. package/components/form/README.md +28 -34
  354. package/components/form/demo/api.min.js +338 -25
  355. package/components/form/demo/index.min.js +338 -25
  356. package/components/form/demo/registerDemoDeps.js +6 -0
  357. package/components/form/demo/working.html +108 -0
  358. package/components/form/dist/auro-form.d.ts +137 -2
  359. package/components/form/dist/auro-form.d.ts.map +1 -1
  360. package/components/form/dist/index.js +338 -25
  361. package/components/form/package.json +4 -2
  362. package/components/form/src/auro-form.js +335 -25
  363. package/components/input/.turbo/turbo-build$colon$sass.log +66 -16
  364. package/components/input/.turbo/turbo-build$colon$version.log +1 -1
  365. package/components/input/.turbo/turbo-build.log +79 -32
  366. package/components/input/.turbo/turbo-bundler.log +4 -4
  367. package/components/input/.turbo/turbo-postCss$colon$component.log +1 -2
  368. package/components/input/.turbo/turbo-sass$colon$render.log +15 -9
  369. package/components/input/.turbo/turbo-types.log +1 -1
  370. package/components/input/README.md +18 -28
  371. package/components/input/demo/api.md +151 -316
  372. package/components/input/demo/api.min.js +370 -150
  373. package/components/input/demo/index.md +11 -61
  374. package/components/input/demo/index.min.js +370 -150
  375. package/components/input/dist/auro-input.d.ts.map +1 -1
  376. package/components/input/dist/base-input.d.ts +158 -87
  377. package/components/input/dist/base-input.d.ts.map +1 -1
  378. package/components/input/dist/index.js +370 -150
  379. package/components/input/dist/styles/mixins-css.d.ts +3 -0
  380. package/components/input/dist/styles/mixins-css.d.ts.map +1 -0
  381. package/components/input/package.json +1 -1
  382. package/components/input/src/auro-input.js +0 -1
  383. package/components/input/src/base-input.js +257 -90
  384. package/components/input/src/styles/borders.scss +3 -19
  385. package/components/input/src/styles/color.css +1 -2
  386. package/components/input/src/styles/color.scss +3 -10
  387. package/components/input/src/styles/input-css.js +1 -1
  388. package/components/input/src/styles/input.css +1 -1
  389. package/components/input/src/styles/input.scss +4 -1
  390. package/components/input/src/styles/label-css.js +1 -1
  391. package/components/input/src/styles/label.css +1 -1
  392. package/components/input/src/styles/label.scss +4 -7
  393. package/components/input/src/styles/mixins-css.js +2 -0
  394. package/components/input/src/styles/mixins.css +1 -0
  395. package/components/input/src/styles/mixins.scss +45 -0
  396. package/components/input/src/styles/notificationIcons-css.js +1 -1
  397. package/components/input/src/styles/notificationIcons.css +13 -12
  398. package/components/input/src/styles/notificationIcons.scss +17 -25
  399. package/components/input/src/styles/style-css.js +1 -1
  400. package/components/input/src/styles/style.css +15 -17
  401. package/components/input/src/styles/style.scss +0 -4
  402. package/components/menu/.turbo/turbo-build$colon$sass.log +9 -9
  403. package/components/menu/.turbo/turbo-build$colon$version.log +1 -1
  404. package/components/menu/.turbo/turbo-build.log +22 -21
  405. package/components/menu/.turbo/turbo-bundler.log +4 -4
  406. package/components/menu/.turbo/turbo-postCss$colon$component.log +1 -2
  407. package/components/menu/.turbo/turbo-sass$colon$render.log +6 -6
  408. package/components/menu/.turbo/turbo-types.log +1 -1
  409. package/components/menu/README.md +18 -26
  410. package/components/menu/demo/api.md +57 -20
  411. package/components/menu/demo/api.min.js +626 -312
  412. package/components/menu/demo/index.min.js +624 -310
  413. package/components/menu/dist/auro-menu-utils.d.ts +43 -0
  414. package/components/menu/dist/auro-menu-utils.d.ts.map +1 -0
  415. package/components/menu/dist/auro-menu.d.ts +97 -81
  416. package/components/menu/dist/auro-menu.d.ts.map +1 -1
  417. package/components/menu/dist/index.d.ts +1 -0
  418. package/components/menu/dist/index.js +625 -311
  419. package/components/menu/package.json +1 -1
  420. package/components/menu/src/auro-menu-utils.js +131 -0
  421. package/components/menu/src/auro-menu.js +492 -303
  422. package/components/menu/src/index.js +7 -0
  423. package/components/menu/src/styles/color-menuoption-css.js +1 -1
  424. package/components/menu/src/styles/color-menuoption.css +3 -0
  425. package/components/menu/src/styles/color-menuoption.scss +4 -0
  426. package/components/radio/.turbo/turbo-build$colon$sass.log +13 -13
  427. package/components/radio/.turbo/turbo-build.log +23 -24
  428. package/components/radio/.turbo/turbo-bundler.log +4 -4
  429. package/components/radio/.turbo/turbo-postCss$colon$component.log +1 -2
  430. package/components/radio/.turbo/turbo-sass$colon$render.log +6 -6
  431. package/components/radio/.turbo/turbo-types.log +1 -1
  432. package/components/radio/README.md +18 -26
  433. package/components/radio/demo/api.md +7 -4
  434. package/components/radio/demo/api.min.js +120 -58
  435. package/components/radio/demo/index.min.js +120 -58
  436. package/components/radio/dist/auro-radio-group.d.ts +5 -0
  437. package/components/radio/dist/auro-radio-group.d.ts.map +1 -1
  438. package/components/radio/dist/index.js +120 -58
  439. package/components/radio/package.json +1 -1
  440. package/components/radio/src/auro-radio-group.js +10 -2
  441. package/components/select/.turbo/turbo-build$colon$sass.log +12 -12
  442. package/components/select/.turbo/turbo-build.log +32 -33
  443. package/components/select/.turbo/turbo-postCss$colon$component.log +1 -2
  444. package/components/select/.turbo/turbo-sass$colon$render.log +4 -4
  445. package/components/select/README.md +21 -42
  446. package/components/select/demo/api.md +92 -121
  447. package/components/select/demo/api.min.js +2723 -711
  448. package/components/select/demo/index.md +101 -59
  449. package/components/select/demo/index.min.js +2722 -706
  450. package/components/select/dist/auro-select.d.ts +77 -48
  451. package/components/select/dist/auro-select.d.ts.map +1 -1
  452. package/components/select/dist/dropdownVersion.d.ts +3 -0
  453. package/components/select/dist/dropdownVersion.d.ts.map +1 -0
  454. package/components/select/dist/index.js +2082 -367
  455. package/components/select/package.json +3 -3
  456. package/components/select/src/auro-select.js +148 -129
  457. package/components/select/src/dropdownVersion.js +1 -0
  458. package/components/select/src/styles/style-css.js +1 -1
  459. package/components/select/src/styles/style.css +14 -0
  460. package/components/select/src/styles/style.scss +24 -1
  461. package/package.json +21 -21
  462. package/packages/build-tools/src/docProcessor.mjs +37 -8
  463. package/packages/form-validation/src/validation.js +104 -50
  464. package/packages/utils/package.json +12 -0
  465. package/packages/utils/src/iconUtil.js +25 -0
  466. package/packages/utils/src/index.js +1 -0
  467. package/turbo.json +8 -8
  468. package/.turbo/cache/013a48308b893dac-meta.json +0 -1
  469. package/.turbo/cache/013a48308b893dac.tar.zst +0 -0
  470. package/.turbo/cache/0663fcbb1d711029-meta.json +0 -1
  471. package/.turbo/cache/0663fcbb1d711029.tar.zst +0 -0
  472. package/.turbo/cache/07ca42419b9f050c-meta.json +0 -1
  473. package/.turbo/cache/07ca42419b9f050c.tar.zst +0 -0
  474. package/.turbo/cache/0a2b0a4df8a0443f-meta.json +0 -1
  475. package/.turbo/cache/0a2b0a4df8a0443f.tar.zst +0 -0
  476. package/.turbo/cache/0cea4c1f34f3683b-meta.json +0 -1
  477. package/.turbo/cache/0cea4c1f34f3683b.tar.zst +0 -0
  478. package/.turbo/cache/120c8e207aa1ba35-meta.json +0 -1
  479. package/.turbo/cache/120c8e207aa1ba35.tar.zst +0 -0
  480. package/.turbo/cache/17259cf94d8f8925-meta.json +0 -1
  481. package/.turbo/cache/17259cf94d8f8925.tar.zst +0 -0
  482. package/.turbo/cache/17dd4bdef6550a07-meta.json +0 -1
  483. package/.turbo/cache/17dd4bdef6550a07.tar.zst +0 -0
  484. package/.turbo/cache/1c99a949ec63ab35-meta.json +0 -1
  485. package/.turbo/cache/1c99a949ec63ab35.tar.zst +0 -0
  486. package/.turbo/cache/1de15d89eed2d760-meta.json +0 -1
  487. package/.turbo/cache/1de15d89eed2d760.tar.zst +0 -0
  488. package/.turbo/cache/257a7a26ea72dbc5-meta.json +0 -1
  489. package/.turbo/cache/257a7a26ea72dbc5.tar.zst +0 -0
  490. package/.turbo/cache/2990aaa7ebc5b967-meta.json +0 -1
  491. package/.turbo/cache/2990aaa7ebc5b967.tar.zst +0 -0
  492. package/.turbo/cache/32c0b9995fb5f8dd-meta.json +0 -1
  493. package/.turbo/cache/32c0b9995fb5f8dd.tar.zst +0 -0
  494. package/.turbo/cache/3bf45120d0cc9bd8-meta.json +0 -1
  495. package/.turbo/cache/3bf45120d0cc9bd8.tar.zst +0 -0
  496. package/.turbo/cache/45035bf5c4147ccd-meta.json +0 -1
  497. package/.turbo/cache/45035bf5c4147ccd.tar.zst +0 -0
  498. package/.turbo/cache/47ba2b5ebdb579e9-meta.json +0 -1
  499. package/.turbo/cache/47ba2b5ebdb579e9.tar.zst +0 -0
  500. package/.turbo/cache/4f92cea2d8c63de2-meta.json +0 -1
  501. package/.turbo/cache/4f92cea2d8c63de2.tar.zst +0 -0
  502. package/.turbo/cache/56cb35d4c7473a23-meta.json +0 -1
  503. package/.turbo/cache/56cb35d4c7473a23.tar.zst +0 -0
  504. package/.turbo/cache/5c16ce3cff5c9dff-meta.json +0 -1
  505. package/.turbo/cache/5c16ce3cff5c9dff.tar.zst +0 -0
  506. package/.turbo/cache/5f304c0f37ef25f3-meta.json +0 -1
  507. package/.turbo/cache/5f304c0f37ef25f3.tar.zst +0 -0
  508. package/.turbo/cache/626afdc67e0cb540-meta.json +0 -1
  509. package/.turbo/cache/626afdc67e0cb540.tar.zst +0 -0
  510. package/.turbo/cache/64de7a53e02db647-meta.json +0 -1
  511. package/.turbo/cache/64de7a53e02db647.tar.zst +0 -0
  512. package/.turbo/cache/691a74627ec57993-meta.json +0 -1
  513. package/.turbo/cache/691a74627ec57993.tar.zst +0 -0
  514. package/.turbo/cache/69aae513b7ec6c7d-meta.json +0 -1
  515. package/.turbo/cache/69aae513b7ec6c7d.tar.zst +0 -0
  516. package/.turbo/cache/6dd7058e6703cb35-meta.json +0 -1
  517. package/.turbo/cache/6dd7058e6703cb35.tar.zst +0 -0
  518. package/.turbo/cache/6ef81cf9a66f982a-meta.json +0 -1
  519. package/.turbo/cache/6ef81cf9a66f982a.tar.zst +0 -0
  520. package/.turbo/cache/73e9073a5274616d-meta.json +0 -1
  521. package/.turbo/cache/73e9073a5274616d.tar.zst +0 -0
  522. package/.turbo/cache/773edc0f83c8c5a5-meta.json +0 -1
  523. package/.turbo/cache/773edc0f83c8c5a5.tar.zst +0 -0
  524. package/.turbo/cache/784c03fe9fd5ac05-meta.json +0 -1
  525. package/.turbo/cache/784c03fe9fd5ac05.tar.zst +0 -0
  526. package/.turbo/cache/786a822763403879-meta.json +0 -1
  527. package/.turbo/cache/786a822763403879.tar.zst +0 -0
  528. package/.turbo/cache/80b5d974184a01df-meta.json +0 -1
  529. package/.turbo/cache/80b5d974184a01df.tar.zst +0 -0
  530. package/.turbo/cache/87219c41a4ace9cd-meta.json +0 -1
  531. package/.turbo/cache/87219c41a4ace9cd.tar.zst +0 -0
  532. package/.turbo/cache/8954c6073396fadd-meta.json +0 -1
  533. package/.turbo/cache/8954c6073396fadd.tar.zst +0 -0
  534. package/.turbo/cache/8b735250fa5a62bf-meta.json +0 -1
  535. package/.turbo/cache/8b735250fa5a62bf.tar.zst +0 -0
  536. package/.turbo/cache/9154e8fe6ab767ea-meta.json +0 -1
  537. package/.turbo/cache/9154e8fe6ab767ea.tar.zst +0 -0
  538. package/.turbo/cache/92daa6d7c389d548-meta.json +0 -1
  539. package/.turbo/cache/92daa6d7c389d548.tar.zst +0 -0
  540. package/.turbo/cache/993dff2edb7b6766-meta.json +0 -1
  541. package/.turbo/cache/993dff2edb7b6766.tar.zst +0 -0
  542. package/.turbo/cache/9a097d6576dadd64-meta.json +0 -1
  543. package/.turbo/cache/9a097d6576dadd64.tar.zst +0 -0
  544. package/.turbo/cache/a49cc58242467fdc-meta.json +0 -1
  545. package/.turbo/cache/a49cc58242467fdc.tar.zst +0 -0
  546. package/.turbo/cache/a6a56bb802e1c20f-meta.json +0 -1
  547. package/.turbo/cache/a6a56bb802e1c20f.tar.zst +0 -0
  548. package/.turbo/cache/a77bc920ea508bb8-meta.json +0 -1
  549. package/.turbo/cache/a77bc920ea508bb8.tar.zst +0 -0
  550. package/.turbo/cache/af061e7a077a9ba5-meta.json +0 -1
  551. package/.turbo/cache/af061e7a077a9ba5.tar.zst +0 -0
  552. package/.turbo/cache/b50f1b283b4b81cd-meta.json +0 -1
  553. package/.turbo/cache/b50f1b283b4b81cd.tar.zst +0 -0
  554. package/.turbo/cache/b54fc4f664a7a5a0-meta.json +0 -1
  555. package/.turbo/cache/b54fc4f664a7a5a0.tar.zst +0 -0
  556. package/.turbo/cache/ba4418918621fbcd-meta.json +0 -1
  557. package/.turbo/cache/ba4418918621fbcd.tar.zst +0 -0
  558. package/.turbo/cache/be7c23c37b8ec74b-meta.json +0 -1
  559. package/.turbo/cache/be7c23c37b8ec74b.tar.zst +0 -0
  560. package/.turbo/cache/bf85bc040b7e64db-meta.json +0 -1
  561. package/.turbo/cache/bf85bc040b7e64db.tar.zst +0 -0
  562. package/.turbo/cache/caa0b4ac8d2a04dd-meta.json +0 -1
  563. package/.turbo/cache/caa0b4ac8d2a04dd.tar.zst +0 -0
  564. package/.turbo/cache/cc81de9c0b452a7c-meta.json +0 -1
  565. package/.turbo/cache/cc81de9c0b452a7c.tar.zst +0 -0
  566. package/.turbo/cache/cd5f6987783fb56d-meta.json +0 -1
  567. package/.turbo/cache/cd5f6987783fb56d.tar.zst +0 -0
  568. package/.turbo/cache/ce67b6522dd09e64-meta.json +0 -1
  569. package/.turbo/cache/ce67b6522dd09e64.tar.zst +0 -0
  570. package/.turbo/cache/d716cb7a08152beb-meta.json +0 -1
  571. package/.turbo/cache/d716cb7a08152beb.tar.zst +0 -0
  572. package/.turbo/cache/d7a47b77deb3d9a4-meta.json +0 -1
  573. package/.turbo/cache/d7a47b77deb3d9a4.tar.zst +0 -0
  574. package/.turbo/cache/dad1301ac69bcb85-meta.json +0 -1
  575. package/.turbo/cache/dad1301ac69bcb85.tar.zst +0 -0
  576. package/.turbo/cache/e992dab20aeefbaf-meta.json +0 -1
  577. package/.turbo/cache/e992dab20aeefbaf.tar.zst +0 -0
  578. package/.turbo/cache/fa132b5b5f0e75f8-meta.json +0 -1
  579. package/.turbo/cache/fa132b5b5f0e75f8.tar.zst +0 -0
  580. package/.turbo/cache/fbbe2704bf9cb90b-meta.json +0 -1
  581. package/.turbo/cache/fbbe2704bf9cb90b.tar.zst +0 -0
  582. package/.turbo/cache/ff58f630c9d69af4-meta.json +0 -1
  583. package/.turbo/cache/ff58f630c9d69af4.tar.zst +0 -0
@@ -1,3 +1,13 @@
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
+ */
1
11
  /**
2
12
  * The auro-form element provides users a way to ... (it would be great if you fill this out).
3
13
  *
@@ -6,10 +16,27 @@
6
16
  */
7
17
  export class AuroForm extends LitElement {
8
18
  static get properties(): {
9
- cssClass: {
10
- type: StringConstructor;
19
+ formState: {
20
+ attribute: boolean;
21
+ };
22
+ _validity: {
23
+ attribute: boolean;
24
+ };
25
+ _isInitialState: {
26
+ attribute: boolean;
27
+ };
28
+ _elements: {
29
+ attribute: boolean;
30
+ };
31
+ _submitElements: {
32
+ attribute: boolean;
33
+ };
34
+ _resetElements: {
35
+ attribute: boolean;
11
36
  };
12
37
  };
38
+ static get formElementTags(): string[];
39
+ static get buttonElementTags(): string[];
13
40
  static get styles(): import("lit").CSSResult[];
14
41
  /**
15
42
  * This will register this element with the browser.
@@ -20,7 +47,115 @@ export class AuroForm extends LitElement {
20
47
  *
21
48
  */
22
49
  static register(name?: string): void;
50
+ /** @type {FormState} */
51
+ formState: FormState;
52
+ /** @type {"valid" | "invalid" | null} */
53
+ _validity: "valid" | "invalid" | null;
54
+ _isInitialState: boolean;
55
+ /** @type {(HTMLElement & {reset: () => void})[]} */
56
+ _elements: (HTMLElement & {
57
+ reset: () => void;
58
+ })[];
59
+ /** @type {HTMLButtonElement[]} */
60
+ _submitelements: HTMLButtonElement[];
61
+ /** @type {HTMLButtonElement[]} */
62
+ _resetElements: HTMLButtonElement[];
63
+ reset(): void;
64
+ /**
65
+ * Submit fires an event called `submit` - just as you would expect from a normal form.
66
+ *
67
+ * @example ```
68
+ * const form = document.querySelector('auro-
69
+ * ```
70
+ */
71
+ submit(): void;
72
+ /**
73
+ * Shared code for determining if an element is something we care about (submit, form element, etc.).
74
+ * @param {string[]} collection - The array to use for tag name search.
75
+ * @param {HTMLElement} element - The element to compare against the master list.
76
+ * @returns boolean
77
+ * @private
78
+ */
79
+ private _isInElementCollection;
80
+ /**
81
+ * Check if the tag name is a form element.
82
+ * @param {HTMLElement} element - The element to check (attr or tag name).
83
+ * @returns {boolean}
84
+ */
85
+ isFormElement(element: HTMLElement): boolean;
86
+ /**
87
+ * Check if the tag name is a button element.
88
+ * @param {HTMLElement} element - The element to check.
89
+ * @returns {boolean}
90
+ */
91
+ isButtonElement(element: HTMLElement): boolean;
92
+ /**
93
+ * Reduce the form value into a key-value pair.
94
+ *
95
+ * NOTE: form keys use `name` first, and `id` second if `name` is not available.
96
+ * This follows standard HTML5 form behavior - submission uses `name` by default when creating
97
+ * the FormData object.
98
+ *
99
+ * @returns {Record<string, string | number | boolean | string[] | null>} The form value.
100
+ */
101
+ get value(): Record<string, string | number | boolean | string[] | null>;
102
+ /**
103
+ * Infer validity status based on current formState.
104
+ * @private
105
+ */
106
+ private _calculateValidity;
107
+ /**
108
+ * Current validity state of the form, based on form element events.
109
+ * @returns {"valid" | "invalid"}
110
+ */
111
+ get validity(): "valid" | "invalid";
112
+ _setInitialState(): void;
113
+ /**
114
+ * Mostly internal way to determine if a form is in the initial state.
115
+ * @returns {boolean}
116
+ */
117
+ get isInitialState(): boolean;
118
+ setDisabledStateOnButtons(): void;
119
+ /**
120
+ * Construct the query strings from elements, append them together, execute, and return the NodeList.
121
+ * @returns {NodeList}
122
+ */
123
+ queryAuroElements(): NodeList;
124
+ /**
125
+ * Initialize (or reinitialize) the form state.
126
+ */
127
+ initializeState(): void;
128
+ firstUpdated(_changedProperties: any): void;
129
+ updated(_changedProperties: any): void;
130
+ onSlotChange(): void;
23
131
  render(): import("lit-html").TemplateResult<1>;
24
132
  }
133
+ /**
134
+ * - The form state member.
135
+ */
136
+ export type FormStateMember = {
137
+ /**
138
+ * - The value of the form element.
139
+ */
140
+ value: string | number | boolean | string[] | null;
141
+ /**
142
+ * - The validity state of the form element, stored when fired from the form element.
143
+ */
144
+ validity: ValidityState;
145
+ /**
146
+ * - Whether the form element is required or not.
147
+ */
148
+ required: boolean;
149
+ /**
150
+ * - Whether the form element is required or not.
151
+ */
152
+ element: HTMLElement;
153
+ };
154
+ /**
155
+ * - The form state.
156
+ */
157
+ export type FormState = {
158
+ [x: string]: FormStateMember;
159
+ };
25
160
  import { LitElement } from "lit";
26
161
  //# sourceMappingURL=auro-form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auro-form.d.ts","sourceRoot":"","sources":["../src/auro-form.js"],"names":[],"mappings":"AAmBA;;;;;GAKG;AAGH;IAQE;;;;MAOC;IAED,+CAEC;IAED;;;;;;;OAOG;IACH,uBANW,MAAM,QAQhB;IAMD,+CAQC;CACF;2BAnEgC,KAAK"}
1
+ {"version":3,"file":"auro-form.d.ts","sourceRoot":"","sources":["../src/auro-form.js"],"names":[],"mappings":"AAcA;;;;;;GAMG;AAEH;;GAEG;AAIH;;;;;GAKG;AAGH;IACE;;;;;;;;;;;;;;;;;;;MASC;IA4BD,uCAOC;IAsBD,yCAKC;IAWD,+CAEC;IAoMD;;;;;;;OAOG;IACH,uBANW,MAAM,QAQhB;IApRC,wBAAwB;IACxB,WADW,SAAS,CACD;IAEnB,yCAAyC;IACzC,WADW,OAAO,GAAG,SAAS,GAAG,IAAI,CAChB;IACrB,yBAA2B;IAE3B,oDAAoD;IACpD,WADW,CAAC,WAAW,GAAG;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAC,CAAC,EAAE,CAC7B;IAEnB,kCAAkC;IAClC,iBADW,iBAAiB,EAAE,CACL;IAEzB,kCAAkC;IAClC,gBADW,iBAAiB,EAAE,CACN;IAgN1B,cAcC;IAED;;;;;;OAMG;IACH,eAmBC;IAxOD;;;;;;OAMG;IACH,+BAEC;IAED;;;;OAIG;IACH,uBAHW,WAAW,GACT,OAAO,CAInB;IASD;;;;OAIG;IACH,yBAHW,WAAW,GACT,OAAO,CAInB;IAMD;;;;;;;;OAQG;IACH,aAFa,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAOvE;IAED;;;OAGG;IACH,2BAcC;IAED;;;OAGG;IACH,gBAFa,OAAO,GAAG,SAAS,CAI/B;IAED,yBAUC;IAED;;;OAGG;IACH,sBAFa,OAAO,CAInB;IAED,kCAgBC;IAED;;;OAGG;IACH,qBAFa,QAAQ,CAsBpB;IAED;;OAEG;IACH,wBAqCC;IA0DD,4CAyBC;IAED,uCAaC;IAED,qBAEC;IAGD,+CAMC;CACF;;;;;;;;WA/Wa,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI;;;;cAC3C,aAAa;;;;cACb,OAAO;;;;aACP,WAAW;;;;;;;;2BAXQ,KAAK"}
@@ -3,26 +3,26 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
5
5
  */
6
- const t$1=globalThis,e$2=t$1.ShadowRoot&&(void 0===t$1.ShadyCSS||t$1.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$1=Symbol(),o$2=new WeakMap;let n$2 = class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s$1)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$2&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$2.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$2.set(s,t));}return t}toString(){return this.cssText}};const r$3=t=>new n$2("string"==typeof t?t:t+"",void 0,s$1),i$3=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$2(o,t,s$1)},S$1=(s,o)=>{if(e$2)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$1.litNonce;void 0!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$2=e$2?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$3(e)})(t):t;
6
+ const t$1=globalThis,e$2=t$1.ShadowRoot&&(undefined===t$1.ShadyCSS||t$1.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$1=Symbol(),o$2=new WeakMap;let n$2 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$1)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$2&&undefined===t){const e=undefined!==s&&1===s.length;e&&(t=o$2.get(s)),undefined===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$2.set(s,t));}return t}toString(){return this.cssText}};const r$3=t=>new n$2("string"==typeof t?t:t+"",undefined,s$1),i$3=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$2(o,t,s$1)},S$1=(s,o)=>{if(e$2)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$1.litNonce;undefined!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$2=e$2?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$3(e)})(t):t;
7
7
 
8
8
  /**
9
9
  * @license
10
10
  * Copyright 2017 Google LLC
11
11
  * SPDX-License-Identifier: BSD-3-Clause
12
- */const{is:i$2,defineProperty:e$1,getOwnPropertyDescriptor:r$2,getOwnPropertyNames:h$1,getOwnPropertySymbols:o$1,getPrototypeOf:n$1}=Object,a$1=globalThis,c$1=a$1.trustedTypes,l$1=c$1?c$1.emptyScript:"",p$1=a$1.reactiveElementPolyfillSupport,d$1=(t,s)=>t,u$1={toAttribute(t,s){switch(s){case Boolean:t=t?l$1:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$1=(t,s)=>!i$2(t,s),y$1={attribute:!0,type:String,converter:u$1,reflect:!1,hasChanged:f$1};Symbol.metadata??=Symbol("metadata"),a$1.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$1){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e$1(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$2(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$1}static _$Ei(){if(this.hasOwnProperty(d$1("elementProperties")))return;const t=n$1(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$1("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d$1("properties"))){const t=this.properties,s=[...h$1(t),...o$1(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$2(s));}else void 0!==s&&i.push(c$2(s));return i}static _$Eu(t,s){const i=s.attribute;return !1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$1(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u$1).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u$1;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$1)(this[t],s))return;this.P(t,s,i);}!1===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=!0;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i);}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=!1;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return !0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[d$1("elementProperties")]=new Map,b[d$1("finalized")]=new Map,p$1?.({ReactiveElement:b}),(a$1.reactiveElementVersions??=[]).push("2.0.4");
12
+ */const{is:i$2,defineProperty:e$1,getOwnPropertyDescriptor:r$2,getOwnPropertyNames:h$1,getOwnPropertySymbols:o$1,getPrototypeOf:n$1}=Object,a$1=globalThis,c$1=a$1.trustedTypes,l$1=c$1?c$1.emptyScript:"",p$1=a$1.reactiveElementPolyfillSupport,d$1=(t,s)=>t,u$1={toAttribute(t,s){switch(s){case Boolean:t=t?l$1:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$1=(t,s)=>!i$2(t,s),y$1={attribute:true,type:String,converter:u$1,reflect:false,hasChanged:f$1};Symbol.metadata??=Symbol("metadata"),a$1.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$1){if(s.state&&(s.attribute=false),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);undefined!==r&&e$1(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$2(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$1}static _$Ei(){if(this.hasOwnProperty(d$1("elementProperties")))return;const t=n$1(this);t.finalize(),undefined!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$1("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d$1("properties"))){const t=this.properties,s=[...h$1(t),...o$1(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(undefined!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);undefined!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$2(s));}else undefined!==s&&i.push(c$2(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?undefined:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():undefined}constructor(){super(),this._$Ep=undefined,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),undefined!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$1(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(undefined!==e&&true===i.reflect){const r=(undefined!==i.converter?.toAttribute?i.converter:u$1).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(undefined!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:undefined!==t.converter?.fromAttribute?t.converter:u$1;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(undefined!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$1)(this[t],s))return;this.P(t,s,i);} false===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),true===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=undefined;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t) true!==i.wrapped||this._$AL.has(s)||undefined===this[s]||this.P(s,this[s],i);}let t=false;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=false,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[d$1("elementProperties")]=new Map,b[d$1("finalized")]=new Map,p$1?.({ReactiveElement:b}),(a$1.reactiveElementVersions??=[]).push("2.0.4");
13
13
 
14
14
  /**
15
15
  * @license
16
16
  * Copyright 2017 Google LLC
17
17
  * SPDX-License-Identifier: BSD-3-Clause
18
18
  */
19
- const t=globalThis,i$1=t.trustedTypes,s=i$1?i$1.createPolicy("lit-html",{createHTML:t=>t}):void 0,e="$lit$",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o="?"+h,n=`<${o}>`,r$1=document,l=()=>r$1.createComment(""),c=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a=Array.isArray,u=t=>a(t)||"function"==typeof t?.[Symbol.iterator],d="[ \t\n\f\r]",f=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\s"'>=/]+)(${d}*=${d}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p=/'/g,g=/"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),A=new WeakMap,C=r$1.createTreeWalker(r$1,129);function P(t,i){if(!a(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?"!--"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m):void 0!==u[3]&&(c=m):c===m?">"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith("/>")?" ":"";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x);}return [P(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?H:"?"===e[1]?I:"@"===e[1]?L:k}),r.removeAttribute(t);}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i$1?i$1.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l());}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1;}c++;}}static createElement(t,i){const s=r$1.createElement("template");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$1).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C.nextNode(),o++);}return C.currentNode=r$1,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||""===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$1.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t));}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E;}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}}class H extends k{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E?void 0:t;}}class I extends k{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E);}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t);}}const j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push("3.2.1");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{});}return h._$AI(t),h};
19
+ const t=globalThis,i$1=t.trustedTypes,s=i$1?i$1.createPolicy("lit-html",{createHTML:t=>t}):undefined,e="$lit$",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o="?"+h,n=`<${o}>`,r$1=document,l=()=>r$1.createComment(""),c=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a=Array.isArray,u=t=>a(t)||"function"==typeof t?.[Symbol.iterator],d="[ \t\n\f\r]",f=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\s"'>=/]+)(${d}*=${d}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p=/'/g,g=/"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),A=new WeakMap,C=r$1.createTreeWalker(r$1,129);function P(t,i){if(!a(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return undefined!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?"!--"===u[1]?c=v:undefined!==u[1]?c=_:undefined!==u[2]?($.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m):undefined!==u[3]&&(c=m):c===m?">"===u[0]?(c=r??f,d=-1):undefined===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=undefined===u[3]?m:'"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=undefined);const x=c===m&&t[i+1].startsWith("/>")?" ":"";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x);}return [P(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?H:"?"===e[1]?I:"@"===e[1]?L:k}),r.removeAttribute(t);}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i$1?i$1.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l());}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1;}c++;}}static createElement(t,i){const s=r$1.createElement("template");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=undefined!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?undefined:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),undefined===o?h=undefined:(h=new o(t),h._$AT(t,s,e)),undefined!==e?(s._$Co??=[])[e]=h:s._$Cl=h),undefined!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=undefined,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$1).importNode(i,true);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;undefined!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C.nextNode(),o++);}return C.currentNode=r$1,e}p(t){let i=0;for(const s of this._$AV) undefined!==s&&(undefined!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=undefined,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return undefined!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||""===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):undefined!==t._$litType$?this.$(t):undefined!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$1.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(undefined===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A.get(t.strings);return undefined===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(false,true,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){ undefined===this._$AM&&(this._$Cv=t,this._$AP?.(t));}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=undefined,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(undefined===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}}class H extends k{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E?undefined:t;}}class I extends k{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E);}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=undefined,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t);}}const j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push("3.2.1");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(undefined===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,undefined,s??{});}return h._$AI(t),h};
20
20
 
21
21
  /**
22
22
  * @license
23
23
  * Copyright 2017 Google LLC
24
24
  * SPDX-License-Identifier: BSD-3-Clause
25
- */class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1);}render(){return T}}r._$litElement$=!0,r["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:r});const i=globalThis.litElementPolyfillSupport;i?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
25
+ */class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=undefined;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T}}r._$litElement$=true,r["finalized"]=true,globalThis.litElementHydrateSupport?.({LitElement:r});const i=globalThis.litElementPolyfillSupport;i?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
26
26
 
27
27
  var styleCss = i$3`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.testClass{display:inline-block;padding:var(--auro-text-body-size-default);border:1px solid var(--auro-color-border-error-on-light);color:var(--auro-color-border-error-on-light)}:focus-visible{background-color:var(--auro-color-border-error-on-light);color:var(--auro-color-base-white)}`;
28
28
 
@@ -96,8 +96,20 @@ class AuroLibraryRuntimeUtils {
96
96
  }
97
97
  }
98
98
 
99
- // Copyright (c) 2024 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
100
- // See LICENSE in the project root for license information.
99
+ /* eslint-disable no-underscore-dangle,max-lines */
100
+
101
+
102
+ /**
103
+ * @typedef {Object} FormStateMember - The form state member.
104
+ * @property {string | number | boolean | string[] | null} value - The value of the form element.
105
+ * @property {ValidityState} validity - The validity state of the form element, stored when fired from the form element.
106
+ * @property {boolean} required - Whether the form element is required or not.
107
+ * @property {HTMLElement} element - Whether the form element is required or not.
108
+ */
109
+
110
+ /**
111
+ * @typedef {Object.<string, FormStateMember>} FormState - The form state.
112
+ */
101
113
 
102
114
 
103
115
  // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
@@ -110,26 +122,286 @@ class AuroLibraryRuntimeUtils {
110
122
 
111
123
  // build the component class
112
124
  class AuroForm extends r {
113
- // constructor() {
114
- // super();
115
- // }
116
-
117
- // This function is to define props used within the scope of this component
118
- // Be sure to review https://lit.dev/docs/components/properties/
119
- // to understand how to use reflected attributes with your property settings.
120
125
  static get properties() {
121
126
  return {
122
- // ...super.properties,
123
-
124
- // this property is DEMO ONLY! Please delete.
125
- cssClass: { type: String }
127
+ formState: { attribute: false },
128
+ _validity: { attribute: false },
129
+ _isInitialState: { attribute: false },
130
+ _elements: { attribute: false },
131
+ _submitElements: { attribute: false },
132
+ _resetElements: { attribute: false },
126
133
  };
127
134
  }
128
135
 
136
+ constructor() {
137
+ super();
138
+
139
+ /** @type {FormState} */
140
+ this.formState = {};
141
+
142
+ /** @type {"valid" | "invalid" | null} */
143
+ this._validity = null;
144
+ this._isInitialState = true;
145
+
146
+ /** @type {(HTMLElement & {reset: () => void})[]} */
147
+ this._elements = [];
148
+
149
+ /** @type {HTMLButtonElement[]} */
150
+ this._submitelements = [];
151
+
152
+ /** @type {HTMLButtonElement[]} */
153
+ this._resetElements = [];
154
+
155
+ // Bind listeners
156
+ this.reset = this.reset.bind(this);
157
+ this.submit = this.submit.bind(this);
158
+ }
159
+
160
+ // Note: button is NOT considered a form element in this context
161
+ // as it does not have a .value property.
162
+ static get formElementTags() {
163
+ return [
164
+ 'auro-input',
165
+ 'auro-select',
166
+ 'auro-datepicker',
167
+ 'auro-checkbox-group',
168
+ ];
169
+ }
170
+
171
+ /**
172
+ * Shared code for determining if an element is something we care about (submit, form element, etc.).
173
+ * @param {string[]} collection - The array to use for tag name search.
174
+ * @param {HTMLElement} element - The element to compare against the master list.
175
+ * @returns boolean
176
+ * @private
177
+ */
178
+ _isInElementCollection(collection, element) {
179
+ return collection.some((elementTag) => element.tagName.toLowerCase() === elementTag || element.hasAttribute(elementTag.toLowerCase()));
180
+ }
181
+
182
+ /**
183
+ * Check if the tag name is a form element.
184
+ * @param {HTMLElement} element - The element to check (attr or tag name).
185
+ * @returns {boolean}
186
+ */
187
+ isFormElement(element) {
188
+ return this._isInElementCollection(AuroForm.formElementTags, element);
189
+ }
190
+
191
+ static get buttonElementTags() {
192
+ return [
193
+ 'button',
194
+ 'auro-button',
195
+ ];
196
+ }
197
+
198
+ /**
199
+ * Check if the tag name is a button element.
200
+ * @param {HTMLElement} element - The element to check.
201
+ * @returns {boolean}
202
+ */
203
+ isButtonElement(element) {
204
+ return this._isInElementCollection(AuroForm.buttonElementTags, element);
205
+ }
206
+
129
207
  static get styles() {
130
208
  return [styleCss];
131
209
  }
132
210
 
211
+ /**
212
+ * Reduce the form value into a key-value pair.
213
+ *
214
+ * NOTE: form keys use `name` first, and `id` second if `name` is not available.
215
+ * This follows standard HTML5 form behavior - submission uses `name` by default when creating
216
+ * the FormData object.
217
+ *
218
+ * @returns {Record<string, string | number | boolean | string[] | null>} The form value.
219
+ */
220
+ get value() {
221
+ return Object.keys(this.formState).reduce((acc, key) => {
222
+ acc[key] = this.formState[key].value;
223
+ return acc;
224
+ }, {});
225
+ }
226
+
227
+ /**
228
+ * Infer validity status based on current formState.
229
+ * @private
230
+ */
231
+ _calculateValidity() {
232
+ if (this.isInitialState) {
233
+ this._validity = null;
234
+ } else {
235
+ // go through validity states and return the first invalid state (if any)
236
+ const invalidKey = Object.keys(this.formState).
237
+ find((key) => {
238
+ const formKey = this.formState[key];
239
+ // these are NOT extra parens
240
+ // eslint-disable-next-line no-extra-parens
241
+ return (formKey.validity !== 'valid' && formKey.required) || (formKey.validity !== 'valid' && formKey.value !== null);
242
+ });
243
+ this._validity = invalidKey ? 'invalid' : 'valid';
244
+ }
245
+ }
246
+
247
+ /**
248
+ * Current validity state of the form, based on form element events.
249
+ * @returns {"valid" | "invalid"}
250
+ */
251
+ get validity() {
252
+ return this._validity;
253
+ }
254
+
255
+ _setInitialState() {
256
+ const anyTainted = Object.keys(this.formState).some((key) => this.formState[key].validity !== null || this.formState[key].value !== null);
257
+
258
+ this._isInitialState = !anyTainted;
259
+
260
+ this._resetElements.forEach((resetElement) => {
261
+ if (resetElement.hasAttribute("disabled")) {
262
+ resetElement.removeAttribute("disabled");
263
+ }
264
+ });
265
+ }
266
+
267
+ /**
268
+ * Mostly internal way to determine if a form is in the initial state.
269
+ * @returns {boolean}
270
+ */
271
+ get isInitialState() {
272
+ return this._isInitialState;
273
+ }
274
+
275
+ setDisabledStateOnButtons() {
276
+ this._resetElements.forEach((element) => {
277
+ if (this.isInitialState) {
278
+ element.setAttribute("disabled", "");
279
+ } else {
280
+ element.removeAttribute("disabled");
281
+ }
282
+ });
283
+
284
+ this._submitelements.forEach((element) => {
285
+ if (this.isInitialState || this.validity !== "valid") {
286
+ element.setAttribute("disabled", "");
287
+ } else {
288
+ element.removeAttribute("disabled");
289
+ }
290
+ });
291
+ }
292
+
293
+ /**
294
+ * Construct the query strings from elements, append them together, execute, and return the NodeList.
295
+ * @returns {NodeList}
296
+ */
297
+ queryAuroElements() {
298
+ const queries = [
299
+ [
300
+ AuroForm.formElementTags,
301
+ '[name]'
302
+ ],
303
+ [
304
+ AuroForm.buttonElementTags,
305
+ '[type=submit]'
306
+ ],
307
+ [
308
+ AuroForm.buttonElementTags,
309
+ '[type=reset]'
310
+ ]
311
+ ];
312
+
313
+ return this.querySelectorAll(queries.flatMap(([
314
+ tags,
315
+ extraAttributes
316
+ ]) => tags.map((tag) => `${tag}${extraAttributes}, [${tag}]${extraAttributes}`)).join(', '));
317
+ }
318
+
319
+ /**
320
+ * Initialize (or reinitialize) the form state.
321
+ */
322
+ initializeState() {
323
+ this.formState = {};
324
+ this._submitelements = [];
325
+ this._resetElements = [];
326
+ this._elements = [];
327
+
328
+ this.queryAuroElements().forEach((element) => {
329
+ if (this.isFormElement(element)) {
330
+ this.formState[element.getAttribute('name')] = {
331
+ value: element.getAttribute('value'),
332
+ validity: element.getAttribute('validity'),
333
+ required: element.hasAttribute('required'),
334
+ // element
335
+ };
336
+
337
+ this._elements.push(element);
338
+ }
339
+
340
+ if (this.isButtonElement(element) && element.getAttribute('type') === 'submit') {
341
+ element.removeEventListener('click', this.submit);
342
+ element.addEventListener('click', this.submit);
343
+
344
+ // Keep record of this element, so we can enable/disable as needed
345
+ this._submitelements.push(element);
346
+ }
347
+
348
+ if (this.isButtonElement(element) && element.getAttribute('type') === 'reset') {
349
+ // Keep record of this element, so we can enable/disable as needed
350
+ element.removeEventListener('click', this.reset);
351
+ element.addEventListener('click', this.reset);
352
+
353
+ this._resetElements.push(element);
354
+ }
355
+ });
356
+
357
+ // Set enabled/disabled states on buttons
358
+ this.setDisabledStateOnButtons();
359
+ }
360
+
361
+ reset() {
362
+ this._elements.forEach((element) => element.reset());
363
+
364
+ this.updateComplete.then(() => {
365
+ this.initializeState();
366
+ // Initial state must come first - validity can only be null if initial state is true
367
+ this._setInitialState();
368
+ this._calculateValidity();
369
+
370
+ // Wait for the above changes to run through, then disable submit/reset
371
+ this.updateComplete.then(() => {
372
+ this.setDisabledStateOnButtons();
373
+ });
374
+ });
375
+ }
376
+
377
+ /**
378
+ * Submit fires an event called `submit` - just as you would expect from a normal form.
379
+ *
380
+ * @example ```
381
+ * const form = document.querySelector('auro-
382
+ * ```
383
+ */
384
+ submit() {
385
+ // Steps required to get out of beta:
386
+ // 1. Submit triggers a forced validation on ALL elements
387
+ // 2. Wait for validation to complete (this.updateComplete.then or similar)
388
+ // 3. If still valid, go ahead with submit.
389
+ this._elements.forEach((element) => {
390
+ if (element.tagName.toLowerCase() !== "auro-datepicker") {
391
+ // Next line currently does NOT force
392
+ element.validate();
393
+ }
394
+ });
395
+
396
+ this.dispatchEvent(new CustomEvent('submit', {
397
+ bubbles: true,
398
+ composed: true,
399
+ detail: {
400
+ value: this.value
401
+ }
402
+ }));
403
+ }
404
+
133
405
  /**
134
406
  * This will register this element with the browser.
135
407
  * @param {string} [name="auro-form"] - The name of element that you want to register to.
@@ -142,17 +414,58 @@ class AuroForm extends r {
142
414
  AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroForm);
143
415
  }
144
416
 
145
- // When using auroElement, use the following attribute and function when hiding content from screen readers.
146
- // aria-hidden="${this.hideAudible(this.hiddenAudible)}"
417
+ firstUpdated(_changedProperties) {
418
+ super.firstUpdated(_changedProperties);
419
+
420
+ const slot = this.shadowRoot.querySelector('slot');
421
+
422
+ // Update the form state when a form element is detected
423
+ slot.addEventListener('input', (event) => {
424
+ const targetName = event.target.getAttribute("name");
425
+ if (!this.isFormElement(event.target) || !targetName) {
426
+ return;
427
+ }
428
+
429
+ this.formState[targetName].value = event.target.value;
430
+ this.requestUpdate('formState');
431
+ });
432
+
433
+ slot.addEventListener('auroFormElement-validated', (event) => {
434
+ const targetName = event.target.getAttribute("name");
435
+ if (!this.isFormElement(event.target) || !targetName) {
436
+ return;
437
+ }
147
438
 
148
- // function that renders the HTML and CSS into the scope of the component
439
+ this.formState[targetName].validity = event.detail.validity;
440
+ this._calculateValidity();
441
+ });
442
+ }
443
+
444
+ updated(_changedProperties) {
445
+ super.updated(_changedProperties);
446
+
447
+ if (_changedProperties.has("formState")) {
448
+ this._setInitialState();
449
+
450
+ // Automatically infer disabled state now
451
+ this.setDisabledStateOnButtons();
452
+ }
453
+
454
+ if (_changedProperties.has("_validity")) {
455
+ this._setInitialState();
456
+ }
457
+ }
458
+
459
+ onSlotChange() {
460
+ this.initializeState();
461
+ }
462
+
463
+ // function that renders the HTML and CSS into the scope of the component
149
464
  render() {
150
465
  return x`
151
-
152
- <!-- this is demo code, DO NOT USE IN YOUR ELEMENT -->
153
- <div class=${this.cssClass} tabindex="0">
154
- <slot></slot>
155
- </div>
466
+ <form>
467
+ <slot @slotchange="${this.onSlotChange}"></slot>
468
+ </form>
156
469
  `;
157
470
  }
158
471
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "@auro-formkit/auro-form",
2
+ "name": "@aurodesignsystem/auro-form",
3
3
  "version": "1.0.0",
4
4
  "description": "auro-form HTML custom element",
5
5
  "type": "module",
@@ -26,6 +26,8 @@
26
26
  "@auro-formkit/build-tools": "*",
27
27
  "@auro-formkit/config": "*",
28
28
  "@auro-formkit/typescript": "*",
29
+ "@aurodesignsystem/auro-datepicker": "*",
30
+ "@aurodesignsystem/auro-input": "*",
29
31
  "@aurodesignsystem/design-tokens": "^4.12.1",
30
32
  "@aurodesignsystem/webcorestylesheets": "^5.1.2",
31
33
  "@rollup/plugin-node-resolve": "^15.3.0",
@@ -58,7 +60,7 @@
58
60
  "bundler": "rollup -c node:@auro-formkit/config/rollup",
59
61
  "build:docs": "wca analyze 'scripts/wca/*.js' --outFiles docs/api.md; node ../../packages/build-tools/src/docProcessor.mjs --component form",
60
62
  "clean": "rm -rf dist build",
61
- "dev": "web-dev-server",
63
+ "dev": "web-dev-server --node-resolve",
62
64
  "postCss:component": "node ../../node_modules/@aurodesignsystem/auro-library/scripts/build/postCss.mjs",
63
65
  "sass:render": "sass-render --load-path=../../node_modules 'src/**/*.css' -t ../../node_modules/@aurodesignsystem/auro-library/scripts/build/staticStyles-template.js",
64
66
  "serve": "web-dev-server",