@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
@@ -0,0 +1,696 @@
1
+ {
2
+ "family": "date-picker",
3
+ "ui": "date-picker",
4
+ "binding": "angular",
5
+ "catalog": {
6
+ "group": "Forms",
7
+ "summary": "Date field with a calendar popover."
8
+ },
9
+ "axes": {
10
+ "size": [
11
+ "sm",
12
+ "md",
13
+ "lg"
14
+ ],
15
+ "variant": [
16
+ "outline",
17
+ "subtle",
18
+ "plain"
19
+ ],
20
+ "placement": [
21
+ "bottom-start",
22
+ "bottom",
23
+ "bottom-end",
24
+ "top-start",
25
+ "top",
26
+ "top-end"
27
+ ],
28
+ "closeOnSelect": [
29
+ "auto",
30
+ "always",
31
+ "never"
32
+ ],
33
+ "calendar": [
34
+ "gregory"
35
+ ]
36
+ },
37
+ "members": {
38
+ "datePicker": {
39
+ "nativeElement": "div",
40
+ "defaults": {
41
+ "size": "md",
42
+ "variant": "outline",
43
+ "placement": "bottom-start",
44
+ "closeOnSelect": "auto",
45
+ "calendar": "gregory",
46
+ "clearable": false
47
+ },
48
+ "capabilities": [
49
+ "value",
50
+ "open",
51
+ "placement",
52
+ "appearance",
53
+ "size",
54
+ "content",
55
+ "disabled",
56
+ "invalid",
57
+ "required",
58
+ "readOnly",
59
+ "wiring"
60
+ ],
61
+ "states": [
62
+ "default",
63
+ "hover",
64
+ "active",
65
+ "focus-visible",
66
+ "disabled",
67
+ "invalid",
68
+ "readonly",
69
+ "required",
70
+ "open"
71
+ ],
72
+ "parts": [
73
+ "root",
74
+ "control",
75
+ "trigger",
76
+ "positioner",
77
+ "content",
78
+ "presets",
79
+ "footer"
80
+ ]
81
+ }
82
+ },
83
+ "docs": {
84
+ "datePicker": {
85
+ "imports": {
86
+ "source": "import { SlDatePicker, SlDatePickerPresets, SlDatePickerFooter } from '@slotted/angular/date-picker';",
87
+ "selector": "[slDatePicker]",
88
+ "exportAs": "slDatePicker"
89
+ },
90
+ "anatomy": [
91
+ {
92
+ "part": "root",
93
+ "element": "your own element carrying slDatePicker",
94
+ "required": true,
95
+ "purpose": "The outer box, carrying data-ui=\"date-picker\", the size, variant and calendar axes, data-open and the state attributes. You write this element, so its classes, attributes and other directives stay yours."
96
+ },
97
+ {
98
+ "part": "control",
99
+ "element": "div",
100
+ "required": true,
101
+ "purpose": "The box the calendar is positioned against. It draws no frame: the date field inside it draws its own border, focus ring and states."
102
+ },
103
+ {
104
+ "part": "trigger",
105
+ "element": "button",
106
+ "required": true,
107
+ "purpose": "The calendar button, in the slDateFieldEnd slot of the date field. Its accessible name carries the chosen date in words, because focus returns to it when the calendar closes. It is always drawn, because ChromeOS turns Alt+ArrowDown into PageDown before the browser receives it."
108
+ },
109
+ {
110
+ "part": "positioner",
111
+ "element": "div, after the control inside the root",
112
+ "required": true,
113
+ "purpose": "The layer the calendar stands on, drawn while the calendar is open. It carries data-ui=\"date-picker\" again, data-presentation (popover or sheet) and the position the positioner writes. It takes no pointer events of its own, so a press on the page around the surface reaches the page."
114
+ },
115
+ {
116
+ "part": "content",
117
+ "element": "div with role=\"dialog\"",
118
+ "required": true,
119
+ "purpose": "The painted surface, with the same accessible name as the trigger. Its width comes from the calendar inside it, not from the field it opens from."
120
+ },
121
+ {
122
+ "part": "presets",
123
+ "element": "your own element carrying slDatePickerPresets",
124
+ "required": false,
125
+ "purpose": "A column beside the calendar for your own shortcuts. The Date Picker ships no list of shortcuts: the labels and dates belong to your product."
126
+ },
127
+ {
128
+ "part": "footer",
129
+ "element": "your own element carrying slDatePickerFooter",
130
+ "required": false,
131
+ "purpose": "A row under the calendar for your own actions."
132
+ }
133
+ ],
134
+ "api": [
135
+ {
136
+ "name": "value",
137
+ "type": "PlainDate | DateRange | PlainDate[] | null",
138
+ "defaultValue": "—",
139
+ "appliesTo": "SlDatePicker",
140
+ "description": "The selected value, whose shape follows selectionMode. Binding it makes the value controlled."
141
+ },
142
+ {
143
+ "name": "defaultValue",
144
+ "type": "PlainDate | DateRange | PlainDate[] | null",
145
+ "defaultValue": "—",
146
+ "appliesTo": "SlDatePicker",
147
+ "description": "The starting value of an uncontrolled date picker. Read once, when the date picker initializes."
148
+ },
149
+ {
150
+ "name": "open",
151
+ "type": "boolean",
152
+ "defaultValue": "—",
153
+ "appliesTo": "SlDatePicker",
154
+ "description": "Whether the calendar is showing. Binding it makes the open state controlled."
155
+ },
156
+ {
157
+ "name": "defaultOpen",
158
+ "type": "boolean",
159
+ "defaultValue": "false",
160
+ "appliesTo": "SlDatePicker",
161
+ "description": "Whether the calendar shows when the date picker initializes. Focus does not move into it."
162
+ },
163
+ {
164
+ "name": "min",
165
+ "type": "PlainDate",
166
+ "defaultValue": "—",
167
+ "appliesTo": "SlDatePicker",
168
+ "description": "The earliest date the field and the calendar accept. Earlier days are disabled in the calendar, an earlier typed date marks the date picker invalid, and a form reports slottedDateRange."
169
+ },
170
+ {
171
+ "name": "max",
172
+ "type": "PlainDate",
173
+ "defaultValue": "—",
174
+ "appliesTo": "SlDatePicker",
175
+ "description": "The latest date the field and the calendar accept. Later days are disabled in the calendar, a later typed date marks the date picker invalid, and a form reports slottedDateRange."
176
+ },
177
+ {
178
+ "name": "isDateUnavailable",
179
+ "type": "(date: PlainDate) => boolean",
180
+ "defaultValue": "—",
181
+ "appliesTo": "SlDatePicker",
182
+ "description": "Returns true for a date the reader cannot choose. The calendar disables it, a typed unavailable date marks the date picker invalid, and a form reports slottedDateUnavailable."
183
+ },
184
+ {
185
+ "name": "selectionMode",
186
+ "type": "'single' | 'range' | 'multiple'",
187
+ "defaultValue": "single",
188
+ "appliesTo": "SlDatePicker",
189
+ "description": "How many dates the calendar selects, and so the shape of the value. The field shows a single date only; for a start and an end, use slDateRangePicker."
190
+ },
191
+ {
192
+ "name": "months",
193
+ "type": "number",
194
+ "defaultValue": "1",
195
+ "appliesTo": "SlDatePicker",
196
+ "description": "How many months the calendar draws side by side."
197
+ },
198
+ {
199
+ "name": "defaultView",
200
+ "type": "'day' | 'month' | 'year'",
201
+ "defaultValue": "day",
202
+ "appliesTo": "SlDatePicker",
203
+ "description": "The grid the calendar opens on."
204
+ },
205
+ {
206
+ "name": "weekNumbers",
207
+ "type": "boolean",
208
+ "defaultValue": "false",
209
+ "appliesTo": "SlDatePicker",
210
+ "description": "Adds a column of ISO 8601 week numbers to the calendar."
211
+ },
212
+ {
213
+ "name": "fixedWeeks",
214
+ "type": "boolean",
215
+ "defaultValue": "true",
216
+ "appliesTo": "SlDatePicker",
217
+ "description": "Draws six rows for every month, so the surface keeps its height as the reader pages between months."
218
+ },
219
+ {
220
+ "name": "placement",
221
+ "type": "'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end'",
222
+ "defaultValue": "bottom-start",
223
+ "appliesTo": "SlDatePicker",
224
+ "description": "Where the calendar opens relative to the field. When it does not fit on that side, it opens on the other."
225
+ },
226
+ {
227
+ "name": "closeOnSelect",
228
+ "type": "'auto' | 'always' | 'never'",
229
+ "defaultValue": "auto",
230
+ "appliesTo": "SlDatePicker",
231
+ "description": "Whether choosing a day closes the calendar. auto closes it for a single date and keeps it open for a range or several dates, which need more than one press."
232
+ },
233
+ {
234
+ "name": "locale",
235
+ "type": "string",
236
+ "defaultValue": "the provideSlotted locale, else en-US",
237
+ "appliesTo": "SlDatePicker",
238
+ "description": "A BCP 47 tag. Sets the order, separators and placeholders of the segments, the month and weekday names, the first day of the week and the date the trigger announces."
239
+ },
240
+ {
241
+ "name": "timeZone",
242
+ "type": "string",
243
+ "defaultValue": "the browser’s time zone",
244
+ "appliesTo": "SlDatePicker",
245
+ "description": "The IANA time zone that decides which day is today. The value itself has no time zone."
246
+ },
247
+ {
248
+ "name": "firstDayOfWeek",
249
+ "type": "number",
250
+ "defaultValue": "the locale’s",
251
+ "appliesTo": "SlDatePicker",
252
+ "description": "The day the calendar starts each week on, from 0 for Sunday to 6 for Saturday."
253
+ },
254
+ {
255
+ "name": "yearPivot",
256
+ "type": "number",
257
+ "defaultValue": "20",
258
+ "appliesTo": "SlDatePicker",
259
+ "description": "How a two-digit typed year resolves: a year up to this many years ahead of today is read in this century, and a later one in the previous century."
260
+ },
261
+ {
262
+ "name": "calendar",
263
+ "type": "'gregory'",
264
+ "defaultValue": "gregory",
265
+ "appliesTo": "SlDatePicker",
266
+ "description": "The calendar system. gregory is the only value today."
267
+ },
268
+ {
269
+ "name": "size",
270
+ "type": "'sm' | 'md' | 'lg'",
271
+ "defaultValue": "md",
272
+ "appliesTo": "SlDatePicker",
273
+ "description": "One step of the control scale for the field and the trigger. Inside slField, an unset size follows the field."
274
+ },
275
+ {
276
+ "name": "variant",
277
+ "type": "'outline' | 'subtle' | 'plain'",
278
+ "defaultValue": "outline",
279
+ "appliesTo": "SlDatePicker",
280
+ "description": "How much frame the field draws at rest: a border, a filled ground, or neither."
281
+ },
282
+ {
283
+ "name": "disabled",
284
+ "type": "boolean",
285
+ "defaultValue": "—",
286
+ "appliesTo": "SlDatePicker",
287
+ "description": "Disables the segments and the trigger, and takes both out of the tab order. Read from the form control, then from the enclosing slField, when unset."
288
+ },
289
+ {
290
+ "name": "readOnly",
291
+ "type": "boolean",
292
+ "defaultValue": "—",
293
+ "appliesTo": "SlDatePicker",
294
+ "description": "Keeps the date legible and focusable and disables the trigger, so the calendar cannot open. Read from the enclosing slField when unset."
295
+ },
296
+ {
297
+ "name": "invalid",
298
+ "type": "boolean",
299
+ "defaultValue": "—",
300
+ "appliesTo": "SlDatePicker",
301
+ "description": "Draws the frame and the focus ring in the danger tone and sets aria-invalid. A date outside min and max, or refused by isDateUnavailable, sets it on its own."
302
+ },
303
+ {
304
+ "name": "required",
305
+ "type": "boolean",
306
+ "defaultValue": "—",
307
+ "appliesTo": "SlDatePicker",
308
+ "description": "Sets aria-required on the field. Read from the enclosing slField when unset. In a form, add Validators.required."
309
+ },
310
+ {
311
+ "name": "clearable",
312
+ "type": "boolean",
313
+ "defaultValue": "false",
314
+ "appliesTo": "SlDatePicker",
315
+ "description": "Adds a clear button to the field while it holds a date. It sets the value to null and returns focus to the field."
316
+ },
317
+ {
318
+ "name": "name",
319
+ "type": "string",
320
+ "defaultValue": "—",
321
+ "appliesTo": "SlDatePicker",
322
+ "description": "Adds a hidden input with this name that submits the date as an ISO 8601 string, such as 2026-09-30."
323
+ },
324
+ {
325
+ "name": "messages",
326
+ "type": "Partial<DatePickerMessages>",
327
+ "defaultValue": "—",
328
+ "appliesTo": "SlDatePicker",
329
+ "description": "Replaces the trigger’s accessible name, key by key: choose while no date is set, and change, with the date in its {date} slot, once one is."
330
+ },
331
+ {
332
+ "name": "slDatePickerPresets",
333
+ "type": "Directive",
334
+ "defaultValue": "—",
335
+ "appliesTo": "SlDatePicker",
336
+ "description": "Marks your own element as the shortcuts column beside the calendar."
337
+ },
338
+ {
339
+ "name": "slDatePickerFooter",
340
+ "type": "Directive",
341
+ "defaultValue": "—",
342
+ "appliesTo": "SlDatePicker",
343
+ "description": "Marks your own element as the actions row under the calendar."
344
+ }
345
+ ],
346
+ "composition": [
347
+ {
348
+ "name": "provideDatePickerDefaults",
349
+ "type": "Provider",
350
+ "defaultValue": "—",
351
+ "appliesTo": "application",
352
+ "description": "Sets timeZone, placement, closeOnSelect, calendar, size and variant for every slDatePicker under the injector. An input on one date picker wins."
353
+ },
354
+ {
355
+ "name": "ControlValueAccessor",
356
+ "type": "NG_VALUE_ACCESSOR",
357
+ "defaultValue": "—",
358
+ "appliesTo": "SlDatePicker",
359
+ "description": "formControl, formControlName and ngModel bind the value, a form reset empties the field, and the form’s disabled state reaches the date picker."
360
+ },
361
+ {
362
+ "name": "Validator",
363
+ "type": "NG_VALIDATORS",
364
+ "defaultValue": "—",
365
+ "appliesTo": "SlDatePicker",
366
+ "description": "Reports slottedDateRange, with min, max and the date, for a date outside the bounds, and slottedDateUnavailable for a date isDateUnavailable refuses. required is left to Validators.required."
367
+ },
368
+ {
369
+ "name": "exportAs",
370
+ "type": "slDatePicker",
371
+ "defaultValue": "—",
372
+ "appliesTo": "SlDatePicker",
373
+ "description": "A template reference to the instance, with focus(), which focuses the first segment, and openSurface() and closeSurface(), which show and hide the calendar without a bound open input. openSurface() moves focus into the calendar."
374
+ },
375
+ {
376
+ "name": "ng-content slots",
377
+ "type": "slDatePickerPresets, slDatePickerFooter",
378
+ "defaultValue": "—",
379
+ "appliesTo": "SlDatePicker",
380
+ "description": "The two places you fill, as directives on your own elements, so a button, a list or a toolbar keeps its own semantics."
381
+ }
382
+ ],
383
+ "events": [
384
+ {
385
+ "name": "valueChange",
386
+ "payload": "ChangeRequest<CalendarValue>",
387
+ "when": "Before the value changes, from the field or the calendar. reason is keyboard for typing and for the calendar’s keys, pointer for a press on a day, clear for the clear button and blur for a date completed when the field loses focus. cancel() keeps the current value. There is no [(value)] two-way binding: bind [value] and update it from this output."
388
+ },
389
+ {
390
+ "name": "openChange",
391
+ "payload": "ChangeRequest<boolean>",
392
+ "when": "Before the calendar opens or closes. reason is pointer for the trigger, keyboard for Alt+ArrowDown, programmatic for openSurface() and closeSurface(), escape for the Escape key, outsidePress for a press outside the surface and select for a chosen day. cancel() keeps the current state."
393
+ }
394
+ ],
395
+ "accessibility": [
396
+ "The trigger’s accessible name carries the chosen date in words, such as “Change date, Wednesday, September 30, 2026”. Focus returns to the trigger when the calendar closes from a chosen day or from Escape, so a screen reader announces the date there.",
397
+ "Opening the calendar from the trigger, from Alt+ArrowDown or from openSurface() moves focus to the chosen day, or to today when no date is set. While the calendar is open, Tab and Shift+Tab cycle through the shortcuts, the calendar and the footer.",
398
+ "Escape closes in steps: while the calendar shows the month or year grid, Escape returns to the day grid; on the day grid, it closes the calendar and returns focus to the trigger.",
399
+ "Alt+ArrowDown is a shortcut, never the only way in. ChromeOS turns it into PageDown before the browser receives it, so the trigger is always drawn.",
400
+ "The surface has role=\"dialog\" and the same accessible name as the trigger. The trigger sets aria-expanded, and sets aria-controls only while the surface exists.",
401
+ "The field and the calendar refuse the same dates, from the same min, max and isDateUnavailable, so a date the calendar disables marks the field invalid when it is typed."
402
+ ]
403
+ }
404
+ },
405
+ "tokens": [
406
+ "--slotted-border-subtle",
407
+ "--slotted-border-width-thin",
408
+ "--slotted-control-border-width",
409
+ "--slotted-control-height-lg",
410
+ "--slotted-control-height-md",
411
+ "--slotted-control-height-sm",
412
+ "--slotted-control-icon-size-lg",
413
+ "--slotted-control-icon-size-md",
414
+ "--slotted-control-icon-size-sm",
415
+ "--slotted-control-radius",
416
+ "--slotted-control-transition-duration",
417
+ "--slotted-control-transition-easing",
418
+ "--slotted-date-picker-content-border-color",
419
+ "--slotted-date-picker-content-color",
420
+ "--slotted-date-picker-content-padding",
421
+ "--slotted-date-picker-content-radius",
422
+ "--slotted-date-picker-content-shadow",
423
+ "--slotted-date-picker-invalid-focus-ring-color",
424
+ "--slotted-date-picker-radius",
425
+ "--slotted-date-picker-surface",
426
+ "--slotted-date-picker-trigger-active-background",
427
+ "--slotted-date-picker-trigger-color",
428
+ "--slotted-date-picker-trigger-hover-background",
429
+ "--slotted-date-picker-trigger-size",
430
+ "--slotted-disabled-foreground",
431
+ "--slotted-duration-medium",
432
+ "--slotted-duration-short",
433
+ "--slotted-easing-enter",
434
+ "--slotted-easing-exit",
435
+ "--slotted-focus-ring-color",
436
+ "--slotted-focus-ring-color-invalid",
437
+ "--slotted-focus-ring-offset",
438
+ "--slotted-focus-ring-width",
439
+ "--slotted-radius-lg",
440
+ "--slotted-shadow-md",
441
+ "--slotted-space-2",
442
+ "--slotted-space-4",
443
+ "--slotted-space-5",
444
+ "--slotted-space-9",
445
+ "--slotted-surface-raised",
446
+ "--slotted-target-comfortable",
447
+ "--slotted-target-min",
448
+ "--slotted-text",
449
+ "--slotted-text-muted",
450
+ "--slotted-tone-secondary-subtle-active",
451
+ "--slotted-tone-secondary-subtle-hover",
452
+ "--slotted-z-index-popover"
453
+ ],
454
+ "examples": [
455
+ {
456
+ "id": "playground",
457
+ "title": "Playground",
458
+ "note": "A field, a trigger and a calendar, driven by the controls below the canvas. Type into the field, or press the trigger and move through the calendar with the arrow keys: both write the same value.",
459
+ "language": "html",
460
+ "source": "<div slField>\n <label slFieldLabel>Due date</label>\n <div slDatePicker name=\"dueDate\" (valueChange)=\"onValue($event)\"></div>\n</div>\n",
461
+ "verdict": "excerpt"
462
+ },
463
+ {
464
+ "id": "sizes",
465
+ "title": "Size",
466
+ "note": "The three steps of the control scale. The trigger follows the field: its box is the icon plus one step of space, inside the frame, as in every other control with an inner button.",
467
+ "language": "ts",
468
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport { SlStack } from '@slotted/angular/stack';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-sizes',\n imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],\n template: `\n <div slStack [gap]=\"5\">\n <div slField>\n <label slFieldLabel>Shipped after</label>\n <div slDatePicker size=\"sm\" [defaultValue]=\"shippedAfter\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Ship date</label>\n <div slDatePicker size=\"md\" [defaultValue]=\"shipDate\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Move-in date</label>\n <div slDatePicker size=\"lg\" [defaultValue]=\"moveIn\"></div>\n </div>\n </div>\n `,\n})\nexport class DatePickerSizes {\n protected readonly shippedAfter = plainDate(2026, 9, 1);\n protected readonly shipDate = plainDate(2026, 9, 30);\n protected readonly moveIn = plainDate(2026, 11, 2);\n}\n",
469
+ "verdict": "example"
470
+ },
471
+ {
472
+ "id": "variants",
473
+ "title": "Variant",
474
+ "note": "How much frame the field draws at rest. The trigger keeps its calendar icon in all three.",
475
+ "language": "ts",
476
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport { SlStack } from '@slotted/angular/stack';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-variants',\n imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],\n template: `\n <div slStack [gap]=\"5\">\n <div slField>\n <label slFieldLabel>Invoice date</label>\n <div slDatePicker variant=\"outline\" [defaultValue]=\"invoiced\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Posting date</label>\n <div slDatePicker variant=\"subtle\" [defaultValue]=\"invoiced\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Value date</label>\n <div slDatePicker variant=\"plain\" [defaultValue]=\"valueDate\"></div>\n </div>\n </div>\n `,\n})\nexport class DatePickerVariants {\n protected readonly invoiced = plainDate(2026, 9, 30);\n protected readonly valueDate = plainDate(2026, 10, 1);\n}\n",
477
+ "verdict": "example"
478
+ },
479
+ {
480
+ "id": "placement",
481
+ "title": "Where the surface opens",
482
+ "note": "A preference: when the calendar does not fit on that side, it opens on the other, and data-placement on the positioner records the side it took.",
483
+ "language": "ts",
484
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport { SlStack } from '@slotted/angular/stack';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-placement',\n imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],\n template: `\n <div slStack [gap]=\"5\">\n <div slField>\n <label slFieldLabel>Opens above, from the start edge</label>\n <div slDatePicker placement=\"top-start\" [defaultValue]=\"today\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Opens below, from the end edge</label>\n <div slDatePicker placement=\"bottom-end\" [defaultValue]=\"today\"></div>\n </div>\n </div>\n `,\n})\nexport class DatePickerPlacement {\n protected readonly today = plainDate(2026, 9, 30);\n}\n",
485
+ "verdict": "example"
486
+ },
487
+ {
488
+ "id": "range-bounds",
489
+ "title": "Bounds",
490
+ "note": "min and max bound the field and the calendar together: the calendar disables the days outside them, and a typed date outside them marks the date picker invalid.",
491
+ "language": "html",
492
+ "source": "<div slDatePicker [min]=\"first\" [max]=\"last\"></div>\n",
493
+ "verdict": "excerpt"
494
+ },
495
+ {
496
+ "id": "unavailable",
497
+ "title": "Days that are refused",
498
+ "note": "One function reaches the field and the calendar. A refused date marks the date picker invalid when it is typed, and is disabled in the calendar.",
499
+ "language": "ts",
500
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { dayOfWeek, plainDate, toISODate, type PlainDate } from '@slotted/core/date';\n\n/** Columbus Day, Veterans Day, Thanksgiving and Christmas Day, 2026. */\nconst HOLIDAYS = new Set(['2026-10-12', '2026-11-11', '2026-11-26', '2026-12-25']);\n\nconst isClosed = (date: PlainDate) =>\n dayOfWeek(date) === 0 || dayOfWeek(date) === 6 || HOLIDAYS.has(toISODate(date));\n\n@Component({\n selector: 'app-date-picker-unavailable',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Pickup date</label>\n <div slDatePicker [defaultValue]=\"pickup\" [isDateUnavailable]=\"isClosed\"></div>\n <span slFieldDescription>The Reno dock is closed on weekends and federal holidays.</span>\n </div>\n `,\n})\nexport class DatePickerUnavailable {\n protected readonly pickup = plainDate(2026, 10, 13);\n protected readonly isClosed = isClosed;\n}\n",
501
+ "verdict": "example"
502
+ },
503
+ {
504
+ "id": "presets",
505
+ "title": "Shortcuts and actions",
506
+ "note": "The two slots you fill: shortcuts beside the calendar and actions under it. The Date Picker ships no list of shortcuts, because the labels and dates belong to your product.",
507
+ "language": "ts",
508
+ "source": "import { Component, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport type { CalendarValue } from '@slotted/angular/calendar';\nimport { SlDatePicker, SlDatePickerPresets } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport { addDays, isPlainDate, plainDate, type PlainDate } from '@slotted/core/date';\n\nconst TODAY = plainDate(2026, 9, 30);\n\nconst PRESETS = [\n { label: 'Today', date: TODAY },\n { label: 'Tomorrow', date: addDays(TODAY, 1) },\n { label: 'Next Monday', date: plainDate(2026, 10, 5) },\n { label: 'In 2 weeks', date: addDays(TODAY, 14) },\n];\n\n@Component({\n selector: 'app-date-picker-presets',\n imports: [SlButton, SlDatePicker, SlDatePickerPresets, SlField, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Dispatch date</label>\n <div slDatePicker #picker=\"slDatePicker\" [value]=\"date()\" (valueChange)=\"set($event.value)\">\n <div slDatePickerPresets>\n @for (preset of presets; track preset.label) {\n <button\n slButton\n size=\"sm\"\n variant=\"ghost\"\n type=\"button\"\n (click)=\"date.set(preset.date); picker.closeSurface()\"\n >\n {{ preset.label }}\n </button>\n }\n </div>\n </div>\n </div>\n `,\n})\nexport class DatePickerPresets {\n protected readonly presets = PRESETS;\n protected readonly date = signal<PlainDate | null>(TODAY);\n\n protected set(value: CalendarValue): void {\n this.date.set(isPlainDate(value) ? value : null);\n }\n}\n",
509
+ "verdict": "example"
510
+ },
511
+ {
512
+ "id": "states",
513
+ "title": "States",
514
+ "note": "Disabled and read-only both disable the trigger, so the calendar cannot open. Invalid draws the frame and the focus ring in the danger tone.",
515
+ "language": "ts",
516
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldError, SlFieldLabel } from '@slotted/angular/field';\nimport { SlStack } from '@slotted/angular/stack';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-states',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldError, SlFieldLabel, SlStack],\n template: `\n <div slStack [gap]=\"5\">\n <div slField invalid required>\n <label slFieldLabel>Delivery date</label>\n <div slDatePicker [defaultValue]=\"delivery\"></div>\n <span slFieldError>The delivery date is before the order date, September 30, 2026.</span>\n </div>\n <div slField readOnly>\n <label slFieldLabel>Order date</label>\n <div slDatePicker [defaultValue]=\"ordered\"></div>\n <span slFieldDescription>Set when the order was placed.</span>\n </div>\n <div slField disabled>\n <label slFieldLabel>Return by</label>\n <div slDatePicker [defaultValue]=\"returnBy\"></div>\n <span slFieldDescription>Returns open once the order is delivered.</span>\n </div>\n </div>\n `,\n})\nexport class DatePickerStates {\n protected readonly delivery = plainDate(2026, 9, 28);\n protected readonly ordered = plainDate(2026, 9, 30);\n protected readonly returnBy = plainDate(2026, 10, 30);\n}\n",
517
+ "verdict": "example"
518
+ },
519
+ {
520
+ "id": "forms",
521
+ "title": "In a form",
522
+ "note": "name adds a hidden input that submits the date as an ISO 8601 string, so a plain form post sends 2026-09-09 whether the reader typed the date or chose it. formControlName binds it to a reactive form.",
523
+ "language": "html",
524
+ "source": "<form action=\"/bookings\" method=\"post\">\n <div slDatePicker name=\"checkIn\" required></div>\n <button type=\"submit\">Book</button>\n</form>\n",
525
+ "verdict": "excerpt"
526
+ },
527
+ {
528
+ "id": "narrow",
529
+ "title": "On a narrow touch screen",
530
+ "note": "Under 480 pixels on a coarse pointer, the calendar opens as a sheet attached to the bottom of the viewport. The markup stays the same, and data-presentation on the positioner records which presentation is showing.",
531
+ "language": "ts",
532
+ "source": "import { Component, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport type { CalendarValue } from '@slotted/angular/calendar';\nimport { SlDatePicker, SlDatePickerPresets } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport { addDays, isPlainDate, plainDate, type PlainDate } from '@slotted/core/date';\n\nconst TODAY = plainDate(2026, 9, 30);\n\n@Component({\n selector: 'app-date-picker-narrow',\n imports: [SlButton, SlDatePicker, SlDatePickerPresets, SlField, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Proof of delivery date</label>\n <div slDatePicker #picker=\"slDatePicker\" [value]=\"date()\" (valueChange)=\"set($event.value)\">\n <div slDatePickerPresets>\n <button\n slButton\n size=\"sm\"\n variant=\"ghost\"\n type=\"button\"\n (click)=\"date.set(today); picker.closeSurface()\"\n >\n Today\n </button>\n <button\n slButton\n size=\"sm\"\n variant=\"ghost\"\n type=\"button\"\n (click)=\"date.set(yesterday); picker.closeSurface()\"\n >\n Yesterday\n </button>\n </div>\n </div>\n </div>\n `,\n})\nexport class DatePickerNarrow {\n protected readonly today = TODAY;\n protected readonly yesterday = addDays(TODAY, -1);\n protected readonly date = signal<PlainDate | null>(null);\n\n protected set(value: CalendarValue): void {\n this.date.set(isPlainDate(value) ? value : null);\n }\n}\n",
533
+ "verdict": "example"
534
+ },
535
+ {
536
+ "id": "composition",
537
+ "title": "Composition and escape hatches",
538
+ "note": "provideDatePickerDefaults sets the time zone and the placement once, provideSlotted sets the language and the trigger’s names, exportAs returns focus(), openSurface() and closeSurface(), and cancel() refuses a value before it is applied.",
539
+ "language": "html",
540
+ "source": "<div slDatePicker #picker=\"slDatePicker\" (valueChange)=\"$event.cancel()\"></div>\n<button type=\"button\" (click)=\"picker.openSurface()\">Open calendar</button>\n",
541
+ "verdict": "excerpt"
542
+ },
543
+ {
544
+ "id": "keyboard",
545
+ "title": "The keyboard",
546
+ "note": "Alt+ArrowDown opens the calendar from the field and moves focus to the chosen day. Escape closes it and returns focus to the trigger; while the calendar shows months or years, Escape first returns to the day grid.",
547
+ "language": "ts",
548
+ "source": "import { Component, signal } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { plainDate } from '@slotted/core/date';\nimport type { ChangeRequest } from '@slotted/core/state';\n\n@Component({\n selector: 'app-date-picker-keyboard',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Dispatch date</label>\n <div\n slDatePicker\n [defaultValue]=\"dispatch\"\n [messages]=\"messages\"\n (openChange)=\"record($event)\"\n ></div>\n <span slFieldDescription>{{ last() }}</span>\n </div>\n `,\n})\nexport class DatePickerKeyboard {\n protected readonly dispatch = plainDate(2026, 9, 30);\n protected readonly messages = {\n choose: 'Choose dispatch date',\n change: 'Change dispatch date, {date}',\n };\n protected readonly last = signal('Focus the field and press Alt+ArrowDown.');\n\n protected record(request: ChangeRequest<boolean>): void {\n this.last.set(`${request.value ? 'Opened' : 'Closed'} by ${request.reason}.`);\n }\n}\n",
549
+ "verdict": "example"
550
+ },
551
+ {
552
+ "id": "basic",
553
+ "title": "basic.ts",
554
+ "note": null,
555
+ "language": "ts",
556
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\n\n@Component({\n selector: 'app-date-picker-basic',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Requested delivery date</label>\n <div slDatePicker name=\"deliveryDate\"></div>\n <span slFieldDescription>Type the date or choose it from the calendar.</span>\n </div>\n `,\n})\nexport class DatePickerBasic {}\n",
557
+ "verdict": "example"
558
+ },
559
+ {
560
+ "id": "bounds",
561
+ "title": "bounds.ts",
562
+ "note": null,
563
+ "language": "ts",
564
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-bounds',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Delivery window</label>\n <div slDatePicker [defaultValue]=\"delivery\" [max]=\"last\" [min]=\"first\"></div>\n <span slFieldDescription>Carriers book October 2026 only.</span>\n </div>\n `,\n})\nexport class DatePickerBounds {\n protected readonly delivery = plainDate(2026, 10, 15);\n protected readonly first = plainDate(2026, 10, 1);\n protected readonly last = plainDate(2026, 10, 31);\n}\n",
565
+ "verdict": "example"
566
+ },
567
+ {
568
+ "id": "clearable",
569
+ "title": "clearable.ts",
570
+ "note": null,
571
+ "language": "ts",
572
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-clearable',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Hold shipment until</label>\n <div slDatePicker clearable [defaultValue]=\"holdUntil\"></div>\n <span slFieldDescription>Clear the date to release the shipment.</span>\n </div>\n `,\n})\nexport class DatePickerClearable {\n protected readonly holdUntil = plainDate(2026, 10, 9);\n}\n",
573
+ "verdict": "example"
574
+ },
575
+ {
576
+ "id": "controlled",
577
+ "title": "controlled.ts",
578
+ "note": null,
579
+ "language": "ts",
580
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport type { CalendarValue } from '@slotted/angular/calendar';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { SlInline } from '@slotted/angular/inline';\nimport { SlStack } from '@slotted/angular/stack';\nimport {\n addDays,\n createDateFormat,\n isPlainDate,\n plainDate,\n type PlainDate,\n} from '@slotted/core/date';\n\nconst TODAY = plainDate(2026, 9, 30);\nconst words = createDateFormat({ locale: 'en-US' });\n\n@Component({\n selector: 'app-date-picker-controlled',\n imports: [SlButton, SlDatePicker, SlField, SlFieldDescription, SlFieldLabel, SlInline, SlStack],\n template: `\n <div slStack [gap]=\"4\">\n <div slField>\n <label slFieldLabel>Follow up with Harbor Freightways</label>\n <div slDatePicker [value]=\"followUp()\" (valueChange)=\"set($event.value)\"></div>\n <span slFieldDescription>{{ summary() }}</span>\n </div>\n <div slInline [gap]=\"2\">\n <button\n slButton\n size=\"sm\"\n tone=\"secondary\"\n variant=\"outline\"\n type=\"button\"\n (click)=\"inDays(7)\"\n >\n In 1 week\n </button>\n <button\n slButton\n size=\"sm\"\n tone=\"secondary\"\n variant=\"outline\"\n type=\"button\"\n (click)=\"inDays(14)\"\n >\n In 2 weeks\n </button>\n <button\n slButton\n size=\"sm\"\n tone=\"secondary\"\n variant=\"ghost\"\n type=\"button\"\n (click)=\"followUp.set(null)\"\n >\n No follow-up\n </button>\n </div>\n </div>\n `,\n})\nexport class DatePickerControlled {\n protected readonly followUp = signal<PlainDate | null>(addDays(TODAY, 7));\n protected readonly summary = computed(() => {\n const date = this.followUp();\n return date === null ? 'No follow-up scheduled.' : `Reminder on ${words.describe(date)}.`;\n });\n\n protected set(value: CalendarValue): void {\n this.followUp.set(isPlainDate(value) ? value : null);\n }\n\n protected inDays(days: number): void {\n this.followUp.set(addDays(TODAY, days));\n }\n}\n",
581
+ "verdict": "example"
582
+ },
583
+ {
584
+ "id": "default-view",
585
+ "title": "default-view.ts",
586
+ "note": null,
587
+ "language": "ts",
588
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-default-view',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Date of incorporation</label>\n <div slDatePicker defaultView=\"year\" [max]=\"today\"></div>\n <span slFieldDescription>As printed on the certificate of incorporation.</span>\n </div>\n `,\n})\nexport class DatePickerDefaultView {\n protected readonly today = plainDate(2026, 9, 30);\n}\n",
589
+ "verdict": "example"
590
+ },
591
+ {
592
+ "id": "defaults",
593
+ "title": "defaults.ts",
594
+ "note": null,
595
+ "language": "ts",
596
+ "source": "import { Component } from '@angular/core';\nimport { provideDatePickerDefaults, SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport { SlStack } from '@slotted/angular/stack';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-defaults',\n imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],\n providers: [\n provideDatePickerDefaults({ size: 'sm', variant: 'subtle', placement: 'bottom-end' }),\n ],\n template: `\n <div slStack [gap]=\"4\">\n <div slField>\n <label slFieldLabel>Posted after</label>\n <div slDatePicker [defaultValue]=\"postedAfter\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Due before</label>\n <div slDatePicker [defaultValue]=\"dueBefore\"></div>\n </div>\n </div>\n `,\n})\nexport class DatePickerDefaults {\n protected readonly postedAfter = plainDate(2026, 9, 1);\n protected readonly dueBefore = plainDate(2026, 10, 31);\n}\n",
597
+ "verdict": "example"
598
+ },
599
+ {
600
+ "id": "first-day",
601
+ "title": "first-day.ts",
602
+ "note": null,
603
+ "language": "ts",
604
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-first-day',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Shift starts</label>\n <div slDatePicker locale=\"en-US\" [defaultValue]=\"shift\" [firstDayOfWeek]=\"1\"></div>\n <span slFieldDescription>Rosters run Monday to Sunday.</span>\n </div>\n `,\n})\nexport class DatePickerFirstDay {\n protected readonly shift = plainDate(2026, 9, 30);\n}\n",
605
+ "verdict": "example"
606
+ },
607
+ {
608
+ "id": "focus-and-open",
609
+ "title": "focus-and-open.ts",
610
+ "note": null,
611
+ "language": "ts",
612
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport { SlInline } from '@slotted/angular/inline';\nimport { SlStack } from '@slotted/angular/stack';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-focus-and-open',\n imports: [SlButton, SlDatePicker, SlField, SlFieldLabel, SlInline, SlStack],\n template: `\n <div slStack [gap]=\"4\">\n <div slField>\n <label slFieldLabel>Contract renewal date</label>\n <div slDatePicker #picker=\"slDatePicker\" [defaultValue]=\"renewal\"></div>\n </div>\n <div slInline [gap]=\"2\">\n <button\n slButton\n size=\"sm\"\n tone=\"secondary\"\n variant=\"outline\"\n type=\"button\"\n (click)=\"picker.focus()\"\n >\n Edit date\n </button>\n <button\n slButton\n size=\"sm\"\n tone=\"secondary\"\n variant=\"outline\"\n type=\"button\"\n (click)=\"picker.openSurface()\"\n >\n Open calendar\n </button>\n </div>\n </div>\n `,\n})\nexport class DatePickerFocusAndOpen {\n protected readonly renewal = plainDate(2027, 3, 31);\n}\n",
613
+ "verdict": "example"
614
+ },
615
+ {
616
+ "id": "footer",
617
+ "title": "footer.ts",
618
+ "note": null,
619
+ "language": "ts",
620
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlDatePicker, SlDatePickerFooter } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-footer',\n imports: [SlButton, SlDatePicker, SlDatePickerFooter, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Stock count date</label>\n <div slDatePicker #picker=\"slDatePicker\" closeOnSelect=\"never\" [defaultValue]=\"count\">\n <div slDatePickerFooter>\n <button slButton size=\"sm\" type=\"button\" (click)=\"picker.closeSurface()\">Done</button>\n </div>\n </div>\n <span slFieldDescription>The calendar stays open until you press Done.</span>\n </div>\n `,\n})\nexport class DatePickerFooter {\n protected readonly count = plainDate(2026, 10, 3);\n}\n",
621
+ "verdict": "example"
622
+ },
623
+ {
624
+ "id": "form",
625
+ "title": "form.ts",
626
+ "note": null,
627
+ "language": "ts",
628
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldError, SlFieldLabel } from '@slotted/angular/field';\nimport { SlInline } from '@slotted/angular/inline';\nimport { SlStack } from '@slotted/angular/stack';\nimport { SlText } from '@slotted/angular/typography';\nimport { plainDate, toISODate, type PlainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-form',\n imports: [\n ReactiveFormsModule,\n SlButton,\n SlDatePicker,\n SlField,\n SlFieldError,\n SlFieldLabel,\n SlInline,\n SlStack,\n SlText,\n ],\n template: `\n <form novalidate [formGroup]=\"form\" (ngSubmit)=\"submit()\" (reset)=\"clear()\">\n <div slStack [gap]=\"5\">\n <div slField required [invalid]=\"error() === '' ? undefined : true\">\n <label slFieldLabel>Delivery date</label>\n <div\n slDatePicker\n name=\"deliveryDate\"\n formControlName=\"deliveryDate\"\n [min]=\"earliest\"\n ></div>\n <span slFieldError live=\"polite\" reserve>{{ error() }}</span>\n </div>\n <div slInline [gap]=\"3\" align=\"center\">\n <button slButton type=\"submit\">Book delivery</button>\n <button slButton type=\"reset\" tone=\"secondary\" variant=\"outline\">Reset</button>\n @if (saved(); as message) {\n <span slText size=\"sm\" tone=\"muted\">{{ message }}</span>\n }\n </div>\n </div>\n </form>\n `,\n})\nexport class DatePickerForm {\n protected readonly earliest = plainDate(2026, 10, 1);\n protected readonly form = new FormGroup({\n deliveryDate: new FormControl<PlainDate | null>(null, Validators.required),\n });\n private readonly value = toSignal(this.form.controls.deliveryDate.valueChanges, {\n initialValue: this.form.controls.deliveryDate.value,\n });\n private readonly submitted = signal(false);\n protected readonly saved = signal<string | null>(null);\n protected readonly error = computed(() => {\n this.value();\n const control = this.form.controls.deliveryDate;\n if (control.hasError('slottedDateRange')) return 'Choose October 1, 2026 or later.';\n if (this.submitted() && control.hasError('required')) return 'Choose a delivery date.';\n return '';\n });\n\n protected submit(): void {\n this.submitted.set(true);\n const date = this.form.controls.deliveryDate.value;\n this.saved.set(\n this.form.valid && date !== null ? `Delivery booked for ${toISODate(date)}.` : null,\n );\n }\n\n protected clear(): void {\n this.submitted.set(false);\n this.saved.set(null);\n }\n}\n",
629
+ "verdict": "example"
630
+ },
631
+ {
632
+ "id": "invoice-due",
633
+ "title": "invoice-due.ts",
634
+ "note": null,
635
+ "language": "ts",
636
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport type { CalendarValue } from '@slotted/angular/calendar';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { SlSelect, SlSelectItem, type SelectSelection } from '@slotted/angular/select';\nimport { SlStack } from '@slotted/angular/stack';\nimport {\n addDays,\n createDateFormat,\n isPlainDate,\n plainDate,\n type PlainDate,\n} from '@slotted/core/date';\n\nconst TERMS = [\n { value: 'receipt', label: 'Due on receipt', days: 0 },\n { value: 'net-15', label: 'Net 15', days: 15 },\n { value: 'net-30', label: 'Net 30', days: 30 },\n { value: 'net-60', label: 'Net 60', days: 60 },\n];\nconst words = createDateFormat({ locale: 'en-US' });\n\n@Component({\n selector: 'app-date-picker-invoice-due',\n imports: [\n SlDatePicker,\n SlField,\n SlFieldDescription,\n SlFieldLabel,\n SlSelect,\n SlSelectItem,\n SlStack,\n ],\n template: `\n <div slStack [gap]=\"5\">\n <div slField required>\n <label slFieldLabel>Invoice date</label>\n <div slDatePicker [value]=\"issued()\" (valueChange)=\"setIssued($event.value)\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Payment terms</label>\n <sl-select [items]=\"terms\" [(value)]=\"term\">\n @for (option of terms; track option.value) {\n <sl-select-item [value]=\"option.value\">{{ option.label }}</sl-select-item>\n }\n </sl-select>\n </div>\n <div slField readOnly>\n <label slFieldLabel>Due date</label>\n <div slDatePicker [value]=\"due()\"></div>\n <span slFieldDescription>{{ summary() }}</span>\n </div>\n </div>\n `,\n})\nexport class DatePickerInvoiceDue {\n protected readonly terms = TERMS;\n protected readonly issued = signal<PlainDate | null>(plainDate(2026, 9, 30));\n protected readonly term = signal<SelectSelection>('net-30');\n protected readonly due = computed(() => {\n const issued = this.issued();\n const days = TERMS.find((option) => option.value === this.term())?.days ?? 0;\n return issued === null ? null : addDays(issued, days);\n });\n protected readonly summary = computed(() => {\n const due = this.due();\n return due === null ? 'Set the invoice date first.' : `Payment is due ${words.describe(due)}.`;\n });\n\n protected setIssued(value: CalendarValue): void {\n this.issued.set(isPlainDate(value) ? value : null);\n }\n}\n",
637
+ "verdict": "example"
638
+ },
639
+ {
640
+ "id": "locale",
641
+ "title": "locale.ts",
642
+ "note": null,
643
+ "language": "ts",
644
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport { SlStack } from '@slotted/angular/stack';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-locale',\n imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],\n template: `\n <div slStack [gap]=\"5\">\n <div slField>\n <label slFieldLabel>Ship date, United States (en-US)</label>\n <div slDatePicker locale=\"en-US\" [defaultValue]=\"shipDate\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Ship date, United Kingdom (en-GB)</label>\n <div slDatePicker locale=\"en-GB\" [defaultValue]=\"shipDate\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Ship date, Germany (de-DE)</label>\n <div slDatePicker locale=\"de-DE\" [defaultValue]=\"shipDate\"></div>\n </div>\n <div slField>\n <label slFieldLabel>Ship date, Japan (ja-JP)</label>\n <div slDatePicker locale=\"ja-JP\" [defaultValue]=\"shipDate\"></div>\n </div>\n </div>\n `,\n})\nexport class DatePickerLocale {\n protected readonly shipDate = plainDate(2026, 9, 30);\n}\n",
645
+ "verdict": "example"
646
+ },
647
+ {
648
+ "id": "months",
649
+ "title": "months.ts",
650
+ "note": null,
651
+ "language": "ts",
652
+ "source": "import { Component } from '@angular/core';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { plainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-months',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Installation appointment</label>\n <div slDatePicker [defaultValue]=\"appointment\" [months]=\"2\"></div>\n <span slFieldDescription>Technicians book up to eight weeks ahead.</span>\n </div>\n `,\n})\nexport class DatePickerMonths {\n protected readonly appointment = plainDate(2026, 10, 20);\n}\n",
653
+ "verdict": "example"
654
+ },
655
+ {
656
+ "id": "report-date",
657
+ "title": "report-date.ts",
658
+ "note": null,
659
+ "language": "ts",
660
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport type { CalendarValue } from '@slotted/angular/calendar';\nimport { SlDatePicker, SlDatePickerPresets } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { createDateFormat, isPlainDate, plainDate, type PlainDate } from '@slotted/core/date';\n\nconst TODAY = plainDate(2026, 9, 30);\nconst PRESETS = [\n { label: 'Today', date: TODAY },\n { label: 'End of last month', date: plainDate(2026, 8, 31) },\n { label: 'End of last quarter', date: plainDate(2026, 6, 30) },\n { label: 'End of fiscal 2025', date: plainDate(2025, 12, 31) },\n];\nconst words = createDateFormat({ locale: 'en-US' });\n\n@Component({\n selector: 'app-date-picker-report-date',\n imports: [SlButton, SlDatePicker, SlDatePickerPresets, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Balance sheet as of</label>\n <div\n slDatePicker\n #picker=\"slDatePicker\"\n [max]=\"today\"\n [value]=\"asOf()\"\n (valueChange)=\"set($event.value)\"\n >\n <div slDatePickerPresets>\n @for (preset of presets; track preset.label) {\n <button\n slButton\n size=\"sm\"\n variant=\"ghost\"\n type=\"button\"\n (click)=\"asOf.set(preset.date); picker.closeSurface()\"\n >\n {{ preset.label }}\n </button>\n }\n </div>\n </div>\n <span slFieldDescription>{{ summary() }}</span>\n </div>\n `,\n})\nexport class DatePickerReportDate {\n protected readonly today = TODAY;\n protected readonly presets = PRESETS;\n protected readonly asOf = signal<PlainDate | null>(plainDate(2026, 8, 31));\n protected readonly summary = computed(() => {\n const asOf = this.asOf();\n return asOf === null\n ? 'Choose the closing date of the report.'\n : `Balances close at the end of ${words.describe(asOf)}.`;\n });\n\n protected set(value: CalendarValue): void {\n this.asOf.set(isPlainDate(value) ? value : null);\n }\n}\n",
661
+ "verdict": "example"
662
+ },
663
+ {
664
+ "id": "shipping-date",
665
+ "title": "shipping-date.ts",
666
+ "note": null,
667
+ "language": "ts",
668
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport type { CalendarValue } from '@slotted/angular/calendar';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport {\n addDays,\n compareDate,\n createDateFormat,\n dayOfWeek,\n isPlainDate,\n plainDate,\n toISODate,\n type PlainDate,\n} from '@slotted/core/date';\n\nconst ORDERED = plainDate(2026, 9, 30);\nconst HOLIDAYS = new Set(['2026-10-12', '2026-11-11', '2026-11-26', '2026-12-25']);\nconst words = createDateFormat({ locale: 'en-US' });\n\nconst isBusinessDay = (date: PlainDate) =>\n dayOfWeek(date) !== 0 && dayOfWeek(date) !== 6 && !HOLIDAYS.has(toISODate(date));\n\nconst addBusinessDays = (from: PlainDate, count: number) => {\n let date = from;\n for (let added = 0; added < count;) {\n date = addDays(date, 1);\n if (isBusinessDay(date)) added += 1;\n }\n return date;\n};\n\nconst businessDaysBetween = (from: PlainDate, to: PlainDate) => {\n let count = 0;\n for (let date = addDays(from, 1); compareDate(date, to) <= 0; date = addDays(date, 1)) {\n if (isBusinessDay(date)) count += 1;\n }\n return count;\n};\n\nconst EARLIEST = addBusinessDays(ORDERED, 2);\nconst LATEST = addBusinessDays(ORDERED, 40);\n\n@Component({\n selector: 'app-date-picker-shipping-date',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField required>\n <label slFieldLabel>Ship date</label>\n <div\n slDatePicker\n [isDateUnavailable]=\"isClosed\"\n [max]=\"latest\"\n [min]=\"earliest\"\n [value]=\"date()\"\n (valueChange)=\"set($event.value)\"\n ></div>\n <span slFieldDescription>{{ summary() }}</span>\n </div>\n `,\n})\nexport class DatePickerShippingDate {\n protected readonly earliest = EARLIEST;\n protected readonly latest = LATEST;\n protected readonly isClosed = (day: PlainDate) => !isBusinessDay(day);\n protected readonly date = signal<PlainDate | null>(EARLIEST);\n protected readonly summary = computed(() => {\n const date = this.date();\n return date === null\n ? 'Orders ship 2 to 40 business days after they are placed.'\n : `Ships ${words.describe(date)}, ${businessDaysBetween(ORDERED, date)} business days after the order.`;\n });\n\n protected set(value: CalendarValue): void {\n this.date.set(isPlainDate(value) ? value : null);\n }\n}\n",
669
+ "verdict": "example"
670
+ },
671
+ {
672
+ "id": "time-zones",
673
+ "title": "time-zones.ts",
674
+ "note": null,
675
+ "language": "ts",
676
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport type { CalendarValue } from '@slotted/angular/calendar';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { SlStack } from '@slotted/angular/stack';\nimport { SlText } from '@slotted/angular/typography';\nimport { isPlainDate, plainDate, toISODate, type PlainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-time-zones',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel, SlStack, SlText],\n template: `\n <div slStack [gap]=\"4\">\n <div slField>\n <label slFieldLabel>Settlement date, Auckland desk</label>\n <div\n slDatePicker\n timeZone=\"Pacific/Auckland\"\n [value]=\"date()\"\n (valueChange)=\"set($event.value)\"\n ></div>\n <span slFieldDescription>Today is marked by the date in Auckland.</span>\n </div>\n <span slText size=\"sm\" tone=\"muted\">{{ readout() }}</span>\n </div>\n `,\n})\nexport class DatePickerTimeZones {\n protected readonly date = signal<PlainDate | null>(plainDate(2026, 9, 30));\n protected readonly readout = computed(() => {\n const date = this.date();\n return date === null\n ? 'Value: null'\n : `Value: ${JSON.stringify(date)}, sent as ${toISODate(date)}`;\n });\n\n protected set(value: CalendarValue): void {\n this.date.set(isPlainDate(value) ? value : null);\n }\n}\n",
677
+ "verdict": "example"
678
+ },
679
+ {
680
+ "id": "typing",
681
+ "title": "typing.ts",
682
+ "note": null,
683
+ "language": "ts",
684
+ "source": "import { Component, signal } from '@angular/core';\nimport type { CalendarValue } from '@slotted/angular/calendar';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { isPlainDate, plainDate, toISODate } from '@slotted/core/date';\nimport type { ChangeRequest } from '@slotted/core/state';\n\nconst REASONS: Record<string, string> = {\n keyboard: 'from the keyboard',\n pointer: 'pressed in the calendar',\n clear: 'cleared',\n blur: 'completed when the field lost focus',\n};\n\n@Component({\n selector: 'app-date-picker-typing',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Goods received on</label>\n <div slDatePicker [defaultValue]=\"received\" (valueChange)=\"record($event)\"></div>\n <span slFieldDescription>{{ change() }}</span>\n </div>\n `,\n})\nexport class DatePickerTyping {\n protected readonly received = plainDate(2026, 9, 30);\n protected readonly change = signal('No change yet.');\n\n protected record(request: ChangeRequest<CalendarValue>): void {\n const date = isPlainDate(request.value) ? toISODate(request.value) : 'empty';\n this.change.set(`${date}, ${REASONS[request.reason] ?? request.reason}.`);\n }\n}\n",
685
+ "verdict": "example"
686
+ },
687
+ {
688
+ "id": "week-numbers",
689
+ "title": "week-numbers.ts",
690
+ "note": null,
691
+ "language": "ts",
692
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport type { CalendarValue } from '@slotted/angular/calendar';\nimport { SlDatePicker } from '@slotted/angular/date-picker';\nimport { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';\nimport { isPlainDate, isoWeekNumber, plainDate, type PlainDate } from '@slotted/core/date';\n\n@Component({\n selector: 'app-date-picker-week-numbers',\n imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],\n template: `\n <div slField>\n <label slFieldLabel>Production run</label>\n <div\n slDatePicker\n weekNumbers\n [firstDayOfWeek]=\"1\"\n [value]=\"date()\"\n (valueChange)=\"set($event.value)\"\n ></div>\n <span slFieldDescription>{{ summary() }}</span>\n </div>\n `,\n})\nexport class DatePickerWeekNumbers {\n protected readonly date = signal<PlainDate | null>(plainDate(2026, 9, 30));\n\n protected set(value: CalendarValue): void {\n this.date.set(isPlainDate(value) ? value : null);\n }\n\n protected readonly summary = computed(() => {\n const date = this.date();\n return date === null ? 'No week planned.' : `Planned for week ${isoWeekNumber(date)}.`;\n });\n}\n",
693
+ "verdict": "example"
694
+ }
695
+ ]
696
+ }