@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,42 +0,0 @@
1
- import {
2
- ConnectedPosition,
3
- FlexibleConnectedPositionStrategy,
4
- OverlayPositionBuilder,
5
- } from '@angular/cdk/overlay';
6
-
7
- export type TooltipPositionConfig = {
8
- originX: 'start' | 'center' | 'end';
9
- originY: 'top' | 'center' | 'bottom';
10
- overlayX: 'start' | 'center' | 'end';
11
- overlayY: 'top' | 'center' | 'bottom';
12
- };
13
-
14
- export class TooltipPosition implements ConnectedPosition {
15
- originX: TooltipPositionConfig['originX'];
16
- originY: TooltipPositionConfig['originY'];
17
- overlayX: TooltipPositionConfig['overlayX'];
18
- overlayY: TooltipPositionConfig['overlayY'];
19
- weight?: number;
20
- offsetX?: number;
21
- offsetY?: number;
22
- panelClass?: string | string[];
23
-
24
- constructor(config: TooltipPositionConfig & Partial<ConnectedPosition>) {
25
- Object.assign(this, config); // Merge any additional overrides
26
- }
27
- }
28
-
29
- export class HtmlTooltipCdkManagedPosition {
30
- constructor(public positions: ConnectedPosition[]) {}
31
-
32
- getPositionStrategy(
33
- origin: Element,
34
- overlayPositionBuilder: OverlayPositionBuilder
35
- ): FlexibleConnectedPositionStrategy {
36
- return overlayPositionBuilder
37
- .flexibleConnectedTo(origin)
38
- .withPositions(this.positions)
39
- .withFlexibleDimensions(false)
40
- .withPush(false);
41
- }
42
- }
@@ -1,75 +0,0 @@
1
- import { HtmlTooltipSize } from './tooltip-size';
2
-
3
- export class HtmlTooltipSizeBuilder {
4
- _width: number | string;
5
- _height: number | string;
6
- _minWidth: number | string;
7
- _minHeight: number | string;
8
- _maxWidth: number | string;
9
- _maxHeight: number | string;
10
-
11
- width(width: number | string | null) {
12
- if (width === null) {
13
- this._width = undefined;
14
- return this;
15
- }
16
- this._width = width;
17
- return this;
18
- }
19
-
20
- height(height: number | string | null) {
21
- if (height === null) {
22
- this._height = undefined;
23
- return this;
24
- }
25
- this._height = height;
26
- return this;
27
- }
28
-
29
- minWidth(minWidth: number | string | null) {
30
- if (minWidth === null) {
31
- this._minWidth = undefined;
32
- return this;
33
- }
34
- this._minWidth = minWidth;
35
- return this;
36
- }
37
-
38
- minHeight(minHeight: number | string | null) {
39
- if (minHeight === null) {
40
- this._minHeight = undefined;
41
- return this;
42
- }
43
- this._minHeight = minHeight;
44
- return this;
45
- }
46
-
47
- maxWidth(maxWidth: number | string | null) {
48
- if (maxWidth === null) {
49
- this._maxWidth = undefined;
50
- return this;
51
- }
52
- this._maxWidth = maxWidth;
53
- return this;
54
- }
55
-
56
- maxHeight(maxHeight: number | string | null) {
57
- if (maxHeight === null) {
58
- this._maxHeight = undefined;
59
- return this;
60
- }
61
- this._maxHeight = maxHeight;
62
- return this;
63
- }
64
-
65
- _build(): HtmlTooltipSize {
66
- return new HtmlTooltipSize({
67
- width: this._width,
68
- height: this._height,
69
- minWidth: this._minWidth,
70
- minHeight: this._minHeight,
71
- maxWidth: this._maxWidth,
72
- maxHeight: this._maxHeight,
73
- });
74
- }
75
- }
@@ -1,8 +0,0 @@
1
- export interface HtmlTooltipSizeOptions {
2
- width: number | string;
3
- height: number | string;
4
- minWidth: number | string;
5
- minHeight: number | string;
6
- maxWidth: number | string;
7
- maxHeight: number | string;
8
- }
@@ -1,15 +0,0 @@
1
- import { safeAssign } from '@mathstack/app-kit';
2
- import { HtmlTooltipSizeOptions } from './tooltip-size-options';
3
-
4
- export class HtmlTooltipSize implements HtmlTooltipSizeOptions {
5
- width: number | string;
6
- height: number | string;
7
- minWidth: number | string;
8
- minHeight: number | string;
9
- maxWidth: number | string;
10
- maxHeight: number | string;
11
-
12
- constructor(options: HtmlTooltipSizeOptions) {
13
- safeAssign(this, options);
14
- }
15
- }
@@ -1,537 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
3
- import { ViewContainerRef } from '@angular/core';
4
- import { fakeAsync, TestBed, tick } from '@angular/core/testing';
5
- import { NgOnChangesUtilities } from '@mathstack/app-kit';
6
- import { Subject } from 'rxjs';
7
- import { ChartComponent } from '../../charts';
8
- import { EventType } from '../../events';
9
- import { ChartComponentStub } from '../../testing/stubs/chart.component.stub';
10
- import { MainServiceStub } from '../../testing/stubs/services/main.service.stub';
11
- import { VicHtmlTooltipConfigBuilder } from './config/html-tooltip-builder';
12
- import { HtmlTooltipCdkManagedPosition } from './config/position/tooltip-position';
13
- import { TooltipPositionBuilder } from './config/position/tooltip-position-builder';
14
- import { HtmlTooltipDirective } from './html-tooltip.directive';
15
-
16
- const fakeOuput = {
17
- anchor: { x: 2, y: 4 },
18
- origin: document.createElementNS('http://www.w3.org/2000/svg', 'svg'),
19
- customPosition: () =>
20
- new HtmlTooltipCdkManagedPosition([
21
- new TooltipPositionBuilder()
22
- .fromTopLeft()
23
- .attachBottomCenter()
24
- .getPosition(),
25
- ]),
26
- defaultPosition: new HtmlTooltipCdkManagedPosition([
27
- new TooltipPositionBuilder()
28
- .fromTopLeft()
29
- .attachBottomCenter()
30
- .getPosition(),
31
- ]),
32
- fromAnchor: () =>
33
- new HtmlTooltipCdkManagedPosition([
34
- new TooltipPositionBuilder()
35
- .fromTopLeft()
36
- .attachBottomCenter()
37
- .getPosition(),
38
- ]),
39
- type: EventType.HoverMove,
40
- };
41
-
42
- describe('HtmlTooltipDirective', () => {
43
- let directive: HtmlTooltipDirective;
44
- let mainServiceStub: MainServiceStub;
45
- let destroySpy: jasmine.Spy;
46
-
47
- beforeEach(() => {
48
- mainServiceStub = new MainServiceStub();
49
- TestBed.configureTestingModule({
50
- providers: [
51
- ViewContainerRef,
52
- Overlay,
53
- OverlayPositionBuilder,
54
- HtmlTooltipDirective,
55
- {
56
- provide: ChartComponent,
57
- useClass: ChartComponentStub,
58
- },
59
- {
60
- provide: Overlay,
61
- useValue: mainServiceStub.overlayStub,
62
- },
63
- ],
64
- });
65
- directive = TestBed.inject(HtmlTooltipDirective);
66
- destroySpy = spyOn(directive, 'ngOnDestroy');
67
- });
68
-
69
- describe('init()', () => {
70
- beforeEach(() => {
71
- spyOn(directive, 'createOverlayRef');
72
- });
73
- it('calls createOverlay once if overlayRef is falsy', () => {
74
- directive.init();
75
- expect(directive.createOverlayRef).toHaveBeenCalledTimes(1);
76
- });
77
- it('does not call createOverlay if overlayRef is truthy', () => {
78
- directive.overlayRef = 'hello' as any;
79
- directive.init();
80
- expect(directive.createOverlayRef).not.toHaveBeenCalled();
81
- });
82
- });
83
-
84
- describe('ngOnChanges', () => {
85
- let changes: any;
86
- beforeEach(() => {
87
- spyOn(directive, 'updateForConfigChanges');
88
- spyOn(directive, 'init');
89
- directive.config = 'config' as any;
90
- changes = {};
91
- });
92
- describe('if overlayRef and config are truthy', () => {
93
- beforeEach(() => {
94
- directive.overlayRef = 'overlay' as any;
95
- directive.config = 'hello' as any;
96
- });
97
- it('calls updateForConfigChanges once with the correct value', () => {
98
- directive.ngOnChanges(changes);
99
- expect(directive.updateForConfigChanges).toHaveBeenCalledOnceWith(
100
- changes
101
- );
102
- });
103
- });
104
- describe('if overlayRef is falsy and config is truthy', () => {
105
- beforeEach(() => {
106
- directive.config = 'hello' as any;
107
- });
108
- it('does not call updateForConfigChanges', () => {
109
- directive.ngOnChanges(changes);
110
- expect(directive.updateForConfigChanges).not.toHaveBeenCalled();
111
- });
112
- it('calls init', () => {
113
- directive.ngOnChanges(changes);
114
- expect(directive.init).toHaveBeenCalledTimes(1);
115
- });
116
- });
117
- });
118
-
119
- describe('createOverlayRef', () => {
120
- beforeEach(() => {
121
- spyOn(directive, 'setPositionStrategy');
122
- spyOn(directive, 'subscribeToBackdropClick');
123
- spyOn(directive, 'updateVisibility');
124
- mainServiceStub.overlayStub.create.and.returnValue('test ref' as any);
125
- directive.config = new VicHtmlTooltipConfigBuilder()
126
- .hasBackdrop(true)
127
- .positionFromOutput(fakeOuput)
128
- .applyEventsDisabledClass(true)
129
- .size((size) => size.width(100))
130
- .getConfig();
131
- });
132
-
133
- it('calls overlay.create once with the correct values', fakeAsync(() => {
134
- directive.createOverlayRef();
135
- tick();
136
- expect(mainServiceStub.overlayStub.create).toHaveBeenCalledTimes(1);
137
- }));
138
- it('calls getPositionStrategy once', fakeAsync(() => {
139
- directive.createOverlayRef();
140
- tick();
141
- expect(directive.setPositionStrategy).toHaveBeenCalledTimes(1);
142
- }));
143
- it('sets overlayRef to the correct value', fakeAsync(() => {
144
- directive.createOverlayRef();
145
- tick();
146
- expect(directive.overlayRef).toEqual('test ref' as any);
147
- }));
148
- it('calls listenForBackdropClicks once if config hasBackdrop is true', fakeAsync(() => {
149
- directive.config.hasBackdrop = true;
150
- directive.createOverlayRef();
151
- tick();
152
- expect(directive.subscribeToBackdropClick).toHaveBeenCalledTimes(1);
153
- }));
154
- it('does not call listenForBackdropClicks if config hasBackdrop is false', fakeAsync(() => {
155
- directive.config.hasBackdrop = false;
156
- directive.createOverlayRef();
157
- tick();
158
- expect(directive.subscribeToBackdropClick).not.toHaveBeenCalled();
159
- }));
160
- it('calls updateVisibility', fakeAsync(() => {
161
- directive.createOverlayRef();
162
- tick();
163
- expect(directive.updateVisibility).toHaveBeenCalledTimes(1);
164
- }));
165
- });
166
-
167
- describe('getPositionStrategy', () => {
168
- beforeEach(() => {
169
- (directive as any).overlayPositionBuilder = 'builder' as any;
170
- directive.config = new VicHtmlTooltipConfigBuilder()
171
- .hasBackdrop(true)
172
- .positionFromOutput(fakeOuput)
173
- .applyEventsDisabledClass(true)
174
- .size((size) => size.width(100))
175
- .getConfig();
176
- spyOn(directive.config.position, 'getPositionStrategy').and.returnValue(
177
- 'position' as any
178
- );
179
- });
180
- it('calls getPositionStrategy once with the correct value', () => {
181
- directive.setPositionStrategy();
182
- expect(
183
- directive.config.position.getPositionStrategy
184
- ).toHaveBeenCalledOnceWith(fakeOuput.origin, 'builder' as any);
185
- });
186
- });
187
-
188
- describe('subscribeToBackdropClick', () => {
189
- const click = new Subject<string>();
190
- const click$ = click.asObservable();
191
- beforeEach(() => {
192
- const overlayRef = {
193
- backdropClick: () => click$,
194
- } as any;
195
- directive.overlayRef = overlayRef;
196
- directive.backdropUnsubscribe = new Subject<void>();
197
- spyOn(directive.backdropClick, 'emit');
198
- });
199
- it('calls backdropClick.emit once if subscription emits', () => {
200
- directive.subscribeToBackdropClick();
201
- click.next('click');
202
- expect(directive.backdropClick.emit).toHaveBeenCalledTimes(1);
203
- directive.backdropUnsubscribe.next();
204
- directive.backdropUnsubscribe.complete();
205
- });
206
- });
207
-
208
- describe('subscribeToKeyboardEvents', () => {
209
- let addEventListenerSpy: jasmine.Spy;
210
- beforeEach(() => {
211
- addEventListenerSpy = spyOn(
212
- (directive as any).document,
213
- 'addEventListener'
214
- );
215
- });
216
- it('should add keydown event listener to document', () => {
217
- directive.subscribeToKeyboardEvents();
218
- expect(addEventListenerSpy).toHaveBeenCalledWith(
219
- 'keydown',
220
- directive.onKeydown,
221
- true
222
- );
223
- });
224
- });
225
-
226
- describe('unsubscribeFromKeyboardEvents', () => {
227
- let removeEventListenerSpy: jasmine.Spy;
228
- beforeEach(() => {
229
- removeEventListenerSpy = spyOn(
230
- (directive as any).document,
231
- 'removeEventListener'
232
- );
233
- });
234
- it('should remove keydown event listener from document', () => {
235
- directive.unsubscribeFromKeyboardEvents();
236
- expect(removeEventListenerSpy).toHaveBeenCalledWith(
237
- 'keydown',
238
- directive.onKeydown,
239
- true
240
- );
241
- });
242
- });
243
-
244
- describe('onKeydown', () => {
245
- beforeEach(() => {
246
- spyOn(directive, 'hide');
247
- });
248
- it('should call hide when Escape key is pressed', () => {
249
- const event = { key: 'Escape' } as KeyboardEvent;
250
- directive.onKeydown(event);
251
- expect(directive.hide).toHaveBeenCalled();
252
- });
253
- it('should not call hide for other keys', () => {
254
- const event = { key: 'Enter' } as KeyboardEvent;
255
- directive.onKeydown(event);
256
- expect(directive.hide).not.toHaveBeenCalled();
257
- });
258
- });
259
-
260
- describe('updateVisibility', () => {
261
- beforeEach(() => {
262
- spyOn(directive, 'show');
263
- spyOn(directive, 'hide');
264
- });
265
- it('calls show once if overlayRef is defined and config.show is true', () => {
266
- directive.config = { show: true } as any;
267
- directive.overlayRef = 'something' as any;
268
- directive.updateVisibility();
269
- expect(directive.show).toHaveBeenCalledTimes(1);
270
- });
271
- it('calls hide once if overlayRed is defined and config.show is false', () => {
272
- directive.config = { show: false } as any;
273
- directive.overlayRef = 'something' as any;
274
- directive.updateVisibility();
275
- expect(directive.hide).toHaveBeenCalledTimes(1);
276
- });
277
- it('does not call show if overlayRef is undefined', () => {
278
- directive.updateVisibility();
279
- expect(directive.show).not.toHaveBeenCalled();
280
- });
281
- it('does not call hide if overlayRef is undefined', () => {
282
- directive.updateVisibility();
283
- expect(directive.hide).not.toHaveBeenCalled();
284
- });
285
- });
286
-
287
- describe('show', () => {
288
- let hasAttachedSpy: jasmine.Spy;
289
-
290
- beforeEach(() => {
291
- spyOn(directive, 'getTemplatePortal').and.returnValue('tp' as any);
292
- hasAttachedSpy = jasmine.createSpy('hasAttached');
293
- spyOn(directive, 'updatePositionStrategy');
294
- spyOn(window, 'requestAnimationFrame').and.callFake((callback: any) => {
295
- callback();
296
- return 0;
297
- });
298
- directive.overlayRef = {
299
- attach: jasmine.createSpy('attach'),
300
- hasAttached: hasAttachedSpy,
301
- } as any;
302
- });
303
-
304
- it('calls updatePosition once', fakeAsync(() => {
305
- directive.show();
306
- tick();
307
- expect(directive.updatePositionStrategy).toHaveBeenCalledTimes(1);
308
- }));
309
-
310
- it('calls attach on overlayRef with the correct value if hasAttached returns false', fakeAsync(() => {
311
- hasAttachedSpy.and.returnValue(false);
312
- directive.show();
313
- tick();
314
- expect(directive.overlayRef.attach).toHaveBeenCalledOnceWith('tp');
315
- }));
316
-
317
- it('does not call attach if hasAttached returns true', fakeAsync(() => {
318
- hasAttachedSpy.and.returnValue(true);
319
- directive.show();
320
- tick();
321
- expect(directive.overlayRef.attach).not.toHaveBeenCalled();
322
- }));
323
- });
324
-
325
- describe('hide', () => {
326
- let hasAttachedSpy: jasmine.Spy;
327
- beforeEach(() => {
328
- hasAttachedSpy = jasmine.createSpy('hasAttached');
329
- directive.overlayRef = {
330
- detach: jasmine.createSpy('detach'),
331
- hasAttached: hasAttachedSpy,
332
- } as any;
333
- });
334
- it('calls detach on overlayRef with the correct value if hasAttached returns true', () => {
335
- hasAttachedSpy.and.returnValue(true);
336
- directive.hide();
337
- expect(directive.overlayRef.detach).toHaveBeenCalledOnceWith();
338
- });
339
- it('does not call detach if hasAttached returns false', () => {
340
- hasAttachedSpy.and.returnValue(false);
341
- directive.hide();
342
- expect(directive.overlayRef.detach).not.toHaveBeenCalled();
343
- });
344
- });
345
-
346
- describe('updateForConfigChanges', () => {
347
- let changesSpy: jasmine.Spy;
348
- const changes = {
349
- config: {
350
- previousValue: {
351
- panelClass: ['old'],
352
- },
353
- },
354
- };
355
- beforeEach(() => {
356
- spyOn(directive, 'updatePositionStrategy');
357
- spyOn(directive, 'updateClasses');
358
- spyOn(directive, 'updateSize');
359
- spyOn(directive, 'updateBackdrop');
360
- spyOn(directive, 'updateVisibility');
361
- changesSpy = spyOn(directive, 'configChanged');
362
- });
363
- it('calls updatePosition once if position changed', () => {
364
- changesSpy.and.returnValues(true, true, true, true);
365
- directive.updateForConfigChanges(changes as any);
366
- expect(directive.updatePositionStrategy).toHaveBeenCalledTimes(1);
367
- });
368
- it('calls updateClasses once if panelClass changed', () => {
369
- changesSpy.and.returnValues(false, true, true, true);
370
- directive.updateForConfigChanges(changes as any);
371
- expect(directive.updateClasses).toHaveBeenCalledOnceWith(['old']);
372
- });
373
- it('calls updateSize once if size changed', () => {
374
- changesSpy.and.returnValues(false, false, true, true);
375
- directive.updateForConfigChanges(changes as any);
376
- expect(directive.updateSize).toHaveBeenCalledTimes(1);
377
- });
378
- it('calls updateBackdrop once if hasBackdrop changed', () => {
379
- changesSpy.and.returnValues(false, false, false, true);
380
- directive.updateForConfigChanges(changes as any);
381
- expect(directive.updateBackdrop).toHaveBeenCalledTimes(1);
382
- });
383
- it('calls updateVisibility once', () => {
384
- changesSpy.and.returnValues(false, false, false, false);
385
- directive.updateForConfigChanges('changes' as any);
386
- expect(directive.updateVisibility).toHaveBeenCalledTimes(1);
387
- });
388
- });
389
-
390
- describe('configChanged', () => {
391
- let changesSpy: jasmine.Spy;
392
- beforeEach(() => {
393
- changesSpy = spyOn(NgOnChangesUtilities, 'inputObjectChanged');
394
- });
395
- it('calls objectOnNgChangesChanged once with the correct value', () => {
396
- directive.configChanged('changes' as any, 'show');
397
- expect(NgOnChangesUtilities.inputObjectChanged).toHaveBeenCalledOnceWith(
398
- 'changes' as any,
399
- 'config',
400
- 'show'
401
- );
402
- });
403
- it('returns the correct value', () => {
404
- changesSpy.and.returnValue(true);
405
- expect(directive.configChanged('changes' as any, 'show')).toEqual(true);
406
- });
407
- });
408
-
409
- describe('updatePosition', () => {
410
- beforeEach(() => {
411
- spyOn(directive, 'setPositionStrategy');
412
- directive.positionStrategy = 'test strategy' as any;
413
- directive.overlayRef = {
414
- updatePositionStrategy: jasmine.createSpy('updatePositionStrategy'),
415
- } as any;
416
- });
417
- it('calls getPositionStrategy once', () => {
418
- directive.updatePositionStrategy();
419
- expect(directive.setPositionStrategy).toHaveBeenCalledTimes(1);
420
- });
421
- it('calls updatePositionStrategy once with the correct value', () => {
422
- directive.updatePositionStrategy();
423
- expect(directive.overlayRef.updatePositionStrategy).toHaveBeenCalledWith(
424
- 'test strategy' as any
425
- );
426
- });
427
- });
428
-
429
- describe('updateClasses', () => {
430
- beforeEach(() => {
431
- directive.overlayRef = {
432
- addPanelClass: jasmine.createSpy('addPanelClass'),
433
- removePanelClass: jasmine.createSpy('removePanelClass'),
434
- } as any;
435
- directive.config = {
436
- panelClass: ['two'],
437
- } as any;
438
- });
439
- it('calls removePanelClass once with the correct value', () => {
440
- directive.updateClasses(['old']);
441
- expect(directive.overlayRef.removePanelClass).toHaveBeenCalledOnceWith([
442
- 'old',
443
- ]);
444
- });
445
- it('calls addPanelClass once with the correct value', () => {
446
- directive.updateClasses(['old']);
447
- expect(directive.overlayRef.addPanelClass).toHaveBeenCalledOnceWith([
448
- 'two',
449
- ]);
450
- });
451
- });
452
-
453
- describe('updateSize', () => {
454
- beforeEach(() => {
455
- directive.config = {
456
- size: 'size',
457
- } as any;
458
- directive.overlayRef = {
459
- updateSize: jasmine.createSpy('updateSize'),
460
- } as any;
461
- });
462
- it('calls updateSize on overlayRef with the correct value', () => {
463
- directive.updateSize();
464
- expect(directive.overlayRef.updateSize).toHaveBeenCalledOnceWith(
465
- 'size' as any
466
- );
467
- });
468
- });
469
-
470
- describe('updateBackdrop', () => {
471
- beforeEach(() => {
472
- spyOn(directive, 'destroyBackdropSubscription');
473
- spyOn(directive, 'destroyOverlay');
474
- spyOn(directive, 'createOverlayRef');
475
- spyOn(directive, 'hide');
476
- });
477
- it('calls destroyBackdropSubscription once', () => {
478
- directive.updateBackdrop();
479
- expect(directive.destroyBackdropSubscription).toHaveBeenCalledTimes(1);
480
- });
481
- it('calls destroyOverlay once', () => {
482
- directive.updateBackdrop();
483
- expect(directive.destroyOverlay).toHaveBeenCalledTimes(1);
484
- });
485
- it('calls createOverlay once', () => {
486
- directive.updateBackdrop();
487
- expect(directive.createOverlayRef).toHaveBeenCalledTimes(1);
488
- });
489
- it('calls hide once', () => {
490
- directive.updateBackdrop();
491
- expect(directive.hide).toHaveBeenCalledTimes(1);
492
- });
493
- });
494
-
495
- describe('ngOnDestroy', () => {
496
- beforeEach(() => {
497
- spyOn(directive, 'destroyOverlay');
498
- spyOn(directive, 'destroyBackdropSubscription');
499
- destroySpy.and.callThrough();
500
- });
501
- it('calls destroyOverlay', () => {
502
- directive.ngOnDestroy();
503
- expect(directive.destroyOverlay).toHaveBeenCalledTimes(1);
504
- });
505
- it('calls destroyBackdropSubscription', () => {
506
- directive.ngOnDestroy();
507
- expect(directive.destroyBackdropSubscription).toHaveBeenCalledTimes(1);
508
- });
509
- });
510
-
511
- describe('destroyBackdropSubscription', () => {
512
- beforeEach(() => {
513
- spyOn(directive.backdropUnsubscribe, 'next');
514
- spyOn(directive.backdropUnsubscribe, 'complete');
515
- });
516
- it('calls next once', () => {
517
- directive.destroyBackdropSubscription();
518
- expect(directive.backdropUnsubscribe.next).toHaveBeenCalledTimes(1);
519
- });
520
- it('calls complete once', () => {
521
- directive.destroyBackdropSubscription();
522
- expect(directive.backdropUnsubscribe.complete).toHaveBeenCalledTimes(1);
523
- });
524
- });
525
-
526
- describe('destroyOverlay', () => {
527
- beforeEach(() => {
528
- directive.overlayRef = {
529
- dispose: jasmine.createSpy('dispose'),
530
- } as any;
531
- });
532
- it('calls dispose on overlayRef', () => {
533
- directive.destroyOverlay();
534
- expect(directive.overlayRef.dispose).toHaveBeenCalledTimes(1);
535
- });
536
- });
537
- });