@multiplayer-app/session-recorder-react-native 1.0.1-beta.3 → 1.0.1-beta.5
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.
- package/LICENSE +1 -2
- package/README.md +216 -155
- package/SessionRecorderNative.podspec +9 -14
- package/android/build.gradle +21 -44
- package/android/gradle.properties +4 -4
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/com/multiplayer/sessionrecordernative/SessionRecorderNativeConfig.kt +52 -0
- package/android/src/main/java/com/multiplayer/sessionrecordernative/SessionRecorderNativeModule.kt +860 -0
- package/android/src/main/java/com/multiplayer/sessionrecordernative/SessionRecorderNativePackage.kt +33 -0
- package/android/src/main/java/com/multiplayer/sessionrecordernative/model/TargetInfo.kt +9 -0
- package/android/src/main/java/com/multiplayer/sessionrecordernative/util/ViewUtils.kt +72 -0
- package/ios/SessionRecorderNative.podspec +4 -2
- package/ios/SessionRecorderNative.swift +1 -1
- package/ios/SessionRecorderNativeSpec.swift +3 -3
- package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js +23 -0
- package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -0
- package/lib/module/components/ScreenRecorderView/index.js +4 -0
- package/lib/module/components/ScreenRecorderView/index.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/ErrorBanner.js +64 -0
- package/lib/module/components/SessionRecorderWidget/ErrorBanner.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/FinalPopover.js +74 -0
- package/lib/module/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/FloatingButton.js +191 -0
- package/lib/module/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/InitialPopover.js +138 -0
- package/lib/module/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/ModalContainer.js +177 -0
- package/lib/module/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/ModalHeader.js +27 -0
- package/lib/module/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js +133 -0
- package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/icons.js +93 -0
- package/lib/module/components/SessionRecorderWidget/icons.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/index.js +5 -0
- package/lib/module/components/SessionRecorderWidget/index.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/styles.js +173 -0
- package/lib/module/components/SessionRecorderWidget/styles.js.map +1 -0
- package/lib/module/components/index.js +5 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/config/constants.js +42 -0
- package/lib/module/config/constants.js.map +1 -0
- package/lib/module/config/defaults.js +81 -0
- package/lib/module/config/defaults.js.map +1 -0
- package/lib/module/config/index.js +9 -0
- package/lib/module/config/index.js.map +1 -0
- package/lib/module/config/masking.js +35 -0
- package/lib/module/config/masking.js.map +1 -0
- package/lib/module/config/session-recorder.js +44 -0
- package/lib/module/config/session-recorder.js.map +1 -0
- package/lib/module/config/validators.js +28 -0
- package/lib/module/config/validators.js.map +1 -0
- package/lib/module/config/widget.js +35 -0
- package/lib/module/config/widget.js.map +1 -0
- package/lib/module/context/SessionRecorderContext.js +93 -0
- package/lib/module/context/SessionRecorderContext.js.map +1 -0
- package/lib/module/context/SessionRecorderStore.js +12 -0
- package/lib/module/context/SessionRecorderStore.js.map +1 -0
- package/lib/module/context/useSessionRecorderStore.js +20 -0
- package/lib/module/context/useSessionRecorderStore.js.map +1 -0
- package/lib/module/context/useStoreSelector.js +27 -0
- package/lib/module/context/useStoreSelector.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/native/SessionRecorderNative.js +74 -0
- package/lib/module/native/SessionRecorderNative.js.map +1 -0
- package/lib/module/native/index.js +4 -0
- package/lib/module/native/index.js.map +1 -0
- package/lib/module/otel/helpers.js +218 -0
- package/lib/module/otel/helpers.js.map +1 -0
- package/lib/module/otel/index.js +95 -0
- package/lib/module/otel/index.js.map +1 -0
- package/lib/module/otel/instrumentations/index.js +102 -0
- package/lib/module/otel/instrumentations/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/patch/index.js +4 -0
- package/lib/module/patch/index.js.map +1 -0
- package/lib/module/patch/xhr.js +116 -0
- package/lib/module/patch/xhr.js.map +1 -0
- package/lib/module/recorder/eventExporter.js +130 -0
- package/lib/module/recorder/eventExporter.js.map +1 -0
- package/lib/module/recorder/gestureRecorder.js +641 -0
- package/lib/module/recorder/gestureRecorder.js.map +1 -0
- package/lib/module/recorder/index.js +168 -0
- package/lib/module/recorder/index.js.map +1 -0
- package/lib/module/recorder/navigationTracker.js +228 -0
- package/lib/module/recorder/navigationTracker.js.map +1 -0
- package/lib/module/recorder/screenRecorder.js +495 -0
- package/lib/module/recorder/screenRecorder.js.map +1 -0
- package/lib/module/services/api.service.js +149 -0
- package/lib/module/services/api.service.js.map +1 -0
- package/lib/module/services/network.service.js +178 -0
- package/lib/module/services/network.service.js.map +1 -0
- package/lib/module/services/screenMaskingService.js +107 -0
- package/lib/module/services/screenMaskingService.js.map +1 -0
- package/lib/module/services/storage.service.js +179 -0
- package/lib/module/services/storage.service.js.map +1 -0
- package/lib/module/session-recorder.js +541 -0
- package/lib/module/session-recorder.js.map +1 -0
- package/lib/module/types/configs.js +4 -0
- package/lib/module/types/configs.js.map +1 -0
- package/lib/module/types/expo-constants.d.js +2 -0
- package/lib/module/types/expo-constants.d.js.map +1 -0
- package/lib/module/types/index.js +11 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/types/session-recorder.js +68 -0
- package/lib/module/types/session-recorder.js.map +1 -0
- package/lib/module/types/session.js +9 -0
- package/lib/module/types/session.js.map +1 -0
- package/lib/module/utils/app-metadata.js +28 -0
- package/lib/module/utils/app-metadata.js.map +1 -0
- package/lib/module/utils/constants.optional.expo.js +6 -0
- package/lib/module/utils/constants.optional.expo.js.map +1 -0
- package/lib/module/utils/constants.optional.js +8 -0
- package/lib/module/utils/constants.optional.js.map +1 -0
- package/lib/module/utils/createStore.js +27 -0
- package/lib/module/utils/createStore.js.map +1 -0
- package/lib/module/utils/index.js +11 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/logger.js +185 -0
- package/lib/module/utils/logger.js.map +1 -0
- package/lib/module/utils/platform.js +340 -0
- package/lib/module/utils/platform.js.map +1 -0
- package/lib/module/utils/request-utils.js +58 -0
- package/lib/module/utils/request-utils.js.map +1 -0
- package/lib/module/utils/rrweb-events.js +276 -0
- package/lib/module/utils/rrweb-events.js.map +1 -0
- package/lib/module/utils/session.js +21 -0
- package/lib/module/utils/session.js.map +1 -0
- package/lib/module/utils/shallowEqual.js +17 -0
- package/lib/module/utils/shallowEqual.js.map +1 -0
- package/lib/module/utils/time.js +17 -0
- package/lib/module/utils/time.js.map +1 -0
- package/lib/module/utils/type-utils.js +69 -0
- package/lib/module/utils/type-utils.js.map +1 -0
- package/lib/module/version.js +4 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts +6 -0
- package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts.map +1 -0
- package/lib/typescript/src/components/ScreenRecorderView/index.d.ts +2 -0
- package/lib/typescript/src/components/ScreenRecorderView/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ErrorBanner.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/ErrorBanner.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/FinalPopover.d.ts +2 -1
- package/lib/typescript/src/components/SessionRecorderWidget/FinalPopover.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/FloatingButton.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/FloatingButton.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/InitialPopover.d.ts +2 -1
- package/lib/typescript/src/components/SessionRecorderWidget/InitialPopover.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ModalContainer.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/ModalContainer.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ModalHeader.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/ModalHeader.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/SessionRecorderWidget.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/icons.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/icons.d.ts.map +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts +3 -0
- package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/styles.d.ts +4 -3
- package/lib/typescript/src/components/SessionRecorderWidget/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +3 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/constants.d.ts +1 -0
- package/lib/typescript/src/config/constants.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/defaults.d.ts +2 -1
- package/lib/typescript/src/config/defaults.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/index.d.ts +1 -0
- package/lib/typescript/src/config/index.d.ts.map +1 -0
- package/lib/typescript/src/config/masking.d.ts +3 -0
- package/lib/typescript/src/config/masking.d.ts.map +1 -0
- package/lib/typescript/src/config/session-recorder.d.ts +3 -0
- package/lib/typescript/src/config/session-recorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/validators.d.ts +1 -0
- package/lib/typescript/src/config/validators.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/widget.d.ts +2 -1
- package/lib/typescript/src/config/widget.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/context/SessionRecorderContext.d.ts +3 -2
- package/lib/typescript/src/context/SessionRecorderContext.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/context/SessionRecorderStore.d.ts +2 -1
- package/lib/typescript/src/context/SessionRecorderStore.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/context/useSessionRecorderStore.d.ts +4 -3
- package/lib/typescript/src/context/useSessionRecorderStore.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/context/useStoreSelector.d.ts +2 -1
- package/lib/typescript/src/context/useStoreSelector.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/native/SessionRecorderNative.d.ts +21 -3
- package/lib/typescript/src/native/SessionRecorderNative.d.ts.map +1 -0
- package/lib/typescript/src/native/index.d.ts +2 -0
- package/lib/typescript/src/native/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/otel/helpers.d.ts +3 -2
- package/lib/typescript/src/otel/helpers.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/otel/index.d.ts +2 -2
- package/lib/typescript/src/otel/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/otel/instrumentations/index.d.ts +2 -1
- package/lib/typescript/src/otel/instrumentations/index.d.ts.map +1 -0
- package/lib/typescript/src/patch/index.d.ts +2 -0
- package/lib/typescript/src/patch/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/patch/xhr.d.ts +1 -0
- package/lib/typescript/src/patch/xhr.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/eventExporter.d.ts +2 -1
- package/lib/typescript/src/recorder/eventExporter.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/gestureRecorder.d.ts +3 -2
- package/lib/typescript/src/recorder/gestureRecorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/index.d.ts +3 -2
- package/lib/typescript/src/recorder/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/navigationTracker.d.ts +2 -1
- package/lib/typescript/src/recorder/navigationTracker.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/screenRecorder.d.ts +4 -4
- package/lib/typescript/src/recorder/screenRecorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/services/api.service.d.ts +2 -1
- package/lib/typescript/src/services/api.service.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/services/network.service.d.ts +1 -0
- package/lib/typescript/src/services/network.service.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/services/screenMaskingService.d.ts +2 -1
- package/lib/typescript/src/services/screenMaskingService.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/services/storage.service.d.ts +2 -1
- package/lib/typescript/src/services/storage.service.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/session-recorder.d.ts +3 -2
- package/lib/typescript/src/session-recorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/types/configs.d.ts +3 -2
- package/lib/typescript/src/types/configs.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/types/index.d.ts +1 -0
- package/lib/typescript/src/types/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/types/session-recorder.d.ts +7 -6
- package/lib/typescript/src/types/session-recorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/types/session.d.ts +1 -0
- package/lib/typescript/src/types/session.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/app-metadata.d.ts +1 -0
- package/lib/typescript/src/utils/app-metadata.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/constants.optional.d.ts +1 -0
- package/lib/typescript/src/utils/constants.optional.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/constants.optional.expo.d.ts +1 -0
- package/lib/typescript/src/utils/constants.optional.expo.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/createStore.d.ts +1 -0
- package/lib/typescript/src/utils/createStore.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +8 -0
- package/lib/typescript/src/utils/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/logger.d.ts +2 -1
- package/lib/typescript/src/utils/logger.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/platform.d.ts +2 -1
- package/lib/typescript/src/utils/platform.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/request-utils.d.ts +1 -0
- package/lib/typescript/src/utils/request-utils.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/rrweb-events.d.ts +2 -1
- package/lib/typescript/src/utils/rrweb-events.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/session.d.ts +1 -0
- package/lib/typescript/src/utils/session.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/shallowEqual.d.ts +1 -0
- package/lib/typescript/src/utils/shallowEqual.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/time.d.ts +1 -0
- package/lib/typescript/src/utils/time.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/type-utils.d.ts +1 -0
- package/lib/typescript/src/utils/type-utils.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/version.d.ts +1 -0
- package/lib/typescript/src/version.d.ts.map +1 -0
- package/package.json +133 -44
- package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +20 -0
- package/src/components/ScreenRecorderView/index.ts +1 -0
- package/src/components/SessionRecorderWidget/ErrorBanner.tsx +58 -0
- package/src/components/SessionRecorderWidget/FinalPopover.tsx +96 -0
- package/src/components/SessionRecorderWidget/FloatingButton.tsx +176 -0
- package/src/components/SessionRecorderWidget/InitialPopover.tsx +167 -0
- package/src/components/SessionRecorderWidget/ModalContainer.tsx +189 -0
- package/src/components/SessionRecorderWidget/ModalHeader.tsx +26 -0
- package/src/components/SessionRecorderWidget/SessionRecorderWidget.tsx +150 -0
- package/src/components/SessionRecorderWidget/icons.tsx +80 -0
- package/src/components/SessionRecorderWidget/index.ts +3 -0
- package/src/components/SessionRecorderWidget/styles.ts +168 -0
- package/src/config/constants.ts +67 -0
- package/src/config/defaults.ts +105 -0
- package/src/config/index.ts +6 -0
- package/src/config/masking.ts +60 -0
- package/src/config/session-recorder.ts +87 -0
- package/src/config/validators.ts +54 -0
- package/src/config/widget.ts +47 -0
- package/src/context/SessionRecorderContext.tsx +138 -0
- package/src/context/SessionRecorderStore.ts +22 -0
- package/src/context/useSessionRecorderStore.ts +34 -0
- package/src/context/useStoreSelector.ts +36 -0
- package/src/index.ts +10 -0
- package/src/native/SessionRecorderNative.ts +180 -0
- package/src/native/index.ts +5 -0
- package/src/otel/helpers.ts +290 -0
- package/src/otel/index.ts +132 -0
- package/src/otel/instrumentations/index.ts +118 -0
- package/src/patch/xhr.ts +148 -0
- package/src/recorder/eventExporter.ts +150 -0
- package/src/recorder/gestureRecorder.ts +828 -0
- package/src/recorder/index.ts +203 -0
- package/src/recorder/navigationTracker.ts +268 -0
- package/src/recorder/screenRecorder.ts +600 -0
- package/src/services/api.service.ts +216 -0
- package/src/services/network.service.ts +191 -0
- package/src/services/screenMaskingService.ts +153 -0
- package/src/services/storage.service.ts +248 -0
- package/src/session-recorder.ts +647 -0
- package/src/types/configs.ts +118 -0
- package/src/types/expo-constants.d.ts +7 -0
- package/src/types/index.ts +27 -0
- package/src/types/session-recorder.ts +381 -0
- package/src/types/session.ts +65 -0
- package/src/utils/app-metadata.ts +31 -0
- package/src/utils/constants.optional.expo.ts +5 -0
- package/src/utils/constants.optional.ts +18 -0
- package/src/utils/createStore.ts +32 -0
- package/{dist/utils/index.d.ts → src/utils/index.ts} +1 -0
- package/src/utils/logger.ts +245 -0
- package/src/utils/platform.ts +401 -0
- package/src/utils/request-utils.ts +61 -0
- package/src/utils/rrweb-events.ts +329 -0
- package/src/utils/session.ts +22 -0
- package/src/utils/shallowEqual.ts +20 -0
- package/src/utils/time.ts +20 -0
- package/src/utils/type-utils.ts +75 -0
- package/src/version.ts +1 -0
- package/REACT_NATIVE_SETUP.md +0 -91
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -7
- package/android/gradlew +0 -249
- package/android/gradlew.bat +0 -92
- package/copy-react-native-dist.sh +0 -56
- package/dist/components/ScreenRecorderView/ScreenRecorderView.d.ts +0 -5
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js +0 -1
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +0 -1
- package/dist/components/ScreenRecorderView/index.d.ts +0 -1
- package/dist/components/ScreenRecorderView/index.js +0 -1
- package/dist/components/ScreenRecorderView/index.js.map +0 -1
- package/dist/components/SessionRecorderWidget/ErrorBanner.js +0 -1
- package/dist/components/SessionRecorderWidget/ErrorBanner.js.map +0 -1
- package/dist/components/SessionRecorderWidget/FinalPopover.js +0 -1
- package/dist/components/SessionRecorderWidget/FinalPopover.js.map +0 -1
- package/dist/components/SessionRecorderWidget/FloatingButton.js +0 -1
- package/dist/components/SessionRecorderWidget/FloatingButton.js.map +0 -1
- package/dist/components/SessionRecorderWidget/InitialPopover.js +0 -1
- package/dist/components/SessionRecorderWidget/InitialPopover.js.map +0 -1
- package/dist/components/SessionRecorderWidget/ModalContainer.js +0 -1
- package/dist/components/SessionRecorderWidget/ModalContainer.js.map +0 -1
- package/dist/components/SessionRecorderWidget/ModalHeader.js +0 -1
- package/dist/components/SessionRecorderWidget/ModalHeader.js.map +0 -1
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +0 -1
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +0 -1
- package/dist/components/SessionRecorderWidget/icons.js +0 -1
- package/dist/components/SessionRecorderWidget/icons.js.map +0 -1
- package/dist/components/SessionRecorderWidget/index.d.ts +0 -2
- package/dist/components/SessionRecorderWidget/index.js +0 -1
- package/dist/components/SessionRecorderWidget/index.js.map +0 -1
- package/dist/components/SessionRecorderWidget/styles.js +0 -1
- package/dist/components/SessionRecorderWidget/styles.js.map +0 -1
- package/dist/components/index.js +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/config/constants.js +0 -1
- package/dist/config/constants.js.map +0 -1
- package/dist/config/defaults.js +0 -1
- package/dist/config/defaults.js.map +0 -1
- package/dist/config/index.js +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/config/masking.d.ts +0 -2
- package/dist/config/masking.js +0 -1
- package/dist/config/masking.js.map +0 -1
- package/dist/config/session-recorder.d.ts +0 -2
- package/dist/config/session-recorder.js +0 -1
- package/dist/config/session-recorder.js.map +0 -1
- package/dist/config/validators.js +0 -1
- package/dist/config/validators.js.map +0 -1
- package/dist/config/widget.js +0 -1
- package/dist/config/widget.js.map +0 -1
- package/dist/context/SessionRecorderContext.js +0 -1
- package/dist/context/SessionRecorderContext.js.map +0 -1
- package/dist/context/SessionRecorderStore.js +0 -1
- package/dist/context/SessionRecorderStore.js.map +0 -1
- package/dist/context/useSessionRecorderStore.js +0 -1
- package/dist/context/useSessionRecorderStore.js.map +0 -1
- package/dist/context/useStoreSelector.js +0 -1
- package/dist/context/useStoreSelector.js.map +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +0 -1
- package/dist/native/GestureRecorderNative.d.ts +0 -57
- package/dist/native/GestureRecorderNative.js +0 -1
- package/dist/native/GestureRecorderNative.js.map +0 -1
- package/dist/native/GestureRecorderNativeTurboSpec.d.ts +0 -31
- package/dist/native/GestureRecorderNativeTurboSpec.js +0 -1
- package/dist/native/GestureRecorderNativeTurboSpec.js.map +0 -1
- package/dist/native/SessionRecorderNative.js +0 -1
- package/dist/native/SessionRecorderNative.js.map +0 -1
- package/dist/native/SessionRecorderNativeTurboSpec.d.ts +0 -17
- package/dist/native/SessionRecorderNativeTurboSpec.js +0 -1
- package/dist/native/SessionRecorderNativeTurboSpec.js.map +0 -1
- package/dist/native/index.d.ts +0 -1
- package/dist/native/index.js +0 -1
- package/dist/native/index.js.map +0 -1
- package/dist/otel/helpers.js +0 -1
- package/dist/otel/helpers.js.map +0 -1
- package/dist/otel/index.js +0 -1
- package/dist/otel/index.js.map +0 -1
- package/dist/otel/instrumentations/index.js +0 -1
- package/dist/otel/instrumentations/index.js.map +0 -1
- package/dist/patch/index.js +0 -1
- package/dist/patch/index.js.map +0 -1
- package/dist/patch/xhr.js +0 -1
- package/dist/patch/xhr.js.map +0 -1
- package/dist/recorder/eventExporter.js +0 -1
- package/dist/recorder/eventExporter.js.map +0 -1
- package/dist/recorder/gestureRecorder.js +0 -1
- package/dist/recorder/gestureRecorder.js.map +0 -1
- package/dist/recorder/index.js +0 -1
- package/dist/recorder/index.js.map +0 -1
- package/dist/recorder/navigationTracker.js +0 -1
- package/dist/recorder/navigationTracker.js.map +0 -1
- package/dist/recorder/screenRecorder.js +0 -1
- package/dist/recorder/screenRecorder.js.map +0 -1
- package/dist/services/api.service.js +0 -1
- package/dist/services/api.service.js.map +0 -1
- package/dist/services/network.service.js +0 -1
- package/dist/services/network.service.js.map +0 -1
- package/dist/services/screenMaskingService.js +0 -1
- package/dist/services/screenMaskingService.js.map +0 -1
- package/dist/services/storage.service.js +0 -1
- package/dist/services/storage.service.js.map +0 -1
- package/dist/session-recorder.js +0 -1
- package/dist/session-recorder.js.map +0 -1
- package/dist/types/configs.js +0 -1
- package/dist/types/configs.js.map +0 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/types/session-recorder.js +0 -1
- package/dist/types/session-recorder.js.map +0 -1
- package/dist/types/session.js +0 -1
- package/dist/types/session.js.map +0 -1
- package/dist/utils/app-metadata.js +0 -1
- package/dist/utils/app-metadata.js.map +0 -1
- package/dist/utils/constants.optional.expo.js +0 -1
- package/dist/utils/constants.optional.expo.js.map +0 -1
- package/dist/utils/constants.optional.js +0 -1
- package/dist/utils/constants.optional.js.map +0 -1
- package/dist/utils/createStore.js +0 -1
- package/dist/utils/createStore.js.map +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/logger.js +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/platform.js +0 -1
- package/dist/utils/platform.js.map +0 -1
- package/dist/utils/request-utils.js +0 -1
- package/dist/utils/request-utils.js.map +0 -1
- package/dist/utils/rrweb-events.js +0 -1
- package/dist/utils/rrweb-events.js.map +0 -1
- package/dist/utils/session.js +0 -1
- package/dist/utils/session.js.map +0 -1
- package/dist/utils/shallowEqual.js +0 -1
- package/dist/utils/shallowEqual.js.map +0 -1
- package/dist/utils/time.js +0 -1
- package/dist/utils/time.js.map +0 -1
- package/dist/utils/type-utils.js +0 -1
- package/dist/utils/type-utils.js.map +0 -1
- package/dist/version.js +0 -1
- package/dist/version.js.map +0 -1
- package/docs/AUTO_METADATA_DETECTION.md +0 -108
- package/react-native.config.js +0 -13
- /package/{dist/components/index.d.ts → src/components/index.ts} +0 -0
- /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 @@
|
|
|
1
|
+
{"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;AAAA,OAAO,MAAMA,OAAO,GAAG,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScreenRecorderView/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/SessionRecorderWidget/ModalHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAc3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionRecorderWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/SessionRecorderWidget/SessionRecorderWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAe3D,UAAU,0BAA0B;CAAG;AAEvC,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA4H9D,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../../src/components/SessionRecorderWidget/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAY1C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAgB7C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAa1C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAY7C,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAUxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SessionRecorderWidget/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAE5D,eAAe,qBAAqB,CAAC"}
|