@atlaskit/react-ufo 3.4.14 → 3.5.0

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 (405) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/additional-payload/utils/cache-hit-ratio/index.js +5 -4
  3. package/dist/cjs/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -2
  4. package/dist/cjs/additional-payload/utils/lighthouse-metrics/index.js +6 -6
  5. package/dist/cjs/additional-payload/utils/lighthouse-metrics/tbt/index.js +3 -2
  6. package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +3 -0
  7. package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +9 -7
  8. package/dist/cjs/assets/index.js +17 -14
  9. package/dist/cjs/assets/utils.js +9 -8
  10. package/dist/cjs/bundle-eval-timing/index.js +8 -8
  11. package/dist/cjs/coinflip/index.js +5 -3
  12. package/dist/cjs/common/constants.js +3 -2
  13. package/dist/cjs/common/react-ufo-payload-schema.js +5 -0
  14. package/dist/cjs/config/index.js +30 -42
  15. package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +29 -39
  16. package/dist/cjs/create-payload/common/utils/index.js +16 -20
  17. package/dist/cjs/create-payload/index.js +150 -140
  18. package/dist/cjs/create-payload/utils/get-interaction-status.js +5 -3
  19. package/dist/cjs/create-payload/utils/get-page-visibility-up-to-ttai.js +5 -3
  20. package/dist/cjs/create-payload/utils/get-ssr-done-time-value.js +5 -3
  21. package/dist/cjs/create-payload/utils/get-vc-metrics.js +10 -8
  22. package/dist/cjs/create-post-interaction-log-payload/index.js +15 -13
  23. package/dist/cjs/custom-data/index.js +4 -3
  24. package/dist/cjs/custom-mark/index.js +4 -3
  25. package/dist/cjs/custom-spans/index.js +4 -3
  26. package/dist/cjs/custom-timings/index.js +6 -6
  27. package/dist/cjs/experience-trace-id-context/index.js +15 -14
  28. package/dist/cjs/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +3 -2
  29. package/dist/cjs/feature-flags-accessed/common/utils/index.js +11 -10
  30. package/dist/cjs/feature-flags-accessed/index.js +3 -2
  31. package/dist/cjs/generate-id/index.js +5 -3
  32. package/dist/cjs/global-error-handler/index.js +14 -13
  33. package/dist/cjs/initial-page-load-extra-timing/index.js +6 -6
  34. package/dist/cjs/interaction-metrics/index.js +110 -145
  35. package/dist/cjs/interaction-metrics/post-interaction-log.js +10 -0
  36. package/dist/cjs/interaction-metrics-init/index.js +17 -10
  37. package/dist/cjs/interaction-metrics-init/schedule-idle-callback.js +8 -4
  38. package/dist/cjs/resource-timing/common/utils/config.js +10 -10
  39. package/dist/cjs/resource-timing/common/utils/resource-timing-buffer.js +13 -12
  40. package/dist/cjs/resource-timing/main.js +25 -19
  41. package/dist/cjs/resource-timing/utils.js +4 -3
  42. package/dist/cjs/round-number/index.js +3 -2
  43. package/dist/cjs/route-name/index.js +5 -3
  44. package/dist/cjs/segment/schedule-on-paint.js +6 -3
  45. package/dist/cjs/segment/segment.js +7 -3
  46. package/dist/cjs/self-measurements/index.js +261 -0
  47. package/dist/cjs/set-interaction-error/index.js +4 -3
  48. package/dist/cjs/short-id/index.js +5 -3
  49. package/dist/cjs/ssr/index.js +18 -21
  50. package/dist/cjs/trace-interaction/index.js +7 -5
  51. package/dist/cjs/trace-pageload/index.js +7 -6
  52. package/dist/cjs/trace-press/index.js +5 -3
  53. package/dist/cjs/trace-redirect/index.js +5 -3
  54. package/dist/cjs/trace-transition/index.js +6 -4
  55. package/dist/cjs/trace-transition/utils/generate-span-id/index.js +3 -2
  56. package/dist/cjs/trace-transition/utils/set-interaction-active-trace/index.js +3 -2
  57. package/dist/cjs/vc/index.js +17 -6
  58. package/dist/cjs/vc/vc-observer/attachAbortListeners.js +3 -2
  59. package/dist/cjs/vc/vc-observer/getVCRevisionsData.js +41 -22
  60. package/dist/cjs/vc/vc-observer/getViewport.js +6 -6
  61. package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +28 -12
  62. package/dist/cjs/vc/vc-observer/index.js +172 -133
  63. package/dist/cjs/vc/vc-observer/media-wrapper/vc-utils.js +3 -2
  64. package/dist/cjs/vc/vc-observer/observers/editor-lnv/index.js +17 -0
  65. package/dist/cjs/vc/vc-observer/observers/index.js +82 -25
  66. package/dist/cjs/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +5 -3
  67. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +16 -0
  68. package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +2 -0
  69. package/dist/cjs/vc/vc-observer/revisions/fy25_02.js +2 -0
  70. package/dist/cjs/vc/vc-observer/revisions/revisions.js +3 -2
  71. package/dist/cjs/vc/vc-observer-new/entries-timeline/index.js +9 -0
  72. package/dist/cjs/vc/vc-observer-new/get-element-name.js +5 -3
  73. package/dist/cjs/vc/vc-observer-new/get-unique-element-name.js +13 -11
  74. package/dist/cjs/vc/vc-observer-new/index.js +9 -0
  75. package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -0
  76. package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +6 -1
  77. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +20 -12
  78. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +27 -26
  79. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +18 -6
  80. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +27 -14
  81. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +10 -8
  82. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +50 -40
  83. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +10 -8
  84. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +5 -3
  85. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +5 -3
  86. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +5 -3
  87. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/task-yield.js +10 -8
  88. package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +15 -7
  89. package/dist/cjs/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +15 -12
  90. package/dist/cjs/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +16 -13
  91. package/dist/cjs/vc/vc-observer-new/viewport-observer/performance-observer/index.js +11 -9
  92. package/dist/cjs/vc/vc-observer-new/window-event-observer/index.js +7 -1
  93. package/dist/es2019/additional-payload/utils/cache-hit-ratio/index.js +6 -5
  94. package/dist/es2019/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -2
  95. package/dist/es2019/additional-payload/utils/lighthouse-metrics/index.js +6 -5
  96. package/dist/es2019/additional-payload/utils/lighthouse-metrics/tbt/index.js +16 -13
  97. package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +3 -0
  98. package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +9 -7
  99. package/dist/es2019/assets/index.js +19 -14
  100. package/dist/es2019/assets/utils.js +11 -9
  101. package/dist/es2019/bundle-eval-timing/index.js +7 -6
  102. package/dist/es2019/coinflip/index.js +5 -2
  103. package/dist/es2019/common/constants.js +3 -2
  104. package/dist/es2019/common/react-ufo-payload-schema.js +1 -0
  105. package/dist/es2019/config/index.js +29 -28
  106. package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +18 -15
  107. package/dist/es2019/create-payload/common/utils/index.js +15 -14
  108. package/dist/es2019/create-payload/index.js +87 -71
  109. package/dist/es2019/create-payload/utils/get-interaction-status.js +5 -2
  110. package/dist/es2019/create-payload/utils/get-page-visibility-up-to-ttai.js +4 -2
  111. package/dist/es2019/create-payload/utils/get-ssr-done-time-value.js +4 -2
  112. package/dist/es2019/create-payload/utils/get-vc-metrics.js +4 -2
  113. package/dist/es2019/create-post-interaction-log-payload/index.js +14 -12
  114. package/dist/es2019/custom-data/index.js +3 -2
  115. package/dist/es2019/custom-mark/index.js +3 -2
  116. package/dist/es2019/custom-spans/index.js +3 -2
  117. package/dist/es2019/custom-timings/index.js +5 -4
  118. package/dist/es2019/experience-trace-id-context/index.js +16 -13
  119. package/dist/es2019/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +6 -3
  120. package/dist/es2019/feature-flags-accessed/common/utils/index.js +14 -7
  121. package/dist/es2019/feature-flags-accessed/index.js +3 -2
  122. package/dist/es2019/generate-id/index.js +4 -2
  123. package/dist/es2019/global-error-handler/index.js +15 -12
  124. package/dist/es2019/initial-page-load-extra-timing/index.js +5 -4
  125. package/dist/es2019/interaction-metrics/index.js +109 -108
  126. package/dist/es2019/interaction-metrics/post-interaction-log.js +10 -0
  127. package/dist/es2019/interaction-metrics-init/index.js +17 -10
  128. package/dist/es2019/interaction-metrics-init/schedule-idle-callback.js +7 -3
  129. package/dist/es2019/resource-timing/common/utils/config.js +10 -7
  130. package/dist/es2019/resource-timing/common/utils/resource-timing-buffer.js +14 -11
  131. package/dist/es2019/resource-timing/main.js +31 -17
  132. package/dist/es2019/resource-timing/utils.js +3 -2
  133. package/dist/es2019/round-number/index.js +3 -2
  134. package/dist/es2019/route-name/index.js +4 -2
  135. package/dist/es2019/segment/schedule-on-paint.js +5 -2
  136. package/dist/es2019/segment/segment.js +7 -3
  137. package/dist/es2019/self-measurements/index.js +213 -0
  138. package/dist/es2019/set-interaction-error/index.js +3 -2
  139. package/dist/es2019/short-id/index.js +4 -2
  140. package/dist/es2019/ssr/index.js +21 -16
  141. package/dist/es2019/trace-interaction/index.js +6 -4
  142. package/dist/es2019/trace-pageload/index.js +6 -4
  143. package/dist/es2019/trace-press/index.js +4 -2
  144. package/dist/es2019/trace-redirect/index.js +4 -2
  145. package/dist/es2019/trace-transition/index.js +5 -3
  146. package/dist/es2019/trace-transition/utils/generate-span-id/index.js +4 -1
  147. package/dist/es2019/trace-transition/utils/set-interaction-active-trace/index.js +3 -2
  148. package/dist/es2019/vc/index.js +16 -4
  149. package/dist/es2019/vc/vc-observer/attachAbortListeners.js +3 -2
  150. package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +41 -21
  151. package/dist/es2019/vc/vc-observer/getViewport.js +5 -4
  152. package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +28 -10
  153. package/dist/es2019/vc/vc-observer/index.js +160 -116
  154. package/dist/es2019/vc/vc-observer/media-wrapper/vc-utils.js +3 -2
  155. package/dist/es2019/vc/vc-observer/observers/editor-lnv/index.js +17 -0
  156. package/dist/es2019/vc/vc-observer/observers/index.js +80 -25
  157. package/dist/es2019/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +4 -2
  158. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +16 -0
  159. package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +2 -0
  160. package/dist/es2019/vc/vc-observer/revisions/fy25_02.js +2 -0
  161. package/dist/es2019/vc/vc-observer/revisions/revisions.js +3 -2
  162. package/dist/es2019/vc/vc-observer-new/entries-timeline/index.js +9 -0
  163. package/dist/es2019/vc/vc-observer-new/get-element-name.js +4 -2
  164. package/dist/es2019/vc/vc-observer-new/get-unique-element-name.js +12 -10
  165. package/dist/es2019/vc/vc-observer-new/index.js +9 -0
  166. package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -0
  167. package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +3 -0
  168. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +14 -4
  169. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +6 -4
  170. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +18 -6
  171. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +21 -8
  172. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +4 -2
  173. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +10 -8
  174. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +4 -2
  175. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +4 -2
  176. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +4 -2
  177. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +4 -2
  178. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/task-yield.js +5 -2
  179. package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +15 -7
  180. package/dist/es2019/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +15 -12
  181. package/dist/es2019/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +15 -13
  182. package/dist/es2019/vc/vc-observer-new/viewport-observer/performance-observer/index.js +11 -9
  183. package/dist/es2019/vc/vc-observer-new/window-event-observer/index.js +7 -1
  184. package/dist/esm/additional-payload/utils/cache-hit-ratio/index.js +5 -4
  185. package/dist/esm/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -2
  186. package/dist/esm/additional-payload/utils/lighthouse-metrics/index.js +5 -4
  187. package/dist/esm/additional-payload/utils/lighthouse-metrics/tbt/index.js +3 -2
  188. package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +3 -0
  189. package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +9 -7
  190. package/dist/esm/assets/index.js +17 -14
  191. package/dist/esm/assets/utils.js +10 -8
  192. package/dist/esm/bundle-eval-timing/index.js +7 -6
  193. package/dist/esm/coinflip/index.js +5 -2
  194. package/dist/esm/common/constants.js +3 -2
  195. package/dist/esm/common/react-ufo-payload-schema.js +1 -0
  196. package/dist/esm/config/index.js +29 -28
  197. package/dist/esm/create-experimental-interaction-metrics-payload/index.js +28 -35
  198. package/dist/esm/create-payload/common/utils/index.js +15 -14
  199. package/dist/esm/create-payload/index.js +149 -139
  200. package/dist/esm/create-payload/utils/get-interaction-status.js +5 -2
  201. package/dist/esm/create-payload/utils/get-page-visibility-up-to-ttai.js +4 -2
  202. package/dist/esm/create-payload/utils/get-ssr-done-time-value.js +4 -2
  203. package/dist/esm/create-payload/utils/get-vc-metrics.js +9 -7
  204. package/dist/esm/create-post-interaction-log-payload/index.js +14 -12
  205. package/dist/esm/custom-data/index.js +3 -2
  206. package/dist/esm/custom-mark/index.js +3 -2
  207. package/dist/esm/custom-spans/index.js +3 -2
  208. package/dist/esm/custom-timings/index.js +5 -4
  209. package/dist/esm/experience-trace-id-context/index.js +15 -14
  210. package/dist/esm/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +3 -2
  211. package/dist/esm/feature-flags-accessed/common/utils/index.js +11 -10
  212. package/dist/esm/feature-flags-accessed/index.js +3 -2
  213. package/dist/esm/generate-id/index.js +4 -2
  214. package/dist/esm/global-error-handler/index.js +14 -13
  215. package/dist/esm/initial-page-load-extra-timing/index.js +5 -4
  216. package/dist/esm/interaction-metrics/index.js +109 -108
  217. package/dist/esm/interaction-metrics/post-interaction-log.js +10 -0
  218. package/dist/esm/interaction-metrics-init/index.js +17 -10
  219. package/dist/esm/interaction-metrics-init/schedule-idle-callback.js +7 -3
  220. package/dist/esm/resource-timing/common/utils/config.js +9 -8
  221. package/dist/esm/resource-timing/common/utils/resource-timing-buffer.js +13 -12
  222. package/dist/esm/resource-timing/main.js +25 -19
  223. package/dist/esm/resource-timing/utils.js +3 -2
  224. package/dist/esm/round-number/index.js +3 -2
  225. package/dist/esm/route-name/index.js +4 -2
  226. package/dist/esm/segment/schedule-on-paint.js +5 -2
  227. package/dist/esm/segment/segment.js +7 -3
  228. package/dist/esm/self-measurements/index.js +246 -0
  229. package/dist/esm/set-interaction-error/index.js +3 -2
  230. package/dist/esm/short-id/index.js +4 -2
  231. package/dist/esm/ssr/index.js +17 -16
  232. package/dist/esm/trace-interaction/index.js +6 -4
  233. package/dist/esm/trace-pageload/index.js +6 -4
  234. package/dist/esm/trace-press/index.js +4 -2
  235. package/dist/esm/trace-redirect/index.js +4 -2
  236. package/dist/esm/trace-transition/index.js +5 -3
  237. package/dist/esm/trace-transition/utils/generate-span-id/index.js +3 -2
  238. package/dist/esm/trace-transition/utils/set-interaction-active-trace/index.js +3 -2
  239. package/dist/esm/vc/index.js +16 -4
  240. package/dist/esm/vc/vc-observer/attachAbortListeners.js +3 -2
  241. package/dist/esm/vc/vc-observer/getVCRevisionsData.js +40 -21
  242. package/dist/esm/vc/vc-observer/getViewport.js +5 -4
  243. package/dist/esm/vc/vc-observer/heatmap/heatmap.js +28 -12
  244. package/dist/esm/vc/vc-observer/index.js +172 -133
  245. package/dist/esm/vc/vc-observer/media-wrapper/vc-utils.js +3 -2
  246. package/dist/esm/vc/vc-observer/observers/editor-lnv/index.js +17 -0
  247. package/dist/esm/vc/vc-observer/observers/index.js +82 -25
  248. package/dist/esm/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +4 -2
  249. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +16 -0
  250. package/dist/esm/vc/vc-observer/revisions/fy25_01.js +2 -0
  251. package/dist/esm/vc/vc-observer/revisions/fy25_02.js +2 -0
  252. package/dist/esm/vc/vc-observer/revisions/revisions.js +3 -2
  253. package/dist/esm/vc/vc-observer-new/entries-timeline/index.js +9 -0
  254. package/dist/esm/vc/vc-observer-new/get-element-name.js +4 -2
  255. package/dist/esm/vc/vc-observer-new/get-unique-element-name.js +12 -10
  256. package/dist/esm/vc/vc-observer-new/index.js +9 -0
  257. package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -0
  258. package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +6 -1
  259. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +19 -9
  260. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +26 -24
  261. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +18 -6
  262. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +26 -13
  263. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +9 -7
  264. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +49 -39
  265. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +9 -7
  266. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +4 -2
  267. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +4 -2
  268. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +4 -2
  269. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/task-yield.js +10 -7
  270. package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +15 -7
  271. package/dist/esm/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +15 -12
  272. package/dist/esm/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +15 -12
  273. package/dist/esm/vc/vc-observer-new/viewport-observer/performance-observer/index.js +11 -7
  274. package/dist/esm/vc/vc-observer-new/window-event-observer/index.js +7 -1
  275. package/dist/types/additional-payload/utils/cache-hit-ratio/index.d.ts +1 -1
  276. package/dist/types/additional-payload/utils/lighthouse-metrics/index.d.ts +2 -2
  277. package/dist/types/assets/index.d.ts +3 -1
  278. package/dist/types/assets/utils.d.ts +1 -1
  279. package/dist/types/bundle-eval-timing/index.d.ts +2 -2
  280. package/dist/types/coinflip/index.d.ts +2 -1
  281. package/dist/types/common/index.d.ts +2 -1
  282. package/dist/types/common/react-ufo-payload-schema.d.ts +175 -0
  283. package/dist/types/common/vc/types.d.ts +20 -10
  284. package/dist/types/config/index.d.ts +14 -16
  285. package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +4 -3
  286. package/dist/types/create-payload/common/utils/index.d.ts +6 -7
  287. package/dist/types/create-payload/index.d.ts +1250 -1537
  288. package/dist/types/create-payload/utils/get-interaction-status.d.ts +2 -1
  289. package/dist/types/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +2 -1
  290. package/dist/types/create-payload/utils/get-ssr-done-time-value.d.ts +2 -1
  291. package/dist/types/create-payload/utils/get-vc-metrics.d.ts +3 -2
  292. package/dist/types/create-post-interaction-log-payload/index.d.ts +3 -2
  293. package/dist/types/custom-data/index.d.ts +1 -1
  294. package/dist/types/custom-mark/index.d.ts +1 -1
  295. package/dist/types/custom-spans/index.d.ts +1 -1
  296. package/dist/types/custom-timings/index.d.ts +2 -2
  297. package/dist/types/generate-id/index.d.ts +2 -1
  298. package/dist/types/hidden-timing/index.d.ts +1 -1
  299. package/dist/types/initial-page-load-extra-timing/index.d.ts +2 -2
  300. package/dist/types/interaction-context/index.d.ts +3 -3
  301. package/dist/types/interaction-metrics/index.d.ts +42 -42
  302. package/dist/types/interaction-metrics/post-interaction-log.d.ts +1 -0
  303. package/dist/types/interaction-metrics-init/schedule-idle-callback.d.ts +2 -1
  304. package/dist/types/resource-timing/common/utils/config.d.ts +1 -1
  305. package/dist/types/resource-timing/utils.d.ts +1 -1
  306. package/dist/types/round-number/index.d.ts +1 -1
  307. package/dist/types/route-name/index.d.ts +4 -3
  308. package/dist/types/segment/schedule-on-paint.d.ts +2 -1
  309. package/dist/types/self-measurements/index.d.ts +57 -0
  310. package/dist/types/set-interaction-error/index.d.ts +1 -1
  311. package/dist/types/short-id/index.d.ts +2 -1
  312. package/dist/types/ssr/index.d.ts +5 -5
  313. package/dist/types/trace-interaction/index.d.ts +2 -1
  314. package/dist/types/trace-pageload/index.d.ts +3 -2
  315. package/dist/types/trace-press/index.d.ts +2 -1
  316. package/dist/types/trace-redirect/index.d.ts +2 -1
  317. package/dist/types/trace-transition/index.d.ts +2 -1
  318. package/dist/types/vc/index.d.ts +2 -2
  319. package/dist/types/vc/vc-observer/getVCRevisionsData.d.ts +7 -7
  320. package/dist/types/vc/vc-observer/getViewport.d.ts +2 -2
  321. package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +7 -4
  322. package/dist/types/vc/vc-observer/index.d.ts +4 -4
  323. package/dist/types/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +5 -4
  324. package/dist/types/vc/vc-observer/observers/types.d.ts +1 -1
  325. package/dist/types/vc/vc-observer-new/get-element-name.d.ts +2 -1
  326. package/dist/types/vc/vc-observer-new/get-unique-element-name.d.ts +2 -1
  327. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +2 -3
  328. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +3 -2
  329. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +3 -2
  330. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -1
  331. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +2 -1
  332. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +3 -2
  333. package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +2 -1
  334. package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +2 -1
  335. package/dist/types/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +2 -1
  336. package/dist/types/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +2 -1
  337. package/dist/types/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
  338. package/dist/types/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -1
  339. package/dist/types/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +3 -3
  340. package/dist/types-ts4.5/additional-payload/utils/cache-hit-ratio/index.d.ts +1 -1
  341. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/index.d.ts +2 -2
  342. package/dist/types-ts4.5/assets/index.d.ts +3 -1
  343. package/dist/types-ts4.5/assets/utils.d.ts +1 -1
  344. package/dist/types-ts4.5/bundle-eval-timing/index.d.ts +2 -2
  345. package/dist/types-ts4.5/coinflip/index.d.ts +2 -1
  346. package/dist/types-ts4.5/common/index.d.ts +2 -1
  347. package/dist/types-ts4.5/common/react-ufo-payload-schema.d.ts +177 -0
  348. package/dist/types-ts4.5/common/vc/types.d.ts +20 -10
  349. package/dist/types-ts4.5/config/index.d.ts +14 -20
  350. package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +4 -3
  351. package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +6 -7
  352. package/dist/types-ts4.5/create-payload/index.d.ts +1250 -1537
  353. package/dist/types-ts4.5/create-payload/utils/get-interaction-status.d.ts +2 -1
  354. package/dist/types-ts4.5/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +2 -1
  355. package/dist/types-ts4.5/create-payload/utils/get-ssr-done-time-value.d.ts +2 -1
  356. package/dist/types-ts4.5/create-payload/utils/get-vc-metrics.d.ts +3 -2
  357. package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +3 -2
  358. package/dist/types-ts4.5/custom-data/index.d.ts +1 -1
  359. package/dist/types-ts4.5/custom-mark/index.d.ts +1 -1
  360. package/dist/types-ts4.5/custom-spans/index.d.ts +1 -1
  361. package/dist/types-ts4.5/custom-timings/index.d.ts +2 -2
  362. package/dist/types-ts4.5/generate-id/index.d.ts +2 -1
  363. package/dist/types-ts4.5/hidden-timing/index.d.ts +1 -1
  364. package/dist/types-ts4.5/initial-page-load-extra-timing/index.d.ts +2 -2
  365. package/dist/types-ts4.5/interaction-context/index.d.ts +3 -3
  366. package/dist/types-ts4.5/interaction-metrics/index.d.ts +42 -42
  367. package/dist/types-ts4.5/interaction-metrics/post-interaction-log.d.ts +1 -0
  368. package/dist/types-ts4.5/interaction-metrics-init/schedule-idle-callback.d.ts +2 -1
  369. package/dist/types-ts4.5/resource-timing/common/utils/config.d.ts +1 -1
  370. package/dist/types-ts4.5/resource-timing/utils.d.ts +1 -1
  371. package/dist/types-ts4.5/round-number/index.d.ts +1 -1
  372. package/dist/types-ts4.5/route-name/index.d.ts +4 -3
  373. package/dist/types-ts4.5/segment/schedule-on-paint.d.ts +2 -1
  374. package/dist/types-ts4.5/self-measurements/index.d.ts +57 -0
  375. package/dist/types-ts4.5/set-interaction-error/index.d.ts +1 -1
  376. package/dist/types-ts4.5/short-id/index.d.ts +2 -1
  377. package/dist/types-ts4.5/ssr/index.d.ts +5 -5
  378. package/dist/types-ts4.5/trace-interaction/index.d.ts +2 -1
  379. package/dist/types-ts4.5/trace-pageload/index.d.ts +3 -2
  380. package/dist/types-ts4.5/trace-press/index.d.ts +2 -1
  381. package/dist/types-ts4.5/trace-redirect/index.d.ts +2 -1
  382. package/dist/types-ts4.5/trace-transition/index.d.ts +2 -1
  383. package/dist/types-ts4.5/vc/index.d.ts +2 -2
  384. package/dist/types-ts4.5/vc/vc-observer/getVCRevisionsData.d.ts +7 -7
  385. package/dist/types-ts4.5/vc/vc-observer/getViewport.d.ts +2 -2
  386. package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +7 -4
  387. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +4 -4
  388. package/dist/types-ts4.5/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +5 -4
  389. package/dist/types-ts4.5/vc/vc-observer/observers/types.d.ts +1 -1
  390. package/dist/types-ts4.5/vc/vc-observer-new/get-element-name.d.ts +2 -1
  391. package/dist/types-ts4.5/vc/vc-observer-new/get-unique-element-name.d.ts +2 -1
  392. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +2 -3
  393. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +3 -2
  394. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +3 -2
  395. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -1
  396. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +2 -1
  397. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +3 -2
  398. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +2 -1
  399. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +2 -1
  400. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +2 -1
  401. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +2 -1
  402. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
  403. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -1
  404. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +3 -3
  405. package/package.json +10 -1
@@ -1,8 +1,10 @@
1
1
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
2
2
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
3
3
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
4
+ import { withProfiling } from '../../../../self-measurements';
5
+
4
6
  // The LayoutShiftAttribution API is returning the numbers on physical dimension
5
- export function convertPhysicalToLogicalResolution(rect) {
7
+ export var convertPhysicalToLogicalResolution = withProfiling(function convertPhysicalToLogicalResolution(rect) {
6
8
  if (typeof window.devicePixelRatio !== 'number') {
7
9
  return rect;
8
10
  }
@@ -12,13 +14,13 @@ export function convertPhysicalToLogicalResolution(rect) {
12
14
 
13
15
  // eslint-disable-next-line compat/compat
14
16
  return new DOMRect(rect.x / window.devicePixelRatio, rect.y / window.devicePixelRatio, rect.width / window.devicePixelRatio, rect.height / window.devicePixelRatio);
15
- }
16
- export default function createPerformanceObserver(args) {
17
+ }, ['vc']);
18
+ var createPerformanceObserver = withProfiling(function createPerformanceObserver(args) {
17
19
  if (!window || typeof window.PerformanceObserver !== 'function') {
18
20
  return null;
19
21
  }
20
- var onLayoutShift = args.onLayoutShift;
21
- var observer = new PerformanceObserver(function (entries) {
22
+ var onLayoutShift = withProfiling(args.onLayoutShift, ['vc']);
23
+ var performanceObserverCallback = withProfiling(function performanceObserverCallback(entries) {
22
24
  var _iterator = _createForOfIteratorHelper(entries.getEntries()),
23
25
  _step;
24
26
  try {
@@ -46,6 +48,8 @@ export default function createPerformanceObserver(args) {
46
48
  } finally {
47
49
  _iterator.f();
48
50
  }
49
- });
51
+ }, ['vc']);
52
+ var observer = new PerformanceObserver(performanceObserverCallback);
50
53
  return observer;
51
- }
54
+ }, ['vc']);
55
+ export default createPerformanceObserver;
@@ -2,11 +2,17 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  import { bind } from 'bind-event-listener';
5
+ import { markProfilingEnd, markProfilingStart, withProfiling } from '../../../self-measurements';
5
6
  var WindowEventObserver = /*#__PURE__*/function () {
6
7
  function WindowEventObserver(opts) {
7
8
  _classCallCheck(this, WindowEventObserver);
8
9
  _defineProperty(this, "unbindFns", []);
9
- this.onEvent = opts.onEvent;
10
+ var operationTimer = markProfilingStart('WindowEventObserver constructor');
11
+ this.onEvent = withProfiling(opts.onEvent, ['vc']);
12
+ this.bindEvent = withProfiling(this.bindEvent.bind(this), ['vc']);
13
+ this.start = withProfiling(this.start.bind(this), ['vc']);
14
+ this.stop = withProfiling(this.stop.bind(this), ['vc']);
15
+ markProfilingEnd(operationTimer);
10
16
  }
11
17
  return _createClass(WindowEventObserver, [{
12
18
  key: "bindEvent",
@@ -2,7 +2,7 @@ type CacheHitRatio = {
2
2
  cacheHitRatio?: number;
3
3
  preloadCacheHitRatio?: number;
4
4
  };
5
- export declare const getCacheHitRatio: ({ start }: {
5
+ export declare const getCacheHitRatio: (args_0: {
6
6
  start: number;
7
7
  }) => CacheHitRatio;
8
8
  export {};
@@ -1,5 +1,5 @@
1
- export declare function startLighthouseObserver(): void;
2
- export declare const getLighthouseMetrics: ({ start, stop, }: {
1
+ export declare const startLighthouseObserver: () => void;
2
+ export declare const getLighthouseMetrics: (args_0: {
3
3
  start: number;
4
4
  stop: number;
5
5
  }) => {
@@ -13,13 +13,15 @@ export declare class CHRSummary {
13
13
  net: number;
14
14
  };
15
15
  sizeTotal: number;
16
+ constructor();
16
17
  add(asset: ResourceEntry): void;
17
- static makePayload(summary: CHRSummary): AssetsReporter;
18
+ static makePayload: (summary: CHRSummary) => AssetsReporter;
18
19
  }
19
20
  export declare class CHRReporter {
20
21
  all: CHRSummary;
21
22
  allAtlassian: CHRSummary;
22
23
  preloaded: CHRSummary;
23
24
  defaultAllowedTypes: string[];
25
+ constructor();
24
26
  get(resourceTimings: ResourceEntry[] | null, assetsConfig: AssetsConfig, SSRDoneTime: number | undefined): AssetsData | null;
25
27
  }
@@ -4,6 +4,6 @@ export declare const MEMORY_KEY = "mem";
4
4
  export declare const DISK_KEY = "disk";
5
5
  export declare const NETWORK_KEY = "net";
6
6
  export declare const calculateTransferType: (name: string, type: string, duration: number, size: number | undefined) => "disk" | "mem" | "net" | null;
7
- export declare const getTypeOfRequest: ({ name, initiatorType: type }: ResourceEntry) => string;
7
+ export declare const getTypeOfRequest: (args_0: ResourceEntry) => string;
8
8
  export declare const checkIfTimingsAvailable: (entry: ResourceEntry) => boolean;
9
9
  export declare const round: (n: number) => number;
@@ -11,6 +11,6 @@ type ReportedTimings = {
11
11
  duration: number;
12
12
  };
13
13
  };
14
- export declare function configure(bundleEvalTimingConfiguration: BundleEvalTimingsConfig): void;
15
- export declare function getBundleEvalTimings(interactionStartTime: number): ReportedTimings;
14
+ export declare const configure: (bundleEvalTimingConfiguration: BundleEvalTimingsConfig) => void;
15
+ export declare const getBundleEvalTimings: (interactionStartTime: number) => ReportedTimings;
16
16
  export {};
@@ -5,4 +5,5 @@
5
5
  * @param rate The change that it will pass (1 in <rate> times)
6
6
  * @returns bool, if it passes or not
7
7
  */
8
- export default function coinflip(rate: number): boolean;
8
+ declare const coinflip: (rate: number) => boolean;
9
+ export default coinflip;
@@ -10,8 +10,9 @@ export type AssetResourceEntry = any;
10
10
  export type AssetsClassification = any;
11
11
  export type { AssetsConfig, AssetsData, AssetsReporter, AssetsConfigAllAtlassianArgs, AssetsConfigPreloadedArgs, } from './assets/types';
12
12
  export type { LifecycleMarkType, MarkType, SpanType, InteractionType, AbortReasonType, CustomTiming, HoldInfo, LoadProfilerEventInfo, ReactProfilerTiming, Span, Mark, InteractionError, RequestInfo, ApdexType, SegmentInfo, CustomData, HoldActive, Redirect, InteractionMetrics, EnhancedUFOInteractionContextType, BM3Event, PostInteractionLogOutput, LastInteractionFinishInfo, } from './common/types';
13
- export type { MultiHeatmapPayload } from './vc/types';
13
+ export type { RevisionPayload, RevisionPayloadVCDetails } from './vc/types';
14
14
  /**
15
+ * @private
15
16
  * @deprecated Prefer import from @atlaskit/react-ufo/interaction-context
16
17
  */
17
18
  export type { Label, SegmentLabel, LabelStack } from '../interaction-context';
@@ -0,0 +1,175 @@
1
+ import { createPayloads } from '../create-payload';
2
+ import { LabelStack } from '../interaction-context';
3
+ import { VCObserver } from '../vc/vc-observer';
4
+ import type { AbortReasonType, ApdexType, InteractionType, SegmentInfo } from './common/types';
5
+ import type { RevisionPayload } from './vc/types';
6
+ type ExtractPromise<T> = T extends Promise<infer U> ? U : never;
7
+ export type PageVisibility = 'hidden' | 'mixed' | 'visible';
8
+ type ReactUFOAttributesProperties = ExtractPromise<ReturnType<typeof createPayloads>>[number]['attributes']['properties'];
9
+ export type ResourceTiming = {
10
+ label: string;
11
+ data: {
12
+ startTime: number;
13
+ duration: number;
14
+ workerStart: number;
15
+ fetchStart: number;
16
+ type: 'script' | 'link';
17
+ ttfb: number;
18
+ transferType: 'network' | 'memory' | 'disk';
19
+ serverTime?: number;
20
+ networkTime?: number;
21
+ encodedSize?: number;
22
+ decodedSize?: number;
23
+ size: number;
24
+ };
25
+ };
26
+ export type ReactProfilerTiming = {
27
+ labelStack: LabelStack;
28
+ startTime: number;
29
+ endTime: number;
30
+ mountCount: number;
31
+ rerenderCount: number;
32
+ renderDuration: number;
33
+ };
34
+ export type HoldInfo = {
35
+ labelStack: LabelStack;
36
+ startTime: number;
37
+ endTime: number;
38
+ };
39
+ export type VCParts = (typeof VCObserver.VCParts)[number];
40
+ export type LeafSegment = {
41
+ n: string;
42
+ };
43
+ export interface ParentSegment {
44
+ n: string;
45
+ c: {
46
+ [segmentId: string]: ParentSegment | LeafSegment;
47
+ };
48
+ }
49
+ export type RootSegment = {
50
+ r: ParentSegment;
51
+ };
52
+ export type ReactUFOPayload = {
53
+ action: 'measured';
54
+ actionSubject: 'experience';
55
+ eventType: 'operational';
56
+ source: 'measured';
57
+ tags: ['observability'];
58
+ attributes: {
59
+ properties: ReactUFOAttributesProperties & {
60
+ 'event:hostname': string;
61
+ 'event:product': string;
62
+ 'event:schema': '1.0.0';
63
+ 'event:sizeInKb': number;
64
+ 'event:source': {
65
+ name: 'react-ufo/web';
66
+ version: '1.0.1' | '2.0.0';
67
+ };
68
+ 'event:region': string;
69
+ 'experience:key': 'custom.interaction-metrics' | 'custom.experimental-interaction-metrics';
70
+ 'experience:name': string;
71
+ 'event:localHour': number;
72
+ 'event:localDayOfWeek': number;
73
+ 'event:localTimezoneOffset': number;
74
+ 'event:browser:name': string;
75
+ 'event:browser:version': string;
76
+ 'event:cpus': number;
77
+ 'event:memory': 0.25 | 0.5 | 1 | 2 | 4 | 8;
78
+ 'event:network:effectiveType': 'slow-2g' | '2g' | '3g' | '4g';
79
+ 'event:network:rtt': number;
80
+ 'event:network:downlink': number;
81
+ 'ssr:success': boolean;
82
+ 'ssr:featureFlags?': Record<string, boolean | string | number>;
83
+ 'metric:fp': number;
84
+ 'metric:fcp': number;
85
+ 'metric:lcp': number;
86
+ 'metrics:navigation': {
87
+ redirectStart: number;
88
+ redirectEnd: number;
89
+ fetchStart: number;
90
+ domainLookupStart: number;
91
+ domainLookupEnd: number;
92
+ connectStart: number;
93
+ connectEnd: number;
94
+ secureConnectionStart: number;
95
+ requestStart: number;
96
+ responseStart: number;
97
+ responseEnd: number;
98
+ encodedBodySize: number;
99
+ decodedBodySize: number;
100
+ transferSize: number;
101
+ redirectCount: number;
102
+ type: 'navigate' | 'reload' | 'back_forward' | 'prerender';
103
+ unloadEventEnd: number;
104
+ unloadEventStart: number;
105
+ workerStart: number;
106
+ nextHopProtocol: 'http/0.9' | 'http/1.0' | 'http/1.1' | 'h2' | 'h2c' | 'h3';
107
+ };
108
+ 'ufo:errors:globalCount': number;
109
+ 'ufo:errors:count': number;
110
+ interactionMetrics: {
111
+ namePrefix: string;
112
+ segmentPrefix: string;
113
+ interactionId: string;
114
+ pageVisibilityAtTTI: PageVisibility;
115
+ pageVisibilityAtTTAI: PageVisibility;
116
+ experimental__pageVisibilityAtTTI: PageVisibility;
117
+ experimental__pageVisibilityAtTTAI: PageVisibility;
118
+ rate: number;
119
+ routeName: string;
120
+ type: InteractionType;
121
+ abortReason: AbortReasonType;
122
+ featureFlags?: {
123
+ prior: Record<string, boolean | string | number>;
124
+ during: Record<string, boolean | string | number>;
125
+ };
126
+ previousInteractionName?: string;
127
+ isPreviousInteractionAborted: boolean;
128
+ abortedByInteractionName?: string;
129
+ apdex: ApdexType[];
130
+ end: number;
131
+ start: number;
132
+ isBM3ConfigSSRDoneAsFmp: boolean;
133
+ isUFOConfigSSRDoneAsFmp: boolean;
134
+ resourceTimings: ResourceTiming[];
135
+ segments: SegmentInfo[] | RootSegment;
136
+ reactProfilerTimings: ReactProfilerTiming[];
137
+ holdInfo: HoldInfo[];
138
+ };
139
+ 'ufo:vc:rev': RevisionPayload;
140
+ 'ufo:vc:ratios': Record<string, number>;
141
+ 'ufo:vc:size': {
142
+ w: number;
143
+ h: number;
144
+ };
145
+ 'ufo:vc:time': number;
146
+ 'ufo:vc:state'?: boolean;
147
+ 'ufo:vc:clean'?: boolean;
148
+ 'metrics:vc'?: Record<VCParts, number>;
149
+ 'ufo:vc:dom'?: Record<VCParts, string[]>;
150
+ 'ufo:vc:updates'?: Array<{
151
+ time: number;
152
+ vc: number;
153
+ elements: string[];
154
+ }>;
155
+ 'ufo:vc:total'?: number;
156
+ 'ufo:vc:next'?: Record<VCParts, number>;
157
+ 'ufo:vc:next:updates'?: Array<{
158
+ time: number;
159
+ vc: number;
160
+ elements: string[];
161
+ }>;
162
+ 'ufo:vc:next:dom'?: Record<VCParts, string[]>;
163
+ 'ufo:vc:ignored'?: string[];
164
+ 'metric:vc90'?: number;
165
+ 'ufo:speedIndex'?: number;
166
+ 'ufo:next:speedIndex'?: number;
167
+ 'ufo:vc:updates:next'?: Array<{
168
+ time: number;
169
+ vc: number;
170
+ elements: string[];
171
+ }>;
172
+ };
173
+ };
174
+ };
175
+ export {};
@@ -39,10 +39,21 @@ export type VCEntryType = {
39
39
  };
40
40
  export type VCIgnoreReason = 'image' | 'ssr-hydration' | 'editor-lazy-node-view' | 'not-visible' | 'editor-container-mutation' | 'non-visual-style' | '';
41
41
  export type ComponentsLogEntry = {
42
+ type?: string;
42
43
  targetName: string;
43
44
  __debug__element: WeakRef<Element> | null;
44
- intersectionRect: DOMRectReadOnly;
45
+ intersectionRect: {
46
+ width: number;
47
+ height: number;
48
+ top: number;
49
+ bottom: number;
50
+ left: number;
51
+ right: number;
52
+ };
45
53
  ignoreReason?: VCIgnoreReason;
54
+ attributeName?: string | null;
55
+ oldValue?: string | null;
56
+ newValue?: string | null;
46
57
  };
47
58
  export type VCIgnoredElement = Pick<ComponentsLogEntry, 'targetName' | 'ignoreReason'>;
48
59
  export type VCResult = {
@@ -51,7 +62,7 @@ export type VCResult = {
51
62
  h: number;
52
63
  } | {
53
64
  [key: string]: boolean | number | string[] | null | VCEntryType[];
54
- } | MultiHeatmapPayload;
65
+ } | RevisionPayload;
55
66
  };
56
67
  export type MetricsDevToolsTypes = {
57
68
  '75': number | null;
@@ -95,16 +106,15 @@ declare global {
95
106
  };
96
107
  }
97
108
  }
98
- type MultiHeatmapRevisionPayload = {
109
+ export type RevisionPayloadVCDetails = Record<string, {
110
+ t: number;
111
+ e: string[];
112
+ }>;
113
+ export type RevisionPayloadEntry = {
99
114
  'metric:vc90': number | null;
100
115
  revision: string;
101
116
  clean: boolean;
102
- vcDetails?: {
103
- [key: string]: {
104
- t: number;
105
- e: string[];
106
- };
107
- };
117
+ vcDetails?: RevisionPayloadVCDetails;
108
118
  };
109
- export type MultiHeatmapPayload = MultiHeatmapRevisionPayload[];
119
+ export type RevisionPayload = RevisionPayloadEntry[];
110
120
  export {};
@@ -97,20 +97,18 @@ export type Config = {
97
97
  */
98
98
  readonly enableCompleteUsingDoubleRAF?: boolean;
99
99
  };
100
- export declare function setUFOConfig(newConfig: Config): void;
101
- export declare function getConfig(): Config | undefined;
102
- export declare function getInteractionRate(name: string, interactionKind: InteractionKind): number;
103
- export declare function getExperimentalInteractionRate(name: string, interactionType: InteractionType): number;
104
- export declare function getPostInteractionRate(name: string, interactionType: InteractionType): number;
105
- export declare function getCapabilityRate(capability: Capability): number;
106
- declare const validTypingMethods: readonly ["timeout", "timeoutNoAlloc", "mutationObserver"];
107
- type ValidTypingMethod = (typeof validTypingMethods)[number];
108
- export declare function getTypingPerformanceTracingMethod(): ValidTypingMethod;
109
- export declare function getAwaitBM3TTIList(): string[];
110
- export declare function getRemovePageSegmentsUFOPrefixes(): boolean;
111
- export declare function getRemoveInteractionsUFOPrefixes(): boolean;
112
- export declare function getUfoNameOverrides(): UFONameOverride | undefined;
113
- export declare function getDoNotAbortActivePressInteraction(): string[] | undefined;
114
- export declare function getDoNotAbortActivePressInteractionOnTransition(): string[] | undefined;
115
- export declare function shouldHandleEditorLnv(): boolean;
100
+ export declare const setUFOConfig: (newConfig: Config) => void;
101
+ export declare const getConfig: () => Config | undefined;
102
+ export declare const getInteractionRate: (name: string, interactionKind: InteractionKind) => number;
103
+ export declare const getExperimentalInteractionRate: (name: string, interactionType: InteractionType) => number;
104
+ export declare const getPostInteractionRate: (name: string, interactionType: InteractionType) => number;
105
+ export declare const getCapabilityRate: (capability: Capability) => number;
106
+ export declare const getTypingPerformanceTracingMethod: () => "timeout" | "timeoutNoAlloc" | "mutationObserver";
107
+ export declare const getAwaitBM3TTIList: () => string[];
108
+ export declare const getRemovePageSegmentsUFOPrefixes: () => boolean;
109
+ export declare const getRemoveInteractionsUFOPrefixes: () => boolean;
110
+ export declare const getUfoNameOverrides: () => UFONameOverride | undefined;
111
+ export declare const getDoNotAbortActivePressInteraction: () => string[] | undefined;
112
+ export declare const getDoNotAbortActivePressInteractionOnTransition: () => string[] | undefined;
113
+ export declare const shouldHandleEditorLnv: () => boolean;
116
114
  export {};
@@ -2,11 +2,12 @@ import type { InteractionMetrics } from '../common';
2
2
  import type { VCObserverOptions } from '../vc/types';
3
3
  import { VCObserver } from '../vc/vc-observer';
4
4
  type InteractionMetricsHandler = (interactionId: string, interaction: InteractionMetrics) => void | Promise<void>;
5
- export declare function installInteractionSink(handler: InteractionMetricsHandler): void;
6
- export declare function sinkExperimentalHandler(sinkFn: (interactionId: string, interaction: InteractionMetrics) => void | Promise<void>): void;
7
- export declare function onExperimentalInteractionComplete(interactionId: string, data: InteractionMetrics, endTime?: number): void;
5
+ export declare const installInteractionSink: (handler: InteractionMetricsHandler) => void;
6
+ export declare const sinkExperimentalHandler: (sinkFn: (interactionId: string, interaction: InteractionMetrics) => void | Promise<void>) => void;
7
+ export declare const onExperimentalInteractionComplete: (interactionId: string, data: InteractionMetrics, endTime?: any) => void;
8
8
  export declare class ExperimentalVCMetrics {
9
9
  vcObserver: VCObserver | null;
10
+ constructor();
10
11
  initialize(options: VCObserverOptions): this;
11
12
  start({ startTime }: {
12
13
  startTime: number;
@@ -1,5 +1,4 @@
1
- import { getReactUFOVersion } from '../../../common/constants';
2
- import type { LabelStack, SegmentLabel } from '../../../interaction-context';
1
+ import type { LabelStack } from '../../../interaction-context';
3
2
  export type SegmentItem = {
4
3
  n: string;
5
4
  c?: Record<string, SegmentItem>;
@@ -8,11 +7,11 @@ export type SegmentTree = {
8
7
  r: SegmentItem;
9
8
  };
10
9
  export declare const sanitizeUfoName: (name: string) => string;
11
- export declare function isSegmentLabel(obj: any): obj is SegmentLabel;
12
- export declare function buildSegmentTree(labelStacks: LabelStack[]): SegmentTree;
13
- export declare function stringifyLabelStackFully(labelStack: LabelStack): string;
14
- export declare function labelStackStartWith(labelStack: LabelStack, startWith: LabelStack): boolean;
15
- export declare function optimizeLabelStack(labelStack: LabelStack, reactUFOVersion: ReturnType<typeof getReactUFOVersion>): string | {
10
+ export declare const isSegmentLabel: (obj: any) => boolean;
11
+ export declare const buildSegmentTree: (labelStacks: LabelStack[]) => SegmentTree;
12
+ export declare const stringifyLabelStackFully: (labelStack: LabelStack) => string;
13
+ export declare const labelStackStartWith: (labelStack: LabelStack, startWith: LabelStack) => boolean;
14
+ export declare const optimizeLabelStack: (labelStack: LabelStack, reactUFOVersion: "1.0.1" | "2.0.0") => string | {
16
15
  s?: string | undefined;
17
16
  n: string;
18
17
  }[];