@wise/dynamic-flow-types 2.2.1 → 2.3.1

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,4 +1,4 @@
1
- import { HttpMethod } from './core';
1
+ import type { HttpMethod } from './core';
2
2
  type CoreAction = {
3
3
  id?: string;
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { ImageLayout } from './LayoutComponent';
2
- import { StringSchema } from './Schema';
1
+ import type { ImageLayout } from './LayoutComponent';
2
+ import type { StringSchema } from './Schema';
3
3
  export type FileUploadSchema = Omit<StringSchema, 'type' | 'format' | 'source' | 'image' | 'cameraConfig'> & {
4
4
  type: 'string';
5
5
  format: 'base64url';
@@ -1,9 +1,9 @@
1
- import { Action } from './Action';
2
- import { ExternalStepPollingConfiguration, ExternalStepPollingResponseHandler } from './Polling';
3
- import { Schema } from './Schema';
4
- import { SearchConfig } from './Search';
5
- import { Margin, Size, Icon, Image, Align, Orientation, Reference, Alert, Help } from './core';
6
- export type LayoutComponent = AlertLayout | BoxLayout | ButtonLayout | ColumnsLayout | DecisionLayout | DividerLayout | ExternalLayout | FormLayout | HeadingLayout | ImageLayout | InfoLayout | InstructionsLayout | ListLayout | LoadingIndicatorLayout | MarkdownLayout | ParagraphLayout | ReviewLayout | StatusListLayout | SearchLayout;
1
+ import type { Action } from './Action';
2
+ import type { ExternalStepPollingConfiguration, ExternalStepPollingResponseHandler } from './Polling';
3
+ import type { Schema } from './Schema';
4
+ import type { SearchConfig } from './Search';
5
+ import type { Margin, Size, Icon, Image, Align, Orientation, Reference, Alert, Help } from './core';
6
+ export type LayoutComponent = AlertLayout | BoxLayout | ButtonLayout | ColumnsLayout | DecisionLayout | DividerLayout | ExternalLayout | FormLayout | HeadingLayout | ImageLayout | InfoLayout | InstructionsLayout | ListLayout | LoadingIndicatorLayout | MarkdownLayout | ModalLayout | ParagraphLayout | ReviewLayout | StatusListLayout | SearchLayout;
7
7
  export type AlertLayout = {
8
8
  type: 'alert';
9
9
  } & Alert;
@@ -81,6 +81,7 @@ export type HeadingLayout = {
81
81
  text: string;
82
82
  margin?: Margin;
83
83
  align?: Align;
84
+ control?: string;
84
85
  };
85
86
  export type ImageLayout = {
86
87
  type: 'image';
@@ -96,6 +97,9 @@ export type ImageLayout = {
96
97
  */
97
98
  accessibilityDescription?: string;
98
99
  };
100
+ /**
101
+ * @deprecated Please use MarkdownLayout instead
102
+ */
99
103
  export type InfoLayout = {
100
104
  type: 'info';
101
105
  markdown: string;
@@ -146,6 +150,17 @@ export type MarkdownLayout = {
146
150
  margin?: Margin;
147
151
  align?: Align;
148
152
  };
153
+ export type ModalLayout = {
154
+ type: 'modal';
155
+ control?: string;
156
+ trigger: {
157
+ title: string;
158
+ };
159
+ content: {
160
+ components: LayoutComponent[];
161
+ };
162
+ margin?: Margin;
163
+ };
149
164
  export type ParagraphLayout = {
150
165
  type: 'paragraph';
151
166
  text: string;
@@ -2,5 +2,5 @@ export type BasicModel = boolean | number | string;
2
2
  export type ObjectModel = {
3
3
  [key: string]: Model;
4
4
  };
5
- export type ArrayModel = Array<Model | null>;
5
+ export type ArrayModel = (Model | null)[];
6
6
  export type Model = BasicModel | ObjectModel | ArrayModel | null;
@@ -1,4 +1,4 @@
1
- import { Action } from './Action';
1
+ import type { Action } from './Action';
2
2
  export type Navigation = {
3
3
  back?: BackBehaviour;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Schema } from './Schema';
1
+ import type { Schema } from './Schema';
2
2
  export type PersistAsync = {
3
3
  idProperty: string;
4
4
  method?: 'POST' | 'PUT' | 'PATCH';
@@ -1,4 +1,4 @@
1
- import { Action } from './Action';
1
+ import type { Action } from './Action';
2
2
  export type PollingConfiguration = {
3
3
  url: string;
4
4
  interval: number;
@@ -1,4 +1,4 @@
1
- import { Icon, Image } from './core';
1
+ import type { Icon, Image } from './core';
2
2
  export type Promotion = {
3
3
  displayTwice?: boolean;
4
4
  other: {
@@ -1,10 +1,10 @@
1
- import { AutocompleteToken } from './AutocompleteToken';
2
- import { FileUploadSchema } from './FileUploadSchema';
3
- import { Model, ObjectModel } from './Model';
4
- import { PersistAsync } from './PersistAsync';
5
- import { Promotion } from './Promotion';
6
- import { ValidationAsync } from './ValidationAsync';
7
- import { Icon, Image, Alert, Help } from './core';
1
+ import type { AutocompleteToken } from './AutocompleteToken';
2
+ import type { FileUploadSchema } from './FileUploadSchema';
3
+ import type { Model, ObjectModel } from './Model';
4
+ import type { PersistAsync } from './PersistAsync';
5
+ import type { Promotion } from './Promotion';
6
+ import type { ValidationAsync } from './ValidationAsync';
7
+ import type { Icon, Image, Alert, Help } from './core';
8
8
  export type Schema = AllOfSchema | ArraySchema | BlobSchema | BooleanSchema | IntegerSchema | NumberSchema | ObjectSchema | OneOfSchema | StringSchema | ListArraySchema | TupleArraySchema | FileUploadSchema | MultipleFileUploadSchema | ConstSchema;
9
9
  type SchemaBase = {
10
10
  $id?: string;
@@ -1,5 +1,5 @@
1
- import { Action } from './Action';
2
- import { HttpMethod, Icon, Image } from './core';
1
+ import type { Action } from './Action';
2
+ import type { HttpMethod, Icon, Image } from './core';
3
3
  export type SearchConfig = {
4
4
  url: string;
5
5
  method: HttpMethod;
@@ -1,10 +1,10 @@
1
- import { Action } from './Action';
2
- import { LayoutComponent } from './LayoutComponent';
3
- import { ObjectModel } from './Model';
4
- import { Navigation } from './Navigation';
5
- import { ExternalStepPollingConfiguration, ExternalStepPollingResponseHandler, PollingConfiguration } from './Polling';
6
- import { Schema } from './Schema';
7
- import { Image } from './core';
1
+ import type { Action } from './Action';
2
+ import type { LayoutComponent } from './LayoutComponent';
3
+ import type { ObjectModel } from './Model';
4
+ import type { Navigation } from './Navigation';
5
+ import type { ExternalStepPollingConfiguration, ExternalStepPollingResponseHandler, PollingConfiguration } from './Polling';
6
+ import type { Schema } from './Schema';
7
+ import type { Image } from './core';
8
8
  export type Step = FormStep | DecisionStep | ExternalStep | FinalStep;
9
9
  type BaseStep = {
10
10
  id?: string;
@@ -98,10 +98,10 @@ export type LegacyReviewStep = Omit<FormStep, 'actions' | 'schemas' | 'layout'>
98
98
  };
99
99
  export type LegacyReviewFields = {
100
100
  title?: string;
101
- fields: Array<{
101
+ fields: {
102
102
  title: string;
103
103
  value: string;
104
- }>;
104
+ }[];
105
105
  };
106
106
  export type LegacyFormStep = Step & {
107
107
  type?: 'form';
@@ -1,4 +1,4 @@
1
- import { HttpMethod } from './core';
1
+ import type { HttpMethod } from './core';
2
2
  export type ValidationAsync = {
3
3
  param: string;
4
4
  url: string;
@@ -1,6 +1,6 @@
1
- import { Action } from './Action';
2
- import { SearchResult } from './Search';
3
- import { FormErrors, GlobalError } from './Step';
1
+ import type { Action } from './Action';
2
+ import type { SearchResult } from './Search';
3
+ import type { FormErrors, GlobalError } from './Step';
4
4
  export type ActionResponseBody = {
5
5
  action: Action;
6
6
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/dynamic-flow-types",
3
- "version": "2.2.1",
3
+ "version": "2.3.1",
4
4
  "description": "Dynamic Flow TypeScript Types",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -13,14 +13,11 @@
13
13
  "build"
14
14
  ],
15
15
  "devDependencies": {
16
- "@formatjs/cli": "^6.2.3",
17
- "eslint": "8.53.0",
18
- "prettier": "3.1.0",
16
+ "@formatjs/cli": "^6.2.4",
19
17
  "typescript": "4.9.5"
20
18
  },
21
19
  "peerDependencies": {},
22
20
  "dependencies": {},
23
- "prettier": "@transferwise/eslint-config/.prettierrc.js",
24
21
  "scripts": {
25
22
  "dev": "pnpm tsc --noEmit --watch",
26
23
  "test": "pnpm tsc --noEmit",