@atlaskit/react-ufo 1.1.0 → 2.0.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 (486) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +5 -0
  3. package/additional-payload/package.json +15 -0
  4. package/bundle-eval-timing/package.json +15 -0
  5. package/coinflip/package.json +15 -0
  6. package/common/package.json +5 -5
  7. package/config/package.json +15 -0
  8. package/create-payload/package.json +15 -0
  9. package/create-post-interaction-log-payload/package.json +15 -0
  10. package/custom-data/package.json +15 -0
  11. package/custom-mark/package.json +15 -0
  12. package/custom-spans/package.json +15 -0
  13. package/custom-timings/package.json +15 -0
  14. package/dist/cjs/additional-payload/index.js +25 -0
  15. package/dist/cjs/additional-payload/utils/cache-hit-ratio/index.js +69 -0
  16. package/dist/cjs/additional-payload/utils/lighthouse-metrics/cls/index.js +53 -0
  17. package/dist/cjs/additional-payload/utils/lighthouse-metrics/const.js +10 -0
  18. package/dist/cjs/additional-payload/utils/lighthouse-metrics/index.js +29 -0
  19. package/dist/cjs/additional-payload/utils/lighthouse-metrics/tbt/index.js +25 -0
  20. package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +38 -0
  21. package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +37 -0
  22. package/dist/cjs/bundle-eval-timing/index.js +48 -0
  23. package/dist/cjs/coinflip/index.js +22 -0
  24. package/dist/cjs/common/common/types.js +5 -0
  25. package/dist/cjs/common/constants.js +7 -0
  26. package/dist/cjs/common/index.js +1 -0
  27. package/dist/cjs/common/vc/types.js +11 -0
  28. package/dist/cjs/config/index.js +222 -0
  29. package/dist/cjs/create-payload/common/types.js +1 -0
  30. package/dist/cjs/create-payload/common/utils/index.js +15 -0
  31. package/dist/cjs/create-payload/index.js +784 -0
  32. package/dist/cjs/create-post-interaction-log-payload/index.js +207 -0
  33. package/dist/cjs/custom-data/index.js +31 -0
  34. package/dist/cjs/custom-data/types.js +5 -0
  35. package/dist/cjs/custom-mark/index.js +45 -0
  36. package/dist/cjs/custom-spans/index.js +14 -0
  37. package/dist/cjs/custom-timings/index.js +65 -0
  38. package/dist/cjs/experience-trace-id-context/index.js +40 -0
  39. package/dist/cjs/experience-trace-id-context/types.js +1 -0
  40. package/dist/cjs/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +12 -0
  41. package/dist/cjs/feature-flags-accessed/common/constants.js +7 -0
  42. package/dist/cjs/feature-flags-accessed/common/types.js +5 -0
  43. package/dist/cjs/feature-flags-accessed/common/utils/index.js +38 -0
  44. package/dist/cjs/feature-flags-accessed/index.js +32 -0
  45. package/dist/cjs/generate-id/index.js +12 -0
  46. package/dist/cjs/global-error-handler/index.js +74 -0
  47. package/dist/cjs/hidden-timing/index.js +94 -0
  48. package/dist/cjs/initial-page-load-extra-timing/index.js +49 -0
  49. package/dist/cjs/interaction-context/index.js +14 -0
  50. package/dist/cjs/interaction-id-context/index.js +27 -0
  51. package/dist/cjs/interaction-metrics/common/constants.js +8 -0
  52. package/dist/cjs/interaction-metrics/index.js +810 -1
  53. package/dist/cjs/interaction-metrics/post-interaction-log.js +190 -0
  54. package/dist/cjs/interaction-metrics-init/index.js +89 -0
  55. package/dist/cjs/label/UFOLabel.js +45 -0
  56. package/dist/cjs/label/index.js +9 -0
  57. package/dist/cjs/load-hold/UFOLoadHold.js +76 -0
  58. package/dist/cjs/load-hold/index.js +9 -0
  59. package/dist/cjs/placeholder/Placeholder.js +34 -0
  60. package/dist/cjs/placeholder/index.js +9 -0
  61. package/dist/cjs/placeholder/loosely-lazy/index.js +19 -0
  62. package/dist/cjs/placeholder/loosely-lazy/lazy-suspense.js +80 -0
  63. package/dist/cjs/placeholder/loosely-lazy/types.js +5 -0
  64. package/dist/cjs/placeholder/loosely-lazy/wait-context.js +15 -0
  65. package/dist/cjs/resource-timing/common/types.js +1 -0
  66. package/dist/cjs/resource-timing/common/utils/config.js +70 -0
  67. package/dist/cjs/resource-timing/common/utils/resource-timing-buffer.js +111 -0
  68. package/dist/cjs/resource-timing/index.js +26 -0
  69. package/dist/cjs/resource-timing/main.js +141 -0
  70. package/dist/cjs/resource-timing/utils.js +10 -0
  71. package/dist/cjs/round-number/index.js +11 -0
  72. package/dist/cjs/route-name/index.js +12 -0
  73. package/dist/cjs/route-name-context/index.js +11 -0
  74. package/dist/cjs/segment/index.js +9 -0
  75. package/dist/cjs/segment/segment-highlight.js +40 -0
  76. package/dist/cjs/segment/segment.js +247 -0
  77. package/dist/cjs/set-interaction-error/index.js +17 -0
  78. package/dist/cjs/short-id/index.js +15 -0
  79. package/dist/cjs/ssr/index.js +70 -0
  80. package/dist/cjs/trace-interaction/index.js +48 -0
  81. package/dist/cjs/trace-pageload/index.js +58 -0
  82. package/dist/cjs/trace-press/index.js +34 -0
  83. package/dist/cjs/trace-redirect/index.js +17 -0
  84. package/dist/cjs/trace-transition/index.js +60 -0
  85. package/dist/cjs/trace-transition/utils/generate-span-id/index.js +11 -0
  86. package/dist/cjs/trace-transition/utils/set-interaction-active-trace/index.js +11 -0
  87. package/dist/cjs/typing-performance-tracing/index.js +262 -0
  88. package/dist/cjs/use-press-tracing/index.js +19 -0
  89. package/dist/cjs/vc/index.js +15 -0
  90. package/dist/cjs/vc/vc-observer/attachAbortListeners.js +40 -0
  91. package/dist/cjs/vc/vc-observer/getViewport.js +27 -0
  92. package/dist/cjs/vc/vc-observer/index.js +562 -0
  93. package/dist/cjs/vc/vc-observer/media-wrapper/index.js +15 -0
  94. package/dist/cjs/vc/vc-observer/media-wrapper/vc-utils.js +16 -0
  95. package/dist/cjs/vc/vc-observer/observers/index.js +270 -0
  96. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +183 -0
  97. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/bindAbortListeners.js +22 -0
  98. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.js +20 -0
  99. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/index.js +19 -0
  100. package/dist/cjs/vc/vc-observer/observers/types.js +5 -0
  101. package/dist/es2019/additional-payload/index.js +2 -0
  102. package/dist/es2019/additional-payload/utils/cache-hit-ratio/index.js +63 -0
  103. package/dist/es2019/additional-payload/utils/lighthouse-metrics/cls/index.js +33 -0
  104. package/dist/es2019/additional-payload/utils/lighthouse-metrics/const.js +4 -0
  105. package/dist/es2019/additional-payload/utils/lighthouse-metrics/index.js +23 -0
  106. package/dist/es2019/additional-payload/utils/lighthouse-metrics/tbt/index.js +15 -0
  107. package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +23 -0
  108. package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +31 -0
  109. package/dist/es2019/bundle-eval-timing/index.js +43 -0
  110. package/dist/es2019/coinflip/index.js +16 -0
  111. package/dist/es2019/common/common/types.js +1 -0
  112. package/dist/es2019/common/constants.js +1 -0
  113. package/dist/es2019/common/vc/types.js +5 -0
  114. package/dist/es2019/config/index.js +215 -0
  115. package/dist/es2019/create-payload/common/types.js +0 -0
  116. package/dist/es2019/create-payload/common/utils/index.js +8 -0
  117. package/dist/es2019/create-payload/index.js +792 -0
  118. package/dist/es2019/create-post-interaction-log-payload/index.js +188 -0
  119. package/dist/es2019/custom-data/index.js +24 -0
  120. package/dist/es2019/custom-data/types.js +1 -0
  121. package/dist/es2019/custom-mark/index.js +38 -0
  122. package/dist/es2019/custom-spans/index.js +6 -0
  123. package/dist/es2019/custom-timings/index.js +57 -0
  124. package/dist/es2019/experience-trace-id-context/index.js +31 -0
  125. package/dist/es2019/experience-trace-id-context/types.js +0 -0
  126. package/dist/es2019/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +4 -0
  127. package/dist/es2019/feature-flags-accessed/common/constants.js +1 -0
  128. package/dist/es2019/feature-flags-accessed/common/types.js +1 -0
  129. package/dist/es2019/feature-flags-accessed/common/utils/index.js +24 -0
  130. package/dist/es2019/feature-flags-accessed/index.js +21 -0
  131. package/dist/es2019/generate-id/index.js +6 -0
  132. package/dist/es2019/global-error-handler/index.js +64 -0
  133. package/dist/es2019/hidden-timing/index.js +87 -0
  134. package/dist/es2019/initial-page-load-extra-timing/index.js +43 -0
  135. package/dist/es2019/interaction-context/index.js +6 -0
  136. package/dist/es2019/interaction-id-context/index.js +18 -0
  137. package/dist/es2019/interaction-metrics/common/constants.js +2 -0
  138. package/dist/es2019/interaction-metrics/index.js +736 -0
  139. package/dist/es2019/interaction-metrics/post-interaction-log.js +158 -0
  140. package/dist/es2019/interaction-metrics-init/index.js +72 -0
  141. package/dist/es2019/label/UFOLabel.js +34 -0
  142. package/dist/es2019/label/index.js +2 -0
  143. package/dist/es2019/load-hold/UFOLoadHold.js +66 -0
  144. package/dist/es2019/load-hold/index.js +2 -0
  145. package/dist/es2019/placeholder/Placeholder.js +25 -0
  146. package/dist/es2019/placeholder/index.js +2 -0
  147. package/dist/es2019/placeholder/loosely-lazy/index.js +2 -0
  148. package/dist/es2019/placeholder/loosely-lazy/lazy-suspense.js +63 -0
  149. package/dist/es2019/placeholder/loosely-lazy/types.js +1 -0
  150. package/dist/es2019/placeholder/loosely-lazy/wait-context.js +5 -0
  151. package/dist/es2019/resource-timing/common/types.js +0 -0
  152. package/dist/es2019/resource-timing/common/utils/config.js +44 -0
  153. package/dist/es2019/resource-timing/common/utils/resource-timing-buffer.js +88 -0
  154. package/dist/es2019/resource-timing/index.js +3 -0
  155. package/dist/es2019/resource-timing/main.js +130 -0
  156. package/dist/es2019/resource-timing/utils.js +4 -0
  157. package/dist/es2019/round-number/index.js +4 -0
  158. package/dist/es2019/route-name/index.js +6 -0
  159. package/dist/es2019/route-name-context/index.js +5 -0
  160. package/dist/es2019/segment/index.js +2 -0
  161. package/dist/es2019/segment/segment-highlight.js +27 -0
  162. package/dist/es2019/segment/segment.js +218 -0
  163. package/dist/es2019/set-interaction-error/index.js +11 -0
  164. package/dist/es2019/short-id/index.js +8 -0
  165. package/dist/es2019/ssr/index.js +54 -0
  166. package/dist/es2019/trace-interaction/index.js +41 -0
  167. package/dist/es2019/trace-pageload/index.js +48 -0
  168. package/dist/es2019/trace-press/index.js +27 -0
  169. package/dist/es2019/trace-redirect/index.js +10 -0
  170. package/dist/es2019/trace-transition/index.js +48 -0
  171. package/dist/es2019/trace-transition/utils/generate-span-id/index.js +1 -0
  172. package/dist/es2019/trace-transition/utils/set-interaction-active-trace/index.js +5 -0
  173. package/dist/es2019/typing-performance-tracing/index.js +255 -0
  174. package/dist/es2019/use-press-tracing/index.js +12 -0
  175. package/dist/es2019/vc/index.js +8 -0
  176. package/dist/es2019/vc/vc-observer/attachAbortListeners.js +34 -0
  177. package/dist/es2019/vc/vc-observer/getViewport.js +18 -0
  178. package/dist/es2019/vc/vc-observer/index.js +522 -0
  179. package/dist/es2019/vc/vc-observer/media-wrapper/index.js +9 -0
  180. package/dist/es2019/vc/vc-observer/media-wrapper/vc-utils.js +10 -0
  181. package/dist/es2019/vc/vc-observer/observers/index.js +231 -0
  182. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +146 -0
  183. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/bindAbortListeners.js +16 -0
  184. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.js +14 -0
  185. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/index.js +2 -0
  186. package/dist/es2019/vc/vc-observer/observers/types.js +1 -0
  187. package/dist/esm/additional-payload/index.js +2 -0
  188. package/dist/esm/additional-payload/utils/cache-hit-ratio/index.js +63 -0
  189. package/dist/esm/additional-payload/utils/lighthouse-metrics/cls/index.js +47 -0
  190. package/dist/esm/additional-payload/utils/lighthouse-metrics/cls/types.js +0 -0
  191. package/dist/esm/additional-payload/utils/lighthouse-metrics/const.js +4 -0
  192. package/dist/esm/additional-payload/utils/lighthouse-metrics/index.js +22 -0
  193. package/dist/esm/additional-payload/utils/lighthouse-metrics/tbt/index.js +19 -0
  194. package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +31 -0
  195. package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +31 -0
  196. package/dist/esm/bundle-eval-timing/index.js +41 -0
  197. package/dist/esm/coinflip/index.js +16 -0
  198. package/dist/esm/common/common/types.js +1 -0
  199. package/dist/esm/common/constants.js +1 -0
  200. package/dist/esm/common/index.js +0 -0
  201. package/dist/esm/common/vc/types.js +5 -0
  202. package/dist/esm/config/index.js +206 -0
  203. package/dist/esm/create-payload/common/types.js +0 -0
  204. package/dist/esm/create-payload/common/utils/index.js +8 -0
  205. package/dist/esm/create-payload/index.js +774 -0
  206. package/dist/esm/create-post-interaction-log-payload/index.js +200 -0
  207. package/dist/esm/custom-data/index.js +23 -0
  208. package/dist/esm/custom-data/types.js +1 -0
  209. package/dist/esm/custom-mark/index.js +36 -0
  210. package/dist/esm/custom-spans/index.js +8 -0
  211. package/dist/esm/custom-timings/index.js +56 -0
  212. package/dist/esm/experience-trace-id-context/index.js +34 -0
  213. package/dist/esm/experience-trace-id-context/types.js +0 -0
  214. package/dist/esm/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +6 -0
  215. package/dist/esm/feature-flags-accessed/common/constants.js +1 -0
  216. package/dist/esm/feature-flags-accessed/common/types.js +1 -0
  217. package/dist/esm/feature-flags-accessed/common/utils/index.js +31 -0
  218. package/dist/esm/feature-flags-accessed/index.js +21 -0
  219. package/dist/esm/generate-id/index.js +6 -0
  220. package/dist/esm/global-error-handler/index.js +67 -0
  221. package/dist/esm/hidden-timing/index.js +87 -0
  222. package/dist/esm/initial-page-load-extra-timing/index.js +42 -0
  223. package/dist/esm/interaction-context/index.js +6 -0
  224. package/dist/esm/interaction-id-context/index.js +22 -0
  225. package/dist/esm/interaction-metrics/common/constants.js +2 -0
  226. package/dist/esm/interaction-metrics/index.js +773 -0
  227. package/dist/esm/interaction-metrics/post-interaction-log.js +184 -0
  228. package/dist/esm/interaction-metrics-init/index.js +77 -0
  229. package/dist/esm/label/UFOLabel.js +36 -0
  230. package/dist/esm/label/index.js +2 -0
  231. package/dist/esm/load-hold/UFOLoadHold.js +66 -0
  232. package/dist/esm/load-hold/index.js +2 -0
  233. package/dist/esm/placeholder/Placeholder.js +25 -0
  234. package/dist/esm/placeholder/index.js +2 -0
  235. package/dist/esm/placeholder/loosely-lazy/index.js +2 -0
  236. package/dist/esm/placeholder/loosely-lazy/lazy-suspense.js +70 -0
  237. package/dist/esm/placeholder/loosely-lazy/types.js +1 -0
  238. package/dist/esm/placeholder/loosely-lazy/wait-context.js +9 -0
  239. package/dist/esm/resource-timing/common/types.js +0 -0
  240. package/dist/esm/resource-timing/common/utils/config.js +62 -0
  241. package/dist/esm/resource-timing/common/utils/resource-timing-buffer.js +104 -0
  242. package/dist/esm/resource-timing/index.js +3 -0
  243. package/dist/esm/resource-timing/main.js +134 -0
  244. package/dist/esm/resource-timing/utils.js +4 -0
  245. package/dist/esm/round-number/index.js +5 -0
  246. package/dist/esm/route-name/index.js +6 -0
  247. package/dist/esm/route-name-context/index.js +5 -0
  248. package/dist/esm/segment/index.js +2 -0
  249. package/dist/esm/segment/segment-highlight.js +30 -0
  250. package/dist/esm/segment/segment.js +235 -0
  251. package/dist/esm/set-interaction-error/index.js +11 -0
  252. package/dist/esm/short-id/index.js +9 -0
  253. package/dist/esm/ssr/index.js +59 -0
  254. package/dist/esm/trace-interaction/index.js +41 -0
  255. package/dist/esm/trace-pageload/index.js +50 -0
  256. package/dist/esm/trace-press/index.js +27 -0
  257. package/dist/esm/trace-redirect/index.js +10 -0
  258. package/dist/esm/trace-transition/index.js +49 -0
  259. package/dist/esm/trace-transition/utils/generate-span-id/index.js +5 -0
  260. package/dist/esm/trace-transition/utils/set-interaction-active-trace/index.js +5 -0
  261. package/dist/esm/typing-performance-tracing/index.js +255 -0
  262. package/dist/esm/use-press-tracing/index.js +12 -0
  263. package/dist/esm/vc/index.js +9 -0
  264. package/dist/esm/vc/vc-observer/attachAbortListeners.js +34 -0
  265. package/dist/esm/vc/vc-observer/getViewport.js +20 -0
  266. package/dist/esm/vc/vc-observer/index.js +555 -0
  267. package/dist/esm/vc/vc-observer/media-wrapper/index.js +7 -0
  268. package/dist/esm/vc/vc-observer/media-wrapper/vc-utils.js +10 -0
  269. package/dist/esm/vc/vc-observer/observers/index.js +263 -0
  270. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +176 -0
  271. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/bindAbortListeners.js +16 -0
  272. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.js +14 -0
  273. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/index.js +2 -0
  274. package/dist/esm/vc/vc-observer/observers/types.js +1 -0
  275. package/dist/types/additional-payload/index.d.ts +2 -0
  276. package/dist/types/additional-payload/utils/cache-hit-ratio/index.d.ts +8 -0
  277. package/dist/types/additional-payload/utils/lighthouse-metrics/cls/index.d.ts +2 -0
  278. package/dist/types/additional-payload/utils/lighthouse-metrics/cls/types.d.ts +3 -0
  279. package/dist/types/additional-payload/utils/lighthouse-metrics/const.d.ts +5 -0
  280. package/dist/types/additional-payload/utils/lighthouse-metrics/index.d.ts +7 -0
  281. package/dist/types/additional-payload/utils/lighthouse-metrics/tbt/index.d.ts +5 -0
  282. package/dist/types/additional-payload/utils/lighthouse-metrics/utils/buffer/index.d.ts +13 -0
  283. package/dist/types/additional-payload/utils/lighthouse-metrics/utils/observer/index.d.ts +2 -0
  284. package/dist/types/bundle-eval-timing/index.d.ts +16 -0
  285. package/dist/types/coinflip/index.d.ts +8 -0
  286. package/dist/types/common/common/types.d.ts +201 -0
  287. package/dist/types/common/constants.d.ts +1 -0
  288. package/dist/types/common/index.d.ts +5 -0
  289. package/dist/types/common/vc/types.d.ts +91 -0
  290. package/dist/types/config/index.d.ts +91 -0
  291. package/dist/types/create-payload/common/types.d.ts +4 -0
  292. package/dist/types/create-payload/common/utils/index.d.ts +3 -0
  293. package/dist/types/create-payload/index.d.ts +2969 -0
  294. package/dist/types/create-post-interaction-log-payload/index.d.ts +45 -0
  295. package/dist/types/custom-data/index.d.ts +5 -0
  296. package/dist/types/custom-data/types.d.ts +4 -0
  297. package/dist/types/custom-mark/index.d.ts +10 -0
  298. package/dist/types/custom-spans/index.d.ts +1 -0
  299. package/dist/types/custom-timings/index.d.ts +19 -0
  300. package/dist/types/experience-trace-id-context/index.d.ts +10 -0
  301. package/dist/types/experience-trace-id-context/types.d.ts +8 -0
  302. package/dist/types/experience-trace-id-context/utils/make-trace-http-request-headers/index.d.ts +4 -0
  303. package/dist/types/feature-flags-accessed/common/constants.d.ts +1 -0
  304. package/dist/types/feature-flags-accessed/common/types.d.ts +2 -0
  305. package/dist/types/feature-flags-accessed/common/utils/index.d.ts +3 -0
  306. package/dist/types/feature-flags-accessed/index.d.ts +14 -0
  307. package/dist/types/generate-id/index.d.ts +2 -0
  308. package/dist/types/global-error-handler/index.d.ts +3 -0
  309. package/dist/types/hidden-timing/index.d.ts +7 -0
  310. package/dist/types/initial-page-load-extra-timing/index.d.ts +9 -0
  311. package/dist/types/interaction-context/index.d.ts +33 -0
  312. package/dist/types/interaction-id-context/index.d.ts +9 -0
  313. package/dist/types/interaction-metrics/common/constants.d.ts +3 -0
  314. package/dist/types/interaction-metrics/index.d.ts +65 -1
  315. package/dist/types/interaction-metrics/post-interaction-log.d.ts +69 -0
  316. package/dist/types/interaction-metrics-init/index.d.ts +11 -0
  317. package/dist/types/label/UFOLabel.d.ts +13 -0
  318. package/dist/types/label/index.d.ts +2 -0
  319. package/dist/types/load-hold/UFOLoadHold.d.ts +53 -0
  320. package/dist/types/load-hold/index.d.ts +2 -0
  321. package/dist/types/placeholder/Placeholder.d.ts +13 -0
  322. package/dist/types/placeholder/index.d.ts +2 -0
  323. package/dist/types/placeholder/loosely-lazy/index.d.ts +3 -0
  324. package/dist/types/placeholder/loosely-lazy/lazy-suspense.d.ts +6 -0
  325. package/dist/types/placeholder/loosely-lazy/types.d.ts +20 -0
  326. package/dist/types/placeholder/loosely-lazy/wait-context.d.ts +3 -0
  327. package/dist/types/resource-timing/common/types.d.ts +41 -0
  328. package/dist/types/resource-timing/common/utils/config.d.ts +3 -0
  329. package/dist/types/resource-timing/common/utils/resource-timing-buffer.d.ts +11 -0
  330. package/dist/types/resource-timing/index.d.ts +4 -0
  331. package/dist/types/resource-timing/main.d.ts +2 -0
  332. package/dist/types/resource-timing/utils.d.ts +1 -0
  333. package/dist/types/round-number/index.d.ts +1 -0
  334. package/dist/types/route-name/index.d.ts +4 -0
  335. package/dist/types/route-name-context/index.d.ts +5 -0
  336. package/dist/types/segment/index.d.ts +2 -0
  337. package/dist/types/segment/segment-highlight.d.ts +6 -0
  338. package/dist/types/segment/segment.d.ts +8 -0
  339. package/dist/types/set-interaction-error/index.d.ts +4 -0
  340. package/dist/types/short-id/index.d.ts +1 -0
  341. package/dist/types/ssr/index.d.ts +21 -0
  342. package/dist/types/trace-interaction/index.d.ts +2 -0
  343. package/dist/types/trace-pageload/index.d.ts +2 -0
  344. package/dist/types/trace-press/index.d.ts +1 -0
  345. package/dist/types/trace-redirect/index.d.ts +1 -0
  346. package/dist/types/trace-transition/index.d.ts +2 -0
  347. package/dist/types/trace-transition/utils/generate-span-id/index.d.ts +1 -0
  348. package/dist/types/trace-transition/utils/set-interaction-active-trace/index.d.ts +1 -0
  349. package/dist/types/typing-performance-tracing/index.d.ts +2 -0
  350. package/dist/types/use-press-tracing/index.d.ts +1 -0
  351. package/dist/types/vc/index.d.ts +2 -0
  352. package/dist/types/vc/vc-observer/attachAbortListeners.d.ts +6 -0
  353. package/dist/types/vc/vc-observer/getViewport.d.ts +2 -0
  354. package/dist/types/vc/vc-observer/index.d.ts +98 -0
  355. package/dist/types/vc/vc-observer/media-wrapper/index.d.ts +7 -0
  356. package/dist/types/vc/vc-observer/media-wrapper/vc-utils.d.ts +1 -0
  357. package/dist/types/vc/vc-observer/observers/index.d.ts +39 -0
  358. package/dist/types/vc/vc-observer/observers/ssr-placeholders/index.d.ts +23 -0
  359. package/dist/types/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/bindAbortListeners.d.ts +1 -0
  360. package/dist/types/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.d.ts +1 -0
  361. package/dist/types/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/index.d.ts +2 -0
  362. package/dist/types/vc/vc-observer/observers/types.d.ts +11 -0
  363. package/dist/types-ts4.5/additional-payload/index.d.ts +2 -0
  364. package/dist/types-ts4.5/additional-payload/utils/cache-hit-ratio/index.d.ts +8 -0
  365. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/cls/index.d.ts +2 -0
  366. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/cls/types.d.ts +3 -0
  367. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/const.d.ts +5 -0
  368. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/index.d.ts +7 -0
  369. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/tbt/index.d.ts +5 -0
  370. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/utils/buffer/index.d.ts +13 -0
  371. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/utils/observer/index.d.ts +2 -0
  372. package/dist/types-ts4.5/bundle-eval-timing/index.d.ts +16 -0
  373. package/dist/types-ts4.5/coinflip/index.d.ts +8 -0
  374. package/dist/types-ts4.5/common/common/types.d.ts +201 -0
  375. package/dist/types-ts4.5/common/constants.d.ts +1 -0
  376. package/dist/types-ts4.5/common/index.d.ts +5 -0
  377. package/dist/types-ts4.5/common/vc/types.d.ts +91 -0
  378. package/dist/types-ts4.5/config/index.d.ts +95 -0
  379. package/dist/types-ts4.5/create-payload/common/types.d.ts +4 -0
  380. package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +3 -0
  381. package/dist/types-ts4.5/create-payload/index.d.ts +2969 -0
  382. package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +45 -0
  383. package/dist/types-ts4.5/custom-data/index.d.ts +5 -0
  384. package/dist/types-ts4.5/custom-data/types.d.ts +4 -0
  385. package/dist/types-ts4.5/custom-mark/index.d.ts +10 -0
  386. package/dist/types-ts4.5/custom-spans/index.d.ts +1 -0
  387. package/dist/types-ts4.5/custom-timings/index.d.ts +19 -0
  388. package/dist/types-ts4.5/experience-trace-id-context/index.d.ts +10 -0
  389. package/dist/types-ts4.5/experience-trace-id-context/types.d.ts +8 -0
  390. package/dist/types-ts4.5/experience-trace-id-context/utils/make-trace-http-request-headers/index.d.ts +4 -0
  391. package/dist/types-ts4.5/feature-flags-accessed/common/constants.d.ts +1 -0
  392. package/dist/types-ts4.5/feature-flags-accessed/common/types.d.ts +2 -0
  393. package/dist/types-ts4.5/feature-flags-accessed/common/utils/index.d.ts +3 -0
  394. package/dist/types-ts4.5/feature-flags-accessed/index.d.ts +14 -0
  395. package/dist/types-ts4.5/generate-id/index.d.ts +2 -0
  396. package/dist/types-ts4.5/global-error-handler/index.d.ts +3 -0
  397. package/dist/types-ts4.5/hidden-timing/index.d.ts +7 -0
  398. package/dist/types-ts4.5/initial-page-load-extra-timing/index.d.ts +9 -0
  399. package/dist/types-ts4.5/interaction-context/index.d.ts +33 -0
  400. package/dist/types-ts4.5/interaction-id-context/index.d.ts +9 -0
  401. package/dist/types-ts4.5/interaction-metrics/common/constants.d.ts +3 -0
  402. package/dist/types-ts4.5/interaction-metrics/index.d.ts +65 -1
  403. package/dist/types-ts4.5/interaction-metrics/post-interaction-log.d.ts +69 -0
  404. package/dist/types-ts4.5/interaction-metrics-init/index.d.ts +11 -0
  405. package/dist/types-ts4.5/label/UFOLabel.d.ts +13 -0
  406. package/dist/types-ts4.5/label/index.d.ts +2 -0
  407. package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +53 -0
  408. package/dist/types-ts4.5/load-hold/index.d.ts +2 -0
  409. package/dist/types-ts4.5/placeholder/Placeholder.d.ts +13 -0
  410. package/dist/types-ts4.5/placeholder/index.d.ts +2 -0
  411. package/dist/types-ts4.5/placeholder/loosely-lazy/index.d.ts +3 -0
  412. package/dist/types-ts4.5/placeholder/loosely-lazy/lazy-suspense.d.ts +6 -0
  413. package/dist/types-ts4.5/placeholder/loosely-lazy/types.d.ts +20 -0
  414. package/dist/types-ts4.5/placeholder/loosely-lazy/wait-context.d.ts +3 -0
  415. package/dist/types-ts4.5/resource-timing/common/types.d.ts +41 -0
  416. package/dist/types-ts4.5/resource-timing/common/utils/config.d.ts +3 -0
  417. package/dist/types-ts4.5/resource-timing/common/utils/resource-timing-buffer.d.ts +11 -0
  418. package/dist/types-ts4.5/resource-timing/index.d.ts +4 -0
  419. package/dist/types-ts4.5/resource-timing/main.d.ts +2 -0
  420. package/dist/types-ts4.5/resource-timing/utils.d.ts +1 -0
  421. package/dist/types-ts4.5/round-number/index.d.ts +1 -0
  422. package/dist/types-ts4.5/route-name/index.d.ts +4 -0
  423. package/dist/types-ts4.5/route-name-context/index.d.ts +5 -0
  424. package/dist/types-ts4.5/segment/index.d.ts +2 -0
  425. package/dist/types-ts4.5/segment/segment-highlight.d.ts +6 -0
  426. package/dist/types-ts4.5/segment/segment.d.ts +8 -0
  427. package/dist/types-ts4.5/set-interaction-error/index.d.ts +4 -0
  428. package/dist/types-ts4.5/short-id/index.d.ts +1 -0
  429. package/dist/types-ts4.5/ssr/index.d.ts +21 -0
  430. package/dist/types-ts4.5/trace-interaction/index.d.ts +2 -0
  431. package/dist/types-ts4.5/trace-pageload/index.d.ts +2 -0
  432. package/dist/types-ts4.5/trace-press/index.d.ts +1 -0
  433. package/dist/types-ts4.5/trace-redirect/index.d.ts +1 -0
  434. package/dist/types-ts4.5/trace-transition/index.d.ts +2 -0
  435. package/dist/types-ts4.5/trace-transition/utils/generate-span-id/index.d.ts +1 -0
  436. package/dist/types-ts4.5/trace-transition/utils/set-interaction-active-trace/index.d.ts +1 -0
  437. package/dist/types-ts4.5/typing-performance-tracing/index.d.ts +2 -0
  438. package/dist/types-ts4.5/use-press-tracing/index.d.ts +1 -0
  439. package/dist/types-ts4.5/vc/index.d.ts +2 -0
  440. package/dist/types-ts4.5/vc/vc-observer/attachAbortListeners.d.ts +6 -0
  441. package/dist/types-ts4.5/vc/vc-observer/getViewport.d.ts +2 -0
  442. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +98 -0
  443. package/dist/types-ts4.5/vc/vc-observer/media-wrapper/index.d.ts +7 -0
  444. package/dist/types-ts4.5/vc/vc-observer/media-wrapper/vc-utils.d.ts +1 -0
  445. package/dist/types-ts4.5/vc/vc-observer/observers/index.d.ts +39 -0
  446. package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/index.d.ts +23 -0
  447. package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/bindAbortListeners.d.ts +1 -0
  448. package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.d.ts +1 -0
  449. package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/index.d.ts +2 -0
  450. package/dist/types-ts4.5/vc/vc-observer/observers/types.d.ts +11 -0
  451. package/experience-trace-id-context/package.json +15 -0
  452. package/feature-flags-accessed/package.json +15 -0
  453. package/generate-id/package.json +15 -0
  454. package/global-error-handler/package.json +15 -0
  455. package/hidden-timing/package.json +15 -0
  456. package/initial-page-load-extra-timing/package.json +15 -0
  457. package/interaction-context/package.json +15 -0
  458. package/interaction-id-context/package.json +15 -0
  459. package/interaction-metrics-init/package.json +15 -0
  460. package/label/package.json +15 -0
  461. package/load-hold/package.json +15 -0
  462. package/package.json +55 -3
  463. package/placeholder/package.json +15 -0
  464. package/resource-timing/package.json +15 -0
  465. package/round-number/package.json +15 -0
  466. package/route-name/package.json +15 -0
  467. package/route-name-context/package.json +15 -0
  468. package/segment/package.json +15 -0
  469. package/set-interaction-error/package.json +15 -0
  470. package/short-id/package.json +15 -0
  471. package/ssr/package.json +15 -0
  472. package/ssr-scripts/package.json +15 -0
  473. package/trace-interaction/package.json +15 -0
  474. package/trace-pageload/package.json +15 -0
  475. package/trace-press/package.json +15 -0
  476. package/trace-redirect/package.json +15 -0
  477. package/trace-transition/package.json +15 -0
  478. package/typing-performance-tracing/package.json +15 -0
  479. package/use-press-tracing/package.json +15 -0
  480. package/vc/media/package.json +15 -0
  481. package/vc/package.json +15 -0
  482. package/dist/types/common/types.d.ts +0 -17
  483. package/dist/types-ts4.5/common/types.d.ts +0 -17
  484. /package/dist/cjs/{common → additional-payload/utils/lighthouse-metrics/cls}/types.js +0 -0
  485. /package/dist/es2019/{common → additional-payload/utils/lighthouse-metrics/cls}/types.js +0 -0
  486. /package/dist/{esm/common/types.js → es2019/common/index.js} +0 -0
@@ -0,0 +1,21 @@
1
+ export type FeatureFlagValue = boolean | string | number | Record<any, any>;
2
+ export type ReportedTiming = {
3
+ startTime: number;
4
+ duration: number;
5
+ };
6
+ export type ReportedTimings = {
7
+ [key: string]: ReportedTiming;
8
+ };
9
+ export type SSRFeatureFlags = {
10
+ [key: string]: FeatureFlagValue;
11
+ };
12
+ export type SSRConfig = {
13
+ getDoneMark: () => number | null;
14
+ getFeatureFlags: () => SSRFeatureFlags | null;
15
+ getTimings?: () => ReportedTimings | null;
16
+ };
17
+ export declare function configure(ssrConfig: SSRConfig): void;
18
+ export declare function getSSRTimings(): ReportedTimings;
19
+ export declare function getSSRSuccess(): boolean;
20
+ export declare function getSSRDoneTime(): number | undefined;
21
+ export declare function getSSRFeatureFlags(): SSRFeatureFlags | undefined;
@@ -0,0 +1,2 @@
1
+ import type { UIEvent } from 'react';
2
+ export default function traceUFOInteraction(name: string, event: UIEvent): void;
@@ -0,0 +1,2 @@
1
+ export default function traceUFOPageLoad(ufoName?: string | null | undefined, routeName?: string | null | undefined): void;
2
+ export declare function updatePageloadName(ufoName: string, routeName?: string | null | undefined): void;
@@ -0,0 +1 @@
1
+ export default function traceUFOPress(name: string, timestamp?: number): void;
@@ -0,0 +1 @@
1
+ export default function traceUFORedirect(fromUfoName: string, nextUfoName: string, nextRouteName: string, time: number): void;
@@ -0,0 +1,2 @@
1
+ export default function traceUFOTransition(ufoName: string | null | undefined, routeName?: string | null | undefined): void;
2
+ export declare function useUFOTransitionCompleter(): void;
@@ -0,0 +1 @@
1
+ export declare const generateSpanId: () => string;
@@ -0,0 +1 @@
1
+ export declare const setInteractionActiveTrace: (newId: string) => void;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export default function useUFOTypingPerformanceTracing<T extends HTMLElement>(name: string): import("react").RefObject<T>;
@@ -0,0 +1 @@
1
+ export default function usePressTracing(name: string): (timeStamp?: number) => void;
@@ -0,0 +1,2 @@
1
+ import { VCObserver, type VCObserverOptions } from './vc-observer';
2
+ export declare const getVCObserver: (opts?: VCObserverOptions) => VCObserver;
@@ -0,0 +1,6 @@
1
+ import { type UnbindFn } from 'bind-event-listener';
2
+ import { AbortEvent } from '../../common/vc/types';
3
+ export declare const attachAbortListeners: (window: Window, initialViewPort: {
4
+ w: number;
5
+ h: number;
6
+ }, callback: (key: keyof typeof AbortEvent, time: number) => void) => UnbindFn[];
@@ -0,0 +1,2 @@
1
+ export declare function getViewportWidth(document?: Document): number;
2
+ export declare function getViewportHeight(document?: Document): number;
@@ -0,0 +1,98 @@
1
+ import { type UnbindFn } from 'bind-event-listener';
2
+ import type { ComponentsLogType, VCAbortReasonType, VCEntryType, VCIgnoreReason, VCRatioType, VCRawDataType, VCResult } from '../../common/vc/types';
3
+ import { Observers, type SelectorConfig } from './observers';
4
+ type GetVCResultType = {
5
+ start: number;
6
+ stop: number;
7
+ tti: number;
8
+ prefix?: string;
9
+ ssr?: number;
10
+ vc?: VCRawDataType | null;
11
+ };
12
+ export type VCObserverOptions = {
13
+ heatmapSize?: number | undefined;
14
+ oldDomUpdates?: boolean | undefined;
15
+ devToolsEnabled?: boolean | undefined;
16
+ selectorConfig?: SelectorConfig | undefined;
17
+ isPostInteraction?: boolean;
18
+ };
19
+ export declare class VCObserver {
20
+ abortReason: VCAbortReasonType;
21
+ outOfBoundaryInfo: string;
22
+ /** config * */
23
+ static VCParts: string[];
24
+ viewport: {
25
+ w: number;
26
+ h: number;
27
+ };
28
+ arraySize: number;
29
+ heatmap: number[][];
30
+ ssrInclusiveHeatmap: number[][];
31
+ componentsLog: ComponentsLogType;
32
+ vcRatios: VCRatioType;
33
+ active: boolean;
34
+ totalTime: number;
35
+ startTime: number;
36
+ observers: Observers;
37
+ private _startMeasureTimestamp;
38
+ ssr: {
39
+ reactRendered: number;
40
+ };
41
+ devToolsEnabled: boolean;
42
+ oldDomUpdatesEnabled: boolean;
43
+ unbind: UnbindFn[];
44
+ isPostInteraction?: boolean;
45
+ constructor(options: VCObserverOptions);
46
+ start({ startTime }: {
47
+ startTime: number;
48
+ }): void;
49
+ stop(): void;
50
+ getAbortReasonInfo: () => string | null;
51
+ getVCRawData: () => VCRawDataType | null;
52
+ getIgnoredElements(componentsLog: ComponentsLogType): {
53
+ targetName: string;
54
+ ignoreReason: VCIgnoreReason | undefined;
55
+ }[];
56
+ getVCResult: ({ start, stop, tti, prefix, ssr, vc }: GetVCResultType) => VCResult;
57
+ static calculateVC({ heatmap, ssr, componentsLog, viewport, }: {
58
+ heatmap: number[][];
59
+ ssr?: number;
60
+ componentsLog: ComponentsLogType;
61
+ viewport: {
62
+ w: number;
63
+ h: number;
64
+ };
65
+ }): {
66
+ VC: {
67
+ [key: string]: number | null;
68
+ };
69
+ VCBox: {
70
+ [key: string]: string[] | null;
71
+ };
72
+ VCEntries: {
73
+ abs: number[][];
74
+ rel: VCEntryType[];
75
+ };
76
+ totalPainted: number;
77
+ };
78
+ setSSRElement(element: HTMLElement): void;
79
+ setReactRootRenderStart(startTime?: number): void;
80
+ setReactRootRenderStop(stopTime?: number): void;
81
+ private handleUpdate;
82
+ private setAbortReason;
83
+ private resetState;
84
+ private getCleanHeatmap;
85
+ private setViewportSize;
86
+ private mapPixelsToHeatmap;
87
+ private getElementRatio;
88
+ private applyChangesToHeatMap;
89
+ static makeVCReturnObj<T>(): {
90
+ [key: string]: T | null;
91
+ };
92
+ private abortReasonCallback;
93
+ private attachAbortListeners;
94
+ private detachAbortListeners;
95
+ private measureStart;
96
+ private measureStop;
97
+ }
98
+ export {};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ children: React.ReactNode;
4
+ };
5
+ export declare const MEDIA_WRAPPER_TAG = "data-media-vc-wrapper";
6
+ export default function MediaWrapper({ children }: Props): JSX.Element;
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare const isContainedWithinMediaWrapper: (node: Node | null) => boolean;
@@ -0,0 +1,39 @@
1
+ import type { BrowserObservers, Callback } from './types';
2
+ export type SelectorConfig = {
3
+ id: boolean;
4
+ testId: boolean;
5
+ role: boolean;
6
+ className: boolean;
7
+ dataVC?: boolean;
8
+ };
9
+ type ConstructorOptions = {
10
+ selectorConfig: SelectorConfig;
11
+ };
12
+ export declare class Observers implements BrowserObservers {
13
+ private intersectionObserver;
14
+ private mutationObserver;
15
+ private observedMutations;
16
+ private elementsInView;
17
+ private callbacks;
18
+ private totalTime;
19
+ private _startMeasureTimestamp;
20
+ private ssrPlaceholderHandler;
21
+ private ssr;
22
+ private selectorConfig;
23
+ constructor(opts: ConstructorOptions);
24
+ isBrowserSupported(): boolean;
25
+ observe(): void;
26
+ disconnect(): void;
27
+ subscribeResults: (cb: Callback) => void;
28
+ getTotalTime(): number;
29
+ setReactRootElement(element: HTMLElement): void;
30
+ setReactRootRenderStart(startTime?: number): void;
31
+ setReactRootRenderStop(stopTime?: number): void;
32
+ private observeElement;
33
+ private getMutationObserver;
34
+ private getElementName;
35
+ private getIntersectionObserver;
36
+ private measureStart;
37
+ private measureStop;
38
+ }
39
+ export {};
@@ -0,0 +1,23 @@
1
+ export declare class SSRPlaceholderHandlers {
2
+ private staticPlaceholders;
3
+ private callbacks;
4
+ private getSizeCallbacks;
5
+ private reactValidateCallbacks;
6
+ private intersectionObserver;
7
+ constructor();
8
+ clear(): void;
9
+ isPlaceholder(element: HTMLElement): boolean;
10
+ isPlaceholderReplacement(element: HTMLElement): boolean;
11
+ isPlaceholderIgnored(element: HTMLElement): boolean;
12
+ findNearestPlaceholderContainerIfIgnored(element: HTMLElement): HTMLElement;
13
+ checkIfExistedAndSizeMatching(el: HTMLElement): Promise<unknown>;
14
+ getSize(el: HTMLElement): Promise<unknown>;
15
+ validateReactComponentMatchToPlaceholder(el: HTMLElement): Promise<unknown>;
16
+ hasSameSizePosition(rect: {
17
+ x: number;
18
+ y: number;
19
+ width: number;
20
+ height: number;
21
+ } | undefined, boundingClientRect: DOMRectReadOnly): boolean;
22
+ intersectionObserverCallback: ({ target, boundingClientRect }: IntersectionObserverEntry) => void;
23
+ }
@@ -0,0 +1 @@
1
+ export declare function bindAbortListeners(document: Document, window: Window): void;
@@ -0,0 +1 @@
1
+ export declare function collectSSRPlaceholderDimensions(document: Document, window: Window): void;
@@ -0,0 +1,2 @@
1
+ export { collectSSRPlaceholderDimensions } from './collectSSRPlaceholderDimensions';
2
+ export { bindAbortListeners } from './bindAbortListeners';
@@ -0,0 +1,11 @@
1
+ import { type VCIgnoreReason } from '../../../common/vc/types';
2
+ export type Callback = (time: number, box: DOMRectReadOnly, targetName: string, node: HTMLElement, ignoreReason?: VCIgnoreReason) => void;
3
+ export type MutationRecordWithTimestamp = MutationRecord & {
4
+ timestamp?: number;
5
+ };
6
+ export interface BrowserObservers {
7
+ observe: () => void;
8
+ disconnect: () => void;
9
+ subscribeResults: (cb: Callback) => void;
10
+ getTotalTime: () => number;
11
+ }
@@ -0,0 +1,2 @@
1
+ export { startLighthouseObserver, getLighthouseMetrics } from './utils/lighthouse-metrics';
2
+ export { getCacheHitRatio } from './utils/cache-hit-ratio';
@@ -0,0 +1,8 @@
1
+ type CacheHitRatio = {
2
+ cacheHitRatio?: number;
3
+ preloadCacheHitRatio?: number;
4
+ };
5
+ export declare const getCacheHitRatio: ({ start }: {
6
+ start: number;
7
+ }) => CacheHitRatio;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { PerformanceEntryBuffer } from '../utils/buffer';
2
+ export declare const getCLS: (start: number, stop: number, buffer: PerformanceEntryBuffer) => number;
@@ -0,0 +1,3 @@
1
+ export interface LayoutShiftPerformanceEntry extends PerformanceEntry {
2
+ value: number;
3
+ }
@@ -0,0 +1,5 @@
1
+ export declare const PerformanceObserverEntryTypes: {
2
+ readonly LayoutShift: "layout-shift";
3
+ readonly LongTask: "longtask";
4
+ };
5
+ export type PerformanceObserverEntryTypes = (typeof PerformanceObserverEntryTypes)[keyof typeof PerformanceObserverEntryTypes];
@@ -0,0 +1,7 @@
1
+ export declare function startLighthouseObserver(): void;
2
+ export declare const getLighthouseMetrics: ({ start, stop, }: {
3
+ start: number;
4
+ stop: number;
5
+ }) => {
6
+ [key: string]: number;
7
+ };
@@ -0,0 +1,5 @@
1
+ import type { PerformanceEntryBuffer } from '../utils/buffer';
2
+ export declare const getTBT: (start: number, stop: number, buffer: PerformanceEntryBuffer) => {
3
+ total: number;
4
+ observed: number;
5
+ };
@@ -0,0 +1,13 @@
1
+ export declare class BufferWithMaxLength<T> {
2
+ buffer: Array<T>;
3
+ maxLength: number;
4
+ full: boolean;
5
+ constructor(maxLength?: number);
6
+ push(item: T): void;
7
+ getAll(): T[];
8
+ }
9
+ export type EntriesBufferType = {
10
+ [key: string]: BufferWithMaxLength<PerformanceEntry>;
11
+ };
12
+ export type PerformanceEntryBuffer = BufferWithMaxLength<PerformanceEntry>;
13
+ export declare const EntriesBuffer: EntriesBufferType;
@@ -0,0 +1,2 @@
1
+ export declare const startLSObserver: () => void;
2
+ export declare const startLTObserver: () => void;
@@ -0,0 +1,16 @@
1
+ type MappedPerformanceMark = {
2
+ type: 'start' | 'end';
3
+ name: string;
4
+ };
5
+ export type BundleEvalTimingsConfig = {
6
+ mapPerformanceMark: (mark: string) => MappedPerformanceMark | null;
7
+ };
8
+ type ReportedTimings = {
9
+ [key: string]: {
10
+ startTime: number;
11
+ duration: number;
12
+ };
13
+ };
14
+ export declare function configure(bundleEvalTimingConfiguration: BundleEvalTimingsConfig): void;
15
+ export declare function getBundleEvalTimings(interactionStartTime: number): ReportedTimings;
16
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A random function that passes one in rate times.
3
+ * E.g. coinflip(2) is the same as if you flipped a coin.
4
+ * It will pass 50% of the time
5
+ * @param rate The change that it will pass (1 in <rate> times)
6
+ * @returns bool, if it passes or not
7
+ */
8
+ export default function coinflip(rate: number): boolean;
@@ -0,0 +1,201 @@
1
+ import type { TraceIdContext } from '../../experience-trace-id-context';
2
+ import type { LabelStack, UFOInteractionContextType } from '../../interaction-context';
3
+ import { type VCRawDataType, type VCResult } from '../vc/types';
4
+ export type LifecycleMarkType = 'render' | 'beforePaint' | 'afterPaint' | 'nextTick' | 'mount' | 'commit';
5
+ export type MarkType = ('placeholder' | 'bm3_stop' | 'bundle_preload' | 'custom') | LifecycleMarkType;
6
+ export type SpanType = 'placeholder' | 'relay' | 'hidden_timing' | 'bundle_load' | 'graphql' | 'fetch' | 'reducer' | 'custom';
7
+ export type InteractionType = 'page_load' | 'press' | 'typing' | 'transition' | 'segment';
8
+ export type AbortReasonType = 'new_interaction' | 'unload' | 'transition' | 'timeout' | 'excluded_by_sampling';
9
+ export interface ReactProfilerTiming {
10
+ type: 'mount' | 'update' | 'nested-update';
11
+ actualDuration: number;
12
+ baseDuration: number;
13
+ startTime: number;
14
+ commitTime: number;
15
+ labelStack: LabelStack;
16
+ }
17
+ export interface Span {
18
+ type: SpanType;
19
+ name: string;
20
+ labelStack: LabelStack | null;
21
+ start: number;
22
+ end: number;
23
+ size?: number;
24
+ }
25
+ export interface Mark {
26
+ type: MarkType;
27
+ name: string;
28
+ labelStack: LabelStack | null;
29
+ time: number;
30
+ }
31
+ export interface InteractionError {
32
+ name: string;
33
+ labelStack: LabelStack | null;
34
+ errorType: string;
35
+ errorMessage: string;
36
+ errorStack?: string;
37
+ forcedError?: boolean;
38
+ }
39
+ interface FlushInfo {
40
+ label?: string;
41
+ size: number;
42
+ time: number;
43
+ }
44
+ export interface RequestInfo {
45
+ name: string;
46
+ start: number;
47
+ flushes: FlushInfo[];
48
+ networkStart?: number;
49
+ networkComplete?: number;
50
+ fetchStart?: number;
51
+ end?: number;
52
+ size?: number;
53
+ error?: Error;
54
+ }
55
+ type FeatureFlagValue = boolean | string | number | Record<any, any> | 'non_boolean';
56
+ export interface ApdexType {
57
+ key: string;
58
+ startTime?: number;
59
+ stopTime: number;
60
+ labelStack?: LabelStack;
61
+ }
62
+ export interface SegmentInfo {
63
+ labelStack: LabelStack;
64
+ }
65
+ export interface CustomData {
66
+ [key: string]: null | undefined | string | number | boolean | undefined | CustomData | Record<string, CustomData>;
67
+ }
68
+ export type CustomTiming = Record<string, {
69
+ startTime: number;
70
+ endTime: number;
71
+ }>;
72
+ export interface HoldActive {
73
+ labelStack: LabelStack;
74
+ name: string;
75
+ start: number;
76
+ ignoreOnSubmit?: boolean;
77
+ }
78
+ export type HoldInfo = HoldActive & {
79
+ end: number;
80
+ };
81
+ export interface Redirect {
82
+ fromInteractionName: string;
83
+ time: number;
84
+ }
85
+ export interface InteractionMetrics {
86
+ id: string;
87
+ start: number;
88
+ end: number;
89
+ ufoName: string;
90
+ previousInteractionName?: string;
91
+ isPreviousInteractionAborted: boolean;
92
+ type: InteractionType;
93
+ marks: Mark[];
94
+ customData: {
95
+ labelStack: LabelStack;
96
+ data: CustomData;
97
+ }[];
98
+ customTimings: {
99
+ labelStack: LabelStack;
100
+ data: CustomTiming;
101
+ }[];
102
+ spans: Span[];
103
+ requestInfo: (RequestInfo & {
104
+ labelStack: LabelStack;
105
+ })[];
106
+ holdInfo: HoldInfo[];
107
+ holdActive: Map<string, HoldActive>;
108
+ reactProfilerTimings: ReactProfilerTiming[];
109
+ measureStart: number;
110
+ rate: number;
111
+ cancelCallbacks: (() => void)[];
112
+ cleanupCallbacks: (() => void)[];
113
+ metaData: Record<string, unknown>;
114
+ errors: InteractionError[];
115
+ abortReason?: AbortReasonType;
116
+ abortedByInteractionName?: string;
117
+ /**
118
+ * Apdex is legacy performance measurement where it is
119
+ * capturing TTI at arbitrary point in the code (bm3/UFOv1)
120
+ *
121
+ * We are intercepting its values now just so we can use it for
122
+ * topline metric, but should encourage teams adopt TTAI
123
+ *
124
+ * This field might be ignored/dropped in the future.
125
+ */
126
+ apdex: ApdexType[];
127
+ /**
128
+ * LabelStack is a stack of labels that are used to identify the
129
+ * breadcrumb of segments of the current interaction.
130
+ * For example, it could look something like:
131
+ * ```
132
+ * [
133
+ * { name: 'product', segmentId: 'xxx' },
134
+ * { name: 'issue-navigator', segmentId: 'xxx' },
135
+ * { name: 'ui', segmentId: 'xxx' }
136
+ * ]
137
+ * ```
138
+ */
139
+ labelStack: LabelStack | null;
140
+ routeName: string | null;
141
+ featureFlags?: {
142
+ prior: Record<string, FeatureFlagValue>;
143
+ during: Record<string, FeatureFlagValue>;
144
+ };
145
+ knownSegments: SegmentInfo[];
146
+ awaitReactProfilerCount: number;
147
+ redirects: Redirect[];
148
+ timerID: ReturnType<typeof setInterval> | undefined;
149
+ changeTimeout: (newTime: number) => void;
150
+ trace: TraceIdContext | null;
151
+ legacyMetrics?: BM3Event[];
152
+ vc?: VCRawDataType | null;
153
+ }
154
+ export type LoadProfilerEventInfo = {
155
+ identifier: string;
156
+ };
157
+ export interface RelayMetricsRecorder {
158
+ retainQuery(info: RequestInfo): void;
159
+ }
160
+ export interface LazyLoadProfilerContext {
161
+ addPreload(moduleId: string, timestamp: number): void;
162
+ addLoad(identifier: string, start: number, end: number): void;
163
+ }
164
+ export interface EnhancedUFOInteractionContextType extends UFOInteractionContextType, RelayMetricsRecorder, LazyLoadProfilerContext {
165
+ _internalHold(labelStack: LabelStack, name: string): void | (() => void);
166
+ _internalHoldByID(labelStack: LabelStack, id: string, name: string, remove: boolean): void | (() => void);
167
+ addHoldByID(labelStack: LabelStack, id: string, name?: string): void;
168
+ removeHoldByID(labelStack: LabelStack, id: string, name?: string): void;
169
+ onRender: (phase: 'mount' | 'update' | 'nested-update', actualDuration: number, baseDuration: number, startTime: number, commitTime: number) => void;
170
+ complete(endTime?: number): void;
171
+ }
172
+ export type BM3Event = {
173
+ key: string;
174
+ custom: any;
175
+ config: {
176
+ timings?: {
177
+ key: string;
178
+ startMark?: string;
179
+ endMark?: string;
180
+ component?: string;
181
+ }[];
182
+ type: string;
183
+ reactUFOName?: string;
184
+ };
185
+ start: number | null;
186
+ stop: number | null;
187
+ marks?: {
188
+ [key: string]: number;
189
+ };
190
+ submetrics?: BM3Event[];
191
+ pageVisibleState?: string;
192
+ type: string;
193
+ };
194
+ export type LastInteractionFinishInfo = Pick<InteractionMetrics, 'ufoName' | 'start' | 'end' | 'id' | 'abortReason' | 'abortedByInteractionName' | 'routeName' | 'type'>;
195
+ export type PostInteractionLogOutput = {
196
+ lastInteractionFinish: LastInteractionFinishInfo;
197
+ reactProfilerTimings?: ReactProfilerTiming[];
198
+ postInteractionFinishVCResult?: VCResult;
199
+ lastInteractionFinishVCResult?: VCResult;
200
+ };
201
+ export {};
@@ -0,0 +1 @@
1
+ export declare const REACT_UFO_VERSION = "1.0.1";
@@ -0,0 +1,5 @@
1
+ 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';
2
+ /**
3
+ * @deprecated Prefer import from @atlaskit/react-ufo/interaction-context
4
+ */
5
+ export type { Label, SegmentLabel, LabelStack } from '../interaction-context';
@@ -0,0 +1,91 @@
1
+ import type { UnbindFn } from 'bind-event-listener';
2
+ export declare const AbortEvent: {
3
+ readonly wheel: "wheel";
4
+ readonly keydown: "keydown";
5
+ readonly resize: "resize";
6
+ };
7
+ export type VCAbortReason = 'scroll' | 'keypress' | 'resize' | 'error' | 'not-supported';
8
+ export type VCAbortReasonType = {
9
+ reason: null | VCAbortReason;
10
+ info: string;
11
+ timestamp: number;
12
+ blocking: boolean;
13
+ };
14
+ export type VCRatioType = {
15
+ [elementName: string]: number;
16
+ };
17
+ export type VCRawDataType = {
18
+ abortReasonInfo: string | null;
19
+ abortReason: VCAbortReasonType;
20
+ heatmap: number[][];
21
+ oldHeatmap: number[][];
22
+ outOfBoundaryInfo: string;
23
+ totalTime: number;
24
+ componentsLog: ComponentsLogType;
25
+ viewport: {
26
+ w: number;
27
+ h: number;
28
+ };
29
+ oldDomUpdatesEnabled: boolean;
30
+ devToolsEnabled: boolean;
31
+ ratios: VCRatioType;
32
+ };
33
+ export type VCEntryType = {
34
+ time: number;
35
+ vc: number;
36
+ elements: string[];
37
+ };
38
+ export type VCIgnoreReason = 'image' | 'ssr-hydration' | '';
39
+ export type ComponentsLogEntry = {
40
+ targetName: string;
41
+ __debug__element: WeakRef<Element> | null;
42
+ intersectionRect: DOMRectReadOnly;
43
+ ignoreReason?: VCIgnoreReason;
44
+ };
45
+ export type VCIgnoredElement = Pick<ComponentsLogEntry, 'targetName' | 'ignoreReason'>;
46
+ export type VCResult = {
47
+ [key: string]: boolean | number | string | null | VCEntryType[] | VCIgnoredElement[] | {
48
+ w: number;
49
+ h: number;
50
+ } | {
51
+ [key: string]: boolean | number | string[] | null | VCEntryType[];
52
+ };
53
+ };
54
+ export type MetricsDevToolsTypes = {
55
+ '75': number | null;
56
+ '80': number | null;
57
+ '85': number | null;
58
+ '90': number | null;
59
+ '95': number | null;
60
+ '98': number | null;
61
+ '99': number | null;
62
+ tti: number;
63
+ ttai: number;
64
+ };
65
+ export type ExperimentalVCDevToolsOptions = {
66
+ enableLog?: boolean;
67
+ };
68
+ export type ComponentsLogType = {
69
+ [timestamp: number]: ComponentsLogEntry[];
70
+ };
71
+ declare global {
72
+ interface Window {
73
+ __vc?: {
74
+ entries: VCEntryType[];
75
+ log: ComponentsLogType;
76
+ metrics: MetricsDevToolsTypes;
77
+ heatmap: number[][];
78
+ ratios: VCRatioType;
79
+ };
80
+ __vcNotAvailableReason?: string;
81
+ __SSR_PLACEHOLDERS_DIMENSIONS__?: {
82
+ [key: string]: DOMRectReadOnly;
83
+ };
84
+ __SSR_ABORT_LISTENERS__?: {
85
+ unbinds: UnbindFn[];
86
+ aborts: {
87
+ [key in keyof typeof AbortEvent]?: number;
88
+ };
89
+ };
90
+ }
91
+ }