@wise/dynamic-flow-client 4.0.2 → 4.0.3

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,51 +1,51 @@
1
1
  {
2
- "dynamicFlows.ArraySchema.addItem": "Save",
3
- "dynamicFlows.ArraySchema.addItemTitle": "Add Item",
4
- "dynamicFlows.ArraySchema.editItem": "Save",
5
- "dynamicFlows.ArraySchema.maxItemsError": "Please add {maxItems} or fewer.",
6
- "dynamicFlows.ArraySchema.minItemsError": "Please add at least {minItems}.",
7
- "dynamicFlows.ArraySchema.removeItem": "Remove",
8
- "dynamicFlows.CameraCapture.CameraConnectionIssue.action": "Try again",
9
- "dynamicFlows.CameraCapture.CameraConnectionIssue.paragraph": "Please check if it is connected and try again.",
10
- "dynamicFlows.CameraCapture.CameraConnectionIssue.title": "We can't access your camera",
11
- "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "The browser you're using doesn't have support for a camera. Try a different browser, device, or download our mobile app.",
12
- "dynamicFlows.CameraCapture.CameraNotSupported.title": "Camera not supported",
13
- "dynamicFlows.CameraCapture.NoCameraAccess.action": "Enable camera access",
14
- "dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "Enable camera access in your browser's settings to get going again.",
15
- "dynamicFlows.CameraCapture.NoCameraAccess.title": "We can't access your camera",
16
- "dynamicFlows.CameraCapture.reviewInstructions": "Is your picture clear, readable and complete?",
17
- "dynamicFlows.CameraCapture.reviewRetry": "No, try again",
18
- "dynamicFlows.CameraCapture.reviewSubmit": "Yes, submit",
19
- "dynamicFlows.CameraCapture.rotatePhone.text": "Rotate your phone to portrait view to take a photo",
20
- "dynamicFlows.ControlFeedback.maxLength": "Please enter {maxLength} or fewer characters.",
21
- "dynamicFlows.ControlFeedback.maximum": "Please enter a number that's {maximum} or less.",
22
- "dynamicFlows.ControlFeedback.maximumDate": "Please enter a date that's on or before {maximum}.",
23
- "dynamicFlows.ControlFeedback.minLength": "Please enter at least {minLength} characters.",
24
- "dynamicFlows.ControlFeedback.minimum": "Please enter a number that's {minimum} or more.",
25
- "dynamicFlows.ControlFeedback.minimumDate": "Please enter a date that's on or after {minimum}.",
26
- "dynamicFlows.ControlFeedback.pattern": "Please enter this in the correct format.",
27
- "dynamicFlows.ControlFeedback.patternDate": "Please enter a date in the corrrect format.",
28
- "dynamicFlows.ControlFeedback.required": "Please fill out this field.",
29
- "dynamicFlows.ControlFeedback.type": "Incorrect type",
30
- "dynamicFlows.DefaultErrorMessages.required": "Please fill out this field.",
31
- "dynamicFlows.DynamicExternal.retryTitle": "Reopen window",
32
- "dynamicFlows.DynamicParagraph.copied": "Copied to clipboard",
2
+ "dynamicFlows.ArraySchema.addItem": "Opslaan",
3
+ "dynamicFlows.ArraySchema.addItemTitle": "Item toevoegen",
4
+ "dynamicFlows.ArraySchema.editItem": "Opslaan",
5
+ "dynamicFlows.ArraySchema.maxItemsError": "Voeg {maxItems} of minder toe.",
6
+ "dynamicFlows.ArraySchema.minItemsError": "Voeg minimaal {minItems} toe.",
7
+ "dynamicFlows.ArraySchema.removeItem": "Verwijderen",
8
+ "dynamicFlows.CameraCapture.CameraConnectionIssue.action": "Opnieuw proberen",
9
+ "dynamicFlows.CameraCapture.CameraConnectionIssue.paragraph": "Controleer of de camera verbonden is en probeer opnieuw.",
10
+ "dynamicFlows.CameraCapture.CameraConnectionIssue.title": "We hebben geen toegang tot je camera",
11
+ "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "Je browser ondersteunt geen camera's. Probeer een andere browser of apparaat of download onze mobiele app.",
12
+ "dynamicFlows.CameraCapture.CameraNotSupported.title": "Camera wordt niet ondersteund",
13
+ "dynamicFlows.CameraCapture.NoCameraAccess.action": "Cameratoegang inschakelen",
14
+ "dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "Schakel in je browserinstellingen cameratoegang in en begin opnieuw.",
15
+ "dynamicFlows.CameraCapture.NoCameraAccess.title": "We hebben geen toegang tot je camera",
16
+ "dynamicFlows.CameraCapture.reviewInstructions": "Is je foto duidelijk, leesbaar en volledig?",
17
+ "dynamicFlows.CameraCapture.reviewRetry": "Nee, opnieuw proberen",
18
+ "dynamicFlows.CameraCapture.reviewSubmit": "Ja, verzenden",
19
+ "dynamicFlows.CameraCapture.rotatePhone.text": "Draai je telefoon verticaal om een foto te maken",
20
+ "dynamicFlows.ControlFeedback.maxLength": "Voer {maxLength} of minder tekens in.",
21
+ "dynamicFlows.ControlFeedback.maximum": "Voer een getal in dat {maximum} of lager is.",
22
+ "dynamicFlows.ControlFeedback.maximumDate": "Voer een datum in die op of voor {maximum} is.",
23
+ "dynamicFlows.ControlFeedback.minLength": "Voer minimaal {minLength} tekens in.",
24
+ "dynamicFlows.ControlFeedback.minimum": "Voer een getal in dat {minimum} of hoger is.",
25
+ "dynamicFlows.ControlFeedback.minimumDate": "Voer een datum in die op of na {minimum} is.",
26
+ "dynamicFlows.ControlFeedback.pattern": "Voer dit in de juiste indeling in.",
27
+ "dynamicFlows.ControlFeedback.patternDate": "Voer een datum in de juiste indeling in.",
28
+ "dynamicFlows.ControlFeedback.required": "Vul dit veld in.",
29
+ "dynamicFlows.ControlFeedback.type": "Onjuist type",
30
+ "dynamicFlows.DefaultErrorMessages.required": "Vul dit veld in.",
31
+ "dynamicFlows.DynamicExternal.retryTitle": "Venster opnieuw openen",
32
+ "dynamicFlows.DynamicParagraph.copied": "Naar klembord gekopiëerd",
33
33
  "dynamicFlows.DynamicParagraph.copy": "Kopiëren",
34
- "dynamicFlows.ErrorBoundary.errorAlert": "Something went wrong.",
35
- "dynamicFlows.ErrorBoundary.retry": "Retry",
36
- "dynamicFlows.ExternalConfirmation.cancel": "Cancel",
37
- "dynamicFlows.ExternalConfirmation.description": "Please confirm you want to open **{origin}** in a new browser tab.",
38
- "dynamicFlows.ExternalConfirmation.open": "Open in new tab",
39
- "dynamicFlows.ExternalConfirmation.title": "Please confirm",
40
- "dynamicFlows.FileUploadSchema.maxFileSizeError": "Sorry, that file is too big. Please upload a smaller file.",
41
- "dynamicFlows.FileUploadSchema.wrongFileTypeError": "Sorry, that file format is not supported. Please upload a different file.",
42
- "dynamicFlows.Help.ariaLabel": "Click here for more info.",
43
- "dynamicFlows.MultiSelect.summary": "{first} and {count} more",
44
- "dynamicFlows.MultipleFileUploadSchema.maxFileSizeError": "Sorry, that file is too big. Please upload a smaller file.",
45
- "dynamicFlows.MultipleFileUploadSchema.maxItemsError": "Please upload {maxItems} or fewer files.",
46
- "dynamicFlows.MultipleFileUploadSchema.minItemsError": "Please upload at least {minItems} file(s).",
34
+ "dynamicFlows.ErrorBoundary.errorAlert": "Er is iets misgegaan.",
35
+ "dynamicFlows.ErrorBoundary.retry": "Opnieuw proberen",
36
+ "dynamicFlows.ExternalConfirmation.cancel": "Annuleren",
37
+ "dynamicFlows.ExternalConfirmation.description": "Bevestig dat je **{origin}** in een nieuw browsertabblad wilt openen.",
38
+ "dynamicFlows.ExternalConfirmation.open": "In nieuw tabblad openen",
39
+ "dynamicFlows.ExternalConfirmation.title": "Bevestig",
40
+ "dynamicFlows.FileUploadSchema.maxFileSizeError": "Het bestand is te groot. Upload een kleiner bestand.",
41
+ "dynamicFlows.FileUploadSchema.wrongFileTypeError": "De bestandsindeling wordt niet ondersteund. Upload een ander bestand.",
42
+ "dynamicFlows.Help.ariaLabel": "Klik hier voor meer informatie.",
43
+ "dynamicFlows.MultiSelect.summary": "{first} en nog {count}",
44
+ "dynamicFlows.MultipleFileUploadSchema.maxFileSizeError": "Het bestand is te groot. Upload een kleiner bestand.",
45
+ "dynamicFlows.MultipleFileUploadSchema.maxItemsError": "Upload {maxItems} of minder bestanden.",
46
+ "dynamicFlows.MultipleFileUploadSchema.minItemsError": "Upload mimimaal {minItems} bestand(en).",
47
47
  "dynamicFlows.PersistAsyncSchema.genericError": "Er ging iets mis, probeer het a. u. b. opnieuw.",
48
48
  "dynamicFlows.ReadOnlySchema.no": "Nee",
49
49
  "dynamicFlows.ReadOnlySchema.yes": "Ja",
50
- "dynamicFlows.SearchLayout.loading": "Loading..."
50
+ "dynamicFlows.SearchLayout.loading": "Laden..."
51
51
  }
package/build/main.css CHANGED
@@ -265,6 +265,9 @@ button.df-back-btn {
265
265
  flex-direction: row;
266
266
  }
267
267
  }
268
+ .df-image .df-illustration {
269
+ padding: 0;
270
+ }
268
271
  .df-back-btn .tw-avatar__content {
269
272
  cursor: pointer;
270
273
  background-color: var(--color-background-neutral);
@@ -275,6 +278,7 @@ button.df-back-btn {
275
278
  .df-back-btn:active .tw-avatar__content {
276
279
  background-color: var(--color-background-neutral-active);
277
280
  }
278
- .df-image .df-illustration {
279
- padding: 0;
281
+ .splash-screen {
282
+ display: flex;
283
+ flex-direction: column;
280
284
  }
package/build/main.js CHANGED
@@ -5570,7 +5570,8 @@ var imageLayoutSchema = z.object({
5570
5570
  content: imageSchema.optional(),
5571
5571
  size: sizeSchema.optional(),
5572
5572
  control: z.string().optional(),
5573
- margin: sizeSchema.optional()
5573
+ margin: sizeSchema.optional(),
5574
+ align: alignSchema.optional()
5574
5575
  });
5575
5576
  var statusListLayoutStatusSchema = z.union([
5576
5577
  z.literal("not-done"),
@@ -5684,6 +5685,13 @@ var summaryProviderSchema = z.object({
5684
5685
  providesImage: z.boolean().optional()
5685
5686
  });
5686
5687
  var uploadSourceSchema = z.union([z.literal("camera"), z.literal("file")]);
5688
+ var suggestionsValueSchema = z.object({
5689
+ label: z.string(),
5690
+ value: jsonElementSchema.optional(),
5691
+ icon: iconSchema.optional(),
5692
+ image: imageSchema.optional(),
5693
+ tag: z.string().optional()
5694
+ });
5687
5695
  var navigationStackBehaviorSchema = z.union([
5688
5696
  z.literal("default"),
5689
5697
  z.literal("remove-previous"),
@@ -5771,6 +5779,9 @@ var errorResponseBodySchema = z.object({
5771
5779
  validation: jsonElementSchema.optional(),
5772
5780
  refreshUrl: z.string().optional()
5773
5781
  });
5782
+ var suggestionsSchema = z.object({
5783
+ values: z.array(suggestionsValueSchema)
5784
+ });
5774
5785
  var navigationBackBehaviorSchema = z.object({
5775
5786
  title: z.string().optional(),
5776
5787
  action: actionSchema
@@ -6019,7 +6030,8 @@ var stepSchema = z.lazy(
6019
6030
  errors: stepErrorSchema.optional(),
6020
6031
  navigation: navigationSchema.optional(),
6021
6032
  refreshUrl: z.string().optional(),
6022
- control: z.string().optional()
6033
+ control: z.string().optional(),
6034
+ refreshAfter: z.string().optional()
6023
6035
  })
6024
6036
  );
6025
6037
  var schemaSchema = z.lazy(
@@ -6244,7 +6256,8 @@ var stringSchemaSchema = z.lazy(
6244
6256
  source: uploadSourceSchema.optional(),
6245
6257
  autocompleteHint: z.array(autocompleteTokenSchema).optional(),
6246
6258
  autofillKey: z.string().optional(),
6247
- help: helpSchema.optional()
6259
+ help: helpSchema.optional(),
6260
+ suggestions: suggestionsSchema.optional()
6248
6261
  })
6249
6262
  );
6250
6263
  var arraySchemaListSchema = z.lazy(
@@ -7210,6 +7223,9 @@ var getComponentValidationAsync = (update, performValidationAsync) => (
7210
7223
  }
7211
7224
  );
7212
7225
 
7226
+ // src/revamp/domain/components/utils/isOrWasValid.ts
7227
+ var isOrWasValid = (getErrors, previous, current) => getErrors(previous).length === 0 || getErrors(current).length === 0;
7228
+
7213
7229
  // src/revamp/domain/components/NumberInputComponent.ts
7214
7230
  var createNumberInputComponent = (numberInputProps, updateComponent) => {
7215
7231
  const _a = numberInputProps, {
@@ -7253,12 +7269,15 @@ var createNumberInputComponent = (numberInputProps, updateComponent) => {
7253
7269
  },
7254
7270
  // Noop
7255
7271
  onChange(updatedValue) {
7272
+ const prevValue = this.value;
7256
7273
  update((draft) => {
7257
7274
  draft.errors = [];
7258
7275
  draft.validationAsyncState.messages = {};
7259
7276
  draft.value = updatedValue;
7260
7277
  });
7261
- performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
7278
+ if (isOrWasValid(getValidationErrors, prevValue, updatedValue)) {
7279
+ performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
7280
+ }
7262
7281
  onValueChange();
7263
7282
  },
7264
7283
  async getSubmittableValue() {
@@ -8042,12 +8061,15 @@ var createIntegerInputComponent = (integerInputProps, updateComponent) => {
8042
8061
  },
8043
8062
  // Noop
8044
8063
  onChange(updatedValue) {
8064
+ const prevValue = this.value;
8045
8065
  update((draft) => {
8046
8066
  draft.errors = [];
8047
8067
  draft.validationAsyncState.messages = {};
8048
8068
  draft.value = updatedValue;
8049
8069
  });
8050
- performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
8070
+ if (isOrWasValid(getValidationErrors, prevValue, updatedValue)) {
8071
+ performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
8072
+ }
8051
8073
  onValueChange();
8052
8074
  },
8053
8075
  async getSubmittableValue() {
@@ -8349,12 +8371,15 @@ var createDateInputComponent = (textInputProps, updateComponent) => {
8349
8371
  },
8350
8372
  // Noop
8351
8373
  onChange(updatedValue) {
8374
+ const prevValue = this.value;
8352
8375
  update((draft) => {
8353
8376
  draft.errors = [];
8354
8377
  draft.validationAsyncState.messages = {};
8355
8378
  draft.value = updatedValue;
8356
8379
  });
8357
- performRefresh == null ? void 0 : performRefresh();
8380
+ if (isOrWasValid(getValidationErrors, prevValue, updatedValue)) {
8381
+ performRefresh == null ? void 0 : performRefresh();
8382
+ }
8358
8383
  onValueChange();
8359
8384
  },
8360
8385
  async getSubmittableValue() {
@@ -8663,12 +8688,15 @@ var createTextInputComponent = (textInputProps, updateComponent) => {
8663
8688
  },
8664
8689
  // Noop
8665
8690
  onChange(updatedValue) {
8691
+ const prevValue = this.value;
8666
8692
  update((draft) => {
8667
8693
  draft.errors = [];
8668
8694
  draft.validationAsyncState.messages = {};
8669
8695
  draft.value = updatedValue;
8670
8696
  });
8671
- performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
8697
+ if (isOrWasValid(getValidationErrors, prevValue, updatedValue)) {
8698
+ performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
8699
+ }
8672
8700
  onValueChange();
8673
8701
  },
8674
8702
  async getSubmittableValue() {
package/build/main.mjs CHANGED
@@ -5547,7 +5547,8 @@ var imageLayoutSchema = z.object({
5547
5547
  content: imageSchema.optional(),
5548
5548
  size: sizeSchema.optional(),
5549
5549
  control: z.string().optional(),
5550
- margin: sizeSchema.optional()
5550
+ margin: sizeSchema.optional(),
5551
+ align: alignSchema.optional()
5551
5552
  });
5552
5553
  var statusListLayoutStatusSchema = z.union([
5553
5554
  z.literal("not-done"),
@@ -5661,6 +5662,13 @@ var summaryProviderSchema = z.object({
5661
5662
  providesImage: z.boolean().optional()
5662
5663
  });
5663
5664
  var uploadSourceSchema = z.union([z.literal("camera"), z.literal("file")]);
5665
+ var suggestionsValueSchema = z.object({
5666
+ label: z.string(),
5667
+ value: jsonElementSchema.optional(),
5668
+ icon: iconSchema.optional(),
5669
+ image: imageSchema.optional(),
5670
+ tag: z.string().optional()
5671
+ });
5664
5672
  var navigationStackBehaviorSchema = z.union([
5665
5673
  z.literal("default"),
5666
5674
  z.literal("remove-previous"),
@@ -5748,6 +5756,9 @@ var errorResponseBodySchema = z.object({
5748
5756
  validation: jsonElementSchema.optional(),
5749
5757
  refreshUrl: z.string().optional()
5750
5758
  });
5759
+ var suggestionsSchema = z.object({
5760
+ values: z.array(suggestionsValueSchema)
5761
+ });
5751
5762
  var navigationBackBehaviorSchema = z.object({
5752
5763
  title: z.string().optional(),
5753
5764
  action: actionSchema
@@ -5996,7 +6007,8 @@ var stepSchema = z.lazy(
5996
6007
  errors: stepErrorSchema.optional(),
5997
6008
  navigation: navigationSchema.optional(),
5998
6009
  refreshUrl: z.string().optional(),
5999
- control: z.string().optional()
6010
+ control: z.string().optional(),
6011
+ refreshAfter: z.string().optional()
6000
6012
  })
6001
6013
  );
6002
6014
  var schemaSchema = z.lazy(
@@ -6221,7 +6233,8 @@ var stringSchemaSchema = z.lazy(
6221
6233
  source: uploadSourceSchema.optional(),
6222
6234
  autocompleteHint: z.array(autocompleteTokenSchema).optional(),
6223
6235
  autofillKey: z.string().optional(),
6224
- help: helpSchema.optional()
6236
+ help: helpSchema.optional(),
6237
+ suggestions: suggestionsSchema.optional()
6225
6238
  })
6226
6239
  );
6227
6240
  var arraySchemaListSchema = z.lazy(
@@ -7187,6 +7200,9 @@ var getComponentValidationAsync = (update, performValidationAsync) => (
7187
7200
  }
7188
7201
  );
7189
7202
 
7203
+ // src/revamp/domain/components/utils/isOrWasValid.ts
7204
+ var isOrWasValid = (getErrors, previous, current) => getErrors(previous).length === 0 || getErrors(current).length === 0;
7205
+
7190
7206
  // src/revamp/domain/components/NumberInputComponent.ts
7191
7207
  var createNumberInputComponent = (numberInputProps, updateComponent) => {
7192
7208
  const _a = numberInputProps, {
@@ -7230,12 +7246,15 @@ var createNumberInputComponent = (numberInputProps, updateComponent) => {
7230
7246
  },
7231
7247
  // Noop
7232
7248
  onChange(updatedValue) {
7249
+ const prevValue = this.value;
7233
7250
  update((draft) => {
7234
7251
  draft.errors = [];
7235
7252
  draft.validationAsyncState.messages = {};
7236
7253
  draft.value = updatedValue;
7237
7254
  });
7238
- performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
7255
+ if (isOrWasValid(getValidationErrors, prevValue, updatedValue)) {
7256
+ performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
7257
+ }
7239
7258
  onValueChange();
7240
7259
  },
7241
7260
  async getSubmittableValue() {
@@ -8019,12 +8038,15 @@ var createIntegerInputComponent = (integerInputProps, updateComponent) => {
8019
8038
  },
8020
8039
  // Noop
8021
8040
  onChange(updatedValue) {
8041
+ const prevValue = this.value;
8022
8042
  update((draft) => {
8023
8043
  draft.errors = [];
8024
8044
  draft.validationAsyncState.messages = {};
8025
8045
  draft.value = updatedValue;
8026
8046
  });
8027
- performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
8047
+ if (isOrWasValid(getValidationErrors, prevValue, updatedValue)) {
8048
+ performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
8049
+ }
8028
8050
  onValueChange();
8029
8051
  },
8030
8052
  async getSubmittableValue() {
@@ -8326,12 +8348,15 @@ var createDateInputComponent = (textInputProps, updateComponent) => {
8326
8348
  },
8327
8349
  // Noop
8328
8350
  onChange(updatedValue) {
8351
+ const prevValue = this.value;
8329
8352
  update((draft) => {
8330
8353
  draft.errors = [];
8331
8354
  draft.validationAsyncState.messages = {};
8332
8355
  draft.value = updatedValue;
8333
8356
  });
8334
- performRefresh == null ? void 0 : performRefresh();
8357
+ if (isOrWasValid(getValidationErrors, prevValue, updatedValue)) {
8358
+ performRefresh == null ? void 0 : performRefresh();
8359
+ }
8335
8360
  onValueChange();
8336
8361
  },
8337
8362
  async getSubmittableValue() {
@@ -8640,12 +8665,15 @@ var createTextInputComponent = (textInputProps, updateComponent) => {
8640
8665
  },
8641
8666
  // Noop
8642
8667
  onChange(updatedValue) {
8668
+ const prevValue = this.value;
8643
8669
  update((draft) => {
8644
8670
  draft.errors = [];
8645
8671
  draft.validationAsyncState.messages = {};
8646
8672
  draft.value = updatedValue;
8647
8673
  });
8648
- performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
8674
+ if (isOrWasValid(getValidationErrors, prevValue, updatedValue)) {
8675
+ performDebouncedRefresh == null ? void 0 : performDebouncedRefresh();
8676
+ }
8649
8677
  onValueChange();
8650
8678
  },
8651
8679
  async getSubmittableValue() {
@@ -0,0 +1,2 @@
1
+ import { LocalValue } from '../../types';
2
+ export declare const isOrWasValid: <V extends LocalValue>(getErrors: (value: V) => string[], previous: V, current: V) => boolean;
@@ -1,10 +1,15 @@
1
1
  import { DynamicFlowCorePropsWithInitialAction, DynamicFlowCorePropsWithInitialStep } from '../types';
2
+ import { Theming } from '@wise/components-theming';
2
3
  type MakeOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
3
4
  export type DynamicFlowWisePropsWithInitialAction = MakeOptional<DynamicFlowCorePropsWithInitialAction, 'renderers' | 'onLink'>;
4
5
  export type DynamicFlowWisePropsWithInitialStep = MakeOptional<DynamicFlowCorePropsWithInitialStep, 'renderers' | 'onLink'>;
5
- export type DynamicFlowWiseProps = DynamicFlowWisePropsWithInitialAction | DynamicFlowWisePropsWithInitialStep;
6
+ export type DynamicFlowWiseProps = (DynamicFlowWisePropsWithInitialAction | DynamicFlowWisePropsWithInitialStep) & {
7
+ onAnalytics?: DynamicFlowWiseProps['onEvent'];
8
+ onThemeChange?: OnThemeChange;
9
+ };
6
10
  /**
7
11
  * This component is only used in tests.
8
12
  */
9
13
  declare function DynamicFlowWise(props: DynamicFlowWiseProps): import("react/jsx-runtime").JSX.Element;
14
+ type OnThemeChange = (theme: Theming['theme']) => void;
10
15
  export default DynamicFlowWise;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/dynamic-flow-client",
3
- "version": "4.0.2",
3
+ "version": "4.0.3",
4
4
  "description": "Dynamic Flow web client",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./build/main.js",
@@ -30,34 +30,34 @@
30
30
  "url": "git+https://github.com/transferwise/dynamic-flow.git"
31
31
  },
32
32
  "devDependencies": {
33
- "@babel/core": "7.26.9",
33
+ "@babel/core": "7.26.10",
34
34
  "@babel/plugin-syntax-flow": "7.26.0",
35
35
  "@babel/plugin-transform-react-jsx": "7.25.9",
36
36
  "@babel/preset-env": "7.26.9",
37
37
  "@babel/preset-react": "7.26.3",
38
38
  "@babel/preset-typescript": "7.26.0",
39
- "@chromatic-com/storybook": "3.2.5",
39
+ "@chromatic-com/storybook": "3.2.6",
40
40
  "@formatjs/cli": "^6.6.1",
41
- "@storybook/addon-a11y": "^8.6.3",
42
- "@storybook/addon-actions": "^8.6.3",
43
- "@storybook/addon-essentials": "^8.6.3",
44
- "@storybook/addon-interactions": "^8.6.3",
45
- "@storybook/addon-links": "^8.6.3",
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",
46
46
  "@storybook/addon-webpack5-compiler-babel": "^3.0.5",
47
- "@storybook/manager-api": "^8.6.3",
48
- "@storybook/react": "^8.6.3",
49
- "@storybook/react-webpack5": "^8.6.3",
50
- "@storybook/test": "^8.6.3",
51
- "@storybook/types": "^8.6.3",
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",
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.93.1",
56
+ "@transferwise/components": "46.94.1",
57
57
  "@transferwise/formatting": "^2.13.1",
58
- "@transferwise/icons": "3.18.0",
58
+ "@transferwise/icons": "3.19.1",
59
59
  "@transferwise/neptune-css": "14.22.0",
60
- "@types/node": "22.13.9",
60
+ "@types/node": "22.13.10",
61
61
  "@types/jest": "29.5.14",
62
62
  "@types/react": "18.3.18",
63
63
  "@types/react-dom": "18.3.5",
@@ -65,20 +65,20 @@
65
65
  "@wise/art": "2.20.0",
66
66
  "@wise/components-theming": "^1.6.1",
67
67
  "babel-jest": "29.7.0",
68
- "esbuild": "0.25.0",
68
+ "esbuild": "0.25.1",
69
69
  "jest": "29.7.0",
70
70
  "jest-environment-jsdom": "29.7.0",
71
71
  "jest-fetch-mock": "^3.0.3",
72
72
  "jest-watch-typeahead": "^2.2.2",
73
73
  "npm-run-all2": "7.0.2",
74
74
  "postcss": "^8.5.3",
75
- "postcss-cli": "^11.0.0",
75
+ "postcss-cli": "^11.0.1",
76
76
  "postcss-import": "^16.1.0",
77
77
  "react": "18.3.1",
78
78
  "react-dom": "18.3.1",
79
79
  "react-intl": "6.8.9",
80
- "storybook": "^8.6.3",
81
- "stylelint": "16.15.0",
80
+ "storybook": "^8.6.7",
81
+ "stylelint": "16.16.0",
82
82
  "stylelint-config-standard": "36.0.1",
83
83
  "stylelint-no-unsupported-browser-features": "8.0.4",
84
84
  "stylelint-value-no-unknown-custom-properties": "6.0.1",
@@ -102,7 +102,7 @@
102
102
  "classnames": "2.5.1",
103
103
  "react-webcam": "^7.2.0",
104
104
  "screenfull": "^5.2.0",
105
- "@wise/dynamic-flow-types": "3.0.1"
105
+ "@wise/dynamic-flow-types": "3.1.0"
106
106
  },
107
107
  "scripts": {
108
108
  "dev": "pnpm build:visual-tests && storybook dev -p 3003",