@atlaskit/react-ufo 4.2.1 → 4.2.3

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 (28) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/create-payload/common/utils/index.js +133 -18
  3. package/dist/cjs/create-payload/index.js +2 -9
  4. package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -1
  5. package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +1 -1
  6. package/dist/es2019/create-payload/common/utils/index.js +113 -19
  7. package/dist/es2019/create-payload/index.js +2 -8
  8. package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -1
  9. package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +1 -1
  10. package/dist/esm/create-payload/common/utils/index.js +131 -18
  11. package/dist/esm/create-payload/index.js +3 -10
  12. package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -1
  13. package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +1 -1
  14. package/dist/types/config/index.d.ts +4 -0
  15. package/dist/types/create-payload/common/utils/index.d.ts +12 -1
  16. package/dist/types/create-payload/index.d.ts +1664 -1664
  17. package/dist/types/create-payload/utils/get-browser-metadata.d.ts +5 -5
  18. package/dist/types/interaction-id-context/index.d.ts +0 -1
  19. package/dist/types/placeholder/loosely-lazy/wait-context.d.ts +0 -1
  20. package/dist/types/typing-performance-tracing/index.d.ts +0 -1
  21. package/dist/types-ts4.5/config/index.d.ts +4 -0
  22. package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +12 -1
  23. package/dist/types-ts4.5/create-payload/index.d.ts +1664 -1664
  24. package/dist/types-ts4.5/create-payload/utils/get-browser-metadata.d.ts +5 -5
  25. package/dist/types-ts4.5/interaction-id-context/index.d.ts +0 -1
  26. package/dist/types-ts4.5/placeholder/loosely-lazy/wait-context.d.ts +0 -1
  27. package/dist/types-ts4.5/typing-performance-tracing/index.d.ts +0 -1
  28. package/package.json +4 -4
@@ -5,8 +5,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
5
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
6
  var _excluded = ["labelStack", "time"],
7
7
  _excluded2 = ["stopTime", "labelStack"],
8
- _excluded3 = ["labelStack"],
9
- _excluded4 = ["labelStack"];
8
+ _excluded3 = ["labelStack"];
10
9
  import _regeneratorRuntime from "@babel/runtime/regenerator";
11
10
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
11
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -31,7 +30,7 @@ import * as resourceTiming from '../resource-timing';
31
30
  import { filterResourceTimings } from '../resource-timing/common/utils/resource-timing-buffer';
32
31
  import { roundEpsilon } from '../round-number';
33
32
  import * as ssr from '../ssr';
34
- import { buildSegmentTree, labelStackStartWith, optimizeLabelStack, sanitizeUfoName, stringifyLabelStackFully } from './common/utils';
33
+ import { buildSegmentTree, getOldSegmentsLabelStack, labelStackStartWith, optimizeLabelStack, sanitizeUfoName, stringifyLabelStackFully } from './common/utils';
35
34
  import { createCriticalMetricsPayloads } from './critical-metrics-payload';
36
35
  import { addPerformanceMeasures } from './utils/add-performance-measures';
37
36
  import { getBrowserMetadataToLegacyFormat } from './utils/get-browser-metadata';
@@ -749,13 +748,7 @@ function _createInteractionMetricsPayload() {
749
748
  apdex: optimizeApdex(interaction.apdex, getReactUFOPayloadVersion(interaction.type)),
750
749
  end: Math.round(end),
751
750
  start: Math.round(start),
752
- segments: getReactUFOPayloadVersion(interaction.type) === '2.0.0' ? segmentTree : segments.map(function (_ref7) {
753
- var labelStack = _ref7.labelStack,
754
- others = _objectWithoutProperties(_ref7, _excluded4);
755
- return _objectSpread(_objectSpread({}, others), {}, {
756
- labelStack: optimizeLabelStack(labelStack, getReactUFOPayloadVersion(interaction.type))
757
- });
758
- }),
751
+ segments: getReactUFOPayloadVersion(interaction.type) === '2.0.0' ? segmentTree : getOldSegmentsLabelStack(segments, interaction.type),
759
752
  marks: optimizeMarks(interaction.marks, getReactUFOPayloadVersion(interaction.type)),
760
753
  customData: optimizeCustomData(interaction),
761
754
  reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start, getReactUFOPayloadVersion(interaction.type))
@@ -49,7 +49,7 @@ var VCCalculator_FY25_03 = /*#__PURE__*/function (_AbstractVCCalculator) {
49
49
  if (!attributeName || KNOWN_ATTRIBUTES_THAT_DOES_NOT_CAUSE_LAYOUT_SHIFTS.includes(attributeName)) {
50
50
  return false;
51
51
  }
52
- if (attributeName.startsWith('data-test') && fg('platform_ufo_ttvc_exclude_data_test_attribute') || attributeName === 'data-aui-version' || attributeName === 'data-testid' || attributeName === 'data-vc' || attributeName === 'data-ssr-placeholder' || attributeName === 'data-ssr-placeholder-replace' || attributeName === 'data-vc-nvs' || attributeName === 'data-media-vc-wrapper' || attributeName === 'data-renderer-start-pos' || attributeName === 'data-table-local-id' || attributeName === 'spellcheck' || attributeName === 'data-auto-scrollable' || attributeName === 'id' || attributeName === 'tabindex' || attributeName === 'data-is-ttvc-ready' || NON_VISUAL_ARIA_ATTRIBUTES.includes(attributeName)) {
52
+ if (attributeName.startsWith('data-test') || attributeName === 'data-aui-version' || attributeName === 'data-testid' || attributeName === 'data-vc' || attributeName === 'data-ssr-placeholder' || attributeName === 'data-ssr-placeholder-replace' || attributeName === 'data-vc-nvs' || attributeName === 'data-media-vc-wrapper' || attributeName === 'data-renderer-start-pos' || attributeName === 'data-table-local-id' || attributeName === 'spellcheck' || attributeName === 'data-auto-scrollable' || attributeName === 'id' || attributeName === 'tabindex' || attributeName === 'data-is-ttvc-ready' || NON_VISUAL_ARIA_ATTRIBUTES.includes(attributeName)) {
53
53
  return false;
54
54
  }
55
55
  return true;
@@ -413,7 +413,7 @@ var ViewportObserver = /*#__PURE__*/function () {
413
413
  (_this$performanceObse = this.performanceObserver) === null || _this$performanceObse === void 0 || _this$performanceObse.observe({
414
414
  type: 'layout-shift',
415
415
  buffered: true,
416
- // @ts-ignore-error
416
+ // @ts-ignore -error
417
417
  durationThreshold: 30
418
418
  });
419
419
  this.isStarted = true;
@@ -24,6 +24,9 @@ type SelectorConfig = {
24
24
  className: boolean;
25
25
  dataVC?: boolean;
26
26
  };
27
+ type SegmentThreshold = {
28
+ readonly [key: string]: number;
29
+ };
27
30
  type Rates = {
28
31
  readonly [key: string]: number;
29
32
  };
@@ -68,6 +71,7 @@ export type Config = {
68
71
  };
69
72
  readonly assetsConfig?: AssetsConfig;
70
73
  readonly enableBetterPageVisibilityApi?: boolean;
74
+ readonly segmentsThreshold?: SegmentThreshold;
71
75
  readonly vc?: {
72
76
  readonly enabled?: boolean;
73
77
  readonly heatmapSize?: number;
@@ -1,6 +1,7 @@
1
+ import type { InteractionType, SegmentInfo } from '../../../common';
1
2
  import type { LabelStack, SegmentLabel } from '../../../interaction-context';
2
3
  import { type UFOSegmentType } from '../../../segment/segment';
3
- import { type getReactUFOPayloadVersion } from '../../utils/get-react-ufo-payload-version';
4
+ import { getReactUFOPayloadVersion } from '../../utils/get-react-ufo-payload-version';
4
5
  export type SegmentItem = {
5
6
  n: string;
6
7
  c?: Record<string, SegmentItem>;
@@ -13,9 +14,19 @@ export declare function sanitizeUfoName(name: string): string;
13
14
  export declare function isSegmentLabel(obj: any): obj is SegmentLabel;
14
15
  export declare function buildSegmentTree(labelStacks: LabelStack[]): SegmentTree;
15
16
  export declare function stringifyLabelStackFully(labelStack: LabelStack): string;
17
+ export declare function stringifyLabelStackWithoutId(labelStack: LabelStack): string;
16
18
  export declare function labelStackStartWith(labelStack: LabelStack, startWith: LabelStack): boolean;
17
19
  export declare function optimizeLabelStack(labelStack: LabelStack, reactUFOVersion: ReturnType<typeof getReactUFOPayloadVersion>): string | {
18
20
  t?: UFOSegmentType | undefined;
19
21
  s?: string | undefined;
20
22
  n: string;
21
23
  }[];
24
+ export declare function getOldSegmentsLabelStack(segments: SegmentInfo[], interactionType: InteractionType): {
25
+ labelStack: any[];
26
+ }[] | {
27
+ labelStack: string | {
28
+ t?: UFOSegmentType | undefined;
29
+ s?: string | undefined;
30
+ n: string;
31
+ }[];
32
+ }[];