@multiplayer-app/session-recorder-react-native 0.0.1-beta.15 → 0.0.1-beta.17

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 (79) hide show
  1. package/README.md +132 -5
  2. package/copy-react-native-dist.sh +31 -12
  3. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.d.ts +1 -0
  4. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js +1 -1
  5. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js.map +1 -1
  6. package/dist/components/ScreenRecorderView/ScreenRecorderView.js +1 -1
  7. package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -1
  8. package/dist/components/SessionRecorderWidget/FinalPopover.js +1 -1
  9. package/dist/components/SessionRecorderWidget/FinalPopover.js.map +1 -1
  10. package/dist/components/SessionRecorderWidget/InitialPopover.d.ts +2 -0
  11. package/dist/components/SessionRecorderWidget/InitialPopover.js +1 -1
  12. package/dist/components/SessionRecorderWidget/InitialPopover.js.map +1 -1
  13. package/dist/components/SessionRecorderWidget/ModalContainer.js +1 -1
  14. package/dist/components/SessionRecorderWidget/ModalContainer.js.map +1 -1
  15. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +1 -1
  16. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -1
  17. package/dist/components/SessionRecorderWidget/styles.d.ts +27 -7
  18. package/dist/components/SessionRecorderWidget/styles.js +1 -1
  19. package/dist/components/SessionRecorderWidget/styles.js.map +1 -1
  20. package/dist/components/index.d.ts +0 -1
  21. package/dist/components/index.js +1 -1
  22. package/dist/components/index.js.map +1 -1
  23. package/dist/config/defaults.js +1 -1
  24. package/dist/config/defaults.js.map +1 -1
  25. package/dist/config/session-recorder.js +1 -1
  26. package/dist/config/session-recorder.js.map +1 -1
  27. package/dist/config/widget.d.ts +8 -0
  28. package/dist/config/widget.js +1 -0
  29. package/dist/config/widget.js.map +1 -0
  30. package/dist/context/SessionRecorderContext.d.ts +11 -4
  31. package/dist/context/SessionRecorderContext.js +1 -1
  32. package/dist/context/SessionRecorderContext.js.map +1 -1
  33. package/dist/context/SessionRecorderStore.d.ts +10 -0
  34. package/dist/context/SessionRecorderStore.js +1 -0
  35. package/dist/context/SessionRecorderStore.js.map +1 -0
  36. package/dist/context/useSessionRecorderStore.d.ts +8 -0
  37. package/dist/context/useSessionRecorderStore.js +1 -0
  38. package/dist/context/useSessionRecorderStore.js.map +1 -0
  39. package/dist/context/useStoreSelector.d.ts +4 -0
  40. package/dist/context/useStoreSelector.js +1 -0
  41. package/dist/context/useStoreSelector.js.map +1 -0
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.js +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/native/GestureRecorderNative.d.ts +57 -0
  46. package/dist/native/GestureRecorderNative.js +1 -0
  47. package/dist/native/GestureRecorderNative.js.map +1 -0
  48. package/dist/native/index.d.ts +2 -0
  49. package/dist/native/index.js +1 -0
  50. package/dist/native/index.js.map +1 -0
  51. package/dist/recorder/gestureRecorder.d.ts +27 -61
  52. package/dist/recorder/gestureRecorder.js +1 -1
  53. package/dist/recorder/gestureRecorder.js.map +1 -1
  54. package/dist/recorder/navigationTracker.d.ts +2 -18
  55. package/dist/recorder/navigationTracker.js +1 -1
  56. package/dist/recorder/navigationTracker.js.map +1 -1
  57. package/dist/services/api.service.d.ts +4 -0
  58. package/dist/services/api.service.js.map +1 -1
  59. package/dist/session-recorder.d.ts +8 -28
  60. package/dist/session-recorder.js +1 -1
  61. package/dist/session-recorder.js.map +1 -1
  62. package/dist/types/session-recorder.d.ts +22 -14
  63. package/dist/utils/createStore.d.ts +8 -0
  64. package/dist/utils/createStore.js +1 -0
  65. package/dist/utils/createStore.js.map +1 -0
  66. package/dist/utils/logger.js +1 -1
  67. package/dist/utils/logger.js.map +1 -1
  68. package/dist/utils/platform.d.ts +8 -0
  69. package/dist/utils/platform.js +1 -1
  70. package/dist/utils/platform.js.map +1 -1
  71. package/dist/utils/rrweb-events.js +1 -1
  72. package/dist/utils/rrweb-events.js.map +1 -1
  73. package/dist/utils/shallowEqual.d.ts +1 -0
  74. package/dist/utils/shallowEqual.js +1 -0
  75. package/dist/utils/shallowEqual.js.map +1 -0
  76. package/ios/GestureRecorderNative.m +21 -0
  77. package/ios/GestureRecorderNative.swift +316 -0
  78. package/package.json +12 -22
  79. package/react-native.config.js +7 -10
@@ -37,7 +37,17 @@ export declare const sharedStyles: {
37
37
  paddingHorizontal: number;
38
38
  paddingVertical: number;
39
39
  borderRadius: number;
40
+ borderWidth: number;
41
+ borderColor: string;
40
42
  backgroundColor: string;
43
+ shadowColor: string;
44
+ shadowOffset: {
45
+ width: number;
46
+ height: number;
47
+ };
48
+ shadowOpacity: number;
49
+ shadowRadius: number;
50
+ elevation: number;
41
51
  };
42
52
  cancelButtonText: {
43
53
  color: string;
@@ -101,21 +111,31 @@ export declare const sharedStyles: {
101
111
  color: string;
102
112
  };
103
113
  continuousOverlay: {
104
- marginTop: number;
105
- padding: number;
106
- backgroundColor: string;
107
114
  borderRadius: number;
108
115
  borderWidth: number;
109
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;
110
129
  };
111
- continuousOverlayContent: {
112
- marginBottom: number;
130
+ continuousOverlayHeader: {
131
+ flexDirection: "row";
132
+ alignItems: "center";
133
+ gap: number;
113
134
  };
114
135
  continuousOverlayTitle: {
115
136
  fontSize: number;
116
- fontWeight: "bold";
137
+ fontWeight: "500";
117
138
  color: string;
118
- marginBottom: number;
119
139
  };
120
140
  continuousOverlayDescription: {
121
141
  fontSize: number;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.sharedStyles=void 0;var _reactNative=require("react-native");var sharedStyles=exports.sharedStyles=_reactNative.StyleSheet.create({popoverContent:{flex:1,paddingHorizontal:0},popoverHeader:{flexDirection:'column',paddingBottom:8,paddingHorizontal:16,borderTopLeftRadius:20,borderTopRightRadius:20,backgroundColor:'#e3ecfd',shadowColor:'#e3ecfd',shadowOffset:{width:0,height:10},shadowOpacity:1,shadowRadius:5,elevation:3},modalHandle:{marginTop:8,marginBottom:16,width:40,height:4,backgroundColor:'#D1D5DB',borderRadius:2,alignSelf:'center'},popoverHeaderContent:{flexDirection:'row',justifyContent:'space-between',alignItems:'flex-start'},cancelButton:{paddingHorizontal:12,paddingVertical:6,borderRadius:6,backgroundColor:'#F3F4F6'},cancelButtonText:{color:'#374151',fontSize:14,fontWeight:'500'},popoverBody:{flex:1,padding:16,paddingTop:32},title:{fontSize:18,fontWeight:'600',color:'#2d3748',marginBottom:12},description:{fontSize:14,color:'#718096',marginBottom:24},popoverFooter:{marginTop:'auto',paddingTop:48},actionButton:{paddingVertical:16,paddingHorizontal:24,borderRadius:12,alignItems:'center'},actionButtonText:{color:'white',fontSize:16,fontWeight:'500'},continuousRecordingSection:{flexDirection:'row',justifyContent:'space-between',alignItems:'center',marginBottom:20,paddingVertical:12,paddingHorizontal:16,borderWidth:1,borderColor:'#e1e8f1',backgroundColor:'#fff',borderRadius:12,shadowColor:'#000',shadowOffset:{width:0,height:2},shadowOpacity:0.06,shadowRadius:3,elevation:3},continuousRecordingLabel:{fontSize:16,fontWeight:'500',color:'#374151'},continuousOverlay:{marginTop:20,padding:16,backgroundColor:'#FEF3C7',borderRadius:8,borderWidth:1,borderColor:'#F59E0B'},continuousOverlayContent:{marginBottom:16},continuousOverlayTitle:{fontSize:18,fontWeight:'bold',color:'#92400E',marginBottom:8},continuousOverlayDescription:{fontSize:14,color:'#92400E',lineHeight:20},commentInput:{borderWidth:1,borderColor:'#D1D5DB',borderRadius:8,padding:12,fontSize:16,color:'#374151',backgroundColor:'#F9FAFB',marginBottom:24,minHeight:80},startButton:{backgroundColor:'#473cfb'},stopButton:{backgroundColor:'#473cfb'},saveButton:{backgroundColor:'#473cfb'}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.sharedStyles=void 0;var _reactNative=require("react-native");var sharedStyles=exports.sharedStyles=_reactNative.StyleSheet.create({popoverContent:{flex:1,paddingHorizontal:0},popoverHeader:{flexDirection:'column',paddingBottom:8,paddingHorizontal:16,borderTopLeftRadius:20,borderTopRightRadius:20,backgroundColor:'#f4f9ff',shadowColor:'#f4f9ff',shadowOffset:{width:0,height:5},shadowOpacity:1,shadowRadius:5,elevation:10},modalHandle:{marginTop:8,marginBottom:16,width:40,height:4,backgroundColor:'#D1D5DB',borderRadius:2,alignSelf:'center'},popoverHeaderContent:{flexDirection:'row',justifyContent:'space-between',alignItems:'flex-start'},cancelButton:{paddingHorizontal:12,paddingVertical:6,borderRadius:6,borderWidth:1,borderColor:'#e1e8f1',backgroundColor:'#fff',shadowColor:'#000',shadowOffset:{width:0,height:2},shadowOpacity:0.06,shadowRadius:3,elevation:3},cancelButtonText:{color:'#374151',fontSize:14,fontWeight:'500'},popoverBody:{flex:1,padding:16,paddingTop:24},title:{fontSize:18,fontWeight:'600',color:'#2d3748',marginBottom:12},description:{fontSize:14,color:'#718096',marginBottom:16},popoverFooter:{marginTop:'auto',paddingTop:16},actionButton:{paddingVertical:16,paddingHorizontal:24,borderRadius:12,alignItems:'center'},actionButtonText:{color:'white',fontSize:16,fontWeight:'500'},continuousRecordingSection:{flexDirection:'row',justifyContent:'space-between',alignItems:'center',marginBottom:20,paddingVertical:12,paddingHorizontal:16,borderWidth:1,borderColor:'#e1e8f1',backgroundColor:'#fff',borderRadius:12,shadowColor:'#000',shadowOffset:{width:0,height:2},shadowOpacity:0.06,shadowRadius:3,elevation:3},continuousRecordingLabel:{fontSize:16,fontWeight:'500',color:'#374151'},continuousOverlay:{borderRadius:12,borderWidth:1,borderColor:'#e1e8f1',backgroundColor:'#fff',padding:12,shadowColor:'#000',shadowOffset:{width:0,height:2},shadowOpacity:0.06,shadowRadius:3,elevation:3,flexDirection:'column',gap:8},continuousOverlayHeader:{flexDirection:'row',alignItems:'center',gap:8},continuousOverlayTitle:{fontSize:14,fontWeight:'500',color:'#2d3748'},continuousOverlayDescription:{fontSize:14,color:'#718096',lineHeight:20},commentInput:{borderWidth:1,borderColor:'#D1D5DB',borderRadius:8,padding:12,fontSize:16,color:'#374151',backgroundColor:'#F9FAFB',marginBottom:24,minHeight:80},startButton:{backgroundColor:'#473cfb'},stopButton:{backgroundColor:'#473cfb'},saveButton:{backgroundColor:'#473cfb'}});
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IAC5C,iBAAiB;IACjB,cAAc,EAAE;QACd,IAAI,EAAE,CAAC;QACP,iBAAiB,EAAE,CAAC;KACrB;IACD,aAAa,EAAE;QACb,aAAa,EAAE,QAAQ;QACvB,aAAa,EAAE,CAAC;QAChB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,EAAE;QACvB,oBAAoB,EAAE,EAAE;QACxB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG;QACtC,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,EAAE;KACd;IACD,WAAW,EAAE;QACX,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,CAAC;QACT,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,QAAQ;KACpB;IACD,oBAAoB,EAAE;QACpB,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,YAAY;KACzB;IAGD,YAAY,EAAE;QACZ,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,SAAS;QACtB,eAAe,EAAE,MAAM;QACvB,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACrC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;KACb;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,aAAa,EAAE;QACb,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,EAAE;KACf;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,QAAQ;KACrB;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IAED,8BAA8B;IAC9B,0BAA0B,EAAE;QAC1B,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,SAAS;QACtB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACrC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;KACb;IAED,wBAAwB,EAAE;QACxB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;KACjB;IAED,iBAAiB,EAAE;QACjB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,SAAS;QACtB,eAAe,EAAE,MAAM;QACvB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACrC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,QAAQ;QACvB,GAAG,EAAE,CAAC;KACP;IAED,uBAAuB,EAAE;QACvB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;KACP;IAED,sBAAsB,EAAE;QACtB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;KACjB;IAED,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,EAAE;KACf;IAED,uBAAuB;IACvB,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;KACd;IAED,wBAAwB;IACxB,WAAW,EAAE;QACX,eAAe,EAAE,SAAS;KAC3B;IACD,UAAU,EAAE;QACV,eAAe,EAAE,SAAS;KAC3B;IACD,UAAU,EAAE;QACV,eAAe,EAAE,SAAS;KAC3B;CACF,CAAC,CAAA"}
@@ -1,3 +1,2 @@
1
- export * from './GestureCaptureWrapper';
2
1
  export * from './ScreenRecorderView';
3
2
  export * from './SessionRecorderWidget';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});var _GestureCaptureWrapper=require("./GestureCaptureWrapper");Object.keys(_GestureCaptureWrapper).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_GestureCaptureWrapper[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _GestureCaptureWrapper[key];}});});var _ScreenRecorderView=require("./ScreenRecorderView");Object.keys(_ScreenRecorderView).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_ScreenRecorderView[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _ScreenRecorderView[key];}});});var _SessionRecorderWidget=require("./SessionRecorderWidget");Object.keys(_SessionRecorderWidget).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_SessionRecorderWidget[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _SessionRecorderWidget[key];}});});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});var _ScreenRecorderView=require("./ScreenRecorderView");Object.keys(_ScreenRecorderView).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_ScreenRecorderView[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _ScreenRecorderView[key];}});});var _SessionRecorderWidget=require("./SessionRecorderWidget");Object.keys(_SessionRecorderWidget).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_SessionRecorderWidget[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _SessionRecorderWidget[key];}});});
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DEFAULT_WIDGET_TEXT_CONFIG=exports.DEFAULT_MASKING_CONFIG=exports.BASE_CONFIG=void 0;var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _types=require("../types");var _constants=require("./constants");var mask=_sessionRecorderCommon.SessionRecorderSdk.mask,sensitiveFields=_sessionRecorderCommon.SessionRecorderSdk.sensitiveFields,sensitiveHeaders=_sessionRecorderCommon.SessionRecorderSdk.sensitiveHeaders;var DEFAULT_MASKING_CONFIG=exports.DEFAULT_MASKING_CONFIG={isContentMaskingEnabled:true,maskBody:mask(sensitiveFields),maskHeaders:mask(sensitiveHeaders),maskBodyFieldsList:sensitiveFields,maskHeadersList:sensitiveHeaders,headersToInclude:[],headersToExclude:[],maskTextInputs:true,maskImages:false,maskLabels:false,maskButtons:false,maskWebViews:false,maskSandboxedViews:false};var DEFAULT_WIDGET_TEXT_CONFIG=exports.DEFAULT_WIDGET_TEXT_CONFIG={initialTitleWithContinuous:'Encountered an issue?',initialTitleWithoutContinuous:'Encountered an issue?',initialDescriptionWithContinuous:'Record your session so we can see the problem and fix it faster.',initialDescriptionWithoutContinuous:'Record your session so we can see the problem and fix it faster.',continuousRecordingLabel:'Continuous recording',startRecordingButtonText:'Start recording',finalTitle:'Done recording?',finalDescription:'You can also add a quick note with extra context, expectations, or questions. Thank you!',commentPlaceholder:'Add a message...',saveButtonText:'Submit recording',cancelButtonText:'Cancel recording',continuousOverlayTitle:'Save time, skip the reproductions',continuousOverlayDescription:'We keep a rolling record of your recent activity. If something doesn’t work as expected, just save the recording and continue working. No need to worry about exceptions and errors - we automatically save recordings for those!',saveLastSnapshotButtonText:'Save recording',submitDialogTitle:'Save recording',submitDialogSubtitle:'This full-stack session recording will be saved directly to your selected Multiplayer project. All data is automatically correlated end-to-end.',submitDialogCommentLabel:'You can also add context, comments, or notes.',submitDialogCommentPlaceholder:'Add a message...',submitDialogSubmitText:'Save',submitDialogCancelText:'Cancel'};var BASE_CONFIG=exports.BASE_CONFIG={apiKey:'',version:'',application:'',environment:'',showWidget:true,showContinuousRecording:true,widgetButtonPlacement:_types.WidgetButtonPlacement.bottomRight,usePostMessageFallback:false,apiBaseUrl:_sessionRecorderCommon.MULTIPLAYER_BASE_API_URL,exporterEndpoint:_sessionRecorderCommon.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,schemifyDocSpanPayload:true,ignoreUrls:[],propagateTraceHeaderCorsUrls:[],sampleTraceRatio:_constants.OTEL_MP_SAMPLE_TRACE_RATIO,maxCapturingHttpPayloadSize:_constants.DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE,captureBody:true,captureHeaders:true,masking:DEFAULT_MASKING_CONFIG,widgetTextOverrides:DEFAULT_WIDGET_TEXT_CONFIG,recordScreen:true,recordGestures:true,recordNavigation:true};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DEFAULT_WIDGET_TEXT_CONFIG=exports.DEFAULT_MASKING_CONFIG=exports.BASE_CONFIG=void 0;var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _types=require("../types");var _constants=require("./constants");var mask=_sessionRecorderCommon.SessionRecorderSdk.mask,sensitiveFields=_sessionRecorderCommon.SessionRecorderSdk.sensitiveFields,sensitiveHeaders=_sessionRecorderCommon.SessionRecorderSdk.sensitiveHeaders;var DEFAULT_MASKING_CONFIG=exports.DEFAULT_MASKING_CONFIG={isContentMaskingEnabled:true,maskBody:mask(sensitiveFields),maskHeaders:mask(sensitiveHeaders),maskBodyFieldsList:sensitiveFields,maskHeadersList:sensitiveHeaders,headersToInclude:[],headersToExclude:[],maskTextInputs:true,maskImages:false,maskLabels:false,maskButtons:false,maskWebViews:false,maskSandboxedViews:false};var DEFAULT_WIDGET_TEXT_CONFIG=exports.DEFAULT_WIDGET_TEXT_CONFIG={initialTitleWithContinuous:'Encountered an issue?',initialTitleWithoutContinuous:'Encountered an issue?',initialDescriptionWithContinuous:'Record your session so we can see the problem and fix it faster.',initialDescriptionWithoutContinuous:'Record your session so we can see the problem and fix it faster.',continuousRecordingLabel:'Continuous recording',startRecordingButtonText:'Start recording',finalTitle:'Done recording?',finalDescription:'You can also add a quick note with extra context, expectations, or questions. Thank you!',commentPlaceholder:'Add a message...',saveButtonText:'Submit recording',cancelButtonText:'Cancel recording',continuousOverlayTitle:'Save time, skip the reproductions',continuousOverlayDescription:'We keep a rolling record of your recent activity. If something doesn’t work as expected, just save the recording and continue working. No need to worry about exceptions and errors - we automatically save recordings for those!',saveLastSnapshotButtonText:'Save recording',submitDialogTitle:'Save recording',submitDialogSubtitle:'This full-stack session recording will be saved directly to your selected Multiplayer project. All data is automatically correlated end-to-end.',submitDialogCommentLabel:'You can also add context, comments, or notes.',submitDialogCommentPlaceholder:'Add a message...',submitDialogSubmitText:'Save',submitDialogCancelText:'Cancel'};var BASE_CONFIG=exports.BASE_CONFIG={apiKey:'',version:'',application:'',environment:'',showContinuousRecording:true,widget:{enabled:true,button:{visible:true,placement:_types.WidgetButtonPlacement.bottomRight}},usePostMessageFallback:false,apiBaseUrl:_sessionRecorderCommon.MULTIPLAYER_BASE_API_URL,exporterEndpoint:_sessionRecorderCommon.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,schemifyDocSpanPayload:true,ignoreUrls:[],propagateTraceHeaderCorsUrls:[],sampleTraceRatio:_constants.OTEL_MP_SAMPLE_TRACE_RATIO,maxCapturingHttpPayloadSize:_constants.DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE,captureBody:true,captureHeaders:true,masking:DEFAULT_MASKING_CONFIG,widgetTextOverrides:DEFAULT_WIDGET_TEXT_CONFIG,recordScreen:true,recordGestures:true,recordNavigation:true};
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iDAAiD,GAClD,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGL,qBAAqB,GAEtB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,GACxC,MAAM,aAAa,CAAA;AACpB,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,sBAAsB,GAA4B;IAC7D,uBAAuB,EAAE,IAAI;IAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,eAAe;IACnC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;IACpB,yBAAyB;IACzB,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,kBAAkB,EAAE,KAAK;CAC1B,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAA8B;IACnE,0BAA0B,EAAE,uBAAuB;IACnD,6BAA6B,EAAE,uBAAuB;IACtD,gCAAgC,EAAE,kEAAkE;IACpG,mCAAmC,EAAE,kEAAkE;IACvG,wBAAwB,EAAE,sBAAsB;IAChD,wBAAwB,EAAE,iBAAiB;IAC3C,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,0FAA0F;IAC5G,kBAAkB,EAAE,kBAAkB;IACtC,cAAc,EAAE,kBAAkB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,mCAAmC;IAC3D,4BAA4B,EAAE,mOAAmO;IACjQ,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,iJAAiJ;IACvK,wBAAwB,EAAE,+CAA+C;IACzE,8BAA8B,EAAE,kBAAkB;IAClD,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,QAAQ;CACjC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,MAAM,EAAE,EAAE;IAEV,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IAEf,UAAU,EAAE,IAAI;IAChB,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC,WAAW;IAExD,sBAAsB,EAAE,KAAK;IAC7B,UAAU,EAAE,wBAAwB;IACpC,gBAAgB,EAAE,iDAAiD;IAEnE,sBAAsB,EAAE,IAAI;IAE5B,UAAU,EAAE,EAAE;IACd,4BAA4B,EAAE,EAAE;IAEhC,gBAAgB,EAAE,0BAA0B;IAC5C,2BAA2B,EAAE,uCAAuC;IAEpE,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,sBAAsB;IAC/B,mBAAmB,EAAE,0BAA0B;IAE/C,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;CACvB,CAAA"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iDAAiD,GAClD,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAEmB,qBAAqB,EAC9C,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,GACxC,MAAM,aAAa,CAAA;AACpB,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,sBAAsB,GAA4B;IAC7D,uBAAuB,EAAE,IAAI;IAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,eAAe;IACnC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;IACpB,yBAAyB;IACzB,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,kBAAkB,EAAE,KAAK;CAC1B,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAA8B;IACnE,0BAA0B,EAAE,uBAAuB;IACnD,6BAA6B,EAAE,uBAAuB;IACtD,gCAAgC,EAAE,kEAAkE;IACpG,mCAAmC,EAAE,kEAAkE;IACvG,wBAAwB,EAAE,sBAAsB;IAChD,wBAAwB,EAAE,iBAAiB;IAC3C,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,0FAA0F;IAC5G,kBAAkB,EAAE,kBAAkB;IACtC,cAAc,EAAE,kBAAkB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,mCAAmC;IAC3D,4BAA4B,EAAE,mOAAmO;IACjQ,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,iJAAiJ;IACvK,wBAAwB,EAAE,+CAA+C;IACzE,8BAA8B,EAAE,kBAAkB;IAClD,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,QAAQ;CACjC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,MAAM,EAAE,EAAE;IAEV,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IAEf,uBAAuB,EAAE,IAAI;IAE7B,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,qBAAqB,CAAC,WAAW;SAC7C;KACF;IAED,sBAAsB,EAAE,KAAK;IAC7B,UAAU,EAAE,wBAAwB;IACpC,gBAAgB,EAAE,iDAAiD;IAEnE,sBAAsB,EAAE,IAAI;IAE5B,UAAU,EAAE,EAAE;IACd,4BAA4B,EAAE,EAAE;IAEhC,gBAAgB,EAAE,0BAA0B;IAC5C,2BAA2B,EAAE,uCAAuC;IAEpE,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,sBAAsB;IAC/B,mBAAmB,EAAE,0BAA0B;IAE/C,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;CACvB,CAAA"}
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.getSessionRecorderConfig=void 0;var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _types=require("../types");var _defaults=require("./defaults");var _masking=require("./masking");var _validators=require("./validators");var getWidgetTextOverridesConfig=function getWidgetTextOverridesConfig(config,defaultConfig){if(!config||(0,_typeof2["default"])(config)!=='object'){return defaultConfig;}return Object.keys(defaultConfig).reduce(function(acc,key){acc[key]=(0,_validators.isValidString)(config[key],defaultConfig[key]);return acc;},{});};var getSessionRecorderConfig=exports.getSessionRecorderConfig=function getSessionRecorderConfig(c){if(!c){return _defaults.BASE_CONFIG;}return{apiKey:(0,_validators.isValidString)(c.apiKey,_defaults.BASE_CONFIG.apiKey),version:(0,_validators.isValidString)(c.version,_defaults.BASE_CONFIG.version),application:(0,_validators.isValidString)(c.application,_defaults.BASE_CONFIG.application),environment:(0,_validators.isValidString)(c.environment,_defaults.BASE_CONFIG.environment),exporterEndpoint:(0,_validators.isValidString)(c.exporterEndpoint,_defaults.BASE_CONFIG.exporterEndpoint),apiBaseUrl:(0,_validators.isValidString)(c.apiBaseUrl,_defaults.BASE_CONFIG.apiBaseUrl),usePostMessageFallback:(0,_validators.isValidBoolean)(c.usePostMessageFallback,_defaults.BASE_CONFIG.usePostMessageFallback),showWidget:(0,_validators.isValidBoolean)(c.showWidget,_defaults.BASE_CONFIG.showWidget),showContinuousRecording:(0,_validators.isValidBoolean)(c.showContinuousRecording,_defaults.BASE_CONFIG.showContinuousRecording),widgetButtonPlacement:(0,_validators.isValidEnum)(c.widgetButtonPlacement,_defaults.BASE_CONFIG.widgetButtonPlacement,Object.values(_types.WidgetButtonPlacement)),ignoreUrls:(0,_validators.isValidArray)(c.ignoreUrls,_defaults.BASE_CONFIG.ignoreUrls),sampleTraceRatio:(0,_validators.isValidNumber)(c.sampleTraceRatio,_defaults.BASE_CONFIG.sampleTraceRatio),propagateTraceHeaderCorsUrls:c.propagateTraceHeaderCorsUrls||_defaults.BASE_CONFIG.propagateTraceHeaderCorsUrls,schemifyDocSpanPayload:(0,_validators.isValidBoolean)(c.schemifyDocSpanPayload,_defaults.BASE_CONFIG.schemifyDocSpanPayload),maxCapturingHttpPayloadSize:(0,_validators.isValidNumber)(c.maxCapturingHttpPayloadSize,_defaults.BASE_CONFIG.maxCapturingHttpPayloadSize),captureBody:(0,_validators.isValidBoolean)(c.captureBody,_defaults.BASE_CONFIG.captureBody),captureHeaders:(0,_validators.isValidBoolean)(c.captureHeaders,_defaults.BASE_CONFIG.captureHeaders),widgetTextOverrides:getWidgetTextOverridesConfig(c.widgetTextOverrides,_defaults.BASE_CONFIG.widgetTextOverrides),recordScreen:(0,_validators.isValidBoolean)(c.recordScreen,_defaults.BASE_CONFIG.recordScreen),recordGestures:(0,_validators.isValidBoolean)(c.recordGestures,_defaults.BASE_CONFIG.recordGestures),recordNavigation:(0,_validators.isValidBoolean)(c.recordNavigation,_defaults.BASE_CONFIG.recordNavigation),masking:(0,_masking.getMaskingConfig)(c.masking)};};
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.getSessionRecorderConfig=void 0;var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _defaults=require("./defaults");var _masking=require("./masking");var _validators=require("./validators");var _widget=require("./widget");var getWidgetTextOverridesConfig=function getWidgetTextOverridesConfig(config,defaultConfig){if(!config||(0,_typeof2["default"])(config)!=='object'){return defaultConfig;}return Object.keys(defaultConfig).reduce(function(acc,key){acc[key]=(0,_validators.isValidString)(config[key],defaultConfig[key]);return acc;},{});};var getSessionRecorderConfig=exports.getSessionRecorderConfig=function getSessionRecorderConfig(c){if(!c){return _defaults.BASE_CONFIG;}return{apiKey:(0,_validators.isValidString)(c.apiKey,_defaults.BASE_CONFIG.apiKey),version:(0,_validators.isValidString)(c.version,_defaults.BASE_CONFIG.version),application:(0,_validators.isValidString)(c.application,_defaults.BASE_CONFIG.application),environment:(0,_validators.isValidString)(c.environment,_defaults.BASE_CONFIG.environment),exporterEndpoint:(0,_validators.isValidString)(c.exporterEndpoint,_defaults.BASE_CONFIG.exporterEndpoint),apiBaseUrl:(0,_validators.isValidString)(c.apiBaseUrl,_defaults.BASE_CONFIG.apiBaseUrl),usePostMessageFallback:(0,_validators.isValidBoolean)(c.usePostMessageFallback,_defaults.BASE_CONFIG.usePostMessageFallback),showContinuousRecording:(0,_validators.isValidBoolean)(c.showContinuousRecording,_defaults.BASE_CONFIG.showContinuousRecording),ignoreUrls:(0,_validators.isValidArray)(c.ignoreUrls,_defaults.BASE_CONFIG.ignoreUrls),sampleTraceRatio:(0,_validators.isValidNumber)(c.sampleTraceRatio,_defaults.BASE_CONFIG.sampleTraceRatio),propagateTraceHeaderCorsUrls:c.propagateTraceHeaderCorsUrls||_defaults.BASE_CONFIG.propagateTraceHeaderCorsUrls,schemifyDocSpanPayload:(0,_validators.isValidBoolean)(c.schemifyDocSpanPayload,_defaults.BASE_CONFIG.schemifyDocSpanPayload),maxCapturingHttpPayloadSize:(0,_validators.isValidNumber)(c.maxCapturingHttpPayloadSize,_defaults.BASE_CONFIG.maxCapturingHttpPayloadSize),captureBody:(0,_validators.isValidBoolean)(c.captureBody,_defaults.BASE_CONFIG.captureBody),captureHeaders:(0,_validators.isValidBoolean)(c.captureHeaders,_defaults.BASE_CONFIG.captureHeaders),widgetTextOverrides:getWidgetTextOverridesConfig(c.widgetTextOverrides,_defaults.BASE_CONFIG.widgetTextOverrides),recordScreen:(0,_validators.isValidBoolean)(c.recordScreen,_defaults.BASE_CONFIG.recordScreen),recordGestures:(0,_validators.isValidBoolean)(c.recordGestures,_defaults.BASE_CONFIG.recordGestures),recordNavigation:(0,_validators.isValidBoolean)(c.recordNavigation,_defaults.BASE_CONFIG.recordNavigation),masking:(0,_masking.getMaskingConfig)(c.masking),widget:(0,_widget.getWidgetConfig)(c.widget)};};
@@ -1 +1 @@
1
- {"version":3,"file":"session-recorder.js","sourceRoot":"","sources":["../../src/config/session-recorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-recorder.js","sourceRoot":"","sources":["../../src/config/session-recorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { SessionRecorderOptions, WidgetButtonPlacement } from "../types";
2
+ export declare const getWidgetConfig: (config: SessionRecorderOptions["widget"]) => {
3
+ enabled: boolean;
4
+ button: {
5
+ visible: boolean;
6
+ placement: WidgetButtonPlacement;
7
+ };
8
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getWidgetConfig=void 0;var _types=require("../types");var _validators=require("./validators");var getWidgetConfig=exports.getWidgetConfig=function getWidgetConfig(config){var _a;var def={enabled:true,button:{visible:true,placement:_types.WidgetButtonPlacement.bottomRight}};var placementCandidate=((_a=config===null||config===void 0?void 0:config.button)===null||_a===void 0?void 0:_a.placement)||def.button.placement;return{enabled:(0,_validators.isValidBoolean)(config&&config.enabled,def.enabled),button:{visible:(0,_validators.isValidBoolean)(config&&config.button&&config.button.visible,def.button.visible),placement:(0,_validators.isValidEnum)(placementCandidate,def.button.placement,Object.values(_types.WidgetButtonPlacement))}};};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/config/widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAwC,EAAE,EAAE;;IAE1E,MAAM,GAAG,GAAG;QACV,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,qBAAqB,CAAC,WAAW,EAAE;KACxE,CAAA;IAED,MAAM,kBAAkB,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,SAAS,KAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAA;IAE5E,OAAO;QACL,OAAO,EAAE,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;QAC9D,MAAM,EAAE;YACN,OAAO,EAAE,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7F,SAAS,EAAE,WAAW,CACpB,kBAAkB,EAClB,GAAG,CAAC,MAAM,CAAC,SAAS,EACpB,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CACrC;SACF;KACF,CAAA;AACH,CAAC,CAAA"}
@@ -1,13 +1,20 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
- import { SessionRecorderOptions, SessionState } from '../types';
2
+ import { SessionRecorderOptions } from '../types';
3
3
  import sessionRecorder from '../session-recorder';
4
+ import { SessionType } from '@multiplayer-app/session-recorder-common';
4
5
  interface SessionRecorderContextType {
5
6
  instance: typeof sessionRecorder;
6
- isInitialized: boolean;
7
- sessionState: SessionState | null;
7
+ openWidgetModal: () => void;
8
+ closeWidgetModal: () => void;
9
+ startSession: (sessionType?: SessionType) => Promise<void>;
10
+ stopSession: (comment?: string) => Promise<void>;
11
+ pauseSession: () => Promise<void>;
12
+ resumeSession: () => Promise<void>;
13
+ cancelSession: () => Promise<void>;
14
+ saveSession: () => Promise<void>;
8
15
  }
9
16
  export interface SessionRecorderProviderProps extends PropsWithChildren {
10
- options: SessionRecorderOptions;
17
+ options?: SessionRecorderOptions;
11
18
  }
12
19
  export declare const SessionRecorderProvider: React.FC<SessionRecorderProviderProps>;
13
20
  export declare const useSessionRecorder: () => SessionRecorderContextType;
@@ -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.useSessionRecorder=exports.SessionRecorderProvider=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _types=require("../types");var _sessionRecorder=_interopRequireDefault(require("../session-recorder"));var _ScreenRecorderView=require("../components/ScreenRecorderView");var _SessionRecorderWidget=_interopRequireDefault(require("../components/SessionRecorderWidget"));var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/context/SessionRecorderContext.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 SessionRecorderContext=(0,_react.createContext)(null);var SessionRecorderProvider=exports.SessionRecorderProvider=function SessionRecorderProvider(_ref){var children=_ref.children,options=_ref.options;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2["default"])(_useState,2),isInitialized=_useState2[0],setIsInitialized=_useState2[1];var _useState3=(0,_react.useState)(_types.SessionState.stopped),_useState4=(0,_slicedToArray2["default"])(_useState3,2),sessionState=_useState4[0],setSessionState=_useState4[1];var optionsRef=(0,_react.useRef)();(0,_react.useEffect)(function(){var newOptions=JSON.stringify(options);if(optionsRef.current===JSON.stringify(options))return;optionsRef.current=newOptions;_sessionRecorder["default"].init(options);setIsInitialized(true);},[options]);(0,_react.useEffect)(function(){setSessionState(_sessionRecorder["default"].sessionState);_sessionRecorder["default"].on('state-change',function(state){setSessionState(state);});},[]);return(0,_jsxRuntime.jsxs)(SessionRecorderContext.Provider,{value:{instance:_sessionRecorder["default"],sessionState:sessionState,isInitialized:isInitialized},children:[(0,_jsxRuntime.jsx)(_ScreenRecorderView.ScreenRecorderView,{children:children}),isInitialized&&!!_sessionRecorder["default"].config.showWidget&&(0,_jsxRuntime.jsx)(_SessionRecorderWidget["default"],{})]});};var useSessionRecorder=exports.useSessionRecorder=function useSessionRecorder(){var context=(0,_react.useContext)(SessionRecorderContext);if(!context){throw new Error('useSessionRecorder must be used within a SessionRecorderProvider');}return context;};
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.useSessionRecorder=exports.SessionRecorderProvider=void 0;var _react=_interopRequireWildcard(require("react"));var _sessionRecorder=_interopRequireDefault(require("../session-recorder"));var _ScreenRecorderView=require("../components/ScreenRecorderView");var _SessionRecorderWidget=_interopRequireDefault(require("../components/SessionRecorderWidget"));var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _SessionRecorderStore=require("./SessionRecorderStore");var _useStoreSelector=require("./useStoreSelector");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/context/SessionRecorderContext.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 SessionRecorderContext=(0,_react.createContext)(null);var SessionRecorderProvider=exports.SessionRecorderProvider=function SessionRecorderProvider(_ref){var children=_ref.children,options=_ref.options;var isInitialized=(0,_useStoreSelector.useStoreSelector)(_SessionRecorderStore.sessionRecorderStore,function(s){return s.isInitialized;});(0,_react.useEffect)(function(){if(options){_sessionRecorder["default"].init(options);}_SessionRecorderStore.sessionRecorderStore.setState({isInitialized:_sessionRecorder["default"].isInitialized});},[]);(0,_react.useEffect)(function(){_SessionRecorderStore.sessionRecorderStore.setState({sessionState:_sessionRecorder["default"].sessionState,sessionType:_sessionRecorder["default"].sessionType});var onStateChange=function onStateChange(sessionState,sessionType){_SessionRecorderStore.sessionRecorderStore.setState({sessionState:sessionState,sessionType:sessionType});};_sessionRecorder["default"].on('state-change',onStateChange);return function(){_sessionRecorder["default"].off('state-change',onStateChange);};},[]);var startSession=(0,_react.useCallback)(function(){var sessionType=arguments.length>0&&arguments[0]!==undefined?arguments[0]:_sessionRecorderCommon.SessionType.PLAIN;return _sessionRecorder["default"].start(sessionType);},[]);var stopSession=(0,_react.useCallback)(function(comment){return _sessionRecorder["default"].stop(comment);},[]);var pauseSession=(0,_react.useCallback)(function(){return _sessionRecorder["default"].pause();},[]);var resumeSession=(0,_react.useCallback)(function(){return _sessionRecorder["default"].resume();},[]);var cancelSession=(0,_react.useCallback)(function(){return _sessionRecorder["default"].cancel();},[]);var saveSession=(0,_react.useCallback)(function(){return _sessionRecorder["default"].save();},[]);var openWidgetModal=(0,_react.useCallback)(function(){_SessionRecorderStore.sessionRecorderStore.setState({isWidgetModalVisible:true});},[]);var closeWidgetModal=(0,_react.useCallback)(function(){_SessionRecorderStore.sessionRecorderStore.setState({isWidgetModalVisible:false});},[]);return(0,_jsxRuntime.jsxs)(SessionRecorderContext.Provider,{value:{instance:_sessionRecorder["default"],openWidgetModal:openWidgetModal,closeWidgetModal:closeWidgetModal,startSession:startSession,stopSession:stopSession,pauseSession:pauseSession,resumeSession:resumeSession,cancelSession:cancelSession,saveSession:saveSession},children:[(0,_jsxRuntime.jsx)(_ScreenRecorderView.ScreenRecorderView,{children:children}),isInitialized&&!!_sessionRecorder["default"].config.widget.enabled&&(0,_jsxRuntime.jsx)(_SessionRecorderWidget["default"],{})]});};var useSessionRecorder=exports.useSessionRecorder=function useSessionRecorder(){var context=(0,_react.useContext)(SessionRecorderContext);if(!context){throw new Error('useSessionRecorder must be used within a SessionRecorderProvider');}return context;};
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRecorderContext.js","sourceRoot":"","sources":["../../src/context/SessionRecorderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAqB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACxG,OAAO,EAA0B,YAAY,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,eAAe,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,qBAAqB,MAAM,qCAAqC,CAAA;AAQvE,MAAM,sBAAsB,GAAG,aAAa,CAAoC,IAAI,CAAC,CAAA;AAMrF,MAAM,CAAC,MAAM,uBAAuB,GAA2C,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IACvG,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAsB,YAAY,CAAC,OAAO,CAAC,CAAA;IAC3F,MAAM,UAAU,GAAG,MAAM,EAAU,CAAA;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1C,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAM;QAC1D,UAAU,CAAC,OAAO,GAAG,UAAU,CAAA;QAC/B,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7B,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QAC7C,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAmB,EAAE,EAAE;YACzD,eAAe,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CACjG;MAAA,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAClD;MAAA,CAAC,aAAa,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,qBAAqB,CAAC,AAAD,EAAG,CACpF;IAAA,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CACnC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAA+B,EAAE;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAA;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"SessionRecorderContext.js","sourceRoot":"","sources":["../../src/context/SessionRecorderContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Store } from '../utils/createStore';
2
+ import { SessionType } from '@multiplayer-app/session-recorder-common';
3
+ import { SessionState } from '../types';
4
+ export type SessionRecorderState = {
5
+ isInitialized: boolean;
6
+ sessionType: SessionType | null;
7
+ sessionState: SessionState | null;
8
+ isWidgetModalVisible: boolean;
9
+ };
10
+ export declare const sessionRecorderStore: Store<SessionRecorderState>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.sessionRecorderStore=void 0;var _createStore=require("../utils/createStore");var sessionRecorderStore=exports.sessionRecorderStore=(0,_createStore.createStore)({isInitialized:false,sessionType:null,sessionState:null,isWidgetModalVisible:false});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderStore.js","sourceRoot":"","sources":["../../src/context/SessionRecorderStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAS,MAAM,sBAAsB,CAAA;AAWzD,MAAM,CAAC,MAAM,oBAAoB,GAAgC,WAAW,CAAuB;IACjG,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,oBAAoB,EAAE,KAAK;CAC5B,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { SessionType } from "@multiplayer-app/session-recorder-common";
2
+ import { SessionState } from "../types";
3
+ import { SessionRecorderState } from "./SessionRecorderStore";
4
+ export declare function useSessionRecorderStore<TSlice>(selector: (s: SessionRecorderState) => TSlice, equalityFn?: (a: TSlice, b: TSlice) => boolean): TSlice;
5
+ export declare function useSessionRecordingState(): SessionState | null;
6
+ export declare function useSessionType(): SessionType | null;
7
+ export declare function useIsInitialized(): boolean;
8
+ export declare function useWidgetModalVisible(): boolean;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.useIsInitialized=useIsInitialized;exports.useSessionRecorderStore=useSessionRecorderStore;exports.useSessionRecordingState=useSessionRecordingState;exports.useSessionType=useSessionType;exports.useWidgetModalVisible=useWidgetModalVisible;var _useStoreSelector=require("./useStoreSelector");var _SessionRecorderStore=require("./SessionRecorderStore");function useSessionRecorderStore(selector,equalityFn){return(0,_useStoreSelector.useStoreSelector)(_SessionRecorderStore.sessionRecorderStore,selector,equalityFn);}function useSessionRecordingState(){return useSessionRecorderStore(function(s){return s.sessionState;});}function useSessionType(){return useSessionRecorderStore(function(s){return s.sessionType;});}function useIsInitialized(){return useSessionRecorderStore(function(s){return s.isInitialized;});}function useWidgetModalVisible(){return useSessionRecorderStore(function(s){return s.isWidgetModalVisible;});}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSessionRecorderStore.js","sourceRoot":"","sources":["../../src/context/useSessionRecorderStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAwB,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAEnF,MAAM,UAAU,uBAAuB,CACrC,QAA6C,EAC7C,UAA8C;IAE9C,OAAO,gBAAgB,CAA+B,oBAAoB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AACnG,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,uBAAuB,CAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,uBAAuB,CAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,uBAAuB,CAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,uBAAuB,CAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;AACxE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Store } from '../utils/createStore';
2
+ import { shallowEqual } from '../utils/shallowEqual';
3
+ export declare function useStoreSelector<TState extends object, TSlice>(store: Store<TState>, selector: (state: TState) => TSlice, equalityFn?: (a: TSlice, b: TSlice) => boolean): TSlice;
4
+ export declare const shallow: typeof shallowEqual;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.shallow=void 0;exports.useStoreSelector=useStoreSelector;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");var _shallowEqual=require("../utils/shallowEqual");function useStoreSelector(store,selector){var equalityFn=arguments.length>2&&arguments[2]!==undefined?arguments[2]:Object.is;var latestSelectorRef=(0,_react.useRef)(selector);var latestEqualityRef=(0,_react.useRef)(equalityFn);latestSelectorRef.current=selector;latestEqualityRef.current=equalityFn;var _useState=(0,_react.useState)(function(){return latestSelectorRef.current(store.getState());}),_useState2=(0,_slicedToArray2["default"])(_useState,2),slice=_useState2[0],setSlice=_useState2[1];(0,_react.useEffect)(function(){function handleChange(nextState,prevState){var nextSlice=latestSelectorRef.current(nextState);var prevSlice=latestSelectorRef.current(prevState);if(!latestEqualityRef.current(nextSlice,prevSlice)){setSlice(nextSlice);}}var unsubscribe=store.subscribe(handleChange);handleChange(store.getState(),store.getState());return unsubscribe;},[store]);return slice;}var shallow=exports.shallow=_shallowEqual.shallowEqual;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStoreSelector.js","sourceRoot":"","sources":["../../src/context/useStoreSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,MAAM,UAAU,gBAAgB,CAC9B,KAAoB,EACpB,QAAmC,EACnC,aAAgD,MAAM,CAAC,EAAE;IAEzD,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5C,iBAAiB,CAAC,OAAO,GAAG,QAAQ,CAAA;IACpC,iBAAiB,CAAC,OAAO,GAAG,UAAU,CAAA;IAEtC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAE7F,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,YAAY,CAAC,SAAiB,EAAE,SAAiB;YACxD,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACtD,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACtD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBACrD,QAAQ,CAAC,SAAS,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACjD,sDAAsD;QACtD,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAChD,OAAO,WAAW,CAAA;IACpB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAA"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,6 @@ import './patch';
2
2
  import SessionRecorder from './session-recorder';
3
3
  export * from '@multiplayer-app/session-recorder-common';
4
4
  export * from './context/SessionRecorderContext';
5
+ export * from './context/useSessionRecorderStore';
5
6
  export { SessionRecorder };
6
7
  export default SessionRecorder;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});var _exportNames={SessionRecorder:true};Object.defineProperty(exports,"SessionRecorder",{enumerable:true,get:function get(){return _sessionRecorder["default"];}});exports["default"]=void 0;require("./patch");var _sessionRecorder=_interopRequireDefault(require("./session-recorder"));var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");Object.keys(_sessionRecorderCommon).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_sessionRecorderCommon[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _sessionRecorderCommon[key];}});});var _SessionRecorderContext=require("./context/SessionRecorderContext");Object.keys(_SessionRecorderContext).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_SessionRecorderContext[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _SessionRecorderContext[key];}});});var _default=exports["default"]=_sessionRecorder["default"];
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});var _exportNames={SessionRecorder:true};Object.defineProperty(exports,"SessionRecorder",{enumerable:true,get:function get(){return _sessionRecorder["default"];}});exports["default"]=void 0;require("./patch");var _sessionRecorder=_interopRequireDefault(require("./session-recorder"));var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");Object.keys(_sessionRecorderCommon).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_sessionRecorderCommon[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _sessionRecorderCommon[key];}});});var _SessionRecorderContext=require("./context/SessionRecorderContext");Object.keys(_SessionRecorderContext).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_SessionRecorderContext[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _SessionRecorderContext[key];}});});var _useSessionRecorderStore=require("./context/useSessionRecorderStore");Object.keys(_useSessionRecorderStore).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_useSessionRecorderStore[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _useSessionRecorderStore[key];}});});var _default=exports["default"]=_sessionRecorder["default"];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAChD,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAEhD,qCAAqC;AACrC,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,iCAAiC;AACjC,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAChD,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AAEjD,qCAAqC;AACrC,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,iCAAiC;AACjC,eAAe,eAAe,CAAA"}
@@ -0,0 +1,57 @@
1
+ import { NativeEventEmitter } from 'react-native';
2
+ export interface GestureEvent {
3
+ type: 'tap' | 'pan_start' | 'pan_move' | 'pan_end' | 'long_press' | 'pinch' | 'swipe';
4
+ timestamp: number;
5
+ x: number;
6
+ y: number;
7
+ target?: string;
8
+ targetInfo?: {
9
+ identifier: string;
10
+ label?: string;
11
+ role?: string;
12
+ testId?: string;
13
+ text?: string;
14
+ };
15
+ metadata?: {
16
+ pressure?: number;
17
+ velocity?: number;
18
+ scale?: number;
19
+ direction?: string;
20
+ distance?: number;
21
+ };
22
+ }
23
+ export interface GestureRecorderNativeModule {
24
+ /**
25
+ * Start gesture recording
26
+ * @returns Promise that resolves when recording starts
27
+ */
28
+ startGestureRecording(): Promise<void>;
29
+ /**
30
+ * Stop gesture recording
31
+ * @returns Promise that resolves when recording stops
32
+ */
33
+ stopGestureRecording(): Promise<void>;
34
+ /**
35
+ * Check if gesture recording is currently active
36
+ * @returns Promise that resolves to boolean indicating recording status
37
+ */
38
+ isGestureRecordingActive(): Promise<boolean>;
39
+ /**
40
+ * Set gesture callback to receive gesture events
41
+ * @param callback Function to call when gestures are detected
42
+ */
43
+ setGestureCallback(callback: (gesture: GestureEvent) => void): void;
44
+ /**
45
+ * Manually record a gesture event (for testing or manual recording)
46
+ * @param gestureType Type of gesture
47
+ * @param x X coordinate
48
+ * @param y Y coordinate
49
+ * @param target Target element identifier
50
+ * @param metadata Additional gesture metadata
51
+ */
52
+ recordGesture(gestureType: string, x: number, y: number, target?: string, metadata?: Record<string, any>): void;
53
+ }
54
+ declare const gestureEventEmitter: NativeEventEmitter | null;
55
+ declare const _default: GestureRecorderNativeModule;
56
+ export default _default;
57
+ export { gestureEventEmitter };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.gestureEventEmitter=exports["default"]=void 0;var _reactNative=require("react-native");var GestureRecorderNative=_reactNative.NativeModules.GestureRecorderNative;if(!GestureRecorderNative){console.warn('GestureRecorderNative module is not available. Auto-linking may not have completed yet.');}var gestureEventEmitter=exports.gestureEventEmitter=GestureRecorderNative?new _reactNative.NativeEventEmitter(GestureRecorderNative):null;var _default=exports["default"]=GestureRecorderNative;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GestureRecorderNative.js","sourceRoot":"","sources":["../../src/native/GestureRecorderNative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAkEhE,wBAAwB;AACxB,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAA;AAE/C,+CAA+C;AAC/C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAA;AACzG,CAAC;AAED,0CAA0C;AAC1C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAExG,eAAe,qBAAoD,CAAA;AAEnE,0CAA0C;AAC1C,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default as SessionRecorderNative } from './SessionRecorderNative';
2
+ export { default as GestureRecorderNative, gestureEventEmitter } from './GestureRecorderNative';
@@ -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});Object.defineProperty(exports,"GestureRecorderNative",{enumerable:true,get:function get(){return _GestureRecorderNative["default"];}});Object.defineProperty(exports,"SessionRecorderNative",{enumerable:true,get:function get(){return _SessionRecorderNative["default"];}});Object.defineProperty(exports,"gestureEventEmitter",{enumerable:true,get:function get(){return _GestureRecorderNative.gestureEventEmitter;}});var _SessionRecorderNative=_interopRequireDefault(require("./SessionRecorderNative"));var _GestureRecorderNative=_interopRequireWildcard(require("./GestureRecorderNative"));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);}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -3,24 +3,31 @@ export declare class GestureRecorder implements EventRecorder {
3
3
  private config?;
4
4
  private isRecording;
5
5
  private events;
6
- private gestureHandlers;
7
6
  private screenDimensions;
8
7
  private lastGestureTime;
9
8
  private gestureThrottleMs;
10
9
  private lastTouchTime;
11
10
  private touchThrottleMs;
12
- private isRecordingGesture;
13
- private gestureCallStack;
14
- private maxGestureCallDepth;
15
11
  private eventRecorder?;
16
12
  private imageNodeId;
17
13
  private screenRecorder?;
14
+ private gestureEventListener?;
15
+ private currentPanSpan?;
16
+ private panMoveCount;
18
17
  init(config: RecorderConfig, eventRecorder?: EventRecorder, screenRecorder?: any): void;
19
18
  start(): void;
20
19
  stop(): void;
21
20
  private _getScreenDimensions;
22
- private _removeGestureHandlers;
23
- private _recordEvent;
21
+ private _setupGestureEventListener;
22
+ private _removeGestureEventListener;
23
+ private _handleNativeGesture;
24
+ private _handleTapGesture;
25
+ private _handlePanStartGesture;
26
+ private _handlePanMoveGesture;
27
+ private _handlePanEndGesture;
28
+ private _handleLongPressGesture;
29
+ private _handlePinchGesture;
30
+ private _handleSwipeGesture;
24
31
  private _sendEvent;
25
32
  private _recordOpenTelemetrySpan;
26
33
  recordTap(x: number, y: number, target?: string, pressure?: number): void;
@@ -34,66 +41,25 @@ export declare class GestureRecorder implements EventRecorder {
34
41
  recordMultiTouch(touchCount: number, target?: string): void;
35
42
  recordScroll(direction: string, distance: number, velocity: number, target?: string): void;
36
43
  recordZoom(scale: number, target?: string, velocity?: number): void;
44
+ recordTouchStart(x: number, y: number, target?: string, pressure?: number): void;
45
+ recordTouchMove(x: number, y: number, target?: string, pressure?: number): void;
46
+ recordTouchEnd(x: number, y: number, target?: string, pressure?: number): void;
47
+ recordTouchCancel(x: number, y: number, target?: string): void;
48
+ setImageNodeId(nodeId: number): void;
49
+ private _recordEvent;
50
+ private _createMouseInteractionEvent;
51
+ private _createMouseMoveEvent;
52
+ recordEvent(event: any): void;
37
53
  getEvents(): GestureEvent[];
38
54
  clearEvents(): void;
39
55
  getEventStats(): Record<string, number>;
40
56
  setGestureThrottle(throttleMs: number): void;
41
57
  isRecordingEnabled(): boolean;
42
58
  /**
43
- * Record an rrweb event
44
- * @param event - The rrweb event to record
45
- */
46
- recordEvent(event: any): void;
47
- /**
48
- * Create and emit a rrweb MouseInteraction event for touch interactions
49
- * @param x - X coordinate
50
- * @param y - Y coordinate
51
- * @param interactionType - Type of interaction (TouchStart, TouchMove, TouchEnd, etc.)
52
- * @param target - Target element identifier
53
- */
54
- private _createMouseInteractionEvent;
55
- /**
56
- * Create mouse move event with positions array (like web rrweb)
57
- * @param x - X coordinate
58
- * @param y - Y coordinate
59
- * @param target - Target element identifier
59
+ * Truncate text to prevent large span attributes
60
+ * @param text - Text to truncate
61
+ * @param maxLength - Maximum length (default: 100)
62
+ * @returns Truncated text with ellipsis if needed
60
63
  */
61
- private _createMouseMoveEvent;
62
- /**
63
- * Record touch start event as rrweb MouseInteraction
64
- * @param x - X coordinate
65
- * @param y - Y coordinate
66
- * @param target - Target element identifier
67
- * @param pressure - Touch pressure (optional)
68
- */
69
- recordTouchStart(x: number, y: number, target?: string, pressure?: number): void;
70
- /**
71
- * Record touch move event as rrweb MouseMove with positions array
72
- * @param x - X coordinate
73
- * @param y - Y coordinate
74
- * @param target - Target element identifier
75
- * @param pressure - Touch pressure (optional)
76
- */
77
- recordTouchMove(x: number, y: number, target?: string, pressure?: number): void;
78
- /**
79
- * Record touch end event as rrweb MouseInteraction
80
- * @param x - X coordinate
81
- * @param y - Y coordinate
82
- * @param target - Target element identifier
83
- * @param pressure - Touch pressure (optional)
84
- */
85
- recordTouchEnd(x: number, y: number, target?: string, pressure?: number): void;
86
- /**
87
- * Record touch cancel event as rrweb MouseInteraction
88
- * @param x - X coordinate
89
- * @param y - Y coordinate
90
- * @param target - Target element identifier
91
- */
92
- recordTouchCancel(x: number, y: number, target?: string): void;
93
- /**
94
- * Set the image node ID for touch interactions
95
- * This should be called when a new screen snapshot is created
96
- * @param nodeId - The ID of the image node in the current snapshot
97
- */
98
- setImageNodeId(nodeId: number): void;
64
+ private _truncateText;
99
65
  }