@aurodesignsystem-dev/auro-formkit 0.0.0-pr1457.1 → 0.0.0-pr1457.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/components/checkbox/demo/accessibility.html +1 -1
  2. package/components/checkbox/demo/api.html +2 -1
  3. package/components/checkbox/demo/customize.html +1 -1
  4. package/components/checkbox/demo/demo-support.min.js +60 -0
  5. package/components/checkbox/demo/design.html +2 -1
  6. package/components/checkbox/demo/getting-started.html +1 -1
  7. package/components/checkbox/demo/getting-started.md +154 -0
  8. package/components/checkbox/demo/index.html +1 -1
  9. package/components/checkbox/demo/index.min.js +3 -2
  10. package/components/checkbox/demo/install.html +49 -0
  11. package/components/checkbox/demo/keyboard-behavior.html +1 -1
  12. package/components/checkbox/demo/pages.json +1 -0
  13. package/components/checkbox/demo/readme.html +2 -1
  14. package/components/checkbox/demo/styles.min.css +1 -1
  15. package/components/checkbox/demo/voiceover.html +1 -1
  16. package/components/checkbox/dist/auro-checkbox.d.ts +1 -0
  17. package/components/checkbox/dist/index.js +3 -2
  18. package/components/checkbox/dist/registered.js +3 -2
  19. package/components/combobox/demo/accessibility.html +1 -3
  20. package/components/combobox/demo/api.html +2 -3
  21. package/components/combobox/demo/customize.html +1 -1
  22. package/components/combobox/demo/demo-support.min.js +60 -0
  23. package/components/combobox/demo/design.html +2 -3
  24. package/components/combobox/demo/getting-started.html +1 -1
  25. package/components/combobox/demo/index.html +1 -1
  26. package/components/combobox/demo/install.html +50 -0
  27. package/components/combobox/demo/keyboard-behavior.html +1 -3
  28. package/components/combobox/demo/pages.json +1 -0
  29. package/components/combobox/demo/readme.html +2 -3
  30. package/components/combobox/demo/registered.min.js +5 -4
  31. package/components/combobox/demo/styles.min.css +1 -1
  32. package/components/combobox/demo/voiceover.html +1 -3
  33. package/components/combobox/dist/index.js +5 -4
  34. package/components/combobox/dist/registered.js +5 -4
  35. package/components/counter/README.md +21 -47
  36. package/components/counter/demo/accessibility.html +49 -0
  37. package/components/counter/demo/accessibility.md +34 -0
  38. package/components/counter/demo/api.html +13 -21
  39. package/components/counter/demo/api.md +49 -1299
  40. package/components/counter/demo/api.min.js +1 -8390
  41. package/components/counter/demo/auro-counter-group.min.js +8392 -0
  42. package/components/counter/demo/customize.html +53 -0
  43. package/components/counter/demo/customize.md +650 -0
  44. package/components/counter/demo/demo-support.js +1 -0
  45. package/components/counter/demo/demo-support.min.js +55792 -0
  46. package/components/counter/demo/design.html +52 -0
  47. package/components/counter/demo/design.md +192 -0
  48. package/components/counter/demo/getting-started.html +54 -0
  49. package/components/counter/demo/getting-started.md +482 -0
  50. package/components/counter/demo/index.html +14 -20
  51. package/components/counter/demo/index.md +117 -51
  52. package/components/counter/demo/index.min.js +1 -8390
  53. package/components/{dropdown/demo/keyboardBehavior.html → counter/demo/keyboard-behavior.html} +9 -42
  54. package/components/counter/demo/keyboardBehavior.html +7 -40
  55. package/components/counter/demo/pages.json +1 -0
  56. package/components/counter/demo/readme.html +12 -16
  57. package/components/counter/demo/readme.md +21 -47
  58. package/components/counter/demo/styles.min.css +1 -0
  59. package/components/counter/demo/styles.scss +1 -0
  60. package/components/counter/demo/voiceover.html +51 -0
  61. package/components/counter/demo/voiceover.md +80 -0
  62. package/components/counter/dist/index.js +2 -2
  63. package/components/counter/dist/registered.js +2 -2
  64. package/components/datepicker/demo/accessibility.html +2 -3
  65. package/components/datepicker/demo/api.html +2 -2
  66. package/components/datepicker/demo/auro-datepicker.min.js +5 -4
  67. package/components/datepicker/demo/customize.html +1 -1
  68. package/components/datepicker/demo/demo-support.min.js +60 -0
  69. package/components/datepicker/demo/design.html +3 -4
  70. package/components/datepicker/demo/getting-started.html +1 -1
  71. package/components/datepicker/demo/index.html +1 -1
  72. package/components/datepicker/demo/keyboard-behavior.html +2 -4
  73. package/components/datepicker/demo/pages.json +1 -0
  74. package/components/datepicker/demo/readme.html +2 -2
  75. package/components/datepicker/demo/styles.min.css +1 -1
  76. package/components/datepicker/demo/voiceover.html +2 -4
  77. package/components/datepicker/dist/index.js +5 -4
  78. package/components/datepicker/dist/registered.js +5 -4
  79. package/components/dropdown/README.md +0 -21
  80. package/components/dropdown/demo/accessibility.html +49 -0
  81. package/components/dropdown/demo/accessibility.md +45 -0
  82. package/components/dropdown/demo/api.html +11 -20
  83. package/components/dropdown/demo/api.md +40 -1364
  84. package/components/dropdown/demo/api.min.js +2 -5098
  85. package/components/dropdown/demo/auro-dropdown.min.js +5099 -0
  86. package/components/dropdown/demo/customize.html +54 -0
  87. package/components/dropdown/demo/customize.md +780 -0
  88. package/components/dropdown/demo/demo-support.js +1 -0
  89. package/components/dropdown/demo/demo-support.min.js +55792 -0
  90. package/components/dropdown/demo/design.html +52 -0
  91. package/components/dropdown/demo/design.md +186 -0
  92. package/components/dropdown/demo/getting-started.html +54 -0
  93. package/components/dropdown/demo/getting-started.md +463 -0
  94. package/components/dropdown/demo/index.html +12 -21
  95. package/components/dropdown/demo/index.md +78 -233
  96. package/components/dropdown/demo/index.min.js +1 -5097
  97. package/components/dropdown/demo/keyboard-behavior.html +48 -0
  98. package/components/dropdown/demo/pages.json +1 -0
  99. package/components/dropdown/demo/readme.html +8 -21
  100. package/components/dropdown/demo/readme.md +0 -21
  101. package/components/dropdown/demo/styles.min.css +1 -0
  102. package/components/dropdown/demo/styles.scss +1 -0
  103. package/components/dropdown/demo/voiceover.html +51 -0
  104. package/components/dropdown/demo/voiceover.md +63 -0
  105. package/components/dropdown/dist/index.js +1 -1
  106. package/components/dropdown/dist/registered.js +1 -1
  107. package/components/form/README.md +9 -9
  108. package/components/form/demo/accessibility.html +51 -0
  109. package/components/form/demo/accessibility.md +23 -0
  110. package/components/form/demo/api.html +12 -15
  111. package/components/form/demo/api.md +14 -290
  112. package/components/form/demo/api.min.js +2 -71921
  113. package/components/form/demo/auro-form.min.js +718 -0
  114. package/components/form/demo/autocomplete.html +2 -2
  115. package/components/form/demo/customize.html +54 -0
  116. package/components/form/demo/customize.md +246 -0
  117. package/components/form/demo/demo-support.js +1 -0
  118. package/components/form/demo/demo-support.min.js +55792 -0
  119. package/components/form/demo/getting-started.html +54 -0
  120. package/components/form/demo/getting-started.md +434 -0
  121. package/components/form/demo/index.html +13 -15
  122. package/components/form/demo/index.md +67 -97
  123. package/components/form/demo/index.min.js +2 -71921
  124. package/components/form/demo/keyboard-behavior.html +51 -0
  125. package/components/form/demo/pages.json +1 -0
  126. package/components/form/demo/readme.html +13 -18
  127. package/components/form/demo/readme.md +9 -9
  128. package/components/form/demo/registerDemoDeps.min.js +71212 -0
  129. package/components/form/demo/styles.min.css +1 -0
  130. package/components/form/demo/styles.scss +1 -0
  131. package/components/form/demo/voiceover.html +51 -0
  132. package/components/form/demo/voiceover.md +36 -0
  133. package/components/form/demo/working.html +3 -2
  134. package/components/input/demo/accessibility.html +1 -1
  135. package/components/input/demo/api.html +1 -1
  136. package/components/input/demo/auro-input.min.js +3 -2
  137. package/components/input/demo/customize.html +1 -1
  138. package/components/input/demo/demo-support.min.js +60 -0
  139. package/components/input/demo/design.html +2 -1
  140. package/components/input/demo/getting-started.html +1 -1
  141. package/components/input/demo/index.html +1 -1
  142. package/components/input/demo/keyboard-behavior.html +2 -1
  143. package/components/input/demo/pages.json +1 -0
  144. package/components/input/demo/readme.html +2 -2
  145. package/components/input/demo/styles.min.css +1 -1
  146. package/components/input/demo/voiceover.html +1 -1
  147. package/components/input/dist/base-input.d.ts +1 -0
  148. package/components/input/dist/index.js +3 -2
  149. package/components/input/dist/registered.js +3 -2
  150. package/components/menu/README.md +8 -26
  151. package/components/menu/demo/accessibility.html +53 -0
  152. package/components/menu/demo/accessibility.md +34 -0
  153. package/components/menu/demo/api.html +12 -18
  154. package/components/menu/demo/api.md +43 -1102
  155. package/components/menu/demo/api.min.js +2 -2288
  156. package/components/menu/demo/auro-menu.min.js +2289 -0
  157. package/components/menu/demo/customize.html +54 -0
  158. package/components/menu/demo/customize.md +637 -0
  159. package/components/menu/demo/demo-support.js +1 -0
  160. package/components/menu/demo/demo-support.min.js +55792 -0
  161. package/components/menu/demo/design.html +53 -0
  162. package/components/menu/demo/design.md +81 -0
  163. package/components/menu/demo/getting-started.html +54 -0
  164. package/components/menu/demo/getting-started.md +322 -0
  165. package/components/menu/demo/index.html +14 -20
  166. package/components/menu/demo/index.md +26 -63
  167. package/components/menu/demo/index.min.js +1 -2287
  168. package/components/menu/demo/keyboard-behavior.html +53 -0
  169. package/components/menu/demo/pages.json +1 -0
  170. package/components/menu/demo/readme.html +12 -16
  171. package/components/menu/demo/readme.md +8 -26
  172. package/components/menu/demo/styles.min.css +1 -0
  173. package/components/menu/demo/styles.scss +1 -0
  174. package/components/menu/demo/voiceover.html +53 -0
  175. package/components/menu/demo/voiceover.md +33 -0
  176. package/components/radio/demo/accessibility.html +2 -1
  177. package/components/radio/demo/api.html +2 -1
  178. package/components/radio/demo/customize.html +2 -1
  179. package/components/radio/demo/demo-support.min.js +60 -0
  180. package/components/radio/demo/design.html +2 -1
  181. package/components/radio/demo/getting-started.html +2 -1
  182. package/components/radio/demo/getting-started.md +154 -0
  183. package/components/radio/demo/index.html +1 -1
  184. package/components/radio/demo/index.min.js +1 -1
  185. package/components/radio/demo/keyboard-behavior.html +2 -1
  186. package/components/radio/demo/pages.json +1 -0
  187. package/components/radio/demo/readme.html +3 -3
  188. package/components/radio/demo/styles.min.css +1 -1
  189. package/components/radio/demo/voiceover.html +2 -1
  190. package/components/radio/dist/index.js +1 -1
  191. package/components/radio/dist/registered.js +1 -1
  192. package/components/select/demo/accessibility.html +1 -1
  193. package/components/select/demo/api.html +2 -1
  194. package/components/select/demo/customize.html +1 -1
  195. package/components/select/demo/demo-support.min.js +60 -0
  196. package/components/select/demo/design.html +2 -1
  197. package/components/select/demo/getting-started.html +1 -1
  198. package/components/select/demo/index.html +1 -1
  199. package/components/select/demo/install.html +50 -0
  200. package/components/select/demo/keyboard-behavior.html +1 -1
  201. package/components/select/demo/keyboardBehavior.html +1 -1
  202. package/components/select/demo/layout.html +2 -1
  203. package/components/select/demo/pages.json +1 -0
  204. package/components/select/demo/readme.html +2 -1
  205. package/components/select/demo/registered.min.js +2 -2
  206. package/components/select/demo/styles.min.css +1 -1
  207. package/components/select/demo/voiceover.html +1 -1
  208. package/components/select/dist/index.js +2 -2
  209. package/components/select/dist/registered.js +2 -2
  210. package/custom-elements.json +249 -246
  211. package/package.json +1 -1
  212. package/components/counter/demo/keyboard-behavior.md +0 -127
  213. package/components/dropdown/demo/keyboard-behavior.md +0 -72
  214. package/components/form/demo/keyboard-behavior.md +0 -38
  215. package/components/menu/demo/keyboard-behavior.md +0 -18
@@ -0,0 +1,54 @@
1
+ <!--
2
+ Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
3
+ See LICENSE in the project root for license information.
4
+
5
+ HTML in this document is standardized and NOT to be edited.
6
+ All demo code should be added/edited in ./demo/getting-started.md
7
+
8
+ With the exception of adding custom elements if needed for the demo.
9
+
10
+ ----------------------- DO NOT EDIT -----------------------------
11
+
12
+ -->
13
+
14
+ <!DOCTYPE html>
15
+ <html lang="en">
16
+ <head>
17
+ <meta charset="UTF-8" />
18
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
19
+ <title>Auro Web Component Demo | auro-form | Getting Started</title>
20
+
21
+ <!-- highlight.js Stylesheet -->
22
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/styles/github.min.css"/>
23
+
24
+ <!-- Legacy reference is still needed to support auro-form's use of legacy token values at this time -->
25
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/legacy/auro-classic/CSSCustomProperties.css"/>
26
+
27
+ <!-- Design Token Alaska Theme -->
28
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/themes/alaska/CSSCustomProperties--alaska.min.css"/>
29
+
30
+ <!-- Webcore Stylesheet Alaska Theme -->
31
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/bundled/themes/alaska.global.min.css" />
32
+
33
+ <!-- Demo Specific Styles -->
34
+ <link rel="stylesheet" type="text/css" href="./styles.min.css" />
35
+ </head>
36
+ <body class="auro-markdown">
37
+ <main></main>
38
+
39
+ <script type="module">
40
+ import { renderPage } from './demo-support.min.js';
41
+ await renderPage('./getting-started.md');
42
+ </script>
43
+
44
+ <!-- If additional elements are needed for the demo, add them here. -->
45
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/+esm" type="module"></script>
46
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-nav@latest/+esm" type="module"></script>
47
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-header@latest/+esm" type="module"></script>
48
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-hyperlink@latest/+esm" type="module"></script>
49
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/+esm" type="module"></script>
50
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-icon@latest/+esm" type="module"></script>
51
+
52
+ <script src="./api.min.js" data-demo-script="true" type="module"></script>
53
+ </body>
54
+ </html>
@@ -0,0 +1,434 @@
1
+ <auro-header level="1" id="overview">Form - Getting Started</auro-header>
2
+ <div class="contentWrapper">
3
+ <nav>
4
+ <auro-nav anchorNavContent=".scrollWrapper">
5
+ <span slot="mobileToggleCollapsed">View More</span>
6
+ <span slot="mobileToggleExpanded">View Less</span>
7
+ <auro-anchorlink fluid href="#setup">Setup</auro-anchorlink>
8
+ <auro-anchorlink fluid href="#recommendedSetup" class="level2 body-xs" onclick="openAccordion('recommendedAccordion')">Recommended</auro-anchorlink>
9
+ <auro-anchorlink fluid href="#autoSetup" class="level2 body-xs" onclick="openAccordion('autoAccordion')">Auto</auro-anchorlink>
10
+ <auro-anchorlink fluid href="#cdnSetup" class="level2 body-xs" onclick="openAccordion('cdnAccordion')">CDN</auro-anchorlink>
11
+ <auro-anchorlink fluid href="#frameworks">Frameworks</auro-anchorlink>
12
+ <auro-anchorlink fluid href="#react" class="level2 body-xs" onclick="openAccordion('react')">React</auro-anchorlink>
13
+ <auro-anchorlink fluid href="#svelte" class="level2 body-xs" onclick="openAccordion('svelte')">Svelte</auro-anchorlink>
14
+ <auro-anchorlink fluid href="#minimalConfig">Minimal Configuration</auro-anchorlink>
15
+ <auro-anchorlink fluid href="#slots">Slots</auro-anchorlink>
16
+ <auro-anchorlink fluid href="#functions">Functions</auro-anchorlink>
17
+ <auro-anchorlink fluid href="#fnSubmit" class="level2 body-xs">submit()</auro-anchorlink>
18
+ <auro-anchorlink fluid href="#fnReset" class="level2 body-xs">reset()</auro-anchorlink>
19
+ </auro-nav>
20
+ </nav>
21
+ <div class="mainContent">
22
+ <div class="scrollWrapper">
23
+ <section>
24
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/install.md) -->
25
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/install.md -->
26
+ <auro-header level="2" id="setup">Setup</auro-header>
27
+ <auro-accordion-group Emphasis>
28
+ <auro-accordion expanded class="section" id="recommendedAccordion">
29
+ <span slot="trigger">Recommended Installation and Implementation</span>
30
+ <div class="accordion-content">
31
+ <auro-header level="3">Install</auro-header>
32
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../../../docs/templates/componentInstall.md) -->
33
+ <!-- The below content is automatically added from ./../../../docs/templates/componentInstall.md -->
34
+
35
+ <pre class="language-shell"><code class="language-shell">$ npm i @aurodesignsystem/auro-formkit</code></pre>
36
+ <!-- AURO-GENERATED-CONTENT:END -->
37
+ <auro-header level="3">Implementation</auro-header>
38
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/customRegistration.md) -->
39
+ <!-- The below content is automatically added from ./../docs/partials/customRegistration.md -->
40
+
41
+ ## Custom Component Registration for Version Management
42
+
43
+ There are two key parts to every Auro component: the <auro-hyperlink href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes" target="_blank">class</auro-hyperlink> 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.
44
+
45
+ You can do this by importing only the component class and using the <code>register(name)</code> method with a unique name:
46
+
47
+ <pre class="language-js"><code class="language-js">// Import the class only
48
+ import { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
49
+
50
+ // Register with a custom name if desired
51
+ AuroForm.register('[custom]-form');</code></pre>
52
+
53
+ 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.
54
+
55
+ ### Using Custom-Named Child Form Elements
56
+
57
+ When consuming custom-named Auro form elements (like `auro-input` registered as `custom-input`),
58
+ these elements _must_ be registered BEFORE auro-form due to rendering order limitations.
59
+ 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.
60
+
61
+ For example, the following is correct:
62
+
63
+ <pre class="language-javascript"><code class="language-javascript">import { AuroInput } from '@aurodesignsystem/auro-formkit/auro-input/class';
64
+ import { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
65
+
66
+ AuroInput.register('[custom]-input'); // adds an internal identifier auro-form uses to recognize the custom element
67
+ AuroForm.register('[custom]-form'); // render looks for said identifier</code></pre>
68
+
69
+ The following is NOT correct and will result in forms not working as expected:
70
+
71
+ <pre class="language-javascript"><code class="language-javascript">import { AuroInput } from '@aurodesignsystem/auro-formkit/auro-input/class';
72
+ import { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
73
+
74
+ AuroForm.register('[custom]-form'); // forms start rendering, looking for auro inputs, or custom-named inputs
75
+ AuroInput.register('[custom]-input'); // too late, form has already rendered and did not find the custom element</code></pre>
76
+ <!-- AURO-GENERATED-CONTENT:END -->
77
+ </div>
78
+ </auro-accordion>
79
+ <auro-accordion class="section" id="autoAccordion">
80
+ <span slot="trigger">Auto Installation and Implementation</span>
81
+ <div class="accordion-content">
82
+ <p class="warning"><strong>Warning:</strong> Default registration can cause conflicts if another package registers the same tag name using a different version of the component, leading to unexpected behavior. Use custom registration to avoid this risk.</p>
83
+ <auro-header level="3">Install</auro-header>
84
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../../../docs/templates/componentInstall.md) -->
85
+ <!-- The below content is automatically added from ./../../../docs/templates/componentInstall.md -->
86
+
87
+ <pre class="language-shell"><code class="language-shell">$ npm i @aurodesignsystem/auro-formkit</code></pre>
88
+ <!-- AURO-GENERATED-CONTENT:END -->
89
+ <auro-header level="3">Implementation</auro-header>
90
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/defaultRegistration.md) -->
91
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/defaultRegistration.md -->
92
+ Import the component, then register the custom element:
93
+
94
+ <pre class="language-js"><code class="language-js">import '@aurodesignsystem/auro-formkit/auro-form';</code></pre>
95
+
96
+ Then use the element in your HTML:
97
+
98
+ <pre class="language-html"><code class="language-html">&lt;auro-form&gt;
99
+ &lt;auro-input name="searchBox" required&gt;
100
+ &lt;span slot="label"&gt;Search flights&lt;/span&gt;
101
+ &lt;/auro-input&gt;
102
+ &lt;br /&gt;
103
+ &lt;auro-button type="submit"&gt;Submit&lt;/auro-button&gt;
104
+ &lt;/auro-form&gt;</code></pre>
105
+ <!-- AURO-GENERATED-CONTENT:END -->
106
+ </div>
107
+ </auro-accordion>
108
+ <auro-accordion class="section" id="cdnAccordion">
109
+ <span slot="trigger">CDN Installation and Implementation</span>
110
+ <div class="accordion-content">
111
+ <p class="warning"><strong>Warning:</strong> CDN install & registration can cause conflicts if another package registers the same tag name using a different version of the component, leading to unexpected behavior. Use custom registration to avoid this risk.</p>
112
+ <auro-header level="3">Install & Implementation</auro-header>
113
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/cdnRegistration.md) -->
114
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/cdnRegistration.md -->
115
+ <p>Add the following script tag to your HTML to load the component directly from a CDN:</p>
116
+
117
+ <pre class="language-html"><code class="language-html">&lt;script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-form/+esm"&gt;&lt;/script&gt;</code></pre>
118
+ <p>This script registers the <code>&lt;auro-form&gt;</code> custom element globally. You can then use it in your HTML:</p>
119
+
120
+ <pre class="language-html"><code class="language-html">&lt;auro-form&gt;
121
+ &lt;auro-input name="searchBox" required&gt;
122
+ &lt;span slot="label"&gt;Search flights&lt;/span&gt;
123
+ &lt;/auro-input&gt;
124
+ &lt;br /&gt;
125
+ &lt;auro-button type="submit"&gt;Submit&lt;/auro-button&gt;
126
+ &lt;/auro-form&gt;</code></pre>
127
+ <!-- AURO-GENERATED-CONTENT:END -->
128
+ </div>
129
+ </auro-accordion>
130
+ </auro-accordion-group>
131
+ <!-- AURO-GENERATED-CONTENT:END -->
132
+ </section>
133
+ <section>
134
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/frameworks.md) -->
135
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/frameworks.md -->
136
+ <auro-header level="2" id="frameworks">Frameworks</auro-header>
137
+ <auro-accordion-group Emphasis>
138
+ <auro-accordion class="section" id="react">
139
+ <span slot="trigger">React</span>
140
+ <div class="accordion-content">
141
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/react.md) -->
142
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/react.md -->
143
+ React 19 includes <a href="https://react.dev/blog/2024/12/05/react-19#support-for-custom-elements">native support for custom elements</a>, so <code>&lt;auro-form&gt;</code> works directly in JSX without any wrapper library.
144
+
145
+ <auro-header level="3" id="reactImport">Import the Component</auro-header>
146
+ Import and register the components at the top level of your application (e.g. in your root `main.tsx` or `App.tsx`):
147
+
148
+ <pre class="language-js"><code class="language-js">import { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
149
+
150
+ AuroForm.register('[custom]-form');</code></pre>
151
+
152
+ <auro-header level="3" id="reactTypeScript">TypeScript Declarations</auro-header>
153
+ The component ships with TypeScript type definitions for the `AuroForm` class. However, React's JSX does not automatically map custom element tag names to their types. To get type checking for `<auro-form>` in JSX, add the following declaration to a `.d.ts` file in your project:
154
+
155
+ <pre class="language-js"><code class="language-js">import type { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
156
+
157
+ declare global {
158
+ namespace JSX {
159
+ interface IntrinsicElements {
160
+ '[custom]-form': React.HTMLAttributes&lt;AuroForm&gt; &amp; Partial&lt;AuroForm&gt;;
161
+ }
162
+ }
163
+ }</code></pre>
164
+
165
+ <auro-header level="3" id="reactEvents">Event Handling</auro-header>
166
+ Auro components emit native `CustomEvent`s. Use a `ref` to attach event listeners in a `useEffect`:
167
+
168
+ <pre class="language-js"><code class="language-js">import { useRef, useEffect } from 'react';
169
+
170
+ function MyForm() {
171
+ const formRef = useRef&lt;HTMLElement&gt;(null);
172
+
173
+ useEffect(() =&gt; {
174
+ const el = formRef.current;
175
+ if (!el) return;
176
+
177
+ const handleSubmit = (e: Event) =&gt; {
178
+ console.log('Form values:', (e as CustomEvent).detail.value);
179
+ };
180
+
181
+ el.addEventListener('submit', handleSubmit);
182
+ return () =&gt; el.removeEventListener('submit', handleSubmit);
183
+ }, []);
184
+
185
+ return (
186
+ &lt;custom-form ref={formRef}&gt;
187
+ {/* Add Auro form elements here */}
188
+ &lt;button type="submit"&gt;Submit&lt;/button&gt;
189
+ &lt;/custom-form&gt;
190
+ );
191
+ }</code></pre>
192
+
193
+ <auro-header level="3" id="reactModuleResolution">Module Resolution</auro-header>
194
+ Ensure your `tsconfig.json` uses `"moduleResolution": "bundler"` so TypeScript can resolve the component's package exports:
195
+
196
+ <pre class="language-js"><code class="language-js">{
197
+ "compilerOptions": {
198
+ "moduleResolution": "bundler"
199
+ }
200
+ }</code></pre>
201
+ <!-- AURO-GENERATED-CONTENT:END -->
202
+ </div>
203
+ </auro-accordion>
204
+ <auro-accordion class="section" id="svelte">
205
+ <span slot="trigger">Svelte</span>
206
+ <div class="accordion-content">
207
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/svelte.md) -->
208
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/svelte.md -->
209
+ Svelte has <a href="https://svelte.dev/docs/svelte/custom-elements">native support for custom elements</a>, so <code>&lt;auro-form&gt;</code> works directly in Svelte templates without any wrapper or configuration.
210
+
211
+ <auro-header level="3" id="svelteImport">Import the Component</auro-header>
212
+ Import and register the components in the `<script>` block:
213
+
214
+ <pre class="language-html"><code class="language-html">&lt;script lang="ts"&gt;
215
+ import { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
216
+
217
+ AuroForm.register('[custom]-form');
218
+ &lt;/script&gt;</code></pre>
219
+
220
+ <auro-header level="3" id="svelteUsage">Basic Usage</auro-header>
221
+ Use `<auro-form>` directly in your Svelte template:
222
+
223
+ <pre class="language-html"><code class="language-html">&lt;script lang="ts"&gt;
224
+ import { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
225
+
226
+ AuroForm.register('[custom]-form');
227
+ &lt;/script&gt;
228
+ &lt;custom-form&gt;
229
+ &lt;!-- Add Auro form elements here --&gt;
230
+ &lt;button type="submit"&gt;Submit&lt;/button&gt;
231
+ &lt;/custom-form&gt;</code></pre>
232
+
233
+ <auro-header level="3" id="svelteTypeScript">TypeScript Declarations</auro-header>
234
+ Svelte does not automatically know about custom element attributes. To get autocomplete and type checking for `<auro-form>` props in templates, add the following to a `.d.ts` file in your project (e.g. `src/auro-elements.d.ts`):
235
+
236
+ <pre class="language-js"><code class="language-js">import type { AuroForm } from '@aurodesignsystem/auro-formkit/auro-form/class';
237
+
238
+ declare namespace svelteHTML {
239
+ interface IntrinsicElements {
240
+ '[custom]-form': Partial&lt;AuroForm&gt; &amp; svelteHTML.HTMLAttributes&lt;AuroForm&gt;;
241
+ }
242
+ }</code></pre>
243
+
244
+ This enables prop hinting for attributes like `disabled` and others directly in Svelte templates.
245
+
246
+ <auro-header level="3" id="svelteEvents">Event Handling</auro-header>
247
+ Auro components emit native `CustomEvent`s. Listen for the `submit` and `reset` events on the element:
248
+
249
+ <pre class="language-html"><code class="language-html">&lt;script lang="ts"&gt;
250
+ function handleSubmit(e: Event) {
251
+ console.log('Form values:', (e as CustomEvent).detail.value);
252
+ }
253
+ &lt;/script&gt;
254
+ &lt;custom-form on:submit={handleSubmit}&gt;
255
+ &lt;!-- Add Auro form elements here --&gt;
256
+ &lt;button type="submit"&gt;Submit&lt;/button&gt;
257
+ &lt;/custom-form&gt;</code></pre>
258
+
259
+ <auro-header level="3" id="svelteModuleResolution">Module Resolution</auro-header>
260
+ Ensure your `tsconfig.json` uses `"moduleResolution": "bundler"` so TypeScript can resolve the component's package exports:
261
+
262
+ <pre class="language-js"><code class="language-js">{
263
+ "compilerOptions": {
264
+ "moduleResolution": "bundler"
265
+ }
266
+ }</code></pre>
267
+ <!-- AURO-GENERATED-CONTENT:END -->
268
+ </div>
269
+ </auro-accordion>
270
+ </auro-accordion-group>
271
+ <!-- AURO-GENERATED-CONTENT:END -->
272
+ </section>
273
+ <section>
274
+ <auro-header level="2" id="minimalConfig">Minimal Configuration</auro-header>
275
+ <p>The most basic use of <code>auro-form</code> requires one or more named Auro form elements inside the form. Add a button with <code>type="submit"</code> to trigger form submission.</p>
276
+ <div class="exampleWrapper">
277
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/basic.html) -->
278
+ <!-- The below content is automatically added from ./../apiExamples/basic.html -->
279
+ <auro-form>
280
+ <auro-input id="search-box" name="searchBox" required>
281
+ <span slot="label">Search flights</span>
282
+ </auro-input>
283
+ <br />
284
+ <auro-button type="submit">Submit</auro-button>
285
+ </auro-form>
286
+ <!-- AURO-GENERATED-CONTENT:END -->
287
+ </div>
288
+ <auro-accordion alignRight>
289
+ <span slot="trigger">See code</span>
290
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/basic.html) -->
291
+ <!-- The below code snippet is automatically added from ./../apiExamples/basic.html -->
292
+ <pre class="language-html"><code class="language-html">&lt;auro-form&gt;
293
+ &lt;auro-input id="search-box" name="searchBox" required&gt;
294
+ &lt;span slot="label"&gt;Search flights&lt;/span&gt;
295
+ &lt;/auro-input&gt;
296
+ &lt;br /&gt;
297
+ &lt;auro-button type="submit"&gt;Submit&lt;/auro-button&gt;
298
+ &lt;/auro-form&gt;</code></pre>
299
+ <!-- AURO-GENERATED-CONTENT:END -->
300
+ </auro-accordion>
301
+ </section>
302
+ <section>
303
+ <auro-header level="2" id="slots">Slots</auro-header>
304
+ <p>The <code>default</code> slot accepts any Auro form elements (e.g., <code>auro-input</code>, <code>auro-select</code>, <code>auro-datepicker</code>, <code>auro-counter-group</code>) as well as any HTML elements for layout and structure.</p>
305
+ <div class="exampleWrapper">
306
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/complex.html) -->
307
+ <!-- The below content is automatically added from ./../apiExamples/complex.html -->
308
+ <style>
309
+ .submitBlock {
310
+ margin-top: 1rem;
311
+ display: flex;
312
+ justify-content: flex-end;
313
+ gap: 1rem;
314
+ }
315
+ .datepickerBlock {
316
+ margin-top: 1rem;
317
+ }
318
+ .complex-form {
319
+ display: block;
320
+ padding: 1rem;
321
+ border: 1px solid #2a2a2a;
322
+ border-radius: 1rem;
323
+ }
324
+ </style>
325
+ <auro-form class="complex-form">
326
+ <auro-input id="first-name" name="firstName" required>
327
+ <span slot="label">First Name</span>
328
+ </auro-input>
329
+ <br />
330
+ <auro-input id="last-name" name="lastName" required>
331
+ <span slot="label">Last Name</span>
332
+ </auro-input>
333
+ <br />
334
+ <auro-input id="occupation" name="occupation" required>
335
+ <span slot="label">Occupation</span>
336
+ </auro-input>
337
+ <br />
338
+ <auro-input-two id="cool-fact" name="coolFact" required>
339
+ <span slot="label">Cool Fact</span>
340
+ </auro-input-two>
341
+ <div class="datepickerBlock">
342
+ <h4>Pick a cool date</h4>
343
+ <auro-datepicker id="date-example" name="dateExample" required>
344
+ <span slot="fromLabel">Choose a date</span>
345
+ <span slot="bib.fullscreen.fromLabel">Choose a date</span>
346
+ </auro-datepicker>
347
+ </div>
348
+ <div class="datepickerBlock">
349
+ <h4>Pick a date range</h4>
350
+ <auro-datepicker id="date-range" name="dateRange" required range>
351
+ <span slot="fromLabel">Start</span>
352
+ <span slot="toLabel">End</span>
353
+ <span slot="bib.fullscreen.fromLabel">Start</span>
354
+ <span slot="bib.fullscreen.toLabel">End</span>
355
+ </auro-datepicker>
356
+ </div>
357
+ <div class="submitBlock">
358
+ <auro-button type="reset">Reset</auro-button>
359
+ <auro-button type="submit">Submit</auro-button>
360
+ </div>
361
+ </auro-form>
362
+ <!-- AURO-GENERATED-CONTENT:END -->
363
+ </div>
364
+ <auro-accordion alignRight>
365
+ <span slot="trigger">See code</span>
366
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/complex.html) -->
367
+ <!-- The below code snippet is automatically added from ./../apiExamples/complex.html -->
368
+ <pre class="language-html"><code class="language-html">&lt;style&gt;
369
+ .submitBlock {
370
+ margin-top: 1rem;
371
+ display: flex;
372
+ justify-content: flex-end;
373
+ gap: 1rem;
374
+ }
375
+ .datepickerBlock {
376
+ margin-top: 1rem;
377
+ }
378
+ .complex-form {
379
+ display: block;
380
+ padding: 1rem;
381
+ border: 1px solid #2a2a2a;
382
+ border-radius: 1rem;
383
+ }
384
+ &lt;/style&gt;
385
+ &lt;auro-form class="complex-form"&gt;
386
+ &lt;auro-input id="first-name" name="firstName" required&gt;
387
+ &lt;span slot="label"&gt;First Name&lt;/span&gt;
388
+ &lt;/auro-input&gt;
389
+ &lt;br /&gt;
390
+ &lt;auro-input id="last-name" name="lastName" required&gt;
391
+ &lt;span slot="label"&gt;Last Name&lt;/span&gt;
392
+ &lt;/auro-input&gt;
393
+ &lt;br /&gt;
394
+ &lt;auro-input id="occupation" name="occupation" required&gt;
395
+ &lt;span slot="label"&gt;Occupation&lt;/span&gt;
396
+ &lt;/auro-input&gt;
397
+ &lt;br /&gt;
398
+ &lt;auro-input-two id="cool-fact" name="coolFact" required&gt;
399
+ &lt;span slot="label"&gt;Cool Fact&lt;/span&gt;
400
+ &lt;/auro-input-two&gt;
401
+ &lt;div class="datepickerBlock"&gt;
402
+ &lt;h4&gt;Pick a cool date&lt;/h4&gt;
403
+ &lt;auro-datepicker id="date-example" name="dateExample" required&gt;
404
+ &lt;span slot="fromLabel"&gt;Choose a date&lt;/span&gt;
405
+ &lt;span slot="bib.fullscreen.fromLabel"&gt;Choose a date&lt;/span&gt;
406
+ &lt;/auro-datepicker&gt;
407
+ &lt;/div&gt;
408
+ &lt;div class="datepickerBlock"&gt;
409
+ &lt;h4&gt;Pick a date range&lt;/h4&gt;
410
+ &lt;auro-datepicker id="date-range" name="dateRange" required range&gt;
411
+ &lt;span slot="fromLabel"&gt;Start&lt;/span&gt;
412
+ &lt;span slot="toLabel"&gt;End&lt;/span&gt;
413
+ &lt;span slot="bib.fullscreen.fromLabel"&gt;Start&lt;/span&gt;
414
+ &lt;span slot="bib.fullscreen.toLabel"&gt;End&lt;/span&gt;
415
+ &lt;/auro-datepicker&gt;
416
+ &lt;/div&gt;
417
+ &lt;div class="submitBlock"&gt;
418
+ &lt;auro-button type="reset"&gt;Reset&lt;/auro-button&gt;
419
+ &lt;auro-button type="submit"&gt;Submit&lt;/auro-button&gt;
420
+ &lt;/div&gt;
421
+ &lt;/auro-form&gt;</code></pre>
422
+ <!-- AURO-GENERATED-CONTENT:END -->
423
+ </auro-accordion>
424
+ </section>
425
+ <section>
426
+ <auro-header level="2" id="functions">Functions</auro-header>
427
+ <auro-header level="3" id="fnSubmit">submit()</auro-header>
428
+ <p>Validates all form elements. If all are valid, fires a <code>submit</code> event with <code>detail.value</code> containing the current form values. If any element is invalid, its error state is surfaced and the <code>submit</code> event is not fired.</p>
429
+ <auro-header level="3" id="fnReset">reset()</auro-header>
430
+ <p>Resets all form elements to their initial state and fires a <code>reset</code> event. The event's <code>detail.previousValue</code> contains the form values captured immediately before the reset.</p>
431
+ </section>
432
+ </div>
433
+ </div>
434
+ </div>
@@ -18,8 +18,8 @@
18
18
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
19
19
  <title>Auro Web Component Demo | auro-form</title>
20
20
 
21
- <!-- Prism.js Stylesheet -->
22
- <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/prismjs@1.24.1/themes/prism.css"/>
21
+ <!-- highlight.js Stylesheet -->
22
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/styles/github.min.css"/>
23
23
 
24
24
  <!-- Legacy reference is still needed to support auro-form's use of legacy token values at this time -->
25
25
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/legacy/auro-classic/CSSCustomProperties.css"/>
@@ -31,26 +31,24 @@
31
31
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/bundled/themes/alaska.global.min.css" />
32
32
 
33
33
  <!-- Demo Specific Styles -->
34
- <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/demoWrapper.css" />
35
- <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/elementDemoStyles.css" />
36
- </head>
34
+ <link rel="stylesheet" type="text/css" href="./styles.min.css" />
35
+ </head>
37
36
  <body class="auro-markdown">
38
37
  <main></main>
39
38
 
40
39
  <script type="module">
41
- import 'https://cdn.jsdelivr.net/npm/marked@latest/marked.min.js';
42
- import 'https://cdn.jsdelivr.net/npm/prismjs@latest/prism.js';
43
- fetch('./index.md')
44
- .then((response) => response.text())
45
- .then((text) => {
46
- const rawHtml = marked.parse(text);
47
- document.querySelector('main').innerHTML = rawHtml;
48
- Prism.highlightAll();
49
- });
40
+ import { renderPage } from './demo-support.min.js';
41
+ await renderPage('./index.md');
50
42
  </script>
51
- <script type="module" data-demo-script="true" src="./index.min.js"></script>
52
43
 
53
44
  <!-- If additional elements are needed for the demo, add them here. -->
54
45
  <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/+esm" type="module"></script>
46
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-nav@latest/+esm" type="module"></script>
47
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-header@latest/+esm" type="module"></script>
48
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-hyperlink@latest/+esm" type="module"></script>
49
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-icon@latest/+esm" type="module"></script>
50
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/+esm" type="module"></script>
51
+
52
+ <script src="./index.min.js" data-demo-script="true" type="module"></script>
55
53
  </body>
56
54
  </html>