@mathstack/viz 2.0.3 → 2.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 (448) hide show
  1. package/fesm2022/mathstack-viz.mjs +11024 -0
  2. package/fesm2022/mathstack-viz.mjs.map +1 -0
  3. package/package.json +14 -5
  4. package/types/mathstack-viz.d.ts +5830 -0
  5. package/CHANGELOG.md +0 -0
  6. package/cypress/fixtures/example.json +0 -5
  7. package/cypress/fixtures/usMap.json +0 -13511
  8. package/cypress/support/commands.ts +0 -104
  9. package/cypress/support/component-index.html +0 -12
  10. package/cypress/support/component.ts +0 -33
  11. package/cypress.config.ts +0 -9
  12. package/karma.conf.js +0 -62
  13. package/ng-package.json +0 -8
  14. package/project.json +0 -97
  15. package/src/.eslintrc.json +0 -35
  16. package/src/.prettierrc +0 -31
  17. package/src/lib/axes/base/config/xy-axis-builder.ts +0 -68
  18. package/src/lib/axes/base/config/xy-axis-config.ts +0 -35
  19. package/src/lib/axes/base/config/xy-axis-options.ts +0 -11
  20. package/src/lib/axes/base/xy-axis-base.spec.ts +0 -114
  21. package/src/lib/axes/base/xy-axis-base.ts +0 -300
  22. package/src/lib/axes/base/xy-axis-domain-lines.cy.ts +0 -511
  23. package/src/lib/axes/baseline/axis-baseline-builder.ts +0 -77
  24. package/src/lib/axes/baseline/axis-baseline-options.ts +0 -4
  25. package/src/lib/axes/baseline/axis-baseline.ts +0 -11
  26. package/src/lib/axes/grid/grid-builder.ts +0 -74
  27. package/src/lib/axes/grid/grid-config.ts +0 -13
  28. package/src/lib/axes/grid/grid-options.ts +0 -7
  29. package/src/lib/axes/index.ts +0 -40
  30. package/src/lib/axes/label/axis-label-builder.ts +0 -140
  31. package/src/lib/axes/label/axis-label-options.ts +0 -12
  32. package/src/lib/axes/label/axis-label.ts +0 -18
  33. package/src/lib/axes/label/axis-labels.cy.ts +0 -303
  34. package/src/lib/axes/ordinal/ordinal-axis-config.ts +0 -31
  35. package/src/lib/axes/ordinal/ordinal-axis.spec.ts +0 -30
  36. package/src/lib/axes/ordinal/ordinal-axis.ts +0 -26
  37. package/src/lib/axes/quantitative/quantitative-axis-config.ts +0 -39
  38. package/src/lib/axes/quantitative/quantitative-axis-ticks.cy.ts +0 -748
  39. package/src/lib/axes/quantitative/quantitative-axis.spec.ts +0 -537
  40. package/src/lib/axes/quantitative/quantitative-axis.ts +0 -191
  41. package/src/lib/axes/ticks/tick-wrap/tick-wrap-builder.ts +0 -141
  42. package/src/lib/axes/ticks/tick-wrap/tick-wrap-options.ts +0 -11
  43. package/src/lib/axes/ticks/tick-wrap/tick-wrap.cy.ts +0 -360
  44. package/src/lib/axes/ticks/tick-wrap/tick-wrap.ts +0 -21
  45. package/src/lib/axes/ticks/ticks-builder.ts +0 -370
  46. package/src/lib/axes/ticks/ticks-options.ts +0 -24
  47. package/src/lib/axes/ticks/ticks.ts +0 -33
  48. package/src/lib/axes/x/x-axis-config.ts +0 -48
  49. package/src/lib/axes/x/x-axis.spec.ts +0 -90
  50. package/src/lib/axes/x/x-axis.ts +0 -109
  51. package/src/lib/axes/x-ordinal/x-ordinal-axis-builder.ts +0 -75
  52. package/src/lib/axes/x-ordinal/x-ordinal-axis-config.ts +0 -27
  53. package/src/lib/axes/x-ordinal/x-ordinal-axis.component.ts +0 -33
  54. package/src/lib/axes/x-quantitative/x-quantitative-axis-builder.ts +0 -74
  55. package/src/lib/axes/x-quantitative/x-quantitative-axis-config.ts +0 -32
  56. package/src/lib/axes/x-quantitative/x-quantitative-axis.component.ts +0 -40
  57. package/src/lib/axes/xy-axis.module.ts +0 -20
  58. package/src/lib/axes/y/y-axis-config.ts +0 -47
  59. package/src/lib/axes/y/y-axis.spec.ts +0 -92
  60. package/src/lib/axes/y/y-axis.ts +0 -161
  61. package/src/lib/axes/y-ordinal/y-ordinal-axis-builder.ts +0 -76
  62. package/src/lib/axes/y-ordinal/y-ordinal-axis-config.ts +0 -29
  63. package/src/lib/axes/y-ordinal/y-ordinal-axis.component.ts +0 -33
  64. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis-builder.ts +0 -74
  65. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis-config.ts +0 -34
  66. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis.component.ts +0 -40
  67. package/src/lib/bars/bars.component.scss +0 -0
  68. package/src/lib/bars/bars.component.spec.ts +0 -1470
  69. package/src/lib/bars/bars.component.ts +0 -717
  70. package/src/lib/bars/bars.cy.ts +0 -829
  71. package/src/lib/bars/bars.module.ts +0 -9
  72. package/src/lib/bars/config/backgrounds/bars-backgrounds-builder.ts +0 -51
  73. package/src/lib/bars/config/backgrounds/bars-backgrounds-options.ts +0 -4
  74. package/src/lib/bars/config/backgrounds/bars-backgrounds.ts +0 -11
  75. package/src/lib/bars/config/bars-builder.ts +0 -340
  76. package/src/lib/bars/config/bars-config.spec.ts +0 -132
  77. package/src/lib/bars/config/bars-config.ts +0 -70
  78. package/src/lib/bars/config/bars-dimensions.ts +0 -29
  79. package/src/lib/bars/config/bars-options.ts +0 -20
  80. package/src/lib/bars/config/labels/bars-labels-builder.ts +0 -89
  81. package/src/lib/bars/config/labels/bars-labels-options.ts +0 -6
  82. package/src/lib/bars/config/labels/bars-labels.cy.ts +0 -781
  83. package/src/lib/bars/config/labels/bars-labels.ts +0 -13
  84. package/src/lib/bars/events/actions/bars-click-actions.ts +0 -23
  85. package/src/lib/bars/events/actions/bars-hover-actions.ts +0 -43
  86. package/src/lib/bars/events/actions/bars-hover-move-actions.ts +0 -21
  87. package/src/lib/bars/events/bars-events.directive.spec.ts +0 -186
  88. package/src/lib/bars/events/bars-events.directive.ts +0 -235
  89. package/src/lib/bars/events/bars-interaction-output.ts +0 -17
  90. package/src/lib/bars/events/bars-tooltip-positioner.ts +0 -24
  91. package/src/lib/bars/index.ts +0 -18
  92. package/src/lib/charts/chart/chart-scaling.cy.ts +0 -323
  93. package/src/lib/charts/chart/chart.component.html +0 -45
  94. package/src/lib/charts/chart/chart.component.scss +0 -37
  95. package/src/lib/charts/chart/chart.component.ts +0 -243
  96. package/src/lib/charts/chart/chart.token.ts +0 -4
  97. package/src/lib/charts/chart/chart.ts +0 -5
  98. package/src/lib/charts/chart/config/chart-builder.ts +0 -194
  99. package/src/lib/charts/chart/config/chart-config.ts +0 -21
  100. package/src/lib/charts/chart/config/chart-options.ts +0 -11
  101. package/src/lib/charts/chart.module.ts +0 -10
  102. package/src/lib/charts/index.ts +0 -9
  103. package/src/lib/charts/map-chart/map-chart.component.scss +0 -0
  104. package/src/lib/charts/map-chart/map-chart.component.spec.ts +0 -35
  105. package/src/lib/charts/map-chart/map-chart.component.ts +0 -61
  106. package/src/lib/charts/xy-chart/xy-chart.component.spec.ts +0 -34
  107. package/src/lib/charts/xy-chart/xy-chart.component.ts +0 -65
  108. package/src/lib/core/common-behaviors/constructor.ts +0 -7
  109. package/src/lib/core/index.ts +0 -11
  110. package/src/lib/core/pipes/resize-chart-height.pipe.spec.ts +0 -23
  111. package/src/lib/core/pipes/resize-chart-height.pipe.ts +0 -20
  112. package/src/lib/core/styles/_spacing.scss +0 -4
  113. package/src/lib/core/types/layout.ts +0 -28
  114. package/src/lib/core/types/scale.ts +0 -6
  115. package/src/lib/core/types/utility.ts +0 -11
  116. package/src/lib/core/types/values.ts +0 -10
  117. package/src/lib/core/utilities/colors.spec.ts +0 -57
  118. package/src/lib/core/utilities/colors.ts +0 -42
  119. package/src/lib/core/utilities/fill-utilities.spec.ts +0 -25
  120. package/src/lib/core/utilities/fill-utilities.ts +0 -21
  121. package/src/lib/core/utilities/type-guards.spec.ts +0 -55
  122. package/src/lib/core/utilities/type-guards.ts +0 -33
  123. package/src/lib/core/utilities/value-format.ts +0 -21
  124. package/src/lib/core/utilities/values.spec.ts +0 -954
  125. package/src/lib/core/utilities/values.ts +0 -189
  126. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position-builder.ts +0 -105
  127. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position-options.ts +0 -24
  128. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position.spec.ts +0 -66
  129. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position.ts +0 -72
  130. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/concrete-domain-padding.ts +0 -10
  131. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/domain-padding.ts +0 -76
  132. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/domain-test-utility.ts +0 -130
  133. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/percent-over/percent-over-options.ts +0 -3
  134. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/percent-over/percent-over.ts +0 -37
  135. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/pixel/pixel-options.ts +0 -3
  136. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/pixel/pixel.ts +0 -73
  137. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/quantitative-domain-padding.cy.ts +0 -978
  138. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-interval/round-to-interval-options.ts +0 -3
  139. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-interval/round-to-interval.ts +0 -27
  140. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-sig-fig/round-to-sig-fig-options.ts +0 -3
  141. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-sig-fig/round-to-sig-fig.ts +0 -30
  142. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position-builder.ts +0 -183
  143. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position-options.ts +0 -8
  144. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position.spec.ts +0 -28
  145. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position.ts +0 -62
  146. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension-options.ts +0 -15
  147. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension.spec.ts +0 -155
  148. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension.ts +0 -57
  149. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value-builder.ts +0 -166
  150. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value-options.ts +0 -10
  151. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value.spec.ts +0 -34
  152. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value.ts +0 -57
  153. package/src/lib/data-dimensions/dimension-builder.ts +0 -45
  154. package/src/lib/data-dimensions/dimension-options.ts +0 -12
  155. package/src/lib/data-dimensions/dimension.ts +0 -30
  156. package/src/lib/data-dimensions/index.ts +0 -31
  157. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position-builder.ts +0 -122
  158. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position-options.ts +0 -12
  159. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position.spec.ts +0 -83
  160. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position.ts +0 -101
  161. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value-builder.ts +0 -108
  162. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value-options.ts +0 -12
  163. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.cy.ts +0 -384
  164. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.spec.ts +0 -63
  165. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.ts +0 -79
  166. package/src/lib/data-export/data-export-config.ts +0 -98
  167. package/src/lib/data-export/data-export.spec.ts +0 -33
  168. package/src/lib/data-export/data-export.ts +0 -87
  169. package/src/lib/data-export/index.ts +0 -2
  170. package/src/lib/dots/config/dots-builder.ts +0 -442
  171. package/src/lib/dots/config/dots-config.spec.ts +0 -123
  172. package/src/lib/dots/config/dots-config.ts +0 -81
  173. package/src/lib/dots/config/dots-options.ts +0 -32
  174. package/src/lib/dots/dots.component.scss +0 -0
  175. package/src/lib/dots/dots.component.spec.ts +0 -143
  176. package/src/lib/dots/dots.component.ts +0 -291
  177. package/src/lib/dots/dots.cy.ts +0 -594
  178. package/src/lib/dots/dots.module.ts +0 -9
  179. package/src/lib/dots/events/actions/dots-hover-actions.ts +0 -19
  180. package/src/lib/dots/events/actions/dots-hover-move-actions.ts +0 -38
  181. package/src/lib/dots/events/dots-events.directive.ts +0 -214
  182. package/src/lib/dots/events/dots-interaction-output.ts +0 -15
  183. package/src/lib/dots/events/dots-tooltip-positioner.ts +0 -24
  184. package/src/lib/dots/index.ts +0 -10
  185. package/src/lib/events/events.directive.ts +0 -184
  186. package/src/lib/events/events.types.ts +0 -57
  187. package/src/lib/events/index.ts +0 -4
  188. package/src/lib/events/interaction-output.ts +0 -34
  189. package/src/lib/events/tooltip-positioner.ts +0 -15
  190. package/src/lib/fill-definitions/fill-definitions.ts +0 -4
  191. package/src/lib/fill-definitions/index.ts +0 -1
  192. package/src/lib/geographies/config/geographies-builder.ts +0 -224
  193. package/src/lib/geographies/config/geographies-config.spec.ts +0 -100
  194. package/src/lib/geographies/config/geographies-config.ts +0 -81
  195. package/src/lib/geographies/config/geographies-options.ts +0 -37
  196. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer-builder.ts +0 -212
  197. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer-options.ts +0 -26
  198. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer.spec.ts +0 -119
  199. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer.ts +0 -148
  200. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension-builder.ts +0 -65
  201. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension-options.ts +0 -15
  202. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension.ts +0 -32
  203. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-enums.ts +0 -10
  204. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-types.ts +0 -15
  205. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins-builder.ts +0 -18
  206. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins-options.ts +0 -8
  207. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins.spec.ts +0 -60
  208. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins.ts +0 -34
  209. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-builder.ts +0 -46
  210. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-options.ts +0 -8
  211. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.cy.ts +0 -437
  212. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.spec.ts +0 -105
  213. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.ts +0 -54
  214. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins-builder.ts +0 -65
  215. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins-options.ts +0 -9
  216. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins.spec.ts +0 -82
  217. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins.ts +0 -81
  218. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks.cy.ts +0 -378
  219. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins-builder.ts +0 -50
  220. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins-options.ts +0 -8
  221. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.cy.ts +0 -362
  222. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.spec.ts +0 -72
  223. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.ts +0 -56
  224. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins-builder.ts +0 -60
  225. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins-options.ts +0 -9
  226. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.cy.ts +0 -307
  227. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.spec.ts +0 -104
  228. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.ts +0 -89
  229. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins-builder.ts +0 -62
  230. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins-options.ts +0 -8
  231. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.cy.ts +0 -265
  232. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.spec.ts +0 -42
  233. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.ts +0 -42
  234. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer-builder.ts +0 -116
  235. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer-options.ts +0 -20
  236. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer.ts +0 -104
  237. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer-builder.ts +0 -111
  238. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer-options.ts +0 -19
  239. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer.spec.ts +0 -41
  240. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer.ts +0 -67
  241. package/src/lib/geographies/config/layers/labels/geographies-labels-builder.ts +0 -269
  242. package/src/lib/geographies/config/layers/labels/geographies-labels-options.ts +0 -45
  243. package/src/lib/geographies/config/layers/labels/geographies-labels.ts +0 -38
  244. package/src/lib/geographies/events/actions/geographies-click-actions.ts +0 -21
  245. package/src/lib/geographies/events/actions/geographies-hover-actions.ts +0 -17
  246. package/src/lib/geographies/events/actions/geographies-hover-move-actions.ts +0 -19
  247. package/src/lib/geographies/events/geographies-events.directive.spec.ts +0 -225
  248. package/src/lib/geographies/events/geographies-events.directive.ts +0 -235
  249. package/src/lib/geographies/events/geographies-interaction-output.ts +0 -17
  250. package/src/lib/geographies/events/geographies-tooltip-positioner.ts +0 -23
  251. package/src/lib/geographies/geographies-feature.ts +0 -16
  252. package/src/lib/geographies/geographies.component.html +0 -1
  253. package/src/lib/geographies/geographies.component.scss +0 -0
  254. package/src/lib/geographies/geographies.component.spec.ts +0 -148
  255. package/src/lib/geographies/geographies.component.ts +0 -318
  256. package/src/lib/geographies/geographies.cy.ts +0 -640
  257. package/src/lib/geographies/geographies.module.ts +0 -9
  258. package/src/lib/geographies/index.ts +0 -32
  259. package/src/lib/grouped-bars/config/grouped-bars-builder.ts +0 -66
  260. package/src/lib/grouped-bars/config/grouped-bars-config.ts +0 -41
  261. package/src/lib/grouped-bars/config/grouped-bars-options.ts +0 -9
  262. package/src/lib/grouped-bars/events/grouped-bars-events.directive.ts +0 -221
  263. package/src/lib/grouped-bars/grouped-bars.component.scss +0 -0
  264. package/src/lib/grouped-bars/grouped-bars.component.spec.ts +0 -25
  265. package/src/lib/grouped-bars/grouped-bars.component.ts +0 -94
  266. package/src/lib/grouped-bars/grouped-bars.module.ts +0 -9
  267. package/src/lib/grouped-bars/index.ts +0 -10
  268. package/src/lib/image-download/image-download-config.ts +0 -57
  269. package/src/lib/image-download/image-download-enums.ts +0 -7
  270. package/src/lib/image-download/image-download-options.ts +0 -14
  271. package/src/lib/image-download/image-download.service.ts +0 -70
  272. package/src/lib/image-download/index.ts +0 -4
  273. package/src/lib/lines/config/area-fills/area-fills-builder.ts +0 -87
  274. package/src/lib/lines/config/area-fills/area-fills-options.ts +0 -8
  275. package/src/lib/lines/config/area-fills/area-fills.ts +0 -14
  276. package/src/lib/lines/config/lines-builder.ts +0 -242
  277. package/src/lib/lines/config/lines-config.spec.ts +0 -52
  278. package/src/lib/lines/config/lines-config.ts +0 -96
  279. package/src/lib/lines/config/lines-options.ts +0 -19
  280. package/src/lib/lines/config/stroke/lines-stroke-builder.ts +0 -135
  281. package/src/lib/lines/config/stroke/lines-stroke-options.ts +0 -6
  282. package/src/lib/lines/config/stroke/lines-stroke.ts +0 -15
  283. package/src/lib/lines/events/actions/lines-click-actions.ts +0 -17
  284. package/src/lib/lines/events/actions/lines-hover-move-actions.ts +0 -113
  285. package/src/lib/lines/events/actions/lines-marker-click-actions.ts +0 -29
  286. package/src/lib/lines/events/lines-events.directive.spec.ts +0 -152
  287. package/src/lib/lines/events/lines-events.directive.ts +0 -310
  288. package/src/lib/lines/events/lines-interaction-output.ts +0 -17
  289. package/src/lib/lines/events/lines-tooltip-positioner.ts +0 -24
  290. package/src/lib/lines/index.ts +0 -17
  291. package/src/lib/lines/lines.component.scss +0 -0
  292. package/src/lib/lines/lines.component.spec.ts +0 -95
  293. package/src/lib/lines/lines.component.ts +0 -425
  294. package/src/lib/lines/lines.cy.ts +0 -738
  295. package/src/lib/lines/lines.module.ts +0 -9
  296. package/src/lib/map-legend/continuous-legend/continuous-legend.component.html +0 -28
  297. package/src/lib/map-legend/continuous-legend/continuous-legend.component.scss +0 -76
  298. package/src/lib/map-legend/continuous-legend/continuous-legend.component.spec.ts +0 -61
  299. package/src/lib/map-legend/continuous-legend/continuous-legend.component.ts +0 -82
  300. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.html +0 -40
  301. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.scss +0 -141
  302. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.spec.ts +0 -75
  303. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.ts +0 -57
  304. package/src/lib/map-legend/index.ts +0 -2
  305. package/src/lib/map-legend/map-legend-base.spec.ts +0 -190
  306. package/src/lib/map-legend/map-legend-base.ts +0 -99
  307. package/src/lib/map-legend/map-legend.component.html +0 -24
  308. package/src/lib/map-legend/map-legend.component.scss +0 -0
  309. package/src/lib/map-legend/map-legend.component.spec.ts +0 -125
  310. package/src/lib/map-legend/map-legend.component.ts +0 -80
  311. package/src/lib/map-legend/map-legend.module.ts +0 -8
  312. package/src/lib/marks/aux-marks/aux-marks.ts +0 -18
  313. package/src/lib/marks/aux-marks/config/aux-marks-builder.ts +0 -25
  314. package/src/lib/marks/aux-marks/config/aux-marks-config.ts +0 -6
  315. package/src/lib/marks/config/marks-config.ts +0 -14
  316. package/src/lib/marks/config/marks-options.ts +0 -9
  317. package/src/lib/marks/index.ts +0 -15
  318. package/src/lib/marks/map-marks/map-aux-marks/map-aux-marks.spec.ts +0 -74
  319. package/src/lib/marks/map-marks/map-aux-marks/map-aux-marks.ts +0 -40
  320. package/src/lib/marks/map-marks/map-primary-marks/map-primary-marks.spec.ts +0 -79
  321. package/src/lib/marks/map-marks/map-primary-marks/map-primary-marks.ts +0 -63
  322. package/src/lib/marks/marks.ts +0 -39
  323. package/src/lib/marks/primary-marks/config/primary-marks-builder.ts +0 -75
  324. package/src/lib/marks/primary-marks/config/primary-marks-config.ts +0 -9
  325. package/src/lib/marks/primary-marks/primary-marks-base.spec.ts +0 -58
  326. package/src/lib/marks/primary-marks/primary-marks.ts +0 -43
  327. package/src/lib/marks/xy-marks/xy-aux-marks/xy-aux-marks.ts +0 -40
  328. package/src/lib/marks/xy-marks/xy-marks-config.ts +0 -5
  329. package/src/lib/marks/xy-marks/xy-marks.ts +0 -10
  330. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks-config.ts +0 -7
  331. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks.spec.ts +0 -186
  332. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks.ts +0 -72
  333. package/src/lib/point-markers/index.ts +0 -3
  334. package/src/lib/point-markers/point-markers-builder.ts +0 -93
  335. package/src/lib/point-markers/point-markers-options.ts +0 -6
  336. package/src/lib/point-markers/point-markers.ts +0 -13
  337. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels-builder.ts +0 -162
  338. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels-options.ts +0 -17
  339. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels.ts +0 -26
  340. package/src/lib/quantitative-rules/config/quantitative-rules-builder.ts +0 -134
  341. package/src/lib/quantitative-rules/config/quantitative-rules-config.ts +0 -21
  342. package/src/lib/quantitative-rules/config/quantitative-rules-dimensions.ts +0 -20
  343. package/src/lib/quantitative-rules/config/quantitative-rules-options.ts +0 -13
  344. package/src/lib/quantitative-rules/index.ts +0 -6
  345. package/src/lib/quantitative-rules/quantitative-rules.component.scss +0 -3
  346. package/src/lib/quantitative-rules/quantitative-rules.component.spec.ts +0 -50
  347. package/src/lib/quantitative-rules/quantitative-rules.component.ts +0 -224
  348. package/src/lib/quantitative-rules/quantitative-rules.cy.ts +0 -549
  349. package/src/lib/quantitative-rules/quantitative-rules.module.ts +0 -8
  350. package/src/lib/stacked-area/config/stacked-area-builder.ts +0 -264
  351. package/src/lib/stacked-area/config/stacked-area-config.spec.ts +0 -107
  352. package/src/lib/stacked-area/config/stacked-area-config.ts +0 -109
  353. package/src/lib/stacked-area/config/stacked-area-options.ts +0 -28
  354. package/src/lib/stacked-area/events/actions/stacked-area-hover-move-actions.ts +0 -17
  355. package/src/lib/stacked-area/events/stacked-area-events.directive.spec.ts +0 -168
  356. package/src/lib/stacked-area/events/stacked-area-events.directive.ts +0 -272
  357. package/src/lib/stacked-area/events/stacked-area-interaction-output.ts +0 -33
  358. package/src/lib/stacked-area/events/stacked-area-tooltip-positioner.ts +0 -37
  359. package/src/lib/stacked-area/index.ts +0 -7
  360. package/src/lib/stacked-area/stacked-area.component.scss +0 -0
  361. package/src/lib/stacked-area/stacked-area.component.spec.ts +0 -41
  362. package/src/lib/stacked-area/stacked-area.component.ts +0 -241
  363. package/src/lib/stacked-area/stacked-area.module.ts +0 -9
  364. package/src/lib/stacked-bars/config/stacked-bars-builder.ts +0 -109
  365. package/src/lib/stacked-bars/config/stacked-bars-config.spec.ts +0 -122
  366. package/src/lib/stacked-bars/config/stacked-bars-config.ts +0 -79
  367. package/src/lib/stacked-bars/config/stacked-bars-options.ts +0 -16
  368. package/src/lib/stacked-bars/events/actions/stacked-bars-click-actions.ts +0 -23
  369. package/src/lib/stacked-bars/events/actions/stacked-bars-hover-actions.ts +0 -22
  370. package/src/lib/stacked-bars/events/actions/stacked-bars-hover-move-actions.ts +0 -21
  371. package/src/lib/stacked-bars/events/stacked-bars-events.directive.spec.ts +0 -266
  372. package/src/lib/stacked-bars/events/stacked-bars-events.directive.ts +0 -240
  373. package/src/lib/stacked-bars/index.ts +0 -10
  374. package/src/lib/stacked-bars/stacked-bars.component.scss +0 -0
  375. package/src/lib/stacked-bars/stacked-bars.component.spec.ts +0 -25
  376. package/src/lib/stacked-bars/stacked-bars.component.ts +0 -158
  377. package/src/lib/stacked-bars/stacked-bars.module.ts +0 -9
  378. package/src/lib/stroke/base/stroke-base-options.ts +0 -7
  379. package/src/lib/stroke/base/stroke-base.ts +0 -9
  380. package/src/lib/stroke/index.ts +0 -5
  381. package/src/lib/stroke/stroke-builder.ts +0 -103
  382. package/src/lib/stroke/stroke-options.ts +0 -5
  383. package/src/lib/stroke/stroke.ts +0 -12
  384. package/src/lib/svg-text-wrap/index.ts +0 -3
  385. package/src/lib/svg-text-wrap/svg-text-wrap-builder.ts +0 -105
  386. package/src/lib/svg-text-wrap/svg-text-wrap-options.ts +0 -8
  387. package/src/lib/svg-text-wrap/svg-text-wrap.ts +0 -137
  388. package/src/lib/testing/data/continent-population-year-data.ts +0 -126
  389. package/src/lib/testing/data/country-area-continent.ts +0 -59
  390. package/src/lib/testing/data/state-population-income-year-data.ts +0 -123
  391. package/src/lib/testing/stubs/bars.component.stub.ts +0 -12
  392. package/src/lib/testing/stubs/chart.component.stub.ts +0 -6
  393. package/src/lib/testing/stubs/click.directive.stub.ts +0 -15
  394. package/src/lib/testing/stubs/core/destroy-ref.stub.ts +0 -9
  395. package/src/lib/testing/stubs/core/overlay-ref.stub.ts +0 -13
  396. package/src/lib/testing/stubs/core/overlay.stub.ts +0 -8
  397. package/src/lib/testing/stubs/event.directive.stub.ts +0 -10
  398. package/src/lib/testing/stubs/hover-move.directive.stub.ts +0 -17
  399. package/src/lib/testing/stubs/hover.directive.stub.ts +0 -14
  400. package/src/lib/testing/stubs/input-event.directive.stub.ts +0 -9
  401. package/src/lib/testing/stubs/lines.component.stub.ts +0 -13
  402. package/src/lib/testing/stubs/map-aux-marks.stub.ts +0 -10
  403. package/src/lib/testing/stubs/map-chart.component.stub.ts +0 -3
  404. package/src/lib/testing/stubs/map-legend-content.stub.ts +0 -16
  405. package/src/lib/testing/stubs/map-legend.component.stub.ts +0 -10
  406. package/src/lib/testing/stubs/map-primary-marks.stub.ts +0 -16
  407. package/src/lib/testing/stubs/ordinal-axis.stub.ts +0 -18
  408. package/src/lib/testing/stubs/primary-marks.stub.ts +0 -18
  409. package/src/lib/testing/stubs/quantitative-axis.stub.ts +0 -18
  410. package/src/lib/testing/stubs/services/main.service.stub.ts +0 -5
  411. package/src/lib/testing/stubs/services/utilities.service.stub.ts +0 -7
  412. package/src/lib/testing/stubs/stacked-area.component.stub.ts +0 -13
  413. package/src/lib/testing/stubs/x-axis.stub.ts +0 -10
  414. package/src/lib/testing/stubs/xy-axis.class.stub.ts +0 -20
  415. package/src/lib/testing/stubs/xy-axis.stub.ts +0 -44
  416. package/src/lib/testing/stubs/xy-chart.component.stub.ts +0 -5
  417. package/src/lib/testing/stubs/xy-data-marks.stub.ts +0 -15
  418. package/src/lib/testing/stubs/y-axis.stub.ts +0 -15
  419. package/src/lib/tooltips/config/tooltip.ts +0 -11
  420. package/src/lib/tooltips/html-tooltip/config/html-tooltip-builder.ts +0 -134
  421. package/src/lib/tooltips/html-tooltip/config/html-tooltip-config.ts +0 -21
  422. package/src/lib/tooltips/html-tooltip/config/html-tooltip-options.ts +0 -12
  423. package/src/lib/tooltips/html-tooltip/config/position/tooltip-position-builder.ts +0 -191
  424. package/src/lib/tooltips/html-tooltip/config/position/tooltip-position.ts +0 -42
  425. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size-builder.ts +0 -75
  426. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size-options.ts +0 -8
  427. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size.ts +0 -15
  428. package/src/lib/tooltips/html-tooltip/html-tooltip.directive.spec.ts +0 -537
  429. package/src/lib/tooltips/html-tooltip/html-tooltip.directive.ts +0 -210
  430. package/src/lib/tooltips/html-tooltip/html-tooltip.module.ts +0 -16
  431. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.html +0 -41
  432. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.scss +0 -63
  433. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.ts +0 -19
  434. package/src/lib/tooltips/index.ts +0 -11
  435. package/src/lib/tooltips/svg-tooltip/config/svg-tooltip.ts +0 -5
  436. package/src/lib/xy-background/index.ts +0 -2
  437. package/src/lib/xy-background/xy-background.component.html +0 -10
  438. package/src/lib/xy-background/xy-background.component.scss +0 -0
  439. package/src/lib/xy-background/xy-background.component.spec.ts +0 -24
  440. package/src/lib/xy-background/xy-background.component.ts +0 -19
  441. package/src/lib/xy-background/xy-background.module.ts +0 -8
  442. package/src/public-api.ts +0 -26
  443. package/src/test.ts +0 -15
  444. package/tsconfig.doc.json +0 -4
  445. package/tsconfig.json +0 -20
  446. package/tsconfig.lib.json +0 -23
  447. package/tsconfig.lib.prod.json +0 -10
  448. package/tsconfig.spec.json +0 -10
@@ -1,74 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { TestBed } from '@angular/core/testing';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { MapChartComponent } from '../../../charts/map-chart/map-chart.component';
5
- import { MapAuxMarksStub } from '../../../testing/stubs/map-aux-marks.stub';
6
- import { MapChartComponentStub } from '../../../testing/stubs/map-chart.component.stub';
7
-
8
- describe('MapAuxMarksBase abstract class', () => {
9
- let abstractClass: MapAuxMarksStub<any>;
10
-
11
- beforeEach(() => {
12
- TestBed.configureTestingModule({
13
- providers: [
14
- MapAuxMarksStub,
15
- {
16
- provide: MapChartComponent,
17
- useValue: MapChartComponentStub,
18
- },
19
- ],
20
- });
21
- abstractClass = TestBed.inject(MapAuxMarksStub);
22
- });
23
-
24
- describe('ngOnInit()', () => {
25
- beforeEach(() => {
26
- spyOn(abstractClass, 'subscribeToAttributeDataProperties');
27
- });
28
- it('calls subscribeToAttributeDataProperties once', () => {
29
- abstractClass.ngOnInit();
30
- expect(
31
- abstractClass.subscribeToAttributeDataProperties
32
- ).toHaveBeenCalledTimes(1);
33
- });
34
- });
35
-
36
- describe('subscribeToAttributeProperties()', () => {
37
- beforeEach(() => {
38
- abstractClass.chart = {
39
- attributeProperties: new BehaviorSubject<any>({
40
- config: undefined,
41
- scale: undefined,
42
- }),
43
- } as any;
44
- abstractClass.chart.attributeProperties$ = (
45
- abstractClass.chart as any
46
- ).attributeProperties.asObservable();
47
- spyOn(abstractClass, 'drawMarks');
48
- });
49
- it('sets attributeDataConfig', () => {
50
- abstractClass.subscribeToAttributeDataProperties();
51
- (abstractClass.chart as any).attributeProperties.next({
52
- scale: 'test scale',
53
- config: 'test config',
54
- });
55
- expect(abstractClass.attributeDataConfig).toEqual('test config' as any);
56
- });
57
- it('sets attributeDataScale', () => {
58
- abstractClass.subscribeToAttributeDataProperties();
59
- (abstractClass.chart as any).attributeProperties.next({
60
- scale: 'test scale',
61
- config: 'test config',
62
- });
63
- expect(abstractClass.attributeDataScale).toEqual('test scale' as any);
64
- });
65
- it('calls drawMarks()', () => {
66
- abstractClass.subscribeToAttributeDataProperties();
67
- (abstractClass.chart as any).attributeProperties.next({
68
- scale: 'test scale',
69
- config: 'test config',
70
- });
71
- expect(abstractClass.drawMarks).toHaveBeenCalled();
72
- });
73
- });
74
- });
@@ -1,40 +0,0 @@
1
- import { DestroyRef, Directive, inject, OnInit } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { filter } from 'rxjs';
4
- import { MapChartComponent } from '../../../charts';
5
- import { VicAttributeDataDimensionConfig } from '../../../geographies';
6
- import { AuxMarks } from '../../aux-marks/aux-marks';
7
- import { MarksConfig } from '../../config/marks-config';
8
-
9
- @Directive()
10
- export abstract class VicMapAuxMarks<Datum, TMarksConfig extends MarksConfig>
11
- extends AuxMarks<Datum, TMarksConfig>
12
- implements OnInit
13
- {
14
- attributeDataConfig: VicAttributeDataDimensionConfig<Datum>;
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- attributeDataScale: any;
17
- public override chart = inject(MapChartComponent);
18
- destroyRef = inject(DestroyRef);
19
-
20
- ngOnInit(): void {
21
- this.subscribeToAttributeDataProperties();
22
- }
23
-
24
- subscribeToAttributeDataProperties(): void {
25
- this.chart.attributeProperties$
26
- .pipe(
27
- takeUntilDestroyed(this.destroyRef),
28
- filter((properties) => !!properties.scale && !!properties.config)
29
- )
30
- .subscribe((properties) => {
31
- this.attributeDataConfig = properties.config;
32
- this.attributeDataScale = properties.scale;
33
- this.drawMarks();
34
- });
35
- }
36
-
37
- getTransitionDuration(): number {
38
- return this.chart.config.transitionDuration;
39
- }
40
- }
@@ -1,79 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { TestBed } from '@angular/core/testing';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { MapChartComponent } from '../../../charts/map-chart/map-chart.component';
5
- import { MapChartComponentStub } from '../../../testing/stubs/map-chart.component.stub';
6
- import { MapPrimaryMarksStub } from '../../../testing/stubs/map-primary-marks.stub';
7
-
8
- describe('MapPrimaryMarks abstract class', () => {
9
- let abstractClass: MapPrimaryMarksStub<any>;
10
-
11
- beforeEach(() => {
12
- TestBed.configureTestingModule({
13
- providers: [
14
- MapPrimaryMarksStub,
15
- {
16
- provide: MapChartComponent,
17
- useValue: MapChartComponentStub,
18
- },
19
- ],
20
- });
21
- abstractClass = TestBed.inject(MapPrimaryMarksStub);
22
- });
23
-
24
- describe('ngOnInit()', () => {
25
- beforeEach(() => {
26
- spyOn(abstractClass, 'subscribeToRanges');
27
- spyOn(abstractClass, 'subscribeToAttributeDataProperties');
28
- });
29
- it('calls subscribeToRanges once', () => {
30
- abstractClass.ngOnInit();
31
- expect(abstractClass.subscribeToRanges).toHaveBeenCalledTimes(1);
32
- });
33
- it('calls subscribeToAttributeProperties once', () => {
34
- abstractClass.ngOnInit();
35
- expect(
36
- abstractClass.subscribeToAttributeDataProperties
37
- ).toHaveBeenCalledTimes(1);
38
- });
39
- });
40
-
41
- describe('subscribeToAttributeProperties()', () => {
42
- beforeEach(() => {
43
- abstractClass.chart = {
44
- attributeProperties: new BehaviorSubject<any>({
45
- config: undefined,
46
- scale: undefined,
47
- }),
48
- } as any;
49
- abstractClass.chart.attributeProperties$ = (
50
- abstractClass.chart as any
51
- ).attributeProperties.asObservable();
52
- spyOn(abstractClass, 'drawMarks');
53
- });
54
- it('sets attributeDataConfig', () => {
55
- abstractClass.subscribeToAttributeDataProperties();
56
- (abstractClass.chart as any).attributeProperties.next({
57
- scale: 'test scale',
58
- config: 'test config',
59
- });
60
- expect(abstractClass.attributeDataConfig).toEqual('test config' as any);
61
- });
62
- it('sets attributeDataScale', () => {
63
- abstractClass.subscribeToAttributeDataProperties();
64
- (abstractClass.chart as any).attributeProperties.next({
65
- scale: 'test scale',
66
- config: 'test config',
67
- });
68
- expect(abstractClass.attributeDataScale).toEqual('test scale' as any);
69
- });
70
- it('calls drawMarks()', () => {
71
- abstractClass.subscribeToAttributeDataProperties();
72
- (abstractClass.chart as any).attributeProperties.next({
73
- scale: 'test scale',
74
- config: 'test config',
75
- });
76
- expect(abstractClass.drawMarks).toHaveBeenCalled();
77
- });
78
- });
79
- });
@@ -1,63 +0,0 @@
1
- import { Directive, OnInit, inject } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { filter } from 'rxjs';
4
- import { MapChartComponent } from '../../../charts/map-chart/map-chart.component';
5
- import { VicAttributeDataDimensionConfig } from '../../../geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-types';
6
- import { MarksConfig } from '../../config/marks-config';
7
- import { PrimaryMarks } from '../../primary-marks/primary-marks';
8
-
9
- /**
10
- * @internal
11
- */
12
- @Directive()
13
- export abstract class MapPrimaryMarks<
14
- Datum,
15
- TPrimaryMarksConfig extends MarksConfig,
16
- >
17
- extends PrimaryMarks<Datum, TPrimaryMarksConfig>
18
- implements OnInit
19
- {
20
- attributeDataConfig: VicAttributeDataDimensionConfig<Datum>;
21
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
- attributeDataScale: any;
23
- public override chart = inject(MapChartComponent);
24
-
25
- ngOnInit(): void {
26
- this.subscribeToRanges();
27
- this.subscribeToAttributeDataProperties();
28
- }
29
-
30
- subscribeToRanges(): void {
31
- this.chart.ranges$
32
- .pipe(
33
- takeUntilDestroyed(this.destroyRef),
34
- filter((ranges) => !!ranges)
35
- )
36
- .subscribe((ranges) => {
37
- this.ranges = ranges;
38
- if (this.attributeDataScale && this.attributeDataConfig) {
39
- this.setChartScalesFromRanges(false);
40
- this.drawMarks();
41
- } else {
42
- this.initFromConfig();
43
- }
44
- });
45
- }
46
-
47
- subscribeToAttributeDataProperties(): void {
48
- this.chart.attributeProperties$
49
- .pipe(
50
- takeUntilDestroyed(this.destroyRef),
51
- filter((properties) => !!properties.scale && !!properties.config)
52
- )
53
- .subscribe((properties) => {
54
- this.attributeDataConfig = properties.config;
55
- this.attributeDataScale = properties.scale;
56
- this.drawMarks();
57
- });
58
- }
59
-
60
- getTransitionDuration(): number {
61
- return this.chart.config.transitionDuration;
62
- }
63
- }
@@ -1,39 +0,0 @@
1
- import { Directive, OnChanges, SimpleChanges } from '@angular/core';
2
- import { NgOnChangesUtilities } from '@mathstack/app-kit';
3
- import { Chart } from '../charts';
4
-
5
- export interface IMarks {
6
- chart: Chart;
7
- /**
8
- * drawMarks method
9
- *
10
- * All methods that require scales should be called from drawMarks. Methods
11
- * called from here should use scale.domain() or scale.range() to obtain those values
12
- * rather than this.config.dimension.domain or this.ranges.dimension.
13
- *
14
- * This method is called when scales emit from ChartComponent.
15
- */
16
- drawMarks: () => void;
17
- /**
18
- * getTransitionDuration method
19
- *
20
- * This method should return the duration of the transition to be used in the marks.
21
- */
22
- getTransitionDuration: () => number;
23
- }
24
-
25
- @Directive()
26
- export abstract class Marks implements IMarks, OnChanges {
27
- chart: Chart;
28
- abstract drawMarks(): void;
29
- abstract getTransitionDuration(): number;
30
- abstract initFromConfig(): void;
31
-
32
- ngOnChanges(changes: SimpleChanges): void {
33
- if (
34
- NgOnChangesUtilities.inputObjectChangedNotFirstTime(changes, 'config')
35
- ) {
36
- this.initFromConfig();
37
- }
38
- }
39
- }
@@ -1,75 +0,0 @@
1
- import { safeAssign } from '@mathstack/app-kit';
2
-
3
- const DEFAULT = {
4
- _datumClass: () => '',
5
- _mixBlendMode: 'normal',
6
- };
7
-
8
- export abstract class PrimaryMarksBuilder<Datum> {
9
- protected _datumClass: (d: Datum) => string;
10
- protected _data: Datum[];
11
- protected _mixBlendMode: string;
12
-
13
- constructor() {
14
- safeAssign(this, DEFAULT);
15
- }
16
-
17
- /**
18
- * OPTIONAL. Provides a class on the SVG element that corresponds to a single datum. If a datum creates multiple SVG elements -- for example, a rect and a label, the class will be applied on the parent SVGGElement.
19
- *
20
- * IF the chart does not have SVG elements that correspond to a single datum, this class will be placed on the SVG element that represents a collection of data, for example, a area in a stacked area chart, or a line in a line chart. In this case the datum passed to the callback function will be the first datum in the collection.
21
- *
22
- * Note that if the resultant string has spaces in the name, multiple classes will be applied. For example, if the class is 'North Carolina', the element will have the classes 'North' and 'Carolina'.
23
- */
24
- datumClass(value: null): this;
25
- datumClass(value: string): this;
26
- datumClass(value: (d: Datum) => string): this;
27
- datumClass(value: ((d: Datum) => string) | string | null): this {
28
- if (value === null) {
29
- this._datumClass = DEFAULT._datumClass;
30
- return this;
31
- }
32
- if (typeof value === 'string') {
33
- this._datumClass = () => value;
34
- return this;
35
- }
36
- this._datumClass = value;
37
- return this;
38
- }
39
-
40
- /**
41
- * REQUIRED. Sets the data that will be used to render the marks for this component
42
- *
43
- * If no dimension domain overrides are provided, **this primary-marks data will also create the domain of the scales used on the entire chart**.
44
- *
45
- * The objects in the array can be of an type, and if an array of objects, the objects can contain any number of properties, including properties that are extraneous to the chart at hand.
46
- */
47
- data(data: Datum[]): this {
48
- this._data = data;
49
- return this;
50
- }
51
-
52
- /**
53
- * Sets the mix-blend-mode of the marks.
54
- *
55
- * @default 'normal'
56
- */
57
- mixBlendMode(mixBlendMode: null): this;
58
- mixBlendMode(mixBlendMode: string): this;
59
- mixBlendMode(mixBlendMode: string | null): this {
60
- if (mixBlendMode === null) {
61
- this._mixBlendMode = DEFAULT._mixBlendMode;
62
- return this;
63
- }
64
- this._mixBlendMode = mixBlendMode;
65
- return this;
66
- }
67
-
68
- protected validateBuilder(componentName: string): void {
69
- if (!this._data) {
70
- throw new Error(
71
- `${componentName} Builder: data is required. Use the 'data' method to set the data.`
72
- );
73
- }
74
- }
75
- }
@@ -1,9 +0,0 @@
1
- import { DataMarksConfig } from '../../config/marks-config';
2
- import { DataMarksOptions } from '../../config/marks-options';
3
-
4
- export abstract class PrimaryMarksConfig<Datum>
5
- extends DataMarksConfig<Datum>
6
- implements DataMarksOptions<Datum>
7
- {
8
- protected abstract initPropertiesFromData(): void;
9
- }
@@ -1,58 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { SimpleChange } from '@angular/core';
3
- import { TestBed } from '@angular/core/testing';
4
- import { PrimaryMarksStub } from '../../testing/stubs/primary-marks.stub';
5
-
6
- describe('PrimaryMarks abstract class', () => {
7
- let abstractClass: PrimaryMarksStub<any>;
8
-
9
- beforeEach(() => {
10
- TestBed.configureTestingModule({
11
- providers: [PrimaryMarksStub],
12
- });
13
- abstractClass = TestBed.inject(PrimaryMarksStub);
14
- });
15
-
16
- describe('ngOnChanges()', () => {
17
- let configChange: any;
18
- beforeEach(() => {
19
- spyOn(abstractClass, 'initFromConfig');
20
- configChange = {
21
- config: new SimpleChange({ num: 'one' }, { num: 'two' }, false),
22
- };
23
- });
24
- it('should call initFromConfig once if config changes exist, if not first change, and if curr value is different from prev value', () => {
25
- abstractClass.ngOnChanges(configChange);
26
- expect(abstractClass.initFromConfig).toHaveBeenCalledTimes(1);
27
- });
28
- it('should call not call initFromConfig if curr value and prev value are the same', () => {
29
- configChange = {
30
- config: new SimpleChange({ num: 'one' }, { num: 'one' }, false),
31
- };
32
- abstractClass.ngOnChanges(configChange);
33
- expect(abstractClass.initFromConfig).toHaveBeenCalledTimes(0);
34
- });
35
- it('should not call initFromConfig if firstChange', () => {
36
- configChange = {
37
- config: new SimpleChange(1, 1, true),
38
- };
39
- abstractClass.ngOnChanges(configChange);
40
- expect(abstractClass.initFromConfig).toHaveBeenCalledTimes(0);
41
- });
42
- it('should not call initFromConfig if config changes do not exist', () => {
43
- configChange = {};
44
- abstractClass.ngOnChanges(configChange);
45
- expect(abstractClass.initFromConfig).toHaveBeenCalledTimes(0);
46
- });
47
- });
48
-
49
- describe('initFromConfig()', () => {
50
- beforeEach(() => {
51
- spyOn(abstractClass, 'setChartScalesFromRanges');
52
- abstractClass.initFromConfig();
53
- });
54
- it('calls setChartScalesFromRanges()', () => {
55
- expect(abstractClass.setChartScalesFromRanges).toHaveBeenCalledTimes(1);
56
- });
57
- });
58
- });
@@ -1,43 +0,0 @@
1
- import {
2
- DestroyRef,
3
- Directive,
4
- InjectionToken,
5
- Input,
6
- OnChanges,
7
- inject,
8
- } from '@angular/core';
9
- import { Ranges } from '../../charts';
10
- import { DataMarksConfig, MarksConfig } from '../config/marks-config';
11
- import { Marks } from '../marks';
12
-
13
- export const VIC_PRIMARY_MARKS = new InjectionToken<
14
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
- PrimaryMarks<unknown, any>
16
- >('PrimaryMarks');
17
-
18
- @Directive()
19
- export abstract class PrimaryMarks<
20
- Datum,
21
- TPrimaryMarksConfig extends MarksConfig | DataMarksConfig<Datum>,
22
- >
23
- extends Marks
24
- implements Marks, OnChanges
25
- {
26
- @Input() config: TPrimaryMarksConfig;
27
- ranges: Ranges;
28
- destroyRef = inject(DestroyRef);
29
-
30
- /**
31
- * This method sets creates and sets scales on ChartComponent. Any methods that require ranges
32
- * to create the scales should be called from this method. Methods called from here should not
33
- * require scales.
34
- *
35
- * This method is called on init, after config-based properties are set, and also on
36
- * resize/when ranges change.
37
- */
38
- abstract setChartScalesFromRanges(useTransition: boolean): void;
39
-
40
- initFromConfig(): void {
41
- this.setChartScalesFromRanges(true);
42
- }
43
- }
@@ -1,40 +0,0 @@
1
- import { DestroyRef, Directive, OnInit, inject } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { filter } from 'rxjs';
4
- import { XyChartComponent, XyChartScales } from '../../../charts';
5
- import { AuxMarks } from '../../aux-marks/aux-marks';
6
- import { DataMarksConfig, MarksConfig } from '../../config/marks-config';
7
- import { XyMarks } from '../xy-marks';
8
-
9
- @Directive()
10
- export abstract class XyAuxMarks<
11
- Datum,
12
- TMarksConfig extends MarksConfig | DataMarksConfig<Datum>,
13
- >
14
- extends AuxMarks<Datum, TMarksConfig>
15
- implements OnInit, XyMarks
16
- {
17
- scales: XyChartScales;
18
- public override chart = inject(XyChartComponent);
19
- public destroyRef = inject(DestroyRef);
20
-
21
- ngOnInit(): void {
22
- this.subscribeToScales();
23
- }
24
-
25
- subscribeToScales(): void {
26
- this.chart.scales$
27
- .pipe(
28
- takeUntilDestroyed(this.destroyRef),
29
- filter((scales) => !!scales.x && !!scales.y)
30
- )
31
- .subscribe((scales): void => {
32
- this.scales = scales;
33
- this.drawMarks();
34
- });
35
- }
36
-
37
- getTransitionDuration(): number {
38
- return this.scales.useTransition ? this.chart.config.transitionDuration : 0;
39
- }
40
- }
@@ -1,5 +0,0 @@
1
- import { DataMarksConfig } from '../config/marks-config';
2
-
3
- export abstract class XyMarksConfig<Datum> extends DataMarksConfig<Datum> {
4
- valueIndices: number[];
5
- }
@@ -1,10 +0,0 @@
1
- import {
2
- XyChartComponent,
3
- XyChartScales,
4
- } from '../../charts/xy-chart/xy-chart.component';
5
-
6
- export interface XyMarks {
7
- chart: XyChartComponent;
8
- scales: XyChartScales;
9
- subscribeToScales: () => void;
10
- }
@@ -1,7 +0,0 @@
1
- import { PrimaryMarksConfig } from '../../primary-marks/config/primary-marks-config';
2
-
3
- export abstract class XyPrimaryMarksConfig<
4
- Datum,
5
- > extends PrimaryMarksConfig<Datum> {
6
- valueIndices: number[];
7
- }