@datadog/mobile-react-native-session-replay 2.7.1 → 2.8.0

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 (85) hide show
  1. package/DatadogSDKReactNativeSessionReplay.podspec +11 -8
  2. package/android/build.gradle +8 -0
  3. package/android/src/main/kotlin/com/datadog/reactnative/sessionreplay/views/DdPrivacyView.kt +59 -0
  4. package/android/src/main/res/values/ids.xml +12 -0
  5. package/android/src/newarch/kotlin/com/datadog/reactnative/sessionreplay/views/DdPrivacyViewManager.kt +50 -0
  6. package/android/src/oldarch/kotlin/com/datadog/reactnative/sessionreplay/views/DdPrivacyViewManager.kt +43 -0
  7. package/android/src/rn76/kotlin/com/datadog/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.kt +1 -1
  8. package/android/src/{main → rnpost74}/kotlin/com/datadog/reactnative/sessionreplay/DdSDKReactNativeSessionReplayPackage.kt +9 -2
  9. package/android/src/rnpre74/kotlin/com/datadog/reactnative/sessionreplay/DdSDKReactNativeSessionReplayPackage.kt +31 -0
  10. package/ios/Sources/DdPrivacyOverrider.swift +71 -0
  11. package/ios/Sources/DdPrivacyViewFabric.mm +54 -0
  12. package/ios/Sources/DdPrivacyViewPaper.m +58 -0
  13. package/ios/Sources/RCTFabricWrapper.mm +1 -2
  14. package/ios/Sources/RCTTextViewRecorder.swift +20 -5
  15. package/lib/commonjs/components/SessionReplayView/HideView.js +34 -0
  16. package/lib/commonjs/components/SessionReplayView/HideView.js.map +1 -0
  17. package/lib/commonjs/components/SessionReplayView/MaskAllView.js +44 -0
  18. package/lib/commonjs/components/SessionReplayView/MaskAllView.js.map +1 -0
  19. package/lib/commonjs/components/SessionReplayView/MaskNoneView.js +41 -0
  20. package/lib/commonjs/components/SessionReplayView/MaskNoneView.js.map +1 -0
  21. package/lib/commonjs/components/SessionReplayView/PrivacyView.js +46 -0
  22. package/lib/commonjs/components/SessionReplayView/PrivacyView.js.map +1 -0
  23. package/lib/commonjs/components/SessionReplayView/index.js +40 -0
  24. package/lib/commonjs/components/SessionReplayView/index.js.map +1 -0
  25. package/lib/commonjs/index.js +7 -0
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/specs/DdPrivacyView.js +19 -0
  28. package/lib/commonjs/specs/DdPrivacyView.js.map +1 -0
  29. package/lib/commonjs/specs/DdPrivacyViewNativeComponent.js +17 -0
  30. package/lib/commonjs/specs/DdPrivacyViewNativeComponent.js.map +1 -0
  31. package/lib/commonjs/specs/DdPrivacyViewPaper.js +16 -0
  32. package/lib/commonjs/specs/DdPrivacyViewPaper.js.map +1 -0
  33. package/lib/commonjs/types/DdPrivacyView.js +6 -0
  34. package/lib/commonjs/types/DdPrivacyView.js.map +1 -0
  35. package/lib/module/components/SessionReplayView/HideView.js +28 -0
  36. package/lib/module/components/SessionReplayView/HideView.js.map +1 -0
  37. package/lib/module/components/SessionReplayView/MaskAllView.js +37 -0
  38. package/lib/module/components/SessionReplayView/MaskAllView.js.map +1 -0
  39. package/lib/module/components/SessionReplayView/MaskNoneView.js +35 -0
  40. package/lib/module/components/SessionReplayView/MaskNoneView.js.map +1 -0
  41. package/lib/module/components/SessionReplayView/PrivacyView.js +39 -0
  42. package/lib/module/components/SessionReplayView/PrivacyView.js.map +1 -0
  43. package/lib/module/components/SessionReplayView/index.js +35 -0
  44. package/lib/module/components/SessionReplayView/index.js.map +1 -0
  45. package/lib/module/index.js +2 -0
  46. package/lib/module/index.js.map +1 -1
  47. package/lib/module/specs/DdPrivacyView.js +12 -0
  48. package/lib/module/specs/DdPrivacyView.js.map +1 -0
  49. package/lib/module/specs/DdPrivacyViewNativeComponent.js +11 -0
  50. package/lib/module/specs/DdPrivacyViewNativeComponent.js.map +1 -0
  51. package/lib/module/specs/DdPrivacyViewPaper.js +10 -0
  52. package/lib/module/specs/DdPrivacyViewPaper.js.map +1 -0
  53. package/lib/module/types/DdPrivacyView.js +2 -0
  54. package/lib/module/types/DdPrivacyView.js.map +1 -0
  55. package/lib/typescript/components/SessionReplayView/HideView.d.ts +11 -0
  56. package/lib/typescript/components/SessionReplayView/HideView.d.ts.map +1 -0
  57. package/lib/typescript/components/SessionReplayView/MaskAllView.d.ts +23 -0
  58. package/lib/typescript/components/SessionReplayView/MaskAllView.d.ts.map +1 -0
  59. package/lib/typescript/components/SessionReplayView/MaskNoneView.d.ts +14 -0
  60. package/lib/typescript/components/SessionReplayView/MaskNoneView.d.ts.map +1 -0
  61. package/lib/typescript/components/SessionReplayView/PrivacyView.d.ts +36 -0
  62. package/lib/typescript/components/SessionReplayView/PrivacyView.d.ts.map +1 -0
  63. package/lib/typescript/components/SessionReplayView/index.d.ts +28 -0
  64. package/lib/typescript/components/SessionReplayView/index.d.ts.map +1 -0
  65. package/lib/typescript/index.d.ts +2 -0
  66. package/lib/typescript/index.d.ts.map +1 -1
  67. package/lib/typescript/specs/DdPrivacyView.d.ts +3 -0
  68. package/lib/typescript/specs/DdPrivacyView.d.ts.map +1 -0
  69. package/lib/typescript/specs/DdPrivacyViewNativeComponent.d.ts +10 -0
  70. package/lib/typescript/specs/DdPrivacyViewNativeComponent.d.ts.map +1 -0
  71. package/lib/typescript/specs/DdPrivacyViewPaper.d.ts +4 -0
  72. package/lib/typescript/specs/DdPrivacyViewPaper.d.ts.map +1 -0
  73. package/lib/typescript/types/DdPrivacyView.d.ts +8 -0
  74. package/lib/typescript/types/DdPrivacyView.d.ts.map +1 -0
  75. package/package.json +3 -3
  76. package/src/components/SessionReplayView/HideView.tsx +25 -0
  77. package/src/components/SessionReplayView/MaskAllView.tsx +53 -0
  78. package/src/components/SessionReplayView/MaskNoneView.tsx +40 -0
  79. package/src/components/SessionReplayView/PrivacyView.tsx +67 -0
  80. package/src/components/SessionReplayView/index.ts +34 -0
  81. package/src/index.ts +3 -0
  82. package/src/specs/DdPrivacyView.ts +17 -0
  83. package/src/specs/DdPrivacyViewNativeComponent.ts +19 -0
  84. package/src/specs/DdPrivacyViewPaper.ts +15 -0
  85. package/src/types/DdPrivacyView.ts +14 -0
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MaskNoneView = MaskNoneView;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _SessionReplay = require("../../SessionReplay");
9
+ var _PrivacyView = require("./PrivacyView");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ /*
13
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
14
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
15
+ * Copyright 2016-Present Datadog, Inc.
16
+ */
17
+
18
+ /**
19
+ * A wrapper component that applies minimal masking, allowing most content to appear as-is in session replays.
20
+ *
21
+ * Specifically:
22
+ * - Text and inputs are shown, except for sensitive fields (e.g., password fields), which are still masked.
23
+ * - Images are fully visible.
24
+ * - Touch interactions are recorded and visible.
25
+ *
26
+ * Use this component for UI areas where full visibility is acceptable and privacy concerns are minimal.
27
+ */
28
+ function MaskNoneView({
29
+ children,
30
+ ...props
31
+ }) {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PrivacyView.PrivacyView, {
33
+ ...props,
34
+ textAndInputPrivacy: _SessionReplay.TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS,
35
+ imagePrivacy: _SessionReplay.ImagePrivacyLevel.MASK_NONE,
36
+ touchPrivacy: _SessionReplay.TouchPrivacyLevel.SHOW,
37
+ hide: false,
38
+ children: children
39
+ });
40
+ }
41
+ //# sourceMappingURL=MaskNoneView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_SessionReplay","_PrivacyView","_jsxRuntime","e","__esModule","default","MaskNoneView","children","props","jsx","PrivacyView","textAndInputPrivacy","TextAndInputPrivacyLevel","MASK_SENSITIVE_INPUTS","imagePrivacy","ImagePrivacyLevel","MASK_NONE","touchPrivacy","TouchPrivacyLevel","SHOW","hide"],"sourceRoot":"../../../../src","sources":["components/SessionReplayView/MaskNoneView.tsx"],"mappings":";;;;;;AAOA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AAMA,IAAAE,YAAA,GAAAF,OAAA;AAA4C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAf5C;AACA;AACA;AACA;AACA;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,YAAYA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAiB,CAAC,EAAE;EAC5D,oBACI,IAAAN,WAAA,CAAAO,GAAA,EAACR,YAAA,CAAAS,WAAW;IAAA,GACJF,KAAK;IACTG,mBAAmB,EAAEC,uCAAwB,CAACC,qBAAsB;IACpEC,YAAY,EAAEC,gCAAiB,CAACC,SAAU;IAC1CC,YAAY,EAAEC,gCAAiB,CAACC,IAAK;IACrCC,IAAI,EAAE,KAAM;IAAAb,QAAA,EAEXA;EAAQ,CACA,CAAC;AAEtB","ignoreList":[]}
@@ -0,0 +1,46 @@
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 _DdPrivacyView = _interopRequireDefault(require("../../specs/DdPrivacyView"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /*
12
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
13
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
14
+ * Copyright 2016-Present Datadog, Inc.
15
+ */
16
+
17
+ /**
18
+ * A low-level component for configuring session replay privacy behavior with more granular control over the properties.
19
+ *
20
+ * Use this when none of the high-level components (`MaskAllView`, `MaskNoneView`, `HideView`)
21
+ * provide the level of customization you need.
22
+ *
23
+ * You can individually configure:
24
+ * - How text and inputs are masked
25
+ * - Whether images are shown or masked
26
+ * - Whether touch interactions are visible
27
+ * - Whether the entire view should be hidden from replays
28
+ */
29
+ function PrivacyView({
30
+ children,
31
+ textAndInputPrivacy,
32
+ imagePrivacy,
33
+ touchPrivacy,
34
+ hide = false,
35
+ ...props
36
+ }) {
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DdPrivacyView.default, {
38
+ ...props,
39
+ textAndInputPrivacy: textAndInputPrivacy,
40
+ imagePrivacy: imagePrivacy,
41
+ touchPrivacy: touchPrivacy,
42
+ hide: hide || false,
43
+ children: children
44
+ });
45
+ }
46
+ //# sourceMappingURL=PrivacyView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_DdPrivacyView","_jsxRuntime","e","__esModule","default","PrivacyView","children","textAndInputPrivacy","imagePrivacy","touchPrivacy","hide","props","jsx"],"sourceRoot":"../../../../src","sources":["components/SessionReplayView/PrivacyView.tsx"],"mappings":";;;;;;AAOA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAOA,IAAAC,cAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA6C,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAd7C;AACA;AACA;AACA;AACA;;AA+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,WAAWA,CAAC;EACxBC,QAAQ;EACRC,mBAAmB;EACnBC,YAAY;EACZC,YAAY;EACZC,IAAI,GAAG,KAAK;EACZ,GAAGC;AACA,CAAC,EAAE;EACN,oBACI,IAAAV,WAAA,CAAAW,GAAA,EAACZ,cAAA,CAAAI,OAAI;IAAA,GACGO,KAAK;IACTJ,mBAAmB,EAAEA,mBAA8B;IACnDC,YAAY,EAAEA,YAAuB;IACrCC,YAAY,EAAEA,YAAuB;IACrCC,IAAI,EAAEA,IAAI,IAAI,KAAM;IAAAJ,QAAA,EAEnBA;EAAQ,CACP,CAAC;AAEf","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SessionReplayView = void 0;
7
+ var _HideView = require("./HideView");
8
+ var _MaskAllView = require("./MaskAllView");
9
+ var _MaskNoneView = require("./MaskNoneView");
10
+ var _PrivacyView = require("./PrivacyView");
11
+ /*
12
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
13
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
14
+ * Copyright 2016-Present Datadog, Inc.
15
+ */
16
+
17
+ /**
18
+ * A collection of preconfigured React components for controlling privacy in Datadog Session Replay.
19
+ *
20
+ * These components can be used to control how different parts of the UI appear in session recordings:
21
+ *
22
+ * - `SessionReplayView.MaskAll`: Masks all text, inputs, and images. Hides touch interactions by default.
23
+ * Use for highly sensitive sections.
24
+ *
25
+ * - `SessionReplayView.MaskNone`: Displays most content as-is, except for sensitive inputs which are still masked.
26
+ * Use when visibility is safe and desired.
27
+ *
28
+ * - `SessionReplayView.Hide`: Completely hides the view and its children from session replays.
29
+ * Use for content that should not appear at all in recordings.
30
+ *
31
+ * - `SessionReplayView.Privacy`: A low-level configurable component for fine-tuned privacy control.
32
+ * Use this if none of the presets meet your needs.
33
+ */
34
+ const SessionReplayView = exports.SessionReplayView = {
35
+ Privacy: _PrivacyView.PrivacyView,
36
+ MaskAll: _MaskAllView.MaskAllView,
37
+ MaskNone: _MaskNoneView.MaskNoneView,
38
+ Hide: _HideView.HideView
39
+ };
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_HideView","require","_MaskAllView","_MaskNoneView","_PrivacyView","SessionReplayView","exports","Privacy","PrivacyView","MaskAll","MaskAllView","MaskNone","MaskNoneView","Hide","HideView"],"sourceRoot":"../../../../src","sources":["components/SessionReplayView/index.ts"],"mappings":";;;;;;AAMA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AATA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAC7BE,OAAO,EAAEC,wBAAW;EACpBC,OAAO,EAAEC,wBAAW;EACpBC,QAAQ,EAAEC,0BAAY;EACtBC,IAAI,EAAEC;AACV,CAAC","ignoreList":[]}
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "SessionReplayPrivacy", {
21
21
  return _SessionReplay.SessionReplayPrivacy;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "SessionReplayView", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _SessionReplayView.SessionReplayView;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "TextAndInputPrivacyLevel", {
25
31
  enumerable: true,
26
32
  get: function () {
@@ -34,4 +40,5 @@ Object.defineProperty(exports, "TouchPrivacyLevel", {
34
40
  }
35
41
  });
36
42
  var _SessionReplay = require("./SessionReplay");
43
+ var _SessionReplayView = require("./components/SessionReplayView");
37
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_SessionReplay","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAAA,cAAA,GAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_SessionReplay","require","_SessionReplayView"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAAA,cAAA,GAAAC,OAAA;AAOA,IAAAC,kBAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
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
+ /*
9
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
10
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
11
+ * Copyright 2016-Present Datadog, Inc.
12
+ */
13
+
14
+ /* eslint-disable @typescript-eslint/no-var-requires */
15
+
16
+ const isNewArch = _reactNative.UIManager.getViewManagerConfig?.('DdPrivacyView') === undefined;
17
+ const NativeComponent = isNewArch ? require('./DdPrivacyViewNativeComponent').default : require('./DdPrivacyViewPaper').default;
18
+ var _default = exports.default = NativeComponent;
19
+ //# sourceMappingURL=DdPrivacyView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","isNewArch","UIManager","getViewManagerConfig","undefined","NativeComponent","default","_default","exports"],"sourceRoot":"../../../src","sources":["specs/DdPrivacyView.ts"],"mappings":";;;;;;AAOA,IAAAA,YAAA,GAAAC,OAAA;AAPA;AACA;AACA;AACA;AACA;;AAEA;;AAGA,MAAMC,SAAS,GACXC,sBAAS,CAACC,oBAAoB,GAAG,eAAe,CAAC,KAAKC,SAAS;AAEnE,MAAMC,eAAe,GAAGJ,SAAS,GAC3BD,OAAO,CAAC,gCAAgC,CAAC,CAACM,OAAO,GACjDN,OAAO,CAAC,sBAAsB,CAAC,CAACM,OAAO;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAE/BD,eAAe","ignoreList":[]}
@@ -0,0 +1,17 @@
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
+ /*
10
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
11
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ * Copyright 2016-Present Datadog, Inc.
13
+ */
14
+ var _default = exports.default = (0, _codegenNativeComponent.default)('DdPrivacyView', {
15
+ paperComponentName: 'DdPrivacyView'
16
+ });
17
+ //# sourceMappingURL=DdPrivacyViewNativeComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent","paperComponentName"],"sourceRoot":"../../../src","sources":["specs/DdPrivacyViewNativeComponent.ts"],"mappings":";;;;;;AAMA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAN7F;AACA;AACA;AACA;AACA;AAJA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAgBe,IAAAG,+BAAsB,EAAqB,eAAe,EAAE;EACvEC,kBAAkB,EAAE;AACxB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,16 @@
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
+ /*
9
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
10
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
11
+ * Copyright 2016-Present Datadog, Inc.
12
+ */
13
+
14
+ const DdPrivacyView = (0, _reactNative.requireNativeComponent)('DdPrivacyView');
15
+ var _default = exports.default = DdPrivacyView;
16
+ //# sourceMappingURL=DdPrivacyViewPaper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","DdPrivacyView","requireNativeComponent","_default","exports","default"],"sourceRoot":"../../../src","sources":["specs/DdPrivacyViewPaper.ts"],"mappings":";;;;;;AAMA,IAAAA,YAAA,GAAAC,OAAA;AANA;AACA;AACA;AACA;AACA;;AAMA,MAAMC,aAAa,GAAG,IAAAC,mCAAsB,EACxC,eACJ,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaJ,aAAa","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=DdPrivacyView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/DdPrivacyView.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
4
+ * Copyright 2016-Present Datadog, Inc.
5
+ */
6
+
7
+ import React from 'react';
8
+ import { PrivacyView } from './PrivacyView';
9
+
10
+ /**
11
+ * A wrapper component that hides all of its content from session replays.
12
+ *
13
+ * When used, none of the children within this view will appear in the replay recording.
14
+ * This is useful for UI areas that contain sensitive or confidential information that should
15
+ * be completely excluded from visibility, not just masked.
16
+ */
17
+ import { jsx as _jsx } from "react/jsx-runtime";
18
+ export function HideView({
19
+ children,
20
+ ...props
21
+ }) {
22
+ return /*#__PURE__*/_jsx(PrivacyView, {
23
+ ...props,
24
+ hide: true,
25
+ children: children
26
+ });
27
+ }
28
+ //# sourceMappingURL=HideView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PrivacyView","jsx","_jsx","HideView","children","props","hide"],"sourceRoot":"../../../../src","sources":["components/SessionReplayView/HideView.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,WAAW,QAAQ,eAAe;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAC,GAAA,IAAAC,IAAA;AAOA,OAAO,SAASC,QAAQA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAiB,CAAC,EAAE;EACxD,oBACIH,IAAA,CAACF,WAAW;IAAA,GAAKK,KAAK;IAAEC,IAAI,EAAE,IAAK;IAAAF,QAAA,EAC9BA;EAAQ,CACA,CAAC;AAEtB","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
4
+ * Copyright 2016-Present Datadog, Inc.
5
+ */
6
+
7
+ import React from 'react';
8
+ import { ImagePrivacyLevel, TextAndInputPrivacyLevel, TouchPrivacyLevel } from '../../SessionReplay';
9
+ import { PrivacyView } from './PrivacyView';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ /**
12
+ * A wrapper component that enforces full masking on all content within it.
13
+ *
14
+ * This includes:
15
+ * - Masking all text and input values (e.g., replacing them with asterisks)
16
+ * - Masking all images
17
+ * - Hiding or optionally showing touch interactions, depending on `showTouch`
18
+ *
19
+ * This component is useful for marking sensitive UI sections that should not be visible
20
+ * in session replays.
21
+ */
22
+ export function MaskAllView({
23
+ children,
24
+ showTouch,
25
+ ...props
26
+ }) {
27
+ const touchPrivacy = showTouch ? TouchPrivacyLevel.SHOW : TouchPrivacyLevel.HIDE;
28
+ return /*#__PURE__*/_jsx(PrivacyView, {
29
+ ...props,
30
+ textAndInputPrivacy: TextAndInputPrivacyLevel.MASK_ALL,
31
+ imagePrivacy: ImagePrivacyLevel.MASK_ALL,
32
+ touchPrivacy: touchPrivacy,
33
+ hide: false,
34
+ children: children
35
+ });
36
+ }
37
+ //# sourceMappingURL=MaskAllView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ImagePrivacyLevel","TextAndInputPrivacyLevel","TouchPrivacyLevel","PrivacyView","jsx","_jsx","MaskAllView","children","showTouch","props","touchPrivacy","SHOW","HIDE","textAndInputPrivacy","MASK_ALL","imagePrivacy","hide"],"sourceRoot":"../../../../src","sources":["components/SessionReplayView/MaskAllView.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SACIC,iBAAiB,EACjBC,wBAAwB,EACxBC,iBAAiB,QACd,qBAAqB;AAE5B,SAASC,WAAW,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAU5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAC;EAAEC,QAAQ;EAAEC,SAAS;EAAE,GAAGC;AAAa,CAAC,EAAE;EAClE,MAAMC,YAAY,GAAGF,SAAS,GACxBN,iBAAiB,CAACS,IAAI,GACtBT,iBAAiB,CAACU,IAAI;EAE5B,oBACIP,IAAA,CAACF,WAAW;IAAA,GACJM,KAAK;IACTI,mBAAmB,EAAEZ,wBAAwB,CAACa,QAAS;IACvDC,YAAY,EAAEf,iBAAiB,CAACc,QAAS;IACzCJ,YAAY,EAAEA,YAAa;IAC3BM,IAAI,EAAE,KAAM;IAAAT,QAAA,EAEXA;EAAQ,CACA,CAAC;AAEtB","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
4
+ * Copyright 2016-Present Datadog, Inc.
5
+ */
6
+
7
+ import React from 'react';
8
+ import { ImagePrivacyLevel, TextAndInputPrivacyLevel, TouchPrivacyLevel } from '../../SessionReplay';
9
+ import { PrivacyView } from './PrivacyView';
10
+
11
+ /**
12
+ * A wrapper component that applies minimal masking, allowing most content to appear as-is in session replays.
13
+ *
14
+ * Specifically:
15
+ * - Text and inputs are shown, except for sensitive fields (e.g., password fields), which are still masked.
16
+ * - Images are fully visible.
17
+ * - Touch interactions are recorded and visible.
18
+ *
19
+ * Use this component for UI areas where full visibility is acceptable and privacy concerns are minimal.
20
+ */
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ export function MaskNoneView({
23
+ children,
24
+ ...props
25
+ }) {
26
+ return /*#__PURE__*/_jsx(PrivacyView, {
27
+ ...props,
28
+ textAndInputPrivacy: TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS,
29
+ imagePrivacy: ImagePrivacyLevel.MASK_NONE,
30
+ touchPrivacy: TouchPrivacyLevel.SHOW,
31
+ hide: false,
32
+ children: children
33
+ });
34
+ }
35
+ //# sourceMappingURL=MaskNoneView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ImagePrivacyLevel","TextAndInputPrivacyLevel","TouchPrivacyLevel","PrivacyView","jsx","_jsx","MaskNoneView","children","props","textAndInputPrivacy","MASK_SENSITIVE_INPUTS","imagePrivacy","MASK_NONE","touchPrivacy","SHOW","hide"],"sourceRoot":"../../../../src","sources":["components/SessionReplayView/MaskNoneView.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SACIC,iBAAiB,EACjBC,wBAAwB,EACxBC,iBAAiB,QACd,qBAAqB;AAE5B,SAASC,WAAW,QAAQ,eAAe;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA,SAAAC,GAAA,IAAAC,IAAA;AAUA,OAAO,SAASC,YAAYA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAiB,CAAC,EAAE;EAC5D,oBACIH,IAAA,CAACF,WAAW;IAAA,GACJK,KAAK;IACTC,mBAAmB,EAAER,wBAAwB,CAACS,qBAAsB;IACpEC,YAAY,EAAEX,iBAAiB,CAACY,SAAU;IAC1CC,YAAY,EAAEX,iBAAiB,CAACY,IAAK;IACrCC,IAAI,EAAE,KAAM;IAAAR,QAAA,EAEXA;EAAQ,CACA,CAAC;AAEtB","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ /*
2
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
4
+ * Copyright 2016-Present Datadog, Inc.
5
+ */
6
+
7
+ import React from 'react';
8
+ import View from '../../specs/DdPrivacyView';
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ /**
11
+ * A low-level component for configuring session replay privacy behavior with more granular control over the properties.
12
+ *
13
+ * Use this when none of the high-level components (`MaskAllView`, `MaskNoneView`, `HideView`)
14
+ * provide the level of customization you need.
15
+ *
16
+ * You can individually configure:
17
+ * - How text and inputs are masked
18
+ * - Whether images are shown or masked
19
+ * - Whether touch interactions are visible
20
+ * - Whether the entire view should be hidden from replays
21
+ */
22
+ export function PrivacyView({
23
+ children,
24
+ textAndInputPrivacy,
25
+ imagePrivacy,
26
+ touchPrivacy,
27
+ hide = false,
28
+ ...props
29
+ }) {
30
+ return /*#__PURE__*/_jsx(View, {
31
+ ...props,
32
+ textAndInputPrivacy: textAndInputPrivacy,
33
+ imagePrivacy: imagePrivacy,
34
+ touchPrivacy: touchPrivacy,
35
+ hide: hide || false,
36
+ children: children
37
+ });
38
+ }
39
+ //# sourceMappingURL=PrivacyView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","jsx","_jsx","PrivacyView","children","textAndInputPrivacy","imagePrivacy","touchPrivacy","hide","props"],"sourceRoot":"../../../../src","sources":["components/SessionReplayView/PrivacyView.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,KAAK,MAAM,OAAO;AAOzB,OAAOC,IAAI,MAAM,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAqB7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAC;EACxBC,QAAQ;EACRC,mBAAmB;EACnBC,YAAY;EACZC,YAAY;EACZC,IAAI,GAAG,KAAK;EACZ,GAAGC;AACA,CAAC,EAAE;EACN,oBACIP,IAAA,CAACF,IAAI;IAAA,GACGS,KAAK;IACTJ,mBAAmB,EAAEA,mBAA8B;IACnDC,YAAY,EAAEA,YAAuB;IACrCC,YAAY,EAAEA,YAAuB;IACrCC,IAAI,EAAEA,IAAI,IAAI,KAAM;IAAAJ,QAAA,EAEnBA;EAAQ,CACP,CAAC;AAEf","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
4
+ * Copyright 2016-Present Datadog, Inc.
5
+ */
6
+
7
+ import { HideView } from './HideView';
8
+ import { MaskAllView } from './MaskAllView';
9
+ import { MaskNoneView } from './MaskNoneView';
10
+ import { PrivacyView } from './PrivacyView';
11
+
12
+ /**
13
+ * A collection of preconfigured React components for controlling privacy in Datadog Session Replay.
14
+ *
15
+ * These components can be used to control how different parts of the UI appear in session recordings:
16
+ *
17
+ * - `SessionReplayView.MaskAll`: Masks all text, inputs, and images. Hides touch interactions by default.
18
+ * Use for highly sensitive sections.
19
+ *
20
+ * - `SessionReplayView.MaskNone`: Displays most content as-is, except for sensitive inputs which are still masked.
21
+ * Use when visibility is safe and desired.
22
+ *
23
+ * - `SessionReplayView.Hide`: Completely hides the view and its children from session replays.
24
+ * Use for content that should not appear at all in recordings.
25
+ *
26
+ * - `SessionReplayView.Privacy`: A low-level configurable component for fine-tuned privacy control.
27
+ * Use this if none of the presets meet your needs.
28
+ */
29
+ export const SessionReplayView = {
30
+ Privacy: PrivacyView,
31
+ MaskAll: MaskAllView,
32
+ MaskNone: MaskNoneView,
33
+ Hide: HideView
34
+ };
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HideView","MaskAllView","MaskNoneView","PrivacyView","SessionReplayView","Privacy","MaskAll","MaskNone","Hide"],"sourceRoot":"../../../../src","sources":["components/SessionReplayView/index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,YAAY;AACrC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,WAAW,QAAQ,eAAe;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAG;EAC7BC,OAAO,EAAEF,WAAW;EACpBG,OAAO,EAAEL,WAAW;EACpBM,QAAQ,EAAEL,YAAY;EACtBM,IAAI,EAAER;AACV,CAAC","ignoreList":[]}
@@ -5,5 +5,7 @@
5
5
  */
6
6
 
7
7
  import { SessionReplay, SessionReplayPrivacy, ImagePrivacyLevel, TouchPrivacyLevel, TextAndInputPrivacyLevel } from './SessionReplay';
8
+ import { SessionReplayView } from './components/SessionReplayView';
8
9
  export { SessionReplay, SessionReplayPrivacy, ImagePrivacyLevel, TouchPrivacyLevel, TextAndInputPrivacyLevel };
10
+ export { SessionReplayView };
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SessionReplay","SessionReplayPrivacy","ImagePrivacyLevel","TouchPrivacyLevel","TextAndInputPrivacyLevel"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAGA,SACIA,aAAa,EACbC,oBAAoB,EACpBC,iBAAiB,EACjBC,iBAAiB,EACjBC,wBAAwB,QACrB,iBAAiB;AAExB,SACIJ,aAAa,EACbC,oBAAoB,EACpBC,iBAAiB,EACjBC,iBAAiB,EACjBC,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":["SessionReplay","SessionReplayPrivacy","ImagePrivacyLevel","TouchPrivacyLevel","TextAndInputPrivacyLevel","SessionReplayView"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAGA,SACIA,aAAa,EACbC,oBAAoB,EACpBC,iBAAiB,EACjBC,iBAAiB,EACjBC,wBAAwB,QACrB,iBAAiB;AACxB,SAASC,iBAAiB,QAAQ,gCAAgC;AAElE,SACIL,aAAa,EACbC,oBAAoB,EACpBC,iBAAiB,EACjBC,iBAAiB,EACjBC,wBAAwB;AAG5B,SAASC,iBAAiB","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
4
+ * Copyright 2016-Present Datadog, Inc.
5
+ */
6
+
7
+ /* eslint-disable @typescript-eslint/no-var-requires */
8
+ import { UIManager } from 'react-native';
9
+ const isNewArch = UIManager.getViewManagerConfig?.('DdPrivacyView') === undefined;
10
+ const NativeComponent = isNewArch ? require('./DdPrivacyViewNativeComponent').default : require('./DdPrivacyViewPaper').default;
11
+ export default NativeComponent;
12
+ //# sourceMappingURL=DdPrivacyView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UIManager","isNewArch","getViewManagerConfig","undefined","NativeComponent","require","default"],"sourceRoot":"../../../src","sources":["specs/DdPrivacyView.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,SAAS,QAAQ,cAAc;AAExC,MAAMC,SAAS,GACXD,SAAS,CAACE,oBAAoB,GAAG,eAAe,CAAC,KAAKC,SAAS;AAEnE,MAAMC,eAAe,GAAGH,SAAS,GAC3BI,OAAO,CAAC,gCAAgC,CAAC,CAACC,OAAO,GACjDD,OAAO,CAAC,sBAAsB,CAAC,CAACC,OAAO;AAE7C,eAAeF,eAAe","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
4
+ * Copyright 2016-Present Datadog, Inc.
5
+ */
6
+
7
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
8
+ export default codegenNativeComponent('DdPrivacyView', {
9
+ paperComponentName: 'DdPrivacyView'
10
+ });
11
+ //# sourceMappingURL=DdPrivacyViewNativeComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["codegenNativeComponent","paperComponentName"],"sourceRoot":"../../../src","sources":["specs/DdPrivacyViewNativeComponent.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,sBAAsB,MAAM,yDAAyD;AAU5F,eAAeA,sBAAsB,CAAqB,eAAe,EAAE;EACvEC,kBAAkB,EAAE;AACxB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
4
+ * Copyright 2016-Present Datadog, Inc.
5
+ */
6
+
7
+ import { requireNativeComponent } from 'react-native';
8
+ const DdPrivacyView = requireNativeComponent('DdPrivacyView');
9
+ export default DdPrivacyView;
10
+ //# sourceMappingURL=DdPrivacyViewPaper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["requireNativeComponent","DdPrivacyView"],"sourceRoot":"../../../src","sources":["specs/DdPrivacyViewPaper.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,sBAAsB,QAAQ,cAAc;AAIrD,MAAMC,aAAa,GAAGD,sBAAsB,CACxC,eACJ,CAAC;AAED,eAAeC,aAAa","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DdPrivacyView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/DdPrivacyView.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import React from 'react';
3
+ /**
4
+ * A wrapper component that hides all of its content from session replays.
5
+ *
6
+ * When used, none of the children within this view will appear in the replay recording.
7
+ * This is useful for UI areas that contain sensitive or confidential information that should
8
+ * be completely excluded from visibility, not just masked.
9
+ */
10
+ export declare function HideView({ children, ...props }: ViewProps): React.JSX.Element;
11
+ //# sourceMappingURL=HideView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HideView.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionReplayView/HideView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,qBAMzD"}
@@ -0,0 +1,23 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import React from 'react';
3
+ type Props = ViewProps & {
4
+ /**
5
+ * When true, allows touch interactions to be recorded.
6
+ * When false (default), touch interactions are hidden.
7
+ */
8
+ showTouch?: boolean;
9
+ };
10
+ /**
11
+ * A wrapper component that enforces full masking on all content within it.
12
+ *
13
+ * This includes:
14
+ * - Masking all text and input values (e.g., replacing them with asterisks)
15
+ * - Masking all images
16
+ * - Hiding or optionally showing touch interactions, depending on `showTouch`
17
+ *
18
+ * This component is useful for marking sensitive UI sections that should not be visible
19
+ * in session replays.
20
+ */
21
+ export declare function MaskAllView({ children, showTouch, ...props }: Props): React.JSX.Element;
22
+ export {};
23
+ //# sourceMappingURL=MaskAllView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaskAllView.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionReplayView/MaskAllView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,KAAK,KAAK,GAAG,SAAS,GAAG;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,qBAgBnE"}
@@ -0,0 +1,14 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import React from 'react';
3
+ /**
4
+ * A wrapper component that applies minimal masking, allowing most content to appear as-is in session replays.
5
+ *
6
+ * Specifically:
7
+ * - Text and inputs are shown, except for sensitive fields (e.g., password fields), which are still masked.
8
+ * - Images are fully visible.
9
+ * - Touch interactions are recorded and visible.
10
+ *
11
+ * Use this component for UI areas where full visibility is acceptable and privacy concerns are minimal.
12
+ */
13
+ export declare function MaskNoneView({ children, ...props }: ViewProps): React.JSX.Element;
14
+ //# sourceMappingURL=MaskNoneView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaskNoneView.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionReplayView/MaskNoneView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,qBAY7D"}
@@ -0,0 +1,36 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import React from 'react';
3
+ import type { ImagePrivacyLevel, TextAndInputPrivacyLevel, TouchPrivacyLevel } from '../../SessionReplay';
4
+ type Props = ViewProps & {
5
+ /**
6
+ * Controls how text and input fields are masked in session replays.
7
+ */
8
+ textAndInputPrivacy?: TextAndInputPrivacyLevel;
9
+ /**
10
+ * Controls how images are masked in session replays.
11
+ */
12
+ imagePrivacy?: ImagePrivacyLevel;
13
+ /**
14
+ * Controls whether touch interactions are shown or hidden in session replays.
15
+ */
16
+ touchPrivacy?: TouchPrivacyLevel;
17
+ /**
18
+ * When true, completely hides this view and its children from session replays.
19
+ */
20
+ hide?: boolean;
21
+ };
22
+ /**
23
+ * A low-level component for configuring session replay privacy behavior with more granular control over the properties.
24
+ *
25
+ * Use this when none of the high-level components (`MaskAllView`, `MaskNoneView`, `HideView`)
26
+ * provide the level of customization you need.
27
+ *
28
+ * You can individually configure:
29
+ * - How text and inputs are masked
30
+ * - Whether images are shown or masked
31
+ * - Whether touch interactions are visible
32
+ * - Whether the entire view should be hidden from replays
33
+ */
34
+ export declare function PrivacyView({ children, textAndInputPrivacy, imagePrivacy, touchPrivacy, hide, ...props }: Props): React.JSX.Element;
35
+ export {};
36
+ //# sourceMappingURL=PrivacyView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivacyView.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionReplayView/PrivacyView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EACR,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACpB,MAAM,qBAAqB,CAAC;AAG7B,KAAK,KAAK,GAAG,SAAS,GAAG;IACrB;;OAEG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAC/C;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,EACxB,QAAQ,EACR,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,IAAY,EACZ,GAAG,KAAK,EACX,EAAE,KAAK,qBAYP"}