@mathstack/viz 2.1.0 → 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 -305
  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,190 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { ValueUtilities } from '../core/utilities/values';
3
- import { CategoricalBinsAttributeDataDimension } from '../geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins';
4
- import { CategoricalBinsBuilder } from '../geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-builder';
5
- import { CategoricalBinsOptions } from '../geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-options';
6
- import { EqualValueRangesBinsBuilder } from '../geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins-builder';
7
- import { MapLegendContentStub } from '../testing/stubs/map-legend-content.stub';
8
-
9
- describe('the MapLegendContent abstract class', () => {
10
- let directive: MapLegendContentStub<any>;
11
-
12
- beforeEach(() => {
13
- directive = new MapLegendContentStub();
14
- });
15
-
16
- describe('ngOnChanges', () => {
17
- beforeEach(() => {
18
- spyOn(directive, 'setValues');
19
- spyOn(directive, 'setColors');
20
- });
21
- it('calls setValues once', () => {
22
- directive.ngOnChanges();
23
- expect(directive.setValues).toHaveBeenCalledTimes(1);
24
- });
25
- it('calls setColors once', () => {
26
- directive.ngOnChanges();
27
- expect(directive.setColors).toHaveBeenCalledTimes(1);
28
- });
29
- });
30
-
31
- describe('setValues', () => {
32
- beforeEach(() => {
33
- spyOn(directive, 'setCategoricalValues');
34
- spyOn(directive, 'setQuantitativeValues');
35
- });
36
- it('calls setCategoricalValues once if binType is categorical', () => {
37
- directive.config = new CategoricalBinsBuilder<string>()
38
- .valueAccessor((d) => d)
39
- ._build();
40
- directive.setValues();
41
- expect(directive.setCategoricalValues).toHaveBeenCalledTimes(1);
42
- });
43
- it('calls setQuantitativeValues once if binType is not categorical', () => {
44
- directive.config = new EqualValueRangesBinsBuilder<number>()
45
- .valueAccessor((d) => d)
46
- ._build();
47
- directive.setValues();
48
- expect(directive.setQuantitativeValues).toHaveBeenCalledTimes(1);
49
- });
50
- });
51
-
52
- describe('setQuantitativeValues', () => {
53
- let formatSpy: jasmine.Spy;
54
- beforeEach(() => {
55
- spyOn(directive, 'getValuesFromScale').and.returnValue([0.01, 0.02]);
56
- spyOn(directive, 'setQuantitativeValueSpaces');
57
- formatSpy = spyOn(ValueUtilities, 'd3Format').and.callThrough();
58
- directive.orientation = 'horizontal';
59
- directive.config = new EqualValueRangesBinsBuilder<number>()
60
- .valueAccessor((d) => d)
61
- .formatSpecifier('.0%')
62
- ._build();
63
- });
64
- it('calls getValuesFromScale once', () => {
65
- directive.setQuantitativeValues();
66
- expect(directive.getValuesFromScale).toHaveBeenCalledTimes(1);
67
- });
68
- it('calls setQuantitativeValueSpaces once with the correct values if orientation is horizontal', () => {
69
- directive.setQuantitativeValues();
70
- expect(directive.setQuantitativeValueSpaces).toHaveBeenCalledWith([
71
- '1%',
72
- '2%',
73
- ]);
74
- });
75
- it('calls d3Format once with the correct values if orientation is horizontal', () => {
76
- directive.setQuantitativeValues();
77
- expect(formatSpy.calls.allArgs()).toEqual([
78
- [0.01, '.0%'],
79
- [0.02, '.0%'],
80
- ]);
81
- });
82
- it('calls d3Format once with the correct values if orientation is vertical', () => {
83
- directive.orientation = 'vertical';
84
- directive.setQuantitativeValues();
85
- expect(formatSpy.calls.allArgs()).toEqual([
86
- [0.02, '.0%'],
87
- [0.01, '.0%'],
88
- ]);
89
- });
90
- it('sets values to the correct values - orientation is horizontal', () => {
91
- directive.setQuantitativeValues();
92
- expect(directive.values).toEqual(['1%', '2%']);
93
- });
94
- it('sets values to the correct values - orientation is vertical', () => {
95
- directive.orientation = 'vertical';
96
- directive.setQuantitativeValues();
97
- expect(directive.values).toEqual(['2%', '1%']);
98
- });
99
- });
100
-
101
- describe('setCategoricalValues', () => {
102
- beforeEach(() => {
103
- spyOn(directive, 'getValuesFromScale').and.returnValue(['a', 'b'] as any);
104
- spyOn(directive, 'setCategoricalValueSpaces');
105
- directive.orientation = 'horizontal';
106
- });
107
- it('calls getValuesFromScale once', () => {
108
- directive.setCategoricalValues();
109
- expect(directive.getValuesFromScale).toHaveBeenCalledTimes(1);
110
- });
111
- it('calls setCategoricalValueSpaces once', () => {
112
- directive.setCategoricalValues();
113
- expect(directive.setCategoricalValueSpaces).toHaveBeenCalledTimes(1);
114
- });
115
- it('sets values to the correct values - orientation is horizontal', () => {
116
- directive.setCategoricalValues();
117
- expect(directive.values).toEqual(['a', 'b']);
118
- });
119
- it('sets values to the correct values - orientation is vertical', () => {
120
- directive.orientation = 'vertical';
121
- directive.setCategoricalValues();
122
- expect(directive.values).toEqual(['b', 'a']);
123
- });
124
- });
125
-
126
- describe('setColors', () => {
127
- beforeEach(() => {
128
- directive.config = new CategoricalBinsAttributeDataDimension(
129
- {} as CategoricalBinsOptions<any>
130
- );
131
- (directive.config as any).domain = ['a', 'b'];
132
- directive.config.range = ['red', 'blue'];
133
- });
134
- it('should set colors to scale.range if orientation is not vertical', () => {
135
- directive.orientation = 'horizontal';
136
- directive.setColors();
137
- expect(directive.colors).toEqual(['red', 'blue']);
138
- });
139
-
140
- it('should reverse colors if orientation is vertical', () => {
141
- directive.orientation = 'vertical';
142
- directive.setColors();
143
- expect(directive.colors).toEqual(['blue', 'red']);
144
- });
145
- });
146
-
147
- describe('setQuantitativeValueSpaces', () => {
148
- beforeEach(() => {
149
- spyOn(directive, 'getLeftOffset').and.returnValue(10);
150
- directive.setQuantitativeValueSpaces(['101', '2002']);
151
- });
152
- it('sets startValueSpace to the correct value', () => {
153
- expect(directive.startValueSpace).toEqual(12);
154
- });
155
-
156
- it('sets endValueSpace to the correct value', () => {
157
- expect(directive.endValueSpace).toEqual(16);
158
- });
159
-
160
- it('sets largerValueSpace to the correct value', () => {
161
- expect(directive.largerValueSpace).toEqual(16);
162
- });
163
-
164
- it('calls leftOffset with the correct value', () => {
165
- expect(directive.getLeftOffset).toHaveBeenCalledOnceWith(['101', '2002']);
166
- });
167
-
168
- it('sets leftOffset to the correct value', () => {
169
- expect(directive.leftOffset).toEqual(10);
170
- });
171
- });
172
-
173
- describe('setCategoricalValueSpaces', () => {
174
- beforeEach(() => {
175
- directive.setCategoricalValueSpaces();
176
- });
177
- it('should set startValueSpace to 0', () => {
178
- expect(directive.startValueSpace).toEqual(0);
179
- });
180
- it('should set endValueSpace to 0', () => {
181
- expect(directive.endValueSpace).toEqual(0);
182
- });
183
- it('should set largerValueSpace to 0', () => {
184
- expect(directive.largerValueSpace).toEqual(0);
185
- });
186
- it('should set leftOffset to 0', () => {
187
- expect(directive.leftOffset).toEqual(0);
188
- });
189
- });
190
- });
@@ -1,99 +0,0 @@
1
- import { Directive, Input, OnChanges, OnInit } from '@angular/core';
2
- import { Orientation, Side } from '../core/types/layout';
3
- import { ValueUtilities } from '../core/utilities/values';
4
- import { BinStrategy } from '../geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-enums';
5
- import { VicAttributeDataDimensionConfig } from '../geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-types';
6
- import { CalculatedBinsAttributeDataDimension } from '../geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins';
7
-
8
- @Directive()
9
- export abstract class MapLegend<
10
- Datum,
11
- AttributeDimensionConfig extends VicAttributeDataDimensionConfig<Datum>,
12
- >
13
- implements OnChanges, OnInit
14
- {
15
- @Input() width: number;
16
- @Input() height: number;
17
- @Input() orientation: keyof typeof Orientation;
18
- @Input() valuesSide: keyof typeof Side;
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- @Input() scale: any;
21
- @Input() config: AttributeDimensionConfig;
22
- @Input() outlineColor: string;
23
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
- values: any[];
25
- colors: string[];
26
- startValueSpace: number;
27
- endValueSpace: number;
28
- largerValueSpace: number;
29
- leftOffset: number;
30
- VicValuesBin: typeof BinStrategy;
31
-
32
- abstract getValuesFromScale(): string[] | number[];
33
- abstract getLeftOffset(values?: string[]): number;
34
-
35
- ngOnChanges(): void {
36
- this.setValues();
37
- this.setColors();
38
- }
39
-
40
- ngOnInit(): void {
41
- this.VicValuesBin = BinStrategy;
42
- }
43
-
44
- setValues(): void {
45
- if (this.config.binType !== BinStrategy.categorical) {
46
- this.setQuantitativeValues();
47
- } else {
48
- this.setCategoricalValues();
49
- }
50
- }
51
-
52
- setQuantitativeValues(): void {
53
- let values = this.getValuesFromScale() as number[];
54
- if (this.orientation === Orientation.vertical) {
55
- values = values.slice().reverse();
56
- }
57
- this.values = values.map((d) =>
58
- ValueUtilities.d3Format(
59
- d,
60
- (this.config as CalculatedBinsAttributeDataDimension<Datum>)
61
- .formatSpecifier
62
- )
63
- );
64
- this.setQuantitativeValueSpaces(this.values);
65
- }
66
-
67
- setCategoricalValues(): void {
68
- let values = this.getValuesFromScale() as string[];
69
- if (this.orientation === Orientation.vertical) {
70
- values = values.slice().reverse();
71
- }
72
- this.setCategoricalValueSpaces();
73
- this.values = values;
74
- }
75
-
76
- setColors(): void {
77
- this.colors = this.config.range;
78
- if (this.orientation === Orientation.vertical) {
79
- this.colors = this.colors.slice().reverse();
80
- }
81
- }
82
-
83
- setQuantitativeValueSpaces(values: string[]): void {
84
- this.startValueSpace = values[0].length * 4;
85
- this.endValueSpace = values[values.length - 1].length * 4;
86
- this.largerValueSpace =
87
- this.startValueSpace > this.endValueSpace
88
- ? this.startValueSpace
89
- : this.endValueSpace;
90
- this.leftOffset = this.getLeftOffset(values);
91
- }
92
-
93
- setCategoricalValueSpaces(): void {
94
- this.startValueSpace = 0;
95
- this.endValueSpace = 0;
96
- this.largerValueSpace = 0;
97
- this.leftOffset = 0;
98
- }
99
- }
@@ -1,24 +0,0 @@
1
- <ng-content select="[title]"></ng-content>
2
- @if (chart.attributeProperties$ | async; as attributeProperties) { @if
3
- (attributeProperties.config) { @if (attributeProperties.config.binType ===
4
- VicValuesBin.none) {
5
- <vic-continuous-legend
6
- [width]="width"
7
- [height]="height"
8
- [valuesSide]="valuesSide"
9
- [scale]="attributeProperties.scale"
10
- [config]="attributeProperties.config"
11
- [outlineColor]="outlineColor"
12
- [orientation]="orientation"
13
- ></vic-continuous-legend>
14
- } @else {
15
- <vic-discontinuous-legend
16
- [width]="width"
17
- [height]="height"
18
- [valuesSide]="valuesSide"
19
- [scale]="attributeProperties.scale"
20
- [config]="attributeProperties.config"
21
- [outlineColor]="outlineColor"
22
- [orientation]="orientation"
23
- ></vic-discontinuous-legend>
24
- } } }
File without changes
@@ -1,125 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { ComponentFixture, TestBed } from '@angular/core/testing';
3
- import { MapChartComponent } from '../charts/map-chart/map-chart.component';
4
-
5
- import { MapLegendComponent } from './map-legend.component';
6
-
7
- describe('MapLegendComponent', () => {
8
- let component: MapLegendComponent<any>;
9
- let fixture: ComponentFixture<MapLegendComponent<any>>;
10
-
11
- beforeEach(async () => {
12
- await TestBed.configureTestingModule({
13
- imports: [MapLegendComponent],
14
- providers: [MapChartComponent],
15
- }).compileComponents();
16
- });
17
-
18
- beforeEach(() => {
19
- fixture = TestBed.createComponent(MapLegendComponent);
20
- component = fixture.componentInstance;
21
- });
22
-
23
- describe('ngOnInit', () => {
24
- beforeEach(() => {
25
- spyOn(component, 'setOrientation');
26
- spyOn(component, 'setValuesSide');
27
- });
28
- it('calls setOrientation once', () => {
29
- component.ngOnInit();
30
- expect(component.setOrientation).toHaveBeenCalledTimes(1);
31
- });
32
- it('calls setValuesSide once', () => {
33
- component.ngOnInit();
34
- expect(component.setValuesSide).toHaveBeenCalledTimes(1);
35
- });
36
- });
37
-
38
- describe('setOrientation', () => {
39
- it('sets orientation to horizontal if width is greater than height', () => {
40
- component.width = 100;
41
- component.height = 50;
42
- component.setOrientation();
43
- expect(component.orientation).toEqual('horizontal');
44
- });
45
-
46
- it('sets orientation to vertical if width is not greater than height', () => {
47
- component.width = 100;
48
- component.height = 200;
49
- component.setOrientation();
50
- expect(component.orientation).toEqual('vertical');
51
- });
52
- });
53
-
54
- describe('setValuesSide', () => {
55
- beforeEach(() => {
56
- spyOn(console, 'warn');
57
- });
58
-
59
- describe('if orientation is horizontal', () => {
60
- beforeEach(() => {
61
- component.orientation = 'horizontal';
62
- });
63
- describe('valuesSide is left', () => {
64
- it('sets valuesSide to bottom', () => {
65
- component.valuesSide = 'left';
66
- component.setValuesSide();
67
- expect(component.valuesSide).toEqual('bottom');
68
- });
69
-
70
- it('calls console.warn', () => {
71
- component.valuesSide = 'left';
72
- component.setValuesSide();
73
- expect(console.warn).toHaveBeenCalledTimes(1);
74
- });
75
- });
76
-
77
- describe('valuesSide is right', () => {
78
- it('sets valuesSide to bottom', () => {
79
- component.valuesSide = 'left';
80
- component.setValuesSide();
81
- expect(component.valuesSide).toEqual('bottom');
82
- });
83
-
84
- it('calls console.warn', () => {
85
- component.valuesSide = 'left';
86
- component.setValuesSide();
87
- expect(console.warn).toHaveBeenCalledTimes(1);
88
- });
89
- });
90
- });
91
-
92
- describe('if orientation is vertical', () => {
93
- beforeEach(() => {
94
- component.orientation = 'vertical';
95
- });
96
- describe('valuesSide is top', () => {
97
- it('sets valuesSide to left', () => {
98
- component.valuesSide = 'top';
99
- component.setValuesSide();
100
- expect(component.valuesSide).toEqual('left');
101
- });
102
-
103
- it('calls console.warn', () => {
104
- component.valuesSide = 'top';
105
- component.setValuesSide();
106
- expect(console.warn).toHaveBeenCalledTimes(1);
107
- });
108
- });
109
-
110
- describe('valuesSide is bottom', () => {
111
- it('sets valuesSide to left', () => {
112
- component.valuesSide = 'bottom';
113
- component.setValuesSide();
114
- expect(component.valuesSide).toEqual('left');
115
- });
116
-
117
- it('calls console.warn', () => {
118
- component.valuesSide = 'bottom';
119
- component.setValuesSide();
120
- expect(console.warn).toHaveBeenCalledTimes(1);
121
- });
122
- });
123
- });
124
- });
125
- });
@@ -1,80 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import {
3
- Component,
4
- DestroyRef,
5
- ElementRef,
6
- Input,
7
- OnInit,
8
- ViewChild,
9
- inject,
10
- } from '@angular/core';
11
- import { MapChartComponent } from '../charts/map-chart/map-chart.component';
12
- import { Orientation, Side } from '../core/types/layout';
13
- import { BinStrategy } from '../geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-enums';
14
- import { ContinuousLegendComponent } from './continuous-legend/continuous-legend.component';
15
- import { DiscontinuousLegendComponent } from './discontinuous-legend/discontinuous-legend.component';
16
-
17
- export enum VicLegendType {
18
- categorical = 'categorical',
19
- ordinal = 'ordinal',
20
- quantitative = 'quantitative',
21
- }
22
-
23
- @Component({
24
- selector: 'vic-map-legend',
25
- templateUrl: './map-legend.component.html',
26
- styleUrls: ['./map-legend.component.scss'],
27
- imports: [
28
- CommonModule,
29
- ContinuousLegendComponent,
30
- DiscontinuousLegendComponent,
31
- ],
32
- })
33
- export class MapLegendComponent<Datum> implements OnInit {
34
- @Input() width: number;
35
- @Input() height: number;
36
- @Input() valuesSide: keyof typeof Side;
37
- @Input() outlineColor: string;
38
- @ViewChild('canvas', { static: true })
39
- VicValuesBin: typeof BinStrategy;
40
- canvasRef: ElementRef<HTMLCanvasElement>;
41
- legendType: keyof typeof VicLegendType;
42
- orientation: keyof typeof Orientation;
43
- chart = inject(MapChartComponent<Datum>);
44
- destroyRef = inject(DestroyRef);
45
-
46
- ngOnInit(): void {
47
- this.VicValuesBin = BinStrategy; // for some reason this doesn't get assigned if it's assigned in the class properties above
48
- this.setOrientation();
49
- this.setValuesSide();
50
- }
51
-
52
- setOrientation(): void {
53
- this.orientation =
54
- this.width > this.height ? Orientation.horizontal : Orientation.vertical;
55
- }
56
-
57
- setValuesSide(): void {
58
- if (this.orientation === Orientation.horizontal) {
59
- if (this.valuesSide === Side.left || this.valuesSide === Side.right) {
60
- this.valuesSide = undefined;
61
- console.warn(
62
- "valuesSide must be set to 'top' or 'bottom' for a map-legend with a horizontal aspect ratio"
63
- );
64
- }
65
- if (!this.valuesSide) {
66
- this.valuesSide = Side.bottom;
67
- }
68
- } else {
69
- if (this.valuesSide === Side.top || this.valuesSide === Side.bottom) {
70
- this.valuesSide = undefined;
71
- console.warn(
72
- "valuesSide must be set to 'left' or 'right' for a map-legend with a vertical aspect ratio"
73
- );
74
- }
75
- if (!this.valuesSide) {
76
- this.valuesSide = Side.left;
77
- }
78
- }
79
- }
80
- }
@@ -1,8 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { MapLegendComponent } from './map-legend.component';
3
-
4
- @NgModule({
5
- imports: [MapLegendComponent],
6
- exports: [MapLegendComponent],
7
- })
8
- export class VicMapLegendModule {}
@@ -1,18 +0,0 @@
1
- import { Directive, Input, OnChanges } from '@angular/core';
2
- import { DataMarksConfig, MarksConfig } from '../config/marks-config';
3
- import { Marks } from '../marks';
4
-
5
- @Directive()
6
- export abstract class AuxMarks<
7
- Datum,
8
- TMarksConfig extends MarksConfig | DataMarksConfig<Datum>,
9
- >
10
- extends Marks
11
- implements Marks, OnChanges
12
- {
13
- @Input() config: TMarksConfig;
14
-
15
- initFromConfig(): void {
16
- this.drawMarks();
17
- }
18
- }
@@ -1,25 +0,0 @@
1
- import { safeAssign } from '@mathstack/app-kit';
2
-
3
- const DEFAULT = {
4
- _class: () => '',
5
- _mixBlendMode: 'normal',
6
- };
7
-
8
- export abstract class VicAuxMarksBuilder<Datum> {
9
- protected _mixBlendMode: string;
10
- protected _class: (d: Datum) => string;
11
-
12
- constructor() {
13
- safeAssign(this, DEFAULT);
14
- }
15
-
16
- /**
17
- * Sets the mix-blend-mode of the marks.
18
- *
19
- * @default 'normal'
20
- */
21
- mixBlendMode(mixBlendMode: string): this {
22
- this._mixBlendMode = mixBlendMode;
23
- return this;
24
- }
25
- }
@@ -1,6 +0,0 @@
1
- import { MarksConfig } from '../../config/marks-config';
2
- import { MarksOptions } from '../../config/marks-options';
3
-
4
- export abstract class AuxMarksConfig
5
- extends MarksConfig
6
- implements MarksOptions {}
@@ -1,14 +0,0 @@
1
- import { DataMarksOptions, MarksOptions } from './marks-options';
2
-
3
- export abstract class MarksConfig implements MarksOptions {
4
- readonly marksClass: string;
5
- readonly mixBlendMode: string;
6
- }
7
-
8
- export abstract class DataMarksConfig<Datum>
9
- extends MarksConfig
10
- implements DataMarksOptions<Datum>
11
- {
12
- readonly data: Datum[];
13
- readonly datumClass: (d: Datum, i: number) => string;
14
- }
@@ -1,9 +0,0 @@
1
- export interface MarksOptions {
2
- mixBlendMode: string;
3
- marksClass: string;
4
- }
5
-
6
- export interface DataMarksOptions<Datum> extends MarksOptions {
7
- data: Datum[];
8
- datumClass: (d: Datum, i: number) => string;
9
- }
@@ -1,15 +0,0 @@
1
- export * from './aux-marks/aux-marks';
2
- export * from './aux-marks/config/aux-marks-builder';
3
- export * from './aux-marks/config/aux-marks-config';
4
- export * from './config/marks-config';
5
- export * from './config/marks-options';
6
- export * from './map-marks/map-aux-marks/map-aux-marks';
7
- export * from './map-marks/map-primary-marks/map-primary-marks';
8
- export * from './primary-marks/config/primary-marks-builder';
9
- export * from './primary-marks/config/primary-marks-config';
10
- export * from './primary-marks/primary-marks';
11
- export * from './xy-marks/xy-aux-marks/xy-aux-marks';
12
- export * from './xy-marks/xy-marks';
13
- export * from './xy-marks/xy-marks-config';
14
- export * from './xy-marks/xy-primary-marks/xy-primary-marks';
15
- export * from './xy-marks/xy-primary-marks/xy-primary-marks-config';