@mathstack/viz 2.1.0 → 2.2.1

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 (450) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +11 -11
  3. package/fesm2022/mathstack-viz.mjs +11024 -0
  4. package/fesm2022/mathstack-viz.mjs.map +1 -0
  5. package/package.json +18 -6
  6. package/types/mathstack-viz.d.ts +5830 -0
  7. package/CHANGELOG.md +0 -0
  8. package/cypress/fixtures/example.json +0 -5
  9. package/cypress/fixtures/usMap.json +0 -13511
  10. package/cypress/support/commands.ts +0 -104
  11. package/cypress/support/component-index.html +0 -12
  12. package/cypress/support/component.ts +0 -33
  13. package/cypress.config.ts +0 -9
  14. package/karma.conf.js +0 -62
  15. package/ng-package.json +0 -8
  16. package/project.json +0 -97
  17. package/src/.eslintrc.json +0 -35
  18. package/src/.prettierrc +0 -31
  19. package/src/lib/axes/base/config/xy-axis-builder.ts +0 -68
  20. package/src/lib/axes/base/config/xy-axis-config.ts +0 -35
  21. package/src/lib/axes/base/config/xy-axis-options.ts +0 -11
  22. package/src/lib/axes/base/xy-axis-base.spec.ts +0 -114
  23. package/src/lib/axes/base/xy-axis-base.ts +0 -305
  24. package/src/lib/axes/base/xy-axis-domain-lines.cy.ts +0 -511
  25. package/src/lib/axes/baseline/axis-baseline-builder.ts +0 -77
  26. package/src/lib/axes/baseline/axis-baseline-options.ts +0 -4
  27. package/src/lib/axes/baseline/axis-baseline.ts +0 -11
  28. package/src/lib/axes/grid/grid-builder.ts +0 -74
  29. package/src/lib/axes/grid/grid-config.ts +0 -13
  30. package/src/lib/axes/grid/grid-options.ts +0 -7
  31. package/src/lib/axes/index.ts +0 -40
  32. package/src/lib/axes/label/axis-label-builder.ts +0 -140
  33. package/src/lib/axes/label/axis-label-options.ts +0 -12
  34. package/src/lib/axes/label/axis-label.ts +0 -18
  35. package/src/lib/axes/label/axis-labels.cy.ts +0 -303
  36. package/src/lib/axes/ordinal/ordinal-axis-config.ts +0 -31
  37. package/src/lib/axes/ordinal/ordinal-axis.spec.ts +0 -30
  38. package/src/lib/axes/ordinal/ordinal-axis.ts +0 -26
  39. package/src/lib/axes/quantitative/quantitative-axis-config.ts +0 -39
  40. package/src/lib/axes/quantitative/quantitative-axis-ticks.cy.ts +0 -748
  41. package/src/lib/axes/quantitative/quantitative-axis.spec.ts +0 -537
  42. package/src/lib/axes/quantitative/quantitative-axis.ts +0 -191
  43. package/src/lib/axes/ticks/tick-wrap/tick-wrap-builder.ts +0 -141
  44. package/src/lib/axes/ticks/tick-wrap/tick-wrap-options.ts +0 -11
  45. package/src/lib/axes/ticks/tick-wrap/tick-wrap.cy.ts +0 -360
  46. package/src/lib/axes/ticks/tick-wrap/tick-wrap.ts +0 -21
  47. package/src/lib/axes/ticks/ticks-builder.ts +0 -370
  48. package/src/lib/axes/ticks/ticks-options.ts +0 -24
  49. package/src/lib/axes/ticks/ticks.ts +0 -33
  50. package/src/lib/axes/x/x-axis-config.ts +0 -48
  51. package/src/lib/axes/x/x-axis.spec.ts +0 -90
  52. package/src/lib/axes/x/x-axis.ts +0 -109
  53. package/src/lib/axes/x-ordinal/x-ordinal-axis-builder.ts +0 -75
  54. package/src/lib/axes/x-ordinal/x-ordinal-axis-config.ts +0 -27
  55. package/src/lib/axes/x-ordinal/x-ordinal-axis.component.ts +0 -33
  56. package/src/lib/axes/x-quantitative/x-quantitative-axis-builder.ts +0 -74
  57. package/src/lib/axes/x-quantitative/x-quantitative-axis-config.ts +0 -32
  58. package/src/lib/axes/x-quantitative/x-quantitative-axis.component.ts +0 -40
  59. package/src/lib/axes/xy-axis.module.ts +0 -20
  60. package/src/lib/axes/y/y-axis-config.ts +0 -47
  61. package/src/lib/axes/y/y-axis.spec.ts +0 -92
  62. package/src/lib/axes/y/y-axis.ts +0 -161
  63. package/src/lib/axes/y-ordinal/y-ordinal-axis-builder.ts +0 -76
  64. package/src/lib/axes/y-ordinal/y-ordinal-axis-config.ts +0 -29
  65. package/src/lib/axes/y-ordinal/y-ordinal-axis.component.ts +0 -33
  66. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis-builder.ts +0 -74
  67. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis-config.ts +0 -34
  68. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis.component.ts +0 -40
  69. package/src/lib/bars/bars.component.scss +0 -0
  70. package/src/lib/bars/bars.component.spec.ts +0 -1470
  71. package/src/lib/bars/bars.component.ts +0 -717
  72. package/src/lib/bars/bars.cy.ts +0 -829
  73. package/src/lib/bars/bars.module.ts +0 -9
  74. package/src/lib/bars/config/backgrounds/bars-backgrounds-builder.ts +0 -51
  75. package/src/lib/bars/config/backgrounds/bars-backgrounds-options.ts +0 -4
  76. package/src/lib/bars/config/backgrounds/bars-backgrounds.ts +0 -11
  77. package/src/lib/bars/config/bars-builder.ts +0 -340
  78. package/src/lib/bars/config/bars-config.spec.ts +0 -132
  79. package/src/lib/bars/config/bars-config.ts +0 -70
  80. package/src/lib/bars/config/bars-dimensions.ts +0 -29
  81. package/src/lib/bars/config/bars-options.ts +0 -20
  82. package/src/lib/bars/config/labels/bars-labels-builder.ts +0 -89
  83. package/src/lib/bars/config/labels/bars-labels-options.ts +0 -6
  84. package/src/lib/bars/config/labels/bars-labels.cy.ts +0 -781
  85. package/src/lib/bars/config/labels/bars-labels.ts +0 -13
  86. package/src/lib/bars/events/actions/bars-click-actions.ts +0 -23
  87. package/src/lib/bars/events/actions/bars-hover-actions.ts +0 -43
  88. package/src/lib/bars/events/actions/bars-hover-move-actions.ts +0 -21
  89. package/src/lib/bars/events/bars-events.directive.spec.ts +0 -186
  90. package/src/lib/bars/events/bars-events.directive.ts +0 -235
  91. package/src/lib/bars/events/bars-interaction-output.ts +0 -17
  92. package/src/lib/bars/events/bars-tooltip-positioner.ts +0 -24
  93. package/src/lib/bars/index.ts +0 -18
  94. package/src/lib/charts/chart/chart-scaling.cy.ts +0 -323
  95. package/src/lib/charts/chart/chart.component.html +0 -45
  96. package/src/lib/charts/chart/chart.component.scss +0 -37
  97. package/src/lib/charts/chart/chart.component.ts +0 -243
  98. package/src/lib/charts/chart/chart.token.ts +0 -4
  99. package/src/lib/charts/chart/chart.ts +0 -5
  100. package/src/lib/charts/chart/config/chart-builder.ts +0 -194
  101. package/src/lib/charts/chart/config/chart-config.ts +0 -21
  102. package/src/lib/charts/chart/config/chart-options.ts +0 -11
  103. package/src/lib/charts/chart.module.ts +0 -10
  104. package/src/lib/charts/index.ts +0 -9
  105. package/src/lib/charts/map-chart/map-chart.component.scss +0 -0
  106. package/src/lib/charts/map-chart/map-chart.component.spec.ts +0 -35
  107. package/src/lib/charts/map-chart/map-chart.component.ts +0 -61
  108. package/src/lib/charts/xy-chart/xy-chart.component.spec.ts +0 -34
  109. package/src/lib/charts/xy-chart/xy-chart.component.ts +0 -65
  110. package/src/lib/core/common-behaviors/constructor.ts +0 -7
  111. package/src/lib/core/index.ts +0 -11
  112. package/src/lib/core/pipes/resize-chart-height.pipe.spec.ts +0 -23
  113. package/src/lib/core/pipes/resize-chart-height.pipe.ts +0 -20
  114. package/src/lib/core/styles/_spacing.scss +0 -4
  115. package/src/lib/core/types/layout.ts +0 -28
  116. package/src/lib/core/types/scale.ts +0 -6
  117. package/src/lib/core/types/utility.ts +0 -11
  118. package/src/lib/core/types/values.ts +0 -10
  119. package/src/lib/core/utilities/colors.spec.ts +0 -57
  120. package/src/lib/core/utilities/colors.ts +0 -42
  121. package/src/lib/core/utilities/fill-utilities.spec.ts +0 -25
  122. package/src/lib/core/utilities/fill-utilities.ts +0 -21
  123. package/src/lib/core/utilities/type-guards.spec.ts +0 -55
  124. package/src/lib/core/utilities/type-guards.ts +0 -33
  125. package/src/lib/core/utilities/value-format.ts +0 -21
  126. package/src/lib/core/utilities/values.spec.ts +0 -954
  127. package/src/lib/core/utilities/values.ts +0 -189
  128. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position-builder.ts +0 -105
  129. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position-options.ts +0 -24
  130. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position.spec.ts +0 -66
  131. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position.ts +0 -72
  132. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/concrete-domain-padding.ts +0 -10
  133. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/domain-padding.ts +0 -76
  134. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/domain-test-utility.ts +0 -130
  135. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/percent-over/percent-over-options.ts +0 -3
  136. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/percent-over/percent-over.ts +0 -37
  137. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/pixel/pixel-options.ts +0 -3
  138. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/pixel/pixel.ts +0 -73
  139. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/quantitative-domain-padding.cy.ts +0 -978
  140. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-interval/round-to-interval-options.ts +0 -3
  141. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-interval/round-to-interval.ts +0 -27
  142. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-sig-fig/round-to-sig-fig-options.ts +0 -3
  143. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-sig-fig/round-to-sig-fig.ts +0 -30
  144. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position-builder.ts +0 -183
  145. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position-options.ts +0 -8
  146. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position.spec.ts +0 -28
  147. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position.ts +0 -62
  148. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension-options.ts +0 -15
  149. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension.spec.ts +0 -155
  150. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension.ts +0 -57
  151. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value-builder.ts +0 -166
  152. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value-options.ts +0 -10
  153. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value.spec.ts +0 -34
  154. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value.ts +0 -57
  155. package/src/lib/data-dimensions/dimension-builder.ts +0 -45
  156. package/src/lib/data-dimensions/dimension-options.ts +0 -12
  157. package/src/lib/data-dimensions/dimension.ts +0 -30
  158. package/src/lib/data-dimensions/index.ts +0 -31
  159. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position-builder.ts +0 -122
  160. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position-options.ts +0 -12
  161. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position.spec.ts +0 -83
  162. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position.ts +0 -101
  163. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value-builder.ts +0 -108
  164. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value-options.ts +0 -12
  165. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.cy.ts +0 -384
  166. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.spec.ts +0 -63
  167. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.ts +0 -79
  168. package/src/lib/data-export/data-export-config.ts +0 -98
  169. package/src/lib/data-export/data-export.spec.ts +0 -33
  170. package/src/lib/data-export/data-export.ts +0 -87
  171. package/src/lib/data-export/index.ts +0 -2
  172. package/src/lib/dots/config/dots-builder.ts +0 -442
  173. package/src/lib/dots/config/dots-config.spec.ts +0 -123
  174. package/src/lib/dots/config/dots-config.ts +0 -81
  175. package/src/lib/dots/config/dots-options.ts +0 -32
  176. package/src/lib/dots/dots.component.scss +0 -0
  177. package/src/lib/dots/dots.component.spec.ts +0 -143
  178. package/src/lib/dots/dots.component.ts +0 -291
  179. package/src/lib/dots/dots.cy.ts +0 -594
  180. package/src/lib/dots/dots.module.ts +0 -9
  181. package/src/lib/dots/events/actions/dots-hover-actions.ts +0 -19
  182. package/src/lib/dots/events/actions/dots-hover-move-actions.ts +0 -38
  183. package/src/lib/dots/events/dots-events.directive.ts +0 -214
  184. package/src/lib/dots/events/dots-interaction-output.ts +0 -15
  185. package/src/lib/dots/events/dots-tooltip-positioner.ts +0 -24
  186. package/src/lib/dots/index.ts +0 -10
  187. package/src/lib/events/events.directive.ts +0 -184
  188. package/src/lib/events/events.types.ts +0 -57
  189. package/src/lib/events/index.ts +0 -4
  190. package/src/lib/events/interaction-output.ts +0 -34
  191. package/src/lib/events/tooltip-positioner.ts +0 -15
  192. package/src/lib/fill-definitions/fill-definitions.ts +0 -4
  193. package/src/lib/fill-definitions/index.ts +0 -1
  194. package/src/lib/geographies/config/geographies-builder.ts +0 -224
  195. package/src/lib/geographies/config/geographies-config.spec.ts +0 -100
  196. package/src/lib/geographies/config/geographies-config.ts +0 -81
  197. package/src/lib/geographies/config/geographies-options.ts +0 -37
  198. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer-builder.ts +0 -212
  199. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer-options.ts +0 -26
  200. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer.spec.ts +0 -119
  201. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer.ts +0 -148
  202. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension-builder.ts +0 -65
  203. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension-options.ts +0 -15
  204. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension.ts +0 -32
  205. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-enums.ts +0 -10
  206. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-types.ts +0 -15
  207. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins-builder.ts +0 -18
  208. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins-options.ts +0 -8
  209. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins.spec.ts +0 -60
  210. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins.ts +0 -34
  211. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-builder.ts +0 -46
  212. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-options.ts +0 -8
  213. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.cy.ts +0 -437
  214. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.spec.ts +0 -105
  215. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.ts +0 -54
  216. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins-builder.ts +0 -65
  217. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins-options.ts +0 -9
  218. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins.spec.ts +0 -82
  219. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins.ts +0 -81
  220. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks.cy.ts +0 -378
  221. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins-builder.ts +0 -50
  222. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins-options.ts +0 -8
  223. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.cy.ts +0 -362
  224. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.spec.ts +0 -72
  225. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.ts +0 -56
  226. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins-builder.ts +0 -60
  227. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins-options.ts +0 -9
  228. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.cy.ts +0 -307
  229. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.spec.ts +0 -104
  230. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.ts +0 -89
  231. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins-builder.ts +0 -62
  232. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins-options.ts +0 -8
  233. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.cy.ts +0 -265
  234. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.spec.ts +0 -42
  235. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.ts +0 -42
  236. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer-builder.ts +0 -116
  237. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer-options.ts +0 -20
  238. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer.ts +0 -104
  239. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer-builder.ts +0 -111
  240. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer-options.ts +0 -19
  241. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer.spec.ts +0 -41
  242. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer.ts +0 -67
  243. package/src/lib/geographies/config/layers/labels/geographies-labels-builder.ts +0 -269
  244. package/src/lib/geographies/config/layers/labels/geographies-labels-options.ts +0 -45
  245. package/src/lib/geographies/config/layers/labels/geographies-labels.ts +0 -38
  246. package/src/lib/geographies/events/actions/geographies-click-actions.ts +0 -21
  247. package/src/lib/geographies/events/actions/geographies-hover-actions.ts +0 -17
  248. package/src/lib/geographies/events/actions/geographies-hover-move-actions.ts +0 -19
  249. package/src/lib/geographies/events/geographies-events.directive.spec.ts +0 -225
  250. package/src/lib/geographies/events/geographies-events.directive.ts +0 -235
  251. package/src/lib/geographies/events/geographies-interaction-output.ts +0 -17
  252. package/src/lib/geographies/events/geographies-tooltip-positioner.ts +0 -23
  253. package/src/lib/geographies/geographies-feature.ts +0 -16
  254. package/src/lib/geographies/geographies.component.html +0 -1
  255. package/src/lib/geographies/geographies.component.scss +0 -0
  256. package/src/lib/geographies/geographies.component.spec.ts +0 -148
  257. package/src/lib/geographies/geographies.component.ts +0 -318
  258. package/src/lib/geographies/geographies.cy.ts +0 -640
  259. package/src/lib/geographies/geographies.module.ts +0 -9
  260. package/src/lib/geographies/index.ts +0 -32
  261. package/src/lib/grouped-bars/config/grouped-bars-builder.ts +0 -66
  262. package/src/lib/grouped-bars/config/grouped-bars-config.ts +0 -41
  263. package/src/lib/grouped-bars/config/grouped-bars-options.ts +0 -9
  264. package/src/lib/grouped-bars/events/grouped-bars-events.directive.ts +0 -221
  265. package/src/lib/grouped-bars/grouped-bars.component.scss +0 -0
  266. package/src/lib/grouped-bars/grouped-bars.component.spec.ts +0 -25
  267. package/src/lib/grouped-bars/grouped-bars.component.ts +0 -94
  268. package/src/lib/grouped-bars/grouped-bars.module.ts +0 -9
  269. package/src/lib/grouped-bars/index.ts +0 -10
  270. package/src/lib/image-download/image-download-config.ts +0 -57
  271. package/src/lib/image-download/image-download-enums.ts +0 -7
  272. package/src/lib/image-download/image-download-options.ts +0 -14
  273. package/src/lib/image-download/image-download.service.ts +0 -70
  274. package/src/lib/image-download/index.ts +0 -4
  275. package/src/lib/lines/config/area-fills/area-fills-builder.ts +0 -87
  276. package/src/lib/lines/config/area-fills/area-fills-options.ts +0 -8
  277. package/src/lib/lines/config/area-fills/area-fills.ts +0 -14
  278. package/src/lib/lines/config/lines-builder.ts +0 -242
  279. package/src/lib/lines/config/lines-config.spec.ts +0 -52
  280. package/src/lib/lines/config/lines-config.ts +0 -96
  281. package/src/lib/lines/config/lines-options.ts +0 -19
  282. package/src/lib/lines/config/stroke/lines-stroke-builder.ts +0 -135
  283. package/src/lib/lines/config/stroke/lines-stroke-options.ts +0 -6
  284. package/src/lib/lines/config/stroke/lines-stroke.ts +0 -15
  285. package/src/lib/lines/events/actions/lines-click-actions.ts +0 -17
  286. package/src/lib/lines/events/actions/lines-hover-move-actions.ts +0 -113
  287. package/src/lib/lines/events/actions/lines-marker-click-actions.ts +0 -29
  288. package/src/lib/lines/events/lines-events.directive.spec.ts +0 -152
  289. package/src/lib/lines/events/lines-events.directive.ts +0 -310
  290. package/src/lib/lines/events/lines-interaction-output.ts +0 -17
  291. package/src/lib/lines/events/lines-tooltip-positioner.ts +0 -24
  292. package/src/lib/lines/index.ts +0 -17
  293. package/src/lib/lines/lines.component.scss +0 -0
  294. package/src/lib/lines/lines.component.spec.ts +0 -95
  295. package/src/lib/lines/lines.component.ts +0 -425
  296. package/src/lib/lines/lines.cy.ts +0 -738
  297. package/src/lib/lines/lines.module.ts +0 -9
  298. package/src/lib/map-legend/continuous-legend/continuous-legend.component.html +0 -28
  299. package/src/lib/map-legend/continuous-legend/continuous-legend.component.scss +0 -76
  300. package/src/lib/map-legend/continuous-legend/continuous-legend.component.spec.ts +0 -61
  301. package/src/lib/map-legend/continuous-legend/continuous-legend.component.ts +0 -82
  302. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.html +0 -40
  303. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.scss +0 -141
  304. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.spec.ts +0 -75
  305. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.ts +0 -57
  306. package/src/lib/map-legend/index.ts +0 -2
  307. package/src/lib/map-legend/map-legend-base.spec.ts +0 -190
  308. package/src/lib/map-legend/map-legend-base.ts +0 -99
  309. package/src/lib/map-legend/map-legend.component.html +0 -24
  310. package/src/lib/map-legend/map-legend.component.scss +0 -0
  311. package/src/lib/map-legend/map-legend.component.spec.ts +0 -125
  312. package/src/lib/map-legend/map-legend.component.ts +0 -80
  313. package/src/lib/map-legend/map-legend.module.ts +0 -8
  314. package/src/lib/marks/aux-marks/aux-marks.ts +0 -18
  315. package/src/lib/marks/aux-marks/config/aux-marks-builder.ts +0 -25
  316. package/src/lib/marks/aux-marks/config/aux-marks-config.ts +0 -6
  317. package/src/lib/marks/config/marks-config.ts +0 -14
  318. package/src/lib/marks/config/marks-options.ts +0 -9
  319. package/src/lib/marks/index.ts +0 -15
  320. package/src/lib/marks/map-marks/map-aux-marks/map-aux-marks.spec.ts +0 -74
  321. package/src/lib/marks/map-marks/map-aux-marks/map-aux-marks.ts +0 -40
  322. package/src/lib/marks/map-marks/map-primary-marks/map-primary-marks.spec.ts +0 -79
  323. package/src/lib/marks/map-marks/map-primary-marks/map-primary-marks.ts +0 -63
  324. package/src/lib/marks/marks.ts +0 -39
  325. package/src/lib/marks/primary-marks/config/primary-marks-builder.ts +0 -75
  326. package/src/lib/marks/primary-marks/config/primary-marks-config.ts +0 -9
  327. package/src/lib/marks/primary-marks/primary-marks-base.spec.ts +0 -58
  328. package/src/lib/marks/primary-marks/primary-marks.ts +0 -43
  329. package/src/lib/marks/xy-marks/xy-aux-marks/xy-aux-marks.ts +0 -40
  330. package/src/lib/marks/xy-marks/xy-marks-config.ts +0 -5
  331. package/src/lib/marks/xy-marks/xy-marks.ts +0 -10
  332. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks-config.ts +0 -7
  333. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks.spec.ts +0 -186
  334. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks.ts +0 -72
  335. package/src/lib/point-markers/index.ts +0 -3
  336. package/src/lib/point-markers/point-markers-builder.ts +0 -93
  337. package/src/lib/point-markers/point-markers-options.ts +0 -6
  338. package/src/lib/point-markers/point-markers.ts +0 -13
  339. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels-builder.ts +0 -162
  340. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels-options.ts +0 -17
  341. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels.ts +0 -26
  342. package/src/lib/quantitative-rules/config/quantitative-rules-builder.ts +0 -134
  343. package/src/lib/quantitative-rules/config/quantitative-rules-config.ts +0 -21
  344. package/src/lib/quantitative-rules/config/quantitative-rules-dimensions.ts +0 -20
  345. package/src/lib/quantitative-rules/config/quantitative-rules-options.ts +0 -13
  346. package/src/lib/quantitative-rules/index.ts +0 -6
  347. package/src/lib/quantitative-rules/quantitative-rules.component.scss +0 -3
  348. package/src/lib/quantitative-rules/quantitative-rules.component.spec.ts +0 -50
  349. package/src/lib/quantitative-rules/quantitative-rules.component.ts +0 -224
  350. package/src/lib/quantitative-rules/quantitative-rules.cy.ts +0 -549
  351. package/src/lib/quantitative-rules/quantitative-rules.module.ts +0 -8
  352. package/src/lib/stacked-area/config/stacked-area-builder.ts +0 -264
  353. package/src/lib/stacked-area/config/stacked-area-config.spec.ts +0 -107
  354. package/src/lib/stacked-area/config/stacked-area-config.ts +0 -109
  355. package/src/lib/stacked-area/config/stacked-area-options.ts +0 -28
  356. package/src/lib/stacked-area/events/actions/stacked-area-hover-move-actions.ts +0 -17
  357. package/src/lib/stacked-area/events/stacked-area-events.directive.spec.ts +0 -168
  358. package/src/lib/stacked-area/events/stacked-area-events.directive.ts +0 -272
  359. package/src/lib/stacked-area/events/stacked-area-interaction-output.ts +0 -33
  360. package/src/lib/stacked-area/events/stacked-area-tooltip-positioner.ts +0 -37
  361. package/src/lib/stacked-area/index.ts +0 -7
  362. package/src/lib/stacked-area/stacked-area.component.scss +0 -0
  363. package/src/lib/stacked-area/stacked-area.component.spec.ts +0 -41
  364. package/src/lib/stacked-area/stacked-area.component.ts +0 -241
  365. package/src/lib/stacked-area/stacked-area.module.ts +0 -9
  366. package/src/lib/stacked-bars/config/stacked-bars-builder.ts +0 -109
  367. package/src/lib/stacked-bars/config/stacked-bars-config.spec.ts +0 -122
  368. package/src/lib/stacked-bars/config/stacked-bars-config.ts +0 -79
  369. package/src/lib/stacked-bars/config/stacked-bars-options.ts +0 -16
  370. package/src/lib/stacked-bars/events/actions/stacked-bars-click-actions.ts +0 -23
  371. package/src/lib/stacked-bars/events/actions/stacked-bars-hover-actions.ts +0 -22
  372. package/src/lib/stacked-bars/events/actions/stacked-bars-hover-move-actions.ts +0 -21
  373. package/src/lib/stacked-bars/events/stacked-bars-events.directive.spec.ts +0 -266
  374. package/src/lib/stacked-bars/events/stacked-bars-events.directive.ts +0 -240
  375. package/src/lib/stacked-bars/index.ts +0 -10
  376. package/src/lib/stacked-bars/stacked-bars.component.scss +0 -0
  377. package/src/lib/stacked-bars/stacked-bars.component.spec.ts +0 -25
  378. package/src/lib/stacked-bars/stacked-bars.component.ts +0 -158
  379. package/src/lib/stacked-bars/stacked-bars.module.ts +0 -9
  380. package/src/lib/stroke/base/stroke-base-options.ts +0 -7
  381. package/src/lib/stroke/base/stroke-base.ts +0 -9
  382. package/src/lib/stroke/index.ts +0 -5
  383. package/src/lib/stroke/stroke-builder.ts +0 -103
  384. package/src/lib/stroke/stroke-options.ts +0 -5
  385. package/src/lib/stroke/stroke.ts +0 -12
  386. package/src/lib/svg-text-wrap/index.ts +0 -3
  387. package/src/lib/svg-text-wrap/svg-text-wrap-builder.ts +0 -105
  388. package/src/lib/svg-text-wrap/svg-text-wrap-options.ts +0 -8
  389. package/src/lib/svg-text-wrap/svg-text-wrap.ts +0 -137
  390. package/src/lib/testing/data/continent-population-year-data.ts +0 -126
  391. package/src/lib/testing/data/country-area-continent.ts +0 -59
  392. package/src/lib/testing/data/state-population-income-year-data.ts +0 -123
  393. package/src/lib/testing/stubs/bars.component.stub.ts +0 -12
  394. package/src/lib/testing/stubs/chart.component.stub.ts +0 -6
  395. package/src/lib/testing/stubs/click.directive.stub.ts +0 -15
  396. package/src/lib/testing/stubs/core/destroy-ref.stub.ts +0 -9
  397. package/src/lib/testing/stubs/core/overlay-ref.stub.ts +0 -13
  398. package/src/lib/testing/stubs/core/overlay.stub.ts +0 -8
  399. package/src/lib/testing/stubs/event.directive.stub.ts +0 -10
  400. package/src/lib/testing/stubs/hover-move.directive.stub.ts +0 -17
  401. package/src/lib/testing/stubs/hover.directive.stub.ts +0 -14
  402. package/src/lib/testing/stubs/input-event.directive.stub.ts +0 -9
  403. package/src/lib/testing/stubs/lines.component.stub.ts +0 -13
  404. package/src/lib/testing/stubs/map-aux-marks.stub.ts +0 -10
  405. package/src/lib/testing/stubs/map-chart.component.stub.ts +0 -3
  406. package/src/lib/testing/stubs/map-legend-content.stub.ts +0 -16
  407. package/src/lib/testing/stubs/map-legend.component.stub.ts +0 -10
  408. package/src/lib/testing/stubs/map-primary-marks.stub.ts +0 -16
  409. package/src/lib/testing/stubs/ordinal-axis.stub.ts +0 -18
  410. package/src/lib/testing/stubs/primary-marks.stub.ts +0 -18
  411. package/src/lib/testing/stubs/quantitative-axis.stub.ts +0 -18
  412. package/src/lib/testing/stubs/services/main.service.stub.ts +0 -5
  413. package/src/lib/testing/stubs/services/utilities.service.stub.ts +0 -7
  414. package/src/lib/testing/stubs/stacked-area.component.stub.ts +0 -13
  415. package/src/lib/testing/stubs/x-axis.stub.ts +0 -10
  416. package/src/lib/testing/stubs/xy-axis.class.stub.ts +0 -20
  417. package/src/lib/testing/stubs/xy-axis.stub.ts +0 -44
  418. package/src/lib/testing/stubs/xy-chart.component.stub.ts +0 -5
  419. package/src/lib/testing/stubs/xy-data-marks.stub.ts +0 -15
  420. package/src/lib/testing/stubs/y-axis.stub.ts +0 -15
  421. package/src/lib/tooltips/config/tooltip.ts +0 -11
  422. package/src/lib/tooltips/html-tooltip/config/html-tooltip-builder.ts +0 -134
  423. package/src/lib/tooltips/html-tooltip/config/html-tooltip-config.ts +0 -21
  424. package/src/lib/tooltips/html-tooltip/config/html-tooltip-options.ts +0 -12
  425. package/src/lib/tooltips/html-tooltip/config/position/tooltip-position-builder.ts +0 -191
  426. package/src/lib/tooltips/html-tooltip/config/position/tooltip-position.ts +0 -42
  427. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size-builder.ts +0 -75
  428. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size-options.ts +0 -8
  429. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size.ts +0 -15
  430. package/src/lib/tooltips/html-tooltip/html-tooltip.directive.spec.ts +0 -537
  431. package/src/lib/tooltips/html-tooltip/html-tooltip.directive.ts +0 -210
  432. package/src/lib/tooltips/html-tooltip/html-tooltip.module.ts +0 -16
  433. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.html +0 -41
  434. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.scss +0 -63
  435. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.ts +0 -19
  436. package/src/lib/tooltips/index.ts +0 -11
  437. package/src/lib/tooltips/svg-tooltip/config/svg-tooltip.ts +0 -5
  438. package/src/lib/xy-background/index.ts +0 -2
  439. package/src/lib/xy-background/xy-background.component.html +0 -10
  440. package/src/lib/xy-background/xy-background.component.scss +0 -0
  441. package/src/lib/xy-background/xy-background.component.spec.ts +0 -24
  442. package/src/lib/xy-background/xy-background.component.ts +0 -19
  443. package/src/lib/xy-background/xy-background.module.ts +0 -8
  444. package/src/public-api.ts +0 -26
  445. package/src/test.ts +0 -15
  446. package/tsconfig.doc.json +0 -4
  447. package/tsconfig.json +0 -20
  448. package/tsconfig.lib.json +0 -23
  449. package/tsconfig.lib.prod.json +0 -10
  450. 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
- }