@wise/dynamic-flow-client 3.4.1 → 3.5.0-experimental-6654c72
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/common/errorBoundary/ErrorBoundary.js +44 -0
- package/build/common/errorBoundary/ErrorBoundaryAlert.js +12 -0
- package/build/common/httpClientContext/HttpClientContext.js +35 -0
- package/build/common/httpClientContext/index.js +1 -0
- package/build/common/makeHttpClient/index.js +1 -0
- package/build/common/makeHttpClient/makeHttpClient.js +34 -0
- package/build/common/messages/external-confirmation.messages.js +23 -0
- package/build/common/messages/generic-error.messages.js +18 -0
- package/build/common/messages/help.messages.js +8 -0
- package/build/common/messages/multi-file-upload.messages.js +18 -0
- package/build/common/messages/multi-select.messages.js +8 -0
- package/build/common/messages/paragraph.messages.js +13 -0
- package/build/common/messages/repeatable.messages.js +23 -0
- package/build/common/messages/validation.array.messages.js +13 -0
- package/build/common/messages/validation.messages.js +53 -0
- package/build/common/utils/api-utils.js +4 -0
- package/build/i18n/index.js +36 -0
- package/build/legacy/common/constants/DateMode.js +4 -0
- package/build/legacy/common/constants/FeatureName.js +4 -0
- package/build/legacy/common/constants/FormControlType.js +21 -0
- package/build/legacy/common/constants/MonthFormat.js +4 -0
- package/build/legacy/common/constants/Size.js +7 -0
- package/build/legacy/common/constants/index.js +4 -0
- package/build/legacy/common/contexts/dynamicFlowContexts/DynamicFlowContexts.js +36 -0
- package/build/legacy/common/contexts/dynamicFlowContexts/usePendingPromiseCounter.js +13 -0
- package/build/legacy/common/contexts/eventsContext/EventsContext.js +38 -0
- package/build/legacy/common/contexts/featureContext/FeatureContext.js +22 -0
- package/build/legacy/common/contexts/index.js +3 -0
- package/build/legacy/common/contexts/logContext/LogContext.js +44 -0
- package/build/legacy/common/hooks/index.js +7 -0
- package/build/legacy/common/hooks/useDebouncedFunction/useDebouncedFunction.js +9 -0
- package/build/legacy/common/hooks/useExternal/useExternal.js +15 -0
- package/build/legacy/common/hooks/useExternalStepPolling/useExternalStepPolling.js +70 -0
- package/build/legacy/common/hooks/usePersistAsync/usePersistAsync.js +172 -0
- package/build/legacy/common/hooks/usePolling/usePolling.js +51 -0
- package/build/legacy/common/hooks/usePrevious/usePrevious.js +8 -0
- package/build/legacy/common/hooks/useStepPolling/useStepPolling.js +43 -0
- package/build/legacy/common/messages.js +8 -0
- package/build/legacy/common/utils/api-utils.js +6 -0
- package/build/legacy/common/utils/date-utils.js +22 -0
- package/build/legacy/common/utils/debounce.js +38 -0
- package/build/legacy/common/utils/file-utils.js +45 -0
- package/build/legacy/common/utils/id-utils.js +5 -0
- package/build/legacy/common/utils/index.js +11 -0
- package/build/legacy/common/utils/is-equal.js +21 -0
- package/build/legacy/common/utils/misc-utils.js +4 -0
- package/build/legacy/common/utils/mobile-utils.js +23 -0
- package/build/legacy/common/utils/model-utils.js +33 -0
- package/build/legacy/common/utils/schema-utils.js +113 -0
- package/build/legacy/common/utils/step-utils.js +32 -0
- package/build/legacy/common/validators/index.js +5 -0
- package/build/legacy/common/validators/models/model-utils.js +119 -0
- package/build/legacy/common/validators/models/model-validators.js +62 -0
- package/build/legacy/common/validators/schemas/schema-validators.js +101 -0
- package/build/legacy/common/validators/types/type-validators.js +14 -0
- package/build/legacy/common/validators/validationFailures/validation-failures.js +139 -0
- package/build/legacy/common/validators/validationFailures/validation-failures.utils.js +40 -0
- package/build/legacy/common/validators/values/value-validators.js +6 -0
- package/build/legacy/dynamic-flow-types.js +1 -0
- package/build/legacy/dynamicFlow/BackButton.js +22 -0
- package/build/legacy/dynamicFlow/DynamicFlow.js +346 -0
- package/build/legacy/dynamicFlow/DynamicFlowStep.js +37 -0
- package/build/legacy/dynamicFlow/DynamicFlowTypes.js +1 -0
- package/build/legacy/dynamicFlow/index.js +1 -0
- package/build/legacy/dynamicFlow/utils/index.js +5 -0
- package/build/legacy/dynamicFlow/utils/responseParsers/response-parsers.js +185 -0
- package/build/legacy/dynamicFlow/utils/useDebouncedRefresh/useDebouncedRefresh.js +26 -0
- package/build/legacy/dynamicFlow/utils/useDynamicFlowState.js +137 -0
- package/build/legacy/dynamicFlow/utils/useLoader.js +22 -0
- package/build/legacy/formControl/FormControl.js +266 -0
- package/build/legacy/formControl/index.js +1 -0
- package/build/legacy/formControl/utils/getAutocompleteString.js +80 -0
- package/build/legacy/formControl/utils/index.js +2 -0
- package/build/legacy/formControl/utils/value-utils.js +108 -0
- package/build/legacy/jsonSchemaForm/JsonSchemaForm.js +24 -0
- package/build/legacy/jsonSchemaForm/allOfSchema/AllOfSchema.js +50 -0
- package/build/legacy/jsonSchemaForm/allOfSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/ArraySchema.js +25 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/ArrayListSchema.js +34 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multiSelectSchema/MultiSelectSchema.js +84 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/MultipleFileUploadSchema.js +141 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils/index.js +2 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils/upload-utils.js +79 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils/useFormattedDefaultErrorMessages.js +14 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/ItemSummary.js +7 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/RepeatableSchema.js +134 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/RepeatableSchemaStep.js +85 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/utils/summary-utils.js +135 -0
- package/build/legacy/jsonSchemaForm/arrayTypeSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/basicTypeSchema/BasicTypeSchema.js +111 -0
- package/build/legacy/jsonSchemaForm/basicTypeSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/controlFeedback/ControlFeedback.js +86 -0
- package/build/legacy/jsonSchemaForm/controlFeedback/index.js +1 -0
- package/build/legacy/jsonSchemaForm/genericSchema/GenericSchema.js +85 -0
- package/build/legacy/jsonSchemaForm/genericSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/help/Help.js +20 -0
- package/build/legacy/jsonSchemaForm/help/index.js +1 -0
- package/build/legacy/jsonSchemaForm/index.js +1 -0
- package/build/legacy/jsonSchemaForm/objectSchema/ObjectSchema.js +77 -0
- package/build/legacy/jsonSchemaForm/objectSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/oneOfSchema/OneOfSchema.js +155 -0
- package/build/legacy/jsonSchemaForm/oneOfSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/oneOfSchema/utils.js +68 -0
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/PersistAsyncSchema.js +26 -0
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBasicSchema/PersistAsyncBasicSchema.js +165 -0
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBasicSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/PersistAsyncBlobSchema.js +131 -0
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/UploadInputAdapter.js +31 -0
- package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/PromotedOneOfSchema.js +72 -0
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promoted-one-of-utils.js +8 -0
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfCheckboxControl.js +27 -0
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfControl.js +31 -0
- package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfRadioControl.js +32 -0
- package/build/legacy/jsonSchemaForm/readOnlySchema/ReadOnlySchema.js +54 -0
- package/build/legacy/jsonSchemaForm/readOnlySchema/ReadOnlySchema.messages.js +13 -0
- package/build/legacy/jsonSchemaForm/readOnlySchema/index.js +1 -0
- package/build/legacy/jsonSchemaForm/schemaFormControl/SchemaFormControl.js +133 -0
- package/build/legacy/jsonSchemaForm/schemaFormControl/index.js +1 -0
- package/build/legacy/jsonSchemaForm/schemaFormControl/utils/index.js +1 -0
- package/build/legacy/jsonSchemaForm/schemaFormControl/utils/mapping-utils.js +107 -0
- package/build/legacy/jsonSchemaForm/validationAsyncSchema/ValidationAsyncSchema.js +150 -0
- package/build/legacy/jsonSchemaForm/validationAsyncSchema/index.js +1 -0
- package/build/legacy/layout/DynamicLayout.js +68 -0
- package/build/legacy/layout/alert/DynamicAlert.js +29 -0
- package/build/legacy/layout/box/DynamicBox.js +41 -0
- package/build/legacy/layout/button/DynamicButton.js +27 -0
- package/build/legacy/layout/button/utils.js +45 -0
- package/build/legacy/layout/columns/DynamicColumns.js +38 -0
- package/build/legacy/layout/decision/DynamicDecision.js +21 -0
- package/build/legacy/layout/divider/DynamicDivider.js +9 -0
- package/build/legacy/layout/external/DynamicExternal.js +32 -0
- package/build/legacy/layout/external/DynamicExternal.messages.js +8 -0
- package/build/legacy/layout/form/DynamicForm.js +22 -0
- package/build/legacy/layout/heading/DynamicHeading.js +51 -0
- package/build/legacy/layout/icon/DynamicIcon.js +17 -0
- package/build/legacy/layout/icon/FlagIcon.js +198 -0
- package/build/legacy/layout/icon/NamedIcon.js +19 -0
- package/build/legacy/layout/image/DynamicImage.js +111 -0
- package/build/legacy/layout/index.js +20 -0
- package/build/legacy/layout/instructions/DynamicInstructions.js +30 -0
- package/build/legacy/layout/list/DynamicStatusList.js +37 -0
- package/build/legacy/layout/loadingIndicator/DynamicLoadingIndicator.js +11 -0
- package/build/legacy/layout/markdown/DynamicMarkdown.js +23 -0
- package/build/legacy/layout/modal/DynamicModal.js +26 -0
- package/build/legacy/layout/paragraph/DynamicParagraph.js +46 -0
- package/build/legacy/layout/paragraph/useSnackBarIfAvailable.js +9 -0
- package/build/legacy/layout/review/DynamicReview.js +58 -0
- package/build/legacy/layout/search/DynamicSearch.js +58 -0
- package/build/legacy/layout/search/SearchInput.js +17 -0
- package/build/legacy/layout/search/SearchResults.js +31 -0
- package/build/legacy/layout/search/useSearch.js +137 -0
- package/build/legacy/layout/utils/getNavigationOptionMedia.js +28 -0
- package/build/legacy/layout/utils/index.js +32 -0
- package/build/legacy/step/cameraStep/CameraStep.js +124 -0
- package/build/legacy/step/cameraStep/cameraCapture/CameraCapture.js +161 -0
- package/build/legacy/step/cameraStep/cameraCapture/CameraCapture.messages.js +58 -0
- package/build/legacy/step/cameraStep/cameraCapture/components/bottomBar/BottomBar.js +28 -0
- package/build/legacy/step/cameraStep/cameraCapture/components/index.js +3 -0
- package/build/legacy/step/cameraStep/cameraCapture/components/orientationLockOverlay/OrientationLockOverlay.js +19 -0
- package/build/legacy/step/cameraStep/cameraCapture/components/orientationLockOverlay/OrientationLockOverlay.messages.js +8 -0
- package/build/legacy/step/cameraStep/cameraCapture/hooks/useFullScreenOrientationLock.js +60 -0
- package/build/legacy/step/cameraStep/cameraCapture/hooks/useVideoConstraints.js +80 -0
- package/build/legacy/step/cameraStep/cameraCapture/index.js +1 -0
- package/build/legacy/step/cameraStep/cameraCapture/overlay/Overlay.js +77 -0
- package/build/legacy/step/cameraStep/cameraCapture/screens/cameraErrorScreen/CameraErrorScreen.js +18 -0
- package/build/legacy/step/cameraStep/cameraCapture/screens/index.js +1 -0
- package/build/legacy/step/cameraStep/cameraCapture/tracking/index.js +109 -0
- package/build/legacy/step/cameraStep/cameraCapture/types/index.js +7 -0
- package/build/legacy/step/cameraStep/cameraCapture/utils/index.js +107 -0
- package/build/legacy/step/cameraStep/index.js +1 -0
- package/build/legacy/step/externalConfirmationStep/ExternalConfirmationStep.js +64 -0
- package/build/legacy/step/externalConfirmationStep/index.js +1 -0
- package/build/legacy/step/index.js +3 -0
- package/build/legacy/step/layoutStep/LayoutStep.js +33 -0
- package/build/legacy/step/layoutStep/index.js +1 -0
- package/build/legacy/step/layoutStep/utils/index.js +2 -0
- package/build/legacy/step/layoutStep/utils/inline-reference-utils.js +105 -0
- package/build/legacy/step/layoutStep/utils/layout-utils.js +212 -0
- package/build/main.js +4775 -225
- package/build/main.min.js +1 -1
- package/build/main.mjs +4776 -226
- package/build/revamp/domain/components/AlertComponent.js +50 -0
- package/build/revamp/domain/components/AllOfComponent.js +72 -0
- package/build/revamp/domain/components/BooleanInputComponent.js +108 -0
- package/build/revamp/domain/components/BoxComponent.js +65 -0
- package/build/revamp/domain/components/ButtonComponent.js +50 -0
- package/build/revamp/domain/components/ColumnsComponent.js +74 -0
- package/build/revamp/domain/components/ConstComponent.js +50 -0
- package/build/revamp/domain/components/ContainerComponent.js +65 -0
- package/build/revamp/domain/components/DateInputComponent.js +127 -0
- package/build/revamp/domain/components/DecisionComponent.js +50 -0
- package/build/revamp/domain/components/DividerComponent.js +50 -0
- package/build/revamp/domain/components/FormComponent.js +65 -0
- package/build/revamp/domain/components/HeadingComponent.js +50 -0
- package/build/revamp/domain/components/ImageComponent.js +50 -0
- package/build/revamp/domain/components/InstructionsComponent.js +50 -0
- package/build/revamp/domain/components/IntegerInputComponent.js +125 -0
- package/build/revamp/domain/components/LoadingIndicatorComponent.js +50 -0
- package/build/revamp/domain/components/MarkdownComponent.js +50 -0
- package/build/revamp/domain/components/ModalComponent.js +65 -0
- package/build/revamp/domain/components/MultiUploadInputComponent.js +190 -0
- package/build/revamp/domain/components/NumberInputComponent.js +125 -0
- package/build/revamp/domain/components/ObjectComponent.js +104 -0
- package/build/revamp/domain/components/ParagraphComponent.js +50 -0
- package/build/revamp/domain/components/ReviewComponent.js +50 -0
- package/build/revamp/domain/components/SelectInputComponent.js +138 -0
- package/build/revamp/domain/components/StatusListComponent.js +50 -0
- package/build/revamp/domain/components/StepDomainComponent.js +93 -0
- package/build/revamp/domain/components/TextInputComponent.js +125 -0
- package/build/revamp/domain/components/UploadInputComponent.js +151 -0
- package/build/revamp/domain/components/repeatableComponent/RepeatableComponent.js +148 -0
- package/build/revamp/domain/components/searchComponent/SearchComponent.js +108 -0
- package/build/revamp/domain/components/utils/component-utils.js +18 -0
- package/build/revamp/domain/components/utils/debounce.js +38 -0
- package/build/revamp/domain/components/utils/file-utils.js +46 -0
- package/build/revamp/domain/components/utils/getComponentForLocalValueKey.js +31 -0
- package/build/revamp/domain/components/utils/isPartialLocalValueMatch.js +40 -0
- package/build/revamp/domain/features/events.js +1 -0
- package/build/revamp/domain/features/persistAsync/getComponentPersistAsync.js +133 -0
- package/build/revamp/domain/features/persistAsync/getPerformPersistAsync.js +103 -0
- package/build/revamp/domain/features/refresh/getPerformRefresh.js +53 -0
- package/build/revamp/domain/features/summary/summary-utils.js +39 -0
- package/build/revamp/domain/features/utils/http-utils.js +34 -0
- package/build/revamp/domain/features/utils/response-utils.js +9 -0
- package/build/revamp/domain/features/validation/validation-functions.js +12 -0
- package/build/revamp/domain/features/validation/value-checks.js +111 -0
- package/build/revamp/domain/features/validationAsync/getComponentValidationAsync.js +94 -0
- package/build/revamp/domain/features/validationAsync/getPerformValidationAsync.js +107 -0
- package/build/revamp/domain/mappers/types.js +1 -0
- package/build/revamp/domain/types.js +1 -0
- package/build/revamp/flow/response-utils.js +88 -0
- package/build/revamp/renderers/CoreContainerRenderer.js +8 -0
- package/build/revamp/renderers/LoadingContext.js +7 -0
- package/build/revamp/renderers/types.js +1 -0
- package/build/revamp/types.js +1 -0
- package/build/revamp/utils/component-utils.js +86 -0
- package/build/revamp/utils/type-utils.js +56 -0
- package/build/revamp/utils/type-validators.js +16 -0
- package/build/revamp/wise/renderers/AlertRenderer.js +11 -0
- package/build/revamp/wise/renderers/BooleanInputRenderer.js +34 -0
- package/build/revamp/wise/renderers/BoxRenderer.js +30 -0
- package/build/revamp/wise/renderers/ButtonRenderer.js +64 -0
- package/build/revamp/wise/renderers/ColumnsRenderer.js +25 -0
- package/build/revamp/wise/renderers/components/FieldInput.js +20 -0
- package/build/revamp/wise/renderers/components/Help.js +21 -0
- package/build/revamp/wise/renderers/components/LabelContentWithHelp.js +6 -0
- package/build/revamp/wise/renderers/utils/layout-utils.js +31 -0
- package/build/types/legacy/step/externalConfirmationStep/ExternalConfirmationStep.d.ts +1 -1
- package/build/types/revamp/domain/components/StepDomainComponent.d.ts +4 -2
- package/build/types/revamp/renderers/step/ExternalConfirmationDialog.d.ts +6 -0
- package/build/types/revamp/renderers/{StepRenderer.d.ts → step/StepRenderer.d.ts} +1 -1
- package/build/types/revamp/renderers/step/useExternal.d.ts +4 -0
- package/build/types/revamp/renderers/stepComponentToProps.d.ts +1 -1
- package/build/types/revamp/renderers/types.d.ts +3 -0
- package/package.json +13 -13
- /package/build/types/{legacy/step/externalConfirmationStep/ExternalConfirmationStep.messages.d.ts → common/messages/external-confirmation.messages.d.ts} +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
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;
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
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 } from "react/jsx-runtime";
|
|
13
|
+
import { createContext, useContext, useMemo } from 'react';
|
|
14
|
+
import { makeHttpClient } from '../makeHttpClient';
|
|
15
|
+
var HttpClientContext = createContext(undefined);
|
|
16
|
+
export function HttpClientProvider(_a) {
|
|
17
|
+
var httpClient = _a.httpClient, children = _a.children;
|
|
18
|
+
return _jsx(HttpClientContext.Provider, __assign({ value: httpClient }, { children: children }));
|
|
19
|
+
}
|
|
20
|
+
export function HttpClientProviderFromBaseUrl(_a) {
|
|
21
|
+
var baseUrl = _a.baseUrl, children = _a.children;
|
|
22
|
+
var httpClient = useMemo(function () { return makeHttpClient(baseUrl); }, [baseUrl]);
|
|
23
|
+
return _jsx(HttpClientContext.Provider, __assign({ value: httpClient }, { children: children }));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Provides the fetch(er) function for dynamic flows asynchronous operations.
|
|
27
|
+
*/
|
|
28
|
+
export var useHttpClient = function () {
|
|
29
|
+
var contextFetch = useContext(HttpClientContext);
|
|
30
|
+
return contextFetch !== null && contextFetch !== void 0 ? contextFetch : fetch;
|
|
31
|
+
};
|
|
32
|
+
export var useHasHttpClientProvider = function () {
|
|
33
|
+
var context = useContext(HttpClientContext);
|
|
34
|
+
return Boolean(context);
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './HttpClientContext';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './makeHttpClient';
|
|
@@ -0,0 +1,34 @@
|
|
|
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 { isRelativePath } from '../utils/api-utils';
|
|
13
|
+
export var makeHttpClient = function (baseUrl, additionalHeaders) {
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
15
|
+
return function (input, init) {
|
|
16
|
+
var resource = applyBaseUrl(input, baseUrl || '');
|
|
17
|
+
return fetch(resource, mergeRequestInit(init !== null && init !== void 0 ? init : {}, { headers: additionalHeaders }));
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
var applyBaseUrl = function (input, baseUrl) {
|
|
21
|
+
return typeof input === 'string' && isRelativePath(input) ? baseUrl + input : input;
|
|
22
|
+
};
|
|
23
|
+
export var mergeRequestInit = function (init, additionalInit) { return (__assign(__assign(__assign({}, init), additionalInit), { headers: mergeHeaders(init === null || init === void 0 ? void 0 : init.headers, additionalInit === null || additionalInit === void 0 ? void 0 : additionalInit.headers) })); };
|
|
24
|
+
var mergeHeaders = function (initHeaders, additionalHeaders) {
|
|
25
|
+
if (!initHeaders && !additionalHeaders) {
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
var headers = new Headers(initHeaders);
|
|
29
|
+
for (var _i = 0, _a = Object.entries(additionalHeaders !== null && additionalHeaders !== void 0 ? additionalHeaders : {}); _i < _a.length; _i++) {
|
|
30
|
+
var _b = _a[_i], key = _b[0], value = _b[1];
|
|
31
|
+
headers.set(key, value);
|
|
32
|
+
}
|
|
33
|
+
return headers;
|
|
34
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
export default defineMessages({
|
|
3
|
+
genericErrorRetryHint: {
|
|
4
|
+
id: 'dynamicFlows.PersistAsyncSchema.genericError',
|
|
5
|
+
defaultMessage: 'Something went wrong, please try again.',
|
|
6
|
+
description: 'Generic error message for persist async schema'
|
|
7
|
+
},
|
|
8
|
+
genericError: {
|
|
9
|
+
id: 'dynamicFlows.ErrorBoundary.errorAlert',
|
|
10
|
+
defaultMessage: 'Something went wrong.',
|
|
11
|
+
description: 'Generic error message for when something has gone wrong.'
|
|
12
|
+
},
|
|
13
|
+
retry: {
|
|
14
|
+
id: 'dynamicFlows.ErrorBoundary.retry',
|
|
15
|
+
defaultMessage: 'Retry',
|
|
16
|
+
description: 'Usually this follows the generic error and contains a link.'
|
|
17
|
+
}
|
|
18
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
export default defineMessages({
|
|
3
|
+
minItemsError: {
|
|
4
|
+
id: 'dynamicFlows.MultipleFileUploadSchema.minItemsError',
|
|
5
|
+
defaultMessage: 'Please upload at least {minItems} file(s).',
|
|
6
|
+
description: 'Customer has uploaded not enough files. To fix: upload more files.'
|
|
7
|
+
},
|
|
8
|
+
maxItemsError: {
|
|
9
|
+
id: 'dynamicFlows.MultipleFileUploadSchema.maxItemsError',
|
|
10
|
+
defaultMessage: 'Please upload {maxItems} or fewer files.',
|
|
11
|
+
description: 'Customer has uploaded too many files. To fix: upload fewer files.'
|
|
12
|
+
},
|
|
13
|
+
maxFileSizeError: {
|
|
14
|
+
id: 'dynamicFlows.MultipleFileUploadSchema.maxFileSizeError',
|
|
15
|
+
defaultMessage: 'Sorry, that file is too big. Please upload a smaller file.',
|
|
16
|
+
description: "Customer has uploaded a file that's too big. To fix: upload a smaller file."
|
|
17
|
+
}
|
|
18
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
export default defineMessages({
|
|
3
|
+
summary: {
|
|
4
|
+
id: 'dynamicFlows.MultiSelect.summary',
|
|
5
|
+
defaultMessage: '{first} and {count} more',
|
|
6
|
+
description: 'A summary of the multiple items selected. Showing the title of the first selected item, and the number of other items that have been selected.'
|
|
7
|
+
}
|
|
8
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
export default defineMessages({
|
|
3
|
+
copy: {
|
|
4
|
+
id: 'dynamicFlows.DynamicParagraph.copy',
|
|
5
|
+
defaultMessage: 'Copy',
|
|
6
|
+
description: 'Copy to clipboard button label.'
|
|
7
|
+
},
|
|
8
|
+
copied: {
|
|
9
|
+
id: 'dynamicFlows.DynamicParagraph.copied',
|
|
10
|
+
defaultMessage: 'Copied to clipboard',
|
|
11
|
+
description: 'Appears in a snackbar when the copy operation succeeds.'
|
|
12
|
+
}
|
|
13
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
export default defineMessages({
|
|
3
|
+
addItemTitle: {
|
|
4
|
+
id: 'dynamicFlows.ArraySchema.addItemTitle',
|
|
5
|
+
defaultMessage: 'Add Item',
|
|
6
|
+
description: 'Label on the button used to open a form to add an item'
|
|
7
|
+
},
|
|
8
|
+
addItem: {
|
|
9
|
+
id: 'dynamicFlows.ArraySchema.addItem',
|
|
10
|
+
defaultMessage: 'Save',
|
|
11
|
+
description: 'Label on the add button used to submit a form that adds an item'
|
|
12
|
+
},
|
|
13
|
+
editItem: {
|
|
14
|
+
id: 'dynamicFlows.ArraySchema.editItem',
|
|
15
|
+
defaultMessage: 'Save',
|
|
16
|
+
description: 'Label on the edit button used to submit a form that edits an item'
|
|
17
|
+
},
|
|
18
|
+
removeItem: {
|
|
19
|
+
id: 'dynamicFlows.ArraySchema.removeItem',
|
|
20
|
+
defaultMessage: 'Remove',
|
|
21
|
+
description: 'Label on the remove button used to confirm deletion of an item'
|
|
22
|
+
}
|
|
23
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
export default defineMessages({
|
|
3
|
+
minItemsError: {
|
|
4
|
+
id: 'dynamicFlows.ArraySchema.minItemsError',
|
|
5
|
+
defaultMessage: 'Please add at least {minItems}.',
|
|
6
|
+
description: 'Customer inputs less than the expected number of values'
|
|
7
|
+
},
|
|
8
|
+
maxItemsError: {
|
|
9
|
+
id: 'dynamicFlows.ArraySchema.maxItemsError',
|
|
10
|
+
defaultMessage: 'Please add {maxItems} or fewer.',
|
|
11
|
+
description: 'Customer inputs more than the allowed number of values'
|
|
12
|
+
}
|
|
13
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
export default defineMessages({
|
|
3
|
+
type: {
|
|
4
|
+
id: 'dynamicFlows.ControlFeedback.type',
|
|
5
|
+
defaultMessage: 'Incorrect type',
|
|
6
|
+
description: ''
|
|
7
|
+
},
|
|
8
|
+
minimum: {
|
|
9
|
+
id: 'dynamicFlows.ControlFeedback.minimum',
|
|
10
|
+
defaultMessage: "Please enter a number that's {minimum} or more.",
|
|
11
|
+
description: ''
|
|
12
|
+
},
|
|
13
|
+
maximum: {
|
|
14
|
+
id: 'dynamicFlows.ControlFeedback.maximum',
|
|
15
|
+
defaultMessage: "Please enter a number that's {maximum} or less.",
|
|
16
|
+
description: ''
|
|
17
|
+
},
|
|
18
|
+
minLength: {
|
|
19
|
+
id: 'dynamicFlows.ControlFeedback.minLength',
|
|
20
|
+
defaultMessage: 'Please enter at least {minLength} characters.',
|
|
21
|
+
description: ''
|
|
22
|
+
},
|
|
23
|
+
maxLength: {
|
|
24
|
+
id: 'dynamicFlows.ControlFeedback.maxLength',
|
|
25
|
+
defaultMessage: 'Please enter {maxLength} or fewer characters.',
|
|
26
|
+
description: ''
|
|
27
|
+
},
|
|
28
|
+
minimumDate: {
|
|
29
|
+
id: 'dynamicFlows.ControlFeedback.minimumDate',
|
|
30
|
+
defaultMessage: "Please enter a date that's on or after {minimum}.",
|
|
31
|
+
description: ''
|
|
32
|
+
},
|
|
33
|
+
maximumDate: {
|
|
34
|
+
id: 'dynamicFlows.ControlFeedback.maximumDate',
|
|
35
|
+
defaultMessage: "Please enter a date that's on or before {maximum}.",
|
|
36
|
+
description: ''
|
|
37
|
+
},
|
|
38
|
+
pattern: {
|
|
39
|
+
id: 'dynamicFlows.ControlFeedback.pattern',
|
|
40
|
+
defaultMessage: 'Please enter this in the correct format.',
|
|
41
|
+
description: ''
|
|
42
|
+
},
|
|
43
|
+
patternDate: {
|
|
44
|
+
id: 'dynamicFlows.ControlFeedback.patternDate',
|
|
45
|
+
defaultMessage: 'Please enter a date in the corrrect format.',
|
|
46
|
+
description: ''
|
|
47
|
+
},
|
|
48
|
+
required: {
|
|
49
|
+
id: 'dynamicFlows.ControlFeedback.required',
|
|
50
|
+
defaultMessage: 'Please fill out this field.',
|
|
51
|
+
description: ''
|
|
52
|
+
}
|
|
53
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
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;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export var FormControlType = {
|
|
2
|
+
RADIO: 'radio',
|
|
3
|
+
CHECKBOX: 'checkbox',
|
|
4
|
+
SELECT: 'select',
|
|
5
|
+
EMAIL: 'email',
|
|
6
|
+
FILE: 'file',
|
|
7
|
+
DATE: 'date',
|
|
8
|
+
DATETIME: 'date-time',
|
|
9
|
+
DATELOOKUP: 'date-lookup',
|
|
10
|
+
TEL: 'tel',
|
|
11
|
+
// For string schemas with number format
|
|
12
|
+
NUMERIC: 'numeric',
|
|
13
|
+
// For number schemas
|
|
14
|
+
NUMBER: 'number',
|
|
15
|
+
HIDDEN: 'hidden',
|
|
16
|
+
PASSWORD: 'password',
|
|
17
|
+
TEXT: 'text',
|
|
18
|
+
TEXTAREA: 'textarea',
|
|
19
|
+
UPLOAD: 'upload',
|
|
20
|
+
TAB: 'tab'
|
|
21
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
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 } from "react/jsx-runtime";
|
|
13
|
+
import { createContext, useContext, useMemo } from 'react';
|
|
14
|
+
import { usePendingPromiseCounter } from './usePendingPromiseCounter';
|
|
15
|
+
var defaultContextValue = {
|
|
16
|
+
loading: false,
|
|
17
|
+
registerPersistAsyncPromise: function (promise) {
|
|
18
|
+
//
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
var DFContext = createContext(defaultContextValue);
|
|
22
|
+
export var DynamicFlowProvider = function (_a) {
|
|
23
|
+
var loading = _a.loading, children = _a.children;
|
|
24
|
+
var _b = usePendingPromiseCounter(), pendingPromises = _b.pendingPromises, addPendingPromise = _b.addPendingPromise;
|
|
25
|
+
var providerValue = useMemo(function () {
|
|
26
|
+
return {
|
|
27
|
+
loading: loading || pendingPromises > 0,
|
|
28
|
+
registerPersistAsyncPromise: addPendingPromise
|
|
29
|
+
};
|
|
30
|
+
}, [loading, pendingPromises, addPendingPromise]);
|
|
31
|
+
return _jsx(DFContext.Provider, __assign({ value: providerValue }, { children: children }));
|
|
32
|
+
};
|
|
33
|
+
export var useDynamicFlow = function () {
|
|
34
|
+
var context = useContext(DFContext);
|
|
35
|
+
return context || defaultContextValue;
|
|
36
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useCallback, useState } from 'react';
|
|
2
|
+
export function usePendingPromiseCounter() {
|
|
3
|
+
var _a = useState(0), count = _a[0], setCount = _a[1];
|
|
4
|
+
var addPendingPromise = useCallback(function (promise) {
|
|
5
|
+
setCount(function (c) { return c + 1; });
|
|
6
|
+
promise["catch"](noop)["finally"](function () { return delayUntilNextCycle(function () { return setCount(function (c) { return Math.max(0, c - 1); }); }); });
|
|
7
|
+
}, [setCount]);
|
|
8
|
+
return { addPendingPromise: addPendingPromise, pendingPromises: count };
|
|
9
|
+
}
|
|
10
|
+
var delayUntilNextCycle = function (fn) { return setTimeout(function () { return fn(); }, 0); };
|
|
11
|
+
var noop = function () {
|
|
12
|
+
// no-op
|
|
13
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
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 } from "react/jsx-runtime";
|
|
13
|
+
import { createContext, useContext, useMemo } from 'react';
|
|
14
|
+
var EventsContext = createContext({
|
|
15
|
+
triggerEvent: function () {
|
|
16
|
+
// noop
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
export function EventsContextProvider(_a) {
|
|
20
|
+
var metadata = _a.metadata, children = _a.children, onEvent = _a.onEvent;
|
|
21
|
+
var value = useMemo(function () { return ({ triggerEvent: getEventDispatcher(onEvent, metadata) }); }, [onEvent, metadata]);
|
|
22
|
+
return _jsx(EventsContext.Provider, __assign({ value: value }, { children: children }));
|
|
23
|
+
}
|
|
24
|
+
export function useEventDispatcher() {
|
|
25
|
+
var triggerEvent = useContext(EventsContext).triggerEvent;
|
|
26
|
+
return triggerEvent;
|
|
27
|
+
}
|
|
28
|
+
export var getEventDispatcher = function (onEvent, metadata) {
|
|
29
|
+
return function (eventName, properties) {
|
|
30
|
+
if (properties === void 0) { properties = {}; }
|
|
31
|
+
try {
|
|
32
|
+
onEvent(eventName, __assign(__assign({}, metadata), properties));
|
|
33
|
+
}
|
|
34
|
+
catch (_a) {
|
|
35
|
+
// noop
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
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 } from "react/jsx-runtime";
|
|
13
|
+
import { createContext, useContext } from 'react';
|
|
14
|
+
var FeatureContext = createContext([]);
|
|
15
|
+
export function FeatureContextProvider(_a) {
|
|
16
|
+
var features = _a.features, children = _a.children;
|
|
17
|
+
return _jsx(FeatureContext.Provider, __assign({ value: features }, { children: children }));
|
|
18
|
+
}
|
|
19
|
+
export var useFeatureFlag = function (featureName) {
|
|
20
|
+
var features = useContext(FeatureContext);
|
|
21
|
+
return features === null || features === void 0 ? void 0 : features.find(function (feature) { return feature.featureName === featureName; });
|
|
22
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
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 } from "react/jsx-runtime";
|
|
13
|
+
import { createContext, useContext, useMemo } from 'react';
|
|
14
|
+
export var getLogger = function (level, onLog, flowId, stepId) {
|
|
15
|
+
if (flowId === void 0) { flowId = 'UNKNOWN-FLOW-ID'; }
|
|
16
|
+
if (stepId === void 0) { stepId = 'UNKNOWN-FLOW-ID'; }
|
|
17
|
+
return function (title, description, extra) {
|
|
18
|
+
try {
|
|
19
|
+
onLog(level, "Dynamic Flow ".concat(level, " - ").concat(title, " - ").concat(description), __assign({ flowId: flowId, stepId: stepId }, extra));
|
|
20
|
+
}
|
|
21
|
+
catch (_a) {
|
|
22
|
+
// noop
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
var LogContext = createContext(null);
|
|
27
|
+
export function LogProvider(_a) {
|
|
28
|
+
var flowId = _a.flowId, stepId = _a.stepId, children = _a.children, onLog = _a.onLog;
|
|
29
|
+
var value = useMemo(function () { return ({
|
|
30
|
+
debug: getLogger('debug', onLog, flowId, stepId),
|
|
31
|
+
info: getLogger('info', onLog, flowId, stepId),
|
|
32
|
+
warning: getLogger('warning', onLog, flowId, stepId),
|
|
33
|
+
error: getLogger('error', onLog, flowId, stepId),
|
|
34
|
+
critical: getLogger('critical', onLog, flowId, stepId)
|
|
35
|
+
}); }, [onLog, flowId, stepId]);
|
|
36
|
+
return _jsx(LogContext.Provider, __assign({ value: value }, { children: children }));
|
|
37
|
+
}
|
|
38
|
+
export var useLogger = function () {
|
|
39
|
+
var logging = useContext(LogContext);
|
|
40
|
+
if (logging == null) {
|
|
41
|
+
throw new Error('Logging context not found. Did you forget to wrap your component in a <LogProvider />?');
|
|
42
|
+
}
|
|
43
|
+
return logging;
|
|
44
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './useDebouncedFunction/useDebouncedFunction';
|
|
2
|
+
export * from './useExternal/useExternal';
|
|
3
|
+
export * from './useExternalStepPolling/useExternalStepPolling';
|
|
4
|
+
export * from './usePersistAsync/usePersistAsync';
|
|
5
|
+
export * from './usePolling/usePolling';
|
|
6
|
+
export * from './usePrevious/usePrevious';
|
|
7
|
+
export * from './useStepPolling/useStepPolling';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* References:
|
|
2
|
+
- https://github.com/gnbaron/use-lodash-debounce
|
|
3
|
+
- https://dmitripavlutin.com/react-throttle-debounce/
|
|
4
|
+
*/
|
|
5
|
+
import { useCallback } from 'react';
|
|
6
|
+
import { debounce } from '../../utils';
|
|
7
|
+
export function useDebouncedFunction(callback, waitMs) {
|
|
8
|
+
return useCallback(debounce(callback, waitMs), [callback, waitMs]);
|
|
9
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
export function useExternal(url) {
|
|
3
|
+
// If we fail to open the window, the user will need to open this on their own
|
|
4
|
+
var _a = useState(null), externalWindow = _a[0], setExternalWindow = _a[1];
|
|
5
|
+
var _b = useState(false), hasManuallyTriggered = _b[0], setHasManuallyTriggered = _b[1];
|
|
6
|
+
var dismissConfirmation = function () { return setHasManuallyTriggered(true); };
|
|
7
|
+
useEffect(function () {
|
|
8
|
+
if (url) {
|
|
9
|
+
setHasManuallyTriggered(false);
|
|
10
|
+
setExternalWindow(window.open(url, '_blank'));
|
|
11
|
+
}
|
|
12
|
+
}, [url]);
|
|
13
|
+
var requiresManualTrigger = Boolean(url && !externalWindow && !hasManuallyTriggered);
|
|
14
|
+
return { requiresManualTrigger: requiresManualTrigger, dismissConfirmation: dismissConfirmation };
|
|
15
|
+
}
|