@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,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
- });