@multiplayer-app/session-recorder-react-native 1.0.1-beta.1 → 1.0.1-beta.10

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 (469) hide show
  1. package/LICENSE +1 -2
  2. package/README.md +216 -155
  3. package/SessionRecorderNative.podspec +35 -14
  4. package/android/build.gradle +50 -54
  5. package/android/src/main/AndroidManifest.xml +2 -0
  6. package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativeConfig.kt +52 -0
  7. package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativeModule.kt +861 -0
  8. package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativePackage.kt +33 -0
  9. package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativeSpec.kt +79 -0
  10. package/android/src/main/java/com/sessionrecordernative/model/TargetInfo.kt +9 -0
  11. package/android/src/main/java/com/sessionrecordernative/util/ViewUtils.kt +72 -0
  12. package/ios/GestureTargetFinder.swift +50 -0
  13. package/ios/SessionRecorderNative-Bridging-Header.h +2 -0
  14. package/ios/{GestureRecorderNative.m → SessionRecorderNative.mm} +17 -6
  15. package/ios/SessionRecorderNative.swift +256 -4
  16. package/lib/module/SessionRecorderNativeSpec.js +5 -0
  17. package/lib/module/SessionRecorderNativeSpec.js.map +1 -0
  18. package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js +23 -0
  19. package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -0
  20. package/lib/module/components/ScreenRecorderView/index.js +4 -0
  21. package/lib/module/components/ScreenRecorderView/index.js.map +1 -0
  22. package/lib/module/components/SessionRecorderWidget/ErrorBanner.js +64 -0
  23. package/lib/module/components/SessionRecorderWidget/ErrorBanner.js.map +1 -0
  24. package/lib/module/components/SessionRecorderWidget/FinalPopover.js +74 -0
  25. package/lib/module/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
  26. package/lib/module/components/SessionRecorderWidget/FloatingButton.js +191 -0
  27. package/lib/module/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
  28. package/lib/module/components/SessionRecorderWidget/InitialPopover.js +138 -0
  29. package/lib/module/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
  30. package/lib/module/components/SessionRecorderWidget/ModalContainer.js +177 -0
  31. package/lib/module/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
  32. package/lib/module/components/SessionRecorderWidget/ModalHeader.js +27 -0
  33. package/lib/module/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
  34. package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js +133 -0
  35. package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
  36. package/lib/module/components/SessionRecorderWidget/icons.js +93 -0
  37. package/lib/module/components/SessionRecorderWidget/icons.js.map +1 -0
  38. package/lib/module/components/SessionRecorderWidget/index.js +5 -0
  39. package/lib/module/components/SessionRecorderWidget/index.js.map +1 -0
  40. package/lib/module/components/SessionRecorderWidget/styles.js +173 -0
  41. package/lib/module/components/SessionRecorderWidget/styles.js.map +1 -0
  42. package/lib/module/components/index.js +5 -0
  43. package/lib/module/components/index.js.map +1 -0
  44. package/lib/module/config/constants.js +42 -0
  45. package/lib/module/config/constants.js.map +1 -0
  46. package/lib/module/config/defaults.js +81 -0
  47. package/lib/module/config/defaults.js.map +1 -0
  48. package/lib/module/config/index.js +9 -0
  49. package/lib/module/config/index.js.map +1 -0
  50. package/lib/module/config/masking.js +35 -0
  51. package/lib/module/config/masking.js.map +1 -0
  52. package/lib/module/config/session-recorder.js +44 -0
  53. package/lib/module/config/session-recorder.js.map +1 -0
  54. package/lib/module/config/validators.js +28 -0
  55. package/lib/module/config/validators.js.map +1 -0
  56. package/lib/module/config/widget.js +35 -0
  57. package/lib/module/config/widget.js.map +1 -0
  58. package/lib/module/context/SessionRecorderContext.js +93 -0
  59. package/lib/module/context/SessionRecorderContext.js.map +1 -0
  60. package/lib/module/context/SessionRecorderStore.js +12 -0
  61. package/lib/module/context/SessionRecorderStore.js.map +1 -0
  62. package/lib/module/context/useSessionRecorderStore.js +20 -0
  63. package/lib/module/context/useSessionRecorderStore.js.map +1 -0
  64. package/lib/module/context/useStoreSelector.js +27 -0
  65. package/lib/module/context/useStoreSelector.js.map +1 -0
  66. package/lib/module/index.js +16 -0
  67. package/lib/module/index.js.map +1 -0
  68. package/lib/module/native/SessionRecorderNative.js +79 -0
  69. package/lib/module/native/SessionRecorderNative.js.map +1 -0
  70. package/lib/module/native/index.js +4 -0
  71. package/lib/module/native/index.js.map +1 -0
  72. package/lib/module/otel/helpers.js +218 -0
  73. package/lib/module/otel/helpers.js.map +1 -0
  74. package/lib/module/otel/index.js +95 -0
  75. package/lib/module/otel/index.js.map +1 -0
  76. package/lib/module/otel/instrumentations/index.js +102 -0
  77. package/lib/module/otel/instrumentations/index.js.map +1 -0
  78. package/lib/module/package.json +1 -0
  79. package/lib/module/patch/index.js +4 -0
  80. package/lib/module/patch/index.js.map +1 -0
  81. package/lib/module/patch/xhr.js +116 -0
  82. package/lib/module/patch/xhr.js.map +1 -0
  83. package/lib/module/recorder/eventExporter.js +130 -0
  84. package/lib/module/recorder/eventExporter.js.map +1 -0
  85. package/lib/module/recorder/gestureRecorder.js +641 -0
  86. package/lib/module/recorder/gestureRecorder.js.map +1 -0
  87. package/lib/module/recorder/index.js +168 -0
  88. package/lib/module/recorder/index.js.map +1 -0
  89. package/lib/module/recorder/navigationTracker.js +228 -0
  90. package/lib/module/recorder/navigationTracker.js.map +1 -0
  91. package/lib/module/recorder/screenRecorder.js +495 -0
  92. package/lib/module/recorder/screenRecorder.js.map +1 -0
  93. package/lib/module/services/api.service.js +149 -0
  94. package/lib/module/services/api.service.js.map +1 -0
  95. package/lib/module/services/network.service.js +178 -0
  96. package/lib/module/services/network.service.js.map +1 -0
  97. package/lib/module/services/screenMaskingService.js +107 -0
  98. package/lib/module/services/screenMaskingService.js.map +1 -0
  99. package/lib/module/services/storage.service.js +179 -0
  100. package/lib/module/services/storage.service.js.map +1 -0
  101. package/lib/module/session-recorder.js +541 -0
  102. package/lib/module/session-recorder.js.map +1 -0
  103. package/lib/module/types/configs.js +4 -0
  104. package/lib/module/types/configs.js.map +1 -0
  105. package/lib/module/types/expo-constants.d.js +2 -0
  106. package/lib/module/types/expo-constants.d.js.map +1 -0
  107. package/lib/module/types/index.js +11 -0
  108. package/lib/module/types/index.js.map +1 -0
  109. package/lib/module/types/session-recorder.js +68 -0
  110. package/lib/module/types/session-recorder.js.map +1 -0
  111. package/lib/module/types/session.js +9 -0
  112. package/lib/module/types/session.js.map +1 -0
  113. package/lib/module/utils/app-metadata.js +28 -0
  114. package/lib/module/utils/app-metadata.js.map +1 -0
  115. package/lib/module/utils/constants.optional.expo.js +6 -0
  116. package/lib/module/utils/constants.optional.expo.js.map +1 -0
  117. package/lib/module/utils/constants.optional.js +8 -0
  118. package/lib/module/utils/constants.optional.js.map +1 -0
  119. package/lib/module/utils/createStore.js +27 -0
  120. package/lib/module/utils/createStore.js.map +1 -0
  121. package/lib/module/utils/index.js +11 -0
  122. package/lib/module/utils/index.js.map +1 -0
  123. package/lib/module/utils/logger.js +185 -0
  124. package/lib/module/utils/logger.js.map +1 -0
  125. package/lib/module/utils/platform.js +340 -0
  126. package/lib/module/utils/platform.js.map +1 -0
  127. package/lib/module/utils/request-utils.js +58 -0
  128. package/lib/module/utils/request-utils.js.map +1 -0
  129. package/lib/module/utils/rrweb-events.js +276 -0
  130. package/lib/module/utils/rrweb-events.js.map +1 -0
  131. package/lib/module/utils/session.js +21 -0
  132. package/lib/module/utils/session.js.map +1 -0
  133. package/lib/module/utils/shallowEqual.js +17 -0
  134. package/lib/module/utils/shallowEqual.js.map +1 -0
  135. package/lib/module/utils/time.js +17 -0
  136. package/lib/module/utils/time.js.map +1 -0
  137. package/lib/module/utils/type-utils.js +69 -0
  138. package/lib/module/utils/type-utils.js.map +1 -0
  139. package/lib/module/version.js +4 -0
  140. package/lib/module/version.js.map +1 -0
  141. package/lib/typescript/package.json +1 -0
  142. package/{dist/native/SessionRecorderNative.d.ts → lib/typescript/src/SessionRecorderNativeSpec.d.ts} +23 -15
  143. package/lib/typescript/src/SessionRecorderNativeSpec.d.ts.map +1 -0
  144. package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts +6 -0
  145. package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts.map +1 -0
  146. package/lib/typescript/src/components/ScreenRecorderView/index.d.ts +2 -0
  147. package/lib/typescript/src/components/ScreenRecorderView/index.d.ts.map +1 -0
  148. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ErrorBanner.d.ts +1 -0
  149. package/lib/typescript/src/components/SessionRecorderWidget/ErrorBanner.d.ts.map +1 -0
  150. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/FinalPopover.d.ts +2 -1
  151. package/lib/typescript/src/components/SessionRecorderWidget/FinalPopover.d.ts.map +1 -0
  152. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/FloatingButton.d.ts +1 -0
  153. package/lib/typescript/src/components/SessionRecorderWidget/FloatingButton.d.ts.map +1 -0
  154. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/InitialPopover.d.ts +2 -1
  155. package/lib/typescript/src/components/SessionRecorderWidget/InitialPopover.d.ts.map +1 -0
  156. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ModalContainer.d.ts +1 -0
  157. package/lib/typescript/src/components/SessionRecorderWidget/ModalContainer.d.ts.map +1 -0
  158. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ModalHeader.d.ts +1 -0
  159. package/lib/typescript/src/components/SessionRecorderWidget/ModalHeader.d.ts.map +1 -0
  160. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +1 -0
  161. package/lib/typescript/src/components/SessionRecorderWidget/SessionRecorderWidget.d.ts.map +1 -0
  162. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/icons.d.ts +1 -0
  163. package/lib/typescript/src/components/SessionRecorderWidget/icons.d.ts.map +1 -0
  164. package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts +3 -0
  165. package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts.map +1 -0
  166. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/styles.d.ts +4 -3
  167. package/lib/typescript/src/components/SessionRecorderWidget/styles.d.ts.map +1 -0
  168. package/lib/typescript/src/components/index.d.ts +3 -0
  169. package/lib/typescript/src/components/index.d.ts.map +1 -0
  170. package/{dist → lib/typescript/src}/config/constants.d.ts +1 -0
  171. package/lib/typescript/src/config/constants.d.ts.map +1 -0
  172. package/{dist → lib/typescript/src}/config/defaults.d.ts +2 -1
  173. package/lib/typescript/src/config/defaults.d.ts.map +1 -0
  174. package/{dist → lib/typescript/src}/config/index.d.ts +1 -0
  175. package/lib/typescript/src/config/index.d.ts.map +1 -0
  176. package/lib/typescript/src/config/masking.d.ts +3 -0
  177. package/lib/typescript/src/config/masking.d.ts.map +1 -0
  178. package/lib/typescript/src/config/session-recorder.d.ts +3 -0
  179. package/lib/typescript/src/config/session-recorder.d.ts.map +1 -0
  180. package/{dist → lib/typescript/src}/config/validators.d.ts +1 -0
  181. package/lib/typescript/src/config/validators.d.ts.map +1 -0
  182. package/{dist → lib/typescript/src}/config/widget.d.ts +2 -1
  183. package/lib/typescript/src/config/widget.d.ts.map +1 -0
  184. package/{dist → lib/typescript/src}/context/SessionRecorderContext.d.ts +3 -2
  185. package/lib/typescript/src/context/SessionRecorderContext.d.ts.map +1 -0
  186. package/{dist → lib/typescript/src}/context/SessionRecorderStore.d.ts +2 -1
  187. package/lib/typescript/src/context/SessionRecorderStore.d.ts.map +1 -0
  188. package/{dist → lib/typescript/src}/context/useSessionRecorderStore.d.ts +4 -3
  189. package/lib/typescript/src/context/useSessionRecorderStore.d.ts.map +1 -0
  190. package/{dist → lib/typescript/src}/context/useStoreSelector.d.ts +2 -1
  191. package/lib/typescript/src/context/useStoreSelector.d.ts.map +1 -0
  192. package/{dist → lib/typescript/src}/index.d.ts +2 -0
  193. package/lib/typescript/src/index.d.ts.map +1 -0
  194. package/lib/typescript/src/native/SessionRecorderNative.d.ts +27 -0
  195. package/lib/typescript/src/native/SessionRecorderNative.d.ts.map +1 -0
  196. package/lib/typescript/src/native/index.d.ts +2 -0
  197. package/lib/typescript/src/native/index.d.ts.map +1 -0
  198. package/{dist → lib/typescript/src}/otel/helpers.d.ts +3 -2
  199. package/lib/typescript/src/otel/helpers.d.ts.map +1 -0
  200. package/{dist → lib/typescript/src}/otel/index.d.ts +2 -2
  201. package/lib/typescript/src/otel/index.d.ts.map +1 -0
  202. package/{dist → lib/typescript/src}/otel/instrumentations/index.d.ts +2 -1
  203. package/lib/typescript/src/otel/instrumentations/index.d.ts.map +1 -0
  204. package/lib/typescript/src/patch/index.d.ts +2 -0
  205. package/lib/typescript/src/patch/index.d.ts.map +1 -0
  206. package/{dist → lib/typescript/src}/patch/xhr.d.ts +1 -0
  207. package/lib/typescript/src/patch/xhr.d.ts.map +1 -0
  208. package/{dist → lib/typescript/src}/recorder/eventExporter.d.ts +2 -1
  209. package/lib/typescript/src/recorder/eventExporter.d.ts.map +1 -0
  210. package/{dist → lib/typescript/src}/recorder/gestureRecorder.d.ts +3 -2
  211. package/lib/typescript/src/recorder/gestureRecorder.d.ts.map +1 -0
  212. package/{dist → lib/typescript/src}/recorder/index.d.ts +3 -2
  213. package/lib/typescript/src/recorder/index.d.ts.map +1 -0
  214. package/{dist → lib/typescript/src}/recorder/navigationTracker.d.ts +2 -1
  215. package/lib/typescript/src/recorder/navigationTracker.d.ts.map +1 -0
  216. package/{dist → lib/typescript/src}/recorder/screenRecorder.d.ts +4 -4
  217. package/lib/typescript/src/recorder/screenRecorder.d.ts.map +1 -0
  218. package/{dist → lib/typescript/src}/services/api.service.d.ts +2 -1
  219. package/lib/typescript/src/services/api.service.d.ts.map +1 -0
  220. package/{dist → lib/typescript/src}/services/network.service.d.ts +1 -0
  221. package/lib/typescript/src/services/network.service.d.ts.map +1 -0
  222. package/{dist → lib/typescript/src}/services/screenMaskingService.d.ts +2 -1
  223. package/lib/typescript/src/services/screenMaskingService.d.ts.map +1 -0
  224. package/{dist → lib/typescript/src}/services/storage.service.d.ts +2 -1
  225. package/lib/typescript/src/services/storage.service.d.ts.map +1 -0
  226. package/{dist → lib/typescript/src}/session-recorder.d.ts +3 -2
  227. package/lib/typescript/src/session-recorder.d.ts.map +1 -0
  228. package/{dist → lib/typescript/src}/types/configs.d.ts +3 -2
  229. package/lib/typescript/src/types/configs.d.ts.map +1 -0
  230. package/{dist → lib/typescript/src}/types/index.d.ts +1 -0
  231. package/lib/typescript/src/types/index.d.ts.map +1 -0
  232. package/{dist → lib/typescript/src}/types/session-recorder.d.ts +7 -6
  233. package/lib/typescript/src/types/session-recorder.d.ts.map +1 -0
  234. package/{dist → lib/typescript/src}/types/session.d.ts +1 -0
  235. package/lib/typescript/src/types/session.d.ts.map +1 -0
  236. package/{dist → lib/typescript/src}/utils/app-metadata.d.ts +1 -0
  237. package/lib/typescript/src/utils/app-metadata.d.ts.map +1 -0
  238. package/{dist → lib/typescript/src}/utils/constants.optional.d.ts +1 -0
  239. package/lib/typescript/src/utils/constants.optional.d.ts.map +1 -0
  240. package/{dist → lib/typescript/src}/utils/constants.optional.expo.d.ts +1 -0
  241. package/lib/typescript/src/utils/constants.optional.expo.d.ts.map +1 -0
  242. package/{dist → lib/typescript/src}/utils/createStore.d.ts +1 -0
  243. package/lib/typescript/src/utils/createStore.d.ts.map +1 -0
  244. package/lib/typescript/src/utils/index.d.ts +8 -0
  245. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  246. package/{dist → lib/typescript/src}/utils/logger.d.ts +2 -1
  247. package/lib/typescript/src/utils/logger.d.ts.map +1 -0
  248. package/{dist → lib/typescript/src}/utils/platform.d.ts +2 -1
  249. package/lib/typescript/src/utils/platform.d.ts.map +1 -0
  250. package/{dist → lib/typescript/src}/utils/request-utils.d.ts +1 -0
  251. package/lib/typescript/src/utils/request-utils.d.ts.map +1 -0
  252. package/{dist → lib/typescript/src}/utils/rrweb-events.d.ts +2 -1
  253. package/lib/typescript/src/utils/rrweb-events.d.ts.map +1 -0
  254. package/{dist → lib/typescript/src}/utils/session.d.ts +1 -0
  255. package/lib/typescript/src/utils/session.d.ts.map +1 -0
  256. package/{dist → lib/typescript/src}/utils/shallowEqual.d.ts +1 -0
  257. package/lib/typescript/src/utils/shallowEqual.d.ts.map +1 -0
  258. package/{dist → lib/typescript/src}/utils/time.d.ts +1 -0
  259. package/lib/typescript/src/utils/time.d.ts.map +1 -0
  260. package/{dist → lib/typescript/src}/utils/type-utils.d.ts +1 -0
  261. package/lib/typescript/src/utils/type-utils.d.ts.map +1 -0
  262. package/lib/typescript/src/version.d.ts +2 -0
  263. package/lib/typescript/src/version.d.ts.map +1 -0
  264. package/package.json +154 -37
  265. package/react-native.config.js +14 -0
  266. package/src/SessionRecorderNativeSpec.ts +52 -0
  267. package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +20 -0
  268. package/src/components/ScreenRecorderView/index.ts +1 -0
  269. package/src/components/SessionRecorderWidget/ErrorBanner.tsx +58 -0
  270. package/src/components/SessionRecorderWidget/FinalPopover.tsx +96 -0
  271. package/src/components/SessionRecorderWidget/FloatingButton.tsx +176 -0
  272. package/src/components/SessionRecorderWidget/InitialPopover.tsx +167 -0
  273. package/src/components/SessionRecorderWidget/ModalContainer.tsx +189 -0
  274. package/src/components/SessionRecorderWidget/ModalHeader.tsx +26 -0
  275. package/src/components/SessionRecorderWidget/SessionRecorderWidget.tsx +150 -0
  276. package/src/components/SessionRecorderWidget/icons.tsx +80 -0
  277. package/src/components/SessionRecorderWidget/index.ts +3 -0
  278. package/src/components/SessionRecorderWidget/styles.ts +168 -0
  279. package/src/config/constants.ts +67 -0
  280. package/src/config/defaults.ts +105 -0
  281. package/src/config/index.ts +6 -0
  282. package/src/config/masking.ts +60 -0
  283. package/src/config/session-recorder.ts +87 -0
  284. package/src/config/validators.ts +54 -0
  285. package/src/config/widget.ts +47 -0
  286. package/src/context/SessionRecorderContext.tsx +138 -0
  287. package/src/context/SessionRecorderStore.ts +22 -0
  288. package/src/context/useSessionRecorderStore.ts +34 -0
  289. package/src/context/useStoreSelector.ts +36 -0
  290. package/src/index.ts +13 -0
  291. package/src/native/SessionRecorderNative.ts +120 -0
  292. package/src/native/index.ts +5 -0
  293. package/src/otel/helpers.ts +290 -0
  294. package/src/otel/index.ts +132 -0
  295. package/src/otel/instrumentations/index.ts +118 -0
  296. package/src/patch/xhr.ts +148 -0
  297. package/src/recorder/eventExporter.ts +150 -0
  298. package/src/recorder/gestureRecorder.ts +828 -0
  299. package/src/recorder/index.ts +203 -0
  300. package/src/recorder/navigationTracker.ts +268 -0
  301. package/src/recorder/screenRecorder.ts +600 -0
  302. package/src/services/api.service.ts +216 -0
  303. package/src/services/network.service.ts +191 -0
  304. package/src/services/screenMaskingService.ts +153 -0
  305. package/src/services/storage.service.ts +248 -0
  306. package/src/session-recorder.ts +647 -0
  307. package/src/types/configs.ts +118 -0
  308. package/src/types/expo-constants.d.ts +7 -0
  309. package/src/types/index.ts +27 -0
  310. package/src/types/session-recorder.ts +381 -0
  311. package/src/types/session.ts +65 -0
  312. package/src/utils/app-metadata.ts +31 -0
  313. package/src/utils/constants.optional.expo.ts +5 -0
  314. package/src/utils/constants.optional.ts +18 -0
  315. package/src/utils/createStore.ts +32 -0
  316. package/{dist/utils/index.d.ts → src/utils/index.ts} +1 -0
  317. package/src/utils/logger.ts +245 -0
  318. package/src/utils/platform.ts +401 -0
  319. package/src/utils/request-utils.ts +61 -0
  320. package/src/utils/rrweb-events.ts +329 -0
  321. package/src/utils/session.ts +22 -0
  322. package/src/utils/shallowEqual.ts +20 -0
  323. package/src/utils/time.ts +20 -0
  324. package/src/utils/type-utils.ts +75 -0
  325. package/src/version.ts +1 -0
  326. package/copy-react-native-dist.sh +0 -56
  327. package/dist/components/ScreenRecorderView/ScreenRecorderView.d.ts +0 -5
  328. package/dist/components/ScreenRecorderView/ScreenRecorderView.js +0 -1
  329. package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +0 -1
  330. package/dist/components/ScreenRecorderView/index.d.ts +0 -1
  331. package/dist/components/ScreenRecorderView/index.js +0 -1
  332. package/dist/components/ScreenRecorderView/index.js.map +0 -1
  333. package/dist/components/SessionRecorderWidget/ErrorBanner.js +0 -1
  334. package/dist/components/SessionRecorderWidget/ErrorBanner.js.map +0 -1
  335. package/dist/components/SessionRecorderWidget/FinalPopover.js +0 -1
  336. package/dist/components/SessionRecorderWidget/FinalPopover.js.map +0 -1
  337. package/dist/components/SessionRecorderWidget/FloatingButton.js +0 -1
  338. package/dist/components/SessionRecorderWidget/FloatingButton.js.map +0 -1
  339. package/dist/components/SessionRecorderWidget/InitialPopover.js +0 -1
  340. package/dist/components/SessionRecorderWidget/InitialPopover.js.map +0 -1
  341. package/dist/components/SessionRecorderWidget/ModalContainer.js +0 -1
  342. package/dist/components/SessionRecorderWidget/ModalContainer.js.map +0 -1
  343. package/dist/components/SessionRecorderWidget/ModalHeader.js +0 -1
  344. package/dist/components/SessionRecorderWidget/ModalHeader.js.map +0 -1
  345. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +0 -1
  346. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +0 -1
  347. package/dist/components/SessionRecorderWidget/icons.js +0 -1
  348. package/dist/components/SessionRecorderWidget/icons.js.map +0 -1
  349. package/dist/components/SessionRecorderWidget/index.d.ts +0 -2
  350. package/dist/components/SessionRecorderWidget/index.js +0 -1
  351. package/dist/components/SessionRecorderWidget/index.js.map +0 -1
  352. package/dist/components/SessionRecorderWidget/styles.js +0 -1
  353. package/dist/components/SessionRecorderWidget/styles.js.map +0 -1
  354. package/dist/components/index.js +0 -1
  355. package/dist/components/index.js.map +0 -1
  356. package/dist/config/constants.js +0 -1
  357. package/dist/config/constants.js.map +0 -1
  358. package/dist/config/defaults.js +0 -1
  359. package/dist/config/defaults.js.map +0 -1
  360. package/dist/config/index.js +0 -1
  361. package/dist/config/index.js.map +0 -1
  362. package/dist/config/masking.d.ts +0 -2
  363. package/dist/config/masking.js +0 -1
  364. package/dist/config/masking.js.map +0 -1
  365. package/dist/config/session-recorder.d.ts +0 -2
  366. package/dist/config/session-recorder.js +0 -1
  367. package/dist/config/session-recorder.js.map +0 -1
  368. package/dist/config/validators.js +0 -1
  369. package/dist/config/validators.js.map +0 -1
  370. package/dist/config/widget.js +0 -1
  371. package/dist/config/widget.js.map +0 -1
  372. package/dist/context/SessionRecorderContext.js +0 -1
  373. package/dist/context/SessionRecorderContext.js.map +0 -1
  374. package/dist/context/SessionRecorderStore.js +0 -1
  375. package/dist/context/SessionRecorderStore.js.map +0 -1
  376. package/dist/context/useSessionRecorderStore.js +0 -1
  377. package/dist/context/useSessionRecorderStore.js.map +0 -1
  378. package/dist/context/useStoreSelector.js +0 -1
  379. package/dist/context/useStoreSelector.js.map +0 -1
  380. package/dist/index.js +0 -1
  381. package/dist/index.js.map +0 -1
  382. package/dist/native/GestureRecorderNative.d.ts +0 -57
  383. package/dist/native/GestureRecorderNative.js +0 -1
  384. package/dist/native/GestureRecorderNative.js.map +0 -1
  385. package/dist/native/GestureRecorderNativeTurboSpec.d.ts +0 -31
  386. package/dist/native/GestureRecorderNativeTurboSpec.js +0 -1
  387. package/dist/native/GestureRecorderNativeTurboSpec.js.map +0 -1
  388. package/dist/native/SessionRecorderNative.js +0 -1
  389. package/dist/native/SessionRecorderNative.js.map +0 -1
  390. package/dist/native/SessionRecorderNativeTurboSpec.d.ts +0 -17
  391. package/dist/native/SessionRecorderNativeTurboSpec.js +0 -1
  392. package/dist/native/SessionRecorderNativeTurboSpec.js.map +0 -1
  393. package/dist/native/index.d.ts +0 -2
  394. package/dist/native/index.js +0 -1
  395. package/dist/native/index.js.map +0 -1
  396. package/dist/otel/helpers.js +0 -1
  397. package/dist/otel/helpers.js.map +0 -1
  398. package/dist/otel/index.js +0 -1
  399. package/dist/otel/index.js.map +0 -1
  400. package/dist/otel/instrumentations/index.js +0 -1
  401. package/dist/otel/instrumentations/index.js.map +0 -1
  402. package/dist/patch/index.js +0 -1
  403. package/dist/patch/index.js.map +0 -1
  404. package/dist/patch/xhr.js +0 -1
  405. package/dist/patch/xhr.js.map +0 -1
  406. package/dist/recorder/eventExporter.js +0 -1
  407. package/dist/recorder/eventExporter.js.map +0 -1
  408. package/dist/recorder/gestureRecorder.js +0 -1
  409. package/dist/recorder/gestureRecorder.js.map +0 -1
  410. package/dist/recorder/index.js +0 -1
  411. package/dist/recorder/index.js.map +0 -1
  412. package/dist/recorder/navigationTracker.js +0 -1
  413. package/dist/recorder/navigationTracker.js.map +0 -1
  414. package/dist/recorder/screenRecorder.js +0 -1
  415. package/dist/recorder/screenRecorder.js.map +0 -1
  416. package/dist/services/api.service.js +0 -1
  417. package/dist/services/api.service.js.map +0 -1
  418. package/dist/services/network.service.js +0 -1
  419. package/dist/services/network.service.js.map +0 -1
  420. package/dist/services/screenMaskingService.js +0 -1
  421. package/dist/services/screenMaskingService.js.map +0 -1
  422. package/dist/services/storage.service.js +0 -1
  423. package/dist/services/storage.service.js.map +0 -1
  424. package/dist/session-recorder.js +0 -1
  425. package/dist/session-recorder.js.map +0 -1
  426. package/dist/types/configs.js +0 -1
  427. package/dist/types/configs.js.map +0 -1
  428. package/dist/types/index.js +0 -1
  429. package/dist/types/index.js.map +0 -1
  430. package/dist/types/session-recorder.js +0 -1
  431. package/dist/types/session-recorder.js.map +0 -1
  432. package/dist/types/session.js +0 -1
  433. package/dist/types/session.js.map +0 -1
  434. package/dist/utils/app-metadata.js +0 -1
  435. package/dist/utils/app-metadata.js.map +0 -1
  436. package/dist/utils/constants.optional.expo.js +0 -1
  437. package/dist/utils/constants.optional.expo.js.map +0 -1
  438. package/dist/utils/constants.optional.js +0 -1
  439. package/dist/utils/constants.optional.js.map +0 -1
  440. package/dist/utils/createStore.js +0 -1
  441. package/dist/utils/createStore.js.map +0 -1
  442. package/dist/utils/index.js +0 -1
  443. package/dist/utils/index.js.map +0 -1
  444. package/dist/utils/logger.js +0 -1
  445. package/dist/utils/logger.js.map +0 -1
  446. package/dist/utils/platform.js +0 -1
  447. package/dist/utils/platform.js.map +0 -1
  448. package/dist/utils/request-utils.js +0 -1
  449. package/dist/utils/request-utils.js.map +0 -1
  450. package/dist/utils/rrweb-events.js +0 -1
  451. package/dist/utils/rrweb-events.js.map +0 -1
  452. package/dist/utils/session.js +0 -1
  453. package/dist/utils/session.js.map +0 -1
  454. package/dist/utils/shallowEqual.js +0 -1
  455. package/dist/utils/shallowEqual.js.map +0 -1
  456. package/dist/utils/time.js +0 -1
  457. package/dist/utils/time.js.map +0 -1
  458. package/dist/utils/type-utils.js +0 -1
  459. package/dist/utils/type-utils.js.map +0 -1
  460. package/dist/version.d.ts +0 -1
  461. package/dist/version.js +0 -1
  462. package/dist/version.js.map +0 -1
  463. package/docs/AUTO_METADATA_DETECTION.md +0 -108
  464. package/ios/GestureRecorderNative.swift +0 -316
  465. package/ios/SessionRecorderNative.m +0 -17
  466. package/ios/SessionRecorderNative.podspec +0 -26
  467. package/turbo.json +0 -41
  468. /package/{dist/components/index.d.ts → src/components/index.ts} +0 -0
  469. /package/{dist/patch/index.d.ts → src/patch/index.ts} +0 -0
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Request utility functions for React Native
5
+ */
6
+
7
+ /**
8
+ * Convert FormData to query string (React Native compatible)
9
+ * @param formData - FormData object
10
+ * @returns Query string
11
+ */
12
+ export const formDataToQuery = formData => {
13
+ if (!formData) return '';
14
+
15
+ // In React Native, FormData is handled differently
16
+ // This is a simplified implementation
17
+ const params = new URLSearchParams();
18
+ if (typeof formData.entries === 'function') {
19
+ for (const [key, value] of formData.entries()) {
20
+ params.append(key, value);
21
+ }
22
+ } else if (typeof formData === 'object') {
23
+ for (const [key, value] of Object.entries(formData)) {
24
+ params.append(key, String(value));
25
+ }
26
+ }
27
+ return params.toString();
28
+ };
29
+
30
+ /**
31
+ * Convert object to query string
32
+ * @param obj - Object to convert
33
+ * @returns Query string
34
+ */
35
+ export const objectToQuery = obj => {
36
+ const params = new URLSearchParams();
37
+ for (const [key, value] of Object.entries(obj)) {
38
+ if (value !== null && value !== undefined) {
39
+ params.append(key, String(value));
40
+ }
41
+ }
42
+ return params.toString();
43
+ };
44
+
45
+ /**
46
+ * Parse query string to object
47
+ * @param queryString - Query string to parse
48
+ * @returns Object with parsed parameters
49
+ */
50
+ export const queryToObject = queryString => {
51
+ const params = new URLSearchParams(queryString);
52
+ const obj = {};
53
+ for (const [key, value] of params.entries()) {
54
+ obj[key] = value;
55
+ }
56
+ return obj;
57
+ };
58
+ //# sourceMappingURL=request-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formDataToQuery","formData","params","URLSearchParams","entries","key","value","append","Object","String","toString","objectToQuery","obj","undefined","queryToObject","queryString"],"sourceRoot":"../../../src","sources":["utils/request-utils.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,GAAIC,QAAa,IAAa;EACxD,IAAI,CAACA,QAAQ,EAAE,OAAO,EAAE;;EAExB;EACA;EACA,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAAC,CAAC;EAEpC,IAAI,OAAOF,QAAQ,CAACG,OAAO,KAAK,UAAU,EAAE;IAC1C,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIL,QAAQ,CAACG,OAAO,CAAC,CAAC,EAAE;MAC7CF,MAAM,CAACK,MAAM,CAACF,GAAG,EAAEC,KAAe,CAAC;IACrC;EACF,CAAC,MAAM,IAAI,OAAOL,QAAQ,KAAK,QAAQ,EAAE;IACvC,KAAK,MAAM,CAACI,GAAG,EAAEC,KAAK,CAAC,IAAIE,MAAM,CAACJ,OAAO,CAACH,QAAQ,CAAC,EAAE;MACnDC,MAAM,CAACK,MAAM,CAACF,GAAG,EAAEI,MAAM,CAACH,KAAK,CAAC,CAAC;IACnC;EACF;EAEA,OAAOJ,MAAM,CAACQ,QAAQ,CAAC,CAAC;AAC1B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAIC,GAAwB,IAAa;EACjE,MAAMV,MAAM,GAAG,IAAIC,eAAe,CAAC,CAAC;EAEpC,KAAK,MAAM,CAACE,GAAG,EAAEC,KAAK,CAAC,IAAIE,MAAM,CAACJ,OAAO,CAACQ,GAAG,CAAC,EAAE;IAC9C,IAAIN,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKO,SAAS,EAAE;MACzCX,MAAM,CAACK,MAAM,CAACF,GAAG,EAAEI,MAAM,CAACH,KAAK,CAAC,CAAC;IACnC;EACF;EAEA,OAAOJ,MAAM,CAACQ,QAAQ,CAAC,CAAC;AAC1B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,aAAa,GAAIC,WAAmB,IAA6B;EAC5E,MAAMb,MAAM,GAAG,IAAIC,eAAe,CAACY,WAAW,CAAC;EAC/C,MAAMH,GAA2B,GAAG,CAAC,CAAC;EAEtC,KAAK,MAAM,CAACP,GAAG,EAAEC,KAAK,CAAC,IAAIJ,MAAM,CAACE,OAAO,CAAC,CAAC,EAAE;IAC3CQ,GAAG,CAACP,GAAG,CAAC,GAAGC,KAAK;EAClB;EAEA,OAAOM,GAAG;AACZ,CAAC","ignoreList":[]}
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+
3
+ import { Dimensions } from 'react-native';
4
+ import { EventType, NodeType, IncrementalSource } from '@rrweb/types';
5
+ import { getAppMetadata } from "./platform.js";
6
+
7
+ /**
8
+ * Creates a meta event to mark the start of recording
9
+ * @param sessionId - The session ID
10
+ * @param sessionType - The type of session (PLAIN or CONTINUOUS)
11
+ * @param additionalData - Additional data to include in the meta event
12
+ * @returns MetaEvent object
13
+ */
14
+ export function createRecordingMetaEvent() {
15
+ const screenDimensions = Dimensions.get('window');
16
+ const metadata = getAppMetadata();
17
+ return {
18
+ type: EventType.Meta,
19
+ data: {
20
+ href: metadata.bundleId || metadata.name || 'https://native.multiplayer.app',
21
+ width: screenDimensions.width,
22
+ height: screenDimensions.height
23
+ },
24
+ timestamp: Date.now()
25
+ };
26
+ }
27
+
28
+ /**
29
+ * Create a full snapshot event with the given base64 image
30
+ * @param base64Image - Base64 encoded image data
31
+ * @param width - Screen width
32
+ * @param height - Screen height
33
+ * @param captureFormat - Image format (png, jpg, etc.)
34
+ * @param nodeIdCounter - Starting node ID counter (will be modified)
35
+ * @param timestamp - Optional timestamp to use for the event
36
+ * @returns Full snapshot event
37
+ */
38
+ export function createFullSnapshotEvent(base64Image, width, height, captureFormat = 'jpg', nodeIdCounter, timestamp) {
39
+ // Create a virtual DOM node representing the screen as an image
40
+ const imageNode = {
41
+ type: NodeType.Element,
42
+ id: 0,
43
+ tagName: 'img',
44
+ attributes: {
45
+ src: `data:image/${captureFormat};base64,${base64Image}`,
46
+ width: width.toString(),
47
+ height: height.toString(),
48
+ style: `width: ${width}px; height: ${height}px;`
49
+ },
50
+ childNodes: []
51
+ };
52
+
53
+ // Create the root container
54
+ const rootNode = {
55
+ type: NodeType.Element,
56
+ id: nodeIdCounter.current++,
57
+ tagName: 'div',
58
+ attributes: {
59
+ style: `width: ${width}px; height: ${height}px; position: relative;`
60
+ },
61
+ childNodes: [imageNode]
62
+ };
63
+ const domNode = {
64
+ type: NodeType.Document,
65
+ childNodes: [{
66
+ type: NodeType.DocumentType,
67
+ name: 'html',
68
+ publicId: '',
69
+ systemId: '',
70
+ id: nodeIdCounter.current++
71
+ }, {
72
+ type: NodeType.Element,
73
+ tagName: 'html',
74
+ attributes: {},
75
+ childNodes: [{
76
+ type: NodeType.Element,
77
+ tagName: 'head',
78
+ attributes: {},
79
+ childNodes: [{
80
+ type: NodeType.Element,
81
+ tagName: 'meta',
82
+ attributes: {
83
+ charset: 'utf-8'
84
+ },
85
+ childNodes: [],
86
+ id: nodeIdCounter.current++
87
+ }, {
88
+ type: NodeType.Element,
89
+ tagName: 'meta',
90
+ attributes: {
91
+ name: 'viewport',
92
+ content: 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no'
93
+ },
94
+ childNodes: [],
95
+ id: nodeIdCounter.current++
96
+ }],
97
+ id: nodeIdCounter.current++
98
+ }, {
99
+ type: NodeType.Element,
100
+ tagName: 'body',
101
+ attributes: {
102
+ style: 'margin: 0; padding: 0; width: 100%; height: 100%;'
103
+ },
104
+ childNodes: [rootNode],
105
+ id: nodeIdCounter.current++
106
+ }],
107
+ id: nodeIdCounter.current++
108
+ }],
109
+ id: nodeIdCounter.current++
110
+ };
111
+ return {
112
+ type: EventType.FullSnapshot,
113
+ data: {
114
+ node: domNode,
115
+ initialOffset: {
116
+ left: 0,
117
+ top: 0
118
+ }
119
+ },
120
+ timestamp: timestamp || Date.now()
121
+ };
122
+ }
123
+
124
+ /**
125
+ * Create an incremental snapshot event with mutation data to update image src
126
+ * @param base64Image - New base64 encoded image data
127
+ * @param captureFormat - Image format (png, jpg, etc.)
128
+ * @param timestamp - Optional timestamp to use for the event
129
+ * @returns Incremental snapshot event with mutation data
130
+ */
131
+ export function createIncrementalSnapshotWithImageUpdate(base64Image, captureFormat = 'jpg', timestamp) {
132
+ const mutationData = {
133
+ source: IncrementalSource.Mutation,
134
+ texts: [],
135
+ attributes: [{
136
+ id: 0,
137
+ attributes: {
138
+ src: `data:image/${captureFormat};base64,${base64Image}`
139
+ }
140
+ }],
141
+ removes: [],
142
+ adds: []
143
+ };
144
+ return {
145
+ type: EventType.IncrementalSnapshot,
146
+ data: mutationData,
147
+ timestamp: timestamp || Date.now()
148
+ };
149
+ }
150
+
151
+ /**
152
+ * Create a simple image node for React Native screen capture
153
+ * @param base64Image - Base64 encoded image data
154
+ * @param width - Image width
155
+ * @param height - Image height
156
+ * @param captureFormat - Image format (png, jpg, etc.)
157
+ * @param nodeId - Node ID for the image
158
+ * @returns Serialized node with ID
159
+ */
160
+ export function createImageNode(base64Image, width, height, captureFormat = 'jpg', nodeId) {
161
+ return {
162
+ type: NodeType.Element,
163
+ id: nodeId,
164
+ tagName: 'img',
165
+ attributes: {
166
+ src: `data:image/${captureFormat};base64,${base64Image}`,
167
+ width: width.toString(),
168
+ height: height.toString(),
169
+ style: `width: ${width}px; height: ${height}px;`
170
+ },
171
+ childNodes: []
172
+ };
173
+ }
174
+
175
+ /**
176
+ * Create a document node for React Native screen capture
177
+ * @param imageNode - The image node to include
178
+ * @param width - Screen width
179
+ * @param height - Screen height
180
+ * @param nodeIdCounter - Node ID counter (will be modified)
181
+ * @returns Document node
182
+ */
183
+ export function createDocumentNode(imageNode, width, height, nodeIdCounter) {
184
+ // Create the root container
185
+ const rootNode = {
186
+ type: NodeType.Element,
187
+ id: nodeIdCounter.current++,
188
+ tagName: 'div',
189
+ attributes: {
190
+ style: `width: ${width}px; height: ${height}px; position: relative;`
191
+ },
192
+ childNodes: [imageNode]
193
+ };
194
+ return {
195
+ type: NodeType.Document,
196
+ childNodes: [{
197
+ type: NodeType.DocumentType,
198
+ name: 'html',
199
+ publicId: '',
200
+ systemId: '',
201
+ id: nodeIdCounter.current++
202
+ }, {
203
+ type: NodeType.Element,
204
+ tagName: 'html',
205
+ attributes: {},
206
+ childNodes: [{
207
+ type: NodeType.Element,
208
+ tagName: 'head',
209
+ attributes: {},
210
+ childNodes: [{
211
+ type: NodeType.Element,
212
+ tagName: 'meta',
213
+ attributes: {
214
+ charset: 'utf-8'
215
+ },
216
+ childNodes: [],
217
+ id: nodeIdCounter.current++
218
+ }, {
219
+ type: NodeType.Element,
220
+ tagName: 'meta',
221
+ attributes: {
222
+ name: 'viewport',
223
+ content: 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no'
224
+ },
225
+ childNodes: [],
226
+ id: nodeIdCounter.current++
227
+ }],
228
+ id: nodeIdCounter.current++
229
+ }, {
230
+ type: NodeType.Element,
231
+ tagName: 'body',
232
+ attributes: {},
233
+ childNodes: [rootNode],
234
+ id: nodeIdCounter.current++
235
+ }],
236
+ id: nodeIdCounter.current++
237
+ }],
238
+ id: nodeIdCounter.current++
239
+ };
240
+ }
241
+
242
+ /**
243
+ * Generate a simple hash for screen comparison
244
+ * This is a lightweight hash that focuses on the beginning and end of the base64 string
245
+ * to detect changes without doing a full comparison
246
+ * @param base64Image - Base64 encoded image
247
+ * @param sampleSize - Number of characters to sample from each part
248
+ * @returns Hash string for comparison
249
+ */
250
+ export function generateScreenHash(base64Image, sampleSize = 100) {
251
+ // Use a simple hash that samples the beginning, middle, and end of the base64 string
252
+ // This is much faster than comparing the entire string
253
+ const start = base64Image.substring(0, sampleSize);
254
+ const middle = base64Image.substring(Math.floor(base64Image.length / 2) - sampleSize / 2, Math.floor(base64Image.length / 2) + sampleSize / 2);
255
+ const end = base64Image.substring(base64Image.length - sampleSize);
256
+
257
+ // Combine samples and create a simple hash
258
+ const combined = start + middle + end;
259
+ return simpleHash(combined);
260
+ }
261
+
262
+ /**
263
+ * Simple hash function for string comparison
264
+ * @param str - String to hash
265
+ * @returns Hash value as string
266
+ */
267
+ export function simpleHash(str) {
268
+ let hash = 0;
269
+ for (let i = 0; i < str.length; i++) {
270
+ const char = str.charCodeAt(i);
271
+ hash = (hash << 5) - hash + char;
272
+ hash = hash & hash; // Convert to 32-bit integer
273
+ }
274
+ return Math.abs(hash).toString(36);
275
+ }
276
+ //# sourceMappingURL=rrweb-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Dimensions","EventType","NodeType","IncrementalSource","getAppMetadata","createRecordingMetaEvent","screenDimensions","get","metadata","type","Meta","data","href","bundleId","name","width","height","timestamp","Date","now","createFullSnapshotEvent","base64Image","captureFormat","nodeIdCounter","imageNode","Element","id","tagName","attributes","src","toString","style","childNodes","rootNode","current","domNode","Document","DocumentType","publicId","systemId","charset","content","FullSnapshot","node","initialOffset","left","top","createIncrementalSnapshotWithImageUpdate","mutationData","source","Mutation","texts","removes","adds","IncrementalSnapshot","createImageNode","nodeId","createDocumentNode","generateScreenHash","sampleSize","start","substring","middle","Math","floor","length","end","combined","simpleHash","str","hash","i","char","charCodeAt","abs"],"sourceRoot":"../../../src","sources":["utils/rrweb-events.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import { SessionType } from '@multiplayer-app/session-recorder-common';
4
+ import { DEBUG_SESSION_MAX_DURATION_SECONDS } from "../config/constants.js";
5
+
6
+ /**
7
+ * Session-related utility functions for React Native
8
+ */
9
+
10
+ export const isSessionActive = (session, sessionType) => {
11
+ if (!session) return false;
12
+ if (sessionType === SessionType.CONTINUOUS) return true;
13
+ const startedAt = new Date(session.startedAt || session.createdAt);
14
+ const now = new Date();
15
+ const diff = now.getTime() - startedAt.getTime();
16
+ return diff < DEBUG_SESSION_MAX_DURATION_SECONDS * 1000;
17
+ };
18
+ export const isConsoleEvent = event => {
19
+ return event.type === 'Plugin' && event.data?.plugin === 'rrweb/console@1';
20
+ };
21
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SessionType","DEBUG_SESSION_MAX_DURATION_SECONDS","isSessionActive","session","sessionType","CONTINUOUS","startedAt","Date","createdAt","now","diff","getTime","isConsoleEvent","event","type","data","plugin"],"sourceRoot":"../../../src","sources":["utils/session.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,kCAAkC,QAAQ,wBAAqB;;AAExE;AACA;AACA;;AAEA,OAAO,MAAMC,eAAe,GAAGA,CAC7BC,OAAY,EACZC,WAA+B,KACnB;EACZ,IAAI,CAACD,OAAO,EAAE,OAAO,KAAK;EAC1B,IAAIC,WAAW,KAAKJ,WAAW,CAACK,UAAU,EAAE,OAAO,IAAI;EACvD,MAAMC,SAAS,GAAG,IAAIC,IAAI,CAACJ,OAAO,CAACG,SAAS,IAAIH,OAAO,CAACK,SAAS,CAAC;EAClE,MAAMC,GAAG,GAAG,IAAIF,IAAI,CAAC,CAAC;EACtB,MAAMG,IAAI,GAAGD,GAAG,CAACE,OAAO,CAAC,CAAC,GAAGL,SAAS,CAACK,OAAO,CAAC,CAAC;EAChD,OAAOD,IAAI,GAAGT,kCAAkC,GAAG,IAAI;AACzD,CAAC;AAED,OAAO,MAAMW,cAAc,GAAIC,KAAU,IAAc;EACrD,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ,IAAID,KAAK,CAACE,IAAI,EAAEC,MAAM,KAAK,iBAAiB;AAC5E,CAAC","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ export function shallowEqual(a, b) {
4
+ if (Object.is(a, b)) return true;
5
+ if (!a || !b) return false;
6
+ const aKeys = Object.keys(a);
7
+ const bKeys = Object.keys(b);
8
+ if (aKeys.length !== bKeys.length) return false;
9
+ for (let i = 0; i < aKeys.length; i++) {
10
+ const key = aKeys[i];
11
+ if (!Object.prototype.hasOwnProperty.call(b, key) || !Object.is(a[key], b[key])) {
12
+ return false;
13
+ }
14
+ }
15
+ return true;
16
+ }
17
+ //# sourceMappingURL=shallowEqual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["shallowEqual","a","b","Object","is","aKeys","keys","bKeys","length","i","key","prototype","hasOwnProperty","call"],"sourceRoot":"../../../src","sources":["utils/shallowEqual.ts"],"mappings":";;AAAA,OAAO,SAASA,YAAYA,CAC1BC,CAAI,EACJC,CAAI,EACK;EACT,IAAIC,MAAM,CAACC,EAAE,CAACH,CAAC,EAAEC,CAAC,CAAC,EAAE,OAAO,IAAI;EAChC,IAAI,CAACD,CAAC,IAAI,CAACC,CAAC,EAAE,OAAO,KAAK;EAC1B,MAAMG,KAAK,GAAGF,MAAM,CAACG,IAAI,CAACL,CAAC,CAAC;EAC5B,MAAMM,KAAK,GAAGJ,MAAM,CAACG,IAAI,CAACJ,CAAC,CAAC;EAC5B,IAAIG,KAAK,CAACG,MAAM,KAAKD,KAAK,CAACC,MAAM,EAAE,OAAO,KAAK;EAC/C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,KAAK,CAACG,MAAM,EAAEC,CAAC,EAAE,EAAE;IACrC,MAAMC,GAAG,GAAGL,KAAK,CAACI,CAAC,CAAC;IACpB,IACE,CAACN,MAAM,CAACQ,SAAS,CAACC,cAAc,CAACC,IAAI,CAACX,CAAC,EAAEQ,GAAI,CAAC,IAC9C,CAACP,MAAM,CAACC,EAAE,CAACH,CAAC,CAACS,GAAG,CAAE,EAAER,CAAC,CAACQ,GAAG,CAAE,CAAC,EAC5B;MACA,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Time and date utility functions for React Native
5
+ */
6
+
7
+ export const getFormattedDate = (date, options) => {
8
+ return new Date(date).toLocaleDateString('en-US', options || {
9
+ month: 'short',
10
+ year: 'numeric',
11
+ day: 'numeric',
12
+ hour: 'numeric',
13
+ minute: '2-digit',
14
+ second: '2-digit'
15
+ });
16
+ };
17
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getFormattedDate","date","options","Date","toLocaleDateString","month","year","day","hour","minute","second"],"sourceRoot":"../../../src","sources":["utils/time.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA,OAAO,MAAMA,gBAAgB,GAAGA,CAC9BC,IAAmB,EACnBC,OAAa,KACF;EACX,OAAO,IAAIC,IAAI,CAACF,IAAI,CAAC,CAACG,kBAAkB,CACtC,OAAO,EACPF,OAAO,IAAI;IACTG,KAAK,EAAE,OAAO;IACdC,IAAI,EAAE,SAAS;IACfC,GAAG,EAAE,SAAS;IACdC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE,SAAS;IACjBC,MAAM,EAAE;EACV,CACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ const nativeIsArray = Array.isArray;
4
+ const ObjProto = Object.prototype;
5
+ export const hasOwnProperty = ObjProto.hasOwnProperty;
6
+ const toString = ObjProto.toString;
7
+ export const isArray = nativeIsArray || function (obj) {
8
+ return toString.call(obj) === '[object Array]';
9
+ };
10
+ export const isUint8Array = function (x) {
11
+ return toString.call(x) === '[object Uint8Array]';
12
+ };
13
+ // from a comment on http://dbj.org/dbj/?p=286
14
+ // fails on only one very rare and deliberate custom object:
15
+ // let bomb = { toString : undefined, valueOf: function(o) { return "function BOMBA!"; }};
16
+ export const isFunction = function (f) {
17
+ return typeof f === 'function';
18
+ };
19
+ // Underscore Addons
20
+ export const isObject = function (x) {
21
+ return x === Object(x) && !isArray(x);
22
+ };
23
+ export const isEmptyObject = function (x) {
24
+ if (isObject(x)) {
25
+ for (const key in x) {
26
+ if (hasOwnProperty.call(x, key)) {
27
+ return false;
28
+ }
29
+ }
30
+ return true;
31
+ }
32
+ return false;
33
+ };
34
+ export const isUndefined = function (x) {
35
+ return x === void 0;
36
+ };
37
+ export const isString = function (x) {
38
+ return toString.call(x) == '[object String]';
39
+ };
40
+ export const isEmptyString = function (x) {
41
+ return isString(x) && x.trim().length === 0;
42
+ };
43
+ export const isNull = function (x) {
44
+ return x === null;
45
+ };
46
+
47
+ /*
48
+ sometimes you want to check if something is null or undefined
49
+ that's what this is for
50
+ */
51
+ export const isNullish = function (x) {
52
+ return isUndefined(x) || isNull(x);
53
+ };
54
+ export const isDate = function (x) {
55
+ return toString.call(x) == '[object Date]';
56
+ };
57
+ export const isNumber = function (x) {
58
+ return toString.call(x) == '[object Number]';
59
+ };
60
+ export const isBoolean = function (x) {
61
+ return toString.call(x) === '[object Boolean]';
62
+ };
63
+ export const isFormData = x => {
64
+ return x instanceof FormData;
65
+ };
66
+ export const isFile = x => {
67
+ return x instanceof File;
68
+ };
69
+ //# sourceMappingURL=type-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nativeIsArray","Array","isArray","ObjProto","Object","prototype","hasOwnProperty","toString","obj","call","isUint8Array","x","isFunction","f","isObject","isEmptyObject","key","isUndefined","isString","isEmptyString","trim","length","isNull","isNullish","isDate","isNumber","isBoolean","isFormData","FormData","isFile","File"],"sourceRoot":"../../../src","sources":["utils/type-utils.ts"],"mappings":";;AAAA,MAAMA,aAAa,GAAGC,KAAK,CAACC,OAAO;AACnC,MAAMC,QAAQ,GAAGC,MAAM,CAACC,SAAS;AACjC,OAAO,MAAMC,cAAc,GAAGH,QAAQ,CAACG,cAAc;AACrD,MAAMC,QAAQ,GAAGJ,QAAQ,CAACI,QAAQ;AAElC,OAAO,MAAML,OAAO,GAClBF,aAAa,IACb,UAAUQ,GAAQ,EAAgB;EAChC,OAAOD,QAAQ,CAACE,IAAI,CAACD,GAAG,CAAC,KAAK,gBAAgB;AAChD,CAAC;AACH,OAAO,MAAME,YAAY,GAAG,SAAAA,CAAUC,CAAU,EAAmB;EACjE,OAAOJ,QAAQ,CAACE,IAAI,CAACE,CAAC,CAAC,KAAK,qBAAqB;AACnD,CAAC;AACD;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAG,SAAAA,CAAUC,CAAM,EAAgC;EACxE,OAAO,OAAOA,CAAC,KAAK,UAAU;AAChC,CAAC;AACD;AACA,OAAO,MAAMC,QAAQ,GAAG,SAAAA,CAAUH,CAAU,EAA4B;EACtE,OAAOA,CAAC,KAAKP,MAAM,CAACO,CAAC,CAAC,IAAI,CAACT,OAAO,CAACS,CAAC,CAAC;AACvC,CAAC;AACD,OAAO,MAAMI,aAAa,GAAG,SAAAA,CAAUJ,CAAU,EAA4B;EAC3E,IAAIG,QAAQ,CAACH,CAAC,CAAC,EAAE;IACf,KAAK,MAAMK,GAAG,IAAIL,CAAC,EAAE;MACnB,IAAIL,cAAc,CAACG,IAAI,CAACE,CAAC,EAAEK,GAAG,CAAC,EAAE;QAC/B,OAAO,KAAK;MACd;IACF;IACA,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd,CAAC;AACD,OAAO,MAAMC,WAAW,GAAG,SAAAA,CAAUN,CAAU,EAAkB;EAC/D,OAAOA,CAAC,KAAK,KAAK,CAAC;AACrB,CAAC;AAED,OAAO,MAAMO,QAAQ,GAAG,SAAAA,CAAUP,CAAU,EAAe;EACzD,OAAOJ,QAAQ,CAACE,IAAI,CAACE,CAAC,CAAC,IAAI,iBAAiB;AAC9C,CAAC;AAED,OAAO,MAAMQ,aAAa,GAAG,SAAAA,CAAUR,CAAU,EAAW;EAC1D,OAAOO,QAAQ,CAACP,CAAC,CAAC,IAAIA,CAAC,CAACS,IAAI,CAAC,CAAC,CAACC,MAAM,KAAK,CAAC;AAC7C,CAAC;AAED,OAAO,MAAMC,MAAM,GAAG,SAAAA,CAAUX,CAAU,EAAa;EACrD,OAAOA,CAAC,KAAK,IAAI;AACnB,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMY,SAAS,GAAG,SAAAA,CAAUZ,CAAU,EAAyB;EACpE,OAAOM,WAAW,CAACN,CAAC,CAAC,IAAIW,MAAM,CAACX,CAAC,CAAC;AACpC,CAAC;AAED,OAAO,MAAMa,MAAM,GAAG,SAAAA,CAAUb,CAAU,EAAa;EACrD,OAAOJ,QAAQ,CAACE,IAAI,CAACE,CAAC,CAAC,IAAI,eAAe;AAC5C,CAAC;AACD,OAAO,MAAMc,QAAQ,GAAG,SAAAA,CAAUd,CAAU,EAAe;EACzD,OAAOJ,QAAQ,CAACE,IAAI,CAACE,CAAC,CAAC,IAAI,iBAAiB;AAC9C,CAAC;AACD,OAAO,MAAMe,SAAS,GAAG,SAAAA,CAAUf,CAAU,EAAgB;EAC3D,OAAOJ,QAAQ,CAACE,IAAI,CAACE,CAAC,CAAC,KAAK,kBAAkB;AAChD,CAAC;AAED,OAAO,MAAMgB,UAAU,GAAIhB,CAAU,IAAoB;EACvD,OAAOA,CAAC,YAAYiB,QAAQ;AAC9B,CAAC;AAED,OAAO,MAAMC,MAAM,GAAIlB,CAAU,IAAgB;EAC/C,OAAOA,CAAC,YAAYmB,IAAI;AAC1B,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export const version = '1.0.1-beta.3';
4
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;AAAA,OAAO,MAAMA,OAAO,GAAG,cAAc","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -1,3 +1,23 @@
1
+ export interface Spec {
2
+ /**
3
+ * Capture the current screen and apply masking to sensitive elements
4
+ * @returns Promise that resolves to base64 encoded image
5
+ */
6
+ captureAndMask(): Promise<string>;
7
+ /**
8
+ * Capture the current screen and apply masking with custom options
9
+ * @param options Custom masking options
10
+ * @returns Promise that resolves to base64 encoded image
11
+ */
12
+ captureAndMaskWithOptions(options: MaskingOptions): Promise<string>;
13
+ startGestureRecording(): Promise<void>;
14
+ stopGestureRecording(): Promise<void>;
15
+ isGestureRecordingActive(): Promise<boolean>;
16
+ setGestureCallback(callback: (event: any) => void): void;
17
+ recordGesture(gestureType: string, x: number, y: number, target?: string, metadata?: any): void;
18
+ addListener(eventName: string): void;
19
+ removeListeners(count: number): void;
20
+ }
1
21
  export interface MaskingOptions {
2
22
  /** Quality of the captured image (0.1 to 1.0, default: 0.3 for smaller file size) */
3
23
  quality?: number;
@@ -16,18 +36,6 @@ export interface MaskingOptions {
16
36
  /** Whether to mask sandboxed views (system views that don't belong to current process) */
17
37
  maskSandboxedViews?: boolean;
18
38
  }
19
- export interface SessionRecorderNativeModule {
20
- /**
21
- * Capture the current screen and apply masking to sensitive elements
22
- * @returns Promise that resolves to base64 encoded image
23
- */
24
- captureAndMask(): Promise<string>;
25
- /**
26
- * Capture the current screen and apply masking with custom options
27
- * @param options Custom masking options
28
- * @returns Promise that resolves to base64 encoded image
29
- */
30
- captureAndMaskWithOptions(options: MaskingOptions): Promise<string>;
31
- }
32
- declare const SafeSessionRecorderNative: SessionRecorderNativeModule;
33
- export default SafeSessionRecorderNative;
39
+ declare const _default: Spec;
40
+ export default _default;
41
+ //# sourceMappingURL=SessionRecorderNativeSpec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderNativeSpec.d.ts","sourceRoot":"","sources":["../../../src/SessionRecorderNativeSpec.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,IAAI;IACnB;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAElC;;;;OAIG;IACH,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAGpE,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,GAAG,GACb,IAAI,CAAC;IACR,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;wBAEqD,IAAI;AAA1D,wBAA2D"}
@@ -0,0 +1,6 @@
1
+ import { type PropsWithChildren } from 'react';
2
+ interface ScreenRecorderViewProps extends PropsWithChildren {
3
+ }
4
+ export declare const ScreenRecorderView: ({ children }: ScreenRecorderViewProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=ScreenRecorderView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenRecorderView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScreenRecorderView/ScreenRecorderView.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,UAAU,uBAAwB,SAAQ,iBAAiB;CAAG;AAE9D,eAAO,MAAM,kBAAkB,GAAI,cAAc,uBAAuB,4CAavE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ScreenRecorderView';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScreenRecorderView/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -5,3 +5,4 @@ interface ErrorBannerProps {
5
5
  }
6
6
  declare const ErrorBanner: React.FC<ErrorBannerProps>;
7
7
  export default ErrorBanner;
8
+ //# sourceMappingURL=ErrorBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBanner.d.ts","sourceRoot":"","sources":["../../../../../src/components/SessionRecorderWidget/ErrorBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAW3C,CAAC;AAsCF,eAAe,WAAW,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { TextOverridesOptions } from '../../types';
2
+ import { type TextOverridesOptions } from '../../types';
3
3
  interface FinalPopoverProps extends React.PropsWithChildren {
4
4
  isOnline: boolean;
5
5
  textOverrides: TextOverridesOptions;
@@ -10,3 +10,4 @@ interface FinalPopoverProps extends React.PropsWithChildren {
10
10
  }
11
11
  declare const FinalPopover: React.FC<FinalPopoverProps>;
12
12
  export default FinalPopover;
13
+ //# sourceMappingURL=FinalPopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FinalPopover.d.ts","sourceRoot":"","sources":["../../../../../src/components/SessionRecorderWidget/FinalPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AASxC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAKxD,UAAU,iBAAkB,SAAQ,KAAK,CAAC,iBAAiB;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,oBAAoB,CAAC;IACpC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsE7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -6,3 +6,4 @@ interface FloatingButtonProps {
6
6
  }
7
7
  declare const FloatingButton: React.FC<FloatingButtonProps>;
8
8
  export default FloatingButton;
9
+ //# sourceMappingURL=FloatingButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/SessionRecorderWidget/FloatingButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAS1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,UAAU,mBAAmB;IAC3B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAMD,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqIjD,CAAC;AAoBF,eAAe,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { SessionType } from '@multiplayer-app/session-recorder-common';
3
- import { TextOverridesOptions } from '../../types';
3
+ import { type TextOverridesOptions } from '../../types';
4
4
  interface InitialPopoverProps extends React.PropsWithChildren {
5
5
  isContinuous: boolean;
6
6
  showContinuousRecording: boolean;
@@ -14,3 +14,4 @@ interface InitialPopoverProps extends React.PropsWithChildren {
14
14
  }
15
15
  declare const InitialPopover: React.FC<InitialPopoverProps>;
16
16
  export default InitialPopover;
17
+ //# sourceMappingURL=InitialPopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitialPopover.d.ts","sourceRoot":"","sources":["../../../../../src/components/SessionRecorderWidget/InitialPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMxD,UAAU,mBAAoB,SAAQ,KAAK,CAAC,iBAAiB;IAC3D,YAAY,EAAE,OAAO,CAAC;IACtB,uBAAuB,EAAE,OAAO,CAAC;IACjC,aAAa,EAAE,oBAAoB,CAAC;IACpC,gBAAgB,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACrD,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+IjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -6,3 +6,4 @@ interface ModalContainerProps {
6
6
  }
7
7
  declare const ModalContainer: React.FC<ModalContainerProps>;
8
8
  export default ModalContainer;
9
+ //# sourceMappingURL=ModalContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/SessionRecorderWidget/ModalContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAe3D,UAAU,mBAAmB;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4HjD,CAAC;AA2CF,eAAe,cAAc,CAAC"}