@multiplayer-app/session-recorder-react-native 0.0.1 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +708 -83
  2. package/SessionRecorderNative.podspec +26 -0
  3. package/android/build.gradle +34 -0
  4. package/copy-react-native-dist.sh +34 -16
  5. package/dist/components/ScreenRecorderView/ScreenRecorderView.js +1 -1
  6. package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -1
  7. package/dist/components/SessionRecorderWidget/ErrorBanner.d.ts +7 -0
  8. package/dist/components/SessionRecorderWidget/ErrorBanner.js +1 -0
  9. package/dist/components/SessionRecorderWidget/ErrorBanner.js.map +1 -0
  10. package/dist/components/SessionRecorderWidget/FinalPopover.d.ts +12 -0
  11. package/dist/components/SessionRecorderWidget/FinalPopover.js +1 -0
  12. package/dist/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
  13. package/dist/components/SessionRecorderWidget/FloatingButton.d.ts +8 -0
  14. package/dist/components/SessionRecorderWidget/FloatingButton.js +1 -0
  15. package/dist/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
  16. package/dist/components/SessionRecorderWidget/InitialPopover.d.ts +16 -0
  17. package/dist/components/SessionRecorderWidget/InitialPopover.js +1 -0
  18. package/dist/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
  19. package/dist/components/SessionRecorderWidget/ModalContainer.d.ts +8 -0
  20. package/dist/components/SessionRecorderWidget/ModalContainer.js +1 -0
  21. package/dist/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
  22. package/dist/components/SessionRecorderWidget/ModalHeader.d.ts +6 -0
  23. package/dist/components/SessionRecorderWidget/ModalHeader.js +1 -0
  24. package/dist/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
  25. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +5 -0
  26. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +1 -0
  27. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
  28. package/dist/components/SessionRecorderWidget/icons.d.ts +11 -0
  29. package/dist/components/SessionRecorderWidget/icons.js +1 -0
  30. package/dist/components/SessionRecorderWidget/icons.js.map +1 -0
  31. package/dist/components/SessionRecorderWidget/index.d.ts +2 -0
  32. package/dist/components/SessionRecorderWidget/index.js +1 -0
  33. package/dist/components/SessionRecorderWidget/index.js.map +1 -0
  34. package/dist/components/SessionRecorderWidget/styles.d.ts +165 -0
  35. package/dist/components/SessionRecorderWidget/styles.js +1 -0
  36. package/dist/components/SessionRecorderWidget/styles.js.map +1 -0
  37. package/dist/components/index.d.ts +2 -1
  38. package/dist/components/index.js +1 -1
  39. package/dist/components/index.js.map +1 -1
  40. package/dist/config/constants.js +1 -1
  41. package/dist/config/constants.js.map +1 -1
  42. package/dist/config/defaults.d.ts +4 -4
  43. package/dist/config/defaults.js +1 -1
  44. package/dist/config/defaults.js.map +1 -1
  45. package/dist/config/masking.d.ts +2 -2
  46. package/dist/config/masking.js +1 -1
  47. package/dist/config/masking.js.map +1 -1
  48. package/dist/config/session-recorder.js +1 -1
  49. package/dist/config/session-recorder.js.map +1 -1
  50. package/dist/config/validators.d.ts +1 -1
  51. package/dist/config/validators.js +1 -1
  52. package/dist/config/validators.js.map +1 -1
  53. package/dist/config/widget.d.ts +9 -0
  54. package/dist/config/widget.js +1 -0
  55. package/dist/config/widget.js.map +1 -0
  56. package/dist/context/SessionRecorderContext.d.ts +12 -3
  57. package/dist/context/SessionRecorderContext.js +1 -1
  58. package/dist/context/SessionRecorderContext.js.map +1 -1
  59. package/dist/context/SessionRecorderStore.d.ts +12 -0
  60. package/dist/context/SessionRecorderStore.js +1 -0
  61. package/dist/context/SessionRecorderStore.js.map +1 -0
  62. package/dist/context/useSessionRecorderStore.d.ts +8 -0
  63. package/dist/context/useSessionRecorderStore.js +1 -0
  64. package/dist/context/useSessionRecorderStore.js.map +1 -0
  65. package/dist/context/useStoreSelector.d.ts +4 -0
  66. package/dist/context/useStoreSelector.js +1 -0
  67. package/dist/context/useStoreSelector.js.map +1 -0
  68. package/dist/index.d.ts +1 -1
  69. package/dist/index.js +1 -1
  70. package/dist/index.js.map +1 -1
  71. package/dist/native/GestureRecorderNative.d.ts +57 -0
  72. package/dist/native/GestureRecorderNative.js +1 -0
  73. package/dist/native/GestureRecorderNative.js.map +1 -0
  74. package/dist/native/SessionRecorderNative.d.ts +33 -0
  75. package/dist/native/SessionRecorderNative.js +1 -0
  76. package/dist/native/SessionRecorderNative.js.map +1 -0
  77. package/dist/native/index.d.ts +2 -0
  78. package/dist/native/index.js +1 -0
  79. package/dist/native/index.js.map +1 -0
  80. package/dist/otel/index.js +1 -1
  81. package/dist/otel/index.js.map +1 -1
  82. package/dist/patch/xhr.js +1 -1
  83. package/dist/patch/xhr.js.map +1 -1
  84. package/dist/recorder/eventExporter.d.ts +4 -1
  85. package/dist/recorder/eventExporter.js +1 -1
  86. package/dist/recorder/eventExporter.js.map +1 -1
  87. package/dist/recorder/gestureRecorder.d.ts +28 -62
  88. package/dist/recorder/gestureRecorder.js +1 -1
  89. package/dist/recorder/gestureRecorder.js.map +1 -1
  90. package/dist/recorder/index.d.ts +2 -0
  91. package/dist/recorder/index.js +1 -1
  92. package/dist/recorder/index.js.map +1 -1
  93. package/dist/recorder/navigationTracker.d.ts +4 -19
  94. package/dist/recorder/navigationTracker.js +1 -1
  95. package/dist/recorder/navigationTracker.js.map +1 -1
  96. package/dist/recorder/screenRecorder.d.ts +11 -5
  97. package/dist/recorder/screenRecorder.js +1 -1
  98. package/dist/recorder/screenRecorder.js.map +1 -1
  99. package/dist/services/api.service.d.ts +12 -3
  100. package/dist/services/api.service.js +1 -1
  101. package/dist/services/api.service.js.map +1 -1
  102. package/dist/services/network.service.d.ts +46 -0
  103. package/dist/services/network.service.js +1 -0
  104. package/dist/services/network.service.js.map +1 -0
  105. package/dist/services/screenMaskingService.d.ts +47 -0
  106. package/dist/services/screenMaskingService.js +1 -0
  107. package/dist/services/screenMaskingService.js.map +1 -0
  108. package/dist/services/storage.service.d.ts +18 -2
  109. package/dist/services/storage.service.js +1 -1
  110. package/dist/services/storage.service.js.map +1 -1
  111. package/dist/session-recorder.d.ts +18 -33
  112. package/dist/session-recorder.js +1 -1
  113. package/dist/session-recorder.js.map +1 -1
  114. package/dist/types/configs.d.ts +85 -0
  115. package/dist/types/configs.js +1 -0
  116. package/dist/types/configs.js.map +1 -0
  117. package/dist/types/index.d.ts +1 -0
  118. package/dist/types/index.js +1 -1
  119. package/dist/types/index.js.map +1 -1
  120. package/dist/types/session-recorder.d.ts +105 -132
  121. package/dist/types/session-recorder.js +1 -1
  122. package/dist/types/session-recorder.js.map +1 -1
  123. package/dist/utils/constants.optional.d.ts +21 -0
  124. package/dist/utils/constants.optional.expo.d.ts +3 -0
  125. package/dist/utils/constants.optional.expo.js +1 -0
  126. package/dist/utils/constants.optional.expo.js.map +1 -0
  127. package/dist/utils/constants.optional.js +1 -0
  128. package/dist/utils/constants.optional.js.map +1 -0
  129. package/dist/utils/createStore.d.ts +8 -0
  130. package/dist/utils/createStore.js +1 -0
  131. package/dist/utils/createStore.js.map +1 -0
  132. package/dist/utils/logger.d.ts +2 -7
  133. package/dist/utils/logger.js +1 -1
  134. package/dist/utils/logger.js.map +1 -1
  135. package/dist/utils/platform.d.ts +11 -0
  136. package/dist/utils/platform.js +1 -1
  137. package/dist/utils/platform.js.map +1 -1
  138. package/dist/utils/rrweb-events.d.ts +4 -3
  139. package/dist/utils/rrweb-events.js +1 -1
  140. package/dist/utils/rrweb-events.js.map +1 -1
  141. package/dist/utils/session.d.ts +2 -1
  142. package/dist/utils/session.js +1 -1
  143. package/dist/utils/session.js.map +1 -1
  144. package/dist/utils/shallowEqual.d.ts +1 -0
  145. package/dist/utils/shallowEqual.js +1 -0
  146. package/dist/utils/shallowEqual.js.map +1 -0
  147. package/dist/version.d.ts +1 -1
  148. package/dist/version.js +1 -1
  149. package/dist/version.js.map +1 -1
  150. package/ios/GestureRecorderNative.m +21 -0
  151. package/ios/GestureRecorderNative.swift +316 -0
  152. package/ios/SessionRecorderNative.m +17 -0
  153. package/ios/SessionRecorderNative.podspec +26 -0
  154. package/ios/SessionRecorderNative.swift +599 -0
  155. package/package.json +15 -16
  156. package/react-native.config.js +12 -0
  157. package/RRWEB_INTEGRATION.md +0 -336
  158. package/VIEWSHOT_INTEGRATION_TEST.md +0 -123
  159. package/babel.config.js +0 -13
  160. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.d.ts +0 -6
  161. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js +0 -1
  162. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js.map +0 -1
  163. package/dist/components/GestureCaptureWrapper/index.d.ts +0 -1
  164. package/dist/components/GestureCaptureWrapper/index.js +0 -1
  165. package/dist/components/GestureCaptureWrapper/index.js.map +0 -1
  166. package/dist/components/GestureCaptureWrapper.d.ts +0 -6
  167. package/dist/components/GestureCaptureWrapper.js +0 -1
  168. package/dist/components/GestureCaptureWrapper.js.map +0 -1
  169. package/dist/expo.d.ts +0 -7
  170. package/dist/expo.js +0 -1
  171. package/dist/expo.js.map +0 -1
  172. package/dist/otel/instrumentations/gestureInstrumentation.d.ts +0 -15
  173. package/dist/otel/instrumentations/gestureInstrumentation.js +0 -1
  174. package/dist/otel/instrumentations/gestureInstrumentation.js.map +0 -1
  175. package/dist/otel/instrumentations/reactNativeInstrumentation.d.ts +0 -8
  176. package/dist/otel/instrumentations/reactNativeInstrumentation.js +0 -1
  177. package/dist/otel/instrumentations/reactNativeInstrumentation.js.map +0 -1
  178. package/dist/otel/instrumentations/reactNavigationInstrumentation.d.ts +0 -13
  179. package/dist/otel/instrumentations/reactNavigationInstrumentation.js +0 -1
  180. package/dist/otel/instrumentations/reactNavigationInstrumentation.js.map +0 -1
  181. package/dist/recorder/gestureHandlerRecorder.d.ts +0 -19
  182. package/dist/recorder/gestureHandlerRecorder.js +0 -1
  183. package/dist/recorder/gestureHandlerRecorder.js.map +0 -1
  184. package/dist/types/rrweb.d.ts +0 -118
  185. package/dist/types/rrweb.js +0 -1
  186. package/dist/types/rrweb.js.map +0 -1
  187. package/scripts/generate-app-metadata.js +0 -173
  188. package/src/components/GestureCaptureWrapper/GestureCaptureWrapper.tsx +0 -86
  189. package/src/components/GestureCaptureWrapper/index.ts +0 -1
  190. package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +0 -72
  191. package/src/components/ScreenRecorderView/index.ts +0 -1
  192. package/src/components/index.ts +0 -1
  193. package/src/config/constants.ts +0 -60
  194. package/src/config/defaults.ts +0 -82
  195. package/src/config/index.ts +0 -6
  196. package/src/config/masking.ts +0 -27
  197. package/src/config/session-recorder.ts +0 -55
  198. package/src/config/validators.ts +0 -31
  199. package/src/context/SessionRecorderContext.tsx +0 -75
  200. package/src/expo.ts +0 -11
  201. package/src/index.ts +0 -17
  202. package/src/otel/helpers.ts +0 -275
  203. package/src/otel/index.ts +0 -138
  204. package/src/otel/instrumentations/index.ts +0 -115
  205. package/src/patch/index.ts +0 -1
  206. package/src/patch/xhr.ts +0 -142
  207. package/src/recorder/eventExporter.ts +0 -141
  208. package/src/recorder/gestureRecorder.ts +0 -498
  209. package/src/recorder/index.ts +0 -179
  210. package/src/recorder/navigationTracker.ts +0 -449
  211. package/src/recorder/screenRecorder.ts +0 -498
  212. package/src/services/api.service.ts +0 -203
  213. package/src/services/storage.service.ts +0 -158
  214. package/src/session-recorder.ts +0 -600
  215. package/src/types/expo.d.ts +0 -23
  216. package/src/types/index.ts +0 -28
  217. package/src/types/session-recorder.ts +0 -423
  218. package/src/types/session.ts +0 -65
  219. package/src/utils/app-metadata.ts +0 -31
  220. package/src/utils/index.ts +0 -8
  221. package/src/utils/logger.ts +0 -225
  222. package/src/utils/platform.ts +0 -384
  223. package/src/utils/request-utils.ts +0 -61
  224. package/src/utils/rrweb-events.ts +0 -309
  225. package/src/utils/session.ts +0 -18
  226. package/src/utils/time.ts +0 -17
  227. package/src/utils/type-utils.ts +0 -75
  228. package/src/version.ts +0 -1
  229. package/tsconfig.json +0 -24
@@ -0,0 +1,26 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = "SessionRecorderNative"
7
+ s.version = package["version"]
8
+ s.summary = "Native session recorder module for React Native"
9
+ s.description = "A native module that provides session recording with automatic masking of sensitive UI elements"
10
+ s.homepage = "https://github.com/multiplayer-app/multiplayer-session-recorder-javascript"
11
+ s.license = "MIT"
12
+ s.authors = { "Multiplayer Software, Inc." => "https://www.multiplayer.app" }
13
+ s.platforms = { :ios => "12.0" }
14
+ s.source = { :git => "https://github.com/multiplayer-app/multiplayer-session-recorder-javascript.git", :tag => "#{s.version}" }
15
+
16
+ s.source_files = "ios/**/*.{h,m,mm,swift}"
17
+ s.requires_arc = true
18
+
19
+ s.dependency "React-Core"
20
+ s.dependency "React"
21
+
22
+ # Ensure proper linking for Expo
23
+ s.pod_target_xcconfig = {
24
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/React-Core/React\""
25
+ }
26
+ end
@@ -0,0 +1,34 @@
1
+ apply plugin: 'com.android.library'
2
+ apply plugin: 'kotlin-android'
3
+
4
+ def safeExtGet(prop, fallback) {
5
+ rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
6
+ }
7
+
8
+ android {
9
+ namespace "com.multiplayer.sessionrecorder"
10
+ compileSdkVersion safeExtGet('compileSdkVersion', 33)
11
+
12
+ defaultConfig {
13
+ minSdkVersion safeExtGet('minSdkVersion', 21)
14
+ targetSdkVersion safeExtGet('targetSdkVersion', 33)
15
+ versionCode 1
16
+ versionName "1.0"
17
+ }
18
+
19
+ buildTypes {
20
+ release {
21
+ minifyEnabled false
22
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
23
+ }
24
+ }
25
+
26
+ compileOptions {
27
+ sourceCompatibility JavaVersion.VERSION_1_8
28
+ targetCompatibility JavaVersion.VERSION_1_8
29
+ }
30
+ }
31
+
32
+ dependencies {
33
+ implementation 'com.facebook.react:react-native:+'
34
+ }
@@ -5,7 +5,10 @@ set -e
5
5
 
6
6
  # Configuration
7
7
  SOURCE_DIR="./dist"
8
- TARGET_DIR="../../../sample-expo-app/node_modules/@multiplayer-app/session-recorder-react-native"
8
+ SOURCE_DIR_IOS="./ios"
9
+ SOURCE_DIR_ANDROID="./android"
10
+ TARGET_DIR_EXPO="./examples/example-app-expo/node_modules/@multiplayer-app/session-recorder-react-native"
11
+ TARGET_DIR_NATIVE="./examples/example-app/node_modules/@multiplayer-app/session-recorder-react-native"
9
12
 
10
13
  echo "📱 Copying React Native dist to sample Expo app..."
11
14
 
@@ -17,22 +20,37 @@ if [ ! -d "$SOURCE_DIR" ]; then
17
20
  fi
18
21
 
19
22
  # Check if target directory exists
20
- if [ ! -d "$TARGET_DIR" ]; then
21
- echo "Target directory does not exist: $TARGET_DIR"
22
- echo "💡 Please make sure the sample-expo-app is set up and has the package installed"
23
- exit 1
23
+ if [ ! -d "$TARGET_DIR_EXPO" ]; then
24
+ echo "⚠️ Target directory does not exist: $TARGET_DIR_EXPO"
25
+ echo "💡 Skipping script execution - please make sure the sample-expo-app is set up and has the package installed"
26
+ exit 0
24
27
  fi
25
28
 
26
- # Create backup of existing dist if it exists
27
- if [ -d "$TARGET_DIR/dist" ]; then
28
- echo "📦 Creating backup of existing dist..."
29
- cp -r "$TARGET_DIR/dist" "$TARGET_DIR/dist.backup.$(date +%Y%m%d_%H%M%S)"
29
+ # Check if target directory exists
30
+ if [ ! -d "$TARGET_DIR_NATIVE" ]; then
31
+ echo "⚠️ Target directory does not exist: $TARGET_DIR_NATIVE"
32
+ echo "💡 Skipping script execution - please make sure the example-app is set up and has the package installed"
33
+ exit 0
30
34
  fi
31
35
 
32
- # Copy the dist folder
33
- echo "🔄 Copying dist folder..."
34
- cp -r "$SOURCE_DIR" "$TARGET_DIR/"
35
-
36
- echo " Successfully copied dist folder to sample Expo app!"
37
- echo "📍 Source: $SOURCE_DIR"
38
- echo "📍 Target: $TARGET_DIR/dist"
36
+ # Copy the dist and native folders
37
+ echo "🔄 Copying dist folder and native sources..."
38
+ cp -r "$SOURCE_DIR" "$TARGET_DIR_EXPO/"
39
+ cp -r "$SOURCE_DIR_IOS" "$TARGET_DIR_EXPO/"
40
+ cp -r "$SOURCE_DIR_ANDROID" "$TARGET_DIR_EXPO/"
41
+
42
+ cp -r "$SOURCE_DIR" "$TARGET_DIR_NATIVE/"
43
+ cp -r "$SOURCE_DIR_IOS" "$TARGET_DIR_NATIVE/"
44
+ cp -r "$SOURCE_DIR_ANDROID" "$TARGET_DIR_NATIVE/"
45
+
46
+ # Ensure RN autolinking config and metadata are in sync
47
+ echo "🛠️ Syncing react-native.config.js and package.json..."
48
+ cp -f "./react-native.config.js" "$TARGET_DIR_EXPO/react-native.config.js"
49
+ cp -f "./package.json" "$TARGET_DIR_EXPO/package.json"
50
+ cp -f "./react-native.config.js" "$TARGET_DIR_NATIVE/react-native.config.js"
51
+ cp -f "./package.json" "$TARGET_DIR_NATIVE/package.json"
52
+
53
+ echo "✅ Successfully synced package into sample Expo app."
54
+ echo "📍 Source: $(pwd)"
55
+ echo "📍 Target: $TARGET_DIR_EXPO"
56
+ echo "📍 Target: $TARGET_DIR_NATIVE"
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.ScreenRecorderView=void 0;var _sessionRecorderReactNative=_interopRequireDefault(require("@multiplayer-app/session-recorder-react-native"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _types=require("../../types");var _utils=require("../../utils");var _GestureCaptureWrapper=require("../GestureCaptureWrapper");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/ScreenRecorderView/ScreenRecorderView.js";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t2 in e)"default"!==_t2&&{}.hasOwnProperty.call(e,_t2)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t2))&&(i.get||i.set)?o(f,_t2,i):f[_t2]=e[_t2]);return f;})(e,t);}var ScreenRecorderView=exports.ScreenRecorderView=function ScreenRecorderView(_ref){var children=_ref.children;var handleGestureRecord=(0,_react.useCallback)(function(gestureType,data){var _a,_b,_c,_d,_e,_f,_g;if(_sessionRecorderReactNative["default"].sessionState!==_types.SessionState.started){_utils.logger.debug('SessionRecorderContext','Gesture recording skipped',{client:!!_sessionRecorderReactNative["default"].sessionState,sessionState:_sessionRecorderReactNative["default"].sessionState});return;}_utils.logger.debug('SessionRecorderContext','Gesture recorded',{gestureType:gestureType,data:data});try{switch(gestureType){case'tap':_utils.logger.debug('SessionRecorderContext','Recording tap as touch start + end');(_a=_sessionRecorderReactNative["default"].recordTouchStart)===null||_a===void 0?void 0:_a.call(_sessionRecorderReactNative["default"],data.x,data.y,undefined,1.0);(_b=_sessionRecorderReactNative["default"].recordTouchEnd)===null||_b===void 0?void 0:_b.call(_sessionRecorderReactNative["default"],data.x,data.y,undefined,1.0);break;case'pan_start':_utils.logger.debug('SessionRecorderContext','Recording pan_start as touch start');(_c=_sessionRecorderReactNative["default"].recordTouchStart)===null||_c===void 0?void 0:_c.call(_sessionRecorderReactNative["default"],data.x,data.y,undefined,1.0);break;case'pan_update':_utils.logger.debug('SessionRecorderContext','Recording pan_update as touch move');(_d=_sessionRecorderReactNative["default"].recordTouchMove)===null||_d===void 0?void 0:_d.call(_sessionRecorderReactNative["default"],data.x,data.y,undefined,1.0);break;case'pan_end':_utils.logger.debug('SessionRecorderContext','Recording pan_end as touch end');(_e=_sessionRecorderReactNative["default"].recordTouchEnd)===null||_e===void 0?void 0:_e.call(_sessionRecorderReactNative["default"],data.x,data.y,undefined,1.0);break;case'long_press':_utils.logger.debug('SessionRecorderContext','Recording long_press as touch start + end');(_f=_sessionRecorderReactNative["default"].recordTouchStart)===null||_f===void 0?void 0:_f.call(_sessionRecorderReactNative["default"],data.x,data.y,undefined,1.0);(_g=_sessionRecorderReactNative["default"].recordTouchEnd)===null||_g===void 0?void 0:_g.call(_sessionRecorderReactNative["default"],data.x,data.y,undefined,1.0);break;default:}}catch(error){_utils.logger.error('SessionRecorderContext','Failed to record gesture event',error);}},[]);var setViewShotRef=function setViewShotRef(ref){var _a;if(ref){(_a=_sessionRecorderReactNative["default"].setViewShotRef)===null||_a===void 0?void 0:_a.call(_sessionRecorderReactNative["default"],ref);}};return(0,_jsxRuntime.jsx)(_GestureCaptureWrapper.GestureCaptureWrapper,{onGestureRecord:handleGestureRecord,children:(0,_jsxRuntime.jsx)(_reactNative.View,{ref:setViewShotRef,style:{flex:1},children:children})});};
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ScreenRecorderView=void 0;var _sessionRecorderReactNative=_interopRequireDefault(require("@multiplayer-app/session-recorder-react-native"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/ScreenRecorderView/ScreenRecorderView.js";var ScreenRecorderView=exports.ScreenRecorderView=function ScreenRecorderView(_ref){var children=_ref.children;var setViewShotRef=function setViewShotRef(ref){var _a;if(ref){(_a=_sessionRecorderReactNative["default"].setViewShotRef)===null||_a===void 0?void 0:_a.call(_sessionRecorderReactNative["default"],ref);}};return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:setViewShotRef,style:{flex:1},children:children});};
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenRecorderView.js","sourceRoot":"","sources":["../../../src/components/ScreenRecorderView/ScreenRecorderView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScreenRecorderView.js","sourceRoot":"","sources":["../../../src/components/ScreenRecorderView/ScreenRecorderView.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,gDAAgD,CAAA;AAC5E,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAInC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE;IAC1E,kEAAkE;IAClE,MAAM,cAAc,GAAG,CAAC,GAAgB,EAAE,EAAE;;QAC1C,IAAI,GAAG,EAAE,CAAC;YACR,MAAA,eAAe,CAAC,cAAc,gEAAG,GAAG,CAAC,CAAA;QACvC,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAC5C;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface ErrorBannerProps {
3
+ error: string;
4
+ onDismiss: () => void;
5
+ }
6
+ declare const ErrorBanner: React.FC<ErrorBannerProps>;
7
+ export default ErrorBanner;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/SessionRecorderWidget/ErrorBanner.js";var ErrorBanner=function ErrorBanner(_ref){var error=_ref.error,onDismiss=_ref.onDismiss;return(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.container,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.content,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.errorText,children:error}),(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:onDismiss,style:styles.dismissButton,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.dismissText,children:"\u2715"})})]})});};var styles=_reactNative.StyleSheet.create({container:{backgroundColor:'#ff4444',paddingHorizontal:16,paddingVertical:12,marginHorizontal:16,marginTop:8,borderRadius:8},content:{flexDirection:'row',alignItems:'center',justifyContent:'space-between'},errorText:{color:'white',fontSize:14,flex:1,marginRight:8},dismissButton:{padding:4,borderRadius:12,backgroundColor:'rgba(255, 255, 255, 0.2)',width:24,height:24,alignItems:'center',justifyContent:'center'},dismissText:{color:'white',fontSize:12,fontWeight:'bold'}});var _default=exports["default"]=ErrorBanner;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBanner.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/ErrorBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAOhE,MAAM,WAAW,GAA+B,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;IACvE,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC1B;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAC5C;QAAA,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CACzD;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAC1C;QAAA,EAAE,SAAS,CACb;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,eAAe,EAAE,SAAS;QAC1B,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,EAAE;QACpB,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;KAChB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,eAAe;KAChC;IACD,SAAS,EAAE;QACT,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC;QACP,WAAW,EAAE,CAAC;KACf;IACD,aAAa,EAAE;QACb,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,0BAA0B;QAC3C,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,MAAM;KACnB;CACF,CAAC,CAAA;AAEF,eAAe,WAAW,CAAA"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { TextOverridesOptions } from '../../types';
3
+ interface FinalPopoverProps extends React.PropsWithChildren {
4
+ isOnline: boolean;
5
+ textOverrides: TextOverridesOptions;
6
+ onStopRecording: (comment: string) => void;
7
+ onCancelSession: () => void;
8
+ onClose: () => void;
9
+ isSubmitting: boolean;
10
+ }
11
+ declare const FinalPopover: React.FC<FinalPopoverProps>;
12
+ export default FinalPopover;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _styles=require("./styles");var _ModalHeader=_interopRequireDefault(require("./ModalHeader"));var _utils=require("../../utils");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/SessionRecorderWidget/FinalPopover.js";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t3 in e)"default"!==_t3&&{}.hasOwnProperty.call(e,_t3)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t3))&&(i.get||i.set)?o(f,_t3,i):f[_t3]=e[_t3]);return f;})(e,t);}var FinalPopover=function FinalPopover(_ref){var isOnline=_ref.isOnline,textOverrides=_ref.textOverrides,onStopRecording=_ref.onStopRecording,onCancelSession=_ref.onCancelSession,isSubmitting=_ref.isSubmitting,children=_ref.children;var _useState=(0,_react.useState)(''),_useState2=(0,_slicedToArray2["default"])(_useState,2),comment=_useState2[0],setComment=_useState2[1];var handleStopRecording=function(){var _ref2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var _t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;_context.next=1;return onStopRecording(comment);case 1:_context.next=3;break;case 2:_context.prev=2;_t=_context["catch"](0);_utils.logger.error('FinalPopover','Failed to save session',_t);case 3:case"end":return _context.stop();}},_callee,null,[[0,2]]);}));return function handleStopRecording(){return _ref2.apply(this,arguments);};}();return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.sharedStyles.popoverContent,children:[(0,_jsxRuntime.jsx)(_ModalHeader["default"],{children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:onCancelSession,disabled:!isOnline,style:_styles.sharedStyles.cancelButton,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.cancelButtonText,children:textOverrides.cancelButtonText})})}),(0,_jsxRuntime.jsxs)(_reactNative.ScrollView,{style:_styles.sharedStyles.popoverBody,keyboardShouldPersistTaps:"handled",contentInsetAdjustmentBehavior:"automatic",children:[children,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.title,children:textOverrides.finalTitle}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.description,children:textOverrides.finalDescription}),(0,_jsxRuntime.jsx)(_reactNative.TextInput,{style:_styles.sharedStyles.commentInput,placeholder:textOverrides.commentPlaceholder,placeholderTextColor:'#9CA3AF',value:comment,onChangeText:setComment,multiline:true,numberOfLines:3,textAlignVertical:"top",returnKeyType:"done",blurOnSubmit:true,onSubmitEditing:function onSubmitEditing(){return _reactNative.Keyboard.dismiss();}}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:_styles.sharedStyles.popoverFooter,children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{disabled:isSubmitting||!isOnline,style:[_styles.sharedStyles.actionButton,_styles.sharedStyles.stopButton],onPress:handleStopRecording,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.actionButtonText,children:isSubmitting?'Saving...':textOverrides.saveButtonText})})})]})]});};var _default=exports["default"]=FinalPopover;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FinalPopover.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/FinalPopover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { SessionState } from '../../types';
3
+ interface FloatingButtonProps {
4
+ sessionState: SessionState | null;
5
+ onPress: () => void;
6
+ }
7
+ declare const FloatingButton: React.FC<FloatingButtonProps>;
8
+ export default FloatingButton;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _types=require("../../types");var _storage=require("../../services/storage.service");var _icons=require("./icons");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/SessionRecorderWidget/FloatingButton.js";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t2 in e)"default"!==_t2&&{}.hasOwnProperty.call(e,_t2)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t2))&&(i.get||i.set)?o(f,_t2,i):f[_t2]=e[_t2]);return f;})(e,t);}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var buttonSize=52;var rightOffset=20;var topOffset=_reactNative.Platform.OS==='ios'?60:40;var FloatingButton=function FloatingButton(_ref){var sessionState=_ref.sessionState,onPress=_ref.onPress;var position=(0,_react.useRef)(new _reactNative.Animated.ValueXY({x:0,y:0})).current;var lastPosition=(0,_react.useRef)({top:topOffset,right:rightOffset});var storageService=(0,_react.useRef)(_storage.StorageService.getInstance()).current;var screenBounds=(0,_react.useMemo)(function(){var _Dimensions$get=_reactNative.Dimensions.get('window'),width=_Dimensions$get.width,height=_Dimensions$get.height;return{minTop:topOffset,maxTop:height-buttonSize,minRight:0,maxRight:width-buttonSize};},[]);(0,_react.useEffect)(function(){var savedPosition=storageService.getFloatingButtonPosition();if(savedPosition){var _Dimensions$get2=_reactNative.Dimensions.get('window'),width=_Dimensions$get2.width;var top=savedPosition.y;var right=width-savedPosition.x-buttonSize;lastPosition.current={top:top,right:right};position.setValue({x:right,y:top});}else{position.setValue({x:lastPosition.current.right,y:lastPosition.current.top});}},[]);var panResponder=(0,_react.useRef)(_reactNative.PanResponder.create({onStartShouldSetPanResponder:function onStartShouldSetPanResponder(){return true;},onMoveShouldSetPanResponder:function onMoveShouldSetPanResponder(evt,gestureState){var distance=Math.sqrt(gestureState.dx*gestureState.dx+gestureState.dy*gestureState.dy);return distance>5;},onPanResponderGrant:function onPanResponderGrant(){position.setValue({x:lastPosition.current.right,y:lastPosition.current.top});},onPanResponderMove:function onPanResponderMove(evt,gestureState){var newTop=lastPosition.current.top+gestureState.dy;var newRight=lastPosition.current.right-gestureState.dx;position.setValue({x:newRight,y:newTop});},onPanResponderRelease:function onPanResponderRelease(e,gestureState){var distance=Math.sqrt(gestureState.dx*gestureState.dx+gestureState.dy*gestureState.dy);if(distance<=5){onPress();}else{var newTop=lastPosition.current.top+gestureState.dy;var newRight=lastPosition.current.right-gestureState.dx;var clampedTop=Math.max(screenBounds.minTop,Math.min(screenBounds.maxTop,newTop));var clampedRight=Math.max(screenBounds.minRight,Math.min(screenBounds.maxRight,newRight));lastPosition.current={top:clampedTop,right:clampedRight};position.setValue({x:clampedRight,y:clampedTop});var _Dimensions$get3=_reactNative.Dimensions.get('window'),width=_Dimensions$get3.width;var storagePosition={x:width-clampedRight-buttonSize,y:clampedTop};storageService.saveFloatingButtonPosition(storagePosition);}}})).current;var content=(0,_react.useMemo)(function(){switch(sessionState){case _types.SessionState.started:return{icon:(0,_jsxRuntime.jsx)(_icons.CapturingIcon,{size:28,color:"white"}),color:'#FF4444'};case _types.SessionState.paused:return{icon:(0,_jsxRuntime.jsx)(_icons.PausedIcon,{size:28,color:"white"}),color:'#FFA500'};default:return{icon:(0,_jsxRuntime.jsx)(_icons.RecordIcon,{size:28,color:"#718096"}),color:'#ffffff'};}},[sessionState]);return(0,_jsxRuntime.jsx)(_reactNative.Animated.View,_objectSpread(_objectSpread({style:[styles.draggableButton,{top:position.y,right:position.x}]},panResponder.panHandlers),{},{children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.floatingButton,{backgroundColor:content.color}],children:content.icon})}));};var styles=_reactNative.StyleSheet.create({draggableButton:{position:'absolute'},floatingButton:{elevation:8,shadowRadius:4,width:buttonSize,shadowColor:'#000',height:buttonSize,shadowOpacity:0.25,alignItems:'center',justifyContent:'center',borderRadius:buttonSize/2,shadowOffset:{width:0,height:2}}});var _default=exports["default"]=FloatingButton;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingButton.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/FloatingButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAO/D,MAAM,UAAU,GAAG,EAAE,CAAA;AACrB,MAAM,WAAW,GAAG,EAAE,CAAA;AACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAEjD,MAAM,cAAc,GAAkC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;IAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IACnE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAA;IAEnE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAElD,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,GAAG,UAAU;YAC3B,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,KAAK,GAAG,UAAU;SAC7B,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,yCAAyC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,cAAc,CAAC,yBAAyB,EAAE,CAAA;QAChE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC1C,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAA;YAC3B,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa,CAAC,CAAC,GAAG,UAAU,CAAA;YAClD,YAAY,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACnF,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,YAAY,GAAG,MAAM,CACzB,YAAY,CAAC,MAAM,CAAC;QAClB,4BAA4B,EAAE,GAAG,EAAE,CAAC,IAAI;QACxC,2BAA2B,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;YACjG,OAAO,QAAQ,GAAG,CAAC,CAAA;QACrB,CAAC;QACD,mBAAmB,EAAE,GAAG,EAAE;YACxB,4CAA4C;YAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACnF,CAAC;QACD,kBAAkB,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;YACxC,mDAAmD;YACnD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,CAAA;YACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,EAAE,CAAA;YAE7D,8BAA8B;YAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/C,CAAC;QACD,qBAAqB,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE;YACzC,2DAA2D;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;YAEjG,6DAA6D;YAC7D,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAA;YACX,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,CAAA;gBACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,EAAE,CAAA;gBAE7D,yBAAyB;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;gBACvF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAE/F,kBAAkB;gBAClB,YAAY,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;gBAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;gBAErD,8CAA8C;gBAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC1C,MAAM,eAAe,GAAG;oBACtB,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,UAAU;oBACpC,CAAC,EAAE,UAAU;iBACd,CAAA;gBAED,+CAA+C;gBAC/C,cAAc,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;KACF,CAAC,CACH,CAAC,OAAO,CAAA;IAET,iDAAiD;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,YAAY,CAAC,OAAO;gBACvB,OAAO,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;YAC9E,KAAK,YAAY,CAAC,MAAM;gBACtB,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;YAC3E;gBACE,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;QAC/E,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,OAAO,CACL,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,CACnH;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAChG;IAAA,EAAE,QAAQ,CAAC,IAAI,CAAC,CACjB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,eAAe,EAAE;QACf,QAAQ,EAAE,UAAU;KACrB;IACD,cAAc,EAAE;QACd,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,MAAM;QACnB,MAAM,EAAE,UAAU;QAClB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,YAAY,EAAE,UAAU,GAAG,CAAC;QAC5B,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;KACtC;CACF,CAAC,CAAA;AAEF,eAAe,cAAc,CAAA"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { SessionType } from '@multiplayer-app/session-recorder-common';
3
+ import { TextOverridesOptions } from '../../types';
4
+ interface InitialPopoverProps extends React.PropsWithChildren {
5
+ isContinuous: boolean;
6
+ showContinuousRecording: boolean;
7
+ textOverrides: TextOverridesOptions;
8
+ onStartRecording: (sessionType: SessionType) => void;
9
+ onStopRecording: (comment?: string) => void;
10
+ onSaveContinuousSession: () => void;
11
+ onClose: () => void;
12
+ isSubmitting: boolean;
13
+ isOnline: boolean;
14
+ }
15
+ declare const InitialPopover: React.FC<InitialPopoverProps>;
16
+ export default InitialPopover;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _styles=require("./styles");var _ModalHeader=_interopRequireDefault(require("./ModalHeader"));var _icons=require("./icons");var _utils=require("../../utils");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/SessionRecorderWidget/InitialPopover.js";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t5 in e)"default"!==_t5&&{}.hasOwnProperty.call(e,_t5)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t5))&&(i.get||i.set)?o(f,_t5,i):f[_t5]=e[_t5]);return f;})(e,t);}var InitialPopover=function InitialPopover(_ref){var isContinuous=_ref.isContinuous,textOverrides=_ref.textOverrides,showContinuousRecording=_ref.showContinuousRecording,onStartRecording=_ref.onStartRecording,onStopRecording=_ref.onStopRecording,onSaveContinuousSession=_ref.onSaveContinuousSession,isOnline=_ref.isOnline,children=_ref.children;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2["default"])(_useState,2),saving=_useState2[0],setSaving=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2["default"])(_useState3,2),loading=_useState4[0],setLoading=_useState4[1];var _useState5=(0,_react.useState)(isContinuous),_useState6=(0,_slicedToArray2["default"])(_useState5,2),continuousRecording=_useState6[0],setContinuousRecording=_useState6[1];var handleStartRecording=function(){var _ref2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var _t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;setLoading(true);_context.next=1;return onStartRecording(_sessionRecorderCommon.SessionType.PLAIN);case 1:_context.next=3;break;case 2:_context.prev=2;_t=_context["catch"](0);_utils.logger.error('InitialPopover','Failed to start recording',_t);case 3:_context.prev=3;setLoading(false);return _context.finish(3);case 4:case"end":return _context.stop();}},_callee,null,[[0,2,3,4]]);}));return function handleStartRecording(){return _ref2.apply(this,arguments);};}();var handleToggleContinuousRecording=function(){var _ref3=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(value){var _t2;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;setLoading(true);setContinuousRecording(value);if(!value){_context2.next=2;break;}_context2.next=1;return onStartRecording(_sessionRecorderCommon.SessionType.CONTINUOUS);case 1:_context2.next=3;break;case 2:_context2.next=3;return onStopRecording();case 3:_context2.next=5;break;case 4:_context2.prev=4;_t2=_context2["catch"](0);_utils.logger.error('InitialPopover','Failed to toggle continuous recording',_t2);case 5:_context2.prev=5;setLoading(false);return _context2.finish(5);case 6:case"end":return _context2.stop();}},_callee2,null,[[0,4,5,6]]);}));return function handleToggleContinuousRecording(_x){return _ref3.apply(this,arguments);};}();var handleSaveContinuousSession=function(){var _ref4=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(){var _t3;return _regenerator["default"].wrap(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;setSaving(true);_context3.next=1;return onSaveContinuousSession();case 1:_context3.next=3;break;case 2:_context3.prev=2;_t3=_context3["catch"](0);_utils.logger.error('InitialPopover','Failed to save continuous session',_t3);case 3:_context3.prev=3;setSaving(false);return _context3.finish(3);case 4:case"end":return _context3.stop();}},_callee3,null,[[0,2,3,4]]);}));return function handleSaveContinuousSession(){return _ref4.apply(this,arguments);};}();var textContent=(0,_react.useMemo)(function(){return{label:textOverrides.continuousRecordingLabel,title:showContinuousRecording?textOverrides.initialTitleWithContinuous:textOverrides.initialTitleWithoutContinuous,description:showContinuousRecording?textOverrides.initialDescriptionWithContinuous:textOverrides.initialDescriptionWithoutContinuous};},[showContinuousRecording,textOverrides]);return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.sharedStyles.popoverContent,children:[(0,_jsxRuntime.jsx)(_ModalHeader["default"],{}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.sharedStyles.popoverBody,children:[children,showContinuousRecording&&(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.sharedStyles.continuousRecordingSection,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.continuousRecordingLabel,children:textContent.label}),(0,_jsxRuntime.jsx)(_reactNative.Switch,{disabled:loading||!isOnline,value:continuousRecording,ios_backgroundColor:"#e2e8f0",onValueChange:handleToggleContinuousRecording,trackColor:{"false":'#e2e8f0',"true":'#493bff'},thumbColor:'#ffffff'})]}),!continuousRecording?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.title,children:textContent.title}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.description,children:textContent.description}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:_styles.sharedStyles.popoverFooter,children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{disabled:loading||!isOnline,onPress:handleStartRecording,style:[_styles.sharedStyles.actionButton,_styles.sharedStyles.startButton],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.actionButtonText,children:loading?'Starting to record...':textOverrides.startRecordingButtonText})})})]}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.sharedStyles.continuousOverlay,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.sharedStyles.continuousOverlayHeader,children:[(0,_jsxRuntime.jsx)(_icons.CapturingIcon,{size:20,color:"red"}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.continuousOverlayTitle,children:textOverrides.continuousOverlayTitle})]}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.continuousOverlayDescription,children:textOverrides.continuousOverlayDescription})]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:_styles.sharedStyles.popoverFooter,children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{disabled:saving||!isOnline,onPress:handleSaveContinuousSession,style:[_styles.sharedStyles.actionButton,_styles.sharedStyles.saveButton],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_styles.sharedStyles.actionButtonText,children:saving?'Saving...':textOverrides.saveLastSnapshotButtonText})})})]})]})]});};var _default=exports["default"]=InitialPopover;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitialPopover.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/InitialPopover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface ModalContainerProps {
3
+ isVisible: boolean;
4
+ onClose: () => void;
5
+ children: React.ReactNode;
6
+ }
7
+ declare const ModalContainer: React.FC<ModalContainerProps>;
8
+ export default ModalContainer;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/SessionRecorderWidget/ModalContainer.js";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t2 in e)"default"!==_t2&&{}.hasOwnProperty.call(e,_t2)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t2))&&(i.get||i.set)?o(f,_t2,i):f[_t2]=e[_t2]);return f;})(e,t);}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var _Dimensions$get=_reactNative.Dimensions.get('window'),SCREEN_HEIGHT=_Dimensions$get.height;var MODAL_HEIGHT=SCREEN_HEIGHT*0.7;var ModalContainer=function ModalContainer(_ref){var isVisible=_ref.isVisible,onClose=_ref.onClose,children=_ref.children;var fadeAnim=(0,_react.useRef)(new _reactNative.Animated.Value(0)).current;var translateY=(0,_react.useRef)(new _reactNative.Animated.Value(0)).current;var _useState=(0,_react.useState)(isVisible),_useState2=(0,_slicedToArray2["default"])(_useState,2),visible=_useState2[0],setVisible=_useState2[1];var SWIPE_THRESHOLD=100;var animateClose=function animateClose(){_reactNative.Animated.parallel([_reactNative.Animated.timing(fadeAnim,{toValue:0,duration:250,useNativeDriver:true}),_reactNative.Animated.timing(translateY,{toValue:MODAL_HEIGHT,duration:250,useNativeDriver:true})]).start(function(){setVisible(false);onClose();});};(0,_react.useEffect)(function(){if(isVisible){setVisible(true);translateY.setValue(MODAL_HEIGHT);_reactNative.Animated.parallel([_reactNative.Animated.timing(fadeAnim,{toValue:1,duration:300,useNativeDriver:true}),_reactNative.Animated.timing(translateY,{toValue:0,duration:300,useNativeDriver:true})]).start();}else if(visible){_reactNative.Animated.parallel([_reactNative.Animated.timing(fadeAnim,{toValue:0,duration:250,useNativeDriver:true}),_reactNative.Animated.timing(translateY,{toValue:MODAL_HEIGHT,duration:250,useNativeDriver:true})]).start(function(){setVisible(false);});}},[isVisible,fadeAnim,translateY,visible]);var panResponder=(0,_react.useRef)(_reactNative.PanResponder.create({onStartShouldSetPanResponder:function onStartShouldSetPanResponder(){return true;},onMoveShouldSetPanResponder:function onMoveShouldSetPanResponder(evt,gestureState){return gestureState.dy>10;},onPanResponderGrant:function onPanResponderGrant(){translateY.stopAnimation();},onPanResponderMove:function onPanResponderMove(evt,gestureState){if(gestureState.dy>0){translateY.setValue(gestureState.dy);}},onPanResponderRelease:function onPanResponderRelease(evt,gestureState){var dy=gestureState.dy,vy=gestureState.vy;if(dy>SWIPE_THRESHOLD||vy>500){animateClose();}else{_reactNative.Animated.spring(translateY,{toValue:0,useNativeDriver:true,tension:100,friction:8}).start();}}})).current;return(0,_jsxRuntime.jsx)(_reactNative.Modal,{visible:visible,transparent:true,animationType:"none",onRequestClose:onClose,children:(0,_jsxRuntime.jsx)(_reactNativeSafeAreaContext.SafeAreaProvider,{children:(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:_objectSpread(_objectSpread({},styles.backdrop),{},{opacity:fadeAnim}),children:[(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:styles.backdropPressable,onPress:animateClose}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,_objectSpread(_objectSpread({style:[styles.modal,{transform:[{translateY:translateY}]}]},panResponder.panHandlers),{},{children:(0,_jsxRuntime.jsx)(_reactNativeSafeAreaContext.SafeAreaView,{style:styles.safeArea,edges:['bottom'],children:children})}))]})})});};var styles=_reactNative.StyleSheet.create({backdrop:{position:'absolute',top:0,left:0,right:0,bottom:0,backgroundColor:'rgba(0, 0, 0, 0.5)'},backdropPressable:{flex:1},safeArea:{flex:1,backgroundColor:'white',borderTopLeftRadius:20,borderTopRightRadius:20},modal:_objectSpread({position:'absolute',bottom:0,left:0,right:0,maxHeight:MODAL_HEIGHT,backgroundColor:'white',borderTopLeftRadius:20,borderTopRightRadius:20},_reactNative.Platform.select({ios:{shadowColor:'#000',shadowOffset:{width:0,height:-2},shadowOpacity:0.1,shadowRadius:8},android:{elevation:8}}))});var _default=exports["default"]=ModalContainer;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalContainer.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/ModalContainer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface ModalHeaderProps {
3
+ children?: React.ReactNode;
4
+ }
5
+ declare const ModalHeader: React.FC<ModalHeaderProps>;
6
+ export default ModalHeader;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _styles=require("./styles");var _icons=require("./icons");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/SessionRecorderWidget/ModalHeader.js";var ModalHeader=function ModalHeader(_ref){var children=_ref.children;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.sharedStyles.popoverHeader,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:_styles.sharedStyles.modalHandle}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.sharedStyles.popoverHeaderContent,children:[(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:function onPress(){return _reactNative.Linking.openURL('https://www.multiplayer.app');},children:(0,_jsxRuntime.jsx)(_icons.LogoIcon,{size:42})}),children]})]});};var _default=exports["default"]=ModalHeader;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalHeader.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/ModalHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAMlC,MAAM,WAAW,GAA+B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/D,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CACtC;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,EACtC;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAC7C;QAAA,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CACvE;UAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EACrB;QAAA,EAAE,SAAS,CACX;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ interface SessionRecorderWidgetProps {
3
+ }
4
+ declare const SessionRecorderWidget: React.FC<SessionRecorderWidgetProps>;
5
+ export default SessionRecorderWidget;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _types=require("../../types");var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _SessionRecorderContext=require("../../context/SessionRecorderContext");var _FinalPopover=_interopRequireDefault(require("./FinalPopover"));var _ModalContainer=_interopRequireDefault(require("./ModalContainer"));var _InitialPopover=_interopRequireDefault(require("./InitialPopover"));var _FloatingButton=_interopRequireDefault(require("./FloatingButton"));var _ErrorBanner=_interopRequireDefault(require("./ErrorBanner"));var _utils=require("../../utils");var _useSessionRecorderStore=require("../../context/useSessionRecorderStore");var _SessionRecorderStore=require("../../context/SessionRecorderStore");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/SessionRecorderWidget/SessionRecorderWidget.js";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t6 in e)"default"!==_t6&&{}.hasOwnProperty.call(e,_t6)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t6))&&(i.get||i.set)?o(f,_t6,i):f[_t6]=e[_t6]);return f;})(e,t);}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var SessionRecorderWidget=(0,_react.memo)(function(){var _a;var _useSessionRecorder=(0,_SessionRecorderContext.useSessionRecorder)(),instance=_useSessionRecorder.instance,openWidgetModal=_useSessionRecorder.openWidgetModal,closeWidgetModal=_useSessionRecorder.closeWidgetModal;var isOnline=(0,_useSessionRecorderStore.useSessionRecorderStore)(function(s){return s.isOnline;});var sessionType=(0,_useSessionRecorderStore.useSessionRecorderStore)(function(s){return s.sessionType;});var isModalVisible=(0,_useSessionRecorderStore.useSessionRecorderStore)(function(s){return s.isWidgetModalVisible;});var sessionState=(0,_useSessionRecorderStore.useSessionRecorderStore)(function(s){return s.sessionState;});var error=(0,_useSessionRecorderStore.useSessionRecorderStore)(function(s){return s.error;});var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2["default"])(_useState,2),isSubmitting=_useState2[0],setIsSubmitting=_useState2[1];var _instance$config=instance.config,widget=_instance$config.widget,showContinuousRecording=_instance$config.showContinuousRecording;var dismissError=(0,_react.useCallback)(function(){_SessionRecorderStore.sessionRecorderStore.setState({error:null});},[]);var handleError=(0,_react.useCallback)(function(error,message){var errorMessage=error instanceof Error?error.message:message;_utils.logger.error('SessionRecorderWidget',message,error);_SessionRecorderStore.sessionRecorderStore.setState({error:errorMessage});},[]);var onStartRecording=(0,_react.useCallback)(function(){var _ref=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(sessionType){var _t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:if(isOnline){_context.next=1;break;}handleError(new Error('Cannot start recording while offline'),'Cannot start recording while offline');return _context.abrupt("return");case 1:_context.prev=1;_context.next=2;return instance.start(sessionType);case 2:closeWidgetModal();_context.next=4;break;case 3:_context.prev=3;_t=_context["catch"](1);handleError(_t,'Failed to start recording');case 4:case"end":return _context.stop();}},_callee,null,[[1,3]]);}));return function(_x){return _ref.apply(this,arguments);};}(),[isOnline,handleError]);var onStopRecording=(0,_react.useCallback)(function(){var _ref2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(comment){var _t2;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;setIsSubmitting(true);_context2.next=1;return instance.stop(comment);case 1:closeWidgetModal();_context2.next=3;break;case 2:_context2.prev=2;_t2=_context2["catch"](0);handleError(_t2,'Failed to stop recording');case 3:_context2.prev=3;setIsSubmitting(false);return _context2.finish(3);case 4:case"end":return _context2.stop();}},_callee2,null,[[0,2,3,4]]);}));return function(_x2){return _ref2.apply(this,arguments);};}(),[handleError]);var onCancelSession=(0,_react.useCallback)((0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(){var _t3;return _regenerator["default"].wrap(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;_context3.next=1;return instance.cancel();case 1:closeWidgetModal();_context3.next=3;break;case 2:_context3.prev=2;_t3=_context3["catch"](0);handleError(_t3,'Failed to cancel session');case 3:case"end":return _context3.stop();}},_callee3,null,[[0,2]]);})),[handleError]);var onSaveContinuousSession=(0,_react.useCallback)((0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(){var _t4;return _regenerator["default"].wrap(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.prev=0;_context4.next=1;return instance.save();case 1:_context4.next=3;break;case 2:_context4.prev=2;_t4=_context4["catch"](0);handleError(_t4,'Failed to save continuous session');case 3:case"end":return _context4.stop();}},_callee4,null,[[0,2]]);})),[handleError]);var isStarted=sessionState===_types.SessionState.started||sessionState===_types.SessionState.paused;var isContinuous=sessionType===_sessionRecorderCommon.SessionType.CONTINUOUS;return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[((_a=widget.button)===null||_a===void 0?void 0:_a.visible)&&(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"box-none",style:styles.overlayContainer,children:(0,_jsxRuntime.jsx)(_FloatingButton["default"],{sessionState:sessionState,onPress:openWidgetModal})}),(0,_jsxRuntime.jsx)(_ModalContainer["default"],{isVisible:isModalVisible,onClose:closeWidgetModal,children:isStarted&&!isContinuous?(0,_jsxRuntime.jsx)(_FinalPopover["default"],{isOnline:isOnline,isSubmitting:isSubmitting,textOverrides:widget.textOverrides,onClose:closeWidgetModal,onStopRecording:onStopRecording,onCancelSession:onCancelSession,children:error&&(0,_jsxRuntime.jsx)(_ErrorBanner["default"],{error:error,onDismiss:dismissError})}):(0,_jsxRuntime.jsx)(_InitialPopover["default"],{isOnline:isOnline,isSubmitting:isSubmitting,textOverrides:widget.textOverrides,isContinuous:isStarted&&isContinuous,showContinuousRecording:showContinuousRecording,onClose:closeWidgetModal,onStopRecording:onStopRecording,onStartRecording:onStartRecording,onSaveContinuousSession:onSaveContinuousSession,children:error&&(0,_jsxRuntime.jsx)(_ErrorBanner["default"],{error:error,onDismiss:dismissError})})})]});});var _default=exports["default"]=SessionRecorderWidget;var styles=_reactNative.StyleSheet.create({overlayContainer:_objectSpread({},_reactNative.StyleSheet.absoluteFillObject)});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderWidget.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/SessionRecorderWidget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ interface IconProps {
3
+ size?: number;
4
+ color?: string;
5
+ }
6
+ export declare const RecordIcon: React.FC<IconProps>;
7
+ export declare const CapturingIcon: React.FC<IconProps>;
8
+ export declare const PausedIcon: React.FC<IconProps>;
9
+ export declare const CheckmarkIcon: React.FC<IconProps>;
10
+ export declare const LogoIcon: React.FC<IconProps>;
11
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.RecordIcon=exports.PausedIcon=exports.LogoIcon=exports.CheckmarkIcon=exports.CapturingIcon=void 0;var _react=_interopRequireDefault(require("react"));var _reactNativeSvg=_interopRequireWildcard(require("react-native-svg"));var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/components/SessionRecorderWidget/icons.js";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t2 in e)"default"!==_t2&&{}.hasOwnProperty.call(e,_t2)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t2))&&(i.get||i.set)?o(f,_t2,i):f[_t2]=e[_t2]);return f;})(e,t);}var RecordIcon=exports.RecordIcon=function RecordIcon(_ref){var _ref$size=_ref.size,size=_ref$size===void 0?19:_ref$size,_ref$color=_ref.color,color=_ref$color===void 0?'white':_ref$color;return(0,_jsxRuntime.jsx)(_reactNativeSvg["default"],{width:size,height:size,viewBox:"0 0 19 19",fill:"none",children:(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M6.68926 5.30356C6.56568 5.38721 6.39976 5.37561 6.29459 5.26937L3.58782 2.53477C3.46424 2.40992 3.47196 2.20492 3.60862 2.09483C5.2319 0.786982 7.28494 0 9.51866 0C11.7535 0 13.8066 0.787042 15.4308 2.09586C15.5674 2.20596 15.5752 2.41091 15.4516 2.53577L12.7468 5.26931C12.6416 5.37558 12.4757 5.38719 12.3521 5.30353C11.5393 4.75345 10.571 4.42281 9.52066 4.42281C8.47036 4.42281 7.50203 4.75346 6.68926 5.30356ZM16.4926 3.4303C16.6163 3.30527 16.8197 3.31303 16.9288 3.45121C18.2224 5.08933 19.0001 7.15932 19.0001 9.4116C19.0001 11.6671 18.2204 13.7392 16.9238 15.3785C16.8147 15.5165 16.6114 15.5242 16.4877 15.3992L13.7872 12.6701C13.682 12.5638 13.6708 12.3962 13.7538 12.2716C14.3006 11.451 14.6291 10.4727 14.6291 9.4116C14.6291 8.35454 14.3016 7.37925 13.756 6.56083C13.6728 6.43616 13.6841 6.26857 13.7893 6.16224L16.4926 3.4303ZM5.21676 12.6712C5.322 12.5649 5.3333 12.3974 5.2502 12.2727C4.70331 11.4522 4.374 10.4737 4.374 9.41184C4.374 8.35469 4.70232 7.37949 5.24808 6.56106C5.33123 6.43637 5.31996 6.26872 5.2147 6.16241L2.50855 3.4293C2.38482 3.30434 2.18146 3.31213 2.07236 3.45028C0.77864 5.08841 0 7.15845 0 9.41184C0 11.6684 0.78066 13.7406 2.07831 15.3799C2.18749 15.5178 2.39066 15.5255 2.51429 15.4006L5.21676 12.6712ZM12.3323 13.707C12.4559 13.6231 12.6221 13.6346 12.7273 13.741L15.4277 16.4691C15.5513 16.594 15.5435 16.7991 15.4068 16.9091C13.7837 18.215 11.7327 19 9.49998 19C7.2693 19 5.21837 18.2159 3.59619 16.9102C3.45943 16.8001 3.45169 16.595 3.57533 16.4702L6.27769 13.7409C6.38296 13.6346 6.54906 13.6231 6.67267 13.707C7.48459 14.2577 8.45278 14.5883 9.50198 14.5883C10.5522 14.5883 11.5204 14.2578 12.3323 13.707Z",fill:color})});};var CapturingIcon=exports.CapturingIcon=function CapturingIcon(_ref2){var _ref2$size=_ref2.size,size=_ref2$size===void 0?24:_ref2$size,_ref2$color=_ref2.color,color=_ref2$color===void 0?'white':_ref2$color;return(0,_jsxRuntime.jsxs)(_reactNativeSvg["default"],{width:size,height:size,viewBox:"0 0 24 24",fill:"none",children:[(0,_jsxRuntime.jsx)(_reactNativeSvg.Circle,{cx:"12",cy:"12",r:"4",fill:color}),(0,_jsxRuntime.jsx)(_reactNativeSvg.Circle,{cx:"12",cy:"12",r:"7.5",stroke:color,strokeWidth:"1"}),(0,_jsxRuntime.jsx)(_reactNativeSvg.Circle,{cx:"12",cy:"12",r:"11.5",stroke:color,strokeWidth:"1",opacity:"0.2"})]});};var PausedIcon=exports.PausedIcon=function PausedIcon(_ref3){var _ref3$size=_ref3.size,size=_ref3$size===void 0?24:_ref3$size,_ref3$color=_ref3.color,color=_ref3$color===void 0?'white':_ref3$color;return(0,_jsxRuntime.jsx)(_reactNativeSvg["default"],{width:size,height:size,viewBox:"0 0 24 24",fill:"none",children:(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{d:"M8 5V19M16 5V19",stroke:color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})});};var CheckmarkIcon=exports.CheckmarkIcon=function CheckmarkIcon(_ref4){var _ref4$size=_ref4.size,size=_ref4$size===void 0?24:_ref4$size,_ref4$color=_ref4.color,color=_ref4$color===void 0?'white':_ref4$color;return(0,_jsxRuntime.jsx)(_reactNativeSvg["default"],{width:size,height:size,viewBox:"0 0 24 24",fill:"none",children:(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M20.0481 6.35147C20.5168 6.8201 20.5168 7.5799 20.0481 8.04853L10.4481 17.6485C9.97951 18.1172 9.21971 18.1172 8.75108 17.6485L3.95108 12.8485C3.48245 12.3799 3.48245 11.6201 3.95108 11.1515C4.41971 10.6828 5.17951 10.6828 5.64814 11.1515L9.59961 15.1029L18.3511 6.35147C18.8197 5.88284 19.5795 5.88284 20.0481 6.35147Z",fill:color})});};var LogoIcon=exports.LogoIcon=function LogoIcon(_ref5){var _ref5$size=_ref5.size,size=_ref5$size===void 0?30:_ref5$size,_ref5$color=_ref5.color,color=_ref5$color===void 0?'#473CFB':_ref5$color;return(0,_jsxRuntime.jsx)(_reactNativeSvg["default"],{width:size,height:size*0.8,viewBox:"0 0 30 24",fill:"none",children:(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{d:"M28.8324 8.83643L23.5495 6.85854L21.4856 6.08553L23.6001 0.4375L15 3.65769L6.39963 0.4375L8.51441 6.08585L6.45046 6.85885L1.16757 8.83674L0.625 9.03974L9.10095 12.0981C10.0891 12.4548 10.9201 13.1265 11.4758 13.9952C11.6632 14.2883 11.8194 14.6036 11.9398 14.9369L15 23.4076L18.0602 14.9369C18.1806 14.6036 18.3368 14.288 18.5242 13.9952C19.0802 13.1265 19.9112 12.4545 20.8991 12.0981L29.375 9.03974L28.8324 8.83674V8.83643ZM19.779 10.6434C18.2872 11.1816 17.1126 12.3563 16.5744 13.848L15.014 18.173L11.5182 8.83643L10.7776 6.85854L10.2456 5.43757L9.57367 3.64272L12.3068 4.66612L18.1631 6.85885L20.8233 7.85481L23.4457 8.83674L24.104 9.08308L19.779 10.6438V10.6434Z",fill:color})});};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/icons.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import SessionRecorderWidget from "./SessionRecorderWidget";
2
+ export default SessionRecorderWidget;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _SessionRecorderWidget=_interopRequireDefault(require("./SessionRecorderWidget"));var _default=exports["default"]=_SessionRecorderWidget["default"];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAE5D,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,165 @@
1
+ export declare const sharedStyles: {
2
+ popoverContent: {
3
+ flex: number;
4
+ paddingHorizontal: number;
5
+ };
6
+ popoverHeader: {
7
+ flexDirection: "column";
8
+ paddingBottom: number;
9
+ paddingHorizontal: number;
10
+ borderTopLeftRadius: number;
11
+ borderTopRightRadius: number;
12
+ backgroundColor: string;
13
+ shadowColor: string;
14
+ shadowOffset: {
15
+ width: number;
16
+ height: number;
17
+ };
18
+ shadowOpacity: number;
19
+ shadowRadius: number;
20
+ elevation: number;
21
+ };
22
+ modalHandle: {
23
+ marginTop: number;
24
+ marginBottom: number;
25
+ width: number;
26
+ height: number;
27
+ backgroundColor: string;
28
+ borderRadius: number;
29
+ alignSelf: "center";
30
+ };
31
+ popoverHeaderContent: {
32
+ flexDirection: "row";
33
+ justifyContent: "space-between";
34
+ alignItems: "flex-start";
35
+ };
36
+ cancelButton: {
37
+ paddingHorizontal: number;
38
+ paddingVertical: number;
39
+ borderRadius: number;
40
+ borderWidth: number;
41
+ borderColor: string;
42
+ backgroundColor: string;
43
+ shadowColor: string;
44
+ shadowOffset: {
45
+ width: number;
46
+ height: number;
47
+ };
48
+ shadowOpacity: number;
49
+ shadowRadius: number;
50
+ elevation: number;
51
+ };
52
+ cancelButtonText: {
53
+ color: string;
54
+ fontSize: number;
55
+ fontWeight: "500";
56
+ };
57
+ popoverBody: {
58
+ flex: number;
59
+ padding: number;
60
+ paddingTop: number;
61
+ };
62
+ title: {
63
+ fontSize: number;
64
+ fontWeight: "600";
65
+ color: string;
66
+ marginBottom: number;
67
+ };
68
+ description: {
69
+ fontSize: number;
70
+ color: string;
71
+ marginBottom: number;
72
+ };
73
+ popoverFooter: {
74
+ marginTop: "auto";
75
+ paddingTop: number;
76
+ };
77
+ actionButton: {
78
+ paddingVertical: number;
79
+ paddingHorizontal: number;
80
+ borderRadius: number;
81
+ alignItems: "center";
82
+ };
83
+ actionButtonText: {
84
+ color: string;
85
+ fontSize: number;
86
+ fontWeight: "500";
87
+ };
88
+ continuousRecordingSection: {
89
+ flexDirection: "row";
90
+ justifyContent: "space-between";
91
+ alignItems: "center";
92
+ marginBottom: number;
93
+ paddingVertical: number;
94
+ paddingHorizontal: number;
95
+ borderWidth: number;
96
+ borderColor: string;
97
+ backgroundColor: string;
98
+ borderRadius: number;
99
+ shadowColor: string;
100
+ shadowOffset: {
101
+ width: number;
102
+ height: number;
103
+ };
104
+ shadowOpacity: number;
105
+ shadowRadius: number;
106
+ elevation: number;
107
+ };
108
+ continuousRecordingLabel: {
109
+ fontSize: number;
110
+ fontWeight: "500";
111
+ color: string;
112
+ };
113
+ continuousOverlay: {
114
+ borderRadius: number;
115
+ borderWidth: number;
116
+ borderColor: string;
117
+ backgroundColor: string;
118
+ padding: number;
119
+ shadowColor: string;
120
+ shadowOffset: {
121
+ width: number;
122
+ height: number;
123
+ };
124
+ shadowOpacity: number;
125
+ shadowRadius: number;
126
+ elevation: number;
127
+ flexDirection: "column";
128
+ gap: number;
129
+ };
130
+ continuousOverlayHeader: {
131
+ flexDirection: "row";
132
+ alignItems: "center";
133
+ gap: number;
134
+ };
135
+ continuousOverlayTitle: {
136
+ fontSize: number;
137
+ fontWeight: "500";
138
+ color: string;
139
+ };
140
+ continuousOverlayDescription: {
141
+ fontSize: number;
142
+ color: string;
143
+ lineHeight: number;
144
+ };
145
+ commentInput: {
146
+ borderWidth: number;
147
+ borderColor: string;
148
+ borderRadius: number;
149
+ padding: number;
150
+ fontSize: number;
151
+ color: string;
152
+ backgroundColor: string;
153
+ marginBottom: number;
154
+ minHeight: number;
155
+ };
156
+ startButton: {
157
+ backgroundColor: string;
158
+ };
159
+ stopButton: {
160
+ backgroundColor: string;
161
+ };
162
+ saveButton: {
163
+ backgroundColor: string;
164
+ };
165
+ };