@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,482 @@
1
+ <auro-header level="1" id="overview">Counter - 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 Config</auro-anchorlink>
15
+ <auro-anchorlink fluid href="#slots">Slots</auro-anchorlink>
16
+ <auro-anchorlink fluid href="#slotsGroup" class="level2 body-xs">auro-counter-group</auro-anchorlink>
17
+ <auro-anchorlink fluid href="#slot-label" class="level2 body-xs">- label</auro-anchorlink>
18
+ <auro-anchorlink fluid href="#slot-helpText" class="level2 body-xs">- helpText</auro-anchorlink>
19
+ <auro-anchorlink fluid href="#slot-valueText" class="level2 body-xs">- valueText</auro-anchorlink>
20
+ <auro-anchorlink fluid href="#slotsCounter" class="level2 body-xs">auro-counter</auro-anchorlink>
21
+ <auro-anchorlink fluid href="#slot-default-counter" class="level2 body-xs">- (default)</auro-anchorlink>
22
+ <auro-anchorlink fluid href="#slot-description" class="level2 body-xs">- description</auro-anchorlink>
23
+ <auro-anchorlink fluid href="#slot-helpText-counter" class="level2 body-xs">- helpText</auro-anchorlink>
24
+ <auro-anchorlink fluid href="#stateManagement">State Management</auro-anchorlink>
25
+ <auro-anchorlink fluid href="#validity" class="level2 body-xs">Validity</auro-anchorlink>
26
+ <auro-anchorlink fluid href="#publicFunctions">Functions</auro-anchorlink>
27
+ <auro-anchorlink fluid href="#validate" class="level2 body-xs">validate()</auro-anchorlink>
28
+ <auro-anchorlink fluid href="#increment" class="level2 body-xs">increment()</auro-anchorlink>
29
+ <auro-anchorlink fluid href="#decrement" class="level2 body-xs">decrement()</auro-anchorlink>
30
+ </auro-nav>
31
+ </nav>
32
+ <div class="mainContent">
33
+ <div class="scrollWrapper">
34
+ <section>
35
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/install.md) -->
36
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/install.md -->
37
+ <auro-header level="2" id="setup">Setup</auro-header>
38
+ <auro-accordion-group Emphasis>
39
+ <auro-accordion expanded class="section" id="recommendedAccordion">
40
+ <span slot="trigger">Recommended Installation and Implementation</span>
41
+ <div class="accordion-content">
42
+ <auro-header level="3">Install</auro-header>
43
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../../../docs/templates/componentInstall.md) -->
44
+ <!-- The below content is automatically added from ./../../../docs/templates/componentInstall.md -->
45
+
46
+ <pre class="language-shell"><code class="language-shell">$ npm i @aurodesignsystem/auro-formkit</code></pre>
47
+ <!-- AURO-GENERATED-CONTENT:END -->
48
+ <auro-header level="3">Implementation</auro-header>
49
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/customRegistration.md) -->
50
+ <!-- The below content is automatically added from ./../docs/partials/customRegistration.md -->
51
+ <auro-header level="4">Custom Component Registration for Version Management</auro-header>
52
+ There are two key parts to every Auro component: the <auro-hyperlink href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes">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.
53
+
54
+ You can do this by importing only the component class and using the `register(name)` method with a unique name:
55
+
56
+ <pre class="language-js"><code class="language-js">// Import the class only
57
+ import { AuroCounter, AuroCounterGroup } from '@aurodesignsystem/auro-formkit/auro-counter/class';
58
+
59
+ // Register with a custom name if desired
60
+ AuroCounter.register('custom-counter');
61
+ AuroCounterGroup.register('custom-counter-group');</code></pre>
62
+
63
+ This will create a new custom element <code>&lt;custom-counter&gt;</code> and <code>&lt;custom-counter-group&gt;</code> that behaves exactly like <code>&lt;auro-counter&gt;</code> and <code>&lt;auro-counter-group&gt;</code>, allowing both to coexist on the same page without interfering with each other.
64
+
65
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/custom.html) -->
66
+ <!-- The below code snippet is automatically added from ./../apiExamples/custom.html -->
67
+ <pre class="language-html"><code class="language-html">&lt;custom-counter-group&gt;
68
+ &lt;div slot="bib.fullscreen.headline"&gt;Passengers&lt;/div&gt;
69
+ &lt;div slot="label"&gt;Passengers&lt;/div&gt;
70
+ &lt;custom-counter&gt;
71
+ Adults
72
+ &lt;span slot="description"&gt;18 years or older&lt;/span&gt;
73
+ &lt;/custom-counter&gt;
74
+ &lt;custom-counter&gt;
75
+ Children
76
+ &lt;span slot="description"&gt;2-17 years&lt;/span&gt;
77
+ &lt;/custom-counter&gt;
78
+ &lt;/custom-counter-group&gt;</code></pre>
79
+ <!-- AURO-GENERATED-CONTENT:END -->
80
+ <!-- AURO-GENERATED-CONTENT:END -->
81
+ </div>
82
+ </auro-accordion>
83
+ <auro-accordion class="section" id="autoAccordion">
84
+ <span slot="trigger">Auto Installation and Implementation</span>
85
+ <div class="accordion-content">
86
+ <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>
87
+ <auro-header level="3">Install</auro-header>
88
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../../../docs/templates/componentInstall.md) -->
89
+ <!-- The below content is automatically added from ./../../../docs/templates/componentInstall.md -->
90
+
91
+ <pre class="language-shell"><code class="language-shell">$ npm i @aurodesignsystem/auro-formkit</code></pre>
92
+ <!-- AURO-GENERATED-CONTENT:END -->
93
+ <auro-header level="3">Implementation</auro-header>
94
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/defaultRegistration.md) -->
95
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/defaultRegistration.md -->
96
+ Import the component and its dependencies, then register the custom elements:
97
+
98
+ <pre class="language-js"><code class="language-js">import '@aurodesignsystem/auro-formkit/auro-counter';</code></pre>
99
+
100
+ Then use the elements in your HTML:
101
+
102
+ <pre class="language-html"><code class="language-html">&lt;auro-counter-group&gt;
103
+ &lt;auro-counter&gt;Adults&lt;/auro-counter&gt;
104
+ &lt;auro-counter&gt;Children&lt;/auro-counter&gt;
105
+ &lt;/auro-counter-group&gt;</code></pre>
106
+ <!-- AURO-GENERATED-CONTENT:END -->
107
+ </div>
108
+ </auro-accordion>
109
+ <auro-accordion class="section" id="cdnAccordion">
110
+ <span slot="trigger">CDN Installation</span>
111
+ <div class="accordion-content">
112
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/cdnRegistration.md) -->
113
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/cdnRegistration.md -->
114
+ The counter components can be loaded via CDN without a build step:
115
+
116
+ <pre class="language-html"><code class="language-html">&lt;script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-counter/+esm" type="module"&gt;&lt;/script&gt;</code></pre>
117
+
118
+ Then use the elements in your HTML:
119
+
120
+ <pre class="language-html"><code class="language-html">&lt;auro-counter-group&gt;
121
+ &lt;auro-counter&gt;Adults&lt;/auro-counter&gt;
122
+ &lt;auro-counter&gt;Children&lt;/auro-counter&gt;
123
+ &lt;/auro-counter-group&gt;</code></pre>
124
+ <!-- AURO-GENERATED-CONTENT:END -->
125
+ </div>
126
+ </auro-accordion>
127
+ </auro-accordion-group>
128
+ <!-- AURO-GENERATED-CONTENT:END -->
129
+ </section>
130
+ <section>
131
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/frameworks.md) -->
132
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/frameworks.md -->
133
+ <auro-header level="2" id="frameworks">Frameworks</auro-header>
134
+ <auro-accordion-group Emphasis>
135
+ <auro-accordion class="section" id="react">
136
+ <span slot="trigger">React</span>
137
+ <div class="accordion-content">
138
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/react.md) -->
139
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/react.md -->
140
+ 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-counter&gt;</code> works directly in JSX without any wrapper library.
141
+
142
+ <auro-header level="3" id="reactImport">Import the Component</auro-header>
143
+ Import and register the components at the top level of your application (e.g. in your root `main.tsx` or `App.tsx`):
144
+
145
+ <pre class="language-js"><code class="language-js">import { AuroCounter, AuroCounterGroup } from '@aurodesignsystem/auro-formkit/auro-counter/class';
146
+
147
+ AuroCounter.register('[custom]-counter');
148
+ AuroCounterGroup.register('[custom]-counter-group');</code></pre>
149
+
150
+ <auro-header level="3" id="reactTypeScript">TypeScript Declarations</auro-header>
151
+ The component ships with TypeScript type definitions for the `AuroCounter` class. However, React's JSX does not automatically map custom element tag names to their types. To get type checking for `<auro-counter>` in JSX, add the following declaration to a `.d.ts` file in your project:
152
+
153
+ <pre class="language-js"><code class="language-js">import type { AuroCounter, AuroCounterGroup } from '@aurodesignsystem/auro-formkit/auro-counter/class';
154
+
155
+ declare global {
156
+ namespace JSX {
157
+ interface IntrinsicElements {
158
+ '[custom]-counter': React.HTMLAttributes&lt;AuroCounter&gt; &amp; Partial&lt;AuroCounter&gt;;
159
+ '[custom]-counter-group': React.HTMLAttributes&lt;AuroCounterGroup&gt; &amp; Partial&lt;AuroCounterGroup&gt;;
160
+ }
161
+ }
162
+ }</code></pre>
163
+
164
+ <auro-header level="3" id="reactEvents">Event Handling</auro-header>
165
+ Auro components emit native `CustomEvent`s. Use a `ref` to attach event listeners in a `useEffect`:
166
+
167
+ <pre class="language-js"><code class="language-js">import { useRef, useEffect } from 'react';
168
+
169
+ function MyCounterGroup() {
170
+ const groupRef = useRef&lt;HTMLElement&gt;(null);
171
+
172
+ useEffect(() =&gt; {
173
+ const el = groupRef.current;
174
+ if (!el) return;
175
+
176
+ const handleInput = () =&gt; {
177
+ console.log('Counter value:', (el as any).value);
178
+ };
179
+
180
+ el.addEventListener('countChanged', handleInput);
181
+ return () =&gt; el.removeEventListener('countChanged', handleInput);
182
+ }, []);
183
+
184
+ return (
185
+ &lt;custom-counter-group&gt;
186
+ &lt;span slot="label"&gt;Passengers&lt;/span&gt;
187
+ &lt;custom-counter ref={groupRef}&gt;Adults&lt;/custom-counter&gt;
188
+ &lt;custom-counter&gt;Children&lt;/custom-counter&gt;
189
+ &lt;/custom-counter-group&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-counter&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 { AuroCounter, AuroCounterGroup } from '@aurodesignsystem/auro-formkit/auro-counter/class';
216
+
217
+ AuroCounter.register('[custom]-counter');
218
+ AuroCounterGroup.register('[custom]-counter-group');
219
+ &lt;/script&gt;</code></pre>
220
+
221
+ <auro-header level="3" id="svelteUsage">Basic Usage</auro-header>
222
+ Use `<auro-counter-group>` directly in your Svelte template:
223
+
224
+ <pre class="language-html"><code class="language-html">&lt;script lang="ts"&gt;
225
+ import { AuroCounter, AuroCounterGroup } from '@aurodesignsystem/auro-formkit/auro-counter/class';
226
+
227
+ AuroCounter.register('[custom]-counter');
228
+ AuroCounterGroup.register('[custom]-counter-group');
229
+ &lt;/script&gt;
230
+ &lt;custom-counter-group&gt;
231
+ &lt;span slot="label"&gt;Passengers&lt;/span&gt;
232
+ &lt;custom-counter&gt;Adults&lt;/custom-counter&gt;
233
+ &lt;custom-counter&gt;Children&lt;/custom-counter&gt;
234
+ &lt;/custom-counter-group&gt;</code></pre>
235
+
236
+ <auro-header level="3" id="svelteTypeScript">TypeScript Declarations</auro-header>
237
+ Svelte does not automatically know about custom element attributes. To get autocomplete and type checking for `<auro-counter>` props in templates, add the following to a `.d.ts` file in your project (e.g. `src/auro-elements.d.ts`):
238
+
239
+ <pre class="language-js"><code class="language-js">import type { AuroCounter, AuroCounterGroup } from '@aurodesignsystem/auro-formkit/auro-counter/class';
240
+
241
+ declare namespace svelteHTML {
242
+ interface IntrinsicElements {
243
+ '[custom]-counter': Partial&lt;AuroCounter&gt; &amp; svelteHTML.HTMLAttributes&lt;AuroCounter&gt;;
244
+ '[custom]-counter-group': Partial&lt;AuroCounterGroup&gt; &amp; svelteHTML.HTMLAttributes&lt;AuroCounterGroup&gt;;
245
+ }
246
+ }</code></pre>
247
+
248
+ This enables prop hinting for attributes like `value`, `min`, `max`, `disabled`, and others directly in Svelte templates.
249
+
250
+ <auro-header level="3" id="svelteEvents">Event Handling</auro-header>
251
+ Auro components emit native `CustomEvent`s. Listen for the `countChanged` event on the element:
252
+
253
+ <pre class="language-html"><code class="language-html">&lt;script lang="ts"&gt;
254
+ let count = $state(0);
255
+
256
+ function handleChange(e: Event) {
257
+ count = (e.target as HTMLElement &amp; { value: number }).value;
258
+ }
259
+ &lt;/script&gt;
260
+ &lt;custom-counter on:countChanged={handleChange}&gt;Adults&lt;/custom-counter&gt;
261
+ &lt;p&gt;Count: {count}&lt;/p&gt;</code></pre>
262
+
263
+ <auro-header level="3" id="svelteModuleResolution">Module Resolution</auro-header>
264
+ Ensure your `tsconfig.json` uses `"moduleResolution": "bundler"` so TypeScript can resolve the component's package exports:
265
+
266
+ <pre class="language-js"><code class="language-js">{
267
+ "compilerOptions": {
268
+ "moduleResolution": "bundler"
269
+ }
270
+ }</code></pre>
271
+ <!-- AURO-GENERATED-CONTENT:END -->
272
+ </div>
273
+ </auro-accordion>
274
+ </auro-accordion-group>
275
+ <!-- AURO-GENERATED-CONTENT:END -->
276
+ </section>
277
+ <section>
278
+ <auro-header level="3" id="minimalConfig">Minimal Configuration</auro-header>
279
+ <p>A standalone <code>&lt;auro-counter&gt;</code> requires only a label in the default slot:</p>
280
+ <pre class="language-html"><code class="language-html">&lt;auro-counter&gt;
281
+ Adults
282
+ &lt;/auro-counter&gt;</code></pre>
283
+ <p>For a grouped counter with dropdown, provide a <code>label</code> slot and <code>bib.fullscreen.headline</code> slot on the group:</p>
284
+ <pre class="language-html"><code class="language-html">&lt;auro-counter-group isDropdown&gt;
285
+ &lt;span slot="label"&gt;Passengers&lt;/span&gt;
286
+ &lt;span slot="bib.fullscreen.headline"&gt;Passengers&lt;/span&gt;
287
+ &lt;auro-counter&gt;Adults&lt;/auro-counter&gt;
288
+ &lt;auro-counter&gt;Children&lt;/auro-counter&gt;
289
+ &lt;/auro-counter-group&gt;</code></pre>
290
+ </section>
291
+ <section>
292
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/getting-started/slots.md) -->
293
+ <!-- The below content is automatically added from ./../docs/partials/getting-started/slots.md -->
294
+ <auro-header level="2" id="slots">Slots</auro-header>
295
+ <auro-header level="3" id="slotsGroup">auro-counter-group</auro-header>
296
+ <p>The following slots are available on the <code>&lt;auro-counter-group&gt;</code> element.</p>
297
+ <auro-header level="4" id="slot-label">label</auro-header>
298
+ <p>Dropdown label content. Only used when <code>isDropdown</code> is true.</p>
299
+ <div class="exampleWrapper">
300
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/dropdown.html) -->
301
+ <!-- The below content is automatically added from ./../apiExamples/dropdown.html -->
302
+ <auro-counter-group isDropdown>
303
+ <span slot="ariaLabel.bib.close">Close Popup</span>
304
+ <span slot="bib.fullscreen.headline">Passengers</span>
305
+ <div slot="label">Passengers</div>
306
+ <auro-counter>
307
+ Adults
308
+ <span slot="description">18 years or older</span>
309
+ </auro-counter>
310
+ <auro-counter>
311
+ Children
312
+ <span slot="description">Under 17 years old. Restrictions apply if traveling without an adult.</span>
313
+ </auro-counter>
314
+ <auro-counter>
315
+ Lap Infants
316
+ <span slot="description">Under 2 years</span>
317
+ </auro-counter>
318
+ </auro-counter-group>
319
+ <!-- AURO-GENERATED-CONTENT:END -->
320
+ </div>
321
+ <auro-accordion alignRight>
322
+ <span slot="trigger">See code</span>
323
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/dropdown.html) -->
324
+ <!-- The below code snippet is automatically added from ./../apiExamples/dropdown.html -->
325
+ <pre class="language-html"><code class="language-html">&lt;auro-counter-group isDropdown&gt;
326
+ &lt;span slot="ariaLabel.bib.close"&gt;Close Popup&lt;/span&gt;
327
+ &lt;span slot="bib.fullscreen.headline"&gt;Passengers&lt;/span&gt;
328
+ &lt;div slot="label"&gt;Passengers&lt;/div&gt;
329
+ &lt;auro-counter&gt;
330
+ Adults
331
+ &lt;span slot="description"&gt;18 years or older&lt;/span&gt;
332
+ &lt;/auro-counter&gt;
333
+ &lt;auro-counter&gt;
334
+ Children
335
+ &lt;span slot="description"&gt;Under 17 years old. Restrictions apply if traveling without an adult.&lt;/span&gt;
336
+ &lt;/auro-counter&gt;
337
+ &lt;auro-counter&gt;
338
+ Lap Infants
339
+ &lt;span slot="description"&gt;Under 2 years&lt;/span&gt;
340
+ &lt;/auro-counter&gt;
341
+ &lt;/auro-counter-group&gt;</code></pre>
342
+ <!-- AURO-GENERATED-CONTENT:END -->
343
+ </auro-accordion>
344
+ <auro-header level="4" id="slot-helpText">helpText</auro-header>
345
+ <p>Dropdown help text content. Only used when <code>isDropdown</code> is true.</p>
346
+ <auro-header level="4" id="slot-valueText">valueText</auro-header>
347
+ <p>Customize the value display text in the dropdown trigger.</p>
348
+ <div class="exampleWrapper">
349
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/dropdown-value-text.html) -->
350
+ <!-- The below content is automatically added from ./../apiExamples/dropdown-value-text.html -->
351
+ <div style="max-width: 350px;">
352
+ <auro-counter-group isDropdown>
353
+ <span slot="ariaLabel.bib.close">Close Popup</span>
354
+ <span slot="bib.fullscreen.headline">Passengers</span>
355
+ <div slot="valueText">Custom value text</div>
356
+ <div slot="label"></div>
357
+ <auro-counter>
358
+ Adults
359
+ <span slot="description">18 years or older</span>
360
+ </auro-counter>
361
+ <auro-counter>
362
+ Children
363
+ <span slot="description">Under 17 years old. Restrictions apply if traveling without an adult.</span>
364
+ </auro-counter>
365
+ <auro-counter>
366
+ Lap Infants
367
+ <span slot="description">Under 2 years</span>
368
+ </auro-counter>
369
+ </auro-counter-group>
370
+ </div>
371
+ <!-- AURO-GENERATED-CONTENT:END -->
372
+ </div>
373
+ <auro-accordion alignRight>
374
+ <span slot="trigger">See code</span>
375
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/dropdown-value-text.html) -->
376
+ <!-- The below code snippet is automatically added from ./../apiExamples/dropdown-value-text.html -->
377
+ <pre class="language-html"><code class="language-html">&lt;div style="max-width: 350px;"&gt;
378
+ &lt;auro-counter-group isDropdown&gt;
379
+ &lt;span slot="ariaLabel.bib.close"&gt;Close Popup&lt;/span&gt;
380
+ &lt;span slot="bib.fullscreen.headline"&gt;Passengers&lt;/span&gt;
381
+ &lt;div slot="valueText"&gt;Custom value text&lt;/div&gt;
382
+ &lt;div slot="label"&gt;&lt;/div&gt;
383
+ &lt;auro-counter&gt;
384
+ Adults
385
+ &lt;span slot="description"&gt;18 years or older&lt;/span&gt;
386
+ &lt;/auro-counter&gt;
387
+ &lt;auro-counter&gt;
388
+ Children
389
+ &lt;span slot="description"&gt;Under 17 years old. Restrictions apply if traveling without an adult.&lt;/span&gt;
390
+ &lt;/auro-counter&gt;
391
+ &lt;auro-counter&gt;
392
+ Lap Infants
393
+ &lt;span slot="description"&gt;Under 2 years&lt;/span&gt;
394
+ &lt;/auro-counter&gt;
395
+ &lt;/auro-counter-group&gt;
396
+ &lt;/div&gt;</code></pre>
397
+ <!-- AURO-GENERATED-CONTENT:END -->
398
+ </auro-accordion>
399
+ <auro-header level="3" id="slotsCounter">auro-counter</auro-header>
400
+ <p>The following slots are available on the <code>&lt;auro-counter&gt;</code> element.</p>
401
+ <auro-header level="4" id="slot-default-counter">(default)</auro-header>
402
+ <p>Main label content for the counter. This is the primary text displayed alongside the increment/decrement controls.</p>
403
+ <div class="exampleWrapper">
404
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/basic-standalone.html) -->
405
+ <!-- The below content is automatically added from ./../apiExamples/basic-standalone.html -->
406
+ <auro-counter>
407
+ Adults
408
+ </auro-counter>
409
+ <!-- AURO-GENERATED-CONTENT:END -->
410
+ </div>
411
+ <auro-accordion alignRight>
412
+ <span slot="trigger">See code</span>
413
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/basic-standalone.html) -->
414
+ <!-- The below code snippet is automatically added from ./../apiExamples/basic-standalone.html -->
415
+ <pre class="language-html"><code class="language-html">&lt;auro-counter&gt;
416
+ Adults
417
+ &lt;/auro-counter&gt;</code></pre>
418
+ <!-- AURO-GENERATED-CONTENT:END -->
419
+ </auro-accordion>
420
+ <auro-header level="4" id="slot-description">description</auro-header>
421
+ <p>Descriptive content rendered below the counter label. Use this for supplementary information about the counter option.</p>
422
+ <div class="exampleWrapper">
423
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/description.html) -->
424
+ <!-- The below content is automatically added from ./../apiExamples/description.html -->
425
+ <auro-counter>
426
+ Adults
427
+ <span slot="description">18 years or older</span>
428
+ </auro-counter>
429
+ <!-- AURO-GENERATED-CONTENT:END -->
430
+ </div>
431
+ <auro-accordion alignRight>
432
+ <span slot="trigger">See code</span>
433
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/description.html) -->
434
+ <!-- The below code snippet is automatically added from ./../apiExamples/description.html -->
435
+ <pre class="language-html"><code class="language-html">&lt;auro-counter&gt;
436
+ Adults
437
+ &lt;span slot="description"&gt;18 years or older&lt;/span&gt;
438
+ &lt;/auro-counter&gt;</code></pre>
439
+ <!-- AURO-GENERATED-CONTENT:END -->
440
+ </auro-accordion>
441
+ <auro-header level="4" id="slot-helpText-counter">helpText</auro-header>
442
+ <p>Help text content displayed below the counter.</p>
443
+ <div class="exampleWrapper">
444
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/counter-helptext.html) -->
445
+ <!-- The below content is automatically added from ./../apiExamples/counter-helptext.html -->
446
+ <auro-counter>
447
+ Adults
448
+ <span slot="helpText">This is help text for the counter</span>
449
+ </auro-counter>
450
+ <!-- AURO-GENERATED-CONTENT:END -->
451
+ </div>
452
+ <auro-accordion alignRight>
453
+ <span slot="trigger">See code</span>
454
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/counter-helptext.html) -->
455
+ <!-- The below code snippet is automatically added from ./../apiExamples/counter-helptext.html -->
456
+ <pre class="language-html"><code class="language-html">&lt;auro-counter&gt;
457
+ Adults
458
+ &lt;span slot="helpText"&gt;This is help text for the counter&lt;/span&gt;
459
+ &lt;/auro-counter&gt;</code></pre>
460
+ <!-- AURO-GENERATED-CONTENT:END -->
461
+ </auro-accordion>
462
+ <!-- AURO-GENERATED-CONTENT:END -->
463
+ </section>
464
+ <section>
465
+ <auro-header level="2" id="stateManagement">State Management</auro-header>
466
+ <p>The following properties reflect the current state of the component and can be accessed via JavaScript.</p>
467
+ <auro-header level="3" id="validity">validity</auro-header>
468
+ <p>Returns the current <code>validityState</code> of the counter or counter group as a string. Possible values include <code>valid</code> and <code>customError</code>.</p>
469
+ </section>
470
+ <section>
471
+ <auro-header level="2" id="publicFunctions">Functions</auro-header>
472
+ <p>The following public methods are available.</p>
473
+ <auro-header level="3" id="validate">validate()</auro-header>
474
+ <p>Triggers validation on the counter or counter group. Pass <code>true</code> to force validation even when <code>noValidate</code> is set.</p>
475
+ <auro-header level="3" id="increment">increment()</auro-header>
476
+ <p>Increments the counter value by 1. Optionally pass a number to increment by a specific amount.</p>
477
+ <auro-header level="3" id="decrement">decrement()</auro-header>
478
+ <p>Decrements the counter value by 1. Optionally pass a number to decrement by a specific amount.</p>
479
+ </section>
480
+ </div>
481
+ </div>
482
+ </div>
@@ -18,42 +18,36 @@
18
18
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
19
19
  <title>Auro Web Component Demo | auro-counter</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-counter'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"/>
26
26
 
27
27
  <!-- Design Token Alaska Theme -->
28
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
-
29
+
30
30
  <!-- Webcore Stylesheet Alaska Theme -->
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">
52
- import { initExamples } from "./index.min.js";
53
43
 
54
- initExamples();
55
- </script>
56
44
  <!-- If additional elements are needed for the demo, add them here. -->
57
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
+
51
+ <script src="./index.min.js" data-demo-script="true" type="module"></script>
58
52
  </body>
59
53
  </html>