@wise/dynamic-flow-client 4.8.7 → 4.9.0-exp-modal-renderer-c6d2baa

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 (53) hide show
  1. package/build/main.js +101 -58
  2. package/build/main.mjs +101 -58
  3. package/build/types/revamp/domain/components/AlertComponent.d.ts +1 -0
  4. package/build/types/revamp/domain/components/AllOfComponent.d.ts +2 -1
  5. package/build/types/revamp/domain/components/BooleanInputComponent.d.ts +1 -0
  6. package/build/types/revamp/domain/components/BoxComponent.d.ts +1 -0
  7. package/build/types/revamp/domain/components/ButtonComponent.d.ts +1 -0
  8. package/build/types/revamp/domain/components/ColumnsComponent.d.ts +1 -0
  9. package/build/types/revamp/domain/components/ConstComponent.d.ts +1 -0
  10. package/build/types/revamp/domain/components/ContainerComponent.d.ts +1 -0
  11. package/build/types/revamp/domain/components/DateInputComponent.d.ts +1 -0
  12. package/build/types/revamp/domain/components/DecisionComponent.d.ts +1 -0
  13. package/build/types/revamp/domain/components/DividerComponent.d.ts +1 -0
  14. package/build/types/revamp/domain/components/FormComponent.d.ts +1 -0
  15. package/build/types/revamp/domain/components/HeadingComponent.d.ts +1 -0
  16. package/build/types/revamp/domain/components/ImageComponent.d.ts +1 -0
  17. package/build/types/revamp/domain/components/InstructionsComponent.d.ts +1 -0
  18. package/build/types/revamp/domain/components/IntegerInputComponent.d.ts +1 -0
  19. package/build/types/revamp/domain/components/ListComponent.d.ts +1 -0
  20. package/build/types/revamp/domain/components/LoadingIndicatorComponent.d.ts +1 -0
  21. package/build/types/revamp/domain/components/MarkdownComponent.d.ts +1 -0
  22. package/build/types/revamp/domain/components/ModalComponent.d.ts +7 -9
  23. package/build/types/revamp/domain/components/ModalLayoutComponent.d.ts +14 -0
  24. package/build/types/revamp/domain/components/MultiSelectInputComponent.d.ts +1 -0
  25. package/build/types/revamp/domain/components/MultiUploadInputComponent.d.ts +1 -0
  26. package/build/types/revamp/domain/components/NumberInputComponent.d.ts +1 -0
  27. package/build/types/revamp/domain/components/ObjectComponent.d.ts +2 -1
  28. package/build/types/revamp/domain/components/ParagraphComponent.d.ts +1 -0
  29. package/build/types/revamp/domain/components/PersistAsyncComponent.d.ts +1 -0
  30. package/build/types/revamp/domain/components/RepeatableComponent.d.ts +1 -0
  31. package/build/types/revamp/domain/components/ReviewComponent.d.ts +1 -0
  32. package/build/types/revamp/domain/components/RootDomainComponent.d.ts +4 -3
  33. package/build/types/revamp/domain/components/SectionComponent.d.ts +1 -0
  34. package/build/types/revamp/domain/components/SelectInputComponent.d.ts +1 -0
  35. package/build/types/revamp/domain/components/StatusListComponent.d.ts +1 -0
  36. package/build/types/revamp/domain/components/TabsComponent.d.ts +1 -0
  37. package/build/types/revamp/domain/components/TextInputComponent.d.ts +1 -0
  38. package/build/types/revamp/domain/components/TupleComponent.d.ts +2 -1
  39. package/build/types/revamp/domain/components/UploadInputComponent.d.ts +1 -0
  40. package/build/types/revamp/domain/components/searchComponent/SearchComponent.d.ts +1 -0
  41. package/build/types/revamp/domain/components/step/ExternalConfirmationComponent.d.ts +1 -0
  42. package/build/types/revamp/domain/components/step/StepDomainComponent.d.ts +6 -5
  43. package/build/types/revamp/domain/mappers/layout/modalLayoutToComponent.d.ts +1 -1
  44. package/build/types/revamp/domain/mappers/layout/modalToContent.d.ts +2 -2
  45. package/build/types/revamp/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.d.ts +464 -1
  46. package/build/types/revamp/domain/mappers/schema/persistAsyncSchemaToComponent.d.ts +476 -1
  47. package/build/types/revamp/domain/types.d.ts +9 -4
  48. package/build/types/revamp/renderers/mappers/componentToRendererProps.d.ts +3 -3
  49. package/build/types/revamp/renderers/mappers/modalComponentToProps.d.ts +1 -1
  50. package/build/types/revamp/renderers/mappers/modalLayoutComponentToProps.d.ts +4 -0
  51. package/package.json +2 -2
  52. package/build/types/revamp/domain/components/ModalContentComponent.d.ts +0 -10
  53. package/build/types/revamp/renderers/mappers/modalContentComponentToProps.d.ts +0 -4
package/build/main.mjs CHANGED
@@ -1038,7 +1038,7 @@ function findRendererPropsByType(root, type, predicate = () => true) {
1038
1038
  ];
1039
1039
  }
1040
1040
  var isType = (node, type) => node.type === type;
1041
- function getChildren(node) {
1041
+ var getChildren = (node) => {
1042
1042
  switch (node.type) {
1043
1043
  case "root":
1044
1044
  case "box":
@@ -1046,12 +1046,12 @@ function getChildren(node) {
1046
1046
  case "form":
1047
1047
  case "form-section":
1048
1048
  case "step":
1049
- case "modal-content":
1049
+ case "modal":
1050
1050
  case "section":
1051
1051
  return node.childrenProps;
1052
1052
  case "columns":
1053
1053
  return [...node.startChildrenProps, ...node.endChildrenProps];
1054
- case "modal":
1054
+ case "modal-layout":
1055
1055
  return node.content.childrenProps;
1056
1056
  case "repeatable":
1057
1057
  return node.editableItemProps ? [node.editableItemProps] : [];
@@ -1085,7 +1085,7 @@ function getChildren(node) {
1085
1085
  case "external-confirmation":
1086
1086
  return [];
1087
1087
  }
1088
- }
1088
+ };
1089
1089
 
1090
1090
  // src/revamp/renderers/CoreRootRenderer.tsx
1091
1091
  import { jsx as jsx4 } from "react/jsx-runtime";
@@ -1474,12 +1474,28 @@ var markdownComponentToProps = (control, rendererMapperProps) => __spreadValues(
1474
1474
 
1475
1475
  // src/revamp/renderers/mappers/modalComponentToProps.ts
1476
1476
  var modalComponentToProps = (component, rendererMapperProps) => {
1477
- const { uid, analyticsId, content, control, margin, trigger } = component;
1477
+ const { uid, analyticsId, open, title, close } = component;
1478
1478
  const childrenProps = component.getChildren().map((c) => componentToRendererProps(c, rendererMapperProps));
1479
1479
  return __spreadValues({
1480
1480
  uid,
1481
1481
  analyticsId,
1482
1482
  type: "modal",
1483
+ open,
1484
+ title,
1485
+ children: childrenProps.map(rendererMapperProps.render),
1486
+ childrenProps,
1487
+ onClose: close.bind(component)
1488
+ }, rendererMapperProps);
1489
+ };
1490
+
1491
+ // src/revamp/renderers/mappers/modalLayoutComponentToProps.ts
1492
+ var modalLayoutComponentToProps = (component, rendererMapperProps) => {
1493
+ const { uid, analyticsId, content, control, margin, trigger } = component;
1494
+ const childrenProps = component.getChildren().map((c) => componentToRendererProps(c, rendererMapperProps));
1495
+ return __spreadValues({
1496
+ uid,
1497
+ analyticsId,
1498
+ type: "modal-layout",
1483
1499
  content: {
1484
1500
  children: childrenProps.map(rendererMapperProps.render),
1485
1501
  childrenProps,
@@ -1491,22 +1507,6 @@ var modalComponentToProps = (component, rendererMapperProps) => {
1491
1507
  }, rendererMapperProps);
1492
1508
  };
1493
1509
 
1494
- // src/revamp/renderers/mappers/modalContentComponentToProps.ts
1495
- var modalContentComponentToProps = (component, rendererMapperProps) => {
1496
- const { uid, analyticsId, open, title, close } = component;
1497
- const childrenProps = component.getChildren().map((c) => componentToRendererProps(c, rendererMapperProps));
1498
- return __spreadValues({
1499
- uid,
1500
- analyticsId,
1501
- type: "modal-content",
1502
- open,
1503
- title,
1504
- children: childrenProps.map(rendererMapperProps.render),
1505
- childrenProps,
1506
- onClose: close.bind(component)
1507
- }, rendererMapperProps);
1508
- };
1509
-
1510
1510
  // src/revamp/renderers/mappers/multiSelectComponentToProps.ts
1511
1511
  var multiSelectInputComponentToProps = (component, rendererMapperProps) => {
1512
1512
  const { autoComplete, maxItems, minItems, options, selectedIndices, onSelect } = component;
@@ -1757,6 +1757,22 @@ var selectInputComponentToProps = (component, rendererMapperProps) => {
1757
1757
  // src/revamp/renderers/mappers/statusListComponentToProps.ts
1758
1758
  var statusListComponentToProps = (component, rendererMapperProps) => __spreadValues(__spreadValues({}, pick(component, "uid", "analyticsId", "type", "control", "items", "margin", "title")), rendererMapperProps);
1759
1759
 
1760
+ // src/revamp/renderers/mappers/tabsComponentToProps.ts
1761
+ var tabsComponentToProps = (component, rendererMapperProps) => {
1762
+ const tabs = component.tabs.map(({ components, tag, title }) => {
1763
+ const childrenProps = components.map((c) => componentToRendererProps(c, rendererMapperProps));
1764
+ return {
1765
+ title,
1766
+ tag,
1767
+ childrenProps,
1768
+ children: childrenProps.map(rendererMapperProps.render)
1769
+ };
1770
+ });
1771
+ return __spreadProps(__spreadValues(__spreadValues({}, pick(component, "uid", "analyticsId", "type", "control", "margin")), rendererMapperProps), {
1772
+ tabs
1773
+ });
1774
+ };
1775
+
1760
1776
  // src/revamp/renderers/mappers/textInputComponentToProps.ts
1761
1777
  var textInputComponentToProps = (component, rendererMapperProps) => __spreadProps(__spreadValues(__spreadValues({}, inputComponentToProps(component, "input-text")), rendererMapperProps), {
1762
1778
  autoComplete: component.autoComplete,
@@ -1801,27 +1817,15 @@ var uploadInputComponentToProps = (component, rendererMapperProps) => {
1801
1817
  });
1802
1818
  };
1803
1819
 
1804
- // src/revamp/renderers/mappers/tabsComponentToProps.ts
1805
- var tabsComponentToProps = (component, rendererMapperProps) => {
1806
- const tabs = component.tabs.map(({ components, tag, title }) => {
1807
- const childrenProps = components.map((c) => componentToRendererProps(c, rendererMapperProps));
1808
- return {
1809
- title,
1810
- tag,
1811
- childrenProps,
1812
- children: childrenProps.map(rendererMapperProps.render)
1813
- };
1814
- });
1815
- return __spreadProps(__spreadValues(__spreadValues({}, pick(component, "uid", "analyticsId", "type", "control", "margin")), rendererMapperProps), {
1816
- tabs
1817
- });
1818
- };
1819
-
1820
1820
  // src/revamp/renderers/mappers/componentToRendererProps.ts
1821
- var componentToRendererProps = (component, rendererMapperProps) => {
1821
+ var componentToRendererProps = (component, mapperProps) => {
1822
1822
  if (isHiddenComponent(component)) {
1823
1823
  return hiddenComponentToProps(component);
1824
1824
  }
1825
+ const trackEventWithLayoutId = (eventName, properties) => mapperProps.trackEvent(eventName, __spreadValues({
1826
+ layoutId: component.analyticsId
1827
+ }, properties));
1828
+ const rendererMapperProps = component.kind === "layout" ? __spreadProps(__spreadValues({}, mapperProps), { trackEvent: trackEventWithLayoutId }) : mapperProps;
1825
1829
  const componentProps = getComponentProps(component, rendererMapperProps);
1826
1830
  const alertProps = getComponentAlertProps(component, rendererMapperProps);
1827
1831
  if (alertProps) {
@@ -1881,10 +1885,10 @@ var getComponentProps = (component, rendererMapperProps) => {
1881
1885
  return loadingIndicatorComponentToProps(component, rendererMapperProps);
1882
1886
  case "markdown":
1883
1887
  return markdownComponentToProps(component, rendererMapperProps);
1888
+ case "modal-layout":
1889
+ return modalLayoutComponentToProps(component, rendererMapperProps);
1884
1890
  case "modal":
1885
1891
  return modalComponentToProps(component, rendererMapperProps);
1886
- case "modal-content":
1887
- return modalContentComponentToProps(component, rendererMapperProps);
1888
1892
  case "multi-select":
1889
1893
  return multiSelectInputComponentToProps(component, rendererMapperProps);
1890
1894
  case "multi-upload":
@@ -1946,6 +1950,7 @@ var createRootDomainComponent = (updateComponent) => {
1946
1950
  const update = getInputUpdateFunction(updateComponent);
1947
1951
  const rootComponent = {
1948
1952
  type: "root",
1953
+ kind: "step",
1949
1954
  uid: "root",
1950
1955
  stepComponent: null,
1951
1956
  _update(updateFn) {
@@ -2008,11 +2013,12 @@ var createRootDomainComponent = (updateComponent) => {
2008
2013
  return rootComponent;
2009
2014
  };
2010
2015
 
2011
- // src/revamp/domain/components/ModalContentComponent.ts
2016
+ // src/revamp/domain/components/ModalComponent.ts
2012
2017
  var createModalContentComponent = (modalProps, updateComponent) => {
2013
2018
  const update = getInputUpdateFunction(updateComponent);
2014
2019
  const modalContentComponent = __spreadProps(__spreadValues({
2015
- type: "modal-content",
2020
+ type: "modal",
2021
+ kind: "layout",
2016
2022
  open: true
2017
2023
  }, modalProps), {
2018
2024
  _update(updateFn) {
@@ -2035,7 +2041,8 @@ var getRandomId = () => Math.random().toString(36).substring(2);
2035
2041
 
2036
2042
  // src/revamp/domain/components/AlertComponent.ts
2037
2043
  var createAlertComponent = (alertProps) => __spreadValues({
2038
- type: "alert"
2044
+ type: "alert",
2045
+ kind: "layout"
2039
2046
  }, alertProps);
2040
2047
 
2041
2048
  // src/revamp/domain/mappers/utils/behavior-utils.ts
@@ -2187,6 +2194,7 @@ var alertLayoutToComponent = (uid, { control, markdown, margin = "md", context =
2187
2194
  // src/revamp/domain/components/BoxComponent.ts
2188
2195
  var createBoxComponent = (boxProps) => __spreadProps(__spreadValues({}, boxProps), {
2189
2196
  type: "box",
2197
+ kind: "layout",
2190
2198
  getChildren() {
2191
2199
  return this.components;
2192
2200
  }
@@ -2207,7 +2215,8 @@ var boxLayoutToComponent = (uid, { border = false, components, control, margin =
2207
2215
 
2208
2216
  // src/revamp/domain/components/ButtonComponent.ts
2209
2217
  var createButtonComponent = (buttonProps) => __spreadValues({
2210
- type: "button"
2218
+ type: "button",
2219
+ kind: "layout"
2211
2220
  }, buttonProps);
2212
2221
 
2213
2222
  // src/revamp/domain/mappers/layout/buttonLayoutToComponent.ts
@@ -2290,6 +2299,7 @@ var getButtonContext = ({ context, action }) => {
2290
2299
  // src/revamp/domain/components/ColumnsComponent.ts
2291
2300
  var createColumnsComponent = (columnsProps) => __spreadProps(__spreadValues({}, columnsProps), {
2292
2301
  type: "columns",
2302
+ kind: "layout",
2293
2303
  getChildren() {
2294
2304
  return [...this.startComponents, ...this.endComponents];
2295
2305
  }
@@ -2317,7 +2327,8 @@ var columnsLayoutToComponent = (uid, { control, left, right, bias = "none", marg
2317
2327
 
2318
2328
  // src/revamp/domain/components/DecisionComponent.ts
2319
2329
  var createDecisionComponent = (decisionProps) => __spreadValues({
2320
- type: "decision"
2330
+ type: "decision",
2331
+ kind: "layout"
2321
2332
  }, decisionProps);
2322
2333
 
2323
2334
  // src/revamp/domain/mappers/utils/utils.ts
@@ -2378,7 +2389,8 @@ var mapOption = (option, onBehavior, stepActions = []) => {
2378
2389
 
2379
2390
  // src/revamp/domain/components/StatusListComponent.ts
2380
2391
  var createStatusListComponent = (statusListProps) => __spreadValues({
2381
- type: "status-list"
2392
+ type: "status-list",
2393
+ kind: "layout"
2382
2394
  }, statusListProps);
2383
2395
 
2384
2396
  // src/revamp/domain/mappers/layout/deprecatedListLayoutToComponent.ts
@@ -2416,7 +2428,8 @@ var mapLegacyStatus = (status) => {
2416
2428
 
2417
2429
  // src/revamp/domain/components/DividerComponent.ts
2418
2430
  var createDividerComponent = (props) => __spreadValues({
2419
- type: "divider"
2431
+ type: "divider",
2432
+ kind: "layout"
2420
2433
  }, props);
2421
2434
 
2422
2435
  // src/revamp/domain/mappers/layout/dividerLayoutToComponent.ts
@@ -2425,6 +2438,7 @@ var dividerLayoutToComponent = (uid, { control, margin = "md", analyticsId }) =>
2425
2438
  // src/revamp/domain/components/FormComponent.ts
2426
2439
  var createFormComponent = (formProps) => __spreadProps(__spreadValues({}, formProps), {
2427
2440
  type: "form",
2441
+ kind: "layout",
2428
2442
  getChildren() {
2429
2443
  return [this.schemaComponent];
2430
2444
  }
@@ -2455,7 +2469,8 @@ var formLayoutToComponent = (uid, { analyticsId, schemaId, schema: schemaRef, co
2455
2469
 
2456
2470
  // src/revamp/domain/components/HeadingComponent.ts
2457
2471
  var createHeadingComponent = (headingProps) => __spreadValues({
2458
- type: "heading"
2472
+ type: "heading",
2473
+ kind: "layout"
2459
2474
  }, headingProps);
2460
2475
 
2461
2476
  // src/revamp/domain/mappers/layout/headingLayoutToComponent.ts
@@ -2471,7 +2486,8 @@ var headingLayoutToComponent = (uid, { analyticsId, align = "left", margin = "md
2471
2486
 
2472
2487
  // src/revamp/domain/components/ImageComponent.ts
2473
2488
  var createImageComponent = (imageProps) => __spreadValues({
2474
- type: "image"
2489
+ type: "image",
2490
+ kind: "layout"
2475
2491
  }, imageProps);
2476
2492
 
2477
2493
  // src/revamp/domain/mappers/layout/imageLayoutToComponent.ts
@@ -2503,7 +2519,8 @@ var imageLayoutToComponent = (uid, {
2503
2519
 
2504
2520
  // src/revamp/domain/components/MarkdownComponent.ts
2505
2521
  var createMarkdownComponent = (markdownProps) => __spreadValues({
2506
- type: "markdown"
2522
+ type: "markdown",
2523
+ kind: "layout"
2507
2524
  }, markdownProps);
2508
2525
 
2509
2526
  // src/revamp/domain/mappers/layout/infoLayoutToComponent.ts
@@ -2518,7 +2535,8 @@ var infoLayoutToComponent = (uid, { analyticsId, align = "left", control, margin
2518
2535
 
2519
2536
  // src/revamp/domain/components/InstructionsComponent.ts
2520
2537
  var createInstructionsComponent = (instructionsProps) => __spreadValues({
2521
- type: "instructions"
2538
+ type: "instructions",
2539
+ kind: "layout"
2522
2540
  }, instructionsProps);
2523
2541
 
2524
2542
  // src/revamp/domain/mappers/layout/instructionsLayoutToComponent.ts
@@ -2535,7 +2553,8 @@ var instructionsLayoutToComponent = (uid, { analyticsId, control, items, margin
2535
2553
 
2536
2554
  // src/revamp/domain/components/ListComponent.ts
2537
2555
  var createListComponent = (listProps) => __spreadValues({
2538
- type: "list"
2556
+ type: "list",
2557
+ kind: "layout"
2539
2558
  }, listProps);
2540
2559
 
2541
2560
  // src/revamp/domain/mappers/layout/listLayoutToComponent.ts
@@ -2573,7 +2592,8 @@ var mapSupportingValues = (item) => {
2573
2592
 
2574
2593
  // src/revamp/domain/components/LoadingIndicatorComponent.ts
2575
2594
  var createLoadingIndicatorComponent = (loadingIndicatorProps) => __spreadValues({
2576
- type: "loading-indicator"
2595
+ type: "loading-indicator",
2596
+ kind: "layout"
2577
2597
  }, loadingIndicatorProps);
2578
2598
 
2579
2599
  // src/revamp/domain/mappers/layout/loadingIndicatorLayoutToComponent.ts
@@ -2589,9 +2609,10 @@ var markdownLayoutToComponent = (uid, { analyticsId, align = "left", margin = "m
2589
2609
  margin
2590
2610
  });
2591
2611
 
2592
- // src/revamp/domain/components/ModalComponent.ts
2612
+ // src/revamp/domain/components/ModalLayoutComponent.ts
2593
2613
  var createModalComponent = (modalProps) => __spreadProps(__spreadValues({
2594
- type: "modal"
2614
+ type: "modal-layout",
2615
+ kind: "layout"
2595
2616
  }, modalProps), {
2596
2617
  getChildren() {
2597
2618
  return this.content.components;
@@ -2618,7 +2639,8 @@ var modalLayoutToComponent = (uid, { analyticsId, content, control, margin = "md
2618
2639
 
2619
2640
  // src/revamp/domain/components/ParagraphComponent.ts
2620
2641
  var createParagraphComponent = (paragraphProps) => __spreadValues({
2621
- type: "paragraph"
2642
+ type: "paragraph",
2643
+ kind: "layout"
2622
2644
  }, paragraphProps);
2623
2645
 
2624
2646
  // src/revamp/domain/mappers/layout/paragraphLayoutToComponent.ts
@@ -2633,7 +2655,8 @@ var paragraphLayoutToComponent = (uid, { analyticsId, align = "left", control, m
2633
2655
 
2634
2656
  // src/revamp/domain/components/ReviewComponent.ts
2635
2657
  var createReviewComponent = (reviewProps) => __spreadValues({
2636
- type: "review"
2658
+ type: "review",
2659
+ kind: "layout"
2637
2660
  }, reviewProps);
2638
2661
 
2639
2662
  // src/revamp/domain/mappers/layout/reviewLayoutToComponent.ts
@@ -2773,6 +2796,7 @@ var createSearchComponent = (searchProps, performSearch, onBehavior, updateCompo
2773
2796
  const debouncedSearch = debounce(search, DEBOUNCE_TIME);
2774
2797
  const component = {
2775
2798
  type: "search",
2799
+ kind: "layout",
2776
2800
  uid,
2777
2801
  analyticsId,
2778
2802
  control,
@@ -2911,6 +2935,7 @@ var statusListLayoutToComponent = (uid, { analyticsId, control, items, margin =
2911
2935
  var createSectionComponent = (props) => {
2912
2936
  return __spreadProps(__spreadValues({}, props), {
2913
2937
  type: "section",
2938
+ kind: "layout",
2914
2939
  getChildren() {
2915
2940
  return this.components;
2916
2941
  }
@@ -2939,7 +2964,8 @@ var sectionLayoutToComponent = (uid, { analyticsId, control, title, components,
2939
2964
 
2940
2965
  // src/revamp/domain/components/TabsComponent.ts
2941
2966
  var createTabsComponent = (tabsProps) => __spreadProps(__spreadValues({}, tabsProps), {
2942
- type: "tabs"
2967
+ type: "tabs",
2968
+ kind: "layout"
2943
2969
  });
2944
2970
 
2945
2971
  // src/revamp/domain/mappers/layout/tabsLayoutToComponent.ts
@@ -3029,6 +3055,7 @@ var createExternalConfirmation = (uid, url, updateComponent) => {
3029
3055
  const update = getInputUpdateFunction(updateComponent);
3030
3056
  return {
3031
3057
  type: "external-confirmation",
3058
+ kind: "layout",
3032
3059
  uid,
3033
3060
  url,
3034
3061
  status: "initial",
@@ -3091,6 +3118,7 @@ var createStepComponent = (stepProps) => {
3091
3118
  uid
3092
3119
  }, rest), {
3093
3120
  type: "step",
3121
+ kind: "step",
3094
3122
  modals: [],
3095
3123
  dismissModal() {
3096
3124
  var _a2;
@@ -3329,6 +3357,7 @@ var createNumberInputComponent = (numberInputProps, updateComponent) => {
3329
3357
  const validateAsync = performValidationAsync ? getDebouncedComponentValidationAsync(update, performValidationAsync) : void 0;
3330
3358
  const numberComponent = __spreadValues({
3331
3359
  type: "number",
3360
+ kind: "input",
3332
3361
  uid,
3333
3362
  id,
3334
3363
  _update(updateFn) {
@@ -3878,6 +3907,7 @@ var createAllOfComponent = (allOfProps) => {
3878
3907
  } = allOfProps;
3879
3908
  return {
3880
3909
  type: "all-of",
3910
+ kind: "input",
3881
3911
  uid,
3882
3912
  schemaId,
3883
3913
  analyticsId,
@@ -3963,6 +3993,7 @@ var createRepeatableComponent = (repeatableProps, updateComponent) => {
3963
3993
  schemaId,
3964
3994
  analyticsId,
3965
3995
  type: "repeatable",
3996
+ kind: "input",
3966
3997
  components,
3967
3998
  editableComponent: null,
3968
3999
  editableIndex: null,
@@ -4221,6 +4252,7 @@ var createMultiUploadInputComponent = (uploadInputProps, updateComponent) => {
4221
4252
  const getFileValidationErrors = getLocalValueValidator(fileChecks);
4222
4253
  const uploadComponent = __spreadValues({
4223
4254
  type: "multi-upload",
4255
+ kind: "input",
4224
4256
  uid,
4225
4257
  id,
4226
4258
  format: "base64",
@@ -4479,6 +4511,7 @@ var createMultiSelectComponent = (multiSelectProps, updateComponent) => {
4479
4511
  const component = __spreadProps(__spreadValues({
4480
4512
  uid,
4481
4513
  type: "multi-select",
4514
+ kind: "input",
4482
4515
  children,
4483
4516
  options,
4484
4517
  selectedIndices,
@@ -4631,6 +4664,7 @@ var createTupleComponent = (tupleProps) => {
4631
4664
  } = tupleProps;
4632
4665
  return {
4633
4666
  type: "tuple",
4667
+ kind: "input",
4634
4668
  uid,
4635
4669
  schemaId,
4636
4670
  analyticsId,
@@ -4744,6 +4778,7 @@ var createUploadInputComponent = (uploadInputProps, updateComponent) => {
4744
4778
  const getValidationErrors = getLocalValueValidator(checks);
4745
4779
  const uploadComponent = __spreadValues({
4746
4780
  type: "upload",
4781
+ kind: "input",
4747
4782
  uid,
4748
4783
  id,
4749
4784
  format,
@@ -4849,6 +4884,7 @@ var createBooleanInputComponent = (booleanInputProps, updateComponent) => {
4849
4884
  const validateAsync = performValidationAsync ? getComponentValidationAsync(update, performValidationAsync) : void 0;
4850
4885
  const booleanComponent = __spreadValues({
4851
4886
  type: "boolean",
4887
+ kind: "input",
4852
4888
  uid,
4853
4889
  id,
4854
4890
  autoComplete: "",
@@ -4930,6 +4966,7 @@ var createConstComponent = (hiddenProps) => {
4930
4966
  const { uid, schemaId, analyticsId, value, summary } = hiddenProps;
4931
4967
  return {
4932
4968
  type: "const",
4969
+ kind: "input",
4933
4970
  uid,
4934
4971
  schemaId,
4935
4972
  analyticsId,
@@ -4986,6 +5023,7 @@ var createIntegerInputComponent = (integerInputProps, updateComponent) => {
4986
5023
  const validateAsync = performValidationAsync ? getDebouncedComponentValidationAsync(update, performValidationAsync) : void 0;
4987
5024
  const integerComponent = __spreadValues({
4988
5025
  type: "integer",
5026
+ kind: "input",
4989
5027
  uid,
4990
5028
  id,
4991
5029
  value,
@@ -5096,6 +5134,7 @@ var createObjectComponent = (objectProps) => {
5096
5134
  } = objectProps;
5097
5135
  return {
5098
5136
  type: "object",
5137
+ kind: "input",
5099
5138
  uid,
5100
5139
  schemaId,
5101
5140
  analyticsId,
@@ -5234,6 +5273,7 @@ var createSelectInputComponent = (selectProps, updateComponent) => {
5234
5273
  const component = __spreadProps(__spreadValues({
5235
5274
  uid,
5236
5275
  type: "select",
5276
+ kind: "input",
5237
5277
  children,
5238
5278
  options,
5239
5279
  selectedIndex,
@@ -5397,6 +5437,7 @@ var createDateInputComponent = (textInputProps, updateComponent) => {
5397
5437
  const validateAsync = performValidationAsync ? getComponentValidationAsync(update, performValidationAsync) : void 0;
5398
5438
  const dateInputComponent = __spreadValues({
5399
5439
  type: "date",
5440
+ kind: "input",
5400
5441
  uid,
5401
5442
  id,
5402
5443
  value,
@@ -5558,6 +5599,7 @@ var createTextInputComponent = (textInputProps, updateComponent) => {
5558
5599
  const validateAsync = performValidationAsync ? getDebouncedComponentValidationAsync(update, performValidationAsync) : void 0;
5559
5600
  const inputComponent = __spreadValues({
5560
5601
  type: "text",
5602
+ kind: "input",
5561
5603
  uid,
5562
5604
  id,
5563
5605
  value,
@@ -5712,6 +5754,7 @@ var createPersistAsyncComponent = (props, performPersistAsync, schemaOnChange, u
5712
5754
  const update = getInputUpdateFunction(updateComponent);
5713
5755
  const paComponent = {
5714
5756
  type: "persist-async",
5757
+ kind: "input",
5715
5758
  uid,
5716
5759
  analyticsId,
5717
5760
  schemaId,
@@ -1,6 +1,7 @@
1
1
  import type { BaseLayoutComponent, CallToAction, Context } from '../types';
2
2
  export type AlertComponent = BaseLayoutComponent & {
3
3
  type: 'alert';
4
+ kind: 'layout';
4
5
  markdown: string;
5
6
  context: Context;
6
7
  callToAction?: CallToAction;
@@ -1,7 +1,8 @@
1
1
  import type { Model } from '@wise/dynamic-flow-types/build/next';
2
- import type { BaseSchemaComponent, InlineAlert, SchemaComponent, LocalValue, RepeatableSummary } from '../types';
2
+ import type { BaseSchemaComponent, InlineAlert, LocalValue, RepeatableSummary, SchemaComponent } from '../types';
3
3
  export type AllOfComponent = BaseSchemaComponent<LocalValue> & {
4
4
  type: 'all-of';
5
+ kind: 'input';
5
6
  components: SchemaComponent[];
6
7
  alert?: InlineAlert;
7
8
  getChildren: () => SchemaComponent[];
@@ -3,6 +3,7 @@ import type { PerformValidationAsync } from '../features/validationAsync/getPerf
3
3
  import type { BaseInputComponent, OnPersistAsync, OnValueChange, RepeatableSummary, UpdateComponent, ValidationAsyncState } from '../types';
4
4
  export type BooleanInputComponent = BaseInputComponent<boolean> & {
5
5
  type: 'boolean';
6
+ kind: 'input';
6
7
  validationAsyncState: ValidationAsyncState;
7
8
  onChange: (value: boolean) => void;
8
9
  };
@@ -2,6 +2,7 @@ import type { Size } from '@wise/dynamic-flow-types/build/next';
2
2
  import type { BaseLayoutComponent, DomainComponent } from '../types';
3
3
  export type BoxComponent = BaseLayoutComponent & {
4
4
  type: 'box';
5
+ kind: 'layout';
5
6
  border: boolean;
6
7
  width: Size;
7
8
  components: DomainComponent[];
@@ -2,6 +2,7 @@ import type { Size } from '@wise/dynamic-flow-types/build/next';
2
2
  import type { BaseLayoutComponent, Context } from '../types';
3
3
  export type ButtonComponent = BaseLayoutComponent & {
4
4
  type: 'button';
5
+ kind: 'layout';
5
6
  context: Context;
6
7
  disabled: boolean;
7
8
  pinOrder?: number;
@@ -1,6 +1,7 @@
1
1
  import type { BaseLayoutComponent, Bias, DomainComponent } from '../types';
2
2
  export type ColumnsComponent = BaseLayoutComponent & {
3
3
  type: 'columns';
4
+ kind: 'layout';
4
5
  bias: Bias;
5
6
  startComponents: DomainComponent[];
6
7
  endComponents: DomainComponent[];
@@ -2,6 +2,7 @@ import type { Model } from '@wise/dynamic-flow-types/build/next';
2
2
  import type { BaseSchemaComponent, LocalValue, RepeatableSummary } from '../types';
3
3
  export type ConstComponent = BaseSchemaComponent<LocalValue> & {
4
4
  type: 'const';
5
+ kind: 'input';
5
6
  };
6
7
  export declare const createConstComponent: (hiddenProps: Pick<ConstComponent, "uid" | "schemaId" | "analyticsId"> & {
7
8
  value: Model;
@@ -1,6 +1,7 @@
1
1
  import type { BaseComponent, DomainComponent } from '../types';
2
2
  export type ContainerComponent = BaseComponent & {
3
3
  type: 'container';
4
+ kind: 'layout';
4
5
  components: DomainComponent[];
5
6
  getChildren: () => DomainComponent[];
6
7
  };
@@ -4,6 +4,7 @@ import type { PerformValidationAsync } from '../features/validationAsync/getPerf
4
4
  import type { BaseInputComponent, OnPersistAsync, OnValueChange, RepeatableSummary, Suggestions, UpdateComponent, ValidationAsyncState } from '../types';
5
5
  export type DateInputComponent = BaseInputComponent<string | null> & {
6
6
  type: 'date';
7
+ kind: 'input';
7
8
  minimumDate?: string;
8
9
  maximumDate?: string;
9
10
  suggestions?: Suggestions;
@@ -2,6 +2,7 @@ import type { Icon } from '@wise/dynamic-flow-types/build/next';
2
2
  import type { BaseLayoutComponent, Image, InlineAlert, SupportingValues } from '../types';
3
3
  export type DecisionComponent = BaseLayoutComponent & {
4
4
  type: 'decision';
5
+ kind: 'layout';
5
6
  options: DecisionOption[];
6
7
  title?: string;
7
8
  };
@@ -1,5 +1,6 @@
1
1
  import type { BaseLayoutComponent } from '../types';
2
2
  export type DividerComponent = BaseLayoutComponent & {
3
3
  type: 'divider';
4
+ kind: 'layout';
4
5
  };
5
6
  export declare const createDividerComponent: (props: Pick<DividerComponent, "uid" | "control" | "margin" | "analyticsId">) => DividerComponent;
@@ -1,6 +1,7 @@
1
1
  import type { BaseLayoutComponent, SchemaComponent } from '../types';
2
2
  export type FormComponent = BaseLayoutComponent & {
3
3
  type: 'form';
4
+ kind: 'layout';
4
5
  schemaComponent: SchemaComponent;
5
6
  getChildren: () => SchemaComponent[];
6
7
  };
@@ -2,6 +2,7 @@ import type { Size } from '@wise/dynamic-flow-types/build/next';
2
2
  import type { Align, BaseLayoutComponent } from '../types';
3
3
  export type HeadingComponent = BaseLayoutComponent & {
4
4
  type: 'heading';
5
+ kind: 'layout';
5
6
  text: string;
6
7
  align: Align;
7
8
  size: Size;
@@ -2,6 +2,7 @@ import type { Size } from '@wise/dynamic-flow-types/build/next';
2
2
  import type { Align, BaseLayoutComponent } from '../types';
3
3
  export type ImageComponent = BaseLayoutComponent & {
4
4
  type: 'image';
5
+ kind: 'layout';
5
6
  align: Align;
6
7
  content: ImageContent;
7
8
  size: Size;
@@ -1,6 +1,7 @@
1
1
  import type { BaseLayoutComponent, Context } from '../types';
2
2
  export type InstructionsComponent = BaseLayoutComponent & {
3
3
  type: 'instructions';
4
+ kind: 'layout';
4
5
  items: InstructionItem[];
5
6
  title?: string;
6
7
  };
@@ -4,6 +4,7 @@ import type { PerformValidationAsync } from '../features/validationAsync/getPerf
4
4
  import type { BaseInputComponent, OnPersistAsync, OnValueChange, RepeatableSummary, UpdateComponent, ValidationAsyncState } from '../types';
5
5
  export type IntegerInputComponent = BaseInputComponent<number | null> & {
6
6
  type: 'integer';
7
+ kind: 'input';
7
8
  maximum?: number;
8
9
  minimum?: number;
9
10
  validationAsyncState: ValidationAsyncState;
@@ -2,6 +2,7 @@ import { Icon } from '@wise/dynamic-flow-types/build/next';
2
2
  import { AdditionalInfo, BaseLayoutComponent, CallToAction, Image, InlineAlert, SupportingValues } from '../types';
3
3
  export type ListComponent = BaseLayoutComponent & {
4
4
  type: 'list';
5
+ kind: 'layout';
5
6
  items: ListItem[];
6
7
  title?: string;
7
8
  callToAction?: CallToAction;
@@ -2,6 +2,7 @@ import type { Size } from '@wise/dynamic-flow-types/build/next';
2
2
  import type { BaseLayoutComponent } from '../types';
3
3
  export type LoadingIndicatorComponent = BaseLayoutComponent & {
4
4
  type: 'loading-indicator';
5
+ kind: 'layout';
5
6
  control?: string;
6
7
  size: Size;
7
8
  };
@@ -1,6 +1,7 @@
1
1
  import type { Align, BaseLayoutComponent } from '../types';
2
2
  export type MarkdownComponent = BaseLayoutComponent & {
3
3
  type: 'markdown';
4
+ kind: 'layout';
4
5
  align: Align;
5
6
  content: string;
6
7
  };