@wise/dynamic-flow-client 4.4.0 → 4.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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",
@@ -1117,6 +1117,7 @@ function getChildren(node) {
1117
1117
  case "status-list":
1118
1118
  case "input-text":
1119
1119
  case "input-upload":
1120
+ case "external-confirmation":
1120
1121
  return [];
1121
1122
  }
1122
1123
  }
@@ -1539,7 +1540,10 @@ var repeatableComponentToProps = (component, rendererMapperProps) => {
1539
1540
  };
1540
1541
 
1541
1542
  // src/revamp/renderers/mappers/reviewComponentToProps.ts
1542
- var reviewComponentToProps = (component, rendererMapperProps) => __spreadValues(__spreadValues({}, pick(component, "uid", "type", "callToAction", "control", "fields", "margin", "title")), rendererMapperProps);
1543
+ var reviewComponentToProps = (component, rendererMapperProps) => __spreadValues(__spreadProps(__spreadValues({}, pick(component, "uid", "type", "callToAction", "control", "margin", "title")), {
1544
+ fields: component.fields.map(mapField)
1545
+ }), rendererMapperProps);
1546
+ var mapField = (field) => __spreadValues({}, field);
1543
1547
 
1544
1548
  // src/revamp/domain/mappers/utils/image.ts
1545
1549
  var mapSpecImage = (image) => {
@@ -1675,11 +1679,17 @@ var tupleComponentToProps = (component, rendererMapperProps) => {
1675
1679
 
1676
1680
  // src/revamp/renderers/mappers/listComponentToProps.ts
1677
1681
  var listComponentToProps = (component, rendererMapperProps) => __spreadProps(__spreadValues(__spreadValues({}, pick(component, "uid", "type", "callToAction", "control", "margin", "title")), rendererMapperProps), {
1678
- items: component.items.map((_a) => {
1679
- var item = __objRest(_a, []);
1680
- return __spreadValues({}, item);
1681
- })
1682
+ items: component.items.map(mapItem)
1682
1683
  });
1684
+ var mapItem = (item) => {
1685
+ var _a, _b;
1686
+ return __spreadProps(__spreadValues({}, item), {
1687
+ // populate deprecated fields
1688
+ subtitle: item.description,
1689
+ value: (_a = item.supportingValues) == null ? void 0 : _a.value,
1690
+ subvalue: (_b = item.supportingValues) == null ? void 0 : _b.subvalue
1691
+ });
1692
+ };
1683
1693
 
1684
1694
  // src/revamp/renderers/stepComponentToProps.ts
1685
1695
  var stepComponentToProps = (component, rendererMapperProps) => {
@@ -1689,7 +1699,6 @@ var stepComponentToProps = (component, rendererMapperProps) => {
1689
1699
  control,
1690
1700
  description,
1691
1701
  error,
1692
- external,
1693
1702
  loadingState,
1694
1703
  step,
1695
1704
  title,
@@ -1704,7 +1713,6 @@ var stepComponentToProps = (component, rendererMapperProps) => {
1704
1713
  control,
1705
1714
  description,
1706
1715
  error,
1707
- external,
1708
1716
  loadingState,
1709
1717
  step,
1710
1718
  title,
@@ -1719,12 +1727,12 @@ var stepComponentToProps = (component, rendererMapperProps) => {
1719
1727
  // src/revamp/renderers/mappers/rootComponentToProps.ts
1720
1728
  var rootComponentToProps = (rootComponent, rendererMapperProps) => {
1721
1729
  const childrenProps = rootComponent.getChildren().map((child) => componentToRendererProps(child, rendererMapperProps));
1722
- return {
1730
+ return __spreadValues({
1723
1731
  type: "root",
1724
1732
  uid: rootComponent.uid,
1725
1733
  children: childrenProps.map(rendererMapperProps.render),
1726
1734
  childrenProps
1727
- };
1735
+ }, rendererMapperProps);
1728
1736
  };
1729
1737
 
1730
1738
  // src/revamp/renderers/mappers/modalContentComponentToProps.ts
@@ -1742,6 +1750,19 @@ var modalContentComponentToProps = (component, rendererMapperProps) => {
1742
1750
  }, rendererMapperProps);
1743
1751
  };
1744
1752
 
1753
+ // src/revamp/renderers/mappers/externalComponentToProps.ts
1754
+ var externalComponentToProps = (component, rendererMapperProps) => {
1755
+ return __spreadValues({
1756
+ type: "external-confirmation",
1757
+ uid: component.uid,
1758
+ url: component.url,
1759
+ status: component.status,
1760
+ onSuccess: component.onSuccess.bind(component),
1761
+ onFailure: component.onFailure.bind(component),
1762
+ onCancel: component.onCancel.bind(component)
1763
+ }, rendererMapperProps);
1764
+ };
1765
+
1745
1766
  // src/revamp/renderers/mappers/componentToRendererProps.ts
1746
1767
  var componentToRendererProps = (component, rendererMapperProps) => {
1747
1768
  if (isHiddenComponent(component)) {
@@ -1772,6 +1793,8 @@ var componentToRendererProps = (component, rendererMapperProps) => {
1772
1793
  return decisionComponentToProps(component, rendererMapperProps);
1773
1794
  case "divider":
1774
1795
  return dividerComponentToProps(component, rendererMapperProps);
1796
+ case "external-confirmation":
1797
+ return externalComponentToProps(component, rendererMapperProps);
1775
1798
  case "form":
1776
1799
  return formComponentToProps(component, rendererMapperProps);
1777
1800
  case "heading":
@@ -1935,6 +1958,40 @@ var createRootDomainComponent = (updateComponent) => {
1935
1958
  return rootComponent;
1936
1959
  };
1937
1960
 
1961
+ // src/revamp/domain/components/step/ExternalConfirmationComponent.ts
1962
+ var createExternalConfirmation = (uid, url, updateComponent) => {
1963
+ const update = getInputUpdateFunction(updateComponent);
1964
+ return {
1965
+ type: "external-confirmation",
1966
+ uid,
1967
+ url,
1968
+ status: "initial",
1969
+ onSuccess() {
1970
+ update(this, (draft) => {
1971
+ draft.status = "success";
1972
+ });
1973
+ },
1974
+ onFailure() {
1975
+ if (this.status === "initial") {
1976
+ update(this, (draft) => {
1977
+ draft.status = "failure";
1978
+ });
1979
+ }
1980
+ },
1981
+ onCancel() {
1982
+ update(this, (draft) => {
1983
+ draft.status = "dismissed";
1984
+ });
1985
+ },
1986
+ getSubmittableValue: async () => null,
1987
+ getSubmittableValueSync: () => null,
1988
+ getLocalValue: () => null,
1989
+ getSummary: () => ({}),
1990
+ // Noop
1991
+ validate: () => true
1992
+ };
1993
+ };
1994
+
1938
1995
  // src/revamp/domain/features/summary/summary-utils.ts
1939
1996
  var getSummariser = (schema) => (value) => {
1940
1997
  const { summary, icon, image } = schema;
@@ -1975,7 +2032,7 @@ var summaryIfProvides = (summary, { value, icon, image }) => {
1975
2032
  var validateComponents = (components) => components.reduce((acc, component) => component.validate() && acc, true);
1976
2033
  var getLocalValueValidator = (checks) => (currentValue) => checks.map((check) => check(currentValue)).filter(isString);
1977
2034
 
1978
- // src/revamp/domain/components/StepDomainComponent.ts
2035
+ // src/revamp/domain/components/step/StepDomainComponent.ts
1979
2036
  var createStepComponent = (stepProps) => {
1980
2037
  const _a = stepProps, { uid, stepPolling, stepRefreshAfter, updateComponent } = _a, rest = __objRest(_a, ["uid", "stepPolling", "stepRefreshAfter", "updateComponent"]);
1981
2038
  const update = getInputUpdateFunction(updateComponent);
@@ -2002,7 +2059,7 @@ var createStepComponent = (stepProps) => {
2002
2059
  update(this, updateFn);
2003
2060
  },
2004
2061
  getChildren() {
2005
- return this.components;
2062
+ return this.externalConfirmation ? [...this.components, this.externalConfirmation] : this.components;
2006
2063
  },
2007
2064
  getModals() {
2008
2065
  return this.modals;
@@ -2421,6 +2478,27 @@ var createDecisionComponent = (decisionProps) => __spreadProps(__spreadValues({
2421
2478
  validate: () => true
2422
2479
  });
2423
2480
 
2481
+ // src/revamp/domain/mappers/utils/utils.ts
2482
+ var mapInlineAlert = (alert) => {
2483
+ return alert ? {
2484
+ content: alert.content,
2485
+ context: alert.context ? mapLegacyContext(alert.context) : "neutral"
2486
+ } : void 0;
2487
+ };
2488
+ var mapAdditionalInfo = (info, onBehavior) => {
2489
+ if (info) {
2490
+ const behavior = getDomainLayerBehavior(info, []);
2491
+ return {
2492
+ text: info.text,
2493
+ accessibilityDescription: info.accessibilityDescription,
2494
+ onClick: () => {
2495
+ void onBehavior(behavior);
2496
+ }
2497
+ };
2498
+ }
2499
+ return void 0;
2500
+ };
2501
+
2424
2502
  // src/revamp/domain/mappers/layout/decisionLayoutToComponent.ts
2425
2503
  var decisionLayoutToComponent = (uid, {
2426
2504
  control,
@@ -2431,20 +2509,66 @@ var decisionLayoutToComponent = (uid, {
2431
2509
  uid,
2432
2510
  control,
2433
2511
  margin,
2434
- options: options.map((option) => {
2435
- var _a, _b;
2436
- const behavior = getDomainLayerBehavior(option, (_a = step.actions) != null ? _a : []);
2437
- return __spreadProps(__spreadValues({}, option), {
2438
- disabled: (_b = option.disabled) != null ? _b : false,
2439
- href: behavior.type === "link" ? behavior.url : void 0,
2440
- image: mapSpecImage(option.image),
2441
- onClick: () => {
2442
- void onBehavior(behavior);
2443
- }
2444
- });
2445
- }),
2512
+ options: options.map((option) => mapOption(option, onBehavior, step.actions)),
2446
2513
  title
2447
2514
  });
2515
+ var mapOption = (option, onBehavior, stepActions = []) => {
2516
+ var _a;
2517
+ const behavior = getDomainLayerBehavior(option, stepActions);
2518
+ return __spreadProps(__spreadValues({}, option), {
2519
+ disabled: (_a = option.disabled) != null ? _a : false,
2520
+ href: behavior.type === "link" ? behavior.url : void 0,
2521
+ image: mapSpecImage(option.image),
2522
+ inlineAlert: mapInlineAlert(option.inlineAlert),
2523
+ onClick: () => {
2524
+ void onBehavior(behavior);
2525
+ }
2526
+ });
2527
+ };
2528
+
2529
+ // src/revamp/domain/components/StatusListComponent.ts
2530
+ var createStatusListComponent = (statusListProps) => __spreadProps(__spreadValues({
2531
+ type: "status-list"
2532
+ }, statusListProps), {
2533
+ getLocalValue: () => null,
2534
+ getSubmittableValue: async () => null,
2535
+ getSubmittableValueSync: () => null,
2536
+ getSummary: () => ({}),
2537
+ // Noop,
2538
+ validate: () => true
2539
+ });
2540
+
2541
+ // src/revamp/domain/mappers/layout/deprecatedListLayoutToComponent.ts
2542
+ var isDeprecatedListLayout = (layout) => {
2543
+ const usesCallToAction = layout.callToAction != null;
2544
+ const usesNewProperties = layout.items.some(
2545
+ (item) => item.additionalInfo != null || item.inlineAlert != null || item.supportingValues != null || item.subtitle != null || item.value != null || item.subvalue != null
2546
+ );
2547
+ return !usesCallToAction && !usesNewProperties;
2548
+ };
2549
+ var deprecatedListLayoutToComponent = (uid, { control, items, margin = "md", title }) => createStatusListComponent({
2550
+ uid,
2551
+ control,
2552
+ items: items.map(({ description, icon, status, title: itemTitle }) => ({
2553
+ description,
2554
+ icon: icon != null ? icon : { text: "" },
2555
+ title: itemTitle != null ? itemTitle : "",
2556
+ status: status ? mapLegacyStatus(status) : void 0
2557
+ })),
2558
+ margin,
2559
+ title
2560
+ });
2561
+ var mapLegacyStatus = (status) => {
2562
+ switch (status) {
2563
+ case "positive":
2564
+ return "done";
2565
+ case "warning":
2566
+ return "pending";
2567
+ case "neutral":
2568
+ default:
2569
+ return "not-done";
2570
+ }
2571
+ };
2448
2572
 
2449
2573
  // src/revamp/domain/components/DividerComponent.ts
2450
2574
  var createDividerComponent = (props) => __spreadProps(__spreadValues({
@@ -5404,6 +5528,50 @@ var instructionsLayoutToComponent = (uid, { control, items, margin = "md", title
5404
5528
  title
5405
5529
  });
5406
5530
 
5531
+ // src/revamp/domain/components/ListComponent.ts
5532
+ var createListComponent = (listProps) => __spreadProps(__spreadValues({
5533
+ type: "list"
5534
+ }, listProps), {
5535
+ getLocalValue: () => null,
5536
+ getSubmittableValue: async () => null,
5537
+ getSubmittableValueSync: () => null,
5538
+ getSummary: () => ({}),
5539
+ // noop
5540
+ validate: () => true
5541
+ });
5542
+
5543
+ // src/revamp/domain/mappers/layout/listLayoutToComponent.ts
5544
+ var listLayoutToComponent = (uid, { callToAction, control, items, margin = "md", title }, mapperProps) => {
5545
+ var _a;
5546
+ const { step, onBehavior } = mapperProps;
5547
+ return createListComponent({
5548
+ uid,
5549
+ control,
5550
+ items: items.map((item) => mapItem2(item, mapperProps)),
5551
+ callToAction: getDomainLayerCallToAction(callToAction, onBehavior, (_a = step.actions) != null ? _a : []),
5552
+ margin,
5553
+ title
5554
+ });
5555
+ };
5556
+ var mapItem2 = (item, mapperProps) => {
5557
+ var _b;
5558
+ const _a = item, { value, subvalue, subtitle } = _a, rest = __objRest(_a, ["value", "subvalue", "subtitle"]);
5559
+ return __spreadProps(__spreadValues({}, rest), {
5560
+ description: (_b = item.description) != null ? _b : subtitle,
5561
+ image: mapSpecImage(item.image),
5562
+ supportingValues: mapSupportingValues(item),
5563
+ additionalInfo: mapAdditionalInfo(item.additionalInfo, mapperProps.onBehavior),
5564
+ inlineAlert: mapInlineAlert(item.inlineAlert)
5565
+ });
5566
+ };
5567
+ var mapSupportingValues = (item) => {
5568
+ const { value, subvalue, supportingValues } = item;
5569
+ if (supportingValues) {
5570
+ return supportingValues;
5571
+ }
5572
+ return value || subvalue ? { value, subvalue } : void 0;
5573
+ };
5574
+
5407
5575
  // src/revamp/domain/components/LoadingIndicatorComponent.ts
5408
5576
  var createLoadingIndicatorComponent = (loadingIndicatorProps) => __spreadProps(__spreadValues({
5409
5577
  type: "loading-indicator"
@@ -5505,16 +5673,13 @@ var createReviewComponent = (reviewProps) => __spreadProps(__spreadValues({
5505
5673
  // src/revamp/domain/mappers/layout/reviewLayoutToComponent.ts
5506
5674
  var reviewLayoutToComponent = (uid, { fields, title, callToAction, control, margin = "md", orientation, action }, { onBehavior, step }) => createReviewComponent({
5507
5675
  uid,
5508
- callToAction: getReviewAction({ onBehavior, callToAction, action, stepActions: step.actions }),
5676
+ callToAction: getCallToAction2({ onBehavior, callToAction, action, stepActions: step.actions }),
5509
5677
  control: getOrientationControl({ control, orientation }),
5510
- fields: fields.map((field) => {
5511
- var _a;
5512
- return __spreadProps(__spreadValues({}, field), { help: (_a = field.help) == null ? void 0 : _a.markdown });
5513
- }),
5678
+ fields: fields.map((field) => mapReviewField(field, { onBehavior, step })),
5514
5679
  margin,
5515
5680
  title
5516
5681
  });
5517
- var getReviewAction = ({
5682
+ var getCallToAction2 = ({
5518
5683
  onBehavior,
5519
5684
  callToAction,
5520
5685
  action,
@@ -5525,6 +5690,7 @@ var getReviewAction = ({
5525
5690
  }
5526
5691
  if (action == null ? void 0 : action.title) {
5527
5692
  return {
5693
+ type: "action",
5528
5694
  title: action.title,
5529
5695
  onClick: () => {
5530
5696
  void onBehavior({ type: "action", action });
@@ -5545,6 +5711,20 @@ var getOrientationControl = ({
5545
5711
  }
5546
5712
  return void 0;
5547
5713
  };
5714
+ var mapReviewField = (field, { onBehavior, step }) => {
5715
+ var _a, _b;
5716
+ return __spreadProps(__spreadValues({}, field), {
5717
+ image: mapSpecImage(field.image),
5718
+ help: (_a = field.help) == null ? void 0 : _a.markdown,
5719
+ inlineAlert: mapInlineAlert(field.inlineAlert),
5720
+ additionalInfo: mapAdditionalInfo(field.additionalInfo, onBehavior),
5721
+ callToAction: getCallToAction2({
5722
+ onBehavior,
5723
+ callToAction: field.callToAction,
5724
+ stepActions: (_b = step.actions) != null ? _b : []
5725
+ })
5726
+ });
5727
+ };
5548
5728
 
5549
5729
  // src/revamp/domain/components/searchComponent/SearchComponent.ts
5550
5730
  var DEBOUNCE_TIME = 400;
@@ -5691,18 +5871,6 @@ var searchLayoutToComponent = (uid, { control, emptyMessage = "", method, param,
5691
5871
  );
5692
5872
  };
5693
5873
 
5694
- // src/revamp/domain/components/StatusListComponent.ts
5695
- var createStatusListComponent = (statusListProps) => __spreadProps(__spreadValues({
5696
- type: "status-list"
5697
- }, statusListProps), {
5698
- getLocalValue: () => null,
5699
- getSubmittableValue: async () => null,
5700
- getSubmittableValueSync: () => null,
5701
- getSummary: () => ({}),
5702
- // Noop,
5703
- validate: () => true
5704
- });
5705
-
5706
5874
  // src/revamp/domain/mappers/layout/statusListLayoutToComponent.ts
5707
5875
  var statusListLayoutToComponent = (uid, { control, items, margin = "md", title }, { onBehavior, step }) => createStatusListComponent({
5708
5876
  uid,
@@ -5720,59 +5888,6 @@ var statusListLayoutToComponent = (uid, { control, items, margin = "md", title }
5720
5888
  title
5721
5889
  });
5722
5890
 
5723
- // src/revamp/domain/mappers/layout/deprecatedListLayoutToComponent.ts
5724
- var deprecatedListLayoutToComponent = (uid, { control, items, margin = "md", title }) => createStatusListComponent({
5725
- uid,
5726
- control,
5727
- items: items.map(({ description, icon, status, title: itemTitle }) => ({
5728
- description,
5729
- icon: icon != null ? icon : { text: "" },
5730
- title: itemTitle != null ? itemTitle : "",
5731
- status: status ? mapLegacyStatus(status) : void 0
5732
- })),
5733
- margin,
5734
- title
5735
- });
5736
- var mapLegacyStatus = (status) => {
5737
- switch (status) {
5738
- case "positive":
5739
- return "done";
5740
- case "warning":
5741
- return "pending";
5742
- case "neutral":
5743
- default:
5744
- return "not-done";
5745
- }
5746
- };
5747
-
5748
- // src/revamp/domain/components/ListComponent.ts
5749
- var createListComponent = (listProps) => __spreadProps(__spreadValues({
5750
- type: "list"
5751
- }, listProps), {
5752
- getLocalValue: () => null,
5753
- getSubmittableValue: async () => null,
5754
- getSubmittableValueSync: () => null,
5755
- getSummary: () => ({}),
5756
- // noop
5757
- validate: () => true
5758
- });
5759
-
5760
- // src/revamp/domain/mappers/layout/listLayoutToComponent.ts
5761
- var listLayoutToComponent = (uid, { callToAction, control, items, margin = "md", title }, mapperProps) => {
5762
- var _a;
5763
- const { step, onBehavior } = mapperProps;
5764
- return createListComponent({
5765
- uid,
5766
- control,
5767
- items: items.map((item) => __spreadProps(__spreadValues({}, item), {
5768
- image: mapSpecImage(item.image)
5769
- })),
5770
- callToAction: getDomainLayerCallToAction(callToAction, onBehavior, (_a = step.actions) != null ? _a : []),
5771
- margin,
5772
- title
5773
- });
5774
- };
5775
-
5776
5891
  // src/revamp/domain/mappers/mapLayoutToComponent.ts
5777
5892
  var mapLayoutToComponent = (uid, layout, mapperProps) => {
5778
5893
  switch (layout.type) {
@@ -5799,10 +5914,7 @@ var mapLayoutToComponent = (uid, layout, mapperProps) => {
5799
5914
  case "instructions":
5800
5915
  return instructionsLayoutToComponent(uid, layout);
5801
5916
  case "list":
5802
- if (layout.items.some((item) => item.status || item.description)) {
5803
- return deprecatedListLayoutToComponent(uid, layout);
5804
- }
5805
- return listLayoutToComponent(uid, layout, mapperProps);
5917
+ return isDeprecatedListLayout(layout) ? deprecatedListLayoutToComponent(uid, layout) : listLayoutToComponent(uid, layout, mapperProps);
5806
5918
  case "loading-indicator":
5807
5919
  return loadingIndicatorLayoutToComponent(uid, layout);
5808
5920
  case "markdown":
@@ -5906,6 +6018,7 @@ var mapStepToComponent = (_a) => {
5906
6018
  const onRefresh = async (schemaId, url) => restProps.onRefresh(schemaId, url != null ? url : refreshUrl);
5907
6019
  const stepPolling = polling ? getStepPolling({ pollingConfig: polling, onBehavior, onPoll }) : void 0;
5908
6020
  const stepRefreshAfter = refreshAfter ? getStepRefreshAfter({ refreshAfter, onRefresh }) : void 0;
6021
+ const externalConfirmation = (external == null ? void 0 : external.url) ? createExternalConfirmation(`${uid}-external-confirmation`, external == null ? void 0 : external.url, updateComponent) : void 0;
5909
6022
  const mapperProps = __spreadProps(__spreadValues({}, restProps), { trackEvent, onBehavior, onRefresh });
5910
6023
  const unreferencedSchemaFormComponents = mapUnreferencedSchemas(mapperProps);
5911
6024
  const layoutComponents = layout.map(
@@ -5919,7 +6032,7 @@ var mapStepToComponent = (_a) => {
5919
6032
  control,
5920
6033
  description,
5921
6034
  error: errors == null ? void 0 : errors.error,
5922
- external,
6035
+ externalConfirmation,
5923
6036
  loadingState,
5924
6037
  stepPolling,
5925
6038
  stepRefreshAfter,
@@ -11672,7 +11785,7 @@ var getDefinitionListLayout = (review) => {
11672
11785
  function DynamicReview({ component: review, onAction }) {
11673
11786
  var _a, _b;
11674
11787
  const margin = getMargin(review.margin || "xs");
11675
- const getReviewAction2 = (callToAction2) => {
11788
+ const getReviewAction = (callToAction2) => {
11676
11789
  const { title, action, behavior } = callToAction2;
11677
11790
  if (behavior) {
11678
11791
  if ("type" in behavior) {
@@ -11720,7 +11833,7 @@ function DynamicReview({ component: review, onAction }) {
11720
11833
  };
11721
11834
  };
11722
11835
  const orientation = getDefinitionListLayout(review);
11723
- const callToAction = review.callToAction ? getReviewAction2(review.callToAction) : null;
11836
+ const callToAction = review.callToAction ? getReviewAction(review.callToAction) : null;
11724
11837
  const legacyCallToAction = !callToAction && review.action ? { text: (_a = review.action.title) != null ? _a : "", onClick: getOnClick(review.action) } : null;
11725
11838
  return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: margin, children: [
11726
11839
  review.title && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components30.Header, { title: review.title, action: (_b = callToAction != null ? callToAction : legacyCallToAction) != null ? _b : void 0 }),