@datadog/mobile-react-native-session-replay 2.7.1 → 2.8.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.
- package/DatadogSDKReactNativeSessionReplay.podspec +20 -10
- package/android/build.gradle +8 -0
- package/android/src/main/kotlin/com/datadog/reactnative/sessionreplay/views/DdPrivacyView.kt +59 -0
- package/android/src/main/res/values/ids.xml +12 -0
- package/android/src/newarch/kotlin/com/datadog/reactnative/sessionreplay/views/DdPrivacyViewManager.kt +50 -0
- package/android/src/oldarch/kotlin/com/datadog/reactnative/sessionreplay/views/DdPrivacyViewManager.kt +43 -0
- package/android/src/rn76/kotlin/com/datadog/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.kt +1 -1
- package/android/src/{main → rnpost74}/kotlin/com/datadog/reactnative/sessionreplay/DdSDKReactNativeSessionReplayPackage.kt +14 -6
- package/android/src/rnpre74/kotlin/com/datadog/reactnative/sessionreplay/DdSDKReactNativeSessionReplayPackage.kt +31 -0
- package/ios/Sources/DdPrivacyOverrider.swift +71 -0
- package/ios/Sources/DdPrivacyViewFabric.mm +60 -0
- package/ios/Sources/DdPrivacyViewPaper.m +62 -0
- package/ios/Sources/RCTFabricWrapper.mm +3 -10
- package/ios/Sources/RCTTextViewRecorder.swift +20 -5
- package/ios/Sources/RCTVersion.h +1 -1
- package/lib/commonjs/components/SessionReplayView/HideView.js +34 -0
- package/lib/commonjs/components/SessionReplayView/HideView.js.map +1 -0
- package/lib/commonjs/components/SessionReplayView/MaskAllView.js +44 -0
- package/lib/commonjs/components/SessionReplayView/MaskAllView.js.map +1 -0
- package/lib/commonjs/components/SessionReplayView/MaskNoneView.js +41 -0
- package/lib/commonjs/components/SessionReplayView/MaskNoneView.js.map +1 -0
- package/lib/commonjs/components/SessionReplayView/PrivacyView.js +46 -0
- package/lib/commonjs/components/SessionReplayView/PrivacyView.js.map +1 -0
- package/lib/commonjs/components/SessionReplayView/index.js +40 -0
- package/lib/commonjs/components/SessionReplayView/index.js.map +1 -0
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/DdPrivacyView.js +19 -0
- package/lib/commonjs/specs/DdPrivacyView.js.map +1 -0
- package/lib/commonjs/specs/DdPrivacyViewNativeComponent.js +17 -0
- package/lib/commonjs/specs/DdPrivacyViewNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/DdPrivacyViewPaper.js +16 -0
- package/lib/commonjs/specs/DdPrivacyViewPaper.js.map +1 -0
- package/lib/commonjs/types/DdPrivacyView.js +6 -0
- package/lib/commonjs/types/DdPrivacyView.js.map +1 -0
- package/lib/module/components/SessionReplayView/HideView.js +28 -0
- package/lib/module/components/SessionReplayView/HideView.js.map +1 -0
- package/lib/module/components/SessionReplayView/MaskAllView.js +37 -0
- package/lib/module/components/SessionReplayView/MaskAllView.js.map +1 -0
- package/lib/module/components/SessionReplayView/MaskNoneView.js +35 -0
- package/lib/module/components/SessionReplayView/MaskNoneView.js.map +1 -0
- package/lib/module/components/SessionReplayView/PrivacyView.js +39 -0
- package/lib/module/components/SessionReplayView/PrivacyView.js.map +1 -0
- package/lib/module/components/SessionReplayView/index.js +35 -0
- package/lib/module/components/SessionReplayView/index.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/DdPrivacyView.js +12 -0
- package/lib/module/specs/DdPrivacyView.js.map +1 -0
- package/lib/module/specs/DdPrivacyViewNativeComponent.js +11 -0
- package/lib/module/specs/DdPrivacyViewNativeComponent.js.map +1 -0
- package/lib/module/specs/DdPrivacyViewPaper.js +10 -0
- package/lib/module/specs/DdPrivacyViewPaper.js.map +1 -0
- package/lib/module/types/DdPrivacyView.js +2 -0
- package/lib/module/types/DdPrivacyView.js.map +1 -0
- package/lib/typescript/components/SessionReplayView/HideView.d.ts +11 -0
- package/lib/typescript/components/SessionReplayView/HideView.d.ts.map +1 -0
- package/lib/typescript/components/SessionReplayView/MaskAllView.d.ts +23 -0
- package/lib/typescript/components/SessionReplayView/MaskAllView.d.ts.map +1 -0
- package/lib/typescript/components/SessionReplayView/MaskNoneView.d.ts +14 -0
- package/lib/typescript/components/SessionReplayView/MaskNoneView.d.ts.map +1 -0
- package/lib/typescript/components/SessionReplayView/PrivacyView.d.ts +36 -0
- package/lib/typescript/components/SessionReplayView/PrivacyView.d.ts.map +1 -0
- package/lib/typescript/components/SessionReplayView/index.d.ts +28 -0
- package/lib/typescript/components/SessionReplayView/index.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/specs/DdPrivacyView.d.ts +3 -0
- package/lib/typescript/specs/DdPrivacyView.d.ts.map +1 -0
- package/lib/typescript/specs/DdPrivacyViewNativeComponent.d.ts +10 -0
- package/lib/typescript/specs/DdPrivacyViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/specs/DdPrivacyViewPaper.d.ts +4 -0
- package/lib/typescript/specs/DdPrivacyViewPaper.d.ts.map +1 -0
- package/lib/typescript/types/DdPrivacyView.d.ts +8 -0
- package/lib/typescript/types/DdPrivacyView.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/components/SessionReplayView/HideView.tsx +25 -0
- package/src/components/SessionReplayView/MaskAllView.tsx +53 -0
- package/src/components/SessionReplayView/MaskNoneView.tsx +40 -0
- package/src/components/SessionReplayView/PrivacyView.tsx +67 -0
- package/src/components/SessionReplayView/index.ts +34 -0
- package/src/index.ts +3 -0
- package/src/specs/DdPrivacyView.ts +17 -0
- package/src/specs/DdPrivacyViewNativeComponent.ts +19 -0
- package/src/specs/DdPrivacyViewPaper.ts +15 -0
- package/src/types/DdPrivacyView.ts +14 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MaskAllView = MaskAllView;
|
|
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 enforces full masking on all content within it.
|
|
20
|
+
*
|
|
21
|
+
* This includes:
|
|
22
|
+
* - Masking all text and input values (e.g., replacing them with asterisks)
|
|
23
|
+
* - Masking all images
|
|
24
|
+
* - Hiding or optionally showing touch interactions, depending on `showTouch`
|
|
25
|
+
*
|
|
26
|
+
* This component is useful for marking sensitive UI sections that should not be visible
|
|
27
|
+
* in session replays.
|
|
28
|
+
*/
|
|
29
|
+
function MaskAllView({
|
|
30
|
+
children,
|
|
31
|
+
showTouch,
|
|
32
|
+
...props
|
|
33
|
+
}) {
|
|
34
|
+
const touchPrivacy = showTouch ? _SessionReplay.TouchPrivacyLevel.SHOW : _SessionReplay.TouchPrivacyLevel.HIDE;
|
|
35
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PrivacyView.PrivacyView, {
|
|
36
|
+
...props,
|
|
37
|
+
textAndInputPrivacy: _SessionReplay.TextAndInputPrivacyLevel.MASK_ALL,
|
|
38
|
+
imagePrivacy: _SessionReplay.ImagePrivacyLevel.MASK_ALL,
|
|
39
|
+
touchPrivacy: touchPrivacy,
|
|
40
|
+
hide: false,
|
|
41
|
+
children: children
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=MaskAllView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_SessionReplay","_PrivacyView","_jsxRuntime","e","__esModule","default","MaskAllView","children","showTouch","props","touchPrivacy","TouchPrivacyLevel","SHOW","HIDE","jsx","PrivacyView","textAndInputPrivacy","TextAndInputPrivacyLevel","MASK_ALL","imagePrivacy","ImagePrivacyLevel","hide"],"sourceRoot":"../../../../src","sources":["components/SessionReplayView/MaskAllView.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;;AAqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,WAAWA,CAAC;EAAEC,QAAQ;EAAEC,SAAS;EAAE,GAAGC;AAAa,CAAC,EAAE;EAClE,MAAMC,YAAY,GAAGF,SAAS,GACxBG,gCAAiB,CAACC,IAAI,GACtBD,gCAAiB,CAACE,IAAI;EAE5B,oBACI,IAAAX,WAAA,CAAAY,GAAA,EAACb,YAAA,CAAAc,WAAW;IAAA,GACJN,KAAK;IACTO,mBAAmB,EAAEC,uCAAwB,CAACC,QAAS;IACvDC,YAAY,EAAEC,gCAAiB,CAACF,QAAS;IACzCR,YAAY,EAAEA,YAAa;IAC3BW,IAAI,EAAE,KAAM;IAAAd,QAAA,EAEXA;EAAQ,CACA,CAAC;AAEtB","ignoreList":[]}
|
|
@@ -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":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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":"
|
|
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 @@
|
|
|
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":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -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
|
package/lib/module/index.js.map
CHANGED
|
@@ -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;
|
|
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 @@
|
|
|
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"}
|