@gemx-dev/heatmap-react 3.5.23 → 3.5.24

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 (223) hide show
  1. package/package.json +14 -11
  2. package/dist/esm/components/HeatmapLayout/ContentHeader.d.ts +0 -4
  3. package/dist/esm/components/HeatmapLayout/ContentHeader.d.ts.map +0 -1
  4. package/dist/esm/components/HeatmapLayout/HeatmapLayout.d.ts +0 -7
  5. package/dist/esm/components/HeatmapLayout/HeatmapLayout.d.ts.map +0 -1
  6. package/dist/esm/components/HeatmapLayout/LeftSidebar.d.ts +0 -4
  7. package/dist/esm/components/HeatmapLayout/LeftSidebar.d.ts.map +0 -1
  8. package/dist/esm/components/HeatmapLayout/ReplayControls.d.ts +0 -2
  9. package/dist/esm/components/HeatmapLayout/ReplayControls.d.ts.map +0 -1
  10. package/dist/esm/components/HeatmapLayout/VizDomContainer.d.ts +0 -2
  11. package/dist/esm/components/HeatmapLayout/VizDomContainer.d.ts.map +0 -1
  12. package/dist/esm/components/HeatmapLayout/VizDomRenderer.d.ts +0 -6
  13. package/dist/esm/components/HeatmapLayout/VizDomRenderer.d.ts.map +0 -1
  14. package/dist/esm/components/HeatmapLayout/WrapperLayout.d.ts +0 -7
  15. package/dist/esm/components/HeatmapLayout/WrapperLayout.d.ts.map +0 -1
  16. package/dist/esm/components/HeatmapLayout/WrapperPreview.d.ts +0 -4
  17. package/dist/esm/components/HeatmapLayout/WrapperPreview.d.ts.map +0 -1
  18. package/dist/esm/components/HeatmapLayout/index.d.ts +0 -2
  19. package/dist/esm/components/HeatmapLayout/index.d.ts.map +0 -1
  20. package/dist/esm/components/VizElement/ClarityVisualizer.d.ts +0 -150
  21. package/dist/esm/components/VizElement/ClarityVisualizer.d.ts.map +0 -1
  22. package/dist/esm/components/VizElement/HeatmapElementV2.d.ts +0 -45
  23. package/dist/esm/components/VizElement/HeatmapElementV2.d.ts.map +0 -1
  24. package/dist/esm/components/VizElement/PayloadProcessor.d.ts +0 -65
  25. package/dist/esm/components/VizElement/PayloadProcessor.d.ts.map +0 -1
  26. package/dist/esm/components/VizElement/VizElementRank.d.ts +0 -74
  27. package/dist/esm/components/VizElement/VizElementRank.d.ts.map +0 -1
  28. package/dist/esm/components/VizElement/constants.d.ts +0 -5
  29. package/dist/esm/components/VizElement/constants.d.ts.map +0 -1
  30. package/dist/esm/components/VizElement/helpers.d.ts +0 -20
  31. package/dist/esm/components/VizElement/helpers.d.ts.map +0 -1
  32. package/dist/esm/components/VizElement/types.d.ts +0 -13
  33. package/dist/esm/components/VizElement/types.d.ts.map +0 -1
  34. package/dist/esm/hooks/useHeatmapByMode.d.ts +0 -6
  35. package/dist/esm/hooks/useHeatmapByMode.d.ts.map +0 -1
  36. package/dist/esm/hooks/useHeatmapRender.d.ts +0 -6
  37. package/dist/esm/hooks/useHeatmapRender.d.ts.map +0 -1
  38. package/dist/esm/hooks/useHeatmapScale.d.ts +0 -28
  39. package/dist/esm/hooks/useHeatmapScale.d.ts.map +0 -1
  40. package/dist/esm/hooks/useReplayRender.d.ts +0 -9
  41. package/dist/esm/hooks/useReplayRender.d.ts.map +0 -1
  42. package/dist/esm/types/index.d.ts +0 -3
  43. package/dist/esm/types/index.d.ts.map +0 -1
  44. package/dist/umd/components/VizElement/VizElementRank.d.ts +0 -75
  45. package/dist/umd/components/VizElement/VizElementRank.d.ts.map +0 -1
  46. package/src/components/GraphView.tsx +0 -58
  47. package/src/components/Layout/ContentHeader.tsx +0 -15
  48. package/src/components/Layout/HeatmapLayout.tsx +0 -63
  49. package/src/components/Layout/LeftSidebar.tsx +0 -32
  50. package/src/components/Layout/WrapperLayout.tsx +0 -18
  51. package/src/components/Layout/WrapperPreview.tsx +0 -14
  52. package/src/components/Layout/index.ts +0 -1
  53. package/src/components/Test.tsx +0 -1106
  54. package/src/components/VizDom/ReplayControls.tsx +0 -48
  55. package/src/components/VizDom/VizDomContainer.tsx +0 -25
  56. package/src/components/VizDom/VizDomRenderer.tsx +0 -87
  57. package/src/components/VizDom/index.ts +0 -1
  58. package/src/components/VizElement/ClickedElementOverlay.tsx +0 -65
  59. package/src/components/VizElement/DefaultRankBadges.tsx +0 -33
  60. package/src/components/VizElement/ElementCallout.tsx +0 -337
  61. package/src/components/VizElement/HeatmapElements.tsx +0 -147
  62. package/src/components/VizElement/HoveredElementOverlay.tsx +0 -46
  63. package/src/components/VizElement/MissingElementMessage.tsx +0 -32
  64. package/src/components/VizElement/RankBadge.tsx +0 -25
  65. package/src/components/VizElement/VizElements.tsx +0 -80
  66. package/src/components/VizElement/index.ts +0 -1
  67. package/src/components/VizElement/temp/ClarityVisualizer.ts +0 -764
  68. package/src/components/VizElement/temp/VizElementRank.tsx +0 -579
  69. package/src/components/index.tsx +0 -4
  70. package/src/configs/iframe.ts +0 -15
  71. package/src/configs/index.ts +0 -2
  72. package/src/configs/style.ts +0 -9
  73. package/src/constants/index.ts +0 -4
  74. package/src/dist/components/GraphView.d.ts +0 -9
  75. package/src/dist/components/GraphView.d.ts.map +0 -1
  76. package/src/dist/components/Layout/ContentHeader.d.ts +0 -4
  77. package/src/dist/components/Layout/ContentHeader.d.ts.map +0 -1
  78. package/src/dist/components/Layout/HeatmapLayout.d.ts +0 -11
  79. package/src/dist/components/Layout/HeatmapLayout.d.ts.map +0 -1
  80. package/src/dist/components/Layout/LeftSidebar.d.ts +0 -4
  81. package/src/dist/components/Layout/LeftSidebar.d.ts.map +0 -1
  82. package/src/dist/components/Layout/WrapperLayout.d.ts +0 -8
  83. package/src/dist/components/Layout/WrapperLayout.d.ts.map +0 -1
  84. package/src/dist/components/Layout/WrapperPreview.d.ts +0 -4
  85. package/src/dist/components/Layout/WrapperPreview.d.ts.map +0 -1
  86. package/src/dist/components/Layout/index.d.ts +0 -2
  87. package/src/dist/components/Layout/index.d.ts.map +0 -1
  88. package/src/dist/components/Test.d.ts +0 -121
  89. package/src/dist/components/Test.d.ts.map +0 -1
  90. package/src/dist/components/VizDom/ReplayControls.d.ts +0 -2
  91. package/src/dist/components/VizDom/ReplayControls.d.ts.map +0 -1
  92. package/src/dist/components/VizDom/VizDomContainer.d.ts +0 -2
  93. package/src/dist/components/VizDom/VizDomContainer.d.ts.map +0 -1
  94. package/src/dist/components/VizDom/VizDomRenderer.d.ts +0 -6
  95. package/src/dist/components/VizDom/VizDomRenderer.d.ts.map +0 -1
  96. package/src/dist/components/VizDom/index.d.ts +0 -2
  97. package/src/dist/components/VizDom/index.d.ts.map +0 -1
  98. package/src/dist/components/VizElement/ClickedElementOverlay.d.ts +0 -17
  99. package/src/dist/components/VizElement/ClickedElementOverlay.d.ts.map +0 -1
  100. package/src/dist/components/VizElement/DefaultRankBadges.d.ts +0 -11
  101. package/src/dist/components/VizElement/DefaultRankBadges.d.ts.map +0 -1
  102. package/src/dist/components/VizElement/ElementCallout.d.ts +0 -17
  103. package/src/dist/components/VizElement/ElementCallout.d.ts.map +0 -1
  104. package/src/dist/components/VizElement/HeatmapElements.d.ts +0 -23
  105. package/src/dist/components/VizElement/HeatmapElements.d.ts.map +0 -1
  106. package/src/dist/components/VizElement/HoveredElementOverlay.d.ts +0 -12
  107. package/src/dist/components/VizElement/HoveredElementOverlay.d.ts.map +0 -1
  108. package/src/dist/components/VizElement/MissingElementMessage.d.ts +0 -7
  109. package/src/dist/components/VizElement/MissingElementMessage.d.ts.map +0 -1
  110. package/src/dist/components/VizElement/RankBadge.d.ts +0 -10
  111. package/src/dist/components/VizElement/RankBadge.d.ts.map +0 -1
  112. package/src/dist/components/VizElement/VizElements.d.ts +0 -10
  113. package/src/dist/components/VizElement/VizElements.d.ts.map +0 -1
  114. package/src/dist/components/VizElement/index.d.ts +0 -2
  115. package/src/dist/components/VizElement/index.d.ts.map +0 -1
  116. package/src/dist/components/VizElement/temp/ClarityVisualizer.d.ts +0 -150
  117. package/src/dist/components/VizElement/temp/ClarityVisualizer.d.ts.map +0 -1
  118. package/src/dist/components/VizElement/temp/VizElementRank.d.ts +0 -74
  119. package/src/dist/components/VizElement/temp/VizElementRank.d.ts.map +0 -1
  120. package/src/dist/components/index.d.ts +0 -4
  121. package/src/dist/components/index.d.ts.map +0 -1
  122. package/src/dist/configs/iframe.d.ts +0 -10
  123. package/src/dist/configs/iframe.d.ts.map +0 -1
  124. package/src/dist/configs/index.d.ts +0 -3
  125. package/src/dist/configs/index.d.ts.map +0 -1
  126. package/src/dist/configs/style.d.ts +0 -9
  127. package/src/dist/configs/style.d.ts.map +0 -1
  128. package/src/dist/constants/index.d.ts +0 -5
  129. package/src/dist/constants/index.d.ts.map +0 -1
  130. package/src/dist/helpers/iframe.d.ts +0 -3
  131. package/src/dist/helpers/iframe.d.ts.map +0 -1
  132. package/src/dist/helpers/index.d.ts +0 -2
  133. package/src/dist/helpers/index.d.ts.map +0 -1
  134. package/src/dist/helpers/viz-elements.d.ts +0 -10
  135. package/src/dist/helpers/viz-elements.d.ts.map +0 -1
  136. package/src/dist/hooks/index.d.ts +0 -4
  137. package/src/dist/hooks/index.d.ts.map +0 -1
  138. package/src/dist/hooks/vix-elements/index.d.ts +0 -5
  139. package/src/dist/hooks/vix-elements/index.d.ts.map +0 -1
  140. package/src/dist/hooks/vix-elements/useClickedElement.d.ts +0 -14
  141. package/src/dist/hooks/vix-elements/useClickedElement.d.ts.map +0 -1
  142. package/src/dist/hooks/vix-elements/useHeatmapEffects.d.ts +0 -8
  143. package/src/dist/hooks/vix-elements/useHeatmapEffects.d.ts.map +0 -1
  144. package/src/dist/hooks/vix-elements/useHeatmapElementPosition.d.ts +0 -13
  145. package/src/dist/hooks/vix-elements/useHeatmapElementPosition.d.ts.map +0 -1
  146. package/src/dist/hooks/vix-elements/useHoveredElement.d.ts +0 -17
  147. package/src/dist/hooks/vix-elements/useHoveredElement.d.ts.map +0 -1
  148. package/src/dist/hooks/viz-render/index.d.ts +0 -2
  149. package/src/dist/hooks/viz-render/index.d.ts.map +0 -1
  150. package/src/dist/hooks/viz-render/useHeatmapRender.d.ts +0 -8
  151. package/src/dist/hooks/viz-render/useHeatmapRender.d.ts.map +0 -1
  152. package/src/dist/hooks/viz-render/useHeatmapVizRender.d.ts +0 -8
  153. package/src/dist/hooks/viz-render/useHeatmapVizRender.d.ts.map +0 -1
  154. package/src/dist/hooks/viz-render/useReplayRender.d.ts +0 -11
  155. package/src/dist/hooks/viz-render/useReplayRender.d.ts.map +0 -1
  156. package/src/dist/hooks/viz-scale/index.d.ts +0 -2
  157. package/src/dist/hooks/viz-scale/index.d.ts.map +0 -1
  158. package/src/dist/hooks/viz-scale/useContainerDimensions.d.ts +0 -10
  159. package/src/dist/hooks/viz-scale/useContainerDimensions.d.ts.map +0 -1
  160. package/src/dist/hooks/viz-scale/useContentDimensions.d.ts +0 -11
  161. package/src/dist/hooks/viz-scale/useContentDimensions.d.ts.map +0 -1
  162. package/src/dist/hooks/viz-scale/useHeatmapScale.d.ts +0 -19
  163. package/src/dist/hooks/viz-scale/useHeatmapScale.d.ts.map +0 -1
  164. package/src/dist/hooks/viz-scale/useIframeHeight.d.ts +0 -10
  165. package/src/dist/hooks/viz-scale/useIframeHeight.d.ts.map +0 -1
  166. package/src/dist/hooks/viz-scale/useScaleCalculation.d.ts +0 -10
  167. package/src/dist/hooks/viz-scale/useScaleCalculation.d.ts.map +0 -1
  168. package/src/dist/hooks/viz-scale/useScrollSync.d.ts +0 -10
  169. package/src/dist/hooks/viz-scale/useScrollSync.d.ts.map +0 -1
  170. package/src/dist/index.d.ts +0 -4
  171. package/src/dist/index.d.ts.map +0 -1
  172. package/src/dist/stores/data.d.ts +0 -18
  173. package/src/dist/stores/data.d.ts.map +0 -1
  174. package/src/dist/stores/index.d.ts +0 -2
  175. package/src/dist/stores/index.d.ts.map +0 -1
  176. package/src/dist/ui/BoxStack/BoxStack.d.ts +0 -56
  177. package/src/dist/ui/BoxStack/BoxStack.d.ts.map +0 -1
  178. package/src/dist/ui/BoxStack/index.d.ts +0 -2
  179. package/src/dist/ui/BoxStack/index.d.ts.map +0 -1
  180. package/src/dist/ui/index.d.ts +0 -2
  181. package/src/dist/ui/index.d.ts.map +0 -1
  182. package/src/dist/utils/device.d.ts +0 -2
  183. package/src/dist/utils/device.d.ts.map +0 -1
  184. package/src/dist/utils/retry.d.ts +0 -2
  185. package/src/dist/utils/retry.d.ts.map +0 -1
  186. package/src/dist/utils/sort.d.ts +0 -3
  187. package/src/dist/utils/sort.d.ts.map +0 -1
  188. package/src/global.d.ts +0 -5
  189. package/src/helpers/iframe.ts +0 -33
  190. package/src/helpers/index.ts +0 -1
  191. package/src/helpers/viz-elements.ts +0 -34
  192. package/src/hooks/index.ts +0 -3
  193. package/src/hooks/vix-elements/index.ts +0 -4
  194. package/src/hooks/vix-elements/useClickedElement.ts +0 -62
  195. package/src/hooks/vix-elements/useHeatmapEffects.ts +0 -29
  196. package/src/hooks/vix-elements/useHeatmapElementPosition.ts +0 -66
  197. package/src/hooks/vix-elements/useHoveredElement.ts +0 -135
  198. package/src/hooks/viz-render/index.ts +0 -1
  199. package/src/hooks/viz-render/useHeatmapRender.ts +0 -98
  200. package/src/hooks/viz-render/useHeatmapVizRender.ts +0 -22
  201. package/src/hooks/viz-render/useReplayRender.ts +0 -162
  202. package/src/hooks/viz-scale/index.ts +0 -1
  203. package/src/hooks/viz-scale/useContainerDimensions.ts +0 -46
  204. package/src/hooks/viz-scale/useContentDimensions.ts +0 -29
  205. package/src/hooks/viz-scale/useHeatmapScale.ts +0 -53
  206. package/src/hooks/viz-scale/useIframeHeight.ts +0 -119
  207. package/src/hooks/viz-scale/useScaleCalculation.ts +0 -28
  208. package/src/hooks/viz-scale/useScrollSync.ts +0 -36
  209. package/src/index.ts +0 -5
  210. package/src/stores/data.ts +0 -34
  211. package/src/stores/index.ts +0 -1
  212. package/src/styles/base.css +0 -1
  213. package/src/styles/style.css +0 -30
  214. package/src/types/clarity.d.ts +0 -38
  215. package/src/types/heatmap.d.ts +0 -3
  216. package/src/types/index.d.ts +0 -3
  217. package/src/types/viz-element.d.ts +0 -39
  218. package/src/ui/BoxStack/BoxStack.tsx +0 -120
  219. package/src/ui/BoxStack/index.ts +0 -1
  220. package/src/ui/index.ts +0 -1
  221. package/src/utils/device.ts +0 -7
  222. package/src/utils/retry.ts +0 -20
  223. package/src/utils/sort.ts +0 -5
@@ -1,147 +0,0 @@
1
- import type { HeatmapInfo, WebVisualizer } from '../../types';
2
-
3
- import {
4
- CLICKED_ELEMENT_ID,
5
- HOVERED_ELEMENT_ID,
6
- SECONDARY_CLICKED_ELEMENT_ID,
7
- SECONDARY_HOVERED_ELEMENT_ID,
8
- } from '../../constants';
9
- import {
10
- useClickedElement,
11
- useHeatmapEffects,
12
- useHeatmapElementPosition,
13
- useHoveredElement,
14
- } from '../../hooks';
15
-
16
- import { ClickedElementOverlay } from './ClickedElementOverlay';
17
- import { DefaultRankBadges } from './DefaultRankBadges';
18
- import { ElementCallout } from './ElementCallout';
19
- import { HoveredElementOverlay } from './HoveredElementOverlay';
20
- import { MissingElementMessage } from './MissingElementMessage';
21
-
22
- export interface HeatmapElementsProps {
23
- widthScale: number;
24
- heatmapInfo?: HeatmapInfo;
25
- isElementSidebarOpen?: boolean;
26
- selectedElement?: string | null;
27
- visualizer?: WebVisualizer;
28
- isVisible?: boolean;
29
- iframeDimensions?: React.CSSProperties;
30
- areDefaultRanksHidden?: boolean;
31
- isSecondary?: boolean;
32
- isRecordingView?: boolean;
33
- isCompareMode?: boolean;
34
- deviceType?: string;
35
- heatmapType?: string;
36
- projectId?: string;
37
- iframeRef: React.RefObject<HTMLIFrameElement>;
38
- parentRef: React.RefObject<HTMLElement>;
39
- iframeHeight?: number;
40
- selectElement?: (hash: string) => void;
41
- }
42
-
43
- export const HeatmapElements: React.FC<HeatmapElementsProps> = (props) => {
44
- const {
45
- iframeRef,
46
- parentRef,
47
- visualizer,
48
- heatmapInfo,
49
- widthScale,
50
- iframeHeight,
51
- iframeDimensions,
52
- selectedElement,
53
- isElementSidebarOpen,
54
- isVisible = true,
55
- selectElement,
56
- areDefaultRanksHidden,
57
- isSecondary,
58
- ...rest
59
- } = props;
60
-
61
- const getRect = useHeatmapElementPosition({
62
- iframeRef,
63
- parentRef,
64
- visualizer,
65
- heatmapWidth: heatmapInfo?.width,
66
- iframeHeight,
67
- widthScale,
68
- projectId: props.projectId,
69
- });
70
-
71
- const { clickedElement, showMissingElement, shouldShowCallout, setShouldShowCallout } =
72
- useClickedElement({
73
- selectedElement,
74
- heatmapInfo,
75
- getRect,
76
- });
77
-
78
- const { hoveredElement, handleMouseMove, handleMouseLeave, handleClick } = useHoveredElement({
79
- iframeRef,
80
- heatmapInfo,
81
- getRect,
82
- onSelect: selectElement,
83
- widthScale,
84
- });
85
-
86
- const resetAll = () => {
87
- // nếu cần reset thêm state ở đây
88
- // setShouldShowCallout(false);
89
- };
90
-
91
- useHeatmapEffects({
92
- isVisible,
93
- isElementSidebarOpen,
94
- selectedElement,
95
- setShouldShowCallout,
96
- resetAll,
97
- });
98
-
99
- if (!isVisible) return null;
100
-
101
- const top10 = heatmapInfo?.sortedElements?.slice(0, 10) ?? [];
102
-
103
- return (
104
- <div
105
- onMouseMove={handleMouseMove}
106
- onMouseLeave={handleMouseLeave}
107
- className="heatmapElements gx-hm-elements"
108
- style={iframeDimensions}
109
- >
110
- <DefaultRankBadges
111
- elements={top10}
112
- getRect={getRect}
113
- widthScale={widthScale}
114
- hidden={areDefaultRanksHidden}
115
- />
116
-
117
- <ClickedElementOverlay
118
- widthScale={widthScale}
119
- element={clickedElement}
120
- shouldShowCallout={shouldShowCallout}
121
- isSecondary={isSecondary}
122
- targetId={isSecondary ? SECONDARY_CLICKED_ELEMENT_ID : CLICKED_ELEMENT_ID}
123
- {...rest}
124
- />
125
-
126
- {showMissingElement && <MissingElementMessage widthScale={widthScale} />}
127
-
128
- <HoveredElementOverlay
129
- element={hoveredElement}
130
- onClick={handleClick}
131
- isSecondary={isSecondary}
132
- targetId={isSecondary ? SECONDARY_HOVERED_ELEMENT_ID : HOVERED_ELEMENT_ID}
133
- totalClicks={heatmapInfo?.totalClicks ?? 1}
134
- />
135
-
136
- {hoveredElement !== clickedElement && hoveredElement && (
137
- <ElementCallout
138
- element={hoveredElement}
139
- target={`#${props.isSecondary ? SECONDARY_HOVERED_ELEMENT_ID : HOVERED_ELEMENT_ID}`}
140
- totalClicks={props.heatmapInfo?.totalClicks ?? 1}
141
- isSecondary={props.isSecondary}
142
- parentRef={props.parentRef}
143
- />
144
- )}
145
- </div>
146
- );
147
- };
@@ -1,46 +0,0 @@
1
- import type { ElementInfo } from '../../types';
2
-
3
- import React, { Fragment } from 'react';
4
- import { RankBadge } from './RankBadge';
5
-
6
- interface Props {
7
- element: ElementInfo | null;
8
- onClick?: () => void;
9
- isSecondary?: boolean;
10
- targetId: string;
11
- totalClicks?: number;
12
- }
13
-
14
- export const HoveredElementOverlay: React.FC<Props> = ({
15
- element,
16
- onClick,
17
- isSecondary,
18
- targetId,
19
- totalClicks = 1,
20
- }) => {
21
- if (!element) return null;
22
-
23
- return (
24
- <Fragment>
25
- <div
26
- onClick={onClick}
27
- className="heatmapElement hovered"
28
- id={targetId}
29
- style={{
30
- top: element.top,
31
- left: element.left,
32
- width: element.width,
33
- height: element.height,
34
- cursor: 'pointer',
35
- }}
36
- />
37
-
38
- <RankBadge
39
- index={element.rank}
40
- elementRect={element}
41
- widthScale={1}
42
- clickOnElement={onClick}
43
- />
44
- </Fragment>
45
- );
46
- };
@@ -1,32 +0,0 @@
1
- // src/components/HeatmapElements/components/MissingElementMessage.tsx
2
- import React from 'react';
3
-
4
- interface Props {
5
- widthScale: number;
6
- }
7
-
8
- export const MissingElementMessage: React.FC<Props> = ({ widthScale }) => {
9
- return (
10
- <div
11
- className="missingElement"
12
- style={{
13
- position: 'absolute',
14
- top: '50%',
15
- left: '50%',
16
- transform: `translate(-50%, -50%) scale(${1 / widthScale})`,
17
- background: 'rgba(0, 0, 0, 0.8)',
18
- color: 'white',
19
- padding: '12px 20px',
20
- borderRadius: '8px',
21
- fontSize: '14px',
22
- fontWeight: '500',
23
- zIndex: 9999,
24
- pointerEvents: 'none',
25
- whiteSpace: 'nowrap',
26
- }}
27
- aria-live="assertive"
28
- >
29
- Element not visible on current screen
30
- </div>
31
- );
32
- };
@@ -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="rankBadge" style={style} onClick={clickOnElement} data-testid="elementRank">
22
- {index}
23
- </div>
24
- );
25
- };
@@ -1,80 +0,0 @@
1
- import { useState } from 'react';
2
- import { useHeatmapDataStore } from '../../stores';
3
- import { HeatmapInfo, WebVisualizer } from '../../types';
4
- import { HeatmapElements } from './HeatmapElements';
5
-
6
- interface VizElementsProps {
7
- width: number;
8
- height: number;
9
- iframeRef: React.RefObject<HTMLIFrameElement | null>;
10
- wrapperRef: React.RefObject<HTMLDivElement>;
11
- widthScale: number;
12
- }
13
- export const VizElements: React.FC<VizElementsProps> = ({
14
- width,
15
- height,
16
- iframeRef,
17
- wrapperRef,
18
- widthScale,
19
- }) => {
20
- const data = useHeatmapDataStore((state) => state.data);
21
-
22
- const heatmapInfo: HeatmapInfo = {
23
- sortedElements: [
24
- {
25
- hash: '9ebwu6a3',
26
- selector: 'Join our email list',
27
- },
28
- {
29
- hash: '350hde5d4',
30
- selector: 'Products',
31
- },
32
- ],
33
- elementMapInfo: {
34
- '9ebwu6a3': {
35
- totalclicks: 4,
36
- hash: '9ebwu6a3',
37
- },
38
- '350hde5d4': {
39
- totalclicks: 4,
40
- hash: '350hde5d4',
41
- },
42
- },
43
- totalClicks: 8,
44
- };
45
-
46
- const visualizer: WebVisualizer = {
47
- get: (hash: string) => {
48
- const doc = iframeRef.current?.contentDocument;
49
- if (!doc) return null;
50
-
51
- // Find element by hash attribute
52
- return doc.querySelector(`[data-clarity-hashalpha="${hash}"]`) as HTMLElement;
53
- },
54
- };
55
- const [selectedElement, setSelectedElement] = useState<string | null>(null);
56
-
57
- if (!iframeRef.current) return null;
58
-
59
- return (
60
- <HeatmapElements
61
- visualizer={visualizer}
62
- iframeRef={iframeRef as React.RefObject<HTMLIFrameElement>}
63
- parentRef={wrapperRef as React.RefObject<HTMLElement>}
64
- iframeHeight={window.innerHeight}
65
- widthScale={widthScale}
66
- heatmapInfo={heatmapInfo}
67
- selectedElement={selectedElement}
68
- selectElement={setSelectedElement}
69
- isVisible={true}
70
- iframeDimensions={{
71
- width,
72
- height,
73
- position: 'absolute',
74
- top: 0,
75
- left: 0,
76
- // pointerEvents: 'none',
77
- }}
78
- />
79
- );
80
- };
@@ -1 +0,0 @@
1
- export * from './VizElements';