@truewatchtech/react-native-session-replay 0.4.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 (130) hide show
  1. package/FTSessionReplayReactNative.podspec +50 -0
  2. package/README.md +33 -0
  3. package/android/build.gradle +228 -0
  4. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  5. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  6. package/android/gradle.properties +4 -0
  7. package/android/gradlew +185 -0
  8. package/android/gradlew.bat +89 -0
  9. package/android/settings.gradle +1 -0
  10. package/android/src/main/AndroidManifest.xml +4 -0
  11. package/android/src/main/AndroidManifestNew.xml +3 -0
  12. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/FTSessionReplayImpl.java +119 -0
  13. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/NoopTextPropertiesResolver.java +23 -0
  14. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/ReactNativeSessionReplayExtensionSupport.java +57 -0
  15. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/ShadowNodeWrapper.java +84 -0
  16. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/TextPropertiesResolver.java +20 -0
  17. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/extensions/ReactDrawablesExt.java +155 -0
  18. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/DefaultMapper.java +78 -0
  19. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/Pair.java +11 -0
  20. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactEditTextMapper.java +136 -0
  21. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactNativeImageViewMapper.java +117 -0
  22. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactTextMapper.java +57 -0
  23. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactViewGroupMapper.java +22 -0
  24. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/mappers/ReactViewModalMapper.java +21 -0
  25. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/resources/ReactDrawableCopier.java +35 -0
  26. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/ColorUtils.java +24 -0
  27. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/DrawableUtils.java +34 -0
  28. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactNativeUtils.java +18 -0
  29. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/ReflectionUtils.java +43 -0
  30. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/text/FabricTextViewUtils.java +69 -0
  31. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/text/LegacyTextViewUtils.java +97 -0
  32. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/utils/text/TextViewUtils.java +184 -0
  33. package/android/src/main/java/com/ft/sdk/reactnative/sessionreplay/views/FTPrivacyView.java +113 -0
  34. package/android/src/newarch/java/com/ft/sdk/reactnative/sessionreplay/FTSessionReplayModule.java +20 -0
  35. package/android/src/newarch/java/com/ft/sdk/reactnative/sessionreplay/views/FTPrivacyViewManager.java +87 -0
  36. package/android/src/oldarch/java/com/ft/sdk/reactnative/sessionreplay/FTSessionReplayModule.java +25 -0
  37. package/android/src/oldarch/java/com/ft/sdk/reactnative/sessionreplay/views/FTPrivacyViewManager.java +70 -0
  38. package/android/src/rn69/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +100 -0
  39. package/android/src/rn75/java/com/ft/sdk/reactnative/sessionreplay/extensions/LengthPercentageExt.java +27 -0
  40. package/android/src/rn75/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +116 -0
  41. package/android/src/rn76/java/com/ft/sdk/reactnative/sessionreplay/extensions/LengthPercentageExt.java +38 -0
  42. package/android/src/rn76/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +117 -0
  43. package/android/src/rn79/java/com/ft/sdk/reactnative/sessionreplay/extensions/LengthPercentageExt.java +38 -0
  44. package/android/src/rn79/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +132 -0
  45. package/android/src/rn80/java/com/ft/sdk/reactnative/sessionreplay/extensions/ComputedBorderRadiusExt.java +58 -0
  46. package/android/src/rn80/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +190 -0
  47. package/android/src/rnlegacy/java/com/ft/sdk/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.java +120 -0
  48. package/android/src/rnpost74/java/com/ft/sdk/reactnative/sessionreplay/FTSessionReplayPackage.java +58 -0
  49. package/android/src/rnpre74/java/com/ft/sdk/reactnative/sessionreplay/FTSessionReplayPackage.java +30 -0
  50. package/ios/FTPrivacyViewFabric.h +22 -0
  51. package/ios/FTPrivacyViewFabric.mm +84 -0
  52. package/ios/FTPrivacyViewPaper.h +17 -0
  53. package/ios/FTPrivacyViewPaper.mm +85 -0
  54. package/ios/FTRCTFabricWrapper.h +13 -0
  55. package/ios/FTRCTFabricWrapper.mm +113 -0
  56. package/ios/FTRCTTextPropertiesWrapper.h +24 -0
  57. package/ios/FTRCTTextPropertiesWrapper.mm +28 -0
  58. package/ios/FTRCTTextViewRecorder.h +33 -0
  59. package/ios/FTRCTTextViewRecorder.m +172 -0
  60. package/ios/FTReactNativeSessionReplay.h +13 -0
  61. package/ios/FTReactNativeSessionReplay.mm +85 -0
  62. package/ios/FTSessionReplayReactNative.xcodeproj/project.pbxproj +304 -0
  63. package/lib/commonjs/components/SessionReplayView/HideView.js +19 -0
  64. package/lib/commonjs/components/SessionReplayView/HideView.js.map +1 -0
  65. package/lib/commonjs/components/SessionReplayView/MaskAllView.js +25 -0
  66. package/lib/commonjs/components/SessionReplayView/MaskAllView.js.map +1 -0
  67. package/lib/commonjs/components/SessionReplayView/MaskNoneView.js +23 -0
  68. package/lib/commonjs/components/SessionReplayView/MaskNoneView.js.map +1 -0
  69. package/lib/commonjs/components/SessionReplayView/PrivacyView.js +28 -0
  70. package/lib/commonjs/components/SessionReplayView/PrivacyView.js.map +1 -0
  71. package/lib/commonjs/components/SessionReplayView/index.js +29 -0
  72. package/lib/commonjs/components/SessionReplayView/index.js.map +1 -0
  73. package/lib/commonjs/ft_session_replay.js +69 -0
  74. package/lib/commonjs/ft_session_replay.js.map +1 -0
  75. package/lib/commonjs/index.js +50 -0
  76. package/lib/commonjs/index.js.map +1 -0
  77. package/lib/commonjs/specs/FTPrivacyViewNative.js +29 -0
  78. package/lib/commonjs/specs/FTPrivacyViewNative.js.map +1 -0
  79. package/lib/commonjs/specs/FTPrivacyViewNativeComponent.js +10 -0
  80. package/lib/commonjs/specs/FTPrivacyViewNativeComponent.js.map +1 -0
  81. package/lib/commonjs/specs/NativeFTReactNativeSessionReplay.js +10 -0
  82. package/lib/commonjs/specs/NativeFTReactNativeSessionReplay.js.map +1 -0
  83. package/lib/commonjs/types.js +6 -0
  84. package/lib/commonjs/types.js.map +1 -0
  85. package/lib/module/components/SessionReplayView/HideView.js +12 -0
  86. package/lib/module/components/SessionReplayView/HideView.js.map +1 -0
  87. package/lib/module/components/SessionReplayView/MaskAllView.js +18 -0
  88. package/lib/module/components/SessionReplayView/MaskAllView.js.map +1 -0
  89. package/lib/module/components/SessionReplayView/MaskNoneView.js +16 -0
  90. package/lib/module/components/SessionReplayView/MaskNoneView.js.map +1 -0
  91. package/lib/module/components/SessionReplayView/PrivacyView.js +21 -0
  92. package/lib/module/components/SessionReplayView/PrivacyView.js.map +1 -0
  93. package/lib/module/components/SessionReplayView/index.js +23 -0
  94. package/lib/module/components/SessionReplayView/index.js.map +1 -0
  95. package/lib/module/ft_session_replay.js +67 -0
  96. package/lib/module/ft_session_replay.js.map +1 -0
  97. package/lib/module/index.js +4 -0
  98. package/lib/module/index.js.map +1 -0
  99. package/lib/module/specs/FTPrivacyViewNative.js +24 -0
  100. package/lib/module/specs/FTPrivacyViewNative.js.map +1 -0
  101. package/lib/module/specs/FTPrivacyViewNativeComponent.js +3 -0
  102. package/lib/module/specs/FTPrivacyViewNativeComponent.js.map +1 -0
  103. package/lib/module/specs/NativeFTReactNativeSessionReplay.js +5 -0
  104. package/lib/module/specs/NativeFTReactNativeSessionReplay.js.map +1 -0
  105. package/lib/module/types.js +2 -0
  106. package/lib/module/types.js.map +1 -0
  107. package/lib/typescript/components/SessionReplayView/HideView.d.ts +7 -0
  108. package/lib/typescript/components/SessionReplayView/MaskAllView.d.ts +8 -0
  109. package/lib/typescript/components/SessionReplayView/MaskNoneView.d.ts +7 -0
  110. package/lib/typescript/components/SessionReplayView/PrivacyView.d.ts +12 -0
  111. package/lib/typescript/components/SessionReplayView/index.d.ts +22 -0
  112. package/lib/typescript/ft_session_replay.d.ts +61 -0
  113. package/lib/typescript/index.d.ts +3 -0
  114. package/lib/typescript/specs/FTPrivacyViewNative.d.ts +2 -0
  115. package/lib/typescript/specs/FTPrivacyViewNativeComponent.d.ts +10 -0
  116. package/lib/typescript/specs/NativeFTReactNativeSessionReplay.d.ts +11 -0
  117. package/lib/typescript/types.d.ts +8 -0
  118. package/package.json +97 -0
  119. package/scripts/set-ios-rn-version.js +47 -0
  120. package/src/components/SessionReplayView/HideView.tsx +15 -0
  121. package/src/components/SessionReplayView/MaskAllView.tsx +35 -0
  122. package/src/components/SessionReplayView/MaskNoneView.tsx +26 -0
  123. package/src/components/SessionReplayView/PrivacyView.tsx +40 -0
  124. package/src/components/SessionReplayView/index.ts +26 -0
  125. package/src/ft_session_replay.tsx +78 -0
  126. package/src/index.tsx +19 -0
  127. package/src/specs/FTPrivacyViewNative.ts +32 -0
  128. package/src/specs/FTPrivacyViewNativeComponent.ts +14 -0
  129. package/src/specs/NativeFTReactNativeSessionReplay.ts +13 -0
  130. package/src/types.ts +9 -0
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PrivacyView = PrivacyView;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _FTPrivacyViewNative = _interopRequireDefault(require("../../specs/FTPrivacyViewNative"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
11
+ function PrivacyView({
12
+ children,
13
+ textAndInputPrivacy,
14
+ imagePrivacy,
15
+ touchPrivacy,
16
+ nativeID,
17
+ hide,
18
+ ...props
19
+ }) {
20
+ return /*#__PURE__*/_react.default.createElement(_FTPrivacyViewNative.default, _extends({}, props, {
21
+ textAndInputPrivacy: textAndInputPrivacy,
22
+ imagePrivacy: imagePrivacy,
23
+ touchPrivacy: touchPrivacy,
24
+ hide: hide,
25
+ nativeID: nativeID
26
+ }), children);
27
+ }
28
+ //# sourceMappingURL=PrivacyView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_FTPrivacyViewNative","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","PrivacyView","children","textAndInputPrivacy","imagePrivacy","touchPrivacy","nativeID","hide","props","createElement"],"sources":["PrivacyView.tsx"],"sourcesContent":["import React from 'react';\nimport FTPrivacyViewNative from '../../specs/FTPrivacyViewNative';\nimport type { ViewProps } from 'react-native';\nimport type {\n ImagePrivacyLevel,\n TextAndInputPrivacyLevel,\n TouchPrivacyLevel,\n} from '../../ft_session_replay';\n\nexport interface PrivacyViewProps extends ViewProps {\n children?: React.ReactNode;\n textAndInputPrivacy?: TextAndInputPrivacyLevel;\n imagePrivacy?: ImagePrivacyLevel;\n touchPrivacy?: TouchPrivacyLevel;\n hide?: boolean;\n nativeID?: string;\n}\n\nexport function PrivacyView({\n children,\n textAndInputPrivacy,\n imagePrivacy,\n touchPrivacy,\n nativeID,\n hide,\n ...props\n}: PrivacyViewProps) {\n return (\n <FTPrivacyViewNative\n {...props}\n textAndInputPrivacy={textAndInputPrivacy}\n imagePrivacy={imagePrivacy}\n touchPrivacy={touchPrivacy}\n hide={hide}\n nativeID={nativeID}\n >\n {children}\n </FTPrivacyViewNative>\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAiB3D,SAASO,WAAWA,CAAC;EAC1BC,QAAQ;EACRC,mBAAmB;EACnBC,YAAY;EACZC,YAAY;EACZC,QAAQ;EACRC,IAAI;EACJ,GAAGC;AACa,CAAC,EAAE;EACnB,oBACE1B,MAAA,CAAAM,OAAA,CAAAqB,aAAA,CAACxB,oBAAA,CAAAG,OAAmB,EAAAC,QAAA,KACdmB,KAAK;IACTL,mBAAmB,EAAEA,mBAAoB;IACzCC,YAAY,EAAEA,YAAa;IAC3BC,YAAY,EAAEA,YAAa;IAC3BE,IAAI,EAAEA,IAAK;IACXD,QAAQ,EAAEA;EAAS,IAElBJ,QACkB,CAAC;AAE1B","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FTSessionReplayView = void 0;
7
+ var _PrivacyView = require("./PrivacyView");
8
+ var _MaskAllView = require("./MaskAllView");
9
+ var _MaskNoneView = require("./MaskNoneView");
10
+ var _HideView = require("./HideView");
11
+ const FTSessionReplayView = exports.FTSessionReplayView = {
12
+ /**
13
+ * Privacy view component - Low-level configurable component for fine-grained privacy control
14
+ */
15
+ Privacy: _PrivacyView.PrivacyView,
16
+ /**
17
+ * Mask all view component - Masks all text, inputs and images
18
+ */
19
+ MaskAll: _MaskAllView.MaskAllView,
20
+ /**
21
+ * Mask none view component - Displays most content as-is
22
+ */
23
+ MaskNone: _MaskNoneView.MaskNoneView,
24
+ /**
25
+ * Hide view component - Completely hides the view and its content
26
+ */
27
+ Hide: _HideView.HideView
28
+ };
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_PrivacyView","require","_MaskAllView","_MaskNoneView","_HideView","FTSessionReplayView","exports","Privacy","PrivacyView","MaskAll","MaskAllView","MaskNone","MaskNoneView","Hide","HideView"],"sources":["index.ts"],"sourcesContent":["import { PrivacyView } from './PrivacyView';\nimport { MaskAllView } from './MaskAllView';\nimport { MaskNoneView } from './MaskNoneView';\nimport { HideView } from './HideView';\n\nexport const FTSessionReplayView = {\n /**\n * Privacy view component - Low-level configurable component for fine-grained privacy control\n */\n Privacy: PrivacyView,\n\n /**\n * Mask all view component - Masks all text, inputs and images\n */\n MaskAll: MaskAllView,\n\n /**\n * Mask none view component - Displays most content as-is\n */\n MaskNone: MaskNoneView,\n\n /**\n * Hide view component - Completely hides the view and its content\n */\n Hide: HideView,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEO,MAAMI,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG;EACjC;AACF;AACA;EACEE,OAAO,EAAEC,wBAAW;EAEpB;AACF;AACA;EACEC,OAAO,EAAEC,wBAAW;EAEpB;AACF;AACA;EACEC,QAAQ,EAAEC,0BAAY;EAEtB;AACF;AACA;EACEC,IAAI,EAAEC;AACR,CAAC","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TouchPrivacyLevel = exports.TextAndInputPrivacyLevel = exports.SessionReplayPrivacy = exports.ImagePrivacyLevel = exports.FTReactNativeSessionReplay = void 0;
7
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ // import { NativeModules } from 'react-native';
11
+ /**
12
+ * Privacy level for content masking in session replay. Deprecated, recommend using fine-grained privacy levels for settings
13
+ */
14
+ let SessionReplayPrivacy = exports.SessionReplayPrivacy = /*#__PURE__*/function (SessionReplayPrivacy) {
15
+ SessionReplayPrivacy[SessionReplayPrivacy["MASK"] = 0] = "MASK";
16
+ SessionReplayPrivacy[SessionReplayPrivacy["ALLOW"] = 1] = "ALLOW";
17
+ SessionReplayPrivacy[SessionReplayPrivacy["MASK_USER_INPUT"] = 2] = "MASK_USER_INPUT";
18
+ return SessionReplayPrivacy;
19
+ }({});
20
+ /**
21
+ * Available privacy levels for touch masking in session replay.
22
+ */
23
+ let TouchPrivacyLevel = exports.TouchPrivacyLevel = /*#__PURE__*/function (TouchPrivacyLevel) {
24
+ TouchPrivacyLevel["SHOW"] = "SHOW";
25
+ TouchPrivacyLevel["HIDE"] = "HIDE";
26
+ return TouchPrivacyLevel;
27
+ }({});
28
+ /**
29
+ * Available privacy levels for image masking in session replay
30
+ */
31
+ let ImagePrivacyLevel = exports.ImagePrivacyLevel = /*#__PURE__*/function (ImagePrivacyLevel) {
32
+ ImagePrivacyLevel["MASK_NON_BUNDLED_ONLY"] = "MASK_NON_BUNDLED_ONLY";
33
+ ImagePrivacyLevel["MASK_ALL"] = "MASK_ALL";
34
+ ImagePrivacyLevel["MASK_NONE"] = "MASK_NONE";
35
+ return ImagePrivacyLevel;
36
+ }({});
37
+ /**
38
+ * Available privacy levels for text and input masking in session replay
39
+ */
40
+ let TextAndInputPrivacyLevel = exports.TextAndInputPrivacyLevel = /*#__PURE__*/function (TextAndInputPrivacyLevel) {
41
+ TextAndInputPrivacyLevel["MASK_SENSITIVE_INPUTS"] = "MASK_SENSITIVE_INPUTS";
42
+ TextAndInputPrivacyLevel["MASK_ALL_INPUTS"] = "MASK_ALL_INPUTS";
43
+ TextAndInputPrivacyLevel["MASK_ALL"] = "MASK_ALL";
44
+ return TextAndInputPrivacyLevel;
45
+ }({});
46
+ /**
47
+ * Set Session Replay configuration.
48
+ * @param sampleRate Sampling rate
49
+ * @param sessionReplayOnErrorSampleRate error session sampling rate. For sessions not sampled, if ERROR is hit, collect data 1 minute before the error occurs
50
+ * @param privacy Privacy level for content masking in session replay
51
+ * @param touchPrivacy Privacy level for touch masking in session replay
52
+ * @param textAndInputPrivacy Privacy level for text and input masking in session replay
53
+ * @param imagePrivacy Privacy level for image masking in session replay
54
+ * @param enableLinkRUMKeys Enable linking RUM data with session replay data. The value is an array of RUM global context keys. When the keys exist in RUM global context, the corresponding values will be linked to session replay data.
55
+ * @returns a Promise.
56
+ */
57
+ class FTReactNativeSessionReplayWrapper {
58
+ constructor() {
59
+ /* eslint-disable @typescript-eslint/no-var-requires */
60
+ _defineProperty(this, "sessionReplay", require('./specs/NativeFTReactNativeSessionReplay').default);
61
+ }
62
+ /* eslint-enable @typescript-eslint/no-var-requires */
63
+
64
+ sessionReplayConfig(config) {
65
+ return this.sessionReplay.sessionReplayConfig(config);
66
+ }
67
+ }
68
+ const FTReactNativeSessionReplay = exports.FTReactNativeSessionReplay = new FTReactNativeSessionReplayWrapper();
69
+ //# sourceMappingURL=ft_session_replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SessionReplayPrivacy","exports","TouchPrivacyLevel","ImagePrivacyLevel","TextAndInputPrivacyLevel","FTReactNativeSessionReplayWrapper","constructor","_defineProperty","require","default","sessionReplayConfig","config","sessionReplay","FTReactNativeSessionReplay"],"sources":["ft_session_replay.tsx"],"sourcesContent":["// import { NativeModules } from 'react-native';\n/**\n * Privacy level for content masking in session replay. Deprecated, recommend using fine-grained privacy levels for settings\n */\nexport enum SessionReplayPrivacy {\n MASK = 0,\n ALLOW = 1,\n MASK_USER_INPUT = 2,\n}\n\n/**\n * Available privacy levels for touch masking in session replay.\n */\nexport enum TouchPrivacyLevel {\n SHOW = 'SHOW',\n HIDE = 'HIDE',\n}\n\n/**\n * Available privacy levels for image masking in session replay\n */\nexport enum ImagePrivacyLevel {\n MASK_NON_BUNDLED_ONLY = 'MASK_NON_BUNDLED_ONLY',\n MASK_ALL = 'MASK_ALL',\n MASK_NONE = 'MASK_NONE',\n}\n\n/**\n * Available privacy levels for text and input masking in session replay\n */\nexport enum TextAndInputPrivacyLevel {\n MASK_SENSITIVE_INPUTS = 'MASK_SENSITIVE_INPUTS',\n MASK_ALL_INPUTS = 'MASK_ALL_INPUTS',\n MASK_ALL = 'MASK_ALL',\n}\n/**\n * Set Session Replay configuration.\n * @param sampleRate Sampling rate\n * @param sessionReplayOnErrorSampleRate error session sampling rate. For sessions not sampled, if ERROR is hit, collect data 1 minute before the error occurs\n * @param privacy Privacy level for content masking in session replay\n * @param touchPrivacy Privacy level for touch masking in session replay\n * @param textAndInputPrivacy Privacy level for text and input masking in session replay\n * @param imagePrivacy Privacy level for image masking in session replay\n * @param enableLinkRUMKeys Enable linking RUM data with session replay data. The value is an array of RUM global context keys. When the keys exist in RUM global context, the corresponding values will be linked to session replay data.\n * @returns a Promise.\n */\nexport interface FTSessionReplayConfig {\n sampleRate?: number;\n sessionReplayOnErrorSampleRate?: number;\n privacy?: SessionReplayPrivacy;\n touchPrivacy?: TouchPrivacyLevel;\n textAndInputPrivacy?: TextAndInputPrivacyLevel;\n imagePrivacy?: ImagePrivacyLevel;\n enableLinkRUMKeys?: string[];\n}\ntype FTReactNativeSessionReplayType = {\n /**\n * Set Session Replay configuration and enable session replay\n * @param config Session Replay configuration parameters.\n * @returns a Promise.\n */\n sessionReplayConfig(config: FTSessionReplayConfig): Promise<void>;\n};\n\nclass FTReactNativeSessionReplayWrapper\n implements FTReactNativeSessionReplayType\n{\n /* eslint-disable @typescript-eslint/no-var-requires */\n private sessionReplay: FTReactNativeSessionReplayType =\n require('./specs/NativeFTReactNativeSessionReplay').default;\n /* eslint-enable @typescript-eslint/no-var-requires */\n\n sessionReplayConfig(config: FTSessionReplayConfig): Promise<void> {\n return this.sessionReplay.sessionReplayConfig(config);\n }\n}\nexport const FTReactNativeSessionReplay: FTReactNativeSessionReplayType =\n new FTReactNativeSessionReplayWrapper();\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AAFA,IAGYA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAMhC;AACA;AACA;AAFA,IAGYE,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAK7B;AACA;AACA;AAFA,IAGYC,iBAAiB,GAAAF,OAAA,CAAAE,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAM7B;AACA;AACA;AAFA,IAGYC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA;AAKpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmBA,MAAMC,iCAAiC,CAEvC;EAAAC,YAAA;IACE;IAAAC,eAAA,wBAEEC,OAAO,CAAC,0CAA0C,CAAC,CAACC,OAAO;EAAA;EAC7D;;EAEAC,mBAAmBA,CAACC,MAA6B,EAAiB;IAChE,OAAO,IAAI,CAACC,aAAa,CAACF,mBAAmB,CAACC,MAAM,CAAC;EACvD;AACF;AACO,MAAME,0BAA0D,GAAAZ,OAAA,CAAAY,0BAAA,GACrE,IAAIR,iCAAiC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "FTReactNativeSessionReplay", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ft_session_replay.FTReactNativeSessionReplay;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "FTSessionReplayConfig", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ft_session_replay.FTSessionReplayConfig;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "FTSessionReplayView", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _SessionReplayView.FTSessionReplayView;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "ImagePrivacyLevel", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _ft_session_replay.ImagePrivacyLevel;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "SessionReplayPrivacy", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _ft_session_replay.SessionReplayPrivacy;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "TextAndInputPrivacyLevel", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _ft_session_replay.TextAndInputPrivacyLevel;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "TouchPrivacyLevel", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _ft_session_replay.TouchPrivacyLevel;
46
+ }
47
+ });
48
+ var _ft_session_replay = require("./ft_session_replay");
49
+ var _SessionReplayView = require("./components/SessionReplayView");
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ft_session_replay","require","_SessionReplayView"],"sources":["index.tsx"],"sourcesContent":["import {\n FTSessionReplayConfig,\n SessionReplayPrivacy,\n FTReactNativeSessionReplay,\n TouchPrivacyLevel,\n TextAndInputPrivacyLevel,\n ImagePrivacyLevel,\n} from './ft_session_replay';\nimport { FTSessionReplayView } from './components/SessionReplayView';\n\nexport {\n FTSessionReplayConfig,\n SessionReplayPrivacy,\n FTReactNativeSessionReplay,\n TouchPrivacyLevel,\n TextAndInputPrivacyLevel,\n ImagePrivacyLevel,\n FTSessionReplayView,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAQA,IAAAC,kBAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ const isNewArchitectureEnabled = () => {
9
+ var _UIManager$getViewMan;
10
+ return ((_UIManager$getViewMan = _reactNative.UIManager.getViewManagerConfig) === null || _UIManager$getViewMan === void 0 ? void 0 : _UIManager$getViewMan.call(_reactNative.UIManager, 'FTPrivacyView')) === undefined;
11
+ };
12
+ const getNativeComponent = () => {
13
+ if (isNewArchitectureEnabled()) {
14
+ try {
15
+ /* eslint-disable @typescript-eslint/no-var-requires */
16
+ const NewArchComponent = require('./FTPrivacyViewNativeComponent').default;
17
+ /* eslint-enable @typescript-eslint/no-var-requires */
18
+ if (NewArchComponent) {
19
+ return NewArchComponent;
20
+ }
21
+ } catch (error) {
22
+ console.debug('Fabric component not available, falling back to Paper:', error instanceof Error ? error.message : String(error));
23
+ }
24
+ }
25
+ return (0, _reactNative.requireNativeComponent)('FTPrivacyView');
26
+ };
27
+ const FTPrivacyViewNative = getNativeComponent();
28
+ var _default = exports.default = FTPrivacyViewNative;
29
+ //# sourceMappingURL=FTPrivacyViewNative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","isNewArchitectureEnabled","_UIManager$getViewMan","UIManager","getViewManagerConfig","call","undefined","getNativeComponent","NewArchComponent","default","error","console","debug","Error","message","String","requireNativeComponent","FTPrivacyViewNative","_default","exports"],"sources":["FTPrivacyViewNative.ts"],"sourcesContent":["import { UIManager } from 'react-native';\nimport { requireNativeComponent } from 'react-native';\nimport type { FTPrivacyViewNativeProps } from '../types';\n\nconst isNewArchitectureEnabled = () => {\n return UIManager.getViewManagerConfig?.('FTPrivacyView') === undefined;\n};\n\nconst getNativeComponent = () => {\n if (isNewArchitectureEnabled()) {\n try {\n /* eslint-disable @typescript-eslint/no-var-requires */\n const NewArchComponent =\n require('./FTPrivacyViewNativeComponent').default;\n /* eslint-enable @typescript-eslint/no-var-requires */\n if (NewArchComponent) {\n return NewArchComponent;\n }\n } catch (error) {\n console.debug(\n 'Fabric component not available, falling back to Paper:',\n error instanceof Error ? error.message : String(error)\n );\n }\n }\n\n return requireNativeComponent<FTPrivacyViewNativeProps>('FTPrivacyView');\n};\n\nconst FTPrivacyViewNative = getNativeComponent();\n\nexport default FTPrivacyViewNative;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAIA,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;EAAA,IAAAC,qBAAA;EACrC,OAAO,EAAAA,qBAAA,GAAAC,sBAAS,CAACC,oBAAoB,cAAAF,qBAAA,uBAA9BA,qBAAA,CAAAG,IAAA,CAAAF,sBAAS,EAAwB,eAAe,CAAC,MAAKG,SAAS;AACxE,CAAC;AAED,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EAC/B,IAAIN,wBAAwB,CAAC,CAAC,EAAE;IAC9B,IAAI;MACF;MACA,MAAMO,gBAAgB,GACpBR,OAAO,CAAC,gCAAgC,CAAC,CAACS,OAAO;MACnD;MACA,IAAID,gBAAgB,EAAE;QACpB,OAAOA,gBAAgB;MACzB;IACF,CAAC,CAAC,OAAOE,KAAK,EAAE;MACdC,OAAO,CAACC,KAAK,CACX,wDAAwD,EACxDF,KAAK,YAAYG,KAAK,GAAGH,KAAK,CAACI,OAAO,GAAGC,MAAM,CAACL,KAAK,CACvD,CAAC;IACH;EACF;EAEA,OAAO,IAAAM,mCAAsB,EAA2B,eAAe,CAAC;AAC1E,CAAC;AAED,MAAMC,mBAAmB,GAAGV,kBAAkB,CAAC,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAV,OAAA,GAElCQ,mBAAmB","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ var _default = exports.default = (0, _codegenNativeComponent.default)('FTPrivacyView');
10
+ //# sourceMappingURL=FTPrivacyViewNativeComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sources":["FTPrivacyViewNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { HostComponent, ViewProps } from 'react-native';\n\nexport interface FTPrivacyViewNativeProps extends ViewProps {\n textAndInputPrivacy?: string;\n imagePrivacy?: string;\n touchPrivacy?: string;\n hide?: boolean;\n nativeID?: string;\n}\n\nexport default codegenNativeComponent<FTPrivacyViewNativeProps>(\n 'FTPrivacyView'\n) as HostComponent<FTPrivacyViewNativeProps>;\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAW9E,IAAAG,+BAAsB,EACnC,eACF,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ /* eslint-disable @typescript-eslint/ban-types */
9
+ var _default = exports.default = _reactNative.TurboModuleRegistry.get('FTReactNativeSessionReplay');
10
+ //# sourceMappingURL=NativeFTReactNativeSessionReplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sources":["NativeFTReactNativeSessionReplay.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\nimport type { TurboModule } from 'react-native';\nimport { TurboModuleRegistry } from 'react-native';\n\nexport interface Spec extends TurboModule {\n /**\n * Set Session Replay configuration and enable session replay\n * @param config Session Replay configuration parameters.\n * @returns a Promise.\n */\n sessionReplayConfig(config: Object): Promise<void>;\n}\nexport default TurboModuleRegistry.get<Spec>('FTReactNativeSessionReplay');\n"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAFA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAYeC,gCAAmB,CAACC,GAAG,CAAO,4BAA4B,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from 'react-native';\n\nexport interface FTPrivacyViewNativeProps extends ViewProps {\n textAndInputPrivacy?: string;\n imagePrivacy?: string;\n touchPrivacy?: string;\n hide?: boolean;\n nativeID?: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React from 'react';
3
+ import { PrivacyView } from './PrivacyView';
4
+ export function HideView({
5
+ children,
6
+ ...props
7
+ }) {
8
+ return /*#__PURE__*/React.createElement(PrivacyView, _extends({}, props, {
9
+ hide: true
10
+ }), children);
11
+ }
12
+ //# sourceMappingURL=HideView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PrivacyView","HideView","children","props","createElement","_extends","hide"],"sources":["HideView.tsx"],"sourcesContent":["import React from 'react';\nimport type { ViewProps } from 'react-native';\nimport { PrivacyView } from './PrivacyView';\n\ntype HideViewProps = ViewProps & {\n children?: React.ReactNode;\n};\n\nexport function HideView({ children, ...props }: HideViewProps) {\n return (\n <PrivacyView {...props} hide={true}>\n {children as any}\n </PrivacyView>\n );\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,WAAW,QAAQ,eAAe;AAM3C,OAAO,SAASC,QAAQA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAqB,CAAC,EAAE;EAC9D,oBACEJ,KAAA,CAAAK,aAAA,CAACJ,WAAW,EAAAK,QAAA,KAAKF,KAAK;IAAEG,IAAI,EAAE;EAAK,IAChCJ,QACU,CAAC;AAElB","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React from 'react';
3
+ import { PrivacyView } from './PrivacyView';
4
+ import { ImagePrivacyLevel, TextAndInputPrivacyLevel, TouchPrivacyLevel } from '../../ft_session_replay';
5
+ export function MaskAllView({
6
+ children,
7
+ showTouch = false,
8
+ ...props
9
+ }) {
10
+ const touchPrivacy = showTouch ? TouchPrivacyLevel.SHOW : TouchPrivacyLevel.HIDE;
11
+ return /*#__PURE__*/React.createElement(PrivacyView, _extends({}, props, {
12
+ textAndInputPrivacy: TextAndInputPrivacyLevel.MASK_ALL,
13
+ imagePrivacy: ImagePrivacyLevel.MASK_ALL,
14
+ touchPrivacy: touchPrivacy,
15
+ hide: false
16
+ }), children);
17
+ }
18
+ //# sourceMappingURL=MaskAllView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PrivacyView","ImagePrivacyLevel","TextAndInputPrivacyLevel","TouchPrivacyLevel","MaskAllView","children","showTouch","props","touchPrivacy","SHOW","HIDE","createElement","_extends","textAndInputPrivacy","MASK_ALL","imagePrivacy","hide"],"sources":["MaskAllView.tsx"],"sourcesContent":["import React from 'react';\nimport type { ViewProps } from 'react-native';\nimport { PrivacyView } from './PrivacyView';\nimport {\n ImagePrivacyLevel,\n TextAndInputPrivacyLevel,\n TouchPrivacyLevel,\n} from '../../ft_session_replay';\n\ntype MaskAllViewProps = ViewProps & {\n children?: React.ReactNode;\n showTouch?: boolean;\n};\n\nexport function MaskAllView({\n children,\n showTouch = false,\n ...props\n}: MaskAllViewProps) {\n const touchPrivacy = showTouch\n ? TouchPrivacyLevel.SHOW\n : TouchPrivacyLevel.HIDE;\n\n return (\n <PrivacyView\n {...props}\n textAndInputPrivacy={TextAndInputPrivacyLevel.MASK_ALL}\n imagePrivacy={ImagePrivacyLevel.MASK_ALL}\n touchPrivacy={touchPrivacy}\n hide={false}\n >\n {children as any}\n </PrivacyView>\n );\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SACEC,iBAAiB,EACjBC,wBAAwB,EACxBC,iBAAiB,QACZ,yBAAyB;AAOhC,OAAO,SAASC,WAAWA,CAAC;EAC1BC,QAAQ;EACRC,SAAS,GAAG,KAAK;EACjB,GAAGC;AACa,CAAC,EAAE;EACnB,MAAMC,YAAY,GAAGF,SAAS,GAC1BH,iBAAiB,CAACM,IAAI,GACtBN,iBAAiB,CAACO,IAAI;EAE1B,oBACEX,KAAA,CAAAY,aAAA,CAACX,WAAW,EAAAY,QAAA,KACNL,KAAK;IACTM,mBAAmB,EAAEX,wBAAwB,CAACY,QAAS;IACvDC,YAAY,EAAEd,iBAAiB,CAACa,QAAS;IACzCN,YAAY,EAAEA,YAAa;IAC3BQ,IAAI,EAAE;EAAM,IAEXX,QACU,CAAC;AAElB","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React from 'react';
3
+ import { PrivacyView } from './PrivacyView';
4
+ import { ImagePrivacyLevel, TextAndInputPrivacyLevel, TouchPrivacyLevel } from '../../ft_session_replay';
5
+ export function MaskNoneView({
6
+ children,
7
+ ...props
8
+ }) {
9
+ return /*#__PURE__*/React.createElement(PrivacyView, _extends({}, props, {
10
+ textAndInputPrivacy: TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS,
11
+ imagePrivacy: ImagePrivacyLevel.MASK_NONE,
12
+ touchPrivacy: TouchPrivacyLevel.SHOW,
13
+ hide: false
14
+ }), children);
15
+ }
16
+ //# sourceMappingURL=MaskNoneView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PrivacyView","ImagePrivacyLevel","TextAndInputPrivacyLevel","TouchPrivacyLevel","MaskNoneView","children","props","createElement","_extends","textAndInputPrivacy","MASK_SENSITIVE_INPUTS","imagePrivacy","MASK_NONE","touchPrivacy","SHOW","hide"],"sources":["MaskNoneView.tsx"],"sourcesContent":["import React from 'react';\nimport type { ViewProps } from 'react-native';\nimport { PrivacyView } from './PrivacyView';\nimport {\n ImagePrivacyLevel,\n TextAndInputPrivacyLevel,\n TouchPrivacyLevel,\n} from '../../ft_session_replay';\n\ntype MaskNoneViewProps = ViewProps & {\n children?: React.ReactNode;\n};\n\nexport function MaskNoneView({ children, ...props }: MaskNoneViewProps) {\n return (\n <PrivacyView\n {...props}\n textAndInputPrivacy={TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS}\n imagePrivacy={ImagePrivacyLevel.MASK_NONE}\n touchPrivacy={TouchPrivacyLevel.SHOW}\n hide={false}\n >\n {children as any}\n </PrivacyView>\n );\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SACEC,iBAAiB,EACjBC,wBAAwB,EACxBC,iBAAiB,QACZ,yBAAyB;AAMhC,OAAO,SAASC,YAAYA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAyB,CAAC,EAAE;EACtE,oBACEP,KAAA,CAAAQ,aAAA,CAACP,WAAW,EAAAQ,QAAA,KACNF,KAAK;IACTG,mBAAmB,EAAEP,wBAAwB,CAACQ,qBAAsB;IACpEC,YAAY,EAAEV,iBAAiB,CAACW,SAAU;IAC1CC,YAAY,EAAEV,iBAAiB,CAACW,IAAK;IACrCC,IAAI,EAAE;EAAM,IAEXV,QACU,CAAC;AAElB","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React from 'react';
3
+ import FTPrivacyViewNative from '../../specs/FTPrivacyViewNative';
4
+ export function PrivacyView({
5
+ children,
6
+ textAndInputPrivacy,
7
+ imagePrivacy,
8
+ touchPrivacy,
9
+ nativeID,
10
+ hide,
11
+ ...props
12
+ }) {
13
+ return /*#__PURE__*/React.createElement(FTPrivacyViewNative, _extends({}, props, {
14
+ textAndInputPrivacy: textAndInputPrivacy,
15
+ imagePrivacy: imagePrivacy,
16
+ touchPrivacy: touchPrivacy,
17
+ hide: hide,
18
+ nativeID: nativeID
19
+ }), children);
20
+ }
21
+ //# sourceMappingURL=PrivacyView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","FTPrivacyViewNative","PrivacyView","children","textAndInputPrivacy","imagePrivacy","touchPrivacy","nativeID","hide","props","createElement","_extends"],"sources":["PrivacyView.tsx"],"sourcesContent":["import React from 'react';\nimport FTPrivacyViewNative from '../../specs/FTPrivacyViewNative';\nimport type { ViewProps } from 'react-native';\nimport type {\n ImagePrivacyLevel,\n TextAndInputPrivacyLevel,\n TouchPrivacyLevel,\n} from '../../ft_session_replay';\n\nexport interface PrivacyViewProps extends ViewProps {\n children?: React.ReactNode;\n textAndInputPrivacy?: TextAndInputPrivacyLevel;\n imagePrivacy?: ImagePrivacyLevel;\n touchPrivacy?: TouchPrivacyLevel;\n hide?: boolean;\n nativeID?: string;\n}\n\nexport function PrivacyView({\n children,\n textAndInputPrivacy,\n imagePrivacy,\n touchPrivacy,\n nativeID,\n hide,\n ...props\n}: PrivacyViewProps) {\n return (\n <FTPrivacyViewNative\n {...props}\n textAndInputPrivacy={textAndInputPrivacy}\n imagePrivacy={imagePrivacy}\n touchPrivacy={touchPrivacy}\n hide={hide}\n nativeID={nativeID}\n >\n {children}\n </FTPrivacyViewNative>\n );\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,mBAAmB,MAAM,iCAAiC;AAiBjE,OAAO,SAASC,WAAWA,CAAC;EAC1BC,QAAQ;EACRC,mBAAmB;EACnBC,YAAY;EACZC,YAAY;EACZC,QAAQ;EACRC,IAAI;EACJ,GAAGC;AACa,CAAC,EAAE;EACnB,oBACET,KAAA,CAAAU,aAAA,CAACT,mBAAmB,EAAAU,QAAA,KACdF,KAAK;IACTL,mBAAmB,EAAEA,mBAAoB;IACzCC,YAAY,EAAEA,YAAa;IAC3BC,YAAY,EAAEA,YAAa;IAC3BE,IAAI,EAAEA,IAAK;IACXD,QAAQ,EAAEA;EAAS,IAElBJ,QACkB,CAAC;AAE1B","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ import { PrivacyView } from './PrivacyView';
2
+ import { MaskAllView } from './MaskAllView';
3
+ import { MaskNoneView } from './MaskNoneView';
4
+ import { HideView } from './HideView';
5
+ export const FTSessionReplayView = {
6
+ /**
7
+ * Privacy view component - Low-level configurable component for fine-grained privacy control
8
+ */
9
+ Privacy: PrivacyView,
10
+ /**
11
+ * Mask all view component - Masks all text, inputs and images
12
+ */
13
+ MaskAll: MaskAllView,
14
+ /**
15
+ * Mask none view component - Displays most content as-is
16
+ */
17
+ MaskNone: MaskNoneView,
18
+ /**
19
+ * Hide view component - Completely hides the view and its content
20
+ */
21
+ Hide: HideView
22
+ };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PrivacyView","MaskAllView","MaskNoneView","HideView","FTSessionReplayView","Privacy","MaskAll","MaskNone","Hide"],"sources":["index.ts"],"sourcesContent":["import { PrivacyView } from './PrivacyView';\nimport { MaskAllView } from './MaskAllView';\nimport { MaskNoneView } from './MaskNoneView';\nimport { HideView } from './HideView';\n\nexport const FTSessionReplayView = {\n /**\n * Privacy view component - Low-level configurable component for fine-grained privacy control\n */\n Privacy: PrivacyView,\n\n /**\n * Mask all view component - Masks all text, inputs and images\n */\n MaskAll: MaskAllView,\n\n /**\n * Mask none view component - Displays most content as-is\n */\n MaskNone: MaskNoneView,\n\n /**\n * Hide view component - Completely hides the view and its content\n */\n Hide: HideView,\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,QAAQ,QAAQ,YAAY;AAErC,OAAO,MAAMC,mBAAmB,GAAG;EACjC;AACF;AACA;EACEC,OAAO,EAAEL,WAAW;EAEpB;AACF;AACA;EACEM,OAAO,EAAEL,WAAW;EAEpB;AACF;AACA;EACEM,QAAQ,EAAEL,YAAY;EAEtB;AACF;AACA;EACEM,IAAI,EAAEL;AACR,CAAC","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ // import { NativeModules } from 'react-native';
5
+ /**
6
+ * Privacy level for content masking in session replay. Deprecated, recommend using fine-grained privacy levels for settings
7
+ */
8
+ export let SessionReplayPrivacy = /*#__PURE__*/function (SessionReplayPrivacy) {
9
+ SessionReplayPrivacy[SessionReplayPrivacy["MASK"] = 0] = "MASK";
10
+ SessionReplayPrivacy[SessionReplayPrivacy["ALLOW"] = 1] = "ALLOW";
11
+ SessionReplayPrivacy[SessionReplayPrivacy["MASK_USER_INPUT"] = 2] = "MASK_USER_INPUT";
12
+ return SessionReplayPrivacy;
13
+ }({});
14
+
15
+ /**
16
+ * Available privacy levels for touch masking in session replay.
17
+ */
18
+ export let TouchPrivacyLevel = /*#__PURE__*/function (TouchPrivacyLevel) {
19
+ TouchPrivacyLevel["SHOW"] = "SHOW";
20
+ TouchPrivacyLevel["HIDE"] = "HIDE";
21
+ return TouchPrivacyLevel;
22
+ }({});
23
+
24
+ /**
25
+ * Available privacy levels for image masking in session replay
26
+ */
27
+ export let ImagePrivacyLevel = /*#__PURE__*/function (ImagePrivacyLevel) {
28
+ ImagePrivacyLevel["MASK_NON_BUNDLED_ONLY"] = "MASK_NON_BUNDLED_ONLY";
29
+ ImagePrivacyLevel["MASK_ALL"] = "MASK_ALL";
30
+ ImagePrivacyLevel["MASK_NONE"] = "MASK_NONE";
31
+ return ImagePrivacyLevel;
32
+ }({});
33
+
34
+ /**
35
+ * Available privacy levels for text and input masking in session replay
36
+ */
37
+ export let TextAndInputPrivacyLevel = /*#__PURE__*/function (TextAndInputPrivacyLevel) {
38
+ TextAndInputPrivacyLevel["MASK_SENSITIVE_INPUTS"] = "MASK_SENSITIVE_INPUTS";
39
+ TextAndInputPrivacyLevel["MASK_ALL_INPUTS"] = "MASK_ALL_INPUTS";
40
+ TextAndInputPrivacyLevel["MASK_ALL"] = "MASK_ALL";
41
+ return TextAndInputPrivacyLevel;
42
+ }({});
43
+ /**
44
+ * Set Session Replay configuration.
45
+ * @param sampleRate Sampling rate
46
+ * @param sessionReplayOnErrorSampleRate error session sampling rate. For sessions not sampled, if ERROR is hit, collect data 1 minute before the error occurs
47
+ * @param privacy Privacy level for content masking in session replay
48
+ * @param touchPrivacy Privacy level for touch masking in session replay
49
+ * @param textAndInputPrivacy Privacy level for text and input masking in session replay
50
+ * @param imagePrivacy Privacy level for image masking in session replay
51
+ * @param enableLinkRUMKeys Enable linking RUM data with session replay data. The value is an array of RUM global context keys. When the keys exist in RUM global context, the corresponding values will be linked to session replay data.
52
+ * @returns a Promise.
53
+ */
54
+
55
+ class FTReactNativeSessionReplayWrapper {
56
+ constructor() {
57
+ /* eslint-disable @typescript-eslint/no-var-requires */
58
+ _defineProperty(this, "sessionReplay", require('./specs/NativeFTReactNativeSessionReplay').default);
59
+ }
60
+ /* eslint-enable @typescript-eslint/no-var-requires */
61
+
62
+ sessionReplayConfig(config) {
63
+ return this.sessionReplay.sessionReplayConfig(config);
64
+ }
65
+ }
66
+ export const FTReactNativeSessionReplay = new FTReactNativeSessionReplayWrapper();
67
+ //# sourceMappingURL=ft_session_replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SessionReplayPrivacy","TouchPrivacyLevel","ImagePrivacyLevel","TextAndInputPrivacyLevel","FTReactNativeSessionReplayWrapper","constructor","_defineProperty","require","default","sessionReplayConfig","config","sessionReplay","FTReactNativeSessionReplay"],"sources":["ft_session_replay.tsx"],"sourcesContent":["// import { NativeModules } from 'react-native';\n/**\n * Privacy level for content masking in session replay. Deprecated, recommend using fine-grained privacy levels for settings\n */\nexport enum SessionReplayPrivacy {\n MASK = 0,\n ALLOW = 1,\n MASK_USER_INPUT = 2,\n}\n\n/**\n * Available privacy levels for touch masking in session replay.\n */\nexport enum TouchPrivacyLevel {\n SHOW = 'SHOW',\n HIDE = 'HIDE',\n}\n\n/**\n * Available privacy levels for image masking in session replay\n */\nexport enum ImagePrivacyLevel {\n MASK_NON_BUNDLED_ONLY = 'MASK_NON_BUNDLED_ONLY',\n MASK_ALL = 'MASK_ALL',\n MASK_NONE = 'MASK_NONE',\n}\n\n/**\n * Available privacy levels for text and input masking in session replay\n */\nexport enum TextAndInputPrivacyLevel {\n MASK_SENSITIVE_INPUTS = 'MASK_SENSITIVE_INPUTS',\n MASK_ALL_INPUTS = 'MASK_ALL_INPUTS',\n MASK_ALL = 'MASK_ALL',\n}\n/**\n * Set Session Replay configuration.\n * @param sampleRate Sampling rate\n * @param sessionReplayOnErrorSampleRate error session sampling rate. For sessions not sampled, if ERROR is hit, collect data 1 minute before the error occurs\n * @param privacy Privacy level for content masking in session replay\n * @param touchPrivacy Privacy level for touch masking in session replay\n * @param textAndInputPrivacy Privacy level for text and input masking in session replay\n * @param imagePrivacy Privacy level for image masking in session replay\n * @param enableLinkRUMKeys Enable linking RUM data with session replay data. The value is an array of RUM global context keys. When the keys exist in RUM global context, the corresponding values will be linked to session replay data.\n * @returns a Promise.\n */\nexport interface FTSessionReplayConfig {\n sampleRate?: number;\n sessionReplayOnErrorSampleRate?: number;\n privacy?: SessionReplayPrivacy;\n touchPrivacy?: TouchPrivacyLevel;\n textAndInputPrivacy?: TextAndInputPrivacyLevel;\n imagePrivacy?: ImagePrivacyLevel;\n enableLinkRUMKeys?: string[];\n}\ntype FTReactNativeSessionReplayType = {\n /**\n * Set Session Replay configuration and enable session replay\n * @param config Session Replay configuration parameters.\n * @returns a Promise.\n */\n sessionReplayConfig(config: FTSessionReplayConfig): Promise<void>;\n};\n\nclass FTReactNativeSessionReplayWrapper\n implements FTReactNativeSessionReplayType\n{\n /* eslint-disable @typescript-eslint/no-var-requires */\n private sessionReplay: FTReactNativeSessionReplayType =\n require('./specs/NativeFTReactNativeSessionReplay').default;\n /* eslint-enable @typescript-eslint/no-var-requires */\n\n sessionReplayConfig(config: FTSessionReplayConfig): Promise<void> {\n return this.sessionReplay.sessionReplayConfig(config);\n }\n}\nexport const FTReactNativeSessionReplay: FTReactNativeSessionReplayType =\n new FTReactNativeSessionReplayWrapper();\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;;AAMhC;AACA;AACA;AACA,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;;AAK7B;AACA;AACA;AACA,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;;AAM7B;AACA;AACA;AACA,WAAYC,wBAAwB,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA;AAKpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmBA,MAAMC,iCAAiC,CAEvC;EAAAC,YAAA;IACE;IAAAC,eAAA,wBAEEC,OAAO,CAAC,0CAA0C,CAAC,CAACC,OAAO;EAAA;EAC7D;;EAEAC,mBAAmBA,CAACC,MAA6B,EAAiB;IAChE,OAAO,IAAI,CAACC,aAAa,CAACF,mBAAmB,CAACC,MAAM,CAAC;EACvD;AACF;AACA,OAAO,MAAME,0BAA0D,GACrE,IAAIR,iCAAiC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import { FTSessionReplayConfig, SessionReplayPrivacy, FTReactNativeSessionReplay, TouchPrivacyLevel, TextAndInputPrivacyLevel, ImagePrivacyLevel } from './ft_session_replay';
2
+ import { FTSessionReplayView } from './components/SessionReplayView';
3
+ export { FTSessionReplayConfig, SessionReplayPrivacy, FTReactNativeSessionReplay, TouchPrivacyLevel, TextAndInputPrivacyLevel, ImagePrivacyLevel, FTSessionReplayView };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FTSessionReplayConfig","SessionReplayPrivacy","FTReactNativeSessionReplay","TouchPrivacyLevel","TextAndInputPrivacyLevel","ImagePrivacyLevel","FTSessionReplayView"],"sources":["index.tsx"],"sourcesContent":["import {\n FTSessionReplayConfig,\n SessionReplayPrivacy,\n FTReactNativeSessionReplay,\n TouchPrivacyLevel,\n TextAndInputPrivacyLevel,\n ImagePrivacyLevel,\n} from './ft_session_replay';\nimport { FTSessionReplayView } from './components/SessionReplayView';\n\nexport {\n FTSessionReplayConfig,\n SessionReplayPrivacy,\n FTReactNativeSessionReplay,\n TouchPrivacyLevel,\n TextAndInputPrivacyLevel,\n ImagePrivacyLevel,\n FTSessionReplayView,\n};\n"],"mappings":"AAAA,SACEA,qBAAqB,EACrBC,oBAAoB,EACpBC,0BAA0B,EAC1BC,iBAAiB,EACjBC,wBAAwB,EACxBC,iBAAiB,QACZ,qBAAqB;AAC5B,SAASC,mBAAmB,QAAQ,gCAAgC;AAEpE,SACEN,qBAAqB,EACrBC,oBAAoB,EACpBC,0BAA0B,EAC1BC,iBAAiB,EACjBC,wBAAwB,EACxBC,iBAAiB,EACjBC,mBAAmB","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import { UIManager } from 'react-native';
2
+ import { requireNativeComponent } from 'react-native';
3
+ const isNewArchitectureEnabled = () => {
4
+ var _UIManager$getViewMan;
5
+ return ((_UIManager$getViewMan = UIManager.getViewManagerConfig) === null || _UIManager$getViewMan === void 0 ? void 0 : _UIManager$getViewMan.call(UIManager, 'FTPrivacyView')) === undefined;
6
+ };
7
+ const getNativeComponent = () => {
8
+ if (isNewArchitectureEnabled()) {
9
+ try {
10
+ /* eslint-disable @typescript-eslint/no-var-requires */
11
+ const NewArchComponent = require('./FTPrivacyViewNativeComponent').default;
12
+ /* eslint-enable @typescript-eslint/no-var-requires */
13
+ if (NewArchComponent) {
14
+ return NewArchComponent;
15
+ }
16
+ } catch (error) {
17
+ console.debug('Fabric component not available, falling back to Paper:', error instanceof Error ? error.message : String(error));
18
+ }
19
+ }
20
+ return requireNativeComponent('FTPrivacyView');
21
+ };
22
+ const FTPrivacyViewNative = getNativeComponent();
23
+ export default FTPrivacyViewNative;
24
+ //# sourceMappingURL=FTPrivacyViewNative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UIManager","requireNativeComponent","isNewArchitectureEnabled","_UIManager$getViewMan","getViewManagerConfig","call","undefined","getNativeComponent","NewArchComponent","require","default","error","console","debug","Error","message","String","FTPrivacyViewNative"],"sources":["FTPrivacyViewNative.ts"],"sourcesContent":["import { UIManager } from 'react-native';\nimport { requireNativeComponent } from 'react-native';\nimport type { FTPrivacyViewNativeProps } from '../types';\n\nconst isNewArchitectureEnabled = () => {\n return UIManager.getViewManagerConfig?.('FTPrivacyView') === undefined;\n};\n\nconst getNativeComponent = () => {\n if (isNewArchitectureEnabled()) {\n try {\n /* eslint-disable @typescript-eslint/no-var-requires */\n const NewArchComponent =\n require('./FTPrivacyViewNativeComponent').default;\n /* eslint-enable @typescript-eslint/no-var-requires */\n if (NewArchComponent) {\n return NewArchComponent;\n }\n } catch (error) {\n console.debug(\n 'Fabric component not available, falling back to Paper:',\n error instanceof Error ? error.message : String(error)\n );\n }\n }\n\n return requireNativeComponent<FTPrivacyViewNativeProps>('FTPrivacyView');\n};\n\nconst FTPrivacyViewNative = getNativeComponent();\n\nexport default FTPrivacyViewNative;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,sBAAsB,QAAQ,cAAc;AAGrD,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;EAAA,IAAAC,qBAAA;EACrC,OAAO,EAAAA,qBAAA,GAAAH,SAAS,CAACI,oBAAoB,cAAAD,qBAAA,uBAA9BA,qBAAA,CAAAE,IAAA,CAAAL,SAAS,EAAwB,eAAe,CAAC,MAAKM,SAAS;AACxE,CAAC;AAED,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EAC/B,IAAIL,wBAAwB,CAAC,CAAC,EAAE;IAC9B,IAAI;MACF;MACA,MAAMM,gBAAgB,GACpBC,OAAO,CAAC,gCAAgC,CAAC,CAACC,OAAO;MACnD;MACA,IAAIF,gBAAgB,EAAE;QACpB,OAAOA,gBAAgB;MACzB;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdC,OAAO,CAACC,KAAK,CACX,wDAAwD,EACxDF,KAAK,YAAYG,KAAK,GAAGH,KAAK,CAACI,OAAO,GAAGC,MAAM,CAACL,KAAK,CACvD,CAAC;IACH;EACF;EAEA,OAAOV,sBAAsB,CAA2B,eAAe,CAAC;AAC1E,CAAC;AAED,MAAMgB,mBAAmB,GAAGV,kBAAkB,CAAC,CAAC;AAEhD,eAAeU,mBAAmB","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
2
+ export default codegenNativeComponent('FTPrivacyView');
3
+ //# sourceMappingURL=FTPrivacyViewNativeComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["codegenNativeComponent"],"sources":["FTPrivacyViewNativeComponent.ts"],"sourcesContent":["import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { HostComponent, ViewProps } from 'react-native';\n\nexport interface FTPrivacyViewNativeProps extends ViewProps {\n textAndInputPrivacy?: string;\n imagePrivacy?: string;\n touchPrivacy?: string;\n hide?: boolean;\n nativeID?: string;\n}\n\nexport default codegenNativeComponent<FTPrivacyViewNativeProps>(\n 'FTPrivacyView'\n) as HostComponent<FTPrivacyViewNativeProps>;\n"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;AAW5F,eAAeA,sBAAsB,CACnC,eACF,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ /* eslint-disable @typescript-eslint/ban-types */
2
+
3
+ import { TurboModuleRegistry } from 'react-native';
4
+ export default TurboModuleRegistry.get('FTReactNativeSessionReplay');
5
+ //# sourceMappingURL=NativeFTReactNativeSessionReplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sources":["NativeFTReactNativeSessionReplay.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\nimport type { TurboModule } from 'react-native';\nimport { TurboModuleRegistry } from 'react-native';\n\nexport interface Spec extends TurboModule {\n /**\n * Set Session Replay configuration and enable session replay\n * @param config Session Replay configuration parameters.\n * @returns a Promise.\n */\n sessionReplayConfig(config: Object): Promise<void>;\n}\nexport default TurboModuleRegistry.get<Spec>('FTReactNativeSessionReplay');\n"],"mappings":"AAAA;;AAEA,SAASA,mBAAmB,QAAQ,cAAc;AAUlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,4BAA4B,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from 'react-native';\n\nexport interface FTPrivacyViewNativeProps extends ViewProps {\n textAndInputPrivacy?: string;\n imagePrivacy?: string;\n touchPrivacy?: string;\n hide?: boolean;\n nativeID?: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { ViewProps } from 'react-native';
3
+ type HideViewProps = ViewProps & {
4
+ children?: React.ReactNode;
5
+ };
6
+ export declare function HideView({ children, ...props }: HideViewProps): React.JSX.Element;
7
+ export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { ViewProps } from 'react-native';
3
+ type MaskAllViewProps = ViewProps & {
4
+ children?: React.ReactNode;
5
+ showTouch?: boolean;
6
+ };
7
+ export declare function MaskAllView({ children, showTouch, ...props }: MaskAllViewProps): React.JSX.Element;
8
+ export {};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { ViewProps } from 'react-native';
3
+ type MaskNoneViewProps = ViewProps & {
4
+ children?: React.ReactNode;
5
+ };
6
+ export declare function MaskNoneView({ children, ...props }: MaskNoneViewProps): React.JSX.Element;
7
+ export {};
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { ViewProps } from 'react-native';
3
+ import type { ImagePrivacyLevel, TextAndInputPrivacyLevel, TouchPrivacyLevel } from '../../ft_session_replay';
4
+ export interface PrivacyViewProps extends ViewProps {
5
+ children?: React.ReactNode;
6
+ textAndInputPrivacy?: TextAndInputPrivacyLevel;
7
+ imagePrivacy?: ImagePrivacyLevel;
8
+ touchPrivacy?: TouchPrivacyLevel;
9
+ hide?: boolean;
10
+ nativeID?: string;
11
+ }
12
+ export declare function PrivacyView({ children, textAndInputPrivacy, imagePrivacy, touchPrivacy, nativeID, hide, ...props }: PrivacyViewProps): React.JSX.Element;