@atlaskit/react-ufo 4.5.0 → 4.5.2

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 (32) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/create-interaction-extra-metrics-payload/index.js +30 -25
  3. package/dist/cjs/create-payload/index.js +1 -0
  4. package/dist/cjs/create-payload/utils/get-vc-metrics.js +4 -1
  5. package/dist/cjs/interaction-metrics/index.js +29 -35
  6. package/dist/cjs/interaction-metrics/interaction-extra-metrics.js +7 -0
  7. package/dist/cjs/interaction-metrics-init/index.js +7 -10
  8. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +5 -1
  9. package/dist/cjs/vc/vc-observer-new/get-element-name.js +21 -26
  10. package/dist/es2019/create-interaction-extra-metrics-payload/index.js +14 -15
  11. package/dist/es2019/create-payload/index.js +1 -1
  12. package/dist/es2019/create-payload/utils/get-vc-metrics.js +4 -1
  13. package/dist/es2019/interaction-metrics/index.js +30 -36
  14. package/dist/es2019/interaction-metrics/interaction-extra-metrics.js +5 -0
  15. package/dist/es2019/interaction-metrics-init/index.js +7 -10
  16. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +5 -1
  17. package/dist/es2019/vc/vc-observer-new/get-element-name.js +21 -26
  18. package/dist/esm/create-interaction-extra-metrics-payload/index.js +32 -27
  19. package/dist/esm/create-payload/index.js +1 -1
  20. package/dist/esm/create-payload/utils/get-vc-metrics.js +4 -1
  21. package/dist/esm/interaction-metrics/index.js +29 -35
  22. package/dist/esm/interaction-metrics/interaction-extra-metrics.js +7 -0
  23. package/dist/esm/interaction-metrics-init/index.js +7 -10
  24. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +5 -1
  25. package/dist/esm/vc/vc-observer-new/get-element-name.js +21 -26
  26. package/dist/types/create-interaction-extra-metrics-payload/index.d.ts +3 -4
  27. package/dist/types/create-payload/index.d.ts +2 -0
  28. package/dist/types/interaction-metrics/interaction-extra-metrics.d.ts +1 -0
  29. package/dist/types-ts4.5/create-interaction-extra-metrics-payload/index.d.ts +3 -4
  30. package/dist/types-ts4.5/create-payload/index.d.ts +2 -0
  31. package/dist/types-ts4.5/interaction-metrics/interaction-extra-metrics.d.ts +1 -0
  32. package/package.json +1 -4
@@ -232,7 +232,11 @@ export var SSRPlaceholderHandlers = /*#__PURE__*/function () {
232
232
  value: function checkIfExistedAndSizeMatchingV3(el) {
233
233
  el = this.findNearestPlaceholderContainerIfIgnored(el);
234
234
  var id = this.getPlaceholderId(el);
235
- return this.staticPlaceholders.has(id);
235
+ var placeholderRects = this.staticPlaceholders.get(id);
236
+ if (!placeholderRects) {
237
+ return false;
238
+ }
239
+ return this.hasSameSizePosition(placeholderRects, el.getBoundingClientRect());
236
240
  }
237
241
  }, {
238
242
  key: "getSize",
@@ -1,34 +1,29 @@
1
- import { fg } from '@atlaskit/platform-feature-flags';
2
1
  var nameCache = new WeakMap();
3
2
  function getElementName(selectorConfig, element) {
4
3
  if (!(element instanceof HTMLElement)) {
5
- if (fg('platform_ufo_report_non_htmlelement_selectors')) {
6
- var elementInstance = 'Unknown';
4
+ var elementInstance = 'Unknown';
7
5
 
8
- // Types of elements according to LLM
9
- if (element instanceof Document) {
10
- elementInstance = 'Document';
11
- } else if (element instanceof DocumentFragment) {
12
- elementInstance = 'DocumentFragment';
13
- } else if (element instanceof Text) {
14
- elementInstance = 'Text';
15
- } else if (element instanceof Comment) {
16
- elementInstance = 'Comment';
17
- } else if (element instanceof ProcessingInstruction) {
18
- elementInstance = 'ProcessingInstruction';
19
- } else if (element instanceof Attr) {
20
- elementInstance = 'Attr';
21
- } else if (element instanceof CDATASection) {
22
- elementInstance = 'CDATASection';
23
- }
24
- if (element.parentElement && element.parentElement instanceof HTMLElement) {
25
- var parentElementSelector = getElementName(selectorConfig, element.parentElement);
26
- return "".concat(parentElementSelector, " > ").concat(elementInstance);
27
- } else {
28
- return elementInstance;
29
- }
6
+ // Types of elements according to LLM
7
+ if (element instanceof Text) {
8
+ elementInstance = 'Text';
9
+ } else if (element instanceof DocumentFragment) {
10
+ elementInstance = 'DocumentFragment';
11
+ } else if (element instanceof Document) {
12
+ elementInstance = 'Document';
13
+ } else if (element instanceof Comment) {
14
+ elementInstance = 'Comment';
15
+ } else if (element instanceof ProcessingInstruction) {
16
+ elementInstance = 'ProcessingInstruction';
17
+ } else if (element instanceof Attr) {
18
+ elementInstance = 'Attr';
19
+ } else if (element instanceof CDATASection) {
20
+ elementInstance = 'CDATASection';
21
+ }
22
+ if (element.parentElement && element.parentElement instanceof HTMLElement) {
23
+ var parentElementSelector = getElementName(selectorConfig, element.parentElement);
24
+ return "".concat(parentElementSelector, " > ").concat(elementInstance);
30
25
  } else {
31
- return 'error';
26
+ return elementInstance;
32
27
  }
33
28
  }
34
29
  var cachedName = nameCache.get(element);
@@ -19,6 +19,9 @@ declare function createInteractionExtraLogPayload(interactionId: string, interac
19
19
  'experience:key': string;
20
20
  'experience:name': string;
21
21
  interactionMetrics: {
22
+ holdInfo: any[];
23
+ segments: {};
24
+ 'metric:vc90'?: number | null;
22
25
  namePrefix: string;
23
26
  segmentPrefix: string;
24
27
  interactionId: string;
@@ -34,10 +37,6 @@ declare function createInteractionExtraLogPayload(interactionId: string, interac
34
37
  end: number;
35
38
  start: number;
36
39
  'metric:ttai:3p': number | undefined;
37
- ttvc: {
38
- revision: string;
39
- vc90: number;
40
- }[];
41
40
  };
42
41
  };
43
42
  };
@@ -3,7 +3,9 @@ import { type ResourceTiming } from '../common/react-ufo-payload-schema';
3
3
  import * as ssr from '../ssr';
4
4
  import type { OptimizedLabelStack } from './common/types';
5
5
  import type { CriticalMetricsPayload } from './critical-metrics-payload/types';
6
+ import { getReactUFOPayloadVersion } from './utils/get-react-ufo-payload-version';
6
7
  export declare function getMoreAccuratePageVisibilityUpToTTAI(interaction: InteractionMetrics): import("../common/react-ufo-payload-schema").PageVisibility;
8
+ export declare function optimizeHoldInfo(holdInfo: InteractionMetrics['holdInfo'], interactionStart: number, reactUFOVersion: ReturnType<typeof getReactUFOPayloadVersion>): any[];
7
9
  export declare function createPayloads(interactionId: string, interaction: InteractionMetrics): Promise<(CriticalMetricsPayload | {
8
10
  actionSubject: string;
9
11
  action: string;
@@ -14,4 +14,5 @@ export default class InteractionExtraMetrics {
14
14
  sinkHandler(fn: (interactionId: string, interaction: InteractionMetrics) => void | Promise<void>): void;
15
15
  onInteractionComplete(id: string, data: InteractionMetrics): void;
16
16
  reset(): void;
17
+ stopAll(id: string): void;
17
18
  }
@@ -19,6 +19,9 @@ declare function createInteractionExtraLogPayload(interactionId: string, interac
19
19
  'experience:key': string;
20
20
  'experience:name': string;
21
21
  interactionMetrics: {
22
+ holdInfo: any[];
23
+ segments: {};
24
+ 'metric:vc90'?: number | null;
22
25
  namePrefix: string;
23
26
  segmentPrefix: string;
24
27
  interactionId: string;
@@ -34,10 +37,6 @@ declare function createInteractionExtraLogPayload(interactionId: string, interac
34
37
  end: number;
35
38
  start: number;
36
39
  'metric:ttai:3p': number | undefined;
37
- ttvc: {
38
- revision: string;
39
- vc90: number;
40
- }[];
41
40
  };
42
41
  };
43
42
  };
@@ -3,7 +3,9 @@ import { type ResourceTiming } from '../common/react-ufo-payload-schema';
3
3
  import * as ssr from '../ssr';
4
4
  import type { OptimizedLabelStack } from './common/types';
5
5
  import type { CriticalMetricsPayload } from './critical-metrics-payload/types';
6
+ import { getReactUFOPayloadVersion } from './utils/get-react-ufo-payload-version';
6
7
  export declare function getMoreAccuratePageVisibilityUpToTTAI(interaction: InteractionMetrics): import("../common/react-ufo-payload-schema").PageVisibility;
8
+ export declare function optimizeHoldInfo(holdInfo: InteractionMetrics['holdInfo'], interactionStart: number, reactUFOVersion: ReturnType<typeof getReactUFOPayloadVersion>): any[];
7
9
  export declare function createPayloads(interactionId: string, interaction: InteractionMetrics): Promise<(CriticalMetricsPayload | {
8
10
  actionSubject: string;
9
11
  action: string;
@@ -14,4 +14,5 @@ export default class InteractionExtraMetrics {
14
14
  sinkHandler(fn: (interactionId: string, interaction: InteractionMetrics) => void | Promise<void>): void;
15
15
  onInteractionComplete(id: string, data: InteractionMetrics): void;
16
16
  reset(): void;
17
+ stopAll(id: string): void;
17
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/react-ufo",
3
- "version": "4.5.0",
3
+ "version": "4.5.2",
4
4
  "description": "Parts of React UFO that are publicly available",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -181,9 +181,6 @@
181
181
  "platform_ufo_segment_critical_metrics": {
182
182
  "type": "boolean"
183
183
  },
184
- "platform_ufo_report_non_htmlelement_selectors": {
185
- "type": "boolean"
186
- },
187
184
  "platform_ufo_add_segments_count_threshold": {
188
185
  "type": "boolean"
189
186
  },