@gemx-dev/heatmap-react 3.5.92-dev.10 → 3.5.92-dev.12
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.
- package/dist/esm/components/Layout/HeatmapLayout.d.ts +2 -0
- package/dist/esm/components/Layout/HeatmapLayout.d.ts.map +1 -1
- package/dist/esm/hooks/common/useHeatmapWidthByDevice.d.ts.map +1 -1
- package/dist/esm/hooks/register/useRegisterConfig.d.ts +3 -1
- package/dist/esm/hooks/register/useRegisterConfig.d.ts.map +1 -1
- package/dist/esm/hooks/view-context/useHeatmapDataContext.d.ts +2 -0
- package/dist/esm/hooks/view-context/useHeatmapDataContext.d.ts.map +1 -1
- package/dist/esm/hooks/viz-render/useHeatmapRender.d.ts.map +1 -1
- package/dist/esm/index.js +105 -25
- package/dist/esm/index.mjs +105 -25
- package/dist/esm/libs/iframe-processor/index.d.ts +1 -1
- package/dist/esm/libs/iframe-processor/index.d.ts.map +1 -1
- package/dist/esm/libs/iframe-processor/processors/viewport/global-fixes/global-fixes/viewport-unit-replacer/fixes.d.ts.map +1 -1
- package/dist/esm/libs/index.d.ts +1 -0
- package/dist/esm/libs/index.d.ts.map +1 -1
- package/dist/esm/libs/perf.d.ts +83 -0
- package/dist/esm/libs/perf.d.ts.map +1 -0
- package/dist/esm/stores/config.d.ts +4 -0
- package/dist/esm/stores/config.d.ts.map +1 -1
- package/dist/esm/stores/data.d.ts +2 -0
- package/dist/esm/stores/data.d.ts.map +1 -1
- package/dist/esm/types/heatmap.d.ts +1 -0
- package/dist/esm/types/heatmap.d.ts.map +1 -1
- package/dist/umd/components/Layout/HeatmapLayout.d.ts +2 -0
- package/dist/umd/components/Layout/HeatmapLayout.d.ts.map +1 -1
- package/dist/umd/hooks/common/useHeatmapWidthByDevice.d.ts.map +1 -1
- package/dist/umd/hooks/register/useRegisterConfig.d.ts +3 -1
- package/dist/umd/hooks/register/useRegisterConfig.d.ts.map +1 -1
- package/dist/umd/hooks/view-context/useHeatmapDataContext.d.ts +2 -0
- package/dist/umd/hooks/view-context/useHeatmapDataContext.d.ts.map +1 -1
- package/dist/umd/hooks/viz-render/useHeatmapRender.d.ts.map +1 -1
- package/dist/umd/index.js +2 -2
- package/dist/umd/libs/iframe-processor/index.d.ts +1 -1
- package/dist/umd/libs/iframe-processor/index.d.ts.map +1 -1
- package/dist/umd/libs/iframe-processor/processors/viewport/global-fixes/global-fixes/viewport-unit-replacer/fixes.d.ts.map +1 -1
- package/dist/umd/libs/index.d.ts +1 -0
- package/dist/umd/libs/index.d.ts.map +1 -1
- package/dist/umd/libs/perf.d.ts +83 -0
- package/dist/umd/libs/perf.d.ts.map +1 -0
- package/dist/umd/stores/config.d.ts +4 -0
- package/dist/umd/stores/config.d.ts.map +1 -1
- package/dist/umd/stores/data.d.ts +2 -0
- package/dist/umd/stores/data.d.ts.map +1 -1
- package/dist/umd/types/heatmap.d.ts +1 -0
- package/dist/umd/types/heatmap.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/esm/libs/iframe-processor/shared/perf.d.ts +0 -58
- package/dist/esm/libs/iframe-processor/shared/perf.d.ts.map +0 -1
- package/dist/umd/libs/iframe-processor/shared/perf.d.ts +0 -58
- package/dist/umd/libs/iframe-processor/shared/perf.d.ts.map +0 -1
package/dist/esm/index.mjs
CHANGED
|
@@ -152,6 +152,7 @@ function useDebounceCallback(callback, delay) {
|
|
|
152
152
|
|
|
153
153
|
var EDeviceType;
|
|
154
154
|
(function (EDeviceType) {
|
|
155
|
+
EDeviceType["DesktopLarge"] = "DESKTOP_LARGE";
|
|
155
156
|
EDeviceType["Desktop"] = "DESKTOP";
|
|
156
157
|
EDeviceType["Mobile"] = "MOBILE";
|
|
157
158
|
EDeviceType["Tablet"] = "TABLET";
|
|
@@ -319,15 +320,20 @@ const useHeatmapConfigStore = create()((set) => {
|
|
|
319
320
|
return {
|
|
320
321
|
mode: EHeatmapMode.Single,
|
|
321
322
|
sidebarWidth: DEFAULT_SIDEBAR_WIDTH,
|
|
323
|
+
shopId: undefined,
|
|
324
|
+
excludeClassNames: [],
|
|
322
325
|
setMode: (mode) => set({ mode }),
|
|
323
326
|
resetMode: () => set({ mode: EHeatmapMode.Single }),
|
|
324
327
|
setSidebarWidth: (sidebarWidth) => set({ sidebarWidth }),
|
|
328
|
+
setShopId: (shopId) => set({ shopId }),
|
|
329
|
+
setExcludeClassNames: (excludeClassNames) => set({ excludeClassNames }),
|
|
325
330
|
};
|
|
326
331
|
});
|
|
327
332
|
|
|
328
333
|
const useHeatmapDataStore = create()(subscribeWithSelector((set) => {
|
|
329
334
|
return {
|
|
330
335
|
data: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
336
|
+
dataHash: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
331
337
|
dataSnapshot: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
332
338
|
clickmap: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
333
339
|
clickAreas: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
@@ -361,6 +367,11 @@ const useHeatmapDataStore = create()(subscribeWithSelector((set) => {
|
|
|
361
367
|
newData.set(viewId, data);
|
|
362
368
|
return { data: newData };
|
|
363
369
|
}),
|
|
370
|
+
setDataHash: (dataHash, viewId = DEFAULT_VIEW_ID) => set((prev) => {
|
|
371
|
+
const newDataHash = new Map(prev.dataHash);
|
|
372
|
+
newDataHash.set(viewId, dataHash);
|
|
373
|
+
return { dataHash: newDataHash };
|
|
374
|
+
}),
|
|
364
375
|
setDataSnapshot: (data, viewId = DEFAULT_VIEW_ID) => set((prev) => {
|
|
365
376
|
const newDataSnapshot = new Map(prev.dataSnapshot);
|
|
366
377
|
newDataSnapshot.set(viewId, data);
|
|
@@ -394,8 +405,10 @@ const useHeatmapDataStore = create()(subscribeWithSelector((set) => {
|
|
|
394
405
|
const newDataInfo = new Map(prev.dataInfo);
|
|
395
406
|
const newScrollmap = new Map(prev.scrollmap);
|
|
396
407
|
const newAttentionMap = new Map(prev.attentionMap);
|
|
408
|
+
const newDataHash = new Map(prev.dataHash);
|
|
397
409
|
newData.set(toViewId, prev.data.get(fromViewId));
|
|
398
410
|
newDataSnapshot.set(toViewId, prev.dataSnapshot.get(fromViewId));
|
|
411
|
+
newDataHash.set(toViewId, prev.dataHash.get(fromViewId));
|
|
399
412
|
newClickmap.set(toViewId, prev.clickmap.get(fromViewId));
|
|
400
413
|
newClickAreas.set(toViewId, prev.clickAreas.get(fromViewId));
|
|
401
414
|
newDataInfo.set(toViewId, prev.dataInfo.get(fromViewId));
|
|
@@ -409,6 +422,7 @@ const useHeatmapDataStore = create()(subscribeWithSelector((set) => {
|
|
|
409
422
|
dataInfo: newDataInfo,
|
|
410
423
|
scrollmap: newScrollmap,
|
|
411
424
|
attentionMap: newAttentionMap,
|
|
425
|
+
dataHash: newDataHash,
|
|
412
426
|
};
|
|
413
427
|
}),
|
|
414
428
|
clearView: (viewId) => set((prev) => {
|
|
@@ -419,8 +433,10 @@ const useHeatmapDataStore = create()(subscribeWithSelector((set) => {
|
|
|
419
433
|
const newDataInfo = new Map(prev.dataInfo);
|
|
420
434
|
const newScrollmap = new Map(prev.scrollmap);
|
|
421
435
|
const newAttentionMap = new Map(prev.attentionMap);
|
|
436
|
+
const newDataHash = new Map(prev.dataHash);
|
|
422
437
|
newData.delete(viewId);
|
|
423
438
|
newDataSnapshot.delete(viewId);
|
|
439
|
+
newDataHash.delete(viewId);
|
|
424
440
|
newClickmap.delete(viewId);
|
|
425
441
|
newClickAreas.delete(viewId);
|
|
426
442
|
newDataInfo.delete(viewId);
|
|
@@ -429,6 +445,7 @@ const useHeatmapDataStore = create()(subscribeWithSelector((set) => {
|
|
|
429
445
|
return {
|
|
430
446
|
data: newData,
|
|
431
447
|
dataSnapshot: newDataSnapshot,
|
|
448
|
+
dataHash: newDataHash,
|
|
432
449
|
clickmap: newClickmap,
|
|
433
450
|
clickAreas: newClickAreas,
|
|
434
451
|
dataInfo: newDataInfo,
|
|
@@ -439,6 +456,7 @@ const useHeatmapDataStore = create()(subscribeWithSelector((set) => {
|
|
|
439
456
|
resetAll: () => set({
|
|
440
457
|
data: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
441
458
|
dataSnapshot: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
459
|
+
dataHash: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
442
460
|
clickmap: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
443
461
|
clickAreas: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
444
462
|
dataInfo: new Map([[DEFAULT_VIEW_ID, undefined]]),
|
|
@@ -1286,6 +1304,7 @@ const useHeatmapDataContext = createViewContextHook({
|
|
|
1286
1304
|
useStore: useHeatmapDataStore,
|
|
1287
1305
|
getState: (store, viewId) => ({
|
|
1288
1306
|
data: store.data.get(viewId),
|
|
1307
|
+
dataHash: store.dataHash.get(viewId),
|
|
1289
1308
|
dataSnapshot: store.dataSnapshot.get(viewId),
|
|
1290
1309
|
clickmap: store.clickmap.get(viewId),
|
|
1291
1310
|
clickAreas: store.clickAreas.get(viewId),
|
|
@@ -1297,6 +1316,7 @@ const useHeatmapDataContext = createViewContextHook({
|
|
|
1297
1316
|
getActions: (store, viewId) => ({
|
|
1298
1317
|
setData: (newData) => store.setData(newData, viewId),
|
|
1299
1318
|
setDataSnapshot: (newData) => store.setDataSnapshot(newData, viewId),
|
|
1319
|
+
setDataHash: (newHash) => store.setDataHash(newHash, viewId),
|
|
1300
1320
|
setClickmap: (newClickmap) => store.setClickmap(newClickmap, viewId),
|
|
1301
1321
|
setClickAreas: (newClickAreas) => store.setClickAreas(newClickAreas, viewId),
|
|
1302
1322
|
setDataInfoByKey: (key, value) => store.setDataInfoByKey(key, value, viewId),
|
|
@@ -1513,6 +1533,8 @@ const useHeatmapWidthByDevice = () => {
|
|
|
1513
1533
|
if (!deviceType)
|
|
1514
1534
|
return 1440;
|
|
1515
1535
|
switch (deviceType) {
|
|
1536
|
+
case EDeviceType.DesktopLarge:
|
|
1537
|
+
return 1920;
|
|
1516
1538
|
case EDeviceType.Desktop:
|
|
1517
1539
|
return 1440;
|
|
1518
1540
|
case EDeviceType.Tablet:
|
|
@@ -1523,13 +1545,24 @@ const useHeatmapWidthByDevice = () => {
|
|
|
1523
1545
|
}
|
|
1524
1546
|
};
|
|
1525
1547
|
|
|
1526
|
-
const useRegisterConfig = ({ isLoading, isLoadingCanvas, }) => {
|
|
1548
|
+
const useRegisterConfig = ({ shopId, isLoading, isLoadingCanvas, excludeClassNames, }) => {
|
|
1527
1549
|
const mode = useHeatmapConfigStore((state) => state.mode);
|
|
1550
|
+
const shopIdStore = useHeatmapConfigStore((state) => state.shopId);
|
|
1528
1551
|
const deviceType = useHeatmapSettingContext((state) => state.deviceType);
|
|
1529
1552
|
const sidebarWidth = useHeatmapConfigStore((state) => state.sidebarWidth);
|
|
1530
1553
|
const setIsRendering = useHeatmapSettingContext((state) => state.setIsRendering);
|
|
1531
1554
|
const setIsLoadingDom = useHeatmapSettingContext((state) => state.setIsLoadingDom);
|
|
1532
1555
|
const setIsLoadingCanvas = useHeatmapSettingContext((state) => state.setIsLoadingCanvas);
|
|
1556
|
+
const setShopId = useHeatmapConfigStore((state) => state.setShopId);
|
|
1557
|
+
const setExcludeClassNames = useHeatmapConfigStore((state) => state.setExcludeClassNames);
|
|
1558
|
+
useEffect(() => {
|
|
1559
|
+
if (!shopId || !!shopIdStore || shopIdStore === shopId)
|
|
1560
|
+
return;
|
|
1561
|
+
setShopId(shopId);
|
|
1562
|
+
}, [shopId, setShopId, shopIdStore]);
|
|
1563
|
+
useEffect(() => {
|
|
1564
|
+
setExcludeClassNames(excludeClassNames || []);
|
|
1565
|
+
}, [excludeClassNames, setExcludeClassNames]);
|
|
1533
1566
|
useEffect(() => {
|
|
1534
1567
|
setIsRendering(true);
|
|
1535
1568
|
setTimeout(() => {
|
|
@@ -4031,18 +4064,27 @@ function useVizLiveIframeMsg(options = {}) {
|
|
|
4031
4064
|
}
|
|
4032
4065
|
|
|
4033
4066
|
/**
|
|
4034
|
-
*
|
|
4035
|
-
* in `window.__gemxPerf` for inspection in DevTools.
|
|
4067
|
+
* Unified performance timing utility.
|
|
4036
4068
|
*
|
|
4037
|
-
*
|
|
4038
|
-
* perf.startSession('render-1');
|
|
4039
|
-
* const t = perf.mark('viewport.run');
|
|
4040
|
-
* perf.measure('viewport.run', t);
|
|
4041
|
-
* perf.endSession();
|
|
4069
|
+
* Two complementary tools:
|
|
4042
4070
|
*
|
|
4043
|
-
*
|
|
4044
|
-
*
|
|
4045
|
-
*
|
|
4071
|
+
* 1. `perf` — global DevTools session recorder.
|
|
4072
|
+
* Stores structured timing in `window.__gemxPerf` for inspection.
|
|
4073
|
+
* Used by the iframe-processor rendering pipeline.
|
|
4074
|
+
*
|
|
4075
|
+
* perf.startSession('render-1');
|
|
4076
|
+
* const t = perf.mark('viewport.run');
|
|
4077
|
+
* perf.measure('viewport.run', t);
|
|
4078
|
+
* perf.endSession();
|
|
4079
|
+
*
|
|
4080
|
+
* 2. `createPerfTimer` — per-module console logger factory.
|
|
4081
|
+
* Logs prefixed timings to the console AND records entries into the
|
|
4082
|
+
* active global session so they appear in `window.__gemxPerf` too.
|
|
4083
|
+
*
|
|
4084
|
+
* const timer = createPerfTimer('Render');
|
|
4085
|
+
* const t0 = timer.mark('start');
|
|
4086
|
+
* await timer.wrap('visualizer.html', () => visualizer.html(...));
|
|
4087
|
+
* timer.measure('total', t0);
|
|
4046
4088
|
*/
|
|
4047
4089
|
const s = {
|
|
4048
4090
|
enabled: true,
|
|
@@ -4050,7 +4092,7 @@ const s = {
|
|
|
4050
4092
|
sessions: [],
|
|
4051
4093
|
maxSessions: 20,
|
|
4052
4094
|
};
|
|
4053
|
-
// ──
|
|
4095
|
+
// ── Global singleton functions ────────────────────────────────────────────────
|
|
4054
4096
|
function startSession(id) {
|
|
4055
4097
|
if (!s.enabled)
|
|
4056
4098
|
return;
|
|
@@ -4067,7 +4109,7 @@ function endSession() {
|
|
|
4067
4109
|
return session;
|
|
4068
4110
|
}
|
|
4069
4111
|
/** Record a point-in-time mark. Returns `performance.now()` for use with measure(). */
|
|
4070
|
-
function
|
|
4112
|
+
function globalMark(label) {
|
|
4071
4113
|
const now = performance.now();
|
|
4072
4114
|
if (s.enabled && s.current) {
|
|
4073
4115
|
s.current.entries.push({ label, t: now - s.current.startedAt });
|
|
@@ -4075,7 +4117,7 @@ function mark$1(label) {
|
|
|
4075
4117
|
return now;
|
|
4076
4118
|
}
|
|
4077
4119
|
/** Record a duration from a previous mark() timestamp. */
|
|
4078
|
-
function
|
|
4120
|
+
function globalMeasure(label, t0) {
|
|
4079
4121
|
const duration = performance.now() - t0;
|
|
4080
4122
|
if (s.enabled && s.current) {
|
|
4081
4123
|
s.current.entries.push({ label, t: t0 - s.current.startedAt, duration });
|
|
@@ -4088,26 +4130,34 @@ function getReport() {
|
|
|
4088
4130
|
latest: s.sessions[0] ?? null,
|
|
4089
4131
|
};
|
|
4090
4132
|
}
|
|
4091
|
-
function
|
|
4133
|
+
function clearSessions() {
|
|
4092
4134
|
s.current = null;
|
|
4093
4135
|
s.sessions = [];
|
|
4094
4136
|
if (typeof window !== 'undefined')
|
|
4095
4137
|
delete window.__gemxPerf;
|
|
4096
4138
|
}
|
|
4097
|
-
function
|
|
4139
|
+
function enableGlobal() {
|
|
4098
4140
|
s.enabled = true;
|
|
4099
4141
|
}
|
|
4100
|
-
function
|
|
4142
|
+
function disableGlobal() {
|
|
4101
4143
|
s.enabled = false;
|
|
4102
4144
|
}
|
|
4103
|
-
// ── Internal ──────────────────────────────────────────────────────────────────
|
|
4104
4145
|
function flush() {
|
|
4105
4146
|
if (typeof window === 'undefined')
|
|
4106
4147
|
return;
|
|
4107
4148
|
window.__gemxPerf = getReport();
|
|
4108
4149
|
}
|
|
4109
|
-
// ──
|
|
4110
|
-
const perf = {
|
|
4150
|
+
// ── Global singleton export ───────────────────────────────────────────────────
|
|
4151
|
+
const perf = {
|
|
4152
|
+
startSession,
|
|
4153
|
+
endSession,
|
|
4154
|
+
mark: globalMark,
|
|
4155
|
+
measure: globalMeasure,
|
|
4156
|
+
getReport,
|
|
4157
|
+
clear: clearSessions,
|
|
4158
|
+
enable: enableGlobal,
|
|
4159
|
+
disable: disableGlobal,
|
|
4160
|
+
};
|
|
4111
4161
|
|
|
4112
4162
|
/**
|
|
4113
4163
|
* DOM observation setup — ResizeObserver + MutationObserver.
|
|
@@ -4845,6 +4895,25 @@ function getActiveFixes(ctx) {
|
|
|
4845
4895
|
const logger$1 = createLogger({ enabled: false, prefix: 'ViewportUnitReplacer' });
|
|
4846
4896
|
// ─── Constants ────────────────────────────────────────────────────────────────
|
|
4847
4897
|
const HEIGHT_RELATED_PROPERTIES = ['height', 'min-height', 'max-height', 'top', 'bottom'];
|
|
4898
|
+
/**
|
|
4899
|
+
* Number of top-level CSS rules to process before yielding to the browser.
|
|
4900
|
+
* Keeps the main thread responsive during large stylesheets (prevents tab kill on mobile).
|
|
4901
|
+
*/
|
|
4902
|
+
const YIELD_EVERY_RULES = 100;
|
|
4903
|
+
// ─── Scheduler ────────────────────────────────────────────────────────────────
|
|
4904
|
+
/**
|
|
4905
|
+
* Yield control back to the browser so it can handle input, paint frames, and
|
|
4906
|
+
* avoid "page unresponsive" / tab-kill on mobile during heavy CSS processing.
|
|
4907
|
+
*
|
|
4908
|
+
* Uses `scheduler.yield()` (Chrome 115+) when available; falls back to a
|
|
4909
|
+
* zero-timeout macrotask which is universally supported.
|
|
4910
|
+
*/
|
|
4911
|
+
function yieldToMain() {
|
|
4912
|
+
if (typeof globalThis !== 'undefined' && 'scheduler' in globalThis) {
|
|
4913
|
+
return globalThis.scheduler.yield();
|
|
4914
|
+
}
|
|
4915
|
+
return new Promise((resolve) => setTimeout(resolve, 0));
|
|
4916
|
+
}
|
|
4848
4917
|
// ─── Per-run tracking state (reset on each process() call) ───────────────────
|
|
4849
4918
|
let elementsWithViewportUnits = new Set();
|
|
4850
4919
|
let originalValues = new WeakMap();
|
|
@@ -4984,8 +5053,9 @@ function processRule(rule, ctx) {
|
|
|
4984
5053
|
return count;
|
|
4985
5054
|
}
|
|
4986
5055
|
/** Processes only inline <style> sheets. Linked sheets are handled by processLinkedStylesheets. */
|
|
4987
|
-
function processStylesheets(ctx) {
|
|
5056
|
+
async function processStylesheets(ctx) {
|
|
4988
5057
|
let total = 0;
|
|
5058
|
+
let rulesSinceYield = 0;
|
|
4989
5059
|
const sheets = ctx.doc.styleSheets;
|
|
4990
5060
|
for (let i = 0; i < sheets.length; i++) {
|
|
4991
5061
|
const sheet = sheets[i];
|
|
@@ -4995,6 +5065,11 @@ function processStylesheets(ctx) {
|
|
|
4995
5065
|
const rules = sheet.cssRules;
|
|
4996
5066
|
for (let j = 0; j < rules.length; j++) {
|
|
4997
5067
|
total += processRule(rules[j], ctx);
|
|
5068
|
+
rulesSinceYield++;
|
|
5069
|
+
if (rulesSinceYield >= YIELD_EVERY_RULES) {
|
|
5070
|
+
rulesSinceYield = 0;
|
|
5071
|
+
await yieldToMain();
|
|
5072
|
+
}
|
|
4998
5073
|
}
|
|
4999
5074
|
}
|
|
5000
5075
|
catch (e) {
|
|
@@ -5042,7 +5117,7 @@ async function process$1(ctx) {
|
|
|
5042
5117
|
originalValues = new WeakMap();
|
|
5043
5118
|
processInlineStyles(ctx);
|
|
5044
5119
|
processStyleTags(ctx);
|
|
5045
|
-
processStylesheets(ctx);
|
|
5120
|
+
await processStylesheets(ctx);
|
|
5046
5121
|
await processLinkedStylesheets(ctx);
|
|
5047
5122
|
// Wait for browser to apply the replaced styles
|
|
5048
5123
|
await new Promise((resolve) => requestAnimationFrame(resolve));
|
|
@@ -6054,6 +6129,8 @@ function measure(label, startMs) {
|
|
|
6054
6129
|
const useHeatmapRender = () => {
|
|
6055
6130
|
const viewId = useViewIdContext();
|
|
6056
6131
|
const data = useHeatmapDataContext((s) => s.data);
|
|
6132
|
+
const shopId = useHeatmapConfigStore((s) => s.shopId);
|
|
6133
|
+
const excludeClassNames = useHeatmapConfigStore((s) => s.excludeClassNames);
|
|
6057
6134
|
const vizRef = useHeatmapVizRectContext((s) => s.vizRef);
|
|
6058
6135
|
const setVizRef = useHeatmapVizRectContext((s) => s.setVizRef);
|
|
6059
6136
|
const setIframeHeight = useHeatmapVizRectContext((s) => s.setIframeHeight);
|
|
@@ -6077,6 +6154,7 @@ const useHeatmapRender = () => {
|
|
|
6077
6154
|
const visualizer = vizRef ?? new GXVisualizer();
|
|
6078
6155
|
if (!vizRef)
|
|
6079
6156
|
setVizRef(visualizer);
|
|
6157
|
+
visualizer.configure({ excludeClassNames });
|
|
6080
6158
|
setIsRenderedViz(false);
|
|
6081
6159
|
const iframe = iframeRef.current;
|
|
6082
6160
|
if (!iframe?.contentWindow)
|
|
@@ -6090,6 +6168,7 @@ const useHeatmapRender = () => {
|
|
|
6090
6168
|
startIframe({
|
|
6091
6169
|
helperRef,
|
|
6092
6170
|
iframe,
|
|
6171
|
+
shopId,
|
|
6093
6172
|
deviceType,
|
|
6094
6173
|
size: { width: contentWidth, height: wrapperHeight },
|
|
6095
6174
|
t0,
|
|
@@ -6124,7 +6203,7 @@ const useHeatmapRender = () => {
|
|
|
6124
6203
|
};
|
|
6125
6204
|
};
|
|
6126
6205
|
// ── Helpers ───────────────────────────────────────────────────────────────────
|
|
6127
|
-
function startIframe({ helperRef, iframe, deviceType = EDeviceType.Desktop, size, t0, onSuccess }) {
|
|
6206
|
+
function startIframe({ helperRef, iframe, shopId, deviceType = EDeviceType.Desktop, size, t0, onSuccess, }) {
|
|
6128
6207
|
const docWidth = size.width ?? 0;
|
|
6129
6208
|
const docHeight = size.height ?? 0;
|
|
6130
6209
|
if (docHeight === 0)
|
|
@@ -6139,6 +6218,7 @@ function startIframe({ helperRef, iframe, deviceType = EDeviceType.Desktop, size
|
|
|
6139
6218
|
targetHeight: docHeight,
|
|
6140
6219
|
iframe,
|
|
6141
6220
|
debug: true,
|
|
6221
|
+
shopId,
|
|
6142
6222
|
onSuccess: (data) => {
|
|
6143
6223
|
measure('IframeHelper processing', tHelper);
|
|
6144
6224
|
measure('Total render', t0);
|
|
@@ -8410,11 +8490,11 @@ const ContentTopBar = () => {
|
|
|
8410
8490
|
}, children: CompTopBar && jsx(CompTopBar, {}) }));
|
|
8411
8491
|
};
|
|
8412
8492
|
|
|
8413
|
-
const HeatmapLayout = ({ data, clickmap, clickAreas, scrollmap, attentionMap, controls, dataInfo, isLoading, isLoadingCanvas, }) => {
|
|
8493
|
+
const HeatmapLayout = ({ shopId, data, clickmap, clickAreas, scrollmap, attentionMap, controls, dataInfo, isLoading, isLoadingCanvas, excludeClassNames, }) => {
|
|
8414
8494
|
useRegisterControl(controls);
|
|
8415
8495
|
useRegisterData(data, dataInfo);
|
|
8416
8496
|
useRegisterHeatmap({ clickmap, scrollmap, clickAreas, attentionMap });
|
|
8417
|
-
useRegisterConfig({ isLoading, isLoadingCanvas });
|
|
8497
|
+
useRegisterConfig({ isLoading, isLoadingCanvas, shopId, excludeClassNames });
|
|
8418
8498
|
// performanceLogger.configure({
|
|
8419
8499
|
// enabled: true,
|
|
8420
8500
|
// logToConsole: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/libs/iframe-processor/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/libs/iframe-processor/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixes.d.ts","sourceRoot":"","sources":["../../../../../../../../src/libs/iframe-processor/processors/viewport/global-fixes/global-fixes/viewport-unit-replacer/fixes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fixes.d.ts","sourceRoot":"","sources":["../../../../../../../../src/libs/iframe-processor/processors/viewport/global-fixes/global-fixes/viewport-unit-replacer/fixes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA4PtD,wBAAsB,OAAO,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBpE"}
|
package/dist/esm/libs/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/libs/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/libs/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified performance timing utility.
|
|
3
|
+
*
|
|
4
|
+
* Two complementary tools:
|
|
5
|
+
*
|
|
6
|
+
* 1. `perf` — global DevTools session recorder.
|
|
7
|
+
* Stores structured timing in `window.__gemxPerf` for inspection.
|
|
8
|
+
* Used by the iframe-processor rendering pipeline.
|
|
9
|
+
*
|
|
10
|
+
* perf.startSession('render-1');
|
|
11
|
+
* const t = perf.mark('viewport.run');
|
|
12
|
+
* perf.measure('viewport.run', t);
|
|
13
|
+
* perf.endSession();
|
|
14
|
+
*
|
|
15
|
+
* 2. `createPerfTimer` — per-module console logger factory.
|
|
16
|
+
* Logs prefixed timings to the console AND records entries into the
|
|
17
|
+
* active global session so they appear in `window.__gemxPerf` too.
|
|
18
|
+
*
|
|
19
|
+
* const timer = createPerfTimer('Render');
|
|
20
|
+
* const t0 = timer.mark('start');
|
|
21
|
+
* await timer.wrap('visualizer.html', () => visualizer.html(...));
|
|
22
|
+
* timer.measure('total', t0);
|
|
23
|
+
*/
|
|
24
|
+
export interface PerfEntry {
|
|
25
|
+
label: string;
|
|
26
|
+
/** Milliseconds from session start. */
|
|
27
|
+
t: number;
|
|
28
|
+
/** Duration in ms — only present for measure() calls. */
|
|
29
|
+
duration?: number;
|
|
30
|
+
}
|
|
31
|
+
export interface PerfSession {
|
|
32
|
+
id: string;
|
|
33
|
+
startedAt: number;
|
|
34
|
+
entries: PerfEntry[];
|
|
35
|
+
/** Total session duration in ms — set when endSession() is called. */
|
|
36
|
+
total?: number;
|
|
37
|
+
}
|
|
38
|
+
export interface PerfReport {
|
|
39
|
+
sessions: PerfSession[];
|
|
40
|
+
latest: PerfSession | null;
|
|
41
|
+
}
|
|
42
|
+
export interface PerfTimerConfig {
|
|
43
|
+
prefix: string;
|
|
44
|
+
enabled?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface PerfTimer {
|
|
47
|
+
/** Log a start point and return the current timestamp. */
|
|
48
|
+
mark(label: string): number;
|
|
49
|
+
/** Log elapsed time since `from` (a value returned by mark). */
|
|
50
|
+
measure(label: string, from: number): void;
|
|
51
|
+
/** Wrap an async or sync callback — auto-logs start + elapsed. */
|
|
52
|
+
wrap<T>(label: string, fn: () => T | Promise<T>): Promise<T>;
|
|
53
|
+
/** Toggle options at runtime (e.g. from a debug flag). */
|
|
54
|
+
configure(config: Partial<PerfTimerConfig>): void;
|
|
55
|
+
}
|
|
56
|
+
declare global {
|
|
57
|
+
interface Window {
|
|
58
|
+
__gemxPerf?: PerfReport;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
declare function startSession(id: string): void;
|
|
62
|
+
declare function endSession(): PerfSession | null;
|
|
63
|
+
/** Record a point-in-time mark. Returns `performance.now()` for use with measure(). */
|
|
64
|
+
declare function globalMark(label: string): number;
|
|
65
|
+
/** Record a duration from a previous mark() timestamp. */
|
|
66
|
+
declare function globalMeasure(label: string, t0: number): number;
|
|
67
|
+
declare function getReport(): PerfReport;
|
|
68
|
+
declare function clearSessions(): void;
|
|
69
|
+
declare function enableGlobal(): void;
|
|
70
|
+
declare function disableGlobal(): void;
|
|
71
|
+
export declare const perf: {
|
|
72
|
+
startSession: typeof startSession;
|
|
73
|
+
endSession: typeof endSession;
|
|
74
|
+
mark: typeof globalMark;
|
|
75
|
+
measure: typeof globalMeasure;
|
|
76
|
+
getReport: typeof getReport;
|
|
77
|
+
clear: typeof clearSessions;
|
|
78
|
+
enable: typeof enableGlobal;
|
|
79
|
+
disable: typeof disableGlobal;
|
|
80
|
+
};
|
|
81
|
+
export declare function createPerfTimer(config: PerfTimerConfig | string): PerfTimer;
|
|
82
|
+
export {};
|
|
83
|
+
//# sourceMappingURL=perf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../src/libs/perf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,CAAC,EAAE,MAAM,CAAC;IACV,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,0DAA0D;IAC1D,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,gEAAgE;IAChE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,kEAAkE;IAClE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,0DAA0D;IAC1D,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;CACnD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB;CACF;AAoBD,iBAAS,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGtC;AAED,iBAAS,UAAU,IAAI,WAAW,GAAG,IAAI,CAQxC;AAED,uFAAuF;AACvF,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMzC;AAED,0DAA0D;AAC1D,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED,iBAAS,SAAS,IAAI,UAAU,CAK/B;AAED,iBAAS,aAAa,IAAI,IAAI,CAI7B;AAED,iBAAS,YAAY,IAAI,IAAI,CAE5B;AAED,iBAAS,aAAa,IAAI,IAAI,CAE7B;AASD,eAAO,MAAM,IAAI;;;;;;;;;CAShB,CAAC;AAIF,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAoC3E"}
|
|
@@ -2,9 +2,13 @@ import { EHeatmapMode } from '../types';
|
|
|
2
2
|
export interface IHeatmapConfigStore {
|
|
3
3
|
mode: EHeatmapMode;
|
|
4
4
|
sidebarWidth: number;
|
|
5
|
+
shopId: string | undefined;
|
|
6
|
+
excludeClassNames: string[];
|
|
5
7
|
setMode: (mode: EHeatmapMode) => void;
|
|
6
8
|
resetMode: () => void;
|
|
7
9
|
setSidebarWidth: (sidebarWidth: number) => void;
|
|
10
|
+
setShopId: (shopId: string | undefined) => void;
|
|
11
|
+
setExcludeClassNames: (excludeClassNames: string[]) => void;
|
|
8
12
|
}
|
|
9
13
|
export declare const useHeatmapConfigStore: import("zustand").UseBoundStore<import("zustand").StoreApi<IHeatmapConfigStore>>;
|
|
10
14
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/stores/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/stores/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAChD,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7D;AAED,eAAO,MAAM,qBAAqB,kFAahC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ClickMapPoint, EncodedPayload, IHeatmapInfo, IPersistedAreaData, ScrollMapPoint } from '../types';
|
|
2
2
|
export interface IHeatmapDataStore {
|
|
3
3
|
data: Map<string, EncodedPayload[] | undefined>;
|
|
4
|
+
dataHash: Map<string, string | undefined>;
|
|
4
5
|
dataSnapshot: Map<string, EncodedPayload[] | undefined>;
|
|
5
6
|
clickmap: Map<string, ClickMapPoint[] | undefined>;
|
|
6
7
|
clickAreas: Map<string, IPersistedAreaData[] | undefined>;
|
|
@@ -9,6 +10,7 @@ export interface IHeatmapDataStore {
|
|
|
9
10
|
attentionMap: Map<string, ScrollMapPoint[] | undefined>;
|
|
10
11
|
setDataInfo: (dataInfo: IHeatmapInfo, viewId?: string) => void;
|
|
11
12
|
setData: (data: EncodedPayload[], viewId?: string) => void;
|
|
13
|
+
setDataHash: (dataHash: string | undefined, viewId?: string) => void;
|
|
12
14
|
setDataSnapshot: (data: EncodedPayload[], viewId?: string) => void;
|
|
13
15
|
setClickmap: (clickmap: ClickMapPoint[], viewId?: string) => void;
|
|
14
16
|
setClickAreas: (clickAreas: IPersistedAreaData[], viewId?: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/stores/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMhH,MAAM,WAAW,iBAAiB;IAEhC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;IAChD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;IACxD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,CAAC;IACnD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC,CAAC;IAC1D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;IAChD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;IACrD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;IAGxD,WAAW,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,WAAW,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,aAAa,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,eAAe,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,gBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAG1G,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAGzD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAGpC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/stores/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMhH,MAAM,WAAW,iBAAiB;IAEhC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;IAChD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;IACxD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,CAAC;IACnD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC,CAAC;IAC1D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;IAChD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;IACrD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;IAGxD,WAAW,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,WAAW,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,aAAa,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,eAAe,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,gBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAG1G,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAGzD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAGpC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;EAwK/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap.d.ts","sourceRoot":"","sources":["../../src/types/heatmap.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,oBAAY,UAAU;IACpB,kCAAkC;IAClC,GAAG,QAAQ;IACX,gEAAgE;IAChE,IAAI,SAAS;IACb,6DAA6D;IAC7D,IAAI,SAAS;IACb,2CAA2C;IAC3C,KAAK,UAAU;IACf,qCAAqC;IACrC,KAAK,UAAU;IACf,oCAAoC;IACpC,IAAI,SAAS;IACb,4DAA4D;IAC5D,QAAQ,aAAa;CACtB;AAED,oBAAY,cAAc;IACxB,UAAU,gBAAgB;IAC1B,OAAO,YAAY;IACnB,cAAc,oBAAoB;IAClC,eAAe,sBAAsB;IACrC,iBAAiB,wBAAwB;CAC1C;AAED,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,IAAI,eAAe;CACpB;AAED,oBAAY,WAAW;IACrB,KAAK,iBAAiB;IACtB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,oBAAY,YAAY;IACtB,MAAM,WAAW,CAAE,mBAAmB;IACtC,IAAI,SAAS,CAAE,YAAY;IAC3B,OAAO,YAAY;CACpB;AAED,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B"}
|
|
1
|
+
{"version":3,"file":"heatmap.d.ts","sourceRoot":"","sources":["../../src/types/heatmap.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,YAAY,kBAAkB;IAC9B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,oBAAY,UAAU;IACpB,kCAAkC;IAClC,GAAG,QAAQ;IACX,gEAAgE;IAChE,IAAI,SAAS;IACb,6DAA6D;IAC7D,IAAI,SAAS;IACb,2CAA2C;IAC3C,KAAK,UAAU;IACf,qCAAqC;IACrC,KAAK,UAAU;IACf,oCAAoC;IACpC,IAAI,SAAS;IACb,4DAA4D;IAC5D,QAAQ,aAAa;CACtB;AAED,oBAAY,cAAc;IACxB,UAAU,gBAAgB;IAC1B,OAAO,YAAY;IACnB,cAAc,oBAAoB;IAClC,eAAe,sBAAsB;IACrC,iBAAiB,wBAAwB;CAC1C;AAED,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,IAAI,eAAe;CACpB;AAED,oBAAY,WAAW;IACrB,KAAK,iBAAiB;IACtB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,oBAAY,YAAY;IACtB,MAAM,WAAW,CAAE,mBAAmB;IACtC,IAAI,SAAS,CAAE,YAAY;IAC3B,OAAO,YAAY;CACpB;AAED,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ClickMapPoint, EncodedPayload, IHeatmapInfo, IPersistedAreaData, ScrollMapPoint } from '../../types';
|
|
2
2
|
import type { IHeatmapControl } from '../../types/control';
|
|
3
3
|
interface HeatmapLayoutProps {
|
|
4
|
+
shopId?: string;
|
|
4
5
|
data?: EncodedPayload[];
|
|
5
6
|
clickmap?: ClickMapPoint[];
|
|
6
7
|
clickAreas?: IPersistedAreaData[];
|
|
@@ -10,6 +11,7 @@ interface HeatmapLayoutProps {
|
|
|
10
11
|
controls: IHeatmapControl;
|
|
11
12
|
isLoading?: boolean;
|
|
12
13
|
isLoadingCanvas?: boolean;
|
|
14
|
+
excludeClassNames?: string[];
|
|
13
15
|
}
|
|
14
16
|
export declare const HeatmapLayout: React.FC<HeatmapLayoutProps>;
|
|
15
17
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeatmapLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/HeatmapLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAS3D,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HeatmapLayout.d.ts","sourceRoot":"","sources":["../../../src/components/Layout/HeatmapLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAS3D,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AACD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4DtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeatmapWidthByDevice.d.ts","sourceRoot":"","sources":["../../../src/hooks/common/useHeatmapWidthByDevice.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"useHeatmapWidthByDevice.d.ts","sourceRoot":"","sources":["../../../src/hooks/common/useHeatmapWidthByDevice.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,cAoBnC,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export declare const useRegisterConfig: ({ isLoading, isLoadingCanvas, }: {
|
|
1
|
+
export declare const useRegisterConfig: ({ shopId, isLoading, isLoadingCanvas, excludeClassNames, }: {
|
|
2
|
+
shopId?: string;
|
|
2
3
|
isLoading?: boolean;
|
|
3
4
|
isLoadingCanvas?: boolean;
|
|
5
|
+
excludeClassNames?: string[];
|
|
4
6
|
}) => void;
|
|
5
7
|
//# sourceMappingURL=useRegisterConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRegisterConfig.d.ts","sourceRoot":"","sources":["../../../src/hooks/register/useRegisterConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,GAAI,
|
|
1
|
+
{"version":3,"file":"useRegisterConfig.d.ts","sourceRoot":"","sources":["../../../src/hooks/register/useRegisterConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,GAAI,4DAK/B;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,SAoCA,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ClickMapPoint, EncodedPayload, IHeatmapInfo, IPersistedAreaData, ScrollMapPoint } from '../../types';
|
|
2
2
|
interface IHeatmapDataState {
|
|
3
3
|
data: EncodedPayload[] | undefined;
|
|
4
|
+
dataHash: string | undefined;
|
|
4
5
|
dataSnapshot: EncodedPayload[] | undefined;
|
|
5
6
|
clickmap: ClickMapPoint[] | undefined;
|
|
6
7
|
clickAreas: IPersistedAreaData[] | undefined;
|
|
@@ -12,6 +13,7 @@ interface IHeatmapDataState {
|
|
|
12
13
|
interface IHeatmapDataActions {
|
|
13
14
|
setData: (newData: EncodedPayload[]) => void;
|
|
14
15
|
setDataSnapshot: (newData: EncodedPayload[]) => void;
|
|
16
|
+
setDataHash: (newHash: string | undefined) => void;
|
|
15
17
|
setClickmap: (newClickmap: ClickMapPoint[]) => void;
|
|
16
18
|
setClickAreas: (newClickAreas: IPersistedAreaData[]) => void;
|
|
17
19
|
setScrollmap: (newScrollmap: ScrollMapPoint[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeatmapDataContext.d.ts","sourceRoot":"","sources":["../../../src/hooks/view-context/useHeatmapDataContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKnH,UAAU,iBAAiB;IACzB,IAAI,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACnC,YAAY,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;IAC7C,SAAS,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACxC,YAAY,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACrD,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACpD,aAAa,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IAC7D,YAAY,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC7D,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,gBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACzF,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,qBAAqB;;;;;;;
|
|
1
|
+
{"version":3,"file":"useHeatmapDataContext.d.ts","sourceRoot":"","sources":["../../../src/hooks/view-context/useHeatmapDataContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKnH,UAAU,iBAAiB;IACzB,IAAI,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;IAC7C,SAAS,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACxC,YAAY,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACrD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACnD,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACpD,aAAa,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IAC7D,YAAY,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC7D,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,gBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACzF,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,qBAAqB;;;;;;;CA4BhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeatmapRender.d.ts","sourceRoot":"","sources":["../../../src/hooks/viz-render/useHeatmapRender.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useHeatmapRender.d.ts","sourceRoot":"","sources":["../../../src/hooks/viz-render/useHeatmapRender.ts"],"names":[],"mappings":"AAiCA,UAAU,uBAAuB;IAC/B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACtD;AAcD,eAAO,MAAM,gBAAgB,QAAO,uBAoFnC,CAAC"}
|