@wise/dynamic-flow-client 4.2.2 → 4.3.0

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.
@@ -1,7 +1,8 @@
1
1
  import type { Size } from '@wise/dynamic-flow-types/build/next';
2
- import type { LayoutComponent } from '../types';
2
+ import type { Align, LayoutComponent } from '../types';
3
3
  export type ImageComponent = LayoutComponent & {
4
4
  type: 'image';
5
+ align: Align;
5
6
  content: ImageContent;
6
7
  size: Size;
7
8
  };
@@ -9,5 +10,5 @@ type ImageContent = {
9
10
  accessibilityDescription?: string;
10
11
  uri: string;
11
12
  };
12
- export declare const createImageComponent: (imageProps: Pick<ImageComponent, "uid" | "content" | "control" | "margin" | "size">) => ImageComponent;
13
+ export declare const createImageComponent: (imageProps: Pick<ImageComponent, "uid" | "align" | "content" | "control" | "margin" | "size">) => ImageComponent;
13
14
  export {};
@@ -0,0 +1,15 @@
1
+ import { AnalyticsEventDispatcher } from '../features/events';
2
+ import { BaseComponent, DomainComponent, LoadingState, LocalValue } from '../types';
3
+ import { StepDomainComponent } from './StepDomainComponent';
4
+ export type RootDomainComponent = BaseComponent & {
5
+ type: 'root';
6
+ stepComponent: StepDomainComponent | null;
7
+ getChildren: () => DomainComponent[];
8
+ getLocalValue: () => LocalValue;
9
+ getLoadingState: () => LoadingState;
10
+ getTrackEvent: () => AnalyticsEventDispatcher<string> | null;
11
+ setLoadingState: (loadingState: LoadingState) => void;
12
+ hasStep: () => boolean;
13
+ stop: () => void;
14
+ };
15
+ export declare const createRootDomainComponent: () => RootDomainComponent;
@@ -1,2 +1,2 @@
1
1
  import type { ImageLayout } from '@wise/dynamic-flow-types/build/next';
2
- export declare const imageLayoutToComponent: (uid: string, { accessibilityDescription, content, control, margin, size, text, url, }: ImageLayout) => import("../../components/ImageComponent").ImageComponent;
2
+ export declare const imageLayoutToComponent: (uid: string, { accessibilityDescription, align, content, control, margin, size, text, url, }: ImageLayout) => import("../../components/ImageComponent").ImageComponent;
@@ -2,10 +2,10 @@ import type { AnalyticsEventDispatcher } from '../features/events';
2
2
  import type { LoadingState, OnPoll } from '../types';
3
3
  import type { MapperProps } from './schema/types';
4
4
  export type StepMapperProps = Omit<MapperProps, 'trackEvent'> & {
5
- count: number;
5
+ uid: string;
6
6
  displayStepTitle: boolean;
7
7
  loadingState: LoadingState;
8
8
  trackEvent: AnalyticsEventDispatcher<string>;
9
9
  onPoll: OnPoll;
10
10
  };
11
- export declare const mapStepToComponent: ({ count, loadingState, displayStepTitle, trackEvent, onPoll, ...restProps }: StepMapperProps) => import("../components/StepDomainComponent").StepDomainComponent;
11
+ export declare const mapStepToComponent: ({ uid: rootUid, loadingState, displayStepTitle, trackEvent, onPoll, ...restProps }: StepMapperProps) => import("../components/StepDomainComponent").StepDomainComponent;
@@ -33,7 +33,8 @@ import type { TextInputComponent } from './components/TextInputComponent';
33
33
  import { TupleComponent } from './components/TupleComponent';
34
34
  import type { UploadInputComponent } from './components/UploadInputComponent';
35
35
  import { ListComponent } from './components/ListComponent';
36
- export type DomainComponent = StepDomainComponent | AlertComponent | AllOfComponent | BooleanInputComponent | BoxComponent | ButtonComponent | ColumnsComponent | ConstComponent | ContainerComponent | DateInputComponent | DecisionComponent | DividerComponent | FormComponent | HeadingComponent | ImageComponent | InstructionsComponent | IntegerInputComponent | ListComponent | LoadingIndicatorComponent | MarkdownComponent | ModalComponent | MultiSelectComponent | MultiUploadInputComponent | NumberInputComponent | ObjectComponent | ParagraphComponent | RepeatableComponent | ReviewComponent | SearchComponent | SelectInputComponent | StatusListComponent | TextInputComponent | TupleComponent | UploadInputComponent;
36
+ import { RootDomainComponent } from './components/RootDomainComponent';
37
+ export type DomainComponent = RootDomainComponent | StepDomainComponent | AlertComponent | AllOfComponent | BooleanInputComponent | BoxComponent | ButtonComponent | ColumnsComponent | ConstComponent | ContainerComponent | DateInputComponent | DecisionComponent | DividerComponent | FormComponent | HeadingComponent | ImageComponent | InstructionsComponent | IntegerInputComponent | ListComponent | LoadingIndicatorComponent | MarkdownComponent | ModalComponent | MultiSelectComponent | MultiUploadInputComponent | NumberInputComponent | ObjectComponent | ParagraphComponent | RepeatableComponent | ReviewComponent | SearchComponent | SelectInputComponent | StatusListComponent | TextInputComponent | TupleComponent | UploadInputComponent;
37
38
  export type LocalValue = LocalValuePrimitive | LocalValueObject | LocalValueArray;
38
39
  export type LocalValuePrimitive = string | number | boolean | File | null;
39
40
  export interface LocalValueObject extends Record<string, LocalValuePrimitive | LocalValueObject | LocalValueArray> {
@@ -124,4 +125,4 @@ export type ValidationAsyncState = {
124
125
  error?: string;
125
126
  };
126
127
  };
127
- export type LoadingState = 'idle' | 'submitting' | 'refreshing';
128
+ export type LoadingState = 'idle' | 'initial' | 'submitting' | 'refreshing';
@@ -0,0 +1,2 @@
1
+ import { Renderer, RootRendererProps } from '@wise/dynamic-flow-types/build/renderers';
2
+ export declare const CoreRootRenderer: Renderer<RootRendererProps>;
@@ -0,0 +1,4 @@
1
+ import { RootRendererProps } from '@wise/dynamic-flow-types/build/renderers';
2
+ import { RootDomainComponent } from '../../domain/components/RootDomainComponent';
3
+ import { RendererMapperProps } from './componentToRendererProps';
4
+ export declare const rootComponentToProps: (rootComponent: RootDomainComponent, rendererMapperProps: RendererMapperProps) => RootRendererProps;
@@ -1,11 +1,11 @@
1
- import type { StepDomainComponent } from './domain/components/StepDomainComponent';
2
1
  import type { OnValueChange } from './domain/types';
3
2
  import type { DynamicFlowCoreProps } from './types';
3
+ import { RootDomainComponent } from './domain/components/RootDomainComponent';
4
4
  type UseDynamicFlowCoreProps = Omit<DynamicFlowCoreProps, 'renderers'> & {
5
5
  onValueChange?: OnValueChange;
6
6
  onLink: (url: string) => boolean;
7
7
  };
8
8
  export declare function useDynamicFlowCore(props: UseDynamicFlowCoreProps): {
9
- stepComponentRef: import("react").MutableRefObject<StepDomainComponent | null>;
9
+ rootComponent: RootDomainComponent;
10
10
  };
11
11
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/dynamic-flow-client",
3
- "version": "4.2.2",
3
+ "version": "4.3.0",
4
4
  "description": "Dynamic Flow web client",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./build/main.js",
@@ -37,29 +37,29 @@
37
37
  "@babel/preset-react": "7.26.3",
38
38
  "@babel/preset-typescript": "7.26.0",
39
39
  "@chromatic-com/storybook": "3.2.6",
40
- "@formatjs/cli": "^6.6.1",
41
- "@storybook/addon-a11y": "^8.6.7",
42
- "@storybook/addon-actions": "^8.6.7",
43
- "@storybook/addon-essentials": "^8.6.7",
44
- "@storybook/addon-interactions": "^8.6.7",
45
- "@storybook/addon-links": "^8.6.7",
40
+ "@formatjs/cli": "^6.6.2",
41
+ "@storybook/addon-a11y": "^8.6.8",
42
+ "@storybook/addon-actions": "^8.6.8",
43
+ "@storybook/addon-essentials": "^8.6.8",
44
+ "@storybook/addon-interactions": "^8.6.8",
45
+ "@storybook/addon-links": "^8.6.8",
46
46
  "@storybook/addon-webpack5-compiler-babel": "^3.0.5",
47
- "@storybook/manager-api": "^8.6.7",
48
- "@storybook/react": "^8.6.7",
49
- "@storybook/react-webpack5": "^8.6.7",
50
- "@storybook/test": "^8.6.7",
51
- "@storybook/types": "^8.6.7",
47
+ "@storybook/manager-api": "^8.6.8",
48
+ "@storybook/react": "^8.6.8",
49
+ "@storybook/react-webpack5": "^8.6.8",
50
+ "@storybook/test": "^8.6.8",
51
+ "@storybook/types": "^8.6.8",
52
52
  "@testing-library/dom": "10.4.0",
53
53
  "@testing-library/jest-dom": "6.6.3",
54
54
  "@testing-library/react": "16.2.0",
55
55
  "@testing-library/user-event": "14.6.1",
56
- "@transferwise/components": "46.94.1",
56
+ "@transferwise/components": "46.94.2",
57
57
  "@transferwise/formatting": "^2.13.1",
58
58
  "@transferwise/icons": "3.19.1",
59
- "@transferwise/neptune-css": "14.22.0",
60
- "@types/node": "22.13.10",
59
+ "@transferwise/neptune-css": "14.23.0",
60
+ "@types/node": "22.13.12",
61
61
  "@types/jest": "29.5.14",
62
- "@types/react": "18.3.18",
62
+ "@types/react": "18.3.20",
63
63
  "@types/react-dom": "18.3.5",
64
64
  "@types/react-intl": "3.0.0",
65
65
  "@wise/art": "2.20.0",
@@ -77,7 +77,7 @@
77
77
  "react": "18.3.1",
78
78
  "react-dom": "18.3.1",
79
79
  "react-intl": "6.8.9",
80
- "storybook": "^8.6.7",
80
+ "storybook": "^8.6.8",
81
81
  "stylelint": "16.16.0",
82
82
  "stylelint-config-standard": "36.0.1",
83
83
  "stylelint-no-unsupported-browser-features": "8.0.4",