@mathstack/viz 2.0.3 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/fesm2022/mathstack-viz.mjs +11024 -0
  2. package/fesm2022/mathstack-viz.mjs.map +1 -0
  3. package/package.json +14 -5
  4. package/types/mathstack-viz.d.ts +5830 -0
  5. package/CHANGELOG.md +0 -0
  6. package/cypress/fixtures/example.json +0 -5
  7. package/cypress/fixtures/usMap.json +0 -13511
  8. package/cypress/support/commands.ts +0 -104
  9. package/cypress/support/component-index.html +0 -12
  10. package/cypress/support/component.ts +0 -33
  11. package/cypress.config.ts +0 -9
  12. package/karma.conf.js +0 -62
  13. package/ng-package.json +0 -8
  14. package/project.json +0 -97
  15. package/src/.eslintrc.json +0 -35
  16. package/src/.prettierrc +0 -31
  17. package/src/lib/axes/base/config/xy-axis-builder.ts +0 -68
  18. package/src/lib/axes/base/config/xy-axis-config.ts +0 -35
  19. package/src/lib/axes/base/config/xy-axis-options.ts +0 -11
  20. package/src/lib/axes/base/xy-axis-base.spec.ts +0 -114
  21. package/src/lib/axes/base/xy-axis-base.ts +0 -300
  22. package/src/lib/axes/base/xy-axis-domain-lines.cy.ts +0 -511
  23. package/src/lib/axes/baseline/axis-baseline-builder.ts +0 -77
  24. package/src/lib/axes/baseline/axis-baseline-options.ts +0 -4
  25. package/src/lib/axes/baseline/axis-baseline.ts +0 -11
  26. package/src/lib/axes/grid/grid-builder.ts +0 -74
  27. package/src/lib/axes/grid/grid-config.ts +0 -13
  28. package/src/lib/axes/grid/grid-options.ts +0 -7
  29. package/src/lib/axes/index.ts +0 -40
  30. package/src/lib/axes/label/axis-label-builder.ts +0 -140
  31. package/src/lib/axes/label/axis-label-options.ts +0 -12
  32. package/src/lib/axes/label/axis-label.ts +0 -18
  33. package/src/lib/axes/label/axis-labels.cy.ts +0 -303
  34. package/src/lib/axes/ordinal/ordinal-axis-config.ts +0 -31
  35. package/src/lib/axes/ordinal/ordinal-axis.spec.ts +0 -30
  36. package/src/lib/axes/ordinal/ordinal-axis.ts +0 -26
  37. package/src/lib/axes/quantitative/quantitative-axis-config.ts +0 -39
  38. package/src/lib/axes/quantitative/quantitative-axis-ticks.cy.ts +0 -748
  39. package/src/lib/axes/quantitative/quantitative-axis.spec.ts +0 -537
  40. package/src/lib/axes/quantitative/quantitative-axis.ts +0 -191
  41. package/src/lib/axes/ticks/tick-wrap/tick-wrap-builder.ts +0 -141
  42. package/src/lib/axes/ticks/tick-wrap/tick-wrap-options.ts +0 -11
  43. package/src/lib/axes/ticks/tick-wrap/tick-wrap.cy.ts +0 -360
  44. package/src/lib/axes/ticks/tick-wrap/tick-wrap.ts +0 -21
  45. package/src/lib/axes/ticks/ticks-builder.ts +0 -370
  46. package/src/lib/axes/ticks/ticks-options.ts +0 -24
  47. package/src/lib/axes/ticks/ticks.ts +0 -33
  48. package/src/lib/axes/x/x-axis-config.ts +0 -48
  49. package/src/lib/axes/x/x-axis.spec.ts +0 -90
  50. package/src/lib/axes/x/x-axis.ts +0 -109
  51. package/src/lib/axes/x-ordinal/x-ordinal-axis-builder.ts +0 -75
  52. package/src/lib/axes/x-ordinal/x-ordinal-axis-config.ts +0 -27
  53. package/src/lib/axes/x-ordinal/x-ordinal-axis.component.ts +0 -33
  54. package/src/lib/axes/x-quantitative/x-quantitative-axis-builder.ts +0 -74
  55. package/src/lib/axes/x-quantitative/x-quantitative-axis-config.ts +0 -32
  56. package/src/lib/axes/x-quantitative/x-quantitative-axis.component.ts +0 -40
  57. package/src/lib/axes/xy-axis.module.ts +0 -20
  58. package/src/lib/axes/y/y-axis-config.ts +0 -47
  59. package/src/lib/axes/y/y-axis.spec.ts +0 -92
  60. package/src/lib/axes/y/y-axis.ts +0 -161
  61. package/src/lib/axes/y-ordinal/y-ordinal-axis-builder.ts +0 -76
  62. package/src/lib/axes/y-ordinal/y-ordinal-axis-config.ts +0 -29
  63. package/src/lib/axes/y-ordinal/y-ordinal-axis.component.ts +0 -33
  64. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis-builder.ts +0 -74
  65. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis-config.ts +0 -34
  66. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis.component.ts +0 -40
  67. package/src/lib/bars/bars.component.scss +0 -0
  68. package/src/lib/bars/bars.component.spec.ts +0 -1470
  69. package/src/lib/bars/bars.component.ts +0 -717
  70. package/src/lib/bars/bars.cy.ts +0 -829
  71. package/src/lib/bars/bars.module.ts +0 -9
  72. package/src/lib/bars/config/backgrounds/bars-backgrounds-builder.ts +0 -51
  73. package/src/lib/bars/config/backgrounds/bars-backgrounds-options.ts +0 -4
  74. package/src/lib/bars/config/backgrounds/bars-backgrounds.ts +0 -11
  75. package/src/lib/bars/config/bars-builder.ts +0 -340
  76. package/src/lib/bars/config/bars-config.spec.ts +0 -132
  77. package/src/lib/bars/config/bars-config.ts +0 -70
  78. package/src/lib/bars/config/bars-dimensions.ts +0 -29
  79. package/src/lib/bars/config/bars-options.ts +0 -20
  80. package/src/lib/bars/config/labels/bars-labels-builder.ts +0 -89
  81. package/src/lib/bars/config/labels/bars-labels-options.ts +0 -6
  82. package/src/lib/bars/config/labels/bars-labels.cy.ts +0 -781
  83. package/src/lib/bars/config/labels/bars-labels.ts +0 -13
  84. package/src/lib/bars/events/actions/bars-click-actions.ts +0 -23
  85. package/src/lib/bars/events/actions/bars-hover-actions.ts +0 -43
  86. package/src/lib/bars/events/actions/bars-hover-move-actions.ts +0 -21
  87. package/src/lib/bars/events/bars-events.directive.spec.ts +0 -186
  88. package/src/lib/bars/events/bars-events.directive.ts +0 -235
  89. package/src/lib/bars/events/bars-interaction-output.ts +0 -17
  90. package/src/lib/bars/events/bars-tooltip-positioner.ts +0 -24
  91. package/src/lib/bars/index.ts +0 -18
  92. package/src/lib/charts/chart/chart-scaling.cy.ts +0 -323
  93. package/src/lib/charts/chart/chart.component.html +0 -45
  94. package/src/lib/charts/chart/chart.component.scss +0 -37
  95. package/src/lib/charts/chart/chart.component.ts +0 -243
  96. package/src/lib/charts/chart/chart.token.ts +0 -4
  97. package/src/lib/charts/chart/chart.ts +0 -5
  98. package/src/lib/charts/chart/config/chart-builder.ts +0 -194
  99. package/src/lib/charts/chart/config/chart-config.ts +0 -21
  100. package/src/lib/charts/chart/config/chart-options.ts +0 -11
  101. package/src/lib/charts/chart.module.ts +0 -10
  102. package/src/lib/charts/index.ts +0 -9
  103. package/src/lib/charts/map-chart/map-chart.component.scss +0 -0
  104. package/src/lib/charts/map-chart/map-chart.component.spec.ts +0 -35
  105. package/src/lib/charts/map-chart/map-chart.component.ts +0 -61
  106. package/src/lib/charts/xy-chart/xy-chart.component.spec.ts +0 -34
  107. package/src/lib/charts/xy-chart/xy-chart.component.ts +0 -65
  108. package/src/lib/core/common-behaviors/constructor.ts +0 -7
  109. package/src/lib/core/index.ts +0 -11
  110. package/src/lib/core/pipes/resize-chart-height.pipe.spec.ts +0 -23
  111. package/src/lib/core/pipes/resize-chart-height.pipe.ts +0 -20
  112. package/src/lib/core/styles/_spacing.scss +0 -4
  113. package/src/lib/core/types/layout.ts +0 -28
  114. package/src/lib/core/types/scale.ts +0 -6
  115. package/src/lib/core/types/utility.ts +0 -11
  116. package/src/lib/core/types/values.ts +0 -10
  117. package/src/lib/core/utilities/colors.spec.ts +0 -57
  118. package/src/lib/core/utilities/colors.ts +0 -42
  119. package/src/lib/core/utilities/fill-utilities.spec.ts +0 -25
  120. package/src/lib/core/utilities/fill-utilities.ts +0 -21
  121. package/src/lib/core/utilities/type-guards.spec.ts +0 -55
  122. package/src/lib/core/utilities/type-guards.ts +0 -33
  123. package/src/lib/core/utilities/value-format.ts +0 -21
  124. package/src/lib/core/utilities/values.spec.ts +0 -954
  125. package/src/lib/core/utilities/values.ts +0 -189
  126. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position-builder.ts +0 -105
  127. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position-options.ts +0 -24
  128. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position.spec.ts +0 -66
  129. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position.ts +0 -72
  130. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/concrete-domain-padding.ts +0 -10
  131. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/domain-padding.ts +0 -76
  132. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/domain-test-utility.ts +0 -130
  133. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/percent-over/percent-over-options.ts +0 -3
  134. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/percent-over/percent-over.ts +0 -37
  135. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/pixel/pixel-options.ts +0 -3
  136. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/pixel/pixel.ts +0 -73
  137. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/quantitative-domain-padding.cy.ts +0 -978
  138. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-interval/round-to-interval-options.ts +0 -3
  139. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-interval/round-to-interval.ts +0 -27
  140. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-sig-fig/round-to-sig-fig-options.ts +0 -3
  141. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-sig-fig/round-to-sig-fig.ts +0 -30
  142. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position-builder.ts +0 -183
  143. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position-options.ts +0 -8
  144. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position.spec.ts +0 -28
  145. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position.ts +0 -62
  146. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension-options.ts +0 -15
  147. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension.spec.ts +0 -155
  148. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension.ts +0 -57
  149. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value-builder.ts +0 -166
  150. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value-options.ts +0 -10
  151. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value.spec.ts +0 -34
  152. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value.ts +0 -57
  153. package/src/lib/data-dimensions/dimension-builder.ts +0 -45
  154. package/src/lib/data-dimensions/dimension-options.ts +0 -12
  155. package/src/lib/data-dimensions/dimension.ts +0 -30
  156. package/src/lib/data-dimensions/index.ts +0 -31
  157. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position-builder.ts +0 -122
  158. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position-options.ts +0 -12
  159. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position.spec.ts +0 -83
  160. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position.ts +0 -101
  161. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value-builder.ts +0 -108
  162. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value-options.ts +0 -12
  163. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.cy.ts +0 -384
  164. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.spec.ts +0 -63
  165. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.ts +0 -79
  166. package/src/lib/data-export/data-export-config.ts +0 -98
  167. package/src/lib/data-export/data-export.spec.ts +0 -33
  168. package/src/lib/data-export/data-export.ts +0 -87
  169. package/src/lib/data-export/index.ts +0 -2
  170. package/src/lib/dots/config/dots-builder.ts +0 -442
  171. package/src/lib/dots/config/dots-config.spec.ts +0 -123
  172. package/src/lib/dots/config/dots-config.ts +0 -81
  173. package/src/lib/dots/config/dots-options.ts +0 -32
  174. package/src/lib/dots/dots.component.scss +0 -0
  175. package/src/lib/dots/dots.component.spec.ts +0 -143
  176. package/src/lib/dots/dots.component.ts +0 -291
  177. package/src/lib/dots/dots.cy.ts +0 -594
  178. package/src/lib/dots/dots.module.ts +0 -9
  179. package/src/lib/dots/events/actions/dots-hover-actions.ts +0 -19
  180. package/src/lib/dots/events/actions/dots-hover-move-actions.ts +0 -38
  181. package/src/lib/dots/events/dots-events.directive.ts +0 -214
  182. package/src/lib/dots/events/dots-interaction-output.ts +0 -15
  183. package/src/lib/dots/events/dots-tooltip-positioner.ts +0 -24
  184. package/src/lib/dots/index.ts +0 -10
  185. package/src/lib/events/events.directive.ts +0 -184
  186. package/src/lib/events/events.types.ts +0 -57
  187. package/src/lib/events/index.ts +0 -4
  188. package/src/lib/events/interaction-output.ts +0 -34
  189. package/src/lib/events/tooltip-positioner.ts +0 -15
  190. package/src/lib/fill-definitions/fill-definitions.ts +0 -4
  191. package/src/lib/fill-definitions/index.ts +0 -1
  192. package/src/lib/geographies/config/geographies-builder.ts +0 -224
  193. package/src/lib/geographies/config/geographies-config.spec.ts +0 -100
  194. package/src/lib/geographies/config/geographies-config.ts +0 -81
  195. package/src/lib/geographies/config/geographies-options.ts +0 -37
  196. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer-builder.ts +0 -212
  197. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer-options.ts +0 -26
  198. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer.spec.ts +0 -119
  199. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer.ts +0 -148
  200. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension-builder.ts +0 -65
  201. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension-options.ts +0 -15
  202. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension.ts +0 -32
  203. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-enums.ts +0 -10
  204. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-types.ts +0 -15
  205. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins-builder.ts +0 -18
  206. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins-options.ts +0 -8
  207. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins.spec.ts +0 -60
  208. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins.ts +0 -34
  209. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-builder.ts +0 -46
  210. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-options.ts +0 -8
  211. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.cy.ts +0 -437
  212. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.spec.ts +0 -105
  213. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.ts +0 -54
  214. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins-builder.ts +0 -65
  215. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins-options.ts +0 -9
  216. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins.spec.ts +0 -82
  217. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins.ts +0 -81
  218. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks.cy.ts +0 -378
  219. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins-builder.ts +0 -50
  220. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins-options.ts +0 -8
  221. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.cy.ts +0 -362
  222. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.spec.ts +0 -72
  223. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.ts +0 -56
  224. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins-builder.ts +0 -60
  225. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins-options.ts +0 -9
  226. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.cy.ts +0 -307
  227. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.spec.ts +0 -104
  228. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.ts +0 -89
  229. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins-builder.ts +0 -62
  230. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins-options.ts +0 -8
  231. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.cy.ts +0 -265
  232. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.spec.ts +0 -42
  233. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.ts +0 -42
  234. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer-builder.ts +0 -116
  235. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer-options.ts +0 -20
  236. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer.ts +0 -104
  237. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer-builder.ts +0 -111
  238. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer-options.ts +0 -19
  239. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer.spec.ts +0 -41
  240. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer.ts +0 -67
  241. package/src/lib/geographies/config/layers/labels/geographies-labels-builder.ts +0 -269
  242. package/src/lib/geographies/config/layers/labels/geographies-labels-options.ts +0 -45
  243. package/src/lib/geographies/config/layers/labels/geographies-labels.ts +0 -38
  244. package/src/lib/geographies/events/actions/geographies-click-actions.ts +0 -21
  245. package/src/lib/geographies/events/actions/geographies-hover-actions.ts +0 -17
  246. package/src/lib/geographies/events/actions/geographies-hover-move-actions.ts +0 -19
  247. package/src/lib/geographies/events/geographies-events.directive.spec.ts +0 -225
  248. package/src/lib/geographies/events/geographies-events.directive.ts +0 -235
  249. package/src/lib/geographies/events/geographies-interaction-output.ts +0 -17
  250. package/src/lib/geographies/events/geographies-tooltip-positioner.ts +0 -23
  251. package/src/lib/geographies/geographies-feature.ts +0 -16
  252. package/src/lib/geographies/geographies.component.html +0 -1
  253. package/src/lib/geographies/geographies.component.scss +0 -0
  254. package/src/lib/geographies/geographies.component.spec.ts +0 -148
  255. package/src/lib/geographies/geographies.component.ts +0 -318
  256. package/src/lib/geographies/geographies.cy.ts +0 -640
  257. package/src/lib/geographies/geographies.module.ts +0 -9
  258. package/src/lib/geographies/index.ts +0 -32
  259. package/src/lib/grouped-bars/config/grouped-bars-builder.ts +0 -66
  260. package/src/lib/grouped-bars/config/grouped-bars-config.ts +0 -41
  261. package/src/lib/grouped-bars/config/grouped-bars-options.ts +0 -9
  262. package/src/lib/grouped-bars/events/grouped-bars-events.directive.ts +0 -221
  263. package/src/lib/grouped-bars/grouped-bars.component.scss +0 -0
  264. package/src/lib/grouped-bars/grouped-bars.component.spec.ts +0 -25
  265. package/src/lib/grouped-bars/grouped-bars.component.ts +0 -94
  266. package/src/lib/grouped-bars/grouped-bars.module.ts +0 -9
  267. package/src/lib/grouped-bars/index.ts +0 -10
  268. package/src/lib/image-download/image-download-config.ts +0 -57
  269. package/src/lib/image-download/image-download-enums.ts +0 -7
  270. package/src/lib/image-download/image-download-options.ts +0 -14
  271. package/src/lib/image-download/image-download.service.ts +0 -70
  272. package/src/lib/image-download/index.ts +0 -4
  273. package/src/lib/lines/config/area-fills/area-fills-builder.ts +0 -87
  274. package/src/lib/lines/config/area-fills/area-fills-options.ts +0 -8
  275. package/src/lib/lines/config/area-fills/area-fills.ts +0 -14
  276. package/src/lib/lines/config/lines-builder.ts +0 -242
  277. package/src/lib/lines/config/lines-config.spec.ts +0 -52
  278. package/src/lib/lines/config/lines-config.ts +0 -96
  279. package/src/lib/lines/config/lines-options.ts +0 -19
  280. package/src/lib/lines/config/stroke/lines-stroke-builder.ts +0 -135
  281. package/src/lib/lines/config/stroke/lines-stroke-options.ts +0 -6
  282. package/src/lib/lines/config/stroke/lines-stroke.ts +0 -15
  283. package/src/lib/lines/events/actions/lines-click-actions.ts +0 -17
  284. package/src/lib/lines/events/actions/lines-hover-move-actions.ts +0 -113
  285. package/src/lib/lines/events/actions/lines-marker-click-actions.ts +0 -29
  286. package/src/lib/lines/events/lines-events.directive.spec.ts +0 -152
  287. package/src/lib/lines/events/lines-events.directive.ts +0 -310
  288. package/src/lib/lines/events/lines-interaction-output.ts +0 -17
  289. package/src/lib/lines/events/lines-tooltip-positioner.ts +0 -24
  290. package/src/lib/lines/index.ts +0 -17
  291. package/src/lib/lines/lines.component.scss +0 -0
  292. package/src/lib/lines/lines.component.spec.ts +0 -95
  293. package/src/lib/lines/lines.component.ts +0 -425
  294. package/src/lib/lines/lines.cy.ts +0 -738
  295. package/src/lib/lines/lines.module.ts +0 -9
  296. package/src/lib/map-legend/continuous-legend/continuous-legend.component.html +0 -28
  297. package/src/lib/map-legend/continuous-legend/continuous-legend.component.scss +0 -76
  298. package/src/lib/map-legend/continuous-legend/continuous-legend.component.spec.ts +0 -61
  299. package/src/lib/map-legend/continuous-legend/continuous-legend.component.ts +0 -82
  300. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.html +0 -40
  301. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.scss +0 -141
  302. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.spec.ts +0 -75
  303. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.ts +0 -57
  304. package/src/lib/map-legend/index.ts +0 -2
  305. package/src/lib/map-legend/map-legend-base.spec.ts +0 -190
  306. package/src/lib/map-legend/map-legend-base.ts +0 -99
  307. package/src/lib/map-legend/map-legend.component.html +0 -24
  308. package/src/lib/map-legend/map-legend.component.scss +0 -0
  309. package/src/lib/map-legend/map-legend.component.spec.ts +0 -125
  310. package/src/lib/map-legend/map-legend.component.ts +0 -80
  311. package/src/lib/map-legend/map-legend.module.ts +0 -8
  312. package/src/lib/marks/aux-marks/aux-marks.ts +0 -18
  313. package/src/lib/marks/aux-marks/config/aux-marks-builder.ts +0 -25
  314. package/src/lib/marks/aux-marks/config/aux-marks-config.ts +0 -6
  315. package/src/lib/marks/config/marks-config.ts +0 -14
  316. package/src/lib/marks/config/marks-options.ts +0 -9
  317. package/src/lib/marks/index.ts +0 -15
  318. package/src/lib/marks/map-marks/map-aux-marks/map-aux-marks.spec.ts +0 -74
  319. package/src/lib/marks/map-marks/map-aux-marks/map-aux-marks.ts +0 -40
  320. package/src/lib/marks/map-marks/map-primary-marks/map-primary-marks.spec.ts +0 -79
  321. package/src/lib/marks/map-marks/map-primary-marks/map-primary-marks.ts +0 -63
  322. package/src/lib/marks/marks.ts +0 -39
  323. package/src/lib/marks/primary-marks/config/primary-marks-builder.ts +0 -75
  324. package/src/lib/marks/primary-marks/config/primary-marks-config.ts +0 -9
  325. package/src/lib/marks/primary-marks/primary-marks-base.spec.ts +0 -58
  326. package/src/lib/marks/primary-marks/primary-marks.ts +0 -43
  327. package/src/lib/marks/xy-marks/xy-aux-marks/xy-aux-marks.ts +0 -40
  328. package/src/lib/marks/xy-marks/xy-marks-config.ts +0 -5
  329. package/src/lib/marks/xy-marks/xy-marks.ts +0 -10
  330. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks-config.ts +0 -7
  331. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks.spec.ts +0 -186
  332. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks.ts +0 -72
  333. package/src/lib/point-markers/index.ts +0 -3
  334. package/src/lib/point-markers/point-markers-builder.ts +0 -93
  335. package/src/lib/point-markers/point-markers-options.ts +0 -6
  336. package/src/lib/point-markers/point-markers.ts +0 -13
  337. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels-builder.ts +0 -162
  338. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels-options.ts +0 -17
  339. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels.ts +0 -26
  340. package/src/lib/quantitative-rules/config/quantitative-rules-builder.ts +0 -134
  341. package/src/lib/quantitative-rules/config/quantitative-rules-config.ts +0 -21
  342. package/src/lib/quantitative-rules/config/quantitative-rules-dimensions.ts +0 -20
  343. package/src/lib/quantitative-rules/config/quantitative-rules-options.ts +0 -13
  344. package/src/lib/quantitative-rules/index.ts +0 -6
  345. package/src/lib/quantitative-rules/quantitative-rules.component.scss +0 -3
  346. package/src/lib/quantitative-rules/quantitative-rules.component.spec.ts +0 -50
  347. package/src/lib/quantitative-rules/quantitative-rules.component.ts +0 -224
  348. package/src/lib/quantitative-rules/quantitative-rules.cy.ts +0 -549
  349. package/src/lib/quantitative-rules/quantitative-rules.module.ts +0 -8
  350. package/src/lib/stacked-area/config/stacked-area-builder.ts +0 -264
  351. package/src/lib/stacked-area/config/stacked-area-config.spec.ts +0 -107
  352. package/src/lib/stacked-area/config/stacked-area-config.ts +0 -109
  353. package/src/lib/stacked-area/config/stacked-area-options.ts +0 -28
  354. package/src/lib/stacked-area/events/actions/stacked-area-hover-move-actions.ts +0 -17
  355. package/src/lib/stacked-area/events/stacked-area-events.directive.spec.ts +0 -168
  356. package/src/lib/stacked-area/events/stacked-area-events.directive.ts +0 -272
  357. package/src/lib/stacked-area/events/stacked-area-interaction-output.ts +0 -33
  358. package/src/lib/stacked-area/events/stacked-area-tooltip-positioner.ts +0 -37
  359. package/src/lib/stacked-area/index.ts +0 -7
  360. package/src/lib/stacked-area/stacked-area.component.scss +0 -0
  361. package/src/lib/stacked-area/stacked-area.component.spec.ts +0 -41
  362. package/src/lib/stacked-area/stacked-area.component.ts +0 -241
  363. package/src/lib/stacked-area/stacked-area.module.ts +0 -9
  364. package/src/lib/stacked-bars/config/stacked-bars-builder.ts +0 -109
  365. package/src/lib/stacked-bars/config/stacked-bars-config.spec.ts +0 -122
  366. package/src/lib/stacked-bars/config/stacked-bars-config.ts +0 -79
  367. package/src/lib/stacked-bars/config/stacked-bars-options.ts +0 -16
  368. package/src/lib/stacked-bars/events/actions/stacked-bars-click-actions.ts +0 -23
  369. package/src/lib/stacked-bars/events/actions/stacked-bars-hover-actions.ts +0 -22
  370. package/src/lib/stacked-bars/events/actions/stacked-bars-hover-move-actions.ts +0 -21
  371. package/src/lib/stacked-bars/events/stacked-bars-events.directive.spec.ts +0 -266
  372. package/src/lib/stacked-bars/events/stacked-bars-events.directive.ts +0 -240
  373. package/src/lib/stacked-bars/index.ts +0 -10
  374. package/src/lib/stacked-bars/stacked-bars.component.scss +0 -0
  375. package/src/lib/stacked-bars/stacked-bars.component.spec.ts +0 -25
  376. package/src/lib/stacked-bars/stacked-bars.component.ts +0 -158
  377. package/src/lib/stacked-bars/stacked-bars.module.ts +0 -9
  378. package/src/lib/stroke/base/stroke-base-options.ts +0 -7
  379. package/src/lib/stroke/base/stroke-base.ts +0 -9
  380. package/src/lib/stroke/index.ts +0 -5
  381. package/src/lib/stroke/stroke-builder.ts +0 -103
  382. package/src/lib/stroke/stroke-options.ts +0 -5
  383. package/src/lib/stroke/stroke.ts +0 -12
  384. package/src/lib/svg-text-wrap/index.ts +0 -3
  385. package/src/lib/svg-text-wrap/svg-text-wrap-builder.ts +0 -105
  386. package/src/lib/svg-text-wrap/svg-text-wrap-options.ts +0 -8
  387. package/src/lib/svg-text-wrap/svg-text-wrap.ts +0 -137
  388. package/src/lib/testing/data/continent-population-year-data.ts +0 -126
  389. package/src/lib/testing/data/country-area-continent.ts +0 -59
  390. package/src/lib/testing/data/state-population-income-year-data.ts +0 -123
  391. package/src/lib/testing/stubs/bars.component.stub.ts +0 -12
  392. package/src/lib/testing/stubs/chart.component.stub.ts +0 -6
  393. package/src/lib/testing/stubs/click.directive.stub.ts +0 -15
  394. package/src/lib/testing/stubs/core/destroy-ref.stub.ts +0 -9
  395. package/src/lib/testing/stubs/core/overlay-ref.stub.ts +0 -13
  396. package/src/lib/testing/stubs/core/overlay.stub.ts +0 -8
  397. package/src/lib/testing/stubs/event.directive.stub.ts +0 -10
  398. package/src/lib/testing/stubs/hover-move.directive.stub.ts +0 -17
  399. package/src/lib/testing/stubs/hover.directive.stub.ts +0 -14
  400. package/src/lib/testing/stubs/input-event.directive.stub.ts +0 -9
  401. package/src/lib/testing/stubs/lines.component.stub.ts +0 -13
  402. package/src/lib/testing/stubs/map-aux-marks.stub.ts +0 -10
  403. package/src/lib/testing/stubs/map-chart.component.stub.ts +0 -3
  404. package/src/lib/testing/stubs/map-legend-content.stub.ts +0 -16
  405. package/src/lib/testing/stubs/map-legend.component.stub.ts +0 -10
  406. package/src/lib/testing/stubs/map-primary-marks.stub.ts +0 -16
  407. package/src/lib/testing/stubs/ordinal-axis.stub.ts +0 -18
  408. package/src/lib/testing/stubs/primary-marks.stub.ts +0 -18
  409. package/src/lib/testing/stubs/quantitative-axis.stub.ts +0 -18
  410. package/src/lib/testing/stubs/services/main.service.stub.ts +0 -5
  411. package/src/lib/testing/stubs/services/utilities.service.stub.ts +0 -7
  412. package/src/lib/testing/stubs/stacked-area.component.stub.ts +0 -13
  413. package/src/lib/testing/stubs/x-axis.stub.ts +0 -10
  414. package/src/lib/testing/stubs/xy-axis.class.stub.ts +0 -20
  415. package/src/lib/testing/stubs/xy-axis.stub.ts +0 -44
  416. package/src/lib/testing/stubs/xy-chart.component.stub.ts +0 -5
  417. package/src/lib/testing/stubs/xy-data-marks.stub.ts +0 -15
  418. package/src/lib/testing/stubs/y-axis.stub.ts +0 -15
  419. package/src/lib/tooltips/config/tooltip.ts +0 -11
  420. package/src/lib/tooltips/html-tooltip/config/html-tooltip-builder.ts +0 -134
  421. package/src/lib/tooltips/html-tooltip/config/html-tooltip-config.ts +0 -21
  422. package/src/lib/tooltips/html-tooltip/config/html-tooltip-options.ts +0 -12
  423. package/src/lib/tooltips/html-tooltip/config/position/tooltip-position-builder.ts +0 -191
  424. package/src/lib/tooltips/html-tooltip/config/position/tooltip-position.ts +0 -42
  425. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size-builder.ts +0 -75
  426. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size-options.ts +0 -8
  427. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size.ts +0 -15
  428. package/src/lib/tooltips/html-tooltip/html-tooltip.directive.spec.ts +0 -537
  429. package/src/lib/tooltips/html-tooltip/html-tooltip.directive.ts +0 -210
  430. package/src/lib/tooltips/html-tooltip/html-tooltip.module.ts +0 -16
  431. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.html +0 -41
  432. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.scss +0 -63
  433. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.ts +0 -19
  434. package/src/lib/tooltips/index.ts +0 -11
  435. package/src/lib/tooltips/svg-tooltip/config/svg-tooltip.ts +0 -5
  436. package/src/lib/xy-background/index.ts +0 -2
  437. package/src/lib/xy-background/xy-background.component.html +0 -10
  438. package/src/lib/xy-background/xy-background.component.scss +0 -0
  439. package/src/lib/xy-background/xy-background.component.spec.ts +0 -24
  440. package/src/lib/xy-background/xy-background.component.ts +0 -19
  441. package/src/lib/xy-background/xy-background.module.ts +0 -8
  442. package/src/public-api.ts +0 -26
  443. package/src/test.ts +0 -15
  444. package/tsconfig.doc.json +0 -4
  445. package/tsconfig.json +0 -20
  446. package/tsconfig.lib.json +0 -23
  447. package/tsconfig.lib.prod.json +0 -10
  448. package/tsconfig.spec.json +0 -10
@@ -1,9 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { LinesEventsDirective } from './events/lines-events.directive';
3
- import { LinesComponent } from './lines.component';
4
-
5
- @NgModule({
6
- imports: [LinesComponent, LinesEventsDirective],
7
- exports: [LinesComponent, LinesEventsDirective],
8
- })
9
- export class VicLinesModule {}
@@ -1,28 +0,0 @@
1
- <div
2
- class="vic-legend-color-scale vic-continuous"
3
- [ngClass]="['vic-' + orientation, 'vic-' + valuesSide]"
4
- [style.--width]="width + 'px'"
5
- [style.--height]="height + 'px'"
6
- [style.--border-color]="outlineColor"
7
- [style.--value-space]="largerValueSpace + 'px'"
8
- [style.left.px]="leftOffset"
9
- >
10
- @if ((orientation === 'vertical' && valuesSide === 'left') || (orientation ===
11
- 'horizontal' && valuesSide === 'top')) {
12
- <ng-container *ngTemplateOutlet="valuesDisplay"></ng-container>
13
- }
14
- <div class="vic-legend-canvas-container">
15
- <canvas class="vic-legend-canvas" #canvas></canvas>
16
- </div>
17
- @if ((orientation === 'vertical' && valuesSide === 'right') || (orientation
18
- === 'horizontal' && valuesSide === 'bottom')) {
19
- <ng-container *ngTemplateOutlet="valuesDisplay"></ng-container>
20
- }
21
- </div>
22
-
23
- <ng-template #valuesDisplay>
24
- <div class="vic-legend-values-container vic-continuous">
25
- <p class="vic-value vic-low">{{ values[0] }}</p>
26
- <p class="vic-value vic-high">{{ values[values.length - 1] }}</p>
27
- </div>
28
- </ng-template>
@@ -1,76 +0,0 @@
1
- @use '../../core/styles/spacing';
2
-
3
- .vic-legend-canvas {
4
- display: block;
5
- }
6
-
7
- .vic-legend-color-scale.vic-horizontal {
8
- display: flex;
9
- flex-direction: column;
10
- position: relative;
11
- max-width: var(--width);
12
-
13
- .vic-legend-canvas-container {
14
- display: flex;
15
- flex-direction: column;
16
- width: calc(var(--width) - calc(var(--value-space) * 2));
17
- height: var(--height);
18
- margin-right: var(--value-space);
19
- margin-left: var(--value-space);
20
- }
21
-
22
- .vic-legend-values-container {
23
- padding-top: spacing.grid(1);
24
- display: flex;
25
- flex-direction: row;
26
- justify-content: space-between;
27
- }
28
-
29
- .vic-value {
30
- width: calc(var(--value-space) * 2);
31
- text-align: center;
32
- }
33
-
34
- &.vic-top {
35
- .vic-legend-values-container {
36
- padding-top: 0;
37
- padding-bottom: spacing.grid(1);
38
- }
39
- }
40
- }
41
-
42
- .vic-legend-color-scale.vic-vertical {
43
- display: flex;
44
- max-height: var(--height);
45
-
46
- .vic-legend-canvas-container {
47
- width: var(--width);
48
- height: calc(var(--height) - calc(#{grid-2} * 2));
49
- margin-top: spacing.grid(2);
50
- margin-bottom: spacing.grid(2);
51
- }
52
-
53
- .vic-legend-values-container {
54
- padding-right: spacing.grid(1);
55
- display: flex;
56
- flex-direction: column;
57
- justify-content: space-between;
58
- align-items: flex-end;
59
- }
60
-
61
- &.vic-right {
62
- .vic-legend-values-container {
63
- padding-right: 0;
64
- padding-left: spacing.grid(1);
65
- align-items: flex-start;
66
- }
67
- }
68
- }
69
-
70
- .vic-legend-canvas-container {
71
- border: 1px solid var(--border-color);
72
- }
73
-
74
- .vic-value {
75
- font-size: 12px;
76
- }
@@ -1,61 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { ComponentFixture, TestBed } from '@angular/core/testing';
3
- import { ContinuousLegendComponent } from './continuous-legend.component';
4
-
5
- describe('ContinuousLegendComponent', () => {
6
- let component: ContinuousLegendComponent<any>;
7
- let fixture: ComponentFixture<ContinuousLegendComponent<any>>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- imports: [ContinuousLegendComponent],
12
- }).compileComponents();
13
- });
14
-
15
- beforeEach(() => {
16
- fixture = TestBed.createComponent(ContinuousLegendComponent);
17
- component = fixture.componentInstance;
18
- });
19
-
20
- describe('ngOnChanges', () => {
21
- beforeEach(() => {
22
- spyOn(component, 'setValues');
23
- spyOn(component, 'setColors');
24
- spyOn(component, 'drawLinearGradient');
25
- });
26
-
27
- it('calls setValues once', () => {
28
- component.ngOnChanges();
29
- expect(component.setValues).toHaveBeenCalledTimes(1);
30
- });
31
-
32
- it('calls setColors once', () => {
33
- component.ngOnChanges();
34
- expect(component.setColors).toHaveBeenCalledTimes(1);
35
- });
36
-
37
- it('calls drawLinearGradient once', () => {
38
- component.ngOnChanges();
39
- expect(component.drawLinearGradient).toHaveBeenCalledTimes(1);
40
- });
41
- });
42
-
43
- describe('getLeftOffset', () => {
44
- beforeEach(() => {
45
- component.orientation = 'horizontal';
46
- component.largerValueSpace = 100;
47
- component.startValueSpace = 50;
48
- });
49
-
50
- it('returns the correct value if orientation is horizontal', () => {
51
- const result = component.getLeftOffset();
52
- expect(result).toEqual(-50);
53
- });
54
-
55
- it('returns 0 if orientation is vertical', () => {
56
- component.orientation = 'vertical';
57
- const result = component.getLeftOffset();
58
- expect(result).toEqual(0);
59
- });
60
- });
61
- });
@@ -1,82 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, ElementRef, OnChanges, ViewChild } from '@angular/core';
3
- import { scaleLinear } from 'd3';
4
- import { Orientation } from '../../core/types/layout';
5
- import { NoBinsAttributeDataDimension } from '../../geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins';
6
- import { MapLegend } from '../map-legend-base';
7
-
8
- /**
9
- * @internal
10
- */
11
- @Component({
12
- selector: 'vic-continuous-legend',
13
- templateUrl: './continuous-legend.component.html',
14
- styleUrls: ['./continuous-legend.component.scss'],
15
- imports: [CommonModule],
16
- })
17
- export class ContinuousLegendComponent<Datum>
18
- extends MapLegend<Datum, NoBinsAttributeDataDimension<Datum>>
19
- implements OnChanges
20
- {
21
- @ViewChild('canvas', { static: true })
22
- canvasRef: ElementRef<HTMLCanvasElement>;
23
-
24
- override ngOnChanges(): void {
25
- super.ngOnChanges();
26
- this.drawLinearGradient();
27
- }
28
-
29
- getValuesFromScale(): number[] {
30
- return this.scale.domain();
31
- }
32
-
33
- getLeftOffset(): number {
34
- if (this.orientation === Orientation.horizontal) {
35
- return (this.largerValueSpace - this.startValueSpace) * -1;
36
- } else {
37
- return 0;
38
- }
39
- }
40
-
41
- drawLinearGradient(): void {
42
- const canvas = this.canvasRef.nativeElement;
43
- canvas.style.width = '100%';
44
- canvas.style.height = '100%';
45
- const ctx = canvas.getContext('2d');
46
- if (this.orientation === Orientation.horizontal) {
47
- this.drawHorizontalGradient(canvas, ctx);
48
- } else {
49
- this.drawVerticalGradient(canvas, ctx);
50
- }
51
- }
52
-
53
- drawHorizontalGradient(
54
- canvas: HTMLCanvasElement,
55
- ctx: CanvasRenderingContext2D
56
- ): void {
57
- canvas.height = 1;
58
- canvas.width = this.width - this.startValueSpace - this.endValueSpace - 2;
59
- const rectScale = scaleLinear<string>()
60
- .domain([0, canvas.width])
61
- .range(this.colors);
62
- for (let i = 0; i < canvas.width; ++i) {
63
- ctx.fillStyle = rectScale(i);
64
- ctx.fillRect(i, 0, 1, 1);
65
- }
66
- }
67
-
68
- drawVerticalGradient(
69
- canvas: HTMLCanvasElement,
70
- ctx: CanvasRenderingContext2D
71
- ): void {
72
- canvas.height = this.height - 16;
73
- canvas.width = 1;
74
- const rectScale = scaleLinear<string>()
75
- .domain([0, canvas.height])
76
- .range(this.colors);
77
- for (let i = 0; i < canvas.height; ++i) {
78
- ctx.fillStyle = rectScale(i);
79
- ctx.fillRect(0, i, 1, 1);
80
- }
81
- }
82
- }
@@ -1,40 +0,0 @@
1
- <div
2
- class="vic-legend-color-scale vic-discontinuous"
3
- [ngClass]="['vic-' + orientation, 'vic-' + valuesSide]"
4
- [class.vic-categorical]="config.binType === VicValuesBin.categorical"
5
- [style.--border-color]="outlineColor"
6
- [style.--width]="width + 'px'"
7
- [style.--height]="height + 'px'"
8
- [style.--num-colors]="colors.length"
9
- [style.--value-space]="largerValueSpace + 'px'"
10
- [style.left.px]="leftOffset"
11
- >
12
- @if ((orientation === 'vertical' && valuesSide === 'left') || (orientation ===
13
- 'horizontal' && valuesSide === 'top')) {
14
- <ng-container *ngTemplateOutlet="valuesDisplay"></ng-container>
15
- }
16
- <div class="vic-legend-colors-container">
17
- @if (config.binType !== VicValuesBin.categorical) {
18
- <div class="vic-legend-color-padding"></div>
19
- } @for (color of colors; track $index) {
20
- <div
21
- class="vic-legend-color vic-discontinuous"
22
- [style.background-color]="color"
23
- [style.--border-color]="outlineColor"
24
- >
25
- </div>
26
- }
27
- </div>
28
- @if ((orientation === 'vertical' && valuesSide === 'right') || (orientation
29
- === 'horizontal' && valuesSide === 'bottom')) {
30
- <ng-container *ngTemplateOutlet="valuesDisplay"></ng-container>
31
- }
32
- </div>
33
-
34
- <ng-template #valuesDisplay>
35
- <div class="vic-legend-values-container vic-discontinous">
36
- @for (value of values; track $index) {
37
- <p class="vic-value"> {{ value }} </p>
38
- }
39
- </div>
40
- </ng-template>
@@ -1,141 +0,0 @@
1
- @use 'sass:math';
2
- @use '../../core/styles/spacing';
3
-
4
- .vic-legend-color-scale.vic-horizontal {
5
- display: flex;
6
- flex-direction: column;
7
- position: relative;
8
-
9
- .vic-legend-colors-container {
10
- display: grid;
11
- grid-template-columns:
12
- minmax(var(--value-space), 0.5fr) repeat(
13
- var(--num-colors),
14
- minmax(calc(#{var(--value-space)} * 2), 1fr)
15
- )
16
- minmax(var(--value-space), 0.5fr);
17
- max-width: var(--width);
18
- height: var(--height);
19
-
20
- .vic-legend-color {
21
- height: 100%;
22
- border-top: 1px solid var(--border-color);
23
- border-bottom: 1px solid var(--border-color);
24
- border-left: 1px solid var(--border-color);
25
-
26
- &:last-child {
27
- border-right: 1px solid var(--border-color);
28
- }
29
- }
30
- }
31
-
32
- .vic-legend-values-container {
33
- padding-top: spacing.grid(1);
34
- display: grid;
35
- grid-template-columns: repeat(
36
- calc(var(--num-colors) + 1),
37
- minmax(calc(var(--value-space) * 2), 1fr)
38
- );
39
- max-width: var(--width);
40
- justify-items: center;
41
- }
42
-
43
- &.vic-top {
44
- .vic-legend-values-container {
45
- padding-top: 0;
46
- padding-bottom: spacing.grid(1);
47
- }
48
- }
49
-
50
- &.vic-categorical {
51
- .vic-legend-colors-container {
52
- column-gap: spacing.grid(2);
53
- grid-template-columns: repeat(calc(var(--num-colors)), 1fr);
54
- }
55
-
56
- .vic-legend-values-container {
57
- column-gap: spacing.grid(2);
58
- grid-template-columns: repeat(calc(var(--num-colors)), 1fr);
59
- }
60
-
61
- .vic-value {
62
- text-align: center;
63
- }
64
- }
65
- }
66
-
67
- .vic-legend-color-scale.vic-categorical {
68
- .vic-legend-color {
69
- border: 1px solid var(--border-color);
70
- }
71
- }
72
-
73
- .vic-legend-color-scale.vic-vertical {
74
- display: flex;
75
- height: var(--height);
76
-
77
- .vic-legend-colors-container {
78
- display: grid;
79
- grid-template-columns: var(--width);
80
- grid-template-rows:
81
- 0.5fr repeat(var(--num-colors), 1fr)
82
- 0.5fr;
83
- height: 100%;
84
-
85
- .vic-legend-color {
86
- width: 100%;
87
- border-top: 1px solid var(--border-color);
88
- border-left: 1px solid var(--border-color);
89
- border-right: 1px solid var(--border-color);
90
-
91
- &:last-child {
92
- border-bottom: 1px solid var(--border-color);
93
- }
94
- }
95
- }
96
-
97
- .vic-legend-values-container {
98
- padding-right: spacing.grid(1);
99
- display: grid;
100
- grid-template-columns: 1fr;
101
- grid-template-rows: repeat(calc(var(--num-colors) + 1), 1fr);
102
- align-items: center;
103
- justify-items: end;
104
- height: 100%;
105
- }
106
-
107
- &.vic-right {
108
- .vic-legend-values-container {
109
- padding-right: 0;
110
- padding-left: spacing.grid(1);
111
- justify-items: start;
112
- }
113
- }
114
-
115
- &.vic-categorical {
116
- .vic-legend-colors-container {
117
- grid-template-rows: repeat(var(--num-colors), 1fr);
118
- row-gap: spacing.grid(2);
119
- }
120
-
121
- .vic-legend-values-container {
122
- grid-template-rows: repeat(var(--num-colors), 1fr);
123
- row-gap: spacing.grid(2);
124
- }
125
-
126
- .vic-value {
127
- text-align: right;
128
- }
129
-
130
- &.vic-right {
131
- .vic-value {
132
- text-align: left;
133
- }
134
- }
135
- }
136
- }
137
-
138
- .vic-value {
139
- font-size: 12px;
140
- line-height: 1;
141
- }
@@ -1,75 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { ComponentFixture, TestBed } from '@angular/core/testing';
3
- import { scaleQuantize } from 'd3';
4
- import { BinStrategy } from '../../geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-enums';
5
- import { CategoricalBinsAttributeDataDimension } from '../../geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins';
6
- import { CategoricalBinsOptions } from '../../geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-options';
7
- import { DiscontinuousLegendComponent } from './discontinuous-legend.component';
8
-
9
- describe('DiscontinuousLegendComponent', () => {
10
- let component: DiscontinuousLegendComponent<any>;
11
- let fixture: ComponentFixture<DiscontinuousLegendComponent<any>>;
12
-
13
- beforeEach(async () => {
14
- await TestBed.configureTestingModule({
15
- imports: [DiscontinuousLegendComponent],
16
- }).compileComponents();
17
- });
18
-
19
- beforeEach(() => {
20
- fixture = TestBed.createComponent(DiscontinuousLegendComponent);
21
- component = fixture.componentInstance;
22
- });
23
-
24
- describe('getValuesFromScale', () => {
25
- beforeEach(() => {
26
- component.config = new CategoricalBinsAttributeDataDimension<any>({
27
- domain: ['one', 'two', 'three'],
28
- } as CategoricalBinsOptions<any>);
29
- spyOn(component.config, 'getDomain').and.returnValue('domain' as any);
30
- });
31
- it('integration: should return this.config.domain if binType == categorical', () => {
32
- expect(component.getValuesFromScale()).toEqual('domain' as any);
33
- });
34
- it('integration: should return breakValues if binType == customBreaks', () => {
35
- component.config = {
36
- binType: BinStrategy.customBreaks,
37
- breakValues: [1, 2, 3],
38
- } as any;
39
- expect(component.getValuesFromScale()).toEqual([1, 2, 3] as any);
40
- });
41
- it('integration: should return custom values based on scale if binType not specified', () => {
42
- component.config = {} as any;
43
- component.config.range = ['white', 'gray', 'black'];
44
- component.scale = scaleQuantize([0, 99], ['white', 'gray', 'black']);
45
- expect(component.getValuesFromScale()).toEqual([0, 33, 66, 99]);
46
- });
47
- });
48
-
49
- describe('getLeftOffset', () => {
50
- beforeEach(() => {
51
- component.width = 200;
52
- component.largerValueSpace = 40;
53
- component.startValueSpace = 20;
54
- component.orientation = 'horizontal';
55
- });
56
-
57
- describe('if orientation is horizontal', () => {
58
- it('integration: returns the correct value if colorHalfWidth is larger than largerValueSpace', () => {
59
- const result = component.getLeftOffset(['1', '2']);
60
- expect(result).toEqual(-30);
61
- });
62
-
63
- it('integration: returns the correct value if colorHalfWidth is smaller than largerValueSpace', () => {
64
- const result = component.getLeftOffset(['1', '2', '3', '4']);
65
- expect(result).toEqual(-20);
66
- });
67
- });
68
-
69
- it('returns 0 if orientation is vertical', () => {
70
- component.orientation = 'vertical';
71
- const result = component.getLeftOffset(['1', '2']);
72
- expect(result).toEqual(0);
73
- });
74
- });
75
- });
@@ -1,57 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component } from '@angular/core';
3
- import { Orientation } from '../../core/types/layout';
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 { NoBinsAttributeDataDimension } from '../../geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins';
7
- import { MapLegend } from '../map-legend-base';
8
-
9
- export type DiscontinuousAttributeDataDimensionConfig<Datum> = Exclude<
10
- VicAttributeDataDimensionConfig<Datum>,
11
- NoBinsAttributeDataDimension<Datum>
12
- >;
13
-
14
- @Component({
15
- selector: 'vic-discontinuous-legend',
16
- templateUrl: './discontinuous-legend.component.html',
17
- styleUrls: ['./discontinuous-legend.component.scss'],
18
- imports: [CommonModule],
19
- })
20
- export class DiscontinuousLegendComponent<Datum> extends MapLegend<
21
- Datum,
22
- DiscontinuousAttributeDataDimensionConfig<Datum>
23
- > {
24
- getValuesFromScale(): string[] | number[] {
25
- if (this.config.binType === BinStrategy.categorical) {
26
- return this.config.getDomain();
27
- } else {
28
- return this.getQuantitativeValuesFromScale();
29
- }
30
- }
31
-
32
- getQuantitativeValuesFromScale(): number[] {
33
- const binColors = this.config.range;
34
- const values =
35
- this.config.binType === BinStrategy.customBreaks
36
- ? this.config.breakValues
37
- : [
38
- ...new Set(
39
- binColors.map((colors) => this.scale.invertExtent(colors)).flat()
40
- ),
41
- ];
42
- return values;
43
- }
44
-
45
- getLeftOffset(values: string[]): number {
46
- if (this.orientation === Orientation.horizontal) {
47
- const colorHalfWidth = this.width / (values.length * 2);
48
- if (colorHalfWidth > this.largerValueSpace) {
49
- return (colorHalfWidth - this.startValueSpace) * -1;
50
- } else {
51
- return (this.largerValueSpace - this.startValueSpace) * -1;
52
- }
53
- } else {
54
- return 0;
55
- }
56
- }
57
- }
@@ -1,2 +0,0 @@
1
- export * from './map-legend.component';
2
- export * from './map-legend.module';