@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,160 +0,0 @@
1
- import { Data } from '@gemx-dev/clarity-decode';
2
- import { Visualizer } from '@gemx-dev/clarity-visualize';
3
- import { useCallback, useEffect, useRef } from 'react';
4
- import { useHeatmapConfigStore, useHeatmapDataStore } from '../../stores';
5
- import { DecodedEvents, DecodedPayload } from '../../types';
6
- import { isMobileDevice } from '../../utils/device';
7
- import { sortEvents } from '../../utils/sort';
8
-
9
- interface IUseReplayRenderResult {
10
- iframeRef: React.RefObject<HTMLIFrameElement | null>;
11
- isPlaying: boolean;
12
- play: () => void;
13
- pause: () => void;
14
- }
15
-
16
- export const useReplayRender = (): IUseReplayRenderResult => {
17
- const data = useHeatmapDataStore((state) => state.data);
18
- const setWidth = useHeatmapConfigStore((state) => state.setWidth);
19
-
20
- const visualizerRef = useRef<Visualizer | null>(null);
21
- const iframeRef = useRef<HTMLIFrameElement | null>(null);
22
- const eventsRef = useRef<DecodedEvents>([]);
23
- const animationFrameRef = useRef<number | null>(null);
24
- const isPlayingRef = useRef<boolean>(false);
25
-
26
- // Initialize visualizer for replay
27
- const initializeVisualizer = useCallback(
28
- (envelope: Data.Envelope, userAgent: string) => {
29
- const iframe = iframeRef.current;
30
- if (!iframe?.contentWindow) return null;
31
-
32
- // Clear previous events
33
- eventsRef.current = [];
34
-
35
- const visualizer = new Visualizer();
36
- const mobile = isMobileDevice(userAgent);
37
-
38
- visualizer.setup(iframe.contentWindow, {
39
- version: envelope.version,
40
- onresize: (width: number) => {
41
- setWidth(width);
42
- },
43
- mobile,
44
- vNext: true,
45
- locale: 'en-us',
46
- });
47
-
48
- return visualizer;
49
- },
50
- [setWidth],
51
- );
52
-
53
- // Animation loop for replay
54
- const replayLoop = useCallback(() => {
55
- if (!isPlayingRef.current) return;
56
-
57
- const events = eventsRef.current;
58
- const visualizer = visualizerRef.current;
59
-
60
- if (!visualizer || events.length === 0) {
61
- animationFrameRef.current = requestAnimationFrame(replayLoop);
62
- return;
63
- }
64
-
65
- const event = events[0];
66
- const end = event.time + 16; // 60FPS => 16ms per frame
67
- let index = 0;
68
-
69
- // Get events within current frame
70
- while (events[index] && events[index].time < end) {
71
- index++;
72
- }
73
-
74
- // Render events for this frame
75
- if (index > 0) {
76
- visualizer.render(events.splice(0, index) as any);
77
- }
78
-
79
- animationFrameRef.current = requestAnimationFrame(replayLoop);
80
- }, []);
81
-
82
- // Start replay
83
- const startReplay = useCallback(
84
- async (payloads: DecodedPayload[]) => {
85
- if (!payloads || payloads.length === 0) return;
86
-
87
- let visualizer = visualizerRef.current;
88
-
89
- for (const decoded of payloads) {
90
- // Initialize on first sequence
91
- if (decoded.envelope.sequence === 1) {
92
- const userAgent = (decoded.dimension?.[0]?.data[0]?.[0] as string) || '';
93
- visualizer = initializeVisualizer(decoded.envelope as any, userAgent);
94
-
95
- if (!visualizer) return;
96
- visualizerRef.current = visualizer;
97
- }
98
-
99
- if (!visualizer) continue;
100
-
101
- // Merge events and DOM
102
- const merged = visualizer.merge([decoded]);
103
- eventsRef.current = eventsRef.current.concat(merged.events).sort(sortEvents);
104
- visualizer.dom(merged.dom);
105
- }
106
-
107
- // Render HTML
108
- if (visualizer && iframeRef.current?.contentWindow) {
109
- await visualizer.html(payloads, iframeRef.current.contentWindow);
110
- }
111
-
112
- // Auto-start replay
113
- isPlayingRef.current = true;
114
- animationFrameRef.current = requestAnimationFrame(replayLoop);
115
- },
116
- [initializeVisualizer, replayLoop],
117
- );
118
-
119
- // Play control
120
- const play = useCallback(() => {
121
- if (!isPlayingRef.current) {
122
- isPlayingRef.current = true;
123
- animationFrameRef.current = requestAnimationFrame(replayLoop);
124
- }
125
- }, [replayLoop]);
126
-
127
- // Pause control
128
- const pause = useCallback(() => {
129
- isPlayingRef.current = false;
130
- if (animationFrameRef.current) {
131
- cancelAnimationFrame(animationFrameRef.current);
132
- animationFrameRef.current = null;
133
- }
134
- }, []);
135
-
136
- // Main effect: Start replay when data changes
137
- useEffect(() => {
138
- if (!data || data.length === 0) return;
139
-
140
- startReplay(data);
141
-
142
- // Cleanup
143
- return () => {
144
- isPlayingRef.current = false;
145
- if (animationFrameRef.current) {
146
- cancelAnimationFrame(animationFrameRef.current);
147
- animationFrameRef.current = null;
148
- }
149
- eventsRef.current = [];
150
- visualizerRef.current = null;
151
- };
152
- }, [data, startReplay]);
153
-
154
- return {
155
- iframeRef,
156
- isPlaying: isPlayingRef.current,
157
- play,
158
- pause,
159
- };
160
- };
@@ -1,2 +0,0 @@
1
- export * from './useHeatmapScale';
2
- export * from './useWrapperRefHeight';
@@ -1,48 +0,0 @@
1
- import { useCallback, useEffect, useRef, useState } from 'react';
2
-
3
- interface IUseContainerDimensionsProps {
4
- wrapperRef: React.RefObject<HTMLDivElement | null>;
5
- }
6
-
7
- interface IUseContainerDimensionsResult {
8
- containerWidth: number;
9
- containerHeight: number;
10
- }
11
-
12
- export const useContainerDimensions = (
13
- props: IUseContainerDimensionsProps,
14
- ): IUseContainerDimensionsResult => {
15
- const { wrapperRef } = props;
16
-
17
- const [containerWidth, setContainerWidth] = useState(0);
18
- const [containerHeight, setContainerHeight] = useState(0);
19
-
20
- const resizeObserverRef = useRef<ResizeObserver | null>(null);
21
-
22
- const updateDimensions = useCallback(() => {
23
- const scrollContainer = wrapperRef.current?.parentElement?.parentElement;
24
- if (scrollContainer) {
25
- setContainerWidth(scrollContainer.clientWidth);
26
- setContainerHeight(scrollContainer.clientHeight);
27
- }
28
- }, [wrapperRef]);
29
-
30
- useEffect(() => {
31
- const scrollContainer = wrapperRef.current?.parentElement?.parentElement;
32
- if (!scrollContainer || typeof window.ResizeObserver === 'undefined') {
33
- return;
34
- }
35
-
36
- resizeObserverRef.current = new ResizeObserver(updateDimensions);
37
- resizeObserverRef.current.observe(scrollContainer);
38
- updateDimensions();
39
-
40
- return () => {
41
- if (resizeObserverRef.current && scrollContainer) {
42
- resizeObserverRef.current.unobserve(scrollContainer);
43
- }
44
- };
45
- }, [wrapperRef, updateDimensions]);
46
-
47
- return { containerWidth, containerHeight };
48
- };
@@ -1,25 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { useHeatmapConfigStore } from '../../stores';
3
-
4
- interface IUseContentDimensionsProps {
5
- iframeRef: React.RefObject<HTMLIFrameElement | null>;
6
- }
7
-
8
- interface IUseContentDimensionsResult {
9
- contentWidth: number;
10
- }
11
-
12
- export const useContentDimensions = ({
13
- iframeRef,
14
- }: IUseContentDimensionsProps): IUseContentDimensionsResult => {
15
- const contentWidth = useHeatmapConfigStore((state) => state.width);
16
-
17
- useEffect(() => {
18
- if (!contentWidth) return;
19
- if (!iframeRef.current) return;
20
-
21
- // iframeRef.current.width = `${contentWidth}px`;
22
- }, [contentWidth, iframeRef]);
23
-
24
- return { contentWidth };
25
- };
@@ -1,52 +0,0 @@
1
- import { useContainerDimensions } from './useContainerDimensions';
2
- import { useContentDimensions } from './useContentDimensions';
3
- import { useObserveIframeHeight } from './useObserveIframeHeight';
4
- import { useScaleCalculation } from './useScaleCalculation';
5
- import { useScrollSync } from './useScrollSync';
6
-
7
- interface IHeatmapScaleProps {
8
- wrapperRef: React.RefObject<HTMLDivElement | null>;
9
- iframeRef: React.RefObject<HTMLIFrameElement | null>;
10
- visualRef: React.RefObject<HTMLDivElement | null>;
11
- iframeHeight: number;
12
-
13
- setIframeHeight?: (height: number) => void;
14
- }
15
-
16
- interface IUseHeatmapScaleResult {
17
- containerWidth: number;
18
- containerHeight: number;
19
- scaledWidth: number;
20
- scaledHeight: number;
21
- handleScroll: (scrollTop: number) => void;
22
- }
23
-
24
- export const useHeatmapScale = (props: IHeatmapScaleProps): IUseHeatmapScaleResult => {
25
- const { wrapperRef, iframeRef, iframeHeight, setIframeHeight } = props;
26
-
27
- // 1. Observe container dimensions
28
- const { containerWidth, containerHeight } = useContainerDimensions({ wrapperRef });
29
-
30
- // 2. Get content dimensions from config
31
- const { contentWidth } = useContentDimensions({ iframeRef });
32
-
33
- // 3. Observe iframe height (now reacts to width changes)
34
- useObserveIframeHeight({ iframeRef, setIframeHeight });
35
-
36
- // 4. Calculate scale
37
- const { scale } = useScaleCalculation({ containerWidth, contentWidth });
38
-
39
- // 5. Setup scroll sync
40
- const { handleScroll } = useScrollSync({ iframeRef });
41
-
42
- const scaledHeight = iframeHeight * scale;
43
- const scaledWidth = contentWidth * scale;
44
-
45
- return {
46
- containerWidth,
47
- containerHeight,
48
- scaledWidth,
49
- scaledHeight,
50
- handleScroll,
51
- };
52
- };
@@ -1,162 +0,0 @@
1
- import { useCallback, useEffect, useRef } from 'react';
2
- import { useHeatmapVizStore } from '../../stores';
3
-
4
- interface IUseIframeHeightProps {
5
- iframeRef: React.RefObject<HTMLIFrameElement | null>;
6
- setIframeHeight?: (height: number) => void;
7
- }
8
-
9
- interface IUseIframeHeightResult {
10
- iframeHeight?: number;
11
- }
12
-
13
- export const useObserveIframeHeight = (props: IUseIframeHeightProps): IUseIframeHeightResult => {
14
- const { iframeRef, setIframeHeight } = props;
15
-
16
- const isRenderViz = useHeatmapVizStore((state) => state.isRenderViz);
17
-
18
- const resizeObserverRef = useRef<ResizeObserver | null>(null);
19
- const mutationObserverRef = useRef<MutationObserver | null>(null);
20
- const debounceTimerRef = useRef<NodeJS.Timeout | null>(null);
21
- const lastHeightRef = useRef<number>(0);
22
- const animationFrameRef = useRef<number | null>(null);
23
-
24
- const updateIframeHeight = useCallback(() => {
25
- const iframe = iframeRef.current;
26
- if (!iframe || !setIframeHeight) return;
27
-
28
- try {
29
- const iframeDocument = iframe.contentDocument;
30
- const iframeBody = iframeDocument?.body;
31
- const iframeDocumentElement = iframeDocument?.documentElement;
32
- if (!iframeBody || !iframeDocumentElement) return;
33
-
34
- iframe.style.height = 'auto';
35
-
36
- requestAnimationFrame(() => {
37
- const bodyHeight = Math.max(
38
- iframeBody.scrollHeight,
39
- iframeBody.offsetHeight,
40
- iframeBody.clientHeight,
41
- );
42
-
43
- const documentHeight = Math.max(
44
- iframeDocumentElement.scrollHeight,
45
- iframeDocumentElement.offsetHeight,
46
- iframeDocumentElement.clientHeight,
47
- );
48
-
49
- const actualHeight = Math.max(bodyHeight, documentHeight);
50
- if (actualHeight > 0) {
51
- lastHeightRef.current = actualHeight;
52
- iframe.height = `${actualHeight}px`;
53
- iframe.style.height = `${actualHeight}px`;
54
- setIframeHeight(actualHeight);
55
- }
56
- });
57
- } catch (error) {
58
- console.warn('Cannot measure iframe content:', error);
59
- }
60
- }, [iframeRef, setIframeHeight]);
61
-
62
- const debouncedUpdate = useCallback(() => {
63
- // Cancel pending updates
64
- if (debounceTimerRef.current) {
65
- clearTimeout(debounceTimerRef.current);
66
- }
67
- if (animationFrameRef.current) {
68
- cancelAnimationFrame(animationFrameRef.current);
69
- }
70
-
71
- debounceTimerRef.current = setTimeout(() => {
72
- animationFrameRef.current = requestAnimationFrame(() => {
73
- updateIframeHeight();
74
- });
75
- }, 50);
76
- }, [updateIframeHeight]);
77
-
78
- // Immediate update không debounce (cho ResizeObserver)
79
- const immediateUpdate = useCallback(() => {
80
- if (animationFrameRef.current) {
81
- cancelAnimationFrame(animationFrameRef.current);
82
- }
83
-
84
- animationFrameRef.current = requestAnimationFrame(() => {
85
- updateIframeHeight();
86
- });
87
- }, [updateIframeHeight]);
88
-
89
- useEffect(() => {
90
- const iframe = iframeRef.current;
91
- if (!iframe || !isRenderViz) return;
92
-
93
- const setupObservers = () => {
94
- try {
95
- const iframeDocument = iframe.contentDocument;
96
- const iframeBody = iframeDocument?.body;
97
- if (!iframeBody) return;
98
-
99
- // Cleanup existing observers
100
- if (resizeObserverRef.current) {
101
- resizeObserverRef.current.disconnect();
102
- }
103
- if (mutationObserverRef.current) {
104
- mutationObserverRef.current.disconnect();
105
- }
106
-
107
- if (typeof window.ResizeObserver !== 'undefined') {
108
- resizeObserverRef.current = new ResizeObserver(immediateUpdate);
109
- resizeObserverRef.current.observe(iframeBody);
110
-
111
- const iframeDocumentElement = iframeDocument?.documentElement;
112
- if (iframeDocumentElement) {
113
- resizeObserverRef.current.observe(iframeDocumentElement);
114
- }
115
- }
116
-
117
- if (typeof window.MutationObserver !== 'undefined') {
118
- mutationObserverRef.current = new MutationObserver(immediateUpdate);
119
- mutationObserverRef.current.observe(iframeBody, {
120
- childList: true,
121
- subtree: true,
122
- attributes: true,
123
- attributeFilter: ['style', 'class'],
124
- characterData: false,
125
- });
126
- }
127
-
128
- updateIframeHeight();
129
- } catch (error) {
130
- console.warn('Cannot access iframe content:', error);
131
- }
132
- };
133
-
134
- if (iframe.contentDocument?.readyState === 'complete') {
135
- setupObservers();
136
- } else {
137
- iframe.addEventListener('load', setupObservers, { once: true });
138
- }
139
-
140
- return () => {
141
- // Cleanup observers
142
- if (resizeObserverRef.current) {
143
- resizeObserverRef.current.disconnect();
144
- }
145
- if (mutationObserverRef.current) {
146
- mutationObserverRef.current.disconnect();
147
- }
148
-
149
- // Cleanup timers
150
- if (debounceTimerRef.current) {
151
- clearTimeout(debounceTimerRef.current);
152
- }
153
- if (animationFrameRef.current) {
154
- cancelAnimationFrame(animationFrameRef.current);
155
- }
156
-
157
- iframe.removeEventListener('load', setupObservers);
158
- };
159
- }, [iframeRef, isRenderViz, updateIframeHeight, debouncedUpdate, immediateUpdate]);
160
-
161
- return {};
162
- };
@@ -1,31 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { HEATMAP_CONFIG } from '../../configs';
3
- import { useHeatmapVizStore } from '../../stores';
4
-
5
- interface IUseScaleCalculationProps {
6
- containerWidth: number;
7
- contentWidth: number;
8
- }
9
-
10
- interface IUseScaleCalculationResult {
11
- scale: number;
12
- }
13
-
14
- export const useScaleCalculation = (
15
- props: IUseScaleCalculationProps,
16
- ): IUseScaleCalculationResult => {
17
- const scale = useHeatmapVizStore((state) => state.scale);
18
- const setScale = useHeatmapVizStore((state) => state.setScale);
19
-
20
- const { containerWidth, contentWidth } = props;
21
-
22
- useEffect(() => {
23
- if (containerWidth > 0 && contentWidth > 0) {
24
- const availableWidth = containerWidth - HEATMAP_CONFIG['padding'] * 2;
25
- const calculatedScale = Math.min(availableWidth / contentWidth, 1);
26
- setScale(calculatedScale);
27
- }
28
- }, [containerWidth, contentWidth]);
29
-
30
- return { scale };
31
- };
@@ -1,36 +0,0 @@
1
- import { useCallback } from 'react';
2
- import { useHeatmapVizStore } from '../../stores';
3
-
4
- interface IUseScrollSyncProps {
5
- iframeRef: React.RefObject<HTMLIFrameElement | null>;
6
- }
7
-
8
- interface IUseScrollSyncResult {
9
- handleScroll: (scrollTop: number) => void;
10
- }
11
-
12
- export const useScrollSync = ({ iframeRef }: IUseScrollSyncProps): IUseScrollSyncResult => {
13
- const widthScale = useHeatmapVizStore((state) => state.scale);
14
-
15
- const handleScroll = useCallback(
16
- (scrollTop: number) => {
17
- const iframe = iframeRef.current;
18
- if (!iframe || widthScale <= 0) return;
19
-
20
- try {
21
- const iframeWindow = iframe.contentWindow;
22
- const iframeDocument = iframe.contentDocument;
23
-
24
- if (iframeWindow && iframeDocument) {
25
- const iframeScrollTop = scrollTop / widthScale;
26
- iframe.style.top = `${iframeScrollTop}px`;
27
- }
28
- } catch (error) {
29
- console.warn('Cannot sync scroll to iframe:', error);
30
- }
31
- },
32
- [iframeRef, widthScale],
33
- );
34
-
35
- return { handleScroll };
36
- };
@@ -1,91 +0,0 @@
1
- import { useCallback, useEffect, useRef } from 'react';
2
- import { useHeatmapVizStore } from '../../stores';
3
-
4
- interface IUseWrapperRefHeightProps {
5
- isActive: boolean;
6
- wrapperRef: React.RefObject<HTMLDivElement | null>;
7
- setWrapperHeight?: (height: number) => void;
8
- }
9
-
10
- interface IUseWrapperRefHeightResult {
11
- wrapperHeight?: number;
12
- }
13
-
14
- export const useWrapperRefHeight = (
15
- props: IUseWrapperRefHeightProps,
16
- ): IUseWrapperRefHeightResult => {
17
- const { isActive, wrapperRef, setWrapperHeight } = props;
18
-
19
- const isRenderViz = useHeatmapVizStore((state) => state.isRenderViz);
20
-
21
- const resizeObserverRef = useRef<ResizeObserver | null>(null);
22
- const mutationObserverRef = useRef<MutationObserver | null>(null);
23
-
24
- const updateWrapperHeight = useCallback(() => {
25
- const wrapper = wrapperRef.current;
26
- if (!wrapper) return;
27
-
28
- try {
29
- const wrapperHeight = wrapper.offsetHeight;
30
- if (wrapperHeight > 0) {
31
- setWrapperHeight?.(wrapperHeight);
32
- }
33
- } catch (error) {
34
- console.warn('Cannot measure iframe content:', error);
35
- }
36
- }, [wrapperRef, setWrapperHeight]);
37
-
38
- useEffect(() => {
39
- const wrapper = wrapperRef.current;
40
- if (!wrapper || !isRenderViz) return;
41
-
42
- const setupObservers = () => {
43
- try {
44
- // Cleanup existing observers
45
- if (resizeObserverRef.current) {
46
- resizeObserverRef.current.disconnect();
47
- }
48
- if (mutationObserverRef.current) {
49
- mutationObserverRef.current.disconnect();
50
- }
51
-
52
- // ResizeObserver for size changes
53
- if (typeof window.ResizeObserver !== 'undefined') {
54
- resizeObserverRef.current = new ResizeObserver(updateWrapperHeight);
55
- resizeObserverRef.current.observe(wrapper);
56
- }
57
-
58
- // MutationObserver for DOM changes
59
- if (typeof window.MutationObserver !== 'undefined') {
60
- mutationObserverRef.current = new MutationObserver(updateWrapperHeight);
61
- mutationObserverRef.current.observe(wrapper, {
62
- childList: true,
63
- subtree: true,
64
- attributes: true,
65
- characterData: true,
66
- });
67
- }
68
-
69
- // Initial measurement
70
- updateWrapperHeight();
71
- } catch (error) {
72
- console.warn('Cannot access wrapper content:', error);
73
- }
74
- };
75
-
76
- if (isActive) {
77
- setupObservers();
78
- }
79
-
80
- return () => {
81
- if (resizeObserverRef.current) {
82
- resizeObserverRef.current.disconnect();
83
- }
84
- if (mutationObserverRef.current) {
85
- mutationObserverRef.current.disconnect();
86
- }
87
- };
88
- }, [wrapperRef, isRenderViz, updateWrapperHeight, isActive]);
89
-
90
- return {};
91
- };