@atlaskit/react-ufo 3.10.2 → 3.10.4

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 (41) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/create-payload/utils/get-react-ufo-payload-version.js +4 -1
  3. package/dist/cjs/create-post-interaction-log-payload/get-late-mutations.js +46 -0
  4. package/dist/cjs/create-post-interaction-log-payload/index.js +64 -29
  5. package/dist/cjs/create-post-interaction-log-payload/types.js +1 -0
  6. package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +2 -2
  7. package/dist/cjs/vc/vc-observer-new/entries-timeline/index.js +1 -3
  8. package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -2
  9. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +25 -7
  10. package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +136 -115
  11. package/dist/es2019/create-payload/utils/get-react-ufo-payload-version.js +4 -1
  12. package/dist/es2019/create-post-interaction-log-payload/get-late-mutations.js +28 -0
  13. package/dist/es2019/create-post-interaction-log-payload/index.js +57 -24
  14. package/dist/es2019/create-post-interaction-log-payload/types.js +0 -0
  15. package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +2 -2
  16. package/dist/es2019/vc/vc-observer-new/entries-timeline/index.js +1 -3
  17. package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -2
  18. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +23 -7
  19. package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +122 -103
  20. package/dist/esm/create-payload/utils/get-react-ufo-payload-version.js +4 -1
  21. package/dist/esm/create-post-interaction-log-payload/get-late-mutations.js +40 -0
  22. package/dist/esm/create-post-interaction-log-payload/index.js +64 -29
  23. package/dist/esm/create-post-interaction-log-payload/types.js +0 -0
  24. package/dist/esm/vc/vc-observer/heatmap/heatmap.js +2 -2
  25. package/dist/esm/vc/vc-observer-new/entries-timeline/index.js +1 -3
  26. package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -2
  27. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +25 -7
  28. package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +136 -115
  29. package/dist/types/create-payload/utils/get-react-ufo-payload-version.d.ts +1 -1
  30. package/dist/types/create-post-interaction-log-payload/get-late-mutations.d.ts +5 -0
  31. package/dist/types/create-post-interaction-log-payload/index.d.ts +2 -5
  32. package/dist/types/create-post-interaction-log-payload/types.d.ts +5 -0
  33. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +8 -3
  34. package/dist/types/vc/vc-observer-new/viewport-observer/index.d.ts +8 -1
  35. package/dist/types-ts4.5/create-payload/utils/get-react-ufo-payload-version.d.ts +1 -1
  36. package/dist/types-ts4.5/create-post-interaction-log-payload/get-late-mutations.d.ts +5 -0
  37. package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +2 -5
  38. package/dist/types-ts4.5/create-post-interaction-log-payload/types.d.ts +5 -0
  39. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +8 -3
  40. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/index.d.ts +8 -1
  41. package/package.json +7 -1
@@ -0,0 +1,5 @@
1
+ export type LateMutation = {
2
+ time: number;
3
+ element: string;
4
+ viewportHeatmapPercentage: number;
5
+ };
@@ -5,11 +5,11 @@ type Viewport = {
5
5
  };
6
6
  /**
7
7
  * Class responsible for managing a scaled canvas and tracking pixel drawing operations.
8
- * It uses an OffscreenCanvas for better performance and maintains a mapping between
9
- * colors and timestamps for pixel counting purposes.
8
+ * It uses either an OffscreenCanvas (if available) or a regular HTML Canvas for better performance
9
+ * and maintains a mapping between colors and timestamps for pixel counting purposes.
10
10
  */
11
11
  export declare class ViewportCanvas {
12
- /** The underlying OffscreenCanvas instance */
12
+ /** The underlying Canvas instance (either OffscreenCanvas or HTMLCanvasElement) */
13
13
  private readonly canvas;
14
14
  /** The 2D rendering context of the canvas */
15
15
  private readonly ctx;
@@ -30,6 +30,11 @@ export declare class ViewportCanvas {
30
30
  * @throws {Error} If canvas context cannot be obtained
31
31
  */
32
32
  constructor(viewport: Viewport, scaleFactor?: number);
33
+ /**
34
+ * Creates a canvas instance, falling back to HTMLCanvasElement if OffscreenCanvas is not available
35
+ * or if the feature flag is disabled
36
+ */
37
+ private createCanvas;
33
38
  getScaledDimensions(): {
34
39
  width: number;
35
40
  height: number;
@@ -16,7 +16,14 @@ export default class ViewportObserver {
16
16
  private mutationObserver;
17
17
  private performanceObserver;
18
18
  private mapVisibleNodeRects;
19
- constructor({ onChange: onChange }: ViewPortObserverConstructorArgs);
19
+ private onChange;
20
+ private isStarted;
21
+ constructor({ onChange }: ViewPortObserverConstructorArgs);
22
+ private handleIntersectionEntry;
23
+ private handleChildListMutation;
24
+ private handleAttributeMutation;
25
+ private handleLayoutShift;
26
+ private initializeObservers;
20
27
  start(): void;
21
28
  stop(): void;
22
29
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/react-ufo",
3
- "version": "3.10.2",
3
+ "version": "3.10.4",
4
4
  "description": "Parts of React UFO that are publicly available",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -127,6 +127,9 @@
127
127
  }
128
128
  },
129
129
  "platform-feature-flags": {
130
+ "platform_ufo_use_offscreen_canvas": {
131
+ "type": "boolean"
132
+ },
130
133
  "platform_ufo_canvas_heatmap_full_precision": {
131
134
  "type": "boolean"
132
135
  },
@@ -156,6 +159,9 @@
156
159
  },
157
160
  "platform_ufo_enable_events_observer": {
158
161
  "type": "boolean"
162
+ },
163
+ "platform_ufo_post_interaction_use_vc_rev": {
164
+ "type": "boolean"
159
165
  }
160
166
  }
161
167
  }