@atlaskit/react-ufo 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/CHANGELOG.md +24 -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,45 @@
1
+ import { type PostInteractionLogOutput } from '../common';
2
+ export default function createPostInteractionLogPayload({ lastInteractionFinish, reactProfilerTimings, lastInteractionFinishVCResult, postInteractionFinishVCResult, }: PostInteractionLogOutput): {
3
+ actionSubject: string;
4
+ action: string;
5
+ eventType: string;
6
+ source: string;
7
+ tags: string[];
8
+ attributes: {
9
+ properties: {
10
+ 'event:hostname': string;
11
+ 'event:product': string;
12
+ 'event:schema': string;
13
+ 'event:source': {
14
+ name: string;
15
+ version: string;
16
+ payloadSource: string;
17
+ };
18
+ 'event:region': string;
19
+ 'experience:key': string;
20
+ postInteractionLog: {
21
+ lastInteractionFinish: {
22
+ ufoName: string;
23
+ start: number;
24
+ end: number;
25
+ ttai: number;
26
+ vc90: number | null;
27
+ type: import("../common").InteractionType;
28
+ id: string;
29
+ abortReason?: import("../common").AbortReasonType | undefined;
30
+ abortedByInteractionName?: string | undefined;
31
+ routeName: string | null;
32
+ };
33
+ revisedEndTime: number;
34
+ revisedTtai: number;
35
+ revisedVC90: number | null;
36
+ lateMutations: {
37
+ time: number;
38
+ element: string;
39
+ viewportHeatmapPercentage: number;
40
+ }[];
41
+ reactProfilerTimings: any[];
42
+ };
43
+ };
44
+ };
45
+ } | null;
@@ -0,0 +1,5 @@
1
+ import { type CustomData } from '../interaction-metrics';
2
+ import type { UFOCustomDataProps } from './types';
3
+ export type { UFOCustomDataProps } from './types';
4
+ export default function UFOCustomData({ data }: UFOCustomDataProps): null;
5
+ export declare function addUFOCustomData(data: CustomData): void;
@@ -0,0 +1,4 @@
1
+ import type { CustomData } from '../interaction-metrics';
2
+ export type UFOCustomDataProps = {
3
+ data: CustomData;
4
+ };
@@ -0,0 +1,10 @@
1
+ export default function UFOCustomMark({ name, timestamp }: {
2
+ name: string;
3
+ timestamp?: number;
4
+ }): null;
5
+ export declare function UFOCustomMarks({ data }: {
6
+ data: {
7
+ [key: string]: number;
8
+ } | undefined;
9
+ }): null;
10
+ export declare function addUFOCustomMark(name: string, timestamp?: number): void;
@@ -0,0 +1 @@
1
+ export declare function addCustomSpans(name: string, start: number, end?: number, size?: number): void;
@@ -0,0 +1,19 @@
1
+ export type BM3Marks = {
2
+ [key: string]: number;
3
+ };
4
+ export type BM3TimingsConfig = {
5
+ key: string;
6
+ startMark?: string;
7
+ endMark?: string;
8
+ };
9
+ export declare function getBm3Timings(marks?: BM3Marks, timingConfigs?: BM3TimingsConfig[]): {
10
+ [key: string]: {
11
+ startTime: number;
12
+ endTime: number;
13
+ };
14
+ };
15
+ export declare function UFOBM3TimingsToUFO({ marks, timings, }: {
16
+ marks?: BM3Marks;
17
+ timings?: BM3TimingsConfig[];
18
+ }): null;
19
+ export declare function addBM3TimingsToUFO(marks?: BM3Marks, timingsConfig?: BM3TimingsConfig[]): void;
@@ -0,0 +1,10 @@
1
+ export type { TraceIdContext } from './types';
2
+ export declare const generateSpanId: () => string;
3
+ export declare const setInteractionActiveTrace: (interactionId: string, experienceType: string) => void;
4
+ export declare const setActiveTrace: (traceId: string, spanId: string, type: string) => void;
5
+ export declare const getActiveTrace: () => import("./types").TraceIdContext | undefined;
6
+ export declare const clearActiveTrace: () => void;
7
+ export declare const getActiveTraceHttpRequestHeaders: (_url: string) => {
8
+ 'X-B3-TraceId': string;
9
+ 'X-B3-SpanId': string;
10
+ } | null;
@@ -0,0 +1,8 @@
1
+ export type TraceIdContext = {
2
+ traceId: string;
3
+ spanId: string;
4
+ type: string;
5
+ };
6
+ export type TraceIdContextStateType = {
7
+ context: TraceIdContext | null;
8
+ };
@@ -0,0 +1,4 @@
1
+ export declare const makeTraceHttpRequestHeaders: (traceId: string, spanId: string) => {
2
+ 'X-B3-TraceId': string;
3
+ 'X-B3-SpanId': string;
4
+ };
@@ -0,0 +1 @@
1
+ export declare const NON_BOOLEAN_VALUE = "non_boolean";
@@ -0,0 +1,2 @@
1
+ import type { NON_BOOLEAN_VALUE } from './constants';
2
+ export type FeatureFlagValue = boolean | string | number | Record<any, any> | typeof NON_BOOLEAN_VALUE;
@@ -0,0 +1,3 @@
1
+ import type { FeatureFlagValue } from '../types';
2
+ export declare const shouldRedactValue: (value: any) => boolean;
3
+ export declare const redactValue: (featureFlagValue: FeatureFlagValue) => FeatureFlagValue;
@@ -0,0 +1,14 @@
1
+ import type { FeatureFlagValue } from './common/types';
2
+ export { redactValue } from './common/utils';
3
+ export type { FeatureFlagValue } from './common/types';
4
+ declare global {
5
+ var __CRITERION__: {
6
+ addFeatureFlagAccessed?: (flagName: string, flagValue: FeatureFlagValue) => void;
7
+ };
8
+ }
9
+ export declare const allFeatureFlagsAccessed: Map<string, FeatureFlagValue>;
10
+ export declare const currentFeatureFlagsAccessed: Map<string, FeatureFlagValue>;
11
+ /**
12
+ * Used for tracking accessed feature flags in "@atlassian/jira-feature-flagging".
13
+ * */
14
+ export declare const addFeatureFlagAccessed: (featureFlagName: string, featureFlagValue: FeatureFlagValue) => void;
@@ -0,0 +1,2 @@
1
+ /** Get a new string id each time it's called */
2
+ export default function generateId(): string;
@@ -0,0 +1,3 @@
1
+ export declare const sinkErrorHandler: (sinkFunc: (name: string, labelStack: null, errorType: string, errorMessage: string, errorStack?: string) => void) => void;
2
+ declare const setupUFOGlobalErrorHandler: () => void;
3
+ export default setupUFOGlobalErrorHandler;
@@ -0,0 +1,7 @@
1
+ export type HiddenTimingItem = {
2
+ time: number;
3
+ hidden: boolean;
4
+ };
5
+ export type PageVisibility = 'hidden' | 'mixed' | 'visible';
6
+ export declare function setupHiddenTimingCapture(): void;
7
+ export declare function getPageVisibilityState(start: number, end: number): PageVisibility;
@@ -0,0 +1,9 @@
1
+ export type ReportedTiming = {
2
+ startTime: number;
3
+ duration: number;
4
+ };
5
+ export type ReportedTimings = {
6
+ [key: string]: ReportedTiming;
7
+ };
8
+ export declare function addTimingFromPerformanceMark(name: string, startMark: string, stopMark: string, cleanStart?: boolean, cleanStop?: boolean): void;
9
+ export declare function getTimings(): ReportedTimings;
@@ -0,0 +1,33 @@
1
+ import { type Context } from 'react';
2
+ import { type InteractionContextType } from '@atlaskit/interaction-context';
3
+ export type CustomData = {
4
+ [key: string]: null | undefined | string | number | boolean | undefined | CustomData;
5
+ };
6
+ export type CustomTiming = {
7
+ [key: string]: {
8
+ startTime: number;
9
+ endTime: number;
10
+ };
11
+ };
12
+ export type Label = Readonly<{
13
+ name: string;
14
+ }>;
15
+ export type SegmentLabel = Readonly<{
16
+ name: string;
17
+ segmentId: string;
18
+ }>;
19
+ export type LabelStack = ReadonlyArray<Label | SegmentLabel>;
20
+ export interface UFOInteractionContextType extends InteractionContextType {
21
+ labelStack: LabelStack;
22
+ addMark(name: string, timestamp?: number): void;
23
+ addCustomData(customData: CustomData): void;
24
+ addCustomTimings(customTimings: CustomTiming): void;
25
+ addApdex(apdexInfo: {
26
+ key: string;
27
+ startTime?: number;
28
+ stopTime: number;
29
+ }): void;
30
+ }
31
+ declare const _default: Context<UFOInteractionContextType | null>;
32
+ export default _default;
33
+ export declare function useInteractionContext(): UFOInteractionContextType | null;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export type InteractionIDContextType = {
3
+ current: string | null;
4
+ };
5
+ export declare const DefaultInteractionID: InteractionIDContextType;
6
+ declare const _default: import("react").Context<InteractionIDContextType>;
7
+ export default _default;
8
+ export declare const getInteractionId: () => InteractionIDContextType;
9
+ export declare const useInteractionId: () => InteractionIDContextType;
@@ -0,0 +1,3 @@
1
+ import type { InteractionMetrics } from '../../common';
2
+ declare const interactions: Map<string, InteractionMetrics>;
3
+ export default interactions;
@@ -1,3 +1,67 @@
1
- import { type LabelStack, type Span } from '../common/types';
1
+ import type { AbortReasonType, ApdexType, BM3Event, CustomData, CustomTiming, InteractionError, InteractionMetrics, InteractionType, LifecycleMarkType, LoadProfilerEventInfo, Mark, MarkType, PostInteractionLogOutput, ReactProfilerTiming, RequestInfo, Span, SpanType } from '../common';
2
+ import { type TraceIdContext } from '../experience-trace-id-context';
3
+ import { type FeatureFlagValue } from '../feature-flags-accessed';
4
+ import type { LabelStack } from '../interaction-context';
5
+ import PostInteractionLog from './post-interaction-log';
6
+ export type { InteractionMetrics, LifecycleMarkType, Span, Mark, MarkType, InteractionType, AbortReasonType, ReactProfilerTiming, RequestInfo, ApdexType, CustomData, CustomTiming, InteractionError, };
7
+ export declare const postInteractionLog: PostInteractionLog;
8
+ export declare function getActiveInteraction(): InteractionMetrics | undefined;
9
+ export declare function remove(interactionId: string): void;
10
+ export declare function updatePageLoadInteractionName(ufoName: string, routeName?: string | null | undefined): void;
11
+ export declare function addMetadata(interactionId: string, data: Record<string, unknown>): void;
12
+ export declare function addCustomData(interactionId: string, labelStack: LabelStack, data: CustomData): void;
13
+ export declare function addCustomTiming(interactionId: string, labelStack: LabelStack, data: CustomTiming): void;
14
+ export declare function addMark(interactionId: string, type: MarkType, name: string, labelStack: LabelStack | null, time?: number): void;
15
+ export declare function addMarkToAll(type: MarkType, name: string, labelStack: LabelStack | null, time?: number): void;
16
+ export declare function addSpan(interactionId: string, type: SpanType, name: string, labelStack: LabelStack | null, start: number, end?: number, size?: number): void;
17
+ export declare function addSpanToAll(type: SpanType, name: string, labelStack: LabelStack | null, start: number, end?: number, size?: number): void;
18
+ export declare function addPreload(moduleId: string, timestamp: number): void;
19
+ export declare function addLoad(identifier: string, start: number, end: number): void;
20
+ export declare function extractModuleName(input: string): string;
21
+ export declare function addHold(interactionId: string, labelStack: LabelStack, name: string): () => void;
22
+ export declare function addHoldByID(interactionId: string, labelStack: LabelStack, name: string, id: string, ignoreOnSubmit?: boolean): () => void;
23
+ export declare function removeHoldByID(interactionId: string, id: string): void;
24
+ export declare function getCurrentInteractionType(interactionId: string): InteractionType | null;
25
+ export declare const ModuleLoadingProfiler: {
26
+ onPreload(moduleId: string, _priority?: number): void;
27
+ onLoadStart(info: LoadProfilerEventInfo): void;
28
+ onLoadComplete(info: LoadProfilerEventInfo): void;
29
+ placeholderFallBackMounted(id: string, moduleId: string): void;
30
+ placeholderFallBackUnmounted(id: string): void;
31
+ };
32
+ export declare function addError(interactionId: string, name: string, labelStack: LabelStack | null, errorType: string, errorMessage: string, errorStack?: string, forcedError?: boolean): void;
33
+ export declare function addErrorToAll(name: string, labelStack: LabelStack | null, errorType: string, errorMessage: string, errorStack?: string): void;
34
+ export declare const addProfilerTimings: (interactionId: string, labelStack: LabelStack, type: 'mount' | 'update' | 'nested-update', actualDuration: number, baseDuration: number, startTime: number, commitTime: number) => void;
35
+ export declare const sinkInteractionHandler: (sinkFn: (id: string, data: InteractionMetrics) => void) => void;
36
+ export declare const sinkPostInteractionLogHandler: (sinkFn: (output: PostInteractionLogOutput) => void | Promise<void>) => void;
37
+ export declare function tryComplete(interactionId: string, endTime?: number): void;
38
+ export declare function abort(interactionId: string, abortReason: AbortReasonType): void;
39
+ export declare function abortByNewInteraction(interactionId: string, interactionName: string): void;
40
+ export declare function abortAll(abortReason: AbortReasonType, abortedByInteractionName?: string): void;
41
+ export declare function addOnCancelCallback(id: string, cancelCallback: () => void): void;
42
+ export declare function addNewInteraction(interactionId: string, ufoName: string, type: InteractionType, startTime: number, rate: number, labelStack: LabelStack | null, routeName?: string | null, trace?: TraceIdContext | null): void;
43
+ export declare function addBrowserMetricEvent(event: BM3Event): void;
44
+ export declare function addApdexToAll(apdex: ApdexType): void;
45
+ export declare function addApdex(interactionId: string, apdexInfo: {
46
+ key: string;
47
+ stopTime: number;
48
+ startTime?: number;
49
+ labelStack?: LabelStack;
50
+ }): void;
51
+ export declare function addRequestInfo(interactionId: string, labelStack: LabelStack, requestInfo: RequestInfo): void;
52
+ export declare function addSegment(labelStack: LabelStack): void;
53
+ export declare function removeSegment(labelStack: LabelStack): void;
54
+ export declare function addRedirect(interactionId: string, fromUfoName: string, nextUfoName: string, nextRouteName: string, time: number): void;
55
+ declare global {
56
+ interface Window {
57
+ __REACT_UFO_ENABLE_PERF_TRACING?: boolean;
58
+ __UFO_COMPACT_PAYLOAD__?: boolean;
59
+ __CRITERION__?: {
60
+ addFeatureFlagAccessed?: (flagName: string, flagValue: FeatureFlagValue) => void;
61
+ addUFOHold?: (id: string, name: string, labelStack: string, startTime: number) => void;
62
+ removeUFOHold?: (id: string) => void;
63
+ };
64
+ }
65
+ }
2
66
  export declare const interactionSpans: Span[];
3
67
  export declare function addCustomSpans(name: string, start: number, end?: number, size?: number, labelStack?: LabelStack): void;
@@ -0,0 +1,69 @@
1
+ import { type LastInteractionFinishInfo, type PostInteractionLogOutput, type ReactProfilerTiming } from '../common/common/types';
2
+ import type { VCResult } from '../common/vc/types';
3
+ import type { LabelStack } from '../interaction-context';
4
+ import { VCObserver, type VCObserverOptions } from '../vc/vc-observer';
5
+ export default class PostInteractionLog {
6
+ /**
7
+ * Basic info about interaction that has just finished
8
+ */
9
+ lastInteractionFinish: LastInteractionFinishInfo | null;
10
+ /**
11
+ * Array of observed react render timings
12
+ */
13
+ reactProfilerTimings: ReactProfilerTiming[];
14
+ /**
15
+ * Store the scheduled sink timeout Id so that it can be cancelled when needed
16
+ */
17
+ sinkTimeoutId: number | null;
18
+ /**
19
+ * independent VC observer, that observes until `custom.post-interaction-logs` event is sent
20
+ */
21
+ vcObserver: VCObserver | null;
22
+ vcObserverSSRConfig: {
23
+ ssr: number | undefined;
24
+ } | null;
25
+ lastInteractionFinishVCResult?: VCResult;
26
+ initializeVCObserver(options: VCObserverOptions): void;
27
+ startVCObserver({ startTime }: {
28
+ startTime: number;
29
+ }): void;
30
+ setVCObserverSSRConfig(vcObserverSSRConfig: {
31
+ ssr: number | undefined;
32
+ } | null): void;
33
+ /**
34
+ * Set the VC result as per the last interaction
35
+ * Used to compare diffs of VC updates vs post interaction VC observer
36
+ * @param result - VC result as calculated by UFO create payload
37
+ */
38
+ setLastInteractionFinishVCResult(result: VCResult): void;
39
+ /**
40
+ * Handler function to process / send the observation data
41
+ */
42
+ sinkHandlerFn: (output: PostInteractionLogOutput) => void | Promise<void>;
43
+ /**
44
+ * Set the fn that would be invoked to process / send the observation data
45
+ */
46
+ sinkHandler(sinkHandlerFn: (output: PostInteractionLogOutput) => void | Promise<void>): void;
47
+ /**
48
+ * Reset state of the log
49
+ */
50
+ reset(): void;
51
+ /**
52
+ * Check if there is data in the log
53
+ */
54
+ hasData(): boolean;
55
+ /**
56
+ * Send the log if there is data
57
+ */
58
+ sendPostInteractionLog(): void;
59
+ /**
60
+ * This fn should be invoked when an interaction has finished
61
+ * Basic details about the finished interaction will be recorded
62
+ * A timeout will be setup to send the post interaction observation after some time.
63
+ */
64
+ onInteractionComplete({ ufoName, start, end, id, abortReason, abortedByInteractionName, routeName, type, }: LastInteractionFinishInfo): void;
65
+ /**
66
+ * This fn should be invoked when a React render happens after interaction has finished
67
+ */
68
+ addProfilerTimings(labelStack: LabelStack, type: 'mount' | 'update' | 'nested-update', actualDuration: number, baseDuration: number, startTime: number, commitTime: number): void;
69
+ }
@@ -0,0 +1,11 @@
1
+ import { type Config } from '../config';
2
+ export interface GenericAnalyticWebClientInstance {
3
+ sendOperationalEvent: (payload: any) => void;
4
+ }
5
+ export interface GenericAnalyticWebClient {
6
+ getInstance: () => GenericAnalyticWebClientInstance;
7
+ }
8
+ export interface GenericAnalyticWebClientPromise {
9
+ getAnalyticsWebClientPromise: () => Promise<GenericAnalyticWebClient>;
10
+ }
11
+ export declare const init: (analyticsWebClientAsync: Promise<GenericAnalyticWebClientPromise> | Promise<GenericAnalyticWebClientInstance>, config: Config) => void;
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * Annotate part of the react tree with a product name
4
+ * ```
5
+ * <UFOLabel name="card">
6
+ * <Card card={data} />
7
+ * </UFOLabel>
8
+ * ```
9
+ */
10
+ export default function UFOLabel({ name, children }: {
11
+ name: string;
12
+ children: ReactNode;
13
+ }): JSX.Element;
@@ -0,0 +1,2 @@
1
+ import UFOLabel from './UFOLabel';
2
+ export default UFOLabel;
@@ -0,0 +1,53 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * Render this whenever you're loading.
4
+ *
5
+ * Wrap loading elements
6
+ * ```js
7
+ * if (isLoading){
8
+ * return (
9
+ * <UFOLoadHold name="card">
10
+ * <Skeleton />
11
+ * </UFOLoadHold>
12
+ * )
13
+ * }
14
+ * ```
15
+ *
16
+ * Or render it as a sibling
17
+ * ```
18
+ * if (isLoading){
19
+ * return (
20
+ * <>
21
+ * <Skeleton />
22
+ * <UFOLoadHold name="card">
23
+ * </UFOLoadHold>
24
+ * )
25
+ * }
26
+ * ```
27
+ *
28
+ * Or wrap your content conditionally
29
+ * ```
30
+ * return (
31
+ * <UFOLoadHold name="card" hold={isLoading}>
32
+ * <Card />
33
+ * </UFOLoadHold>
34
+ * )
35
+ * ```
36
+ *
37
+ * Or render as a sibling conditionally
38
+ * ```
39
+ * return (
40
+ * <>
41
+ * <Card />
42
+ * <UFOLoadHold name="card" hold={isLoading} />
43
+ * </>
44
+ * )
45
+ * ```
46
+ */
47
+ type Props = {
48
+ name: string;
49
+ hold?: boolean;
50
+ children?: ReactNode;
51
+ };
52
+ export default function UFOLoadHold({ children, name, hold }: Props): JSX.Element | null;
53
+ export {};
@@ -0,0 +1,2 @@
1
+ import UFOLoadHold from './UFOLoadHold';
2
+ export default UFOLoadHold;
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { type LazySuspenseProps } from './loosely-lazy';
3
+ /**
4
+ * Provides a placeholder for lazily loaded content, improving perceived performance.
5
+ *
6
+ * Named placeholders are especially useful for analyzing page load breakdowns
7
+ * in performance monitoring tools like Performance Portal.
8
+ */
9
+ export default function Placeholder({ name, children, fallback, }: {
10
+ name: string;
11
+ children?: LazySuspenseProps['children'];
12
+ fallback?: LazySuspenseProps['fallback'];
13
+ }): JSX.Element;
@@ -0,0 +1,2 @@
1
+ import Placeholder from './Placeholder';
2
+ export default Placeholder;
@@ -0,0 +1,3 @@
1
+ export { WaitContext } from './wait-context';
2
+ export { LazySuspense } from './lazy-suspense';
3
+ export type { LazySuspenseProps } from './types';
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { LazySuspenseProps } from './types';
3
+ export declare const LazySuspense: {
4
+ ({ fallback, children, name }: LazySuspenseProps): JSX.Element;
5
+ displayName: string;
6
+ };
@@ -0,0 +1,20 @@
1
+ import type { SuspenseProps } from 'react';
2
+ export type Fallback = SuspenseProps['fallback'];
3
+ export type LazySuspenseContextType = {
4
+ fallback: Fallback;
5
+ setFallback(fallback: Fallback): void;
6
+ name?: string;
7
+ };
8
+ export type LazySuspenseProps = {
9
+ children?: SuspenseProps['children'];
10
+ fallback: Fallback;
11
+ name?: string;
12
+ };
13
+ export type DynamicFallbackProps = {
14
+ children(fallback: Fallback): any;
15
+ outsideSuspense: boolean;
16
+ };
17
+ export type SubscriptionContextValue = {
18
+ subscribe: (callback: () => void) => () => void;
19
+ currentValue: () => number;
20
+ };
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { type SubscriptionContextValue } from './types';
3
+ export declare const WaitContext: import("react").Context<SubscriptionContextValue>;
@@ -0,0 +1,41 @@
1
+ export type ResourceEntry = {
2
+ name: string;
3
+ initiatorType: string;
4
+ transferSize: number | void;
5
+ startTime: number;
6
+ duration: number;
7
+ responseStart: number;
8
+ requestStart: number;
9
+ fetchStart: number;
10
+ workerStart: number;
11
+ serverTime?: number;
12
+ networkTime?: number;
13
+ encodedSize?: number | null;
14
+ decodedSize?: number | null;
15
+ };
16
+ export type ResourceTimingsConfig = {
17
+ sanitiseEndpoints: (url: string) => string | null;
18
+ mapResources: (url: string) => string | null;
19
+ xhrFilter?: (url: string) => boolean;
20
+ hasTimingHeaders?: (url: string) => boolean;
21
+ };
22
+ interface BasicResourceTiming {
23
+ startTime: number;
24
+ duration: number;
25
+ type: string;
26
+ workerStart: number;
27
+ fetchStart: number;
28
+ }
29
+ interface CacheableResourceTiming extends BasicResourceTiming {
30
+ transferType: string;
31
+ ttfb?: number;
32
+ }
33
+ interface NonCacheableResourceTiming extends BasicResourceTiming {
34
+ size: number;
35
+ ttfb: number;
36
+ }
37
+ export type ResourceTiming = BasicResourceTiming | NonCacheableResourceTiming | CacheableResourceTiming;
38
+ export type ResourceTimings = {
39
+ [key: string]: ResourceTiming;
40
+ };
41
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { ResourceTimingsConfig } from '../types';
2
+ export declare function configure(resourceTimingConfig: ResourceTimingsConfig): void;
3
+ export declare const getConfig: () => ResourceTimingsConfig;
@@ -0,0 +1,11 @@
1
+ import type { ResourceEntry } from '../types';
2
+ export declare const resourceTimingBuffer: {
3
+ timings: ResourceEntry[];
4
+ maxSize: number;
5
+ observer: PerformanceObserver | null;
6
+ transformResource: (entry: PerformanceResourceTiming) => ResourceEntry;
7
+ start: () => void;
8
+ stop: () => void;
9
+ addTimings: (list: PerformanceObserverEntryList) => void;
10
+ };
11
+ export declare const filterResourceTimings: (startTime: number, endTime: number) => ResourceEntry[] | null;
@@ -0,0 +1,4 @@
1
+ export type { ResourceTimings } from './common/types';
2
+ export { configure } from './common/utils/config';
3
+ export { getResourceTimings } from './main';
4
+ export { startResourceTimingBuffer } from './utils';
@@ -0,0 +1,2 @@
1
+ import type { ResourceTimings } from './common/types';
2
+ export declare const getResourceTimings: (interactionStart: number, interactionEnd: number) => ResourceTimings;
@@ -0,0 +1 @@
1
+ export declare function startResourceTimingBuffer(): void;
@@ -0,0 +1 @@
1
+ export declare const roundEpsilon: (num: number, places?: number) => number;
@@ -0,0 +1,4 @@
1
+ export default function getUFORouteName(route: {
2
+ ufoName?: string;
3
+ name: string;
4
+ }): string;
@@ -0,0 +1,5 @@
1
+ type RouteNameContextType = {
2
+ current: string | null;
3
+ };
4
+ declare const UFORouteName: RouteNameContextType;
5
+ export default UFORouteName;
@@ -0,0 +1,2 @@
1
+ import UFOSegment from './segment';
2
+ export default UFOSegment;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ segmentName: string;
4
+ };
5
+ export declare function SegmentHighlight({ segmentName }: Props): JSX.Element | null;
6
+ export {};
@@ -0,0 +1,8 @@
1
+ import { type ReactNode } from 'react';
2
+ type Props = {
3
+ name: string;
4
+ children: ReactNode;
5
+ };
6
+ /** A portion of the page we apply measurement to */
7
+ export default function UFOSegment({ name: segmentName, children }: Props): JSX.Element;
8
+ export {};
@@ -0,0 +1,4 @@
1
+ import { type InteractionError } from '../interaction-metrics';
2
+ type InteractionErrorManual = Pick<InteractionError, 'errorMessage' | 'name'>;
3
+ export declare function setInteractionError(interactionName: string, error: InteractionErrorManual): void;
4
+ export {};
@@ -0,0 +1 @@
1
+ export default function generateId(length?: number): string;