@mathstack/viz 2.1.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +11 -11
  3. package/fesm2022/mathstack-viz.mjs +11024 -0
  4. package/fesm2022/mathstack-viz.mjs.map +1 -0
  5. package/package.json +18 -6
  6. package/types/mathstack-viz.d.ts +5830 -0
  7. package/CHANGELOG.md +0 -0
  8. package/cypress/fixtures/example.json +0 -5
  9. package/cypress/fixtures/usMap.json +0 -13511
  10. package/cypress/support/commands.ts +0 -104
  11. package/cypress/support/component-index.html +0 -12
  12. package/cypress/support/component.ts +0 -33
  13. package/cypress.config.ts +0 -9
  14. package/karma.conf.js +0 -62
  15. package/ng-package.json +0 -8
  16. package/project.json +0 -97
  17. package/src/.eslintrc.json +0 -35
  18. package/src/.prettierrc +0 -31
  19. package/src/lib/axes/base/config/xy-axis-builder.ts +0 -68
  20. package/src/lib/axes/base/config/xy-axis-config.ts +0 -35
  21. package/src/lib/axes/base/config/xy-axis-options.ts +0 -11
  22. package/src/lib/axes/base/xy-axis-base.spec.ts +0 -114
  23. package/src/lib/axes/base/xy-axis-base.ts +0 -305
  24. package/src/lib/axes/base/xy-axis-domain-lines.cy.ts +0 -511
  25. package/src/lib/axes/baseline/axis-baseline-builder.ts +0 -77
  26. package/src/lib/axes/baseline/axis-baseline-options.ts +0 -4
  27. package/src/lib/axes/baseline/axis-baseline.ts +0 -11
  28. package/src/lib/axes/grid/grid-builder.ts +0 -74
  29. package/src/lib/axes/grid/grid-config.ts +0 -13
  30. package/src/lib/axes/grid/grid-options.ts +0 -7
  31. package/src/lib/axes/index.ts +0 -40
  32. package/src/lib/axes/label/axis-label-builder.ts +0 -140
  33. package/src/lib/axes/label/axis-label-options.ts +0 -12
  34. package/src/lib/axes/label/axis-label.ts +0 -18
  35. package/src/lib/axes/label/axis-labels.cy.ts +0 -303
  36. package/src/lib/axes/ordinal/ordinal-axis-config.ts +0 -31
  37. package/src/lib/axes/ordinal/ordinal-axis.spec.ts +0 -30
  38. package/src/lib/axes/ordinal/ordinal-axis.ts +0 -26
  39. package/src/lib/axes/quantitative/quantitative-axis-config.ts +0 -39
  40. package/src/lib/axes/quantitative/quantitative-axis-ticks.cy.ts +0 -748
  41. package/src/lib/axes/quantitative/quantitative-axis.spec.ts +0 -537
  42. package/src/lib/axes/quantitative/quantitative-axis.ts +0 -191
  43. package/src/lib/axes/ticks/tick-wrap/tick-wrap-builder.ts +0 -141
  44. package/src/lib/axes/ticks/tick-wrap/tick-wrap-options.ts +0 -11
  45. package/src/lib/axes/ticks/tick-wrap/tick-wrap.cy.ts +0 -360
  46. package/src/lib/axes/ticks/tick-wrap/tick-wrap.ts +0 -21
  47. package/src/lib/axes/ticks/ticks-builder.ts +0 -370
  48. package/src/lib/axes/ticks/ticks-options.ts +0 -24
  49. package/src/lib/axes/ticks/ticks.ts +0 -33
  50. package/src/lib/axes/x/x-axis-config.ts +0 -48
  51. package/src/lib/axes/x/x-axis.spec.ts +0 -90
  52. package/src/lib/axes/x/x-axis.ts +0 -109
  53. package/src/lib/axes/x-ordinal/x-ordinal-axis-builder.ts +0 -75
  54. package/src/lib/axes/x-ordinal/x-ordinal-axis-config.ts +0 -27
  55. package/src/lib/axes/x-ordinal/x-ordinal-axis.component.ts +0 -33
  56. package/src/lib/axes/x-quantitative/x-quantitative-axis-builder.ts +0 -74
  57. package/src/lib/axes/x-quantitative/x-quantitative-axis-config.ts +0 -32
  58. package/src/lib/axes/x-quantitative/x-quantitative-axis.component.ts +0 -40
  59. package/src/lib/axes/xy-axis.module.ts +0 -20
  60. package/src/lib/axes/y/y-axis-config.ts +0 -47
  61. package/src/lib/axes/y/y-axis.spec.ts +0 -92
  62. package/src/lib/axes/y/y-axis.ts +0 -161
  63. package/src/lib/axes/y-ordinal/y-ordinal-axis-builder.ts +0 -76
  64. package/src/lib/axes/y-ordinal/y-ordinal-axis-config.ts +0 -29
  65. package/src/lib/axes/y-ordinal/y-ordinal-axis.component.ts +0 -33
  66. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis-builder.ts +0 -74
  67. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis-config.ts +0 -34
  68. package/src/lib/axes/y-quantitative-axis/y-quantitative-axis.component.ts +0 -40
  69. package/src/lib/bars/bars.component.scss +0 -0
  70. package/src/lib/bars/bars.component.spec.ts +0 -1470
  71. package/src/lib/bars/bars.component.ts +0 -717
  72. package/src/lib/bars/bars.cy.ts +0 -829
  73. package/src/lib/bars/bars.module.ts +0 -9
  74. package/src/lib/bars/config/backgrounds/bars-backgrounds-builder.ts +0 -51
  75. package/src/lib/bars/config/backgrounds/bars-backgrounds-options.ts +0 -4
  76. package/src/lib/bars/config/backgrounds/bars-backgrounds.ts +0 -11
  77. package/src/lib/bars/config/bars-builder.ts +0 -340
  78. package/src/lib/bars/config/bars-config.spec.ts +0 -132
  79. package/src/lib/bars/config/bars-config.ts +0 -70
  80. package/src/lib/bars/config/bars-dimensions.ts +0 -29
  81. package/src/lib/bars/config/bars-options.ts +0 -20
  82. package/src/lib/bars/config/labels/bars-labels-builder.ts +0 -89
  83. package/src/lib/bars/config/labels/bars-labels-options.ts +0 -6
  84. package/src/lib/bars/config/labels/bars-labels.cy.ts +0 -781
  85. package/src/lib/bars/config/labels/bars-labels.ts +0 -13
  86. package/src/lib/bars/events/actions/bars-click-actions.ts +0 -23
  87. package/src/lib/bars/events/actions/bars-hover-actions.ts +0 -43
  88. package/src/lib/bars/events/actions/bars-hover-move-actions.ts +0 -21
  89. package/src/lib/bars/events/bars-events.directive.spec.ts +0 -186
  90. package/src/lib/bars/events/bars-events.directive.ts +0 -235
  91. package/src/lib/bars/events/bars-interaction-output.ts +0 -17
  92. package/src/lib/bars/events/bars-tooltip-positioner.ts +0 -24
  93. package/src/lib/bars/index.ts +0 -18
  94. package/src/lib/charts/chart/chart-scaling.cy.ts +0 -323
  95. package/src/lib/charts/chart/chart.component.html +0 -45
  96. package/src/lib/charts/chart/chart.component.scss +0 -37
  97. package/src/lib/charts/chart/chart.component.ts +0 -243
  98. package/src/lib/charts/chart/chart.token.ts +0 -4
  99. package/src/lib/charts/chart/chart.ts +0 -5
  100. package/src/lib/charts/chart/config/chart-builder.ts +0 -194
  101. package/src/lib/charts/chart/config/chart-config.ts +0 -21
  102. package/src/lib/charts/chart/config/chart-options.ts +0 -11
  103. package/src/lib/charts/chart.module.ts +0 -10
  104. package/src/lib/charts/index.ts +0 -9
  105. package/src/lib/charts/map-chart/map-chart.component.scss +0 -0
  106. package/src/lib/charts/map-chart/map-chart.component.spec.ts +0 -35
  107. package/src/lib/charts/map-chart/map-chart.component.ts +0 -61
  108. package/src/lib/charts/xy-chart/xy-chart.component.spec.ts +0 -34
  109. package/src/lib/charts/xy-chart/xy-chart.component.ts +0 -65
  110. package/src/lib/core/common-behaviors/constructor.ts +0 -7
  111. package/src/lib/core/index.ts +0 -11
  112. package/src/lib/core/pipes/resize-chart-height.pipe.spec.ts +0 -23
  113. package/src/lib/core/pipes/resize-chart-height.pipe.ts +0 -20
  114. package/src/lib/core/styles/_spacing.scss +0 -4
  115. package/src/lib/core/types/layout.ts +0 -28
  116. package/src/lib/core/types/scale.ts +0 -6
  117. package/src/lib/core/types/utility.ts +0 -11
  118. package/src/lib/core/types/values.ts +0 -10
  119. package/src/lib/core/utilities/colors.spec.ts +0 -57
  120. package/src/lib/core/utilities/colors.ts +0 -42
  121. package/src/lib/core/utilities/fill-utilities.spec.ts +0 -25
  122. package/src/lib/core/utilities/fill-utilities.ts +0 -21
  123. package/src/lib/core/utilities/type-guards.spec.ts +0 -55
  124. package/src/lib/core/utilities/type-guards.ts +0 -33
  125. package/src/lib/core/utilities/value-format.ts +0 -21
  126. package/src/lib/core/utilities/values.spec.ts +0 -954
  127. package/src/lib/core/utilities/values.ts +0 -189
  128. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position-builder.ts +0 -105
  129. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position-options.ts +0 -24
  130. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position.spec.ts +0 -66
  131. package/src/lib/data-dimensions/continuous-quantitative/date-chart-position/date-chart-position.ts +0 -72
  132. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/concrete-domain-padding.ts +0 -10
  133. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/domain-padding.ts +0 -76
  134. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/domain-test-utility.ts +0 -130
  135. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/percent-over/percent-over-options.ts +0 -3
  136. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/percent-over/percent-over.ts +0 -37
  137. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/pixel/pixel-options.ts +0 -3
  138. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/pixel/pixel.ts +0 -73
  139. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/quantitative-domain-padding.cy.ts +0 -978
  140. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-interval/round-to-interval-options.ts +0 -3
  141. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-interval/round-to-interval.ts +0 -27
  142. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-sig-fig/round-to-sig-fig-options.ts +0 -3
  143. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/domain-padding/round-to-sig-fig/round-to-sig-fig.ts +0 -30
  144. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position-builder.ts +0 -183
  145. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position-options.ts +0 -8
  146. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position.spec.ts +0 -28
  147. package/src/lib/data-dimensions/continuous-quantitative/number-chart-position/number-chart-position.ts +0 -62
  148. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension-options.ts +0 -15
  149. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension.spec.ts +0 -155
  150. package/src/lib/data-dimensions/continuous-quantitative/number-dimension/number-dimension.ts +0 -57
  151. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value-builder.ts +0 -166
  152. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value-options.ts +0 -10
  153. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value.spec.ts +0 -34
  154. package/src/lib/data-dimensions/continuous-quantitative/number-visual-value/number-visual-value.ts +0 -57
  155. package/src/lib/data-dimensions/dimension-builder.ts +0 -45
  156. package/src/lib/data-dimensions/dimension-options.ts +0 -12
  157. package/src/lib/data-dimensions/dimension.ts +0 -30
  158. package/src/lib/data-dimensions/index.ts +0 -31
  159. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position-builder.ts +0 -122
  160. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position-options.ts +0 -12
  161. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position.spec.ts +0 -83
  162. package/src/lib/data-dimensions/ordinal/ordinal-chart-position/ordinal-chart-position.ts +0 -101
  163. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value-builder.ts +0 -108
  164. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value-options.ts +0 -12
  165. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.cy.ts +0 -384
  166. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.spec.ts +0 -63
  167. package/src/lib/data-dimensions/ordinal/ordinal-visual-value/ordinal-visual-value.ts +0 -79
  168. package/src/lib/data-export/data-export-config.ts +0 -98
  169. package/src/lib/data-export/data-export.spec.ts +0 -33
  170. package/src/lib/data-export/data-export.ts +0 -87
  171. package/src/lib/data-export/index.ts +0 -2
  172. package/src/lib/dots/config/dots-builder.ts +0 -442
  173. package/src/lib/dots/config/dots-config.spec.ts +0 -123
  174. package/src/lib/dots/config/dots-config.ts +0 -81
  175. package/src/lib/dots/config/dots-options.ts +0 -32
  176. package/src/lib/dots/dots.component.scss +0 -0
  177. package/src/lib/dots/dots.component.spec.ts +0 -143
  178. package/src/lib/dots/dots.component.ts +0 -291
  179. package/src/lib/dots/dots.cy.ts +0 -594
  180. package/src/lib/dots/dots.module.ts +0 -9
  181. package/src/lib/dots/events/actions/dots-hover-actions.ts +0 -19
  182. package/src/lib/dots/events/actions/dots-hover-move-actions.ts +0 -38
  183. package/src/lib/dots/events/dots-events.directive.ts +0 -214
  184. package/src/lib/dots/events/dots-interaction-output.ts +0 -15
  185. package/src/lib/dots/events/dots-tooltip-positioner.ts +0 -24
  186. package/src/lib/dots/index.ts +0 -10
  187. package/src/lib/events/events.directive.ts +0 -184
  188. package/src/lib/events/events.types.ts +0 -57
  189. package/src/lib/events/index.ts +0 -4
  190. package/src/lib/events/interaction-output.ts +0 -34
  191. package/src/lib/events/tooltip-positioner.ts +0 -15
  192. package/src/lib/fill-definitions/fill-definitions.ts +0 -4
  193. package/src/lib/fill-definitions/index.ts +0 -1
  194. package/src/lib/geographies/config/geographies-builder.ts +0 -224
  195. package/src/lib/geographies/config/geographies-config.spec.ts +0 -100
  196. package/src/lib/geographies/config/geographies-config.ts +0 -81
  197. package/src/lib/geographies/config/geographies-options.ts +0 -37
  198. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer-builder.ts +0 -212
  199. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer-options.ts +0 -26
  200. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer.spec.ts +0 -119
  201. package/src/lib/geographies/config/layers/attribute-data-layer/attribute-data-layer.ts +0 -148
  202. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension-builder.ts +0 -65
  203. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension-options.ts +0 -15
  204. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data/attribute-data-dimension.ts +0 -32
  205. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-enums.ts +0 -10
  206. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/attribute-data-bin-types.ts +0 -15
  207. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins-builder.ts +0 -18
  208. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins-options.ts +0 -8
  209. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins.spec.ts +0 -60
  210. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/calculated-bins/calculated-bins.ts +0 -34
  211. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-builder.ts +0 -46
  212. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins-options.ts +0 -8
  213. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.cy.ts +0 -437
  214. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.spec.ts +0 -105
  215. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/categorical-bins/categorical-bins.ts +0 -54
  216. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins-builder.ts +0 -65
  217. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins-options.ts +0 -9
  218. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins.spec.ts +0 -82
  219. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks-bins.ts +0 -81
  220. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/custom-breaks/custom-breaks.cy.ts +0 -378
  221. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins-builder.ts +0 -50
  222. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins-options.ts +0 -8
  223. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.cy.ts +0 -362
  224. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.spec.ts +0 -72
  225. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-frequencies-bins/equal-frequencies-bins.ts +0 -56
  226. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins-builder.ts +0 -60
  227. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins-options.ts +0 -9
  228. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.cy.ts +0 -307
  229. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.spec.ts +0 -104
  230. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/equal-value-ranges-bins/equal-value-ranges-bins.ts +0 -89
  231. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins-builder.ts +0 -62
  232. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins-options.ts +0 -8
  233. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.cy.ts +0 -265
  234. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.spec.ts +0 -42
  235. package/src/lib/geographies/config/layers/attribute-data-layer/dimensions/no-bins/no-bins.ts +0 -42
  236. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer-builder.ts +0 -116
  237. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer-options.ts +0 -20
  238. package/src/lib/geographies/config/layers/geographies-layer/geographies-layer.ts +0 -104
  239. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer-builder.ts +0 -111
  240. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer-options.ts +0 -19
  241. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer.spec.ts +0 -41
  242. package/src/lib/geographies/config/layers/geojson-properties-layer/geojson-properties-layer.ts +0 -67
  243. package/src/lib/geographies/config/layers/labels/geographies-labels-builder.ts +0 -269
  244. package/src/lib/geographies/config/layers/labels/geographies-labels-options.ts +0 -45
  245. package/src/lib/geographies/config/layers/labels/geographies-labels.ts +0 -38
  246. package/src/lib/geographies/events/actions/geographies-click-actions.ts +0 -21
  247. package/src/lib/geographies/events/actions/geographies-hover-actions.ts +0 -17
  248. package/src/lib/geographies/events/actions/geographies-hover-move-actions.ts +0 -19
  249. package/src/lib/geographies/events/geographies-events.directive.spec.ts +0 -225
  250. package/src/lib/geographies/events/geographies-events.directive.ts +0 -235
  251. package/src/lib/geographies/events/geographies-interaction-output.ts +0 -17
  252. package/src/lib/geographies/events/geographies-tooltip-positioner.ts +0 -23
  253. package/src/lib/geographies/geographies-feature.ts +0 -16
  254. package/src/lib/geographies/geographies.component.html +0 -1
  255. package/src/lib/geographies/geographies.component.scss +0 -0
  256. package/src/lib/geographies/geographies.component.spec.ts +0 -148
  257. package/src/lib/geographies/geographies.component.ts +0 -318
  258. package/src/lib/geographies/geographies.cy.ts +0 -640
  259. package/src/lib/geographies/geographies.module.ts +0 -9
  260. package/src/lib/geographies/index.ts +0 -32
  261. package/src/lib/grouped-bars/config/grouped-bars-builder.ts +0 -66
  262. package/src/lib/grouped-bars/config/grouped-bars-config.ts +0 -41
  263. package/src/lib/grouped-bars/config/grouped-bars-options.ts +0 -9
  264. package/src/lib/grouped-bars/events/grouped-bars-events.directive.ts +0 -221
  265. package/src/lib/grouped-bars/grouped-bars.component.scss +0 -0
  266. package/src/lib/grouped-bars/grouped-bars.component.spec.ts +0 -25
  267. package/src/lib/grouped-bars/grouped-bars.component.ts +0 -94
  268. package/src/lib/grouped-bars/grouped-bars.module.ts +0 -9
  269. package/src/lib/grouped-bars/index.ts +0 -10
  270. package/src/lib/image-download/image-download-config.ts +0 -57
  271. package/src/lib/image-download/image-download-enums.ts +0 -7
  272. package/src/lib/image-download/image-download-options.ts +0 -14
  273. package/src/lib/image-download/image-download.service.ts +0 -70
  274. package/src/lib/image-download/index.ts +0 -4
  275. package/src/lib/lines/config/area-fills/area-fills-builder.ts +0 -87
  276. package/src/lib/lines/config/area-fills/area-fills-options.ts +0 -8
  277. package/src/lib/lines/config/area-fills/area-fills.ts +0 -14
  278. package/src/lib/lines/config/lines-builder.ts +0 -242
  279. package/src/lib/lines/config/lines-config.spec.ts +0 -52
  280. package/src/lib/lines/config/lines-config.ts +0 -96
  281. package/src/lib/lines/config/lines-options.ts +0 -19
  282. package/src/lib/lines/config/stroke/lines-stroke-builder.ts +0 -135
  283. package/src/lib/lines/config/stroke/lines-stroke-options.ts +0 -6
  284. package/src/lib/lines/config/stroke/lines-stroke.ts +0 -15
  285. package/src/lib/lines/events/actions/lines-click-actions.ts +0 -17
  286. package/src/lib/lines/events/actions/lines-hover-move-actions.ts +0 -113
  287. package/src/lib/lines/events/actions/lines-marker-click-actions.ts +0 -29
  288. package/src/lib/lines/events/lines-events.directive.spec.ts +0 -152
  289. package/src/lib/lines/events/lines-events.directive.ts +0 -310
  290. package/src/lib/lines/events/lines-interaction-output.ts +0 -17
  291. package/src/lib/lines/events/lines-tooltip-positioner.ts +0 -24
  292. package/src/lib/lines/index.ts +0 -17
  293. package/src/lib/lines/lines.component.scss +0 -0
  294. package/src/lib/lines/lines.component.spec.ts +0 -95
  295. package/src/lib/lines/lines.component.ts +0 -425
  296. package/src/lib/lines/lines.cy.ts +0 -738
  297. package/src/lib/lines/lines.module.ts +0 -9
  298. package/src/lib/map-legend/continuous-legend/continuous-legend.component.html +0 -28
  299. package/src/lib/map-legend/continuous-legend/continuous-legend.component.scss +0 -76
  300. package/src/lib/map-legend/continuous-legend/continuous-legend.component.spec.ts +0 -61
  301. package/src/lib/map-legend/continuous-legend/continuous-legend.component.ts +0 -82
  302. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.html +0 -40
  303. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.scss +0 -141
  304. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.spec.ts +0 -75
  305. package/src/lib/map-legend/discontinuous-legend/discontinuous-legend.component.ts +0 -57
  306. package/src/lib/map-legend/index.ts +0 -2
  307. package/src/lib/map-legend/map-legend-base.spec.ts +0 -190
  308. package/src/lib/map-legend/map-legend-base.ts +0 -99
  309. package/src/lib/map-legend/map-legend.component.html +0 -24
  310. package/src/lib/map-legend/map-legend.component.scss +0 -0
  311. package/src/lib/map-legend/map-legend.component.spec.ts +0 -125
  312. package/src/lib/map-legend/map-legend.component.ts +0 -80
  313. package/src/lib/map-legend/map-legend.module.ts +0 -8
  314. package/src/lib/marks/aux-marks/aux-marks.ts +0 -18
  315. package/src/lib/marks/aux-marks/config/aux-marks-builder.ts +0 -25
  316. package/src/lib/marks/aux-marks/config/aux-marks-config.ts +0 -6
  317. package/src/lib/marks/config/marks-config.ts +0 -14
  318. package/src/lib/marks/config/marks-options.ts +0 -9
  319. package/src/lib/marks/index.ts +0 -15
  320. package/src/lib/marks/map-marks/map-aux-marks/map-aux-marks.spec.ts +0 -74
  321. package/src/lib/marks/map-marks/map-aux-marks/map-aux-marks.ts +0 -40
  322. package/src/lib/marks/map-marks/map-primary-marks/map-primary-marks.spec.ts +0 -79
  323. package/src/lib/marks/map-marks/map-primary-marks/map-primary-marks.ts +0 -63
  324. package/src/lib/marks/marks.ts +0 -39
  325. package/src/lib/marks/primary-marks/config/primary-marks-builder.ts +0 -75
  326. package/src/lib/marks/primary-marks/config/primary-marks-config.ts +0 -9
  327. package/src/lib/marks/primary-marks/primary-marks-base.spec.ts +0 -58
  328. package/src/lib/marks/primary-marks/primary-marks.ts +0 -43
  329. package/src/lib/marks/xy-marks/xy-aux-marks/xy-aux-marks.ts +0 -40
  330. package/src/lib/marks/xy-marks/xy-marks-config.ts +0 -5
  331. package/src/lib/marks/xy-marks/xy-marks.ts +0 -10
  332. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks-config.ts +0 -7
  333. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks.spec.ts +0 -186
  334. package/src/lib/marks/xy-marks/xy-primary-marks/xy-primary-marks.ts +0 -72
  335. package/src/lib/point-markers/index.ts +0 -3
  336. package/src/lib/point-markers/point-markers-builder.ts +0 -93
  337. package/src/lib/point-markers/point-markers-options.ts +0 -6
  338. package/src/lib/point-markers/point-markers.ts +0 -13
  339. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels-builder.ts +0 -162
  340. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels-options.ts +0 -17
  341. package/src/lib/quantitative-rules/config/labels/quantitative-rules-labels.ts +0 -26
  342. package/src/lib/quantitative-rules/config/quantitative-rules-builder.ts +0 -134
  343. package/src/lib/quantitative-rules/config/quantitative-rules-config.ts +0 -21
  344. package/src/lib/quantitative-rules/config/quantitative-rules-dimensions.ts +0 -20
  345. package/src/lib/quantitative-rules/config/quantitative-rules-options.ts +0 -13
  346. package/src/lib/quantitative-rules/index.ts +0 -6
  347. package/src/lib/quantitative-rules/quantitative-rules.component.scss +0 -3
  348. package/src/lib/quantitative-rules/quantitative-rules.component.spec.ts +0 -50
  349. package/src/lib/quantitative-rules/quantitative-rules.component.ts +0 -224
  350. package/src/lib/quantitative-rules/quantitative-rules.cy.ts +0 -549
  351. package/src/lib/quantitative-rules/quantitative-rules.module.ts +0 -8
  352. package/src/lib/stacked-area/config/stacked-area-builder.ts +0 -264
  353. package/src/lib/stacked-area/config/stacked-area-config.spec.ts +0 -107
  354. package/src/lib/stacked-area/config/stacked-area-config.ts +0 -109
  355. package/src/lib/stacked-area/config/stacked-area-options.ts +0 -28
  356. package/src/lib/stacked-area/events/actions/stacked-area-hover-move-actions.ts +0 -17
  357. package/src/lib/stacked-area/events/stacked-area-events.directive.spec.ts +0 -168
  358. package/src/lib/stacked-area/events/stacked-area-events.directive.ts +0 -272
  359. package/src/lib/stacked-area/events/stacked-area-interaction-output.ts +0 -33
  360. package/src/lib/stacked-area/events/stacked-area-tooltip-positioner.ts +0 -37
  361. package/src/lib/stacked-area/index.ts +0 -7
  362. package/src/lib/stacked-area/stacked-area.component.scss +0 -0
  363. package/src/lib/stacked-area/stacked-area.component.spec.ts +0 -41
  364. package/src/lib/stacked-area/stacked-area.component.ts +0 -241
  365. package/src/lib/stacked-area/stacked-area.module.ts +0 -9
  366. package/src/lib/stacked-bars/config/stacked-bars-builder.ts +0 -109
  367. package/src/lib/stacked-bars/config/stacked-bars-config.spec.ts +0 -122
  368. package/src/lib/stacked-bars/config/stacked-bars-config.ts +0 -79
  369. package/src/lib/stacked-bars/config/stacked-bars-options.ts +0 -16
  370. package/src/lib/stacked-bars/events/actions/stacked-bars-click-actions.ts +0 -23
  371. package/src/lib/stacked-bars/events/actions/stacked-bars-hover-actions.ts +0 -22
  372. package/src/lib/stacked-bars/events/actions/stacked-bars-hover-move-actions.ts +0 -21
  373. package/src/lib/stacked-bars/events/stacked-bars-events.directive.spec.ts +0 -266
  374. package/src/lib/stacked-bars/events/stacked-bars-events.directive.ts +0 -240
  375. package/src/lib/stacked-bars/index.ts +0 -10
  376. package/src/lib/stacked-bars/stacked-bars.component.scss +0 -0
  377. package/src/lib/stacked-bars/stacked-bars.component.spec.ts +0 -25
  378. package/src/lib/stacked-bars/stacked-bars.component.ts +0 -158
  379. package/src/lib/stacked-bars/stacked-bars.module.ts +0 -9
  380. package/src/lib/stroke/base/stroke-base-options.ts +0 -7
  381. package/src/lib/stroke/base/stroke-base.ts +0 -9
  382. package/src/lib/stroke/index.ts +0 -5
  383. package/src/lib/stroke/stroke-builder.ts +0 -103
  384. package/src/lib/stroke/stroke-options.ts +0 -5
  385. package/src/lib/stroke/stroke.ts +0 -12
  386. package/src/lib/svg-text-wrap/index.ts +0 -3
  387. package/src/lib/svg-text-wrap/svg-text-wrap-builder.ts +0 -105
  388. package/src/lib/svg-text-wrap/svg-text-wrap-options.ts +0 -8
  389. package/src/lib/svg-text-wrap/svg-text-wrap.ts +0 -137
  390. package/src/lib/testing/data/continent-population-year-data.ts +0 -126
  391. package/src/lib/testing/data/country-area-continent.ts +0 -59
  392. package/src/lib/testing/data/state-population-income-year-data.ts +0 -123
  393. package/src/lib/testing/stubs/bars.component.stub.ts +0 -12
  394. package/src/lib/testing/stubs/chart.component.stub.ts +0 -6
  395. package/src/lib/testing/stubs/click.directive.stub.ts +0 -15
  396. package/src/lib/testing/stubs/core/destroy-ref.stub.ts +0 -9
  397. package/src/lib/testing/stubs/core/overlay-ref.stub.ts +0 -13
  398. package/src/lib/testing/stubs/core/overlay.stub.ts +0 -8
  399. package/src/lib/testing/stubs/event.directive.stub.ts +0 -10
  400. package/src/lib/testing/stubs/hover-move.directive.stub.ts +0 -17
  401. package/src/lib/testing/stubs/hover.directive.stub.ts +0 -14
  402. package/src/lib/testing/stubs/input-event.directive.stub.ts +0 -9
  403. package/src/lib/testing/stubs/lines.component.stub.ts +0 -13
  404. package/src/lib/testing/stubs/map-aux-marks.stub.ts +0 -10
  405. package/src/lib/testing/stubs/map-chart.component.stub.ts +0 -3
  406. package/src/lib/testing/stubs/map-legend-content.stub.ts +0 -16
  407. package/src/lib/testing/stubs/map-legend.component.stub.ts +0 -10
  408. package/src/lib/testing/stubs/map-primary-marks.stub.ts +0 -16
  409. package/src/lib/testing/stubs/ordinal-axis.stub.ts +0 -18
  410. package/src/lib/testing/stubs/primary-marks.stub.ts +0 -18
  411. package/src/lib/testing/stubs/quantitative-axis.stub.ts +0 -18
  412. package/src/lib/testing/stubs/services/main.service.stub.ts +0 -5
  413. package/src/lib/testing/stubs/services/utilities.service.stub.ts +0 -7
  414. package/src/lib/testing/stubs/stacked-area.component.stub.ts +0 -13
  415. package/src/lib/testing/stubs/x-axis.stub.ts +0 -10
  416. package/src/lib/testing/stubs/xy-axis.class.stub.ts +0 -20
  417. package/src/lib/testing/stubs/xy-axis.stub.ts +0 -44
  418. package/src/lib/testing/stubs/xy-chart.component.stub.ts +0 -5
  419. package/src/lib/testing/stubs/xy-data-marks.stub.ts +0 -15
  420. package/src/lib/testing/stubs/y-axis.stub.ts +0 -15
  421. package/src/lib/tooltips/config/tooltip.ts +0 -11
  422. package/src/lib/tooltips/html-tooltip/config/html-tooltip-builder.ts +0 -134
  423. package/src/lib/tooltips/html-tooltip/config/html-tooltip-config.ts +0 -21
  424. package/src/lib/tooltips/html-tooltip/config/html-tooltip-options.ts +0 -12
  425. package/src/lib/tooltips/html-tooltip/config/position/tooltip-position-builder.ts +0 -191
  426. package/src/lib/tooltips/html-tooltip/config/position/tooltip-position.ts +0 -42
  427. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size-builder.ts +0 -75
  428. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size-options.ts +0 -8
  429. package/src/lib/tooltips/html-tooltip/config/size/tooltip-size.ts +0 -15
  430. package/src/lib/tooltips/html-tooltip/html-tooltip.directive.spec.ts +0 -537
  431. package/src/lib/tooltips/html-tooltip/html-tooltip.directive.ts +0 -210
  432. package/src/lib/tooltips/html-tooltip/html-tooltip.module.ts +0 -16
  433. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.html +0 -41
  434. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.scss +0 -63
  435. package/src/lib/tooltips/html-tooltip/tooltip-triangle/tooltip-triangle.component.ts +0 -19
  436. package/src/lib/tooltips/index.ts +0 -11
  437. package/src/lib/tooltips/svg-tooltip/config/svg-tooltip.ts +0 -5
  438. package/src/lib/xy-background/index.ts +0 -2
  439. package/src/lib/xy-background/xy-background.component.html +0 -10
  440. package/src/lib/xy-background/xy-background.component.scss +0 -0
  441. package/src/lib/xy-background/xy-background.component.spec.ts +0 -24
  442. package/src/lib/xy-background/xy-background.component.ts +0 -19
  443. package/src/lib/xy-background/xy-background.module.ts +0 -8
  444. package/src/public-api.ts +0 -26
  445. package/src/test.ts +0 -15
  446. package/tsconfig.doc.json +0 -4
  447. package/tsconfig.json +0 -20
  448. package/tsconfig.lib.json +0 -23
  449. package/tsconfig.lib.prod.json +0 -10
  450. package/tsconfig.spec.json +0 -10
@@ -1,978 +0,0 @@
1
- /* eslint-disable @angular-eslint/prefer-standalone */
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { CommonModule } from '@angular/common';
4
- import { AfterViewInit, Component, Input, ViewChild } from '@angular/core';
5
- import {
6
- BarsComponent,
7
- BarsConfig,
8
- ChartConfig,
9
- VicBarsConfigBuilder,
10
- VicBarsModule,
11
- VicChartConfigBuilder,
12
- VicChartModule,
13
- VicXQuantitativeAxisConfig,
14
- VicXQuantitativeAxisConfigBuilder,
15
- VicXyAxisModule,
16
- } from '@mathstack/viz';
17
- import { beforeEach, cy, describe, expect, it } from 'local-cypress';
18
- import { BehaviorSubject } from 'rxjs';
19
- import { expectDomain } from './domain-test-utility';
20
- import { PercentOverDomainPadding } from './percent-over/percent-over';
21
- import { PixelDomainPadding } from './pixel/pixel';
22
- import { RoundUpToIntervalDomainPadding } from './round-to-interval/round-to-interval';
23
- import { RoundUpToSigFigDomainPadding } from './round-to-sig-fig/round-to-sig-fig';
24
-
25
- type Datum = { state: string; value: number };
26
- const waitTime = 100; // time to wait for the chart to render and scales to be set
27
- @Component({
28
- selector: 'vic-test-bars-quantitative-domain-padding',
29
- template: `
30
- @for (item of domain$ | async; track item) {
31
- <p class="domain-value">{{ item }}</p>
32
- }
33
- <vic-xy-chart [config]="chartConfig">
34
- <ng-container svg-elements>
35
- <svg:g
36
- vic-x-quantitative-axis
37
- [config]="xQuantitativeAxisConfig"
38
- ></svg:g>
39
- <svg:g vic-primary-marks-bars [config]="barsConfig"></svg:g>
40
- </ng-container>
41
- </vic-xy-chart>
42
- `,
43
- styles: [],
44
- imports: [VicChartModule, VicBarsModule, VicXyAxisModule, CommonModule],
45
- })
46
- class TestXQuantitativeDomainComponent implements AfterViewInit {
47
- @Input() barsConfig: BarsConfig<Datum, string>;
48
- @Input() xQuantitativeAxisConfig: VicXQuantitativeAxisConfig<number>;
49
- @ViewChild(BarsComponent) barsComponent: BarsComponent<Datum, string>;
50
- domain = new BehaviorSubject<[number, number]>([undefined, undefined]);
51
- domain$ = this.domain.asObservable();
52
- chartConfig: ChartConfig = new VicChartConfigBuilder()
53
- .maxHeight(800)
54
- .margin({ top: 20, right: 20, bottom: 20, left: 20 })
55
- .scalingStrategy('responsive-width')
56
- .getConfig();
57
-
58
- ngAfterViewInit(): void {
59
- const waitForDomain = () => {
60
- const domain = this.barsComponent?.scales?.x?.domain?.();
61
- if (
62
- domain &&
63
- domain.length === 2 &&
64
- typeof domain[0] === 'number' &&
65
- typeof domain[1] === 'number' &&
66
- domain[0] !== domain[1]
67
- ) {
68
- this.domain.next(domain as [number, number]);
69
- } else {
70
- setTimeout(waitForDomain, 20); // wait and try again
71
- }
72
- };
73
-
74
- waitForDomain();
75
- }
76
- }
77
-
78
- function getDomainValues(): Promise<[number, number]> {
79
- return new Promise((resolve) => {
80
- cy.get('.domain-value').then((els) => {
81
- resolve([+els[0].textContent, +els[1].textContent]);
82
- });
83
- });
84
- }
85
-
86
- function getD3DomainRect(): Promise<DOMRect> {
87
- return new Promise((resolve) => {
88
- cy.get('.vic-axis-x-quantitative .domain').then((domain) => {
89
- const domainRect = (domain[0] as unknown as SVGPathElement).getBBox();
90
- resolve(domainRect);
91
- });
92
- });
93
- }
94
-
95
- function distanceBetweenBarAndDomainMaxIs(
96
- barIndex: number,
97
- numPixels: number
98
- ): void {
99
- getBarWidthByIndex(barIndex).then((barWidth) => {
100
- getD3DomainRect().then((domainRect) => {
101
- const domainRightEdge = domainRect.width;
102
- expect(+barWidth + numPixels).to.be.closeTo(domainRightEdge, 1);
103
- });
104
- });
105
- }
106
-
107
- function getBarWidthByIndex(index: number): Cypress.Chainable {
108
- return cy.get('.vic-bars-bar').eq(index).invoke('attr', 'width');
109
- }
110
-
111
- describe('it correctly sets quantitative domain - all values are positive, 0 is explicitly included in domain', () => {
112
- let barsConfig: BarsConfig<Datum, string>;
113
- let axisConfig: VicXQuantitativeAxisConfig<number>;
114
- beforeEach(() => {
115
- barsConfig = new VicBarsConfigBuilder<Datum, string>()
116
- .data([
117
- { state: 'Alabama', value: 1.1 },
118
- { state: 'Alaska', value: 2.2 },
119
- { state: 'Arizona', value: 30.3 },
120
- ])
121
- .horizontal((bars) =>
122
- bars
123
- .x((dimension) => dimension.valueAccessor((d) => d.value))
124
- .y((dimension) => dimension.valueAccessor((d) => d.state))
125
- )
126
- .labels((labels) => labels.display(true))
127
- .getConfig();
128
- axisConfig = new VicXQuantitativeAxisConfigBuilder<number>()
129
- .ticks((ticks) => ticks.format('.0f'))
130
- .getConfig();
131
- });
132
- describe('X domain is the default: 0, max value', () => {
133
- beforeEach(() => {
134
- cy.mount(TestXQuantitativeDomainComponent, {
135
- componentProperties: {
136
- barsConfig: barsConfig,
137
- xQuantitativeAxisConfig: axisConfig,
138
- },
139
- });
140
- cy.wait(waitTime);
141
- });
142
- it('has a domain[0] of 0 and a domain[1] of maxValue', () => {
143
- getDomainValues().then((values) =>
144
- expectDomain(values).minToBe(0).maxToBe(30.3).validate()
145
- );
146
- });
147
- });
148
- describe('roundUp domain padding - 1 sig digit', () => {
149
- beforeEach(() => {
150
- (barsConfig.quantitative as any).domainPadding =
151
- new RoundUpToSigFigDomainPadding({
152
- sigFigures: () => 1,
153
- });
154
- cy.mount(TestXQuantitativeDomainComponent, {
155
- componentProperties: {
156
- barsConfig: barsConfig,
157
- xQuantitativeAxisConfig: axisConfig,
158
- },
159
- });
160
- cy.wait(waitTime);
161
- });
162
- it('has a domain[0] of 0 and a domain[1] maxValue whose first significant digit is rounded up by one', () => {
163
- getDomainValues().then((values) =>
164
- expectDomain(values).minToBe(0).maxToBe(40).validate()
165
- );
166
- });
167
- });
168
- describe('roundUp domain padding - 2 sig digits', () => {
169
- beforeEach(() => {
170
- (barsConfig.quantitative as any).domainPadding =
171
- new RoundUpToSigFigDomainPadding({
172
- sigFigures: () => 2,
173
- });
174
- cy.mount(TestXQuantitativeDomainComponent, {
175
- componentProperties: {
176
- barsConfig: barsConfig,
177
- xQuantitativeAxisConfig: axisConfig,
178
- },
179
- });
180
- cy.wait(waitTime);
181
- });
182
- it('has a domain[0] of 0 and a domain[1] of maxValue whose second significant digit is rounded up by one', () => {
183
- getDomainValues().then((values) =>
184
- expectDomain(values).minToBe(0).maxToBe(31).validate()
185
- );
186
- });
187
- });
188
- describe('roundUpToInterval domain padding', () => {
189
- beforeEach(() => {
190
- (barsConfig.quantitative as any).domainPadding =
191
- new RoundUpToIntervalDomainPadding({
192
- interval: () => 5,
193
- });
194
- cy.mount(TestXQuantitativeDomainComponent, {
195
- componentProperties: {
196
- barsConfig: barsConfig,
197
- xQuantitativeAxisConfig: axisConfig,
198
- },
199
- });
200
- cy.wait(waitTime);
201
- });
202
- it('has a domain[0] of 0 and a domain[1] of maxValue rounded up to the nearest 10', () => {
203
- getDomainValues().then((values) =>
204
- expectDomain(values).minToBe(0).maxToBe(35).validate()
205
- );
206
- });
207
- });
208
- describe('percent over domain padding', () => {
209
- beforeEach(() => {
210
- barsConfig.data.find((d) => d.state === 'Arizona').value = 20;
211
- (barsConfig.quantitative as any).domainPadding =
212
- new PercentOverDomainPadding({
213
- percentOver: 0.05,
214
- });
215
- cy.mount(TestXQuantitativeDomainComponent, {
216
- componentProperties: {
217
- barsConfig: barsConfig,
218
- xQuantitativeAxisConfig: axisConfig,
219
- },
220
- });
221
- cy.wait(waitTime);
222
- });
223
- it('has a domain[0] of 0 and a domain[1] of maxValue * (1 + percent over)', () => {
224
- getDomainValues().then((values) =>
225
- expectDomain(values).minToBe(0).maxToBe(21).validate()
226
- );
227
- });
228
- });
229
- describe('pixel domain padding', () => {
230
- const numPixels = 50;
231
- beforeEach(() => {
232
- (barsConfig.quantitative as any).domainPadding = new PixelDomainPadding({
233
- numPixels,
234
- });
235
- cy.mount(TestXQuantitativeDomainComponent, {
236
- componentProperties: {
237
- barsConfig: barsConfig,
238
- xQuantitativeAxisConfig: axisConfig,
239
- },
240
- });
241
- cy.wait(waitTime);
242
- });
243
- it('has the correct padding', () => {
244
- distanceBetweenBarAndDomainMaxIs(2, numPixels);
245
- });
246
- });
247
- });
248
-
249
- describe('it correctly sets quantitative domain - all values are positive, 0 is NOT in domain', () => {
250
- let barsConfig: BarsConfig<Datum, string>;
251
- let axisConfig: VicXQuantitativeAxisConfig<number>;
252
- beforeEach(() => {
253
- barsConfig = new VicBarsConfigBuilder<Datum, string>()
254
- .data([
255
- { state: 'Alabama', value: 1.1 },
256
- { state: 'Alaska', value: 2.2 },
257
- { state: 'Arizona', value: 30.3 },
258
- ])
259
- .horizontal((bars) =>
260
- bars
261
- .x((dimension) => dimension.valueAccessor((d) => d.value))
262
- .y((dimension) => dimension.valueAccessor((d) => d.state))
263
- )
264
- .labels((labels) => labels.display(true))
265
- .getConfig();
266
- axisConfig = new VicXQuantitativeAxisConfigBuilder<number>()
267
- .ticks((ticks) => ticks.format('.0f'))
268
- .getConfig();
269
- });
270
- describe('X domain is default/not padded', () => {
271
- beforeEach(() => {
272
- cy.mount(TestXQuantitativeDomainComponent, {
273
- componentProperties: {
274
- barsConfig: barsConfig,
275
- xQuantitativeAxisConfig: axisConfig,
276
- },
277
- });
278
- cy.wait(waitTime);
279
- });
280
- it('has a domain[0] of minValue and a a domain[1] of maxValue', () => {
281
- getDomainValues().then((values) =>
282
- expectDomain(values).minToBe(1.1).maxToBe(30.3).validate()
283
- );
284
- });
285
- });
286
- describe('roundUp domain padding - 1 sig digit', () => {
287
- beforeEach(() => {
288
- (barsConfig.quantitative as any).domainPadding =
289
- new RoundUpToSigFigDomainPadding({
290
- sigFigures: () => 1,
291
- });
292
- cy.mount(TestXQuantitativeDomainComponent, {
293
- componentProperties: {
294
- barsConfig: barsConfig,
295
- xQuantitativeAxisConfig: axisConfig,
296
- },
297
- });
298
- cy.wait(waitTime);
299
- });
300
- it('has a domain[0] of 0 and a domain[1] maxValue whose first significant digit is rounded up by one', () => {
301
- getDomainValues().then((values) =>
302
- expectDomain(values).minToBe(1.1).maxToBe(40).validate()
303
- );
304
- });
305
- });
306
- describe('roundUp domain padding - 2 sig digits', () => {
307
- beforeEach(() => {
308
- (barsConfig.quantitative as any).domainPadding =
309
- new RoundUpToSigFigDomainPadding({
310
- sigFigures: () => 2,
311
- });
312
- cy.mount(TestXQuantitativeDomainComponent, {
313
- componentProperties: {
314
- barsConfig: barsConfig,
315
- xQuantitativeAxisConfig: axisConfig,
316
- },
317
- });
318
- cy.wait(waitTime);
319
- });
320
- it('has a domain[0] of minValue and a domain of minValue, maxValue whose second significant digit is rounded up by one', () => {
321
- getDomainValues().then((values) =>
322
- expectDomain(values).minToBe(1.1).maxToBe(31).validate()
323
- );
324
- });
325
- });
326
- describe('roundUpToInterval domain padding', () => {
327
- beforeEach(() => {
328
- (barsConfig.quantitative as any).domainPadding =
329
- new RoundUpToIntervalDomainPadding({
330
- interval: () => 5,
331
- });
332
- cy.mount(TestXQuantitativeDomainComponent, {
333
- componentProperties: {
334
- barsConfig: barsConfig,
335
- xQuantitativeAxisConfig: axisConfig,
336
- },
337
- });
338
- });
339
- it('has a domain[0] of minValue and a domain[1] of maxValue rounded up to the nearest 10', () => {
340
- getDomainValues().then((values) =>
341
- expectDomain(values).minToBe(1.1).maxToBe(35).validate()
342
- );
343
- });
344
- });
345
- describe('percent over domain padding', () => {
346
- beforeEach(() => {
347
- barsConfig.data.find((d) => d.state === 'Arizona').value = 20;
348
- (barsConfig.quantitative as any).domainPadding =
349
- new PercentOverDomainPadding({
350
- percentOver: 0.05,
351
- });
352
- cy.mount(TestXQuantitativeDomainComponent, {
353
- componentProperties: {
354
- barsConfig: barsConfig,
355
- xQuantitativeAxisConfig: axisConfig,
356
- },
357
- });
358
- cy.wait(waitTime);
359
- });
360
- it('has a domain[0] of minValue and a domain[1] of maxValue * (1 + percent over)', () => {
361
- getDomainValues().then((values) =>
362
- expectDomain(values).minToBe(1.1).maxToBe(21).validate()
363
- );
364
- });
365
- });
366
- describe('pixel domain padding', () => {
367
- const numPixels = 50;
368
- beforeEach(() => {
369
- (barsConfig.quantitative as any).domainPadding = new PixelDomainPadding({
370
- numPixels,
371
- });
372
- cy.mount(TestXQuantitativeDomainComponent, {
373
- componentProperties: {
374
- barsConfig: barsConfig,
375
- xQuantitativeAxisConfig: axisConfig,
376
- },
377
- });
378
- cy.wait(waitTime);
379
- });
380
- it('has the correct padding', () => {
381
- distanceBetweenBarAndDomainMaxIs(2, numPixels);
382
- });
383
- });
384
- });
385
-
386
- describe('it correctly sets quantitative domain - all values are negative, 0 is explicitly included in domain', () => {
387
- let barsConfig: BarsConfig<Datum, string>;
388
- let axisConfig: VicXQuantitativeAxisConfig<number>;
389
- beforeEach(() => {
390
- barsConfig = new VicBarsConfigBuilder<Datum, string>()
391
- .data([
392
- { state: 'Alabama', value: -1.1 },
393
- { state: 'Alaska', value: -2.2 },
394
- { state: 'Arizona', value: -30.3 },
395
- ])
396
- .horizontal((bars) =>
397
- bars
398
- .x((dimension) => dimension.valueAccessor((d) => d.value))
399
- .y((dimension) => dimension.valueAccessor((d) => d.state))
400
- )
401
- .labels((labels) => labels.display(true))
402
- .getConfig();
403
- axisConfig = new VicXQuantitativeAxisConfigBuilder<number>()
404
- .ticks((ticks) => ticks.format('.0f'))
405
- .getConfig();
406
- });
407
- describe('X domain is the default: min value, 0', () => {
408
- beforeEach(() => {
409
- cy.mount(TestXQuantitativeDomainComponent, {
410
- componentProperties: {
411
- barsConfig: barsConfig,
412
- xQuantitativeAxisConfig: axisConfig,
413
- },
414
- });
415
- cy.wait(waitTime);
416
- });
417
- it('has a domain[0] of minValue and a a domain[1] of 0', () => {
418
- getDomainValues().then((values) =>
419
- expectDomain(values).minToBe(-30.3).maxToBe(0).validate()
420
- );
421
- });
422
- });
423
- describe('X domain turns off including 0', () => {
424
- beforeEach(() => {
425
- (barsConfig.quantitative as any).includeZeroInDomain = false;
426
- cy.mount(TestXQuantitativeDomainComponent, {
427
- componentProperties: {
428
- barsConfig: barsConfig,
429
- xQuantitativeAxisConfig: axisConfig,
430
- },
431
- });
432
- cy.wait(waitTime);
433
- });
434
- it('has a domain[0] of minValue and a domain[1] of maxValue', () => {
435
- getDomainValues().then((values) =>
436
- expectDomain(values).minToBe(-30.3).maxToBe(-1.1).validate()
437
- );
438
- });
439
- });
440
- describe('roundUp domain padding - 1 sig digit', () => {
441
- beforeEach(() => {
442
- (barsConfig.quantitative as any).domainPadding =
443
- new RoundUpToSigFigDomainPadding({
444
- sigFigures: () => 1,
445
- });
446
- cy.mount(TestXQuantitativeDomainComponent, {
447
- componentProperties: {
448
- barsConfig: barsConfig,
449
- xQuantitativeAxisConfig: axisConfig,
450
- },
451
- });
452
- cy.wait(waitTime);
453
- });
454
- it('has a domain[0] minValue whose first significant digit is rounded out by one and a a domain[1] of 0', () => {
455
- getDomainValues().then((values) =>
456
- expectDomain(values).minToBe(-40).maxToBe(0).validate()
457
- );
458
- });
459
- });
460
- describe('roundUp domain padding - 2 sig digits', () => {
461
- beforeEach(() => {
462
- (barsConfig.quantitative as any).domainPadding =
463
- new RoundUpToSigFigDomainPadding({
464
- sigFigures: () => 2,
465
- });
466
- cy.mount(TestXQuantitativeDomainComponent, {
467
- componentProperties: {
468
- barsConfig: barsConfig,
469
- xQuantitativeAxisConfig: axisConfig,
470
- },
471
- });
472
- cy.wait(waitTime);
473
- });
474
- it('has a domain of minValue whose second significant digit is rounded out by one and a domain[1] of 0', () => {
475
- getDomainValues().then((values) =>
476
- expectDomain(values).minToBe(-31).maxToBe(0).validate()
477
- );
478
- });
479
- });
480
- describe('roundUpToInterval domain padding', () => {
481
- beforeEach(() => {
482
- (barsConfig.quantitative as any).domainPadding =
483
- new RoundUpToIntervalDomainPadding({
484
- interval: () => 5,
485
- });
486
- cy.mount(TestXQuantitativeDomainComponent, {
487
- componentProperties: {
488
- barsConfig: barsConfig,
489
- xQuantitativeAxisConfig: axisConfig,
490
- },
491
- });
492
- cy.wait(waitTime);
493
- });
494
- it('has a domain of minValue rounded out to the nearest 5 and a domain[1] of 0', () => {
495
- getDomainValues().then((values) =>
496
- expectDomain(values).minToBe(-35).maxToBe(0).validate()
497
- );
498
- });
499
- });
500
- describe('percent over domain padding', () => {
501
- beforeEach(() => {
502
- barsConfig.data.find((d) => d.state === 'Arizona').value = -20;
503
- (barsConfig.quantitative as any).domainPadding =
504
- new PercentOverDomainPadding({
505
- percentOver: 0.05,
506
- });
507
- cy.mount(TestXQuantitativeDomainComponent, {
508
- componentProperties: {
509
- barsConfig: barsConfig,
510
- xQuantitativeAxisConfig: axisConfig,
511
- },
512
- });
513
- cy.wait(waitTime);
514
- });
515
- it('has a domain[0] of minValue * (1 + percent over) and a domain[1] of 0', () => {
516
- getDomainValues().then((values) =>
517
- expectDomain(values).minToBe(-21).maxToBe(0).validate()
518
- );
519
- });
520
- });
521
- describe('pixel domain padding', () => {
522
- const numPixels = 40;
523
- beforeEach(() => {
524
- (barsConfig.quantitative as any).domainPadding = new PixelDomainPadding({
525
- numPixels,
526
- });
527
- cy.mount(TestXQuantitativeDomainComponent, {
528
- componentProperties: {
529
- barsConfig: barsConfig,
530
- xQuantitativeAxisConfig: axisConfig,
531
- },
532
- });
533
- cy.wait(waitTime);
534
- });
535
- it('has the correct padding', () => {
536
- distanceBetweenBarAndDomainMaxIs(2, numPixels);
537
- });
538
- });
539
- });
540
-
541
- describe('it correctly sets quantitative domain - all values are negative, 0 is NOT in domain', () => {
542
- let barsConfig: BarsConfig<Datum, string>;
543
- let axisConfig: VicXQuantitativeAxisConfig<number>;
544
- beforeEach(() => {
545
- barsConfig = new VicBarsConfigBuilder<Datum, string>()
546
- .data([
547
- { state: 'Alabama', value: -1.1 },
548
- { state: 'Alaska', value: -2.2 },
549
- { state: 'Arizona', value: -30.3 },
550
- ])
551
- .horizontal((bars) =>
552
- bars
553
- .x((dimension) => dimension.valueAccessor((d) => d.value))
554
- .y((dimension) => dimension.valueAccessor((d) => d.state))
555
- )
556
- .labels((labels) => labels.display(true))
557
- .getConfig();
558
- axisConfig = new VicXQuantitativeAxisConfigBuilder<number>()
559
- .ticks((ticks) => ticks.format('.0f'))
560
- .getConfig();
561
- });
562
- describe('X domain turns off including 0', () => {
563
- beforeEach(() => {
564
- cy.mount(TestXQuantitativeDomainComponent, {
565
- componentProperties: {
566
- barsConfig: barsConfig,
567
- xQuantitativeAxisConfig: axisConfig,
568
- },
569
- });
570
- cy.wait(waitTime);
571
- });
572
- it('has a domain[0] of minValue and a domain[1] of maxValue', () => {
573
- getDomainValues().then((values) =>
574
- expectDomain(values).minToBe(-30.3).maxToBe(-1.1).validate()
575
- );
576
- });
577
- });
578
- describe('roundUp domain padding - 1 sig digit', () => {
579
- beforeEach(() => {
580
- (barsConfig.quantitative as any).domainPadding =
581
- new RoundUpToSigFigDomainPadding({
582
- sigFigures: () => 1,
583
- });
584
- cy.mount(TestXQuantitativeDomainComponent, {
585
- componentProperties: {
586
- barsConfig: barsConfig,
587
- xQuantitativeAxisConfig: axisConfig,
588
- },
589
- });
590
- cy.wait(waitTime);
591
- });
592
- it('has a domain[0] of minValue whose first significant digit is rounded out by one sig digit and a domain[1] of maxValue', () => {
593
- getDomainValues().then((values) =>
594
- expectDomain(values).minToBe(-40).maxToBe(-1.1).validate()
595
- );
596
- });
597
- });
598
- describe('roundUp domain padding - 2 sig digits', () => {
599
- beforeEach(() => {
600
- (barsConfig.quantitative as any).domainPadding =
601
- new RoundUpToSigFigDomainPadding({
602
- sigFigures: () => 2,
603
- });
604
- cy.mount(TestXQuantitativeDomainComponent, {
605
- componentProperties: {
606
- barsConfig: barsConfig,
607
- xQuantitativeAxisConfig: axisConfig,
608
- },
609
- });
610
- cy.wait(waitTime);
611
- });
612
- it('has a domain[0] of minValue whose second significant digit is rounded up by one and a domain[1] of maxValue', () => {
613
- getDomainValues().then((values) =>
614
- expectDomain(values).minToBe(-31).maxToBe(-1.1).validate()
615
- );
616
- });
617
- });
618
- describe('roundUpToInterval domain padding', () => {
619
- beforeEach(() => {
620
- (barsConfig.quantitative as any).domainPadding =
621
- new RoundUpToIntervalDomainPadding({ interval: () => 5 });
622
- cy.mount(TestXQuantitativeDomainComponent, {
623
- componentProperties: {
624
- barsConfig: barsConfig,
625
- xQuantitativeAxisConfig: axisConfig,
626
- },
627
- });
628
- cy.wait(waitTime);
629
- });
630
- it('has a domain of minValue rounded out to the nearest 5 and a domain[1] maxValue', () => {
631
- getDomainValues().then((values) =>
632
- expectDomain(values).minToBe(-35).maxToBe(-1.1).validate()
633
- );
634
- });
635
- });
636
- describe('percent over domain padding', () => {
637
- beforeEach(() => {
638
- barsConfig.data.find((d) => d.state === 'Arizona').value = -20;
639
- (barsConfig.quantitative as any).domainPadding =
640
- new PercentOverDomainPadding({
641
- percentOver: 0.05,
642
- });
643
- cy.mount(TestXQuantitativeDomainComponent, {
644
- componentProperties: {
645
- barsConfig: barsConfig,
646
- xQuantitativeAxisConfig: axisConfig,
647
- },
648
- });
649
- cy.wait(waitTime);
650
- });
651
- it('has a domain[0] of minValue * (1 + percent over) and a domain[1] of maxValue', () => {
652
- getDomainValues().then((values) =>
653
- expectDomain(values).minToBe(-21).maxToBe(-1.1).validate()
654
- );
655
- });
656
- });
657
- describe('pixel domain padding', () => {
658
- const numPixels = 40;
659
- beforeEach(() => {
660
- (barsConfig.quantitative as any).domainPadding = new PixelDomainPadding({
661
- numPixels: numPixels,
662
- });
663
- cy.mount(TestXQuantitativeDomainComponent, {
664
- componentProperties: {
665
- barsConfig: barsConfig,
666
- xQuantitativeAxisConfig: axisConfig,
667
- },
668
- });
669
- cy.wait(waitTime);
670
- });
671
- it('has the correct padding', () => {
672
- distanceBetweenBarAndDomainMaxIs(2, numPixels);
673
- });
674
- });
675
- });
676
-
677
- describe('it correctly sets quantitative domain - values are positive and negative', () => {
678
- let barsConfig: BarsConfig<Datum, string>;
679
- let axisConfig: VicXQuantitativeAxisConfig<number>;
680
- beforeEach(() => {
681
- barsConfig = new VicBarsConfigBuilder<Datum, string>()
682
- .data([
683
- { state: 'Alabama', value: 1.1 },
684
- { state: 'Alaska', value: 2.2 },
685
- { state: 'Arizona', value: 30.3 },
686
- { state: 'Arkansas', value: -2.2 },
687
- { state: 'California', value: -60.6 },
688
- ])
689
- .horizontal((bars) =>
690
- bars
691
- .x((dimension) => dimension.valueAccessor((d) => d.value))
692
- .y((dimension) => dimension.valueAccessor((d) => d.state))
693
- )
694
- .labels((labels) => labels.display(true))
695
- .getConfig();
696
- axisConfig = new VicXQuantitativeAxisConfigBuilder<number>()
697
- .ticks((ticks) => ticks.format('.0f'))
698
- .getConfig();
699
- });
700
- describe('X domain is the default: min value, 0', () => {
701
- beforeEach(() => {
702
- cy.mount(TestXQuantitativeDomainComponent, {
703
- componentProperties: {
704
- barsConfig: barsConfig,
705
- xQuantitativeAxisConfig: axisConfig,
706
- },
707
- });
708
- cy.wait(waitTime);
709
- });
710
- it('has a domain[0] of minValue and a domain[1] maxValue', () => {
711
- getDomainValues().then((values) =>
712
- expectDomain(values).minToBe(-60.6).maxToBe(30.3).validate()
713
- );
714
- });
715
- });
716
- describe('X domain turns off including 0', () => {
717
- beforeEach(() => {
718
- (barsConfig.quantitative as any).includeZeroInDomain = false;
719
- cy.mount(TestXQuantitativeDomainComponent, {
720
- componentProperties: {
721
- barsConfig: barsConfig,
722
- xQuantitativeAxisConfig: axisConfig,
723
- },
724
- });
725
- cy.wait(waitTime);
726
- });
727
- it('has a domain[0] of minValue and a domain[1] of maxValue', () => {
728
- getDomainValues().then((values) =>
729
- expectDomain(values).minToBe(-60.6).maxToBe(30.3).validate()
730
- );
731
- });
732
- });
733
- describe('roundUp domain padding - 1 sig digit', () => {
734
- beforeEach(() => {
735
- (barsConfig.quantitative as any).domainPadding =
736
- new RoundUpToSigFigDomainPadding({
737
- sigFigures: () => 1,
738
- });
739
- cy.mount(TestXQuantitativeDomainComponent, {
740
- componentProperties: {
741
- barsConfig: barsConfig,
742
- xQuantitativeAxisConfig: axisConfig,
743
- },
744
- });
745
- cy.wait(waitTime);
746
- });
747
- it('has a domain[0] of minValue whose first significant digit is rounded out by one and a domain[1] of maxValue whose first significant digit is rounded out by one', () => {
748
- getDomainValues().then((values) =>
749
- expectDomain(values).minToBe(-70).maxToBe(40).validate()
750
- );
751
- });
752
- });
753
- describe('roundUp domain padding - 2 sig digits', () => {
754
- beforeEach(() => {
755
- (barsConfig.quantitative as any).domainPadding =
756
- new RoundUpToSigFigDomainPadding({
757
- sigFigures: () => 2,
758
- });
759
- cy.mount(TestXQuantitativeDomainComponent, {
760
- componentProperties: {
761
- barsConfig: barsConfig,
762
- xQuantitativeAxisConfig: axisConfig,
763
- },
764
- });
765
- cy.wait(waitTime);
766
- });
767
- it('has a domain[0] whose minValue whose second significant digit is rounded out by one and a domain[1] whose maxValue whose second significant digit is rounded out by one', () => {
768
- getDomainValues().then((values) =>
769
- expectDomain(values).minToBe(-61).maxToBe(31).validate()
770
- );
771
- });
772
- });
773
- describe('roundUpToInterval domain padding', () => {
774
- beforeEach(() => {
775
- (barsConfig.quantitative as any).domainPadding =
776
- new RoundUpToIntervalDomainPadding({ interval: () => 5 });
777
- cy.mount(TestXQuantitativeDomainComponent, {
778
- componentProperties: {
779
- barsConfig: barsConfig,
780
- xQuantitativeAxisConfig: axisConfig,
781
- },
782
- });
783
- cy.wait(waitTime);
784
- });
785
- it('has a domain[0] of minValue rounded out to the nearest 5 and a domain[1] of maxValue rounded out to the nearest 5', () => {
786
- getDomainValues().then((values) =>
787
- expectDomain(values).minToBe(-65).maxToBe(35).validate()
788
- );
789
- });
790
- });
791
- describe('percent over domain padding', () => {
792
- beforeEach(() => {
793
- barsConfig.data.find((d) => d.state === 'Arizona').value = 20;
794
- barsConfig.data.find((d) => d.state === 'California').value = -60;
795
- (barsConfig.quantitative as any).domainPadding =
796
- new PercentOverDomainPadding({
797
- percentOver: 0.05,
798
- });
799
- cy.mount(TestXQuantitativeDomainComponent, {
800
- componentProperties: {
801
- barsConfig: barsConfig,
802
- xQuantitativeAxisConfig: axisConfig,
803
- },
804
- });
805
- cy.wait(waitTime);
806
- });
807
- it('has a domain[0] of minValue * (1 + percent over) and a domain[1] of maxValue * (1 + percent over)', () => {
808
- getDomainValues().then((values) =>
809
- expectDomain(values).minToBe(-63).maxToBe(21).validate()
810
- );
811
- });
812
- });
813
- describe('pixel domain padding', () => {
814
- const numPixels = 60;
815
- beforeEach(() => {
816
- (barsConfig.quantitative as any).domainPadding = new PixelDomainPadding({
817
- numPixels: numPixels,
818
- });
819
- cy.mount(TestXQuantitativeDomainComponent, {
820
- componentProperties: {
821
- barsConfig: barsConfig,
822
- xQuantitativeAxisConfig: axisConfig,
823
- },
824
- });
825
- cy.wait(waitTime);
826
- });
827
- it('has the correct padding', () => {
828
- getBarWidthByIndex(2).then((positiveBarWidth) => {
829
- getBarWidthByIndex(4).then((negativeBarWidth) => {
830
- getD3DomainRect().then((domainRect) => {
831
- expect(
832
- +positiveBarWidth + +negativeBarWidth + 2 * numPixels
833
- ).to.be.closeTo(domainRect.width, 1);
834
- });
835
- });
836
- });
837
- });
838
- });
839
- });
840
-
841
- describe('it correctly sets quantitative domain - all values are positive and less than one, 0 is explicitly included in domain', () => {
842
- let barsConfig: BarsConfig<Datum, string>;
843
- let axisConfig: VicXQuantitativeAxisConfig<number>;
844
- beforeEach(() => {
845
- barsConfig = new VicBarsConfigBuilder<Datum, string>()
846
- .data([
847
- { state: 'Alabama', value: 0.01 },
848
- { state: 'Alaska', value: 0.22 },
849
- { state: 'Arizona', value: 0.303 },
850
- ])
851
- .horizontal((bars) =>
852
- bars
853
- .x((dimension) => dimension.valueAccessor((d) => d.value))
854
- .y((dimension) => dimension.valueAccessor((d) => d.state))
855
- )
856
- .labels((labels) => labels.display(true))
857
- .getConfig();
858
- axisConfig = new VicXQuantitativeAxisConfigBuilder<number>()
859
- .ticks((ticks) => ticks.format('.0f'))
860
- .getConfig();
861
- });
862
- describe('X domain is the default: 0, max value', () => {
863
- beforeEach(() => {
864
- cy.mount(TestXQuantitativeDomainComponent, {
865
- componentProperties: {
866
- barsConfig: barsConfig,
867
- xQuantitativeAxisConfig: axisConfig,
868
- },
869
- });
870
- cy.wait(waitTime);
871
- });
872
- it('has a domain[0] of 0 and a domain[1] of maxValue', () => {
873
- getDomainValues().then((values) =>
874
- expectDomain(values).minToBe(0).maxToBe(0.303).validate()
875
- );
876
- });
877
- });
878
- describe('roundUp domain padding - 1 sig digit', () => {
879
- beforeEach(() => {
880
- (barsConfig.quantitative as any).domainPadding =
881
- new RoundUpToSigFigDomainPadding({
882
- sigFigures: () => 1,
883
- });
884
- cy.mount(TestXQuantitativeDomainComponent, {
885
- componentProperties: {
886
- barsConfig: barsConfig,
887
- xQuantitativeAxisConfig: axisConfig,
888
- },
889
- });
890
- cy.wait(waitTime);
891
- });
892
- it('has a domain[0] of 0 and a domain[1] maxValue whose first significant digit is rounded up by one', () => {
893
- getDomainValues().then((values) =>
894
- expectDomain(values).minToBe(0).maxToBe(0.4).validate()
895
- );
896
- });
897
- });
898
- describe('roundUp domain padding - 2 sig digits', () => {
899
- beforeEach(() => {
900
- (barsConfig.quantitative as any).domainPadding =
901
- new RoundUpToSigFigDomainPadding({
902
- sigFigures: () => 2,
903
- });
904
- cy.mount(TestXQuantitativeDomainComponent, {
905
- componentProperties: {
906
- barsConfig: barsConfig,
907
- xQuantitativeAxisConfig: axisConfig,
908
- },
909
- });
910
- cy.wait(waitTime);
911
- });
912
- it('has a domain[0] of 0 and a domain[1] of maxValue whose second significant digit is rounded up by one', () => {
913
- getDomainValues().then((values) =>
914
- expectDomain(values).minToBe(0).maxToBe(0.31).validate()
915
- );
916
- });
917
- });
918
- describe('roundUpToInterval domain padding', () => {
919
- beforeEach(() => {
920
- (barsConfig.quantitative as any).domainPadding =
921
- new RoundUpToIntervalDomainPadding({ interval: () => 0.2 });
922
- cy.mount(TestXQuantitativeDomainComponent, {
923
- componentProperties: {
924
- barsConfig: barsConfig,
925
- xQuantitativeAxisConfig: axisConfig,
926
- },
927
- });
928
- cy.wait(waitTime);
929
- });
930
- it('has a domain[0] of 0 and a domain[1] of maxValue rounded up to the nearest 0.2', () => {
931
- getDomainValues().then((values) =>
932
- expectDomain(values).minToBe(0).maxToBe(0.4).validate()
933
- );
934
- });
935
- });
936
- describe('percent over domain padding', () => {
937
- beforeEach(() => {
938
- barsConfig.data.find((d) => d.state === 'Arizona').value = 0.4;
939
- (barsConfig.quantitative as any).domainPadding =
940
- new PercentOverDomainPadding({
941
- percentOver: 0.05,
942
- });
943
- cy.mount(TestXQuantitativeDomainComponent, {
944
- componentProperties: {
945
- barsConfig: barsConfig,
946
- xQuantitativeAxisConfig: axisConfig,
947
- },
948
- });
949
- cy.wait(waitTime);
950
- });
951
- it('has a domain[0] of 0 and a domain[1] of maxValue * (1 + percent over)', () => {
952
- getDomainValues().then((values) =>
953
- expectDomain(values)
954
- .minToBe(0)
955
- .maxToBe(0.42, { assert: 'isCloseTo' })
956
- .validate()
957
- );
958
- });
959
- });
960
- describe('pixel domain padding', () => {
961
- const numPixels = 30;
962
- beforeEach(() => {
963
- (barsConfig.quantitative as any).domainPadding = new PixelDomainPadding({
964
- numPixels: numPixels,
965
- });
966
- cy.mount(TestXQuantitativeDomainComponent, {
967
- componentProperties: {
968
- barsConfig: barsConfig,
969
- xQuantitativeAxisConfig: axisConfig,
970
- },
971
- });
972
- cy.wait(waitTime);
973
- });
974
- it('has the correct padding', () => {
975
- distanceBetweenBarAndDomainMaxIs(2, numPixels);
976
- });
977
- });
978
- });