@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
package/build/main.mjs
CHANGED
|
@@ -18617,10 +18617,8 @@ var arraySchemaTupleSchema = z.lazy(
|
|
|
18617
18617
|
alert: alertLayoutSchema.optional()
|
|
18618
18618
|
})
|
|
18619
18619
|
);
|
|
18620
|
-
|
|
18621
|
-
|
|
18622
|
-
}
|
|
18623
|
-
function validate(value, schema) {
|
|
18620
|
+
var validateStep = (step) => validate(step, stepSchema);
|
|
18621
|
+
var validate = (value, schema) => {
|
|
18624
18622
|
const parseResult = schema.safeParse(value);
|
|
18625
18623
|
if (parseResult.success) {
|
|
18626
18624
|
return { valid: true };
|
|
@@ -18629,20 +18627,18 @@ function validate(value, schema) {
|
|
|
18629
18627
|
valid: false,
|
|
18630
18628
|
errors: JSON.stringify(flattenZodErrors(parseResult.error.errors))
|
|
18631
18629
|
};
|
|
18632
|
-
}
|
|
18633
|
-
|
|
18634
|
-
|
|
18635
|
-
|
|
18636
|
-
|
|
18637
|
-
|
|
18638
|
-
|
|
18639
|
-
|
|
18640
|
-
|
|
18641
|
-
|
|
18642
|
-
|
|
18643
|
-
|
|
18644
|
-
}).filter(Boolean);
|
|
18645
|
-
}
|
|
18630
|
+
};
|
|
18631
|
+
var flattenZodErrors = (zodError) => zodError.flatMap((e) => {
|
|
18632
|
+
if (e.code === "invalid_type") {
|
|
18633
|
+
return e;
|
|
18634
|
+
}
|
|
18635
|
+
if (e.code === "invalid_union") {
|
|
18636
|
+
return e.unionErrors.flatMap(
|
|
18637
|
+
(ue) => ue.issues.every((issue) => issue.code !== "invalid_literal") ? flattenZodErrors(ue.issues) : void 0
|
|
18638
|
+
);
|
|
18639
|
+
}
|
|
18640
|
+
return void 0;
|
|
18641
|
+
}).filter(Boolean);
|
|
18646
18642
|
|
|
18647
18643
|
// src/revamp/DynamicFlowCore.tsx
|
|
18648
18644
|
import { jsx as jsx121 } from "react/jsx-runtime";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wise/dynamic-flow-client",
|
|
3
|
-
"version": "3.5.0-experimental-
|
|
3
|
+
"version": "3.5.0-experimental-b041af5",
|
|
4
4
|
"description": "Dynamic Flow web client",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./build/main.min.js",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"classnames": "2.5.1",
|
|
93
93
|
"react-webcam": "^7.2.0",
|
|
94
94
|
"screenfull": "^5.2.0",
|
|
95
|
-
"@wise/dynamic-flow-types": "2.12.0-experimental-
|
|
95
|
+
"@wise/dynamic-flow-types": "2.12.0-experimental-b041af5"
|
|
96
96
|
},
|
|
97
97
|
"scripts": {
|
|
98
98
|
"dev": "storybook dev -p 3003",
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
var __extends = (this && this.__extends) || (function () {
|
|
2
|
-
var extendStatics = function (d, b) {
|
|
3
|
-
extendStatics = Object.setPrototypeOf ||
|
|
4
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
-
return extendStatics(d, b);
|
|
7
|
-
};
|
|
8
|
-
return function (d, b) {
|
|
9
|
-
if (typeof b !== "function" && b !== null)
|
|
10
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
-
extendStatics(d, b);
|
|
12
|
-
function __() { this.constructor = d; }
|
|
13
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
-
};
|
|
15
|
-
})();
|
|
16
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
-
import { Component } from 'react';
|
|
18
|
-
import { ErrorBoundaryAlert } from './ErrorBoundaryAlert';
|
|
19
|
-
var noop = function () { };
|
|
20
|
-
var ErrorBoundary = /** @class */ (function (_super) {
|
|
21
|
-
__extends(ErrorBoundary, _super);
|
|
22
|
-
function ErrorBoundary(props) {
|
|
23
|
-
var _this = _super.call(this, props) || this;
|
|
24
|
-
_this.handleErrorReset = function () {
|
|
25
|
-
_this.setState({ hasError: false, isFatalError: false });
|
|
26
|
-
};
|
|
27
|
-
_this.state = { hasError: false, isFatalError: false };
|
|
28
|
-
return _this;
|
|
29
|
-
}
|
|
30
|
-
ErrorBoundary.getDerivedStateFromError = function () {
|
|
31
|
-
return { hasError: true, isFatalError: true };
|
|
32
|
-
};
|
|
33
|
-
ErrorBoundary.prototype.componentDidCatch = function (error) {
|
|
34
|
-
var _a = this.props.onError, onError = _a === void 0 ? noop : _a;
|
|
35
|
-
onError(error);
|
|
36
|
-
};
|
|
37
|
-
ErrorBoundary.prototype.render = function () {
|
|
38
|
-
var children = this.props.children;
|
|
39
|
-
var _a = this.state, hasError = _a.hasError, isFatalError = _a.isFatalError;
|
|
40
|
-
return (_jsxs(_Fragment, { children: [hasError && _jsx(ErrorBoundaryAlert, { onDismiss: this.handleErrorReset }), !isFatalError && children] }));
|
|
41
|
-
};
|
|
42
|
-
return ErrorBoundary;
|
|
43
|
-
}(Component));
|
|
44
|
-
export default ErrorBoundary;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Alert, Sentiment } from '@transferwise/components';
|
|
3
|
-
import { useIntl } from 'react-intl';
|
|
4
|
-
import messages from '../messages/generic-error.messages';
|
|
5
|
-
export function ErrorBoundaryAlert(_a) {
|
|
6
|
-
var onDismiss = _a.onDismiss;
|
|
7
|
-
var formatMessage = useIntl().formatMessage;
|
|
8
|
-
return (_jsx(Alert, { action: {
|
|
9
|
-
text: formatMessage(messages.retry),
|
|
10
|
-
href: window.location.href
|
|
11
|
-
}, message: formatMessage(messages.genericError), type: Sentiment.NEGATIVE, className: "m-b-3", onDismiss: onDismiss }));
|
|
12
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { defineMessages } from 'react-intl';
|
|
2
|
-
export default defineMessages({
|
|
3
|
-
title: {
|
|
4
|
-
id: 'dynamicFlows.ExternalConfirmation.title',
|
|
5
|
-
defaultMessage: 'Please confirm',
|
|
6
|
-
description: 'Heading for the confirmation screen.'
|
|
7
|
-
},
|
|
8
|
-
description: {
|
|
9
|
-
id: 'dynamicFlows.ExternalConfirmation.description',
|
|
10
|
-
defaultMessage: 'Please confirm you want to open **{origin}** in a new browser tab.',
|
|
11
|
-
description: 'Description for the confirmation screen.'
|
|
12
|
-
},
|
|
13
|
-
open: {
|
|
14
|
-
id: 'dynamicFlows.ExternalConfirmation.open',
|
|
15
|
-
defaultMessage: 'Open in new tab',
|
|
16
|
-
description: 'Button text confirming opening a new browser tab.'
|
|
17
|
-
},
|
|
18
|
-
cancel: {
|
|
19
|
-
id: 'dynamicFlows.ExternalConfirmation.cancel',
|
|
20
|
-
defaultMessage: 'Cancel',
|
|
21
|
-
description: 'Button text rejecting opening a new browser tab.'
|
|
22
|
-
}
|
|
23
|
-
});
|
package/build/i18n/index.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import de from './de.json';
|
|
2
|
-
import en from './en.json';
|
|
3
|
-
import es from './es.json';
|
|
4
|
-
import fr from './fr.json';
|
|
5
|
-
import hu from './hu.json';
|
|
6
|
-
import id from './id.json';
|
|
7
|
-
import it from './it.json';
|
|
8
|
-
import ja from './ja.json';
|
|
9
|
-
import pl from './pl.json';
|
|
10
|
-
import pt from './pt.json';
|
|
11
|
-
import ro from './ro.json';
|
|
12
|
-
import ru from './ru.json';
|
|
13
|
-
import th from './th.json';
|
|
14
|
-
import tr from './tr.json';
|
|
15
|
-
import zhCN from './zh_CN.json';
|
|
16
|
-
import zhHK from './zh_HK.json';
|
|
17
|
-
var translations = {
|
|
18
|
-
en: en,
|
|
19
|
-
de: de,
|
|
20
|
-
es: es,
|
|
21
|
-
fr: fr,
|
|
22
|
-
hu: hu,
|
|
23
|
-
id: id,
|
|
24
|
-
it: it,
|
|
25
|
-
ja: ja,
|
|
26
|
-
pl: pl,
|
|
27
|
-
pt: pt,
|
|
28
|
-
ro: ro,
|
|
29
|
-
ru: ru,
|
|
30
|
-
th: th,
|
|
31
|
-
tr: tr,
|
|
32
|
-
zh: zhCN,
|
|
33
|
-
'zh-CN': zhCN,
|
|
34
|
-
'zh-HK': zhHK
|
|
35
|
-
};
|
|
36
|
-
export default translations;
|
|
@@ -1,22 +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 { Avatar } from '@transferwise/components';
|
|
14
|
-
import { ArrowLeft } from '@transferwise/icons';
|
|
15
|
-
function BackButton(_a) {
|
|
16
|
-
var title = _a.title, action = _a.action, onAction = _a.onAction;
|
|
17
|
-
return (_jsxs("a", __assign({ href: "/", className: "df-back-btn", "aria-label": title, onClick: function (event) {
|
|
18
|
-
event.preventDefault();
|
|
19
|
-
onAction(__assign(__assign({}, action), { skipValidation: true }));
|
|
20
|
-
} }, { children: [_jsx("span", __assign({ className: "sr-only" }, { children: title })), _jsx(Avatar, __assign({ type: "icon" }, { children: _jsx(ArrowLeft, { size: "24" }) }))] })));
|
|
21
|
-
}
|
|
22
|
-
export default BackButton;
|
|
@@ -1,346 +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 } from "react/jsx-runtime";
|
|
49
|
-
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
50
|
-
import { useIntl } from 'react-intl';
|
|
51
|
-
import { DynamicFlowProvider, getEventDispatcher, EventsContextProvider, LogProvider, getLogger, } from '../common/contexts';
|
|
52
|
-
import { FeatureContextProvider } from '../common/contexts/featureContext/FeatureContext';
|
|
53
|
-
import { isObjectModel } from '../common/utils';
|
|
54
|
-
import { isValidSchema } from '../common/validators';
|
|
55
|
-
import { DynamicFlowStep } from './DynamicFlowStep';
|
|
56
|
-
import { ErrorBoundary, useLoader, useDynamicFlowState, useDebouncedRefresh, parseFetchResponse, getJsonObjectOrNull, parseErrorResponse, } from './utils';
|
|
57
|
-
import { HttpClientProvider } from '../../common/httpClientContext';
|
|
58
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
59
|
-
var noop = function () { };
|
|
60
|
-
/**
|
|
61
|
-
* ## DynamicFlow
|
|
62
|
-
*
|
|
63
|
-
* The dynamic flow component is responsible for the asynchronous actions occuring
|
|
64
|
-
* within a dynamic flow, managing transitions between steps as well as refreshing
|
|
65
|
-
* requirements. It doesn't control any view logic, but takes the step definition
|
|
66
|
-
* and reformats it to use a LayoutStep for presentation.
|
|
67
|
-
*
|
|
68
|
-
*/
|
|
69
|
-
// eslint-disable-next-line react/function-component-definition
|
|
70
|
-
var DynamicFlowComponent = function (_a) {
|
|
71
|
-
var flowId = _a.flowId, httpClient = _a.httpClient, initialAction = _a.initialAction, initialStep = _a.initialStep, loaderConfig = _a.loaderConfig, _b = _a.displayStepTitle, displayStepTitle = _b === void 0 ? true : _b, features = _a.features, onCompletion = _a.onCompletion, onError = _a.onError, _c = _a.onEvent, onEvent = _c === void 0 ? noop : _c, _d = _a.onLog, onLog = _d === void 0 ? noop : _d;
|
|
72
|
-
var locale = useIntl().locale;
|
|
73
|
-
var _e = useDynamicFlowState(initialStep), formErrors = _e.formErrors, globalError = _e.globalError, step = _e.step, models = _e.models, etag = _e.etag, modelIsValid = _e.modelIsValid, setFormErrors = _e.setFormErrors, setGlobalError = _e.setGlobalError, setStepAndEtag = _e.setStepAndEtag, setSchemaModel = _e.setSchemaModel;
|
|
74
|
-
var _f = useState(false), submitted = _f[0], setSubmitted = _f[1];
|
|
75
|
-
var _g = useLoader(loaderConfig, initialStep ? 'idle' : 'initial'), isLoading = _g.isLoading, loader = _g.loader, setLoadingState = _g.setLoadingState;
|
|
76
|
-
var logCritical = getLogger('critical', onLog, flowId, (step === null || step === void 0 ? void 0 : step.id) || (step === null || step === void 0 ? void 0 : step.key));
|
|
77
|
-
var logWarning = getLogger('warning', onLog, flowId, (step === null || step === void 0 ? void 0 : step.id) || (step === null || step === void 0 ? void 0 : step.key));
|
|
78
|
-
var warnIfNoStepLayout = function (step) {
|
|
79
|
-
if (step && !step.layout) {
|
|
80
|
-
logWarning('Deprecation warning', 'Support for steps with no layout is being dropped. Please add a layout array to your step.', {
|
|
81
|
-
stepId: step.id || step.key
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
var analyticsMetadata = useMemo(function () { var _a; return (__assign({ flowId: flowId, stepId: (step === null || step === void 0 ? void 0 : step.id) || (step === null || step === void 0 ? void 0 : step.key) }, ((_a = step === null || step === void 0 ? void 0 : step.analytics) !== null && _a !== void 0 ? _a : {}))); }, [flowId, step]);
|
|
86
|
-
var dispatchEvent = useMemo(function () { return getEventDispatcher(onEvent, analyticsMetadata); }, [onEvent, analyticsMetadata]);
|
|
87
|
-
var dfHttpClient = useCallback(function (_a) {
|
|
88
|
-
var action = _a.action, data = _a.data, etag = _a.etag;
|
|
89
|
-
var url = action.url, _b = action.method, method = _b === void 0 ? 'POST' : _b;
|
|
90
|
-
return httpClient(url !== null && url !== void 0 ? url : '', {
|
|
91
|
-
method: method,
|
|
92
|
-
headers: __assign({ 'accept-language': locale, 'Content-Type': 'application/json' }, (etag ? { 'If-None-Match': etag } : {})),
|
|
93
|
-
credentials: 'include',
|
|
94
|
-
body: method === 'GET' ? undefined : JSON.stringify(data)
|
|
95
|
-
});
|
|
96
|
-
}, [httpClient, locale]);
|
|
97
|
-
var performAction = function (action, data) {
|
|
98
|
-
if (data === void 0) { data = {}; }
|
|
99
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
100
|
-
var response, error_1;
|
|
101
|
-
return __generator(this, function (_a) {
|
|
102
|
-
switch (_a.label) {
|
|
103
|
-
case 0:
|
|
104
|
-
setLoadingState(!step ? 'initial' : 'submission');
|
|
105
|
-
dispatchEvent('Dynamic Flow - Step Submitted', { actionId: action.id || action.$id });
|
|
106
|
-
_a.label = 1;
|
|
107
|
-
case 1:
|
|
108
|
-
_a.trys.push([1, 6, , 7]);
|
|
109
|
-
return [4 /*yield*/, dfHttpClient({ action: action, data: data })];
|
|
110
|
-
case 2:
|
|
111
|
-
response = _a.sent();
|
|
112
|
-
if (!(action.exit && response.ok)) return [3 /*break*/, 4];
|
|
113
|
-
return [4 /*yield*/, handleExitResponse(response, action.result)];
|
|
114
|
-
case 3:
|
|
115
|
-
_a.sent();
|
|
116
|
-
return [2 /*return*/];
|
|
117
|
-
case 4: return [4 /*yield*/, handleResponse(response, 'submission')];
|
|
118
|
-
case 5:
|
|
119
|
-
_a.sent();
|
|
120
|
-
return [3 /*break*/, 7];
|
|
121
|
-
case 6:
|
|
122
|
-
error_1 = _a.sent();
|
|
123
|
-
completeWithError(error_1, action.exit ? 'Error fetching exit result' : 'Error fetching next step');
|
|
124
|
-
return [3 /*break*/, 7];
|
|
125
|
-
case 7: return [2 /*return*/];
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
var performRefresh = function (url, data, etag) { return __awaiter(void 0, void 0, void 0, function () {
|
|
131
|
-
var response, error_2;
|
|
132
|
-
return __generator(this, function (_a) {
|
|
133
|
-
switch (_a.label) {
|
|
134
|
-
case 0:
|
|
135
|
-
setLoadingState('refresh');
|
|
136
|
-
dispatchEvent('Dynamic Flow - Step Refreshed', { status: 'pending' });
|
|
137
|
-
_a.label = 1;
|
|
138
|
-
case 1:
|
|
139
|
-
_a.trys.push([1, 4, , 5]);
|
|
140
|
-
return [4 /*yield*/, dfHttpClient({ action: { url: url, method: 'POST' }, data: data, etag: etag })];
|
|
141
|
-
case 2:
|
|
142
|
-
response = _a.sent();
|
|
143
|
-
return [4 /*yield*/, handleResponse(response, 'refresh')];
|
|
144
|
-
case 3:
|
|
145
|
-
_a.sent();
|
|
146
|
-
return [3 /*break*/, 5];
|
|
147
|
-
case 4:
|
|
148
|
-
error_2 = _a.sent();
|
|
149
|
-
completeWithError(error_2, 'Error fetching refresh step');
|
|
150
|
-
return [3 /*break*/, 5];
|
|
151
|
-
case 5: return [2 /*return*/];
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
}); };
|
|
155
|
-
var handleExitResponse = function (response, actionResult) { return __awaiter(void 0, void 0, void 0, function () {
|
|
156
|
-
var exitResult;
|
|
157
|
-
return __generator(this, function (_a) {
|
|
158
|
-
switch (_a.label) {
|
|
159
|
-
case 0: return [4 /*yield*/, getJsonObjectOrNull(response)];
|
|
160
|
-
case 1:
|
|
161
|
-
exitResult = _a.sent();
|
|
162
|
-
dispatchEventAndComplete(__assign(__assign({}, exitResult), actionResult));
|
|
163
|
-
return [2 /*return*/];
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
}); };
|
|
167
|
-
var debouncedRefresh = useDebouncedRefresh(performRefresh);
|
|
168
|
-
var dispatchEventAndComplete = useCallback(function (result) {
|
|
169
|
-
dispatchEvent('Dynamic Flow - Flow Finished', { result: 'success' });
|
|
170
|
-
onCompletion(result);
|
|
171
|
-
}, [onCompletion, dispatchEvent]);
|
|
172
|
-
useEffect(function () {
|
|
173
|
-
dispatchEvent('Dynamic Flow - Flow Started', {});
|
|
174
|
-
}, []);
|
|
175
|
-
useEffect(function () {
|
|
176
|
-
if (!initialStep) {
|
|
177
|
-
var action = __assign({ id: '#initial-step-request', method: 'GET' }, initialAction);
|
|
178
|
-
void performAction(action, action.data);
|
|
179
|
-
}
|
|
180
|
-
if (initialStep) {
|
|
181
|
-
warnIfNoStepLayout(initialStep);
|
|
182
|
-
}
|
|
183
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
184
|
-
}, [httpClient, locale, JSON.stringify(initialStep), JSON.stringify(initialAction)]);
|
|
185
|
-
var handleResponse = function (response, fetchType) { return __awaiter(void 0, void 0, void 0, function () {
|
|
186
|
-
var errorResponse, result, error_3;
|
|
187
|
-
return __generator(this, function (_a) {
|
|
188
|
-
switch (_a.label) {
|
|
189
|
-
case 0:
|
|
190
|
-
_a.trys.push([0, 4, , 5]);
|
|
191
|
-
if (response.status === 304) {
|
|
192
|
-
setLoadingState('idle');
|
|
193
|
-
return [2 /*return*/];
|
|
194
|
-
}
|
|
195
|
-
if (!!response.ok) return [3 /*break*/, 2];
|
|
196
|
-
return [4 /*yield*/, parseErrorResponse(response)];
|
|
197
|
-
case 1:
|
|
198
|
-
errorResponse = _a.sent();
|
|
199
|
-
void updateAfterError(errorResponse);
|
|
200
|
-
return [2 /*return*/];
|
|
201
|
-
case 2: return [4 /*yield*/, parseFetchResponse(response)];
|
|
202
|
-
case 3:
|
|
203
|
-
result = _a.sent();
|
|
204
|
-
if (result.type === 'action') {
|
|
205
|
-
void performAction(result.action, result.action.data);
|
|
206
|
-
}
|
|
207
|
-
else if (result.type === 'exit') {
|
|
208
|
-
dispatchEventAndComplete(result.result);
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
updateStep(result.step, result.etag, fetchType);
|
|
212
|
-
}
|
|
213
|
-
return [3 /*break*/, 5];
|
|
214
|
-
case 4:
|
|
215
|
-
error_3 = _a.sent();
|
|
216
|
-
completeWithError(error_3, 'Error parsing fetch response', fetchType, response.status);
|
|
217
|
-
return [3 /*break*/, 5];
|
|
218
|
-
case 5: return [2 /*return*/];
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
}); };
|
|
222
|
-
var updateStep = function (newStep, etag, fetchType) {
|
|
223
|
-
warnIfNoStepLayout(newStep);
|
|
224
|
-
setStepAndEtag(newStep, etag);
|
|
225
|
-
setLoadingState('idle');
|
|
226
|
-
if (fetchType === 'submission') {
|
|
227
|
-
setSubmitted(false);
|
|
228
|
-
dispatchEvent('Dynamic Flow - Step Started', __assign({ stepId: newStep.id || newStep.key }, newStep === null || newStep === void 0 ? void 0 : newStep.analytics));
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
dispatchEvent('Dynamic Flow - Step Refreshed', { status: 'success' });
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
var updateAfterError = function (errorBody) { return __awaiter(void 0, void 0, void 0, function () {
|
|
235
|
-
var refreshUrl;
|
|
236
|
-
return __generator(this, function (_a) {
|
|
237
|
-
switch (_a.label) {
|
|
238
|
-
case 0:
|
|
239
|
-
refreshUrl = errorBody.refreshUrl || errorBody.refreshFormUrl;
|
|
240
|
-
if (!refreshUrl) return [3 /*break*/, 2];
|
|
241
|
-
return [4 /*yield*/, performRefresh(refreshUrl, combineModels(models), etag)];
|
|
242
|
-
case 1:
|
|
243
|
-
_a.sent();
|
|
244
|
-
_a.label = 2;
|
|
245
|
-
case 2:
|
|
246
|
-
if (errorBody.validation) {
|
|
247
|
-
setFormErrors(errorBody.validation);
|
|
248
|
-
}
|
|
249
|
-
if (errorBody.error) {
|
|
250
|
-
setGlobalError(errorBody.error);
|
|
251
|
-
}
|
|
252
|
-
setLoadingState('idle');
|
|
253
|
-
return [2 /*return*/];
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
}); };
|
|
257
|
-
var completeWithError = function (error, message, fetchType, responseStatus) {
|
|
258
|
-
logCritical('Error fetching', message);
|
|
259
|
-
if (fetchType === 'refresh') {
|
|
260
|
-
dispatchEvent('Dynamic Flow - Step Refreshed', { status: 'failure' });
|
|
261
|
-
}
|
|
262
|
-
dispatchEvent('Dynamic Flow - Flow Finished', { status: 'failure' });
|
|
263
|
-
onError(error, responseStatus);
|
|
264
|
-
setLoadingState('idle');
|
|
265
|
-
};
|
|
266
|
-
var onModelChange = function (onModelChangeProps) {
|
|
267
|
-
var model = onModelChangeProps.model, formSchema = onModelChangeProps.formSchema;
|
|
268
|
-
var _a = formSchema.$id, $id = _a === void 0 ? '' : _a;
|
|
269
|
-
setGlobalError(null);
|
|
270
|
-
if (!isObjectModel(model)) {
|
|
271
|
-
// TODO: DF-473 - Remove type assertions once we're confident people have had time to fix any errors
|
|
272
|
-
logCritical('Invalid model on change', 'onModelChange was called but the model argument is not an object');
|
|
273
|
-
}
|
|
274
|
-
var objectModel = model;
|
|
275
|
-
setSchemaModel($id, objectModel, function (updatedModels) {
|
|
276
|
-
refreshOnChangeIfNeeded(onModelChangeProps, updatedModels);
|
|
277
|
-
});
|
|
278
|
-
};
|
|
279
|
-
var refreshOnChangeIfNeeded = function (props, updatedModels) {
|
|
280
|
-
var triggerSchema = props.triggerSchema;
|
|
281
|
-
if (shouldTriggerRefresh(props)) {
|
|
282
|
-
var triggerSchemaRefreshUrl = triggerSchema.refreshUrl || triggerSchema.refreshFormUrl;
|
|
283
|
-
var stepRefreshUrl = (step === null || step === void 0 ? void 0 : step.refreshUrl) || (step === null || step === void 0 ? void 0 : step.refreshFormUrl);
|
|
284
|
-
var refreshUrl = triggerSchemaRefreshUrl || stepRefreshUrl;
|
|
285
|
-
if (refreshUrl) {
|
|
286
|
-
debouncedRefresh(refreshUrl, combineModels(updatedModels), etag, triggerSchema);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
};
|
|
290
|
-
// FIXME: We should annotate the entire onAction function with the type OnAction
|
|
291
|
-
var onAction = function (action) { return __awaiter(void 0, void 0, void 0, function () {
|
|
292
|
-
var data, method, skipValidation, submissionData;
|
|
293
|
-
return __generator(this, function (_a) {
|
|
294
|
-
switch (_a.label) {
|
|
295
|
-
case 0:
|
|
296
|
-
if (isLoading || action.disabled) {
|
|
297
|
-
return [2 /*return*/];
|
|
298
|
-
}
|
|
299
|
-
if (action.exit && !action.url) {
|
|
300
|
-
dispatchEventAndComplete(action.result);
|
|
301
|
-
return [2 /*return*/];
|
|
302
|
-
}
|
|
303
|
-
data = action.data, method = action.method, skipValidation = action.skipValidation;
|
|
304
|
-
submissionData = __assign(__assign({}, combineModels(models)), data);
|
|
305
|
-
if (!isSubmissionMethod(method)) return [3 /*break*/, 3];
|
|
306
|
-
setFormErrors(null);
|
|
307
|
-
if (!skipValidation) {
|
|
308
|
-
setSubmitted(true);
|
|
309
|
-
}
|
|
310
|
-
if (!(modelIsValid || skipValidation)) return [3 /*break*/, 2];
|
|
311
|
-
return [4 /*yield*/, performAction(action, submissionData)];
|
|
312
|
-
case 1:
|
|
313
|
-
_a.sent();
|
|
314
|
-
_a.label = 2;
|
|
315
|
-
case 2: return [3 /*break*/, 5];
|
|
316
|
-
case 3: return [4 /*yield*/, performAction(action)];
|
|
317
|
-
case 4:
|
|
318
|
-
_a.sent();
|
|
319
|
-
_a.label = 5;
|
|
320
|
-
case 5: return [2 /*return*/];
|
|
321
|
-
}
|
|
322
|
-
});
|
|
323
|
-
}); };
|
|
324
|
-
return (_jsx(LogProvider, __assign({ flowId: flowId, stepId: (step === null || step === void 0 ? void 0 : step.id) || (step === null || step === void 0 ? void 0 : step.key), onLog: onLog }, { children: _jsx(EventsContextProvider, __assign({ metadata: analyticsMetadata, onEvent: onEvent }, { children: _jsx(DynamicFlowProvider, __assign({ loading: isLoading }, { children: _jsx(HttpClientProvider, __assign({ httpClient: httpClient }, { children: _jsx(FeatureContextProvider, __assign({ features: features }, { children: loader !== null ? (loader) : (_jsx(DynamicFlowStep, { step: step, model: combineModels(models), submitted: submitted, globalError: globalError, formErrors: formErrors, stepLayoutOptions: { displayStepTitle: displayStepTitle }, onAction: function (action) {
|
|
325
|
-
void onAction(action);
|
|
326
|
-
}, onModelChange: onModelChange })) })) })) })) })) })));
|
|
327
|
-
};
|
|
328
|
-
function DynamicFlow(props) {
|
|
329
|
-
return (_jsx(ErrorBoundary, __assign({ onError: props.onError }, { children: _jsx(DynamicFlowComponent, __assign({}, props)) })));
|
|
330
|
-
}
|
|
331
|
-
export default DynamicFlow;
|
|
332
|
-
var combineModels = function (formModels) {
|
|
333
|
-
return Object.values(formModels).reduce(function (previous, model) { return (__assign(__assign({}, previous), model)); }, {});
|
|
334
|
-
};
|
|
335
|
-
var isSubmissionMethod = function (method) {
|
|
336
|
-
if (method === void 0) { method = 'POST'; }
|
|
337
|
-
var submissionMethods = ['POST', 'PUT', 'PATCH'];
|
|
338
|
-
return submissionMethods.includes(method.toUpperCase());
|
|
339
|
-
};
|
|
340
|
-
var shouldTriggerRefresh = function (props) {
|
|
341
|
-
var type = props.type, triggerSchema = props.triggerSchema, triggerModel = props.triggerModel, _a = props.lastTriggerModel, lastTriggerModel = _a === void 0 ? null : _a;
|
|
342
|
-
var isValid = function () { return isValidSchema(triggerModel, triggerSchema); };
|
|
343
|
-
var wasValid = function () { return isValidSchema(lastTriggerModel, triggerSchema); };
|
|
344
|
-
var hasRefreshOnChange = (triggerSchema === null || triggerSchema === void 0 ? void 0 : triggerSchema.refreshStepOnChange) || (triggerSchema === null || triggerSchema === void 0 ? void 0 : triggerSchema.refreshFormOnChange);
|
|
345
|
-
return type !== 'init' && hasRefreshOnChange && (isValid() || wasValid());
|
|
346
|
-
};
|
|
@@ -1,37 +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 { useExternal } from '../common/hooks';
|
|
14
|
-
import { isCameraStep } from '../common/utils';
|
|
15
|
-
import { DynamicAlert } from '../layout';
|
|
16
|
-
import { CameraStep, LayoutStep, ExternalConfirmationStep } from '../step';
|
|
17
|
-
import BackButton from './BackButton';
|
|
18
|
-
export function DynamicFlowStep(props) {
|
|
19
|
-
var _a, _b, _c;
|
|
20
|
-
var step = props.step, globalError = props.globalError, onAction = props.onAction;
|
|
21
|
-
var externalUrl = (_a = step === null || step === void 0 ? void 0 : step.external) === null || _a === void 0 ? void 0 : _a.url;
|
|
22
|
-
var backButton = ((_b = step === null || step === void 0 ? void 0 : step.navigation) === null || _b === void 0 ? void 0 : _b.back) || ((_c = step === null || step === void 0 ? void 0 : step.navigation) === null || _c === void 0 ? void 0 : _c.backButton);
|
|
23
|
-
var _d = useExternal(externalUrl), requiresManualTrigger = _d.requiresManualTrigger, dismissConfirmation = _d.dismissConfirmation;
|
|
24
|
-
if (step === undefined) {
|
|
25
|
-
if (globalError) {
|
|
26
|
-
return (_jsx(DynamicAlert, { component: { context: 'negative', markdown: globalError, margin: 'lg' } }));
|
|
27
|
-
}
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
if (externalUrl && requiresManualTrigger) {
|
|
31
|
-
return _jsx(ExternalConfirmationStep, { url: externalUrl, onClose: dismissConfirmation });
|
|
32
|
-
}
|
|
33
|
-
if (isCameraStep(step)) {
|
|
34
|
-
return _jsx(CameraStep, __assign({}, props, { step: step }));
|
|
35
|
-
}
|
|
36
|
-
return (_jsxs(_Fragment, { children: [backButton && _jsx(BackButton, __assign({}, backButton, { onAction: onAction })), globalError ? (_jsx(DynamicAlert, { component: { context: 'negative', markdown: globalError, margin: 'lg' } })) : null, _jsx(LayoutStep, __assign({}, props, { stepSpecification: step }))] }));
|
|
37
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from './DynamicFlow';
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './useDebouncedRefresh/useDebouncedRefresh';
|
|
2
|
-
export * from './useDynamicFlowState';
|
|
3
|
-
export * from './useLoader';
|
|
4
|
-
export { default as ErrorBoundary } from '../../../common/errorBoundary/ErrorBoundary';
|
|
5
|
-
export * from './responseParsers/response-parsers';
|