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,165 @@
1
+ import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from "@angular/cdk/testing";
2
+ /** Narrows which `<wr-boxplot-chart>` a harness query matches. */
3
+ interface WrBoxplotChartHarnessFilters extends BaseHarnessFilters {
4
+ /** Match the plot's accessible name. */
5
+ readonly ariaLabel?: string | RegExp;
6
+ /** Match a chart with a group of this name. */
7
+ readonly groupLabel?: string | RegExp;
8
+ }
9
+ /** A group's summary, as the component wrote it beside the marks it drew. */
10
+ interface WrBoxplotChartHarnessStats {
11
+ /** Where the lower whisker ends. */
12
+ readonly min: number;
13
+ readonly q1: number;
14
+ readonly median: number;
15
+ readonly q3: number;
16
+ /** Where the upper whisker ends. */
17
+ readonly max: number;
18
+ /** The outliers drawn, ascending. */
19
+ readonly outliers: readonly number[];
20
+ }
21
+ /**
22
+ * Where a group's marks sit, each as a percentage of the drawing's height from its top —
23
+ * read off the custom properties the component wrote, never off a layout.
24
+ */
25
+ interface WrBoxplotChartHarnessPosition {
26
+ /** The upper whisker, from its end at `max` down to the box's upper edge. */
27
+ readonly upperWhisker: {
28
+ readonly top: number;
29
+ readonly bottom: number;
30
+ };
31
+ /** The lower whisker, from the box's lower edge down to its end at `min`. */
32
+ readonly lowerWhisker: {
33
+ readonly top: number;
34
+ readonly bottom: number;
35
+ };
36
+ /** The upper whisker's cap: where `max` sits. */
37
+ readonly max: number;
38
+ /** The box's upper edge: where `q3` sits, for a summary in order. */
39
+ readonly boxTop: number;
40
+ /** The median line. */
41
+ readonly median: number;
42
+ /** The box's lower edge: where `q1` sits, for a summary in order. */
43
+ readonly boxBottom: number;
44
+ /** The lower whisker's cap: where `min` sits. */
45
+ readonly min: number;
46
+ /** Each outlier's dot, in the order of `stats.outliers`. */
47
+ readonly outliers: readonly number[];
48
+ }
49
+ /** One group, as {@link WrBoxplotChartHarness.getGroups} reads it. */
50
+ interface WrBoxplotChartHarnessGroup {
51
+ /** The name under the group's slot. */
52
+ readonly label: string;
53
+ /**
54
+ * Where the group's slot starts, as a percentage of the drawing's width from its inline
55
+ * start: the left edge, or the right one under RTL.
56
+ */
57
+ readonly slotStart: number;
58
+ /** How wide the group's slot is, as a percentage of the drawing's width. */
59
+ readonly slotWidth: number;
60
+ /** The colour the group is drawn in, as the component wrote it. */
61
+ readonly color: string | null;
62
+ /** The group's summary, or `null` when it has nothing to draw and its slot is empty. */
63
+ readonly stats: WrBoxplotChartHarnessStats | null;
64
+ /** Where its marks sit, or `null` when it draws none. */
65
+ readonly position: WrBoxplotChartHarnessPosition | null;
66
+ }
67
+ /** The axes' names as drawn, each `null` when the chart draws none (`xLabel` / `yLabel` not given). */
68
+ interface WrBoxplotChartAxisTitles {
69
+ readonly x: string | null;
70
+ readonly y: string | null;
71
+ }
72
+ /** One row of the chart's data table (`dataTable`): a group, with one cell per column. */
73
+ interface WrBoxplotChartTableRow {
74
+ /** The row header: the group's name. */
75
+ readonly header: string;
76
+ /**
77
+ * The lower whisker, Q1, the median, Q3 and the upper whisker, written as the tooltip
78
+ * writes them, then — when the table has the column — the outliers in one list. A
79
+ * group with nothing to draw has empty cells.
80
+ */
81
+ readonly cells: readonly string[];
82
+ }
83
+ /**
84
+ * Test harness for `<wr-boxplot-chart>`.
85
+ *
86
+ * **Groups are read off what the component WROTE, never off a layout.** jsdom lays
87
+ * nothing out, so a measured box would read 0 for a working chart and a broken one alike.
88
+ * Every group's slot carries its summary in `data-*` attributes, and every mark the
89
+ * percentages it was placed at in its own `style` — so {@link getGroups} answers both
90
+ * questions a spec has: what did the chart work out, and where did it draw it. A median
91
+ * computed right and placed wrong is exactly the defect worth catching.
92
+ *
93
+ * **There is deliberately no hover method.** The tooltip renders into an overlay outside
94
+ * the chart's host and is pointer only; a spec that needs it dispatches `mouseenter` on a
95
+ * `.wr-boxplot-chart__group` and reads `.wr-chart-tooltip` off `document`, as the
96
+ * component's own spec does. Its position is measured against boxes jsdom reports as
97
+ * 0×0, which only a stubbed `getBoundingClientRect` can make mean anything.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * const chart = await loader.getHarness(WrBoxplotChartHarness);
102
+ *
103
+ * expect(await chart.getGroupLabels()).toEqual(['EU', 'US']);
104
+ * expect((await chart.getGroups())[0].stats).toMatchObject({ q1: 101, median: 118, q3: 134 });
105
+ * ```
106
+ *
107
+ * @see https://ngwr.dev/guides/testing
108
+ */
109
+ export declare class WrBoxplotChartHarness extends ComponentHarness {
110
+ static hostSelector: string;
111
+ /** Build a predicate that narrows the query — pass to `getHarness` / `getAllHarnesses`. */
112
+ static with(options?: WrBoxplotChartHarnessFilters): HarnessPredicate<WrBoxplotChartHarness>;
113
+ /** The plot's accessible name — the only name the drawing has. */
114
+ getAccessibleName(): Promise<string | null>;
115
+ /** The group names under the drawing, in the order of `groups` — groups with nothing to draw included. */
116
+ getGroupLabels(): Promise<string[]>;
117
+ /** How many slots the drawing has: one per group, drawn or empty. */
118
+ getGroupCount(): Promise<number>;
119
+ /**
120
+ * Every group, in the order of `groups`: its name, its slot, its colour, the summary the
121
+ * component worked out or was given, and the percentages it drew each mark at — both
122
+ * whiskers' spans, both caps, the box's edges, the median and every outlier. A group
123
+ * with nothing to draw answers `null` for both of the last two.
124
+ *
125
+ * Throws on a mark missing what the component writes on every one, rather than
126
+ * answering with a `NaN` a spec could compare against.
127
+ */
128
+ getGroups(): Promise<WrBoxplotChartHarnessGroup[]>;
129
+ /** Whether the gridlines are drawn (`showGrid`). */
130
+ hasGrid(): Promise<boolean>;
131
+ /** The value axis' tick labels, top to bottom; `[]` with `showGrid` off. */
132
+ getYTicks(): Promise<string[]>;
133
+ /**
134
+ * The axes' names as drawn. The chart draws a name only when `xLabel` or `yLabel` is
135
+ * given, so the catalog's fallback, which heads the data table's group column, never
136
+ * appears here.
137
+ */
138
+ getAxisTitles(): Promise<WrBoxplotChartAxisTitles>;
139
+ /** Whether the hidden data table is rendered (`dataTable`). */
140
+ hasDataTable(): Promise<boolean>;
141
+ /**
142
+ * The data table's column headings: the five numbers from the lower whisker up, and the
143
+ * outliers once a group has one — one per cell of {@link getTableRows}, as the other
144
+ * charts' harnesses read them.
145
+ *
146
+ * Throws when the chart renders no table (`dataTable` off), rather than answering with
147
+ * no columns.
148
+ */
149
+ getTableColumns(): Promise<string[]>;
150
+ /**
151
+ * The data table's rows, one per group, as a screen reader walks them.
152
+ *
153
+ * Throws when the chart renders no table (`dataTable` off), for the reason
154
+ * {@link getTableColumns} gives.
155
+ */
156
+ getTableRows(): Promise<WrBoxplotChartTableRow[]>;
157
+ /**
158
+ * The plot's height in pixels, read off the `style` ATTRIBUTE the component wrote,
159
+ * not through `getCssValue()`, which answers from the laid-out box and so differs
160
+ * between jsdom and a browser.
161
+ */
162
+ getPlotHeight(): Promise<number>;
163
+ private assertDataTable;
164
+ }
165
+ export type { WrBoxplotChartAxisTitles, WrBoxplotChartHarnessFilters, WrBoxplotChartHarnessGroup, WrBoxplotChartHarnessPosition, WrBoxplotChartHarnessStats, WrBoxplotChartTableRow };
@@ -0,0 +1,308 @@
1
+ import * as i0 from "@angular/core";
2
+ import { WrChartTableData } from "ngwr/charts/core";
3
+ /**
4
+ * @license
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
8
+ */
9
+ /**
10
+ * The five numbers a `<wr-boxplot-chart>` draws for one group, plus the values it draws
11
+ * as dots beyond them.
12
+ *
13
+ * `min` and `max` are the WHISKERS' ends, not the extremes of the data: with outliers,
14
+ * the whisker stops at the farthest value that is not one, and the outliers lie past it.
15
+ */
16
+ interface WrBoxplotStats {
17
+ /** Where the lower whisker ends: the smallest value that is not an outlier. */
18
+ readonly min: number;
19
+ /** The first quartile: the box's lower edge. */
20
+ readonly q1: number;
21
+ /** The median: the line across the box. */
22
+ readonly median: number;
23
+ /** The third quartile: the box's upper edge. */
24
+ readonly q3: number;
25
+ /** Where the upper whisker ends: the largest value that is not an outlier. */
26
+ readonly max: number;
27
+ /** The values drawn as dots past the whiskers, in any order. One that is not a finite number is left out. */
28
+ readonly outliers?: readonly number[];
29
+ }
30
+ /**
31
+ * One box of a `<wr-boxplot-chart>`: a name, and either the raw values to summarise or
32
+ * the summary itself.
33
+ */
34
+ interface WrBoxplotGroup {
35
+ /** The group's name: under its box, in the tooltip and as its data table row. */
36
+ readonly label: string;
37
+ /**
38
+ * The raw values, in any order. The chart works out the quartiles by linear
39
+ * interpolation (type 7: R's default, NumPy's and Excel's `QUARTILE.INC`) and draws
40
+ * the whiskers to the farthest value within 1.5 IQR of the box; anything farther is an
41
+ * outlier. A value that is not a finite number is left out. Ignored when `stats` is
42
+ * given.
43
+ */
44
+ readonly values?: readonly number[];
45
+ /**
46
+ * A summary worked out elsewhere, drawn as given: nothing is recomputed, reordered or
47
+ * checked against `values`. A summary with a number that is not finite draws nothing.
48
+ */
49
+ readonly stats?: WrBoxplotStats;
50
+ /** Any CSS colour, `var(--wr-…)` included. Without one, the group takes the chart's `color`. */
51
+ readonly color?: string;
52
+ }
53
+ /** A group's summary as the chart reads it: every number finite, the outliers ascending. */
54
+ type Summary = Required<WrBoxplotStats>;
55
+ /** Where one group's marks sit, each as a percentage of the drawing's height from its top. */
56
+ interface DrawnBox {
57
+ /** The upper whisker, from its end down to the box. */
58
+ readonly upper: {
59
+ readonly top: number;
60
+ readonly bottom: number;
61
+ };
62
+ /** The lower whisker, from the box down to its end. */
63
+ readonly lower: {
64
+ readonly top: number;
65
+ readonly bottom: number;
66
+ };
67
+ /** The box, from the third quartile down to the first. */
68
+ readonly box: {
69
+ readonly top: number;
70
+ readonly bottom: number;
71
+ };
72
+ readonly max: number;
73
+ readonly median: number;
74
+ readonly min: number;
75
+ readonly outliers: readonly {
76
+ readonly value: number;
77
+ readonly top: number;
78
+ }[];
79
+ /** Everything the group draws, outliers included: what the tooltip points at. */
80
+ readonly extent: {
81
+ readonly top: number;
82
+ readonly bottom: number;
83
+ };
84
+ }
85
+ /** One group as the chart draws it: its data, its slot across the drawing and its marks. */
86
+ interface DrawnGroup {
87
+ /** Its position in `groups`. */
88
+ readonly index: number;
89
+ readonly label: string;
90
+ readonly color: string;
91
+ /** Its summary, or `null` when it has nothing to draw. */
92
+ readonly stats: Summary | null;
93
+ /**
94
+ * Where its slot starts, as a percentage of the drawing's width from its inline start:
95
+ * the left, or the right under RTL.
96
+ */
97
+ readonly start: number;
98
+ /** How wide its slot is, as a percentage of the drawing's width. */
99
+ readonly slot: number;
100
+ readonly marks: DrawnBox | null;
101
+ }
102
+ /**
103
+ * Box-and-whisker plots of several groups side by side, on one value axis: a box from the
104
+ * first quartile to the third with a line at the median, a whisker either side, and a dot
105
+ * per outlier. No SVG and no dependency: every mark is an HTML element placed by
106
+ * percentage, so a box keeps its width however tall the plot is.
107
+ *
108
+ * @example
109
+ * ```html
110
+ * <wr-boxplot-chart
111
+ * ariaLabel="Response time by region"
112
+ * [groups]="[
113
+ * { label: 'EU', values: [112, 98, 130, 141, 104, 99, 260] },
114
+ * { label: 'US', stats: { min: 80, q1: 101, median: 118, q3: 134, max: 170, outliers: [240] } }
115
+ * ]"
116
+ * />
117
+ * ```
118
+ *
119
+ * From `values`, the chart works out the quartiles by LINEAR INTERPOLATION — type 7 of
120
+ * Hyndman and Fan, the default of R's and NumPy's `quantile()` and what Excel's
121
+ * `QUARTILE.INC` computes — and Tukey's whiskers: each reaches the farthest value within
122
+ * 1.5 interquartile ranges of the box, and every value beyond is an outlier. A summary
123
+ * worked out elsewhere goes in `stats` and is drawn exactly as given.
124
+ *
125
+ * The value axis is fitted to every number drawn, outliers included, with no zero forced
126
+ * in — a box plot has no baseline — and snapped outward to a readable step. The groups
127
+ * share the drawing's width in equal slots under their names, in reading order: left to
128
+ * right, and right to left under RTL, as the bar chart's columns are, so the first group
129
+ * stands beside the value axis either way.
130
+ *
131
+ * The drawing is one named `role="img"` and takes no tab stop; the tooltip, with the five
132
+ * numbers and the outliers past them, is pointer only. `dataTable` renders every group's
133
+ * numbers as a table only assistive technology reaches.
134
+ *
135
+ * @see https://ngwr.dev/charts/boxplot-chart
136
+ */
137
+ export declare class WrBoxplotChart {
138
+ /**
139
+ * One entry per box, in reading order: each with its raw `values` or a `stats` summary
140
+ * worked out elsewhere. A group with neither, or with nothing finite to summarise,
141
+ * keeps its slot and its name and draws no box.
142
+ */
143
+ readonly groups: import("@angular/core").InputSignal<readonly WrBoxplotGroup[]>;
144
+ /**
145
+ * Accessible name of the chart. The numbers are nowhere in text unless `dataTable`
146
+ * puts them there, so say what the chart shows. Falls back to `boxplotChart.label`
147
+ * ("Box plot").
148
+ */
149
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
150
+ protected readonly resolvedAriaLabel: import("@angular/core").Signal<string>;
151
+ /**
152
+ * What the groups are — a region, a release. Drawn under the group names only when
153
+ * given; either way it heads the group column of the data table, which falls back to
154
+ * `boxplotChart.group` ("Group").
155
+ */
156
+ readonly xLabel: import("@angular/core").InputSignal<string | null>;
157
+ /** What the values measure, with their unit. Drawn above the value axis only when given. */
158
+ readonly yLabel: import("@angular/core").InputSignal<string | null>;
159
+ protected readonly xName: import("@angular/core").Signal<string>;
160
+ private readonly upperName;
161
+ private readonly q3Name;
162
+ private readonly medianName;
163
+ private readonly q1Name;
164
+ private readonly lowerName;
165
+ private readonly outliersName;
166
+ /**
167
+ * Writes every number the chart shows: the axis ticks, the tooltip and the data table.
168
+ * `null` uses `Intl.NumberFormat` in `LOCALE_ID`, with compact ticks (`1.2K`, `3.4M`)
169
+ * unless the full numbers are shorter.
170
+ */
171
+ readonly valueFormat: import("@angular/core").InputSignal<((value: number) => string) | null>;
172
+ /** The figures in full and the axis' compact ticks, in `LOCALE_ID` unless `valueFormat` is given. */
173
+ private readonly numbers;
174
+ private readonly locale;
175
+ /** How many outliers the tooltip leaves unwritten, in the reader's own digits: a count, never a value to format. */
176
+ private readonly counts;
177
+ /** The tooltip's tail for the outliers past the first few it writes out. */
178
+ private readonly moreOutliers;
179
+ /**
180
+ * A group's outliers in one data table cell, as the locale lists them. A narrow
181
+ * CONJUNCTION list, because a unit list separates them with bare spaces in several
182
+ * locales, and a space is the digit grouping of Russian and French: `9 000 12 000`.
183
+ */
184
+ private readonly list;
185
+ /** The colour of every group with no `color` of its own. Any CSS colour. @default 'var(--wr-color-primary)' */
186
+ readonly color: import("@angular/core").InputSignal<string>;
187
+ /**
188
+ * The plot's height in px, at least 80. Under 160 the value axis aims for fewer ticks,
189
+ * so their labels keep clear of one another. @default 240
190
+ */
191
+ readonly height: import("@angular/core").InputSignalWithTransform<number, unknown>;
192
+ /** Show the gridlines and the value axis' tick labels. @default true */
193
+ readonly showGrid: import("@angular/core").InputSignalWithTransform<boolean, any>;
194
+ /**
195
+ * Show a tooltip with the hovered group's five numbers — the whiskers' ends, the
196
+ * quartiles and the median — and its outliers' values, the lowest three, then how many
197
+ * more there are. Pointer only. @default true
198
+ */
199
+ readonly tooltip: import("@angular/core").InputSignalWithTransform<boolean, any>;
200
+ /**
201
+ * Render every group's numbers as a table only assistive technology reaches, beside the
202
+ * drawing: a row per group, a column for each of the five numbers from the lower
203
+ * whisker up and, when a group has any, one listing its outliers. The drawing is one
204
+ * named image, so without it the numbers are nowhere a screen reader can walk.
205
+ * @default false
206
+ */
207
+ readonly dataTable: import("@angular/core").InputSignalWithTransform<boolean, any>;
208
+ private readonly groupEls;
209
+ /** Every group with its colour and its summary, in order. */
210
+ private readonly resolvedGroups;
211
+ /**
212
+ * The value axis, from `chartAxis` over every number drawn — whisker ends, quartiles,
213
+ * medians and outliers alike, so a summary given out of order still lands inside it —
214
+ * with no zero forced in and both ends kept off the data (`symmetric`). A single value
215
+ * is centred with a step either side; with nothing to draw, the 0 to 1 frame.
216
+ *
217
+ * It aims for four gaps, and for fewer on a short plot: a gap per 40px of `height`, so
218
+ * the tick labels, a line of text each, never stand on one another — at the 80px
219
+ * floor, four gaps put five labels in 64px of drawing.
220
+ */
221
+ protected readonly axis: import("@angular/core").Signal<import("ngwr/charts/core").WrChartAxis>;
222
+ /** The groups as drawn: an equal slot each across the drawing, and their marks placed on the axis. */
223
+ protected readonly drawnGroups: import("@angular/core").Signal<readonly DrawnGroup[]>;
224
+ /** The value axis' ticks, top to bottom: each value's label and its gridline's distance from the top, in percent. */
225
+ protected readonly yTicks: import("@angular/core").Signal<{
226
+ label: string;
227
+ top: number;
228
+ }[]>;
229
+ /**
230
+ * One tooltip for the group under the pointer: its name and colour as the heading, then
231
+ * the five numbers top to bottom, the way the box is drawn, and its outliers when it has
232
+ * any — their VALUES, as the data table's column of the same name lists them: the lowest
233
+ * three a row each under the one label, so a long figure never shares a line with
234
+ * another and pushes past the chip, then a row counting the rest. It points at the top
235
+ * of everything the group draws, so the chip covers none of its marks.
236
+ */
237
+ protected readonly tip: import("ngwr/popover").WrChartTooltip;
238
+ /** The group the tooltip is reading, washed in the drawing. Never one with nothing drawn. */
239
+ protected readonly activeGroup: import("@angular/core").Signal<number | null>;
240
+ /**
241
+ * The figures for `dataTable`: the chart's name as the caption, a row per group headed
242
+ * by its name, and its five numbers ascending, as a five-number summary reads, written
243
+ * as the tooltip writes them. The outliers column appears once any group has an
244
+ * outlier, and lists that group's ascending. A group with nothing to draw has a row of
245
+ * empty cells.
246
+ */
247
+ protected readonly tableData: import("@angular/core").Signal<WrChartTableData>;
248
+ constructor();
249
+ /**
250
+ * The pointer entered a group's slot. A group with nothing drawn reads as leaving, so a
251
+ * chip open on its neighbour closes after the usual grace rather than at once.
252
+ */
253
+ protected onEnter(index: number, event: MouseEvent): void;
254
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrBoxplotChart, never>;
255
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrBoxplotChart, "wr-boxplot-chart", never, {
256
+ "groups": {
257
+ "alias": "groups";
258
+ "required": false;
259
+ "isSignal": true;
260
+ };
261
+ "ariaLabel": {
262
+ "alias": "ariaLabel";
263
+ "required": false;
264
+ "isSignal": true;
265
+ };
266
+ "xLabel": {
267
+ "alias": "xLabel";
268
+ "required": false;
269
+ "isSignal": true;
270
+ };
271
+ "yLabel": {
272
+ "alias": "yLabel";
273
+ "required": false;
274
+ "isSignal": true;
275
+ };
276
+ "valueFormat": {
277
+ "alias": "valueFormat";
278
+ "required": false;
279
+ "isSignal": true;
280
+ };
281
+ "color": {
282
+ "alias": "color";
283
+ "required": false;
284
+ "isSignal": true;
285
+ };
286
+ "height": {
287
+ "alias": "height";
288
+ "required": false;
289
+ "isSignal": true;
290
+ };
291
+ "showGrid": {
292
+ "alias": "showGrid";
293
+ "required": false;
294
+ "isSignal": true;
295
+ };
296
+ "tooltip": {
297
+ "alias": "tooltip";
298
+ "required": false;
299
+ "isSignal": true;
300
+ };
301
+ "dataTable": {
302
+ "alias": "dataTable";
303
+ "required": false;
304
+ "isSignal": true;
305
+ };
306
+ }, {}, never, never, true, never>;
307
+ }
308
+ export type { WrBoxplotGroup, WrBoxplotStats };
@@ -0,0 +1,99 @@
1
+ import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from "@angular/cdk/testing";
2
+ /** Narrows which `<wr-bullet-chart>` a harness query matches. */
3
+ interface WrBulletChartHarnessFilters extends BaseHarnessFilters {
4
+ /** Match the drawing's accessible name — the sentence, or `ariaLabel`. */
5
+ readonly ariaLabel?: string | RegExp;
6
+ /** Match the label shown beside the drawing. */
7
+ readonly label?: string | RegExp;
8
+ }
9
+ /**
10
+ * Where a part of the drawing lies along the scale, as {@link WrBulletChartHarness} reads
11
+ * it: shares of the scale from 0 at its start to 1 at its end, as the component wrote them.
12
+ */
13
+ interface WrBulletChartExtent {
14
+ /** Where it starts. The value's bar starts at zero, or at the value for a negative one. */
15
+ readonly start: number;
16
+ /** Where it ends. */
17
+ readonly end: number;
18
+ }
19
+ /**
20
+ * Test harness for `<wr-bullet-chart>`.
21
+ *
22
+ * **Two questions, two methods.** What a screen reader hears is the drawing's name — the
23
+ * sentence "Revenue: 270 of target 250", or `ariaLabel` — and its description, the
24
+ * sub-label it names through `aria-describedby` ({@link getAccessibleName},
25
+ * {@link getDescription}). What a reader sees is the label column beside it, which is
26
+ * `aria-hidden` ({@link getLabel}, {@link getSubLabel}). A chart whose description points
27
+ * at nothing still SHOWS its sub-label, so the two are asked separately.
28
+ *
29
+ * **Where the marks lie is read as the component WROTE it**: shares of the scale from 0
30
+ * at its start to 1 at its end, off each mark's `style` attribute, never measured. jsdom
31
+ * lays nothing out, so a measured box would be 0×0 for a working chart and a broken one
32
+ * alike — but the share written is exactly what decides where the browser draws it, and
33
+ * it is what breaks when the scale does: a `max` read wrongly moves every share.
34
+ *
35
+ * **No colour is read.** The bands, the bar and the marker are painted by the stylesheet
36
+ * through the chart's `--wr-bullet-chart-*` hooks, and jsdom resolves no stylesheet, so a
37
+ * colour method would answer the same nothing whatever the theme said. Nor is there a
38
+ * method for the tooltip: it is pointer only, and it says what the accessible name says.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const chart = await loader.getHarness(WrBulletChartHarness.with({ label: 'Revenue' }));
43
+ *
44
+ * expect(await chart.getAccessibleName()).toBe('Revenue: 270 of target 250');
45
+ * expect(await chart.getValueExtent()).toEqual({ start: 0, end: 0.9 });
46
+ * expect(await chart.getRanges()).toHaveLength(3);
47
+ * ```
48
+ *
49
+ * @see https://ngwr.dev/guides/testing
50
+ */
51
+ export declare class WrBulletChartHarness extends ComponentHarness {
52
+ static hostSelector: string;
53
+ /** Build a predicate that narrows the query — pass to `getHarness` / `getAllHarnesses`. */
54
+ static with(options?: WrBulletChartHarnessFilters): HarnessPredicate<WrBulletChartHarness>;
55
+ private readonly drawing;
56
+ /** The drawing's accessible name: the sentence the chart writes, or `ariaLabel`. */
57
+ getAccessibleName(): Promise<string | null>;
58
+ /**
59
+ * The text a screen reader hears after the name — the sub-label, which the drawing names
60
+ * through `aria-describedby` — or `null` when it names nothing.
61
+ *
62
+ * Throws when it names an id nothing in the chart carries, rather than answering `null`:
63
+ * a description pointing at nothing is exactly the defect that leaves the sub-label on
64
+ * screen and silent.
65
+ */
66
+ getDescription(): Promise<string | null>;
67
+ /** The label shown beside the drawing, whole even where it is ellipsised, or `null` when there is none. */
68
+ getLabel(): Promise<string | null>;
69
+ /** The sub-label shown under the label, or `null` when there is none. */
70
+ getSubLabel(): Promise<string | null>;
71
+ /**
72
+ * Where the value's bar lies along the scale, or `null` when no bar is drawn — the value
73
+ * is not a finite number. It starts at zero, or at the value for a negative one; a value
74
+ * past a fixed `max` ends at 1, and a value of zero is a bar from zero to zero.
75
+ */
76
+ getValueExtent(): Promise<WrBulletChartExtent | null>;
77
+ /** Where the target marker sits along the scale, from 0 to 1, or `null` when there is no target. */
78
+ getTargetPosition(): Promise<number | null>;
79
+ /**
80
+ * Every qualitative band drawn, from the scale's start: where each lies along the scale.
81
+ * A band the scale leaves no room for is not drawn, so this can be shorter than `ranges`:
82
+ * one past a fixed `max`, and the first band when its limit is where the scale starts — a
83
+ * negative first limit lower than both the value and the target.
84
+ */
85
+ getRanges(): Promise<WrBulletChartExtent[]>;
86
+ /** Whether the scale's ticks are drawn under the drawing (`showScale`). */
87
+ hasScale(): Promise<boolean>;
88
+ /** The scale's tick labels from its start, as printed. `[]` with `showScale` off. */
89
+ getScaleLabels(): Promise<string[]>;
90
+ private extentOf;
91
+ /**
92
+ * A share the component wrote on a mark, off its `style` ATTRIBUTE — not `getCssValue()`,
93
+ * which would answer from the cascade, and a computed read of a custom property the
94
+ * stylesheet reads with a fallback answers plausibly at exactly the moment the binding
95
+ * that writes it is what broke.
96
+ */
97
+ private read;
98
+ }
99
+ export type { WrBulletChartExtent, WrBulletChartHarnessFilters };