@gemx-dev/heatmap-react 3.5.46 → 3.5.47

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 (493) hide show
  1. package/dist/esm/components/Layout/HeatmapLayout.d.ts +3 -2
  2. package/dist/esm/components/Layout/HeatmapLayout.d.ts.map +1 -1
  3. package/dist/esm/components/VizDom/VizDomRenderer.d.ts.map +1 -1
  4. package/dist/esm/components/VizElement/HeatmapElements.d.ts +2 -2
  5. package/dist/esm/components/VizElement/HeatmapElements.d.ts.map +1 -1
  6. package/dist/esm/components/VizElement/HeatmapExample.d.ts +2 -0
  7. package/dist/esm/components/VizElement/HeatmapExample.d.ts.map +1 -0
  8. package/dist/esm/components/VizElement/VizElements.d.ts.map +1 -1
  9. package/dist/esm/components/VizLive/VizLiveHeatmap.d.ts.map +1 -1
  10. package/dist/esm/components/VizLive/VizLiveRenderer.d.ts.map +1 -1
  11. package/dist/esm/components/VizScrollmap/AverageFoldLine.d.ts +8 -0
  12. package/dist/esm/components/VizScrollmap/AverageFoldLine.d.ts.map +1 -0
  13. package/dist/esm/components/VizScrollmap/HoverZones.d.ts +10 -0
  14. package/dist/esm/components/VizScrollmap/HoverZones.d.ts.map +1 -0
  15. package/dist/esm/components/VizScrollmap/MetricRow.d.ts +1 -0
  16. package/dist/esm/components/VizScrollmap/MetricRow.d.ts.map +1 -0
  17. package/dist/esm/components/VizScrollmap/ScrollMapMinimap.d.ts +8 -0
  18. package/dist/esm/components/VizScrollmap/ScrollMapMinimap.d.ts.map +1 -0
  19. package/dist/esm/components/VizScrollmap/ScrollMapOverlay.d.ts +7 -0
  20. package/dist/esm/components/VizScrollmap/ScrollMapOverlay.d.ts.map +1 -0
  21. package/dist/esm/components/VizScrollmap/ScrollZoneHoverArea.d.ts +14 -0
  22. package/dist/esm/components/VizScrollmap/ScrollZoneHoverArea.d.ts.map +1 -0
  23. package/dist/esm/components/VizScrollmap/ScrollZoneTooltip.d.ts +10 -0
  24. package/dist/esm/components/VizScrollmap/ScrollZoneTooltip.d.ts.map +1 -0
  25. package/dist/esm/components/VizScrollmap/ScrollmapMarker.d.ts +7 -0
  26. package/dist/esm/components/VizScrollmap/ScrollmapMarker.d.ts.map +1 -0
  27. package/dist/esm/components/VizScrollmap/VizScrollMap.d.ts +7 -0
  28. package/dist/esm/components/VizScrollmap/VizScrollMap.d.ts.map +1 -0
  29. package/{src/components/VizScrollmap/index.ts → dist/esm/components/VizScrollmap/index.d.ts} +1 -0
  30. package/dist/esm/components/VizScrollmap/index.d.ts.map +1 -0
  31. package/dist/esm/components/VizScrollmapV2/ScrollmapOverlayV2.d.ts +5 -0
  32. package/dist/esm/components/VizScrollmapV2/ScrollmapOverlayV2.d.ts.map +1 -0
  33. package/{src/components/VizScrollmapV2/index.ts → dist/esm/components/VizScrollmapV2/index.d.ts} +1 -0
  34. package/dist/esm/components/VizScrollmapV2/index.d.ts.map +1 -0
  35. package/dist/esm/components/VizScrollmapV2/scrollmap.types.d.ts +18 -0
  36. package/dist/esm/components/VizScrollmapV2/scrollmap.types.d.ts.map +1 -0
  37. package/dist/esm/components/VizScrollmapV2/useScrollmapOverlay.d.ts +16 -0
  38. package/dist/esm/components/VizScrollmapV2/useScrollmapOverlay.d.ts.map +1 -0
  39. package/dist/esm/configs/style.d.ts +2 -0
  40. package/dist/esm/configs/style.d.ts.map +1 -1
  41. package/dist/esm/helpers/elm-getter.d.ts +2 -2
  42. package/dist/esm/helpers/elm-getter.d.ts.map +1 -1
  43. package/dist/esm/helpers/iframe-helper/fixer.d.ts +18 -0
  44. package/dist/esm/helpers/iframe-helper/fixer.d.ts.map +1 -0
  45. package/dist/esm/helpers/iframe-helper/index.d.ts +2 -0
  46. package/dist/esm/helpers/iframe-helper/index.d.ts.map +1 -0
  47. package/dist/esm/helpers/iframe-helper/init.d.ts +5 -0
  48. package/dist/esm/helpers/iframe-helper/init.d.ts.map +1 -0
  49. package/dist/esm/helpers/iframe-helper/navigation-blocker-v2.d.ts +28 -0
  50. package/dist/esm/helpers/iframe-helper/navigation-blocker-v2.d.ts.map +1 -0
  51. package/dist/esm/helpers/iframe-helper/navigation-blocker.d.ts +20 -0
  52. package/dist/esm/helpers/iframe-helper/navigation-blocker.d.ts.map +1 -0
  53. package/dist/esm/helpers/iframe-helper/style-replacer.d.ts +25 -0
  54. package/dist/esm/helpers/iframe-helper/style-replacer.d.ts.map +1 -0
  55. package/dist/esm/helpers/index.d.ts +2 -2
  56. package/dist/esm/helpers/index.d.ts.map +1 -1
  57. package/dist/esm/helpers/viz-canvas/area-clustering.d.ts +44 -0
  58. package/dist/esm/helpers/viz-canvas/area-clustering.d.ts.map +1 -0
  59. package/dist/esm/helpers/viz-canvas/area-overlay-manager-v2.d.ts +17 -0
  60. package/dist/esm/helpers/viz-canvas/area-overlay-manager-v2.d.ts.map +1 -0
  61. package/dist/esm/helpers/viz-canvas/area-overlay-manager.d.ts +51 -0
  62. package/dist/esm/helpers/viz-canvas/area-overlay-manager.d.ts.map +1 -0
  63. package/dist/esm/helpers/viz-canvas/hierarchical-area-clustering.d.ts +73 -0
  64. package/dist/esm/helpers/viz-canvas/hierarchical-area-clustering.d.ts.map +1 -0
  65. package/{src/helpers/viz-canvas/index.ts → dist/esm/helpers/viz-canvas/index.d.ts} +1 -0
  66. package/dist/esm/helpers/viz-canvas/index.d.ts.map +1 -0
  67. package/dist/esm/hooks/index.d.ts +2 -1
  68. package/dist/esm/hooks/index.d.ts.map +1 -1
  69. package/dist/esm/hooks/register/useRegisterData.d.ts +2 -2
  70. package/dist/esm/hooks/register/useRegisterData.d.ts.map +1 -1
  71. package/dist/esm/hooks/register/useRegisterHeatmap.d.ts +7 -2
  72. package/dist/esm/hooks/register/useRegisterHeatmap.d.ts.map +1 -1
  73. package/dist/esm/hooks/viz-area/useAreaHeatmap.d.ts +59 -0
  74. package/dist/esm/hooks/viz-area/useAreaHeatmap.d.ts.map +1 -0
  75. package/dist/esm/hooks/viz-area/useAreaHeatmapManager.d.ts +77 -0
  76. package/dist/esm/hooks/viz-area/useAreaHeatmapManager.d.ts.map +1 -0
  77. package/dist/esm/hooks/viz-canvas/index.d.ts +1 -1
  78. package/dist/esm/hooks/viz-canvas/index.d.ts.map +1 -1
  79. package/dist/esm/hooks/viz-canvas/useAreamap.d.ts +14 -0
  80. package/dist/esm/hooks/viz-canvas/useAreamap.d.ts.map +1 -0
  81. package/dist/esm/hooks/viz-canvas/useClickmap.d.ts +3 -1
  82. package/dist/esm/hooks/viz-canvas/useClickmap.d.ts.map +1 -1
  83. package/dist/esm/hooks/viz-canvas/useHeatmapCanvas.d.ts +4 -0
  84. package/dist/esm/hooks/viz-canvas/useHeatmapCanvas.d.ts.map +1 -0
  85. package/dist/esm/hooks/viz-canvas/useScrollmap.d.ts +3 -1
  86. package/dist/esm/hooks/viz-canvas/useScrollmap.d.ts.map +1 -1
  87. package/dist/esm/hooks/{vix-elements → viz-elements}/index.d.ts.map +1 -1
  88. package/dist/esm/hooks/{vix-elements → viz-elements}/useClickedElement.d.ts.map +1 -1
  89. package/dist/esm/hooks/{vix-elements → viz-elements}/useElementCalloutVisible.d.ts.map +1 -1
  90. package/dist/esm/hooks/{vix-elements → viz-elements}/useHeatmapEffects.d.ts.map +1 -1
  91. package/dist/esm/hooks/{vix-elements → viz-elements}/useHeatmapElementPosition.d.ts.map +1 -1
  92. package/dist/esm/hooks/viz-elements/useHeatmapMouseHandler.d.ts +34 -0
  93. package/dist/esm/hooks/viz-elements/useHeatmapMouseHandler.d.ts.map +1 -0
  94. package/dist/esm/hooks/{vix-elements → viz-elements}/useHoveredElement.d.ts +4 -0
  95. package/dist/esm/hooks/viz-elements/useHoveredElement.d.ts.map +1 -0
  96. package/dist/esm/hooks/viz-live/index.d.ts +1 -1
  97. package/dist/{umd/hooks/viz-live/useIframeMessage.d.ts → esm/hooks/viz-live/useVizLiveIframeMsg.d.ts} +2 -10
  98. package/dist/esm/hooks/viz-live/useVizLiveIframeMsg.d.ts.map +1 -0
  99. package/dist/esm/hooks/viz-live/useVizLiveRender.d.ts +4 -0
  100. package/dist/esm/hooks/viz-live/useVizLiveRender.d.ts.map +1 -0
  101. package/dist/esm/hooks/viz-render/useHeatmapRender.d.ts.map +1 -1
  102. package/dist/esm/hooks/viz-scale/useContainerDimensions.d.ts.map +1 -1
  103. package/dist/esm/hooks/viz-scale/useHeatmapScale.d.ts +1 -1
  104. package/dist/esm/hooks/viz-scale/useHeatmapScale.d.ts.map +1 -1
  105. package/dist/esm/hooks/viz-scale/useObserveIframeHeight.d.ts +10 -0
  106. package/dist/esm/hooks/viz-scale/useObserveIframeHeight.d.ts.map +1 -0
  107. package/{src/hooks/viz-scrollmap/index.ts → dist/esm/hooks/viz-scrollmap/index.d.ts} +1 -0
  108. package/dist/esm/hooks/viz-scrollmap/index.d.ts.map +1 -0
  109. package/dist/esm/hooks/viz-scrollmap/useScrollmapZones.d.ts +29 -0
  110. package/dist/esm/hooks/viz-scrollmap/useScrollmapZones.d.ts.map +1 -0
  111. package/dist/esm/hooks/viz-scrollmap/useZonePositions.d.ts +12 -0
  112. package/dist/esm/hooks/viz-scrollmap/useZonePositions.d.ts.map +1 -0
  113. package/dist/esm/index.d.ts +1 -1
  114. package/dist/esm/index.d.ts.map +1 -1
  115. package/dist/esm/index.js +1181 -210
  116. package/dist/esm/index.mjs +1181 -210
  117. package/dist/esm/stores/config.d.ts +5 -1
  118. package/dist/esm/stores/config.d.ts.map +1 -1
  119. package/dist/esm/stores/data.d.ts +5 -3
  120. package/dist/esm/stores/data.d.ts.map +1 -1
  121. package/dist/esm/stores/index.d.ts +2 -0
  122. package/dist/esm/stores/index.d.ts.map +1 -1
  123. package/dist/esm/stores/interaction.d.ts.map +1 -1
  124. package/dist/esm/stores/mode-live.d.ts +4 -0
  125. package/dist/esm/stores/mode-live.d.ts.map +1 -1
  126. package/dist/esm/stores/mode-single.d.ts +9 -0
  127. package/dist/esm/stores/mode-single.d.ts.map +1 -0
  128. package/dist/esm/stores/viz-scrollmap.d.ts +11 -0
  129. package/dist/esm/stores/viz-scrollmap.d.ts.map +1 -0
  130. package/dist/esm/stores/viz.d.ts +0 -4
  131. package/dist/esm/stores/viz.d.ts.map +1 -1
  132. package/dist/esm/types/clarity.d.ts +5 -0
  133. package/dist/esm/types/clarity.d.ts.map +1 -1
  134. package/dist/esm/types/heatmap-info.d.ts +11 -0
  135. package/dist/esm/types/heatmap-info.d.ts.map +1 -0
  136. package/dist/esm/types/heatmap.d.ts +13 -0
  137. package/dist/esm/types/heatmap.d.ts.map +1 -1
  138. package/dist/esm/types/iframe-helper.d.ts +20 -0
  139. package/dist/esm/types/iframe-helper.d.ts.map +1 -0
  140. package/dist/esm/types/index.d.ts +4 -1
  141. package/dist/esm/types/index.d.ts.map +1 -1
  142. package/dist/esm/types/viz-canvas.d.ts +23 -0
  143. package/dist/esm/types/viz-canvas.d.ts.map +1 -0
  144. package/dist/esm/types/viz-element.d.ts +0 -6
  145. package/dist/esm/types/viz-element.d.ts.map +1 -1
  146. package/dist/esm/types/viz-scrollmap.d.ts +27 -0
  147. package/dist/esm/types/viz-scrollmap.d.ts.map +1 -0
  148. package/dist/umd/components/Layout/HeatmapLayout.d.ts +3 -2
  149. package/dist/umd/components/Layout/HeatmapLayout.d.ts.map +1 -1
  150. package/dist/umd/components/VizDom/VizDomRenderer.d.ts.map +1 -1
  151. package/dist/umd/components/VizElement/HeatmapElements.d.ts +2 -2
  152. package/dist/umd/components/VizElement/HeatmapElements.d.ts.map +1 -1
  153. package/dist/umd/components/VizElement/HeatmapExample.d.ts +2 -0
  154. package/dist/umd/components/VizElement/HeatmapExample.d.ts.map +1 -0
  155. package/dist/umd/components/VizElement/VizElements.d.ts.map +1 -1
  156. package/dist/umd/components/VizLive/VizLiveHeatmap.d.ts.map +1 -1
  157. package/dist/umd/components/VizLive/VizLiveRenderer.d.ts.map +1 -1
  158. package/dist/umd/components/VizScrollmap/AverageFoldLine.d.ts +8 -0
  159. package/dist/umd/components/VizScrollmap/AverageFoldLine.d.ts.map +1 -0
  160. package/dist/umd/components/VizScrollmap/HoverZones.d.ts +10 -0
  161. package/dist/umd/components/VizScrollmap/HoverZones.d.ts.map +1 -0
  162. package/dist/umd/components/VizScrollmap/MetricRow.d.ts +1 -0
  163. package/dist/umd/components/VizScrollmap/MetricRow.d.ts.map +1 -0
  164. package/dist/umd/components/VizScrollmap/ScrollMapMinimap.d.ts +8 -0
  165. package/dist/umd/components/VizScrollmap/ScrollMapMinimap.d.ts.map +1 -0
  166. package/dist/umd/components/VizScrollmap/ScrollMapOverlay.d.ts +7 -0
  167. package/dist/umd/components/VizScrollmap/ScrollMapOverlay.d.ts.map +1 -0
  168. package/dist/umd/components/VizScrollmap/ScrollZoneHoverArea.d.ts +14 -0
  169. package/dist/umd/components/VizScrollmap/ScrollZoneHoverArea.d.ts.map +1 -0
  170. package/dist/umd/components/VizScrollmap/ScrollZoneTooltip.d.ts +10 -0
  171. package/dist/umd/components/VizScrollmap/ScrollZoneTooltip.d.ts.map +1 -0
  172. package/dist/umd/components/VizScrollmap/ScrollmapMarker.d.ts +7 -0
  173. package/dist/umd/components/VizScrollmap/ScrollmapMarker.d.ts.map +1 -0
  174. package/dist/umd/components/VizScrollmap/VizScrollMap.d.ts +7 -0
  175. package/dist/umd/components/VizScrollmap/VizScrollMap.d.ts.map +1 -0
  176. package/dist/umd/components/VizScrollmap/index.d.ts +2 -0
  177. package/dist/umd/components/VizScrollmap/index.d.ts.map +1 -0
  178. package/dist/umd/components/VizScrollmapV2/ScrollmapOverlayV2.d.ts +5 -0
  179. package/dist/umd/components/VizScrollmapV2/ScrollmapOverlayV2.d.ts.map +1 -0
  180. package/dist/umd/components/VizScrollmapV2/index.d.ts +2 -0
  181. package/dist/umd/components/VizScrollmapV2/index.d.ts.map +1 -0
  182. package/dist/umd/components/VizScrollmapV2/scrollmap.types.d.ts +18 -0
  183. package/dist/umd/components/VizScrollmapV2/scrollmap.types.d.ts.map +1 -0
  184. package/dist/umd/components/VizScrollmapV2/useScrollmapOverlay.d.ts +16 -0
  185. package/dist/umd/components/VizScrollmapV2/useScrollmapOverlay.d.ts.map +1 -0
  186. package/dist/umd/configs/style.d.ts +2 -0
  187. package/dist/umd/configs/style.d.ts.map +1 -1
  188. package/dist/umd/helpers/elm-getter.d.ts +2 -2
  189. package/dist/umd/helpers/elm-getter.d.ts.map +1 -1
  190. package/dist/umd/helpers/iframe-helper/fixer.d.ts +18 -0
  191. package/dist/umd/helpers/iframe-helper/fixer.d.ts.map +1 -0
  192. package/dist/umd/helpers/iframe-helper/index.d.ts +2 -0
  193. package/dist/umd/helpers/iframe-helper/index.d.ts.map +1 -0
  194. package/dist/umd/helpers/iframe-helper/init.d.ts +5 -0
  195. package/dist/umd/helpers/iframe-helper/init.d.ts.map +1 -0
  196. package/dist/umd/helpers/iframe-helper/navigation-blocker-v2.d.ts +28 -0
  197. package/dist/umd/helpers/iframe-helper/navigation-blocker-v2.d.ts.map +1 -0
  198. package/dist/umd/helpers/iframe-helper/navigation-blocker.d.ts +20 -0
  199. package/dist/umd/helpers/iframe-helper/navigation-blocker.d.ts.map +1 -0
  200. package/dist/umd/helpers/iframe-helper/style-replacer.d.ts +25 -0
  201. package/dist/umd/helpers/iframe-helper/style-replacer.d.ts.map +1 -0
  202. package/dist/umd/helpers/index.d.ts +2 -2
  203. package/dist/umd/helpers/index.d.ts.map +1 -1
  204. package/dist/umd/helpers/viz-canvas/area-clustering.d.ts +44 -0
  205. package/dist/umd/helpers/viz-canvas/area-clustering.d.ts.map +1 -0
  206. package/dist/umd/helpers/viz-canvas/area-overlay-manager-v2.d.ts +17 -0
  207. package/dist/umd/helpers/viz-canvas/area-overlay-manager-v2.d.ts.map +1 -0
  208. package/dist/umd/helpers/viz-canvas/area-overlay-manager.d.ts +51 -0
  209. package/dist/umd/helpers/viz-canvas/area-overlay-manager.d.ts.map +1 -0
  210. package/dist/umd/helpers/viz-canvas/hierarchical-area-clustering.d.ts +73 -0
  211. package/dist/umd/helpers/viz-canvas/hierarchical-area-clustering.d.ts.map +1 -0
  212. package/dist/umd/helpers/viz-canvas/index.d.ts +3 -0
  213. package/dist/umd/helpers/viz-canvas/index.d.ts.map +1 -0
  214. package/dist/umd/hooks/index.d.ts +2 -1
  215. package/dist/umd/hooks/index.d.ts.map +1 -1
  216. package/dist/umd/hooks/register/useRegisterData.d.ts +2 -2
  217. package/dist/umd/hooks/register/useRegisterData.d.ts.map +1 -1
  218. package/dist/umd/hooks/register/useRegisterHeatmap.d.ts +7 -2
  219. package/dist/umd/hooks/register/useRegisterHeatmap.d.ts.map +1 -1
  220. package/dist/umd/hooks/viz-area/useAreaHeatmap.d.ts +59 -0
  221. package/dist/umd/hooks/viz-area/useAreaHeatmap.d.ts.map +1 -0
  222. package/dist/umd/hooks/viz-area/useAreaHeatmapManager.d.ts +77 -0
  223. package/dist/umd/hooks/viz-area/useAreaHeatmapManager.d.ts.map +1 -0
  224. package/dist/umd/hooks/viz-canvas/index.d.ts +1 -1
  225. package/dist/umd/hooks/viz-canvas/index.d.ts.map +1 -1
  226. package/dist/umd/hooks/viz-canvas/useAreamap.d.ts +14 -0
  227. package/dist/umd/hooks/viz-canvas/useAreamap.d.ts.map +1 -0
  228. package/dist/umd/hooks/viz-canvas/useClickmap.d.ts +3 -1
  229. package/dist/umd/hooks/viz-canvas/useClickmap.d.ts.map +1 -1
  230. package/dist/umd/hooks/viz-canvas/useHeatmapCanvas.d.ts +4 -0
  231. package/dist/umd/hooks/viz-canvas/useHeatmapCanvas.d.ts.map +1 -0
  232. package/dist/umd/hooks/viz-canvas/useScrollmap.d.ts +3 -1
  233. package/dist/umd/hooks/viz-canvas/useScrollmap.d.ts.map +1 -1
  234. package/dist/umd/hooks/{vix-elements → viz-elements}/index.d.ts.map +1 -1
  235. package/dist/umd/hooks/{vix-elements → viz-elements}/useClickedElement.d.ts.map +1 -1
  236. package/dist/umd/hooks/{vix-elements → viz-elements}/useElementCalloutVisible.d.ts.map +1 -1
  237. package/dist/umd/hooks/{vix-elements → viz-elements}/useHeatmapEffects.d.ts.map +1 -1
  238. package/dist/umd/hooks/{vix-elements → viz-elements}/useHeatmapElementPosition.d.ts.map +1 -1
  239. package/dist/umd/hooks/viz-elements/useHeatmapMouseHandler.d.ts +34 -0
  240. package/dist/umd/hooks/viz-elements/useHeatmapMouseHandler.d.ts.map +1 -0
  241. package/dist/umd/hooks/{vix-elements → viz-elements}/useHoveredElement.d.ts +4 -0
  242. package/dist/umd/hooks/viz-elements/useHoveredElement.d.ts.map +1 -0
  243. package/dist/umd/hooks/viz-live/index.d.ts +1 -1
  244. package/dist/{esm/hooks/viz-live/useIframeMessage.d.ts → umd/hooks/viz-live/useVizLiveIframeMsg.d.ts} +2 -10
  245. package/dist/umd/hooks/viz-live/useVizLiveIframeMsg.d.ts.map +1 -0
  246. package/dist/umd/hooks/viz-live/useVizLiveRender.d.ts +4 -0
  247. package/dist/umd/hooks/viz-live/useVizLiveRender.d.ts.map +1 -0
  248. package/dist/umd/hooks/viz-render/useHeatmapRender.d.ts.map +1 -1
  249. package/dist/umd/hooks/viz-scale/useContainerDimensions.d.ts.map +1 -1
  250. package/dist/umd/hooks/viz-scale/useHeatmapScale.d.ts +1 -1
  251. package/dist/umd/hooks/viz-scale/useHeatmapScale.d.ts.map +1 -1
  252. package/dist/umd/hooks/viz-scale/useObserveIframeHeight.d.ts +10 -0
  253. package/dist/umd/hooks/viz-scale/useObserveIframeHeight.d.ts.map +1 -0
  254. package/dist/umd/hooks/viz-scrollmap/index.d.ts +3 -0
  255. package/dist/umd/hooks/viz-scrollmap/index.d.ts.map +1 -0
  256. package/dist/umd/hooks/viz-scrollmap/useScrollmapZones.d.ts +29 -0
  257. package/dist/umd/hooks/viz-scrollmap/useScrollmapZones.d.ts.map +1 -0
  258. package/dist/umd/hooks/viz-scrollmap/useZonePositions.d.ts +12 -0
  259. package/dist/umd/hooks/viz-scrollmap/useZonePositions.d.ts.map +1 -0
  260. package/dist/umd/index.d.ts +1 -1
  261. package/dist/umd/index.d.ts.map +1 -1
  262. package/dist/umd/index.js +2 -2
  263. package/dist/umd/stores/config.d.ts +5 -1
  264. package/dist/umd/stores/config.d.ts.map +1 -1
  265. package/dist/umd/stores/data.d.ts +5 -3
  266. package/dist/umd/stores/data.d.ts.map +1 -1
  267. package/dist/umd/stores/index.d.ts +2 -0
  268. package/dist/umd/stores/index.d.ts.map +1 -1
  269. package/dist/umd/stores/interaction.d.ts.map +1 -1
  270. package/dist/umd/stores/mode-live.d.ts +4 -0
  271. package/dist/umd/stores/mode-live.d.ts.map +1 -1
  272. package/dist/umd/stores/mode-single.d.ts +9 -0
  273. package/dist/umd/stores/mode-single.d.ts.map +1 -0
  274. package/dist/umd/stores/viz-scrollmap.d.ts +11 -0
  275. package/dist/umd/stores/viz-scrollmap.d.ts.map +1 -0
  276. package/dist/umd/stores/viz.d.ts +0 -4
  277. package/dist/umd/stores/viz.d.ts.map +1 -1
  278. package/dist/umd/types/clarity.d.ts +5 -0
  279. package/dist/umd/types/clarity.d.ts.map +1 -1
  280. package/dist/umd/types/heatmap-info.d.ts +11 -0
  281. package/dist/umd/types/heatmap-info.d.ts.map +1 -0
  282. package/dist/umd/types/heatmap.d.ts +13 -0
  283. package/dist/umd/types/heatmap.d.ts.map +1 -1
  284. package/dist/umd/types/iframe-helper.d.ts +20 -0
  285. package/dist/umd/types/iframe-helper.d.ts.map +1 -0
  286. package/dist/umd/types/index.d.ts +4 -1
  287. package/dist/umd/types/index.d.ts.map +1 -1
  288. package/dist/umd/types/viz-canvas.d.ts +23 -0
  289. package/dist/umd/types/viz-canvas.d.ts.map +1 -0
  290. package/dist/umd/types/viz-element.d.ts +0 -6
  291. package/dist/umd/types/viz-element.d.ts.map +1 -1
  292. package/dist/umd/types/viz-scrollmap.d.ts +27 -0
  293. package/dist/umd/types/viz-scrollmap.d.ts.map +1 -0
  294. package/package.json +14 -11
  295. package/dist/esm/components/Layout/ContentHeader.d.ts +0 -4
  296. package/dist/esm/components/Layout/ContentHeader.d.ts.map +0 -1
  297. package/dist/esm/components/Layout/VizMode.d.ts +0 -2
  298. package/dist/esm/components/Layout/VizMode.d.ts.map +0 -1
  299. package/dist/esm/components/Test.d.ts +0 -121
  300. package/dist/esm/components/Test.d.ts.map +0 -1
  301. package/dist/esm/components/VizDom/VizDomContainer.d.ts +0 -6
  302. package/dist/esm/components/VizDom/VizDomContainer.d.ts.map +0 -1
  303. package/dist/esm/components/VizElement/ClickedElementOverlay.d.ts +0 -17
  304. package/dist/esm/components/VizElement/ClickedElementOverlay.d.ts.map +0 -1
  305. package/dist/esm/components/VizElement/HoveredElementOverlay.d.ts +0 -12
  306. package/dist/esm/components/VizElement/HoveredElementOverlay.d.ts.map +0 -1
  307. package/dist/esm/components/VizElement/MissingElementMessage.d.ts +0 -7
  308. package/dist/esm/components/VizElement/MissingElementMessage.d.ts.map +0 -1
  309. package/dist/esm/components/VizElement/temp/ClarityVisualizer.d.ts +0 -150
  310. package/dist/esm/components/VizElement/temp/ClarityVisualizer.d.ts.map +0 -1
  311. package/dist/esm/components/VizElement/temp/VizElementRank.d.ts +0 -74
  312. package/dist/esm/components/VizElement/temp/VizElementRank.d.ts.map +0 -1
  313. package/dist/esm/components/VizLive/VizLive.d.ts +0 -2
  314. package/dist/esm/components/VizLive/VizLive.d.ts.map +0 -1
  315. package/dist/esm/helpers/viewport-fixer.d.ts +0 -13
  316. package/dist/esm/helpers/viewport-fixer.d.ts.map +0 -1
  317. package/dist/esm/helpers/viewport-replacer.d.ts +0 -26
  318. package/dist/esm/helpers/viewport-replacer.d.ts.map +0 -1
  319. package/dist/esm/hooks/vix-elements/useHoveredElement.d.ts.map +0 -1
  320. package/dist/esm/hooks/viz-canvas/useHeatmapVizCanvas.d.ts +0 -2
  321. package/dist/esm/hooks/viz-canvas/useHeatmapVizCanvas.d.ts.map +0 -1
  322. package/dist/esm/hooks/viz-live/useIframeMessage.d.ts.map +0 -1
  323. package/dist/esm/hooks/viz-scale/useIframeHeight.d.ts +0 -10
  324. package/dist/esm/hooks/viz-scale/useIframeHeight.d.ts.map +0 -1
  325. package/dist/esm/types/viewport-fixer.d.ts +0 -31
  326. package/dist/esm/types/viewport-fixer.d.ts.map +0 -1
  327. package/dist/umd/components/Layout/ContentHeader.d.ts +0 -4
  328. package/dist/umd/components/Layout/ContentHeader.d.ts.map +0 -1
  329. package/dist/umd/components/Test.d.ts +0 -121
  330. package/dist/umd/components/Test.d.ts.map +0 -1
  331. package/dist/umd/components/VizDom/VizDomContainer.d.ts +0 -2
  332. package/dist/umd/components/VizDom/VizDomContainer.d.ts.map +0 -1
  333. package/dist/umd/components/VizElement/ClickedElementOverlay.d.ts +0 -17
  334. package/dist/umd/components/VizElement/ClickedElementOverlay.d.ts.map +0 -1
  335. package/dist/umd/components/VizElement/HoveredElementOverlay.d.ts +0 -12
  336. package/dist/umd/components/VizElement/HoveredElementOverlay.d.ts.map +0 -1
  337. package/dist/umd/components/VizElement/MissingElementMessage.d.ts +0 -7
  338. package/dist/umd/components/VizElement/MissingElementMessage.d.ts.map +0 -1
  339. package/dist/umd/components/VizElement/temp/ClarityVisualizer.d.ts +0 -150
  340. package/dist/umd/components/VizElement/temp/ClarityVisualizer.d.ts.map +0 -1
  341. package/dist/umd/components/VizElement/temp/VizElementRank.d.ts +0 -74
  342. package/dist/umd/components/VizElement/temp/VizElementRank.d.ts.map +0 -1
  343. package/dist/umd/helpers/viewport-fixer.d.ts +0 -13
  344. package/dist/umd/helpers/viewport-fixer.d.ts.map +0 -1
  345. package/dist/umd/helpers/viewport-replacer.d.ts +0 -26
  346. package/dist/umd/helpers/viewport-replacer.d.ts.map +0 -1
  347. package/dist/umd/hooks/vix-elements/useHoveredElement.d.ts.map +0 -1
  348. package/dist/umd/hooks/viz-canvas/useHeatmapVizCanvas.d.ts +0 -2
  349. package/dist/umd/hooks/viz-canvas/useHeatmapVizCanvas.d.ts.map +0 -1
  350. package/dist/umd/hooks/viz-live/useIframeMessage.d.ts.map +0 -1
  351. package/dist/umd/hooks/viz-scale/useIframeHeight.d.ts +0 -10
  352. package/dist/umd/hooks/viz-scale/useIframeHeight.d.ts.map +0 -1
  353. package/dist/umd/types/viewport-fixer.d.ts +0 -31
  354. package/dist/umd/types/viewport-fixer.d.ts.map +0 -1
  355. package/src/components/GraphView.tsx +0 -58
  356. package/src/components/Layout/ContentMetricBar.tsx +0 -23
  357. package/src/components/Layout/ContentToolbar.tsx +0 -22
  358. package/src/components/Layout/ContentTopBar.tsx +0 -24
  359. package/src/components/Layout/ContentVizByMode.tsx +0 -14
  360. package/src/components/Layout/HeatmapLayout.tsx +0 -60
  361. package/src/components/Layout/LeftSidebar.tsx +0 -44
  362. package/src/components/Layout/WrapperLayout.tsx +0 -12
  363. package/src/components/Layout/WrapperPreview.tsx +0 -24
  364. package/src/components/Layout/index.ts +0 -1
  365. package/src/components/VizDom/ReplayControls.tsx +0 -48
  366. package/src/components/VizDom/VizContainer.tsx +0 -40
  367. package/src/components/VizDom/VizDomHeatmap.tsx +0 -28
  368. package/src/components/VizDom/VizDomRenderer.tsx +0 -82
  369. package/src/components/VizDom/VizLoading.tsx +0 -8
  370. package/src/components/VizDom/WrapperVisual.tsx +0 -73
  371. package/src/components/VizDom/index.ts +0 -5
  372. package/src/components/VizElement/DefaultRankBadges.tsx +0 -36
  373. package/src/components/VizElement/ElementCallout.tsx +0 -82
  374. package/src/components/VizElement/ElementMissing.tsx +0 -35
  375. package/src/components/VizElement/ElementOverlay.tsx +0 -66
  376. package/src/components/VizElement/HeatmapElements.tsx +0 -127
  377. package/src/components/VizElement/HeatmapExample.tsx +0 -70
  378. package/src/components/VizElement/RankBadge.tsx +0 -25
  379. package/src/components/VizElement/VizElements.tsx +0 -57
  380. package/src/components/VizElement/index.ts +0 -1
  381. package/src/components/VizLive/VizLiveHeatmap.tsx +0 -27
  382. package/src/components/VizLive/VizLiveRenderer.tsx +0 -47
  383. package/src/components/VizLive/index.ts +0 -1
  384. package/src/components/VizScrollmap/AverageFoldLine.tsx +0 -57
  385. package/src/components/VizScrollmap/HoverZones.tsx +0 -58
  386. package/src/components/VizScrollmap/MetricRow.tsx +0 -0
  387. package/src/components/VizScrollmap/ScrollMapMinimap.tsx +0 -64
  388. package/src/components/VizScrollmap/ScrollMapOverlay.tsx +0 -79
  389. package/src/components/VizScrollmap/ScrollZoneHoverArea.tsx +0 -35
  390. package/src/components/VizScrollmap/ScrollZoneTooltip.tsx +0 -146
  391. package/src/components/VizScrollmap/ScrollmapMarker.tsx +0 -106
  392. package/src/components/VizScrollmap/VizScrollMap.tsx +0 -36
  393. package/src/components/VizScrollmapV2/ScrollmapOverlay.css +0 -94
  394. package/src/components/VizScrollmapV2/ScrollmapOverlayV2.tsx +0 -130
  395. package/src/components/VizScrollmapV2/scrollmap.types.ts +0 -21
  396. package/src/components/VizScrollmapV2/useScrollmapOverlay.ts +0 -187
  397. package/src/components/index.tsx +0 -2
  398. package/src/configs/iframe.ts +0 -15
  399. package/src/configs/index.ts +0 -2
  400. package/src/configs/style.ts +0 -21
  401. package/src/constants/index.ts +0 -4
  402. package/src/global.d.ts +0 -5
  403. package/src/helpers/elm-callout.ts +0 -347
  404. package/src/helpers/elm-getter.ts +0 -70
  405. package/src/helpers/iframe-helper/fixer.ts +0 -100
  406. package/src/helpers/iframe-helper/index.ts +0 -1
  407. package/src/helpers/iframe-helper/init.ts +0 -56
  408. package/src/helpers/iframe-helper/navigation-blocker-v2.ts +0 -371
  409. package/src/helpers/iframe-helper/navigation-blocker.ts +0 -367
  410. package/src/helpers/iframe-helper/style-replacer.ts +0 -231
  411. package/src/helpers/iframe.ts +0 -42
  412. package/src/helpers/index.ts +0 -8
  413. package/src/helpers/viz-canvas/area-clustering.ts +0 -234
  414. package/src/helpers/viz-canvas/area-overlay-manager-v2.ts +0 -176
  415. package/src/helpers/viz-canvas/area-overlay-manager.ts +0 -273
  416. package/src/helpers/viz-canvas/hierarchical-area-clustering.ts +0 -420
  417. package/src/helpers/viz-elements.ts +0 -43
  418. package/src/hooks/index.ts +0 -8
  419. package/src/hooks/register/index.ts +0 -4
  420. package/src/hooks/register/useRegisterConfig.ts +0 -17
  421. package/src/hooks/register/useRegisterControl.ts +0 -13
  422. package/src/hooks/register/useRegisterData.ts +0 -36
  423. package/src/hooks/register/useRegisterHeatmap.ts +0 -38
  424. package/src/hooks/viz-area/useAreaHeatmap.ts +0 -336
  425. package/src/hooks/viz-area/useAreaHeatmapManager.ts +0 -692
  426. package/src/hooks/viz-canvas/index.ts +0 -1
  427. package/src/hooks/viz-canvas/useAreamap.ts +0 -162
  428. package/src/hooks/viz-canvas/useClickmap.ts +0 -24
  429. package/src/hooks/viz-canvas/useHeatmapCanvas.ts +0 -27
  430. package/src/hooks/viz-canvas/useScrollmap.ts +0 -22
  431. package/src/hooks/viz-elements/index.ts +0 -5
  432. package/src/hooks/viz-elements/useClickedElement.ts +0 -86
  433. package/src/hooks/viz-elements/useElementCalloutVisible.ts +0 -45
  434. package/src/hooks/viz-elements/useHeatmapEffects.ts +0 -30
  435. package/src/hooks/viz-elements/useHeatmapElementPosition.ts +0 -60
  436. package/src/hooks/viz-elements/useHeatmapMouseHandler.ts +0 -255
  437. package/src/hooks/viz-elements/useHoveredElement.ts +0 -170
  438. package/src/hooks/viz-live/index.ts +0 -1
  439. package/src/hooks/viz-live/useVizLiveIframeMsg.ts +0 -88
  440. package/src/hooks/viz-live/useVizLiveRender.ts +0 -67
  441. package/src/hooks/viz-render/index.ts +0 -1
  442. package/src/hooks/viz-render/useHeatmapRender.ts +0 -71
  443. package/src/hooks/viz-render/useHeatmapVizRender.ts +0 -20
  444. package/src/hooks/viz-render/useReplayRender.ts +0 -160
  445. package/src/hooks/viz-scale/index.ts +0 -2
  446. package/src/hooks/viz-scale/useContainerDimensions.ts +0 -48
  447. package/src/hooks/viz-scale/useContentDimensions.ts +0 -25
  448. package/src/hooks/viz-scale/useHeatmapScale.ts +0 -52
  449. package/src/hooks/viz-scale/useObserveIframeHeight.ts +0 -162
  450. package/src/hooks/viz-scale/useScaleCalculation.ts +0 -31
  451. package/src/hooks/viz-scale/useScrollSync.ts +0 -36
  452. package/src/hooks/viz-scale/useWrapperRefHeight.ts +0 -91
  453. package/src/hooks/viz-scrollmap/useScrollmapZones.ts +0 -165
  454. package/src/hooks/viz-scrollmap/useZonePositions.ts +0 -38
  455. package/src/index.ts +0 -10
  456. package/src/stores/comp.ts +0 -31
  457. package/src/stores/config.ts +0 -37
  458. package/src/stores/data.ts +0 -30
  459. package/src/stores/index.ts +0 -10
  460. package/src/stores/interaction.ts +0 -32
  461. package/src/stores/mode-live.ts +0 -38
  462. package/src/stores/mode-single.ts +0 -18
  463. package/src/stores/viz-scrollmap.ts +0 -22
  464. package/src/stores/viz.ts +0 -17
  465. package/src/styles/base.css +0 -1
  466. package/src/styles/style.css +0 -137
  467. package/src/types/clarity.ts +0 -45
  468. package/src/types/control.ts +0 -10
  469. package/src/types/elm-callout.ts +0 -9
  470. package/src/types/heatmap-info.ts +0 -11
  471. package/src/types/heatmap.ts +0 -25
  472. package/src/types/iframe-helper.ts +0 -18
  473. package/src/types/index.ts +0 -12
  474. package/src/types/viz-canvas.ts +0 -20
  475. package/src/types/viz-element.ts +0 -34
  476. package/src/types/viz-scrollmap.ts +0 -28
  477. package/src/ui/BoxStack/BoxStack.tsx +0 -136
  478. package/src/ui/BoxStack/index.ts +0 -1
  479. package/src/ui/index.ts +0 -1
  480. package/src/utils/debounce.ts +0 -10
  481. package/src/utils/device.ts +0 -7
  482. package/src/utils/retry.ts +0 -20
  483. package/src/utils/sort.ts +0 -5
  484. /package/dist/esm/hooks/{vix-elements → viz-elements}/index.d.ts +0 -0
  485. /package/dist/esm/hooks/{vix-elements → viz-elements}/useClickedElement.d.ts +0 -0
  486. /package/dist/esm/hooks/{vix-elements → viz-elements}/useElementCalloutVisible.d.ts +0 -0
  487. /package/dist/esm/hooks/{vix-elements → viz-elements}/useHeatmapEffects.d.ts +0 -0
  488. /package/dist/esm/hooks/{vix-elements → viz-elements}/useHeatmapElementPosition.d.ts +0 -0
  489. /package/dist/umd/hooks/{vix-elements → viz-elements}/index.d.ts +0 -0
  490. /package/dist/umd/hooks/{vix-elements → viz-elements}/useClickedElement.d.ts +0 -0
  491. /package/dist/umd/hooks/{vix-elements → viz-elements}/useElementCalloutVisible.d.ts +0 -0
  492. /package/dist/umd/hooks/{vix-elements → viz-elements}/useHeatmapEffects.d.ts +0 -0
  493. /package/dist/umd/hooks/{vix-elements → viz-elements}/useHeatmapElementPosition.d.ts +0 -0
@@ -1,70 +0,0 @@
1
- import { useEffect, useRef } from 'react';
2
- import { HeatmapData } from '../../hooks/viz-area/useAreaHeatmapManager';
3
- export function HeatmapWithIframeExample() {
4
- const containerRef = useRef<HTMLDivElement>(null);
5
- const iframeRef = useRef<HTMLIFrameElement>(null);
6
-
7
- // Dữ liệu mẫu
8
- const heatmapData: HeatmapData = {
9
- clickData: [
10
- {
11
- hash: 'main-button',
12
- clicks: [1, 2, 3, 4, 5],
13
- x: [100, 102, 98, 101, 99],
14
- y: [50, 51, 49, 50, 52],
15
- points: 15,
16
- totalclicks: 150,
17
- selector: '.main-button',
18
- },
19
- {
20
- hash: 'iframe-button', // Element trong iframe
21
- clicks: [1, 2, 3],
22
- x: [200, 201, 199],
23
- y: [30, 31, 29],
24
- points: 8,
25
- totalclicks: 80,
26
- selector: '.iframe-button',
27
- },
28
- ],
29
- totalClicks: 230,
30
- };
31
-
32
- // Load nội dung vào iframe
33
- useEffect(() => {
34
- if (iframeRef.current && iframeRef.current.contentDocument) {
35
- const iframeDoc = iframeRef.current.contentDocument;
36
- iframeDoc.open();
37
- iframeDoc.write(`
38
- <!DOCTYPE html>
39
- <html>
40
- <head>
41
- <style>
42
- body {
43
- font-family: Arial, sans-serif;
44
- padding: 20px;
45
- margin: 0;
46
- }
47
- .iframe-button {
48
- padding: 15px 30px;
49
- background: #0078D4;
50
- color: white;
51
- border: none;
52
- border-radius: 4px;
53
- cursor: pointer;
54
- font-size: 16px;
55
- }
56
- </style>
57
- </head>
58
- <body>
59
- <h2>Nội dung trong Iframe</h2>
60
- <p>Đây là nội dung bên trong iframe</p>
61
- <button class="iframe-button" data-clarity-hashalpha="iframe-button">
62
- Button trong Iframe (80 clicks)
63
- </button>
64
- </body>
65
- </html>
66
- `);
67
- iframeDoc.close();
68
- }
69
- }, []);
70
- }
@@ -1,25 +0,0 @@
1
- import type { ElementRect } from '../../types';
2
-
3
- import { calculateRankPosition } from '../../helpers/viz-elements';
4
-
5
- interface RankBadgeProps {
6
- index: number;
7
- elementRect: ElementRect;
8
- widthScale: number;
9
- clickOnElement?: () => void;
10
- }
11
-
12
- export const RankBadge: React.FC<RankBadgeProps> = ({
13
- index,
14
- elementRect,
15
- widthScale,
16
- clickOnElement,
17
- }) => {
18
- const style = calculateRankPosition(elementRect, widthScale);
19
-
20
- return (
21
- <div className="gx-hm-rank-badge" style={style} onClick={clickOnElement}>
22
- {index}
23
- </div>
24
- );
25
- };
@@ -1,57 +0,0 @@
1
- import { useHeatmapConfigStore, useHeatmapDataStore, useHeatmapSingleStore } from '../../stores';
2
- import { WebVisualizer } from '../../types';
3
- import { HeatmapElements } from './HeatmapElements';
4
-
5
- interface VizElementsProps {
6
- iframeRef: React.RefObject<HTMLIFrameElement | null>;
7
- visualRef: React.RefObject<HTMLDivElement | null>;
8
- wrapperRef: React.RefObject<HTMLDivElement>;
9
- }
10
- export const VizElements: React.FC<VizElementsProps> = ({ iframeRef, visualRef, wrapperRef }) => {
11
- const heatmapInfo = useHeatmapDataStore((state) => state.dataInfo);
12
- const contentWidth = useHeatmapConfigStore((state) => state.width);
13
- const vizRef = useHeatmapSingleStore((state) => state.vizRef);
14
-
15
- const visualizer: WebVisualizer = {
16
- get: (hash: string) => {
17
- if (vizRef) {
18
- return vizRef.get(hash);
19
- }
20
-
21
- const doc = iframeRef.current?.contentDocument;
22
- if (!doc) return null;
23
-
24
- const elmHashAlpha = doc.querySelector(`[data-clarity-hashalpha="${hash}"]`) as HTMLElement;
25
- if (elmHashAlpha) {
26
- return elmHashAlpha;
27
- }
28
-
29
- const elmHash = doc.querySelector(`[data-clarity-hash="${hash}"]`) as HTMLElement;
30
- if (elmHash) {
31
- return elmHash;
32
- }
33
-
34
- return null;
35
- },
36
- };
37
-
38
- if (!iframeRef.current) return null;
39
-
40
- return (
41
- <HeatmapElements
42
- visualizer={visualizer}
43
- visualRef={visualRef as React.RefObject<HTMLDivElement>}
44
- iframeRef={iframeRef as React.RefObject<HTMLIFrameElement>}
45
- wrapperRef={wrapperRef as React.RefObject<HTMLElement>}
46
- heatmapInfo={heatmapInfo}
47
- isVisible={true}
48
- iframeDimensions={{
49
- width: contentWidth,
50
- position: 'absolute',
51
- top: 0,
52
- left: 0,
53
- // pointerEvents: 'none',
54
- }}
55
- />
56
- );
57
- };
@@ -1 +0,0 @@
1
- export * from './VizElements';
@@ -1,27 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { useHeatmapControlStore, useHeatmapDataStore, useHeatmapLiveStore } from '../../stores';
3
- import { VizContainer, VizLoading } from '../VizDom';
4
- import { VizLiveRenderer } from './VizLiveRenderer';
5
-
6
- export const VizLiveHeatmap: React.FC = () => {
7
- const controls = useHeatmapControlStore((state) => state.controls);
8
- const isRendering = useHeatmapDataStore((state) => state.isRendering);
9
- const iframeHeight = useHeatmapLiveStore((state) => state.iframeHeight);
10
- const wrapperHeight = useHeatmapLiveStore((state) => state.wrapperHeight);
11
- const setWrapperHeight = useHeatmapLiveStore((state) => state.setWrapperHeight);
12
- const reset = useHeatmapLiveStore((state) => state.reset);
13
-
14
- useEffect(() => {
15
- return () => {
16
- reset();
17
- };
18
- }, [reset]);
19
-
20
- if (isRendering) return controls.VizLoading ?? null;
21
- return (
22
- <VizContainer setWrapperHeight={setWrapperHeight}>
23
- <VizLiveRenderer />
24
- {(!iframeHeight || !wrapperHeight) && <VizLoading />}
25
- </VizContainer>
26
- );
27
- };
@@ -1,47 +0,0 @@
1
- import { useRef } from 'react';
2
- import { HEATMAP_IFRAME } from '../../configs';
3
- import { useHeatmapScale } from '../../hooks';
4
- import { useVizLiveRender } from '../../hooks/viz-live';
5
- import { useHeatmapConfigStore, useHeatmapLiveStore } from '../../stores';
6
- import { WrapperVisual } from '../VizDom';
7
-
8
- export const VizLiveRenderer: React.FC = () => {
9
- const contentWidth = useHeatmapConfigStore((state) => state.width);
10
- const iframeHeight = useHeatmapLiveStore((state) => state.iframeHeight);
11
- const setIframeHeight = useHeatmapLiveStore((state) => state.setIframeHeight);
12
- const visualRef = useRef<HTMLDivElement>(null);
13
- const wrapperRef = useRef<HTMLDivElement>(null);
14
-
15
- const { iframeRef } = useVizLiveRender();
16
- const { scaledHeight, handleScroll } = useHeatmapScale({
17
- wrapperRef,
18
- iframeRef,
19
- visualRef,
20
- iframeHeight,
21
- setIframeHeight,
22
- });
23
-
24
- const onScroll = (e: React.UIEvent<HTMLDivElement>) => {
25
- const scrollTop = e.currentTarget.scrollTop;
26
- handleScroll(scrollTop);
27
- };
28
-
29
- return (
30
- <WrapperVisual
31
- visualRef={visualRef}
32
- wrapperRef={wrapperRef}
33
- scaledHeight={scaledHeight}
34
- iframeHeight={iframeHeight}
35
- onScroll={onScroll}
36
- >
37
- <iframe
38
- ref={iframeRef}
39
- {...HEATMAP_IFRAME}
40
- width={contentWidth}
41
- // height={iframeHeight}
42
- scrolling="no"
43
- sandbox="allow-scripts allow-same-origin"
44
- />
45
- </WrapperVisual>
46
- );
47
- };
@@ -1 +0,0 @@
1
- export * from './VizLiveHeatmap';
@@ -1,57 +0,0 @@
1
- import React from 'react';
2
- import { useZonePositions } from '../../hooks';
3
- import { useHeatmapDataStore } from '../../stores';
4
-
5
- interface AverageFoldLineProps {
6
- iframeRef: React.RefObject<HTMLIFrameElement>;
7
- wrapperRef: React.RefObject<HTMLElement>;
8
- }
9
-
10
- export const AverageFoldLine: React.FC<AverageFoldLineProps> = ({ iframeRef, wrapperRef }) => {
11
- const averageFold = useHeatmapDataStore((state) => state.dataInfo?.averageFold || 50);
12
-
13
- const { getZonePosition } = useZonePositions({ iframeRef, wrapperRef });
14
-
15
- const position = getZonePosition({
16
- startY: averageFold,
17
- endY: averageFold,
18
- });
19
-
20
- if (!position) return null;
21
-
22
- return (
23
- <div
24
- style={{
25
- position: 'absolute',
26
- top: `${position.top}px`,
27
- left: 0,
28
- width: '100%',
29
- height: '2px',
30
- backgroundColor: '#0078D4',
31
- pointerEvents: 'none',
32
- zIndex: 2,
33
- boxShadow: '0 0 4px rgba(0,120,212,0.5)',
34
- display: 'flex',
35
- alignItems: 'center',
36
- }}
37
- >
38
- <div
39
- style={{
40
- position: 'absolute',
41
- padding: '8px',
42
- backgroundColor: 'rgba(0, 120, 212, 0.9)',
43
- color: 'white',
44
- fontSize: '16px',
45
- fontWeight: 600,
46
- borderRadius: '4px',
47
- whiteSpace: 'nowrap',
48
- left: '12px',
49
- minWidth: '120px',
50
- textAlign: 'center',
51
- }}
52
- >
53
- Average fold - {averageFold.toFixed(0)}%
54
- </div>
55
- </div>
56
- );
57
- };
@@ -1,58 +0,0 @@
1
- import { useScrollmapZones } from '../../hooks';
2
- import { useHeatmapDataStore } from '../../stores';
3
- import { IScrollMapPosition } from '../../types';
4
- import { ScrollMapMinimap } from './ScrollMapMinimap';
5
- import { ScrollZoneTooltip } from './ScrollZoneTooltip';
6
-
7
- interface HoverZonesProps {
8
- wrapperRef: React.RefObject<HTMLElement>;
9
- iframeRef: React.RefObject<HTMLIFrameElement>;
10
- position?: IScrollMapPosition;
11
- currentScrollPercent: number;
12
- }
13
-
14
- export const HoverZones: React.FC<HoverZonesProps> = ({
15
- iframeRef,
16
- wrapperRef,
17
- position,
18
- currentScrollPercent,
19
- }) => {
20
- const scrollmap = useHeatmapDataStore((state) => state.scrollmap);
21
- // const hoveredZone = useHeatmapVizScrollmapStore((state) => state.hoveredZone);
22
- // const setHoveredZone = useHeatmapVizScrollmapStore((state) => state.setHoveredZone);
23
-
24
- const { zones, isReady, maxUsers } = useScrollmapZones({
25
- iframeRef,
26
- wrapperRef,
27
- });
28
-
29
- if (!isReady || !zones.length) return null;
30
- if (!position) return null;
31
-
32
- return (
33
- <>
34
- {/* {zones.map((zone) => {
35
- const position = getZonePosition(zone);
36
- if (!position) return null;
37
-
38
- return (
39
- <ScrollZoneHoverArea
40
- key={zone.id}
41
- zone={zone}
42
- position={position}
43
- isHovered={hoveredZone?.id === zone.id}
44
- onHoverChange={setHoveredZone}
45
- />
46
- );
47
- })} */}
48
-
49
- <ScrollZoneTooltip
50
- position={position}
51
- currentScrollPercent={currentScrollPercent}
52
- scrollmap={scrollmap || []}
53
- />
54
-
55
- <ScrollMapMinimap zones={zones} maxUsers={maxUsers} />
56
- </>
57
- );
58
- };
File without changes
@@ -1,64 +0,0 @@
1
- import { getScrollGradientColor } from '../../hooks';
2
- import { useHeatmapConfigStore, useHeatmapVizScrollmapStore } from '../../stores';
3
- import { IScrollType, IScrollZone } from '../../types';
4
-
5
- interface ScrollMapMinimapProps {
6
- zones: IScrollZone[];
7
- maxUsers: number;
8
- }
9
-
10
- export const ScrollMapMinimap: React.FC<ScrollMapMinimapProps> = ({ zones, maxUsers }) => {
11
- const showMinimap = useHeatmapVizScrollmapStore((state) => state.showMinimap);
12
- const scrollType = useHeatmapConfigStore((state) => state.scrollType);
13
- const isScrollType = [IScrollType.Attention].includes(scrollType);
14
-
15
- if (!showMinimap || !isScrollType) return null;
16
-
17
- return (
18
- <div
19
- style={{
20
- position: 'fixed',
21
- left: '20px',
22
- top: '50%',
23
- transform: 'translateY(-50%)',
24
- width: '60px',
25
- height: '400px',
26
- backgroundColor: 'white',
27
- borderRadius: '8px',
28
- boxShadow: '0 4px 16px rgba(0,0,0,0.15)',
29
- zIndex: 10002,
30
- padding: '8px',
31
- boxSizing: 'border-box',
32
- }}
33
- >
34
- <div
35
- style={{
36
- width: '100%',
37
- height: '100%',
38
- borderRadius: '4px',
39
- overflow: 'hidden',
40
- display: 'flex',
41
- flexDirection: 'column',
42
- }}
43
- >
44
- {zones.map((zone) => {
45
- const normalized = maxUsers > 0 ? zone.percUsers / maxUsers : 0;
46
- const color = getScrollGradientColor(normalized);
47
-
48
- return (
49
- <div
50
- key={zone.id}
51
- title={`${zone.label}: ${zone.percUsers.toFixed(2)}%`}
52
- style={{
53
- width: '100%',
54
- flex: `${zone.endY - zone.startY}`,
55
- backgroundColor: color,
56
- borderBottom: '1px solid rgba(255,255,255,0.2)',
57
- }}
58
- />
59
- );
60
- })}
61
- </div>
62
- </div>
63
- );
64
- };
@@ -1,79 +0,0 @@
1
- import { useCallback, useRef, useState } from 'react';
2
- import { convertViewportToIframeCoords } from '../../hooks';
3
- import { useHeatmapSingleStore, useHeatmapVizStore } from '../../stores';
4
- import { IScrollMapPosition } from '../../types';
5
- import { HoverZones } from './HoverZones';
6
-
7
- interface ScrollMapOverlayProps {
8
- wrapperRef: React.RefObject<HTMLElement>;
9
- iframeRef: React.RefObject<HTMLIFrameElement>;
10
- }
11
-
12
- export const ScrollMapOverlay: React.FC<ScrollMapOverlayProps> = ({ wrapperRef, iframeRef }) => {
13
- const overlayRef = useRef<HTMLDivElement>(null);
14
-
15
- const [position, setPosition] = useState<IScrollMapPosition>();
16
- const [currentScrollPercent, setCurrentScrollPercent] = useState<number>(0);
17
-
18
- const widthScale = useHeatmapVizStore((state) => state.scale);
19
- const iframeHeight = useHeatmapSingleStore((state) => state.iframeHeight);
20
-
21
- const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {
22
- if (!iframeRef.current || !wrapperRef.current) return;
23
-
24
- const iframe = iframeRef.current;
25
- const iframeRect = iframe.getBoundingClientRect();
26
- const { x, y } = convertViewportToIframeCoords(
27
- event.clientX,
28
- event.clientY,
29
- iframeRect,
30
- widthScale,
31
- );
32
-
33
- const wrapperEl = wrapperRef.current as HTMLElement;
34
- const scrollOffset = (wrapperEl?.scrollTop || 0) / widthScale;
35
- const actualY = y + scrollOffset;
36
- const scrollPercent = Math.min(100, Math.max(0, (actualY / iframeHeight) * 100));
37
-
38
- setCurrentScrollPercent(scrollPercent);
39
- setPosition({ x, y });
40
- };
41
-
42
- const onMouseMove = useCallback(
43
- (event: React.MouseEvent<HTMLDivElement>) => {
44
- requestAnimationFrame(() => handleMouseMove(event));
45
- },
46
- [handleMouseMove],
47
- );
48
-
49
- const onMouseLeave = () => {
50
- requestAnimationFrame(() => {
51
- setCurrentScrollPercent(0);
52
- setPosition(undefined);
53
- });
54
- };
55
-
56
- return (
57
- <div
58
- ref={overlayRef}
59
- id="gx-hm-scrollmap-overlay"
60
- onMouseMove={onMouseMove}
61
- onMouseLeave={onMouseLeave}
62
- style={{
63
- position: 'absolute',
64
- top: 0,
65
- left: 0,
66
- width: '100%',
67
- height: `${iframeHeight}px`,
68
- zIndex: 3,
69
- }}
70
- >
71
- <HoverZones
72
- position={position}
73
- currentScrollPercent={currentScrollPercent}
74
- iframeRef={iframeRef}
75
- wrapperRef={wrapperRef}
76
- />
77
- </div>
78
- );
79
- };
@@ -1,35 +0,0 @@
1
- import React from 'react';
2
- import { IScrollZone } from '../../types';
3
-
4
- interface ScrollZoneHoverAreaProps {
5
- zone: IScrollZone;
6
- position: { top: number; height: number };
7
- isHovered: boolean;
8
- onHoverChange: (zone: IScrollZone | null) => void;
9
- }
10
-
11
- export const ScrollZoneHoverArea: React.FC<ScrollZoneHoverAreaProps> = ({
12
- zone,
13
- position,
14
- isHovered,
15
- onHoverChange,
16
- }) => {
17
- return (
18
- <div
19
- style={{
20
- position: 'absolute',
21
- top: `${position.top}px`,
22
- left: 0,
23
- width: '100%',
24
- height: `${position.height}px`,
25
- pointerEvents: 'auto',
26
- cursor: 'pointer',
27
- backgroundColor: isHovered ? 'rgba(0, 120, 212, 0.1)' : 'transparent',
28
- transition: 'background-color 0.2s ease',
29
- borderBottom: '1px dashed rgba(0, 120, 212, 0.2)',
30
- }}
31
- onMouseEnter={() => onHoverChange(zone)}
32
- onMouseLeave={() => onHoverChange(null)}
33
- />
34
- );
35
- };
@@ -1,146 +0,0 @@
1
- import { useMemo, useRef } from 'react';
2
- import { useHeatmapConfigStore } from '../../stores';
3
- import { IScrollMapPosition, IScrollType, IScrollZone, ScrollMapPoint } from '../../types';
4
-
5
- interface ScrollZoneTooltipProps {
6
- zone?: IScrollZone;
7
- position: IScrollMapPosition;
8
- currentScrollPercent: number;
9
- scrollmap: ScrollMapPoint[];
10
- }
11
-
12
- export const ScrollZoneTooltip: React.FC<ScrollZoneTooltipProps> = ({
13
- zone,
14
- position,
15
- currentScrollPercent,
16
- scrollmap,
17
- }) => {
18
- const tooltipRef = useRef<HTMLDivElement>(null);
19
-
20
- const currentData = useMemo(() => {
21
- if (!scrollmap || scrollmap.length === 0) return null;
22
-
23
- const roundedPercent = Math.floor(currentScrollPercent);
24
- return scrollmap.find((d) => d.scrollReachY === roundedPercent) || null;
25
- }, [scrollmap, currentScrollPercent]);
26
-
27
- return (
28
- <div
29
- id="gx-hm-scrollmap-tooltip"
30
- ref={tooltipRef}
31
- style={{
32
- position: 'fixed',
33
- top: `${position.y}px`,
34
- backgroundColor: 'black',
35
- zIndex: 10001,
36
- pointerEvents: 'none',
37
- width: '100%',
38
- height: '2px',
39
- }}
40
- >
41
- <div
42
- style={{
43
- position: 'absolute',
44
- left: '50%',
45
- top: '-50%',
46
- transform: 'translate(-50%, -50%)',
47
- padding: '16px',
48
- borderRadius: '8px',
49
- boxShadow: '0 4px 16px rgba(0,0,0,0.15)',
50
- fontSize: '14px',
51
- width: 'fit-content',
52
- backgroundColor: 'white',
53
- minWidth: '230px',
54
- display: 'flex',
55
- gap: '8px',
56
- alignItems: 'center',
57
- }}
58
- >
59
- <p
60
- style={{
61
- fontWeight: 650,
62
- fontSize: '20px',
63
- lineHeight: '24px',
64
- letterSpacing: '-0.2px',
65
- verticalAlign: 'middle',
66
- fontVariantNumeric: 'tabular-nums',
67
- }}
68
- >
69
- {currentData?.percUsers?.toFixed(2)}%{' '}
70
- </p>
71
- <p style={{ fontWeight: 450 }}>user scrolled this far</p>
72
- </div>
73
-
74
- <TooltipByZone zone={zone} />
75
- </div>
76
- );
77
- };
78
-
79
- const TooltipByZone: React.FC<{ zone?: IScrollZone }> = ({ zone }) => {
80
- const scrollType = useHeatmapConfigStore((state) => state.scrollType);
81
- if (!zone) return null;
82
-
83
- const contentMarkup = () => {
84
- switch (scrollType) {
85
- case IScrollType.Depth:
86
- return <BasicTooltipContent zone={zone} />;
87
- case IScrollType.Attention:
88
- return <MetricsTooltipContent zone={zone} />;
89
- default:
90
- return <BasicTooltipContent zone={zone} />;
91
- }
92
- };
93
- return (
94
- <div style={{ paddingTop: '12px', borderTop: '1px solid #E5E7EB' }}>{contentMarkup()}</div>
95
- );
96
- };
97
-
98
- const BasicTooltipContent: React.FC<{ zone?: IScrollZone }> = ({ zone }) => {
99
- if (!zone) return null;
100
-
101
- return (
102
- <>
103
- <div style={{ fontWeight: 600, marginBottom: '8px' }}>{zone.label}</div>
104
- <div style={{ fontSize: '24px', fontWeight: 700, color: '#0078D4' }}>
105
- {zone.percUsers.toFixed(2)}%
106
- </div>
107
- <div style={{ fontSize: '12px', color: '#605E5C', marginTop: '4px' }}>
108
- of users reached this point
109
- </div>
110
- </>
111
- );
112
- };
113
-
114
- const MetricsTooltipContent: React.FC<{ zone?: IScrollZone }> = ({ zone }) => {
115
- if (!zone) return null;
116
-
117
- return (
118
- <>
119
- <div style={{ fontWeight: 600, marginBottom: '8px' }}>{zone.label}</div>
120
- <div style={{ fontSize: '20px', fontWeight: 700, marginBottom: '8px' }}>
121
- {zone.percUsers.toFixed(2)}% users
122
- </div>
123
-
124
- {zone.metrics && (
125
- <div style={{ display: 'grid', gap: '6px', fontSize: '13px' }}>
126
- {zone.metrics.revenue !== undefined && (
127
- <MetricRow label="Revenue" value={`$${zone.metrics.revenue.toFixed(2)}`} />
128
- )}
129
- {zone.metrics.conversionRate !== undefined && (
130
- <MetricRow label="Conversion" value={`${zone.metrics.conversionRate.toFixed(2)}%`} />
131
- )}
132
- {zone.metrics.orders !== undefined && (
133
- <MetricRow label="Orders" value={zone.metrics.orders.toString()} />
134
- )}
135
- </div>
136
- )}
137
- </>
138
- );
139
- };
140
-
141
- const MetricRow: React.FC<{ label: string; value: string }> = ({ label, value }) => (
142
- <div style={{ display: 'flex', justifyContent: 'space-between' }}>
143
- <span style={{ color: '#605E5C' }}>{label}:</span>
144
- <span style={{ fontWeight: 600 }}>{value}</span>
145
- </div>
146
- );