@wise/dynamic-flow-client 5.3.0 → 5.4.1-experimental-ede02d2
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.css +6 -0
- package/build/main.js +6479 -6125
- package/build/main.mjs +6464 -6110
- package/build/types/controller/FlowController.d.ts +18 -0
- package/build/types/controller/executeRequest.d.ts +39 -0
- package/build/types/controller/executeSubmission.d.ts +15 -0
- package/build/types/controller/getRequestAbortController.d.ts +4 -0
- package/build/types/{flow → controller}/getResponseType.d.ts +1 -1
- package/build/types/controller/getSafeHttpClient.d.ts +1 -0
- package/build/types/controller/getStepCounter.d.ts +9 -0
- package/build/types/controller/handleErrorResponse.d.ts +3 -0
- package/build/types/{flow → controller}/response-utils.d.ts +2 -1
- package/build/types/domain/components/BooleanInputComponent.d.ts +2 -2
- package/build/types/domain/components/DateInputComponent.d.ts +2 -2
- package/build/types/domain/components/FormattedValueComponent.d.ts +2 -2
- package/build/types/domain/components/IntegerInputComponent.d.ts +2 -2
- package/build/types/domain/components/ModalComponent.d.ts +2 -2
- package/build/types/domain/components/MoneyInputComponent.d.ts +2 -2
- package/build/types/domain/components/MultiSelectInputComponent.d.ts +2 -2
- package/build/types/domain/components/MultiUploadInputComponent.d.ts +2 -2
- package/build/types/domain/components/NumberInputComponent.d.ts +2 -2
- package/build/types/domain/components/PersistAsyncComponent.d.ts +2 -2
- package/build/types/domain/components/RepeatableComponent.d.ts +2 -2
- package/build/types/domain/components/RootDomainComponent.d.ts +13 -9
- package/build/types/domain/components/SelectInputComponent.d.ts +2 -3
- package/build/types/domain/components/SubflowDomainComponent.d.ts +16 -0
- package/build/types/domain/components/TextInputComponent.d.ts +2 -2
- package/build/types/domain/components/UploadInputComponent.d.ts +2 -2
- package/build/types/domain/components/searchComponent/SearchComponent.d.ts +2 -2
- package/build/types/domain/components/step/ExternalConfirmationComponent.d.ts +2 -2
- package/build/types/domain/components/step/StepDomainComponent.d.ts +5 -5
- package/build/types/domain/components/utils/component-utils.d.ts +4 -4
- package/build/types/domain/features/eventNames.d.ts +1 -0
- package/build/types/domain/features/events.d.ts +2 -1
- package/build/types/domain/mappers/mapStepToComponent.d.ts +2 -0
- package/build/types/domain/mappers/schema/types.d.ts +2 -2
- package/build/types/domain/prefetching/request-cache.d.ts +7 -7
- package/build/types/domain/types.d.ts +18 -4
- package/build/types/getSubflowCallbacks.d.ts +14 -0
- package/build/types/index.d.ts +4 -0
- package/build/types/renderers/mappers/subflowComponentToRendererProps.d.ts +4 -0
- package/build/types/test-utils/DynamicFlowWiseModal.d.ts +12 -0
- package/build/types/test-utils/getMergedTestRenderers.d.ts +2 -0
- package/build/types/types.d.ts +2 -0
- package/build/types/useDynamicFlowModal.d.ts +16 -0
- package/package.json +14 -14
- package/build/types/flow/executeSubmission.d.ts +0 -42
- package/build/types/flow/makeSubmissionRequest.d.ts +0 -3
- package/build/types/useDynamicFlowController.d.ts +0 -15
- /package/build/types/{flow → controller}/executePoll.d.ts +0 -0
- /package/build/types/{flow → controller}/executeRefresh.d.ts +0 -0
- /package/build/types/{flow → controller}/getErrorMessage.d.ts +0 -0
- /package/build/types/{flow → controller}/makeSafeHttpClient.d.ts +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OnBehavior, SubflowBehavior } from './domain/types';
|
|
2
|
+
import { AnalyticsEventDispatcher } from './domain/features/events';
|
|
3
|
+
import { SubflowDomainComponent } from './domain/components/SubflowDomainComponent';
|
|
4
|
+
type Props = {
|
|
5
|
+
behavior: SubflowBehavior;
|
|
6
|
+
onBehavior: OnBehavior;
|
|
7
|
+
close: () => void;
|
|
8
|
+
onError: (error: unknown, analytics?: Record<string, unknown>, status?: number) => void;
|
|
9
|
+
onEvent: AnalyticsEventDispatcher<string>;
|
|
10
|
+
restart: () => void;
|
|
11
|
+
};
|
|
12
|
+
type SubflowCallbacks = Pick<SubflowDomainComponent, 'onCompletion' | 'onError' | 'onEvent' | 'onCancellation'>;
|
|
13
|
+
export declare const getSubflowCallbacks: ({ behavior, close, restart, onBehavior, onError, onEvent, }: Props) => SubflowCallbacks;
|
|
14
|
+
export {};
|
package/build/types/index.d.ts
CHANGED
|
@@ -3,4 +3,8 @@ export { default as translations } from './i18n';
|
|
|
3
3
|
export type { DynamicFlowCoreProps as DynamicFlowProps } from './types';
|
|
4
4
|
export { findRendererPropsByType } from './renderers/utils';
|
|
5
5
|
export { useDynamicFlow } from './useDynamicFlow';
|
|
6
|
+
export { useDynamicFlowModal } from './useDynamicFlowModal';
|
|
6
7
|
export { DynamicFlowCore as DynamicFlow } from './DynamicFlowCore';
|
|
8
|
+
export { makeRequestCache } from './domain/prefetching/request-cache';
|
|
9
|
+
export type { EventName } from './domain/features/events';
|
|
10
|
+
export { eventNames } from './domain/features/eventNames';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SubflowRendererProps } from '@wise/dynamic-flow-types/renderers';
|
|
2
|
+
import { SubflowDomainComponent } from '../../domain/components/SubflowDomainComponent';
|
|
3
|
+
import { RendererMapperProps } from './componentToRendererProps';
|
|
4
|
+
export declare const subflowComponentToRendererProps: (component: SubflowDomainComponent, rendererMapperProps: RendererMapperProps) => SubflowRendererProps;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DynamicFlowCoreProps } from '../types';
|
|
2
|
+
type MakeOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
3
|
+
export type DynamicFlowWiseProps = MakeOptional<DynamicFlowCoreProps, 'renderers' | 'onLink'> & {
|
|
4
|
+
onAnalytics?: DynamicFlowWiseProps['onEvent'];
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* This component is only used in tests.
|
|
8
|
+
*/
|
|
9
|
+
export declare function DynamicFlowWiseModal(props: DynamicFlowWiseProps & {
|
|
10
|
+
open?: boolean;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { DynamicFlowWiseProps } from './DynamicFlowWise';
|
|
2
|
+
export declare const getMergedTestRenderers: (props: DynamicFlowWiseProps) => (import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").CoreContainerRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").RootRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").StepRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").AlertRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").BoxRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ColumnsRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").DecisionRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").DividerRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ExternalConfirmationRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").FormattedValueRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").FormRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").HeadingRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").InstructionsRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ListRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").LoadingIndicatorRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MarkdownRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ImageRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ModalLayoutRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ModalRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ParagraphRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ProgressRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ReviewRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SearchRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").StatusListRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").CheckboxInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ButtonRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").DateInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").HiddenRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").IntegerInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MoneyInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").NumberInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").RepeatableRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").FormSectionRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SelectInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SectionRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SubflowRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MultiSelectInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").TabsRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").TextInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").UploadInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MultiUploadInputRendererProps>)[];
|
package/build/types/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Renderers } from '@wise/dynamic-flow-types/renderers';
|
|
2
2
|
import type { Model, Step } from '@wise/dynamic-flow-types/spec';
|
|
3
3
|
import type { AnalyticsEventHandler, LoggingEventHandler } from './domain/features/events';
|
|
4
|
+
import { RequestCache, RequestCacheEntries } from './domain/prefetching/request-cache';
|
|
4
5
|
export type DynamicFlowCoreProps = {
|
|
5
6
|
flowId: string;
|
|
6
7
|
initialAction?: InitialAction;
|
|
@@ -8,6 +9,7 @@ export type DynamicFlowCoreProps = {
|
|
|
8
9
|
httpClient: HttpClient;
|
|
9
10
|
renderers: Renderers;
|
|
10
11
|
features?: Record<string, unknown>;
|
|
12
|
+
requestCache?: RequestCache | RequestCacheEntries;
|
|
11
13
|
onCancellation?: () => void;
|
|
12
14
|
onCompletion: (result: Model) => void;
|
|
13
15
|
onCopy?: (copiedString: string | null) => void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { JsonElement } from '@wise/dynamic-flow-types/spec';
|
|
2
|
+
import { DynamicFlowProps } from '.';
|
|
3
|
+
export declare const useDynamicFlowModal: (props: DynamicFlowProps) => {
|
|
4
|
+
modal: {
|
|
5
|
+
body: import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
open: boolean;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
onUnmount: () => void;
|
|
9
|
+
};
|
|
10
|
+
controller: {
|
|
11
|
+
getSubmittableValue: () => Promise<JsonElement>;
|
|
12
|
+
validate: () => boolean;
|
|
13
|
+
cancel: () => void;
|
|
14
|
+
};
|
|
15
|
+
view: import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wise/dynamic-flow-client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.1-experimental-ede02d2",
|
|
4
4
|
"description": "Dynamic Flow web client",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./build/main.js",
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@chromatic-com/storybook": "4.1.3",
|
|
35
|
-
"@formatjs/cli": "^6.
|
|
36
|
-
"@storybook/addon-a11y": "^10.
|
|
37
|
-
"@storybook/addon-docs": "^10.
|
|
38
|
-
"@storybook/addon-links": "^10.
|
|
39
|
-
"@storybook/react-vite": "10.
|
|
35
|
+
"@formatjs/cli": "^6.12.0",
|
|
36
|
+
"@storybook/addon-a11y": "^10.2.0",
|
|
37
|
+
"@storybook/addon-docs": "^10.2.0",
|
|
38
|
+
"@storybook/addon-links": "^10.2.0",
|
|
39
|
+
"@storybook/react-vite": "10.2.0",
|
|
40
40
|
"@testing-library/dom": "10.4.1",
|
|
41
41
|
"@testing-library/jest-dom": "6.9.1",
|
|
42
|
-
"@testing-library/react": "16.3.
|
|
42
|
+
"@testing-library/react": "16.3.2",
|
|
43
43
|
"@testing-library/user-event": "14.6.1",
|
|
44
44
|
"@transferwise/components": "^46.121.1",
|
|
45
45
|
"@transferwise/formatting": "^2.13.4",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"@wise/art": "2.26.0",
|
|
55
55
|
"@wise/components-theming": "^1.10.0",
|
|
56
56
|
"esbuild": "0.27.0",
|
|
57
|
-
"eslint-plugin-storybook": "10.
|
|
58
|
-
"framer-motion": "^12.
|
|
57
|
+
"eslint-plugin-storybook": "10.2.0",
|
|
58
|
+
"framer-motion": "^12.29.0",
|
|
59
59
|
"npm-run-all2": "8.0.4",
|
|
60
60
|
"postcss": "^8.5.6",
|
|
61
61
|
"postcss-cli": "^11.0.1",
|
|
@@ -63,14 +63,14 @@
|
|
|
63
63
|
"react": "18.3.1",
|
|
64
64
|
"react-dom": "18.3.1",
|
|
65
65
|
"react-intl": "6.8.9",
|
|
66
|
-
"storybook": "^10.
|
|
66
|
+
"storybook": "^10.2.0",
|
|
67
67
|
"stylelint": "16.26.1",
|
|
68
68
|
"stylelint-config-standard": "36.0.1",
|
|
69
69
|
"stylelint-no-unsupported-browser-features": "8.0.5",
|
|
70
|
-
"stylelint-value-no-unknown-custom-properties": "6.1.
|
|
70
|
+
"stylelint-value-no-unknown-custom-properties": "6.1.1",
|
|
71
71
|
"tsx": "4.21.0",
|
|
72
72
|
"typescript": "5.9.3",
|
|
73
|
-
"vitest": "4.0.
|
|
73
|
+
"vitest": "4.0.18",
|
|
74
74
|
"vitest-fetch-mock": "0.4.5",
|
|
75
75
|
"@wise/dynamic-flow-fixtures": "0.0.1",
|
|
76
76
|
"@wise/dynamic-flow-renderers": "0.0.0"
|
|
@@ -83,10 +83,10 @@
|
|
|
83
83
|
"@wise/art": "^2.19.0",
|
|
84
84
|
"react": "^18",
|
|
85
85
|
"react-dom": "^18",
|
|
86
|
-
"react-intl": "^6"
|
|
86
|
+
"react-intl": "^6 || ^7"
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
|
-
"@wise/dynamic-flow-types": "4.
|
|
89
|
+
"@wise/dynamic-flow-types": "4.5.0"
|
|
90
90
|
},
|
|
91
91
|
"scripts": {
|
|
92
92
|
"dev": "EXCLUDE_VISUAL_TESTS=true pnpm storybook dev -p 3003",
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { Action, ErrorResponseBody, Model, Step } from '@wise/dynamic-flow-types/spec';
|
|
2
|
-
import type { AnalyticsEventDispatcher, LoggingEventDispatcher } from '../domain/features/events';
|
|
3
|
-
import { SubmissionRequestCache } from '../domain/prefetching/request-cache';
|
|
4
|
-
import type { Behavior } from '../domain/types';
|
|
5
|
-
import { HttpClient } from '../types';
|
|
6
|
-
type Command = {
|
|
7
|
-
type: 'complete';
|
|
8
|
-
result: Model;
|
|
9
|
-
} | {
|
|
10
|
-
type: 'replace-step';
|
|
11
|
-
step: Step;
|
|
12
|
-
etag: string | null;
|
|
13
|
-
} | {
|
|
14
|
-
type: 'error';
|
|
15
|
-
body?: {
|
|
16
|
-
analytics?: ErrorResponseBody['analytics'];
|
|
17
|
-
errors?: Step['errors'];
|
|
18
|
-
};
|
|
19
|
-
httpError?: {
|
|
20
|
-
message?: string;
|
|
21
|
-
statusCode?: number;
|
|
22
|
-
};
|
|
23
|
-
} | {
|
|
24
|
-
type: 'refresh';
|
|
25
|
-
body: {
|
|
26
|
-
refreshUrl: string;
|
|
27
|
-
errors?: Step['errors'];
|
|
28
|
-
};
|
|
29
|
-
} | {
|
|
30
|
-
type: 'behavior';
|
|
31
|
-
behavior: Behavior;
|
|
32
|
-
};
|
|
33
|
-
export declare const executeSubmission: (props: {
|
|
34
|
-
action: Action;
|
|
35
|
-
model: Model;
|
|
36
|
-
isInitial: boolean;
|
|
37
|
-
requestCache: SubmissionRequestCache | undefined;
|
|
38
|
-
httpClient: HttpClient;
|
|
39
|
-
trackEvent: AnalyticsEventDispatcher;
|
|
40
|
-
logEvent: LoggingEventDispatcher;
|
|
41
|
-
}) => Promise<Command>;
|
|
42
|
-
export {};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { RootDomainComponent } from './domain/components/RootDomainComponent';
|
|
2
|
-
import { FeatureFlags } from './domain/mappers/utils/FeatureFlags';
|
|
3
|
-
import type { OnValueChange, ScrollToTop } from './domain/types';
|
|
4
|
-
import type { DynamicFlowCoreProps } from './types';
|
|
5
|
-
type UseDynamicFlowCoreProps = Omit<DynamicFlowCoreProps, 'renderers' | 'features'> & {
|
|
6
|
-
features: FeatureFlags;
|
|
7
|
-
onValueChange?: OnValueChange;
|
|
8
|
-
scrollToTop?: ScrollToTop;
|
|
9
|
-
onLink: (url: string) => boolean;
|
|
10
|
-
};
|
|
11
|
-
export declare function useDynamicFlowController(props: UseDynamicFlowCoreProps): {
|
|
12
|
-
rootComponent: RootDomainComponent;
|
|
13
|
-
cancel: () => void;
|
|
14
|
-
};
|
|
15
|
-
export {};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|