@wise/dynamic-flow-types 3.1.0 → 3.1.2

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,9 +1,11 @@
1
1
  import { BaseInputRendererProps } from './BaseInputRendererProps';
2
+ import { Suggestions } from './Suggestions';
2
3
  export type DateInputRendererProps = BaseInputRendererProps & {
3
4
  type: 'input-date';
4
5
  autoComplete: string;
5
6
  maximumDate?: string;
6
7
  minimumDate?: string;
8
+ suggestions?: Suggestions;
7
9
  value: string | null;
8
10
  onChange: (value: string | null) => void;
9
11
  };
@@ -1,9 +1,10 @@
1
- import { Margin, Size } from './constants';
1
+ import { Align, Margin, Size } from './constants';
2
2
  import { BaseRendererProps } from './RendererProps';
3
3
  export type ImageRendererProps = BaseRendererProps & {
4
4
  type: 'image';
5
5
  control?: string;
6
6
  accessibilityDescription?: string;
7
+ align: Align;
7
8
  size: Size;
8
9
  margin: Margin;
9
10
  uri: string;
@@ -1,14 +1,13 @@
1
1
  import { AlertRendererProps } from './AlertRendererProps';
2
- import { CheckboxInputRendererProps } from './CheckboxInputRendererProps';
3
2
  import { BoxRendererProps } from './BoxRendererProps';
4
3
  import { ButtonRendererProps } from './ButtonRendererProps';
4
+ import { CheckboxInputRendererProps } from './CheckboxInputRendererProps';
5
5
  import { ColumnsRendererProps } from './ColumnsRendererProps';
6
6
  import { CoreContainerRendererProps } from './CoreContainerRendererProps';
7
7
  import { DateInputRendererProps } from './DateInputRendererProps';
8
8
  import { DecisionRendererProps } from './DecisionRendererProps';
9
9
  import { DividerRendererProps } from './DividerRendererProps';
10
10
  import { FormRendererProps } from './FormRendererProps';
11
- import { SectionRendererProps } from './SectionRendererProps';
12
11
  import { HeadingRendererProps } from './HeadingRendererProps';
13
12
  import { HiddenRendererProps } from './HiddenRendererProps';
14
13
  import { ImageRendererProps } from './ImageRendererProps';
@@ -24,13 +23,15 @@ import { NumberInputRendererProps } from './NumberInputRendererProps';
24
23
  import { ParagraphRendererProps } from './ParagraphRendererProps';
25
24
  import { RepeatableRendererProps } from './RepeatableRendererProps';
26
25
  import { ReviewRendererProps } from './ReviewRendererProps';
26
+ import { RootRendererProps } from './RootRendererProps';
27
27
  import { SearchRendererProps } from './SearchRendererProps';
28
+ import { SectionRendererProps } from './SectionRendererProps';
28
29
  import { SelectInputRendererProps } from './SelectInputRendererProps';
29
30
  import { StatusListRendererProps } from './StatusListRendererProps';
30
31
  import { AnalyticsEventDispatcher, LoadingState, StepRendererProps } from './StepRendererProps';
31
32
  import { TextInputRendererProps } from './TextInputRendererProps';
32
33
  import { UploadInputRendererProps } from './UploadInputRendererProps';
33
- export type RendererProps = AlertRendererProps | CheckboxInputRendererProps | BoxRendererProps | ButtonRendererProps | ColumnsRendererProps | CoreContainerRendererProps | DateInputRendererProps | DecisionRendererProps | DividerRendererProps | FormRendererProps | HeadingRendererProps | HiddenRendererProps | ImageRendererProps | InstructionsRendererProps | IntegerInputRendererProps | ListRendererProps | LoadingIndicatorRendererProps | MarkdownRendererProps | ModalRendererProps | MultiSelectInputRendererProps | MultiUploadInputRendererProps | NumberInputRendererProps | ParagraphRendererProps | RepeatableRendererProps | ReviewRendererProps | SearchRendererProps | SectionRendererProps | SelectInputRendererProps | StatusListRendererProps | StepRendererProps | TextInputRendererProps | UploadInputRendererProps;
34
+ export type RendererProps = AlertRendererProps | CheckboxInputRendererProps | BoxRendererProps | ButtonRendererProps | ColumnsRendererProps | CoreContainerRendererProps | DateInputRendererProps | DecisionRendererProps | DividerRendererProps | FormRendererProps | HeadingRendererProps | HiddenRendererProps | ImageRendererProps | InstructionsRendererProps | IntegerInputRendererProps | ListRendererProps | LoadingIndicatorRendererProps | MarkdownRendererProps | ModalRendererProps | MultiSelectInputRendererProps | MultiUploadInputRendererProps | NumberInputRendererProps | ParagraphRendererProps | RepeatableRendererProps | ReviewRendererProps | RootRendererProps | SearchRendererProps | SectionRendererProps | SelectInputRendererProps | StatusListRendererProps | StepRendererProps | TextInputRendererProps | UploadInputRendererProps;
34
35
  export type Renderer<P extends RendererProps> = {
35
36
  canRenderType: P['type'];
36
37
  canRender?: (props: P) => boolean;
@@ -40,7 +41,7 @@ export type RendererContext = {
40
41
  render: RenderFunction;
41
42
  };
42
43
  export type RenderFunction = (props: RendererProps | null) => JSX.Element | null;
43
- export type Renderers = readonly (Renderer<StepRendererProps> | Renderer<CoreContainerRendererProps> | Renderer<AlertRendererProps> | Renderer<BoxRendererProps> | Renderer<ColumnsRendererProps> | Renderer<DecisionRendererProps> | Renderer<DividerRendererProps> | Renderer<FormRendererProps> | Renderer<HeadingRendererProps> | Renderer<InstructionsRendererProps> | Renderer<ListRendererProps> | Renderer<LoadingIndicatorRendererProps> | Renderer<MarkdownRendererProps> | Renderer<ImageRendererProps> | Renderer<ModalRendererProps> | Renderer<ParagraphRendererProps> | Renderer<ReviewRendererProps> | Renderer<SearchRendererProps> | Renderer<StatusListRendererProps> | Renderer<CheckboxInputRendererProps> | Renderer<ButtonRendererProps> | Renderer<DateInputRendererProps> | Renderer<HiddenRendererProps> | Renderer<IntegerInputRendererProps> | Renderer<NumberInputRendererProps> | Renderer<RepeatableRendererProps> | Renderer<SectionRendererProps> | Renderer<SelectInputRendererProps> | Renderer<MultiSelectInputRendererProps> | Renderer<TextInputRendererProps> | Renderer<UploadInputRendererProps> | Renderer<MultiUploadInputRendererProps>)[];
44
+ export type Renderers = readonly (Renderer<StepRendererProps> | Renderer<CoreContainerRendererProps> | Renderer<AlertRendererProps> | Renderer<BoxRendererProps> | Renderer<ColumnsRendererProps> | Renderer<DecisionRendererProps> | Renderer<DividerRendererProps> | Renderer<FormRendererProps> | Renderer<HeadingRendererProps> | Renderer<InstructionsRendererProps> | Renderer<ListRendererProps> | Renderer<LoadingIndicatorRendererProps> | Renderer<MarkdownRendererProps> | Renderer<ImageRendererProps> | Renderer<ModalRendererProps> | Renderer<ParagraphRendererProps> | Renderer<ReviewRendererProps> | Renderer<SearchRendererProps> | Renderer<StatusListRendererProps> | Renderer<CheckboxInputRendererProps> | Renderer<ButtonRendererProps> | Renderer<DateInputRendererProps> | Renderer<HiddenRendererProps> | Renderer<IntegerInputRendererProps> | Renderer<NumberInputRendererProps> | Renderer<RepeatableRendererProps> | Renderer<RootRendererProps> | Renderer<SectionRendererProps> | Renderer<SelectInputRendererProps> | Renderer<MultiSelectInputRendererProps> | Renderer<TextInputRendererProps> | Renderer<UploadInputRendererProps> | Renderer<MultiUploadInputRendererProps>)[];
44
45
  export type BaseRendererProps = {
45
46
  uid: string;
46
47
  render: RenderFunction;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { RendererProps } from './RendererProps';
3
+ export type RootRendererProps = {
4
+ type: 'root';
5
+ uid: string;
6
+ children: ReactNode;
7
+ childrenProps: RendererProps[];
8
+ };
@@ -2,13 +2,17 @@ import type { Action, Step } from '../next';
2
2
  import type { ReactNode } from 'react';
3
3
  import { BaseRendererProps, RendererProps } from './RendererProps';
4
4
  export type AnalyticsEventDispatcher = (eventName: string, properties?: Record<string, unknown>) => void;
5
- export type LoadingState = 'idle' | 'submitting' | 'refreshing';
5
+ export type LoadingState = 'idle' | 'initial' | 'submitting' | 'refreshing';
6
6
  /**
7
7
  * @experimental Likely to change as we align across platform. Consider this before
8
8
  * implementing a cusotm Step Renderer.
9
9
  */
10
10
  export type StepRendererProps = BaseRendererProps & {
11
11
  type: 'step';
12
+ /**
13
+ * The step id from the spec Step object.
14
+ */
15
+ id: string;
12
16
  control?: string;
13
17
  back?: {
14
18
  title?: string;
@@ -0,0 +1,13 @@
1
+ import { JsonElement } from '../next';
2
+ import { Icon } from './Icon';
3
+ import { Image } from './Image';
4
+ export type Suggestions = {
5
+ values: SuggestionValue[];
6
+ };
7
+ export type SuggestionValue = {
8
+ label: string;
9
+ value?: JsonElement;
10
+ icon?: Icon;
11
+ image?: Image;
12
+ tag?: string;
13
+ };
@@ -1,5 +1,6 @@
1
1
  import { BaseInputRendererProps } from './BaseInputRendererProps';
2
2
  import { Autocapitalization } from './constants';
3
+ import { Suggestions } from './Suggestions';
3
4
  /**
4
5
  * Known values for "control" are: 'password' | 'textarea' | 'email' | 'numeric' | 'phone-number'.
5
6
  */
@@ -11,5 +12,6 @@ export type TextInputRendererProps = BaseInputRendererProps & {
11
12
  value: string | null;
12
13
  maxLength?: number;
13
14
  minLength?: number;
15
+ suggestions?: Suggestions;
14
16
  onChange: (value: string | null) => void;
15
17
  };
@@ -24,6 +24,7 @@ export type { NumberInputRendererProps } from './NumberInputRendererProps';
24
24
  export type { ParagraphRendererProps } from './ParagraphRendererProps';
25
25
  export type { RepeatableRendererProps, RepeatableItemRendererProps, } from './RepeatableRendererProps';
26
26
  export type { ReviewRendererProps, ReviewField, ReviewCallToAction } from './ReviewRendererProps';
27
+ export type { RootRendererProps } from './RootRendererProps';
27
28
  export type { SearchRendererProps, SearchResult, SearchState, ErrorSearchState, PendingSearchState, NoResultsSearchState, ResultsSearchState, } from './SearchRendererProps';
28
29
  export type { SelectInputRendererProps, SelectInputRendererOption, } from './SelectInputRendererProps';
29
30
  export type { StatusListRendererProps, StatusListItem, StatusListItemCallToAction, StatusListItemStatus, } from './StatusListRendererProps';