@wise/dynamic-flow-client-internal 5.14.0 → 5.15.0-experimental-a850677

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.
package/build/main.mjs CHANGED
@@ -1087,12 +1087,273 @@ var getInlineAlertOrValidation = (validationState, inlineAlert) => {
1087
1087
  };
1088
1088
  var CheckboxInputRenderer_default = CheckboxInputRenderer;
1089
1089
 
1090
+ // ../renderers/src/CollectionRenderer.tsx
1091
+ import { Chips, Input, InputGroup, ListItem as ListItem6 } from "@transferwise/components";
1092
+
1093
+ // ../renderers/src/utils/listItem/getAdditionalInfo.tsx
1094
+ import { ListItem as ListItem4 } from "@transferwise/components";
1095
+ import { jsx as jsx24 } from "react/jsx-runtime";
1096
+ var getAdditionalInfo = (additionalInfo) => {
1097
+ if (!additionalInfo) {
1098
+ return void 0;
1099
+ }
1100
+ const { href, text, onClick } = additionalInfo;
1101
+ if (href || onClick) {
1102
+ return /* @__PURE__ */ jsx24(
1103
+ ListItem4.AdditionalInfo,
1104
+ {
1105
+ action: {
1106
+ label: text,
1107
+ href,
1108
+ onClick,
1109
+ target: "_blank"
1110
+ }
1111
+ }
1112
+ );
1113
+ }
1114
+ return /* @__PURE__ */ jsx24(ListItem4.AdditionalInfo, { children: additionalInfo == null ? void 0 : additionalInfo.text });
1115
+ };
1116
+
1117
+ // ../renderers/src/utils/listItem/getCTAControl.tsx
1118
+ import { ListItem as ListItem5 } from "@transferwise/components";
1119
+ import { jsx as jsx25 } from "react/jsx-runtime";
1120
+ var getCTAControl = (callToAction, { ctaSecondary, fullyInteractive }) => {
1121
+ if (!callToAction) {
1122
+ return void 0;
1123
+ }
1124
+ const { accessibilityDescription, href, title, context, onClick } = callToAction;
1125
+ const { priority, sentiment } = getPriorityAndSentiment(ctaSecondary, context);
1126
+ if (href) {
1127
+ return /* @__PURE__ */ jsx25(
1128
+ ListItem5.Button,
1129
+ {
1130
+ href,
1131
+ target: "_blank",
1132
+ rel: "noopener noreferrer",
1133
+ partiallyInteractive: !fullyInteractive,
1134
+ priority,
1135
+ "aria-description": accessibilityDescription,
1136
+ sentiment,
1137
+ children: title
1138
+ }
1139
+ );
1140
+ }
1141
+ return /* @__PURE__ */ jsx25(
1142
+ ListItem5.Button,
1143
+ {
1144
+ "aria-description": accessibilityDescription,
1145
+ partiallyInteractive: !fullyInteractive,
1146
+ priority,
1147
+ sentiment,
1148
+ onClick,
1149
+ children: title
1150
+ }
1151
+ );
1152
+ };
1153
+ var getPriorityAndSentiment = (ctaSecondary, context) => {
1154
+ if (context === "negative") {
1155
+ return { priority: "secondary", sentiment: "negative" };
1156
+ }
1157
+ return { priority: ctaSecondary ? "secondary" : "secondary-neutral", sentiment: "default" };
1158
+ };
1159
+
1160
+ // ../renderers/src/utils/listItem/shouldUseAvatar.ts
1161
+ var shouldUseAvatar = (control, tags) => {
1162
+ var _a;
1163
+ return control === "with-avatar" || ((_a = tags == null ? void 0 : tags.includes("with-avatar")) != null ? _a : false);
1164
+ };
1165
+
1166
+ // ../renderers/src/CollectionRenderer.tsx
1167
+ import { useEffect as useEffect5, useRef as useRef2 } from "react";
1168
+
1169
+ // ../renderers/src/step/StepFooter.tsx
1170
+ import { Button as Button3 } from "@transferwise/components";
1171
+ import { useEffect as useEffect4, useRef, useState as useState4 } from "react";
1172
+ import { useIntl as useIntl3 } from "react-intl";
1173
+
1174
+ // ../renderers/src/messages/step.messages.ts
1175
+ import { defineMessages as defineMessages3 } from "react-intl";
1176
+ var step_messages_default = defineMessages3({
1177
+ scrollToBottom: {
1178
+ id: "df.wise.step.scrollToBottom",
1179
+ defaultMessage: "Scroll to bottom",
1180
+ description: "Label for a button that appears when the content of a step is too long and the user needs to scroll to the bottom to see all the content."
1181
+ }
1182
+ });
1183
+
1184
+ // ../renderers/src/step/StepFooter.tsx
1185
+ import { Fragment, jsx as jsx26, jsxs as jsxs4 } from "react/jsx-runtime";
1186
+ var SCROLL_TO_BOTTOM = "scroll-to-bottom";
1187
+ var StepFooter = ({ footer, tags }) => {
1188
+ if (tags == null ? void 0 : tags.includes(SCROLL_TO_BOTTOM)) {
1189
+ return /* @__PURE__ */ jsx26(FooterWithScrollButton, { footer });
1190
+ }
1191
+ return /* @__PURE__ */ jsx26(DefaultFooter, { footer });
1192
+ };
1193
+ var DefaultFooter = ({ footer }) => {
1194
+ const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
1195
+ return hasFooter ? /* @__PURE__ */ jsx26("div", { className: "df-step-fixed__footer", children: footer }) : void 0;
1196
+ };
1197
+ var FooterWithScrollButton = ({ footer }) => {
1198
+ const { formatMessage } = useIntl3();
1199
+ const endOfLayoutRef = useRef(null);
1200
+ const isElementVisible = useIsElementVisible(endOfLayoutRef);
1201
+ const scrollButton = /* @__PURE__ */ jsx26(
1202
+ Button3,
1203
+ {
1204
+ className: "m-b-1",
1205
+ v2: true,
1206
+ block: true,
1207
+ priority: "tertiary",
1208
+ onClick: () => {
1209
+ var _a;
1210
+ (_a = endOfLayoutRef.current) == null ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
1211
+ },
1212
+ children: formatMessage(step_messages_default.scrollToBottom)
1213
+ }
1214
+ );
1215
+ const hasStepFooterContent = footer && Array.isArray(footer) && footer.length > 0;
1216
+ if (isElementVisible && !hasStepFooterContent) {
1217
+ return /* @__PURE__ */ jsx26("div", { ref: endOfLayoutRef, "aria-hidden": "true" });
1218
+ }
1219
+ return /* @__PURE__ */ jsxs4(Fragment, { children: [
1220
+ /* @__PURE__ */ jsx26("div", { ref: endOfLayoutRef, "aria-hidden": "true" }),
1221
+ /* @__PURE__ */ jsxs4("div", { className: "df-step-fixed__footer", children: [
1222
+ !isElementVisible && scrollButton,
1223
+ footer
1224
+ ] })
1225
+ ] });
1226
+ };
1227
+ var useIsElementVisible = (elementRef) => {
1228
+ const [isVisible, setIsVisible] = useState4(false);
1229
+ useEffect4(() => {
1230
+ const element = elementRef.current;
1231
+ if (!element) return;
1232
+ const observer = new IntersectionObserver(([entry]) => {
1233
+ setIsVisible(entry.isIntersecting);
1234
+ });
1235
+ observer.observe(element);
1236
+ return () => observer.disconnect();
1237
+ }, [elementRef]);
1238
+ return isVisible;
1239
+ };
1240
+
1241
+ // ../renderers/src/CollectionRenderer.tsx
1242
+ import { Search } from "@transferwise/icons";
1243
+ import { Fragment as Fragment2, jsx as jsx27, jsxs as jsxs5 } from "react/jsx-runtime";
1244
+ var CollectionRendererComponent = ({
1245
+ control,
1246
+ state,
1247
+ filters,
1248
+ search,
1249
+ tags,
1250
+ loadMore
1251
+ }) => {
1252
+ const endOfContentRef = useRef2(null);
1253
+ const isBottomVisible = useIsElementVisible(endOfContentRef);
1254
+ useEffect5(() => {
1255
+ if (isBottomVisible) {
1256
+ loadMore == null ? void 0 : loadMore();
1257
+ }
1258
+ }, [isBottomVisible]);
1259
+ return /* @__PURE__ */ jsxs5(Fragment2, { children: [
1260
+ /* @__PURE__ */ jsx27(FieldInput_default, { id: "search", description: "", validation: void 0, help: "", label: search.title, children: /* @__PURE__ */ jsx27(InputGroup, { addonStart: { content: /* @__PURE__ */ jsx27(Search, { size: 24 }) }, children: /* @__PURE__ */ jsx27(
1261
+ Input,
1262
+ {
1263
+ id: "search",
1264
+ name: "search",
1265
+ shape: "pill",
1266
+ placeholder: search.hint,
1267
+ type: "text",
1268
+ value: search.query,
1269
+ onChange: ({ currentTarget: { value } }) => {
1270
+ search.onChange(value);
1271
+ }
1272
+ }
1273
+ ) }) }),
1274
+ filters.map((filter) => {
1275
+ if (!filter.options) {
1276
+ return null;
1277
+ }
1278
+ return /* @__PURE__ */ jsx27(
1279
+ Chips,
1280
+ {
1281
+ className: "m-b-1",
1282
+ selected: filter.options.some((option) => option.selected) ? filter.options.filter((option) => option.selected).map((option) => option.id) : "",
1283
+ chips: [
1284
+ {
1285
+ value: "",
1286
+ // this is a placeholder for now...
1287
+ label: "All"
1288
+ },
1289
+ ...filter.options.map((option) => ({
1290
+ value: option.id,
1291
+ label: option.title
1292
+ }))
1293
+ ],
1294
+ onChange: (value) => {
1295
+ var _a, _b, _c;
1296
+ if (value.selectedValue === "") {
1297
+ (_a = filter.options) == null ? void 0 : _a.filter((option) => option.selected).map((option) => option == null ? void 0 : option.onSelect());
1298
+ return;
1299
+ }
1300
+ (_c = (_b = filter.options) == null ? void 0 : _b.find((option) => value.selectedValue === option.id)) == null ? void 0 : _c.onSelect();
1301
+ }
1302
+ },
1303
+ JSON.stringify(filter.options)
1304
+ );
1305
+ }),
1306
+ state.type === "collection-content" ? state.sections.map((section) => {
1307
+ return /* @__PURE__ */ jsxs5("div", { children: [
1308
+ /* @__PURE__ */ jsx27(Header, { title: section.title, callToAction: section.callToAction }),
1309
+ section.items.map((item) => {
1310
+ var _a, _b;
1311
+ const {
1312
+ title: itemTitle,
1313
+ description,
1314
+ supportingValues,
1315
+ media,
1316
+ additionalInfo,
1317
+ inlineAlert,
1318
+ callToAction: itemCallToAction,
1319
+ tags: itemTags
1320
+ } = item;
1321
+ const controlOptions = {
1322
+ ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
1323
+ fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
1324
+ };
1325
+ return /* @__PURE__ */ jsx27(
1326
+ ListItem6,
1327
+ {
1328
+ title: itemTitle,
1329
+ subtitle: description,
1330
+ valueTitle: supportingValues == null ? void 0 : supportingValues.value,
1331
+ valueSubtitle: supportingValues == null ? void 0 : supportingValues.subvalue,
1332
+ media: getMedia(media, shouldUseAvatar(control, itemTags)),
1333
+ prompt: getInlineAlert(inlineAlert),
1334
+ additionalInfo: getAdditionalInfo(additionalInfo),
1335
+ control: getCTAControl(itemCallToAction, controlOptions)
1336
+ },
1337
+ itemTitle
1338
+ );
1339
+ })
1340
+ ] }, section.id);
1341
+ }) : state.children,
1342
+ /* @__PURE__ */ jsx27("div", { ref: endOfContentRef, "aria-hidden": true })
1343
+ ] });
1344
+ };
1345
+ var CollectionRenderer = {
1346
+ canRenderType: "collection",
1347
+ render: CollectionRendererComponent
1348
+ };
1349
+ var CollectionRenderer_default = CollectionRenderer;
1350
+
1090
1351
  // ../renderers/src/ColumnsRenderer.tsx
1091
1352
  var import_classnames3 = __toESM(require_classnames());
1092
- import { jsx as jsx24, jsxs as jsxs4 } from "react/jsx-runtime";
1353
+ import { jsx as jsx28, jsxs as jsxs6 } from "react/jsx-runtime";
1093
1354
  var ColumnsRenderer = {
1094
1355
  canRenderType: "columns",
1095
- render: ({ bias, margin, startChildren, endChildren }) => /* @__PURE__ */ jsxs4(
1356
+ render: ({ bias, margin, startChildren, endChildren }) => /* @__PURE__ */ jsxs6(
1096
1357
  "div",
1097
1358
  {
1098
1359
  className: (0, import_classnames3.default)("df-columns-renderer-container", getMargin(margin), {
@@ -1100,8 +1361,8 @@ var ColumnsRenderer = {
1100
1361
  "df-columns-renderer-bias-end": bias === "end"
1101
1362
  }),
1102
1363
  children: [
1103
- /* @__PURE__ */ jsx24("div", { className: "df-columns-renderer-column", children: startChildren }),
1104
- /* @__PURE__ */ jsx24("div", { className: "df-columns-renderer-column", children: endChildren })
1364
+ /* @__PURE__ */ jsx28("div", { className: "df-columns-renderer-column", children: startChildren }),
1365
+ /* @__PURE__ */ jsx28("div", { className: "df-columns-renderer-column", children: endChildren })
1105
1366
  ]
1106
1367
  }
1107
1368
  )
@@ -1136,7 +1397,7 @@ var dateToDateString = (date) => {
1136
1397
  };
1137
1398
 
1138
1399
  // ../renderers/src/components/VariableDateInput.tsx
1139
- import { jsx as jsx25 } from "react/jsx-runtime";
1400
+ import { jsx as jsx29 } from "react/jsx-runtime";
1140
1401
  function VariableDateInput({
1141
1402
  control,
1142
1403
  inputProps
@@ -1152,7 +1413,7 @@ function VariableDateInput({
1152
1413
  onFocus
1153
1414
  } = inputProps;
1154
1415
  if (control === "date-lookup") {
1155
- return /* @__PURE__ */ jsx25(
1416
+ return /* @__PURE__ */ jsx29(
1156
1417
  DateLookup,
1157
1418
  {
1158
1419
  value: dateStringToDateOrNull(inputProps.value),
@@ -1168,7 +1429,7 @@ function VariableDateInput({
1168
1429
  }
1169
1430
  );
1170
1431
  }
1171
- return /* @__PURE__ */ jsx25(
1432
+ return /* @__PURE__ */ jsx29(
1172
1433
  DateInput,
1173
1434
  __spreadProps(__spreadValues({}, inputProps), {
1174
1435
  dayAutoComplete: getAutocompleteString(autoComplete, "day"),
@@ -1185,7 +1446,7 @@ var getAutocompleteString = (value, suffix) => {
1185
1446
  var VariableDateInput_default = VariableDateInput;
1186
1447
 
1187
1448
  // ../renderers/src/DateInputRenderer.tsx
1188
- import { jsx as jsx26 } from "react/jsx-runtime";
1449
+ import { jsx as jsx30 } from "react/jsx-runtime";
1189
1450
  var DateInputRenderer = {
1190
1451
  canRenderType: "input-date",
1191
1452
  render: (props) => {
@@ -1210,7 +1471,7 @@ var DateInputRenderer = {
1210
1471
  ]);
1211
1472
  const value = initialValue != null ? initialValue : "";
1212
1473
  const inputProps = __spreadProps(__spreadValues({}, rest), { value, id });
1213
- return /* @__PURE__ */ jsx26(
1474
+ return /* @__PURE__ */ jsx30(
1214
1475
  FieldInput_default,
1215
1476
  {
1216
1477
  id,
@@ -1218,7 +1479,7 @@ var DateInputRenderer = {
1218
1479
  description,
1219
1480
  validation: validationState,
1220
1481
  help,
1221
- children: /* @__PURE__ */ jsx26(VariableDateInput_default, { control, inputProps })
1482
+ children: /* @__PURE__ */ jsx30(VariableDateInput_default, { control, inputProps })
1222
1483
  }
1223
1484
  );
1224
1485
  }
@@ -1226,46 +1487,16 @@ var DateInputRenderer = {
1226
1487
  var DateInputRenderer_default = DateInputRenderer;
1227
1488
 
1228
1489
  // ../renderers/src/DecisionRenderer/DecisionRenderer.tsx
1229
- import { ListItem as ListItem5 } from "@transferwise/components";
1230
-
1231
- // ../renderers/src/utils/listItem/getAdditionalInfo.tsx
1232
- import { ListItem as ListItem4 } from "@transferwise/components";
1233
- import { jsx as jsx27 } from "react/jsx-runtime";
1234
- var getAdditionalInfo = (additionalInfo) => {
1235
- if (!additionalInfo) {
1236
- return void 0;
1237
- }
1238
- const { href, text, onClick } = additionalInfo;
1239
- if (href || onClick) {
1240
- return /* @__PURE__ */ jsx27(
1241
- ListItem4.AdditionalInfo,
1242
- {
1243
- action: {
1244
- label: text,
1245
- href,
1246
- onClick,
1247
- target: "_blank"
1248
- }
1249
- }
1250
- );
1251
- }
1252
- return /* @__PURE__ */ jsx27(ListItem4.AdditionalInfo, { children: additionalInfo == null ? void 0 : additionalInfo.text });
1253
- };
1254
-
1255
- // ../renderers/src/utils/listItem/shouldUseAvatar.ts
1256
- var shouldUseAvatar = (control, tags) => {
1257
- var _a;
1258
- return control === "with-avatar" || ((_a = tags == null ? void 0 : tags.includes("with-avatar")) != null ? _a : false);
1259
- };
1490
+ import { ListItem as ListItem7 } from "@transferwise/components";
1260
1491
 
1261
1492
  // ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
1262
- import { Header as Header2, SearchInput } from "@transferwise/components";
1263
- import { useState as useState4 } from "react";
1264
- import { useIntl as useIntl4 } from "react-intl";
1493
+ import { Header as Header3, SearchInput } from "@transferwise/components";
1494
+ import { useState as useState5 } from "react";
1495
+ import { useIntl as useIntl5 } from "react-intl";
1265
1496
 
1266
1497
  // ../renderers/src/messages/filter.messages.ts
1267
- import { defineMessages as defineMessages3 } from "react-intl";
1268
- var filter_messages_default = defineMessages3({
1498
+ import { defineMessages as defineMessages4 } from "react-intl";
1499
+ var filter_messages_default = defineMessages4({
1269
1500
  placeholder: {
1270
1501
  id: "df.wise.filter.placeholder",
1271
1502
  defaultMessage: "Start typing to search",
@@ -1331,12 +1562,12 @@ function filterAndSortDecisionOptions(selectOptions, query) {
1331
1562
  var normalizeAndRemoveAccents = (text) => text.trim().toLowerCase().normalize("NFKD").replace(new RegExp("\\p{Diacritic}", "gu"), "");
1332
1563
 
1333
1564
  // ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
1334
- import { Header, Section } from "@transferwise/components";
1335
- import { useIntl as useIntl3 } from "react-intl";
1565
+ import { Header as Header2, Section } from "@transferwise/components";
1566
+ import { useIntl as useIntl4 } from "react-intl";
1336
1567
 
1337
1568
  // ../renderers/src/messages/group.messages.ts
1338
- import { defineMessages as defineMessages4 } from "react-intl";
1339
- var group_messages_default = defineMessages4({
1569
+ import { defineMessages as defineMessages5 } from "react-intl";
1570
+ var group_messages_default = defineMessages5({
1340
1571
  all: {
1341
1572
  id: "df.wise.group.all",
1342
1573
  defaultMessage: "All",
@@ -1370,19 +1601,19 @@ var getGroupsFromTags = (knownTags, items) => {
1370
1601
  };
1371
1602
 
1372
1603
  // ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
1373
- import { Fragment, jsx as jsx28, jsxs as jsxs5 } from "react/jsx-runtime";
1604
+ import { Fragment as Fragment3, jsx as jsx31, jsxs as jsxs7 } from "react/jsx-runtime";
1374
1605
  var groupingTags = Object.keys(group_messages_default).filter((key) => key !== "all");
1375
1606
  var isGroupedDecision = (options) => {
1376
1607
  return getGroupsFromTags(groupingTags, options).length > 0;
1377
1608
  };
1378
1609
  var GroupedDecisionList = (_a) => {
1379
1610
  var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
1380
- const { formatMessage } = useIntl3();
1611
+ const { formatMessage } = useIntl4();
1381
1612
  const { options } = rest;
1382
1613
  const itemsByTag = [...getGroupsFromTags(groupingTags, options), { tag: "all", items: options }];
1383
- return /* @__PURE__ */ jsx28(Fragment, { children: itemsByTag.map(({ tag, items }) => /* @__PURE__ */ jsxs5(Section, { children: [
1384
- /* @__PURE__ */ jsx28(
1385
- Header,
1614
+ return /* @__PURE__ */ jsx31(Fragment3, { children: itemsByTag.map(({ tag, items }) => /* @__PURE__ */ jsxs7(Section, { children: [
1615
+ /* @__PURE__ */ jsx31(
1616
+ Header2,
1386
1617
  {
1387
1618
  as: "h2",
1388
1619
  title: tag in group_messages_default ? formatMessage(group_messages_default[tag]) : tag
@@ -1393,25 +1624,25 @@ var GroupedDecisionList = (_a) => {
1393
1624
  };
1394
1625
 
1395
1626
  // ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
1396
- import { Fragment as Fragment2, jsx as jsx29, jsxs as jsxs6 } from "react/jsx-runtime";
1627
+ import { Fragment as Fragment4, jsx as jsx32, jsxs as jsxs8 } from "react/jsx-runtime";
1397
1628
  var DecisionWrapper = (props) => {
1398
- return /* @__PURE__ */ jsxs6("div", { className: getMargin(props.margin), children: [
1399
- props.title && /* @__PURE__ */ jsx29(Header2, { as: "h2", title: props.title }),
1400
- props.control === "filtered" ? /* @__PURE__ */ jsx29(FilteredDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ jsx29(UnfilteredDecisionList, __spreadValues({}, props))
1629
+ return /* @__PURE__ */ jsxs8("div", { className: getMargin(props.margin), children: [
1630
+ props.title && /* @__PURE__ */ jsx32(Header3, { as: "h2", title: props.title }),
1631
+ props.control === "filtered" ? /* @__PURE__ */ jsx32(FilteredDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ jsx32(UnfilteredDecisionList, __spreadValues({}, props))
1401
1632
  ] });
1402
1633
  };
1403
1634
  var UnfilteredDecisionList = (_a) => {
1404
1635
  var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
1405
- return isGroupedDecision(rest.options) ? /* @__PURE__ */ jsx29(GroupedDecisionList, __spreadProps(__spreadValues({}, rest), { renderDecisionList: renderDecisionList2 })) : renderDecisionList2(rest);
1636
+ return isGroupedDecision(rest.options) ? /* @__PURE__ */ jsx32(GroupedDecisionList, __spreadProps(__spreadValues({}, rest), { renderDecisionList: renderDecisionList2 })) : renderDecisionList2(rest);
1406
1637
  };
1407
1638
  var FilteredDecisionList = (props) => {
1408
- const { formatMessage } = useIntl4();
1409
- const [query, setQuery] = useState4("");
1639
+ const { formatMessage } = useIntl5();
1640
+ const [query, setQuery] = useState5("");
1410
1641
  const { control, options, renderDecisionList: renderDecisionList2 } = props;
1411
1642
  const filteredOptions = (query == null ? void 0 : query.length) > 0 ? filterAndSortDecisionOptions(options, query) : options;
1412
1643
  const isGrouped = isGroupedDecision(options);
1413
- return /* @__PURE__ */ jsxs6(Fragment2, { children: [
1414
- /* @__PURE__ */ jsx29(
1644
+ return /* @__PURE__ */ jsxs8(Fragment4, { children: [
1645
+ /* @__PURE__ */ jsx32(
1415
1646
  SearchInput,
1416
1647
  {
1417
1648
  placeholder: formatMessage(filter_messages_default.placeholder),
@@ -1423,25 +1654,25 @@ var FilteredDecisionList = (props) => {
1423
1654
  }
1424
1655
  }
1425
1656
  ),
1426
- isGrouped && query.length === 0 ? /* @__PURE__ */ jsx29(GroupedDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ jsxs6(Fragment2, { children: [
1427
- query.length > 0 && /* @__PURE__ */ jsx29(Header2, { as: "h2", title: formatMessage(filter_messages_default.results), className: "m-t-4" }),
1657
+ isGrouped && query.length === 0 ? /* @__PURE__ */ jsx32(GroupedDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ jsxs8(Fragment4, { children: [
1658
+ query.length > 0 && /* @__PURE__ */ jsx32(Header3, { as: "h2", title: formatMessage(filter_messages_default.results), className: "m-t-4" }),
1428
1659
  filteredOptions.length > 0 ? renderDecisionList2({
1429
1660
  control,
1430
1661
  className: query.length === 0 ? "m-t-3" : "",
1431
1662
  options: filteredOptions
1432
- }) : /* @__PURE__ */ jsx29("p", { children: formatMessage(filter_messages_default.noResults) })
1663
+ }) : /* @__PURE__ */ jsx32("p", { children: formatMessage(filter_messages_default.noResults) })
1433
1664
  ] })
1434
1665
  ] });
1435
1666
  };
1436
1667
 
1437
1668
  // ../renderers/src/DecisionRenderer/DecisionRenderer.tsx
1438
- import { Fragment as Fragment3, jsx as jsx30 } from "react/jsx-runtime";
1669
+ import { Fragment as Fragment5, jsx as jsx33 } from "react/jsx-runtime";
1439
1670
  var DecisionRenderer = {
1440
1671
  canRenderType: "decision",
1441
- render: (props) => /* @__PURE__ */ jsx30(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList }))
1672
+ render: (props) => /* @__PURE__ */ jsx33(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList }))
1442
1673
  };
1443
1674
  var renderDecisionList = ({ options, control }) => {
1444
- return /* @__PURE__ */ jsx30(Fragment3, { children: options.map((_a) => {
1675
+ return /* @__PURE__ */ jsx33(Fragment5, { children: options.map((_a) => {
1445
1676
  var _b = _a, { onClick } = _b, rest = __objRest(_b, ["onClick"]);
1446
1677
  const {
1447
1678
  description,
@@ -1454,8 +1685,8 @@ var renderDecisionList = ({ options, control }) => {
1454
1685
  supportingValues,
1455
1686
  tags
1456
1687
  } = rest;
1457
- return /* @__PURE__ */ jsx30(
1458
- ListItem5,
1688
+ return /* @__PURE__ */ jsx33(
1689
+ ListItem7,
1459
1690
  {
1460
1691
  title: itemTitle,
1461
1692
  subtitle: description,
@@ -1466,7 +1697,7 @@ var renderDecisionList = ({ options, control }) => {
1466
1697
  media: getMedia(media, shouldUseAvatar(control, tags)),
1467
1698
  prompt: getInlineAlert(inlineAlert),
1468
1699
  additionalInfo: additionalText ? getAdditionalInfo({ text: additionalText }) : void 0,
1469
- control: href ? /* @__PURE__ */ jsx30(ListItem5.Navigation, { href, target: "_blank" }) : /* @__PURE__ */ jsx30(ListItem5.Navigation, { onClick })
1700
+ control: href ? /* @__PURE__ */ jsx33(ListItem7.Navigation, { href, target: "_blank" }) : /* @__PURE__ */ jsx33(ListItem7.Navigation, { onClick })
1470
1701
  },
1471
1702
  JSON.stringify(rest)
1472
1703
  );
@@ -1476,7 +1707,7 @@ var DecisionRenderer_default = DecisionRenderer;
1476
1707
 
1477
1708
  // ../renderers/src/DividerRenderer.tsx
1478
1709
  import { Divider } from "@transferwise/components";
1479
- import { jsx as jsx31 } from "react/jsx-runtime";
1710
+ import { jsx as jsx34 } from "react/jsx-runtime";
1480
1711
  var mapControlToLevel = (control) => {
1481
1712
  switch (control) {
1482
1713
  case "section":
@@ -1489,16 +1720,16 @@ var mapControlToLevel = (control) => {
1489
1720
  };
1490
1721
  var DividerRenderer = {
1491
1722
  canRenderType: "divider",
1492
- render: ({ margin, control }) => /* @__PURE__ */ jsx31(Divider, { className: `m-t-0 d-block ${getMargin(margin)}`, level: mapControlToLevel(control) })
1723
+ render: ({ margin, control }) => /* @__PURE__ */ jsx34(Divider, { className: `m-t-0 d-block ${getMargin(margin)}`, level: mapControlToLevel(control) })
1493
1724
  };
1494
1725
  var DividerRenderer_default = DividerRenderer;
1495
1726
 
1496
1727
  // ../renderers/src/ExternalConfirmationRenderer.tsx
1497
- import { Button as Button3, Markdown as Markdown2, Modal } from "@transferwise/components";
1728
+ import { Button as Button4, Markdown as Markdown2, Modal } from "@transferwise/components";
1498
1729
 
1499
1730
  // ../renderers/src/messages/external-confirmation.messages.ts
1500
- import { defineMessages as defineMessages5 } from "react-intl";
1501
- var external_confirmation_messages_default = defineMessages5({
1731
+ import { defineMessages as defineMessages6 } from "react-intl";
1732
+ var external_confirmation_messages_default = defineMessages6({
1502
1733
  title: {
1503
1734
  id: "df.wise.ExternalConfirmation.title",
1504
1735
  defaultMessage: "Please confirm",
@@ -1522,9 +1753,9 @@ var external_confirmation_messages_default = defineMessages5({
1522
1753
  });
1523
1754
 
1524
1755
  // ../renderers/src/ExternalConfirmationRenderer.tsx
1525
- import { useIntl as useIntl5 } from "react-intl";
1526
- import { useEffect as useEffect4 } from "react";
1527
- import { Fragment as Fragment4, jsx as jsx32, jsxs as jsxs7 } from "react/jsx-runtime";
1756
+ import { useIntl as useIntl6 } from "react-intl";
1757
+ import { useEffect as useEffect6 } from "react";
1758
+ import { Fragment as Fragment6, jsx as jsx35, jsxs as jsxs9 } from "react/jsx-runtime";
1528
1759
  var ExternalConfirmationRenderer = {
1529
1760
  canRenderType: "external-confirmation",
1530
1761
  render: ExternalConfirmationRendererComponent
@@ -1535,20 +1766,20 @@ function ExternalConfirmationRendererComponent({
1535
1766
  open,
1536
1767
  onCancel
1537
1768
  }) {
1538
- const { formatMessage } = useIntl5();
1539
- useEffect4(() => {
1769
+ const { formatMessage } = useIntl6();
1770
+ useEffect6(() => {
1540
1771
  open();
1541
1772
  }, []);
1542
- return /* @__PURE__ */ jsx32(
1773
+ return /* @__PURE__ */ jsx35(
1543
1774
  Modal,
1544
1775
  {
1545
1776
  open: visible,
1546
1777
  title: formatMessage(external_confirmation_messages_default.title),
1547
- body: /* @__PURE__ */ jsxs7(Fragment4, { children: [
1548
- /* @__PURE__ */ jsx32(Markdown2, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin(url) }) }),
1549
- /* @__PURE__ */ jsx32("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs7("div", { className: "df-box-renderer-width-lg", children: [
1550
- /* @__PURE__ */ jsx32(
1551
- Button3,
1778
+ body: /* @__PURE__ */ jsxs9(Fragment6, { children: [
1779
+ /* @__PURE__ */ jsx35(Markdown2, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin(url) }) }),
1780
+ /* @__PURE__ */ jsx35("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs9("div", { className: "df-box-renderer-width-lg", children: [
1781
+ /* @__PURE__ */ jsx35(
1782
+ Button4,
1552
1783
  {
1553
1784
  v2: true,
1554
1785
  block: true,
@@ -1561,7 +1792,7 @@ function ExternalConfirmationRendererComponent({
1561
1792
  children: formatMessage(external_confirmation_messages_default.open)
1562
1793
  }
1563
1794
  ),
1564
- /* @__PURE__ */ jsx32(Button3, { v2: true, block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onCancel, children: formatMessage(external_confirmation_messages_default.cancel) })
1795
+ /* @__PURE__ */ jsx35(Button4, { v2: true, block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onCancel, children: formatMessage(external_confirmation_messages_default.cancel) })
1565
1796
  ] }) })
1566
1797
  ] }),
1567
1798
  onClose: onCancel
@@ -1578,27 +1809,27 @@ function getOrigin(url) {
1578
1809
  var ExternalConfirmationRenderer_default = ExternalConfirmationRenderer;
1579
1810
 
1580
1811
  // ../renderers/src/FormRenderer.tsx
1581
- import { jsx as jsx33 } from "react/jsx-runtime";
1812
+ import { jsx as jsx36 } from "react/jsx-runtime";
1582
1813
  var FormRenderer = {
1583
1814
  canRenderType: "form",
1584
- render: ({ children, margin }) => /* @__PURE__ */ jsx33("div", { className: getMargin(margin), children })
1815
+ render: ({ children, margin }) => /* @__PURE__ */ jsx36("div", { className: getMargin(margin), children })
1585
1816
  };
1586
1817
  var FormRenderer_default = FormRenderer;
1587
1818
 
1588
1819
  // ../renderers/src/FormSectionRenderer.tsx
1589
- import { Header as Header3 } from "@transferwise/components";
1590
- import { jsx as jsx34, jsxs as jsxs8 } from "react/jsx-runtime";
1820
+ import { Header as Header4 } from "@transferwise/components";
1821
+ import { jsx as jsx37, jsxs as jsxs10 } from "react/jsx-runtime";
1591
1822
  var FormSectionRenderer = {
1592
1823
  canRenderType: "form-section",
1593
- render: ({ title, description, children }) => /* @__PURE__ */ jsxs8("fieldset", { children: [
1594
- title && /* @__PURE__ */ jsx34(
1595
- Header3,
1824
+ render: ({ title, description, children }) => /* @__PURE__ */ jsxs10("fieldset", { children: [
1825
+ title && /* @__PURE__ */ jsx37(
1826
+ Header4,
1596
1827
  {
1597
1828
  as: "h2",
1598
1829
  title
1599
1830
  }
1600
1831
  ),
1601
- description && /* @__PURE__ */ jsx34("p", { children: description }),
1832
+ description && /* @__PURE__ */ jsx37("p", { children: description }),
1602
1833
  children
1603
1834
  ] })
1604
1835
  };
@@ -1606,18 +1837,18 @@ var FormSectionRenderer_default = FormSectionRenderer;
1606
1837
 
1607
1838
  // ../renderers/src/HeadingRenderer.tsx
1608
1839
  import { Display, Title } from "@transferwise/components";
1609
- import { jsx as jsx35 } from "react/jsx-runtime";
1840
+ import { jsx as jsx38 } from "react/jsx-runtime";
1610
1841
  var HeadingRenderer = {
1611
1842
  canRenderType: "heading",
1612
- render: (props) => /* @__PURE__ */ jsx35(Heading, __spreadValues({}, props))
1843
+ render: (props) => /* @__PURE__ */ jsx38(Heading, __spreadValues({}, props))
1613
1844
  };
1614
1845
  function Heading(props) {
1615
1846
  const { text, size, align, margin, control } = props;
1616
1847
  const className = getTextAlignmentAndMargin({ align, margin });
1617
- return control === "display" ? /* @__PURE__ */ jsx35(DisplayHeading, { size, text, className }) : /* @__PURE__ */ jsx35(StandardHeading, { size, text, className });
1848
+ return control === "display" ? /* @__PURE__ */ jsx38(DisplayHeading, { size, text, className }) : /* @__PURE__ */ jsx38(StandardHeading, { size, text, className });
1618
1849
  }
1619
1850
  function DisplayHeading({ size, text, className }) {
1620
- return /* @__PURE__ */ jsx35(Display, { type: getDisplayType(size), className, children: text });
1851
+ return /* @__PURE__ */ jsx38(Display, { type: getDisplayType(size), className, children: text });
1621
1852
  }
1622
1853
  var getDisplayType = (size) => {
1623
1854
  switch (size) {
@@ -1633,7 +1864,7 @@ var getDisplayType = (size) => {
1633
1864
  }
1634
1865
  };
1635
1866
  function StandardHeading({ size, text, className }) {
1636
- return /* @__PURE__ */ jsx35(Title, { type: getTitleTypeBySize(size), className, children: text });
1867
+ return /* @__PURE__ */ jsx38(Title, { type: getTitleTypeBySize(size), className, children: text });
1637
1868
  }
1638
1869
  var getTitleTypeBySize = (size) => {
1639
1870
  var _a;
@@ -1650,7 +1881,7 @@ var HeadingRenderer_default = HeadingRenderer;
1650
1881
 
1651
1882
  // ../renderers/src/ImageRenderer/UrlImage.tsx
1652
1883
  import { Image } from "@transferwise/components";
1653
- import { useEffect as useEffect5, useState as useState5 } from "react";
1884
+ import { useEffect as useEffect7, useState as useState6 } from "react";
1654
1885
 
1655
1886
  // ../renderers/src/utils/api-utils.ts
1656
1887
  function isRelativePath(url = "") {
@@ -1660,7 +1891,7 @@ function isRelativePath(url = "") {
1660
1891
  }
1661
1892
 
1662
1893
  // ../renderers/src/ImageRenderer/UrlImage.tsx
1663
- import { jsx as jsx36 } from "react/jsx-runtime";
1894
+ import { jsx as jsx39 } from "react/jsx-runtime";
1664
1895
  function UrlImage({
1665
1896
  accessibilityDescription,
1666
1897
  align,
@@ -1669,13 +1900,13 @@ function UrlImage({
1669
1900
  uri,
1670
1901
  httpClient
1671
1902
  }) {
1672
- const [imageSource, setImageSource] = useState5("");
1673
- useEffect5(() => {
1903
+ const [imageSource, setImageSource] = useState6("");
1904
+ useEffect7(() => {
1674
1905
  if (!uri.startsWith("urn:")) {
1675
1906
  void getImageSource(httpClient, uri).then(setImageSource);
1676
1907
  }
1677
1908
  }, [uri, httpClient]);
1678
- return /* @__PURE__ */ jsx36("div", { className: `df-image ${align} ${size || "md"} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx36(
1909
+ return /* @__PURE__ */ jsx39("div", { className: `df-image ${align} ${size || "md"} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx39(
1679
1910
  Image,
1680
1911
  {
1681
1912
  className: "df-reserve-space",
@@ -1719,7 +1950,7 @@ var getImageSource = async (httpClient, imageUrl) => {
1719
1950
  };
1720
1951
 
1721
1952
  // ../renderers/src/ImageRenderer/UrnFlagImage.tsx
1722
- import { jsx as jsx37 } from "react/jsx-runtime";
1953
+ import { jsx as jsx40 } from "react/jsx-runtime";
1723
1954
  var maxFlagSize = 600;
1724
1955
  function UrnFlagImage({
1725
1956
  accessibilityDescription,
@@ -1728,7 +1959,7 @@ function UrnFlagImage({
1728
1959
  size,
1729
1960
  uri
1730
1961
  }) {
1731
- return /* @__PURE__ */ jsx37("div", { className: `df-image ${align} ${size || "md"} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx37(UrnFlag, { size: maxFlagSize, urn: uri, accessibilityDescription }) });
1962
+ return /* @__PURE__ */ jsx40("div", { className: `df-image ${align} ${size || "md"} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx40(UrnFlag, { size: maxFlagSize, urn: uri, accessibilityDescription }) });
1732
1963
  }
1733
1964
 
1734
1965
  // ../renderers/src/ImageRenderer/UrnIllustration.tsx
@@ -1736,7 +1967,7 @@ import {
1736
1967
  Illustration,
1737
1968
  isIllustrationSupport3D
1738
1969
  } from "@wise/art";
1739
- import { useState as useState6 } from "react";
1970
+ import { useState as useState7 } from "react";
1740
1971
 
1741
1972
  // ../renderers/src/ImageRenderer/isAnimated.ts
1742
1973
  var isAnimated = (uri) => {
@@ -1747,7 +1978,7 @@ var isAnimated = (uri) => {
1747
1978
  // ../renderers/src/ImageRenderer/SafeIllustration3D.tsx
1748
1979
  import { Illustration3D } from "@wise/art";
1749
1980
  import { Component } from "react";
1750
- import { jsx as jsx38 } from "react/jsx-runtime";
1981
+ import { jsx as jsx41 } from "react/jsx-runtime";
1751
1982
  var Illustration3DErrorBoundary = class extends Component {
1752
1983
  constructor(props) {
1753
1984
  super(props);
@@ -1771,12 +2002,12 @@ var SafeIllustration3D = ({
1771
2002
  size,
1772
2003
  onError
1773
2004
  }) => {
1774
- return /* @__PURE__ */ jsx38(Illustration3DErrorBoundary, { onError, children: /* @__PURE__ */ jsx38(Illustration3D, { name, size }) });
2005
+ return /* @__PURE__ */ jsx41(Illustration3DErrorBoundary, { onError, children: /* @__PURE__ */ jsx41(Illustration3D, { name, size }) });
1775
2006
  };
1776
2007
  var SafeIllustration3D_default = SafeIllustration3D;
1777
2008
 
1778
2009
  // ../renderers/src/ImageRenderer/UrnIllustration.tsx
1779
- import { jsx as jsx39 } from "react/jsx-runtime";
2010
+ import { jsx as jsx42 } from "react/jsx-runtime";
1780
2011
  var urnPrefix = "urn:wise:illustrations:";
1781
2012
  var isUrnIllustration = (uri) => uri.startsWith(urnPrefix);
1782
2013
  function UrnIllustration({
@@ -1786,12 +2017,12 @@ function UrnIllustration({
1786
2017
  size,
1787
2018
  uri
1788
2019
  }) {
1789
- const [has3DFailed, setHas3DFailed] = useState6(false);
2020
+ const [has3DFailed, setHas3DFailed] = useState7(false);
1790
2021
  const illustrationSize = getIllustrationSize(size);
1791
2022
  const illustrationName = getIllustrationName(uri);
1792
2023
  const illustration3DName = getIllustration3DName(uri);
1793
2024
  if (illustration3DName && isAnimated(uri) && !has3DFailed) {
1794
- return /* @__PURE__ */ jsx39("div", { className: `df-image ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx39(
2025
+ return /* @__PURE__ */ jsx42("div", { className: `df-image ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx42(
1795
2026
  SafeIllustration3D_default,
1796
2027
  {
1797
2028
  name: illustration3DName,
@@ -1800,7 +2031,7 @@ function UrnIllustration({
1800
2031
  }
1801
2032
  ) });
1802
2033
  }
1803
- return /* @__PURE__ */ jsx39("div", { className: `df-image ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx39(
2034
+ return /* @__PURE__ */ jsx42("div", { className: `df-image ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx42(
1804
2035
  Illustration,
1805
2036
  {
1806
2037
  className: "df-illustration",
@@ -1820,32 +2051,32 @@ var getIllustration3DName = (uri) => {
1820
2051
  };
1821
2052
 
1822
2053
  // ../renderers/src/ImageRenderer/UrnImage.tsx
1823
- import { jsx as jsx40 } from "react/jsx-runtime";
2054
+ import { jsx as jsx43 } from "react/jsx-runtime";
1824
2055
  var isUrnImage = (uri) => uri.startsWith("urn:");
1825
2056
  function UrnImage(props) {
1826
2057
  const { uri } = props;
1827
2058
  if (isUrnIllustration(uri)) {
1828
- return /* @__PURE__ */ jsx40(UrnIllustration, __spreadValues({}, props));
2059
+ return /* @__PURE__ */ jsx43(UrnIllustration, __spreadValues({}, props));
1829
2060
  }
1830
2061
  if (isUrnFlag(uri)) {
1831
- return /* @__PURE__ */ jsx40(UrnFlagImage, __spreadValues({}, props));
2062
+ return /* @__PURE__ */ jsx43(UrnFlagImage, __spreadValues({}, props));
1832
2063
  }
1833
2064
  return null;
1834
2065
  }
1835
2066
 
1836
2067
  // ../renderers/src/ImageRenderer/ImageRenderer.tsx
1837
- import { jsx as jsx41 } from "react/jsx-runtime";
2068
+ import { jsx as jsx44 } from "react/jsx-runtime";
1838
2069
  var ImageRenderer = {
1839
2070
  canRenderType: "image",
1840
- render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */ jsx41(UrnImage, __spreadValues({}, props)) : /* @__PURE__ */ jsx41(UrlImage, __spreadValues({}, props))
2071
+ render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */ jsx44(UrnImage, __spreadValues({}, props)) : /* @__PURE__ */ jsx44(UrlImage, __spreadValues({}, props))
1841
2072
  };
1842
2073
 
1843
2074
  // ../renderers/src/ImageRenderer/index.tsx
1844
2075
  var ImageRenderer_default = ImageRenderer;
1845
2076
 
1846
2077
  // ../renderers/src/InstructionsRenderer.tsx
1847
- import { Header as Header4, InstructionsList } from "@transferwise/components";
1848
- import { jsx as jsx42, jsxs as jsxs9 } from "react/jsx-runtime";
2078
+ import { Header as Header5, InstructionsList } from "@transferwise/components";
2079
+ import { jsx as jsx45, jsxs as jsxs11 } from "react/jsx-runtime";
1849
2080
  var doContext = ["positive", "neutral"];
1850
2081
  var dontContext = ["warning", "negative"];
1851
2082
  var InstructionsRenderer = {
@@ -1853,16 +2084,16 @@ var InstructionsRenderer = {
1853
2084
  render: ({ items, margin, title }) => {
1854
2085
  const dos = items.filter((item) => doContext.includes(item.context)).map(({ text }) => text);
1855
2086
  const donts = items.filter((item) => dontContext.includes(item.context)).map(({ text }) => text);
1856
- return /* @__PURE__ */ jsxs9("div", { className: getMargin(margin), children: [
1857
- title ? /* @__PURE__ */ jsx42(Header4, { title }) : null,
1858
- /* @__PURE__ */ jsx42(InstructionsList, { dos, donts })
2087
+ return /* @__PURE__ */ jsxs11("div", { className: getMargin(margin), children: [
2088
+ title ? /* @__PURE__ */ jsx45(Header5, { title }) : null,
2089
+ /* @__PURE__ */ jsx45(InstructionsList, { dos, donts })
1859
2090
  ] });
1860
2091
  }
1861
2092
  };
1862
2093
  var InstructionsRenderer_default = InstructionsRenderer;
1863
2094
 
1864
2095
  // ../renderers/src/IntegerInputRenderer.tsx
1865
- import { Input, InputGroup } from "@transferwise/components";
2096
+ import { Input as Input2, InputGroup as InputGroup2 } from "@transferwise/components";
1866
2097
 
1867
2098
  // ../renderers/src/utils/input-utils.ts
1868
2099
  var onWheel = (event) => {
@@ -1887,7 +2118,7 @@ function pick(obj, ...keys) {
1887
2118
  }
1888
2119
 
1889
2120
  // ../renderers/src/IntegerInputRenderer.tsx
1890
- import { jsx as jsx43 } from "react/jsx-runtime";
2121
+ import { jsx as jsx46 } from "react/jsx-runtime";
1891
2122
  var IntegerInputRenderer = {
1892
2123
  canRenderType: "input-integer",
1893
2124
  render: (props) => {
@@ -1902,7 +2133,7 @@ var IntegerInputRenderer = {
1902
2133
  "maximum",
1903
2134
  "minimum"
1904
2135
  );
1905
- return /* @__PURE__ */ jsx43(
2136
+ return /* @__PURE__ */ jsx46(
1906
2137
  FieldInput_default,
1907
2138
  {
1908
2139
  id,
@@ -1910,8 +2141,8 @@ var IntegerInputRenderer = {
1910
2141
  description,
1911
2142
  validation: validationState,
1912
2143
  help,
1913
- children: /* @__PURE__ */ jsx43(InputGroup, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx43(
1914
- Input,
2144
+ children: /* @__PURE__ */ jsx46(InputGroup2, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx46(
2145
+ Input2,
1915
2146
  __spreadValues({
1916
2147
  id,
1917
2148
  name: id,
@@ -1933,55 +2164,12 @@ var IntegerInputRenderer = {
1933
2164
  var IntegerInputRenderer_default = IntegerInputRenderer;
1934
2165
 
1935
2166
  // ../renderers/src/ListRenderer.tsx
1936
- import { ListItem as ListItem7 } from "@transferwise/components";
1937
-
1938
- // ../renderers/src/utils/listItem/getCTAControl.tsx
1939
- import { ListItem as ListItem6 } from "@transferwise/components";
1940
- import { jsx as jsx44 } from "react/jsx-runtime";
1941
- var getCTAControl = (callToAction, { ctaSecondary, fullyInteractive }) => {
1942
- if (!callToAction) {
1943
- return void 0;
1944
- }
1945
- const { accessibilityDescription, href, title, context, onClick } = callToAction;
1946
- const { priority, sentiment } = getPriorityAndSentiment(ctaSecondary, context);
1947
- if (href) {
1948
- return /* @__PURE__ */ jsx44(
1949
- ListItem6.Button,
1950
- {
1951
- href,
1952
- target: "_blank",
1953
- rel: "noopener noreferrer",
1954
- partiallyInteractive: !fullyInteractive,
1955
- priority,
1956
- "aria-description": accessibilityDescription,
1957
- sentiment,
1958
- children: title
1959
- }
1960
- );
1961
- }
1962
- return /* @__PURE__ */ jsx44(
1963
- ListItem6.Button,
1964
- {
1965
- "aria-description": accessibilityDescription,
1966
- partiallyInteractive: !fullyInteractive,
1967
- priority,
1968
- sentiment,
1969
- onClick,
1970
- children: title
1971
- }
1972
- );
1973
- };
1974
- var getPriorityAndSentiment = (ctaSecondary, context) => {
1975
- if (context === "negative") {
1976
- return { priority: "secondary", sentiment: "negative" };
1977
- }
1978
- return { priority: ctaSecondary ? "secondary" : "secondary-neutral", sentiment: "default" };
1979
- };
2167
+ import { ListItem as ListItem8 } from "@transferwise/components";
1980
2168
 
1981
2169
  // ../renderers/src/components/Header.tsx
1982
2170
  import { Header as DSHeader } from "@transferwise/components";
1983
- import { jsx as jsx45 } from "react/jsx-runtime";
1984
- var Header5 = ({ title, callToAction }) => (title || callToAction) && /* @__PURE__ */ jsx45(DSHeader, { title: title != null ? title : "", action: getHeaderAction(callToAction) });
2171
+ import { jsx as jsx47 } from "react/jsx-runtime";
2172
+ var Header = ({ title, callToAction }) => (title || callToAction) && /* @__PURE__ */ jsx47(DSHeader, { title: title != null ? title : "", action: getHeaderAction(callToAction) });
1985
2173
  var getHeaderAction = (callToAction) => {
1986
2174
  if (!callToAction) {
1987
2175
  return void 0;
@@ -2003,11 +2191,11 @@ var getHeaderAction = (callToAction) => {
2003
2191
  };
2004
2192
 
2005
2193
  // ../renderers/src/ListRenderer.tsx
2006
- import { jsx as jsx46, jsxs as jsxs10 } from "react/jsx-runtime";
2194
+ import { jsx as jsx48, jsxs as jsxs12 } from "react/jsx-runtime";
2007
2195
  var ListRenderer = {
2008
2196
  canRenderType: "list",
2009
- render: ({ callToAction, control, margin, items, tags, title }) => /* @__PURE__ */ jsxs10("div", { className: getMargin(margin), children: [
2010
- /* @__PURE__ */ jsx46(Header5, { title, callToAction }),
2197
+ render: ({ callToAction, control, margin, items, tags, title }) => /* @__PURE__ */ jsxs12("div", { className: getMargin(margin), children: [
2198
+ /* @__PURE__ */ jsx48(Header, { title, callToAction }),
2011
2199
  items.map((item) => {
2012
2200
  var _a, _b;
2013
2201
  const {
@@ -2024,8 +2212,8 @@ var ListRenderer = {
2024
2212
  ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
2025
2213
  fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
2026
2214
  };
2027
- return /* @__PURE__ */ jsx46(
2028
- ListItem7,
2215
+ return /* @__PURE__ */ jsx48(
2216
+ ListItem8,
2029
2217
  {
2030
2218
  title: itemTitle,
2031
2219
  subtitle: description,
@@ -2045,10 +2233,10 @@ var ListRenderer_default = ListRenderer;
2045
2233
 
2046
2234
  // ../renderers/src/LoadingIndicatorRenderer.tsx
2047
2235
  import { Loader } from "@transferwise/components";
2048
- import { jsx as jsx47 } from "react/jsx-runtime";
2236
+ import { jsx as jsx49 } from "react/jsx-runtime";
2049
2237
  var LoadingIndicatorRenderer = {
2050
2238
  canRenderType: "loading-indicator",
2051
- render: ({ margin, size }) => /* @__PURE__ */ jsx47(
2239
+ render: ({ margin, size }) => /* @__PURE__ */ jsx49(
2052
2240
  Loader,
2053
2241
  {
2054
2242
  size,
@@ -2061,10 +2249,10 @@ var LoadingIndicatorRenderer_default = LoadingIndicatorRenderer;
2061
2249
 
2062
2250
  // ../renderers/src/MarkdownRenderer.tsx
2063
2251
  import { Markdown as Markdown3 } from "@transferwise/components";
2064
- import { jsx as jsx48 } from "react/jsx-runtime";
2252
+ import { jsx as jsx50 } from "react/jsx-runtime";
2065
2253
  var MarkdownRenderer = {
2066
2254
  canRenderType: "markdown",
2067
- render: ({ content, align, margin, size }) => /* @__PURE__ */ jsx48("div", { className: getTextAlignmentAndMargin({ align, margin }), children: /* @__PURE__ */ jsx48(
2255
+ render: ({ content, align, margin, size }) => /* @__PURE__ */ jsx50("div", { className: getTextAlignmentAndMargin({ align, margin }), children: /* @__PURE__ */ jsx50(
2068
2256
  Markdown3,
2069
2257
  {
2070
2258
  className: ["xs", "sm"].includes(size) ? "np-text-body-default" : "np-text-body-large",
@@ -2076,16 +2264,16 @@ var MarkdownRenderer = {
2076
2264
  var MarkdownRenderer_default = MarkdownRenderer;
2077
2265
 
2078
2266
  // ../renderers/src/MediaRenderer.tsx
2079
- import { jsx as jsx49 } from "react/jsx-runtime";
2267
+ import { jsx as jsx51 } from "react/jsx-runtime";
2080
2268
  var MediaRenderer = {
2081
2269
  canRenderType: "media",
2082
2270
  render: (_a) => {
2083
2271
  var _b = _a, { media } = _b, rest = __objRest(_b, ["media"]);
2084
2272
  switch (media.type) {
2085
2273
  case "avatar":
2086
- return /* @__PURE__ */ jsx49(AvatarMediaRendererComponent, __spreadValues({ media }, rest));
2274
+ return /* @__PURE__ */ jsx51(AvatarMediaRendererComponent, __spreadValues({ media }, rest));
2087
2275
  case "image":
2088
- return /* @__PURE__ */ jsx49(ImageMediaRendererComponent, __spreadValues({ media }, rest));
2276
+ return /* @__PURE__ */ jsx51(ImageMediaRendererComponent, __spreadValues({ media }, rest));
2089
2277
  case "legacy":
2090
2278
  return null;
2091
2279
  }
@@ -2097,7 +2285,7 @@ var AvatarMediaRendererComponent = ({
2097
2285
  margin,
2098
2286
  size
2099
2287
  }) => {
2100
- return /* @__PURE__ */ jsx49("div", { className: `df-media-layout-avatar ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx49(Media, { media, size: mapAvatarMediaSize(size) }) });
2288
+ return /* @__PURE__ */ jsx51("div", { className: `df-media-layout-avatar ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx51(Media, { media, size: mapAvatarMediaSize(size) }) });
2101
2289
  };
2102
2290
  var ImageMediaRendererComponent = (_a) => {
2103
2291
  var _b = _a, {
@@ -2105,7 +2293,7 @@ var ImageMediaRendererComponent = (_a) => {
2105
2293
  } = _b, rest = __objRest(_b, [
2106
2294
  "media"
2107
2295
  ]);
2108
- return isUrnImage(media.uri) ? /* @__PURE__ */ jsx49(UrnImage, __spreadValues({ uri: media.uri, accessibilityDescription: media.accessibilityDescription }, rest)) : /* @__PURE__ */ jsx49(UrlImage, __spreadValues({ uri: media.uri, accessibilityDescription: media.accessibilityDescription }, rest));
2296
+ return isUrnImage(media.uri) ? /* @__PURE__ */ jsx51(UrnImage, __spreadValues({ uri: media.uri, accessibilityDescription: media.accessibilityDescription }, rest)) : /* @__PURE__ */ jsx51(UrlImage, __spreadValues({ uri: media.uri, accessibilityDescription: media.accessibilityDescription }, rest));
2109
2297
  };
2110
2298
  var mapAvatarMediaSize = (size) => {
2111
2299
  switch (size) {
@@ -2123,20 +2311,20 @@ var mapAvatarMediaSize = (size) => {
2123
2311
  };
2124
2312
 
2125
2313
  // ../renderers/src/ModalLayoutRenderer.tsx
2126
- import { Button as Button4, Modal as Modal2 } from "@transferwise/components";
2127
- import { useState as useState7 } from "react";
2128
- import { jsx as jsx50, jsxs as jsxs11 } from "react/jsx-runtime";
2314
+ import { Button as Button5, Modal as Modal2 } from "@transferwise/components";
2315
+ import { useState as useState8 } from "react";
2316
+ import { jsx as jsx52, jsxs as jsxs13 } from "react/jsx-runtime";
2129
2317
  var ModalLayoutRenderer = {
2130
2318
  canRenderType: "modal-layout",
2131
- render: (props) => /* @__PURE__ */ jsx50(DFModal, __spreadValues({}, props))
2319
+ render: (props) => /* @__PURE__ */ jsx52(DFModal, __spreadValues({}, props))
2132
2320
  };
2133
2321
  var ModalLayoutRenderer_default = ModalLayoutRenderer;
2134
2322
  function DFModal({ content, margin, trigger }) {
2135
- const [visible, setVisible] = useState7(false);
2323
+ const [visible, setVisible] = useState8(false);
2136
2324
  const { children, title } = content;
2137
- return /* @__PURE__ */ jsxs11("div", { className: getMargin(margin), children: [
2138
- /* @__PURE__ */ jsx50(Button4, { v2: true, priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
2139
- /* @__PURE__ */ jsx50(
2325
+ return /* @__PURE__ */ jsxs13("div", { className: getMargin(margin), children: [
2326
+ /* @__PURE__ */ jsx52(Button5, { v2: true, priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
2327
+ /* @__PURE__ */ jsx52(
2140
2328
  Modal2,
2141
2329
  {
2142
2330
  scroll: "content",
@@ -2152,19 +2340,19 @@ function DFModal({ content, margin, trigger }) {
2152
2340
 
2153
2341
  // ../renderers/src/ModalRenderer.tsx
2154
2342
  import { Modal as Modal3 } from "@transferwise/components";
2155
- import { jsx as jsx51 } from "react/jsx-runtime";
2343
+ import { jsx as jsx53 } from "react/jsx-runtime";
2156
2344
  var ModalRenderer = {
2157
2345
  canRenderType: "modal",
2158
2346
  render: ({ title, children, open, onClose }) => {
2159
- return /* @__PURE__ */ jsx51(Modal3, { open, title, body: children, onClose });
2347
+ return /* @__PURE__ */ jsx53(Modal3, { open, title, body: children, onClose });
2160
2348
  }
2161
2349
  };
2162
2350
 
2163
2351
  // ../renderers/src/MoneyInputRenderer.tsx
2164
2352
  import { MoneyInput } from "@transferwise/components";
2165
- import { useEffect as useEffect6 } from "react";
2166
- import { useIntl as useIntl6 } from "react-intl";
2167
- import { jsx as jsx52 } from "react/jsx-runtime";
2353
+ import { useEffect as useEffect8 } from "react";
2354
+ import { useIntl as useIntl7 } from "react-intl";
2355
+ import { jsx as jsx54 } from "react/jsx-runtime";
2168
2356
  var groupingTags2 = Object.keys(group_messages_default).filter((key) => key !== "all");
2169
2357
  var MoneyInputRenderer = {
2170
2358
  canRenderType: "money-input",
@@ -2185,13 +2373,13 @@ function MoneyInputRendererComponent(props) {
2185
2373
  onAmountChange,
2186
2374
  onCurrencyChange
2187
2375
  } = props;
2188
- useEffect6(() => {
2376
+ useEffect8(() => {
2189
2377
  if (!isValidIndex(selectedCurrencyIndex, currencies.length)) {
2190
2378
  onCurrencyChange(0);
2191
2379
  }
2192
2380
  }, [selectedCurrencyIndex, onCurrencyChange, currencies.length]);
2193
- const { formatMessage } = useIntl6();
2194
- return /* @__PURE__ */ jsx52(
2381
+ const { formatMessage } = useIntl7();
2382
+ return /* @__PURE__ */ jsx54(
2195
2383
  FieldInput_default,
2196
2384
  {
2197
2385
  id: uid,
@@ -2199,7 +2387,7 @@ function MoneyInputRendererComponent(props) {
2199
2387
  description,
2200
2388
  validation: validationState,
2201
2389
  help,
2202
- children: /* @__PURE__ */ jsx52(
2390
+ children: /* @__PURE__ */ jsx54(
2203
2391
  MoneyInput,
2204
2392
  {
2205
2393
  amount: parseFloatOrNull(amountValue),
@@ -2261,8 +2449,8 @@ function assertCurrencyCodeIsString(currencyCode) {
2261
2449
  }
2262
2450
 
2263
2451
  // ../renderers/src/MultiSelectInputRenderer/InlineComponent.tsx
2264
- import { ListItem as ListItem8 } from "@transferwise/components";
2265
- import { jsx as jsx53 } from "react/jsx-runtime";
2452
+ import { ListItem as ListItem9 } from "@transferwise/components";
2453
+ import { jsx as jsx55 } from "react/jsx-runtime";
2266
2454
  function InlineComponent(props) {
2267
2455
  const {
2268
2456
  id,
@@ -2275,7 +2463,7 @@ function InlineComponent(props) {
2275
2463
  validationState,
2276
2464
  onSelect
2277
2465
  } = props;
2278
- return /* @__PURE__ */ jsx53(
2466
+ return /* @__PURE__ */ jsx55(
2279
2467
  FieldInput_default,
2280
2468
  {
2281
2469
  id,
@@ -2296,8 +2484,8 @@ function InlineComponent(props) {
2296
2484
  childrenProps
2297
2485
  } = option;
2298
2486
  const key = (_a = childrenProps == null ? void 0 : childrenProps.uid) != null ? _a : index;
2299
- return /* @__PURE__ */ jsx53(
2300
- ListItem8,
2487
+ return /* @__PURE__ */ jsx55(
2488
+ ListItem9,
2301
2489
  {
2302
2490
  title: itemTitle,
2303
2491
  subtitle,
@@ -2305,10 +2493,10 @@ function InlineComponent(props) {
2305
2493
  valueSubtitle: supportingValues == null ? void 0 : supportingValues.subvalue,
2306
2494
  media: getMedia(media, false),
2307
2495
  prompt: getInlineAlert(inlineAlert),
2308
- additionalInfo: additionalText ? /* @__PURE__ */ jsx53(ListItem8.AdditionalInfo, { children: additionalText }) : void 0,
2496
+ additionalInfo: additionalText ? /* @__PURE__ */ jsx55(ListItem9.AdditionalInfo, { children: additionalText }) : void 0,
2309
2497
  disabled: disabled || optionDisabled,
2310
- control: /* @__PURE__ */ jsx53(
2311
- ListItem8.Checkbox,
2498
+ control: /* @__PURE__ */ jsx55(
2499
+ ListItem9.Checkbox,
2312
2500
  {
2313
2501
  checked: selectedIndices.includes(index),
2314
2502
  onChange: (e) => {
@@ -2327,12 +2515,12 @@ function InlineComponent(props) {
2327
2515
 
2328
2516
  // ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
2329
2517
  import { SelectInput, SelectInputOptionContent } from "@transferwise/components";
2330
- import { useState as useState8 } from "react";
2331
- import { useIntl as useIntl7 } from "react-intl";
2518
+ import { useState as useState9 } from "react";
2519
+ import { useIntl as useIntl8 } from "react-intl";
2332
2520
 
2333
2521
  // ../renderers/src/messages/multi-select.messages.ts
2334
- import { defineMessages as defineMessages6 } from "react-intl";
2335
- var multi_select_messages_default = defineMessages6({
2522
+ import { defineMessages as defineMessages7 } from "react-intl";
2523
+ var multi_select_messages_default = defineMessages7({
2336
2524
  summary: {
2337
2525
  id: "df.wise.MultiSelect.summary",
2338
2526
  defaultMessage: "{first} and {count} more",
@@ -2341,10 +2529,10 @@ var multi_select_messages_default = defineMessages6({
2341
2529
  });
2342
2530
 
2343
2531
  // ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
2344
- import { jsx as jsx54 } from "react/jsx-runtime";
2532
+ import { jsx as jsx56 } from "react/jsx-runtime";
2345
2533
  function DefaultComponent(props) {
2346
- const { formatMessage } = useIntl7();
2347
- const [stagedIndices, setStagedIndices] = useState8();
2534
+ const { formatMessage } = useIntl8();
2535
+ const [stagedIndices, setStagedIndices] = useState9();
2348
2536
  const {
2349
2537
  id,
2350
2538
  autoComplete,
@@ -2382,12 +2570,12 @@ function DefaultComponent(props) {
2382
2570
  const contentProps = {
2383
2571
  title: option.title,
2384
2572
  description: option.description,
2385
- icon: /* @__PURE__ */ jsx54(OptionMedia, { media: option.media, preferAvatar: false })
2573
+ icon: /* @__PURE__ */ jsx56(OptionMedia, { media: option.media, preferAvatar: false })
2386
2574
  };
2387
- return /* @__PURE__ */ jsx54(SelectInputOptionContent, __spreadValues({}, contentProps));
2575
+ return /* @__PURE__ */ jsx56(SelectInputOptionContent, __spreadValues({}, contentProps));
2388
2576
  };
2389
2577
  const extraProps = { autoComplete };
2390
- return /* @__PURE__ */ jsx54(
2578
+ return /* @__PURE__ */ jsx56(
2391
2579
  FieldInput_default,
2392
2580
  {
2393
2581
  id,
@@ -2395,7 +2583,7 @@ function DefaultComponent(props) {
2395
2583
  help,
2396
2584
  description,
2397
2585
  validation: validationState,
2398
- children: /* @__PURE__ */ jsx54(
2586
+ children: /* @__PURE__ */ jsx56(
2399
2587
  SelectInput,
2400
2588
  __spreadValues({
2401
2589
  id,
@@ -2435,7 +2623,7 @@ function DefaultComponent(props) {
2435
2623
 
2436
2624
  // ../renderers/src/MultiSelectInputRenderer/InlineCheckboxComponent.tsx
2437
2625
  import { Checkbox as Checkbox2 } from "@transferwise/components";
2438
- import { jsx as jsx55 } from "react/jsx-runtime";
2626
+ import { jsx as jsx57 } from "react/jsx-runtime";
2439
2627
  function InlineCheckboxComponent(props) {
2440
2628
  const {
2441
2629
  id,
@@ -2448,7 +2636,7 @@ function InlineCheckboxComponent(props) {
2448
2636
  validationState,
2449
2637
  onSelect
2450
2638
  } = props;
2451
- return /* @__PURE__ */ jsx55(
2639
+ return /* @__PURE__ */ jsx57(
2452
2640
  FieldInput_default,
2453
2641
  {
2454
2642
  id,
@@ -2476,24 +2664,24 @@ function InlineCheckboxComponent(props) {
2476
2664
  onSelect(newSelectedIndices);
2477
2665
  }
2478
2666
  };
2479
- return /* @__PURE__ */ jsx55(Checkbox2, __spreadProps(__spreadValues({}, checkboxProps), { className: "m-t-1" }), key);
2667
+ return /* @__PURE__ */ jsx57(Checkbox2, __spreadProps(__spreadValues({}, checkboxProps), { className: "m-t-1" }), key);
2480
2668
  })
2481
2669
  }
2482
2670
  );
2483
2671
  }
2484
2672
 
2485
2673
  // ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRenderer.tsx
2486
- import { jsx as jsx56 } from "react/jsx-runtime";
2674
+ import { jsx as jsx58 } from "react/jsx-runtime";
2487
2675
  var MultiSelectInputRenderer = {
2488
2676
  canRenderType: "input-multi-select",
2489
2677
  render: (props) => {
2490
2678
  switch (props.control) {
2491
2679
  case "inline":
2492
- return /* @__PURE__ */ jsx56(InlineComponent, __spreadValues({}, props));
2680
+ return /* @__PURE__ */ jsx58(InlineComponent, __spreadValues({}, props));
2493
2681
  case "inline-checkbox-group":
2494
- return /* @__PURE__ */ jsx56(InlineCheckboxComponent, __spreadValues({}, props));
2682
+ return /* @__PURE__ */ jsx58(InlineCheckboxComponent, __spreadValues({}, props));
2495
2683
  default:
2496
- return /* @__PURE__ */ jsx56(DefaultComponent, __spreadValues({}, props));
2684
+ return /* @__PURE__ */ jsx58(DefaultComponent, __spreadValues({}, props));
2497
2685
  }
2498
2686
  }
2499
2687
  };
@@ -2504,7 +2692,7 @@ import { Status, UploadInput } from "@transferwise/components";
2504
2692
  // ../renderers/src/components/UploadFieldInput.tsx
2505
2693
  var import_classnames4 = __toESM(require_classnames());
2506
2694
  import { InlineAlert as InlineAlert2 } from "@transferwise/components";
2507
- import { jsx as jsx57, jsxs as jsxs12 } from "react/jsx-runtime";
2695
+ import { jsx as jsx59, jsxs as jsxs14 } from "react/jsx-runtime";
2508
2696
  function UploadFieldInput({
2509
2697
  id,
2510
2698
  children,
@@ -2513,18 +2701,18 @@ function UploadFieldInput({
2513
2701
  help,
2514
2702
  validation
2515
2703
  }) {
2516
- const labelContent = label && help ? /* @__PURE__ */ jsx57(LabelContentWithHelp, { text: label, help }) : label;
2704
+ const labelContent = label && help ? /* @__PURE__ */ jsx59(LabelContentWithHelp, { text: label, help }) : label;
2517
2705
  const descriptionId = description ? `${id}-description` : void 0;
2518
- return /* @__PURE__ */ jsxs12(
2706
+ return /* @__PURE__ */ jsxs14(
2519
2707
  "div",
2520
2708
  {
2521
2709
  className: (0, import_classnames4.default)("form-group d-block", {
2522
2710
  "has-error": (validation == null ? void 0 : validation.status) === "invalid"
2523
2711
  }),
2524
2712
  children: [
2525
- /* @__PURE__ */ jsx57("label", { htmlFor: id, className: "control-label", children: labelContent }),
2713
+ /* @__PURE__ */ jsx59("label", { htmlFor: id, className: "control-label", children: labelContent }),
2526
2714
  children,
2527
- (validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx57(InlineAlert2, { type: "negative", id: descriptionId, children: validation.message })
2715
+ (validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx59(InlineAlert2, { type: "negative", id: descriptionId, children: validation.message })
2528
2716
  ]
2529
2717
  }
2530
2718
  );
@@ -2559,7 +2747,7 @@ var getSizeLimit = (maxSize) => {
2559
2747
  };
2560
2748
 
2561
2749
  // ../renderers/src/MultiUploadInputRenderer.tsx
2562
- import { jsx as jsx58 } from "react/jsx-runtime";
2750
+ import { jsx as jsx60 } from "react/jsx-runtime";
2563
2751
  var MultiUploadInputRenderer = {
2564
2752
  canRenderType: "input-upload-multi",
2565
2753
  render: (props) => {
@@ -2584,7 +2772,7 @@ var MultiUploadInputRenderer = {
2584
2772
  };
2585
2773
  const onDeleteFile = async (fileId) => onRemoveFile(value.findIndex((file) => file.id === fileId));
2586
2774
  const descriptionId = description ? `${id}-description` : void 0;
2587
- return /* @__PURE__ */ jsx58(
2775
+ return /* @__PURE__ */ jsx60(
2588
2776
  UploadFieldInput_default,
2589
2777
  {
2590
2778
  id,
@@ -2592,7 +2780,7 @@ var MultiUploadInputRenderer = {
2592
2780
  description,
2593
2781
  validation: validationState,
2594
2782
  help,
2595
- children: /* @__PURE__ */ jsx58(
2783
+ children: /* @__PURE__ */ jsx60(
2596
2784
  UploadInput,
2597
2785
  {
2598
2786
  id,
@@ -2620,8 +2808,8 @@ var MultiUploadInputRenderer = {
2620
2808
  var MultiUploadInputRenderer_default = MultiUploadInputRenderer;
2621
2809
 
2622
2810
  // ../renderers/src/NumberInputRenderer.tsx
2623
- import { Input as Input2, InputGroup as InputGroup2 } from "@transferwise/components";
2624
- import { jsx as jsx59 } from "react/jsx-runtime";
2811
+ import { Input as Input3, InputGroup as InputGroup3 } from "@transferwise/components";
2812
+ import { jsx as jsx61 } from "react/jsx-runtime";
2625
2813
  var NumberInputRenderer = {
2626
2814
  canRenderType: "input-number",
2627
2815
  render: (props) => {
@@ -2635,7 +2823,7 @@ var NumberInputRenderer = {
2635
2823
  "maximum",
2636
2824
  "minimum"
2637
2825
  );
2638
- return /* @__PURE__ */ jsx59(
2826
+ return /* @__PURE__ */ jsx61(
2639
2827
  FieldInput_default,
2640
2828
  {
2641
2829
  id,
@@ -2643,8 +2831,8 @@ var NumberInputRenderer = {
2643
2831
  description,
2644
2832
  validation: validationState,
2645
2833
  help,
2646
- children: /* @__PURE__ */ jsx59(InputGroup2, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx59(
2647
- Input2,
2834
+ children: /* @__PURE__ */ jsx61(InputGroup3, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx61(
2835
+ Input3,
2648
2836
  __spreadValues({
2649
2837
  id,
2650
2838
  name: id,
@@ -2664,7 +2852,7 @@ var NumberInputRenderer = {
2664
2852
  var NumberInputRenderer_default = NumberInputRenderer;
2665
2853
 
2666
2854
  // ../renderers/src/ParagraphRenderer.tsx
2667
- import { useIntl as useIntl8 } from "react-intl";
2855
+ import { useIntl as useIntl9 } from "react-intl";
2668
2856
 
2669
2857
  // ../renderers/src/hooks/useSnackBarIfAvailable.ts
2670
2858
  import { SnackbarContext } from "@transferwise/components";
@@ -2677,11 +2865,11 @@ function useSnackBarIfAvailable() {
2677
2865
 
2678
2866
  // ../renderers/src/ParagraphRenderer.tsx
2679
2867
  var import_classnames5 = __toESM(require_classnames());
2680
- import { Button as Button5, Input as Input3 } from "@transferwise/components";
2868
+ import { Button as Button6, Input as Input4 } from "@transferwise/components";
2681
2869
 
2682
2870
  // ../renderers/src/messages/paragraph.messages.ts
2683
- import { defineMessages as defineMessages7 } from "react-intl";
2684
- var paragraph_messages_default = defineMessages7({
2871
+ import { defineMessages as defineMessages8 } from "react-intl";
2872
+ var paragraph_messages_default = defineMessages8({
2685
2873
  copy: {
2686
2874
  id: "df.wise.DynamicParagraph.copy",
2687
2875
  defaultMessage: "Copy",
@@ -2695,14 +2883,14 @@ var paragraph_messages_default = defineMessages7({
2695
2883
  });
2696
2884
 
2697
2885
  // ../renderers/src/ParagraphRenderer.tsx
2698
- import { jsx as jsx60, jsxs as jsxs13 } from "react/jsx-runtime";
2886
+ import { jsx as jsx62, jsxs as jsxs15 } from "react/jsx-runtime";
2699
2887
  var ParagraphRenderer = {
2700
2888
  canRenderType: "paragraph",
2701
- render: (props) => /* @__PURE__ */ jsx60(Paragraph, __spreadValues({}, props))
2889
+ render: (props) => /* @__PURE__ */ jsx62(Paragraph, __spreadValues({}, props))
2702
2890
  };
2703
2891
  function Paragraph({ align, control, margin, size, text }) {
2704
2892
  const className = getTextAlignmentAndMargin({ align, margin });
2705
- return control === "copyable" ? /* @__PURE__ */ jsx60(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx60(
2893
+ return control === "copyable" ? /* @__PURE__ */ jsx62(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx62(
2706
2894
  "p",
2707
2895
  {
2708
2896
  className: `${["xs", "sm"].includes(size) ? "np-text-body-default" : "np-text-body-large"} ${className}`,
@@ -2715,16 +2903,16 @@ function CopyableParagraph({
2715
2903
  align,
2716
2904
  className
2717
2905
  }) {
2718
- const { formatMessage } = useIntl8();
2906
+ const { formatMessage } = useIntl9();
2719
2907
  const createSnackbar = useSnackBarIfAvailable();
2720
2908
  const copy = () => {
2721
2909
  navigator.clipboard.writeText(text).then(() => createSnackbar({ text: formatMessage(paragraph_messages_default.copied) })).catch(() => {
2722
2910
  });
2723
2911
  };
2724
2912
  const inputAlignmentClasses = getTextAlignmentAndMargin({ align, margin: "sm" });
2725
- return /* @__PURE__ */ jsxs13("div", { className, children: [
2726
- /* @__PURE__ */ jsx60(
2727
- Input3,
2913
+ return /* @__PURE__ */ jsxs15("div", { className, children: [
2914
+ /* @__PURE__ */ jsx62(
2915
+ Input4,
2728
2916
  {
2729
2917
  type: "text",
2730
2918
  value: text,
@@ -2732,23 +2920,23 @@ function CopyableParagraph({
2732
2920
  className: (0, import_classnames5.default)("text-ellipsis", inputAlignmentClasses)
2733
2921
  }
2734
2922
  ),
2735
- /* @__PURE__ */ jsx60(Button5, { v2: true, block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
2923
+ /* @__PURE__ */ jsx62(Button6, { v2: true, block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
2736
2924
  ] });
2737
2925
  }
2738
2926
  var ParagraphRenderer_default = ParagraphRenderer;
2739
2927
 
2740
2928
  // ../renderers/src/ProgressRenderer.tsx
2741
2929
  import { ProgressBar } from "@transferwise/components";
2742
- import { jsx as jsx61 } from "react/jsx-runtime";
2930
+ import { jsx as jsx63 } from "react/jsx-runtime";
2743
2931
  var ProgressRenderer = {
2744
2932
  canRenderType: "progress",
2745
2933
  render: ({ uid, title, help, progress, progressText, margin, description }) => {
2746
- return /* @__PURE__ */ jsx61(
2934
+ return /* @__PURE__ */ jsx63(
2747
2935
  ProgressBar,
2748
2936
  {
2749
2937
  id: uid,
2750
2938
  className: getMargin(margin),
2751
- title: title && help ? /* @__PURE__ */ jsx61(LabelContentWithHelp, { text: title, help }) : title,
2939
+ title: title && help ? /* @__PURE__ */ jsx63(LabelContentWithHelp, { text: title, help }) : title,
2752
2940
  description,
2753
2941
  progress: {
2754
2942
  max: 1,
@@ -2762,14 +2950,14 @@ var ProgressRenderer = {
2762
2950
 
2763
2951
  // ../renderers/src/RepeatableRenderer.tsx
2764
2952
  var import_classnames6 = __toESM(require_classnames());
2765
- import { Button as Button6, Header as Header6, InlineAlert as InlineAlert3, Modal as Modal4, NavigationOption } from "@transferwise/components";
2953
+ import { Button as Button7, Header as Header6, InlineAlert as InlineAlert3, Modal as Modal4, NavigationOption } from "@transferwise/components";
2766
2954
  import { Plus } from "@transferwise/icons";
2767
- import { useState as useState9 } from "react";
2768
- import { useIntl as useIntl9 } from "react-intl";
2955
+ import { useState as useState10 } from "react";
2956
+ import { useIntl as useIntl10 } from "react-intl";
2769
2957
 
2770
2958
  // ../renderers/src/messages/repeatable.messages.ts
2771
- import { defineMessages as defineMessages8 } from "react-intl";
2772
- var repeatable_messages_default = defineMessages8({
2959
+ import { defineMessages as defineMessages9 } from "react-intl";
2960
+ var repeatable_messages_default = defineMessages9({
2773
2961
  addItemTitle: {
2774
2962
  id: "df.wise.ArraySchema.addItemTitle",
2775
2963
  defaultMessage: "Add Item",
@@ -2793,10 +2981,10 @@ var repeatable_messages_default = defineMessages8({
2793
2981
  });
2794
2982
 
2795
2983
  // ../renderers/src/RepeatableRenderer.tsx
2796
- import { Fragment as Fragment5, jsx as jsx62, jsxs as jsxs14 } from "react/jsx-runtime";
2984
+ import { Fragment as Fragment7, jsx as jsx64, jsxs as jsxs16 } from "react/jsx-runtime";
2797
2985
  var RepeatableRenderer = {
2798
2986
  canRenderType: "repeatable",
2799
- render: (props) => /* @__PURE__ */ jsx62(Repeatable, __spreadValues({}, props))
2987
+ render: (props) => /* @__PURE__ */ jsx64(Repeatable, __spreadValues({}, props))
2800
2988
  };
2801
2989
  function Repeatable(props) {
2802
2990
  const {
@@ -2812,8 +3000,8 @@ function Repeatable(props) {
2812
3000
  onSave,
2813
3001
  onRemove
2814
3002
  } = props;
2815
- const { formatMessage } = useIntl9();
2816
- const [openModalType, setOpenModalType] = useState9(null);
3003
+ const { formatMessage } = useIntl10();
3004
+ const [openModalType, setOpenModalType] = useState10(null);
2817
3005
  const onAddItem = () => {
2818
3006
  onAdd();
2819
3007
  setOpenModalType("add");
@@ -2835,41 +3023,41 @@ function Repeatable(props) {
2835
3023
  const onCancelEdit = () => {
2836
3024
  setOpenModalType(null);
2837
3025
  };
2838
- return /* @__PURE__ */ jsxs14(Fragment5, { children: [
2839
- title && /* @__PURE__ */ jsx62(Header6, { title }),
2840
- description && /* @__PURE__ */ jsx62("p", { children: description }),
2841
- /* @__PURE__ */ jsxs14(
3026
+ return /* @__PURE__ */ jsxs16(Fragment7, { children: [
3027
+ title && /* @__PURE__ */ jsx64(Header6, { title }),
3028
+ description && /* @__PURE__ */ jsx64("p", { children: description }),
3029
+ /* @__PURE__ */ jsxs16(
2842
3030
  "div",
2843
3031
  {
2844
3032
  className: (0, import_classnames6.default)("form-group", {
2845
3033
  "has-error": (validationState == null ? void 0 : validationState.status) === "invalid"
2846
3034
  }),
2847
3035
  children: [
2848
- items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx62(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
2849
- /* @__PURE__ */ jsx62(
3036
+ items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx64(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
3037
+ /* @__PURE__ */ jsx64(
2850
3038
  NavigationOption,
2851
3039
  {
2852
- media: /* @__PURE__ */ jsx62(Plus, {}),
3040
+ media: /* @__PURE__ */ jsx64(Plus, {}),
2853
3041
  title: addItemTitle || formatMessage(repeatable_messages_default.addItemTitle),
2854
3042
  showMediaAtAllSizes: true,
2855
3043
  onClick: () => onAddItem()
2856
3044
  }
2857
3045
  ),
2858
- (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx62(InlineAlert3, { type: "negative", children: validationState.message })
3046
+ (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx64(InlineAlert3, { type: "negative", children: validationState.message })
2859
3047
  ]
2860
3048
  }
2861
3049
  ),
2862
- /* @__PURE__ */ jsx62(
3050
+ /* @__PURE__ */ jsx64(
2863
3051
  Modal4,
2864
3052
  {
2865
3053
  open: openModalType !== null,
2866
3054
  title: (openModalType === "add" ? addItemTitle : editItemTitle) || formatMessage(repeatable_messages_default.addItemTitle),
2867
- body: /* @__PURE__ */ jsxs14(Fragment5, { children: [
2868
- /* @__PURE__ */ jsx62("div", { className: "m-b-2", children: editableItem }),
2869
- /* @__PURE__ */ jsxs14("div", { children: [
2870
- /* @__PURE__ */ jsx62(Button6, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
2871
- /* @__PURE__ */ jsx62(
2872
- Button6,
3055
+ body: /* @__PURE__ */ jsxs16(Fragment7, { children: [
3056
+ /* @__PURE__ */ jsx64("div", { className: "m-b-2", children: editableItem }),
3057
+ /* @__PURE__ */ jsxs16("div", { children: [
3058
+ /* @__PURE__ */ jsx64(Button7, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
3059
+ /* @__PURE__ */ jsx64(
3060
+ Button7,
2873
3061
  {
2874
3062
  v2: true,
2875
3063
  priority: "secondary",
@@ -2890,10 +3078,10 @@ function ItemSummaryOption({
2890
3078
  item,
2891
3079
  onClick
2892
3080
  }) {
2893
- return /* @__PURE__ */ jsx62(
3081
+ return /* @__PURE__ */ jsx64(
2894
3082
  NavigationOption,
2895
3083
  {
2896
- media: /* @__PURE__ */ jsx62(OptionMedia, { media: item.media, preferAvatar: false }),
3084
+ media: /* @__PURE__ */ jsx64(OptionMedia, { media: item.media, preferAvatar: false }),
2897
3085
  title: item.title,
2898
3086
  content: item.description,
2899
3087
  showMediaAtAllSizes: true,
@@ -2906,14 +3094,14 @@ var RepeatableRenderer_default = RepeatableRenderer;
2906
3094
 
2907
3095
  // ../renderers/src/ReviewLegacyRenderer.tsx
2908
3096
  import { DefinitionList } from "@transferwise/components";
2909
- import { Fragment as Fragment6, jsx as jsx63, jsxs as jsxs15 } from "react/jsx-runtime";
3097
+ import { Fragment as Fragment8, jsx as jsx65, jsxs as jsxs17 } from "react/jsx-runtime";
2910
3098
  var ReviewRenderer = {
2911
3099
  canRenderType: "review",
2912
3100
  render: ({ callToAction, control, fields, margin, title, trackEvent }) => {
2913
3101
  const orientation = mapControlToDefinitionListLayout(control);
2914
- return /* @__PURE__ */ jsxs15("div", { className: getMargin(margin), children: [
2915
- /* @__PURE__ */ jsx63(Header5, { title, callToAction }),
2916
- /* @__PURE__ */ jsx63("div", { className: margin, children: /* @__PURE__ */ jsx63(
3102
+ return /* @__PURE__ */ jsxs17("div", { className: getMargin(margin), children: [
3103
+ /* @__PURE__ */ jsx65(Header, { title, callToAction }),
3104
+ /* @__PURE__ */ jsx65("div", { className: margin, children: /* @__PURE__ */ jsx65(
2917
3105
  DefinitionList,
2918
3106
  {
2919
3107
  layout: orientation,
@@ -2951,20 +3139,20 @@ var mapControlToDefinitionListLayout = (control) => {
2951
3139
  };
2952
3140
  var getFieldLabel = (label, help, onClick) => {
2953
3141
  if (help) {
2954
- return /* @__PURE__ */ jsxs15(Fragment6, { children: [
3142
+ return /* @__PURE__ */ jsxs17(Fragment8, { children: [
2955
3143
  label,
2956
3144
  " ",
2957
- /* @__PURE__ */ jsx63(Help_default, { help, onClick })
3145
+ /* @__PURE__ */ jsx65(Help_default, { help, onClick })
2958
3146
  ] });
2959
3147
  }
2960
3148
  return label;
2961
3149
  };
2962
3150
 
2963
3151
  // ../renderers/src/ReviewRenderer.tsx
2964
- import { ListItem as ListItem9, Markdown as Markdown4, Popover } from "@transferwise/components";
3152
+ import { ListItem as ListItem10, Markdown as Markdown4, Popover } from "@transferwise/components";
2965
3153
  import { QuestionMarkCircle } from "@transferwise/icons";
2966
- import { useIntl as useIntl10 } from "react-intl";
2967
- import { jsx as jsx64, jsxs as jsxs16 } from "react/jsx-runtime";
3154
+ import { useIntl as useIntl11 } from "react-intl";
3155
+ import { jsx as jsx66, jsxs as jsxs18 } from "react/jsx-runtime";
2968
3156
  var IGNORED_CONTROLS = [
2969
3157
  "horizontal",
2970
3158
  "horizontal-end-aligned",
@@ -2974,7 +3162,7 @@ var IGNORED_CONTROLS = [
2974
3162
  var ReviewRenderer2 = {
2975
3163
  canRenderType: "review",
2976
3164
  canRender: ({ control }) => control ? !IGNORED_CONTROLS.includes(control) : true,
2977
- render: (props) => /* @__PURE__ */ jsx64(Review, __spreadValues({}, props))
3165
+ render: (props) => /* @__PURE__ */ jsx66(Review, __spreadValues({}, props))
2978
3166
  };
2979
3167
  var Review = ({
2980
3168
  callToAction,
@@ -2985,9 +3173,9 @@ var Review = ({
2985
3173
  title,
2986
3174
  trackEvent
2987
3175
  }) => {
2988
- const intl = useIntl10();
2989
- return /* @__PURE__ */ jsxs16("div", { className: getMargin(margin), children: [
2990
- /* @__PURE__ */ jsx64(Header5, { title, callToAction }),
3176
+ const intl = useIntl11();
3177
+ return /* @__PURE__ */ jsxs18("div", { className: getMargin(margin), children: [
3178
+ /* @__PURE__ */ jsx66(Header, { title, callToAction }),
2991
3179
  fields.map((field) => {
2992
3180
  var _a, _b, _c;
2993
3181
  const {
@@ -3005,8 +3193,8 @@ var Review = ({
3005
3193
  ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
3006
3194
  fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
3007
3195
  };
3008
- return /* @__PURE__ */ jsx64(
3009
- ListItem9,
3196
+ return /* @__PURE__ */ jsx66(
3197
+ ListItem10,
3010
3198
  {
3011
3199
  title: value,
3012
3200
  subtitle: label,
@@ -3026,18 +3214,18 @@ var Review = ({
3026
3214
  ] });
3027
3215
  };
3028
3216
  var getHelpControl = (help, ariaLabel, onClick) => {
3029
- return /* @__PURE__ */ jsx64(Popover, { content: /* @__PURE__ */ jsx64(Markdown4, { config: { link: { target: "_blank" } }, children: help }), children: /* @__PURE__ */ jsx64(ListItem9.IconButton, { partiallyInteractive: true, "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx64(QuestionMarkCircle, {}) }) });
3217
+ return /* @__PURE__ */ jsx66(Popover, { content: /* @__PURE__ */ jsx66(Markdown4, { config: { link: { target: "_blank" } }, children: help }), children: /* @__PURE__ */ jsx66(ListItem10.IconButton, { partiallyInteractive: true, "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx66(QuestionMarkCircle, {}) }) });
3030
3218
  };
3031
3219
  var ReviewRenderer_default = ReviewRenderer2;
3032
3220
 
3033
3221
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
3034
- import { Input as Input4, InputGroup as InputGroup3, List, ListItem as ListItem10, Markdown as Markdown5 } from "@transferwise/components";
3035
- import { useState as useState10 } from "react";
3036
- import { useIntl as useIntl12 } from "react-intl";
3222
+ import { Input as Input5, InputGroup as InputGroup4, List, ListItem as ListItem11, Markdown as Markdown5 } from "@transferwise/components";
3223
+ import { useState as useState11 } from "react";
3224
+ import { useIntl as useIntl13 } from "react-intl";
3037
3225
 
3038
3226
  // ../renderers/src/messages/search.messages.ts
3039
- import { defineMessages as defineMessages9 } from "react-intl";
3040
- var search_messages_default = defineMessages9({
3227
+ import { defineMessages as defineMessages10 } from "react-intl";
3228
+ var search_messages_default = defineMessages10({
3041
3229
  loading: {
3042
3230
  id: "df.wise.SearchLayout.loading",
3043
3231
  defaultMessage: "Loading...",
@@ -3046,11 +3234,11 @@ var search_messages_default = defineMessages9({
3046
3234
  });
3047
3235
 
3048
3236
  // ../renderers/src/SearchRenderer/ErrorResult.tsx
3049
- import { useIntl as useIntl11 } from "react-intl";
3237
+ import { useIntl as useIntl12 } from "react-intl";
3050
3238
 
3051
3239
  // ../renderers/src/messages/generic-error.messages.ts
3052
- import { defineMessages as defineMessages10 } from "react-intl";
3053
- var generic_error_messages_default = defineMessages10({
3240
+ import { defineMessages as defineMessages11 } from "react-intl";
3241
+ var generic_error_messages_default = defineMessages11({
3054
3242
  genericErrorRetryHint: {
3055
3243
  id: "df.wise.PersistAsyncSchema.genericError",
3056
3244
  defaultMessage: "Something went wrong, please try again.",
@@ -3070,19 +3258,19 @@ var generic_error_messages_default = defineMessages10({
3070
3258
 
3071
3259
  // ../renderers/src/SearchRenderer/ErrorResult.tsx
3072
3260
  import { Link } from "@transferwise/components";
3073
- import { jsx as jsx65, jsxs as jsxs17 } from "react/jsx-runtime";
3261
+ import { jsx as jsx67, jsxs as jsxs19 } from "react/jsx-runtime";
3074
3262
  function ErrorResult({ state }) {
3075
- const intl = useIntl11();
3076
- return /* @__PURE__ */ jsxs17("p", { className: "m-t-2", children: [
3263
+ const intl = useIntl12();
3264
+ return /* @__PURE__ */ jsxs19("p", { className: "m-t-2", children: [
3077
3265
  intl.formatMessage(generic_error_messages_default.genericError),
3078
3266
  "\xA0",
3079
- /* @__PURE__ */ jsx65(Link, { onClick: () => state.onRetry(), children: intl.formatMessage(generic_error_messages_default.retry) })
3267
+ /* @__PURE__ */ jsx67(Link, { onClick: () => state.onRetry(), children: intl.formatMessage(generic_error_messages_default.retry) })
3080
3268
  ] });
3081
3269
  }
3082
3270
 
3083
3271
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
3084
- import { Search } from "@transferwise/icons";
3085
- import { Fragment as Fragment7, jsx as jsx66, jsxs as jsxs18 } from "react/jsx-runtime";
3272
+ import { Search as Search2 } from "@transferwise/icons";
3273
+ import { Fragment as Fragment9, jsx as jsx68, jsxs as jsxs20 } from "react/jsx-runtime";
3086
3274
  function BlockSearchRendererComponent({
3087
3275
  id,
3088
3276
  hint,
@@ -3094,11 +3282,11 @@ function BlockSearchRendererComponent({
3094
3282
  trackEvent,
3095
3283
  onChange
3096
3284
  }) {
3097
- const [hasSearched, setHasSearched] = useState10(false);
3098
- const { formatMessage } = useIntl12();
3099
- return /* @__PURE__ */ jsxs18("div", { className: getMargin(margin), children: [
3100
- /* @__PURE__ */ jsx66(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx66(InputGroup3, { addonStart: { content: /* @__PURE__ */ jsx66(Search, { size: 24 }) }, children: /* @__PURE__ */ jsx66(
3101
- Input4,
3285
+ const [hasSearched, setHasSearched] = useState11(false);
3286
+ const { formatMessage } = useIntl13();
3287
+ return /* @__PURE__ */ jsxs20("div", { className: getMargin(margin), children: [
3288
+ /* @__PURE__ */ jsx68(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx68(InputGroup4, { addonStart: { content: /* @__PURE__ */ jsx68(Search2, { size: 24 }) }, children: /* @__PURE__ */ jsx68(
3289
+ Input5,
3102
3290
  {
3103
3291
  id,
3104
3292
  name: id,
@@ -3114,7 +3302,7 @@ function BlockSearchRendererComponent({
3114
3302
  }
3115
3303
  }
3116
3304
  ) }) }),
3117
- isLoading ? /* @__PURE__ */ jsx66("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx66(SearchResultContent, { state, trackEvent })
3305
+ isLoading ? /* @__PURE__ */ jsx68("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx68(SearchResultContent, { state, trackEvent })
3118
3306
  ] });
3119
3307
  }
3120
3308
  function SearchResultContent({
@@ -3123,39 +3311,39 @@ function SearchResultContent({
3123
3311
  }) {
3124
3312
  switch (state.type) {
3125
3313
  case "error":
3126
- return /* @__PURE__ */ jsx66(ErrorResult, { state });
3314
+ return /* @__PURE__ */ jsx68(ErrorResult, { state });
3127
3315
  case "results":
3128
- return /* @__PURE__ */ jsx66(SearchResults, { state, trackEvent });
3316
+ return /* @__PURE__ */ jsx68(SearchResults, { state, trackEvent });
3129
3317
  case "layout":
3130
- return /* @__PURE__ */ jsxs18(Fragment7, { children: [
3318
+ return /* @__PURE__ */ jsxs20(Fragment9, { children: [
3131
3319
  " ",
3132
3320
  state.layout,
3133
3321
  " "
3134
3322
  ] });
3135
3323
  case "noResults":
3136
- return /* @__PURE__ */ jsx66(EmptySearchResult, { state });
3324
+ return /* @__PURE__ */ jsx68(EmptySearchResult, { state });
3137
3325
  case "pending":
3138
3326
  default:
3139
3327
  return null;
3140
3328
  }
3141
3329
  }
3142
3330
  function EmptySearchResult({ state }) {
3143
- return /* @__PURE__ */ jsx66(Markdown5, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
3331
+ return /* @__PURE__ */ jsx68(Markdown5, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
3144
3332
  }
3145
3333
  function SearchResults({
3146
3334
  state,
3147
3335
  trackEvent
3148
3336
  }) {
3149
- return /* @__PURE__ */ jsx66(List, { children: state.results.map((result) => {
3337
+ return /* @__PURE__ */ jsx68(List, { children: state.results.map((result) => {
3150
3338
  const { media } = result;
3151
- return /* @__PURE__ */ jsx66(
3152
- ListItem10,
3339
+ return /* @__PURE__ */ jsx68(
3340
+ ListItem11,
3153
3341
  {
3154
3342
  title: result.title,
3155
3343
  subtitle: result.description,
3156
- media: media ? /* @__PURE__ */ jsx66(OptionMedia, { media, preferAvatar: false }) : void 0,
3157
- control: /* @__PURE__ */ jsx66(
3158
- ListItem10.Navigation,
3344
+ media: media ? /* @__PURE__ */ jsx68(OptionMedia, { media, preferAvatar: false }) : void 0,
3345
+ control: /* @__PURE__ */ jsx68(
3346
+ ListItem11.Navigation,
3159
3347
  {
3160
3348
  onClick: () => {
3161
3349
  trackEvent("Search Result Selected", __spreadValues({
@@ -3174,10 +3362,10 @@ var BlockSearchRendererComponent_default = BlockSearchRendererComponent;
3174
3362
 
3175
3363
  // ../renderers/src/SearchRenderer/InlineSearchRendererComponent.tsx
3176
3364
  import { Markdown as Markdown6, Typeahead } from "@transferwise/components";
3177
- import { Search as Search2 } from "@transferwise/icons";
3178
- import { useState as useState11 } from "react";
3179
- import { useIntl as useIntl13 } from "react-intl";
3180
- import { jsx as jsx67 } from "react/jsx-runtime";
3365
+ import { Search as Search3 } from "@transferwise/icons";
3366
+ import { useState as useState12 } from "react";
3367
+ import { useIntl as useIntl14 } from "react-intl";
3368
+ import { jsx as jsx69 } from "react/jsx-runtime";
3181
3369
  function InlineSearchRenderer({
3182
3370
  id,
3183
3371
  hint,
@@ -3188,9 +3376,9 @@ function InlineSearchRenderer({
3188
3376
  title,
3189
3377
  trackEvent
3190
3378
  }) {
3191
- const [hasSearched, setHasSearched] = useState11(false);
3192
- const intl = useIntl13();
3193
- return /* @__PURE__ */ jsx67("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx67(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx67(
3379
+ const [hasSearched, setHasSearched] = useState12(false);
3380
+ const intl = useIntl14();
3381
+ return /* @__PURE__ */ jsx69("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx69(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx69(
3194
3382
  Typeahead,
3195
3383
  {
3196
3384
  id: "typeahead-input-id",
@@ -3199,10 +3387,10 @@ function InlineSearchRenderer({
3199
3387
  size: "md",
3200
3388
  placeholder: hint,
3201
3389
  maxHeight: 100,
3202
- footer: /* @__PURE__ */ jsx67(TypeaheadFooter, { state, isLoading }),
3390
+ footer: /* @__PURE__ */ jsx69(TypeaheadFooter, { state, isLoading }),
3203
3391
  multiple: false,
3204
3392
  clearable: false,
3205
- addon: /* @__PURE__ */ jsx67(Search2, { size: 24 }),
3393
+ addon: /* @__PURE__ */ jsx69(Search3, { size: 24 }),
3206
3394
  options: state.type === "results" ? state.results.map(mapResultToTypeaheadOption) : [],
3207
3395
  minQueryLength: 1,
3208
3396
  onChange: (values) => {
@@ -3237,28 +3425,28 @@ function mapResultToTypeaheadOption(result) {
3237
3425
  };
3238
3426
  }
3239
3427
  function TypeaheadFooter({ state, isLoading }) {
3240
- const { formatMessage } = useIntl13();
3428
+ const { formatMessage } = useIntl14();
3241
3429
  if (state.type === "layout") {
3242
- return /* @__PURE__ */ jsx67("div", { className: "m-x-1 m-y-1", children: state.layout });
3430
+ return /* @__PURE__ */ jsx69("div", { className: "m-x-1 m-y-1", children: state.layout });
3243
3431
  }
3244
3432
  if (state.type === "noResults") {
3245
- return /* @__PURE__ */ jsx67(Markdown6, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
3433
+ return /* @__PURE__ */ jsx69(Markdown6, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
3246
3434
  }
3247
3435
  if (state.type === "error") {
3248
- return /* @__PURE__ */ jsx67("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx67(ErrorResult, { state }) });
3436
+ return /* @__PURE__ */ jsx69("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx69(ErrorResult, { state }) });
3249
3437
  }
3250
3438
  if (state.type === "pending" || isLoading) {
3251
- return /* @__PURE__ */ jsx67("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
3439
+ return /* @__PURE__ */ jsx69("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
3252
3440
  }
3253
3441
  return null;
3254
3442
  }
3255
3443
  var InlineSearchRendererComponent_default = InlineSearchRenderer;
3256
3444
 
3257
3445
  // ../renderers/src/SearchRenderer/SearchRenderer.tsx
3258
- import { jsx as jsx68 } from "react/jsx-runtime";
3446
+ import { jsx as jsx70 } from "react/jsx-runtime";
3259
3447
  var SearchRenderer = {
3260
3448
  canRenderType: "search",
3261
- render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx68(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx68(BlockSearchRendererComponent_default, __spreadValues({}, props))
3449
+ render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx70(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx70(BlockSearchRendererComponent_default, __spreadValues({}, props))
3262
3450
  };
3263
3451
  var SearchRenderer_default = SearchRenderer;
3264
3452
 
@@ -3287,12 +3475,12 @@ var getHeaderAction2 = (callToAction) => {
3287
3475
  };
3288
3476
 
3289
3477
  // ../renderers/src/SectionRenderer.tsx
3290
- import { jsx as jsx69, jsxs as jsxs19 } from "react/jsx-runtime";
3478
+ import { jsx as jsx71, jsxs as jsxs21 } from "react/jsx-runtime";
3291
3479
  var SectionRenderer = {
3292
3480
  canRenderType: "section",
3293
3481
  render: ({ children, callToAction, margin, title }) => {
3294
- return /* @__PURE__ */ jsxs19("section", { className: getMargin(margin), children: [
3295
- (title || callToAction) && /* @__PURE__ */ jsx69(Header7, { title: title != null ? title : "", action: getHeaderAction2(callToAction) }),
3482
+ return /* @__PURE__ */ jsxs21("section", { className: getMargin(margin), children: [
3483
+ (title || callToAction) && /* @__PURE__ */ jsx71(Header7, { title: title != null ? title : "", action: getHeaderAction2(callToAction) }),
3296
3484
  children
3297
3485
  ] });
3298
3486
  }
@@ -3301,7 +3489,7 @@ var SectionRenderer_default = SectionRenderer;
3301
3489
 
3302
3490
  // ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
3303
3491
  import { RadioGroup } from "@transferwise/components";
3304
- import { Fragment as Fragment8, jsx as jsx70, jsxs as jsxs20 } from "react/jsx-runtime";
3492
+ import { Fragment as Fragment10, jsx as jsx72, jsxs as jsxs22 } from "react/jsx-runtime";
3305
3493
  function RadioInputRendererComponent(props) {
3306
3494
  const {
3307
3495
  id,
@@ -3315,8 +3503,8 @@ function RadioInputRendererComponent(props) {
3315
3503
  validationState,
3316
3504
  onSelect
3317
3505
  } = props;
3318
- return /* @__PURE__ */ jsxs20(Fragment8, { children: [
3319
- /* @__PURE__ */ jsx70(
3506
+ return /* @__PURE__ */ jsxs22(Fragment10, { children: [
3507
+ /* @__PURE__ */ jsx72(
3320
3508
  FieldInput_default,
3321
3509
  {
3322
3510
  id,
@@ -3324,7 +3512,7 @@ function RadioInputRendererComponent(props) {
3324
3512
  help,
3325
3513
  description,
3326
3514
  validation: validationState,
3327
- children: /* @__PURE__ */ jsx70("span", { children: /* @__PURE__ */ jsx70(
3515
+ children: /* @__PURE__ */ jsx72("span", { children: /* @__PURE__ */ jsx72(
3328
3516
  RadioGroup,
3329
3517
  {
3330
3518
  name: id,
@@ -3333,7 +3521,7 @@ function RadioInputRendererComponent(props) {
3333
3521
  value: index,
3334
3522
  secondary: option.description,
3335
3523
  disabled: option.disabled || disabled,
3336
- avatar: /* @__PURE__ */ jsx70(OptionMedia, { media: option.media, preferAvatar: false })
3524
+ avatar: /* @__PURE__ */ jsx72(OptionMedia, { media: option.media, preferAvatar: false })
3337
3525
  })),
3338
3526
  selectedValue: selectedIndex != null ? selectedIndex : void 0,
3339
3527
  onChange: onSelect
@@ -3348,8 +3536,8 @@ function RadioInputRendererComponent(props) {
3348
3536
 
3349
3537
  // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
3350
3538
  import { Tabs } from "@transferwise/components";
3351
- import { useEffect as useEffect7 } from "react";
3352
- import { Fragment as Fragment9, jsx as jsx71, jsxs as jsxs21 } from "react/jsx-runtime";
3539
+ import { useEffect as useEffect9 } from "react";
3540
+ import { Fragment as Fragment11, jsx as jsx73, jsxs as jsxs23 } from "react/jsx-runtime";
3353
3541
  function TabInputRendererComponent(props) {
3354
3542
  const {
3355
3543
  id,
@@ -3363,13 +3551,13 @@ function TabInputRendererComponent(props) {
3363
3551
  validationState,
3364
3552
  onSelect
3365
3553
  } = props;
3366
- useEffect7(() => {
3554
+ useEffect9(() => {
3367
3555
  if (!isValidIndex2(selectedIndex, options.length)) {
3368
3556
  onSelect(0);
3369
3557
  }
3370
3558
  }, [selectedIndex, onSelect, options.length]);
3371
- return /* @__PURE__ */ jsxs21(Fragment9, { children: [
3372
- /* @__PURE__ */ jsx71(
3559
+ return /* @__PURE__ */ jsxs23(Fragment11, { children: [
3560
+ /* @__PURE__ */ jsx73(
3373
3561
  FieldInput_default,
3374
3562
  {
3375
3563
  id,
@@ -3377,7 +3565,7 @@ function TabInputRendererComponent(props) {
3377
3565
  help,
3378
3566
  description,
3379
3567
  validation: validationState,
3380
- children: /* @__PURE__ */ jsx71(
3568
+ children: /* @__PURE__ */ jsx73(
3381
3569
  Tabs,
3382
3570
  {
3383
3571
  name: id,
@@ -3386,7 +3574,7 @@ function TabInputRendererComponent(props) {
3386
3574
  title: option.title,
3387
3575
  // if we pass null, we get some props-types console errors
3388
3576
  // eslint-disable-next-line react/jsx-no-useless-fragment
3389
- content: /* @__PURE__ */ jsx71(Fragment9, {}),
3577
+ content: /* @__PURE__ */ jsx73(Fragment11, {}),
3390
3578
  disabled: option.disabled || disabled
3391
3579
  })),
3392
3580
  onTabSelect: onSelect
@@ -3401,7 +3589,7 @@ var isValidIndex2 = (index, options) => index !== null && index >= 0 && index <
3401
3589
 
3402
3590
  // ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
3403
3591
  import { SelectInput as SelectInput2, SelectInputOptionContent as SelectInputOptionContent2 } from "@transferwise/components";
3404
- import { Fragment as Fragment10, jsx as jsx72, jsxs as jsxs22 } from "react/jsx-runtime";
3592
+ import { Fragment as Fragment12, jsx as jsx74, jsxs as jsxs24 } from "react/jsx-runtime";
3405
3593
  function SelectInputRendererComponent(props) {
3406
3594
  const {
3407
3595
  id,
@@ -3441,13 +3629,13 @@ function SelectInputRendererComponent(props) {
3441
3629
  } : {
3442
3630
  title: option.title,
3443
3631
  description: option.description,
3444
- icon: /* @__PURE__ */ jsx72(OptionMedia, { media: option.media, preferAvatar: false })
3632
+ icon: /* @__PURE__ */ jsx74(OptionMedia, { media: option.media, preferAvatar: false })
3445
3633
  };
3446
- return /* @__PURE__ */ jsx72(SelectInputOptionContent2, __spreadValues({}, contentProps));
3634
+ return /* @__PURE__ */ jsx74(SelectInputOptionContent2, __spreadValues({}, contentProps));
3447
3635
  };
3448
3636
  const extraProps = { autoComplete };
3449
- return /* @__PURE__ */ jsxs22(Fragment10, { children: [
3450
- /* @__PURE__ */ jsx72(
3637
+ return /* @__PURE__ */ jsxs24(Fragment12, { children: [
3638
+ /* @__PURE__ */ jsx74(
3451
3639
  FieldInput_default,
3452
3640
  {
3453
3641
  id,
@@ -3455,7 +3643,7 @@ function SelectInputRendererComponent(props) {
3455
3643
  help,
3456
3644
  description,
3457
3645
  validation: validationState,
3458
- children: /* @__PURE__ */ jsx72(
3646
+ children: /* @__PURE__ */ jsx74(
3459
3647
  SelectInput2,
3460
3648
  __spreadValues({
3461
3649
  name: id,
@@ -3476,9 +3664,9 @@ function SelectInputRendererComponent(props) {
3476
3664
  }
3477
3665
 
3478
3666
  // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
3479
- import { useEffect as useEffect8 } from "react";
3667
+ import { useEffect as useEffect10 } from "react";
3480
3668
  import { SegmentedControl } from "@transferwise/components";
3481
- import { Fragment as Fragment11, jsx as jsx73, jsxs as jsxs23 } from "react/jsx-runtime";
3669
+ import { Fragment as Fragment13, jsx as jsx75, jsxs as jsxs25 } from "react/jsx-runtime";
3482
3670
  function SegmentedInputRendererComponent(props) {
3483
3671
  const {
3484
3672
  id,
@@ -3491,13 +3679,13 @@ function SegmentedInputRendererComponent(props) {
3491
3679
  validationState,
3492
3680
  onSelect
3493
3681
  } = props;
3494
- useEffect8(() => {
3682
+ useEffect10(() => {
3495
3683
  if (!isValidIndex3(selectedIndex, options.length)) {
3496
3684
  onSelect(0);
3497
3685
  }
3498
3686
  }, [selectedIndex, onSelect, options.length]);
3499
- return /* @__PURE__ */ jsxs23(Fragment11, { children: [
3500
- /* @__PURE__ */ jsx73(
3687
+ return /* @__PURE__ */ jsxs25(Fragment13, { children: [
3688
+ /* @__PURE__ */ jsx75(
3501
3689
  FieldInput_default,
3502
3690
  {
3503
3691
  id,
@@ -3505,7 +3693,7 @@ function SegmentedInputRendererComponent(props) {
3505
3693
  help,
3506
3694
  description,
3507
3695
  validation: validationState,
3508
- children: /* @__PURE__ */ jsx73(
3696
+ children: /* @__PURE__ */ jsx75(
3509
3697
  SegmentedControl,
3510
3698
  {
3511
3699
  name: `${id}-segmented-control`,
@@ -3522,14 +3710,14 @@ function SegmentedInputRendererComponent(props) {
3522
3710
  )
3523
3711
  }
3524
3712
  ),
3525
- /* @__PURE__ */ jsx73("div", { id: `${id}-children`, children })
3713
+ /* @__PURE__ */ jsx75("div", { id: `${id}-children`, children })
3526
3714
  ] });
3527
3715
  }
3528
3716
  var isValidIndex3 = (index, options) => index !== null && index >= 0 && index < options;
3529
3717
 
3530
3718
  // ../renderers/src/SelectInputRenderer/RadioItemRendererComponent.tsx
3531
- import { Header as Header8, InlineAlert as InlineAlert4, List as List2, ListItem as ListItem11 } from "@transferwise/components";
3532
- import { Fragment as Fragment12, jsx as jsx74, jsxs as jsxs24 } from "react/jsx-runtime";
3719
+ import { Header as Header8, InlineAlert as InlineAlert4, List as List2, ListItem as ListItem12 } from "@transferwise/components";
3720
+ import { Fragment as Fragment14, jsx as jsx76, jsxs as jsxs26 } from "react/jsx-runtime";
3533
3721
  function RadioItemRendererComponent(props) {
3534
3722
  const {
3535
3723
  id,
@@ -3543,23 +3731,23 @@ function RadioItemRendererComponent(props) {
3543
3731
  validationState,
3544
3732
  onSelect
3545
3733
  } = props;
3546
- return /* @__PURE__ */ jsxs24(Fragment12, { children: [
3547
- rootTitle && /* @__PURE__ */ jsx74(
3734
+ return /* @__PURE__ */ jsxs26(Fragment14, { children: [
3735
+ rootTitle && /* @__PURE__ */ jsx76(
3548
3736
  Header8,
3549
3737
  {
3550
3738
  as: "h2",
3551
- title: help ? /* @__PURE__ */ jsx74(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
3739
+ title: help ? /* @__PURE__ */ jsx76(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
3552
3740
  }
3553
3741
  ),
3554
- rootDescription && /* @__PURE__ */ jsx74("p", { children: rootDescription }),
3555
- /* @__PURE__ */ jsx74(List2, { children: options.map(
3556
- ({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */ jsx74(
3557
- ListItem11,
3742
+ rootDescription && /* @__PURE__ */ jsx76("p", { children: rootDescription }),
3743
+ /* @__PURE__ */ jsx76(List2, { children: options.map(
3744
+ ({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */ jsx76(
3745
+ ListItem12,
3558
3746
  __spreadValues({
3559
3747
  title,
3560
3748
  subtitle: description,
3561
- control: /* @__PURE__ */ jsx74(
3562
- ListItem11.Radio,
3749
+ control: /* @__PURE__ */ jsx76(
3750
+ ListItem12.Radio,
3563
3751
  {
3564
3752
  name: title,
3565
3753
  checked: selectedIndex === index,
@@ -3574,50 +3762,50 @@ function RadioItemRendererComponent(props) {
3574
3762
  title
3575
3763
  )
3576
3764
  ) }, `${id}-${selectedIndex}`),
3577
- (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx74(InlineAlert4, { type: "negative", children: validationState.message }),
3765
+ (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx76(InlineAlert4, { type: "negative", children: validationState.message }),
3578
3766
  children
3579
3767
  ] });
3580
3768
  }
3581
3769
 
3582
3770
  // ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
3583
- import { jsx as jsx75 } from "react/jsx-runtime";
3771
+ import { jsx as jsx77 } from "react/jsx-runtime";
3584
3772
  var SelectInputRenderer = {
3585
3773
  canRenderType: "input-select",
3586
3774
  render: (props) => {
3587
3775
  switch (props.control) {
3588
3776
  case "radio":
3589
- return /* @__PURE__ */ jsx75(RadioInputRendererComponent, __spreadValues({}, props));
3777
+ return /* @__PURE__ */ jsx77(RadioInputRendererComponent, __spreadValues({}, props));
3590
3778
  case "radio-item":
3591
- return /* @__PURE__ */ jsx75(RadioItemRendererComponent, __spreadValues({}, props));
3779
+ return /* @__PURE__ */ jsx77(RadioItemRendererComponent, __spreadValues({}, props));
3592
3780
  case "tab":
3593
- return props.options.length > 3 ? /* @__PURE__ */ jsx75(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx75(TabInputRendererComponent, __spreadValues({}, props));
3781
+ return props.options.length > 3 ? /* @__PURE__ */ jsx77(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx77(TabInputRendererComponent, __spreadValues({}, props));
3594
3782
  case "segmented":
3595
- return props.options.length > 3 ? /* @__PURE__ */ jsx75(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx75(SegmentedInputRendererComponent, __spreadValues({}, props));
3783
+ return props.options.length > 3 ? /* @__PURE__ */ jsx77(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx77(SegmentedInputRendererComponent, __spreadValues({}, props));
3596
3784
  case "select":
3597
3785
  default:
3598
- return /* @__PURE__ */ jsx75(SelectInputRendererComponent, __spreadValues({}, props));
3786
+ return /* @__PURE__ */ jsx77(SelectInputRendererComponent, __spreadValues({}, props));
3599
3787
  }
3600
3788
  }
3601
3789
  };
3602
3790
  var SelectInputRenderer_default = SelectInputRenderer;
3603
3791
 
3604
3792
  // ../renderers/src/StatusListRenderer.tsx
3605
- import { AvatarView as AvatarView4, Header as Header9, ListItem as ListItem12 } from "@transferwise/components";
3606
- import { jsx as jsx76, jsxs as jsxs25 } from "react/jsx-runtime";
3793
+ import { AvatarView as AvatarView4, Header as Header9, ListItem as ListItem13 } from "@transferwise/components";
3794
+ import { jsx as jsx78, jsxs as jsxs27 } from "react/jsx-runtime";
3607
3795
  var StatusListRenderer = {
3608
3796
  canRenderType: "status-list",
3609
- render: ({ margin, items, title }) => /* @__PURE__ */ jsxs25("div", { className: getMargin(margin), children: [
3610
- title ? /* @__PURE__ */ jsx76(Header9, { title }) : null,
3797
+ render: ({ margin, items, title }) => /* @__PURE__ */ jsxs27("div", { className: getMargin(margin), children: [
3798
+ title ? /* @__PURE__ */ jsx78(Header9, { title }) : null,
3611
3799
  items.map((item) => {
3612
3800
  const { callToAction, description, icon, status, title: itemTitle } = item;
3613
- return /* @__PURE__ */ jsx76(
3614
- ListItem12,
3801
+ return /* @__PURE__ */ jsx78(
3802
+ ListItem13,
3615
3803
  {
3616
3804
  title: itemTitle,
3617
3805
  subtitle: description,
3618
- media: icon && "name" in icon ? /* @__PURE__ */ jsx76(AvatarView4, { badge: { status: mapStatus(status) }, children: /* @__PURE__ */ jsx76(DynamicIcon_default, { name: icon.name }) }) : void 0,
3619
- additionalInfo: callToAction ? /* @__PURE__ */ jsx76(
3620
- ListItem12.AdditionalInfo,
3806
+ media: icon && "name" in icon ? /* @__PURE__ */ jsx78(AvatarView4, { badge: { status: mapStatus(status) }, children: /* @__PURE__ */ jsx78(DynamicIcon_default, { name: icon.name }) }) : void 0,
3807
+ additionalInfo: callToAction ? /* @__PURE__ */ jsx78(
3808
+ ListItem13.AdditionalInfo,
3621
3809
  {
3622
3810
  action: {
3623
3811
  href: callToAction.href,
@@ -3647,12 +3835,12 @@ var StatusListRenderer_default = StatusListRenderer;
3647
3835
 
3648
3836
  // ../renderers/src/utils/useCustomTheme.ts
3649
3837
  import { useTheme } from "@wise/components-theming";
3650
- import { useEffect as useEffect9, useMemo } from "react";
3838
+ import { useEffect as useEffect11, useMemo } from "react";
3651
3839
  var ThemeRequiredEventName = "Theme Required";
3652
3840
  var useCustomTheme = (theme, trackEvent) => {
3653
3841
  const theming = useTheme();
3654
3842
  const previousTheme = useMemo(() => theming.theme, []);
3655
- useEffect9(() => {
3843
+ useEffect11(() => {
3656
3844
  theming.setTheme(theme);
3657
3845
  trackEvent(ThemeRequiredEventName, { theme });
3658
3846
  return theme !== previousTheme ? () => {
@@ -3663,86 +3851,14 @@ var useCustomTheme = (theme, trackEvent) => {
3663
3851
  }, []);
3664
3852
  };
3665
3853
 
3666
- // ../renderers/src/step/StepFooter.tsx
3667
- import { Button as Button7 } from "@transferwise/components";
3668
- import { useEffect as useEffect10, useRef, useState as useState12 } from "react";
3669
- import { useIntl as useIntl14 } from "react-intl";
3670
-
3671
- // ../renderers/src/messages/step.messages.ts
3672
- import { defineMessages as defineMessages11 } from "react-intl";
3673
- var step_messages_default = defineMessages11({
3674
- scrollToBottom: {
3675
- id: "df.wise.step.scrollToBottom",
3676
- defaultMessage: "Scroll to bottom",
3677
- description: "Label for a button that appears when the content of a step is too long and the user needs to scroll to the bottom to see all the content."
3678
- }
3679
- });
3680
-
3681
- // ../renderers/src/step/StepFooter.tsx
3682
- import { Fragment as Fragment13, jsx as jsx77, jsxs as jsxs26 } from "react/jsx-runtime";
3683
- var SCROLL_TO_BOTTOM = "scroll-to-bottom";
3684
- var StepFooter = ({ footer, tags }) => {
3685
- if (tags == null ? void 0 : tags.includes(SCROLL_TO_BOTTOM)) {
3686
- return /* @__PURE__ */ jsx77(FooterWithScrollButton, { footer });
3687
- }
3688
- return /* @__PURE__ */ jsx77(DefaultFooter, { footer });
3689
- };
3690
- var DefaultFooter = ({ footer }) => {
3691
- const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
3692
- return hasFooter ? /* @__PURE__ */ jsx77("div", { className: "df-step-fixed__footer", children: footer }) : void 0;
3693
- };
3694
- var FooterWithScrollButton = ({ footer }) => {
3695
- const { formatMessage } = useIntl14();
3696
- const endOfLayoutRef = useRef(null);
3697
- const isElementVisible = useIsElementVisible(endOfLayoutRef);
3698
- const scrollButton = /* @__PURE__ */ jsx77(
3699
- Button7,
3700
- {
3701
- className: "m-b-1",
3702
- v2: true,
3703
- block: true,
3704
- priority: "tertiary",
3705
- onClick: () => {
3706
- var _a;
3707
- (_a = endOfLayoutRef.current) == null ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
3708
- },
3709
- children: formatMessage(step_messages_default.scrollToBottom)
3710
- }
3711
- );
3712
- const hasStepFooterContent = footer && Array.isArray(footer) && footer.length > 0;
3713
- if (isElementVisible && !hasStepFooterContent) {
3714
- return /* @__PURE__ */ jsx77("div", { ref: endOfLayoutRef, "aria-hidden": "true" });
3715
- }
3716
- return /* @__PURE__ */ jsxs26(Fragment13, { children: [
3717
- /* @__PURE__ */ jsx77("div", { ref: endOfLayoutRef, "aria-hidden": "true" }),
3718
- /* @__PURE__ */ jsxs26("div", { className: "df-step-fixed__footer", children: [
3719
- !isElementVisible && scrollButton,
3720
- footer
3721
- ] })
3722
- ] });
3723
- };
3724
- var useIsElementVisible = (elementRef) => {
3725
- const [isVisible, setIsVisible] = useState12(false);
3726
- useEffect10(() => {
3727
- const element = elementRef.current;
3728
- if (!element) return;
3729
- const observer = new IntersectionObserver(([entry]) => {
3730
- setIsVisible(entry.isIntersecting);
3731
- });
3732
- observer.observe(element);
3733
- return () => observer.disconnect();
3734
- }, [elementRef]);
3735
- return isVisible;
3736
- };
3737
-
3738
3854
  // ../renderers/src/step/StepHeader.tsx
3739
3855
  import { Title as Title2 } from "@transferwise/components";
3740
- import { Fragment as Fragment14, jsx as jsx78, jsxs as jsxs27 } from "react/jsx-runtime";
3856
+ import { Fragment as Fragment15, jsx as jsx79, jsxs as jsxs28 } from "react/jsx-runtime";
3741
3857
  var StepHeader = ({ title, description, tags }) => {
3742
3858
  const { titleType, alignmentClassName } = getHeaderStyle(tags);
3743
- return /* @__PURE__ */ jsxs27(Fragment14, { children: [
3744
- title ? /* @__PURE__ */ jsx78(Title2, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
3745
- description ? /* @__PURE__ */ jsx78("p", { className: `${alignmentClassName} np-text-body-large`, children: description }) : void 0
3859
+ return /* @__PURE__ */ jsxs28(Fragment15, { children: [
3860
+ title ? /* @__PURE__ */ jsx79(Title2, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
3861
+ description ? /* @__PURE__ */ jsx79("p", { className: `${alignmentClassName} np-text-body-large`, children: description }) : void 0
3746
3862
  ] });
3747
3863
  };
3748
3864
  var getHeaderStyle = (tags) => {
@@ -3768,30 +3884,30 @@ var back_messages_default = defineMessages12({
3768
3884
  });
3769
3885
 
3770
3886
  // ../renderers/src/step/topbar/BackButton.tsx
3771
- import { jsx as jsx79, jsxs as jsxs28 } from "react/jsx-runtime";
3887
+ import { jsx as jsx80, jsxs as jsxs29 } from "react/jsx-runtime";
3772
3888
  function BackButton({ title, onClick }) {
3773
3889
  const { formatMessage } = useIntl15();
3774
- return /* @__PURE__ */ jsxs28(IconButton, { className: "df-back-button", priority: "tertiary", onClick, children: [
3775
- /* @__PURE__ */ jsx79("span", { className: "sr-only", children: title != null ? title : formatMessage(back_messages_default.back) }),
3776
- /* @__PURE__ */ jsx79(ArrowLeft, {})
3890
+ return /* @__PURE__ */ jsxs29(IconButton, { className: "df-back-button", priority: "tertiary", onClick, children: [
3891
+ /* @__PURE__ */ jsx80("span", { className: "sr-only", children: title != null ? title : formatMessage(back_messages_default.back) }),
3892
+ /* @__PURE__ */ jsx80(ArrowLeft, {})
3777
3893
  ] });
3778
3894
  }
3779
3895
 
3780
3896
  // ../renderers/src/step/topbar/Toolbar.tsx
3781
3897
  import { Button as Button8, IconButton as IconButton2 } from "@transferwise/components";
3782
- import { jsx as jsx80, jsxs as jsxs29 } from "react/jsx-runtime";
3898
+ import { jsx as jsx81, jsxs as jsxs30 } from "react/jsx-runtime";
3783
3899
  var Toolbar = ({ items }) => {
3784
- return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ jsx80("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ jsx80(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
3900
+ return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ jsx81("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ jsx81(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
3785
3901
  };
3786
3902
  function ToolbarButton(props) {
3787
- return prefersMedia(props.control) ? /* @__PURE__ */ jsx80(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ jsx80(TextToolbarButton, __spreadValues({}, props));
3903
+ return prefersMedia(props.control) ? /* @__PURE__ */ jsx81(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ jsx81(TextToolbarButton, __spreadValues({}, props));
3788
3904
  }
3789
3905
  function MediaToolbarButton(props) {
3790
3906
  var _a;
3791
3907
  const { context, control, media, accessibilityDescription, disabled, onClick } = props;
3792
3908
  const priority = getIconButtonPriority(control);
3793
3909
  const type = getSentiment2(context);
3794
- return /* @__PURE__ */ jsxs29(
3910
+ return /* @__PURE__ */ jsxs30(
3795
3911
  IconButton2,
3796
3912
  {
3797
3913
  className: "df-toolbar-button",
@@ -3801,7 +3917,7 @@ function MediaToolbarButton(props) {
3801
3917
  type,
3802
3918
  onClick,
3803
3919
  children: [
3804
- accessibilityDescription ? /* @__PURE__ */ jsx80("span", { className: "sr-only", children: accessibilityDescription }) : null,
3920
+ accessibilityDescription ? /* @__PURE__ */ jsx81("span", { className: "sr-only", children: accessibilityDescription }) : null,
3805
3921
  media ? (_a = getAddonStartMedia(media)) == null ? void 0 : _a.value : null
3806
3922
  ]
3807
3923
  }
@@ -3812,7 +3928,7 @@ function TextToolbarButton(props) {
3812
3928
  const addonStart = media ? getAddonStartMedia(media) : void 0;
3813
3929
  const priority = getPriority2(control);
3814
3930
  const sentiment = getSentiment2(context);
3815
- return /* @__PURE__ */ jsx80(
3931
+ return /* @__PURE__ */ jsx81(
3816
3932
  Button8,
3817
3933
  {
3818
3934
  v2: true,
@@ -3842,16 +3958,16 @@ var getIconButtonPriority = (control) => {
3842
3958
  };
3843
3959
 
3844
3960
  // ../renderers/src/step/topbar/TopBar.tsx
3845
- import { jsx as jsx81, jsxs as jsxs30 } from "react/jsx-runtime";
3961
+ import { jsx as jsx82, jsxs as jsxs31 } from "react/jsx-runtime";
3846
3962
  function TopBar({ back, toolbar }) {
3847
- return back || toolbar ? /* @__PURE__ */ jsxs30("div", { className: "d-flex m-b-2", children: [
3848
- back ? /* @__PURE__ */ jsx81(BackButton, __spreadValues({}, back)) : null,
3849
- toolbar ? /* @__PURE__ */ jsx81(Toolbar, __spreadValues({}, toolbar)) : null
3963
+ return back || toolbar ? /* @__PURE__ */ jsxs31("div", { className: "d-flex m-b-2", children: [
3964
+ back ? /* @__PURE__ */ jsx82(BackButton, __spreadValues({}, back)) : null,
3965
+ toolbar ? /* @__PURE__ */ jsx82(Toolbar, __spreadValues({}, toolbar)) : null
3850
3966
  ] }) : null;
3851
3967
  }
3852
3968
 
3853
3969
  // ../renderers/src/step/SplashCelebrationStepRenderer.tsx
3854
- import { jsx as jsx82, jsxs as jsxs31 } from "react/jsx-runtime";
3970
+ import { jsx as jsx83, jsxs as jsxs32 } from "react/jsx-runtime";
3855
3971
  var SplashCelebrationStepRenderer = {
3856
3972
  canRenderType: "step",
3857
3973
  canRender: ({ control }) => control === "splash-celebration",
@@ -3860,16 +3976,16 @@ var SplashCelebrationStepRenderer = {
3860
3976
  function SplashCelebrationStepRendererComponent(props) {
3861
3977
  const { back, title, description, toolbar, children, footer, tags, trackEvent } = props;
3862
3978
  useCustomTheme("forest-green", trackEvent);
3863
- return /* @__PURE__ */ jsxs31("div", { className: "splash-screen m-t-5", children: [
3864
- /* @__PURE__ */ jsx82(TopBar, { back, toolbar }),
3865
- title || description ? /* @__PURE__ */ jsx82("div", { className: "m-b-4", children: /* @__PURE__ */ jsx82(StepHeader, { title, description, tags }) }) : void 0,
3979
+ return /* @__PURE__ */ jsxs32("div", { className: "splash-screen m-t-5", children: [
3980
+ /* @__PURE__ */ jsx83(TopBar, { back, toolbar }),
3981
+ title || description ? /* @__PURE__ */ jsx83("div", { className: "m-b-4", children: /* @__PURE__ */ jsx83(StepHeader, { title, description, tags }) }) : void 0,
3866
3982
  children,
3867
- /* @__PURE__ */ jsx82(StepFooter, { footer, tags })
3983
+ /* @__PURE__ */ jsx83(StepFooter, { footer, tags })
3868
3984
  ] });
3869
3985
  }
3870
3986
 
3871
3987
  // ../renderers/src/step/SplashStepRenderer.tsx
3872
- import { jsx as jsx83, jsxs as jsxs32 } from "react/jsx-runtime";
3988
+ import { jsx as jsx84, jsxs as jsxs33 } from "react/jsx-runtime";
3873
3989
  var SplashStepRenderer = {
3874
3990
  canRenderType: "step",
3875
3991
  canRender: ({ control }) => control === "splash",
@@ -3877,55 +3993,55 @@ var SplashStepRenderer = {
3877
3993
  };
3878
3994
  function SplashStepRendererComponent(props) {
3879
3995
  const { back, title, description, toolbar, children, footer, tags } = props;
3880
- return /* @__PURE__ */ jsxs32("div", { className: "splash-screen m-t-5", children: [
3881
- /* @__PURE__ */ jsx83(TopBar, { back, toolbar }),
3882
- title || description ? /* @__PURE__ */ jsx83("div", { className: "m-b-4", children: /* @__PURE__ */ jsx83(StepHeader, { title, description, tags }) }) : void 0,
3996
+ return /* @__PURE__ */ jsxs33("div", { className: "splash-screen m-t-5", children: [
3997
+ /* @__PURE__ */ jsx84(TopBar, { back, toolbar }),
3998
+ title || description ? /* @__PURE__ */ jsx84("div", { className: "m-b-4", children: /* @__PURE__ */ jsx84(StepHeader, { title, description, tags }) }) : void 0,
3883
3999
  children,
3884
- /* @__PURE__ */ jsx83(StepFooter, { footer, tags })
4000
+ /* @__PURE__ */ jsx84(StepFooter, { footer, tags })
3885
4001
  ] });
3886
4002
  }
3887
4003
 
3888
4004
  // ../renderers/src/step/StepRenderer.tsx
3889
4005
  import { Alert as Alert2 } from "@transferwise/components";
3890
- import { jsx as jsx84, jsxs as jsxs33 } from "react/jsx-runtime";
4006
+ import { jsx as jsx85, jsxs as jsxs34 } from "react/jsx-runtime";
3891
4007
  var StepRenderer = {
3892
4008
  canRenderType: "step",
3893
4009
  render: StepRendererComponent
3894
4010
  };
3895
4011
  function StepRendererComponent(props) {
3896
4012
  const { back, description, error, title, children, toolbar, footer, tags } = props;
3897
- return /* @__PURE__ */ jsxs33("div", { children: [
3898
- /* @__PURE__ */ jsx84(TopBar, { back, toolbar }),
3899
- title || description ? /* @__PURE__ */ jsx84("div", { className: "m-b-4", children: /* @__PURE__ */ jsx84(StepHeader, { title, description, tags }) }) : void 0,
3900
- error ? /* @__PURE__ */ jsx84(Alert2, { type: "negative", className: "m-b-2", message: error }) : null,
4013
+ return /* @__PURE__ */ jsxs34("div", { children: [
4014
+ /* @__PURE__ */ jsx85(TopBar, { back, toolbar }),
4015
+ title || description ? /* @__PURE__ */ jsx85("div", { className: "m-b-4", children: /* @__PURE__ */ jsx85(StepHeader, { title, description, tags }) }) : void 0,
4016
+ error ? /* @__PURE__ */ jsx85(Alert2, { type: "negative", className: "m-b-2", message: error }) : null,
3901
4017
  children,
3902
- /* @__PURE__ */ jsx84(StepFooter, { footer, tags })
4018
+ /* @__PURE__ */ jsx85(StepFooter, { footer, tags })
3903
4019
  ] });
3904
4020
  }
3905
4021
 
3906
4022
  // ../renderers/src/TabsRenderer.tsx
3907
- import { Chips, SegmentedControl as SegmentedControl2, Tabs as Tabs2 } from "@transferwise/components";
4023
+ import { Chips as Chips2, SegmentedControl as SegmentedControl2, Tabs as Tabs2 } from "@transferwise/components";
3908
4024
  import { useState as useState13 } from "react";
3909
- import { jsx as jsx85, jsxs as jsxs34 } from "react/jsx-runtime";
4025
+ import { jsx as jsx86, jsxs as jsxs35 } from "react/jsx-runtime";
3910
4026
  var TabsRenderer = {
3911
4027
  canRenderType: "tabs",
3912
4028
  render: (props) => {
3913
4029
  switch (props.control) {
3914
4030
  case "segmented":
3915
4031
  if (props.tabs.length > 3) {
3916
- return /* @__PURE__ */ jsx85(TabsRendererComponent, __spreadValues({}, props));
4032
+ return /* @__PURE__ */ jsx86(TabsRendererComponent, __spreadValues({}, props));
3917
4033
  }
3918
- return /* @__PURE__ */ jsx85(SegmentedTabsRendererComponent, __spreadValues({}, props));
4034
+ return /* @__PURE__ */ jsx86(SegmentedTabsRendererComponent, __spreadValues({}, props));
3919
4035
  case "chips":
3920
- return /* @__PURE__ */ jsx85(ChipsTabsRendererComponent, __spreadValues({}, props));
4036
+ return /* @__PURE__ */ jsx86(ChipsTabsRendererComponent, __spreadValues({}, props));
3921
4037
  default:
3922
- return /* @__PURE__ */ jsx85(TabsRendererComponent, __spreadValues({}, props));
4038
+ return /* @__PURE__ */ jsx86(TabsRendererComponent, __spreadValues({}, props));
3923
4039
  }
3924
4040
  }
3925
4041
  };
3926
4042
  function TabsRendererComponent({ uid, margin, tabs }) {
3927
4043
  const [selectedIndex, setSelectedIndex] = useState13(0);
3928
- return /* @__PURE__ */ jsx85("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx85(
4044
+ return /* @__PURE__ */ jsx86("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx86(
3929
4045
  Tabs2,
3930
4046
  {
3931
4047
  name: uid,
@@ -3933,7 +4049,7 @@ function TabsRendererComponent({ uid, margin, tabs }) {
3933
4049
  tabs: tabs.map((option) => ({
3934
4050
  title: option.title,
3935
4051
  disabled: false,
3936
- content: /* @__PURE__ */ jsxs34("div", { className: "m-t-2", children: [
4052
+ content: /* @__PURE__ */ jsxs35("div", { className: "m-t-2", children: [
3937
4053
  " ",
3938
4054
  option.children,
3939
4055
  " "
@@ -3946,8 +4062,8 @@ function TabsRendererComponent({ uid, margin, tabs }) {
3946
4062
  function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
3947
4063
  var _a;
3948
4064
  const [selectedIndex, setSelectedIndex] = useState13(0);
3949
- return /* @__PURE__ */ jsxs34("div", { className: getMargin(margin), children: [
3950
- /* @__PURE__ */ jsx85(
4065
+ return /* @__PURE__ */ jsxs35("div", { className: getMargin(margin), children: [
4066
+ /* @__PURE__ */ jsx86(
3951
4067
  SegmentedControl2,
3952
4068
  {
3953
4069
  name: uid,
@@ -3962,37 +4078,37 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
3962
4078
  onChange: (value) => setSelectedIndex(Number(value))
3963
4079
  }
3964
4080
  ),
3965
- /* @__PURE__ */ jsx85("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
4081
+ /* @__PURE__ */ jsx86("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
3966
4082
  ] });
3967
4083
  }
3968
4084
  function ChipsTabsRendererComponent({ margin, tabs }) {
3969
4085
  var _a;
3970
4086
  const [selectedIndex, setSelectedIndex] = useState13(0);
3971
- return /* @__PURE__ */ jsxs34("div", { className: getMargin(margin), children: [
3972
- /* @__PURE__ */ jsx85("div", { className: "chips-container", children: /* @__PURE__ */ jsx85(
3973
- Chips,
4087
+ return /* @__PURE__ */ jsxs35("div", { className: getMargin(margin), children: [
4088
+ /* @__PURE__ */ jsx86("div", { className: "chips-container", children: /* @__PURE__ */ jsx86(
4089
+ Chips2,
3974
4090
  {
3975
4091
  chips: tabs.map((tab, index) => ({ label: tab.title, value: index })),
3976
4092
  selected: selectedIndex,
3977
4093
  onChange: ({ selectedValue }) => setSelectedIndex(Number(selectedValue))
3978
4094
  }
3979
4095
  ) }),
3980
- /* @__PURE__ */ jsx85("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
4096
+ /* @__PURE__ */ jsx86("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
3981
4097
  ] });
3982
4098
  }
3983
4099
 
3984
4100
  // ../renderers/src/TextInputRenderer.tsx
3985
- import { InputGroup as InputGroup4 } from "@transferwise/components";
4101
+ import { InputGroup as InputGroup5 } from "@transferwise/components";
3986
4102
 
3987
4103
  // ../renderers/src/components/VariableTextInput.tsx
3988
4104
  import {
3989
- Input as Input5,
4105
+ Input as Input6,
3990
4106
  InputWithDisplayFormat,
3991
4107
  PhoneNumberInput,
3992
4108
  TextArea,
3993
4109
  TextareaWithDisplayFormat
3994
4110
  } from "@transferwise/components";
3995
- import { jsx as jsx86 } from "react/jsx-runtime";
4111
+ import { jsx as jsx87 } from "react/jsx-runtime";
3996
4112
  var commonKeys = [
3997
4113
  "autoComplete",
3998
4114
  "autoCapitalize",
@@ -4011,12 +4127,12 @@ function VariableTextInput(inputProps) {
4011
4127
  const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
4012
4128
  switch (control) {
4013
4129
  case "email":
4014
- return /* @__PURE__ */ jsx86(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
4130
+ return /* @__PURE__ */ jsx87(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
4015
4131
  case "password":
4016
- return /* @__PURE__ */ jsx86(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
4132
+ return /* @__PURE__ */ jsx87(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
4017
4133
  case "numeric": {
4018
4134
  const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
4019
- return /* @__PURE__ */ jsx86(
4135
+ return /* @__PURE__ */ jsx87(
4020
4136
  TextInput,
4021
4137
  __spreadProps(__spreadValues({}, numericProps), {
4022
4138
  onChange: (newValue) => {
@@ -4027,21 +4143,21 @@ function VariableTextInput(inputProps) {
4027
4143
  );
4028
4144
  }
4029
4145
  case "phone-number":
4030
- return /* @__PURE__ */ jsx86(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
4146
+ return /* @__PURE__ */ jsx87(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
4031
4147
  default: {
4032
- return /* @__PURE__ */ jsx86(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
4148
+ return /* @__PURE__ */ jsx87(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
4033
4149
  }
4034
4150
  }
4035
4151
  }
4036
4152
  function TextInput(props) {
4037
4153
  const _a = props, { control, displayFormat, onChange } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange"]);
4038
4154
  const InputWithPattern = control === "textarea" ? TextareaWithDisplayFormat : InputWithDisplayFormat;
4039
- const InputWithoutPattern = control === "textarea" ? TextArea : Input5;
4040
- return displayFormat ? /* @__PURE__ */ jsx86(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ jsx86(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
4155
+ const InputWithoutPattern = control === "textarea" ? TextArea : Input6;
4156
+ return displayFormat ? /* @__PURE__ */ jsx87(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ jsx87(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
4041
4157
  }
4042
4158
 
4043
4159
  // ../renderers/src/TextInputRenderer.tsx
4044
- import { jsx as jsx87 } from "react/jsx-runtime";
4160
+ import { jsx as jsx88 } from "react/jsx-runtime";
4045
4161
  var TextInputRenderer = {
4046
4162
  canRenderType: "input-text",
4047
4163
  render: (props) => {
@@ -4074,7 +4190,7 @@ var TextInputRenderer = {
4074
4190
  }
4075
4191
  }
4076
4192
  });
4077
- return /* @__PURE__ */ jsx87(
4193
+ return /* @__PURE__ */ jsx88(
4078
4194
  FieldInput_default,
4079
4195
  {
4080
4196
  id,
@@ -4082,7 +4198,7 @@ var TextInputRenderer = {
4082
4198
  description,
4083
4199
  validation: validationState,
4084
4200
  help,
4085
- children: /* @__PURE__ */ jsx87(InputGroup4, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx87(VariableTextInput, __spreadValues({}, inputProps)) })
4201
+ children: /* @__PURE__ */ jsx88(InputGroup5, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx88(VariableTextInput, __spreadValues({}, inputProps)) })
4086
4202
  }
4087
4203
  );
4088
4204
  }
@@ -4096,7 +4212,7 @@ import { Status as Status2, Upload, UploadInput as UploadInput2 } from "@transfe
4096
4212
  var getRandomId = () => Math.random().toString(36).substring(2);
4097
4213
 
4098
4214
  // ../renderers/src/UploadInputRenderer.tsx
4099
- import { jsx as jsx88 } from "react/jsx-runtime";
4215
+ import { jsx as jsx89 } from "react/jsx-runtime";
4100
4216
  var UploadInputRenderer = {
4101
4217
  canRenderType: "input-upload",
4102
4218
  render: (props) => {
@@ -4112,14 +4228,14 @@ var UploadInputRenderer = {
4112
4228
  };
4113
4229
  return (
4114
4230
  // We don't pass help here as there is no sensible place to display it
4115
- /* @__PURE__ */ jsx88(
4231
+ /* @__PURE__ */ jsx89(
4116
4232
  UploadFieldInput_default,
4117
4233
  {
4118
4234
  id,
4119
4235
  label: void 0,
4120
4236
  description: void 0,
4121
4237
  validation: validationState,
4122
- children: /* @__PURE__ */ jsx88(
4238
+ children: /* @__PURE__ */ jsx89(
4123
4239
  UploadInput2,
4124
4240
  {
4125
4241
  id,
@@ -4185,7 +4301,7 @@ var LargeUploadRenderer = {
4185
4301
  };
4186
4302
  const filetypes = acceptsToFileTypes(accepts);
4187
4303
  const usAccept = filetypes === "*" ? "*" : filetypes.join(",");
4188
- return /* @__PURE__ */ jsx88(
4304
+ return /* @__PURE__ */ jsx89(
4189
4305
  FieldInput_default,
4190
4306
  {
4191
4307
  id,
@@ -4193,7 +4309,7 @@ var LargeUploadRenderer = {
4193
4309
  description,
4194
4310
  validation: validationState,
4195
4311
  help,
4196
- children: /* @__PURE__ */ jsx88(
4312
+ children: /* @__PURE__ */ jsx89(
4197
4313
  Upload,
4198
4314
  __spreadProps(__spreadValues({}, uploadProps), {
4199
4315
  usAccept,
@@ -4211,7 +4327,7 @@ var LargeUploadRenderer = {
4211
4327
  // ../renderers/src/UpsellRenderer.tsx
4212
4328
  import { Nudge } from "@transferwise/components";
4213
4329
  import { useState as useState14 } from "react";
4214
- import { jsx as jsx89 } from "react/jsx-runtime";
4330
+ import { jsx as jsx90 } from "react/jsx-runtime";
4215
4331
  var UpsellRenderer = {
4216
4332
  canRenderType: "upsell",
4217
4333
  render: UpsellRendererComponent
@@ -4219,7 +4335,7 @@ var UpsellRenderer = {
4219
4335
  function UpsellRendererComponent(props) {
4220
4336
  const { text, callToAction, media, margin, onDismiss } = props;
4221
4337
  const [isVisible, setIsVisible] = useState14(true);
4222
- return isVisible ? /* @__PURE__ */ jsx89(
4338
+ return isVisible ? /* @__PURE__ */ jsx90(
4223
4339
  Nudge,
4224
4340
  {
4225
4341
  className: getMargin(margin),
@@ -4271,7 +4387,7 @@ var supportedMediaNames = [
4271
4387
  // ../renderers/src/ButtonRenderer/CircularButtonRenderer.tsx
4272
4388
  import { CircularButton } from "@transferwise/components";
4273
4389
  var import_classnames7 = __toESM(require_classnames());
4274
- import { jsx as jsx90 } from "react/jsx-runtime";
4390
+ import { jsx as jsx91 } from "react/jsx-runtime";
4275
4391
  var CircularButtonRenderer = {
4276
4392
  canRenderType: "button",
4277
4393
  canRender: ({ control }) => control === "circular",
@@ -4281,7 +4397,7 @@ function CircularButtonComponent(props) {
4281
4397
  var _a;
4282
4398
  const { context, disabled, margin, media, tags, title, onClick } = props;
4283
4399
  const priority = tags == null ? void 0 : tags.find((tag) => tag === "primary" || tag === "secondary");
4284
- return /* @__PURE__ */ jsx90("div", { className: (0, import_classnames7.default)(getMargin(margin), "df-button", "circular"), children: /* @__PURE__ */ jsx90(
4400
+ return /* @__PURE__ */ jsx91("div", { className: (0, import_classnames7.default)(getMargin(margin), "df-button", "circular"), children: /* @__PURE__ */ jsx91(
4285
4401
  CircularButton,
4286
4402
  {
4287
4403
  disabled,
@@ -4301,6 +4417,7 @@ var getWiseRenderers = () => [
4301
4417
  CheckboxInputRenderer_default,
4302
4418
  CircularButtonRenderer,
4303
4419
  BoxRenderer_default,
4420
+ CollectionRenderer_default,
4304
4421
  ButtonRenderer,
4305
4422
  ColumnsRenderer_default,
4306
4423
  DateInputRenderer_default,
@@ -4345,11 +4462,11 @@ var getWiseRenderers = () => [
4345
4462
 
4346
4463
  // ../renderers/src/InitialLoadingStateRenderer.tsx
4347
4464
  import { Loader as Loader2 } from "@transferwise/components";
4348
- import { jsx as jsx91 } from "react/jsx-runtime";
4465
+ import { jsx as jsx92 } from "react/jsx-runtime";
4349
4466
  var InitialLoadingStateRenderer = {
4350
4467
  canRenderType: "loading-state",
4351
4468
  canRender: ({ stepLoadingState }) => stepLoadingState === "initial",
4352
- render: () => /* @__PURE__ */ jsx91(
4469
+ render: () => /* @__PURE__ */ jsx92(
4353
4470
  Loader2,
4354
4471
  {
4355
4472
  size: "md",
@@ -4360,7 +4477,7 @@ var InitialLoadingStateRenderer = {
4360
4477
  };
4361
4478
 
4362
4479
  // ../renderers/src/subflow/getSubflowRenderer.tsx
4363
- import { jsx as jsx92 } from "react/jsx-runtime";
4480
+ import { jsx as jsx93 } from "react/jsx-runtime";
4364
4481
  var getSubflowRenderer = ({
4365
4482
  Component: Component2,
4366
4483
  canRender
@@ -4369,7 +4486,7 @@ var getSubflowRenderer = ({
4369
4486
  canRenderType: "subflow",
4370
4487
  canRender,
4371
4488
  render: (props) => {
4372
- return /* @__PURE__ */ jsx92(
4489
+ return /* @__PURE__ */ jsx93(
4373
4490
  Component2,
4374
4491
  {
4375
4492
  presentation: props.presentation,
@@ -4450,24 +4567,24 @@ var handleRejection = (error) => {
4450
4567
  // src/dynamicFlow/DynamicFlowModal.tsx
4451
4568
  import { useDynamicFlowModal } from "@wise/dynamic-flow-client";
4452
4569
  import { Modal as Modal5 } from "@transferwise/components";
4453
- import { jsx as jsx93 } from "react/jsx-runtime";
4570
+ import { jsx as jsx94 } from "react/jsx-runtime";
4454
4571
  function DynamicFlowModal(props) {
4455
4572
  const _a = props, { className = "" } = _a, rest = __objRest(_a, ["className"]);
4456
4573
  const dfProps = useWiseToCoreProps(rest);
4457
4574
  const df = useDynamicFlowModal(dfProps);
4458
- return /* @__PURE__ */ jsx93(
4575
+ return /* @__PURE__ */ jsx94(
4459
4576
  Modal5,
4460
4577
  __spreadProps(__spreadValues({
4461
4578
  className: `dynamic-flow-modal ${className}`,
4462
4579
  disableDimmerClickToClose: true
4463
4580
  }, df.modal), {
4464
- body: /* @__PURE__ */ jsx93("div", { className: "dynamic-flow-modal", children: df.modal.body })
4581
+ body: /* @__PURE__ */ jsx94("div", { className: "dynamic-flow-modal", children: df.modal.body })
4465
4582
  })
4466
4583
  );
4467
4584
  }
4468
4585
 
4469
4586
  // src/dynamicFlow/getMergedRenderers.tsx
4470
- import { jsx as jsx94 } from "react/jsx-runtime";
4587
+ import { jsx as jsx95 } from "react/jsx-runtime";
4471
4588
  var wiseRenderers = getWiseRenderers();
4472
4589
  var getMergedRenderers = (props) => {
4473
4590
  var _d, _e;
@@ -4481,7 +4598,7 @@ var getMergedRenderers = (props) => {
4481
4598
  method: initialRequest.method,
4482
4599
  data: initialRequest.body
4483
4600
  };
4484
- return presentation.type === "push" ? /* @__PURE__ */ jsx94(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx94(
4601
+ return presentation.type === "push" ? /* @__PURE__ */ jsx95(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx95(
4485
4602
  DynamicFlowModal,
4486
4603
  __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), {
4487
4604
  features: subflowFeatures,
@@ -4540,13 +4657,13 @@ var openLinkInNewTab = (url) => {
4540
4657
  };
4541
4658
 
4542
4659
  // src/dynamicFlow/DynamicFlow.tsx
4543
- import { jsxs as jsxs35 } from "react/jsx-runtime";
4660
+ import { jsxs as jsxs36 } from "react/jsx-runtime";
4544
4661
  function DynamicFlow(props) {
4545
4662
  const { className = "" } = props;
4546
4663
  const dfProps = useWiseToCoreProps(props);
4547
4664
  const df = useDynamicFlow(dfProps);
4548
4665
  const { onContextMenu, contextMenu } = useDFContextMenu(df.controller);
4549
- return /* @__PURE__ */ jsxs35("div", { className, onContextMenu, children: [
4666
+ return /* @__PURE__ */ jsxs36("div", { className, onContextMenu, children: [
4550
4667
  df.view,
4551
4668
  contextMenu
4552
4669
  ] });
@@ -4558,7 +4675,7 @@ import {
4558
4675
  useImperativeHandle
4559
4676
  } from "react";
4560
4677
  import { useDynamicFlow as useDynamicFlow2 } from "@wise/dynamic-flow-client";
4561
- import { jsx as jsx95 } from "react/jsx-runtime";
4678
+ import { jsx as jsx96 } from "react/jsx-runtime";
4562
4679
  var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
4563
4680
  const { className = "" } = props;
4564
4681
  const dfProps = useWiseToCoreProps(props);
@@ -4574,14 +4691,14 @@ var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
4574
4691
  }),
4575
4692
  [df]
4576
4693
  );
4577
- return /* @__PURE__ */ jsx95("div", { className, children: df.view });
4694
+ return /* @__PURE__ */ jsx96("div", { className, children: df.view });
4578
4695
  });
4579
4696
 
4580
4697
  // src/index.ts
4581
4698
  import { findRendererPropsByType } from "@wise/dynamic-flow-client";
4582
4699
 
4583
4700
  // src/dynamicFlow/renderers.tsx
4584
- var Header10 = Header5;
4701
+ var Header10 = Header;
4585
4702
  var Media2 = Media;
4586
4703
  var getMargin2 = getMargin;
4587
4704