@slotted/angular 0.0.0-stage → 0.1.0-beta.1

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 (793) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -2
  3. package/docs/AGENTS.snippet.md +10 -0
  4. package/docs/accordion.json +345 -0
  5. package/docs/accordion.md +207 -0
  6. package/docs/action-bar.json +421 -0
  7. package/docs/action-bar.md +364 -0
  8. package/docs/action-sheet.json +210 -0
  9. package/docs/action-sheet.md +19 -0
  10. package/docs/alert.json +407 -0
  11. package/docs/alert.md +239 -0
  12. package/docs/app-shell.examples.md +349 -0
  13. package/docs/app-shell.json +835 -0
  14. package/docs/app-shell.md +214 -0
  15. package/docs/aspect-ratio.json +159 -0
  16. package/docs/aspect-ratio.md +134 -0
  17. package/docs/attachment.json +486 -0
  18. package/docs/attachment.md +253 -0
  19. package/docs/avatar-group.json +208 -0
  20. package/docs/avatar-group.md +130 -0
  21. package/docs/avatar.json +342 -0
  22. package/docs/avatar.md +142 -0
  23. package/docs/badge.json +334 -0
  24. package/docs/badge.md +138 -0
  25. package/docs/breadcrumb.json +368 -0
  26. package/docs/breadcrumb.md +237 -0
  27. package/docs/button-group.json +158 -0
  28. package/docs/button-group.md +72 -0
  29. package/docs/button.examples.md +621 -0
  30. package/docs/button.json +977 -0
  31. package/docs/button.md +200 -0
  32. package/docs/calendar.json +592 -0
  33. package/docs/calendar.md +242 -0
  34. package/docs/card.json +283 -0
  35. package/docs/card.md +130 -0
  36. package/docs/carousel.json +560 -0
  37. package/docs/carousel.md +357 -0
  38. package/docs/cascader.json +933 -0
  39. package/docs/cascader.md +379 -0
  40. package/docs/chart.examples.md +582 -0
  41. package/docs/chart.json +1359 -0
  42. package/docs/chart.md +187 -0
  43. package/docs/checkbox-group.examples.md +612 -0
  44. package/docs/checkbox-group.json +395 -0
  45. package/docs/checkbox-group.md +106 -0
  46. package/docs/checkbox.examples.md +546 -0
  47. package/docs/checkbox.json +506 -0
  48. package/docs/checkbox.md +104 -0
  49. package/docs/code-block.json +616 -0
  50. package/docs/code-block.md +303 -0
  51. package/docs/collapsible.json +456 -0
  52. package/docs/collapsible.md +261 -0
  53. package/docs/color-picker.json +523 -0
  54. package/docs/color-picker.md +201 -0
  55. package/docs/column-manager.json +486 -0
  56. package/docs/column-manager.md +277 -0
  57. package/docs/combobox.examples.md +1732 -0
  58. package/docs/combobox.json +1250 -0
  59. package/docs/combobox.md +209 -0
  60. package/docs/command-palette.json +800 -0
  61. package/docs/command-palette.md +419 -0
  62. package/docs/container.json +156 -0
  63. package/docs/container.md +92 -0
  64. package/docs/context-menu.json +231 -0
  65. package/docs/context-menu.md +176 -0
  66. package/docs/currency-field.examples.md +321 -0
  67. package/docs/currency-field.json +649 -0
  68. package/docs/currency-field.md +128 -0
  69. package/docs/dashboard-grid.json +680 -0
  70. package/docs/dashboard-grid.md +265 -0
  71. package/docs/data-grid.examples.md +3064 -0
  72. package/docs/data-grid.json +1577 -0
  73. package/docs/data-grid.md +237 -0
  74. package/docs/data-grid.props.md +81 -0
  75. package/docs/data-list.json +685 -0
  76. package/docs/data-list.md +327 -0
  77. package/docs/date-field.json +490 -0
  78. package/docs/date-field.md +235 -0
  79. package/docs/date-picker.examples.md +1226 -0
  80. package/docs/date-picker.json +696 -0
  81. package/docs/date-picker.md +121 -0
  82. package/docs/date-range-picker.examples.md +1300 -0
  83. package/docs/date-range-picker.json +903 -0
  84. package/docs/date-range-picker.md +142 -0
  85. package/docs/datetime-field.json +665 -0
  86. package/docs/datetime-field.md +337 -0
  87. package/docs/datetime-picker.examples.md +1269 -0
  88. package/docs/datetime-picker.json +928 -0
  89. package/docs/datetime-picker.md +150 -0
  90. package/docs/datetime-range-picker.examples.md +225 -0
  91. package/docs/datetime-range-picker.json +1015 -0
  92. package/docs/datetime-range-picker.md +162 -0
  93. package/docs/description-list.json +471 -0
  94. package/docs/description-list.md +268 -0
  95. package/docs/detail-panel.json +530 -0
  96. package/docs/detail-panel.md +361 -0
  97. package/docs/dialog.examples.md +2467 -0
  98. package/docs/dialog.json +1141 -0
  99. package/docs/dialog.md +217 -0
  100. package/docs/dialog.props.md +63 -0
  101. package/docs/divider.json +148 -0
  102. package/docs/divider.md +83 -0
  103. package/docs/drawer.examples.md +1929 -0
  104. package/docs/drawer.json +753 -0
  105. package/docs/drawer.md +199 -0
  106. package/docs/entity-picker.json +946 -0
  107. package/docs/entity-picker.md +365 -0
  108. package/docs/event-calendar.examples.md +308 -0
  109. package/docs/event-calendar.json +1202 -0
  110. package/docs/event-calendar.md +201 -0
  111. package/docs/field-group.json +333 -0
  112. package/docs/field-group.md +181 -0
  113. package/docs/field.examples.md +676 -0
  114. package/docs/field.json +528 -0
  115. package/docs/field.md +127 -0
  116. package/docs/filter-bar.json +817 -0
  117. package/docs/filter-bar.md +380 -0
  118. package/docs/form.json +378 -0
  119. package/docs/form.md +235 -0
  120. package/docs/fullscreen.json +395 -0
  121. package/docs/fullscreen.md +225 -0
  122. package/docs/grid.json +176 -0
  123. package/docs/grid.md +74 -0
  124. package/docs/highlight.json +279 -0
  125. package/docs/highlight.md +210 -0
  126. package/docs/hover-card.json +254 -0
  127. package/docs/hover-card.md +213 -0
  128. package/docs/icon.json +173 -0
  129. package/docs/icon.md +101 -0
  130. package/docs/image.json +476 -0
  131. package/docs/image.md +254 -0
  132. package/docs/import-export-center.json +836 -0
  133. package/docs/import-export-center.md +345 -0
  134. package/docs/index.md +141 -0
  135. package/docs/inline-message.json +312 -0
  136. package/docs/inline-message.md +191 -0
  137. package/docs/inline.json +149 -0
  138. package/docs/inline.md +72 -0
  139. package/docs/kbd.json +350 -0
  140. package/docs/kbd.md +210 -0
  141. package/docs/link.json +264 -0
  142. package/docs/link.md +167 -0
  143. package/docs/list-item.json +463 -0
  144. package/docs/list-item.md +236 -0
  145. package/docs/list.json +321 -0
  146. package/docs/list.md +185 -0
  147. package/docs/listbox.json +807 -0
  148. package/docs/listbox.md +413 -0
  149. package/docs/loading-overlay.json +440 -0
  150. package/docs/loading-overlay.md +248 -0
  151. package/docs/markdown.json +461 -0
  152. package/docs/markdown.md +266 -0
  153. package/docs/menu.examples.md +1651 -0
  154. package/docs/menu.json +922 -0
  155. package/docs/menu.md +155 -0
  156. package/docs/menubar.json +292 -0
  157. package/docs/menubar.md +173 -0
  158. package/docs/message-scroller.json +401 -0
  159. package/docs/message-scroller.md +212 -0
  160. package/docs/message.json +862 -0
  161. package/docs/message.md +473 -0
  162. package/docs/multi-select.examples.md +1922 -0
  163. package/docs/multi-select.json +1314 -0
  164. package/docs/multi-select.md +213 -0
  165. package/docs/navigation-menu.json +529 -0
  166. package/docs/navigation-menu.md +329 -0
  167. package/docs/notification-center.json +664 -0
  168. package/docs/notification-center.md +372 -0
  169. package/docs/number-field.examples.md +1078 -0
  170. package/docs/number-field.json +668 -0
  171. package/docs/number-field.md +137 -0
  172. package/docs/otp-input.json +479 -0
  173. package/docs/otp-input.md +291 -0
  174. package/docs/page-header.json +574 -0
  175. package/docs/page-header.md +338 -0
  176. package/docs/page.json +332 -0
  177. package/docs/page.md +184 -0
  178. package/docs/pagination.json +434 -0
  179. package/docs/pagination.md +238 -0
  180. package/docs/popover.examples.md +1235 -0
  181. package/docs/popover.json +656 -0
  182. package/docs/popover.md +199 -0
  183. package/docs/progress-indicator.json +501 -0
  184. package/docs/progress-indicator.md +329 -0
  185. package/docs/prompt-composer.json +498 -0
  186. package/docs/prompt-composer.md +278 -0
  187. package/docs/prose.json +357 -0
  188. package/docs/prose.md +226 -0
  189. package/docs/radio-group.examples.md +626 -0
  190. package/docs/radio-group.json +541 -0
  191. package/docs/radio-group.md +112 -0
  192. package/docs/rating.json +1053 -0
  193. package/docs/rating.md +435 -0
  194. package/docs/result-state.json +376 -0
  195. package/docs/result-state.md +286 -0
  196. package/docs/saved-views.json +384 -0
  197. package/docs/saved-views.md +242 -0
  198. package/docs/scroll-area.json +120 -0
  199. package/docs/scroll-area.md +8 -0
  200. package/docs/section.json +344 -0
  201. package/docs/section.md +208 -0
  202. package/docs/segmented-control.json +429 -0
  203. package/docs/segmented-control.md +240 -0
  204. package/docs/select.examples.md +1214 -0
  205. package/docs/select.json +1147 -0
  206. package/docs/select.md +199 -0
  207. package/docs/side-navigation.json +632 -0
  208. package/docs/side-navigation.md +430 -0
  209. package/docs/skeleton.json +358 -0
  210. package/docs/skeleton.md +223 -0
  211. package/docs/slider.json +522 -0
  212. package/docs/slider.md +261 -0
  213. package/docs/sparkline.json +426 -0
  214. package/docs/sparkline.md +206 -0
  215. package/docs/split-button.json +361 -0
  216. package/docs/split-button.md +275 -0
  217. package/docs/splitter.json +142 -0
  218. package/docs/splitter.md +14 -0
  219. package/docs/stack.json +135 -0
  220. package/docs/stack.md +74 -0
  221. package/docs/stat-card.json +529 -0
  222. package/docs/stat-card.md +270 -0
  223. package/docs/status-indicator.json +314 -0
  224. package/docs/status-indicator.md +197 -0
  225. package/docs/stepper.json +451 -0
  226. package/docs/stepper.md +250 -0
  227. package/docs/switch.json +451 -0
  228. package/docs/switch.md +508 -0
  229. package/docs/table-of-contents.json +553 -0
  230. package/docs/table-of-contents.md +289 -0
  231. package/docs/table.examples.md +1981 -0
  232. package/docs/table.json +1059 -0
  233. package/docs/table.md +290 -0
  234. package/docs/tabs.examples.md +1370 -0
  235. package/docs/tabs.json +661 -0
  236. package/docs/tabs.md +211 -0
  237. package/docs/tag.json +813 -0
  238. package/docs/tag.md +241 -0
  239. package/docs/tags-input.json +771 -0
  240. package/docs/tags-input.md +361 -0
  241. package/docs/text-field.examples.md +821 -0
  242. package/docs/text-field.json +604 -0
  243. package/docs/text-field.md +125 -0
  244. package/docs/textarea.examples.md +612 -0
  245. package/docs/textarea.json +440 -0
  246. package/docs/textarea.md +98 -0
  247. package/docs/time-field.json +584 -0
  248. package/docs/time-field.md +291 -0
  249. package/docs/time-picker.json +679 -0
  250. package/docs/time-picker.md +315 -0
  251. package/docs/time-range-picker.examples.md +191 -0
  252. package/docs/time-range-picker.json +924 -0
  253. package/docs/time-range-picker.md +152 -0
  254. package/docs/timeline.json +839 -0
  255. package/docs/timeline.md +401 -0
  256. package/docs/toast.json +642 -0
  257. package/docs/toast.md +311 -0
  258. package/docs/toggle-group.json +417 -0
  259. package/docs/toggle-group.md +255 -0
  260. package/docs/toggle.json +326 -0
  261. package/docs/toggle.md +222 -0
  262. package/docs/toolbar.json +380 -0
  263. package/docs/toolbar.md +240 -0
  264. package/docs/tooltip.examples.md +664 -0
  265. package/docs/tooltip.json +604 -0
  266. package/docs/tooltip.md +146 -0
  267. package/docs/top-navigation.examples.md +287 -0
  268. package/docs/top-navigation.json +648 -0
  269. package/docs/top-navigation.md +138 -0
  270. package/docs/tour.json +759 -0
  271. package/docs/tour.md +337 -0
  272. package/docs/transfer.json +746 -0
  273. package/docs/transfer.md +273 -0
  274. package/docs/tree.json +918 -0
  275. package/docs/tree.md +397 -0
  276. package/docs/typography.json +317 -0
  277. package/docs/typography.md +107 -0
  278. package/docs/upload.examples.md +358 -0
  279. package/docs/upload.json +1103 -0
  280. package/docs/upload.md +166 -0
  281. package/docs/visually-hidden.json +71 -0
  282. package/docs/visually-hidden.md +42 -0
  283. package/docs/wizard.json +724 -0
  284. package/docs/wizard.md +295 -0
  285. package/fesm2022/slotted-angular-accordion.mjs +247 -0
  286. package/fesm2022/slotted-angular-accordion.mjs.map +1 -0
  287. package/fesm2022/slotted-angular-action-bar.mjs +639 -0
  288. package/fesm2022/slotted-angular-action-bar.mjs.map +1 -0
  289. package/fesm2022/slotted-angular-action-sheet.mjs +749 -0
  290. package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -0
  291. package/fesm2022/slotted-angular-alert.mjs +427 -0
  292. package/fesm2022/slotted-angular-alert.mjs.map +1 -0
  293. package/fesm2022/slotted-angular-app-shell.mjs +1334 -0
  294. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -0
  295. package/fesm2022/slotted-angular-aspect-ratio.mjs +63 -0
  296. package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -0
  297. package/fesm2022/slotted-angular-attachment.mjs +595 -0
  298. package/fesm2022/slotted-angular-attachment.mjs.map +1 -0
  299. package/fesm2022/slotted-angular-avatar-group.mjs +230 -0
  300. package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -0
  301. package/fesm2022/slotted-angular-avatar.mjs +330 -0
  302. package/fesm2022/slotted-angular-avatar.mjs.map +1 -0
  303. package/fesm2022/slotted-angular-badge.mjs +255 -0
  304. package/fesm2022/slotted-angular-badge.mjs.map +1 -0
  305. package/fesm2022/slotted-angular-breadcrumb.mjs +544 -0
  306. package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -0
  307. package/fesm2022/slotted-angular-button-group.mjs +146 -0
  308. package/fesm2022/slotted-angular-button-group.mjs.map +1 -0
  309. package/fesm2022/slotted-angular-button.mjs +692 -0
  310. package/fesm2022/slotted-angular-button.mjs.map +1 -0
  311. package/fesm2022/slotted-angular-calendar.mjs +916 -0
  312. package/fesm2022/slotted-angular-calendar.mjs.map +1 -0
  313. package/fesm2022/slotted-angular-card.mjs +225 -0
  314. package/fesm2022/slotted-angular-card.mjs.map +1 -0
  315. package/fesm2022/slotted-angular-carousel.mjs +840 -0
  316. package/fesm2022/slotted-angular-carousel.mjs.map +1 -0
  317. package/fesm2022/slotted-angular-cascader.mjs +1839 -0
  318. package/fesm2022/slotted-angular-cascader.mjs.map +1 -0
  319. package/fesm2022/slotted-angular-chart.mjs +974 -0
  320. package/fesm2022/slotted-angular-chart.mjs.map +1 -0
  321. package/fesm2022/slotted-angular-checkbox-group.mjs +283 -0
  322. package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -0
  323. package/fesm2022/slotted-angular-checkbox.mjs +468 -0
  324. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -0
  325. package/fesm2022/slotted-angular-code-block.mjs +476 -0
  326. package/fesm2022/slotted-angular-code-block.mjs.map +1 -0
  327. package/fesm2022/slotted-angular-collapsible.mjs +479 -0
  328. package/fesm2022/slotted-angular-collapsible.mjs.map +1 -0
  329. package/fesm2022/slotted-angular-color-picker.mjs +910 -0
  330. package/fesm2022/slotted-angular-color-picker.mjs.map +1 -0
  331. package/fesm2022/slotted-angular-column-manager.mjs +1037 -0
  332. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -0
  333. package/fesm2022/slotted-angular-combobox.mjs +1480 -0
  334. package/fesm2022/slotted-angular-combobox.mjs.map +1 -0
  335. package/fesm2022/slotted-angular-command-palette.mjs +1283 -0
  336. package/fesm2022/slotted-angular-command-palette.mjs.map +1 -0
  337. package/fesm2022/slotted-angular-container.mjs +105 -0
  338. package/fesm2022/slotted-angular-container.mjs.map +1 -0
  339. package/fesm2022/slotted-angular-context-menu.mjs +221 -0
  340. package/fesm2022/slotted-angular-context-menu.mjs.map +1 -0
  341. package/fesm2022/slotted-angular-currency-field.mjs +1131 -0
  342. package/fesm2022/slotted-angular-currency-field.mjs.map +1 -0
  343. package/fesm2022/slotted-angular-dashboard-grid.mjs +1928 -0
  344. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -0
  345. package/fesm2022/slotted-angular-data-grid.mjs +6697 -0
  346. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -0
  347. package/fesm2022/slotted-angular-data-list.mjs +1418 -0
  348. package/fesm2022/slotted-angular-data-list.mjs.map +1 -0
  349. package/fesm2022/slotted-angular-date-field.mjs +772 -0
  350. package/fesm2022/slotted-angular-date-field.mjs.map +1 -0
  351. package/fesm2022/slotted-angular-date-picker.mjs +690 -0
  352. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -0
  353. package/fesm2022/slotted-angular-date-range-picker.mjs +1150 -0
  354. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -0
  355. package/fesm2022/slotted-angular-datetime-field.mjs +1058 -0
  356. package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -0
  357. package/fesm2022/slotted-angular-datetime-picker.mjs +1362 -0
  358. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -0
  359. package/fesm2022/slotted-angular-datetime-range-picker.mjs +1872 -0
  360. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -0
  361. package/fesm2022/slotted-angular-description-list.mjs +545 -0
  362. package/fesm2022/slotted-angular-description-list.mjs.map +1 -0
  363. package/fesm2022/slotted-angular-detail-panel.mjs +754 -0
  364. package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -0
  365. package/fesm2022/slotted-angular-dialog.mjs +980 -0
  366. package/fesm2022/slotted-angular-dialog.mjs.map +1 -0
  367. package/fesm2022/slotted-angular-divider.mjs +76 -0
  368. package/fesm2022/slotted-angular-divider.mjs.map +1 -0
  369. package/fesm2022/slotted-angular-drawer.mjs +1397 -0
  370. package/fesm2022/slotted-angular-drawer.mjs.map +1 -0
  371. package/fesm2022/slotted-angular-entity-picker.mjs +1987 -0
  372. package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -0
  373. package/fesm2022/slotted-angular-event-calendar.mjs +2934 -0
  374. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -0
  375. package/fesm2022/slotted-angular-field-group.mjs +301 -0
  376. package/fesm2022/slotted-angular-field-group.mjs.map +1 -0
  377. package/fesm2022/slotted-angular-field.mjs +928 -0
  378. package/fesm2022/slotted-angular-field.mjs.map +1 -0
  379. package/fesm2022/slotted-angular-filter-bar.mjs +3107 -0
  380. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -0
  381. package/fesm2022/slotted-angular-form.mjs +592 -0
  382. package/fesm2022/slotted-angular-form.mjs.map +1 -0
  383. package/fesm2022/slotted-angular-fullscreen.mjs +314 -0
  384. package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -0
  385. package/fesm2022/slotted-angular-grid.mjs +58 -0
  386. package/fesm2022/slotted-angular-grid.mjs.map +1 -0
  387. package/fesm2022/slotted-angular-highlight.mjs +123 -0
  388. package/fesm2022/slotted-angular-highlight.mjs.map +1 -0
  389. package/fesm2022/slotted-angular-hover-card.mjs +326 -0
  390. package/fesm2022/slotted-angular-hover-card.mjs.map +1 -0
  391. package/fesm2022/slotted-angular-i18n.mjs +75 -0
  392. package/fesm2022/slotted-angular-i18n.mjs.map +1 -0
  393. package/fesm2022/slotted-angular-icon.mjs +232 -0
  394. package/fesm2022/slotted-angular-icon.mjs.map +1 -0
  395. package/fesm2022/slotted-angular-image.mjs +442 -0
  396. package/fesm2022/slotted-angular-image.mjs.map +1 -0
  397. package/fesm2022/slotted-angular-import-export-center.mjs +1792 -0
  398. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -0
  399. package/fesm2022/slotted-angular-inline-message.mjs +280 -0
  400. package/fesm2022/slotted-angular-inline-message.mjs.map +1 -0
  401. package/fesm2022/slotted-angular-inline.mjs +52 -0
  402. package/fesm2022/slotted-angular-inline.mjs.map +1 -0
  403. package/fesm2022/slotted-angular-kbd.mjs +284 -0
  404. package/fesm2022/slotted-angular-kbd.mjs.map +1 -0
  405. package/fesm2022/slotted-angular-link.mjs +182 -0
  406. package/fesm2022/slotted-angular-link.mjs.map +1 -0
  407. package/fesm2022/slotted-angular-list-item.mjs +367 -0
  408. package/fesm2022/slotted-angular-list-item.mjs.map +1 -0
  409. package/fesm2022/slotted-angular-list.mjs +256 -0
  410. package/fesm2022/slotted-angular-list.mjs.map +1 -0
  411. package/fesm2022/slotted-angular-listbox.mjs +1274 -0
  412. package/fesm2022/slotted-angular-listbox.mjs.map +1 -0
  413. package/fesm2022/slotted-angular-loading-overlay.mjs +451 -0
  414. package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -0
  415. package/fesm2022/slotted-angular-markdown.mjs +914 -0
  416. package/fesm2022/slotted-angular-markdown.mjs.map +1 -0
  417. package/fesm2022/slotted-angular-menu.mjs +1211 -0
  418. package/fesm2022/slotted-angular-menu.mjs.map +1 -0
  419. package/fesm2022/slotted-angular-menubar.mjs +230 -0
  420. package/fesm2022/slotted-angular-menubar.mjs.map +1 -0
  421. package/fesm2022/slotted-angular-message-scroller.mjs +378 -0
  422. package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -0
  423. package/fesm2022/slotted-angular-message.mjs +866 -0
  424. package/fesm2022/slotted-angular-message.mjs.map +1 -0
  425. package/fesm2022/slotted-angular-multi-select.mjs +1939 -0
  426. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -0
  427. package/fesm2022/slotted-angular-navigation-menu.mjs +770 -0
  428. package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -0
  429. package/fesm2022/slotted-angular-notification-center.mjs +1172 -0
  430. package/fesm2022/slotted-angular-notification-center.mjs.map +1 -0
  431. package/fesm2022/slotted-angular-number-field.mjs +966 -0
  432. package/fesm2022/slotted-angular-number-field.mjs.map +1 -0
  433. package/fesm2022/slotted-angular-otp-input.mjs +629 -0
  434. package/fesm2022/slotted-angular-otp-input.mjs.map +1 -0
  435. package/fesm2022/slotted-angular-page-header.mjs +788 -0
  436. package/fesm2022/slotted-angular-page-header.mjs.map +1 -0
  437. package/fesm2022/slotted-angular-page.mjs +255 -0
  438. package/fesm2022/slotted-angular-page.mjs.map +1 -0
  439. package/fesm2022/slotted-angular-pagination.mjs +562 -0
  440. package/fesm2022/slotted-angular-pagination.mjs.map +1 -0
  441. package/fesm2022/slotted-angular-popover.mjs +799 -0
  442. package/fesm2022/slotted-angular-popover.mjs.map +1 -0
  443. package/fesm2022/slotted-angular-progress-indicator.mjs +572 -0
  444. package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -0
  445. package/fesm2022/slotted-angular-prompt-composer.mjs +596 -0
  446. package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -0
  447. package/fesm2022/slotted-angular-prose.mjs +314 -0
  448. package/fesm2022/slotted-angular-prose.mjs.map +1 -0
  449. package/fesm2022/slotted-angular-radio-group.mjs +469 -0
  450. package/fesm2022/slotted-angular-radio-group.mjs.map +1 -0
  451. package/fesm2022/slotted-angular-rating.mjs +1174 -0
  452. package/fesm2022/slotted-angular-rating.mjs.map +1 -0
  453. package/fesm2022/slotted-angular-result-state.mjs +330 -0
  454. package/fesm2022/slotted-angular-result-state.mjs.map +1 -0
  455. package/fesm2022/slotted-angular-saved-views.mjs +877 -0
  456. package/fesm2022/slotted-angular-saved-views.mjs.map +1 -0
  457. package/fesm2022/slotted-angular-scroll-area.mjs +294 -0
  458. package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -0
  459. package/fesm2022/slotted-angular-section.mjs +266 -0
  460. package/fesm2022/slotted-angular-section.mjs.map +1 -0
  461. package/fesm2022/slotted-angular-segmented-control.mjs +454 -0
  462. package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -0
  463. package/fesm2022/slotted-angular-select.mjs +1899 -0
  464. package/fesm2022/slotted-angular-select.mjs.map +1 -0
  465. package/fesm2022/slotted-angular-side-navigation.mjs +1042 -0
  466. package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -0
  467. package/fesm2022/slotted-angular-skeleton.mjs +316 -0
  468. package/fesm2022/slotted-angular-skeleton.mjs.map +1 -0
  469. package/fesm2022/slotted-angular-slider.mjs +586 -0
  470. package/fesm2022/slotted-angular-slider.mjs.map +1 -0
  471. package/fesm2022/slotted-angular-sparkline.mjs +235 -0
  472. package/fesm2022/slotted-angular-sparkline.mjs.map +1 -0
  473. package/fesm2022/slotted-angular-split-button.mjs +331 -0
  474. package/fesm2022/slotted-angular-split-button.mjs.map +1 -0
  475. package/fesm2022/slotted-angular-splitter.mjs +516 -0
  476. package/fesm2022/slotted-angular-splitter.mjs.map +1 -0
  477. package/fesm2022/slotted-angular-stack.mjs +48 -0
  478. package/fesm2022/slotted-angular-stack.mjs.map +1 -0
  479. package/fesm2022/slotted-angular-stat-card.mjs +478 -0
  480. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -0
  481. package/fesm2022/slotted-angular-status-indicator.mjs +155 -0
  482. package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -0
  483. package/fesm2022/slotted-angular-stepper.mjs +536 -0
  484. package/fesm2022/slotted-angular-stepper.mjs.map +1 -0
  485. package/fesm2022/slotted-angular-switch.mjs +447 -0
  486. package/fesm2022/slotted-angular-switch.mjs.map +1 -0
  487. package/fesm2022/slotted-angular-table-of-contents.mjs +750 -0
  488. package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -0
  489. package/fesm2022/slotted-angular-table.mjs +2518 -0
  490. package/fesm2022/slotted-angular-table.mjs.map +1 -0
  491. package/fesm2022/slotted-angular-tabs.mjs +829 -0
  492. package/fesm2022/slotted-angular-tabs.mjs.map +1 -0
  493. package/fesm2022/slotted-angular-tag.mjs +595 -0
  494. package/fesm2022/slotted-angular-tag.mjs.map +1 -0
  495. package/fesm2022/slotted-angular-tags-input.mjs +1211 -0
  496. package/fesm2022/slotted-angular-tags-input.mjs.map +1 -0
  497. package/fesm2022/slotted-angular-text-field.mjs +674 -0
  498. package/fesm2022/slotted-angular-text-field.mjs.map +1 -0
  499. package/fesm2022/slotted-angular-textarea.mjs +275 -0
  500. package/fesm2022/slotted-angular-textarea.mjs.map +1 -0
  501. package/fesm2022/slotted-angular-theme.mjs +45 -0
  502. package/fesm2022/slotted-angular-theme.mjs.map +1 -0
  503. package/fesm2022/slotted-angular-time-field.mjs +895 -0
  504. package/fesm2022/slotted-angular-time-field.mjs.map +1 -0
  505. package/fesm2022/slotted-angular-time-picker.mjs +856 -0
  506. package/fesm2022/slotted-angular-time-picker.mjs.map +1 -0
  507. package/fesm2022/slotted-angular-time-range-picker.mjs +1534 -0
  508. package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -0
  509. package/fesm2022/slotted-angular-timeline.mjs +928 -0
  510. package/fesm2022/slotted-angular-timeline.mjs.map +1 -0
  511. package/fesm2022/slotted-angular-toast.mjs +917 -0
  512. package/fesm2022/slotted-angular-toast.mjs.map +1 -0
  513. package/fesm2022/slotted-angular-toggle-group.mjs +311 -0
  514. package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -0
  515. package/fesm2022/slotted-angular-toggle.mjs +162 -0
  516. package/fesm2022/slotted-angular-toggle.mjs.map +1 -0
  517. package/fesm2022/slotted-angular-toolbar.mjs +536 -0
  518. package/fesm2022/slotted-angular-toolbar.mjs.map +1 -0
  519. package/fesm2022/slotted-angular-tooltip.mjs +798 -0
  520. package/fesm2022/slotted-angular-tooltip.mjs.map +1 -0
  521. package/fesm2022/slotted-angular-top-navigation.mjs +1308 -0
  522. package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -0
  523. package/fesm2022/slotted-angular-tour.mjs +1330 -0
  524. package/fesm2022/slotted-angular-tour.mjs.map +1 -0
  525. package/fesm2022/slotted-angular-transfer.mjs +1406 -0
  526. package/fesm2022/slotted-angular-transfer.mjs.map +1 -0
  527. package/fesm2022/slotted-angular-tree.mjs +1448 -0
  528. package/fesm2022/slotted-angular-tree.mjs.map +1 -0
  529. package/fesm2022/slotted-angular-typography.mjs +184 -0
  530. package/fesm2022/slotted-angular-typography.mjs.map +1 -0
  531. package/fesm2022/slotted-angular-upload.mjs +1523 -0
  532. package/fesm2022/slotted-angular-upload.mjs.map +1 -0
  533. package/fesm2022/slotted-angular-visually-hidden.mjs +32 -0
  534. package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -0
  535. package/fesm2022/slotted-angular-wizard.mjs +1715 -0
  536. package/fesm2022/slotted-angular-wizard.mjs.map +1 -0
  537. package/fesm2022/slotted-angular.mjs +4 -0
  538. package/fesm2022/slotted-angular.mjs.map +1 -0
  539. package/package.json +537 -3
  540. package/types/slotted-angular-accordion.d.ts +156 -0
  541. package/types/slotted-angular-accordion.d.ts.map +1 -0
  542. package/types/slotted-angular-action-bar.d.ts +291 -0
  543. package/types/slotted-angular-action-bar.d.ts.map +1 -0
  544. package/types/slotted-angular-action-sheet.d.ts +294 -0
  545. package/types/slotted-angular-action-sheet.d.ts.map +1 -0
  546. package/types/slotted-angular-alert.d.ts +214 -0
  547. package/types/slotted-angular-alert.d.ts.map +1 -0
  548. package/types/slotted-angular-app-shell.d.ts +549 -0
  549. package/types/slotted-angular-app-shell.d.ts.map +1 -0
  550. package/types/slotted-angular-aspect-ratio.d.ts +57 -0
  551. package/types/slotted-angular-aspect-ratio.d.ts.map +1 -0
  552. package/types/slotted-angular-attachment.d.ts +294 -0
  553. package/types/slotted-angular-attachment.d.ts.map +1 -0
  554. package/types/slotted-angular-avatar-group.d.ts +119 -0
  555. package/types/slotted-angular-avatar-group.d.ts.map +1 -0
  556. package/types/slotted-angular-avatar.d.ts +202 -0
  557. package/types/slotted-angular-avatar.d.ts.map +1 -0
  558. package/types/slotted-angular-badge.d.ts +166 -0
  559. package/types/slotted-angular-badge.d.ts.map +1 -0
  560. package/types/slotted-angular-breadcrumb.d.ts +251 -0
  561. package/types/slotted-angular-breadcrumb.d.ts.map +1 -0
  562. package/types/slotted-angular-button-group.d.ts +89 -0
  563. package/types/slotted-angular-button-group.d.ts.map +1 -0
  564. package/types/slotted-angular-button.d.ts +390 -0
  565. package/types/slotted-angular-button.d.ts.map +1 -0
  566. package/types/slotted-angular-calendar.d.ts +280 -0
  567. package/types/slotted-angular-calendar.d.ts.map +1 -0
  568. package/types/slotted-angular-card.d.ts +140 -0
  569. package/types/slotted-angular-card.d.ts.map +1 -0
  570. package/types/slotted-angular-carousel.d.ts +288 -0
  571. package/types/slotted-angular-carousel.d.ts.map +1 -0
  572. package/types/slotted-angular-cascader.d.ts +351 -0
  573. package/types/slotted-angular-cascader.d.ts.map +1 -0
  574. package/types/slotted-angular-chart.d.ts +319 -0
  575. package/types/slotted-angular-chart.d.ts.map +1 -0
  576. package/types/slotted-angular-checkbox-group.d.ts +156 -0
  577. package/types/slotted-angular-checkbox-group.d.ts.map +1 -0
  578. package/types/slotted-angular-checkbox.d.ts +197 -0
  579. package/types/slotted-angular-checkbox.d.ts.map +1 -0
  580. package/types/slotted-angular-code-block.d.ts +158 -0
  581. package/types/slotted-angular-code-block.d.ts.map +1 -0
  582. package/types/slotted-angular-collapsible.d.ts +272 -0
  583. package/types/slotted-angular-collapsible.d.ts.map +1 -0
  584. package/types/slotted-angular-color-picker.d.ts +181 -0
  585. package/types/slotted-angular-color-picker.d.ts.map +1 -0
  586. package/types/slotted-angular-column-manager.d.ts +200 -0
  587. package/types/slotted-angular-column-manager.d.ts.map +1 -0
  588. package/types/slotted-angular-combobox.d.ts +449 -0
  589. package/types/slotted-angular-combobox.d.ts.map +1 -0
  590. package/types/slotted-angular-command-palette.d.ts +256 -0
  591. package/types/slotted-angular-command-palette.d.ts.map +1 -0
  592. package/types/slotted-angular-container.d.ts +84 -0
  593. package/types/slotted-angular-container.d.ts.map +1 -0
  594. package/types/slotted-angular-context-menu.d.ts +84 -0
  595. package/types/slotted-angular-context-menu.d.ts.map +1 -0
  596. package/types/slotted-angular-currency-field.d.ts +480 -0
  597. package/types/slotted-angular-currency-field.d.ts.map +1 -0
  598. package/types/slotted-angular-dashboard-grid.d.ts +341 -0
  599. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -0
  600. package/types/slotted-angular-data-grid.d.ts +1077 -0
  601. package/types/slotted-angular-data-grid.d.ts.map +1 -0
  602. package/types/slotted-angular-data-list.d.ts +272 -0
  603. package/types/slotted-angular-data-list.d.ts.map +1 -0
  604. package/types/slotted-angular-date-field.d.ts +320 -0
  605. package/types/slotted-angular-date-field.d.ts.map +1 -0
  606. package/types/slotted-angular-date-picker.d.ts +224 -0
  607. package/types/slotted-angular-date-picker.d.ts.map +1 -0
  608. package/types/slotted-angular-date-range-picker.d.ts +310 -0
  609. package/types/slotted-angular-date-range-picker.d.ts.map +1 -0
  610. package/types/slotted-angular-datetime-field.d.ts +362 -0
  611. package/types/slotted-angular-datetime-field.d.ts.map +1 -0
  612. package/types/slotted-angular-datetime-picker.d.ts +370 -0
  613. package/types/slotted-angular-datetime-picker.d.ts.map +1 -0
  614. package/types/slotted-angular-datetime-range-picker.d.ts +459 -0
  615. package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -0
  616. package/types/slotted-angular-description-list.d.ts +281 -0
  617. package/types/slotted-angular-description-list.d.ts.map +1 -0
  618. package/types/slotted-angular-detail-panel.d.ts +240 -0
  619. package/types/slotted-angular-detail-panel.d.ts.map +1 -0
  620. package/types/slotted-angular-dialog.d.ts +497 -0
  621. package/types/slotted-angular-dialog.d.ts.map +1 -0
  622. package/types/slotted-angular-divider.d.ts +40 -0
  623. package/types/slotted-angular-divider.d.ts.map +1 -0
  624. package/types/slotted-angular-drawer.d.ts +532 -0
  625. package/types/slotted-angular-drawer.d.ts.map +1 -0
  626. package/types/slotted-angular-entity-picker.d.ts +338 -0
  627. package/types/slotted-angular-entity-picker.d.ts.map +1 -0
  628. package/types/slotted-angular-event-calendar.d.ts +574 -0
  629. package/types/slotted-angular-event-calendar.d.ts.map +1 -0
  630. package/types/slotted-angular-field-group.d.ts +152 -0
  631. package/types/slotted-angular-field-group.d.ts.map +1 -0
  632. package/types/slotted-angular-field.d.ts +535 -0
  633. package/types/slotted-angular-field.d.ts.map +1 -0
  634. package/types/slotted-angular-filter-bar.d.ts +573 -0
  635. package/types/slotted-angular-filter-bar.d.ts.map +1 -0
  636. package/types/slotted-angular-form.d.ts +298 -0
  637. package/types/slotted-angular-form.d.ts.map +1 -0
  638. package/types/slotted-angular-fullscreen.d.ts +145 -0
  639. package/types/slotted-angular-fullscreen.d.ts.map +1 -0
  640. package/types/slotted-angular-grid.d.ts +50 -0
  641. package/types/slotted-angular-grid.d.ts.map +1 -0
  642. package/types/slotted-angular-highlight.d.ts +93 -0
  643. package/types/slotted-angular-highlight.d.ts.map +1 -0
  644. package/types/slotted-angular-hover-card.d.ts +140 -0
  645. package/types/slotted-angular-hover-card.d.ts.map +1 -0
  646. package/types/slotted-angular-i18n.d.ts +46 -0
  647. package/types/slotted-angular-i18n.d.ts.map +1 -0
  648. package/types/slotted-angular-icon.d.ts +94 -0
  649. package/types/slotted-angular-icon.d.ts.map +1 -0
  650. package/types/slotted-angular-image.d.ts +251 -0
  651. package/types/slotted-angular-image.d.ts.map +1 -0
  652. package/types/slotted-angular-import-export-center.d.ts +351 -0
  653. package/types/slotted-angular-import-export-center.d.ts.map +1 -0
  654. package/types/slotted-angular-inline-message.d.ts +195 -0
  655. package/types/slotted-angular-inline-message.d.ts.map +1 -0
  656. package/types/slotted-angular-inline.d.ts +41 -0
  657. package/types/slotted-angular-inline.d.ts.map +1 -0
  658. package/types/slotted-angular-kbd.d.ts +174 -0
  659. package/types/slotted-angular-kbd.d.ts.map +1 -0
  660. package/types/slotted-angular-link.d.ts +94 -0
  661. package/types/slotted-angular-link.d.ts.map +1 -0
  662. package/types/slotted-angular-list-item.d.ts +210 -0
  663. package/types/slotted-angular-list-item.d.ts.map +1 -0
  664. package/types/slotted-angular-list.d.ts +176 -0
  665. package/types/slotted-angular-list.d.ts.map +1 -0
  666. package/types/slotted-angular-listbox.d.ts +470 -0
  667. package/types/slotted-angular-listbox.d.ts.map +1 -0
  668. package/types/slotted-angular-loading-overlay.d.ts +219 -0
  669. package/types/slotted-angular-loading-overlay.d.ts.map +1 -0
  670. package/types/slotted-angular-markdown.d.ts +172 -0
  671. package/types/slotted-angular-markdown.d.ts.map +1 -0
  672. package/types/slotted-angular-menu.d.ts +448 -0
  673. package/types/slotted-angular-menu.d.ts.map +1 -0
  674. package/types/slotted-angular-menubar.d.ts +90 -0
  675. package/types/slotted-angular-menubar.d.ts.map +1 -0
  676. package/types/slotted-angular-message-scroller.d.ts +151 -0
  677. package/types/slotted-angular-message-scroller.d.ts.map +1 -0
  678. package/types/slotted-angular-message.d.ts +348 -0
  679. package/types/slotted-angular-message.d.ts.map +1 -0
  680. package/types/slotted-angular-multi-select.d.ts +462 -0
  681. package/types/slotted-angular-multi-select.d.ts.map +1 -0
  682. package/types/slotted-angular-navigation-menu.d.ts +309 -0
  683. package/types/slotted-angular-navigation-menu.d.ts.map +1 -0
  684. package/types/slotted-angular-notification-center.d.ts +318 -0
  685. package/types/slotted-angular-notification-center.d.ts.map +1 -0
  686. package/types/slotted-angular-number-field.d.ts +402 -0
  687. package/types/slotted-angular-number-field.d.ts.map +1 -0
  688. package/types/slotted-angular-otp-input.d.ts +286 -0
  689. package/types/slotted-angular-otp-input.d.ts.map +1 -0
  690. package/types/slotted-angular-page-header.d.ts +334 -0
  691. package/types/slotted-angular-page-header.d.ts.map +1 -0
  692. package/types/slotted-angular-page.d.ts +141 -0
  693. package/types/slotted-angular-page.d.ts.map +1 -0
  694. package/types/slotted-angular-pagination.d.ts +213 -0
  695. package/types/slotted-angular-pagination.d.ts.map +1 -0
  696. package/types/slotted-angular-popover.d.ts +366 -0
  697. package/types/slotted-angular-popover.d.ts.map +1 -0
  698. package/types/slotted-angular-progress-indicator.d.ts +312 -0
  699. package/types/slotted-angular-progress-indicator.d.ts.map +1 -0
  700. package/types/slotted-angular-prompt-composer.d.ts +242 -0
  701. package/types/slotted-angular-prompt-composer.d.ts.map +1 -0
  702. package/types/slotted-angular-prose.d.ts +171 -0
  703. package/types/slotted-angular-prose.d.ts.map +1 -0
  704. package/types/slotted-angular-radio-group.d.ts +268 -0
  705. package/types/slotted-angular-radio-group.d.ts.map +1 -0
  706. package/types/slotted-angular-rating.d.ts +374 -0
  707. package/types/slotted-angular-rating.d.ts.map +1 -0
  708. package/types/slotted-angular-result-state.d.ts +217 -0
  709. package/types/slotted-angular-result-state.d.ts.map +1 -0
  710. package/types/slotted-angular-saved-views.d.ts +198 -0
  711. package/types/slotted-angular-saved-views.d.ts.map +1 -0
  712. package/types/slotted-angular-scroll-area.d.ts +186 -0
  713. package/types/slotted-angular-scroll-area.d.ts.map +1 -0
  714. package/types/slotted-angular-section.d.ts +143 -0
  715. package/types/slotted-angular-section.d.ts.map +1 -0
  716. package/types/slotted-angular-segmented-control.d.ts +251 -0
  717. package/types/slotted-angular-segmented-control.d.ts.map +1 -0
  718. package/types/slotted-angular-select.d.ts +507 -0
  719. package/types/slotted-angular-select.d.ts.map +1 -0
  720. package/types/slotted-angular-side-navigation.d.ts +373 -0
  721. package/types/slotted-angular-side-navigation.d.ts.map +1 -0
  722. package/types/slotted-angular-skeleton.d.ts +198 -0
  723. package/types/slotted-angular-skeleton.d.ts.map +1 -0
  724. package/types/slotted-angular-slider.d.ts +216 -0
  725. package/types/slotted-angular-slider.d.ts.map +1 -0
  726. package/types/slotted-angular-sparkline.d.ts +106 -0
  727. package/types/slotted-angular-sparkline.d.ts.map +1 -0
  728. package/types/slotted-angular-split-button.d.ts +180 -0
  729. package/types/slotted-angular-split-button.d.ts.map +1 -0
  730. package/types/slotted-angular-splitter.d.ts +206 -0
  731. package/types/slotted-angular-splitter.d.ts.map +1 -0
  732. package/types/slotted-angular-stack.d.ts +38 -0
  733. package/types/slotted-angular-stack.d.ts.map +1 -0
  734. package/types/slotted-angular-stat-card.d.ts +232 -0
  735. package/types/slotted-angular-stat-card.d.ts.map +1 -0
  736. package/types/slotted-angular-status-indicator.d.ts +106 -0
  737. package/types/slotted-angular-status-indicator.d.ts.map +1 -0
  738. package/types/slotted-angular-stepper.d.ts +198 -0
  739. package/types/slotted-angular-stepper.d.ts.map +1 -0
  740. package/types/slotted-angular-switch.d.ts +243 -0
  741. package/types/slotted-angular-switch.d.ts.map +1 -0
  742. package/types/slotted-angular-table-of-contents.d.ts +210 -0
  743. package/types/slotted-angular-table-of-contents.d.ts.map +1 -0
  744. package/types/slotted-angular-table.d.ts +888 -0
  745. package/types/slotted-angular-table.d.ts.map +1 -0
  746. package/types/slotted-angular-tabs.d.ts +340 -0
  747. package/types/slotted-angular-tabs.d.ts.map +1 -0
  748. package/types/slotted-angular-tag.d.ts +279 -0
  749. package/types/slotted-angular-tag.d.ts.map +1 -0
  750. package/types/slotted-angular-tags-input.d.ts +302 -0
  751. package/types/slotted-angular-tags-input.d.ts.map +1 -0
  752. package/types/slotted-angular-text-field.d.ts +334 -0
  753. package/types/slotted-angular-text-field.d.ts.map +1 -0
  754. package/types/slotted-angular-textarea.d.ts +150 -0
  755. package/types/slotted-angular-textarea.d.ts.map +1 -0
  756. package/types/slotted-angular-theme.d.ts +26 -0
  757. package/types/slotted-angular-theme.d.ts.map +1 -0
  758. package/types/slotted-angular-time-field.d.ts +300 -0
  759. package/types/slotted-angular-time-field.d.ts.map +1 -0
  760. package/types/slotted-angular-time-picker.d.ts +260 -0
  761. package/types/slotted-angular-time-picker.d.ts.map +1 -0
  762. package/types/slotted-angular-time-range-picker.d.ts +401 -0
  763. package/types/slotted-angular-time-range-picker.d.ts.map +1 -0
  764. package/types/slotted-angular-timeline.d.ts +329 -0
  765. package/types/slotted-angular-timeline.d.ts.map +1 -0
  766. package/types/slotted-angular-toast.d.ts +340 -0
  767. package/types/slotted-angular-toast.d.ts.map +1 -0
  768. package/types/slotted-angular-toggle-group.d.ts +167 -0
  769. package/types/slotted-angular-toggle-group.d.ts.map +1 -0
  770. package/types/slotted-angular-toggle.d.ts +106 -0
  771. package/types/slotted-angular-toggle.d.ts.map +1 -0
  772. package/types/slotted-angular-toolbar.d.ts +252 -0
  773. package/types/slotted-angular-toolbar.d.ts.map +1 -0
  774. package/types/slotted-angular-tooltip.d.ts +388 -0
  775. package/types/slotted-angular-tooltip.d.ts.map +1 -0
  776. package/types/slotted-angular-top-navigation.d.ts +442 -0
  777. package/types/slotted-angular-top-navigation.d.ts.map +1 -0
  778. package/types/slotted-angular-tour.d.ts +440 -0
  779. package/types/slotted-angular-tour.d.ts.map +1 -0
  780. package/types/slotted-angular-transfer.d.ts +296 -0
  781. package/types/slotted-angular-transfer.d.ts.map +1 -0
  782. package/types/slotted-angular-tree.d.ts +499 -0
  783. package/types/slotted-angular-tree.d.ts.map +1 -0
  784. package/types/slotted-angular-typography.d.ts +89 -0
  785. package/types/slotted-angular-typography.d.ts.map +1 -0
  786. package/types/slotted-angular-upload.d.ts +365 -0
  787. package/types/slotted-angular-upload.d.ts.map +1 -0
  788. package/types/slotted-angular-visually-hidden.d.ts +19 -0
  789. package/types/slotted-angular-visually-hidden.d.ts.map +1 -0
  790. package/types/slotted-angular-wizard.d.ts +441 -0
  791. package/types/slotted-angular-wizard.d.ts.map +1 -0
  792. package/types/slotted-angular.d.ts +3 -0
  793. package/types/slotted-angular.d.ts.map +1 -0
package/docs/form.json ADDED
@@ -0,0 +1,378 @@
1
+ {
2
+ "family": "form",
3
+ "ui": "form",
4
+ "binding": "angular",
5
+ "catalog": {
6
+ "group": "Forms",
7
+ "summary": "Form with validation, error summary and submit."
8
+ },
9
+ "axes": {
10
+ "validate": [
11
+ "submit",
12
+ "blur",
13
+ "change",
14
+ "none"
15
+ ],
16
+ "errorFocus": [
17
+ "summary",
18
+ "control",
19
+ "none"
20
+ ],
21
+ "summary": [
22
+ "auto",
23
+ "none"
24
+ ],
25
+ "align": [
26
+ "end",
27
+ "start",
28
+ "between",
29
+ "stretch"
30
+ ]
31
+ },
32
+ "members": {
33
+ "form": {
34
+ "nativeElement": "form",
35
+ "defaults": {
36
+ "validate": "submit",
37
+ "errorFocus": "summary",
38
+ "summary": "auto",
39
+ "align": "end",
40
+ "nativeValidation": false,
41
+ "guardUnsaved": false,
42
+ "loading": false
43
+ },
44
+ "capabilities": [
45
+ "validity",
46
+ "appearance",
47
+ "loading",
48
+ "disabled",
49
+ "wiring"
50
+ ],
51
+ "states": [
52
+ "default",
53
+ "invalid",
54
+ "loading",
55
+ "disabled"
56
+ ],
57
+ "parts": [
58
+ "root",
59
+ "summary",
60
+ "summary-title",
61
+ "summary-list",
62
+ "summary-item",
63
+ "actions"
64
+ ]
65
+ }
66
+ },
67
+ "docs": {
68
+ "form": {
69
+ "imports": {
70
+ "source": "import {\n provideFormDefaults,\n provideFormErrorMessages,\n SlForm,\n SlFormActions,\n SlFormSummary,\n} from '@slotted/angular/form';",
71
+ "selector": "form[slForm]",
72
+ "exportAs": "slForm"
73
+ },
74
+ "anatomy": [
75
+ {
76
+ "part": "root",
77
+ "element": "form",
78
+ "required": true,
79
+ "purpose": "The element itself, and the selector is form[slForm] rather than [slForm]: a submit event has nowhere else to come from, FormData reads a form, and requestSubmit() and reset() are the element’s own. It carries data-ui=\"form\", data-invalid, data-loading and data-disabled, writes novalidate, and is the query container the action row is measured against."
80
+ },
81
+ {
82
+ "part": "summary",
83
+ "element": "the element carrying slFormSummary",
84
+ "required": false,
85
+ "purpose": "The region a reader is sent to after a failed submit, with role=\"alert\" and tabindex=\"-1\". Rendered by the form under summary=\"auto\", or placed by the consumer under summary=\"none\". It exists only while something is wrong. It carries data-ui=\"form\" beside its data-part, so the family’s rules reach it wherever it stands and never a nested family’s summary — a table’s totals row."
86
+ },
87
+ {
88
+ "part": "summary-title",
89
+ "element": "h2",
90
+ "required": false,
91
+ "purpose": "The heading the sourced pattern requires, the summaryTitle message of the language in force (“There is a problem”). It labels the region, so a reader who is moved there is told what they arrived at."
92
+ },
93
+ {
94
+ "part": "summary-list",
95
+ "element": "ul",
96
+ "required": false,
97
+ "purpose": "One item per message, in document order. It scrolls past twelve lines rather than truncating, because a hundred errors is a real answer from a real server and none of them may leave the DOM."
98
+ },
99
+ {
100
+ "part": "summary-item",
101
+ "element": "a[href], or span",
102
+ "required": false,
103
+ "purpose": "A link to the control the message is about, which moves focus there without following the fragment. An error naming a control the form does not hold is a span instead: a message a reader cannot reach is still a message they have to be given."
104
+ },
105
+ {
106
+ "part": "actions",
107
+ "element": "the element carrying slFormActions",
108
+ "required": false,
109
+ "purpose": "The row a form’s actions stand in, aligned to the reading end. Below 360 container pixels it becomes a column of full-width actions with the primary one first — a reader’s thumb is at the bottom of a phone and their eye at the end of a row. It carries data-ui=\"form\" beside its data-part, so a nested family’s actions — a section’s — keep their own row."
110
+ }
111
+ ],
112
+ "api": [
113
+ {
114
+ "name": "errors",
115
+ "type": "Record<string, string | string[]>",
116
+ "defaultValue": "—",
117
+ "appliesTo": "slForm",
118
+ "description": "Present means the consumer owns the error map, for the life of the component. Keyed by the name attribute of the control each error is about, which is the key the platform already uses and the key a server already sends"
119
+ },
120
+ {
121
+ "name": "defaultErrors",
122
+ "type": "Record<string, string | string[]>",
123
+ "defaultValue": "—",
124
+ "appliesTo": "slForm",
125
+ "description": "The errors an uncontrolled form starts from, read once — a page rendered on the server with a failed submission already in it"
126
+ },
127
+ {
128
+ "name": "validate",
129
+ "type": "'submit' | 'blur' | 'change' | 'none'",
130
+ "defaultValue": "submit",
131
+ "appliesTo": "slForm, provideFormDefaults",
132
+ "description": "When the form checks its controls. submit re-checks on change afterwards, because telling a reader an answer is wrong before they have finished writing it is noise and telling them nothing after they have fixed it is worse"
133
+ },
134
+ {
135
+ "name": "errorFocus",
136
+ "type": "'summary' | 'control' | 'none'",
137
+ "defaultValue": "summary",
138
+ "appliesTo": "slForm, provideFormDefaults",
139
+ "description": "Where focus goes after a failed submit. summary is the sourced pattern’s answer; control is for a form of one field, where a summary is ceremony"
140
+ },
141
+ {
142
+ "name": "summary",
143
+ "type": "'auto' | 'none'",
144
+ "defaultValue": "auto",
145
+ "appliesTo": "slForm, provideFormDefaults",
146
+ "description": "Whether the family renders the summary as its first child. none leaves it to the consumer, who puts slFormSummary wherever the page needs it"
147
+ },
148
+ {
149
+ "name": "messages",
150
+ "type": "Partial<FormMessages>",
151
+ "defaultValue": "—",
152
+ "appliesTo": "slForm",
153
+ "description": "Words laid over the language in force, key by key: the summary’s heading (summaryTitle) and the built-in validators’ sentences (errors.required, errors.minlength, …)"
154
+ },
155
+ {
156
+ "name": "summaryDescription",
157
+ "type": "string",
158
+ "defaultValue": "—",
159
+ "appliesTo": "slForm, provideFormDefaults",
160
+ "description": "A sentence under the heading, for a form whose failure needs more than a list"
161
+ },
162
+ {
163
+ "name": "align",
164
+ "type": "'end' | 'start' | 'between' | 'stretch'",
165
+ "defaultValue": "end",
166
+ "appliesTo": "slForm, slFormActions, provideFormDefaults",
167
+ "description": "How the action row is arranged above the reflow. Every alignment becomes one column of full-width actions below 360 container pixels"
168
+ },
169
+ {
170
+ "name": "nativeValidation",
171
+ "type": "boolean",
172
+ "defaultValue": "false",
173
+ "appliesTo": "slForm, provideFormDefaults",
174
+ "description": "Lets the browser draw its own validation bubble. Off by default, because the field around each control already draws the message — and constraint validation still runs either way"
175
+ },
176
+ {
177
+ "name": "guardUnsaved",
178
+ "type": "boolean",
179
+ "defaultValue": "false",
180
+ "appliesTo": "slForm",
181
+ "description": "Registers a beforeunload while anything in the form has been edited. Off by default: a page that refuses to close after one character is a trap"
182
+ },
183
+ {
184
+ "name": "loading",
185
+ "type": "boolean",
186
+ "defaultValue": "false",
187
+ "appliesTo": "slForm",
188
+ "description": "Marks the form busy for work the family did not start. It is merged with the family’s own submission, so either one writes data-loading and aria-busy"
189
+ },
190
+ {
191
+ "name": "disabled",
192
+ "type": "boolean",
193
+ "defaultValue": "false",
194
+ "appliesTo": "slForm",
195
+ "description": "Writes data-disabled on the root. It does not disable the controls: a fieldset does that, and it does it natively"
196
+ }
197
+ ],
198
+ "composition": [
199
+ {
200
+ "name": "exportAs",
201
+ "type": "'slForm'",
202
+ "defaultValue": "—",
203
+ "appliesTo": "the template",
204
+ "description": "Reaches the instance, and through it validateNow(), submit(), reset() and focusFirstError() — the four actions a consumer cannot express by passing a value"
205
+ },
206
+ {
207
+ "name": "ControlContainer",
208
+ "type": "formGroup, ngForm",
209
+ "defaultValue": "—",
210
+ "appliesTo": "the same element",
211
+ "description": "Reactive Forms is the second source of errors. Every control is marked touched at submit, and each failing one becomes a sentence: a built-in validator’s from the catalog’s errors.* messages, an application’s own through SL_FORM_ERROR_MESSAGES"
212
+ },
213
+ {
214
+ "name": "provideFormErrorMessages",
215
+ "type": "Record<string, (context) => string>",
216
+ "defaultValue": "{}",
217
+ "appliesTo": "an injector",
218
+ "description": "The sentence for a validator the application adds, by its key. Angular reports a key and a shape and never a message; the seven built-in keys are written by the catalog, and an entry for one of them replaces the catalog’s"
219
+ },
220
+ {
221
+ "name": "provideFormDefaults",
222
+ "type": "{ validate, errorFocus, summary, summaryDescription, align, nativeValidation }",
223
+ "defaultValue": "—",
224
+ "appliesTo": "an injector",
225
+ "description": "The six decisions an application takes once. The summary’s heading comes from the language in force (provideSlotted)"
226
+ },
227
+ {
228
+ "name": "slFormSummary / slFormActions",
229
+ "type": "directives on the consumer’s own element",
230
+ "defaultValue": "—",
231
+ "appliesTo": "inside a form",
232
+ "description": "The summary placed by the page rather than by the family, and the action row with its own alignment when the form’s is not the one this row wants"
233
+ },
234
+ {
235
+ "name": "Signal Forms",
236
+ "type": "[field]",
237
+ "defaultValue": "—",
238
+ "appliesTo": "Angular 22",
239
+ "description": "Nothing is added here. Signal Forms binds a control through its ControlValueAccessor, which every Slotted control provides, so they work under [field] today"
240
+ }
241
+ ],
242
+ "events": [
243
+ {
244
+ "name": "errorsChange",
245
+ "payload": "ChangeRequest<FormErrors>",
246
+ "when": "Before the error map moves. The request carries the new map, the map it replaces, the reason — \"submit\" for validation running, \"keyboard\" for a field changing and dropping its own error, \"clear\" for a reset, \"programmatic\" for validateNow() — the originating event, and cancel(). A request for the map the family already holds is not emitted."
247
+ },
248
+ {
249
+ "name": "formSubmit",
250
+ "payload": "{ values, event, errors(map), pending(promise) }",
251
+ "when": "When the form submits and nothing is wrong with it. The values are read from FormData in document order; errors() publishes what a server answered and moves focus; pending() holds the form in its busy state until the promise settles."
252
+ }
253
+ ],
254
+ "accessibility": [
255
+ "There is no APG pattern for a form. The sourced guidance is WCAG 2.2 SC 3.3.1 Error Identification, the GOV.UK error summary component, and the HTML form element itself; each decides something the family does, and the contract names all three.",
256
+ "The summary answers the four things GOV.UK states a summary must do: keyboard focus moves to it, it carries the heading “There is a problem”, it links to each of the answers that have validation errors, and its messages are worded the same as the ones beside the inputs. The last one is free here — one map feeds the summary and the field, so the two cannot drift.",
257
+ "The region is role=\"alert\" with tabindex=\"-1\" and is labelled by its own heading, so it announces when it appears and can be reached afterwards. A link inside it moves focus to the control rather than following the fragment: a page that never navigated should not gain a history entry or write a control’s identifier into the address bar.",
258
+ "novalidate is written by default. The browser would otherwise draw its own bubble beside a control whose error the field is already showing, and the two would say the same thing twice in two places. Constraint validation still runs: checkValidity() is called explicitly, and validationMessage is the platform’s own string, localized by the operating system in a way no library can better.",
259
+ "An error naming a control the form does not hold keeps its place in the list and loses its link. A server may answer about a field the page no longer renders, and a message a reader cannot reach is still a message they have to be given.",
260
+ "A submit while one is pending is refused, and aria-busy says so. The form does not dim or disable itself while it saves: what a reader is waiting on is the values, and a form that hid them would take away the only thing they can check."
261
+ ]
262
+ }
263
+ },
264
+ "tokens": [
265
+ "--slotted-border-width-thick",
266
+ "--slotted-control-border-width",
267
+ "--slotted-control-font-family",
268
+ "--slotted-control-font-size-md",
269
+ "--slotted-focus-ring-color",
270
+ "--slotted-focus-ring-offset",
271
+ "--slotted-focus-ring-width",
272
+ "--slotted-font-family-heading",
273
+ "--slotted-font-family-sans",
274
+ "--slotted-font-weight-semibold",
275
+ "--slotted-form-color",
276
+ "--slotted-form-summary-background",
277
+ "--slotted-form-summary-border-color",
278
+ "--slotted-form-summary-color",
279
+ "--slotted-form-summary-radius",
280
+ "--slotted-line-height-md",
281
+ "--slotted-line-height-sm",
282
+ "--slotted-radius-md",
283
+ "--slotted-radius-xs",
284
+ "--slotted-space-1",
285
+ "--slotted-space-2",
286
+ "--slotted-space-3",
287
+ "--slotted-space-4",
288
+ "--slotted-space-5",
289
+ "--slotted-space-6",
290
+ "--slotted-space-8",
291
+ "--slotted-text",
292
+ "--slotted-tone-danger-border",
293
+ "--slotted-tone-danger-surface",
294
+ "--slotted-tone-danger-text"
295
+ ],
296
+ "examples": [
297
+ {
298
+ "id": "playground",
299
+ "title": "Playground",
300
+ "note": "A form of two fields with the family’s whole lifecycle on it. Submit it empty: the platform’s own messages appear in the summary, focus moves there, and each link jumps to the field it names.",
301
+ "language": "html",
302
+ "source": "<form slForm (formSubmit)=\"save($event.values)\">\n <div slField>\n <label slFieldLabel>Nome completo</label>\n <div slTextField><input slTextFieldInput name=\"nome\" required /></div>\n </div>\n <div slFormActions>\n <button slButton type=\"submit\">Salvar</button>\n </div>\n</form>\n",
303
+ "verdict": "excerpt"
304
+ },
305
+ {
306
+ "id": "validation",
307
+ "title": "When the form checks its controls",
308
+ "note": "submit is the default and re-checks on change afterwards; blur checks only the control that lost focus; change checks after the first submit; none leaves validation entirely to the consumer. novalidate is written either way, so the browser’s bubble never lands beside a message the field is already drawing.",
309
+ "language": "html",
310
+ "source": "<form slForm validate=\"submit\">…</form>\n<form slForm validate=\"blur\">…</form>\n\n<!-- The browser still validates; only its bubble is off. -->\n<input slTextFieldInput name=\"email\" type=\"email\" required />\n",
311
+ "verdict": "excerpt"
312
+ },
313
+ {
314
+ "id": "errors",
315
+ "title": "Where the errors come from",
316
+ "note": "Three sources merge into one map, latest last: a server’s answer, the platform’s own constraint validation, and Reactive Forms. A server error is dropped as soon as the field it names is edited, and every error is dropped at the next submit.",
317
+ "language": "html",
318
+ "source": "<form slForm [errors]=\"serverErrors()\" [formGroup]=\"group\" (formSubmit)=\"save($event)\">\n <div slField>\n <label slFieldLabel>Nome</label>\n <div slTextField><input slTextFieldInput name=\"nome\" formControlName=\"nome\" /></div>\n </div>\n</form>\n",
319
+ "verdict": "excerpt"
320
+ },
321
+ {
322
+ "id": "summary",
323
+ "title": "The region a reader is sent to",
324
+ "note": "The four things the sourced error summary states a summary must do: focus moves to it, it carries a heading, it links to each answer in error, and its messages are the same strings the fields show. errorFocus=\"control\" skips it and goes to the first field instead.",
325
+ "language": "html",
326
+ "source": "<form slForm [messages]=\"{ summaryTitle: 'Corrija estes campos' }\">…</form>\n\n<!-- Somewhere else on the page, under a heading of your own. -->\n<form slForm summary=\"none\">\n <h1>Pedido</h1>\n <div slFormSummary></div>\n</form>\n",
327
+ "verdict": "excerpt"
328
+ },
329
+ {
330
+ "id": "submit",
331
+ "title": "Submission, and the second press that does nothing",
332
+ "note": "The submit event hands back a pending() for work that takes time and an errors() for what the server answered. A second submit while one is pending is refused — the defect a double-clicked button produces in a bare form.",
333
+ "language": "ts",
334
+ "source": "class CheckoutPage {\n save(request: { values: Record<string, unknown>; pending: (work: Promise<unknown>) => void }) {\n request.pending(\n firstValueFrom(this.pedidos.criar(request.values)).then((answer) => answer.errors),\n );\n }\n}\n",
335
+ "verdict": "excerpt"
336
+ },
337
+ {
338
+ "id": "actions",
339
+ "title": "The row the actions stand in",
340
+ "note": "end is the default, between pushes a destructive action away from the one beside it, and stretch shares the row. Narrow the column below 360 pixels and every alignment becomes the same column of full-width actions, primary first.",
341
+ "language": "html",
342
+ "source": "<div slFormActions>\n <button slButton type=\"button\" tone=\"secondary\" variant=\"ghost\">Cancelar</button>\n <button slButton type=\"submit\">Salvar alterações</button>\n</div>\n\n<div slFormActions align=\"between\">…</div>\n",
343
+ "verdict": "excerpt"
344
+ },
345
+ {
346
+ "id": "states",
347
+ "title": "Every state the family carries",
348
+ "note": "data-invalid while anything is wrong, data-loading and aria-busy while a submit is in flight, data-disabled when the consumer says so. The form does not dim itself while it saves: a form that hid its own values would hide what the reader is waiting on.",
349
+ "language": "html",
350
+ "source": "<form slForm [loading]=\"saving()\" #checkout=\"slForm\">\n <div slFormActions>\n <button slButton type=\"submit\" [loading]=\"saving()\">Salvar</button>\n </div>\n</form>\n",
351
+ "verdict": "excerpt"
352
+ },
353
+ {
354
+ "id": "content",
355
+ "title": "Eleven errors, and one for a field that is not there",
356
+ "note": "The list scrolls past twelve lines rather than truncating, and an error naming a control the form does not hold keeps its place without a link. Both are cases a real server produces and none of the surveyed implementations answers.",
357
+ "language": "html",
358
+ "source": "<form slForm [errors]=\"{ cupom: 'O cupom informado expirou', email: 'Endereço inválido' }\">\n <div slField>\n <label slFieldLabel>E-mail</label>\n <div slTextField><input slTextFieldInput name=\"email\" /></div>\n </div>\n</form>\n",
359
+ "verdict": "excerpt"
360
+ },
361
+ {
362
+ "id": "composition",
363
+ "title": "Setting it once, reaching past it, and guarding it",
364
+ "note": "Two injection tokens carry what an application decides once: how its forms behave, and the sentence of a validator the application adds. exportAs reaches the four actions a value cannot express, and guardUnsaved registers a beforeunload nothing surveyed ships.",
365
+ "language": "ts",
366
+ "source": "providers: [\n provideFormDefaults({ validate: 'blur' }),\n provideFormErrorMessages({\n cnpj: () => 'CNPJ inválido.',\n }),\n];\n",
367
+ "verdict": "excerpt"
368
+ },
369
+ {
370
+ "id": "accessibility",
371
+ "title": "What a reader hears, and where focus goes",
372
+ "note": "Tab into the form, submit it empty, and follow what happens: the region announces itself, takes focus, and each link moves focus to the control it names without changing the address bar. Every message in the summary is the same string the field shows.",
373
+ "language": "html",
374
+ "source": "<form slForm [errors]=\"{ email: 'O endereço precisa conter um arroba' }\">\n <div slField [invalid]=\"true\">\n <label slFieldLabel>E-mail</label>\n <div slTextField><input slTextFieldInput name=\"email\" /></div>\n <p slFieldError>O endereço precisa conter um arroba</p>\n </div>\n</form>\n",
375
+ "verdict": "excerpt"
376
+ }
377
+ ]
378
+ }
package/docs/form.md ADDED
@@ -0,0 +1,235 @@
1
+ <!-- index: ./index.md -->
2
+ # form
3
+
4
+ `data-ui="form"` · Form with validation, error summary and submit.
5
+
6
+ ## Import
7
+
8
+ ```ts
9
+ import {
10
+ provideFormDefaults,
11
+ provideFormErrorMessages,
12
+ SlForm,
13
+ SlFormActions,
14
+ SlFormSummary,
15
+ } from '@slotted/angular/form';
16
+ ```
17
+
18
+ Selector: `form[slForm]` · exportAs: `slForm`
19
+
20
+ ## Minimal example
21
+
22
+ Excerpt — not a complete module
23
+
24
+ ```html
25
+ <form slForm (formSubmit)="save($event.values)">
26
+ <div slField>
27
+ <label slFieldLabel>Nome completo</label>
28
+ <div slTextField><input slTextFieldInput name="nome" required /></div>
29
+ </div>
30
+ <div slFormActions>
31
+ <button slButton type="submit">Salvar</button>
32
+ </div>
33
+ </form>
34
+ ```
35
+
36
+ ## Anatomy
37
+
38
+ | Part | Element | Required |
39
+ | --- | --- | --- |
40
+ | `root` | form | yes |
41
+ | `summary` | the element carrying slFormSummary | no |
42
+ | `summary-title` | h2 | no |
43
+ | `summary-list` | ul | no |
44
+ | `summary-item` | a[href], or span | no |
45
+ | `actions` | the element carrying slFormActions | no |
46
+
47
+ ## Props
48
+
49
+ | Name | Type | Default | Applies to | Description |
50
+ | --- | --- | --- | --- | --- |
51
+ | `errors` | `Record<string, string \| string[]>` | — | slForm | Present means the consumer owns the error map, for the life of the component. Keyed by the name attribute of the control each error is about, which is the key the platform already uses and the key a server already sends |
52
+ | `defaultErrors` | `Record<string, string \| string[]>` | — | slForm | The errors an uncontrolled form starts from, read once — a page rendered on the server with a failed submission already in it |
53
+ | `validate` | `'submit' \| 'blur' \| 'change' \| 'none'` | submit | slForm, provideFormDefaults | When the form checks its controls. submit re-checks on change afterwards, because telling a reader an answer is wrong before they have finished writing it is noise and telling them nothing after they have fixed it is worse |
54
+ | `errorFocus` | `'summary' \| 'control' \| 'none'` | summary | slForm, provideFormDefaults | Where focus goes after a failed submit. summary is the sourced pattern’s answer; control is for a form of one field, where a summary is ceremony |
55
+ | `summary` | `'auto' \| 'none'` | auto | slForm, provideFormDefaults | Whether the family renders the summary as its first child. none leaves it to the consumer, who puts slFormSummary wherever the page needs it |
56
+ | `messages` | `Partial<FormMessages>` | — | slForm | Words laid over the language in force, key by key: the summary’s heading (summaryTitle) and the built-in validators’ sentences (errors.required, errors.minlength, …) |
57
+ | `summaryDescription` | `string` | — | slForm, provideFormDefaults | A sentence under the heading, for a form whose failure needs more than a list |
58
+ | `align` | `'end' \| 'start' \| 'between' \| 'stretch'` | end | slForm, slFormActions, provideFormDefaults | How the action row is arranged above the reflow. Every alignment becomes one column of full-width actions below 360 container pixels |
59
+ | `nativeValidation` | `boolean` | false | slForm, provideFormDefaults | Lets the browser draw its own validation bubble. Off by default, because the field around each control already draws the message — and constraint validation still runs either way |
60
+ | `guardUnsaved` | `boolean` | false | slForm | Registers a beforeunload while anything in the form has been edited. Off by default: a page that refuses to close after one character is a trap |
61
+ | `loading` | `boolean` | false | slForm | Marks the form busy for work the family did not start. It is merged with the family’s own submission, so either one writes data-loading and aria-busy |
62
+ | `disabled` | `boolean` | false | slForm | Writes data-disabled on the root. It does not disable the controls: a fieldset does that, and it does it natively |
63
+ | `exportAs` | `'slForm'` | — | the template | Reaches the instance, and through it validateNow(), submit(), reset() and focusFirstError() — the four actions a consumer cannot express by passing a value |
64
+ | `ControlContainer` | `formGroup, ngForm` | — | the same element | Reactive Forms is the second source of errors. Every control is marked touched at submit, and each failing one becomes a sentence: a built-in validator’s from the catalog’s errors.* messages, an application’s own through SL_FORM_ERROR_MESSAGES |
65
+ | `provideFormErrorMessages` | `Record<string, (context) => string>` | {} | an injector | The sentence for a validator the application adds, by its key. Angular reports a key and a shape and never a message; the seven built-in keys are written by the catalog, and an entry for one of them replaces the catalog’s |
66
+ | `provideFormDefaults` | `{ validate, errorFocus, summary, summaryDescription, align, nativeValidation }` | — | an injector | The six decisions an application takes once. The summary’s heading comes from the language in force (provideSlotted) |
67
+ | `slFormSummary / slFormActions` | `directives on the consumer’s own element` | — | inside a form | The summary placed by the page rather than by the family, and the action row with its own alignment when the form’s is not the one this row wants |
68
+ | `Signal Forms` | `[field]` | — | Angular 22 | Nothing is added here. Signal Forms binds a control through its ControlValueAccessor, which every Slotted control provides, so they work under [field] today |
69
+
70
+ ## Events
71
+
72
+ | Name | Payload | When |
73
+ | --- | --- | --- |
74
+ | `errorsChange` | `ChangeRequest<FormErrors>` | Before the error map moves. The request carries the new map, the map it replaces, the reason — "submit" for validation running, "keyboard" for a field changing and dropping its own error, "clear" for a reset, "programmatic" for validateNow() — the originating event, and cancel(). A request for the map the family already holds is not emitted. |
75
+ | `formSubmit` | `{ values, event, errors(map), pending(promise) }` | When the form submits and nothing is wrong with it. The values are read from FormData in document order; errors() publishes what a server answered and moves focus; pending() holds the form in its busy state until the promise settles. |
76
+
77
+ ## Axes and defaults
78
+
79
+ | Axis | Values | Default |
80
+ | --- | --- | --- |
81
+ | `validate` | `submit`, `blur`, `change`, `none` | `submit` |
82
+ | `errorFocus` | `summary`, `control`, `none` | `summary` |
83
+ | `summary` | `auto`, `none` | `auto` |
84
+ | `align` | `end`, `start`, `between`, `stretch` | `end` |
85
+
86
+ ## Rules
87
+
88
+ - There is no APG pattern for a form. The sourced guidance is WCAG 2.2 SC 3.3.1 Error Identification, the GOV.UK error summary component, and the HTML form element itself; each decides something the family does, and the contract names all three.
89
+ - The summary answers the four things GOV.UK states a summary must do: keyboard focus moves to it, it carries the heading “There is a problem”, it links to each of the answers that have validation errors, and its messages are worded the same as the ones beside the inputs. The last one is free here — one map feeds the summary and the field, so the two cannot drift.
90
+ - The region is role="alert" with tabindex="-1" and is labelled by its own heading, so it announces when it appears and can be reached afterwards. A link inside it moves focus to the control rather than following the fragment: a page that never navigated should not gain a history entry or write a control’s identifier into the address bar.
91
+ - novalidate is written by default. The browser would otherwise draw its own bubble beside a control whose error the field is already showing, and the two would say the same thing twice in two places. Constraint validation still runs: checkValidity() is called explicitly, and validationMessage is the platform’s own string, localized by the operating system in a way no library can better.
92
+ - An error naming a control the form does not hold keeps its place in the list and loses its link. A server may answer about a field the page no longer renders, and a message a reader cannot reach is still a message they have to be given.
93
+ - A submit while one is pending is refused, and aria-busy says so. The form does not dim or disable itself while it saves: what a reader is waiting on is the values, and a form that hid them would take away the only thing they can check.
94
+
95
+ ## Tokens
96
+
97
+ `--slotted-border-width-thick`, `--slotted-control-border-width`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-heading`, `--slotted-font-family-sans`, `--slotted-font-weight-semibold`, `--slotted-form-color`, `--slotted-form-summary-background`, `--slotted-form-summary-border-color`, `--slotted-form-summary-color`, `--slotted-form-summary-radius`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-radius-md`, `--slotted-radius-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-8`, `--slotted-text`, `--slotted-tone-danger-border`, `--slotted-tone-danger-surface`, `--slotted-tone-danger-text`
98
+
99
+ ## Examples
100
+
101
+ ### When the form checks its controls
102
+
103
+ submit is the default and re-checks on change afterwards; blur checks only the control that lost focus; change checks after the first submit; none leaves validation entirely to the consumer. novalidate is written either way, so the browser’s bubble never lands beside a message the field is already drawing.
104
+
105
+ Excerpt — not a complete module
106
+
107
+ ```html
108
+ <form slForm validate="submit">…</form>
109
+ <form slForm validate="blur">…</form>
110
+
111
+ <!-- The browser still validates; only its bubble is off. -->
112
+ <input slTextFieldInput name="email" type="email" required />
113
+ ```
114
+
115
+ ### Where the errors come from
116
+
117
+ Three sources merge into one map, latest last: a server’s answer, the platform’s own constraint validation, and Reactive Forms. A server error is dropped as soon as the field it names is edited, and every error is dropped at the next submit.
118
+
119
+ Excerpt — not a complete module
120
+
121
+ ```html
122
+ <form slForm [errors]="serverErrors()" [formGroup]="group" (formSubmit)="save($event)">
123
+ <div slField>
124
+ <label slFieldLabel>Nome</label>
125
+ <div slTextField><input slTextFieldInput name="nome" formControlName="nome" /></div>
126
+ </div>
127
+ </form>
128
+ ```
129
+
130
+ ### The region a reader is sent to
131
+
132
+ The four things the sourced error summary states a summary must do: focus moves to it, it carries a heading, it links to each answer in error, and its messages are the same strings the fields show. errorFocus="control" skips it and goes to the first field instead.
133
+
134
+ Excerpt — not a complete module
135
+
136
+ ```html
137
+ <form slForm [messages]="{ summaryTitle: 'Corrija estes campos' }">…</form>
138
+
139
+ <!-- Somewhere else on the page, under a heading of your own. -->
140
+ <form slForm summary="none">
141
+ <h1>Pedido</h1>
142
+ <div slFormSummary></div>
143
+ </form>
144
+ ```
145
+
146
+ ### Submission, and the second press that does nothing
147
+
148
+ The submit event hands back a pending() for work that takes time and an errors() for what the server answered. A second submit while one is pending is refused — the defect a double-clicked button produces in a bare form.
149
+
150
+ Excerpt — not a complete module
151
+
152
+ ```ts
153
+ class CheckoutPage {
154
+ save(request: { values: Record<string, unknown>; pending: (work: Promise<unknown>) => void }) {
155
+ request.pending(
156
+ firstValueFrom(this.pedidos.criar(request.values)).then((answer) => answer.errors),
157
+ );
158
+ }
159
+ }
160
+ ```
161
+
162
+ ### The row the actions stand in
163
+
164
+ end is the default, between pushes a destructive action away from the one beside it, and stretch shares the row. Narrow the column below 360 pixels and every alignment becomes the same column of full-width actions, primary first.
165
+
166
+ Excerpt — not a complete module
167
+
168
+ ```html
169
+ <div slFormActions>
170
+ <button slButton type="button" tone="secondary" variant="ghost">Cancelar</button>
171
+ <button slButton type="submit">Salvar alterações</button>
172
+ </div>
173
+
174
+ <div slFormActions align="between">…</div>
175
+ ```
176
+
177
+ ### Every state the family carries
178
+
179
+ data-invalid while anything is wrong, data-loading and aria-busy while a submit is in flight, data-disabled when the consumer says so. The form does not dim itself while it saves: a form that hid its own values would hide what the reader is waiting on.
180
+
181
+ Excerpt — not a complete module
182
+
183
+ ```html
184
+ <form slForm [loading]="saving()" #checkout="slForm">
185
+ <div slFormActions>
186
+ <button slButton type="submit" [loading]="saving()">Salvar</button>
187
+ </div>
188
+ </form>
189
+ ```
190
+
191
+ ### Eleven errors, and one for a field that is not there
192
+
193
+ The list scrolls past twelve lines rather than truncating, and an error naming a control the form does not hold keeps its place without a link. Both are cases a real server produces and none of the surveyed implementations answers.
194
+
195
+ Excerpt — not a complete module
196
+
197
+ ```html
198
+ <form slForm [errors]="{ cupom: 'O cupom informado expirou', email: 'Endereço inválido' }">
199
+ <div slField>
200
+ <label slFieldLabel>E-mail</label>
201
+ <div slTextField><input slTextFieldInput name="email" /></div>
202
+ </div>
203
+ </form>
204
+ ```
205
+
206
+ ### Setting it once, reaching past it, and guarding it
207
+
208
+ Two injection tokens carry what an application decides once: how its forms behave, and the sentence of a validator the application adds. exportAs reaches the four actions a value cannot express, and guardUnsaved registers a beforeunload nothing surveyed ships.
209
+
210
+ Excerpt — not a complete module
211
+
212
+ ```ts
213
+ providers: [
214
+ provideFormDefaults({ validate: 'blur' }),
215
+ provideFormErrorMessages({
216
+ cnpj: () => 'CNPJ inválido.',
217
+ }),
218
+ ];
219
+ ```
220
+
221
+ ### What a reader hears, and where focus goes
222
+
223
+ Tab into the form, submit it empty, and follow what happens: the region announces itself, takes focus, and each link moves focus to the control it names without changing the address bar. Every message in the summary is the same string the field shows.
224
+
225
+ Excerpt — not a complete module
226
+
227
+ ```html
228
+ <form slForm [errors]="{ email: 'O endereço precisa conter um arroba' }">
229
+ <div slField [invalid]="true">
230
+ <label slFieldLabel>E-mail</label>
231
+ <div slTextField><input slTextFieldInput name="email" /></div>
232
+ <p slFieldError>O endereço precisa conter um arroba</p>
233
+ </div>
234
+ </form>
235
+ ```