ngwr 15.0.1 → 15.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/anchor/styles/_index.scss +13 -2
  2. package/bits/aurora/styles/_rules.scss +11 -0
  3. package/bits/dot-grid/dot-grid.scss +1 -0
  4. package/bits/dot-grid/styles/_index.scss +8 -0
  5. package/bits/dot-grid/styles/_rules.scss +54 -0
  6. package/bits/iridescence/iridescence.scss +1 -0
  7. package/bits/iridescence/styles/_index.scss +8 -0
  8. package/bits/iridescence/styles/_rules.scss +72 -0
  9. package/bits/marquee/styles/_rules.scss +7 -3
  10. package/bits/ripple-grid/ripple-grid.scss +1 -0
  11. package/bits/ripple-grid/styles/_index.scss +8 -0
  12. package/bits/ripple-grid/styles/_rules.scss +63 -0
  13. package/bits/spotlight-card/styles/_rules.scss +7 -4
  14. package/bits/star-border/styles/_rules.scss +5 -2
  15. package/bits/threads/styles/_index.scss +8 -0
  16. package/bits/threads/styles/_rules.scss +76 -0
  17. package/bits/threads/threads.scss +1 -0
  18. package/bits/waves/styles/_rules.scss +8 -1
  19. package/charts/bar-chart/styles/_index.scss +607 -7
  20. package/charts/boxplot-chart/styles/_index.scss +297 -0
  21. package/charts/bullet-chart/styles/_index.scss +268 -0
  22. package/charts/calendar-heatmap/styles/_index.scss +25 -3
  23. package/charts/candlestick-chart/styles/_index.scss +307 -0
  24. package/charts/chart-legend/styles/_index.scss +143 -0
  25. package/charts/core/styles/_index.scss +30 -0
  26. package/charts/donut-chart/styles/_index.scss +39 -3
  27. package/charts/funnel-chart/styles/_index.scss +237 -0
  28. package/charts/gauge/styles/_index.scss +4 -2
  29. package/charts/heatmap-chart/styles/_index.scss +329 -0
  30. package/charts/line-chart/styles/_index.scss +141 -8
  31. package/charts/meter-group/styles/_index.scss +44 -13
  32. package/charts/radar-chart/styles/_index.scss +206 -0
  33. package/charts/scatter-chart/styles/_index.scss +245 -0
  34. package/charts/sparkline/styles/_index.scss +10 -1
  35. package/charts/treemap-chart/styles/_index.scss +215 -0
  36. package/charts/waterfall-chart/styles/_index.scss +321 -0
  37. package/collapse/styles/_index.scss +6 -1
  38. package/fesm2022/ngwr-affix.mjs +3 -3
  39. package/fesm2022/ngwr-alert.mjs +3 -3
  40. package/fesm2022/ngwr-anchor.mjs +3 -3
  41. package/fesm2022/ngwr-avatar.mjs +3 -3
  42. package/fesm2022/ngwr-back-top.mjs +3 -3
  43. package/fesm2022/ngwr-badge.mjs +6 -6
  44. package/fesm2022/ngwr-bits-aurora.mjs +30 -38
  45. package/fesm2022/ngwr-bits-aurora.mjs.map +1 -1
  46. package/fesm2022/ngwr-bits-blur-text.mjs +3 -3
  47. package/fesm2022/ngwr-bits-border-glow-testing.mjs.map +1 -1
  48. package/fesm2022/ngwr-bits-border-glow.mjs +11 -5
  49. package/fesm2022/ngwr-bits-border-glow.mjs.map +1 -1
  50. package/fesm2022/ngwr-bits-circular-text.mjs +3 -3
  51. package/fesm2022/ngwr-bits-click-spark.mjs +3 -3
  52. package/fesm2022/ngwr-bits-confetti.mjs +3 -3
  53. package/fesm2022/ngwr-bits-decrypt-text.mjs +3 -3
  54. package/fesm2022/ngwr-bits-dot-grid-testing.mjs +40 -0
  55. package/fesm2022/ngwr-bits-dot-grid-testing.mjs.map +1 -0
  56. package/fesm2022/ngwr-bits-dot-grid.mjs +482 -0
  57. package/fesm2022/ngwr-bits-dot-grid.mjs.map +1 -0
  58. package/fesm2022/ngwr-bits-falling-text.mjs +3 -3
  59. package/fesm2022/ngwr-bits-fuzzy-text.mjs +3 -3
  60. package/fesm2022/ngwr-bits-glitch-text.mjs +3 -3
  61. package/fesm2022/ngwr-bits-gradient-text.mjs +3 -3
  62. package/fesm2022/ngwr-bits-iridescence-testing.mjs +31 -0
  63. package/fesm2022/ngwr-bits-iridescence-testing.mjs.map +1 -0
  64. package/fesm2022/ngwr-bits-iridescence.mjs +591 -0
  65. package/fesm2022/ngwr-bits-iridescence.mjs.map +1 -0
  66. package/fesm2022/ngwr-bits-marquee-testing.mjs +1 -1
  67. package/fesm2022/ngwr-bits-marquee-testing.mjs.map +1 -1
  68. package/fesm2022/ngwr-bits-marquee.mjs +7 -7
  69. package/fesm2022/ngwr-bits-marquee.mjs.map +1 -1
  70. package/fesm2022/ngwr-bits-ripple-grid-testing.mjs +40 -0
  71. package/fesm2022/ngwr-bits-ripple-grid-testing.mjs.map +1 -0
  72. package/fesm2022/ngwr-bits-ripple-grid.mjs +805 -0
  73. package/fesm2022/ngwr-bits-ripple-grid.mjs.map +1 -0
  74. package/fesm2022/ngwr-bits-rotating-text.mjs +3 -3
  75. package/fesm2022/ngwr-bits-shiny-text.mjs +6 -6
  76. package/fesm2022/ngwr-bits-splash-cursor.mjs +3 -3
  77. package/fesm2022/ngwr-bits-split-text.mjs +3 -3
  78. package/fesm2022/ngwr-bits-spotlight-card-testing.mjs +1 -1
  79. package/fesm2022/ngwr-bits-spotlight-card-testing.mjs.map +1 -1
  80. package/fesm2022/ngwr-bits-spotlight-card.mjs +10 -10
  81. package/fesm2022/ngwr-bits-spotlight-card.mjs.map +1 -1
  82. package/fesm2022/ngwr-bits-star-border-testing.mjs +1 -1
  83. package/fesm2022/ngwr-bits-star-border-testing.mjs.map +1 -1
  84. package/fesm2022/ngwr-bits-star-border.mjs +7 -7
  85. package/fesm2022/ngwr-bits-star-border.mjs.map +1 -1
  86. package/fesm2022/ngwr-bits-threads-testing.mjs +41 -0
  87. package/fesm2022/ngwr-bits-threads-testing.mjs.map +1 -0
  88. package/fesm2022/ngwr-bits-threads.mjs +482 -0
  89. package/fesm2022/ngwr-bits-threads.mjs.map +1 -0
  90. package/fesm2022/ngwr-bits-tilt-card.mjs +6 -6
  91. package/fesm2022/ngwr-bits-typewriter.mjs +3 -3
  92. package/fesm2022/ngwr-bits-waves-testing.mjs.map +1 -1
  93. package/fesm2022/ngwr-bits-waves.mjs +60 -41
  94. package/fesm2022/ngwr-bits-waves.mjs.map +1 -1
  95. package/fesm2022/ngwr-breadcrumbs.mjs +8 -8
  96. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  97. package/fesm2022/ngwr-burger.mjs +3 -3
  98. package/fesm2022/ngwr-button.mjs +6 -6
  99. package/fesm2022/ngwr-calendar.mjs +3 -3
  100. package/fesm2022/ngwr-card.mjs +9 -9
  101. package/fesm2022/ngwr-carousel.mjs +6 -6
  102. package/fesm2022/ngwr-cascader.mjs +5 -5
  103. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  104. package/fesm2022/ngwr-charts-bar-chart-testing.mjs +127 -3
  105. package/fesm2022/ngwr-charts-bar-chart-testing.mjs.map +1 -1
  106. package/fesm2022/ngwr-charts-bar-chart.mjs +683 -49
  107. package/fesm2022/ngwr-charts-bar-chart.mjs.map +1 -1
  108. package/fesm2022/ngwr-charts-boxplot-chart-testing.mjs +161 -0
  109. package/fesm2022/ngwr-charts-boxplot-chart-testing.mjs.map +1 -0
  110. package/fesm2022/ngwr-charts-boxplot-chart.mjs +517 -0
  111. package/fesm2022/ngwr-charts-boxplot-chart.mjs.map +1 -0
  112. package/fesm2022/ngwr-charts-bullet-chart-testing.mjs +68 -0
  113. package/fesm2022/ngwr-charts-bullet-chart-testing.mjs.map +1 -0
  114. package/fesm2022/ngwr-charts-bullet-chart.mjs +459 -0
  115. package/fesm2022/ngwr-charts-bullet-chart.mjs.map +1 -0
  116. package/fesm2022/ngwr-charts-calendar-heatmap-testing.mjs +27 -0
  117. package/fesm2022/ngwr-charts-calendar-heatmap-testing.mjs.map +1 -1
  118. package/fesm2022/ngwr-charts-calendar-heatmap.mjs +96 -17
  119. package/fesm2022/ngwr-charts-calendar-heatmap.mjs.map +1 -1
  120. package/fesm2022/ngwr-charts-candlestick-chart-testing.mjs +107 -0
  121. package/fesm2022/ngwr-charts-candlestick-chart-testing.mjs.map +1 -0
  122. package/fesm2022/ngwr-charts-candlestick-chart.mjs +508 -0
  123. package/fesm2022/ngwr-charts-candlestick-chart.mjs.map +1 -0
  124. package/fesm2022/ngwr-charts-chart-legend-testing.mjs +126 -0
  125. package/fesm2022/ngwr-charts-chart-legend-testing.mjs.map +1 -0
  126. package/fesm2022/ngwr-charts-chart-legend.mjs +251 -0
  127. package/fesm2022/ngwr-charts-chart-legend.mjs.map +1 -0
  128. package/fesm2022/ngwr-charts-core.mjs +383 -0
  129. package/fesm2022/ngwr-charts-core.mjs.map +1 -0
  130. package/fesm2022/ngwr-charts-donut-chart-testing.mjs +10 -1
  131. package/fesm2022/ngwr-charts-donut-chart-testing.mjs.map +1 -1
  132. package/fesm2022/ngwr-charts-donut-chart.mjs +187 -31
  133. package/fesm2022/ngwr-charts-donut-chart.mjs.map +1 -1
  134. package/fesm2022/ngwr-charts-funnel-chart-testing.mjs +100 -0
  135. package/fesm2022/ngwr-charts-funnel-chart-testing.mjs.map +1 -0
  136. package/fesm2022/ngwr-charts-funnel-chart.mjs +415 -0
  137. package/fesm2022/ngwr-charts-funnel-chart.mjs.map +1 -0
  138. package/fesm2022/ngwr-charts-gauge-testing.mjs +9 -3
  139. package/fesm2022/ngwr-charts-gauge-testing.mjs.map +1 -1
  140. package/fesm2022/ngwr-charts-gauge.mjs +9 -15
  141. package/fesm2022/ngwr-charts-gauge.mjs.map +1 -1
  142. package/fesm2022/ngwr-charts-heatmap-chart-testing.mjs +120 -0
  143. package/fesm2022/ngwr-charts-heatmap-chart-testing.mjs.map +1 -0
  144. package/fesm2022/ngwr-charts-heatmap-chart.mjs +519 -0
  145. package/fesm2022/ngwr-charts-heatmap-chart.mjs.map +1 -0
  146. package/fesm2022/ngwr-charts-line-chart-testing.mjs +43 -1
  147. package/fesm2022/ngwr-charts-line-chart-testing.mjs.map +1 -1
  148. package/fesm2022/ngwr-charts-line-chart.mjs +436 -122
  149. package/fesm2022/ngwr-charts-line-chart.mjs.map +1 -1
  150. package/fesm2022/ngwr-charts-meter-group-testing.mjs +14 -2
  151. package/fesm2022/ngwr-charts-meter-group-testing.mjs.map +1 -1
  152. package/fesm2022/ngwr-charts-meter-group.mjs +101 -32
  153. package/fesm2022/ngwr-charts-meter-group.mjs.map +1 -1
  154. package/fesm2022/ngwr-charts-radar-chart-testing.mjs +98 -0
  155. package/fesm2022/ngwr-charts-radar-chart-testing.mjs.map +1 -0
  156. package/fesm2022/ngwr-charts-radar-chart.mjs +720 -0
  157. package/fesm2022/ngwr-charts-radar-chart.mjs.map +1 -0
  158. package/fesm2022/ngwr-charts-scatter-chart-testing.mjs +132 -0
  159. package/fesm2022/ngwr-charts-scatter-chart-testing.mjs.map +1 -0
  160. package/fesm2022/ngwr-charts-scatter-chart.mjs +545 -0
  161. package/fesm2022/ngwr-charts-scatter-chart.mjs.map +1 -0
  162. package/fesm2022/ngwr-charts-sparkline-testing.mjs.map +1 -1
  163. package/fesm2022/ngwr-charts-sparkline.mjs +14 -16
  164. package/fesm2022/ngwr-charts-sparkline.mjs.map +1 -1
  165. package/fesm2022/ngwr-charts-treemap-chart-testing.mjs +103 -0
  166. package/fesm2022/ngwr-charts-treemap-chart-testing.mjs.map +1 -0
  167. package/fesm2022/ngwr-charts-treemap-chart.mjs +535 -0
  168. package/fesm2022/ngwr-charts-treemap-chart.mjs.map +1 -0
  169. package/fesm2022/ngwr-charts-waterfall-chart-testing.mjs +131 -0
  170. package/fesm2022/ngwr-charts-waterfall-chart-testing.mjs.map +1 -0
  171. package/fesm2022/ngwr-charts-waterfall-chart.mjs +462 -0
  172. package/fesm2022/ngwr-charts-waterfall-chart.mjs.map +1 -0
  173. package/fesm2022/ngwr-checkbox.mjs +6 -6
  174. package/fesm2022/ngwr-clipboard.mjs +3 -3
  175. package/fesm2022/ngwr-collapse.mjs +9 -9
  176. package/fesm2022/ngwr-color-picker.mjs +6 -6
  177. package/fesm2022/ngwr-command-palette.mjs +3 -3
  178. package/fesm2022/ngwr-compare.mjs +3 -3
  179. package/fesm2022/ngwr-context-menu.mjs +12 -12
  180. package/fesm2022/ngwr-cookie.mjs +3 -3
  181. package/fesm2022/ngwr-counter.mjs +6 -6
  182. package/fesm2022/ngwr-date-picker.mjs +21 -21
  183. package/fesm2022/ngwr-date.mjs +6 -6
  184. package/fesm2022/ngwr-density.mjs +6 -6
  185. package/fesm2022/ngwr-descriptions.mjs +6 -6
  186. package/fesm2022/ngwr-dialog.mjs +15 -15
  187. package/fesm2022/ngwr-directives.mjs +12 -12
  188. package/fesm2022/ngwr-divider.mjs +3 -3
  189. package/fesm2022/ngwr-drawer.mjs +18 -18
  190. package/fesm2022/ngwr-dropdown.mjs +9 -9
  191. package/fesm2022/ngwr-editor.mjs +3 -3
  192. package/fesm2022/ngwr-empty.mjs +3 -3
  193. package/fesm2022/ngwr-event-calendar.mjs +6 -6
  194. package/fesm2022/ngwr-file-upload.mjs +3 -3
  195. package/fesm2022/ngwr-form.mjs +9 -9
  196. package/fesm2022/ngwr-graph.mjs +6 -6
  197. package/fesm2022/ngwr-hotkey.mjs +6 -6
  198. package/fesm2022/ngwr-i18n-ar.mjs +90 -4
  199. package/fesm2022/ngwr-i18n-ar.mjs.map +1 -1
  200. package/fesm2022/ngwr-i18n-cs.mjs +90 -4
  201. package/fesm2022/ngwr-i18n-cs.mjs.map +1 -1
  202. package/fesm2022/ngwr-i18n-de.mjs +90 -4
  203. package/fesm2022/ngwr-i18n-de.mjs.map +1 -1
  204. package/fesm2022/ngwr-i18n-en.mjs +90 -4
  205. package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
  206. package/fesm2022/ngwr-i18n-es.mjs +90 -4
  207. package/fesm2022/ngwr-i18n-es.mjs.map +1 -1
  208. package/fesm2022/ngwr-i18n-fr.mjs +90 -4
  209. package/fesm2022/ngwr-i18n-fr.mjs.map +1 -1
  210. package/fesm2022/ngwr-i18n-he.mjs +90 -4
  211. package/fesm2022/ngwr-i18n-he.mjs.map +1 -1
  212. package/fesm2022/ngwr-i18n-hi.mjs +90 -4
  213. package/fesm2022/ngwr-i18n-hi.mjs.map +1 -1
  214. package/fesm2022/ngwr-i18n-id.mjs +90 -4
  215. package/fesm2022/ngwr-i18n-id.mjs.map +1 -1
  216. package/fesm2022/ngwr-i18n-it.mjs +90 -4
  217. package/fesm2022/ngwr-i18n-it.mjs.map +1 -1
  218. package/fesm2022/ngwr-i18n-ja.mjs +90 -4
  219. package/fesm2022/ngwr-i18n-ja.mjs.map +1 -1
  220. package/fesm2022/ngwr-i18n-ko.mjs +90 -4
  221. package/fesm2022/ngwr-i18n-ko.mjs.map +1 -1
  222. package/fesm2022/ngwr-i18n-nl.mjs +90 -4
  223. package/fesm2022/ngwr-i18n-nl.mjs.map +1 -1
  224. package/fesm2022/ngwr-i18n-pl.mjs +90 -4
  225. package/fesm2022/ngwr-i18n-pl.mjs.map +1 -1
  226. package/fesm2022/ngwr-i18n-pt.mjs +90 -4
  227. package/fesm2022/ngwr-i18n-pt.mjs.map +1 -1
  228. package/fesm2022/ngwr-i18n-ru.mjs +90 -4
  229. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
  230. package/fesm2022/ngwr-i18n-sv.mjs +90 -4
  231. package/fesm2022/ngwr-i18n-sv.mjs.map +1 -1
  232. package/fesm2022/ngwr-i18n-tr.mjs +90 -4
  233. package/fesm2022/ngwr-i18n-tr.mjs.map +1 -1
  234. package/fesm2022/ngwr-i18n-uk.mjs +90 -4
  235. package/fesm2022/ngwr-i18n-uk.mjs.map +1 -1
  236. package/fesm2022/ngwr-i18n-vi.mjs +90 -4
  237. package/fesm2022/ngwr-i18n-vi.mjs.map +1 -1
  238. package/fesm2022/ngwr-i18n-zh-tw.mjs +90 -4
  239. package/fesm2022/ngwr-i18n-zh-tw.mjs.map +1 -1
  240. package/fesm2022/ngwr-i18n-zh.mjs +90 -4
  241. package/fesm2022/ngwr-i18n-zh.mjs.map +1 -1
  242. package/fesm2022/ngwr-i18n.mjs +9 -9
  243. package/fesm2022/ngwr-icon.mjs +6 -6
  244. package/fesm2022/ngwr-image-cropper.mjs +3 -3
  245. package/fesm2022/ngwr-input-number.mjs +3 -3
  246. package/fesm2022/ngwr-input-otp.mjs +3 -3
  247. package/fesm2022/ngwr-input.mjs +15 -15
  248. package/fesm2022/ngwr-keyboard.mjs +3 -3
  249. package/fesm2022/ngwr-knob.mjs +3 -3
  250. package/fesm2022/ngwr-layout.mjs +15 -15
  251. package/fesm2022/ngwr-lightbox.mjs +5 -5
  252. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  253. package/fesm2022/ngwr-list.mjs +8 -8
  254. package/fesm2022/ngwr-list.mjs.map +1 -1
  255. package/fesm2022/ngwr-loading-bar.mjs +6 -6
  256. package/fesm2022/ngwr-mention.mjs +6 -6
  257. package/fesm2022/ngwr-meta.mjs +6 -6
  258. package/fesm2022/ngwr-overlay.mjs +6 -6
  259. package/fesm2022/ngwr-page-header.mjs +3 -3
  260. package/fesm2022/ngwr-pagination.mjs +3 -3
  261. package/fesm2022/ngwr-pipes.mjs +21 -21
  262. package/fesm2022/ngwr-platform.mjs +6 -6
  263. package/fesm2022/ngwr-popconfirm.mjs +6 -6
  264. package/fesm2022/ngwr-popover.mjs +43 -20
  265. package/fesm2022/ngwr-popover.mjs.map +1 -1
  266. package/fesm2022/ngwr-progress.mjs +3 -3
  267. package/fesm2022/ngwr-pull-to-refresh.mjs +3 -3
  268. package/fesm2022/ngwr-qr.mjs +4 -3
  269. package/fesm2022/ngwr-qr.mjs.map +1 -1
  270. package/fesm2022/ngwr-radio.mjs +6 -6
  271. package/fesm2022/ngwr-rating.mjs +3 -3
  272. package/fesm2022/ngwr-result.mjs +12 -12
  273. package/fesm2022/ngwr-schema-form.mjs +3 -3
  274. package/fesm2022/ngwr-scroll.mjs +3 -3
  275. package/fesm2022/ngwr-segmented.mjs +3 -3
  276. package/fesm2022/ngwr-select.mjs +12 -12
  277. package/fesm2022/ngwr-sidebar.mjs +3 -3
  278. package/fesm2022/ngwr-skeleton.mjs +3 -3
  279. package/fesm2022/ngwr-slider.mjs +3 -3
  280. package/fesm2022/ngwr-sortable-list.mjs +11 -11
  281. package/fesm2022/ngwr-sortable-list.mjs.map +1 -1
  282. package/fesm2022/ngwr-speed-dial.mjs +3 -3
  283. package/fesm2022/ngwr-spinner.mjs +3 -3
  284. package/fesm2022/ngwr-splitter.mjs +3 -3
  285. package/fesm2022/ngwr-statistic.mjs +9 -9
  286. package/fesm2022/ngwr-stepper.mjs +6 -6
  287. package/fesm2022/ngwr-storage.mjs +3 -3
  288. package/fesm2022/ngwr-switch.mjs +3 -3
  289. package/fesm2022/ngwr-table.mjs +18 -18
  290. package/fesm2022/ngwr-tabs-router.mjs +3 -3
  291. package/fesm2022/ngwr-tabs.mjs +6 -6
  292. package/fesm2022/ngwr-textarea.mjs +3 -3
  293. package/fesm2022/ngwr-theme.mjs +3 -3
  294. package/fesm2022/ngwr-timeline.mjs +6 -6
  295. package/fesm2022/ngwr-toast-testing.mjs +2 -1
  296. package/fesm2022/ngwr-toast-testing.mjs.map +1 -1
  297. package/fesm2022/ngwr-toast.mjs +34 -15
  298. package/fesm2022/ngwr-toast.mjs.map +1 -1
  299. package/fesm2022/ngwr-toolbar.mjs +3 -3
  300. package/fesm2022/ngwr-tour.mjs +6 -6
  301. package/fesm2022/ngwr-transfer.mjs +3 -3
  302. package/fesm2022/ngwr-tree.mjs +3 -3
  303. package/fesm2022/ngwr-typography.mjs +3 -3
  304. package/fesm2022/ngwr-utils.mjs +31 -1
  305. package/fesm2022/ngwr-utils.mjs.map +1 -1
  306. package/fesm2022/ngwr-version.mjs +1 -1
  307. package/fesm2022/ngwr-version.mjs.map +1 -1
  308. package/fesm2022/ngwr-virtual-scroll.mjs +3 -3
  309. package/fesm2022/ngwr-window-testing.mjs +61 -5
  310. package/fesm2022/ngwr-window-testing.mjs.map +1 -1
  311. package/fesm2022/ngwr-window.mjs +1538 -895
  312. package/fesm2022/ngwr-window.mjs.map +1 -1
  313. package/fesm2022/ngwr.mjs.map +1 -1
  314. package/i18n/ar.json +84 -4
  315. package/i18n/cs.json +84 -4
  316. package/i18n/de.json +84 -4
  317. package/i18n/en.json +84 -4
  318. package/i18n/es.json +84 -4
  319. package/i18n/fr.json +84 -4
  320. package/i18n/he.json +84 -4
  321. package/i18n/hi.json +84 -4
  322. package/i18n/id.json +84 -4
  323. package/i18n/it.json +84 -4
  324. package/i18n/ja.json +84 -4
  325. package/i18n/ko.json +84 -4
  326. package/i18n/nl.json +84 -4
  327. package/i18n/pl.json +84 -4
  328. package/i18n/pt.json +84 -4
  329. package/i18n/ru.json +84 -4
  330. package/i18n/sv.json +84 -4
  331. package/i18n/tr.json +84 -4
  332. package/i18n/uk.json +84 -4
  333. package/i18n/vi.json +84 -4
  334. package/i18n/zh-TW.json +84 -4
  335. package/i18n/zh.json +84 -4
  336. package/llms-full.txt +266 -9
  337. package/llms.txt +30 -7
  338. package/mcp/api.js +69 -1
  339. package/mcp/catalog.js +10 -1
  340. package/mcp/server.js +15 -1
  341. package/mcp/tools.js +122 -26
  342. package/package.json +132 -1
  343. package/popover/styles/_index.scss +75 -7
  344. package/schematics/component-style/index.js +3 -0
  345. package/schematics/migrations/v15/index.js +3 -26
  346. package/schematics/ng-add/index.js +2 -2
  347. package/schematics/use/symbol-map.json +14 -0
  348. package/schematics/utility/global-styles.js +19 -4
  349. package/schematics/utility/v15-moves.js +55 -0
  350. package/skills/ngwr/SKILL.md +8 -2
  351. package/skills/ngwr/references/catalog.md +28 -0
  352. package/skills/ngwr/references/setup.md +5 -4
  353. package/theme/styles/_focus.scss +8 -0
  354. package/toast/styles/_index.scss +103 -12
  355. package/types/ngwr-bits-aurora.d.ts +11 -0
  356. package/types/ngwr-bits-border-glow-testing.d.ts +5 -6
  357. package/types/ngwr-bits-border-glow.d.ts +5 -1
  358. package/types/ngwr-bits-dot-grid-testing.d.ts +92 -0
  359. package/types/ngwr-bits-dot-grid.d.ts +158 -0
  360. package/types/ngwr-bits-iridescence-testing.d.ts +85 -0
  361. package/types/ngwr-bits-iridescence.d.ts +244 -0
  362. package/types/ngwr-bits-ripple-grid-testing.d.ts +96 -0
  363. package/types/ngwr-bits-ripple-grid.d.ts +294 -0
  364. package/types/ngwr-bits-splash-cursor.d.ts +0 -1
  365. package/types/ngwr-bits-spotlight-card-testing.d.ts +3 -1
  366. package/types/ngwr-bits-star-border-testing.d.ts +7 -7
  367. package/types/ngwr-bits-threads-testing.d.ts +97 -0
  368. package/types/ngwr-bits-threads.d.ts +216 -0
  369. package/types/ngwr-bits-waves-testing.d.ts +1 -1
  370. package/types/ngwr-bits-waves.d.ts +20 -3
  371. package/types/ngwr-charts-bar-chart-testing.d.ts +193 -14
  372. package/types/ngwr-charts-bar-chart.d.ts +546 -38
  373. package/types/ngwr-charts-boxplot-chart-testing.d.ts +165 -0
  374. package/types/ngwr-charts-boxplot-chart.d.ts +308 -0
  375. package/types/ngwr-charts-bullet-chart-testing.d.ts +99 -0
  376. package/types/ngwr-charts-bullet-chart.d.ts +262 -0
  377. package/types/ngwr-charts-calendar-heatmap-testing.d.ts +32 -1
  378. package/types/ngwr-charts-calendar-heatmap.d.ts +55 -6
  379. package/types/ngwr-charts-candlestick-chart-testing.d.ts +135 -0
  380. package/types/ngwr-charts-candlestick-chart.d.ts +361 -0
  381. package/types/ngwr-charts-chart-legend-testing.d.ts +84 -0
  382. package/types/ngwr-charts-chart-legend.d.ts +178 -0
  383. package/types/ngwr-charts-core.d.ts +391 -0
  384. package/types/ngwr-charts-donut-chart-testing.d.ts +28 -5
  385. package/types/ngwr-charts-donut-chart.d.ts +124 -12
  386. package/types/ngwr-charts-funnel-chart-testing.d.ts +130 -0
  387. package/types/ngwr-charts-funnel-chart.d.ts +296 -0
  388. package/types/ngwr-charts-gauge-testing.d.ts +5 -0
  389. package/types/ngwr-charts-gauge.d.ts +6 -4
  390. package/types/ngwr-charts-heatmap-chart-testing.d.ts +148 -0
  391. package/types/ngwr-charts-heatmap-chart.d.ts +359 -0
  392. package/types/ngwr-charts-line-chart-testing.d.ts +72 -11
  393. package/types/ngwr-charts-line-chart.d.ts +291 -67
  394. package/types/ngwr-charts-meter-group-testing.d.ts +16 -2
  395. package/types/ngwr-charts-meter-group.d.ts +71 -11
  396. package/types/ngwr-charts-radar-chart-testing.d.ts +162 -0
  397. package/types/ngwr-charts-radar-chart.d.ts +461 -0
  398. package/types/ngwr-charts-scatter-chart-testing.d.ts +147 -0
  399. package/types/ngwr-charts-scatter-chart.d.ts +396 -0
  400. package/types/ngwr-charts-sparkline-testing.d.ts +4 -1
  401. package/types/ngwr-charts-sparkline.d.ts +8 -6
  402. package/types/ngwr-charts-treemap-chart-testing.d.ts +131 -0
  403. package/types/ngwr-charts-treemap-chart.d.ts +295 -0
  404. package/types/ngwr-charts-waterfall-chart-testing.d.ts +149 -0
  405. package/types/ngwr-charts-waterfall-chart.d.ts +338 -0
  406. package/types/ngwr-color-picker.d.ts +0 -21
  407. package/types/ngwr-dropdown.d.ts +0 -52
  408. package/types/ngwr-editor.d.ts +2 -84
  409. package/types/ngwr-i18n.d.ts +0 -15
  410. package/types/ngwr-mention.d.ts +0 -13
  411. package/types/ngwr-popconfirm.d.ts +0 -33
  412. package/types/ngwr-popover.d.ts +29 -53
  413. package/types/ngwr-toast-testing.d.ts +6 -1
  414. package/types/ngwr-tour.d.ts +0 -2
  415. package/types/ngwr-utils.d.ts +49 -7
  416. package/types/ngwr-version.d.ts +1 -1
  417. package/types/ngwr-window-testing.d.ts +65 -7
  418. package/types/ngwr-window.d.ts +831 -207
  419. package/types/ngwr.d.ts +1 -0
  420. package/window/styles/_index.scss +528 -82
@@ -0,0 +1,396 @@
1
+ import * as i0 from "@angular/core";
2
+ import { WrChartLegendItem } from "ngwr/charts/chart-legend";
3
+ import { WrChartAxis, WrChartMarkerExtent, WrChartMarkerShape, WrChartTableData } from "ngwr/charts/core";
4
+ /**
5
+ * @license
6
+ *
7
+ * Use of this source code is governed by an MIT-style license that can be
8
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
9
+ */
10
+ /** One point of a {@link WrScatterSeries}: where it sits, and optionally how large it is and what it is called. */
11
+ interface WrScatterPoint {
12
+ /** Where the point sits along the x axis. A point whose `x` or `y` is not a finite number is not drawn. */
13
+ readonly x: number;
14
+ /** Where the point sits along the y axis. */
15
+ readonly y: number;
16
+ /**
17
+ * A third value, drawn as the marker's AREA, which makes the chart a bubble chart: the
18
+ * largest size shown is drawn at `maxRadius`. A size that is not a finite number at or
19
+ * above zero counts as none, and the point is drawn at the plain point size.
20
+ */
21
+ readonly size?: number;
22
+ /**
23
+ * The point's own name — a country, a product. It heads the point's tooltip beside the
24
+ * series' name and is the point's row header in the data table, which numbers the
25
+ * points of a series from 1 otherwise.
26
+ */
27
+ readonly label?: string;
28
+ }
29
+ /** One series of a `<wr-scatter-chart>`: a name, its points, and optionally its colour. */
30
+ interface WrScatterSeries {
31
+ /** The series' name, in the legend, the tooltip and the data table. */
32
+ readonly label: string;
33
+ /** The points, in any order. Repeated and uneven `x` values are fine. */
34
+ readonly data: readonly WrScatterPoint[];
35
+ /** Any CSS colour, `var(--wr-…)` included. Without one, the series takes the next palette colour. */
36
+ readonly color?: string;
37
+ }
38
+ /**
39
+ * Which number `valueFormat` is writing: an x value, a y value, or a point's `size`. The
40
+ * axis ticks pass `'x'` or `'y'`, the tooltip and the data table pass all three.
41
+ */
42
+ type WrScatterAxis = 'x' | 'y' | 'size';
43
+ /** One point as the chart draws it: its data, where it sits and how large it is. */
44
+ interface DrawnPoint {
45
+ /** Its series' position and its own position in that series' `data`, which no other point shares. */
46
+ readonly key: string;
47
+ /** Its series' position in `series`. */
48
+ readonly series: number;
49
+ readonly seriesLabel: string;
50
+ readonly color: string;
51
+ readonly marker: WrChartMarkerShape;
52
+ /** Its position in its series' `data`, from 1: the row header of a point with no `label`. */
53
+ readonly n: number;
54
+ readonly x: number;
55
+ readonly y: number;
56
+ readonly size: number | null;
57
+ readonly label: string | null;
58
+ /** Its centre, as percentages of the drawing's width from the left and height from the top. */
59
+ readonly left: number;
60
+ readonly top: number;
61
+ /** Its radius in px. */
62
+ readonly r: number;
63
+ /** Its marker's path about the origin. */
64
+ readonly d: string;
65
+ /** How far its hover ring reaches from its centre, in px: what the tooltip points at and the pointer reads. */
66
+ readonly halo: WrChartMarkerExtent;
67
+ }
68
+ /**
69
+ * Points on two numeric axes: one series per marker shape, and an optional third value
70
+ * drawn as each point's area, which makes it a bubble chart. SVG-only — no external
71
+ * dependency.
72
+ *
73
+ * @example
74
+ * ```html
75
+ * <wr-scatter-chart
76
+ * xLabel="Price"
77
+ * yLabel="Rating"
78
+ * [series]="[
79
+ * { label: 'Laptops', data: [{ x: 899, y: 4.1 }, { x: 1299, y: 4.6 }] },
80
+ * { label: 'Tablets', data: [{ x: 329, y: 3.9 }, { x: 599, y: 4.4 }] }
81
+ * ]"
82
+ * />
83
+ * ```
84
+ *
85
+ * Each series is told apart by its marker's SHAPE as well as its colour — a circle, a
86
+ * square, a triangle, a diamond, a cross, a downward triangle — since the palette's
87
+ * colours sit too close in lightness to be read alone. Neither axis is forced to include
88
+ * zero: each is fitted to its data and snapped outward to a readable step, so no point
89
+ * lands exactly on the frame, and a single value sits in the middle with a step either
90
+ * side. A point can still sit a hair inside the frame, so the plot's padding grows to
91
+ * the largest marker drawn, and a bubble at the edge stays inside the chart's own box.
92
+ *
93
+ * The drawing is one named `role="img"` and takes no tab stop; the tooltip is pointer
94
+ * only. `dataTable` renders every value as a table only assistive technology reaches.
95
+ * The legend is a `ul[wr-chart-legend]` (`ngwr/charts/chart-legend`), and with
96
+ * `toggleableLegend` its rows show and hide their series through `hiddenSeries`.
97
+ *
98
+ * Hovering finds the nearest point by measuring every one, so a chart meant for more
99
+ * than a few thousand points is better served by binning them first.
100
+ *
101
+ * @see https://ngwr.dev/charts/scatter-chart
102
+ */
103
+ export declare class WrScatterChart {
104
+ /**
105
+ * One entry per series. A series with no `color` takes the next entry from the chart's
106
+ * palette, and every series takes the next marker shape, so several series are told
107
+ * apart unconfigured.
108
+ */
109
+ readonly series: import("@angular/core").InputSignal<readonly WrScatterSeries[]>;
110
+ /**
111
+ * Accessible name of the chart. The legend carries the series NAMES only — the values
112
+ * are nowhere in text unless `dataTable` puts them there — so say what the chart shows.
113
+ * Falls back to `scatterChart.label` ("Scatter chart").
114
+ */
115
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
116
+ protected readonly resolvedAriaLabel: import("@angular/core").Signal<string>;
117
+ /**
118
+ * The x axis' name. Drawn under the axis only when given; either way it names the x
119
+ * row of the tooltip and the x column of the data table, which fall back to
120
+ * `scatterChart.x` ("X").
121
+ */
122
+ readonly xLabel: import("@angular/core").InputSignal<string | null>;
123
+ /**
124
+ * The y axis' name. Drawn above the axis only when given; either way it names the y
125
+ * row of the tooltip and the y column of the data table, which fall back to
126
+ * `scatterChart.y` ("Y").
127
+ */
128
+ readonly yLabel: import("@angular/core").InputSignal<string | null>;
129
+ /**
130
+ * What a point's `size` measures. It names the size row of the tooltip and the size
131
+ * column of the data table, which appear only when a point has a size, and falls back
132
+ * to `scatterChart.size` ("Size").
133
+ */
134
+ readonly sizeLabel: import("@angular/core").InputSignal<string | null>;
135
+ protected readonly xName: import("@angular/core").Signal<string>;
136
+ protected readonly yName: import("@angular/core").Signal<string>;
137
+ protected readonly sizeName: import("@angular/core").Signal<string>;
138
+ /**
139
+ * Writes every number the chart shows — the axis ticks, the tooltip and the data table —
140
+ * and is told which number it is writing: `'x'`, `'y'` or `'size'`, so the two axes can
141
+ * carry different units. A `(value) => string` written for another chart fits too. `null`
142
+ * uses `Intl.NumberFormat` in `LOCALE_ID`, with compact ticks (`1.2K`, `3.4M`) unless the
143
+ * full numbers are shorter.
144
+ */
145
+ readonly valueFormat: import("@angular/core").InputSignal<((value: number, axis: WrScatterAxis) => string) | null>;
146
+ /** The exact figures and the axes' compact ticks, in `LOCALE_ID` unless `valueFormat` is given. */
147
+ private readonly numbers;
148
+ /** The row headers of points with no `label`, which number them in the reader's own digits. */
149
+ private readonly ordinals;
150
+ /** The plot's height in px, at least 80. @default 240 */
151
+ readonly height: import("@angular/core").InputSignalWithTransform<number, unknown>;
152
+ /** Show the gridlines and the tick labels of both axes. @default true */
153
+ readonly showGrid: import("@angular/core").InputSignalWithTransform<boolean, any>;
154
+ /** Show the legend above the chart. @default true */
155
+ readonly showLegend: import("@angular/core").InputSignalWithTransform<boolean, any>;
156
+ /**
157
+ * Make each legend row a toggle button that shows and hides its series, through
158
+ * `hiddenSeries`. A row is a `<button aria-pressed>`, pressed while its series is
159
+ * shown, so the legend becomes one tab stop per series. @default false
160
+ */
161
+ readonly toggleableLegend: import("@angular/core").InputSignalWithTransform<boolean, any>;
162
+ /**
163
+ * The positions in `series` of the series that are hidden. Positions rather than
164
+ * labels, since two series may share a label. A toggleable legend writes it, and a host
165
+ * may bind it with or without one: `[(hiddenSeries)]`.
166
+ *
167
+ * A hidden series is left out of everything that reads its values: it draws no points,
168
+ * the tooltip cannot land on them, the data table drops its rows, and both axes and the
169
+ * bubble scale are fitted to the series still shown, so hiding an outlier lets the rest
170
+ * fill the plot. Its legend row stays, struck through, so it can be shown again. With
171
+ * every series hidden the plot is the empty 0 to 1 frame. A position past the end of
172
+ * `series` is kept and ignored.
173
+ */
174
+ readonly hiddenSeries: import("@angular/core").ModelSignal<readonly number[]>;
175
+ /** Show a tooltip with the series, x, y and size of the point under the pointer. Pointer only. @default true */
176
+ readonly tooltip: import("@angular/core").InputSignalWithTransform<boolean, any>;
177
+ /**
178
+ * Render every point's values as a table only assistive technology reaches, beside the
179
+ * drawing: one group of rows per series shown, headed by the series' name, a row per
180
+ * point, and a column for x, for y and, when a point has one, for size. The drawing is
181
+ * one named image, so without it the values are nowhere a screen reader can walk.
182
+ * @default false
183
+ */
184
+ readonly dataTable: import("@angular/core").InputSignalWithTransform<boolean, any>;
185
+ /**
186
+ * The radius, in px, the largest `size` shown is drawn at. Every other sized point is
187
+ * scaled by AREA against it — a point of half the size has half the area, not half the
188
+ * radius — and none is drawn under 4px. At least 4. @default 20
189
+ */
190
+ readonly maxRadius: import("@angular/core").InputSignalWithTransform<number, unknown>;
191
+ private readonly svg;
192
+ /**
193
+ * Every series, resolved: its palette colour, its marker shape, and its points with
194
+ * every one dropped whose `x` or `y` is not a finite number. Hidden ones included, since
195
+ * the legend lists them.
196
+ *
197
+ * A point that cannot be placed is left out rather than kept: one NaN in the pooled
198
+ * minimum makes every coordinate in every series NaN, and the whole chart vanishes
199
+ * instead of one point. A point keeps its position in its series' `data` all the same,
200
+ * so the data table numbers the rest as the consumer numbered them.
201
+ */
202
+ protected readonly resolvedSeries: import("@angular/core").Signal<{
203
+ index: number;
204
+ label: string;
205
+ color: string;
206
+ marker: WrChartMarkerShape;
207
+ points: {
208
+ n: number;
209
+ x: number;
210
+ y: number;
211
+ size: number | null;
212
+ label: string | null;
213
+ }[];
214
+ }[]>;
215
+ /** The legend's rows: every series, keyed by its own marker. */
216
+ protected readonly legendItems: import("@angular/core").Signal<readonly WrChartLegendItem[]>;
217
+ /** The series drawn, read and fitted to: every one `hiddenSeries` does not name. */
218
+ protected readonly visibleSeries: import("@angular/core").Signal<{
219
+ index: number;
220
+ label: string;
221
+ color: string;
222
+ marker: WrChartMarkerShape;
223
+ points: {
224
+ n: number;
225
+ x: number;
226
+ y: number;
227
+ size: number | null;
228
+ label: string | null;
229
+ }[];
230
+ }[]>;
231
+ /** The largest `size` among the points shown, or `null` when none has one — a plain scatter. */
232
+ private readonly maxSize;
233
+ /** Whether any point shown has a size, which adds the size row and column. */
234
+ protected readonly sized: import("@angular/core").Signal<boolean>;
235
+ /**
236
+ * The x axis, from `chartAxis` over the points shown: fitted to the data with no zero
237
+ * forced in, since a scatter has no baseline, snapped outward at both ends and lifted a
238
+ * step at EITHER end a point would sit on (`symmetric`), so no point lands exactly on
239
+ * the frame. A single value — one point, or a column of them — is centred with a step
240
+ * either side. With nothing to fit, the 0 to 1 frame.
241
+ */
242
+ protected readonly xAxis: import("@angular/core").Signal<WrChartAxis>;
243
+ /** The y axis, fitted the way {@link xAxis} is. */
244
+ protected readonly yAxis: import("@angular/core").Signal<WrChartAxis>;
245
+ /**
246
+ * The points as drawn: placed by percentage on both axes, sized, and ordered LARGEST
247
+ * FIRST so a small bubble is never buried under a large one. Points of equal size keep
248
+ * the series' order, so a plain scatter draws series by series.
249
+ */
250
+ protected readonly points: import("@angular/core").Signal<readonly DrawnPoint[]>;
251
+ /**
252
+ * How far the largest marker drawn reaches past its centre, in px, sideways and up or
253
+ * down — its hover ring included, so hovering moves nothing. The axes keep a point
254
+ * off the frame only when it lands exactly on it, and one a fraction of a step inside
255
+ * sits a few px from it; the stylesheet takes the larger of this and the plot's inset
256
+ * tokens as the plot's padding, so the marker stays inside the plot rather than over
257
+ * the tick labels or past the chart's own box. By SHAPE, not radius: a triangle's
258
+ * point reaches 1.56 times its radius up. The ring's stroke is the stylesheet's.
259
+ *
260
+ * Up or down it is held to a quarter of `height`, so a short plot with a large
261
+ * `maxRadius` keeps half its height for the drawing and lets the marker overhang.
262
+ */
263
+ protected readonly reach: import("@angular/core").Signal<{
264
+ x: number;
265
+ y: number;
266
+ }>;
267
+ /** The y ticks, top to bottom: each value's label and its gridline's distance from the top, in percent. */
268
+ protected readonly yTicks: import("@angular/core").Signal<{
269
+ label: string;
270
+ top: number;
271
+ }[]>;
272
+ /** The x ticks, left to right: each value's label and its gridline's distance from the left, in percent. */
273
+ protected readonly xTicks: import("@angular/core").Signal<{
274
+ label: string;
275
+ left: number;
276
+ }[]>;
277
+ /**
278
+ * How far apart two neighbouring x ticks are, as a percentage of the drawing's width —
279
+ * the room each tick label has, half on either side of its gridline, which the
280
+ * stylesheet bounds it to and ellipsises past.
281
+ */
282
+ protected readonly xSlot: import("@angular/core").Signal<number>;
283
+ /**
284
+ * One tooltip for the point under the pointer: the series' swatch and name with the
285
+ * point's own label as its heading, then a row each for x, y and size. It points at
286
+ * the box of the marker's hover ring from above, so the chip clears a large bubble and
287
+ * a triangle's point rather than sitting on its centre.
288
+ *
289
+ * Points are found by POSITION — the nearest within 16px of the pointer, or anywhere a
290
+ * larger marker reaches — so a point under the open chip can still be reached by
291
+ * moving onto it, the way a sparkline is scrubbed.
292
+ */
293
+ protected readonly tip: import("ngwr/popover").WrChartTooltip;
294
+ /** The point the tooltip is reading, ringed in the drawing. */
295
+ protected readonly activePoint: import("@angular/core").Signal<DrawnPoint | null>;
296
+ /** The ring round the hovered point: its own shape, a little larger. */
297
+ protected readonly haloPath: import("@angular/core").Signal<string>;
298
+ /**
299
+ * The figures for `dataTable`: the chart's name as the caption, one group per series
300
+ * shown and headed by its name, and a row per point headed by the point's `label` or
301
+ * its position in the series. Every value is written as the tooltip writes it; a point
302
+ * with no size has an empty size cell in a chart where others have one.
303
+ */
304
+ protected readonly tableData: import("@angular/core").Signal<WrChartTableData>;
305
+ /**
306
+ * The point under the pointer. A MOUSE event, as every chart's is: a tap fires the
307
+ * compatibility `mousemove` and no `pointermove`. Off every point, the open tooltip
308
+ * starts its grace period.
309
+ */
310
+ protected onPointerMove(event: MouseEvent): void;
311
+ /**
312
+ * The point nearest a viewport position: within 16px of its centre, or within the
313
+ * circle its hover ring fits in where that is larger — a triangle's point or a
314
+ * diamond's tips reach past its radius — and the nearest centre where several qualify.
315
+ * A drawing with no box (nothing laid out yet) answers nothing.
316
+ */
317
+ private pointAt;
318
+ /** One axis over the points shown: `chartAxis` with both ends kept off the data, and one value centred. */
319
+ private fit;
320
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrScatterChart, never>;
321
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrScatterChart, "wr-scatter-chart", never, {
322
+ "series": {
323
+ "alias": "series";
324
+ "required": false;
325
+ "isSignal": true;
326
+ };
327
+ "ariaLabel": {
328
+ "alias": "ariaLabel";
329
+ "required": false;
330
+ "isSignal": true;
331
+ };
332
+ "xLabel": {
333
+ "alias": "xLabel";
334
+ "required": false;
335
+ "isSignal": true;
336
+ };
337
+ "yLabel": {
338
+ "alias": "yLabel";
339
+ "required": false;
340
+ "isSignal": true;
341
+ };
342
+ "sizeLabel": {
343
+ "alias": "sizeLabel";
344
+ "required": false;
345
+ "isSignal": true;
346
+ };
347
+ "valueFormat": {
348
+ "alias": "valueFormat";
349
+ "required": false;
350
+ "isSignal": true;
351
+ };
352
+ "height": {
353
+ "alias": "height";
354
+ "required": false;
355
+ "isSignal": true;
356
+ };
357
+ "showGrid": {
358
+ "alias": "showGrid";
359
+ "required": false;
360
+ "isSignal": true;
361
+ };
362
+ "showLegend": {
363
+ "alias": "showLegend";
364
+ "required": false;
365
+ "isSignal": true;
366
+ };
367
+ "toggleableLegend": {
368
+ "alias": "toggleableLegend";
369
+ "required": false;
370
+ "isSignal": true;
371
+ };
372
+ "hiddenSeries": {
373
+ "alias": "hiddenSeries";
374
+ "required": false;
375
+ "isSignal": true;
376
+ };
377
+ "tooltip": {
378
+ "alias": "tooltip";
379
+ "required": false;
380
+ "isSignal": true;
381
+ };
382
+ "dataTable": {
383
+ "alias": "dataTable";
384
+ "required": false;
385
+ "isSignal": true;
386
+ };
387
+ "maxRadius": {
388
+ "alias": "maxRadius";
389
+ "required": false;
390
+ "isSignal": true;
391
+ };
392
+ }, {
393
+ "hiddenSeries": "hiddenSeriesChange";
394
+ }, never, never, true, never>;
395
+ }
396
+ export type { WrScatterAxis, WrScatterPoint, WrScatterSeries };
@@ -39,7 +39,10 @@ export declare class WrSparklineHarness extends ComponentHarness {
39
39
  * screen reader announces a graphic with nothing to say about it.
40
40
  */
41
41
  isDecorative(): Promise<boolean>;
42
- /** Whether a trend line was drawn — `false` for an empty or single-point dataset. */
42
+ /**
43
+ * Whether a trend line was drawn — `false` for an empty dataset. A single point is a
44
+ * line that returns to its start, which the round cap paints as a dot, so it is `true`.
45
+ */
43
46
  hasLine(): Promise<boolean>;
44
47
  /** Whether the area under the line is filled (`showArea`). */
45
48
  hasArea(): Promise<boolean>;
@@ -23,7 +23,7 @@ export declare class WrSparkline {
23
23
  * named `role="img"` only when a consumer says what it shows.
24
24
  */
25
25
  readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
26
- /** Stroke colour. @default `var(--wr-color-primary)` */
26
+ /** Stroke colour. @default 'var(--wr-color-primary)' */
27
27
  readonly color: import("@angular/core").InputSignal<string>;
28
28
  /**
29
29
  * Line thickness in CSS pixels — `vector-effect="non-scaling-stroke"` keeps it at
@@ -31,7 +31,7 @@ export declare class WrSparkline {
31
31
  * @default 1.5
32
32
  */
33
33
  readonly strokeWidth: import("@angular/core").InputSignalWithTransform<number, unknown>;
34
- /** Fill the area below the line. @default false */
34
+ /** Fill the area below the line, faintly (`--wr-sparkline-area-opacity`). @default false */
35
35
  readonly showArea: import("@angular/core").InputSignalWithTransform<boolean, any>;
36
36
  /** Show a dot at the last data point. @default true */
37
37
  readonly showTip: import("@angular/core").InputSignalWithTransform<boolean, any>;
@@ -48,11 +48,8 @@ export declare class WrSparkline {
48
48
  * Writes the value in the tooltip. `null` uses `Intl.NumberFormat` in `LOCALE_ID`.
49
49
  */
50
50
  readonly valueFormat: import("@angular/core").InputSignal<((value: number) => string) | null>;
51
- private readonly locale;
51
+ /** The value as the tooltip writes it — in full, never compact, to `Intl`'s default precision. */
52
52
  private readonly numbers;
53
- /** Below one, by significant digits, which keep 0.0004 from rounding to `0`. */
54
- private readonly smallNumbers;
55
- private formatValue;
56
53
  private readonly host;
57
54
  private readonly svg;
58
55
  private readonly marker;
@@ -72,6 +69,11 @@ export declare class WrSparkline {
72
69
  x: number;
73
70
  y: number;
74
71
  }[]>;
72
+ /**
73
+ * The line through every point. A lone point repeats itself: a subpath of one `M` is
74
+ * never stroked, so a one-value sparkline with `showTip` off drew nothing at all, and
75
+ * the round cap paints the repeat as a dot of the line's width.
76
+ */
75
77
  protected readonly linePath: import("@angular/core").Signal<string>;
76
78
  protected readonly areaPath: import("@angular/core").Signal<string>;
77
79
  /** A zero-length line at the last point, which a round cap paints as the tip dot. */
@@ -0,0 +1,131 @@
1
+ import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from "@angular/cdk/testing";
2
+ /** Narrows which `<wr-treemap-chart>` a harness query matches. */
3
+ interface WrTreemapChartHarnessFilters extends BaseHarnessFilters {
4
+ /** Match the drawing's accessible name. */
5
+ readonly ariaLabel?: string | RegExp;
6
+ /** Match a chart that writes this name on one of its tiles. A tile too small for its name writes none. */
7
+ readonly tileLabel?: string | RegExp;
8
+ }
9
+ /**
10
+ * Where a tile was drawn, as the component wrote it: percentages of the plot, `start`
11
+ * from its inline-start edge — the left in LTR, the right in RTL.
12
+ */
13
+ interface WrTreemapChartTileBox {
14
+ readonly start: number;
15
+ readonly top: number;
16
+ readonly width: number;
17
+ readonly height: number;
18
+ }
19
+ /** One tile as {@link WrTreemapChartHarness.getTiles} reads it, in the order drawn. */
20
+ interface WrTreemapChartTile {
21
+ /** The name written on the tile, in its strip or in its corner; `null` when it has no room for one. */
22
+ readonly label: string | null;
23
+ /**
24
+ * The figure the component wrote on the tile, compact; `null` when the tile is too
25
+ * short for one or `showValues` is off. One wider than the tile is written and then
26
+ * wrapped out of sight by the stylesheet, which jsdom cannot show, so it is read here.
27
+ */
28
+ readonly value: string | null;
29
+ /** Whether its children are drawn inside it. A group too small for its children is drawn as one block, and is `false`. */
30
+ readonly group: boolean;
31
+ /** The colour the component handed the tile, which its tint is mixed from. */
32
+ readonly color: string | null;
33
+ /** Where it was drawn. */
34
+ readonly box: WrTreemapChartTileBox;
35
+ }
36
+ /**
37
+ * One row of the chart's data table (`dataTable`): the node's path as its row header,
38
+ * then its value and its share of the whole.
39
+ */
40
+ interface WrTreemapChartTableRow {
41
+ /** The row header — the node's path, its names joined by ` / `. */
42
+ readonly header: string;
43
+ /** Its value and its share, as the tooltip writes them; `''` where it has none. */
44
+ readonly cells: readonly string[];
45
+ }
46
+ /**
47
+ * Test harness for `<wr-treemap-chart>`.
48
+ *
49
+ * **What it reads is what the component WROTE**: each tile's rectangle as the
50
+ * percentages on its `style` attribute, its colour as the custom property beside them,
51
+ * its name and figure as text, and the data table. Those are what the layout and the
52
+ * data wiring produce, and what breaks when either does. jsdom lays nothing out, so a
53
+ * name is read in full whether a browser would ellipsise it or not, and there is no
54
+ * method for whether it was. Nor for whether a value fits: the stylesheet hides a value
55
+ * wider than its tile by wrapping it out of sight, which takes a layout jsdom does not
56
+ * have, so {@link getTiles} gives the text the component printed, fitting or not.
57
+ *
58
+ * **The layout is cut for the plot's measured size**, and jsdom measures nothing: in a
59
+ * spec the chart cuts it for the width it assumes before measuring, 640 px, at its
60
+ * `height`. So a spec can pin areas and order, which hold at any size, and should not
61
+ * pin a tile's exact shape, which a browser's real width changes.
62
+ *
63
+ * **The tooltip is not opened from here.** It is pointer only, it renders into the
64
+ * overlay container rather than the chart, and it says nothing the data table does not:
65
+ * {@link getTableRows} reads the same path, value and share, which is where a keyboard
66
+ * and a screen reader find them too.
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * const chart = await loader.getHarness(WrTreemapChartHarness.with({ ariaLabel: 'Budget' }));
71
+ *
72
+ * expect(await chart.getLabels()).toContain('Engineering');
73
+ * expect(await chart.getGroupCount()).toBe(2);
74
+ * ```
75
+ *
76
+ * @see https://ngwr.dev/guides/testing
77
+ */
78
+ export declare class WrTreemapChartHarness extends ComponentHarness {
79
+ static hostSelector: string;
80
+ /** Build a predicate that narrows the query — pass to `getHarness` / `getAllHarnesses`. */
81
+ static with(options?: WrTreemapChartHarnessFilters): HarnessPredicate<WrTreemapChartHarness>;
82
+ /** The drawing's accessible name — the only thing about it a screen reader hears. */
83
+ getAccessibleName(): Promise<string | null>;
84
+ /**
85
+ * Every tile drawn, parents before their children and siblings largest first: its name
86
+ * and figure where it has room for them, whether it holds its children, its colour, and
87
+ * its rectangle.
88
+ *
89
+ * A node with no area — no value, zero, negative — draws no tile, and is in the data
90
+ * table all the same.
91
+ */
92
+ getTiles(): Promise<WrTreemapChartTile[]>;
93
+ /** How many tiles were drawn, groups and leaves together. */
94
+ getTileCount(): Promise<number>;
95
+ /** How many tiles hold their children inside them. */
96
+ getGroupCount(): Promise<number>;
97
+ /** How many tiles hold nothing: leaves, and groups too small to draw their children in. */
98
+ getLeafCount(): Promise<number>;
99
+ /**
100
+ * The names written on the tiles, in the order drawn — a group's in its strip, a leaf's
101
+ * in its corner. A tile too small for its name writes none, and `showLabels` off writes
102
+ * none at all.
103
+ */
104
+ getLabels(): Promise<string[]>;
105
+ /** Whether the hidden data table is rendered (`dataTable`). */
106
+ hasDataTable(): Promise<boolean>;
107
+ /**
108
+ * The data table's column headings: the value's name (`valueLabel`) and the share's.
109
+ *
110
+ * Throws when the chart renders no table (`dataTable` off) rather than answering with no
111
+ * columns.
112
+ */
113
+ getTableColumns(): Promise<string[]>;
114
+ /**
115
+ * The data table's rows, one per node, parents before their children in the data's own
116
+ * order: its path, its value and its share of the whole, as a screen reader walks them.
117
+ * A node with no area has an empty share, and a leaf with no value an empty value too.
118
+ *
119
+ * Throws when the chart renders no table (`dataTable` off), for the reason
120
+ * {@link getTableColumns} gives.
121
+ */
122
+ getTableRows(): Promise<WrTreemapChartTableRow[]>;
123
+ /**
124
+ * The plot's height in pixels — `height` as the component wrote it — read off the
125
+ * `style` ATTRIBUTE of the plot rather than through `getCssValue()`, which answers from
126
+ * the laid-out box and so agrees in jsdom and not in a browser.
127
+ */
128
+ getPlotHeight(): Promise<number>;
129
+ private assertDataTable;
130
+ }
131
+ export type { WrTreemapChartHarnessFilters, WrTreemapChartTableRow, WrTreemapChartTile, WrTreemapChartTileBox };