@slotted/angular 0.1.0-beta.0 → 0.1.0-beta.10

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 (588) hide show
  1. package/README.md +4 -0
  2. package/docs/AGENTS.snippet.md +12 -0
  3. package/docs/alert.json +7 -1
  4. package/docs/alert.md +3 -3
  5. package/docs/app-shell.examples.md +1 -1
  6. package/docs/app-shell.json +5 -5
  7. package/docs/app-shell.md +2 -2
  8. package/docs/avatar.json +22 -1
  9. package/docs/avatar.md +5 -3
  10. package/docs/badge.json +7 -1
  11. package/docs/badge.md +3 -3
  12. package/docs/button-group.json +2 -0
  13. package/docs/button-group.md +1 -1
  14. package/docs/button.json +51 -11
  15. package/docs/button.md +10 -6
  16. package/docs/calendar.json +8 -1
  17. package/docs/calendar.md +1 -0
  18. package/docs/cascader.json +1 -0
  19. package/docs/cascader.md +1 -1
  20. package/docs/chart.examples.md +1 -1
  21. package/docs/chart.json +10 -1
  22. package/docs/chart.md +3 -2
  23. package/docs/checkbox.json +7 -0
  24. package/docs/checkbox.md +1 -0
  25. package/docs/code-block.json +92 -92
  26. package/docs/code-block.md +69 -69
  27. package/docs/combobox.json +1 -0
  28. package/docs/combobox.md +1 -1
  29. package/docs/currency-field.json +40 -1
  30. package/docs/currency-field.md +5 -1
  31. package/docs/data-grid.examples.md +2 -2
  32. package/docs/data-grid.json +24 -7
  33. package/docs/data-grid.md +1 -1
  34. package/docs/data-grid.props.md +6 -4
  35. package/docs/data-list.json +2 -1
  36. package/docs/data-list.md +1 -1
  37. package/docs/date-field.json +9 -1
  38. package/docs/date-field.md +3 -2
  39. package/docs/date-picker.examples.md +36 -0
  40. package/docs/date-picker.json +20 -5
  41. package/docs/date-picker.md +5 -4
  42. package/docs/datetime-field.json +1 -0
  43. package/docs/datetime-field.md +1 -1
  44. package/docs/dialog.examples.md +158 -136
  45. package/docs/dialog.json +35 -11
  46. package/docs/dialog.md +4 -2
  47. package/docs/dialog.props.md +1 -1
  48. package/docs/drawer.json +5 -0
  49. package/docs/drawer.md +1 -0
  50. package/docs/entity-picker.json +19 -4
  51. package/docs/entity-picker.md +8 -6
  52. package/docs/event-calendar.json +7 -0
  53. package/docs/event-calendar.md +1 -0
  54. package/docs/filter-bar.json +118 -118
  55. package/docs/filter-bar.md +79 -79
  56. package/docs/form.json +2 -1
  57. package/docs/form.md +1 -1
  58. package/docs/guidelines/README.md +27 -0
  59. package/docs/guidelines/async-feedback.md +129 -0
  60. package/docs/guidelines/browsing.md +74 -0
  61. package/docs/guidelines/builders.md +97 -0
  62. package/docs/guidelines/composition.md +143 -0
  63. package/docs/guidelines/conversations.md +59 -0
  64. package/docs/guidelines/errors-and-conflicts.md +71 -0
  65. package/docs/guidelines/forms.md +202 -0
  66. package/docs/guidelines/index.md +129 -0
  67. package/docs/guidelines/layout-alignment.md +95 -0
  68. package/docs/guidelines/ledgers.md +45 -0
  69. package/docs/guidelines/list-pages.md +206 -0
  70. package/docs/guidelines/overviews.md +76 -0
  71. package/docs/guidelines/own-elements.md +115 -0
  72. package/docs/guidelines/reading-permissions.md +55 -0
  73. package/docs/guidelines/record-pages.md +178 -0
  74. package/docs/guidelines/reports.md +123 -0
  75. package/docs/guidelines/shell-composition.md +94 -0
  76. package/docs/guidelines/workspaces.md +46 -0
  77. package/docs/icon.json +3 -1
  78. package/docs/icon.md +3 -3
  79. package/docs/index.md +12 -0
  80. package/docs/inline-message.json +14 -2
  81. package/docs/inline-message.md +4 -3
  82. package/docs/list-item.json +9 -1
  83. package/docs/list-item.md +3 -3
  84. package/docs/list.json +19 -1
  85. package/docs/list.md +3 -1
  86. package/docs/markdown.json +79 -79
  87. package/docs/markdown.md +65 -65
  88. package/docs/menu.json +12 -0
  89. package/docs/menu.md +2 -0
  90. package/docs/message.json +7 -1
  91. package/docs/message.md +3 -3
  92. package/docs/multi-select.json +1 -0
  93. package/docs/multi-select.md +1 -1
  94. package/docs/notification-center.json +4 -0
  95. package/docs/notification-center.md +2 -2
  96. package/docs/number-field.json +1 -0
  97. package/docs/number-field.md +1 -1
  98. package/docs/otp-input.json +1 -0
  99. package/docs/otp-input.md +1 -1
  100. package/docs/page-header.json +4 -3
  101. package/docs/page-header.md +2 -2
  102. package/docs/page.json +1 -0
  103. package/docs/page.md +1 -0
  104. package/docs/popover.json +1 -1
  105. package/docs/progress-indicator.json +4 -3
  106. package/docs/progress-indicator.md +4 -4
  107. package/docs/prompt-composer.json +41 -1
  108. package/docs/prompt-composer.md +5 -1
  109. package/docs/rating.json +5 -3
  110. package/docs/rating.md +5 -5
  111. package/docs/section.json +27 -15
  112. package/docs/section.md +11 -9
  113. package/docs/segmented-control.json +36 -12
  114. package/docs/segmented-control.md +17 -1
  115. package/docs/select.json +1 -0
  116. package/docs/select.md +1 -1
  117. package/docs/side-navigation.json +1 -0
  118. package/docs/side-navigation.md +1 -1
  119. package/docs/skills/build-own-element/SKILL.md +90 -0
  120. package/docs/skills/compose-screen/SKILL.md +95 -0
  121. package/docs/skills/index.md +9 -0
  122. package/docs/skills/review-screen/SKILL.md +77 -0
  123. package/docs/skills/theme-app/SKILL.md +87 -0
  124. package/docs/skills/waiting-states/SKILL.md +143 -0
  125. package/docs/sparkline.json +5 -2
  126. package/docs/sparkline.md +4 -4
  127. package/docs/split-button.json +4 -1
  128. package/docs/split-button.md +3 -3
  129. package/docs/stat-card.json +5 -1
  130. package/docs/stat-card.md +3 -3
  131. package/docs/table.examples.md +3 -3
  132. package/docs/table.json +85 -3
  133. package/docs/table.md +12 -1
  134. package/docs/tabs.json +17 -7
  135. package/docs/tabs.md +3 -2
  136. package/docs/tag.json +14 -4
  137. package/docs/tag.md +6 -6
  138. package/docs/tags-input.json +29 -2
  139. package/docs/tags-input.md +4 -1
  140. package/docs/text-field.json +2 -1
  141. package/docs/text-field.md +2 -2
  142. package/docs/textarea.json +1 -0
  143. package/docs/textarea.md +1 -1
  144. package/docs/time-field.json +1 -0
  145. package/docs/time-field.md +1 -1
  146. package/docs/timeline.json +138 -132
  147. package/docs/timeline.md +125 -125
  148. package/docs/toast.json +7 -1
  149. package/docs/toast.md +3 -3
  150. package/docs/toggle-group.json +14 -3
  151. package/docs/toggle-group.md +3 -3
  152. package/docs/toggle.json +12 -3
  153. package/docs/toggle.md +3 -3
  154. package/docs/tokens.md +467 -0
  155. package/docs/tour.json +1 -1
  156. package/docs/typography.json +4 -2
  157. package/docs/typography.md +4 -4
  158. package/fesm2022/slotted-angular-accordion.mjs +4 -2
  159. package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
  160. package/fesm2022/slotted-angular-action-bar.mjs +22 -11
  161. package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
  162. package/fesm2022/slotted-angular-action-sheet.mjs +42 -29
  163. package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
  164. package/fesm2022/slotted-angular-alert.mjs +18 -11
  165. package/fesm2022/slotted-angular-alert.mjs.map +1 -1
  166. package/fesm2022/slotted-angular-app-shell.mjs +111 -61
  167. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
  168. package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
  169. package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
  170. package/fesm2022/slotted-angular-attachment.mjs +31 -20
  171. package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
  172. package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
  173. package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
  174. package/fesm2022/slotted-angular-avatar.mjs +14 -7
  175. package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
  176. package/fesm2022/slotted-angular-badge.mjs +14 -10
  177. package/fesm2022/slotted-angular-badge.mjs.map +1 -1
  178. package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
  179. package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
  180. package/fesm2022/slotted-angular-button-group.mjs +7 -4
  181. package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
  182. package/fesm2022/slotted-angular-button.mjs +90 -29
  183. package/fesm2022/slotted-angular-button.mjs.map +1 -1
  184. package/fesm2022/slotted-angular-calendar.mjs +235 -58
  185. package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
  186. package/fesm2022/slotted-angular-card.mjs +18 -16
  187. package/fesm2022/slotted-angular-card.mjs.map +1 -1
  188. package/fesm2022/slotted-angular-carousel.mjs +22 -11
  189. package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
  190. package/fesm2022/slotted-angular-cascader.mjs +166 -66
  191. package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
  192. package/fesm2022/slotted-angular-chart.mjs +53 -20
  193. package/fesm2022/slotted-angular-chart.mjs.map +1 -1
  194. package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
  195. package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
  196. package/fesm2022/slotted-angular-checkbox.mjs +23 -9
  197. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
  198. package/fesm2022/slotted-angular-code-block.mjs +29 -15
  199. package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
  200. package/fesm2022/slotted-angular-collapsible.mjs +20 -15
  201. package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
  202. package/fesm2022/slotted-angular-color-picker.mjs +77 -22
  203. package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
  204. package/fesm2022/slotted-angular-column-manager.mjs +68 -31
  205. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
  206. package/fesm2022/slotted-angular-combobox.mjs +112 -39
  207. package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
  208. package/fesm2022/slotted-angular-command-palette.mjs +150 -54
  209. package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
  210. package/fesm2022/slotted-angular-container.mjs +6 -4
  211. package/fesm2022/slotted-angular-container.mjs.map +1 -1
  212. package/fesm2022/slotted-angular-context-menu.mjs +5 -4
  213. package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
  214. package/fesm2022/slotted-angular-currency-field.mjs +149 -32
  215. package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
  216. package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
  217. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
  218. package/fesm2022/slotted-angular-data-grid.mjs +354 -113
  219. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
  220. package/fesm2022/slotted-angular-data-list.mjs +83 -50
  221. package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
  222. package/fesm2022/slotted-angular-date-field.mjs +74 -25
  223. package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
  224. package/fesm2022/slotted-angular-date-picker.mjs +112 -40
  225. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
  226. package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
  227. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
  228. package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
  229. package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
  230. package/fesm2022/slotted-angular-datetime-picker.mjs +41 -29
  231. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
  232. package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
  233. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
  234. package/fesm2022/slotted-angular-description-list.mjs +33 -19
  235. package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
  236. package/fesm2022/slotted-angular-detail-panel.mjs +29 -18
  237. package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
  238. package/fesm2022/slotted-angular-dialog.mjs +72 -30
  239. package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
  240. package/fesm2022/slotted-angular-divider.mjs +7 -5
  241. package/fesm2022/slotted-angular-divider.mjs.map +1 -1
  242. package/fesm2022/slotted-angular-drawer.mjs +53 -29
  243. package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
  244. package/fesm2022/slotted-angular-entity-picker.mjs +468 -75
  245. package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
  246. package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
  247. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
  248. package/fesm2022/slotted-angular-field-group.mjs +14 -7
  249. package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
  250. package/fesm2022/slotted-angular-field.mjs +35 -15
  251. package/fesm2022/slotted-angular-field.mjs.map +1 -1
  252. package/fesm2022/slotted-angular-filter-bar.mjs +112 -51
  253. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
  254. package/fesm2022/slotted-angular-form.mjs +18 -10
  255. package/fesm2022/slotted-angular-form.mjs.map +1 -1
  256. package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
  257. package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
  258. package/fesm2022/slotted-angular-grid.mjs +4 -2
  259. package/fesm2022/slotted-angular-grid.mjs.map +1 -1
  260. package/fesm2022/slotted-angular-highlight.mjs +5 -3
  261. package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
  262. package/fesm2022/slotted-angular-hover-card.mjs +5 -4
  263. package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
  264. package/fesm2022/slotted-angular-icon.mjs +6 -3
  265. package/fesm2022/slotted-angular-icon.mjs.map +1 -1
  266. package/fesm2022/slotted-angular-image.mjs +13 -10
  267. package/fesm2022/slotted-angular-image.mjs.map +1 -1
  268. package/fesm2022/slotted-angular-import-export-center.mjs +167 -99
  269. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
  270. package/fesm2022/slotted-angular-inline-message.mjs +88 -13
  271. package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
  272. package/fesm2022/slotted-angular-inline.mjs +4 -2
  273. package/fesm2022/slotted-angular-inline.mjs.map +1 -1
  274. package/fesm2022/slotted-angular-kbd.mjs +11 -7
  275. package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
  276. package/fesm2022/slotted-angular-link.mjs +5 -3
  277. package/fesm2022/slotted-angular-link.mjs.map +1 -1
  278. package/fesm2022/slotted-angular-list-item.mjs +21 -18
  279. package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
  280. package/fesm2022/slotted-angular-list.mjs +37 -22
  281. package/fesm2022/slotted-angular-list.mjs.map +1 -1
  282. package/fesm2022/slotted-angular-listbox.mjs +39 -21
  283. package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
  284. package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
  285. package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
  286. package/fesm2022/slotted-angular-markdown.mjs +31 -19
  287. package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
  288. package/fesm2022/slotted-angular-menu.mjs +51 -29
  289. package/fesm2022/slotted-angular-menu.mjs.map +1 -1
  290. package/fesm2022/slotted-angular-menubar.mjs +4 -2
  291. package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
  292. package/fesm2022/slotted-angular-message-scroller.mjs +28 -15
  293. package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
  294. package/fesm2022/slotted-angular-message.mjs +113 -51
  295. package/fesm2022/slotted-angular-message.mjs.map +1 -1
  296. package/fesm2022/slotted-angular-multi-select.mjs +189 -87
  297. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
  298. package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
  299. package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
  300. package/fesm2022/slotted-angular-notification-center.mjs +108 -65
  301. package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
  302. package/fesm2022/slotted-angular-number-field.mjs +23 -11
  303. package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
  304. package/fesm2022/slotted-angular-otp-input.mjs +13 -8
  305. package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
  306. package/fesm2022/slotted-angular-page-header.mjs +75 -45
  307. package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
  308. package/fesm2022/slotted-angular-page.mjs +38 -10
  309. package/fesm2022/slotted-angular-page.mjs.map +1 -1
  310. package/fesm2022/slotted-angular-pagination.mjs +35 -22
  311. package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
  312. package/fesm2022/slotted-angular-popover.mjs +32 -19
  313. package/fesm2022/slotted-angular-popover.mjs.map +1 -1
  314. package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
  315. package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
  316. package/fesm2022/slotted-angular-prompt-composer.mjs +41 -20
  317. package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
  318. package/fesm2022/slotted-angular-prose.mjs +14 -11
  319. package/fesm2022/slotted-angular-prose.mjs.map +1 -1
  320. package/fesm2022/slotted-angular-radio-group.mjs +15 -9
  321. package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
  322. package/fesm2022/slotted-angular-rating.mjs +138 -82
  323. package/fesm2022/slotted-angular-rating.mjs.map +1 -1
  324. package/fesm2022/slotted-angular-result-state.mjs +16 -12
  325. package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
  326. package/fesm2022/slotted-angular-saved-views.mjs +43 -16
  327. package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
  328. package/fesm2022/slotted-angular-scroll-area.mjs +13 -5
  329. package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
  330. package/fesm2022/slotted-angular-section.mjs +53 -18
  331. package/fesm2022/slotted-angular-section.mjs.map +1 -1
  332. package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
  333. package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
  334. package/fesm2022/slotted-angular-select.mjs +184 -94
  335. package/fesm2022/slotted-angular-select.mjs.map +1 -1
  336. package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
  337. package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
  338. package/fesm2022/slotted-angular-skeleton.mjs +32 -16
  339. package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
  340. package/fesm2022/slotted-angular-slider.mjs +31 -11
  341. package/fesm2022/slotted-angular-slider.mjs.map +1 -1
  342. package/fesm2022/slotted-angular-sparkline.mjs +41 -14
  343. package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
  344. package/fesm2022/slotted-angular-split-button.mjs +25 -11
  345. package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
  346. package/fesm2022/slotted-angular-splitter.mjs +11 -9
  347. package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
  348. package/fesm2022/slotted-angular-stack.mjs +4 -2
  349. package/fesm2022/slotted-angular-stack.mjs.map +1 -1
  350. package/fesm2022/slotted-angular-stat-card.mjs +35 -28
  351. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
  352. package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
  353. package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
  354. package/fesm2022/slotted-angular-stepper.mjs +40 -15
  355. package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
  356. package/fesm2022/slotted-angular-switch.mjs +15 -10
  357. package/fesm2022/slotted-angular-switch.mjs.map +1 -1
  358. package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
  359. package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
  360. package/fesm2022/slotted-angular-table.mjs +243 -73
  361. package/fesm2022/slotted-angular-table.mjs.map +1 -1
  362. package/fesm2022/slotted-angular-tabs.mjs +42 -18
  363. package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
  364. package/fesm2022/slotted-angular-tag.mjs +19 -12
  365. package/fesm2022/slotted-angular-tag.mjs.map +1 -1
  366. package/fesm2022/slotted-angular-tags-input.mjs +253 -28
  367. package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
  368. package/fesm2022/slotted-angular-text-field.mjs +49 -15
  369. package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
  370. package/fesm2022/slotted-angular-textarea.mjs +5 -3
  371. package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
  372. package/fesm2022/slotted-angular-time-field.mjs +48 -14
  373. package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
  374. package/fesm2022/slotted-angular-time-picker.mjs +32 -20
  375. package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
  376. package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
  377. package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
  378. package/fesm2022/slotted-angular-timeline.mjs +135 -64
  379. package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
  380. package/fesm2022/slotted-angular-toast.mjs +43 -31
  381. package/fesm2022/slotted-angular-toast.mjs.map +1 -1
  382. package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
  383. package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
  384. package/fesm2022/slotted-angular-toggle.mjs +9 -4
  385. package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
  386. package/fesm2022/slotted-angular-toolbar.mjs +22 -11
  387. package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
  388. package/fesm2022/slotted-angular-tooltip.mjs +15 -6
  389. package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
  390. package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
  391. package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
  392. package/fesm2022/slotted-angular-tour.mjs +47 -22
  393. package/fesm2022/slotted-angular-tour.mjs.map +1 -1
  394. package/fesm2022/slotted-angular-transfer.mjs +69 -30
  395. package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
  396. package/fesm2022/slotted-angular-tree.mjs +74 -26
  397. package/fesm2022/slotted-angular-tree.mjs.map +1 -1
  398. package/fesm2022/slotted-angular-typography.mjs +8 -4
  399. package/fesm2022/slotted-angular-typography.mjs.map +1 -1
  400. package/fesm2022/slotted-angular-upload.mjs +125 -57
  401. package/fesm2022/slotted-angular-upload.mjs.map +1 -1
  402. package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
  403. package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
  404. package/fesm2022/slotted-angular-wizard.mjs +163 -65
  405. package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
  406. package/package.json +3 -3
  407. package/types/slotted-angular-accordion.d.ts.map +1 -1
  408. package/types/slotted-angular-action-bar.d.ts.map +1 -1
  409. package/types/slotted-angular-action-sheet.d.ts.map +1 -1
  410. package/types/slotted-angular-alert.d.ts +2 -2
  411. package/types/slotted-angular-alert.d.ts.map +1 -1
  412. package/types/slotted-angular-app-shell.d.ts +11 -3
  413. package/types/slotted-angular-app-shell.d.ts.map +1 -1
  414. package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
  415. package/types/slotted-angular-attachment.d.ts +1 -1
  416. package/types/slotted-angular-attachment.d.ts.map +1 -1
  417. package/types/slotted-angular-avatar-group.d.ts.map +1 -1
  418. package/types/slotted-angular-avatar.d.ts +11 -3
  419. package/types/slotted-angular-avatar.d.ts.map +1 -1
  420. package/types/slotted-angular-badge.d.ts +1 -1
  421. package/types/slotted-angular-badge.d.ts.map +1 -1
  422. package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
  423. package/types/slotted-angular-button-group.d.ts +1 -1
  424. package/types/slotted-angular-button-group.d.ts.map +1 -1
  425. package/types/slotted-angular-button.d.ts +33 -13
  426. package/types/slotted-angular-button.d.ts.map +1 -1
  427. package/types/slotted-angular-calendar.d.ts +30 -2
  428. package/types/slotted-angular-calendar.d.ts.map +1 -1
  429. package/types/slotted-angular-card.d.ts.map +1 -1
  430. package/types/slotted-angular-carousel.d.ts.map +1 -1
  431. package/types/slotted-angular-cascader.d.ts.map +1 -1
  432. package/types/slotted-angular-chart.d.ts +10 -0
  433. package/types/slotted-angular-chart.d.ts.map +1 -1
  434. package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
  435. package/types/slotted-angular-checkbox.d.ts +7 -1
  436. package/types/slotted-angular-checkbox.d.ts.map +1 -1
  437. package/types/slotted-angular-code-block.d.ts +1 -1
  438. package/types/slotted-angular-code-block.d.ts.map +1 -1
  439. package/types/slotted-angular-collapsible.d.ts +1 -1
  440. package/types/slotted-angular-collapsible.d.ts.map +1 -1
  441. package/types/slotted-angular-color-picker.d.ts.map +1 -1
  442. package/types/slotted-angular-column-manager.d.ts.map +1 -1
  443. package/types/slotted-angular-combobox.d.ts +5 -1
  444. package/types/slotted-angular-combobox.d.ts.map +1 -1
  445. package/types/slotted-angular-command-palette.d.ts +10 -1
  446. package/types/slotted-angular-command-palette.d.ts.map +1 -1
  447. package/types/slotted-angular-container.d.ts.map +1 -1
  448. package/types/slotted-angular-context-menu.d.ts.map +1 -1
  449. package/types/slotted-angular-currency-field.d.ts +63 -15
  450. package/types/slotted-angular-currency-field.d.ts.map +1 -1
  451. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
  452. package/types/slotted-angular-data-grid.d.ts +49 -4
  453. package/types/slotted-angular-data-grid.d.ts.map +1 -1
  454. package/types/slotted-angular-data-list.d.ts.map +1 -1
  455. package/types/slotted-angular-date-field.d.ts +11 -1
  456. package/types/slotted-angular-date-field.d.ts.map +1 -1
  457. package/types/slotted-angular-date-picker.d.ts +38 -12
  458. package/types/slotted-angular-date-picker.d.ts.map +1 -1
  459. package/types/slotted-angular-date-range-picker.d.ts +0 -1
  460. package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
  461. package/types/slotted-angular-datetime-field.d.ts.map +1 -1
  462. package/types/slotted-angular-datetime-picker.d.ts +0 -1
  463. package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
  464. package/types/slotted-angular-datetime-range-picker.d.ts +0 -1
  465. package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
  466. package/types/slotted-angular-description-list.d.ts.map +1 -1
  467. package/types/slotted-angular-detail-panel.d.ts.map +1 -1
  468. package/types/slotted-angular-dialog.d.ts +10 -3
  469. package/types/slotted-angular-dialog.d.ts.map +1 -1
  470. package/types/slotted-angular-divider.d.ts.map +1 -1
  471. package/types/slotted-angular-drawer.d.ts +7 -1
  472. package/types/slotted-angular-drawer.d.ts.map +1 -1
  473. package/types/slotted-angular-entity-picker.d.ts +63 -15
  474. package/types/slotted-angular-entity-picker.d.ts.map +1 -1
  475. package/types/slotted-angular-event-calendar.d.ts +9 -2
  476. package/types/slotted-angular-event-calendar.d.ts.map +1 -1
  477. package/types/slotted-angular-field-group.d.ts.map +1 -1
  478. package/types/slotted-angular-field.d.ts.map +1 -1
  479. package/types/slotted-angular-filter-bar.d.ts.map +1 -1
  480. package/types/slotted-angular-form.d.ts.map +1 -1
  481. package/types/slotted-angular-fullscreen.d.ts.map +1 -1
  482. package/types/slotted-angular-grid.d.ts.map +1 -1
  483. package/types/slotted-angular-highlight.d.ts.map +1 -1
  484. package/types/slotted-angular-hover-card.d.ts.map +1 -1
  485. package/types/slotted-angular-icon.d.ts +2 -2
  486. package/types/slotted-angular-icon.d.ts.map +1 -1
  487. package/types/slotted-angular-image.d.ts.map +1 -1
  488. package/types/slotted-angular-import-export-center.d.ts.map +1 -1
  489. package/types/slotted-angular-inline-message.d.ts +25 -25
  490. package/types/slotted-angular-inline-message.d.ts.map +1 -1
  491. package/types/slotted-angular-inline.d.ts.map +1 -1
  492. package/types/slotted-angular-kbd.d.ts.map +1 -1
  493. package/types/slotted-angular-link.d.ts.map +1 -1
  494. package/types/slotted-angular-list-item.d.ts +1 -1
  495. package/types/slotted-angular-list-item.d.ts.map +1 -1
  496. package/types/slotted-angular-list.d.ts +42 -27
  497. package/types/slotted-angular-list.d.ts.map +1 -1
  498. package/types/slotted-angular-listbox.d.ts.map +1 -1
  499. package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
  500. package/types/slotted-angular-markdown.d.ts.map +1 -1
  501. package/types/slotted-angular-menu.d.ts +11 -2
  502. package/types/slotted-angular-menu.d.ts.map +1 -1
  503. package/types/slotted-angular-menubar.d.ts.map +1 -1
  504. package/types/slotted-angular-message-scroller.d.ts.map +1 -1
  505. package/types/slotted-angular-message.d.ts +1 -1
  506. package/types/slotted-angular-message.d.ts.map +1 -1
  507. package/types/slotted-angular-multi-select.d.ts +15 -1
  508. package/types/slotted-angular-multi-select.d.ts.map +1 -1
  509. package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
  510. package/types/slotted-angular-notification-center.d.ts +1 -1
  511. package/types/slotted-angular-notification-center.d.ts.map +1 -1
  512. package/types/slotted-angular-number-field.d.ts.map +1 -1
  513. package/types/slotted-angular-otp-input.d.ts.map +1 -1
  514. package/types/slotted-angular-page-header.d.ts +4 -4
  515. package/types/slotted-angular-page-header.d.ts.map +1 -1
  516. package/types/slotted-angular-page.d.ts.map +1 -1
  517. package/types/slotted-angular-pagination.d.ts.map +1 -1
  518. package/types/slotted-angular-popover.d.ts.map +1 -1
  519. package/types/slotted-angular-progress-indicator.d.ts +8 -1
  520. package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
  521. package/types/slotted-angular-prompt-composer.d.ts +11 -2
  522. package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
  523. package/types/slotted-angular-prose.d.ts.map +1 -1
  524. package/types/slotted-angular-radio-group.d.ts.map +1 -1
  525. package/types/slotted-angular-rating.d.ts +1 -1
  526. package/types/slotted-angular-rating.d.ts.map +1 -1
  527. package/types/slotted-angular-result-state.d.ts.map +1 -1
  528. package/types/slotted-angular-saved-views.d.ts.map +1 -1
  529. package/types/slotted-angular-scroll-area.d.ts.map +1 -1
  530. package/types/slotted-angular-section.d.ts +11 -3
  531. package/types/slotted-angular-section.d.ts.map +1 -1
  532. package/types/slotted-angular-segmented-control.d.ts +15 -2
  533. package/types/slotted-angular-segmented-control.d.ts.map +1 -1
  534. package/types/slotted-angular-select.d.ts +12 -2
  535. package/types/slotted-angular-select.d.ts.map +1 -1
  536. package/types/slotted-angular-side-navigation.d.ts.map +1 -1
  537. package/types/slotted-angular-skeleton.d.ts.map +1 -1
  538. package/types/slotted-angular-slider.d.ts.map +1 -1
  539. package/types/slotted-angular-sparkline.d.ts +7 -1
  540. package/types/slotted-angular-sparkline.d.ts.map +1 -1
  541. package/types/slotted-angular-split-button.d.ts +2 -2
  542. package/types/slotted-angular-split-button.d.ts.map +1 -1
  543. package/types/slotted-angular-splitter.d.ts.map +1 -1
  544. package/types/slotted-angular-stack.d.ts.map +1 -1
  545. package/types/slotted-angular-stat-card.d.ts +1 -1
  546. package/types/slotted-angular-stat-card.d.ts.map +1 -1
  547. package/types/slotted-angular-status-indicator.d.ts +1 -1
  548. package/types/slotted-angular-status-indicator.d.ts.map +1 -1
  549. package/types/slotted-angular-stepper.d.ts +1 -1
  550. package/types/slotted-angular-stepper.d.ts.map +1 -1
  551. package/types/slotted-angular-switch.d.ts.map +1 -1
  552. package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
  553. package/types/slotted-angular-table.d.ts +63 -6
  554. package/types/slotted-angular-table.d.ts.map +1 -1
  555. package/types/slotted-angular-tabs.d.ts +3 -4
  556. package/types/slotted-angular-tabs.d.ts.map +1 -1
  557. package/types/slotted-angular-tag.d.ts +1 -1
  558. package/types/slotted-angular-tag.d.ts.map +1 -1
  559. package/types/slotted-angular-tags-input.d.ts +33 -1
  560. package/types/slotted-angular-tags-input.d.ts.map +1 -1
  561. package/types/slotted-angular-text-field.d.ts.map +1 -1
  562. package/types/slotted-angular-textarea.d.ts.map +1 -1
  563. package/types/slotted-angular-theme.d.ts +1 -1
  564. package/types/slotted-angular-time-field.d.ts.map +1 -1
  565. package/types/slotted-angular-time-picker.d.ts +0 -1
  566. package/types/slotted-angular-time-picker.d.ts.map +1 -1
  567. package/types/slotted-angular-time-range-picker.d.ts +0 -1
  568. package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
  569. package/types/slotted-angular-timeline.d.ts +1 -1
  570. package/types/slotted-angular-timeline.d.ts.map +1 -1
  571. package/types/slotted-angular-toast.d.ts +3 -3
  572. package/types/slotted-angular-toast.d.ts.map +1 -1
  573. package/types/slotted-angular-toggle-group.d.ts +8 -2
  574. package/types/slotted-angular-toggle-group.d.ts.map +1 -1
  575. package/types/slotted-angular-toggle.d.ts +1 -1
  576. package/types/slotted-angular-toggle.d.ts.map +1 -1
  577. package/types/slotted-angular-toolbar.d.ts.map +1 -1
  578. package/types/slotted-angular-tooltip.d.ts.map +1 -1
  579. package/types/slotted-angular-top-navigation.d.ts.map +1 -1
  580. package/types/slotted-angular-tour.d.ts.map +1 -1
  581. package/types/slotted-angular-transfer.d.ts.map +1 -1
  582. package/types/slotted-angular-tree.d.ts.map +1 -1
  583. package/types/slotted-angular-typography.d.ts +1 -1
  584. package/types/slotted-angular-typography.d.ts.map +1 -1
  585. package/types/slotted-angular-upload.d.ts +2 -2
  586. package/types/slotted-angular-upload.d.ts.map +1 -1
  587. package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
  588. package/types/slotted-angular-wizard.d.ts.map +1 -1
@@ -185,6 +185,9 @@ class SlCalendar {
185
185
  ...(ngDevMode ? [{ debugName: "view" }] : /* istanbul ignore next */ []));
186
186
  defaultView = input(undefined, /* @ts-ignore */
187
187
  ...(ngDevMode ? [{ debugName: "defaultView" }] : /* istanbul ignore next */ []));
188
+ /** What a choice is: a day, or a month of a year. Defaults to `day`. */
189
+ granularity = input(undefined, /* @ts-ignore */
190
+ ...(ngDevMode ? [{ debugName: "granularity" }] : /* istanbul ignore next */ []));
188
191
  weekNumbers = input(undefined, { ...(ngDevMode ? { debugName: "weekNumbers" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
189
192
  fixedWeeks = input(undefined, { ...(ngDevMode ? { debugName: "fixedWeeks" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
190
193
  outsideDays = input(undefined, /* @ts-ignore */
@@ -248,8 +251,18 @@ class SlCalendar {
248
251
  ...(ngDevMode ? [{ debugName: "held" }] : /* istanbul ignore next */ []));
249
252
  focused = computed(() => this.focusedDate() ?? this.ownFocused(), /* @ts-ignore */
250
253
  ...(ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []));
254
+ /**
255
+ * Under `granularity="month"` the months of a year are where a choice is
256
+ * made: the calendar opens there and never goes below it, so a view asked
257
+ * for as `day` is read as `month`.
258
+ */
259
+ monthly = computed(() => this.granularity() === 'month', /* @ts-ignore */
260
+ ...(ngDevMode ? [{ debugName: "monthly" }] : /* istanbul ignore next */ []));
251
261
  /** Which grid is showing. Public, so a template reaches it through `exportAs`. */
252
- currentView = computed(() => this.view() ?? this.ownView(), /* @ts-ignore */
262
+ currentView = computed(() => {
263
+ const asked = this.view() ?? this.ownView();
264
+ return this.monthly() && asked === 'day' ? 'month' : asked;
265
+ }, /* @ts-ignore */
253
266
  ...(ngDevMode ? [{ debugName: "currentView" }] : /* istanbul ignore next */ []));
254
267
  resolvedMonths = computed(() => Math.max(1, this.months() ?? this.defaults.months), /* @ts-ignore */
255
268
  ...(ngDevMode ? [{ debugName: "resolvedMonths" }] : /* istanbul ignore next */ []));
@@ -286,6 +299,16 @@ class SlCalendar {
286
299
  ...(ngDevMode ? [{ debugName: "weekdayNarrow" }] : /* istanbul ignore next */ []));
287
300
  monthNames = computed(() => this.format().monthNames('short'), /* @ts-ignore */
288
301
  ...(ngDevMode ? [{ debugName: "monthNames" }] : /* istanbul ignore next */ []));
302
+ /** Each paging button is named for the step it takes in the view showing. */
303
+ pageNames = computed(() => {
304
+ const view = this.currentView();
305
+ if (view === 'day')
306
+ return [this.t('previousMonth'), this.t('nextMonth')];
307
+ if (view === 'month')
308
+ return [this.t('previousYear'), this.t('nextYear')];
309
+ return [this.t('previousYears'), this.t('nextYears')];
310
+ }, /* @ts-ignore */
311
+ ...(ngDevMode ? [{ debugName: "pageNames" }] : /* istanbul ignore next */ []));
289
312
  years = computed(() => yearPage(this.focused().year, YEAR_PAGE), /* @ts-ignore */
290
313
  ...(ngDevMode ? [{ debugName: "years" }] : /* istanbul ignore next */ []));
291
314
  shownMonths = computed(() => visibleMonths(this.page(), this.resolvedMonths()), /* @ts-ignore */
@@ -339,7 +362,7 @@ class SlCalendar {
339
362
  }
340
363
  ngOnInit() {
341
364
  this.ownValue.set(this.defaultValue() ?? null);
342
- this.ownView.set(this.defaultView() ?? 'day');
365
+ this.ownView.set(this.defaultView() ?? (this.monthly() ? 'month' : 'day'));
343
366
  this.today.set(todayIn(this.timeZone() ?? this.defaults.timeZone));
344
367
  const start = this.startingDate();
345
368
  this.ownFocused.set(start);
@@ -347,7 +370,9 @@ class SlCalendar {
347
370
  }
348
371
  /** Puts focus on the cell holding the roving tab stop. */
349
372
  focus() {
350
- this.element.querySelector('[data-part="day"][tabindex="0"]')?.focus();
373
+ this.element
374
+ .querySelector('[data-part="day"][tabindex="0"], [data-part="period"][tabindex="0"]')
375
+ ?.focus();
351
376
  }
352
377
  /** Moves the reader to a date, paging the grid to reach it. */
353
378
  focusDate(date) {
@@ -430,6 +455,36 @@ class SlCalendar {
430
455
  this.requestValue(nextValue(date, this.held(), this.selectionMode()), reason, source);
431
456
  this.requestFocused(date, reason, source);
432
457
  }
458
+ /** A month cell's name: the month and the year, which the cell alone does not say. */
459
+ monthLabel(month) {
460
+ return this.format().monthYear(plainDate(this.focused().year, month, 1));
461
+ }
462
+ /** Whether the value's month is this cell of the year on screen. */
463
+ heldMonth(month) {
464
+ const held = this.held();
465
+ if (held === null || Array.isArray(held) || isRange(held))
466
+ return false;
467
+ return held.year === this.focused().year && held.month === month;
468
+ }
469
+ /**
470
+ * A month the bounds leave no day of. The bounds are days, so a month is
471
+ * refused only when it ends before `min` or starts after `max`.
472
+ */
473
+ monthUnavailable(month, year = this.focused().year) {
474
+ const at = year * 12 + month;
475
+ const min = this.min();
476
+ const max = this.max();
477
+ return ((min !== undefined && at < min.year * 12 + min.month) ||
478
+ (max !== undefined && at > max.year * 12 + max.month));
479
+ }
480
+ /** The value of a month cell is the first day of the month. */
481
+ selectMonth(year, month, reason, source) {
482
+ if (!this.editable() || this.monthUnavailable(month, year))
483
+ return;
484
+ const date = plainDate(year, month, 1);
485
+ this.requestValue(date, reason, source);
486
+ this.requestFocused(date, reason, source);
487
+ }
433
488
  /** The reader moves with the page rather than staying behind it. */
434
489
  turnPage(direction, source) {
435
490
  const focused = this.focused();
@@ -471,6 +526,43 @@ class SlCalendar {
471
526
  consume();
472
527
  this.requestFocused(next, 'keyboard', event);
473
528
  };
529
+ /**
530
+ * The months of a year, as a grid of four columns: the arrows move one
531
+ * month or one row, Home and End reach January and December, the page
532
+ * keys move a year, and Enter or Space chooses. Escape is left alone, so
533
+ * the surface above the calendar may close on it.
534
+ */
535
+ if (this.monthly() && this.currentView() === 'month') {
536
+ const toMonth = (delta) => {
537
+ const index = focused.year * 12 + (focused.month - 1) + delta;
538
+ return plainDate(Math.floor(index / 12), (index % 12) + 1, 1);
539
+ };
540
+ switch (event.key) {
541
+ case forward:
542
+ return move(toMonth(1));
543
+ case backward:
544
+ return move(toMonth(-1));
545
+ case 'ArrowUp':
546
+ return move(toMonth(-4));
547
+ case 'ArrowDown':
548
+ return move(toMonth(4));
549
+ case 'Home':
550
+ return move(plainDate(focused.year, 1, 1));
551
+ case 'End':
552
+ return move(plainDate(focused.year, 12, 1));
553
+ case 'PageUp':
554
+ return move(toMonth(-12));
555
+ case 'PageDown':
556
+ return move(toMonth(12));
557
+ case 'Enter':
558
+ case ' ':
559
+ consume();
560
+ this.selectMonth(focused.year, focused.month, 'keyboard', event);
561
+ return;
562
+ default:
563
+ break;
564
+ }
565
+ }
474
566
  switch (event.key) {
475
567
  case forward:
476
568
  return move(addDays(focused, 1));
@@ -499,8 +591,9 @@ class SlCalendar {
499
591
  passed on, and no layer is asked to close. */
500
592
  /* In the day view the key is left alone, so a surface above the
501
593
  calendar may still close on it. */
502
- if (this.currentView() === 'day')
594
+ if (this.currentView() === 'day' || (this.monthly() && this.currentView() === 'month')) {
503
595
  return;
596
+ }
504
597
  consume();
505
598
  this.setView(this.currentView() === 'year' ? 'month' : 'day');
506
599
  return;
@@ -584,7 +677,7 @@ class SlCalendar {
584
677
  this.restoreFocus = false;
585
678
  return;
586
679
  }
587
- const stop = this.element.querySelector('[data-part="cell"]:not([data-outside-month]) [data-part="day"][tabindex="0"]');
680
+ const stop = this.element.querySelector('[data-part="cell"]:not([data-outside-month]) [data-part="day"][tabindex="0"], [data-part="period"][tabindex="0"]');
588
681
  if (stop !== null) {
589
682
  this.restoreFocus = false;
590
683
  stop.focus();
@@ -598,11 +691,12 @@ class SlCalendar {
598
691
  }, { injector: this.injector });
599
692
  }
600
693
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCalendar, deps: [], target: i0.ɵɵFactoryTarget.Component });
601
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlCalendar, isStandalone: true, selector: "[slCalendar]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, isDateUnavailable: { classPropertyName: "isDateUnavailable", publicName: "isDateUnavailable", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, months: { classPropertyName: "months", publicName: "months", isSignal: true, isRequired: false, transformFunction: null }, view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, defaultView: { classPropertyName: "defaultView", publicName: "defaultView", isSignal: true, isRequired: false, transformFunction: null }, weekNumbers: { classPropertyName: "weekNumbers", publicName: "weekNumbers", isSignal: true, isRequired: false, transformFunction: null }, fixedWeeks: { classPropertyName: "fixedWeeks", publicName: "fixedWeeks", isSignal: true, isRequired: false, transformFunction: null }, outsideDays: { classPropertyName: "outsideDays", publicName: "outsideDays", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, timeZone: { classPropertyName: "timeZone", publicName: "timeZone", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", focusedDateChange: "focusedDateChange", viewChange: "viewChange", previewChange: "previewChange" }, host: { attributes: { "data-ui": "calendar", "data-part": "root" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.data-view": "currentView()", "attr.data-calendar": "resolvedCalendar()", "attr.data-months": "resolvedMonths() > 1 ? resolvedMonths() : null", "attr.data-week-numbers": "resolvedWeekNumbers() ? '' : null", "attr.data-disabled": "disabled() === true ? '' : null", "attr.data-readonly": "readOnly() === true ? '' : null", "attr.data-invalid": "invalid() === true ? '' : null" } }, exportAs: ["slCalendar"], ngImport: i0, template: `<div data-part="header">
694
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlCalendar, isStandalone: true, selector: "[slCalendar]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, isDateUnavailable: { classPropertyName: "isDateUnavailable", publicName: "isDateUnavailable", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, months: { classPropertyName: "months", publicName: "months", isSignal: true, isRequired: false, transformFunction: null }, view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, defaultView: { classPropertyName: "defaultView", publicName: "defaultView", isSignal: true, isRequired: false, transformFunction: null }, granularity: { classPropertyName: "granularity", publicName: "granularity", isSignal: true, isRequired: false, transformFunction: null }, weekNumbers: { classPropertyName: "weekNumbers", publicName: "weekNumbers", isSignal: true, isRequired: false, transformFunction: null }, fixedWeeks: { classPropertyName: "fixedWeeks", publicName: "fixedWeeks", isSignal: true, isRequired: false, transformFunction: null }, outsideDays: { classPropertyName: "outsideDays", publicName: "outsideDays", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, timeZone: { classPropertyName: "timeZone", publicName: "timeZone", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", focusedDateChange: "focusedDateChange", viewChange: "viewChange", previewChange: "previewChange" }, host: { attributes: { "data-ui": "calendar", "data-ui-calendar": "", "data-part": "root", "data-part-root": "" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.data-view": "currentView()", "attr.data-calendar": "resolvedCalendar()", "attr.data-months": "resolvedMonths() > 1 ? resolvedMonths() : null", "attr.data-week-numbers": "resolvedWeekNumbers() ? '' : null", "attr.data-disabled": "disabled() === true ? '' : null", "attr.data-readonly": "readOnly() === true ? '' : null", "attr.data-invalid": "invalid() === true ? '' : null" } }, exportAs: ["slCalendar"], ngImport: i0, template: `<div data-part="header" data-part-header="">
602
695
  <button
603
696
  data-part="previous"
697
+ data-part-previous=""
604
698
  type="button"
605
- [attr.aria-label]="t('previous')"
699
+ [attr.aria-label]="pageNames()[0]"
606
700
  [disabled]="!editable()"
607
701
  (click)="turnPage(-1, $event)"
608
702
  >
@@ -614,6 +708,7 @@ class SlCalendar {
614
708
  -->
615
709
  <button
616
710
  data-part="heading"
711
+ data-part-heading=""
617
712
  type="button"
618
713
  aria-live="polite"
619
714
  [attr.id]="headingId"
@@ -627,8 +722,9 @@ class SlCalendar {
627
722
  </button>
628
723
  <button
629
724
  data-part="next"
725
+ data-part-next=""
630
726
  type="button"
631
- [attr.aria-label]="t('next')"
727
+ [attr.aria-label]="pageNames()[1]"
632
728
  [disabled]="!editable()"
633
729
  (click)="turnPage(1, $event)"
634
730
  >
@@ -638,21 +734,31 @@ class SlCalendar {
638
734
 
639
735
  @switch (currentView()) {
640
736
  @case ('day') {
641
- <div data-part="grids">
737
+ <div data-part="grids" data-part-grids="">
642
738
  @for (month of shownMonths(); track month.year * 12 + month.month) {
643
- <table data-part="grid" role="grid" [attr.aria-labelledby]="headingId">
644
- <caption data-part="grid-caption">
739
+ <table
740
+ data-part="grid"
741
+ data-part-grid=""
742
+ role="grid"
743
+ [attr.aria-labelledby]="headingId"
744
+ >
745
+ <caption data-part="grid-caption" data-part-grid-caption="">
645
746
  {{
646
747
  captionOf(month)
647
748
  }}
648
749
  </caption>
649
750
  <thead>
650
- <tr data-part="week-headers">
751
+ <tr data-part="week-headers" data-part-week-headers="">
651
752
  @if (resolvedWeekNumbers()) {
652
- <th data-part="week-number" aria-hidden="true"></th>
753
+ <th data-part="week-number" data-part-week-number="" aria-hidden="true"></th>
653
754
  }
654
755
  @for (name of weekdayNarrow(); track $index) {
655
- <th data-part="week-header" scope="col" [attr.abbr]="weekdayLong()[$index]">
756
+ <th
757
+ data-part="week-header"
758
+ data-part-week-header=""
759
+ scope="col"
760
+ [attr.abbr]="weekdayLong()[$index]"
761
+ >
656
762
  {{ name }}
657
763
  </th>
658
764
  }
@@ -660,9 +766,11 @@ class SlCalendar {
660
766
  </thead>
661
767
  <tbody>
662
768
  @for (week of weeksOf(month); track week.weekNumber) {
663
- <tr data-part="week">
769
+ <tr data-part="week" data-part-week="">
664
770
  @if (resolvedWeekNumbers()) {
665
- <th data-part="week-number" scope="row">{{ week.weekNumber }}</th>
771
+ <th data-part="week-number" data-part-week-number="" scope="row">
772
+ {{ week.weekNumber }}
773
+ </th>
666
774
  }
667
775
  @for (
668
776
  day of week.days;
@@ -674,6 +782,7 @@ class SlCalendar {
674
782
  digits under it. -->
675
783
  <td
676
784
  data-part="cell"
785
+ data-part-cell=""
677
786
  [attr.data-outside-month]="day.outsideMonth ? '' : null"
678
787
  [attr.data-unavailable]="
679
788
  !drawn(day) ? null : unavailable(day.date) ? '' : null
@@ -693,6 +802,7 @@ class SlCalendar {
693
802
  @if (drawn(day)) {
694
803
  <span
695
804
  data-part="day"
805
+ data-part-day=""
696
806
  role="button"
697
807
  [attr.data-today]="isToday(day.date) ? '' : null"
698
808
  [attr.aria-selected]="chosen(day.date) ? 'true' : null"
@@ -715,25 +825,49 @@ class SlCalendar {
715
825
  </div>
716
826
  }
717
827
  @case ('month') {
718
- <div data-part="months">
719
- @for (name of monthNames(); track $index) {
720
- <button
721
- data-part="period"
722
- type="button"
723
- [attr.data-selected]="focused().month === $index + 1 ? '' : null"
724
- [attr.aria-selected]="focused().month === $index + 1 ? 'true' : null"
725
- (click)="pickMonth($index + 1, $event)"
726
- >
727
- {{ name }}
728
- </button>
729
- }
730
- </div>
828
+ @if (monthly()) {
829
+ <div data-part="months" data-part-months="">
830
+ @for (name of monthNames(); track $index) {
831
+ <button
832
+ data-part="period"
833
+ data-part-period=""
834
+ type="button"
835
+ [attr.aria-label]="monthLabel($index + 1)"
836
+ [attr.data-selected]="heldMonth($index + 1) ? '' : null"
837
+ [attr.aria-selected]="heldMonth($index + 1) ? 'true' : null"
838
+ [attr.aria-disabled]="monthUnavailable($index + 1) ? 'true' : null"
839
+ [attr.data-unavailable]="monthUnavailable($index + 1) ? '' : null"
840
+ [attr.data-focused]="focused().month === $index + 1 ? '' : null"
841
+ [tabindex]="focused().month === $index + 1 ? 0 : -1"
842
+ (click)="selectMonth(focused().year, $index + 1, 'pointer', $event)"
843
+ >
844
+ {{ name }}
845
+ </button>
846
+ }
847
+ </div>
848
+ } @else {
849
+ <div data-part="months" data-part-months="">
850
+ @for (name of monthNames(); track $index) {
851
+ <button
852
+ data-part="period"
853
+ data-part-period=""
854
+ type="button"
855
+ [attr.data-selected]="focused().month === $index + 1 ? '' : null"
856
+ [attr.aria-selected]="focused().month === $index + 1 ? 'true' : null"
857
+ (click)="pickMonth($index + 1, $event)"
858
+ >
859
+ {{ name }}
860
+ </button>
861
+ }
862
+ </div>
863
+ }
731
864
  }
732
865
  @default {
733
- <div data-part="years">
866
+ <div data-part="years" data-part-years="">
734
867
  @for (year of years(); track year) {
735
868
  <button
736
869
  data-part="period"
870
+ data-part-period=""
737
871
  type="button"
738
872
  [attr.data-selected]="focused().year === year ? '' : null"
739
873
  [attr.aria-selected]="focused().year === year ? 'true' : null"
@@ -744,15 +878,16 @@ class SlCalendar {
744
878
  }
745
879
  </div>
746
880
  }
747
- }`, isInline: true, styles: ["@layer slotted.components{[data-ui=calendar][data-part=root]{container-type:inline-size;container-name:slotted-calendar;--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_cell-size: var(--slotted-calendar-cell-size, var(--slotted-control-height-md, 34px));--_columns: 7;--_months: 1;--_month-gap: var(--slotted-space-6, 1rem);--_week-number-columns: 0;--_grid-size: calc(var(--_cell-size) * (var(--_columns) + var(--_week-number-columns)));background-color:var(--slotted-calendar-background, transparent);box-sizing:border-box;color:var(--slotted-calendar-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);--_heading-floor: calc(20ch + 3 * var(--_icon-size) + 4 * var(--_gap));inline-size:max(calc(var(--_grid-size) * var(--_months) + var(--_month-gap) * (var(--_months) - 1)),var(--_heading-floor));max-inline-size:100%}[data-ui=calendar][data-part=root][data-week-numbers]{--_week-number-columns: .75}[data-ui=calendar][data-part=root][data-months=\"2\"]{--_months: 2}[data-ui=calendar][data-part=root][data-months=\"3\"]{--_months: 3}[data-ui=calendar] [data-part=header],[data-ui=calendar] [data-part=grids],[data-ui=calendar] [data-part=months],[data-ui=calendar] [data-part=years]{--_cell-size: clamp( var(--slotted-target-min, 24px), calc(100cqi / (var(--_columns) + var(--_week-number-columns)) / var(--_months)), var(--slotted-calendar-cell-size, var(--slotted-control-height-md, 34px)) )}[data-ui=calendar] [data-part=header]{align-items:center;display:flex;gap:var(--slotted-space-2, .25rem);inline-size:100%;justify-content:space-between}[data-ui=calendar] [data-part=heading]{--slotted-icon-size: var(--_icon-size);appearance:none;background-color:transparent;border:0;border-radius:var(--slotted-calendar-radius, var(--slotted-control-radius, 4px));color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--slotted-space-2, .25rem);font:inherit;font-weight:var(--slotted-font-weight-semibold, 600);flex:1 1 auto;justify-content:safe center;min-inline-size:0;padding-block:var(--slotted-space-2, .25rem);padding-inline:var(--slotted-space-2, .25rem);overflow:hidden;white-space:nowrap;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=calendar] [data-part=previous],[data-ui=calendar] [data-part=next]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_cell-size);border:0;border-radius:var(--slotted-calendar-radius, var(--slotted-control-radius, 4px));color:var(--slotted-calendar-trigger-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;inline-size:var(--_cell-size);justify-content:center;padding:0;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=calendar] [data-part=previous]>[data-ui=icon]{rotate:180deg}[data-ui=calendar] [data-part=grids]{display:flex;flex-wrap:wrap;gap:var(--_month-gap);justify-content:center}[data-ui=calendar] [data-part=grid]{border-collapse:collapse;table-layout:fixed}[data-ui=calendar] [data-part=grid-caption]{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}[data-ui=calendar][data-part=root]:is([data-months=\"2\"],[data-months=\"3\"]) [data-part=grid-caption]{block-size:auto;clip-path:none;color:var(--slotted-calendar-weekday-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-semibold, 600);inline-size:auto;overflow:visible;padding-block-end:var(--slotted-space-2, .25rem);position:static}[data-ui=calendar] [data-part=week-header]{block-size:var(--_cell-size);color:var(--slotted-calendar-weekday-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-medium, 500);inline-size:var(--_cell-size);padding:0;text-overflow:clip}[data-ui=calendar] [data-part=week-number]{color:var(--slotted-calendar-week-number-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-regular, 400);inline-size:calc(var(--_cell-size) * .75);padding:0;border-inline-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-calendar-week-number-border-color, var(--slotted-border-subtle, ButtonBorder))}[data-ui=calendar] [data-part=cell]{padding:0;position:relative}[data-ui=calendar] [data-part=day]{--_inset: var(--slotted-border-width-thin, 1px);align-items:center;block-size:calc(var(--_cell-size) - var(--_inset) * 2);inline-size:calc(var(--_cell-size) - var(--_inset) * 2);margin:var(--_inset);border-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));box-sizing:border-box;color:inherit;cursor:pointer;display:flex;font-variant-numeric:tabular-nums;flex-direction:column;gap:var(--slotted-space-1, .125rem);justify-content:center;line-height:1;position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}[data-ui=calendar] [data-part=day]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}[data-ui=calendar] [data-part=months],[data-ui=calendar] [data-part=years]{display:grid;gap:var(--slotted-space-2, .25rem);grid-template-columns:repeat(4,1fr);inline-size:calc(var(--_cell-size) * var(--_columns))}[data-ui=calendar] [data-part=period]{align-items:center;appearance:none;background-color:transparent;block-size:var(--_cell-size);border:0;border-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:center;padding-inline:var(--slotted-space-2, .25rem);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=calendar] [data-part=day][data-today]{color:var(--slotted-calendar-today-color, var(--slotted-tone-accent-text));font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui=calendar] [data-part=day]:before{background-color:transparent;block-size:var(--slotted-space-2, .25rem);border-radius:var(--slotted-radius-full, 9999px);content:\"\";flex:0 0 auto;inline-size:var(--slotted-space-2, .25rem);order:1}[data-ui=calendar] [data-part=day][data-today]:before{background-color:currentcolor}[data-ui=calendar] [data-part=cell][data-outside-month] [data-part=day]{color:var(--slotted-calendar-outside-color, var(--slotted-text-muted, GrayText))}[data-ui=calendar] [data-part=cell][data-unavailable] [data-part=day]{color:var(--slotted-calendar-unavailable-color, var(--slotted-disabled-foreground));cursor:not-allowed;text-decoration:line-through;text-decoration-thickness:var(--slotted-border-width-thin, 1px)}[data-ui=calendar] [data-part=cell][data-in-range]:before,[data-ui=calendar] [data-part=cell][data-range-start]:before,[data-ui=calendar] [data-part=cell][data-range-end]:before{background-color:var( --slotted-calendar-range-background, color-mix( in oklab, var(--slotted-tone-accent-text) calc(var(--slotted-highlight-tint-opacity, .075) * 100%), transparent ) );content:\"\";inset:0;position:absolute}[data-ui=calendar] [data-part=cell][data-range-start]:before{border-end-start-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));border-start-start-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px))}[data-ui=calendar] [data-part=cell][data-range-end]:before{border-end-end-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));border-start-end-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px))}[data-ui=calendar] [data-part=cell][data-range-start]:not([data-range-end]) [data-part=day]{border-end-end-radius:0;border-start-end-radius:0}[data-ui=calendar] [data-part=cell][data-range-end]:not([data-range-start]) [data-part=day]{border-end-start-radius:0;border-start-start-radius:0}[data-ui=calendar] [data-part=cell]:is([data-in-range],[data-range-start],[data-range-end]) [data-part=day]{--_inset: 0px}[data-ui=calendar] [data-part=cell][data-in-range] [data-part=day]{border-radius:0;color:var(--slotted-calendar-in-range-color, var(--slotted-tone-accent-text))}[data-ui=calendar] [data-part=cell][data-preview]:before{background-color:var( --slotted-calendar-preview-background, color-mix( in oklab, var(--slotted-tone-accent-text) calc(var(--slotted-highlight-tint-opacity, .075) * 50%), transparent ) )}[data-ui=calendar] [data-part=cell][data-preview]:is([data-range-start],[data-range-end]):not([data-selected]) [data-part=day]{box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-calendar-preview-border-color, var(--slotted-tone-accent-border));color:var(--slotted-calendar-in-range-color, var(--slotted-tone-accent-text))}[data-ui=calendar] [data-part=day]:hover:not([data-disabled]),[data-ui=calendar] [data-part=period]:hover:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=heading]:hover:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=previous]:hover:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=next]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-calendar-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=calendar] [data-part=day]:active:not([data-disabled]),[data-ui=calendar] [data-part=period]:active:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=previous]:active:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=next]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-calendar-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=calendar] [data-part=cell][data-in-range] [data-part=day]:hover:not([data-disabled]){background-color:var( --slotted-calendar-range-hover-background, var(--slotted-tone-accent-subtle-hover) )}[data-ui=calendar] [data-part=cell][data-in-range] [data-part=day]:active:not([data-disabled]){background-color:var( --slotted-calendar-range-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui=calendar] [data-part=cell][data-unavailable] [data-part=day]:hover:not([data-disabled]),[data-ui=calendar] [data-part=cell][data-unavailable] [data-part=day]:active:not([data-disabled]){background-color:transparent}[data-ui=calendar] [data-part=cell][data-selected] [data-part=day],[data-ui=calendar] [data-part=period][data-selected]{background-color:var(--slotted-calendar-selected-background, var(--slotted-tone-accent-solid));color:var(--slotted-calendar-selected-color, var(--slotted-tone-accent-on-solid));font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui=calendar] [data-part=day]:focus-visible,[data-ui=calendar] [data-part=period]:focus-visible,[data-ui=calendar] [data-part=heading]:focus-visible,[data-ui=calendar] [data-part=previous]:focus-visible,[data-ui=calendar] [data-part=next]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=calendar][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-calendar-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=calendar][data-part=root][data-invalid] [data-part=day]:focus-visible,[data-ui=calendar][data-part=root][data-invalid] [data-part=period]:focus-visible,[data-ui=calendar][data-part=root][data-invalid] [data-part=heading]:focus-visible,[data-ui=calendar][data-part=root][data-invalid] [data-part=previous]:focus-visible,[data-ui=calendar][data-part=root][data-invalid] [data-part=next]:focus-visible{--_invalid-ring: calc( var(--slotted-focus-ring-width, 2px) + var(--slotted-calendar-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px)) );outline-offset:calc(var(--_invalid-ring) * -1);outline-width:var(--_invalid-ring)}[data-ui=calendar][data-part=root][data-readonly] [data-part=day],[data-ui=calendar][data-part=root][data-readonly] [data-part=period]{cursor:default}[data-ui=calendar][data-part=root][data-disabled]{color:var(--slotted-calendar-disabled-color, var(--slotted-disabled-foreground))}[data-ui=calendar][data-part=root][data-disabled] [data-part=day][data-today]{color:var(--slotted-disabled-foreground)}[data-ui=calendar][data-part=root][data-disabled] [data-part=cell][data-selected] [data-part=day]{background-color:var(--slotted-disabled-background);color:var(--slotted-disabled-foreground)}[data-ui=calendar][data-part=root][data-disabled] [data-part=day],[data-ui=calendar][data-part=root][data-disabled] [data-part=period],[data-ui=calendar][data-part=root][data-disabled] [data-part=previous],[data-ui=calendar][data-part=root][data-disabled] [data-part=next],[data-ui=calendar][data-part=root][data-disabled] [data-part=heading]{cursor:not-allowed}[data-ui=calendar] [data-part=previous]:disabled,[data-ui=calendar] [data-part=next]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}@container slotted-calendar (max-width: 320px){[data-ui=calendar] [data-part=grids]{--_month-gap: var(--slotted-space-4, .5rem)}}@media(forced-colors:active){[data-ui=calendar] [data-part=cell][data-in-range]:before,[data-ui=calendar] [data-part=cell][data-range-start]:before,[data-ui=calendar] [data-part=cell][data-range-end]:before{border-block:var(--slotted-border-width-thin, 1px) solid var(--slotted-calendar-range-border-color, var(--slotted-tone-accent-border))}[data-ui=calendar] [data-part=cell][data-preview]:before{border-block-style:dashed}}}\n"], dependencies: [{ kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
881
+ }`, isInline: true, styles: ["@layer slotted.components{[data-ui-calendar][data-part-root]{container-type:inline-size;container-name:slotted-calendar;--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_cell-size: var(--slotted-calendar-cell-size, var(--slotted-control-height-md, 34px));--_columns: 7;--_months: 1;--_month-gap: var(--slotted-space-6, 1rem);--_week-number-columns: 0;--_grid-size: calc(var(--_cell-size) * (var(--_columns) + var(--_week-number-columns)));background-color:var(--slotted-calendar-background, transparent);box-sizing:border-box;color:var(--slotted-calendar-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);--_heading-floor: calc(20ch + 3 * var(--_icon-size) + 4 * var(--_gap));inline-size:max(calc(var(--_grid-size) * var(--_months) + var(--_month-gap) * (var(--_months) - 1)),var(--_heading-floor));max-inline-size:100%}[data-ui-calendar][data-part-root][data-week-numbers]{--_week-number-columns: .75}[data-ui-calendar][data-part-root][data-months=\"2\"]{--_months: 2}[data-ui-calendar][data-part-root][data-months=\"3\"]{--_months: 3}[data-ui-calendar] [data-part-header],[data-ui-calendar] [data-part-grids],[data-ui-calendar] [data-part-months],[data-ui-calendar] [data-part-years]{--_cell-size: clamp( var(--slotted-target-min, 24px), calc(100cqi / (var(--_columns) + var(--_week-number-columns)) / var(--_months)), var(--slotted-calendar-cell-size, var(--slotted-control-height-md, 34px)) )}[data-ui-calendar] [data-part-header]{align-items:center;display:flex;gap:var(--slotted-space-2, .25rem);inline-size:100%;justify-content:space-between}[data-ui-calendar] [data-part-heading]{--slotted-icon-size: var(--_icon-size);appearance:none;background-color:transparent;border:0;border-radius:var(--slotted-calendar-radius, var(--slotted-control-radius, 4px));color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--slotted-space-2, .25rem);font:inherit;font-weight:var(--slotted-font-weight-semibold, 600);flex:1 1 auto;justify-content:safe center;min-inline-size:0;padding-block:var(--slotted-space-2, .25rem);padding-inline:var(--slotted-space-2, .25rem);overflow:hidden;white-space:nowrap;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui-calendar] [data-part-previous],[data-ui-calendar] [data-part-next]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_cell-size);border:0;border-radius:var(--slotted-calendar-radius, var(--slotted-control-radius, 4px));color:var(--slotted-calendar-trigger-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;inline-size:var(--_cell-size);justify-content:center;padding:0;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui-calendar] [data-part-previous]>[data-ui-icon]{rotate:180deg}[data-ui-calendar] [data-part-grids]{display:flex;flex-wrap:wrap;gap:var(--_month-gap);justify-content:center}[data-ui-calendar] [data-part-grid]{border-collapse:collapse;table-layout:fixed}[data-ui-calendar] [data-part-grid-caption]{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}[data-ui-calendar][data-part-root]:is([data-months=\"2\"],[data-months=\"3\"]) [data-part-grid-caption]{block-size:auto;clip-path:none;color:var(--slotted-calendar-weekday-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-semibold, 600);inline-size:auto;overflow:visible;padding-block-end:var(--slotted-space-2, .25rem);position:static}[data-ui-calendar] [data-part-week-header]{block-size:var(--_cell-size);color:var(--slotted-calendar-weekday-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-medium, 500);inline-size:var(--_cell-size);padding:0;text-overflow:clip}[data-ui-calendar] [data-part-week-number]{color:var(--slotted-calendar-week-number-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-regular, 400);inline-size:calc(var(--_cell-size) * .75);padding:0;border-inline-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-calendar-week-number-border-color, var(--slotted-border-subtle, ButtonBorder))}[data-ui-calendar] [data-part-cell]{padding:0;position:relative}[data-ui-calendar] [data-part-day]{--_inset: var(--slotted-border-width-thin, 1px);align-items:center;block-size:calc(var(--_cell-size) - var(--_inset) * 2);inline-size:calc(var(--_cell-size) - var(--_inset) * 2);margin:var(--_inset);border-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));box-sizing:border-box;color:inherit;cursor:pointer;display:flex;font-variant-numeric:tabular-nums;flex-direction:column;gap:var(--slotted-space-1, .125rem);justify-content:center;line-height:1;position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}[data-ui-calendar] [data-part-day]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}[data-ui-calendar] [data-part-months],[data-ui-calendar] [data-part-years]{display:grid;gap:var(--slotted-space-2, .25rem);grid-template-columns:repeat(4,1fr);inline-size:calc(var(--_cell-size) * var(--_columns))}[data-ui-calendar] [data-part-period]{align-items:center;appearance:none;background-color:transparent;block-size:var(--_cell-size);border:0;border-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:center;padding-inline:var(--slotted-space-2, .25rem);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui-calendar] [data-part-day][data-today]{color:var(--slotted-calendar-today-color, var(--slotted-tone-accent-text));font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui-calendar] [data-part-day]:before{background-color:transparent;block-size:var(--slotted-space-2, .25rem);border-radius:var(--slotted-radius-full, 9999px);content:\"\";flex:0 0 auto;inline-size:var(--slotted-space-2, .25rem);order:1}[data-ui-calendar] [data-part-day][data-today]:before{background-color:currentcolor}[data-ui-calendar] [data-part-cell][data-outside-month] [data-part-day]{color:var(--slotted-calendar-outside-color, var(--slotted-text-muted, GrayText))}[data-ui-calendar] [data-part-cell][data-unavailable] [data-part-day]{color:var(--slotted-calendar-unavailable-color, var(--slotted-disabled-foreground));cursor:not-allowed;text-decoration:line-through;text-decoration-thickness:var(--slotted-border-width-thin, 1px)}[data-ui-calendar] [data-part-cell][data-in-range]:before,[data-ui-calendar] [data-part-cell][data-range-start]:before,[data-ui-calendar] [data-part-cell][data-range-end]:before{background-color:var( --slotted-calendar-range-background, color-mix( in oklab, var(--slotted-tone-accent-text) calc(var(--slotted-highlight-tint-opacity, .075) * 100%), transparent ) );content:\"\";inset:0;position:absolute}[data-ui-calendar] [data-part-cell][data-range-start]:before{border-end-start-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));border-start-start-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px))}[data-ui-calendar] [data-part-cell][data-range-end]:before{border-end-end-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));border-start-end-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px))}[data-ui-calendar] [data-part-cell][data-range-start]:not([data-range-end]) [data-part-day]{border-end-end-radius:0;border-start-end-radius:0}[data-ui-calendar] [data-part-cell][data-range-end]:not([data-range-start]) [data-part-day]{border-end-start-radius:0;border-start-start-radius:0}[data-ui-calendar] [data-part-cell]:is([data-in-range],[data-range-start],[data-range-end]) [data-part-day]{--_inset: 0px}[data-ui-calendar] [data-part-cell][data-in-range] [data-part-day]{border-radius:0;color:var(--slotted-calendar-in-range-color, var(--slotted-tone-accent-text))}[data-ui-calendar] [data-part-cell][data-preview]:before{background-color:var( --slotted-calendar-preview-background, color-mix( in oklab, var(--slotted-tone-accent-text) calc(var(--slotted-highlight-tint-opacity, .075) * 50%), transparent ) )}[data-ui-calendar] [data-part-cell][data-preview]:is([data-range-start],[data-range-end]):not([data-selected]) [data-part-day]{box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-calendar-preview-border-color, var(--slotted-tone-accent-border));color:var(--slotted-calendar-in-range-color, var(--slotted-tone-accent-text))}[data-ui-calendar] [data-part-day]:hover:not([data-disabled]),[data-ui-calendar] [data-part-period]:hover:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-heading]:hover:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-previous]:hover:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-next]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-calendar-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui-calendar] [data-part-day]:active:not([data-disabled]),[data-ui-calendar] [data-part-period]:active:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-previous]:active:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-next]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-calendar-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui-calendar] [data-part-cell][data-in-range] [data-part-day]:hover:not([data-disabled]){background-color:var( --slotted-calendar-range-hover-background, var(--slotted-tone-accent-subtle-hover) )}[data-ui-calendar] [data-part-cell][data-in-range] [data-part-day]:active:not([data-disabled]){background-color:var( --slotted-calendar-range-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui-calendar] [data-part-cell][data-unavailable] [data-part-day]:hover:not([data-disabled]),[data-ui-calendar] [data-part-cell][data-unavailable] [data-part-day]:active:not([data-disabled]){background-color:transparent}[data-ui-calendar] [data-part-cell][data-selected] [data-part-day],[data-ui-calendar] [data-part-period][data-selected]{background-color:var(--slotted-calendar-selected-background, var(--slotted-tone-accent-solid));color:var(--slotted-calendar-selected-color, var(--slotted-tone-accent-on-solid));font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui-calendar] [data-part-day]:focus-visible,[data-ui-calendar] [data-part-period]:focus-visible,[data-ui-calendar] [data-part-heading]:focus-visible,[data-ui-calendar] [data-part-previous]:focus-visible,[data-ui-calendar] [data-part-next]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui-calendar][data-part-root][data-invalid]{--slotted-focus-ring-color: var( --slotted-calendar-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui-calendar][data-part-root][data-invalid] [data-part-day]:focus-visible,[data-ui-calendar][data-part-root][data-invalid] [data-part-period]:focus-visible,[data-ui-calendar][data-part-root][data-invalid] [data-part-heading]:focus-visible,[data-ui-calendar][data-part-root][data-invalid] [data-part-previous]:focus-visible,[data-ui-calendar][data-part-root][data-invalid] [data-part-next]:focus-visible{--_invalid-ring: calc( var(--slotted-focus-ring-width, 2px) + var(--slotted-calendar-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px)) );outline-offset:calc(var(--_invalid-ring) * -1);outline-width:var(--_invalid-ring)}[data-ui-calendar][data-part-root][data-readonly] [data-part-day],[data-ui-calendar][data-part-root][data-readonly] [data-part-period]{cursor:default}[data-ui-calendar][data-part-root][data-disabled]{color:var(--slotted-calendar-disabled-color, var(--slotted-disabled-foreground))}[data-ui-calendar][data-part-root][data-disabled] [data-part-day][data-today]{color:var(--slotted-disabled-foreground)}[data-ui-calendar][data-part-root][data-disabled] [data-part-cell][data-selected] [data-part-day]{background-color:var(--slotted-disabled-background);color:var(--slotted-disabled-foreground)}[data-ui-calendar][data-part-root][data-disabled] [data-part-day],[data-ui-calendar][data-part-root][data-disabled] [data-part-period],[data-ui-calendar][data-part-root][data-disabled] [data-part-previous],[data-ui-calendar][data-part-root][data-disabled] [data-part-next],[data-ui-calendar][data-part-root][data-disabled] [data-part-heading]{cursor:not-allowed}[data-ui-calendar] [data-part-previous]:disabled,[data-ui-calendar] [data-part-next]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}@container slotted-calendar (max-width: 320px){[data-ui-calendar] [data-part-grids]{--_month-gap: var(--slotted-space-4, .5rem)}}@media(forced-colors:active){[data-ui-calendar] [data-part-cell][data-in-range]:before,[data-ui-calendar] [data-part-cell][data-range-start]:before,[data-ui-calendar] [data-part-cell][data-range-end]:before{border-block:var(--slotted-border-width-thin, 1px) solid var(--slotted-calendar-range-border-color, var(--slotted-tone-accent-border))}[data-ui-calendar] [data-part-cell][data-preview]:before{border-block-style:dashed}}}\n"], dependencies: [{ kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
748
882
  }
749
883
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCalendar, decorators: [{
750
884
  type: Component,
751
- args: [{ selector: '[slCalendar]', standalone: true, exportAs: 'slCalendar', imports: [SlGlyph, SlIcon], template: `<div data-part="header">
885
+ args: [{ selector: '[slCalendar]', standalone: true, exportAs: 'slCalendar', imports: [SlGlyph, SlIcon], template: `<div data-part="header" data-part-header="">
752
886
  <button
753
887
  data-part="previous"
888
+ data-part-previous=""
754
889
  type="button"
755
- [attr.aria-label]="t('previous')"
890
+ [attr.aria-label]="pageNames()[0]"
756
891
  [disabled]="!editable()"
757
892
  (click)="turnPage(-1, $event)"
758
893
  >
@@ -764,6 +899,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
764
899
  -->
765
900
  <button
766
901
  data-part="heading"
902
+ data-part-heading=""
767
903
  type="button"
768
904
  aria-live="polite"
769
905
  [attr.id]="headingId"
@@ -777,8 +913,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
777
913
  </button>
778
914
  <button
779
915
  data-part="next"
916
+ data-part-next=""
780
917
  type="button"
781
- [attr.aria-label]="t('next')"
918
+ [attr.aria-label]="pageNames()[1]"
782
919
  [disabled]="!editable()"
783
920
  (click)="turnPage(1, $event)"
784
921
  >
@@ -788,21 +925,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
788
925
 
789
926
  @switch (currentView()) {
790
927
  @case ('day') {
791
- <div data-part="grids">
928
+ <div data-part="grids" data-part-grids="">
792
929
  @for (month of shownMonths(); track month.year * 12 + month.month) {
793
- <table data-part="grid" role="grid" [attr.aria-labelledby]="headingId">
794
- <caption data-part="grid-caption">
930
+ <table
931
+ data-part="grid"
932
+ data-part-grid=""
933
+ role="grid"
934
+ [attr.aria-labelledby]="headingId"
935
+ >
936
+ <caption data-part="grid-caption" data-part-grid-caption="">
795
937
  {{
796
938
  captionOf(month)
797
939
  }}
798
940
  </caption>
799
941
  <thead>
800
- <tr data-part="week-headers">
942
+ <tr data-part="week-headers" data-part-week-headers="">
801
943
  @if (resolvedWeekNumbers()) {
802
- <th data-part="week-number" aria-hidden="true"></th>
944
+ <th data-part="week-number" data-part-week-number="" aria-hidden="true"></th>
803
945
  }
804
946
  @for (name of weekdayNarrow(); track $index) {
805
- <th data-part="week-header" scope="col" [attr.abbr]="weekdayLong()[$index]">
947
+ <th
948
+ data-part="week-header"
949
+ data-part-week-header=""
950
+ scope="col"
951
+ [attr.abbr]="weekdayLong()[$index]"
952
+ >
806
953
  {{ name }}
807
954
  </th>
808
955
  }
@@ -810,9 +957,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
810
957
  </thead>
811
958
  <tbody>
812
959
  @for (week of weeksOf(month); track week.weekNumber) {
813
- <tr data-part="week">
960
+ <tr data-part="week" data-part-week="">
814
961
  @if (resolvedWeekNumbers()) {
815
- <th data-part="week-number" scope="row">{{ week.weekNumber }}</th>
962
+ <th data-part="week-number" data-part-week-number="" scope="row">
963
+ {{ week.weekNumber }}
964
+ </th>
816
965
  }
817
966
  @for (
818
967
  day of week.days;
@@ -824,6 +973,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
824
973
  digits under it. -->
825
974
  <td
826
975
  data-part="cell"
976
+ data-part-cell=""
827
977
  [attr.data-outside-month]="day.outsideMonth ? '' : null"
828
978
  [attr.data-unavailable]="
829
979
  !drawn(day) ? null : unavailable(day.date) ? '' : null
@@ -843,6 +993,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
843
993
  @if (drawn(day)) {
844
994
  <span
845
995
  data-part="day"
996
+ data-part-day=""
846
997
  role="button"
847
998
  [attr.data-today]="isToday(day.date) ? '' : null"
848
999
  [attr.aria-selected]="chosen(day.date) ? 'true' : null"
@@ -865,25 +1016,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
865
1016
  </div>
866
1017
  }
867
1018
  @case ('month') {
868
- <div data-part="months">
869
- @for (name of monthNames(); track $index) {
870
- <button
871
- data-part="period"
872
- type="button"
873
- [attr.data-selected]="focused().month === $index + 1 ? '' : null"
874
- [attr.aria-selected]="focused().month === $index + 1 ? 'true' : null"
875
- (click)="pickMonth($index + 1, $event)"
876
- >
877
- {{ name }}
878
- </button>
879
- }
880
- </div>
1019
+ @if (monthly()) {
1020
+ <div data-part="months" data-part-months="">
1021
+ @for (name of monthNames(); track $index) {
1022
+ <button
1023
+ data-part="period"
1024
+ data-part-period=""
1025
+ type="button"
1026
+ [attr.aria-label]="monthLabel($index + 1)"
1027
+ [attr.data-selected]="heldMonth($index + 1) ? '' : null"
1028
+ [attr.aria-selected]="heldMonth($index + 1) ? 'true' : null"
1029
+ [attr.aria-disabled]="monthUnavailable($index + 1) ? 'true' : null"
1030
+ [attr.data-unavailable]="monthUnavailable($index + 1) ? '' : null"
1031
+ [attr.data-focused]="focused().month === $index + 1 ? '' : null"
1032
+ [tabindex]="focused().month === $index + 1 ? 0 : -1"
1033
+ (click)="selectMonth(focused().year, $index + 1, 'pointer', $event)"
1034
+ >
1035
+ {{ name }}
1036
+ </button>
1037
+ }
1038
+ </div>
1039
+ } @else {
1040
+ <div data-part="months" data-part-months="">
1041
+ @for (name of monthNames(); track $index) {
1042
+ <button
1043
+ data-part="period"
1044
+ data-part-period=""
1045
+ type="button"
1046
+ [attr.data-selected]="focused().month === $index + 1 ? '' : null"
1047
+ [attr.aria-selected]="focused().month === $index + 1 ? 'true' : null"
1048
+ (click)="pickMonth($index + 1, $event)"
1049
+ >
1050
+ {{ name }}
1051
+ </button>
1052
+ }
1053
+ </div>
1054
+ }
881
1055
  }
882
1056
  @default {
883
- <div data-part="years">
1057
+ <div data-part="years" data-part-years="">
884
1058
  @for (year of years(); track year) {
885
1059
  <button
886
1060
  data-part="period"
1061
+ data-part-period=""
887
1062
  type="button"
888
1063
  [attr.data-selected]="focused().year === year ? '' : null"
889
1064
  [attr.aria-selected]="focused().year === year ? 'true' : null"
@@ -896,7 +1071,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
896
1071
  }
897
1072
  }`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
898
1073
  'data-ui': 'calendar',
1074
+ 'data-ui-calendar': '',
899
1075
  'data-part': 'root',
1076
+ 'data-part-root': '',
900
1077
  '[attr.data-view]': 'currentView()',
901
1078
  '[attr.data-calendar]': 'resolvedCalendar()',
902
1079
  '[attr.data-months]': 'resolvedMonths() > 1 ? resolvedMonths() : null',
@@ -905,8 +1082,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
905
1082
  '[attr.data-readonly]': "readOnly() === true ? '' : null",
906
1083
  '[attr.data-invalid]': "invalid() === true ? '' : null",
907
1084
  '(keydown)': 'onKeyDown($event)',
908
- }, styles: ["@layer slotted.components{[data-ui=calendar][data-part=root]{container-type:inline-size;container-name:slotted-calendar;--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_cell-size: var(--slotted-calendar-cell-size, var(--slotted-control-height-md, 34px));--_columns: 7;--_months: 1;--_month-gap: var(--slotted-space-6, 1rem);--_week-number-columns: 0;--_grid-size: calc(var(--_cell-size) * (var(--_columns) + var(--_week-number-columns)));background-color:var(--slotted-calendar-background, transparent);box-sizing:border-box;color:var(--slotted-calendar-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);--_heading-floor: calc(20ch + 3 * var(--_icon-size) + 4 * var(--_gap));inline-size:max(calc(var(--_grid-size) * var(--_months) + var(--_month-gap) * (var(--_months) - 1)),var(--_heading-floor));max-inline-size:100%}[data-ui=calendar][data-part=root][data-week-numbers]{--_week-number-columns: .75}[data-ui=calendar][data-part=root][data-months=\"2\"]{--_months: 2}[data-ui=calendar][data-part=root][data-months=\"3\"]{--_months: 3}[data-ui=calendar] [data-part=header],[data-ui=calendar] [data-part=grids],[data-ui=calendar] [data-part=months],[data-ui=calendar] [data-part=years]{--_cell-size: clamp( var(--slotted-target-min, 24px), calc(100cqi / (var(--_columns) + var(--_week-number-columns)) / var(--_months)), var(--slotted-calendar-cell-size, var(--slotted-control-height-md, 34px)) )}[data-ui=calendar] [data-part=header]{align-items:center;display:flex;gap:var(--slotted-space-2, .25rem);inline-size:100%;justify-content:space-between}[data-ui=calendar] [data-part=heading]{--slotted-icon-size: var(--_icon-size);appearance:none;background-color:transparent;border:0;border-radius:var(--slotted-calendar-radius, var(--slotted-control-radius, 4px));color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--slotted-space-2, .25rem);font:inherit;font-weight:var(--slotted-font-weight-semibold, 600);flex:1 1 auto;justify-content:safe center;min-inline-size:0;padding-block:var(--slotted-space-2, .25rem);padding-inline:var(--slotted-space-2, .25rem);overflow:hidden;white-space:nowrap;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=calendar] [data-part=previous],[data-ui=calendar] [data-part=next]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_cell-size);border:0;border-radius:var(--slotted-calendar-radius, var(--slotted-control-radius, 4px));color:var(--slotted-calendar-trigger-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;inline-size:var(--_cell-size);justify-content:center;padding:0;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=calendar] [data-part=previous]>[data-ui=icon]{rotate:180deg}[data-ui=calendar] [data-part=grids]{display:flex;flex-wrap:wrap;gap:var(--_month-gap);justify-content:center}[data-ui=calendar] [data-part=grid]{border-collapse:collapse;table-layout:fixed}[data-ui=calendar] [data-part=grid-caption]{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}[data-ui=calendar][data-part=root]:is([data-months=\"2\"],[data-months=\"3\"]) [data-part=grid-caption]{block-size:auto;clip-path:none;color:var(--slotted-calendar-weekday-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-semibold, 600);inline-size:auto;overflow:visible;padding-block-end:var(--slotted-space-2, .25rem);position:static}[data-ui=calendar] [data-part=week-header]{block-size:var(--_cell-size);color:var(--slotted-calendar-weekday-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-medium, 500);inline-size:var(--_cell-size);padding:0;text-overflow:clip}[data-ui=calendar] [data-part=week-number]{color:var(--slotted-calendar-week-number-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-regular, 400);inline-size:calc(var(--_cell-size) * .75);padding:0;border-inline-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-calendar-week-number-border-color, var(--slotted-border-subtle, ButtonBorder))}[data-ui=calendar] [data-part=cell]{padding:0;position:relative}[data-ui=calendar] [data-part=day]{--_inset: var(--slotted-border-width-thin, 1px);align-items:center;block-size:calc(var(--_cell-size) - var(--_inset) * 2);inline-size:calc(var(--_cell-size) - var(--_inset) * 2);margin:var(--_inset);border-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));box-sizing:border-box;color:inherit;cursor:pointer;display:flex;font-variant-numeric:tabular-nums;flex-direction:column;gap:var(--slotted-space-1, .125rem);justify-content:center;line-height:1;position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}[data-ui=calendar] [data-part=day]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}[data-ui=calendar] [data-part=months],[data-ui=calendar] [data-part=years]{display:grid;gap:var(--slotted-space-2, .25rem);grid-template-columns:repeat(4,1fr);inline-size:calc(var(--_cell-size) * var(--_columns))}[data-ui=calendar] [data-part=period]{align-items:center;appearance:none;background-color:transparent;block-size:var(--_cell-size);border:0;border-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:center;padding-inline:var(--slotted-space-2, .25rem);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=calendar] [data-part=day][data-today]{color:var(--slotted-calendar-today-color, var(--slotted-tone-accent-text));font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui=calendar] [data-part=day]:before{background-color:transparent;block-size:var(--slotted-space-2, .25rem);border-radius:var(--slotted-radius-full, 9999px);content:\"\";flex:0 0 auto;inline-size:var(--slotted-space-2, .25rem);order:1}[data-ui=calendar] [data-part=day][data-today]:before{background-color:currentcolor}[data-ui=calendar] [data-part=cell][data-outside-month] [data-part=day]{color:var(--slotted-calendar-outside-color, var(--slotted-text-muted, GrayText))}[data-ui=calendar] [data-part=cell][data-unavailable] [data-part=day]{color:var(--slotted-calendar-unavailable-color, var(--slotted-disabled-foreground));cursor:not-allowed;text-decoration:line-through;text-decoration-thickness:var(--slotted-border-width-thin, 1px)}[data-ui=calendar] [data-part=cell][data-in-range]:before,[data-ui=calendar] [data-part=cell][data-range-start]:before,[data-ui=calendar] [data-part=cell][data-range-end]:before{background-color:var( --slotted-calendar-range-background, color-mix( in oklab, var(--slotted-tone-accent-text) calc(var(--slotted-highlight-tint-opacity, .075) * 100%), transparent ) );content:\"\";inset:0;position:absolute}[data-ui=calendar] [data-part=cell][data-range-start]:before{border-end-start-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));border-start-start-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px))}[data-ui=calendar] [data-part=cell][data-range-end]:before{border-end-end-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));border-start-end-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px))}[data-ui=calendar] [data-part=cell][data-range-start]:not([data-range-end]) [data-part=day]{border-end-end-radius:0;border-start-end-radius:0}[data-ui=calendar] [data-part=cell][data-range-end]:not([data-range-start]) [data-part=day]{border-end-start-radius:0;border-start-start-radius:0}[data-ui=calendar] [data-part=cell]:is([data-in-range],[data-range-start],[data-range-end]) [data-part=day]{--_inset: 0px}[data-ui=calendar] [data-part=cell][data-in-range] [data-part=day]{border-radius:0;color:var(--slotted-calendar-in-range-color, var(--slotted-tone-accent-text))}[data-ui=calendar] [data-part=cell][data-preview]:before{background-color:var( --slotted-calendar-preview-background, color-mix( in oklab, var(--slotted-tone-accent-text) calc(var(--slotted-highlight-tint-opacity, .075) * 50%), transparent ) )}[data-ui=calendar] [data-part=cell][data-preview]:is([data-range-start],[data-range-end]):not([data-selected]) [data-part=day]{box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-calendar-preview-border-color, var(--slotted-tone-accent-border));color:var(--slotted-calendar-in-range-color, var(--slotted-tone-accent-text))}[data-ui=calendar] [data-part=day]:hover:not([data-disabled]),[data-ui=calendar] [data-part=period]:hover:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=heading]:hover:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=previous]:hover:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=next]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-calendar-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=calendar] [data-part=day]:active:not([data-disabled]),[data-ui=calendar] [data-part=period]:active:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=previous]:active:not(:disabled):not([data-disabled]),[data-ui=calendar] [data-part=next]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-calendar-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=calendar] [data-part=cell][data-in-range] [data-part=day]:hover:not([data-disabled]){background-color:var( --slotted-calendar-range-hover-background, var(--slotted-tone-accent-subtle-hover) )}[data-ui=calendar] [data-part=cell][data-in-range] [data-part=day]:active:not([data-disabled]){background-color:var( --slotted-calendar-range-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui=calendar] [data-part=cell][data-unavailable] [data-part=day]:hover:not([data-disabled]),[data-ui=calendar] [data-part=cell][data-unavailable] [data-part=day]:active:not([data-disabled]){background-color:transparent}[data-ui=calendar] [data-part=cell][data-selected] [data-part=day],[data-ui=calendar] [data-part=period][data-selected]{background-color:var(--slotted-calendar-selected-background, var(--slotted-tone-accent-solid));color:var(--slotted-calendar-selected-color, var(--slotted-tone-accent-on-solid));font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui=calendar] [data-part=day]:focus-visible,[data-ui=calendar] [data-part=period]:focus-visible,[data-ui=calendar] [data-part=heading]:focus-visible,[data-ui=calendar] [data-part=previous]:focus-visible,[data-ui=calendar] [data-part=next]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=calendar][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-calendar-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=calendar][data-part=root][data-invalid] [data-part=day]:focus-visible,[data-ui=calendar][data-part=root][data-invalid] [data-part=period]:focus-visible,[data-ui=calendar][data-part=root][data-invalid] [data-part=heading]:focus-visible,[data-ui=calendar][data-part=root][data-invalid] [data-part=previous]:focus-visible,[data-ui=calendar][data-part=root][data-invalid] [data-part=next]:focus-visible{--_invalid-ring: calc( var(--slotted-focus-ring-width, 2px) + var(--slotted-calendar-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px)) );outline-offset:calc(var(--_invalid-ring) * -1);outline-width:var(--_invalid-ring)}[data-ui=calendar][data-part=root][data-readonly] [data-part=day],[data-ui=calendar][data-part=root][data-readonly] [data-part=period]{cursor:default}[data-ui=calendar][data-part=root][data-disabled]{color:var(--slotted-calendar-disabled-color, var(--slotted-disabled-foreground))}[data-ui=calendar][data-part=root][data-disabled] [data-part=day][data-today]{color:var(--slotted-disabled-foreground)}[data-ui=calendar][data-part=root][data-disabled] [data-part=cell][data-selected] [data-part=day]{background-color:var(--slotted-disabled-background);color:var(--slotted-disabled-foreground)}[data-ui=calendar][data-part=root][data-disabled] [data-part=day],[data-ui=calendar][data-part=root][data-disabled] [data-part=period],[data-ui=calendar][data-part=root][data-disabled] [data-part=previous],[data-ui=calendar][data-part=root][data-disabled] [data-part=next],[data-ui=calendar][data-part=root][data-disabled] [data-part=heading]{cursor:not-allowed}[data-ui=calendar] [data-part=previous]:disabled,[data-ui=calendar] [data-part=next]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}@container slotted-calendar (max-width: 320px){[data-ui=calendar] [data-part=grids]{--_month-gap: var(--slotted-space-4, .5rem)}}@media(forced-colors:active){[data-ui=calendar] [data-part=cell][data-in-range]:before,[data-ui=calendar] [data-part=cell][data-range-start]:before,[data-ui=calendar] [data-part=cell][data-range-end]:before{border-block:var(--slotted-border-width-thin, 1px) solid var(--slotted-calendar-range-border-color, var(--slotted-tone-accent-border))}[data-ui=calendar] [data-part=cell][data-preview]:before{border-block-style:dashed}}}\n"] }]
909
- }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], focusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedDate", required: false }] }], defaultFocusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultFocusedDate", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], isDateUnavailable: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDateUnavailable", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], months: [{ type: i0.Input, args: [{ isSignal: true, alias: "months", required: false }] }], view: [{ type: i0.Input, args: [{ isSignal: true, alias: "view", required: false }] }], defaultView: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultView", required: false }] }], weekNumbers: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekNumbers", required: false }] }], fixedWeeks: [{ type: i0.Input, args: [{ isSignal: true, alias: "fixedWeeks", required: false }] }], outsideDays: [{ type: i0.Input, args: [{ isSignal: true, alias: "outsideDays", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], timeZone: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeZone", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readOnly", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], focusedDateChange: [{ type: i0.Output, args: ["focusedDateChange"] }], viewChange: [{ type: i0.Output, args: ["viewChange"] }], previewChange: [{ type: i0.Output, args: ["previewChange"] }] } });
1085
+ }, styles: ["@layer slotted.components{[data-ui-calendar][data-part-root]{container-type:inline-size;container-name:slotted-calendar;--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_cell-size: var(--slotted-calendar-cell-size, var(--slotted-control-height-md, 34px));--_columns: 7;--_months: 1;--_month-gap: var(--slotted-space-6, 1rem);--_week-number-columns: 0;--_grid-size: calc(var(--_cell-size) * (var(--_columns) + var(--_week-number-columns)));background-color:var(--slotted-calendar-background, transparent);box-sizing:border-box;color:var(--slotted-calendar-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);--_heading-floor: calc(20ch + 3 * var(--_icon-size) + 4 * var(--_gap));inline-size:max(calc(var(--_grid-size) * var(--_months) + var(--_month-gap) * (var(--_months) - 1)),var(--_heading-floor));max-inline-size:100%}[data-ui-calendar][data-part-root][data-week-numbers]{--_week-number-columns: .75}[data-ui-calendar][data-part-root][data-months=\"2\"]{--_months: 2}[data-ui-calendar][data-part-root][data-months=\"3\"]{--_months: 3}[data-ui-calendar] [data-part-header],[data-ui-calendar] [data-part-grids],[data-ui-calendar] [data-part-months],[data-ui-calendar] [data-part-years]{--_cell-size: clamp( var(--slotted-target-min, 24px), calc(100cqi / (var(--_columns) + var(--_week-number-columns)) / var(--_months)), var(--slotted-calendar-cell-size, var(--slotted-control-height-md, 34px)) )}[data-ui-calendar] [data-part-header]{align-items:center;display:flex;gap:var(--slotted-space-2, .25rem);inline-size:100%;justify-content:space-between}[data-ui-calendar] [data-part-heading]{--slotted-icon-size: var(--_icon-size);appearance:none;background-color:transparent;border:0;border-radius:var(--slotted-calendar-radius, var(--slotted-control-radius, 4px));color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--slotted-space-2, .25rem);font:inherit;font-weight:var(--slotted-font-weight-semibold, 600);flex:1 1 auto;justify-content:safe center;min-inline-size:0;padding-block:var(--slotted-space-2, .25rem);padding-inline:var(--slotted-space-2, .25rem);overflow:hidden;white-space:nowrap;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui-calendar] [data-part-previous],[data-ui-calendar] [data-part-next]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_cell-size);border:0;border-radius:var(--slotted-calendar-radius, var(--slotted-control-radius, 4px));color:var(--slotted-calendar-trigger-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;inline-size:var(--_cell-size);justify-content:center;padding:0;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui-calendar] [data-part-previous]>[data-ui-icon]{rotate:180deg}[data-ui-calendar] [data-part-grids]{display:flex;flex-wrap:wrap;gap:var(--_month-gap);justify-content:center}[data-ui-calendar] [data-part-grid]{border-collapse:collapse;table-layout:fixed}[data-ui-calendar] [data-part-grid-caption]{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}[data-ui-calendar][data-part-root]:is([data-months=\"2\"],[data-months=\"3\"]) [data-part-grid-caption]{block-size:auto;clip-path:none;color:var(--slotted-calendar-weekday-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-semibold, 600);inline-size:auto;overflow:visible;padding-block-end:var(--slotted-space-2, .25rem);position:static}[data-ui-calendar] [data-part-week-header]{block-size:var(--_cell-size);color:var(--slotted-calendar-weekday-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-medium, 500);inline-size:var(--_cell-size);padding:0;text-overflow:clip}[data-ui-calendar] [data-part-week-number]{color:var(--slotted-calendar-week-number-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-xs, .75rem);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-regular, 400);inline-size:calc(var(--_cell-size) * .75);padding:0;border-inline-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-calendar-week-number-border-color, var(--slotted-border-subtle, ButtonBorder))}[data-ui-calendar] [data-part-cell]{padding:0;position:relative}[data-ui-calendar] [data-part-day]{--_inset: var(--slotted-border-width-thin, 1px);align-items:center;block-size:calc(var(--_cell-size) - var(--_inset) * 2);inline-size:calc(var(--_cell-size) - var(--_inset) * 2);margin:var(--_inset);border-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));box-sizing:border-box;color:inherit;cursor:pointer;display:flex;font-variant-numeric:tabular-nums;flex-direction:column;gap:var(--slotted-space-1, .125rem);justify-content:center;line-height:1;position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}[data-ui-calendar] [data-part-day]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}[data-ui-calendar] [data-part-months],[data-ui-calendar] [data-part-years]{display:grid;gap:var(--slotted-space-2, .25rem);grid-template-columns:repeat(4,1fr);inline-size:calc(var(--_cell-size) * var(--_columns))}[data-ui-calendar] [data-part-period]{align-items:center;appearance:none;background-color:transparent;block-size:var(--_cell-size);border:0;border-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:center;padding-inline:var(--slotted-space-2, .25rem);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui-calendar] [data-part-day][data-today]{color:var(--slotted-calendar-today-color, var(--slotted-tone-accent-text));font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui-calendar] [data-part-day]:before{background-color:transparent;block-size:var(--slotted-space-2, .25rem);border-radius:var(--slotted-radius-full, 9999px);content:\"\";flex:0 0 auto;inline-size:var(--slotted-space-2, .25rem);order:1}[data-ui-calendar] [data-part-day][data-today]:before{background-color:currentcolor}[data-ui-calendar] [data-part-cell][data-outside-month] [data-part-day]{color:var(--slotted-calendar-outside-color, var(--slotted-text-muted, GrayText))}[data-ui-calendar] [data-part-cell][data-unavailable] [data-part-day]{color:var(--slotted-calendar-unavailable-color, var(--slotted-disabled-foreground));cursor:not-allowed;text-decoration:line-through;text-decoration-thickness:var(--slotted-border-width-thin, 1px)}[data-ui-calendar] [data-part-cell][data-in-range]:before,[data-ui-calendar] [data-part-cell][data-range-start]:before,[data-ui-calendar] [data-part-cell][data-range-end]:before{background-color:var( --slotted-calendar-range-background, color-mix( in oklab, var(--slotted-tone-accent-text) calc(var(--slotted-highlight-tint-opacity, .075) * 100%), transparent ) );content:\"\";inset:0;position:absolute}[data-ui-calendar] [data-part-cell][data-range-start]:before{border-end-start-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));border-start-start-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px))}[data-ui-calendar] [data-part-cell][data-range-end]:before{border-end-end-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px));border-start-end-radius:var(--slotted-calendar-day-radius, var(--slotted-radius-sm, 4px))}[data-ui-calendar] [data-part-cell][data-range-start]:not([data-range-end]) [data-part-day]{border-end-end-radius:0;border-start-end-radius:0}[data-ui-calendar] [data-part-cell][data-range-end]:not([data-range-start]) [data-part-day]{border-end-start-radius:0;border-start-start-radius:0}[data-ui-calendar] [data-part-cell]:is([data-in-range],[data-range-start],[data-range-end]) [data-part-day]{--_inset: 0px}[data-ui-calendar] [data-part-cell][data-in-range] [data-part-day]{border-radius:0;color:var(--slotted-calendar-in-range-color, var(--slotted-tone-accent-text))}[data-ui-calendar] [data-part-cell][data-preview]:before{background-color:var( --slotted-calendar-preview-background, color-mix( in oklab, var(--slotted-tone-accent-text) calc(var(--slotted-highlight-tint-opacity, .075) * 50%), transparent ) )}[data-ui-calendar] [data-part-cell][data-preview]:is([data-range-start],[data-range-end]):not([data-selected]) [data-part-day]{box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-calendar-preview-border-color, var(--slotted-tone-accent-border));color:var(--slotted-calendar-in-range-color, var(--slotted-tone-accent-text))}[data-ui-calendar] [data-part-day]:hover:not([data-disabled]),[data-ui-calendar] [data-part-period]:hover:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-heading]:hover:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-previous]:hover:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-next]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-calendar-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui-calendar] [data-part-day]:active:not([data-disabled]),[data-ui-calendar] [data-part-period]:active:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-previous]:active:not(:disabled):not([data-disabled]),[data-ui-calendar] [data-part-next]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-calendar-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui-calendar] [data-part-cell][data-in-range] [data-part-day]:hover:not([data-disabled]){background-color:var( --slotted-calendar-range-hover-background, var(--slotted-tone-accent-subtle-hover) )}[data-ui-calendar] [data-part-cell][data-in-range] [data-part-day]:active:not([data-disabled]){background-color:var( --slotted-calendar-range-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui-calendar] [data-part-cell][data-unavailable] [data-part-day]:hover:not([data-disabled]),[data-ui-calendar] [data-part-cell][data-unavailable] [data-part-day]:active:not([data-disabled]){background-color:transparent}[data-ui-calendar] [data-part-cell][data-selected] [data-part-day],[data-ui-calendar] [data-part-period][data-selected]{background-color:var(--slotted-calendar-selected-background, var(--slotted-tone-accent-solid));color:var(--slotted-calendar-selected-color, var(--slotted-tone-accent-on-solid));font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui-calendar] [data-part-day]:focus-visible,[data-ui-calendar] [data-part-period]:focus-visible,[data-ui-calendar] [data-part-heading]:focus-visible,[data-ui-calendar] [data-part-previous]:focus-visible,[data-ui-calendar] [data-part-next]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui-calendar][data-part-root][data-invalid]{--slotted-focus-ring-color: var( --slotted-calendar-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui-calendar][data-part-root][data-invalid] [data-part-day]:focus-visible,[data-ui-calendar][data-part-root][data-invalid] [data-part-period]:focus-visible,[data-ui-calendar][data-part-root][data-invalid] [data-part-heading]:focus-visible,[data-ui-calendar][data-part-root][data-invalid] [data-part-previous]:focus-visible,[data-ui-calendar][data-part-root][data-invalid] [data-part-next]:focus-visible{--_invalid-ring: calc( var(--slotted-focus-ring-width, 2px) + var(--slotted-calendar-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px)) );outline-offset:calc(var(--_invalid-ring) * -1);outline-width:var(--_invalid-ring)}[data-ui-calendar][data-part-root][data-readonly] [data-part-day],[data-ui-calendar][data-part-root][data-readonly] [data-part-period]{cursor:default}[data-ui-calendar][data-part-root][data-disabled]{color:var(--slotted-calendar-disabled-color, var(--slotted-disabled-foreground))}[data-ui-calendar][data-part-root][data-disabled] [data-part-day][data-today]{color:var(--slotted-disabled-foreground)}[data-ui-calendar][data-part-root][data-disabled] [data-part-cell][data-selected] [data-part-day]{background-color:var(--slotted-disabled-background);color:var(--slotted-disabled-foreground)}[data-ui-calendar][data-part-root][data-disabled] [data-part-day],[data-ui-calendar][data-part-root][data-disabled] [data-part-period],[data-ui-calendar][data-part-root][data-disabled] [data-part-previous],[data-ui-calendar][data-part-root][data-disabled] [data-part-next],[data-ui-calendar][data-part-root][data-disabled] [data-part-heading]{cursor:not-allowed}[data-ui-calendar] [data-part-previous]:disabled,[data-ui-calendar] [data-part-next]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}@container slotted-calendar (max-width: 320px){[data-ui-calendar] [data-part-grids]{--_month-gap: var(--slotted-space-4, .5rem)}}@media(forced-colors:active){[data-ui-calendar] [data-part-cell][data-in-range]:before,[data-ui-calendar] [data-part-cell][data-range-start]:before,[data-ui-calendar] [data-part-cell][data-range-end]:before{border-block:var(--slotted-border-width-thin, 1px) solid var(--slotted-calendar-range-border-color, var(--slotted-tone-accent-border))}[data-ui-calendar] [data-part-cell][data-preview]:before{border-block-style:dashed}}}\n"] }]
1086
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], focusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedDate", required: false }] }], defaultFocusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultFocusedDate", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], isDateUnavailable: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDateUnavailable", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], months: [{ type: i0.Input, args: [{ isSignal: true, alias: "months", required: false }] }], view: [{ type: i0.Input, args: [{ isSignal: true, alias: "view", required: false }] }], defaultView: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultView", required: false }] }], granularity: [{ type: i0.Input, args: [{ isSignal: true, alias: "granularity", required: false }] }], weekNumbers: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekNumbers", required: false }] }], fixedWeeks: [{ type: i0.Input, args: [{ isSignal: true, alias: "fixedWeeks", required: false }] }], outsideDays: [{ type: i0.Input, args: [{ isSignal: true, alias: "outsideDays", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], timeZone: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeZone", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readOnly", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], focusedDateChange: [{ type: i0.Output, args: ["focusedDateChange"] }], viewChange: [{ type: i0.Output, args: ["viewChange"] }], previewChange: [{ type: i0.Output, args: ["previewChange"] }] } });
910
1087
 
911
1088
  /**
912
1089
  * Generated bundle index. Do not edit.