@wise/dynamic-flow-client 3.5.0-experimental-6654c72 → 3.5.0-experimental-b041af5
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/build/main.js +14 -18
- package/build/main.min.js +1 -1
- package/build/main.mjs +14 -18
- package/package.json +2 -2
- package/build/common/errorBoundary/ErrorBoundary.js +0 -44
- package/build/common/errorBoundary/ErrorBoundaryAlert.js +0 -12
- package/build/common/messages/external-confirmation.messages.js +0 -23
- package/build/i18n/index.js +0 -36
- package/build/legacy/dynamicFlow/BackButton.js +0 -22
- package/build/legacy/dynamicFlow/DynamicFlow.js +0 -346
- package/build/legacy/dynamicFlow/DynamicFlowStep.js +0 -37
- package/build/legacy/dynamicFlow/DynamicFlowTypes.js +0 -1
- package/build/legacy/dynamicFlow/index.js +0 -1
- package/build/legacy/dynamicFlow/utils/index.js +0 -5
- package/build/legacy/dynamicFlow/utils/responseParsers/response-parsers.js +0 -185
- package/build/legacy/dynamicFlow/utils/useDebouncedRefresh/useDebouncedRefresh.js +0 -26
- package/build/legacy/dynamicFlow/utils/useDynamicFlowState.js +0 -137
- package/build/legacy/dynamicFlow/utils/useLoader.js +0 -22
- package/build/legacy/jsonSchemaForm/JsonSchemaForm.js +0 -24
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/ArraySchema.js +0 -25
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/ArrayListSchema.js +0 -34
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/RepeatableSchema.js +0 -134
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/RepeatableSchemaStep.js +0 -85
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/utils/summary-utils.js +0 -135
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/index.js +0 -1
- package/build/legacy/jsonSchemaForm/genericSchema/GenericSchema.js +0 -85
- package/build/legacy/jsonSchemaForm/genericSchema/index.js +0 -1
- package/build/legacy/jsonSchemaForm/index.js +0 -1
- package/build/legacy/jsonSchemaForm/objectSchema/ObjectSchema.js +0 -77
- package/build/legacy/jsonSchemaForm/objectSchema/index.js +0 -1
- package/build/legacy/jsonSchemaForm/oneOfSchema/OneOfSchema.js +0 -155
- package/build/legacy/jsonSchemaForm/oneOfSchema/index.js +0 -1
- package/build/legacy/jsonSchemaForm/oneOfSchema/utils.js +0 -68
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/PersistAsyncSchema.js +0 -26
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/index.js +0 -1
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBasicSchema/index.js +0 -1
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/PersistAsyncBlobSchema.js +0 -131
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/UploadInputAdapter.js +0 -31
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/index.js +0 -1
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/PromotedOneOfSchema.js +0 -72
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/index.js +0 -1
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promoted-one-of-utils.js +0 -8
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfCheckboxControl.js +0 -27
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfControl.js +0 -31
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfRadioControl.js +0 -32
- package/build/legacy/jsonSchemaForm/readOnlySchema/ReadOnlySchema.js +0 -54
- package/build/legacy/jsonSchemaForm/readOnlySchema/ReadOnlySchema.messages.js +0 -13
- package/build/legacy/jsonSchemaForm/readOnlySchema/index.js +0 -1
- package/build/legacy/jsonSchemaForm/validationAsyncSchema/ValidationAsyncSchema.js +0 -150
- package/build/legacy/jsonSchemaForm/validationAsyncSchema/index.js +0 -1
- package/build/legacy/step/cameraStep/CameraStep.js +0 -124
- package/build/legacy/step/cameraStep/cameraCapture/CameraCapture.js +0 -161
- package/build/legacy/step/cameraStep/cameraCapture/hooks/useFullScreenOrientationLock.js +0 -60
- package/build/legacy/step/cameraStep/cameraCapture/hooks/useVideoConstraints.js +0 -80
- package/build/legacy/step/cameraStep/cameraCapture/index.js +0 -1
- package/build/legacy/step/cameraStep/cameraCapture/overlay/Overlay.js +0 -77
- package/build/legacy/step/cameraStep/cameraCapture/screens/cameraErrorScreen/CameraErrorScreen.js +0 -18
- package/build/legacy/step/cameraStep/cameraCapture/screens/index.js +0 -1
- package/build/legacy/step/cameraStep/cameraCapture/tracking/index.js +0 -109
- package/build/legacy/step/cameraStep/cameraCapture/utils/index.js +0 -107
- package/build/legacy/step/cameraStep/index.js +0 -1
- package/build/legacy/step/externalConfirmationStep/ExternalConfirmationStep.js +0 -64
- package/build/legacy/step/externalConfirmationStep/index.js +0 -1
- package/build/legacy/step/index.js +0 -3
- package/build/revamp/domain/components/AlertComponent.js +0 -50
- package/build/revamp/domain/components/AllOfComponent.js +0 -72
- package/build/revamp/domain/components/BooleanInputComponent.js +0 -108
- package/build/revamp/domain/components/BoxComponent.js +0 -65
- package/build/revamp/domain/components/ButtonComponent.js +0 -50
- package/build/revamp/domain/components/ColumnsComponent.js +0 -74
- package/build/revamp/domain/components/ConstComponent.js +0 -50
- package/build/revamp/domain/components/ContainerComponent.js +0 -65
- package/build/revamp/domain/components/DateInputComponent.js +0 -127
- package/build/revamp/domain/components/DecisionComponent.js +0 -50
- package/build/revamp/domain/components/DividerComponent.js +0 -50
- package/build/revamp/domain/components/FormComponent.js +0 -65
- package/build/revamp/domain/components/HeadingComponent.js +0 -50
- package/build/revamp/domain/components/ImageComponent.js +0 -50
- package/build/revamp/domain/components/InstructionsComponent.js +0 -50
- package/build/revamp/domain/components/IntegerInputComponent.js +0 -125
- package/build/revamp/domain/components/LoadingIndicatorComponent.js +0 -50
- package/build/revamp/domain/components/MarkdownComponent.js +0 -50
- package/build/revamp/domain/components/ModalComponent.js +0 -65
- package/build/revamp/domain/components/MultiUploadInputComponent.js +0 -190
- package/build/revamp/domain/components/NumberInputComponent.js +0 -125
- package/build/revamp/domain/components/ObjectComponent.js +0 -104
- package/build/revamp/domain/components/ParagraphComponent.js +0 -50
- package/build/revamp/domain/components/ReviewComponent.js +0 -50
- package/build/revamp/domain/components/SelectInputComponent.js +0 -138
- package/build/revamp/domain/components/StatusListComponent.js +0 -50
- package/build/revamp/domain/components/StepDomainComponent.js +0 -93
- package/build/revamp/domain/components/TextInputComponent.js +0 -125
- package/build/revamp/domain/components/UploadInputComponent.js +0 -151
- package/build/revamp/domain/components/repeatableComponent/RepeatableComponent.js +0 -148
- package/build/revamp/domain/components/searchComponent/SearchComponent.js +0 -108
- package/build/revamp/domain/components/utils/component-utils.js +0 -18
- package/build/revamp/domain/components/utils/debounce.js +0 -38
- package/build/revamp/domain/components/utils/file-utils.js +0 -46
- package/build/revamp/domain/components/utils/getComponentForLocalValueKey.js +0 -31
- package/build/revamp/domain/components/utils/isPartialLocalValueMatch.js +0 -40
- package/build/revamp/domain/features/events.js +0 -1
- package/build/revamp/domain/features/persistAsync/getComponentPersistAsync.js +0 -133
- package/build/revamp/domain/features/persistAsync/getPerformPersistAsync.js +0 -103
- package/build/revamp/domain/features/refresh/getPerformRefresh.js +0 -53
- package/build/revamp/domain/features/summary/summary-utils.js +0 -39
- package/build/revamp/domain/features/utils/http-utils.js +0 -34
- package/build/revamp/domain/features/utils/response-utils.js +0 -9
- package/build/revamp/domain/features/validation/validation-functions.js +0 -12
- package/build/revamp/domain/features/validation/value-checks.js +0 -111
- package/build/revamp/domain/features/validationAsync/getComponentValidationAsync.js +0 -94
- package/build/revamp/domain/features/validationAsync/getPerformValidationAsync.js +0 -107
- package/build/revamp/domain/mappers/types.js +0 -1
- package/build/revamp/domain/types.js +0 -1
- package/build/revamp/flow/response-utils.js +0 -88
- package/build/revamp/renderers/CoreContainerRenderer.js +0 -8
- package/build/revamp/renderers/LoadingContext.js +0 -7
- package/build/revamp/renderers/types.js +0 -1
- package/build/revamp/types.js +0 -1
- package/build/revamp/utils/component-utils.js +0 -86
- package/build/revamp/utils/type-utils.js +0 -56
- package/build/revamp/utils/type-validators.js +0 -16
- package/build/revamp/wise/renderers/AlertRenderer.js +0 -11
- package/build/revamp/wise/renderers/BooleanInputRenderer.js +0 -34
- package/build/revamp/wise/renderers/BoxRenderer.js +0 -30
- package/build/revamp/wise/renderers/ButtonRenderer.js +0 -64
- package/build/revamp/wise/renderers/ColumnsRenderer.js +0 -25
- package/build/revamp/wise/renderers/components/FieldInput.js +0 -20
- package/build/revamp/wise/renderers/components/Help.js +0 -21
- package/build/revamp/wise/renderers/components/LabelContentWithHelp.js +0 -6
- package/build/revamp/wise/renderers/utils/layout-utils.js +0 -31
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
38
|
-
import { useEffect, useState } from 'react';
|
|
39
|
-
import { useEventDispatcher } from '../../common/contexts';
|
|
40
|
-
import { filterHiddenSchemas, isObjectSchema } from '../../common/utils';
|
|
41
|
-
import CameraCapture from './cameraCapture';
|
|
42
|
-
function blobToBase64(blob) {
|
|
43
|
-
return new Promise(function (resolve, _) {
|
|
44
|
-
// we can safely assume the type of reader.result is string
|
|
45
|
-
// because we're calling reader.readAsDataURL
|
|
46
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/FileReader/result
|
|
47
|
-
var reader = new FileReader();
|
|
48
|
-
reader.onloadend = function () { return resolve(reader.result); };
|
|
49
|
-
reader.readAsDataURL(blob);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
function CameraStep(props) {
|
|
53
|
-
var _this = this;
|
|
54
|
-
var step = props.step, model = props.model, onModelChange = props.onModelChange, onAction = props.onAction;
|
|
55
|
-
var onEvent = useEventDispatcher();
|
|
56
|
-
var objectSchema = getObjectSchema(step);
|
|
57
|
-
var cameraSchema = getCameraSchema(step);
|
|
58
|
-
var action = getFirstAction(step);
|
|
59
|
-
var title = cameraSchema.title, image = cameraSchema.image, cameraConfig = cameraSchema.cameraConfig;
|
|
60
|
-
var _a = cameraConfig || {}, assets = _a.assets, direction = _a.direction, instructions = _a.instructions;
|
|
61
|
-
var _b = assets || {}, overlay = _b.overlay, outline = _b.outline;
|
|
62
|
-
var imageUrl = (image || {}).url;
|
|
63
|
-
var _c = useState(false), captureClicked = _c[0], setCaptureClicked = _c[1];
|
|
64
|
-
// We need to wait for model to update before we call onAction()
|
|
65
|
-
useEffect(function () {
|
|
66
|
-
if (captureClicked) {
|
|
67
|
-
onAction(action);
|
|
68
|
-
}
|
|
69
|
-
}, [model]);
|
|
70
|
-
var handleCapture = function (blob) { return __awaiter(_this, void 0, void 0, function () {
|
|
71
|
-
var $id, newValue, newModel;
|
|
72
|
-
var _a;
|
|
73
|
-
return __generator(this, function (_b) {
|
|
74
|
-
switch (_b.label) {
|
|
75
|
-
case 0:
|
|
76
|
-
$id = cameraSchema.$id;
|
|
77
|
-
if (!blob) return [3 /*break*/, 2];
|
|
78
|
-
return [4 /*yield*/, blobToBase64(blob)];
|
|
79
|
-
case 1:
|
|
80
|
-
newValue = _b.sent();
|
|
81
|
-
newModel = (_a = {}, _a[$id || ''] = newValue, _a);
|
|
82
|
-
setCaptureClicked(true);
|
|
83
|
-
onModelChange({
|
|
84
|
-
model: newModel,
|
|
85
|
-
formSchema: objectSchema,
|
|
86
|
-
triggerModel: newValue,
|
|
87
|
-
triggerSchema: cameraSchema
|
|
88
|
-
});
|
|
89
|
-
_b.label = 2;
|
|
90
|
-
case 2: return [2 /*return*/];
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}); };
|
|
94
|
-
return (_jsx(CameraCapture, { overlay: overlay, outline: outline, title: title, imageUrl: imageUrl, instructions: instructions, direction: direction, onEvent: onEvent, onCapture: function (blob) {
|
|
95
|
-
void handleCapture(blob);
|
|
96
|
-
} }));
|
|
97
|
-
}
|
|
98
|
-
export default CameraStep;
|
|
99
|
-
function getObjectSchema(step) {
|
|
100
|
-
var nonHiddenSchemas = filterHiddenSchemas(step.schemas || []);
|
|
101
|
-
var objectSchema = nonHiddenSchemas[0];
|
|
102
|
-
if (!objectSchema || !isObjectSchema(objectSchema)) {
|
|
103
|
-
throw new Error('The first schema in a camera step is expected to be of type object and have at least one property with a schema...');
|
|
104
|
-
}
|
|
105
|
-
return objectSchema;
|
|
106
|
-
}
|
|
107
|
-
function getCameraSchema(step) {
|
|
108
|
-
var objectSchema = getObjectSchema(step);
|
|
109
|
-
var firstProperty = Object.values(objectSchema.properties)[0];
|
|
110
|
-
if (!firstProperty) {
|
|
111
|
-
throw new Error('The first schema in a camera step is expected to be of type object and have at least one property with a schema...');
|
|
112
|
-
}
|
|
113
|
-
return firstProperty;
|
|
114
|
-
}
|
|
115
|
-
function getFirstAction(step) {
|
|
116
|
-
var _a, _b;
|
|
117
|
-
if (!step.schemas || ((_a = filterHiddenSchemas(step.schemas)) === null || _a === void 0 ? void 0 : _a.length) !== 1) {
|
|
118
|
-
throw new Error('camera step expects 1 non-hidden object schema');
|
|
119
|
-
}
|
|
120
|
-
if (((_b = step === null || step === void 0 ? void 0 : step.actions) === null || _b === void 0 ? void 0 : _b.length) !== 1) {
|
|
121
|
-
throw new Error('camera step expects 1 action');
|
|
122
|
-
}
|
|
123
|
-
return step.actions[0];
|
|
124
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
-
function step(op) {
|
|
26
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
-
switch (op[0]) {
|
|
31
|
-
case 0: case 1: t = op; break;
|
|
32
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
-
default:
|
|
36
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
-
if (t[2]) _.ops.pop();
|
|
41
|
-
_.trys.pop(); continue;
|
|
42
|
-
}
|
|
43
|
-
op = body.call(thisArg, _);
|
|
44
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
49
|
-
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
50
|
-
import { useIntl } from 'react-intl';
|
|
51
|
-
import Webcam from 'react-webcam';
|
|
52
|
-
import { isMobile } from '../../../common/utils/mobile-utils';
|
|
53
|
-
import messages from './CameraCapture.messages';
|
|
54
|
-
import { CaptureBottomBar, ReviewBottomBar, OrientationLockOverlay } from './components';
|
|
55
|
-
import { CameraErrorScreen } from './screens';
|
|
56
|
-
import { useFullScreenOrientationLock } from './hooks/useFullScreenOrientationLock';
|
|
57
|
-
import { useVideoConstraints } from './hooks/useVideoConstraints';
|
|
58
|
-
import Overlay from './overlay/Overlay';
|
|
59
|
-
import { trackCameraFeedStarted, trackCameraError } from './tracking';
|
|
60
|
-
import { CameraMode } from './types';
|
|
61
|
-
import { generateCanvasFromVideo, isSelfieCamera } from './utils';
|
|
62
|
-
function CameraCapture(_a) {
|
|
63
|
-
var _this = this;
|
|
64
|
-
var _b = _a.direction, direction = _b === void 0 ? 'back' : _b, _c = _a.overlay, overlay = _c === void 0 ? '' : _c, _d = _a.outline, outline = _d === void 0 ? '' : _d, _e = _a.imageUrl, imageUrl = _e === void 0 ? '' : _e, _f = _a.title, title = _f === void 0 ? '' : _f, _g = _a.instructions, instructions = _g === void 0 ? '' : _g, _h = _a.showReview, showReview = _h === void 0 ? false : _h, onCapture = _a.onCapture, onEvent = _a.onEvent;
|
|
65
|
-
var _j = useState(CameraMode.CAPTURE), mode = _j[0], setMode = _j[1];
|
|
66
|
-
var _k = useState(), cameraError = _k[0], setCameraError = _k[1];
|
|
67
|
-
var _l = useState(false), isVideoMirrored = _l[0], setIsVideoMirrored = _l[1];
|
|
68
|
-
var _m = useState(false), ready = _m[0], setReady = _m[1];
|
|
69
|
-
var _o = useState(), reviewImage = _o[0], setReviewImage = _o[1];
|
|
70
|
-
var webcamReference = useRef(null);
|
|
71
|
-
var videoConstraints = useVideoConstraints(direction).videoConstraints;
|
|
72
|
-
var shouldLockOrientation = useMemo(function () { return !!(isMobile() && mode === CameraMode.CAPTURE); }, [mode]);
|
|
73
|
-
var _p = useFullScreenOrientationLock(shouldLockOrientation, onEvent), enterFullScreen = _p.enterFullScreen, exitFullScreen = _p.exitFullScreen;
|
|
74
|
-
var intl = useIntl();
|
|
75
|
-
var handleCapture = useCallback(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
76
|
-
var canvas;
|
|
77
|
-
var _a, _b, _c, _d, _e, _f;
|
|
78
|
-
return __generator(this, function (_g) {
|
|
79
|
-
switch (_g.label) {
|
|
80
|
-
case 0:
|
|
81
|
-
if (!(((_a = webcamReference === null || webcamReference === void 0 ? void 0 : webcamReference.current) === null || _a === void 0 ? void 0 : _a.video) && ((_c = (_b = webcamReference === null || webcamReference === void 0 ? void 0 : webcamReference.current) === null || _b === void 0 ? void 0 : _b.video) === null || _c === void 0 ? void 0 : _c.readyState) >= 3)) return [3 /*break*/, 2];
|
|
82
|
-
(_e = (_d = webcamReference === null || webcamReference === void 0 ? void 0 : webcamReference.current) === null || _d === void 0 ? void 0 : _d.video) === null || _e === void 0 ? void 0 : _e.pause();
|
|
83
|
-
return [4 /*yield*/, generateCanvasFromVideo((_f = webcamReference === null || webcamReference === void 0 ? void 0 : webcamReference.current) === null || _f === void 0 ? void 0 : _f.video)];
|
|
84
|
-
case 1:
|
|
85
|
-
canvas = _g.sent();
|
|
86
|
-
canvas === null || canvas === void 0 ? void 0 : canvas.toBlob(function (blob) {
|
|
87
|
-
if (blob) {
|
|
88
|
-
if (showReview) {
|
|
89
|
-
var source = window.URL.createObjectURL(blob);
|
|
90
|
-
setReviewImage({ source: source, blob: blob });
|
|
91
|
-
setMode(CameraMode.REVIEW);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
onCapture(blob);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}, 'image/jpeg', 0.92);
|
|
98
|
-
_g.label = 2;
|
|
99
|
-
case 2: return [2 /*return*/];
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
}); }, [webcamReference, showReview, setReviewImage, setMode, onCapture, isVideoMirrored]);
|
|
103
|
-
var handleUserMediaError = useCallback(function (error) {
|
|
104
|
-
setMode(CameraMode.ERROR);
|
|
105
|
-
if (error instanceof DOMException) {
|
|
106
|
-
switch (error === null || error === void 0 ? void 0 : error.name) {
|
|
107
|
-
case 'NotAllowedError':
|
|
108
|
-
setCameraError({
|
|
109
|
-
title: intl.formatMessage(messages.noCameraAccessTitle),
|
|
110
|
-
description: intl.formatMessage(messages.noCameraAccessParagraph),
|
|
111
|
-
actionButton: intl.formatMessage(messages.noCameraAccessAction),
|
|
112
|
-
onAction: handleRetryCameraAccess
|
|
113
|
-
});
|
|
114
|
-
trackCameraError('Dynamic Flow - Camera Permission Denied', onEvent, error);
|
|
115
|
-
return;
|
|
116
|
-
case 'NotFoundError':
|
|
117
|
-
case 'OverconstrainedError':
|
|
118
|
-
case 'AbortError':
|
|
119
|
-
case 'NotReadableError':
|
|
120
|
-
setCameraError({
|
|
121
|
-
title: intl.formatMessage(messages.cameraConnectionIssueTitle),
|
|
122
|
-
description: intl.formatMessage(messages.cameraConnectionIssueParagraph),
|
|
123
|
-
actionButton: intl.formatMessage(messages.cameraConnectionIssueAction),
|
|
124
|
-
onAction: handleRetryCameraAccess
|
|
125
|
-
});
|
|
126
|
-
trackCameraError('Dynamic Flow - Camera Not Accessible', onEvent, error);
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
setCameraError({
|
|
131
|
-
title: intl.formatMessage(messages.cameraNotSupportedTitle),
|
|
132
|
-
description: intl.formatMessage(messages.cameraNotSupportedParagraph)
|
|
133
|
-
});
|
|
134
|
-
trackCameraError('Dynamic Flow - Camera Not Supported', onEvent, error);
|
|
135
|
-
}, [intl, onEvent]);
|
|
136
|
-
var handleUserMedia = useCallback(function (stream) {
|
|
137
|
-
enterFullScreen();
|
|
138
|
-
setReady(true);
|
|
139
|
-
setIsVideoMirrored(isSelfieCamera(stream));
|
|
140
|
-
void trackCameraFeedStarted(onEvent, { direction: direction }, stream);
|
|
141
|
-
}, [setIsVideoMirrored, onEvent, direction, enterFullScreen]);
|
|
142
|
-
var handleReviewSubmit = function () {
|
|
143
|
-
onCapture((reviewImage === null || reviewImage === void 0 ? void 0 : reviewImage.blob) || null);
|
|
144
|
-
};
|
|
145
|
-
var handleReviewRetry = function () {
|
|
146
|
-
setMode(CameraMode.CAPTURE);
|
|
147
|
-
setReviewImage(undefined);
|
|
148
|
-
};
|
|
149
|
-
var handleRetryCameraAccess = function () { return setMode(CameraMode.CAPTURE); };
|
|
150
|
-
useEffect(function () {
|
|
151
|
-
if (mode !== CameraMode.CAPTURE) {
|
|
152
|
-
exitFullScreen();
|
|
153
|
-
}
|
|
154
|
-
}, [mode, exitFullScreen]);
|
|
155
|
-
var captureScreen = (_jsxs("div", __assign({ className: "camera-capture" }, { children: [videoConstraints && (_jsx(Webcam, { ref: webcamReference, audio: false, videoConstraints: videoConstraints, mirrored: isVideoMirrored, onUserMediaError: handleUserMediaError, onUserMedia: handleUserMedia })), _jsx(Overlay, { overlay: overlay, outline: outline, imageUrl: imageUrl, title: title, instructions: instructions }), shouldLockOrientation && _jsx(OrientationLockOverlay, {}), ready && (_jsx(CaptureBottomBar, { onCapture: function () {
|
|
156
|
-
void handleCapture();
|
|
157
|
-
} }))] })));
|
|
158
|
-
var reviewScreen = (_jsxs("div", __assign({ className: "camera-capture" }, { children: [_jsx("img", { className: "review-image", src: reviewImage === null || reviewImage === void 0 ? void 0 : reviewImage.source, alt: "" }), _jsx(Overlay, { overlay: overlay, imageUrl: imageUrl, title: title, instructions: instructions, reviewInstructions: intl.formatMessage(messages.reviewInstructions) }), _jsx(ReviewBottomBar, { onSubmit: handleReviewSubmit, onRetry: handleReviewRetry })] })));
|
|
159
|
-
return (_jsxs("section", { children: [mode === CameraMode.CAPTURE && captureScreen, mode === CameraMode.REVIEW && reviewScreen, mode === CameraMode.ERROR && cameraError && _jsx(CameraErrorScreen, __assign({}, cameraError))] }));
|
|
160
|
-
}
|
|
161
|
-
export default CameraCapture;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { useCallback, useEffect } from 'react';
|
|
2
|
-
import screenfull from 'screenfull';
|
|
3
|
-
import { trackCameraOrientationLandscape, trackCameraOrientationLocked } from '../tracking';
|
|
4
|
-
export var useFullScreenOrientationLock = function (shouldLockOrientation, onEvent) {
|
|
5
|
-
var lockOrientation = useCallback(function () {
|
|
6
|
-
if (window.screen.orientation &&
|
|
7
|
-
'lock' in window.screen.orientation &&
|
|
8
|
-
typeof window.screen.orientation.lock === 'function') {
|
|
9
|
-
window.screen.orientation
|
|
10
|
-
.lock('portrait')
|
|
11
|
-
.then(function () { return trackCameraOrientationLocked(onEvent); })["catch"](noop);
|
|
12
|
-
}
|
|
13
|
-
}, [onEvent]);
|
|
14
|
-
var unlockOrientation = useCallback(function () { var _a, _b, _c; return (_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.screen) === null || _a === void 0 ? void 0 : _a.orientation) === null || _b === void 0 ? void 0 : _b.unlock) === null || _c === void 0 ? void 0 : _c.call(_b); }, []);
|
|
15
|
-
var enterFullScreen = useCallback(function () {
|
|
16
|
-
setTimeout(function () {
|
|
17
|
-
if (shouldLockOrientation && !screenfull.isFullscreen && screenfull.isEnabled) {
|
|
18
|
-
screenfull
|
|
19
|
-
.request(document.documentElement, { navigationUI: 'show' })
|
|
20
|
-
.then(function () {
|
|
21
|
-
lockOrientation();
|
|
22
|
-
})["catch"](noop);
|
|
23
|
-
}
|
|
24
|
-
}, 100);
|
|
25
|
-
}, [shouldLockOrientation, lockOrientation]);
|
|
26
|
-
var exitFullScreen = useCallback(function () {
|
|
27
|
-
if (screenfull.isFullscreen) {
|
|
28
|
-
screenfull.exit()["catch"](noop);
|
|
29
|
-
}
|
|
30
|
-
unlockOrientation();
|
|
31
|
-
}, [unlockOrientation]);
|
|
32
|
-
var handleOrientationChange = useCallback(function (event) {
|
|
33
|
-
var _a, _b;
|
|
34
|
-
if ((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.type.includes('landscape')) {
|
|
35
|
-
if ((_b = window.screen) === null || _b === void 0 ? void 0 : _b.orientation) {
|
|
36
|
-
trackCameraOrientationLandscape(onEvent);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}, [onEvent]);
|
|
40
|
-
useEffect(function () {
|
|
41
|
-
var _a, _b;
|
|
42
|
-
if (shouldLockOrientation) {
|
|
43
|
-
(_b = (_a = window.screen) === null || _a === void 0 ? void 0 : _a.orientation) === null || _b === void 0 ? void 0 : _b.addEventListener('change', function (event) {
|
|
44
|
-
return handleOrientationChange(event);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
return function () {
|
|
48
|
-
var _a, _b;
|
|
49
|
-
(_b = (_a = window.screen) === null || _a === void 0 ? void 0 : _a.orientation) === null || _b === void 0 ? void 0 : _b.removeEventListener('change', handleOrientationChange);
|
|
50
|
-
exitFullScreen();
|
|
51
|
-
};
|
|
52
|
-
}, [exitFullScreen, handleOrientationChange, shouldLockOrientation]);
|
|
53
|
-
return {
|
|
54
|
-
enterFullScreen: enterFullScreen,
|
|
55
|
-
exitFullScreen: exitFullScreen
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
var noop = function () {
|
|
59
|
-
// no-op
|
|
60
|
-
};
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
-
function step(op) {
|
|
26
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
-
switch (op[0]) {
|
|
31
|
-
case 0: case 1: t = op; break;
|
|
32
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
-
default:
|
|
36
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
-
if (t[2]) _.ops.pop();
|
|
41
|
-
_.trys.pop(); continue;
|
|
42
|
-
}
|
|
43
|
-
op = body.call(thisArg, _);
|
|
44
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
import { useEffect, useState } from 'react';
|
|
49
|
-
import { getAvailableVideoDevices, isMainBackCamera } from '../utils';
|
|
50
|
-
export var useVideoConstraints = function (direction) {
|
|
51
|
-
var _a = useState(), videoConstraints = _a[0], setVideoConstraints = _a[1];
|
|
52
|
-
var defaultVideoConstraints = {
|
|
53
|
-
facingMode: direction === 'front' ? 'user' : 'environment',
|
|
54
|
-
height: { min: 480, max: 1080, ideal: 720 },
|
|
55
|
-
width: { min: 640, max: 1920, ideal: 1280 },
|
|
56
|
-
frameRate: 30,
|
|
57
|
-
aspectRatio: 16 / 9
|
|
58
|
-
};
|
|
59
|
-
useEffect(function () {
|
|
60
|
-
void getVideoConstraints(direction).then(setVideoConstraints);
|
|
61
|
-
}, [direction]);
|
|
62
|
-
var getVideoConstraints = function (direction) { return __awaiter(void 0, void 0, void 0, function () {
|
|
63
|
-
var mainCamera;
|
|
64
|
-
return __generator(this, function (_a) {
|
|
65
|
-
switch (_a.label) {
|
|
66
|
-
case 0:
|
|
67
|
-
if (!(direction === 'back')) return [3 /*break*/, 2];
|
|
68
|
-
return [4 /*yield*/, getAvailableVideoDevices()];
|
|
69
|
-
case 1:
|
|
70
|
-
mainCamera = (_a.sent()).find(isMainBackCamera);
|
|
71
|
-
if (mainCamera === null || mainCamera === void 0 ? void 0 : mainCamera.deviceId) {
|
|
72
|
-
return [2 /*return*/, __assign(__assign({}, defaultVideoConstraints), { deviceId: { exact: mainCamera.deviceId } })];
|
|
73
|
-
}
|
|
74
|
-
_a.label = 2;
|
|
75
|
-
case 2: return [2 /*return*/, defaultVideoConstraints];
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}); };
|
|
79
|
-
return { videoConstraints: videoConstraints };
|
|
80
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from './CameraCapture';
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
import { useEffect, useRef } from 'react';
|
|
14
|
-
import { debounce } from '../../../../common/utils/debounce';
|
|
15
|
-
var captureButtonHeight = 92;
|
|
16
|
-
var reviewButtonsHeight = 120;
|
|
17
|
-
var imageHeight = 40;
|
|
18
|
-
var titleHeight = 32;
|
|
19
|
-
var instructionsHeight = 48;
|
|
20
|
-
var reviewInstructionsHeight = 40;
|
|
21
|
-
var overlayMaxWidth = 800;
|
|
22
|
-
function Overlay(_a) {
|
|
23
|
-
var overlay = _a.overlay, outline = _a.outline, imageUrl = _a.imageUrl, title = _a.title, instructions = _a.instructions, reviewInstructions = _a.reviewInstructions;
|
|
24
|
-
var svgReference = useRef(null);
|
|
25
|
-
/*
|
|
26
|
-
SVG doesn't always rerender when screen orientation changes,
|
|
27
|
-
so need to force rerender
|
|
28
|
-
*/
|
|
29
|
-
useEffect(function () {
|
|
30
|
-
var listener = debounce(function () {
|
|
31
|
-
var _a;
|
|
32
|
-
if ((_a = svgReference.current) === null || _a === void 0 ? void 0 : _a.innerHTML) {
|
|
33
|
-
var reference = svgReference.current;
|
|
34
|
-
reference.innerHTML = String(reference.innerHTML);
|
|
35
|
-
}
|
|
36
|
-
}, 100);
|
|
37
|
-
window.addEventListener('resize', listener);
|
|
38
|
-
return function () { return window.removeEventListener('resize', listener); };
|
|
39
|
-
});
|
|
40
|
-
var helperBoxHeight = (imageUrl ? imageHeight : 0) +
|
|
41
|
-
(title ? titleHeight : 0) +
|
|
42
|
-
(instructions ? instructionsHeight : 0);
|
|
43
|
-
var helperBox = (_jsxs(_Fragment, { children: [imageUrl && _jsx("img", { className: "camera-capture-img", src: imageUrl, alt: "" }), title && _jsx("h4", __assign({ className: "camera-capture-title" }, { children: title })), instructions && _jsx("small", __assign({ className: "camera-capture-instructions" }, { children: instructions }))] }));
|
|
44
|
-
var frameBottomMargin = captureButtonHeight + helperBoxHeight;
|
|
45
|
-
/*
|
|
46
|
-
frameBottomMargin needs to stay the same for the review page so that
|
|
47
|
-
the overlay position does not change! Basically if it is the review step
|
|
48
|
-
and there is a 'reviewInstructions' specified, the overlay position stays
|
|
49
|
-
the same, but the helperBox height and content changes to adjust for the
|
|
50
|
-
large review buttons and smaller height required by 'reviewInstructionsHeight'
|
|
51
|
-
*/
|
|
52
|
-
if (reviewInstructions) {
|
|
53
|
-
helperBoxHeight = frameBottomMargin - reviewButtonsHeight;
|
|
54
|
-
helperBox = _jsx("small", __assign({ className: "camera-capture-instructions" }, { children: reviewInstructions }));
|
|
55
|
-
var frameWithReviewInstructionsMinBottomMargin = reviewButtonsHeight + reviewInstructionsHeight;
|
|
56
|
-
if (frameBottomMargin < frameWithReviewInstructionsMinBottomMargin) {
|
|
57
|
-
helperBox = _jsx(_Fragment, {});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
var framePosition = {
|
|
61
|
-
x: '50%',
|
|
62
|
-
y: '5%',
|
|
63
|
-
width: "min(90%, ".concat(overlayMaxWidth, "px)"),
|
|
64
|
-
height: "calc(90% - ".concat(frameBottomMargin, "px)"),
|
|
65
|
-
style: { transform: "translateX(max(-45%, -".concat(overlayMaxWidth / 2, "px))") }
|
|
66
|
-
};
|
|
67
|
-
var helperBoxPosition = {
|
|
68
|
-
style: {
|
|
69
|
-
left: '5%',
|
|
70
|
-
top: "calc(100% - ".concat(frameBottomMargin, "px - 5%)"),
|
|
71
|
-
height: "calc(".concat(helperBoxHeight, "px + 5%)"),
|
|
72
|
-
width: '90%'
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
return (_jsxs("svg", __assign({ ref: svgReference, xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("defs", { children: _jsxs("mask", __assign({ id: "mask" }, { children: [_jsx("rect", { width: "100%", height: "100%", fill: "#fff" }), _jsx("image", __assign({ href: overlay }, framePosition))] })) }), overlay && _jsx("rect", { width: "100%", height: "100%", mask: "url(#mask)", fillOpacity: "0.72" }), outline && _jsx("image", __assign({ href: outline }, framePosition)), _jsx("foreignObject", __assign({ width: "100%", height: "100%" }, { children: _jsx("div", __assign({ className: "camera-capture-text-and-image-container" }, helperBoxPosition, { children: helperBox })) }))] })));
|
|
76
|
-
}
|
|
77
|
-
export default Overlay;
|
package/build/legacy/step/cameraStep/cameraCapture/screens/cameraErrorScreen/CameraErrorScreen.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
import { Button } from '@transferwise/components';
|
|
14
|
-
function CameraErrorScreen(_a) {
|
|
15
|
-
var title = _a.title, description = _a.description, actionButton = _a.actionButton, onAction = _a.onAction;
|
|
16
|
-
return (_jsx("div", __assign({ className: "container p-t-5" }, { children: _jsx("div", __assign({ className: "row" }, { children: _jsxs("div", __assign({ className: "col-md-6 col-md-offset-3" }, { children: [_jsx("h2", __assign({ className: "text-xs-center m-b-3" }, { children: title })), _jsx("p", __assign({ className: "text-xs-center m-b-5" }, { children: description })), onAction && actionButton && (_jsx(Button, __assign({ block: true, onClick: onAction }, { children: actionButton })))] })) })) })));
|
|
17
|
-
}
|
|
18
|
-
export default CameraErrorScreen;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as CameraErrorScreen } from "./cameraErrorScreen/CameraErrorScreen";
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
-
function step(op) {
|
|
26
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
-
switch (op[0]) {
|
|
31
|
-
case 0: case 1: t = op; break;
|
|
32
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
-
default:
|
|
36
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
-
if (t[2]) _.ops.pop();
|
|
41
|
-
_.trys.pop(); continue;
|
|
42
|
-
}
|
|
43
|
-
op = body.call(thisArg, _);
|
|
44
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
import { getActiveVideoDeviceLabel, getAvailableVideoDeviceLabels, getVideoCapabilities, getVideoTrack, } from '../utils';
|
|
49
|
-
export var trackCameraError = function (message, onEvent, error) { return onEvent === null || onEvent === void 0 ? void 0 : onEvent(message, { Error: getSerializedError(error) }); };
|
|
50
|
-
var getSerializedError = function (error) {
|
|
51
|
-
return error instanceof DOMException
|
|
52
|
-
? JSON.stringify({
|
|
53
|
-
name: error === null || error === void 0 ? void 0 : error.name,
|
|
54
|
-
message: error === null || error === void 0 ? void 0 : error.message
|
|
55
|
-
})
|
|
56
|
-
: error;
|
|
57
|
-
};
|
|
58
|
-
export var trackCameraFeedStarted = function (onEvent, props, stream) { return __awaiter(void 0, void 0, void 0, function () { var _a, _b, _c; return __generator(this, function (_d) {
|
|
59
|
-
switch (_d.label) {
|
|
60
|
-
case 0:
|
|
61
|
-
if (!(onEvent === null || onEvent === void 0)) return [3 /*break*/, 1];
|
|
62
|
-
_a = void 0;
|
|
63
|
-
return [3 /*break*/, 3];
|
|
64
|
-
case 1:
|
|
65
|
-
_b = onEvent;
|
|
66
|
-
_c = ['Dynamic Flow - Camera Feed Started'];
|
|
67
|
-
return [4 /*yield*/, getCameraStartedProperties(props, stream)];
|
|
68
|
-
case 2:
|
|
69
|
-
_a = _b.apply(void 0, _c.concat([_d.sent()]));
|
|
70
|
-
_d.label = 3;
|
|
71
|
-
case 3: return [2 /*return*/, _a];
|
|
72
|
-
}
|
|
73
|
-
}); }); };
|
|
74
|
-
var getCameraStartedProperties = function (props, videoStream) { return __awaiter(void 0, void 0, void 0, function () {
|
|
75
|
-
var videoTrack, capabilities, settings, _a, _b, _c, _d;
|
|
76
|
-
var _e;
|
|
77
|
-
var _f;
|
|
78
|
-
return __generator(this, function (_g) {
|
|
79
|
-
switch (_g.label) {
|
|
80
|
-
case 0:
|
|
81
|
-
videoTrack = getVideoTrack(videoStream);
|
|
82
|
-
capabilities = getVideoCapabilities(videoStream);
|
|
83
|
-
settings = (_f = videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.getSettings) === null || _f === void 0 ? void 0 : _f.call(videoTrack);
|
|
84
|
-
_a = [{}];
|
|
85
|
-
_b = videoTrack;
|
|
86
|
-
if (!_b) return [3 /*break*/, 3];
|
|
87
|
-
_e = {};
|
|
88
|
-
_c = 'Available Video Devices (by label)';
|
|
89
|
-
return [4 /*yield*/, getAvailableVideoDeviceLabels()];
|
|
90
|
-
case 1:
|
|
91
|
-
_e[_c] = _g.sent();
|
|
92
|
-
_d = 'Active Video Device (by label)';
|
|
93
|
-
return [4 /*yield*/, getActiveVideoDeviceLabel(videoStream)];
|
|
94
|
-
case 2:
|
|
95
|
-
_b = (_e[_d] = _g.sent(),
|
|
96
|
-
_e['Camera Capabilities'] = capabilities,
|
|
97
|
-
_e['Camera Settings'] = settings,
|
|
98
|
-
_e);
|
|
99
|
-
_g.label = 3;
|
|
100
|
-
case 3: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_b)])), { 'Camera Direction (Asked)': props === null || props === void 0 ? void 0 : props.direction }])];
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}); };
|
|
104
|
-
export var trackCameraOrientationLandscape = function (onEvent) {
|
|
105
|
-
onEvent === null || onEvent === void 0 ? void 0 : onEvent('Dynamic Flow - Camera Orientation Lock Overlay Shown', {});
|
|
106
|
-
};
|
|
107
|
-
export var trackCameraOrientationLocked = function (onEvent) {
|
|
108
|
-
onEvent === null || onEvent === void 0 ? void 0 : onEvent('Dynamic Flow - Camera Orientation Locked', {});
|
|
109
|
-
};
|