@slotted/angular 0.1.0-beta.1 → 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
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, input, ElementRef, HostAttributeToken, signal, computed, DestroyRef, afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, booleanAttribute, numberAttribute } from '@angular/core';
2
+ import { InjectionToken, inject, input, ElementRef, HostAttributeToken, signal, computed, linkedSignal, DestroyRef, afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, booleanAttribute, numberAttribute } from '@angular/core';
3
3
  import { injectMessages, injectLocale } from '@slotted/angular/i18n';
4
4
  import { sparklineMessages } from '@slotted/core/i18n';
5
5
  import { SPARKLINE_STEPS, layoutSparkline, sparklineInset, describeSparkline, observeSparklineBox } from '@slotted/core/sparkline';
@@ -98,6 +98,16 @@ class SlSparkline {
98
98
  ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
99
99
  viewBox = computed(() => `0 0 ${this.width()} ${this.height()}`, /* @ts-ignore */
100
100
  ...(ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []));
101
+ /**
102
+ * Only a change of `data` animates the marks. A box that settles after the
103
+ * first render — a table cell sizing its column — redraws at once: a path
104
+ * that eased to the new width read as the series growing.
105
+ */
106
+ animate = linkedSignal({ ...(ngDevMode ? { debugName: "animate" } : /* istanbul ignore next */ {}), source: () => ({ data: this.data(), width: this.width(), height: this.height() }),
107
+ computation: (now, previous) => previous !== undefined &&
108
+ previous.source.data !== now.data &&
109
+ previous.source.width === now.width &&
110
+ previous.source.height === now.height });
101
111
  layout = computed(() => layoutSparkline({
102
112
  data: this.data(),
103
113
  width: this.width(),
@@ -143,25 +153,32 @@ class SlSparkline {
143
153
  });
144
154
  }
145
155
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSparkline, deps: [], target: i0.ɵɵFactoryTarget.Component });
146
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlSparkline, isStandalone: true, selector: "[slSparkline]", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, area: { classPropertyName: "area", publicName: "area", isSignal: true, isRequired: false, transformFunction: null }, marker: { classPropertyName: "marker", publicName: "marker", isSignal: true, isRequired: false, transformFunction: null }, reference: { classPropertyName: "reference", publicName: "reference", 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 }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, valueFormatter: { classPropertyName: "valueFormatter", publicName: "valueFormatter", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "sparkline", "data-part": "root", "role": "img" }, properties: { "attr.aria-label": "name()", "attr.data-type": "type()", "attr.data-size": "size()", "attr.data-curve": "resolvedCurve()", "attr.data-tone": "tone() ?? null", "attr.data-series": "series() ?? null" } }, exportAs: ["slSparkline"], ngImport: i0, template: `<svg
156
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlSparkline, isStandalone: true, selector: "[slSparkline]", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, area: { classPropertyName: "area", publicName: "area", isSignal: true, isRequired: false, transformFunction: null }, marker: { classPropertyName: "marker", publicName: "marker", isSignal: true, isRequired: false, transformFunction: null }, reference: { classPropertyName: "reference", publicName: "reference", 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 }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, valueFormatter: { classPropertyName: "valueFormatter", publicName: "valueFormatter", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "sparkline", "data-ui-sparkline": "", "data-part": "root", "data-part-root": "", "role": "img" }, properties: { "attr.aria-label": "name()", "attr.data-type": "type()", "attr.data-size": "size()", "attr.data-curve": "resolvedCurve()", "attr.data-tone": "tone() ?? null", "attr.data-series": "series() ?? null", "attr.data-animate": "animate() ? '' : null" } }, exportAs: ["slSparkline"], ngImport: i0, template: `<svg
147
157
  data-part="plot"
158
+ data-part-plot=""
148
159
  aria-hidden="true"
149
160
  focusable="false"
150
161
  preserveAspectRatio="none"
151
162
  [attr.viewBox]="viewBox()"
152
163
  >
153
164
  @if (layout().area) {
154
- <path data-part="area" [attr.d]="layout().area" />
165
+ <path data-part="area" data-part-area="" [attr.d]="layout().area" />
155
166
  }
156
167
  @if (layout().line) {
157
- <path data-part="line" [attr.d]="layout().line" />
168
+ <path data-part="line" data-part-line="" [attr.d]="layout().line" />
158
169
  }
159
170
  @for (bar of layout().bars; track bar.index; let last = $last) {
160
- <path data-part="bar" [attr.data-current]="last ? '' : null" [attr.d]="bar.path" />
171
+ <path
172
+ data-part="bar"
173
+ data-part-bar=""
174
+ [attr.data-current]="last ? '' : null"
175
+ [attr.d]="bar.path"
176
+ />
161
177
  }
162
178
  @if (layout().reference !== null) {
163
179
  <line
164
180
  data-part="reference"
181
+ data-part-reference=""
165
182
  x1="0"
166
183
  [attr.x2]="width()"
167
184
  [attr.y1]="layout().reference"
@@ -169,32 +186,39 @@ class SlSparkline {
169
186
  />
170
187
  }
171
188
  @if (markerPath()) {
172
- <path data-part="ring" [attr.d]="markerPath()" />
173
- <path data-part="marker" [attr.d]="markerPath()" />
189
+ <path data-part="ring" data-part-ring="" [attr.d]="markerPath()" />
190
+ <path data-part="marker" data-part-marker="" [attr.d]="markerPath()" />
174
191
  }
175
- </svg>`, isInline: true, styles: ["@layer slotted.components{[data-ui=sparkline]{--_size: var(--slotted-sparkline-block-size, var(--slotted-space-9, 2rem));--_stroke: var(--slotted-sparkline-line-width, var(--slotted-border-width-thick, 2px));--_marker: var(--slotted-sparkline-marker-size, var(--slotted-space-3, .375rem));--_ring: var(--slotted-sparkline-ring-width, var(--slotted-border-width-thick, 2px));--_ring-color: var(--slotted-sparkline-ring-color, var(--slotted-surface-raised, Canvas));--_area-opacity: var(--slotted-sparkline-area-opacity, .18);--_bar-share: var(--slotted-sparkline-bar-share, 62%);--_bar-dim: color-mix( in oklab, var(--_color) var(--_bar-share), var(--slotted-border-strong, ButtonBorder) );--_reference-color: var( --slotted-sparkline-reference-color, var(--slotted-border-strong, ButtonBorder) );--_color: var(--slotted-sparkline-color, var(--slotted-data-1));block-size:var(--_size);box-sizing:border-box;display:inline-block;inline-size:100%;line-height:0;min-inline-size:0;vertical-align:middle}[data-ui=sparkline][data-size=sm]{--_size: var(--slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem));--_stroke: var(--slotted-sparkline-line-width-sm, var(--slotted-border-width-medium, 1.5px));--_marker: var(--slotted-sparkline-marker-size-sm, var(--slotted-space-2, .25rem));--_ring: var(--slotted-sparkline-ring-width-sm, var(--slotted-border-width-medium, 1.5px))}[data-ui=sparkline][data-size=lg]{--_size: var(--slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem));--_marker: var(--slotted-sparkline-marker-size-lg, var(--slotted-space-4, .5rem))}[data-ui=sparkline][data-series=\"1\"]{--_color: var(--slotted-data-1)}[data-ui=sparkline][data-series=\"2\"]{--_color: var(--slotted-data-2)}[data-ui=sparkline][data-series=\"3\"]{--_color: var(--slotted-data-3)}[data-ui=sparkline][data-series=\"4\"]{--_color: var(--slotted-data-4)}[data-ui=sparkline][data-series=\"5\"]{--_color: var(--slotted-data-5)}[data-ui=sparkline][data-series=\"6\"]{--_color: var(--slotted-data-6)}[data-ui=sparkline][data-series=\"7\"]{--_color: var(--slotted-data-7)}[data-ui=sparkline][data-series=\"8\"]{--_color: var(--slotted-data-8)}[data-ui=sparkline][data-tone=neutral]{--_color: var(--slotted-text-muted, GrayText)}[data-ui=sparkline][data-tone=accent]{--_color: var(--slotted-tone-accent-text)}[data-ui=sparkline][data-tone=secondary]{--_color: var(--slotted-tone-secondary-text)}[data-ui=sparkline][data-tone=success]{--_color: var(--slotted-tone-success-text)}[data-ui=sparkline][data-tone=warning]{--_color: var(--slotted-tone-warning-text)}[data-ui=sparkline][data-tone=danger]{--_color: var(--slotted-tone-danger-text)}[data-ui=sparkline] [data-part=plot]{block-size:100%;display:block;inline-size:100%;overflow:visible}[data-ui=sparkline] [data-part=area]{fill:var(--_color);fill-opacity:var(--_area-opacity);-webkit-mask-image:linear-gradient(to bottom,black,transparent);mask-image:linear-gradient(to bottom,black,transparent);stroke:none;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui=sparkline] [data-part=line]{fill:none;stroke:var(--_color);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--_stroke);transition:d var(--slotted-duration-medium) var(--slotted-easing-standard);vector-effect:non-scaling-stroke}[data-ui=sparkline] [data-part=bar]{fill:var(--_bar-dim);stroke:none;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard),fill var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=sparkline] [data-part=bar][data-current]{fill:var(--_color)}[data-ui=sparkline] [data-part=reference]{fill:none;stroke:var(--_reference-color);stroke-dasharray:2 3;stroke-linecap:round;stroke-width:var(--slotted-border-width-thin, 1px);vector-effect:non-scaling-stroke}[data-ui=sparkline] [data-part=ring],[data-ui=sparkline] [data-part=marker]{fill:none;stroke-linecap:round;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard);vector-effect:non-scaling-stroke}[data-ui=sparkline] [data-part=ring]{stroke:var(--_ring-color);stroke-width:calc(var(--_marker) + 2 * var(--_ring))}[data-ui=sparkline] [data-part=marker]{stroke:var(--_color);stroke-width:var(--_marker)}[data-ui=sparkline]:dir(rtl) [data-part=plot]{transform:scaleX(-1)}@media(forced-colors:active){[data-ui=sparkline] [data-part=area]{display:none}[data-ui=sparkline] [data-part=bar]{fill:GrayText}[data-ui=sparkline] [data-part=bar][data-current]{fill:CanvasText}[data-ui=sparkline] [data-part=ring]{stroke:Canvas}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
192
+ </svg>`, isInline: true, styles: ["@layer slotted.components{[data-ui-sparkline]{--_size: var(--slotted-sparkline-block-size, var(--slotted-space-9, 2rem));--_stroke: var(--slotted-sparkline-line-width, var(--slotted-border-width-thick, 2px));--_marker: var(--slotted-sparkline-marker-size, var(--slotted-space-3, .375rem));--_ring: var(--slotted-sparkline-ring-width, var(--slotted-border-width-thick, 2px));--_ring-color: var(--slotted-sparkline-ring-color, var(--slotted-surface-raised, Canvas));--_area-opacity: var(--slotted-sparkline-area-opacity, .18);--_bar-share: var(--slotted-sparkline-bar-share, 62%);--_bar-dim: color-mix( in oklab, var(--_color) var(--_bar-share), var(--slotted-border-strong, ButtonBorder) );--_reference-color: var( --slotted-sparkline-reference-color, var(--slotted-border-strong, ButtonBorder) );--_color: var(--slotted-sparkline-color, var(--slotted-data-1));block-size:var(--_size);box-sizing:border-box;display:inline-block;inline-size:100%;line-height:0;min-inline-size:var(--slotted-sparkline-min-inline-size, 6rem);vertical-align:middle}[data-ui-sparkline][data-size=sm]{--_size: var(--slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem));--_stroke: var(--slotted-sparkline-line-width-sm, var(--slotted-border-width-medium, 1.5px));--_marker: var(--slotted-sparkline-marker-size-sm, var(--slotted-space-2, .25rem));--_ring: var(--slotted-sparkline-ring-width-sm, var(--slotted-border-width-medium, 1.5px))}[data-ui-sparkline][data-size=lg]{--_size: var(--slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem));--_marker: var(--slotted-sparkline-marker-size-lg, var(--slotted-space-4, .5rem))}[data-ui-sparkline][data-series=\"1\"]{--_color: var(--slotted-data-1)}[data-ui-sparkline][data-series=\"2\"]{--_color: var(--slotted-data-2)}[data-ui-sparkline][data-series=\"3\"]{--_color: var(--slotted-data-3)}[data-ui-sparkline][data-series=\"4\"]{--_color: var(--slotted-data-4)}[data-ui-sparkline][data-series=\"5\"]{--_color: var(--slotted-data-5)}[data-ui-sparkline][data-series=\"6\"]{--_color: var(--slotted-data-6)}[data-ui-sparkline][data-series=\"7\"]{--_color: var(--slotted-data-7)}[data-ui-sparkline][data-series=\"8\"]{--_color: var(--slotted-data-8)}[data-ui-sparkline][data-tone=neutral]{--_color: var(--slotted-text-muted, GrayText)}[data-ui-sparkline][data-tone=accent]{--_color: var(--slotted-tone-accent-text)}[data-ui-sparkline][data-tone=secondary]{--_color: var(--slotted-tone-secondary-text)}[data-ui-sparkline][data-tone=success]{--_color: var(--slotted-tone-success-text)}[data-ui-sparkline][data-tone=info]{--_color: var(--slotted-tone-info-text)}[data-ui-sparkline][data-tone=warning]{--_color: var(--slotted-tone-warning-text)}[data-ui-sparkline][data-tone=danger]{--_color: var(--slotted-tone-danger-text)}[data-ui-sparkline] [data-part-plot]{block-size:100%;display:block;inline-size:100%;overflow:visible}[data-ui-sparkline] [data-part-area]{fill:var(--_color);fill-opacity:var(--_area-opacity);-webkit-mask-image:linear-gradient(to bottom,black,transparent);mask-image:linear-gradient(to bottom,black,transparent);stroke:none}[data-ui-sparkline] [data-part-line]{fill:none;stroke:var(--_color);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--_stroke);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-bar]{fill:var(--_bar-dim);stroke:none;transition:fill var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-sparkline] [data-part-bar][data-current]{fill:var(--_color)}[data-ui-sparkline] [data-part-reference]{fill:none;stroke:var(--_reference-color);stroke-dasharray:2 3;stroke-linecap:round;stroke-width:var(--slotted-border-width-thin, 1px);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-ring],[data-ui-sparkline] [data-part-marker]{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}@media(prefers-reduced-motion:no-preference){[data-ui-sparkline][data-animate] :is([data-part-area],[data-part-line],[data-part-ring],[data-part-marker]){transition:d var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui-sparkline][data-animate] [data-part-bar]{transition:d var(--slotted-duration-medium) var(--slotted-easing-standard),fill var(--slotted-duration-short) var(--slotted-easing-standard)}}[data-ui-sparkline] [data-part-ring]{stroke:var(--_ring-color);stroke-width:calc(var(--_marker) + 2 * var(--_ring))}[data-ui-sparkline] [data-part-marker]{stroke:var(--_color);stroke-width:var(--_marker)}[data-ui-sparkline]:dir(rtl) [data-part-plot]{transform:scaleX(-1)}@media(forced-colors:active){[data-ui-sparkline] [data-part-area]{display:none}[data-ui-sparkline] [data-part-bar]{fill:GrayText}[data-ui-sparkline] [data-part-bar][data-current]{fill:CanvasText}[data-ui-sparkline] [data-part-ring]{stroke:Canvas}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
176
193
  }
177
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSparkline, decorators: [{
178
195
  type: Component,
179
196
  args: [{ selector: '[slSparkline]', standalone: true, template: `<svg
180
197
  data-part="plot"
198
+ data-part-plot=""
181
199
  aria-hidden="true"
182
200
  focusable="false"
183
201
  preserveAspectRatio="none"
184
202
  [attr.viewBox]="viewBox()"
185
203
  >
186
204
  @if (layout().area) {
187
- <path data-part="area" [attr.d]="layout().area" />
205
+ <path data-part="area" data-part-area="" [attr.d]="layout().area" />
188
206
  }
189
207
  @if (layout().line) {
190
- <path data-part="line" [attr.d]="layout().line" />
208
+ <path data-part="line" data-part-line="" [attr.d]="layout().line" />
191
209
  }
192
210
  @for (bar of layout().bars; track bar.index; let last = $last) {
193
- <path data-part="bar" [attr.data-current]="last ? '' : null" [attr.d]="bar.path" />
211
+ <path
212
+ data-part="bar"
213
+ data-part-bar=""
214
+ [attr.data-current]="last ? '' : null"
215
+ [attr.d]="bar.path"
216
+ />
194
217
  }
195
218
  @if (layout().reference !== null) {
196
219
  <line
197
220
  data-part="reference"
221
+ data-part-reference=""
198
222
  x1="0"
199
223
  [attr.x2]="width()"
200
224
  [attr.y1]="layout().reference"
@@ -202,12 +226,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
202
226
  />
203
227
  }
204
228
  @if (markerPath()) {
205
- <path data-part="ring" [attr.d]="markerPath()" />
206
- <path data-part="marker" [attr.d]="markerPath()" />
229
+ <path data-part="ring" data-part-ring="" [attr.d]="markerPath()" />
230
+ <path data-part="marker" data-part-marker="" [attr.d]="markerPath()" />
207
231
  }
208
232
  </svg>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'slSparkline', host: {
209
233
  'data-ui': 'sparkline',
234
+ 'data-ui-sparkline': '',
210
235
  'data-part': 'root',
236
+ 'data-part-root': '',
211
237
  role: 'img',
212
238
  '[attr.aria-label]': 'name()',
213
239
  '[attr.data-type]': 'type()',
@@ -215,7 +241,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
215
241
  '[attr.data-curve]': 'resolvedCurve()',
216
242
  '[attr.data-tone]': 'tone() ?? null',
217
243
  '[attr.data-series]': 'series() ?? null',
218
- }, styles: ["@layer slotted.components{[data-ui=sparkline]{--_size: var(--slotted-sparkline-block-size, var(--slotted-space-9, 2rem));--_stroke: var(--slotted-sparkline-line-width, var(--slotted-border-width-thick, 2px));--_marker: var(--slotted-sparkline-marker-size, var(--slotted-space-3, .375rem));--_ring: var(--slotted-sparkline-ring-width, var(--slotted-border-width-thick, 2px));--_ring-color: var(--slotted-sparkline-ring-color, var(--slotted-surface-raised, Canvas));--_area-opacity: var(--slotted-sparkline-area-opacity, .18);--_bar-share: var(--slotted-sparkline-bar-share, 62%);--_bar-dim: color-mix( in oklab, var(--_color) var(--_bar-share), var(--slotted-border-strong, ButtonBorder) );--_reference-color: var( --slotted-sparkline-reference-color, var(--slotted-border-strong, ButtonBorder) );--_color: var(--slotted-sparkline-color, var(--slotted-data-1));block-size:var(--_size);box-sizing:border-box;display:inline-block;inline-size:100%;line-height:0;min-inline-size:0;vertical-align:middle}[data-ui=sparkline][data-size=sm]{--_size: var(--slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem));--_stroke: var(--slotted-sparkline-line-width-sm, var(--slotted-border-width-medium, 1.5px));--_marker: var(--slotted-sparkline-marker-size-sm, var(--slotted-space-2, .25rem));--_ring: var(--slotted-sparkline-ring-width-sm, var(--slotted-border-width-medium, 1.5px))}[data-ui=sparkline][data-size=lg]{--_size: var(--slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem));--_marker: var(--slotted-sparkline-marker-size-lg, var(--slotted-space-4, .5rem))}[data-ui=sparkline][data-series=\"1\"]{--_color: var(--slotted-data-1)}[data-ui=sparkline][data-series=\"2\"]{--_color: var(--slotted-data-2)}[data-ui=sparkline][data-series=\"3\"]{--_color: var(--slotted-data-3)}[data-ui=sparkline][data-series=\"4\"]{--_color: var(--slotted-data-4)}[data-ui=sparkline][data-series=\"5\"]{--_color: var(--slotted-data-5)}[data-ui=sparkline][data-series=\"6\"]{--_color: var(--slotted-data-6)}[data-ui=sparkline][data-series=\"7\"]{--_color: var(--slotted-data-7)}[data-ui=sparkline][data-series=\"8\"]{--_color: var(--slotted-data-8)}[data-ui=sparkline][data-tone=neutral]{--_color: var(--slotted-text-muted, GrayText)}[data-ui=sparkline][data-tone=accent]{--_color: var(--slotted-tone-accent-text)}[data-ui=sparkline][data-tone=secondary]{--_color: var(--slotted-tone-secondary-text)}[data-ui=sparkline][data-tone=success]{--_color: var(--slotted-tone-success-text)}[data-ui=sparkline][data-tone=warning]{--_color: var(--slotted-tone-warning-text)}[data-ui=sparkline][data-tone=danger]{--_color: var(--slotted-tone-danger-text)}[data-ui=sparkline] [data-part=plot]{block-size:100%;display:block;inline-size:100%;overflow:visible}[data-ui=sparkline] [data-part=area]{fill:var(--_color);fill-opacity:var(--_area-opacity);-webkit-mask-image:linear-gradient(to bottom,black,transparent);mask-image:linear-gradient(to bottom,black,transparent);stroke:none;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui=sparkline] [data-part=line]{fill:none;stroke:var(--_color);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--_stroke);transition:d var(--slotted-duration-medium) var(--slotted-easing-standard);vector-effect:non-scaling-stroke}[data-ui=sparkline] [data-part=bar]{fill:var(--_bar-dim);stroke:none;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard),fill var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=sparkline] [data-part=bar][data-current]{fill:var(--_color)}[data-ui=sparkline] [data-part=reference]{fill:none;stroke:var(--_reference-color);stroke-dasharray:2 3;stroke-linecap:round;stroke-width:var(--slotted-border-width-thin, 1px);vector-effect:non-scaling-stroke}[data-ui=sparkline] [data-part=ring],[data-ui=sparkline] [data-part=marker]{fill:none;stroke-linecap:round;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard);vector-effect:non-scaling-stroke}[data-ui=sparkline] [data-part=ring]{stroke:var(--_ring-color);stroke-width:calc(var(--_marker) + 2 * var(--_ring))}[data-ui=sparkline] [data-part=marker]{stroke:var(--_color);stroke-width:var(--_marker)}[data-ui=sparkline]:dir(rtl) [data-part=plot]{transform:scaleX(-1)}@media(forced-colors:active){[data-ui=sparkline] [data-part=area]{display:none}[data-ui=sparkline] [data-part=bar]{fill:GrayText}[data-ui=sparkline] [data-part=bar][data-current]{fill:CanvasText}[data-ui=sparkline] [data-part=ring]{stroke:Canvas}}}\n"] }]
244
+ '[attr.data-animate]': "animate() ? '' : null",
245
+ }, styles: ["@layer slotted.components{[data-ui-sparkline]{--_size: var(--slotted-sparkline-block-size, var(--slotted-space-9, 2rem));--_stroke: var(--slotted-sparkline-line-width, var(--slotted-border-width-thick, 2px));--_marker: var(--slotted-sparkline-marker-size, var(--slotted-space-3, .375rem));--_ring: var(--slotted-sparkline-ring-width, var(--slotted-border-width-thick, 2px));--_ring-color: var(--slotted-sparkline-ring-color, var(--slotted-surface-raised, Canvas));--_area-opacity: var(--slotted-sparkline-area-opacity, .18);--_bar-share: var(--slotted-sparkline-bar-share, 62%);--_bar-dim: color-mix( in oklab, var(--_color) var(--_bar-share), var(--slotted-border-strong, ButtonBorder) );--_reference-color: var( --slotted-sparkline-reference-color, var(--slotted-border-strong, ButtonBorder) );--_color: var(--slotted-sparkline-color, var(--slotted-data-1));block-size:var(--_size);box-sizing:border-box;display:inline-block;inline-size:100%;line-height:0;min-inline-size:var(--slotted-sparkline-min-inline-size, 6rem);vertical-align:middle}[data-ui-sparkline][data-size=sm]{--_size: var(--slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem));--_stroke: var(--slotted-sparkline-line-width-sm, var(--slotted-border-width-medium, 1.5px));--_marker: var(--slotted-sparkline-marker-size-sm, var(--slotted-space-2, .25rem));--_ring: var(--slotted-sparkline-ring-width-sm, var(--slotted-border-width-medium, 1.5px))}[data-ui-sparkline][data-size=lg]{--_size: var(--slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem));--_marker: var(--slotted-sparkline-marker-size-lg, var(--slotted-space-4, .5rem))}[data-ui-sparkline][data-series=\"1\"]{--_color: var(--slotted-data-1)}[data-ui-sparkline][data-series=\"2\"]{--_color: var(--slotted-data-2)}[data-ui-sparkline][data-series=\"3\"]{--_color: var(--slotted-data-3)}[data-ui-sparkline][data-series=\"4\"]{--_color: var(--slotted-data-4)}[data-ui-sparkline][data-series=\"5\"]{--_color: var(--slotted-data-5)}[data-ui-sparkline][data-series=\"6\"]{--_color: var(--slotted-data-6)}[data-ui-sparkline][data-series=\"7\"]{--_color: var(--slotted-data-7)}[data-ui-sparkline][data-series=\"8\"]{--_color: var(--slotted-data-8)}[data-ui-sparkline][data-tone=neutral]{--_color: var(--slotted-text-muted, GrayText)}[data-ui-sparkline][data-tone=accent]{--_color: var(--slotted-tone-accent-text)}[data-ui-sparkline][data-tone=secondary]{--_color: var(--slotted-tone-secondary-text)}[data-ui-sparkline][data-tone=success]{--_color: var(--slotted-tone-success-text)}[data-ui-sparkline][data-tone=info]{--_color: var(--slotted-tone-info-text)}[data-ui-sparkline][data-tone=warning]{--_color: var(--slotted-tone-warning-text)}[data-ui-sparkline][data-tone=danger]{--_color: var(--slotted-tone-danger-text)}[data-ui-sparkline] [data-part-plot]{block-size:100%;display:block;inline-size:100%;overflow:visible}[data-ui-sparkline] [data-part-area]{fill:var(--_color);fill-opacity:var(--_area-opacity);-webkit-mask-image:linear-gradient(to bottom,black,transparent);mask-image:linear-gradient(to bottom,black,transparent);stroke:none}[data-ui-sparkline] [data-part-line]{fill:none;stroke:var(--_color);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--_stroke);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-bar]{fill:var(--_bar-dim);stroke:none;transition:fill var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-sparkline] [data-part-bar][data-current]{fill:var(--_color)}[data-ui-sparkline] [data-part-reference]{fill:none;stroke:var(--_reference-color);stroke-dasharray:2 3;stroke-linecap:round;stroke-width:var(--slotted-border-width-thin, 1px);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-ring],[data-ui-sparkline] [data-part-marker]{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}@media(prefers-reduced-motion:no-preference){[data-ui-sparkline][data-animate] :is([data-part-area],[data-part-line],[data-part-ring],[data-part-marker]){transition:d var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui-sparkline][data-animate] [data-part-bar]{transition:d var(--slotted-duration-medium) var(--slotted-easing-standard),fill var(--slotted-duration-short) var(--slotted-easing-standard)}}[data-ui-sparkline] [data-part-ring]{stroke:var(--_ring-color);stroke-width:calc(var(--_marker) + 2 * var(--_ring))}[data-ui-sparkline] [data-part-marker]{stroke:var(--_color);stroke-width:var(--_marker)}[data-ui-sparkline]:dir(rtl) [data-part-plot]{transform:scaleX(-1)}@media(forced-colors:active){[data-ui-sparkline] [data-part-area]{display:none}[data-ui-sparkline] [data-part-bar]{fill:GrayText}[data-ui-sparkline] [data-part-bar][data-current]{fill:CanvasText}[data-ui-sparkline] [data-part-ring]{stroke:Canvas}}}\n"] }]
219
246
  }], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], curve: [{ type: i0.Input, args: [{ isSignal: true, alias: "curve", required: false }] }], area: [{ type: i0.Input, args: [{ isSignal: true, alias: "area", required: false }] }], marker: [{ type: i0.Input, args: [{ isSignal: true, alias: "marker", required: false }] }], reference: [{ type: i0.Input, args: [{ isSignal: true, alias: "reference", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], series: [{ type: i0.Input, args: [{ isSignal: true, alias: "series", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], formatOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatOptions", required: false }] }], valueFormatter: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueFormatter", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }] } });
220
247
  /** Absence has to survive the transform: an unset input defers to the defaults. */
221
248
  function optionalBoolean(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"slotted-angular-sparkline.mjs","sources":["../../sparkline/src/sparkline-defaults.ts","../../sparkline/src/sparkline.constants.ts","../../sparkline/src/sparkline.ts","../../sparkline/src/slotted-angular-sparkline.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type { SparklineCurve } from './sparkline.constants';\n\n/**\n * What every sparkline in an application does before any of them states\n * anything of its own: how a number is read out, whether a line is smoothed,\n * washed and marked. Its words and locale come from the language in force\n * (`provideSlotted`).\n */\nexport interface SparklineDefaults {\n area?: boolean;\n curve?: SparklineCurve;\n formatOptions?: Intl.NumberFormatOptions;\n marker?: boolean;\n}\n\nexport const SPARKLINE_DEFAULTS_TOKEN = new InjectionToken<SparklineDefaults>(\n 'slotted sparkline defaults',\n { providedIn: 'root', factory: (): SparklineDefaults => ({}) },\n);\n\n/**\n * An application decides once how its sparklines are drawn and read out, and\n * every sparkline inherits it. A sparkline that states any of those still\n * wins: an explicit input is never overridden by the token.\n */\nexport function provideSparklineDefaults(defaults: SparklineDefaults) {\n return { provide: SPARKLINE_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectSparklineDefaults(): SparklineDefaults {\n return inject(SPARKLINE_DEFAULTS_TOKEN);\n}\n","export type SparklineType = 'line' | 'bar';\nexport type SparklineSize = 'sm' | 'md' | 'lg';\nexport type SparklineCurve = 'linear' | 'monotone';\nexport type SparklineTone = 'neutral' | 'accent' | 'secondary' | 'success' | 'warning' | 'danger';\nexport type SparklineSeries = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n\n/** The bar's corner and the space between two bars, in pixels; the stylesheet's geometry. */\nexport const SPARKLINE_BAR_GAP = 2;\nexport const SPARKLINE_BAR_RADIUS = 2;\n","import {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport {\n type PartialMessages,\n sparklineMessages,\n type SparklineMessages,\n} from '@slotted/core/i18n';\nimport {\n describeSparkline,\n layoutSparkline,\n observeSparklineBox,\n SPARKLINE_STEPS,\n sparklineInset,\n} from '@slotted/core/sparkline';\nimport type { SparklineBox, SparklineDatum } from '@slotted/core/sparkline';\n\nimport { injectSparklineDefaults } from './sparkline-defaults';\nimport {\n SPARKLINE_BAR_GAP,\n SPARKLINE_BAR_RADIUS,\n type SparklineCurve,\n type SparklineSeries,\n type SparklineSize,\n type SparklineTone,\n type SparklineType,\n} from './sparkline.constants';\n\n/**\n * A series of numbers drawn in a box: a line through them or a bar per\n * period, a disc on the last point, a dashed line at a reference. The\n * geometry is `@slotted/core/sparkline`'s and the paint is the stylesheet's;\n * what this binding decides is when to measure and what to say.\n *\n * The box is measured after the first render, so the first browser paint is\n * on the real grid; on the server the drawing is laid out on the nominal\n * grid of its size step and stretched to the box, where\n * `vector-effect: non-scaling-stroke` keeps every stroke and both discs at\n * their screen size. The host is `role=\"img\"` with the generated description\n * as its name — an `aria-label` the consumer wrote on the element wins — and\n * the `svg` is hidden: a drawing with no interaction is an image.\n */\n@Component({\n selector: '[slSparkline]',\n standalone: true,\n template: `<svg\n data-part=\"plot\"\n aria-hidden=\"true\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n [attr.viewBox]=\"viewBox()\"\n >\n @if (layout().area) {\n <path data-part=\"area\" [attr.d]=\"layout().area\" />\n }\n @if (layout().line) {\n <path data-part=\"line\" [attr.d]=\"layout().line\" />\n }\n @for (bar of layout().bars; track bar.index; let last = $last) {\n <path data-part=\"bar\" [attr.data-current]=\"last ? '' : null\" [attr.d]=\"bar.path\" />\n }\n @if (layout().reference !== null) {\n <line\n data-part=\"reference\"\n x1=\"0\"\n [attr.x2]=\"width()\"\n [attr.y1]=\"layout().reference\"\n [attr.y2]=\"layout().reference\"\n />\n }\n @if (markerPath()) {\n <path data-part=\"ring\" [attr.d]=\"markerPath()\" />\n <path data-part=\"marker\" [attr.d]=\"markerPath()\" />\n }\n </svg>`,\n styleUrl: '../../../styles/src/sparkline/sparkline.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slSparkline',\n host: {\n 'data-ui': 'sparkline',\n 'data-part': 'root',\n role: 'img',\n '[attr.aria-label]': 'name()',\n '[attr.data-type]': 'type()',\n '[attr.data-size]': 'size()',\n '[attr.data-curve]': 'resolvedCurve()',\n '[attr.data-tone]': 'tone() ?? null',\n '[attr.data-series]': 'series() ?? null',\n },\n})\nexport class SlSparkline {\n /** The series, oldest first. `null` is a gap: the line breaks, the bar is not drawn. */\n readonly data = input<readonly SparklineDatum[]>([]);\n readonly type = input<SparklineType>('line');\n readonly size = input<SparklineSize>('md');\n /** Straight segments, or a monotone curve that never overshoots a point. */\n readonly curve = input<SparklineCurve | undefined>(undefined);\n /** The wash under a line. */\n readonly area = input<boolean | undefined, unknown>(undefined, { transform: optionalBoolean });\n /** A disc on the last real point. */\n readonly marker = input<boolean | undefined, unknown>(undefined, { transform: optionalBoolean });\n /** A dashed line at this value, which widens the extent to hold it. */\n readonly reference = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** The extent, when the data's own is not the one to draw. The data widens it, never narrows it. */\n readonly min = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n readonly max = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** How the series is doing. Wins over `series`. */\n readonly tone = input<SparklineTone | undefined>(undefined);\n /** Which series this is, as a slot of the data scale. */\n readonly series = input<SparklineSeries | undefined>(undefined);\n /** What the series is, said first in the description. */\n readonly label = input<string | undefined>(undefined);\n /** The whole accessible name, replacing the generated description. */\n readonly description = input<string | undefined>(undefined);\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n readonly valueFormatter = input<((value: number) => string) | undefined>(undefined);\n /** The locale numbers are written in; the language in force when absent. */\n readonly locale = input<string | undefined>(undefined);\n /** Words laid over the catalog of the language in force, key by key: the description's sentences. */\n readonly messages = input<PartialMessages<SparklineMessages> | undefined>(undefined);\n\n private readonly defaults = injectSparklineDefaults();\n private readonly host: HTMLElement = inject(ElementRef).nativeElement;\n /** An `aria-label` the consumer wrote on their own element, which wins. */\n private readonly ownLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly box = signal<SparklineBox | null>(null);\n\n readonly resolvedCurve = computed(() => this.curve() ?? this.defaults.curve ?? 'linear');\n readonly resolvedArea = computed(() => this.area() ?? this.defaults.area ?? false);\n readonly resolvedMarker = computed(() => this.marker() ?? this.defaults.marker ?? true);\n /** The family's words in the language in force, with this sparkline's `messages` laid over them. */\n readonly t = injectMessages(sparklineMessages, this.messages);\n private readonly appLocale = injectLocale();\n\n readonly width = computed(() => this.box()?.width || SPARKLINE_STEPS[this.size()].width);\n readonly height = computed(() => this.box()?.height || SPARKLINE_STEPS[this.size()].height);\n readonly viewBox = computed(() => `0 0 ${this.width()} ${this.height()}`);\n\n readonly layout = computed(() =>\n layoutSparkline({\n data: this.data(),\n width: this.width(),\n height: this.height(),\n inset: sparklineInset(this.size(), this.type(), this.resolvedMarker()),\n type: this.type(),\n curve: this.resolvedCurve(),\n area: this.resolvedArea(),\n min: this.min(),\n max: this.max(),\n reference: this.reference(),\n gap: SPARKLINE_BAR_GAP,\n radius: SPARKLINE_BAR_RADIUS,\n }),\n );\n\n readonly markerPath = computed(() => {\n const marker = this.layout().marker;\n if (!this.resolvedMarker() || this.type() !== 'line' || marker === null) return null;\n return `M${marker.x} ${marker.y}h0.001`;\n });\n\n readonly name = computed(() => {\n if (this.ownLabel) return this.ownLabel;\n const description = this.description();\n if (description !== undefined) return description;\n const own = this.valueFormatter();\n const formatter = new Intl.NumberFormat(\n this.locale() ?? this.appLocale(),\n this.formatOptions() ?? this.defaults.formatOptions,\n );\n return describeSparkline(this.data(), {\n t: this.t,\n format: own ?? ((value) => formatter.format(value)),\n label: this.label(),\n });\n });\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n afterNextRender(() => {\n const handle = observeSparklineBox(this.host, (box) => this.box.set(box));\n destroyRef.onDestroy(() => handle.destroy());\n });\n }\n}\n\n/** Absence has to survive the transform: an unset input defers to the defaults. */\nexport function optionalBoolean(value: unknown): boolean | undefined {\n return value === undefined ? undefined : booleanAttribute(value);\n}\n\nexport function optionalNumber(value: unknown): number | undefined {\n if (value === undefined || value === null || value === '') return undefined;\n return numberAttribute(value);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slotted-angular-sparkline.mjs","sources":["../../sparkline/src/sparkline-defaults.ts","../../sparkline/src/sparkline.constants.ts","../../sparkline/src/sparkline.ts","../../sparkline/src/slotted-angular-sparkline.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type { SparklineCurve } from './sparkline.constants';\n\n/**\n * What every sparkline in an application does before any of them states\n * anything of its own: how a number is read out, whether a line is smoothed,\n * washed and marked. Its words and locale come from the language in force\n * (`provideSlotted`).\n */\nexport interface SparklineDefaults {\n area?: boolean;\n curve?: SparklineCurve;\n formatOptions?: Intl.NumberFormatOptions;\n marker?: boolean;\n}\n\nexport const SPARKLINE_DEFAULTS_TOKEN = new InjectionToken<SparklineDefaults>(\n 'slotted sparkline defaults',\n { providedIn: 'root', factory: (): SparklineDefaults => ({}) },\n);\n\n/**\n * An application decides once how its sparklines are drawn and read out, and\n * every sparkline inherits it. A sparkline that states any of those still\n * wins: an explicit input is never overridden by the token.\n */\nexport function provideSparklineDefaults(defaults: SparklineDefaults) {\n return { provide: SPARKLINE_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectSparklineDefaults(): SparklineDefaults {\n return inject(SPARKLINE_DEFAULTS_TOKEN);\n}\n","export type SparklineType = 'line' | 'bar';\nexport type SparklineSize = 'sm' | 'md' | 'lg';\nexport type SparklineCurve = 'linear' | 'monotone';\nexport type SparklineTone =\n 'neutral' | 'accent' | 'secondary' | 'info' | 'success' | 'warning' | 'danger';\nexport type SparklineSeries = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n\n/** The bar's corner and the space between two bars, in pixels; the stylesheet's geometry. */\nexport const SPARKLINE_BAR_GAP = 2;\nexport const SPARKLINE_BAR_RADIUS = 2;\n","import {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n HostAttributeToken,\n inject,\n input,\n linkedSignal,\n numberAttribute,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport {\n type PartialMessages,\n sparklineMessages,\n type SparklineMessages,\n} from '@slotted/core/i18n';\nimport {\n describeSparkline,\n layoutSparkline,\n observeSparklineBox,\n SPARKLINE_STEPS,\n sparklineInset,\n} from '@slotted/core/sparkline';\nimport type { SparklineBox, SparklineDatum } from '@slotted/core/sparkline';\n\nimport { injectSparklineDefaults } from './sparkline-defaults';\nimport {\n SPARKLINE_BAR_GAP,\n SPARKLINE_BAR_RADIUS,\n type SparklineCurve,\n type SparklineSeries,\n type SparklineSize,\n type SparklineTone,\n type SparklineType,\n} from './sparkline.constants';\n\n/**\n * A series of numbers drawn in a box: a line through them or a bar per\n * period, a disc on the last point, a dashed line at a reference. The\n * geometry is `@slotted/core/sparkline`'s and the paint is the stylesheet's;\n * what this binding decides is when to measure and what to say.\n *\n * The box is measured after the first render, so the first browser paint is\n * on the real grid; on the server the drawing is laid out on the nominal\n * grid of its size step and stretched to the box, where\n * `vector-effect: non-scaling-stroke` keeps every stroke and both discs at\n * their screen size. The host is `role=\"img\"` with the generated description\n * as its name — an `aria-label` the consumer wrote on the element wins — and\n * the `svg` is hidden: a drawing with no interaction is an image.\n */\n@Component({\n selector: '[slSparkline]',\n standalone: true,\n template: `<svg\n data-part=\"plot\"\n data-part-plot=\"\"\n aria-hidden=\"true\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n [attr.viewBox]=\"viewBox()\"\n >\n @if (layout().area) {\n <path data-part=\"area\" data-part-area=\"\" [attr.d]=\"layout().area\" />\n }\n @if (layout().line) {\n <path data-part=\"line\" data-part-line=\"\" [attr.d]=\"layout().line\" />\n }\n @for (bar of layout().bars; track bar.index; let last = $last) {\n <path\n data-part=\"bar\"\n data-part-bar=\"\"\n [attr.data-current]=\"last ? '' : null\"\n [attr.d]=\"bar.path\"\n />\n }\n @if (layout().reference !== null) {\n <line\n data-part=\"reference\"\n data-part-reference=\"\"\n x1=\"0\"\n [attr.x2]=\"width()\"\n [attr.y1]=\"layout().reference\"\n [attr.y2]=\"layout().reference\"\n />\n }\n @if (markerPath()) {\n <path data-part=\"ring\" data-part-ring=\"\" [attr.d]=\"markerPath()\" />\n <path data-part=\"marker\" data-part-marker=\"\" [attr.d]=\"markerPath()\" />\n }\n </svg>`,\n styleUrl: '../../../styles/src/sparkline/sparkline.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slSparkline',\n host: {\n 'data-ui': 'sparkline',\n 'data-ui-sparkline': '',\n 'data-part': 'root',\n 'data-part-root': '',\n role: 'img',\n '[attr.aria-label]': 'name()',\n '[attr.data-type]': 'type()',\n '[attr.data-size]': 'size()',\n '[attr.data-curve]': 'resolvedCurve()',\n '[attr.data-tone]': 'tone() ?? null',\n '[attr.data-series]': 'series() ?? null',\n '[attr.data-animate]': \"animate() ? '' : null\",\n },\n})\nexport class SlSparkline {\n /** The series, oldest first. `null` is a gap: the line breaks, the bar is not drawn. */\n readonly data = input<readonly SparklineDatum[]>([]);\n readonly type = input<SparklineType>('line');\n readonly size = input<SparklineSize>('md');\n /** Straight segments, or a monotone curve that never overshoots a point. */\n readonly curve = input<SparklineCurve | undefined>(undefined);\n /** The wash under a line. */\n readonly area = input<boolean | undefined, unknown>(undefined, { transform: optionalBoolean });\n /** A disc on the last real point. */\n readonly marker = input<boolean | undefined, unknown>(undefined, { transform: optionalBoolean });\n /** A dashed line at this value, which widens the extent to hold it. */\n readonly reference = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** The extent, when the data's own is not the one to draw. The data widens it, never narrows it. */\n readonly min = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n readonly max = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** How the series is doing. Wins over `series`. */\n readonly tone = input<SparklineTone | undefined>(undefined);\n /** Which series this is, as a slot of the data scale. */\n readonly series = input<SparklineSeries | undefined>(undefined);\n /** What the series is, said first in the description. */\n readonly label = input<string | undefined>(undefined);\n /** The whole accessible name, replacing the generated description. */\n readonly description = input<string | undefined>(undefined);\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n readonly valueFormatter = input<((value: number) => string) | undefined>(undefined);\n /** The locale numbers are written in; the language in force when absent. */\n readonly locale = input<string | undefined>(undefined);\n /** Words laid over the catalog of the language in force, key by key: the description's sentences. */\n readonly messages = input<PartialMessages<SparklineMessages> | undefined>(undefined);\n\n private readonly defaults = injectSparklineDefaults();\n private readonly host: HTMLElement = inject(ElementRef).nativeElement;\n /** An `aria-label` the consumer wrote on their own element, which wins. */\n private readonly ownLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly box = signal<SparklineBox | null>(null);\n\n readonly resolvedCurve = computed(() => this.curve() ?? this.defaults.curve ?? 'linear');\n readonly resolvedArea = computed(() => this.area() ?? this.defaults.area ?? false);\n readonly resolvedMarker = computed(() => this.marker() ?? this.defaults.marker ?? true);\n /** The family's words in the language in force, with this sparkline's `messages` laid over them. */\n readonly t = injectMessages(sparklineMessages, this.messages);\n private readonly appLocale = injectLocale();\n\n readonly width = computed(() => this.box()?.width || SPARKLINE_STEPS[this.size()].width);\n readonly height = computed(() => this.box()?.height || SPARKLINE_STEPS[this.size()].height);\n readonly viewBox = computed(() => `0 0 ${this.width()} ${this.height()}`);\n /**\n * Only a change of `data` animates the marks. A box that settles after the\n * first render — a table cell sizing its column — redraws at once: a path\n * that eased to the new width read as the series growing.\n */\n readonly animate = linkedSignal<\n { data: readonly SparklineDatum[]; width: number; height: number },\n boolean\n >({\n source: () => ({ data: this.data(), width: this.width(), height: this.height() }),\n computation: (now, previous) =>\n previous !== undefined &&\n previous.source.data !== now.data &&\n previous.source.width === now.width &&\n previous.source.height === now.height,\n });\n\n readonly layout = computed(() =>\n layoutSparkline({\n data: this.data(),\n width: this.width(),\n height: this.height(),\n inset: sparklineInset(this.size(), this.type(), this.resolvedMarker()),\n type: this.type(),\n curve: this.resolvedCurve(),\n area: this.resolvedArea(),\n min: this.min(),\n max: this.max(),\n reference: this.reference(),\n gap: SPARKLINE_BAR_GAP,\n radius: SPARKLINE_BAR_RADIUS,\n }),\n );\n\n readonly markerPath = computed(() => {\n const marker = this.layout().marker;\n if (!this.resolvedMarker() || this.type() !== 'line' || marker === null) return null;\n return `M${marker.x} ${marker.y}h0.001`;\n });\n\n readonly name = computed(() => {\n if (this.ownLabel) return this.ownLabel;\n const description = this.description();\n if (description !== undefined) return description;\n const own = this.valueFormatter();\n const formatter = new Intl.NumberFormat(\n this.locale() ?? this.appLocale(),\n this.formatOptions() ?? this.defaults.formatOptions,\n );\n return describeSparkline(this.data(), {\n t: this.t,\n format: own ?? ((value) => formatter.format(value)),\n label: this.label(),\n });\n });\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n afterNextRender(() => {\n const handle = observeSparklineBox(this.host, (box) => this.box.set(box));\n destroyRef.onDestroy(() => handle.destroy());\n });\n }\n}\n\n/** Absence has to survive the transform: an unset input defers to the defaults. */\nexport function optionalBoolean(value: unknown): boolean | undefined {\n return value === undefined ? undefined : booleanAttribute(value);\n}\n\nexport function optionalNumber(value: unknown): number | undefined {\n if (value === undefined || value === null || value === '') return undefined;\n return numberAttribute(value);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}