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

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,1226 @@
1
+ <!-- index: ./index.md -->
2
+ # date-picker
3
+
4
+ `data-ui="date-picker"` · Date field with a calendar popover.
5
+
6
+ ## Examples
7
+
8
+ ### Playground
9
+
10
+ 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.
11
+
12
+ Excerpt — not a complete module
13
+
14
+ ```html
15
+ <div slField>
16
+ <label slFieldLabel>Due date</label>
17
+ <div slDatePicker name="dueDate" (valueChange)="onValue($event)"></div>
18
+ </div>
19
+ ```
20
+
21
+ ### Size
22
+
23
+ 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.
24
+
25
+ Example
26
+
27
+ ```ts
28
+ import { Component } from '@angular/core';
29
+ import { SlDatePicker } from '@slotted/angular/date-picker';
30
+ import { SlField, SlFieldLabel } from '@slotted/angular/field';
31
+ import { SlStack } from '@slotted/angular/stack';
32
+ import { plainDate } from '@slotted/core/date';
33
+
34
+ @Component({
35
+ selector: 'app-date-picker-sizes',
36
+ imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],
37
+ template: `
38
+ <div slStack [gap]="5">
39
+ <div slField>
40
+ <label slFieldLabel>Shipped after</label>
41
+ <div slDatePicker size="sm" [defaultValue]="shippedAfter"></div>
42
+ </div>
43
+ <div slField>
44
+ <label slFieldLabel>Ship date</label>
45
+ <div slDatePicker size="md" [defaultValue]="shipDate"></div>
46
+ </div>
47
+ <div slField>
48
+ <label slFieldLabel>Move-in date</label>
49
+ <div slDatePicker size="lg" [defaultValue]="moveIn"></div>
50
+ </div>
51
+ </div>
52
+ `,
53
+ })
54
+ export class DatePickerSizes {
55
+ protected readonly shippedAfter = plainDate(2026, 9, 1);
56
+ protected readonly shipDate = plainDate(2026, 9, 30);
57
+ protected readonly moveIn = plainDate(2026, 11, 2);
58
+ }
59
+ ```
60
+
61
+ ### Variant
62
+
63
+ How much frame the field draws at rest. The trigger keeps its calendar icon in all three.
64
+
65
+ Example
66
+
67
+ ```ts
68
+ import { Component } from '@angular/core';
69
+ import { SlDatePicker } from '@slotted/angular/date-picker';
70
+ import { SlField, SlFieldLabel } from '@slotted/angular/field';
71
+ import { SlStack } from '@slotted/angular/stack';
72
+ import { plainDate } from '@slotted/core/date';
73
+
74
+ @Component({
75
+ selector: 'app-date-picker-variants',
76
+ imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],
77
+ template: `
78
+ <div slStack [gap]="5">
79
+ <div slField>
80
+ <label slFieldLabel>Invoice date</label>
81
+ <div slDatePicker variant="outline" [defaultValue]="invoiced"></div>
82
+ </div>
83
+ <div slField>
84
+ <label slFieldLabel>Posting date</label>
85
+ <div slDatePicker variant="subtle" [defaultValue]="invoiced"></div>
86
+ </div>
87
+ <div slField>
88
+ <label slFieldLabel>Value date</label>
89
+ <div slDatePicker variant="plain" [defaultValue]="valueDate"></div>
90
+ </div>
91
+ </div>
92
+ `,
93
+ })
94
+ export class DatePickerVariants {
95
+ protected readonly invoiced = plainDate(2026, 9, 30);
96
+ protected readonly valueDate = plainDate(2026, 10, 1);
97
+ }
98
+ ```
99
+
100
+ ### Where the surface opens
101
+
102
+ 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.
103
+
104
+ Example
105
+
106
+ ```ts
107
+ import { Component } from '@angular/core';
108
+ import { SlDatePicker } from '@slotted/angular/date-picker';
109
+ import { SlField, SlFieldLabel } from '@slotted/angular/field';
110
+ import { SlStack } from '@slotted/angular/stack';
111
+ import { plainDate } from '@slotted/core/date';
112
+
113
+ @Component({
114
+ selector: 'app-date-picker-placement',
115
+ imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],
116
+ template: `
117
+ <div slStack [gap]="5">
118
+ <div slField>
119
+ <label slFieldLabel>Opens above, from the start edge</label>
120
+ <div slDatePicker placement="top-start" [defaultValue]="today"></div>
121
+ </div>
122
+ <div slField>
123
+ <label slFieldLabel>Opens below, from the end edge</label>
124
+ <div slDatePicker placement="bottom-end" [defaultValue]="today"></div>
125
+ </div>
126
+ </div>
127
+ `,
128
+ })
129
+ export class DatePickerPlacement {
130
+ protected readonly today = plainDate(2026, 9, 30);
131
+ }
132
+ ```
133
+
134
+ ### Bounds
135
+
136
+ 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.
137
+
138
+ Excerpt — not a complete module
139
+
140
+ ```html
141
+ <div slDatePicker [min]="first" [max]="last"></div>
142
+ ```
143
+
144
+ ### Days that are refused
145
+
146
+ 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.
147
+
148
+ Example
149
+
150
+ ```ts
151
+ import { Component } from '@angular/core';
152
+ import { SlDatePicker } from '@slotted/angular/date-picker';
153
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
154
+ import { dayOfWeek, plainDate, toISODate, type PlainDate } from '@slotted/core/date';
155
+
156
+ /** Columbus Day, Veterans Day, Thanksgiving and Christmas Day, 2026. */
157
+ const HOLIDAYS = new Set(['2026-10-12', '2026-11-11', '2026-11-26', '2026-12-25']);
158
+
159
+ const isClosed = (date: PlainDate) =>
160
+ dayOfWeek(date) === 0 || dayOfWeek(date) === 6 || HOLIDAYS.has(toISODate(date));
161
+
162
+ @Component({
163
+ selector: 'app-date-picker-unavailable',
164
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
165
+ template: `
166
+ <div slField>
167
+ <label slFieldLabel>Pickup date</label>
168
+ <div slDatePicker [defaultValue]="pickup" [isDateUnavailable]="isClosed"></div>
169
+ <span slFieldDescription>The Reno dock is closed on weekends and federal holidays.</span>
170
+ </div>
171
+ `,
172
+ })
173
+ export class DatePickerUnavailable {
174
+ protected readonly pickup = plainDate(2026, 10, 13);
175
+ protected readonly isClosed = isClosed;
176
+ }
177
+ ```
178
+
179
+ ### Shortcuts and actions
180
+
181
+ 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.
182
+
183
+ Example
184
+
185
+ ```ts
186
+ import { Component, signal } from '@angular/core';
187
+ import { SlButton } from '@slotted/angular/button';
188
+ import type { CalendarValue } from '@slotted/angular/calendar';
189
+ import { SlDatePicker, SlDatePickerPresets } from '@slotted/angular/date-picker';
190
+ import { SlField, SlFieldLabel } from '@slotted/angular/field';
191
+ import { addDays, isPlainDate, plainDate, type PlainDate } from '@slotted/core/date';
192
+
193
+ const TODAY = plainDate(2026, 9, 30);
194
+
195
+ const PRESETS = [
196
+ { label: 'Today', date: TODAY },
197
+ { label: 'Tomorrow', date: addDays(TODAY, 1) },
198
+ { label: 'Next Monday', date: plainDate(2026, 10, 5) },
199
+ { label: 'In 2 weeks', date: addDays(TODAY, 14) },
200
+ ];
201
+
202
+ @Component({
203
+ selector: 'app-date-picker-presets',
204
+ imports: [SlButton, SlDatePicker, SlDatePickerPresets, SlField, SlFieldLabel],
205
+ template: `
206
+ <div slField>
207
+ <label slFieldLabel>Dispatch date</label>
208
+ <div slDatePicker #picker="slDatePicker" [value]="date()" (valueChange)="set($event.value)">
209
+ <div slDatePickerPresets>
210
+ @for (preset of presets; track preset.label) {
211
+ <button
212
+ slButton
213
+ size="sm"
214
+ variant="ghost"
215
+ type="button"
216
+ (click)="date.set(preset.date); picker.closeSurface()"
217
+ >
218
+ {{ preset.label }}
219
+ </button>
220
+ }
221
+ </div>
222
+ </div>
223
+ </div>
224
+ `,
225
+ })
226
+ export class DatePickerPresets {
227
+ protected readonly presets = PRESETS;
228
+ protected readonly date = signal<PlainDate | null>(TODAY);
229
+
230
+ protected set(value: CalendarValue): void {
231
+ this.date.set(isPlainDate(value) ? value : null);
232
+ }
233
+ }
234
+ ```
235
+
236
+ ### States
237
+
238
+ 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.
239
+
240
+ Example
241
+
242
+ ```ts
243
+ import { Component } from '@angular/core';
244
+ import { SlDatePicker } from '@slotted/angular/date-picker';
245
+ import { SlField, SlFieldDescription, SlFieldError, SlFieldLabel } from '@slotted/angular/field';
246
+ import { SlStack } from '@slotted/angular/stack';
247
+ import { plainDate } from '@slotted/core/date';
248
+
249
+ @Component({
250
+ selector: 'app-date-picker-states',
251
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldError, SlFieldLabel, SlStack],
252
+ template: `
253
+ <div slStack [gap]="5">
254
+ <div slField invalid required>
255
+ <label slFieldLabel>Delivery date</label>
256
+ <div slDatePicker [defaultValue]="delivery"></div>
257
+ <span slFieldError>The delivery date is before the order date, September 30, 2026.</span>
258
+ </div>
259
+ <div slField readOnly>
260
+ <label slFieldLabel>Order date</label>
261
+ <div slDatePicker [defaultValue]="ordered"></div>
262
+ <span slFieldDescription>Set when the order was placed.</span>
263
+ </div>
264
+ <div slField disabled>
265
+ <label slFieldLabel>Return by</label>
266
+ <div slDatePicker [defaultValue]="returnBy"></div>
267
+ <span slFieldDescription>Returns open once the order is delivered.</span>
268
+ </div>
269
+ </div>
270
+ `,
271
+ })
272
+ export class DatePickerStates {
273
+ protected readonly delivery = plainDate(2026, 9, 28);
274
+ protected readonly ordered = plainDate(2026, 9, 30);
275
+ protected readonly returnBy = plainDate(2026, 10, 30);
276
+ }
277
+ ```
278
+
279
+ ### In a form
280
+
281
+ 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.
282
+
283
+ Excerpt — not a complete module
284
+
285
+ ```html
286
+ <form action="/bookings" method="post">
287
+ <div slDatePicker name="checkIn" required></div>
288
+ <button type="submit">Book</button>
289
+ </form>
290
+ ```
291
+
292
+ ### On a narrow touch screen
293
+
294
+ 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.
295
+
296
+ Example
297
+
298
+ ```ts
299
+ import { Component, signal } from '@angular/core';
300
+ import { SlButton } from '@slotted/angular/button';
301
+ import type { CalendarValue } from '@slotted/angular/calendar';
302
+ import { SlDatePicker, SlDatePickerPresets } from '@slotted/angular/date-picker';
303
+ import { SlField, SlFieldLabel } from '@slotted/angular/field';
304
+ import { addDays, isPlainDate, plainDate, type PlainDate } from '@slotted/core/date';
305
+
306
+ const TODAY = plainDate(2026, 9, 30);
307
+
308
+ @Component({
309
+ selector: 'app-date-picker-narrow',
310
+ imports: [SlButton, SlDatePicker, SlDatePickerPresets, SlField, SlFieldLabel],
311
+ template: `
312
+ <div slField>
313
+ <label slFieldLabel>Proof of delivery date</label>
314
+ <div slDatePicker #picker="slDatePicker" [value]="date()" (valueChange)="set($event.value)">
315
+ <div slDatePickerPresets>
316
+ <button
317
+ slButton
318
+ size="sm"
319
+ variant="ghost"
320
+ type="button"
321
+ (click)="date.set(today); picker.closeSurface()"
322
+ >
323
+ Today
324
+ </button>
325
+ <button
326
+ slButton
327
+ size="sm"
328
+ variant="ghost"
329
+ type="button"
330
+ (click)="date.set(yesterday); picker.closeSurface()"
331
+ >
332
+ Yesterday
333
+ </button>
334
+ </div>
335
+ </div>
336
+ </div>
337
+ `,
338
+ })
339
+ export class DatePickerNarrow {
340
+ protected readonly today = TODAY;
341
+ protected readonly yesterday = addDays(TODAY, -1);
342
+ protected readonly date = signal<PlainDate | null>(null);
343
+
344
+ protected set(value: CalendarValue): void {
345
+ this.date.set(isPlainDate(value) ? value : null);
346
+ }
347
+ }
348
+ ```
349
+
350
+ ### Composition and escape hatches
351
+
352
+ 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.
353
+
354
+ Excerpt — not a complete module
355
+
356
+ ```html
357
+ <div slDatePicker #picker="slDatePicker" (valueChange)="$event.cancel()"></div>
358
+ <button type="button" (click)="picker.openSurface()">Open calendar</button>
359
+ ```
360
+
361
+ ### The keyboard
362
+
363
+ 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.
364
+
365
+ Example
366
+
367
+ ```ts
368
+ import { Component, signal } from '@angular/core';
369
+ import { SlDatePicker } from '@slotted/angular/date-picker';
370
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
371
+ import { plainDate } from '@slotted/core/date';
372
+ import type { ChangeRequest } from '@slotted/core/state';
373
+
374
+ @Component({
375
+ selector: 'app-date-picker-keyboard',
376
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
377
+ template: `
378
+ <div slField>
379
+ <label slFieldLabel>Dispatch date</label>
380
+ <div
381
+ slDatePicker
382
+ [defaultValue]="dispatch"
383
+ [messages]="messages"
384
+ (openChange)="record($event)"
385
+ ></div>
386
+ <span slFieldDescription>{{ last() }}</span>
387
+ </div>
388
+ `,
389
+ })
390
+ export class DatePickerKeyboard {
391
+ protected readonly dispatch = plainDate(2026, 9, 30);
392
+ protected readonly messages = {
393
+ choose: 'Choose dispatch date',
394
+ change: 'Change dispatch date, {date}',
395
+ };
396
+ protected readonly last = signal('Focus the field and press Alt+ArrowDown.');
397
+
398
+ protected record(request: ChangeRequest<boolean>): void {
399
+ this.last.set(`${request.value ? 'Opened' : 'Closed'} by ${request.reason}.`);
400
+ }
401
+ }
402
+ ```
403
+
404
+ ### bounds.ts
405
+
406
+ Example
407
+
408
+ ```ts
409
+ import { Component } from '@angular/core';
410
+ import { SlDatePicker } from '@slotted/angular/date-picker';
411
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
412
+ import { plainDate } from '@slotted/core/date';
413
+
414
+ @Component({
415
+ selector: 'app-date-picker-bounds',
416
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
417
+ template: `
418
+ <div slField>
419
+ <label slFieldLabel>Delivery window</label>
420
+ <div slDatePicker [defaultValue]="delivery" [max]="last" [min]="first"></div>
421
+ <span slFieldDescription>Carriers book October 2026 only.</span>
422
+ </div>
423
+ `,
424
+ })
425
+ export class DatePickerBounds {
426
+ protected readonly delivery = plainDate(2026, 10, 15);
427
+ protected readonly first = plainDate(2026, 10, 1);
428
+ protected readonly last = plainDate(2026, 10, 31);
429
+ }
430
+ ```
431
+
432
+ ### clearable.ts
433
+
434
+ Example
435
+
436
+ ```ts
437
+ import { Component } from '@angular/core';
438
+ import { SlDatePicker } from '@slotted/angular/date-picker';
439
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
440
+ import { plainDate } from '@slotted/core/date';
441
+
442
+ @Component({
443
+ selector: 'app-date-picker-clearable',
444
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
445
+ template: `
446
+ <div slField>
447
+ <label slFieldLabel>Hold shipment until</label>
448
+ <div slDatePicker clearable [defaultValue]="holdUntil"></div>
449
+ <span slFieldDescription>Clear the date to release the shipment.</span>
450
+ </div>
451
+ `,
452
+ })
453
+ export class DatePickerClearable {
454
+ protected readonly holdUntil = plainDate(2026, 10, 9);
455
+ }
456
+ ```
457
+
458
+ ### controlled.ts
459
+
460
+ Example
461
+
462
+ ```ts
463
+ import { Component, computed, signal } from '@angular/core';
464
+ import { SlButton } from '@slotted/angular/button';
465
+ import type { CalendarValue } from '@slotted/angular/calendar';
466
+ import { SlDatePicker } from '@slotted/angular/date-picker';
467
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
468
+ import { SlInline } from '@slotted/angular/inline';
469
+ import { SlStack } from '@slotted/angular/stack';
470
+ import {
471
+ addDays,
472
+ createDateFormat,
473
+ isPlainDate,
474
+ plainDate,
475
+ type PlainDate,
476
+ } from '@slotted/core/date';
477
+
478
+ const TODAY = plainDate(2026, 9, 30);
479
+ const words = createDateFormat({ locale: 'en-US' });
480
+
481
+ @Component({
482
+ selector: 'app-date-picker-controlled',
483
+ imports: [SlButton, SlDatePicker, SlField, SlFieldDescription, SlFieldLabel, SlInline, SlStack],
484
+ template: `
485
+ <div slStack [gap]="4">
486
+ <div slField>
487
+ <label slFieldLabel>Follow up with Harbor Freightways</label>
488
+ <div slDatePicker [value]="followUp()" (valueChange)="set($event.value)"></div>
489
+ <span slFieldDescription>{{ summary() }}</span>
490
+ </div>
491
+ <div slInline [gap]="2">
492
+ <button
493
+ slButton
494
+ size="sm"
495
+ tone="secondary"
496
+ variant="outline"
497
+ type="button"
498
+ (click)="inDays(7)"
499
+ >
500
+ In 1 week
501
+ </button>
502
+ <button
503
+ slButton
504
+ size="sm"
505
+ tone="secondary"
506
+ variant="outline"
507
+ type="button"
508
+ (click)="inDays(14)"
509
+ >
510
+ In 2 weeks
511
+ </button>
512
+ <button
513
+ slButton
514
+ size="sm"
515
+ tone="secondary"
516
+ variant="ghost"
517
+ type="button"
518
+ (click)="followUp.set(null)"
519
+ >
520
+ No follow-up
521
+ </button>
522
+ </div>
523
+ </div>
524
+ `,
525
+ })
526
+ export class DatePickerControlled {
527
+ protected readonly followUp = signal<PlainDate | null>(addDays(TODAY, 7));
528
+ protected readonly summary = computed(() => {
529
+ const date = this.followUp();
530
+ return date === null ? 'No follow-up scheduled.' : `Reminder on ${words.describe(date)}.`;
531
+ });
532
+
533
+ protected set(value: CalendarValue): void {
534
+ this.followUp.set(isPlainDate(value) ? value : null);
535
+ }
536
+
537
+ protected inDays(days: number): void {
538
+ this.followUp.set(addDays(TODAY, days));
539
+ }
540
+ }
541
+ ```
542
+
543
+ ### default-view.ts
544
+
545
+ Example
546
+
547
+ ```ts
548
+ import { Component } from '@angular/core';
549
+ import { SlDatePicker } from '@slotted/angular/date-picker';
550
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
551
+ import { plainDate } from '@slotted/core/date';
552
+
553
+ @Component({
554
+ selector: 'app-date-picker-default-view',
555
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
556
+ template: `
557
+ <div slField>
558
+ <label slFieldLabel>Date of incorporation</label>
559
+ <div slDatePicker defaultView="year" [max]="today"></div>
560
+ <span slFieldDescription>As printed on the certificate of incorporation.</span>
561
+ </div>
562
+ `,
563
+ })
564
+ export class DatePickerDefaultView {
565
+ protected readonly today = plainDate(2026, 9, 30);
566
+ }
567
+ ```
568
+
569
+ ### defaults.ts
570
+
571
+ Example
572
+
573
+ ```ts
574
+ import { Component } from '@angular/core';
575
+ import { provideDatePickerDefaults, SlDatePicker } from '@slotted/angular/date-picker';
576
+ import { SlField, SlFieldLabel } from '@slotted/angular/field';
577
+ import { SlStack } from '@slotted/angular/stack';
578
+ import { plainDate } from '@slotted/core/date';
579
+
580
+ @Component({
581
+ selector: 'app-date-picker-defaults',
582
+ imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],
583
+ providers: [
584
+ provideDatePickerDefaults({ size: 'sm', variant: 'subtle', placement: 'bottom-end' }),
585
+ ],
586
+ template: `
587
+ <div slStack [gap]="4">
588
+ <div slField>
589
+ <label slFieldLabel>Posted after</label>
590
+ <div slDatePicker [defaultValue]="postedAfter"></div>
591
+ </div>
592
+ <div slField>
593
+ <label slFieldLabel>Due before</label>
594
+ <div slDatePicker [defaultValue]="dueBefore"></div>
595
+ </div>
596
+ </div>
597
+ `,
598
+ })
599
+ export class DatePickerDefaults {
600
+ protected readonly postedAfter = plainDate(2026, 9, 1);
601
+ protected readonly dueBefore = plainDate(2026, 10, 31);
602
+ }
603
+ ```
604
+
605
+ ### first-day.ts
606
+
607
+ Example
608
+
609
+ ```ts
610
+ import { Component } from '@angular/core';
611
+ import { SlDatePicker } from '@slotted/angular/date-picker';
612
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
613
+ import { plainDate } from '@slotted/core/date';
614
+
615
+ @Component({
616
+ selector: 'app-date-picker-first-day',
617
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
618
+ template: `
619
+ <div slField>
620
+ <label slFieldLabel>Shift starts</label>
621
+ <div slDatePicker locale="en-US" [defaultValue]="shift" [firstDayOfWeek]="1"></div>
622
+ <span slFieldDescription>Rosters run Monday to Sunday.</span>
623
+ </div>
624
+ `,
625
+ })
626
+ export class DatePickerFirstDay {
627
+ protected readonly shift = plainDate(2026, 9, 30);
628
+ }
629
+ ```
630
+
631
+ ### focus-and-open.ts
632
+
633
+ Example
634
+
635
+ ```ts
636
+ import { Component } from '@angular/core';
637
+ import { SlButton } from '@slotted/angular/button';
638
+ import { SlDatePicker } from '@slotted/angular/date-picker';
639
+ import { SlField, SlFieldLabel } from '@slotted/angular/field';
640
+ import { SlInline } from '@slotted/angular/inline';
641
+ import { SlStack } from '@slotted/angular/stack';
642
+ import { plainDate } from '@slotted/core/date';
643
+
644
+ @Component({
645
+ selector: 'app-date-picker-focus-and-open',
646
+ imports: [SlButton, SlDatePicker, SlField, SlFieldLabel, SlInline, SlStack],
647
+ template: `
648
+ <div slStack [gap]="4">
649
+ <div slField>
650
+ <label slFieldLabel>Contract renewal date</label>
651
+ <div slDatePicker #picker="slDatePicker" [defaultValue]="renewal"></div>
652
+ </div>
653
+ <div slInline [gap]="2">
654
+ <button
655
+ slButton
656
+ size="sm"
657
+ tone="secondary"
658
+ variant="outline"
659
+ type="button"
660
+ (click)="picker.focus()"
661
+ >
662
+ Edit date
663
+ </button>
664
+ <button
665
+ slButton
666
+ size="sm"
667
+ tone="secondary"
668
+ variant="outline"
669
+ type="button"
670
+ (click)="picker.openSurface()"
671
+ >
672
+ Open calendar
673
+ </button>
674
+ </div>
675
+ </div>
676
+ `,
677
+ })
678
+ export class DatePickerFocusAndOpen {
679
+ protected readonly renewal = plainDate(2027, 3, 31);
680
+ }
681
+ ```
682
+
683
+ ### footer.ts
684
+
685
+ Example
686
+
687
+ ```ts
688
+ import { Component } from '@angular/core';
689
+ import { SlButton } from '@slotted/angular/button';
690
+ import { SlDatePicker, SlDatePickerFooter } from '@slotted/angular/date-picker';
691
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
692
+ import { plainDate } from '@slotted/core/date';
693
+
694
+ @Component({
695
+ selector: 'app-date-picker-footer',
696
+ imports: [SlButton, SlDatePicker, SlDatePickerFooter, SlField, SlFieldDescription, SlFieldLabel],
697
+ template: `
698
+ <div slField>
699
+ <label slFieldLabel>Stock count date</label>
700
+ <div slDatePicker #picker="slDatePicker" closeOnSelect="never" [defaultValue]="count">
701
+ <div slDatePickerFooter>
702
+ <button slButton size="sm" type="button" (click)="picker.closeSurface()">Done</button>
703
+ </div>
704
+ </div>
705
+ <span slFieldDescription>The calendar stays open until you press Done.</span>
706
+ </div>
707
+ `,
708
+ })
709
+ export class DatePickerFooter {
710
+ protected readonly count = plainDate(2026, 10, 3);
711
+ }
712
+ ```
713
+
714
+ ### form.ts
715
+
716
+ Example
717
+
718
+ ```ts
719
+ import { Component, computed, signal } from '@angular/core';
720
+ import { toSignal } from '@angular/core/rxjs-interop';
721
+ import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
722
+ import { SlButton } from '@slotted/angular/button';
723
+ import { SlDatePicker } from '@slotted/angular/date-picker';
724
+ import { SlField, SlFieldError, SlFieldLabel } from '@slotted/angular/field';
725
+ import { SlInline } from '@slotted/angular/inline';
726
+ import { SlStack } from '@slotted/angular/stack';
727
+ import { SlText } from '@slotted/angular/typography';
728
+ import { plainDate, toISODate, type PlainDate } from '@slotted/core/date';
729
+
730
+ @Component({
731
+ selector: 'app-date-picker-form',
732
+ imports: [
733
+ ReactiveFormsModule,
734
+ SlButton,
735
+ SlDatePicker,
736
+ SlField,
737
+ SlFieldError,
738
+ SlFieldLabel,
739
+ SlInline,
740
+ SlStack,
741
+ SlText,
742
+ ],
743
+ template: `
744
+ <form novalidate [formGroup]="form" (ngSubmit)="submit()" (reset)="clear()">
745
+ <div slStack [gap]="5">
746
+ <div slField required [invalid]="error() === '' ? undefined : true">
747
+ <label slFieldLabel>Delivery date</label>
748
+ <div
749
+ slDatePicker
750
+ name="deliveryDate"
751
+ formControlName="deliveryDate"
752
+ [min]="earliest"
753
+ ></div>
754
+ <span slFieldError live="polite" reserve>{{ error() }}</span>
755
+ </div>
756
+ <div slInline [gap]="3" align="center">
757
+ <button slButton type="submit">Book delivery</button>
758
+ <button slButton type="reset" tone="secondary" variant="outline">Reset</button>
759
+ @if (saved(); as message) {
760
+ <span slText size="sm" tone="muted">{{ message }}</span>
761
+ }
762
+ </div>
763
+ </div>
764
+ </form>
765
+ `,
766
+ })
767
+ export class DatePickerForm {
768
+ protected readonly earliest = plainDate(2026, 10, 1);
769
+ protected readonly form = new FormGroup({
770
+ deliveryDate: new FormControl<PlainDate | null>(null, Validators.required),
771
+ });
772
+ private readonly value = toSignal(this.form.controls.deliveryDate.valueChanges, {
773
+ initialValue: this.form.controls.deliveryDate.value,
774
+ });
775
+ private readonly submitted = signal(false);
776
+ protected readonly saved = signal<string | null>(null);
777
+ protected readonly error = computed(() => {
778
+ this.value();
779
+ const control = this.form.controls.deliveryDate;
780
+ if (control.hasError('slottedDateRange')) return 'Choose October 1, 2026 or later.';
781
+ if (this.submitted() && control.hasError('required')) return 'Choose a delivery date.';
782
+ return '';
783
+ });
784
+
785
+ protected submit(): void {
786
+ this.submitted.set(true);
787
+ const date = this.form.controls.deliveryDate.value;
788
+ this.saved.set(
789
+ this.form.valid && date !== null ? `Delivery booked for ${toISODate(date)}.` : null,
790
+ );
791
+ }
792
+
793
+ protected clear(): void {
794
+ this.submitted.set(false);
795
+ this.saved.set(null);
796
+ }
797
+ }
798
+ ```
799
+
800
+ ### invoice-due.ts
801
+
802
+ Example
803
+
804
+ ```ts
805
+ import { Component, computed, signal } from '@angular/core';
806
+ import type { CalendarValue } from '@slotted/angular/calendar';
807
+ import { SlDatePicker } from '@slotted/angular/date-picker';
808
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
809
+ import { SlSelect, SlSelectItem, type SelectSelection } from '@slotted/angular/select';
810
+ import { SlStack } from '@slotted/angular/stack';
811
+ import {
812
+ addDays,
813
+ createDateFormat,
814
+ isPlainDate,
815
+ plainDate,
816
+ type PlainDate,
817
+ } from '@slotted/core/date';
818
+
819
+ const TERMS = [
820
+ { value: 'receipt', label: 'Due on receipt', days: 0 },
821
+ { value: 'net-15', label: 'Net 15', days: 15 },
822
+ { value: 'net-30', label: 'Net 30', days: 30 },
823
+ { value: 'net-60', label: 'Net 60', days: 60 },
824
+ ];
825
+ const words = createDateFormat({ locale: 'en-US' });
826
+
827
+ @Component({
828
+ selector: 'app-date-picker-invoice-due',
829
+ imports: [
830
+ SlDatePicker,
831
+ SlField,
832
+ SlFieldDescription,
833
+ SlFieldLabel,
834
+ SlSelect,
835
+ SlSelectItem,
836
+ SlStack,
837
+ ],
838
+ template: `
839
+ <div slStack [gap]="5">
840
+ <div slField required>
841
+ <label slFieldLabel>Invoice date</label>
842
+ <div slDatePicker [value]="issued()" (valueChange)="setIssued($event.value)"></div>
843
+ </div>
844
+ <div slField>
845
+ <label slFieldLabel>Payment terms</label>
846
+ <sl-select [items]="terms" [(value)]="term">
847
+ @for (option of terms; track option.value) {
848
+ <sl-select-item [value]="option.value">{{ option.label }}</sl-select-item>
849
+ }
850
+ </sl-select>
851
+ </div>
852
+ <div slField readOnly>
853
+ <label slFieldLabel>Due date</label>
854
+ <div slDatePicker [value]="due()"></div>
855
+ <span slFieldDescription>{{ summary() }}</span>
856
+ </div>
857
+ </div>
858
+ `,
859
+ })
860
+ export class DatePickerInvoiceDue {
861
+ protected readonly terms = TERMS;
862
+ protected readonly issued = signal<PlainDate | null>(plainDate(2026, 9, 30));
863
+ protected readonly term = signal<SelectSelection>('net-30');
864
+ protected readonly due = computed(() => {
865
+ const issued = this.issued();
866
+ const days = TERMS.find((option) => option.value === this.term())?.days ?? 0;
867
+ return issued === null ? null : addDays(issued, days);
868
+ });
869
+ protected readonly summary = computed(() => {
870
+ const due = this.due();
871
+ return due === null ? 'Set the invoice date first.' : `Payment is due ${words.describe(due)}.`;
872
+ });
873
+
874
+ protected setIssued(value: CalendarValue): void {
875
+ this.issued.set(isPlainDate(value) ? value : null);
876
+ }
877
+ }
878
+ ```
879
+
880
+ ### locale.ts
881
+
882
+ Example
883
+
884
+ ```ts
885
+ import { Component } from '@angular/core';
886
+ import { SlDatePicker } from '@slotted/angular/date-picker';
887
+ import { SlField, SlFieldLabel } from '@slotted/angular/field';
888
+ import { SlStack } from '@slotted/angular/stack';
889
+ import { plainDate } from '@slotted/core/date';
890
+
891
+ @Component({
892
+ selector: 'app-date-picker-locale',
893
+ imports: [SlDatePicker, SlField, SlFieldLabel, SlStack],
894
+ template: `
895
+ <div slStack [gap]="5">
896
+ <div slField>
897
+ <label slFieldLabel>Ship date, United States (en-US)</label>
898
+ <div slDatePicker locale="en-US" [defaultValue]="shipDate"></div>
899
+ </div>
900
+ <div slField>
901
+ <label slFieldLabel>Ship date, United Kingdom (en-GB)</label>
902
+ <div slDatePicker locale="en-GB" [defaultValue]="shipDate"></div>
903
+ </div>
904
+ <div slField>
905
+ <label slFieldLabel>Ship date, Germany (de-DE)</label>
906
+ <div slDatePicker locale="de-DE" [defaultValue]="shipDate"></div>
907
+ </div>
908
+ <div slField>
909
+ <label slFieldLabel>Ship date, Japan (ja-JP)</label>
910
+ <div slDatePicker locale="ja-JP" [defaultValue]="shipDate"></div>
911
+ </div>
912
+ </div>
913
+ `,
914
+ })
915
+ export class DatePickerLocale {
916
+ protected readonly shipDate = plainDate(2026, 9, 30);
917
+ }
918
+ ```
919
+
920
+ ### months.ts
921
+
922
+ Example
923
+
924
+ ```ts
925
+ import { Component } from '@angular/core';
926
+ import { SlDatePicker } from '@slotted/angular/date-picker';
927
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
928
+ import { plainDate } from '@slotted/core/date';
929
+
930
+ @Component({
931
+ selector: 'app-date-picker-months',
932
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
933
+ template: `
934
+ <div slField>
935
+ <label slFieldLabel>Installation appointment</label>
936
+ <div slDatePicker [defaultValue]="appointment" [months]="2"></div>
937
+ <span slFieldDescription>Technicians book up to eight weeks ahead.</span>
938
+ </div>
939
+ `,
940
+ })
941
+ export class DatePickerMonths {
942
+ protected readonly appointment = plainDate(2026, 10, 20);
943
+ }
944
+ ```
945
+
946
+ ### report-date.ts
947
+
948
+ Example
949
+
950
+ ```ts
951
+ import { Component, computed, signal } from '@angular/core';
952
+ import { SlButton } from '@slotted/angular/button';
953
+ import type { CalendarValue } from '@slotted/angular/calendar';
954
+ import { SlDatePicker, SlDatePickerPresets } from '@slotted/angular/date-picker';
955
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
956
+ import { createDateFormat, isPlainDate, plainDate, type PlainDate } from '@slotted/core/date';
957
+
958
+ const TODAY = plainDate(2026, 9, 30);
959
+ const PRESETS = [
960
+ { label: 'Today', date: TODAY },
961
+ { label: 'End of last month', date: plainDate(2026, 8, 31) },
962
+ { label: 'End of last quarter', date: plainDate(2026, 6, 30) },
963
+ { label: 'End of fiscal 2025', date: plainDate(2025, 12, 31) },
964
+ ];
965
+ const words = createDateFormat({ locale: 'en-US' });
966
+
967
+ @Component({
968
+ selector: 'app-date-picker-report-date',
969
+ imports: [SlButton, SlDatePicker, SlDatePickerPresets, SlField, SlFieldDescription, SlFieldLabel],
970
+ template: `
971
+ <div slField>
972
+ <label slFieldLabel>Balance sheet as of</label>
973
+ <div
974
+ slDatePicker
975
+ #picker="slDatePicker"
976
+ [max]="today"
977
+ [value]="asOf()"
978
+ (valueChange)="set($event.value)"
979
+ >
980
+ <div slDatePickerPresets>
981
+ @for (preset of presets; track preset.label) {
982
+ <button
983
+ slButton
984
+ size="sm"
985
+ variant="ghost"
986
+ type="button"
987
+ (click)="asOf.set(preset.date); picker.closeSurface()"
988
+ >
989
+ {{ preset.label }}
990
+ </button>
991
+ }
992
+ </div>
993
+ </div>
994
+ <span slFieldDescription>{{ summary() }}</span>
995
+ </div>
996
+ `,
997
+ })
998
+ export class DatePickerReportDate {
999
+ protected readonly today = TODAY;
1000
+ protected readonly presets = PRESETS;
1001
+ protected readonly asOf = signal<PlainDate | null>(plainDate(2026, 8, 31));
1002
+ protected readonly summary = computed(() => {
1003
+ const asOf = this.asOf();
1004
+ return asOf === null
1005
+ ? 'Choose the closing date of the report.'
1006
+ : `Balances close at the end of ${words.describe(asOf)}.`;
1007
+ });
1008
+
1009
+ protected set(value: CalendarValue): void {
1010
+ this.asOf.set(isPlainDate(value) ? value : null);
1011
+ }
1012
+ }
1013
+ ```
1014
+
1015
+ ### shipping-date.ts
1016
+
1017
+ Example
1018
+
1019
+ ```ts
1020
+ import { Component, computed, signal } from '@angular/core';
1021
+ import type { CalendarValue } from '@slotted/angular/calendar';
1022
+ import { SlDatePicker } from '@slotted/angular/date-picker';
1023
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
1024
+ import {
1025
+ addDays,
1026
+ compareDate,
1027
+ createDateFormat,
1028
+ dayOfWeek,
1029
+ isPlainDate,
1030
+ plainDate,
1031
+ toISODate,
1032
+ type PlainDate,
1033
+ } from '@slotted/core/date';
1034
+
1035
+ const ORDERED = plainDate(2026, 9, 30);
1036
+ const HOLIDAYS = new Set(['2026-10-12', '2026-11-11', '2026-11-26', '2026-12-25']);
1037
+ const words = createDateFormat({ locale: 'en-US' });
1038
+
1039
+ const isBusinessDay = (date: PlainDate) =>
1040
+ dayOfWeek(date) !== 0 && dayOfWeek(date) !== 6 && !HOLIDAYS.has(toISODate(date));
1041
+
1042
+ const addBusinessDays = (from: PlainDate, count: number) => {
1043
+ let date = from;
1044
+ for (let added = 0; added < count;) {
1045
+ date = addDays(date, 1);
1046
+ if (isBusinessDay(date)) added += 1;
1047
+ }
1048
+ return date;
1049
+ };
1050
+
1051
+ const businessDaysBetween = (from: PlainDate, to: PlainDate) => {
1052
+ let count = 0;
1053
+ for (let date = addDays(from, 1); compareDate(date, to) <= 0; date = addDays(date, 1)) {
1054
+ if (isBusinessDay(date)) count += 1;
1055
+ }
1056
+ return count;
1057
+ };
1058
+
1059
+ const EARLIEST = addBusinessDays(ORDERED, 2);
1060
+ const LATEST = addBusinessDays(ORDERED, 40);
1061
+
1062
+ @Component({
1063
+ selector: 'app-date-picker-shipping-date',
1064
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
1065
+ template: `
1066
+ <div slField required>
1067
+ <label slFieldLabel>Ship date</label>
1068
+ <div
1069
+ slDatePicker
1070
+ [isDateUnavailable]="isClosed"
1071
+ [max]="latest"
1072
+ [min]="earliest"
1073
+ [value]="date()"
1074
+ (valueChange)="set($event.value)"
1075
+ ></div>
1076
+ <span slFieldDescription>{{ summary() }}</span>
1077
+ </div>
1078
+ `,
1079
+ })
1080
+ export class DatePickerShippingDate {
1081
+ protected readonly earliest = EARLIEST;
1082
+ protected readonly latest = LATEST;
1083
+ protected readonly isClosed = (day: PlainDate) => !isBusinessDay(day);
1084
+ protected readonly date = signal<PlainDate | null>(EARLIEST);
1085
+ protected readonly summary = computed(() => {
1086
+ const date = this.date();
1087
+ return date === null
1088
+ ? 'Orders ship 2 to 40 business days after they are placed.'
1089
+ : `Ships ${words.describe(date)}, ${businessDaysBetween(ORDERED, date)} business days after the order.`;
1090
+ });
1091
+
1092
+ protected set(value: CalendarValue): void {
1093
+ this.date.set(isPlainDate(value) ? value : null);
1094
+ }
1095
+ }
1096
+ ```
1097
+
1098
+ ### time-zones.ts
1099
+
1100
+ Example
1101
+
1102
+ ```ts
1103
+ import { Component, computed, signal } from '@angular/core';
1104
+ import type { CalendarValue } from '@slotted/angular/calendar';
1105
+ import { SlDatePicker } from '@slotted/angular/date-picker';
1106
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
1107
+ import { SlStack } from '@slotted/angular/stack';
1108
+ import { SlText } from '@slotted/angular/typography';
1109
+ import { isPlainDate, plainDate, toISODate, type PlainDate } from '@slotted/core/date';
1110
+
1111
+ @Component({
1112
+ selector: 'app-date-picker-time-zones',
1113
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel, SlStack, SlText],
1114
+ template: `
1115
+ <div slStack [gap]="4">
1116
+ <div slField>
1117
+ <label slFieldLabel>Settlement date, Auckland desk</label>
1118
+ <div
1119
+ slDatePicker
1120
+ timeZone="Pacific/Auckland"
1121
+ [value]="date()"
1122
+ (valueChange)="set($event.value)"
1123
+ ></div>
1124
+ <span slFieldDescription>Today is marked by the date in Auckland.</span>
1125
+ </div>
1126
+ <span slText size="sm" tone="muted">{{ readout() }}</span>
1127
+ </div>
1128
+ `,
1129
+ })
1130
+ export class DatePickerTimeZones {
1131
+ protected readonly date = signal<PlainDate | null>(plainDate(2026, 9, 30));
1132
+ protected readonly readout = computed(() => {
1133
+ const date = this.date();
1134
+ return date === null
1135
+ ? 'Value: null'
1136
+ : `Value: ${JSON.stringify(date)}, sent as ${toISODate(date)}`;
1137
+ });
1138
+
1139
+ protected set(value: CalendarValue): void {
1140
+ this.date.set(isPlainDate(value) ? value : null);
1141
+ }
1142
+ }
1143
+ ```
1144
+
1145
+ ### typing.ts
1146
+
1147
+ Example
1148
+
1149
+ ```ts
1150
+ import { Component, signal } from '@angular/core';
1151
+ import type { CalendarValue } from '@slotted/angular/calendar';
1152
+ import { SlDatePicker } from '@slotted/angular/date-picker';
1153
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
1154
+ import { isPlainDate, plainDate, toISODate } from '@slotted/core/date';
1155
+ import type { ChangeRequest } from '@slotted/core/state';
1156
+
1157
+ const REASONS: Record<string, string> = {
1158
+ keyboard: 'from the keyboard',
1159
+ pointer: 'pressed in the calendar',
1160
+ clear: 'cleared',
1161
+ blur: 'completed when the field lost focus',
1162
+ };
1163
+
1164
+ @Component({
1165
+ selector: 'app-date-picker-typing',
1166
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
1167
+ template: `
1168
+ <div slField>
1169
+ <label slFieldLabel>Goods received on</label>
1170
+ <div slDatePicker [defaultValue]="received" (valueChange)="record($event)"></div>
1171
+ <span slFieldDescription>{{ change() }}</span>
1172
+ </div>
1173
+ `,
1174
+ })
1175
+ export class DatePickerTyping {
1176
+ protected readonly received = plainDate(2026, 9, 30);
1177
+ protected readonly change = signal('No change yet.');
1178
+
1179
+ protected record(request: ChangeRequest<CalendarValue>): void {
1180
+ const date = isPlainDate(request.value) ? toISODate(request.value) : 'empty';
1181
+ this.change.set(`${date}, ${REASONS[request.reason] ?? request.reason}.`);
1182
+ }
1183
+ }
1184
+ ```
1185
+
1186
+ ### week-numbers.ts
1187
+
1188
+ Example
1189
+
1190
+ ```ts
1191
+ import { Component, computed, signal } from '@angular/core';
1192
+ import type { CalendarValue } from '@slotted/angular/calendar';
1193
+ import { SlDatePicker } from '@slotted/angular/date-picker';
1194
+ import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
1195
+ import { isPlainDate, isoWeekNumber, plainDate, type PlainDate } from '@slotted/core/date';
1196
+
1197
+ @Component({
1198
+ selector: 'app-date-picker-week-numbers',
1199
+ imports: [SlDatePicker, SlField, SlFieldDescription, SlFieldLabel],
1200
+ template: `
1201
+ <div slField>
1202
+ <label slFieldLabel>Production run</label>
1203
+ <div
1204
+ slDatePicker
1205
+ weekNumbers
1206
+ [firstDayOfWeek]="1"
1207
+ [value]="date()"
1208
+ (valueChange)="set($event.value)"
1209
+ ></div>
1210
+ <span slFieldDescription>{{ summary() }}</span>
1211
+ </div>
1212
+ `,
1213
+ })
1214
+ export class DatePickerWeekNumbers {
1215
+ protected readonly date = signal<PlainDate | null>(plainDate(2026, 9, 30));
1216
+
1217
+ protected set(value: CalendarValue): void {
1218
+ this.date.set(isPlainDate(value) ? value : null);
1219
+ }
1220
+
1221
+ protected readonly summary = computed(() => {
1222
+ const date = this.date();
1223
+ return date === null ? 'No week planned.' : `Planned for week ${isoWeekNumber(date)}.`;
1224
+ });
1225
+ }
1226
+ ```