@wise/dynamic-flow-client 4.5.0 → 4.5.2

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.
@@ -8,21 +8,21 @@
8
8
  "dynamicFlows.CameraCapture.CameraConnectionIssue.action": "ลองอีกครั้ง",
9
9
  "dynamicFlows.CameraCapture.CameraConnectionIssue.paragraph": "โปรดตรวจสอบการเชื่อมต่อใหม่แล้วลองอีกครั้ง",
10
10
  "dynamicFlows.CameraCapture.CameraConnectionIssue.title": "เราไม่สามารถเข้าถึงกล้องของคุณได้",
11
- "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "เบราว์เซอร์ที่คุณใช้ไม่รองรับกล้อง ให้ลองใช้เบราว์เซอร์และอุปกรณ์อื่น หรือดาวน์โหลดแอปมือถือของเราดู",
11
+ "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "เบราว์เซอร์ที่คุณใช้ไม่รองรับกล้อง ให้ลองใช้เบราว์เซอร์และอุปกรณ์อื่น หรือดาวน์โหลดแอปมือถือของเรา",
12
12
  "dynamicFlows.CameraCapture.CameraNotSupported.title": "ไม่รองรับกล้อง",
13
13
  "dynamicFlows.CameraCapture.NoCameraAccess.action": "เปิดใช้การเข้าถึงกล้อง",
14
14
  "dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "เปิดใช้งานการเข้าถึงกล้องในการตั้งค่าเบราว์เซอร์เพื่อเริ่มต้นใหม่อีกครั้ง",
15
15
  "dynamicFlows.CameraCapture.NoCameraAccess.title": "เราไม่สามารถเข้าถึงกล้องของคุณได้",
16
16
  "dynamicFlows.CameraCapture.reviewInstructions": "รูปภาพของคุณชัดเจน อ่านได้ และครบถ้วนหรือไม่",
17
- "dynamicFlows.CameraCapture.reviewRetry": "ไม่ ลองอีกทั้ง",
17
+ "dynamicFlows.CameraCapture.reviewRetry": "ไม่ ลองอีกครั้ง",
18
18
  "dynamicFlows.CameraCapture.reviewSubmit": "ใช่ ส่งเลย",
19
19
  "dynamicFlows.CameraCapture.rotatePhone.text": "หมุนโทรศัพท์ของคุณให้เป็นมุมแนวตั้งแล้วถ่ายรูป",
20
- "dynamicFlows.ControlFeedback.maxLength": "โปรดป้อน {maxLength} อักขระหรือน้อยกว่า",
20
+ "dynamicFlows.ControlFeedback.maxLength": "โปรดป้อน {maxLength} ตัวอักษรหรือน้อยกว่านั้น",
21
21
  "dynamicFlows.ControlFeedback.maximum": "โปรดป้อนตัวเลข {maximum} หรือน้อยกว่า",
22
- "dynamicFlows.ControlFeedback.maximumDate": "โปรดป้อนวันที่ที่อยู่ตรงพอดีหรือก่อน {maximum}",
23
- "dynamicFlows.ControlFeedback.minLength": "โปรดป้อนอักขระอย่างน้อย {minLength} ตัว",
22
+ "dynamicFlows.ControlFeedback.maximumDate": "โปรดใส่วันที่เป็น {maximum} หรือก่อนหน้านั้น",
23
+ "dynamicFlows.ControlFeedback.minLength": "โปรดป้อนตัวอักษรอย่างน้อย {minLength} ตัว",
24
24
  "dynamicFlows.ControlFeedback.minimum": "โปรดป้อนตัวเลข {minimum} หรือมากกว่า",
25
- "dynamicFlows.ControlFeedback.minimumDate": "โปรดป้อนวันที่ที่อยู่ตรงพอดีหรือหลัง {minimum}",
25
+ "dynamicFlows.ControlFeedback.minimumDate": "โปรดใส่วันที่เป็น {minimum} หรือหลังจากนั้น",
26
26
  "dynamicFlows.ControlFeedback.pattern": "โปรดใส่ในรูปแบบที่ถูกต้อง",
27
27
  "dynamicFlows.ControlFeedback.patternDate": "โปรดป้อนวันที่ในรูปแบบที่ถูกต้อง",
28
28
  "dynamicFlows.ControlFeedback.required": "โปรดใส่ข้อมูลในช่องนี้",
package/build/main.js CHANGED
@@ -744,21 +744,21 @@ var th_default = {
744
744
  "dynamicFlows.CameraCapture.CameraConnectionIssue.action": "\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
745
745
  "dynamicFlows.CameraCapture.CameraConnectionIssue.paragraph": "\u0E42\u0E1B\u0E23\u0E14\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D\u0E43\u0E2B\u0E21\u0E48\u0E41\u0E25\u0E49\u0E27\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
746
746
  "dynamicFlows.CameraCapture.CameraConnectionIssue.title": "\u0E40\u0E23\u0E32\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E44\u0E14\u0E49",
747
- "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E43\u0E0A\u0E49\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E25\u0E49\u0E2D\u0E07 \u0E43\u0E2B\u0E49\u0E25\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E41\u0E25\u0E30\u0E2D\u0E38\u0E1B\u0E01\u0E23\u0E13\u0E4C\u0E2D\u0E37\u0E48\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E2D\u0E1B\u0E21\u0E37\u0E2D\u0E16\u0E37\u0E2D\u0E02\u0E2D\u0E07\u0E40\u0E23\u0E32\u0E14\u0E39",
747
+ "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E43\u0E0A\u0E49\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E25\u0E49\u0E2D\u0E07 \u0E43\u0E2B\u0E49\u0E25\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E41\u0E25\u0E30\u0E2D\u0E38\u0E1B\u0E01\u0E23\u0E13\u0E4C\u0E2D\u0E37\u0E48\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E2D\u0E1B\u0E21\u0E37\u0E2D\u0E16\u0E37\u0E2D\u0E02\u0E2D\u0E07\u0E40\u0E23\u0E32",
748
748
  "dynamicFlows.CameraCapture.CameraNotSupported.title": "\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E25\u0E49\u0E2D\u0E07",
749
749
  "dynamicFlows.CameraCapture.NoCameraAccess.action": "\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07",
750
750
  "dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E43\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E43\u0E2B\u0E21\u0E48\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
751
751
  "dynamicFlows.CameraCapture.NoCameraAccess.title": "\u0E40\u0E23\u0E32\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E44\u0E14\u0E49",
752
752
  "dynamicFlows.CameraCapture.reviewInstructions": "\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19 \u0E2D\u0E48\u0E32\u0E19\u0E44\u0E14\u0E49 \u0E41\u0E25\u0E30\u0E04\u0E23\u0E1A\u0E16\u0E49\u0E27\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48",
753
- "dynamicFlows.CameraCapture.reviewRetry": "\u0E44\u0E21\u0E48 \u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E17\u0E31\u0E49\u0E07",
753
+ "dynamicFlows.CameraCapture.reviewRetry": "\u0E44\u0E21\u0E48 \u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
754
754
  "dynamicFlows.CameraCapture.reviewSubmit": "\u0E43\u0E0A\u0E48 \u0E2A\u0E48\u0E07\u0E40\u0E25\u0E22",
755
755
  "dynamicFlows.CameraCapture.rotatePhone.text": "\u0E2B\u0E21\u0E38\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E43\u0E2B\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E21\u0E38\u0E21\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07\u0E41\u0E25\u0E49\u0E27\u0E16\u0E48\u0E32\u0E22\u0E23\u0E39\u0E1B",
756
- "dynamicFlows.ControlFeedback.maxLength": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19 {maxLength} \u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E2B\u0E23\u0E37\u0E2D\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",
756
+ "dynamicFlows.ControlFeedback.maxLength": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19 {maxLength} \u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E2B\u0E23\u0E37\u0E2D\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19",
757
757
  "dynamicFlows.ControlFeedback.maximum": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02 {maximum} \u0E2B\u0E23\u0E37\u0E2D\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",
758
- "dynamicFlows.ControlFeedback.maximumDate": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E15\u0E23\u0E07\u0E1E\u0E2D\u0E14\u0E35\u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E48\u0E2D\u0E19 {maximum}",
759
- "dynamicFlows.ControlFeedback.minLength": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22 {minLength} \u0E15\u0E31\u0E27",
758
+ "dynamicFlows.ControlFeedback.maximumDate": "\u0E42\u0E1B\u0E23\u0E14\u0E43\u0E2A\u0E48\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E47\u0E19 {maximum} \u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E31\u0E49\u0E19",
759
+ "dynamicFlows.ControlFeedback.minLength": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22 {minLength} \u0E15\u0E31\u0E27",
760
760
  "dynamicFlows.ControlFeedback.minimum": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02 {minimum} \u0E2B\u0E23\u0E37\u0E2D\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",
761
- "dynamicFlows.ControlFeedback.minimumDate": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E15\u0E23\u0E07\u0E1E\u0E2D\u0E14\u0E35\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E31\u0E07 {minimum}",
761
+ "dynamicFlows.ControlFeedback.minimumDate": "\u0E42\u0E1B\u0E23\u0E14\u0E43\u0E2A\u0E48\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E47\u0E19 {minimum} \u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E31\u0E07\u0E08\u0E32\u0E01\u0E19\u0E31\u0E49\u0E19",
762
762
  "dynamicFlows.ControlFeedback.pattern": "\u0E42\u0E1B\u0E23\u0E14\u0E43\u0E2A\u0E48\u0E43\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07",
763
763
  "dynamicFlows.ControlFeedback.patternDate": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E43\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07",
764
764
  "dynamicFlows.ControlFeedback.required": "\u0E42\u0E1B\u0E23\u0E14\u0E43\u0E2A\u0E48\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E43\u0E19\u0E0A\u0E48\u0E2D\u0E07\u0E19\u0E35\u0E49",
@@ -1046,6 +1046,11 @@ var ErrorBoundary = class extends import_react.Component {
1046
1046
  };
1047
1047
  var ErrorBoundary_default = ErrorBoundary;
1048
1048
 
1049
+ // src/revamp/flow/getErrorMessage.ts
1050
+ var getErrorMessage = (error) => {
1051
+ return error instanceof Error ? error.message : typeof error === "string" ? error : `Unknown Error: type is ${typeof error}`;
1052
+ };
1053
+
1049
1054
  // src/revamp/renderers/CoreContainerRenderer.tsx
1050
1055
  var import_jsx_runtime3 = require("react/jsx-runtime");
1051
1056
  var CoreContainerRenderer = {
@@ -1082,7 +1087,7 @@ function getChildren(node) {
1082
1087
  case "box":
1083
1088
  case "container":
1084
1089
  case "form":
1085
- case "section":
1090
+ case "form-section":
1086
1091
  case "step":
1087
1092
  case "modal-content":
1088
1093
  return node.childrenProps;
@@ -1199,7 +1204,7 @@ var allOfComponentToProps = (component, rendererMapperProps) => {
1199
1204
  (c) => componentToRendererProps(c, rendererMapperProps)
1200
1205
  );
1201
1206
  return __spreadProps(__spreadValues(__spreadValues({
1202
- type: "section"
1207
+ type: "form-section"
1203
1208
  }, pick(component, "uid", "control", "description", "help", "icon", "image", "title")), rendererMapperProps), {
1204
1209
  children: childrenProps.map(rendererMapperProps.render),
1205
1210
  childrenProps
@@ -1468,7 +1473,7 @@ var numberInputComponentToProps = (component, rendererMapperProps) => __spreadPr
1468
1473
  var objectComponentToProps = (component, rendererMapperProps) => {
1469
1474
  const childrenProps = component.getChildren().map((c) => componentToRendererProps(c, rendererMapperProps));
1470
1475
  return __spreadProps(__spreadValues(__spreadValues({
1471
- type: "section"
1476
+ type: "form-section"
1472
1477
  }, pick(component, "uid", "control", "description", "help", "icon", "image", "title")), rendererMapperProps), {
1473
1478
  children: childrenProps.map(rendererMapperProps.render),
1474
1479
  childrenProps
@@ -1670,7 +1675,7 @@ var uploadInputComponentToProps = (component, rendererMapperProps) => {
1670
1675
  var tupleComponentToProps = (component, rendererMapperProps) => {
1671
1676
  const childrenProps = component.getChildren().map((c) => componentToRendererProps(c, rendererMapperProps));
1672
1677
  return __spreadProps(__spreadValues(__spreadValues({
1673
- type: "section"
1678
+ type: "form-section"
1674
1679
  }, pick(component, "uid", "control", "description", "help", "icon", "image", "title")), rendererMapperProps), {
1675
1680
  children: childrenProps.map(rendererMapperProps.render),
1676
1681
  childrenProps
@@ -2526,6 +2531,50 @@ var mapOption = (option, onBehavior, stepActions = []) => {
2526
2531
  });
2527
2532
  };
2528
2533
 
2534
+ // src/revamp/domain/components/StatusListComponent.ts
2535
+ var createStatusListComponent = (statusListProps) => __spreadProps(__spreadValues({
2536
+ type: "status-list"
2537
+ }, statusListProps), {
2538
+ getLocalValue: () => null,
2539
+ getSubmittableValue: async () => null,
2540
+ getSubmittableValueSync: () => null,
2541
+ getSummary: () => ({}),
2542
+ // Noop,
2543
+ validate: () => true
2544
+ });
2545
+
2546
+ // src/revamp/domain/mappers/layout/deprecatedListLayoutToComponent.ts
2547
+ var isDeprecatedListLayout = (layout) => {
2548
+ const usesCallToAction = layout.callToAction != null;
2549
+ const usesNewProperties = layout.items.some(
2550
+ (item) => item.additionalInfo != null || item.inlineAlert != null || item.supportingValues != null || item.subtitle != null || item.value != null || item.subvalue != null
2551
+ );
2552
+ return !usesCallToAction && !usesNewProperties;
2553
+ };
2554
+ var deprecatedListLayoutToComponent = (uid, { control, items, margin = "md", title }) => createStatusListComponent({
2555
+ uid,
2556
+ control,
2557
+ items: items.map(({ description, icon, status, title: itemTitle }) => ({
2558
+ description,
2559
+ icon: icon != null ? icon : { text: "" },
2560
+ title: itemTitle != null ? itemTitle : "",
2561
+ status: status ? mapLegacyStatus(status) : void 0
2562
+ })),
2563
+ margin,
2564
+ title
2565
+ });
2566
+ var mapLegacyStatus = (status) => {
2567
+ switch (status) {
2568
+ case "positive":
2569
+ return "done";
2570
+ case "warning":
2571
+ return "pending";
2572
+ case "neutral":
2573
+ default:
2574
+ return "not-done";
2575
+ }
2576
+ };
2577
+
2529
2578
  // src/revamp/domain/components/DividerComponent.ts
2530
2579
  var createDividerComponent = (props) => __spreadProps(__spreadValues({
2531
2580
  type: "divider"
@@ -5484,6 +5533,50 @@ var instructionsLayoutToComponent = (uid, { control, items, margin = "md", title
5484
5533
  title
5485
5534
  });
5486
5535
 
5536
+ // src/revamp/domain/components/ListComponent.ts
5537
+ var createListComponent = (listProps) => __spreadProps(__spreadValues({
5538
+ type: "list"
5539
+ }, listProps), {
5540
+ getLocalValue: () => null,
5541
+ getSubmittableValue: async () => null,
5542
+ getSubmittableValueSync: () => null,
5543
+ getSummary: () => ({}),
5544
+ // noop
5545
+ validate: () => true
5546
+ });
5547
+
5548
+ // src/revamp/domain/mappers/layout/listLayoutToComponent.ts
5549
+ var listLayoutToComponent = (uid, { callToAction, control, items, margin = "md", title }, mapperProps) => {
5550
+ var _a;
5551
+ const { step, onBehavior } = mapperProps;
5552
+ return createListComponent({
5553
+ uid,
5554
+ control,
5555
+ items: items.map((item) => mapItem2(item, mapperProps)),
5556
+ callToAction: getDomainLayerCallToAction(callToAction, onBehavior, (_a = step.actions) != null ? _a : []),
5557
+ margin,
5558
+ title
5559
+ });
5560
+ };
5561
+ var mapItem2 = (item, mapperProps) => {
5562
+ var _b;
5563
+ const _a = item, { value, subvalue, subtitle } = _a, rest = __objRest(_a, ["value", "subvalue", "subtitle"]);
5564
+ return __spreadProps(__spreadValues({}, rest), {
5565
+ description: (_b = item.description) != null ? _b : subtitle,
5566
+ image: mapSpecImage(item.image),
5567
+ supportingValues: mapSupportingValues(item),
5568
+ additionalInfo: mapAdditionalInfo(item.additionalInfo, mapperProps.onBehavior),
5569
+ inlineAlert: mapInlineAlert(item.inlineAlert)
5570
+ });
5571
+ };
5572
+ var mapSupportingValues = (item) => {
5573
+ const { value, subvalue, supportingValues } = item;
5574
+ if (supportingValues) {
5575
+ return supportingValues;
5576
+ }
5577
+ return value || subvalue ? { value, subvalue } : void 0;
5578
+ };
5579
+
5487
5580
  // src/revamp/domain/components/LoadingIndicatorComponent.ts
5488
5581
  var createLoadingIndicatorComponent = (loadingIndicatorProps) => __spreadProps(__spreadValues({
5489
5582
  type: "loading-indicator"
@@ -5783,18 +5876,6 @@ var searchLayoutToComponent = (uid, { control, emptyMessage = "", method, param,
5783
5876
  );
5784
5877
  };
5785
5878
 
5786
- // src/revamp/domain/components/StatusListComponent.ts
5787
- var createStatusListComponent = (statusListProps) => __spreadProps(__spreadValues({
5788
- type: "status-list"
5789
- }, statusListProps), {
5790
- getLocalValue: () => null,
5791
- getSubmittableValue: async () => null,
5792
- getSubmittableValueSync: () => null,
5793
- getSummary: () => ({}),
5794
- // Noop,
5795
- validate: () => true
5796
- });
5797
-
5798
5879
  // src/revamp/domain/mappers/layout/statusListLayoutToComponent.ts
5799
5880
  var statusListLayoutToComponent = (uid, { control, items, margin = "md", title }, { onBehavior, step }) => createStatusListComponent({
5800
5881
  uid,
@@ -5812,75 +5893,6 @@ var statusListLayoutToComponent = (uid, { control, items, margin = "md", title }
5812
5893
  title
5813
5894
  });
5814
5895
 
5815
- // src/revamp/domain/mappers/layout/deprecatedListLayoutToComponent.ts
5816
- var deprecatedListLayoutToComponent = (uid, { control, items, margin = "md", title }) => createStatusListComponent({
5817
- uid,
5818
- control,
5819
- items: items.map(({ description, icon, status, title: itemTitle }) => ({
5820
- description,
5821
- icon: icon != null ? icon : { text: "" },
5822
- title: itemTitle != null ? itemTitle : "",
5823
- status: status ? mapLegacyStatus(status) : void 0
5824
- })),
5825
- margin,
5826
- title
5827
- });
5828
- var mapLegacyStatus = (status) => {
5829
- switch (status) {
5830
- case "positive":
5831
- return "done";
5832
- case "warning":
5833
- return "pending";
5834
- case "neutral":
5835
- default:
5836
- return "not-done";
5837
- }
5838
- };
5839
-
5840
- // src/revamp/domain/components/ListComponent.ts
5841
- var createListComponent = (listProps) => __spreadProps(__spreadValues({
5842
- type: "list"
5843
- }, listProps), {
5844
- getLocalValue: () => null,
5845
- getSubmittableValue: async () => null,
5846
- getSubmittableValueSync: () => null,
5847
- getSummary: () => ({}),
5848
- // noop
5849
- validate: () => true
5850
- });
5851
-
5852
- // src/revamp/domain/mappers/layout/listLayoutToComponent.ts
5853
- var listLayoutToComponent = (uid, { callToAction, control, items, margin = "md", title }, mapperProps) => {
5854
- var _a;
5855
- const { step, onBehavior } = mapperProps;
5856
- return createListComponent({
5857
- uid,
5858
- control,
5859
- items: items.map((item) => mapItem2(item, mapperProps)),
5860
- callToAction: getDomainLayerCallToAction(callToAction, onBehavior, (_a = step.actions) != null ? _a : []),
5861
- margin,
5862
- title
5863
- });
5864
- };
5865
- var mapItem2 = (item, mapperProps) => {
5866
- var _b;
5867
- const _a = item, { value, subvalue, subtitle } = _a, rest = __objRest(_a, ["value", "subvalue", "subtitle"]);
5868
- return __spreadProps(__spreadValues({}, rest), {
5869
- description: (_b = item.description) != null ? _b : subtitle,
5870
- image: mapSpecImage(item.image),
5871
- supportingValues: mapSupportingValues(item),
5872
- additionalInfo: mapAdditionalInfo(item.additionalInfo, mapperProps.onBehavior),
5873
- inlineAlert: mapInlineAlert(item.inlineAlert)
5874
- });
5875
- };
5876
- var mapSupportingValues = (item) => {
5877
- const { value, subvalue, supportingValues } = item;
5878
- if (supportingValues) {
5879
- return supportingValues;
5880
- }
5881
- return value || subvalue ? { value, subvalue } : void 0;
5882
- };
5883
-
5884
5896
  // src/revamp/domain/mappers/mapLayoutToComponent.ts
5885
5897
  var mapLayoutToComponent = (uid, layout, mapperProps) => {
5886
5898
  switch (layout.type) {
@@ -5907,10 +5919,7 @@ var mapLayoutToComponent = (uid, layout, mapperProps) => {
5907
5919
  case "instructions":
5908
5920
  return instructionsLayoutToComponent(uid, layout);
5909
5921
  case "list":
5910
- if (layout.items.some((item) => item.status || item.description)) {
5911
- return deprecatedListLayoutToComponent(uid, layout);
5912
- }
5913
- return listLayoutToComponent(uid, layout, mapperProps);
5922
+ return isDeprecatedListLayout(layout) ? deprecatedListLayoutToComponent(uid, layout) : listLayoutToComponent(uid, layout, mapperProps);
5914
5923
  case "loading-indicator":
5915
5924
  return loadingIndicatorLayoutToComponent(uid, layout);
5916
5925
  case "markdown":
@@ -6118,11 +6127,6 @@ var executePoll = async (props) => {
6118
6127
  }
6119
6128
  };
6120
6129
 
6121
- // src/revamp/flow/getErrorMessage.ts
6122
- var getErrorMessage = (error) => {
6123
- return error instanceof Error ? error.message : typeof error === "string" ? error : `Unknown Error: type is ${typeof error}`;
6124
- };
6125
-
6126
6130
  // src/revamp/flow/executeRefresh.ts
6127
6131
  var executeRefresh = async (props) => {
6128
6132
  const { abortSignal, url, model, schemaId, etag, httpClient, trackEvent, logEvent } = props;
package/build/main.mjs CHANGED
@@ -701,21 +701,21 @@ var th_default = {
701
701
  "dynamicFlows.CameraCapture.CameraConnectionIssue.action": "\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
702
702
  "dynamicFlows.CameraCapture.CameraConnectionIssue.paragraph": "\u0E42\u0E1B\u0E23\u0E14\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D\u0E43\u0E2B\u0E21\u0E48\u0E41\u0E25\u0E49\u0E27\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
703
703
  "dynamicFlows.CameraCapture.CameraConnectionIssue.title": "\u0E40\u0E23\u0E32\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E44\u0E14\u0E49",
704
- "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E43\u0E0A\u0E49\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E25\u0E49\u0E2D\u0E07 \u0E43\u0E2B\u0E49\u0E25\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E41\u0E25\u0E30\u0E2D\u0E38\u0E1B\u0E01\u0E23\u0E13\u0E4C\u0E2D\u0E37\u0E48\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E2D\u0E1B\u0E21\u0E37\u0E2D\u0E16\u0E37\u0E2D\u0E02\u0E2D\u0E07\u0E40\u0E23\u0E32\u0E14\u0E39",
704
+ "dynamicFlows.CameraCapture.CameraNotSupported.paragraph": "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E43\u0E0A\u0E49\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E25\u0E49\u0E2D\u0E07 \u0E43\u0E2B\u0E49\u0E25\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E41\u0E25\u0E30\u0E2D\u0E38\u0E1B\u0E01\u0E23\u0E13\u0E4C\u0E2D\u0E37\u0E48\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E2D\u0E1B\u0E21\u0E37\u0E2D\u0E16\u0E37\u0E2D\u0E02\u0E2D\u0E07\u0E40\u0E23\u0E32",
705
705
  "dynamicFlows.CameraCapture.CameraNotSupported.title": "\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E25\u0E49\u0E2D\u0E07",
706
706
  "dynamicFlows.CameraCapture.NoCameraAccess.action": "\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07",
707
707
  "dynamicFlows.CameraCapture.NoCameraAccess.paragraph": "\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E43\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E43\u0E2B\u0E21\u0E48\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
708
708
  "dynamicFlows.CameraCapture.NoCameraAccess.title": "\u0E40\u0E23\u0E32\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E44\u0E14\u0E49",
709
709
  "dynamicFlows.CameraCapture.reviewInstructions": "\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19 \u0E2D\u0E48\u0E32\u0E19\u0E44\u0E14\u0E49 \u0E41\u0E25\u0E30\u0E04\u0E23\u0E1A\u0E16\u0E49\u0E27\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48",
710
- "dynamicFlows.CameraCapture.reviewRetry": "\u0E44\u0E21\u0E48 \u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E17\u0E31\u0E49\u0E07",
710
+ "dynamicFlows.CameraCapture.reviewRetry": "\u0E44\u0E21\u0E48 \u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
711
711
  "dynamicFlows.CameraCapture.reviewSubmit": "\u0E43\u0E0A\u0E48 \u0E2A\u0E48\u0E07\u0E40\u0E25\u0E22",
712
712
  "dynamicFlows.CameraCapture.rotatePhone.text": "\u0E2B\u0E21\u0E38\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E43\u0E2B\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E21\u0E38\u0E21\u0E41\u0E19\u0E27\u0E15\u0E31\u0E49\u0E07\u0E41\u0E25\u0E49\u0E27\u0E16\u0E48\u0E32\u0E22\u0E23\u0E39\u0E1B",
713
- "dynamicFlows.ControlFeedback.maxLength": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19 {maxLength} \u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E2B\u0E23\u0E37\u0E2D\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",
713
+ "dynamicFlows.ControlFeedback.maxLength": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19 {maxLength} \u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E2B\u0E23\u0E37\u0E2D\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19",
714
714
  "dynamicFlows.ControlFeedback.maximum": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02 {maximum} \u0E2B\u0E23\u0E37\u0E2D\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",
715
- "dynamicFlows.ControlFeedback.maximumDate": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E15\u0E23\u0E07\u0E1E\u0E2D\u0E14\u0E35\u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E48\u0E2D\u0E19 {maximum}",
716
- "dynamicFlows.ControlFeedback.minLength": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22 {minLength} \u0E15\u0E31\u0E27",
715
+ "dynamicFlows.ControlFeedback.maximumDate": "\u0E42\u0E1B\u0E23\u0E14\u0E43\u0E2A\u0E48\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E47\u0E19 {maximum} \u0E2B\u0E23\u0E37\u0E2D\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E31\u0E49\u0E19",
716
+ "dynamicFlows.ControlFeedback.minLength": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22 {minLength} \u0E15\u0E31\u0E27",
717
717
  "dynamicFlows.ControlFeedback.minimum": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02 {minimum} \u0E2B\u0E23\u0E37\u0E2D\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",
718
- "dynamicFlows.ControlFeedback.minimumDate": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E15\u0E23\u0E07\u0E1E\u0E2D\u0E14\u0E35\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E31\u0E07 {minimum}",
718
+ "dynamicFlows.ControlFeedback.minimumDate": "\u0E42\u0E1B\u0E23\u0E14\u0E43\u0E2A\u0E48\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E1B\u0E47\u0E19 {minimum} \u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E31\u0E07\u0E08\u0E32\u0E01\u0E19\u0E31\u0E49\u0E19",
719
719
  "dynamicFlows.ControlFeedback.pattern": "\u0E42\u0E1B\u0E23\u0E14\u0E43\u0E2A\u0E48\u0E43\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07",
720
720
  "dynamicFlows.ControlFeedback.patternDate": "\u0E42\u0E1B\u0E23\u0E14\u0E1B\u0E49\u0E2D\u0E19\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E43\u0E19\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07",
721
721
  "dynamicFlows.ControlFeedback.required": "\u0E42\u0E1B\u0E23\u0E14\u0E43\u0E2A\u0E48\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E43\u0E19\u0E0A\u0E48\u0E2D\u0E07\u0E19\u0E35\u0E49",
@@ -1003,6 +1003,11 @@ var ErrorBoundary = class extends Component {
1003
1003
  };
1004
1004
  var ErrorBoundary_default = ErrorBoundary;
1005
1005
 
1006
+ // src/revamp/flow/getErrorMessage.ts
1007
+ var getErrorMessage = (error) => {
1008
+ return error instanceof Error ? error.message : typeof error === "string" ? error : `Unknown Error: type is ${typeof error}`;
1009
+ };
1010
+
1006
1011
  // src/revamp/renderers/CoreContainerRenderer.tsx
1007
1012
  import { Fragment as Fragment2, jsx as jsx3 } from "react/jsx-runtime";
1008
1013
  var CoreContainerRenderer = {
@@ -1039,7 +1044,7 @@ function getChildren(node) {
1039
1044
  case "box":
1040
1045
  case "container":
1041
1046
  case "form":
1042
- case "section":
1047
+ case "form-section":
1043
1048
  case "step":
1044
1049
  case "modal-content":
1045
1050
  return node.childrenProps;
@@ -1156,7 +1161,7 @@ var allOfComponentToProps = (component, rendererMapperProps) => {
1156
1161
  (c) => componentToRendererProps(c, rendererMapperProps)
1157
1162
  );
1158
1163
  return __spreadProps(__spreadValues(__spreadValues({
1159
- type: "section"
1164
+ type: "form-section"
1160
1165
  }, pick(component, "uid", "control", "description", "help", "icon", "image", "title")), rendererMapperProps), {
1161
1166
  children: childrenProps.map(rendererMapperProps.render),
1162
1167
  childrenProps
@@ -1425,7 +1430,7 @@ var numberInputComponentToProps = (component, rendererMapperProps) => __spreadPr
1425
1430
  var objectComponentToProps = (component, rendererMapperProps) => {
1426
1431
  const childrenProps = component.getChildren().map((c) => componentToRendererProps(c, rendererMapperProps));
1427
1432
  return __spreadProps(__spreadValues(__spreadValues({
1428
- type: "section"
1433
+ type: "form-section"
1429
1434
  }, pick(component, "uid", "control", "description", "help", "icon", "image", "title")), rendererMapperProps), {
1430
1435
  children: childrenProps.map(rendererMapperProps.render),
1431
1436
  childrenProps
@@ -1627,7 +1632,7 @@ var uploadInputComponentToProps = (component, rendererMapperProps) => {
1627
1632
  var tupleComponentToProps = (component, rendererMapperProps) => {
1628
1633
  const childrenProps = component.getChildren().map((c) => componentToRendererProps(c, rendererMapperProps));
1629
1634
  return __spreadProps(__spreadValues(__spreadValues({
1630
- type: "section"
1635
+ type: "form-section"
1631
1636
  }, pick(component, "uid", "control", "description", "help", "icon", "image", "title")), rendererMapperProps), {
1632
1637
  children: childrenProps.map(rendererMapperProps.render),
1633
1638
  childrenProps
@@ -2483,6 +2488,50 @@ var mapOption = (option, onBehavior, stepActions = []) => {
2483
2488
  });
2484
2489
  };
2485
2490
 
2491
+ // src/revamp/domain/components/StatusListComponent.ts
2492
+ var createStatusListComponent = (statusListProps) => __spreadProps(__spreadValues({
2493
+ type: "status-list"
2494
+ }, statusListProps), {
2495
+ getLocalValue: () => null,
2496
+ getSubmittableValue: async () => null,
2497
+ getSubmittableValueSync: () => null,
2498
+ getSummary: () => ({}),
2499
+ // Noop,
2500
+ validate: () => true
2501
+ });
2502
+
2503
+ // src/revamp/domain/mappers/layout/deprecatedListLayoutToComponent.ts
2504
+ var isDeprecatedListLayout = (layout) => {
2505
+ const usesCallToAction = layout.callToAction != null;
2506
+ const usesNewProperties = layout.items.some(
2507
+ (item) => item.additionalInfo != null || item.inlineAlert != null || item.supportingValues != null || item.subtitle != null || item.value != null || item.subvalue != null
2508
+ );
2509
+ return !usesCallToAction && !usesNewProperties;
2510
+ };
2511
+ var deprecatedListLayoutToComponent = (uid, { control, items, margin = "md", title }) => createStatusListComponent({
2512
+ uid,
2513
+ control,
2514
+ items: items.map(({ description, icon, status, title: itemTitle }) => ({
2515
+ description,
2516
+ icon: icon != null ? icon : { text: "" },
2517
+ title: itemTitle != null ? itemTitle : "",
2518
+ status: status ? mapLegacyStatus(status) : void 0
2519
+ })),
2520
+ margin,
2521
+ title
2522
+ });
2523
+ var mapLegacyStatus = (status) => {
2524
+ switch (status) {
2525
+ case "positive":
2526
+ return "done";
2527
+ case "warning":
2528
+ return "pending";
2529
+ case "neutral":
2530
+ default:
2531
+ return "not-done";
2532
+ }
2533
+ };
2534
+
2486
2535
  // src/revamp/domain/components/DividerComponent.ts
2487
2536
  var createDividerComponent = (props) => __spreadProps(__spreadValues({
2488
2537
  type: "divider"
@@ -5441,6 +5490,50 @@ var instructionsLayoutToComponent = (uid, { control, items, margin = "md", title
5441
5490
  title
5442
5491
  });
5443
5492
 
5493
+ // src/revamp/domain/components/ListComponent.ts
5494
+ var createListComponent = (listProps) => __spreadProps(__spreadValues({
5495
+ type: "list"
5496
+ }, listProps), {
5497
+ getLocalValue: () => null,
5498
+ getSubmittableValue: async () => null,
5499
+ getSubmittableValueSync: () => null,
5500
+ getSummary: () => ({}),
5501
+ // noop
5502
+ validate: () => true
5503
+ });
5504
+
5505
+ // src/revamp/domain/mappers/layout/listLayoutToComponent.ts
5506
+ var listLayoutToComponent = (uid, { callToAction, control, items, margin = "md", title }, mapperProps) => {
5507
+ var _a;
5508
+ const { step, onBehavior } = mapperProps;
5509
+ return createListComponent({
5510
+ uid,
5511
+ control,
5512
+ items: items.map((item) => mapItem2(item, mapperProps)),
5513
+ callToAction: getDomainLayerCallToAction(callToAction, onBehavior, (_a = step.actions) != null ? _a : []),
5514
+ margin,
5515
+ title
5516
+ });
5517
+ };
5518
+ var mapItem2 = (item, mapperProps) => {
5519
+ var _b;
5520
+ const _a = item, { value, subvalue, subtitle } = _a, rest = __objRest(_a, ["value", "subvalue", "subtitle"]);
5521
+ return __spreadProps(__spreadValues({}, rest), {
5522
+ description: (_b = item.description) != null ? _b : subtitle,
5523
+ image: mapSpecImage(item.image),
5524
+ supportingValues: mapSupportingValues(item),
5525
+ additionalInfo: mapAdditionalInfo(item.additionalInfo, mapperProps.onBehavior),
5526
+ inlineAlert: mapInlineAlert(item.inlineAlert)
5527
+ });
5528
+ };
5529
+ var mapSupportingValues = (item) => {
5530
+ const { value, subvalue, supportingValues } = item;
5531
+ if (supportingValues) {
5532
+ return supportingValues;
5533
+ }
5534
+ return value || subvalue ? { value, subvalue } : void 0;
5535
+ };
5536
+
5444
5537
  // src/revamp/domain/components/LoadingIndicatorComponent.ts
5445
5538
  var createLoadingIndicatorComponent = (loadingIndicatorProps) => __spreadProps(__spreadValues({
5446
5539
  type: "loading-indicator"
@@ -5740,18 +5833,6 @@ var searchLayoutToComponent = (uid, { control, emptyMessage = "", method, param,
5740
5833
  );
5741
5834
  };
5742
5835
 
5743
- // src/revamp/domain/components/StatusListComponent.ts
5744
- var createStatusListComponent = (statusListProps) => __spreadProps(__spreadValues({
5745
- type: "status-list"
5746
- }, statusListProps), {
5747
- getLocalValue: () => null,
5748
- getSubmittableValue: async () => null,
5749
- getSubmittableValueSync: () => null,
5750
- getSummary: () => ({}),
5751
- // Noop,
5752
- validate: () => true
5753
- });
5754
-
5755
5836
  // src/revamp/domain/mappers/layout/statusListLayoutToComponent.ts
5756
5837
  var statusListLayoutToComponent = (uid, { control, items, margin = "md", title }, { onBehavior, step }) => createStatusListComponent({
5757
5838
  uid,
@@ -5769,75 +5850,6 @@ var statusListLayoutToComponent = (uid, { control, items, margin = "md", title }
5769
5850
  title
5770
5851
  });
5771
5852
 
5772
- // src/revamp/domain/mappers/layout/deprecatedListLayoutToComponent.ts
5773
- var deprecatedListLayoutToComponent = (uid, { control, items, margin = "md", title }) => createStatusListComponent({
5774
- uid,
5775
- control,
5776
- items: items.map(({ description, icon, status, title: itemTitle }) => ({
5777
- description,
5778
- icon: icon != null ? icon : { text: "" },
5779
- title: itemTitle != null ? itemTitle : "",
5780
- status: status ? mapLegacyStatus(status) : void 0
5781
- })),
5782
- margin,
5783
- title
5784
- });
5785
- var mapLegacyStatus = (status) => {
5786
- switch (status) {
5787
- case "positive":
5788
- return "done";
5789
- case "warning":
5790
- return "pending";
5791
- case "neutral":
5792
- default:
5793
- return "not-done";
5794
- }
5795
- };
5796
-
5797
- // src/revamp/domain/components/ListComponent.ts
5798
- var createListComponent = (listProps) => __spreadProps(__spreadValues({
5799
- type: "list"
5800
- }, listProps), {
5801
- getLocalValue: () => null,
5802
- getSubmittableValue: async () => null,
5803
- getSubmittableValueSync: () => null,
5804
- getSummary: () => ({}),
5805
- // noop
5806
- validate: () => true
5807
- });
5808
-
5809
- // src/revamp/domain/mappers/layout/listLayoutToComponent.ts
5810
- var listLayoutToComponent = (uid, { callToAction, control, items, margin = "md", title }, mapperProps) => {
5811
- var _a;
5812
- const { step, onBehavior } = mapperProps;
5813
- return createListComponent({
5814
- uid,
5815
- control,
5816
- items: items.map((item) => mapItem2(item, mapperProps)),
5817
- callToAction: getDomainLayerCallToAction(callToAction, onBehavior, (_a = step.actions) != null ? _a : []),
5818
- margin,
5819
- title
5820
- });
5821
- };
5822
- var mapItem2 = (item, mapperProps) => {
5823
- var _b;
5824
- const _a = item, { value, subvalue, subtitle } = _a, rest = __objRest(_a, ["value", "subvalue", "subtitle"]);
5825
- return __spreadProps(__spreadValues({}, rest), {
5826
- description: (_b = item.description) != null ? _b : subtitle,
5827
- image: mapSpecImage(item.image),
5828
- supportingValues: mapSupportingValues(item),
5829
- additionalInfo: mapAdditionalInfo(item.additionalInfo, mapperProps.onBehavior),
5830
- inlineAlert: mapInlineAlert(item.inlineAlert)
5831
- });
5832
- };
5833
- var mapSupportingValues = (item) => {
5834
- const { value, subvalue, supportingValues } = item;
5835
- if (supportingValues) {
5836
- return supportingValues;
5837
- }
5838
- return value || subvalue ? { value, subvalue } : void 0;
5839
- };
5840
-
5841
5853
  // src/revamp/domain/mappers/mapLayoutToComponent.ts
5842
5854
  var mapLayoutToComponent = (uid, layout, mapperProps) => {
5843
5855
  switch (layout.type) {
@@ -5864,10 +5876,7 @@ var mapLayoutToComponent = (uid, layout, mapperProps) => {
5864
5876
  case "instructions":
5865
5877
  return instructionsLayoutToComponent(uid, layout);
5866
5878
  case "list":
5867
- if (layout.items.some((item) => item.status || item.description)) {
5868
- return deprecatedListLayoutToComponent(uid, layout);
5869
- }
5870
- return listLayoutToComponent(uid, layout, mapperProps);
5879
+ return isDeprecatedListLayout(layout) ? deprecatedListLayoutToComponent(uid, layout) : listLayoutToComponent(uid, layout, mapperProps);
5871
5880
  case "loading-indicator":
5872
5881
  return loadingIndicatorLayoutToComponent(uid, layout);
5873
5882
  case "markdown":
@@ -6075,11 +6084,6 @@ var executePoll = async (props) => {
6075
6084
  }
6076
6085
  };
6077
6086
 
6078
- // src/revamp/flow/getErrorMessage.ts
6079
- var getErrorMessage = (error) => {
6080
- return error instanceof Error ? error.message : typeof error === "string" ? error : `Unknown Error: type is ${typeof error}`;
6081
- };
6082
-
6083
6087
  // src/revamp/flow/executeRefresh.ts
6084
6088
  var executeRefresh = async (props) => {
6085
6089
  const { abortSignal, url, model, schemaId, etag, httpClient, trackEvent, logEvent } = props;
@@ -7191,7 +7195,7 @@ function isReference(block) {
7191
7195
  }
7192
7196
 
7193
7197
  // src/legacy/dynamicFlow/DynamicFlow.tsx
7194
- import { useCallback as useCallback11, useEffect as useEffect22, useMemo as useMemo21, useState as useState26 } from "react";
7198
+ import { useCallback as useCallback11, useEffect as useEffect21, useMemo as useMemo21, useState as useState26 } from "react";
7195
7199
  import { useIntl as useIntl23 } from "react-intl";
7196
7200
 
7197
7201
  // src/legacy/common/contexts/dynamicFlowContexts/DynamicFlowContexts.tsx
@@ -8048,12 +8052,12 @@ function useDebouncedFunction(callback, waitMs) {
8048
8052
  }
8049
8053
 
8050
8054
  // src/legacy/common/hooks/useExternal/useExternal.tsx
8051
- import { useEffect as useEffect3, useState as useState3 } from "react";
8055
+ import { useEffect as useEffect2, useState as useState3 } from "react";
8052
8056
  function useExternal(url) {
8053
8057
  const [externalWindow, setExternalWindow] = useState3(null);
8054
8058
  const [hasManuallyTriggered, setHasManuallyTriggered] = useState3(false);
8055
8059
  const dismissConfirmation = () => setHasManuallyTriggered(true);
8056
- useEffect3(() => {
8060
+ useEffect2(() => {
8057
8061
  if (url) {
8058
8062
  setHasManuallyTriggered(false);
8059
8063
  setExternalWindow(window.open(url, "_blank"));
@@ -8126,7 +8130,7 @@ import { useState as useState20 } from "react";
8126
8130
  import { useIntl as useIntl17 } from "react-intl";
8127
8131
 
8128
8132
  // src/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBasicSchema/PersistAsyncBasicSchema.tsx
8129
- import { useEffect as useEffect14, useState as useState19 } from "react";
8133
+ import { useEffect as useEffect13, useState as useState19 } from "react";
8130
8134
  import { useIntl as useIntl16 } from "react-intl";
8131
8135
 
8132
8136
  // src/legacy/common/constants/DateMode.ts
@@ -8175,7 +8179,7 @@ var Size = {
8175
8179
 
8176
8180
  // src/legacy/jsonSchemaForm/basicTypeSchema/BasicTypeSchema.tsx
8177
8181
  import classNames10 from "classnames";
8178
- import { useEffect as useEffect13, useMemo as useMemo16, useState as useState18 } from "react";
8182
+ import { useEffect as useEffect12, useMemo as useMemo16, useState as useState18 } from "react";
8179
8183
 
8180
8184
  // src/legacy/layout/alert/DynamicAlert.tsx
8181
8185
  import { Alert as Alert2 } from "@transferwise/components";
@@ -8642,7 +8646,7 @@ var DynamicDivider_default = DynamicDivider;
8642
8646
 
8643
8647
  // src/legacy/layout/external/DynamicExternal.tsx
8644
8648
  import { Button as Button2, Loader, Size as Size2 } from "@transferwise/components";
8645
- import { useCallback as useCallback6, useEffect as useEffect4, useMemo as useMemo9 } from "react";
8649
+ import { useCallback as useCallback6, useEffect as useEffect3, useMemo as useMemo9 } from "react";
8646
8650
  import { useIntl as useIntl3 } from "react-intl";
8647
8651
 
8648
8652
  // src/legacy/layout/external/DynamicExternal.messages.ts
@@ -8664,7 +8668,7 @@ var DynamicExternal = ({ component, onAction }) => {
8664
8668
  () => window.open(requestUrl, "df-external-window"),
8665
8669
  [requestUrl]
8666
8670
  );
8667
- useEffect4(() => {
8671
+ useEffect3(() => {
8668
8672
  openExternalUrl();
8669
8673
  }, [openExternalUrl]);
8670
8674
  const pollingConfiguration = useMemo9(() => {
@@ -8682,7 +8686,7 @@ var DynamicExternal = ({ component, onAction }) => {
8682
8686
  var DynamicExternal_default = DynamicExternal;
8683
8687
 
8684
8688
  // src/legacy/jsonSchemaForm/genericSchema/GenericSchema.tsx
8685
- import { useEffect as useEffect11 } from "react";
8689
+ import { useEffect as useEffect10 } from "react";
8686
8690
 
8687
8691
  // src/legacy/jsonSchemaForm/allOfSchema/AllOfSchema.tsx
8688
8692
  import { Header as Header2 } from "@transferwise/components";
@@ -8975,7 +8979,7 @@ function getValidationMessages(schema, required, defaultErrorMessages) {
8975
8979
  // src/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multiSelectSchema/MultiSelectSchema.tsx
8976
8980
  import { SelectInput, SelectInputOptionContent } from "@transferwise/components";
8977
8981
  import classNames3 from "classnames";
8978
- import { useEffect as useEffect5, useMemo as useMemo11, useState as useState6 } from "react";
8982
+ import { useEffect as useEffect4, useMemo as useMemo11, useState as useState6 } from "react";
8979
8983
  import { useIntl as useIntl6 } from "react-intl";
8980
8984
 
8981
8985
  // src/legacy/jsonSchemaForm/schemaFormControl/utils/mapping-utils.tsx
@@ -9096,7 +9100,7 @@ function MultiSelectSchema({
9096
9100
  const id = useMemo11(() => schema.$id || generateRandomId(), [schema.$id]);
9097
9101
  const [changed, setChanged] = useState6(false);
9098
9102
  const [selected, setSelected] = useState6(getInitialModelIndices2(model, options));
9099
- useEffect5(
9103
+ useEffect4(
9100
9104
  () => {
9101
9105
  if (selected) {
9102
9106
  broadcastModelChange(selected);
@@ -9684,7 +9688,7 @@ var ArraySchema_default = ArraySchema;
9684
9688
  // src/legacy/jsonSchemaForm/objectSchema/ObjectSchema.tsx
9685
9689
  import { Header as Header4 } from "@transferwise/components";
9686
9690
  import classNames5 from "classnames";
9687
- import { useState as useState9, useEffect as useEffect6 } from "react";
9691
+ import { useState as useState9, useEffect as useEffect5 } from "react";
9688
9692
  import { Fragment as Fragment6, jsx as jsx33, jsxs as jsxs10 } from "react/jsx-runtime";
9689
9693
  var getSchemaColumnClasses2 = (width) => ({
9690
9694
  "col-xs-12": true,
@@ -9704,7 +9708,7 @@ function ObjectSchema(props) {
9704
9708
  props.onChange(__spreadProps(__spreadValues({}, onChangeProps), { model }));
9705
9709
  };
9706
9710
  const isRequired = (propertyName) => props.schema.required && props.schema.required.includes(propertyName);
9707
- useEffect6(() => {
9711
+ useEffect5(() => {
9708
9712
  const newModel = getValidObjectModelParts(model, props.schema) || {};
9709
9713
  setModel(newModel);
9710
9714
  if (!isEqual(newModel, model)) {
@@ -9761,7 +9765,7 @@ var ObjectSchema_default = ObjectSchema;
9761
9765
  // src/legacy/jsonSchemaForm/oneOfSchema/OneOfSchema.tsx
9762
9766
  import { Header as Header5 } from "@transferwise/components";
9763
9767
  import classNames6 from "classnames";
9764
- import { useEffect as useEffect8, useMemo as useMemo13, useState as useState10 } from "react";
9768
+ import { useEffect as useEffect7, useMemo as useMemo13, useState as useState10 } from "react";
9765
9769
 
9766
9770
  // src/legacy/jsonSchemaForm/help/Help.tsx
9767
9771
  import { Markdown, Info } from "@transferwise/components";
@@ -9795,7 +9799,7 @@ function Help(props) {
9795
9799
  var Help_default = Help;
9796
9800
 
9797
9801
  // src/legacy/jsonSchemaForm/schemaFormControl/SchemaFormControl.tsx
9798
- import { useEffect as useEffect7 } from "react";
9802
+ import { useEffect as useEffect6 } from "react";
9799
9803
  import { useIntl as useIntl10 } from "react-intl";
9800
9804
 
9801
9805
  // src/legacy/formControl/FormControl.tsx
@@ -10517,7 +10521,7 @@ function SchemaFormControl(props) {
10517
10521
  onChange(getValidBasicModelOrNull(value2, schema), type, metadata);
10518
10522
  };
10519
10523
  const controlType = getControlType(schema);
10520
- useEffect7(() => {
10524
+ useEffect6(() => {
10521
10525
  warnIfInvalidSchema(schema, log, controlType);
10522
10526
  }, [JSON.stringify(schema), log, controlType]);
10523
10527
  const options = schema.values || getOptions(schema, controlType);
@@ -10589,7 +10593,7 @@ function OneOfSchema(props) {
10589
10593
  searchValueLength: searchValue.length
10590
10594
  });
10591
10595
  };
10592
- useEffect8(() => {
10596
+ useEffect7(() => {
10593
10597
  const modelIndex = getValidIndexFromValue(props.schema, props.model);
10594
10598
  const defaultIndex = getValidIndexFromValue(props.schema, props.schema.default);
10595
10599
  if (modelIndex === -1 && defaultIndex >= 0) {
@@ -10747,7 +10751,7 @@ var OneOfSchema_default = OneOfSchema;
10747
10751
 
10748
10752
  // src/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/PersistAsyncBlobSchema.tsx
10749
10753
  import classNames7 from "classnames";
10750
- import { useEffect as useEffect9, useState as useState11 } from "react";
10754
+ import { useEffect as useEffect8, useState as useState11 } from "react";
10751
10755
  import { useIntl as useIntl11 } from "react-intl";
10752
10756
 
10753
10757
  // src/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/UploadInputAdapter.tsx
@@ -10818,7 +10822,7 @@ function PersistAsyncBlobSchema(props) {
10818
10822
  const intl = useIntl11();
10819
10823
  const httpClient = useHttpClient();
10820
10824
  const onEvent = useEventDispatcher();
10821
- useEffect9(() => {
10825
+ useEffect8(() => {
10822
10826
  if (submitted) {
10823
10827
  setValidations(getValidationFailures(model, schema, Boolean(required)));
10824
10828
  } else {
@@ -11122,7 +11126,7 @@ function getValueFromOption(option) {
11122
11126
  }
11123
11127
 
11124
11128
  // src/legacy/jsonSchemaForm/validationAsyncSchema/ValidationAsyncSchema.tsx
11125
- import { useEffect as useEffect10, useRef as useRef3, useState as useState13 } from "react";
11129
+ import { useEffect as useEffect9, useRef as useRef3, useState as useState13 } from "react";
11126
11130
  import { jsx as jsx46 } from "react/jsx-runtime";
11127
11131
  function ValidationAsyncSchema(props) {
11128
11132
  const { schema, model, required = false, submitted, errors, onChange } = props;
@@ -11137,7 +11141,7 @@ function ValidationAsyncSchema(props) {
11137
11141
  const httpClient = useHttpClient();
11138
11142
  const onEvent = useEventDispatcher();
11139
11143
  const log = useLogger();
11140
- useEffect10(() => {
11144
+ useEffect9(() => {
11141
11145
  if (!schema.validationAsync.method) {
11142
11146
  log.warning(
11143
11147
  "Invalid schema or model",
@@ -11219,7 +11223,7 @@ function GenericSchemaForm(props) {
11219
11223
  const schemaProps = __spreadProps(__spreadValues({}, props), { model, errors, hideTitle, disabled });
11220
11224
  const type = getSchemaType(schema);
11221
11225
  const log = useLogger();
11222
- useEffect11(() => {
11226
+ useEffect10(() => {
11223
11227
  if (!isValidGenericSchema(schema, model, errors)) {
11224
11228
  log.error(
11225
11229
  "Invalid schema or model",
@@ -11356,14 +11360,14 @@ var DynamicInfo = ({ component }) => {
11356
11360
 
11357
11361
  // src/legacy/layout/image/DynamicImage.tsx
11358
11362
  import { Image } from "@transferwise/components";
11359
- import { useEffect as useEffect12, useState as useState14 } from "react";
11363
+ import { useEffect as useEffect11, useState as useState14 } from "react";
11360
11364
  import { jsx as jsx51 } from "react/jsx-runtime";
11361
11365
  function DynamicImage({ component: image }) {
11362
11366
  var _a, _b, _c;
11363
11367
  const { content, url, size, text, margin, accessibilityDescription } = image;
11364
11368
  const httpClient = useHttpClient();
11365
11369
  const [imageSource, setImageSource] = useState14("");
11366
- useEffect12(() => {
11370
+ useEffect11(() => {
11367
11371
  if (content) {
11368
11372
  const { uri, url: contentUrl } = content;
11369
11373
  if (uri && !uri.startsWith("urn:")) {
@@ -12164,9 +12168,9 @@ var BasicTypeSchema = (props) => {
12164
12168
  };
12165
12169
  const isConst = props.schema.const;
12166
12170
  const isHidden = props.schema.hidden || isConst;
12167
- useEffect13(refreshValidations, [props.model, props.submitted]);
12168
- useEffect13(onSchemaChange, [props.schema]);
12169
- useEffect13(() => {
12171
+ useEffect12(refreshValidations, [props.model, props.submitted]);
12172
+ useEffect12(onSchemaChange, [props.schema]);
12173
+ useEffect12(() => {
12170
12174
  var _a2;
12171
12175
  const newModel = (_a2 = props.model) != null ? _a2 : null;
12172
12176
  if (newModel !== model) {
@@ -12247,7 +12251,7 @@ function PersistAsyncBasicSchema(props) {
12247
12251
  const [persistAsyncError, setPersistAsyncError] = useState19(null);
12248
12252
  const [fieldSubmitted, setFieldSubmitted] = useState19(false);
12249
12253
  const [abortController, setAbortController] = useState19(null);
12250
- useEffect14(() => {
12254
+ useEffect13(() => {
12251
12255
  if (controlTypesWithPersistOnChange.has(
12252
12256
  // TODO: LOW avoid type assertion below -- control type may be nullish. consider ?? ''
12253
12257
  getControlType(schema.persistAsync.schema)
@@ -12409,7 +12413,7 @@ function hasStringMessage(value) {
12409
12413
  }
12410
12414
 
12411
12415
  // src/legacy/common/hooks/usePolling/usePolling.tsx
12412
- import { useEffect as useEffect15, useMemo as useMemo17, useRef as useRef5 } from "react";
12416
+ import { useEffect as useEffect14, useMemo as useMemo17, useRef as useRef5 } from "react";
12413
12417
  function usePolling({
12414
12418
  asyncFn,
12415
12419
  delay,
@@ -12430,7 +12434,7 @@ function usePolling({
12430
12434
  ),
12431
12435
  [asyncFn, maxAttempts, maxConsecutiveFails]
12432
12436
  );
12433
- useEffect15(() => {
12437
+ useEffect14(() => {
12434
12438
  if (delay > 0) {
12435
12439
  poll();
12436
12440
  const intervalReference = setInterval(() => {
@@ -12439,7 +12443,7 @@ function usePolling({
12439
12443
  return () => clearInterval(intervalReference);
12440
12444
  }
12441
12445
  }, [poll, delay]);
12442
- useEffect15(() => {
12446
+ useEffect14(() => {
12443
12447
  onPollingResponseReference.current = onPollingResponse;
12444
12448
  onFailureReference.current = onFailure;
12445
12449
  }, [onPollingResponse, onFailure]);
@@ -12470,10 +12474,10 @@ function createPollingClosure(asyncFn, maxAttempts, maxConsecutiveFails, onPolli
12470
12474
  }
12471
12475
 
12472
12476
  // src/legacy/common/hooks/usePrevious/usePrevious.js
12473
- import { useEffect as useEffect16, useRef as useRef6 } from "react";
12477
+ import { useEffect as useEffect15, useRef as useRef6 } from "react";
12474
12478
  var usePrevious = (value) => {
12475
12479
  const reference = useRef6();
12476
- useEffect16(() => {
12480
+ useEffect15(() => {
12477
12481
  reference.current = value;
12478
12482
  }, [value]);
12479
12483
  return reference.current;
@@ -12567,10 +12571,10 @@ var LayoutStep = (props) => {
12567
12571
  var LayoutStep_default = LayoutStep;
12568
12572
 
12569
12573
  // src/legacy/step/cameraStep/CameraStep.tsx
12570
- import { useEffect as useEffect21, useState as useState23 } from "react";
12574
+ import { useEffect as useEffect20, useState as useState23 } from "react";
12571
12575
 
12572
12576
  // src/common/cameraCapture/CameraCapture.tsx
12573
- import { useCallback as useCallback10, useEffect as useEffect20, useMemo as useMemo19, useRef as useRef8, useState as useState22 } from "react";
12577
+ import { useCallback as useCallback10, useEffect as useEffect19, useMemo as useMemo19, useRef as useRef8, useState as useState22 } from "react";
12574
12578
  import { useIntl as useIntl20 } from "react-intl";
12575
12579
  import Webcam from "react-webcam";
12576
12580
 
@@ -12715,7 +12719,7 @@ function OrientationLockOverlay() {
12715
12719
  var OrientationLockOverlay_default = OrientationLockOverlay;
12716
12720
 
12717
12721
  // src/common/cameraCapture/hooks/useFullScreenOrientationLock.ts
12718
- import { useCallback as useCallback9, useEffect as useEffect17 } from "react";
12722
+ import { useCallback as useCallback9, useEffect as useEffect16 } from "react";
12719
12723
  import screenfull from "screenfull";
12720
12724
 
12721
12725
  // src/common/cameraCapture/utils/index.ts
@@ -12832,7 +12836,7 @@ var useFullScreenOrientationLock = (shouldLockOrientation, onEvent) => {
12832
12836
  },
12833
12837
  [onEvent]
12834
12838
  );
12835
- useEffect17(() => {
12839
+ useEffect16(() => {
12836
12840
  var _a, _b;
12837
12841
  if (shouldLockOrientation) {
12838
12842
  (_b = (_a = window.screen) == null ? void 0 : _a.orientation) == null ? void 0 : _b.addEventListener(
@@ -12855,10 +12859,10 @@ var noop5 = () => {
12855
12859
  };
12856
12860
 
12857
12861
  // src/common/cameraCapture/hooks/useVideoConstraints.ts
12858
- import { useEffect as useEffect18, useState as useState21 } from "react";
12862
+ import { useEffect as useEffect17, useState as useState21 } from "react";
12859
12863
  var useVideoConstraints = (direction) => {
12860
12864
  const [videoConstraints, setVideoConstraints] = useState21();
12861
- useEffect18(() => {
12865
+ useEffect17(() => {
12862
12866
  void getVideoConstraints(direction).then(setVideoConstraints);
12863
12867
  }, [direction]);
12864
12868
  return { videoConstraints };
@@ -12883,7 +12887,7 @@ var getVideoConstraints = async (dir) => {
12883
12887
  };
12884
12888
 
12885
12889
  // src/common/cameraCapture/overlay/Overlay.tsx
12886
- import { useEffect as useEffect19, useRef as useRef7 } from "react";
12890
+ import { useEffect as useEffect18, useRef as useRef7 } from "react";
12887
12891
  import { Fragment as Fragment16, jsx as jsx67, jsxs as jsxs27 } from "react/jsx-runtime";
12888
12892
  var captureButtonHeight = 92;
12889
12893
  var reviewButtonsHeight = 120;
@@ -12894,7 +12898,7 @@ var reviewInstructionsHeight = 40;
12894
12898
  var overlayMaxWidth = 800;
12895
12899
  function Overlay({ overlay, outline, imageUrl, title, instructions, reviewInstructions }) {
12896
12900
  const svgReference = useRef7(null);
12897
- useEffect19(() => {
12901
+ useEffect18(() => {
12898
12902
  const listener = debounce2(() => {
12899
12903
  var _a;
12900
12904
  if ((_a = svgReference.current) == null ? void 0 : _a.innerHTML) {
@@ -13063,7 +13067,7 @@ function CameraCapture({
13063
13067
  setReviewImage(void 0);
13064
13068
  };
13065
13069
  const handleRetryCameraAccess = () => setMode("CAPTURE" /* CAPTURE */);
13066
- useEffect20(() => {
13070
+ useEffect19(() => {
13067
13071
  if (mode !== "CAPTURE" /* CAPTURE */) {
13068
13072
  exitFullScreen();
13069
13073
  }
@@ -13142,7 +13146,7 @@ function CameraStep(props) {
13142
13146
  const { overlay, outline } = assets || {};
13143
13147
  const { url: imageUrl } = image || {};
13144
13148
  const [captureClicked, setCaptureClicked] = useState23(false);
13145
- useEffect21(() => {
13149
+ useEffect20(() => {
13146
13150
  if (captureClicked) {
13147
13151
  onAction(action);
13148
13152
  }
@@ -13749,10 +13753,10 @@ var DynamicFlowComponent = ({
13749
13753
  },
13750
13754
  [onCompletion, dispatchEvent]
13751
13755
  );
13752
- useEffect22(() => {
13756
+ useEffect21(() => {
13753
13757
  dispatchEvent("Dynamic Flow - Flow Started", {});
13754
13758
  }, []);
13755
- useEffect22(() => {
13759
+ useEffect21(() => {
13756
13760
  if (!initialStep) {
13757
13761
  const action = __spreadValues({
13758
13762
  id: "#initial-step-request",
@@ -13,4 +13,4 @@ export { DynamicLayout as Layout } from './legacy/layout';
13
13
  export { isValidSchema } from './legacy/common/validators';
14
14
  export * from './legacy/dynamicFlow/DynamicFlow';
15
15
  export { findRendererPropsByType } from './revamp/renderers/utils';
16
- export type { Renderers, Renderer, AlertRendererProps, CheckboxInputRendererProps, BoxRendererProps, ButtonRendererProps, ColumnsRendererProps, DateInputRendererProps, DecisionRendererProps, DividerRendererProps, FormRendererProps, SectionRendererProps, HeadingRendererProps, HiddenRendererProps, ImageRendererProps, InstructionsRendererProps, IntegerInputRendererProps, LoadingIndicatorRendererProps, MarkdownRendererProps, ModalRendererProps, MultiSelectInputRendererProps, MultiUploadInputRendererProps, NumberInputRendererProps, ParagraphRendererProps, RepeatableRendererProps, ReviewRendererProps, SearchRendererProps, SelectInputRendererProps, StatusListRendererProps, StepRendererProps, TextInputRendererProps, UploadInputRendererProps, } from '@wise/dynamic-flow-types/build/renderers';
16
+ export type { Renderers, Renderer, AlertRendererProps, CheckboxInputRendererProps, BoxRendererProps, ButtonRendererProps, ColumnsRendererProps, DateInputRendererProps, DecisionRendererProps, DividerRendererProps, FormRendererProps, FormSectionRendererProps, HeadingRendererProps, HiddenRendererProps, ImageRendererProps, InstructionsRendererProps, IntegerInputRendererProps, LoadingIndicatorRendererProps, MarkdownRendererProps, ModalRendererProps, MultiSelectInputRendererProps, MultiUploadInputRendererProps, NumberInputRendererProps, ParagraphRendererProps, RepeatableRendererProps, ReviewRendererProps, SearchRendererProps, SelectInputRendererProps, StatusListRendererProps, StepRendererProps, TextInputRendererProps, UploadInputRendererProps, } from '@wise/dynamic-flow-types/build/renderers';
@@ -1,2 +1,3 @@
1
1
  import type { ListLayout } from '@wise/dynamic-flow-types/build/next';
2
+ export declare const isDeprecatedListLayout: (layout: ListLayout) => boolean;
2
3
  export declare const deprecatedListLayoutToComponent: (uid: string, { control, items, margin, title }: ListLayout) => import("../../components/StatusListComponent").StatusListComponent;
@@ -1,4 +1,4 @@
1
+ import type { FormSectionRendererProps } from '@wise/dynamic-flow-types/build/renderers';
1
2
  import type { AllOfComponent } from '../../domain/components/AllOfComponent';
2
- import type { SectionRendererProps } from '@wise/dynamic-flow-types/build/renderers';
3
3
  import { type RendererMapperProps } from './componentToRendererProps';
4
- export declare const allOfComponentToProps: (component: AllOfComponent, rendererMapperProps: RendererMapperProps) => SectionRendererProps;
4
+ export declare const allOfComponentToProps: (component: AllOfComponent, rendererMapperProps: RendererMapperProps) => FormSectionRendererProps;
@@ -1,4 +1,4 @@
1
- import type { SectionRendererProps } from '@wise/dynamic-flow-types/build/renderers';
1
+ import type { FormSectionRendererProps } from '@wise/dynamic-flow-types/build/renderers';
2
2
  import type { ObjectComponent } from '../../domain/components/ObjectComponent';
3
3
  import { RendererMapperProps } from './componentToRendererProps';
4
- export declare const objectComponentToProps: (component: ObjectComponent, rendererMapperProps: RendererMapperProps) => SectionRendererProps;
4
+ export declare const objectComponentToProps: (component: ObjectComponent, rendererMapperProps: RendererMapperProps) => FormSectionRendererProps;
@@ -1,4 +1,4 @@
1
- import { SectionRendererProps } from '@wise/dynamic-flow-types/build/renderers';
1
+ import { FormSectionRendererProps } from '@wise/dynamic-flow-types/build/renderers';
2
2
  import type { TupleComponent } from '../../domain/components/TupleComponent';
3
3
  import { RendererMapperProps } from './componentToRendererProps';
4
- export declare const tupleComponentToProps: (component: TupleComponent, rendererMapperProps: RendererMapperProps) => SectionRendererProps;
4
+ export declare const tupleComponentToProps: (component: TupleComponent, rendererMapperProps: RendererMapperProps) => FormSectionRendererProps;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/dynamic-flow-client",
3
- "version": "4.5.0",
3
+ "version": "4.5.2",
4
4
  "description": "Dynamic Flow web client",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./build/main.js",
@@ -53,7 +53,7 @@
53
53
  "@testing-library/jest-dom": "6.6.3",
54
54
  "@testing-library/react": "16.3.0",
55
55
  "@testing-library/user-event": "14.6.1",
56
- "@transferwise/components": "46.96.1",
56
+ "@transferwise/components": "46.97.0",
57
57
  "@transferwise/formatting": "^2.13.1",
58
58
  "@transferwise/icons": "3.21.0",
59
59
  "@transferwise/neptune-css": "14.24.3",
@@ -62,7 +62,7 @@
62
62
  "@types/react": "18.3.20",
63
63
  "@types/react-dom": "18.3.6",
64
64
  "@types/react-intl": "3.0.0",
65
- "@wise/art": "2.20.0",
65
+ "@wise/art": "2.20.1",
66
66
  "@wise/components-theming": "^1.6.2",
67
67
  "babel-jest": "29.7.0",
68
68
  "esbuild": "0.25.3",
@@ -85,8 +85,8 @@
85
85
  "tsx": "4.19.3",
86
86
  "typescript": "5.8.3",
87
87
  "webpack": "5.99.7",
88
- "@wise/dynamic-flow-renderers": "0.0.0",
89
- "@wise/dynamic-flow-fixtures": "0.0.1"
88
+ "@wise/dynamic-flow-fixtures": "0.0.1",
89
+ "@wise/dynamic-flow-renderers": "0.0.0"
90
90
  },
91
91
  "peerDependencies": {
92
92
  "@transferwise/components": "^46.92.0",
@@ -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.3.0"
105
+ "@wise/dynamic-flow-types": "3.3.1"
106
106
  },
107
107
  "scripts": {
108
108
  "dev": "pnpm build:visual-tests && storybook dev -p 3003",