@wise/dynamic-flow-types 3.17.0 → 3.19.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.
Files changed (31) hide show
  1. package/build/main.js +50 -14
  2. package/build/main.mjs +50 -14
  3. package/build/next/feature/Polling.d.ts +8 -6
  4. package/build/next/feature/RefreshBehavior.d.ts +1 -1
  5. package/build/next/index.d.ts +1 -0
  6. package/build/next/layout/MarkdownLayout.d.ts +4 -0
  7. package/build/next/layout/ParagraphLayout.d.ts +4 -0
  8. package/build/next/schema/AllOfSchema.d.ts +15 -0
  9. package/build/next/schema/ArraySchemaList.d.ts +15 -0
  10. package/build/next/schema/ArraySchemaTuple.d.ts +15 -0
  11. package/build/next/schema/BlobSchema.d.ts +15 -0
  12. package/build/next/schema/BooleanSchema.d.ts +15 -0
  13. package/build/next/schema/ConstSchema.d.ts +19 -4
  14. package/build/next/schema/IntegerSchema.d.ts +15 -0
  15. package/build/next/schema/NumberSchema.d.ts +15 -0
  16. package/build/next/schema/ObjectSchema.d.ts +15 -0
  17. package/build/next/schema/OneOfSchema.d.ts +15 -0
  18. package/build/next/schema/StringSchema.d.ts +15 -0
  19. package/build/next/step/Step.d.ts +1 -1
  20. package/build/renderers/CheckboxInputRendererProps.d.ts +4 -0
  21. package/build/renderers/DecisionRendererProps.d.ts +0 -3
  22. package/build/renderers/FormSectionRendererProps.d.ts +5 -5
  23. package/build/renderers/MarkdownRendererProps.d.ts +2 -1
  24. package/build/renderers/MoneyInputRendererProps.d.ts +29 -0
  25. package/build/renderers/ParagraphRendererProps.d.ts +2 -1
  26. package/build/renderers/RendererProps.d.ts +3 -2
  27. package/build/renderers/SelectInputRendererProps.d.ts +7 -2
  28. package/build/renderers/index.d.ts +1 -0
  29. package/build/zod/schemas.d.ts +6 -0
  30. package/build/zod/schemas.ts +886 -851
  31. package/package.json +1 -1
@@ -13,6 +13,8 @@ import type { Help } from '../feature/Help';
13
13
  import type { Suggestions } from '../feature/Suggestions';
14
14
  import type { Behavior } from '../feature/Behavior';
15
15
  import type { Media } from '../misc/media/Media';
16
+ import type { SupportingValues } from '../misc/SupportingValues';
17
+ import type { InlineAlert } from '../misc/InlineAlert';
16
18
  /**
17
19
  * Represents a string value in the submission.
18
20
  * This could be used for standard text input, or a format can be provided
@@ -232,4 +234,17 @@ export type StringSchema = {
232
234
  * An optional list of identifiers used to configure renderers.
233
235
  */
234
236
  tags?: string[];
237
+ /**
238
+ * Additional information to be displayed to the user.
239
+ */
240
+ additionalText?: string;
241
+ /**
242
+ * An object containing two strings representing two user-facing values.
243
+ * One being clearly more important than the other.
244
+ */
245
+ supportingValues?: SupportingValues;
246
+ /**
247
+ * An alert that will be displayed inline with the item.
248
+ */
249
+ inlineAlert?: InlineAlert;
235
250
  };
@@ -88,7 +88,7 @@ export type Step = {
88
88
  */
89
89
  navigation?: Navigation;
90
90
  /**
91
- * The URL to use to fetch an updated step when the value of a schema marked refreshStepOnChange is updated.
91
+ * The URL to use to fetch an updated step when a [com.wise.dynamicflow.feature.RefreshBehavior] is triggered, or when the value of a schema marked 'refreshStepOnChange' is updated.
92
92
  */
93
93
  refreshUrl?: string;
94
94
  /**
@@ -1,6 +1,10 @@
1
+ import { InlineAlert, SupportingValues } from './constants';
1
2
  import { BaseInputRendererProps } from './BaseInputRendererProps';
2
3
  export type CheckboxInputRendererProps = BaseInputRendererProps & {
3
4
  type: 'input-checkbox';
5
+ additionalText?: string;
6
+ inlineAlert?: InlineAlert;
7
+ supportingValues?: SupportingValues;
4
8
  value: boolean;
5
9
  onChange: (value: boolean) => void;
6
10
  };
@@ -23,11 +23,8 @@ export type DecisionOption = {
23
23
  tag?: string;
24
24
  tags?: string[];
25
25
  title: string;
26
- /** @experimental This feature may be changed in the future without notice. */
27
26
  additionalText?: string;
28
- /** @experimental This feature may be changed in the future without notice. */
29
27
  supportingValues?: SupportingValues;
30
- /** @experimental This feature may be changed in the future without notice. */
31
28
  inlineAlert?: InlineAlert;
32
29
  onClick: () => void;
33
30
  };
@@ -1,8 +1,8 @@
1
- import { ReactNode } from 'react';
2
- import { Icon } from './Icon';
3
- import { Image } from './Image';
4
- import { BaseRendererProps, RendererProps } from './RendererProps';
5
- import { Media } from './Media';
1
+ import type { ReactNode } from 'react';
2
+ import type { Icon } from './Icon';
3
+ import type { Image } from './Image';
4
+ import type { BaseRendererProps, RendererProps } from './RendererProps';
5
+ import type { Media } from './Media';
6
6
  export type FormSectionRendererProps = BaseRendererProps & {
7
7
  type: 'form-section';
8
8
  control?: string;
@@ -1,4 +1,4 @@
1
- import { Align, Margin } from './constants';
1
+ import { Align, Margin, Size } from './constants';
2
2
  import { BaseRendererProps } from './RendererProps';
3
3
  export type MarkdownRendererProps = BaseRendererProps & {
4
4
  type: 'markdown';
@@ -6,4 +6,5 @@ export type MarkdownRendererProps = BaseRendererProps & {
6
6
  align: Align;
7
7
  margin: Margin;
8
8
  content: string;
9
+ size: Size;
9
10
  };
@@ -0,0 +1,29 @@
1
+ import { Media, ValidationResult } from '.';
2
+ import { JsonElement } from '../next';
3
+ import type { BaseRendererProps } from './RendererProps';
4
+ export type MoneyInputRendererProps = BaseRendererProps & {
5
+ type: 'money-input';
6
+ control?: string;
7
+ title?: string;
8
+ description?: string;
9
+ help?: string;
10
+ amountValue: string | null;
11
+ selectedCurrencyIndex: number | null;
12
+ onAmountChange: (value: string) => void;
13
+ onCurrencyChange: (index: number | null) => void;
14
+ currencies: CurrencyOption[];
15
+ validationState?: ValidationResult;
16
+ placeholder?: string;
17
+ disabled: boolean;
18
+ tags?: string[];
19
+ };
20
+ type CurrencyOption = {
21
+ analyticsId?: string;
22
+ currencyCode: JsonElement;
23
+ title?: string;
24
+ description?: string;
25
+ keywords?: string[];
26
+ media?: Media;
27
+ tags?: string[];
28
+ };
29
+ export {};
@@ -1,4 +1,4 @@
1
- import { Align, Margin } from './constants';
1
+ import { Align, Margin, Size } from './constants';
2
2
  import { BaseRendererProps } from './RendererProps';
3
3
  /**
4
4
  * Known values for "control" are: 'copyable'.
@@ -9,4 +9,5 @@ export type ParagraphRendererProps = BaseRendererProps & {
9
9
  align: Align;
10
10
  margin: Margin;
11
11
  text: string;
12
+ size: Size;
12
13
  };
@@ -20,6 +20,7 @@ import type { LoadingIndicatorRendererProps } from './LoadingIndicatorRendererPr
20
20
  import type { MarkdownRendererProps } from './MarkdownRendererProps';
21
21
  import type { ModalLayoutRendererProps } from './ModalLayoutRendererProps';
22
22
  import type { ModalRendererProps } from './ModalRendererProps';
23
+ import type { MoneyInputRendererProps } from './MoneyInputRendererProps';
23
24
  import type { MultiSelectInputRendererProps } from './MultiSelectInputRendererProps';
24
25
  import type { MultiUploadInputRendererProps } from './MultiUploadInputRendererProps';
25
26
  import type { NumberInputRendererProps } from './NumberInputRendererProps';
@@ -36,7 +37,7 @@ import type { AnalyticsEventDispatcher, LoadingState, StepRendererProps } from '
36
37
  import { TabsRendererProps } from './TabsRendererProps';
37
38
  import type { TextInputRendererProps } from './TextInputRendererProps';
38
39
  import type { UploadInputRendererProps } from './UploadInputRendererProps';
39
- export type RendererProps = AlertRendererProps | CheckboxInputRendererProps | BoxRendererProps | ButtonRendererProps | ColumnsRendererProps | CoreContainerRendererProps | DateInputRendererProps | DecisionRendererProps | DividerRendererProps | ExternalConfirmationRendererProps | FormRendererProps | HeadingRendererProps | HiddenRendererProps | ImageRendererProps | InstructionsRendererProps | IntegerInputRendererProps | ListRendererProps | LoadingIndicatorRendererProps | MarkdownRendererProps | ModalLayoutRendererProps | ModalRendererProps | MultiSelectInputRendererProps | MultiUploadInputRendererProps | NumberInputRendererProps | ParagraphRendererProps | ProgressRendererProps | RepeatableRendererProps | ReviewRendererProps | RootRendererProps | SearchRendererProps | FormSectionRendererProps | SelectInputRendererProps | SectionRendererProps | StatusListRendererProps | StepRendererProps | TabsRendererProps | TextInputRendererProps | UploadInputRendererProps;
40
+ export type RendererProps = AlertRendererProps | CheckboxInputRendererProps | BoxRendererProps | ButtonRendererProps | ColumnsRendererProps | CoreContainerRendererProps | DateInputRendererProps | DecisionRendererProps | DividerRendererProps | ExternalConfirmationRendererProps | FormRendererProps | HeadingRendererProps | HiddenRendererProps | ImageRendererProps | InstructionsRendererProps | IntegerInputRendererProps | ListRendererProps | LoadingIndicatorRendererProps | MarkdownRendererProps | ModalLayoutRendererProps | ModalRendererProps | MoneyInputRendererProps | MultiSelectInputRendererProps | MultiUploadInputRendererProps | NumberInputRendererProps | ParagraphRendererProps | ProgressRendererProps | RepeatableRendererProps | ReviewRendererProps | RootRendererProps | SearchRendererProps | FormSectionRendererProps | SelectInputRendererProps | SectionRendererProps | StatusListRendererProps | StepRendererProps | TabsRendererProps | TextInputRendererProps | UploadInputRendererProps;
40
41
  export type Renderer<P extends RendererProps> = {
41
42
  canRenderType: P['type'];
42
43
  canRender?: (props: P) => boolean;
@@ -46,7 +47,7 @@ export type RendererContext = {
46
47
  render: RenderFunction;
47
48
  };
48
49
  export type RenderFunction = (props: RendererProps | null) => JSX.Element | null;
49
- export type Renderers = readonly (Renderer<StepRendererProps> | Renderer<CoreContainerRendererProps> | Renderer<AlertRendererProps> | Renderer<BoxRendererProps> | Renderer<ColumnsRendererProps> | Renderer<DecisionRendererProps> | Renderer<DividerRendererProps> | Renderer<ExternalConfirmationRendererProps> | Renderer<FormRendererProps> | Renderer<HeadingRendererProps> | Renderer<InstructionsRendererProps> | Renderer<ListRendererProps> | Renderer<LoadingIndicatorRendererProps> | Renderer<MarkdownRendererProps> | Renderer<ImageRendererProps> | Renderer<ModalLayoutRendererProps> | Renderer<ModalRendererProps> | Renderer<ParagraphRendererProps> | Renderer<ProgressRendererProps> | Renderer<ReviewRendererProps> | Renderer<SearchRendererProps> | Renderer<StatusListRendererProps> | Renderer<CheckboxInputRendererProps> | Renderer<ButtonRendererProps> | Renderer<DateInputRendererProps> | Renderer<HiddenRendererProps> | Renderer<IntegerInputRendererProps> | Renderer<NumberInputRendererProps> | Renderer<RepeatableRendererProps> | Renderer<RootRendererProps> | Renderer<FormSectionRendererProps> | Renderer<SelectInputRendererProps> | Renderer<SectionRendererProps> | Renderer<MultiSelectInputRendererProps> | Renderer<TabsRendererProps> | Renderer<TextInputRendererProps> | Renderer<UploadInputRendererProps> | Renderer<MultiUploadInputRendererProps>)[];
50
+ export type Renderers = readonly (Renderer<StepRendererProps> | Renderer<CoreContainerRendererProps> | Renderer<AlertRendererProps> | Renderer<BoxRendererProps> | Renderer<ColumnsRendererProps> | Renderer<DecisionRendererProps> | Renderer<DividerRendererProps> | Renderer<ExternalConfirmationRendererProps> | Renderer<FormRendererProps> | Renderer<HeadingRendererProps> | Renderer<InstructionsRendererProps> | Renderer<ListRendererProps> | Renderer<LoadingIndicatorRendererProps> | Renderer<MarkdownRendererProps> | Renderer<ImageRendererProps> | Renderer<ModalLayoutRendererProps> | Renderer<ModalRendererProps> | Renderer<ParagraphRendererProps> | Renderer<ProgressRendererProps> | Renderer<ReviewRendererProps> | Renderer<SearchRendererProps> | Renderer<StatusListRendererProps> | Renderer<CheckboxInputRendererProps> | Renderer<ButtonRendererProps> | Renderer<DateInputRendererProps> | Renderer<HiddenRendererProps> | Renderer<IntegerInputRendererProps> | Renderer<MoneyInputRendererProps> | Renderer<NumberInputRendererProps> | Renderer<RepeatableRendererProps> | Renderer<RootRendererProps> | Renderer<FormSectionRendererProps> | Renderer<SelectInputRendererProps> | Renderer<SectionRendererProps> | Renderer<MultiSelectInputRendererProps> | Renderer<TabsRendererProps> | Renderer<TextInputRendererProps> | Renderer<UploadInputRendererProps> | Renderer<MultiUploadInputRendererProps>)[];
50
51
  export type BaseRendererProps = {
51
52
  uid: string;
52
53
  analyticsId?: string;
@@ -4,6 +4,7 @@ import { Icon } from './Icon';
4
4
  import { Image } from './Image';
5
5
  import { RendererProps } from './RendererProps';
6
6
  import { Media } from '.';
7
+ import { InlineAlert, SupportingValues } from './constants';
7
8
  export type SelectInputRendererProps = BaseInputRendererProps & {
8
9
  type: 'input-select';
9
10
  autoComplete: string;
@@ -14,12 +15,16 @@ export type SelectInputRendererProps = BaseInputRendererProps & {
14
15
  onSelect: (index: number | null) => void;
15
16
  };
16
17
  export type SelectInputRendererOption = {
18
+ additionalText?: string;
19
+ analyticsId?: string;
17
20
  description?: string;
18
21
  disabled: boolean;
19
22
  icon?: Icon;
20
23
  image?: Image;
21
- media?: Media;
24
+ inlineAlert?: InlineAlert;
22
25
  keywords: string[];
23
- title: string;
26
+ media?: Media;
27
+ supportingValues?: SupportingValues;
24
28
  tags?: string[];
29
+ title: string;
25
30
  };
@@ -21,6 +21,7 @@ export type { LoadingIndicatorRendererProps } from './LoadingIndicatorRendererPr
21
21
  export type { MarkdownRendererProps } from './MarkdownRendererProps';
22
22
  export type { ModalLayoutRendererProps } from './ModalLayoutRendererProps';
23
23
  export type { ModalRendererProps } from './ModalRendererProps';
24
+ export type { MoneyInputRendererProps } from './MoneyInputRendererProps';
24
25
  export type { MultiSelectInputRendererProps } from './MultiSelectInputRendererProps';
25
26
  export type { MultiUploadInputRendererProps } from './MultiUploadInputRendererProps';
26
27
  export type { NumberInputRendererProps } from './NumberInputRendererProps';
@@ -216,11 +216,13 @@ export declare const paragraphLayoutSchema: z.ZodObject<{
216
216
  margin: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"xs">, z.ZodLiteral<"sm">, z.ZodLiteral<"md">, z.ZodLiteral<"lg">, z.ZodLiteral<"xl">]>>;
217
217
  analyticsId: z.ZodOptional<z.ZodString>;
218
218
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
219
+ size: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"xs">, z.ZodLiteral<"sm">, z.ZodLiteral<"md">, z.ZodLiteral<"lg">, z.ZodLiteral<"xl">]>>;
219
220
  }, "strip", z.ZodTypeAny, {
220
221
  type: "paragraph";
221
222
  text: string;
222
223
  analyticsId?: string | undefined;
223
224
  control?: string | undefined;
225
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
224
226
  margin?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
225
227
  tags?: string[] | undefined;
226
228
  align?: "left" | "right" | "center" | undefined;
@@ -229,6 +231,7 @@ export declare const paragraphLayoutSchema: z.ZodObject<{
229
231
  text: string;
230
232
  analyticsId?: string | undefined;
231
233
  control?: string | undefined;
234
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
232
235
  margin?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
233
236
  tags?: string[] | undefined;
234
237
  align?: "left" | "right" | "center" | undefined;
@@ -541,11 +544,13 @@ export declare const markdownLayoutSchema: z.ZodObject<{
541
544
  margin: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"xs">, z.ZodLiteral<"sm">, z.ZodLiteral<"md">, z.ZodLiteral<"lg">, z.ZodLiteral<"xl">]>>;
542
545
  analyticsId: z.ZodOptional<z.ZodString>;
543
546
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
547
+ size: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"xs">, z.ZodLiteral<"sm">, z.ZodLiteral<"md">, z.ZodLiteral<"lg">, z.ZodLiteral<"xl">]>>;
544
548
  }, "strip", z.ZodTypeAny, {
545
549
  type: "markdown";
546
550
  content: string;
547
551
  analyticsId?: string | undefined;
548
552
  control?: string | undefined;
553
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
549
554
  margin?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
550
555
  tags?: string[] | undefined;
551
556
  align?: "left" | "right" | "center" | undefined;
@@ -554,6 +559,7 @@ export declare const markdownLayoutSchema: z.ZodObject<{
554
559
  content: string;
555
560
  analyticsId?: string | undefined;
556
561
  control?: string | undefined;
562
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
557
563
  margin?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
558
564
  tags?: string[] | undefined;
559
565
  align?: "left" | "right" | "center" | undefined;