@wise/dynamic-flow-types 4.18.0 → 4.20.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 (61) hide show
  1. package/build/renderers/AlertRendererProps.d.ts +5 -0
  2. package/build/renderers/AlertRendererProps.d.ts.map +1 -1
  3. package/build/renderers/CollectionRendererProps.d.ts +83 -0
  4. package/build/renderers/CollectionRendererProps.d.ts.map +1 -0
  5. package/build/renderers/RendererProps.d.ts +3 -2
  6. package/build/renderers/RendererProps.d.ts.map +1 -1
  7. package/build/renderers/SectionRendererProps.d.ts +1 -0
  8. package/build/renderers/SectionRendererProps.d.ts.map +1 -1
  9. package/build/renderers/index.d.ts +1 -0
  10. package/build/renderers/index.d.ts.map +1 -1
  11. package/build/spec/feature/Behavior.d.ts +3 -1
  12. package/build/spec/feature/Behavior.d.ts.map +1 -1
  13. package/build/spec/feature/DelayBehavior.d.ts +24 -0
  14. package/build/spec/feature/DelayBehavior.d.ts.map +1 -0
  15. package/build/spec/feature/DispatchEventBehavior.d.ts +23 -0
  16. package/build/spec/feature/DispatchEventBehavior.d.ts.map +1 -0
  17. package/build/spec/index.d.ts +12 -0
  18. package/build/spec/index.d.ts.map +1 -1
  19. package/build/spec/layout/AlertLayout.d.ts +18 -0
  20. package/build/spec/layout/AlertLayout.d.ts.map +1 -1
  21. package/build/spec/layout/CollectionLayout.d.ts +52 -0
  22. package/build/spec/layout/CollectionLayout.d.ts.map +1 -0
  23. package/build/spec/layout/CollectionLayoutCallToAction.d.ts +19 -0
  24. package/build/spec/layout/CollectionLayoutCallToAction.d.ts.map +1 -0
  25. package/build/spec/layout/CollectionLayoutFilter.d.ts +6 -0
  26. package/build/spec/layout/CollectionLayoutFilter.d.ts.map +1 -0
  27. package/build/spec/layout/CollectionLayoutItem.d.ts +60 -0
  28. package/build/spec/layout/CollectionLayoutItem.d.ts.map +1 -0
  29. package/build/spec/layout/CollectionLayoutSearch.d.ts +18 -0
  30. package/build/spec/layout/CollectionLayoutSearch.d.ts.map +1 -0
  31. package/build/spec/layout/CollectionLayoutSection.d.ts +24 -0
  32. package/build/spec/layout/CollectionLayoutSection.d.ts.map +1 -0
  33. package/build/spec/layout/CollectionLayoutSelectFilter.d.ts +24 -0
  34. package/build/spec/layout/CollectionLayoutSelectFilter.d.ts.map +1 -0
  35. package/build/spec/layout/CollectionLayoutSelectFilterOption.d.ts +22 -0
  36. package/build/spec/layout/CollectionLayoutSelectFilterOption.d.ts.map +1 -0
  37. package/build/spec/layout/CollectionLayoutState.d.ts +30 -0
  38. package/build/spec/layout/CollectionLayoutState.d.ts.map +1 -0
  39. package/build/spec/layout/Layout.d.ts +3 -1
  40. package/build/spec/layout/Layout.d.ts.map +1 -1
  41. package/build/spec/layout/SectionLayout.d.ts +4 -0
  42. package/build/spec/layout/SectionLayout.d.ts.map +1 -1
  43. package/build/spec/layout/UpdatableLayout.d.ts +56 -0
  44. package/build/spec/layout/UpdatableLayout.d.ts.map +1 -0
  45. package/build/spec/layout/UpdatableLayoutErrorHandler.d.ts +12 -0
  46. package/build/spec/layout/UpdatableLayoutErrorHandler.d.ts.map +1 -0
  47. package/build/spec/layout/UpdatableLayoutOnEventTrigger.d.ts +14 -0
  48. package/build/spec/layout/UpdatableLayoutOnEventTrigger.d.ts.map +1 -0
  49. package/build/spec/layout/UpdatableLayoutState.d.ts +14 -0
  50. package/build/spec/layout/UpdatableLayoutState.d.ts.map +1 -0
  51. package/build/spec/layout/UpdatableLayoutTrigger.d.ts +6 -0
  52. package/build/spec/layout/UpdatableLayoutTrigger.d.ts.map +1 -0
  53. package/build/spec/main.js +161 -40
  54. package/build/spec/main.mjs +161 -40
  55. package/build/spec/misc/InlineAlert.d.ts +5 -0
  56. package/build/spec/misc/InlineAlert.d.ts.map +1 -1
  57. package/build/tsconfig.tsbuildinfo +1 -1
  58. package/build/zod/schemas.d.ts +280 -28
  59. package/build/zod/schemas.d.ts.map +1 -1
  60. package/build/zod/schemas.ts +172 -24
  61. package/package.json +1 -1
@@ -4,6 +4,9 @@ import {
4
4
  type JsonElement,
5
5
  type AdditionalInfo,
6
6
  type Behavior,
7
+ type UpdatableLayout,
8
+ type UpdatableLayoutState,
9
+ type UpdatableLayoutErrorHandler,
7
10
  type ReviewLayoutCallToAction,
8
11
  type AlertLayoutCallToAction,
9
12
  type ModalLayoutContent,
@@ -17,10 +20,15 @@ import {
17
20
  type SearchInitialState,
18
21
  type SectionLayoutCallToAction,
19
22
  type UpsellLayout,
23
+ type CollectionLayoutCallToAction,
20
24
  type SectionLayout,
25
+ type CollectionLayout,
26
+ type CollectionLayoutState,
21
27
  type ModalLayout,
22
28
  type StatusListLayoutItem,
23
29
  type StatusListLayoutItemCallToAction,
30
+ type CollectionLayoutSection,
31
+ type CollectionLayoutItem,
24
32
  type AlertLayout,
25
33
  type ListLayout,
26
34
  type StatusListLayout,
@@ -58,6 +66,7 @@ import {
58
66
  type SubflowBehavior,
59
67
  type ToolbarItem,
60
68
  type ToolbarButton,
69
+ type DelayBehavior,
61
70
  type ModalBehavior,
62
71
  } from '../spec';
63
72
 
@@ -139,10 +148,7 @@ export const supportingValuesSchema = z.object({
139
148
  subvalue: z.string().optional(),
140
149
  });
141
150
 
142
- export const inlineAlertSchema = z.object({
143
- content: z.string(),
144
- context: contextSchema.optional(),
145
- });
151
+ export const mediaSchema = z.union([mediaAvatarSchema, mediaImageSchema]);
146
152
 
147
153
  export const autocompleteTokenSchema = z.union([
148
154
  z.literal('on'),
@@ -232,11 +238,34 @@ export const imageSchema = z.object({
232
238
  accessibilityDescription: z.string().optional(),
233
239
  });
234
240
 
241
+ export const requestSchema = z.object({
242
+ url: z.string(),
243
+ method: httpMethodSchema,
244
+ body: jsonElementSchema.optional(),
245
+ prefetch: z.boolean().optional(),
246
+ headers: z.record(z.string()).optional(),
247
+ });
248
+
235
249
  export const helpSchema = z.object({
236
250
  markdown: z.string(),
237
251
  });
238
252
 
239
- export const mediaSchema = z.union([mediaAvatarSchema, mediaImageSchema]);
253
+ export const collectionLayoutSearchSchema = z.object({
254
+ param: z.string(),
255
+ title: z.string().optional(),
256
+ hint: z.string().optional(),
257
+ });
258
+
259
+ export const mediaLayoutSchema = z.object({
260
+ type: z.literal('media'),
261
+ media: mediaSchema,
262
+ align: alignSchema.optional(),
263
+ size: sizeSchema.optional(),
264
+ analyticsId: z.string().optional(),
265
+ control: z.string().optional(),
266
+ margin: sizeSchema.optional(),
267
+ tags: z.array(z.string()).optional(),
268
+ });
240
269
 
241
270
  export const statusListLayoutStatusSchema = z.union([
242
271
  z.literal('not-done'),
@@ -263,12 +292,30 @@ export const instructionsLayoutItemSchema = z.object({
263
292
  tags: z.array(z.string()).optional(),
264
293
  });
265
294
 
295
+ export const collectionLayoutSelectFilterOptionSchema = z.object({
296
+ value: z.string(),
297
+ title: z.string(),
298
+ accessibilityDescription: z.string().optional(),
299
+ selected: z.boolean().optional(),
300
+ });
301
+
302
+ export const updatableLayoutOnEventTriggerSchema = z.object({
303
+ type: z.literal('on-event'),
304
+ eventName: z.string(),
305
+ });
306
+
266
307
  export const listLayoutStatusSchema = z.union([
267
308
  z.literal('warning'),
268
309
  z.literal('neutral'),
269
310
  z.literal('positive'),
270
311
  ]);
271
312
 
313
+ export const inlineAlertSchema = z.object({
314
+ content: z.string(),
315
+ context: contextSchema.optional(),
316
+ media: mediaSchema.optional(),
317
+ });
318
+
272
319
  export const dividerLayoutSchema = z.object({
273
320
  type: z.literal('divider'),
274
321
  control: z.string().optional(),
@@ -281,14 +328,6 @@ export const formLayoutSchemaReferenceSchema = z.object({
281
328
  $ref: z.string(),
282
329
  });
283
330
 
284
- export const requestSchema = z.object({
285
- url: z.string(),
286
- method: httpMethodSchema,
287
- body: jsonElementSchema.optional(),
288
- prefetch: z.boolean().optional(),
289
- headers: z.record(z.string()).optional(),
290
- });
291
-
292
331
  export const headingLayoutSchema = z.object({
293
332
  type: z.literal('heading'),
294
333
  text: z.string(),
@@ -344,6 +383,13 @@ export const columnsLayoutBiasSchema = z.union([
344
383
  z.literal('right'),
345
384
  ]);
346
385
 
386
+ export const collectionLayoutSelectFilterSchema = z.object({
387
+ type: z.literal('select'),
388
+ param: z.string(),
389
+ options: z.array(collectionLayoutSelectFilterOptionSchema),
390
+ multiSelect: z.boolean().optional(),
391
+ });
392
+
347
393
  export const instructionsLayoutSchema = z.object({
348
394
  type: z.literal('instructions'),
349
395
  title: z.string().optional(),
@@ -374,17 +420,6 @@ export const infoLayoutSchema = z.object({
374
420
  analyticsId: z.string().optional(),
375
421
  });
376
422
 
377
- export const mediaLayoutSchema = z.object({
378
- type: z.literal('media'),
379
- media: mediaSchema,
380
- align: alignSchema.optional(),
381
- size: sizeSchema.optional(),
382
- analyticsId: z.string().optional(),
383
- control: z.string().optional(),
384
- margin: sizeSchema.optional(),
385
- tags: z.array(z.string()).optional(),
386
- });
387
-
388
423
  export const progressLayoutSchema = z.object({
389
424
  type: z.literal('progress'),
390
425
  title: z.string().optional(),
@@ -521,6 +556,12 @@ export const dismissBehaviorSchema = z.object({
521
556
  analytics: z.record(z.string()).optional(),
522
557
  });
523
558
 
559
+ export const dispatchEventBehaviorSchema = z.object({
560
+ type: z.literal('dispatch-event'),
561
+ eventName: z.string(),
562
+ analytics: z.record(z.string()).optional(),
563
+ });
564
+
524
565
  export const downloadBehaviorSchema = z.object({
525
566
  type: z.literal('download'),
526
567
  request: requestSchema,
@@ -578,6 +619,10 @@ export const containerBehaviorSchema = z.object({
578
619
  analytics: z.record(z.string()).optional(),
579
620
  });
580
621
 
622
+ export const updatableLayoutTriggerSchema = updatableLayoutOnEventTriggerSchema;
623
+
624
+ export const collectionLayoutFilterSchema = collectionLayoutSelectFilterSchema;
625
+
581
626
  export const suggestionsSchema = z.object({
582
627
  values: z.array(suggestionsValueSchema),
583
628
  });
@@ -645,7 +690,9 @@ export const behaviorSchema: z.ZodSchema<Behavior> = z.lazy(() =>
645
690
  actionBehaviorSchema,
646
691
  containerBehaviorSchema,
647
692
  copyBehaviorSchema,
693
+ delayBehaviorSchema,
648
694
  dismissBehaviorSchema,
695
+ dispatchEventBehaviorSchema,
649
696
  downloadBehaviorSchema,
650
697
  linkBehaviorSchema,
651
698
  modalBehaviorSchema,
@@ -654,6 +701,33 @@ export const behaviorSchema: z.ZodSchema<Behavior> = z.lazy(() =>
654
701
  ]),
655
702
  );
656
703
 
704
+ export const updatableLayoutSchema: z.ZodSchema<UpdatableLayout> = z.lazy(() =>
705
+ z.object({
706
+ type: z.literal('updatable'),
707
+ baseRequest: requestSchema,
708
+ trigger: updatableLayoutTriggerSchema,
709
+ initialState: updatableLayoutStateSchema.optional(),
710
+ onError: updatableLayoutErrorHandlerSchema.optional(),
711
+ control: z.string().optional(),
712
+ margin: sizeSchema.optional(),
713
+ analyticsId: z.string().optional(),
714
+ tags: z.array(z.string()).optional(),
715
+ }),
716
+ );
717
+
718
+ export const updatableLayoutStateSchema: z.ZodSchema<UpdatableLayoutState> = z.lazy(() =>
719
+ z.object({
720
+ components: z.array(layoutSchema).optional(),
721
+ }),
722
+ );
723
+
724
+ export const updatableLayoutErrorHandlerSchema: z.ZodSchema<UpdatableLayoutErrorHandler> = z.lazy(
725
+ () =>
726
+ z.object({
727
+ fallbackLayout: z.array(layoutSchema).optional(),
728
+ }),
729
+ );
730
+
657
731
  export const reviewLayoutCallToActionSchema: z.ZodSchema<ReviewLayoutCallToAction> = z.lazy(() =>
658
732
  z.object({
659
733
  action: actionSchema.optional(),
@@ -685,6 +759,7 @@ export const layoutSchema: z.ZodSchema<Layout> = z.lazy(() =>
685
759
  alertLayoutSchema,
686
760
  boxLayoutSchema,
687
761
  buttonLayoutSchema,
762
+ collectionLayoutSchema,
688
763
  columnsLayoutSchema,
689
764
  decisionLayoutSchema,
690
765
  dividerLayoutSchema,
@@ -705,6 +780,7 @@ export const layoutSchema: z.ZodSchema<Layout> = z.lazy(() =>
705
780
  sectionLayoutSchema,
706
781
  statusListLayoutSchema,
707
782
  tabsLayoutSchema,
783
+ updatableLayoutSchema,
708
784
  upsellLayoutSchema,
709
785
  ]),
710
786
  );
@@ -820,6 +896,15 @@ export const upsellLayoutSchema: z.ZodSchema<UpsellLayout> = z.lazy(() =>
820
896
  }),
821
897
  );
822
898
 
899
+ export const collectionLayoutCallToActionSchema: z.ZodSchema<CollectionLayoutCallToAction> = z.lazy(
900
+ () =>
901
+ z.object({
902
+ title: z.string(),
903
+ accessibilityDescription: z.string().optional(),
904
+ behavior: behaviorSchema,
905
+ }),
906
+ );
907
+
823
908
  export const sectionLayoutSchema: z.ZodSchema<SectionLayout> = z.lazy(() =>
824
909
  z.object({
825
910
  type: z.literal('section'),
@@ -830,6 +915,30 @@ export const sectionLayoutSchema: z.ZodSchema<SectionLayout> = z.lazy(() =>
830
915
  margin: sizeSchema.optional(),
831
916
  analyticsId: z.string().optional(),
832
917
  tags: z.array(z.string()).optional(),
918
+ shortTitle: z.string().optional(),
919
+ }),
920
+ );
921
+
922
+ export const collectionLayoutSchema: z.ZodSchema<CollectionLayout> = z.lazy(() =>
923
+ z.object({
924
+ type: z.literal('collection'),
925
+ baseRequest: requestSchema,
926
+ initialState: collectionLayoutStateSchema,
927
+ search: collectionLayoutSearchSchema.optional(),
928
+ control: z.string().optional(),
929
+ margin: sizeSchema.optional(),
930
+ analyticsId: z.string().optional(),
931
+ tags: z.array(z.string()).optional(),
932
+ }),
933
+ );
934
+
935
+ export const collectionLayoutStateSchema: z.ZodSchema<CollectionLayoutState> = z.lazy(() =>
936
+ z.object({
937
+ sections: z.array(collectionLayoutSectionSchema),
938
+ nextCursor: z.string().optional(),
939
+ filters: z.array(collectionLayoutFilterSchema).optional(),
940
+ beforeSections: z.array(layoutSchema).optional(),
941
+ afterSections: z.array(layoutSchema).optional(),
833
942
  }),
834
943
  );
835
944
 
@@ -868,6 +977,32 @@ export const statusListLayoutItemCallToActionSchema: z.ZodSchema<StatusListLayou
868
977
  }),
869
978
  );
870
979
 
980
+ export const collectionLayoutSectionSchema: z.ZodSchema<CollectionLayoutSection> = z.lazy(() =>
981
+ z.object({
982
+ id: z.string(),
983
+ items: z.array(collectionLayoutItemSchema),
984
+ title: z.string().optional(),
985
+ callToAction: collectionLayoutCallToActionSchema.optional(),
986
+ }),
987
+ );
988
+
989
+ export const collectionLayoutItemSchema: z.ZodSchema<CollectionLayoutItem> = z.lazy(() =>
990
+ z.object({
991
+ entityId: z.string(),
992
+ title: z.string(),
993
+ description: z.string().optional(),
994
+ disabled: z.boolean().optional(),
995
+ primaryBehavior: behaviorSchema.optional(),
996
+ callToAction: collectionLayoutCallToActionSchema.optional(),
997
+ additionalInfo: additionalInfoSchema.optional(),
998
+ supportingValues: supportingValuesSchema.optional(),
999
+ inlineAlert: inlineAlertSchema.optional(),
1000
+ media: mediaSchema.optional(),
1001
+ analyticsId: z.string().optional(),
1002
+ tags: z.array(z.string()).optional(),
1003
+ }),
1004
+ );
1005
+
871
1006
  export const alertLayoutSchema: z.ZodSchema<AlertLayout> = z.lazy(() =>
872
1007
  z.object({
873
1008
  type: z.literal('alert'),
@@ -878,6 +1013,10 @@ export const alertLayoutSchema: z.ZodSchema<AlertLayout> = z.lazy(() =>
878
1013
  callToAction: alertLayoutCallToActionSchema.optional(),
879
1014
  analyticsId: z.string().optional(),
880
1015
  tags: z.array(z.string()).optional(),
1016
+ title: z.string().optional(),
1017
+ media: mediaSchema.optional(),
1018
+ onDismiss: requestSchema.optional(),
1019
+ secondaryCallToAction: alertLayoutCallToActionSchema.optional(),
881
1020
  }),
882
1021
  );
883
1022
 
@@ -1534,6 +1673,15 @@ export const toolbarButtonSchema: z.ZodSchema<ToolbarButton> = z.lazy(() =>
1534
1673
  }),
1535
1674
  );
1536
1675
 
1676
+ export const delayBehaviorSchema: z.ZodSchema<DelayBehavior> = z.lazy(() =>
1677
+ z.object({
1678
+ type: z.literal('delay'),
1679
+ duration: z.number(),
1680
+ behavior: behaviorSchema,
1681
+ analytics: z.record(z.string()).optional(),
1682
+ }),
1683
+ );
1684
+
1537
1685
  export const modalBehaviorSchema: z.ZodSchema<ModalBehavior> = z.lazy(() =>
1538
1686
  z.object({
1539
1687
  type: z.literal('modal'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/dynamic-flow-types",
3
- "version": "4.18.0",
3
+ "version": "4.20.0",
4
4
  "description": "Dynamic Flow TypeScript Types",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {