@atlaskit/react-ufo 3.4.14 → 3.5.1

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 +22 -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 +27 -20
  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 +8 -5
  45. package/dist/cjs/segment/segment.js +9 -5
  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 -26
  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 +170 -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 -8
  67. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +17 -2
  68. package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +7 -7
  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 +33 -18
  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 +7 -4
  136. package/dist/es2019/segment/segment.js +9 -5
  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 -25
  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 +158 -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 -7
  158. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +17 -2
  159. package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +7 -7
  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 +27 -20
  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 +7 -4
  227. package/dist/esm/segment/segment.js +9 -5
  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 -25
  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 +170 -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 -7
  249. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +17 -2
  250. package/dist/esm/vc/vc-observer/revisions/fy25_01.js +7 -7
  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 +12 -12
@@ -5,11 +5,13 @@ import _createClass from "@babel/runtime/helpers/createClass";
5
5
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
6
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
7
7
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
+ var _VCObserver;
8
9
  var _excluded = ["__debug__element"];
9
10
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
11
  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; }
11
12
  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; }
12
13
  import { fg } from '@atlaskit/platform-feature-flags';
14
+ import { markProfilingEnd, markProfilingStart, withProfiling } from '../../self-measurements';
13
15
  import { attachAbortListeners } from './attachAbortListeners';
14
16
  import { getVCRevisionsData } from './getVCRevisionsData';
15
17
  import { getViewportHeight, getViewportWidth } from './getViewport';
@@ -23,7 +25,7 @@ var abortReason = {
23
25
  error: 'error'
24
26
  };
25
27
  var UNUSED_SECTOR = 0;
26
- function filterComponentsLog(log) {
28
+ var filterComponentsLog = withProfiling(function filterComponentsLog(log) {
27
29
  return Object.fromEntries(Object.entries(log).map(function (_ref) {
28
30
  var _ref2 = _slicedToArray(_ref, 2),
29
31
  timestamp = _ref2[0],
@@ -34,7 +36,7 @@ function filterComponentsLog(log) {
34
36
  return rest;
35
37
  })];
36
38
  }));
37
- }
39
+ }, ['vc']);
38
40
  export var VCObserver = /*#__PURE__*/function () {
39
41
  function VCObserver(options) {
40
42
  var _this = this;
@@ -284,7 +286,7 @@ export var VCObserver = /*#__PURE__*/function () {
284
286
  case 26:
285
287
  return _context.abrupt("return", _objectSpread(_objectSpread(_objectSpread(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
286
288
  'metrics:vc': VC
287
- }, "".concat(fullPrefix, "vc:state"), true), "".concat(fullPrefix, "vc:clean"), isVCClean), "".concat(fullPrefix, "vc:dom"), VCBox), "".concat(fullPrefix, "vc:updates"), VCEntries.rel.slice(0, 50)), "".concat(fullPrefix, "vc:size"), viewport), "".concat(fullPrefix, "vc:time"), Math.round(totalTime + (stopTime - startTime))), "".concat(fullPrefix, "vc:total"), totalPainted), "".concat(fullPrefix, "vc:ratios"), ratios), outOfBoundary), {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(fullPrefix, "vc:next"), vcNext.VC), "".concat(fullPrefix, "vc:next:updates"), vcNext.VCEntries.rel.slice(0, 50)), "".concat(fullPrefix, "vc:next:dom"), vcNext.VCBox), "".concat(fullPrefix, "vc:ignored"), _this.getIgnoredElements(componentsLog)), revisionsData), isCalcSpeedIndexEnabled ? speedIndex : {}));
289
+ }, "".concat(fullPrefix, "vc:state"), true), "".concat(fullPrefix, "vc:clean"), isVCClean), "".concat(fullPrefix, "vc:dom"), VCBox), "".concat(fullPrefix, "vc:updates"), fg('platform_ufo_vc_observer_new') ? undefined : VCEntries.rel.slice(0, 50)), "".concat(fullPrefix, "vc:size"), viewport), "".concat(fullPrefix, "vc:time"), Math.round(totalTime + (stopTime - startTime))), "".concat(fullPrefix, "vc:total"), totalPainted), "".concat(fullPrefix, "vc:ratios"), ratios), outOfBoundary), {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(fullPrefix, "vc:next"), vcNext.VC), "".concat(fullPrefix, "vc:next:updates"), fg('platform_ufo_vc_observer_new') ? undefined : vcNext.VCEntries.rel.slice(0, 50)), "".concat(fullPrefix, "vc:next:dom"), vcNext.VCBox), "".concat(fullPrefix, "vc:ignored"), _this.getIgnoredElements(componentsLog)), revisionsData), isCalcSpeedIndexEnabled ? speedIndex : {}));
288
290
  case 27:
289
291
  case "end":
290
292
  return _context.stop();
@@ -295,9 +297,9 @@ export var VCObserver = /*#__PURE__*/function () {
295
297
  return _ref4.apply(this, arguments);
296
298
  };
297
299
  }());
298
- _defineProperty(this, "handleUpdate", function (rawTime, intersectionRect, targetName, element, type, ignoreReason) {
300
+ _defineProperty(this, "handleUpdate", function (rawTime, intersectionRect, targetName, element, type, ignoreReason, attributeName, oldValue, newValue) {
299
301
  _this.measureStart();
300
- _this.legacyHandleUpdate(rawTime, intersectionRect, targetName, element, type, ignoreReason);
302
+ _this.legacyHandleUpdate(rawTime, intersectionRect, targetName, element, type, ignoreReason, attributeName, oldValue, newValue);
301
303
  if (!fg('platform_ufo_vc_observer_new')) {
302
304
  _this.onViewportChangeDetected({
303
305
  timestamp: rawTime,
@@ -305,12 +307,15 @@ export var VCObserver = /*#__PURE__*/function () {
305
307
  targetName: targetName,
306
308
  element: element,
307
309
  type: type,
308
- ignoreReason: ignoreReason
310
+ ignoreReason: ignoreReason,
311
+ attributeName: attributeName,
312
+ oldValue: oldValue,
313
+ newValue: newValue
309
314
  });
310
315
  }
311
316
  _this.measureStop();
312
317
  });
313
- _defineProperty(this, "legacyHandleUpdate", function (rawTime, intersectionRect, targetName, element, type, ignoreReason) {
318
+ _defineProperty(this, "legacyHandleUpdate", function (rawTime, intersectionRect, targetName, element, type, ignoreReason, attributeName, oldValue, newValue) {
314
319
  if (_this.abortReason.reason === null || _this.abortReason.blocking === false) {
315
320
  var time = Math.round(rawTime - _this.startTime);
316
321
  var mappedValues = _this.mapPixelsToHeatmap(intersectionRect.left, intersectionRect.top, intersectionRect.width, intersectionRect.height);
@@ -327,9 +332,13 @@ export var VCObserver = /*#__PURE__*/function () {
327
332
  }
328
333
  _this.componentsLog[time].push({
329
334
  __debug__element: _this.devToolsEnabled ? new WeakRef(element) : null,
335
+ type: type,
330
336
  intersectionRect: intersectionRect,
331
337
  targetName: targetName,
332
- ignoreReason: ignoreReason
338
+ ignoreReason: ignoreReason,
339
+ attributeName: attributeName,
340
+ oldValue: oldValue,
341
+ newValue: newValue
333
342
  });
334
343
  }
335
344
  });
@@ -339,7 +348,10 @@ export var VCObserver = /*#__PURE__*/function () {
339
348
  ignoreReason = _ref9.ignoreReason,
340
349
  timestamp = _ref9.timestamp,
341
350
  targetName = _ref9.targetName,
342
- intersectionRect = _ref9.intersectionRect;
351
+ intersectionRect = _ref9.intersectionRect,
352
+ attributeName = _ref9.attributeName,
353
+ oldValue = _ref9.oldValue,
354
+ newValue = _ref9.newValue;
343
355
  if (_this.multiHeatmap === null) {
344
356
  return;
345
357
  }
@@ -362,7 +374,10 @@ export var VCObserver = /*#__PURE__*/function () {
362
374
  classification: revisionsClassification,
363
375
  onError: function onError(error) {
364
376
  _this.setAbortReason(abortReason.error, error.time, error.error);
365
- }
377
+ },
378
+ attributeName: attributeName,
379
+ oldValue: oldValue,
380
+ newValue: newValue
366
381
  });
367
382
  });
368
383
  _defineProperty(this, "mapPixelsToHeatmap", function (left, top, width, height) {
@@ -434,6 +449,7 @@ export var VCObserver = /*#__PURE__*/function () {
434
449
  }
435
450
  _this.unbind = unbinds;
436
451
  });
452
+ var operationTimer = markProfilingStart('VCObserver constructor');
437
453
  this.arraySize = options.heatmapSize || 200;
438
454
  this.devToolsEnabled = options.devToolsEnabled || false;
439
455
  this.oldDomUpdatesEnabled = options.oldDomUpdates || false;
@@ -454,6 +470,32 @@ export var VCObserver = /*#__PURE__*/function () {
454
470
  devToolsEnabled: this.devToolsEnabled
455
471
  });
456
472
  this.isPostInteraction = options.isPostInteraction || false;
473
+ this.start = withProfiling(this.start.bind(this), ['vc']);
474
+ this.stop = withProfiling(this.stop.bind(this), ['vc']);
475
+ this.getAbortReasonInfo = withProfiling(this.getAbortReasonInfo.bind(this), ['vc']); // TODO: confirm correct value of `this`
476
+ this.getVCRawData = withProfiling(this.getVCRawData.bind(this), ['vc']); // TODO: confirm correct value of `this`
477
+ this.getIgnoredElements = withProfiling(this.getIgnoredElements.bind(this), ['vc']);
478
+ this.getVCResult = withProfiling(this.getVCResult.bind(this), ['vc']);
479
+ this.setSSRElement = withProfiling(this.setSSRElement.bind(this), ['vc']);
480
+ this.setReactRootRenderStart = withProfiling(this.setReactRootRenderStart.bind(this), ['vc']);
481
+ this.setReactRootRenderStop = withProfiling(this.setReactRootRenderStop.bind(this), ['vc']);
482
+ this.handleUpdate = withProfiling(this.handleUpdate.bind(this), ['vc']); // TODO: confirm correct value of `this`
483
+ this.legacyHandleUpdate = withProfiling(this.legacyHandleUpdate.bind(this), ['vc']); // TODO: confirm correct value of `this`
484
+ this.onViewportChangeDetected = withProfiling(this.onViewportChangeDetected.bind(this), ['vc']); // TODO: confirm correct value of `this`
485
+ this.setAbortReason = withProfiling(this.setAbortReason.bind(this), ['vc']);
486
+ this.resetState = withProfiling(this.resetState.bind(this), ['vc']);
487
+ this.setViewportSize = withProfiling(this.setViewportSize.bind(this), ['vc']);
488
+ this.mapPixelsToHeatmap = withProfiling(this.mapPixelsToHeatmap.bind(this), ['vc']); // TODO: confirm correct value of `this`
489
+ this.getElementRatio = withProfiling(this.getElementRatio.bind(this), ['vc']); // TODO: confirm correct value of `this`
490
+ this.applyChangesToHeatMap = withProfiling(this.applyChangesToHeatMap.bind(this), ['vc']);
491
+ this.abortReasonCallback = withProfiling(this.abortReasonCallback.bind(this), ['vc']); // TODO: confirm correct value of `this`
492
+ this.attachAbortListeners = withProfiling(this.attachAbortListeners.bind(this), ['vc']); // TODO: confirm correct value of `this`
493
+ this.detachAbortListeners = withProfiling(this.detachAbortListeners.bind(this), ['vc']);
494
+ this.measureStart = withProfiling(this.measureStart.bind(this), ['vc']);
495
+ this.measureStop = withProfiling(this.measureStop.bind(this), ['vc']);
496
+ markProfilingEnd(operationTimer, {
497
+ tags: ['vc']
498
+ });
457
499
  }
458
500
  return _createClass(VCObserver, [{
459
501
  key: "start",
@@ -603,136 +645,131 @@ export var VCObserver = /*#__PURE__*/function () {
603
645
  this.totalTime += performance.now() - this._startMeasureTimestamp;
604
646
  this._startMeasureTimestamp = -1;
605
647
  }
606
- }], [{
607
- key: "calculateVC",
608
- value: function calculateVC(_ref15) {
609
- var heatmap = _ref15.heatmap,
610
- _ref15$ssr = _ref15.ssr,
611
- ssr = _ref15$ssr === void 0 ? UNUSED_SECTOR : _ref15$ssr,
612
- componentsLog = _ref15.componentsLog,
613
- viewport = _ref15.viewport;
614
- var lastUpdate = {};
615
- var totalPainted = 0;
616
- if (ssr !== UNUSED_SECTOR) {
617
- var _window$document;
618
- var element = {
619
- __debug__element: new WeakRef((_window$document = window.document) === null || _window$document === void 0 ? void 0 : _window$document.body),
620
- intersectionRect: {
621
- top: 0,
622
- left: 0,
623
- right: 0,
624
- bottom: 0,
625
- x: 0,
626
- y: 0,
627
- width: viewport.w,
628
- height: viewport.h,
629
- toJSON: function toJSON() {
630
- return {};
631
- }
632
- },
633
- targetName: 'SSR'
634
- };
635
- if (!componentsLog[ssr]) {
636
- componentsLog[ssr] = [];
648
+ }]);
649
+ }();
650
+ _VCObserver = VCObserver;
651
+ /** config * */
652
+ _defineProperty(VCObserver, "VCParts", ['25', '50', '75', '80', '85', '90', '95', '98', '99']);
653
+ _defineProperty(VCObserver, "calculateVC", withProfiling(function calculateVC(_ref15) {
654
+ var heatmap = _ref15.heatmap,
655
+ _ref15$ssr = _ref15.ssr,
656
+ ssr = _ref15$ssr === void 0 ? UNUSED_SECTOR : _ref15$ssr,
657
+ componentsLog = _ref15.componentsLog,
658
+ viewport = _ref15.viewport;
659
+ var lastUpdate = {};
660
+ var totalPainted = 0;
661
+ if (ssr !== UNUSED_SECTOR) {
662
+ var _window$document;
663
+ var element = {
664
+ __debug__element: new WeakRef((_window$document = window.document) === null || _window$document === void 0 ? void 0 : _window$document.body),
665
+ intersectionRect: {
666
+ top: 0,
667
+ left: 0,
668
+ right: 0,
669
+ bottom: 0,
670
+ x: 0,
671
+ y: 0,
672
+ width: viewport.w,
673
+ height: viewport.h,
674
+ toJSON: function toJSON() {
675
+ return {};
637
676
  }
638
- componentsLog[ssr].push(element);
677
+ },
678
+ targetName: 'SSR'
679
+ };
680
+ if (!componentsLog[ssr]) {
681
+ componentsLog[ssr] = [];
682
+ }
683
+ componentsLog[ssr].push(element);
684
+ }
685
+ heatmap.forEach(function (line) {
686
+ line.forEach(function (entry) {
687
+ var rounded = Math.floor(entry === UNUSED_SECTOR && ssr !== UNUSED_SECTOR ? ssr : entry);
688
+ totalPainted += rounded !== UNUSED_SECTOR ? 1 : 0;
689
+ if (rounded !== UNUSED_SECTOR) {
690
+ lastUpdate[rounded] = lastUpdate[rounded] ? lastUpdate[rounded] + 1 : 1;
639
691
  }
640
- heatmap.forEach(function (line) {
641
- line.forEach(function (entry) {
642
- var rounded = Math.floor(entry === UNUSED_SECTOR && ssr !== UNUSED_SECTOR ? ssr : entry);
643
- totalPainted += rounded !== UNUSED_SECTOR ? 1 : 0;
644
- if (rounded !== UNUSED_SECTOR) {
645
- lastUpdate[rounded] = lastUpdate[rounded] ? lastUpdate[rounded] + 1 : 1;
646
- }
647
- });
648
- });
649
- var entries = Object.entries(lastUpdate).map(function (a) {
650
- return [parseInt(a[0], 10), a[1]];
651
- }).sort(function (a, b) {
652
- return a[0] > b[0] ? 1 : -1;
653
- });
654
- var VC = VCObserver.makeVCReturnObj();
655
- var VCBox = VCObserver.makeVCReturnObj();
692
+ });
693
+ });
694
+ var entries = Object.entries(lastUpdate).map(function (a) {
695
+ return [parseInt(a[0], 10), a[1]];
696
+ }).sort(function (a, b) {
697
+ return a[0] > b[0] ? 1 : -1;
698
+ });
699
+ var VC = _VCObserver.makeVCReturnObj();
700
+ var VCBox = _VCObserver.makeVCReturnObj();
656
701
 
657
- // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
658
- var isCalcSpeedIndexEnabled = fg('ufo-calc-speed-index');
659
- var isFilterIgnoredItemsEnabled = fg('platform_ufo_vc_filter_ignored_items');
660
- entries.reduce(function () {
661
- var acc = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
662
- var v = arguments.length > 1 ? arguments[1] : undefined;
663
- var currRatio = v[1] / totalPainted;
664
- var VCRatio = currRatio + acc;
665
- if (fg('platform_ufo_fix_vc_observer_rounding_error')) {
666
- var preciseCurrRatio = Math.round(100 * (v[1] / totalPainted));
667
- var preciseAccRatio = Math.round(acc * 100);
668
- VCRatio = (preciseCurrRatio + preciseAccRatio) / 100;
669
- }
670
- var time = v[0];
671
- VCObserver.VCParts.forEach(function (key) {
672
- var value = parseInt(key, 10);
673
- if ((VC[key] === null || VC[key] === undefined) && VCRatio >= value / 100) {
674
- var _componentsLog$time, _componentsLog$time2;
675
- VC[key] = time;
676
- VCBox[key] = isFilterIgnoredItemsEnabled ? _toConsumableArray(new Set((_componentsLog$time = componentsLog[time]) === null || _componentsLog$time === void 0 ? void 0 : _componentsLog$time.filter(function (v) {
677
- return !v.ignoreReason;
678
- }).map(function (v) {
679
- return v.targetName;
680
- }))) : _toConsumableArray(new Set((_componentsLog$time2 = componentsLog[time]) === null || _componentsLog$time2 === void 0 ? void 0 : _componentsLog$time2.map(function (v) {
681
- return v.targetName;
682
- })));
683
- }
684
- });
685
- return VCRatio;
686
- }, 0);
687
- var VCEntries = entries.reduce(function (acc, _ref16, i) {
688
- var _acc$abs, _componentsLog$timest, _componentsLog$timest2, _acc$rel$vc, _acc$rel;
689
- var _ref17 = _slicedToArray(_ref16, 2),
690
- timestamp = _ref17[0],
691
- entryPainted = _ref17[1];
692
- var currentlyPainted = entryPainted + (((_acc$abs = acc.abs[i - 1]) === null || _acc$abs === void 0 ? void 0 : _acc$abs[1]) || 0);
693
- var currentlyPaintedRatio = Math.round(currentlyPainted / totalPainted * 1000) / 10;
694
- var logEntry = isFilterIgnoredItemsEnabled ? _toConsumableArray(new Set((_componentsLog$timest = componentsLog[timestamp]) === null || _componentsLog$timest === void 0 ? void 0 : _componentsLog$timest.filter(function (v) {
702
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
703
+ var isCalcSpeedIndexEnabled = fg('ufo-calc-speed-index');
704
+ var isFilterIgnoredItemsEnabled = fg('platform_ufo_vc_filter_ignored_items');
705
+ entries.reduce(function () {
706
+ var acc = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
707
+ var v = arguments.length > 1 ? arguments[1] : undefined;
708
+ var currRatio = v[1] / totalPainted;
709
+ var VCRatio = currRatio + acc;
710
+ var preciseCurrRatio = Math.round(100 * (v[1] / totalPainted));
711
+ var preciseAccRatio = Math.round(acc * 100);
712
+ VCRatio = (preciseCurrRatio + preciseAccRatio) / 100;
713
+ var time = v[0];
714
+ _VCObserver.VCParts.forEach(function (key) {
715
+ var value = parseInt(key, 10);
716
+ if ((VC[key] === null || VC[key] === undefined) && VCRatio >= value / 100) {
717
+ var _componentsLog$time, _componentsLog$time2;
718
+ VC[key] = time;
719
+ VCBox[key] = isFilterIgnoredItemsEnabled ? _toConsumableArray(new Set((_componentsLog$time = componentsLog[time]) === null || _componentsLog$time === void 0 ? void 0 : _componentsLog$time.filter(function (v) {
695
720
  return !v.ignoreReason;
696
721
  }).map(function (v) {
697
722
  return v.targetName;
698
- }))) : _toConsumableArray(new Set((_componentsLog$timest2 = componentsLog[timestamp]) === null || _componentsLog$timest2 === void 0 ? void 0 : _componentsLog$timest2.map(function (v) {
723
+ }))) : _toConsumableArray(new Set((_componentsLog$time2 = componentsLog[time]) === null || _componentsLog$time2 === void 0 ? void 0 : _componentsLog$time2.map(function (v) {
699
724
  return v.targetName;
700
725
  })));
701
- var ratioDelta = (currentlyPaintedRatio - ((_acc$rel$vc = (_acc$rel = acc.rel[i - 1]) === null || _acc$rel === void 0 ? void 0 : _acc$rel.vc) !== null && _acc$rel$vc !== void 0 ? _acc$rel$vc : 0)) / 100;
702
- if (isCalcSpeedIndexEnabled) {
703
- var speedIndex = timestamp * ratioDelta;
704
- acc.speedIndex += speedIndex;
705
- }
706
- acc.abs.push([timestamp, currentlyPainted]);
707
- acc.rel.push({
708
- time: timestamp,
709
- vc: currentlyPaintedRatio,
710
- elements: logEntry
711
- });
712
- return acc;
713
- }, {
714
- abs: [],
715
- rel: [],
716
- speedIndex: 0
717
- });
718
- VCEntries.speedIndex = Math.round(VCEntries.speedIndex);
719
- return {
720
- VC: VC,
721
- VCBox: VCBox,
722
- VCEntries: VCEntries,
723
- totalPainted: totalPainted
724
- };
726
+ }
727
+ });
728
+ return VCRatio;
729
+ }, 0);
730
+ var VCEntries = entries.reduce(function (acc, _ref16, i) {
731
+ var _acc$abs, _componentsLog$timest, _componentsLog$timest2, _acc$rel$vc, _acc$rel;
732
+ var _ref17 = _slicedToArray(_ref16, 2),
733
+ timestamp = _ref17[0],
734
+ entryPainted = _ref17[1];
735
+ var currentlyPainted = entryPainted + (((_acc$abs = acc.abs[i - 1]) === null || _acc$abs === void 0 ? void 0 : _acc$abs[1]) || 0);
736
+ var currentlyPaintedRatio = Math.round(currentlyPainted / totalPainted * 1000) / 10;
737
+ var logEntry = isFilterIgnoredItemsEnabled ? _toConsumableArray(new Set((_componentsLog$timest = componentsLog[timestamp]) === null || _componentsLog$timest === void 0 ? void 0 : _componentsLog$timest.filter(function (v) {
738
+ return !v.ignoreReason;
739
+ }).map(function (v) {
740
+ return v.targetName;
741
+ }))) : _toConsumableArray(new Set((_componentsLog$timest2 = componentsLog[timestamp]) === null || _componentsLog$timest2 === void 0 ? void 0 : _componentsLog$timest2.map(function (v) {
742
+ return v.targetName;
743
+ })));
744
+ var ratioDelta = (currentlyPaintedRatio - ((_acc$rel$vc = (_acc$rel = acc.rel[i - 1]) === null || _acc$rel === void 0 ? void 0 : _acc$rel.vc) !== null && _acc$rel$vc !== void 0 ? _acc$rel$vc : 0)) / 100;
745
+ if (isCalcSpeedIndexEnabled) {
746
+ var speedIndex = timestamp * ratioDelta;
747
+ acc.speedIndex += speedIndex;
725
748
  }
749
+ acc.abs.push([timestamp, currentlyPainted]);
750
+ acc.rel.push({
751
+ time: timestamp,
752
+ vc: currentlyPaintedRatio,
753
+ elements: logEntry
754
+ });
755
+ return acc;
726
756
  }, {
727
- key: "makeVCReturnObj",
728
- value: function makeVCReturnObj() {
729
- var vc = {};
730
- VCObserver.VCParts.forEach(function (v) {
731
- vc[v] = null;
732
- });
733
- return vc;
734
- }
735
- }]);
736
- }();
737
- /** config * */
738
- _defineProperty(VCObserver, "VCParts", ['25', '50', '75', '80', '85', '90', '95', '98', '99']);
757
+ abs: [],
758
+ rel: [],
759
+ speedIndex: 0
760
+ });
761
+ VCEntries.speedIndex = Math.round(VCEntries.speedIndex);
762
+ return {
763
+ VC: VC,
764
+ VCBox: VCBox,
765
+ VCEntries: VCEntries,
766
+ totalPainted: totalPainted
767
+ };
768
+ }, ['vc']));
769
+ _defineProperty(VCObserver, "makeVCReturnObj", withProfiling(function makeVCReturnObj() {
770
+ var vc = {};
771
+ _VCObserver.VCParts.forEach(function (v) {
772
+ vc[v] = null;
773
+ });
774
+ return vc;
775
+ }, ['vc']));
@@ -1,5 +1,6 @@
1
+ import { withProfiling } from '../../../self-measurements';
1
2
  import { MEDIA_WRAPPER_TAG } from './index';
2
- export var isContainedWithinMediaWrapper = function isContainedWithinMediaWrapper(node) {
3
+ export var isContainedWithinMediaWrapper = withProfiling(function isContainedWithinMediaWrapper(node) {
3
4
  while (node) {
4
5
  if (node instanceof Element && node.hasAttribute(MEDIA_WRAPPER_TAG)) {
5
6
  return true;
@@ -7,4 +8,4 @@ export var isContainedWithinMediaWrapper = function isContainedWithinMediaWrappe
7
8
  node = node.parentNode;
8
9
  }
9
10
  return false;
10
- };
11
+ });
@@ -1,6 +1,7 @@
1
1
  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
+ import { markProfilingEnd, markProfilingStart, withProfiling } from '../../../../self-measurements';
4
5
  var placeholderDataKey = 'editorLnvPlaceholder'; // data-editor-lnv-placeholder
5
6
  var replaceDataKey = 'editorLnvPlaceholderReplace'; // data-editor-lnv-placeholder-replace
6
7
 
@@ -66,11 +67,27 @@ export var EditorLnvHandler = /*#__PURE__*/function () {
66
67
  return;
67
68
  }
68
69
  });
70
+ var operationTimer = markProfilingStart('EditorLnvHandler constructor');
69
71
  this.intersectionObserver = new IntersectionObserver(function (entries) {
70
72
  return entries.filter(function (entry) {
71
73
  return entry.intersectionRatio > 0;
72
74
  }).forEach(_this.intersectionObserverCallback);
73
75
  });
76
+ this.shouldHandleAddedNode = withProfiling(this.shouldHandleAddedNode.bind(this), ['vc']);
77
+ this.handleAddedNode = withProfiling(this.handleAddedNode.bind(this), ['vc']);
78
+ this.clear = withProfiling(this.clear.bind(this), ['vc']);
79
+ this.handleAddedPlaceholderNode = withProfiling(this.handleAddedPlaceholderNode.bind(this), ['vc']);
80
+ this.handleAddedReplaceNode = withProfiling(this.handleAddedReplaceNode.bind(this), ['vc']);
81
+ this.isExistingPlaceholder = withProfiling(this.isExistingPlaceholder.bind(this), ['vc']);
82
+ this.registerPlaceholder = withProfiling(this.registerPlaceholder.bind(this), ['vc']);
83
+ this.getSize = withProfiling(this.getSize.bind(this), ['vc']);
84
+ this.isAddedPlaceholderMatchingSize = withProfiling(this.isAddedPlaceholderMatchingSize.bind(this), ['vc']);
85
+ this.isAddedReplaceMatchingSize = withProfiling(this.isAddedReplaceMatchingSize.bind(this), ['vc']);
86
+ this.areRectsSameSize = withProfiling(this.areRectsSameSize.bind(this), ['vc']);
87
+ this.intersectionObserverCallback = withProfiling(this.intersectionObserverCallback.bind(this), ['vc']);
88
+ markProfilingEnd(operationTimer, {
89
+ tags: ['vc']
90
+ });
74
91
  }
75
92
  return _createClass(EditorLnvHandler, [{
76
93
  key: "shouldHandleAddedNode",