@wise/dynamic-flow-client-internal 5.14.0-experimental-9fc0bf0 → 5.15.0-experimental-76b77f2

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
@@ -123,7 +123,7 @@ import { useDynamicFlow } from "@wise/dynamic-flow-client";
123
123
  // src/dynamicFlow/telemetry/app-version.ts
124
124
  var appVersion = (
125
125
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
126
- typeof process !== "undefined" ? "5.14.0-experimental-9fc0bf0" : "0.0.0"
126
+ typeof process !== "undefined" ? "5.14.0" : "0.0.0"
127
127
  );
128
128
 
129
129
  // src/dynamicFlow/context-menu/useContextMenu.tsx
@@ -178,21 +178,25 @@ var useMenuPosition = () => {
178
178
 
179
179
  // src/dynamicFlow/context-menu/useDFContextMenu.tsx
180
180
  var useDFContextMenu = (controller) => {
181
+ const getCurrentStep = () => {
182
+ const step = controller.getCurrentStep();
183
+ return step ? recursivelyRemoveNullish(step) : null;
184
+ };
181
185
  const getCurrentStepWithModel = async () => {
182
186
  const step = controller.getCurrentStep();
183
187
  if (!step) {
184
188
  return null;
185
189
  }
186
190
  const model = await controller.getSubmittableValue();
187
- return __spreadProps(__spreadValues({}, step), { model });
191
+ return recursivelyRemoveNullish(__spreadProps(__spreadValues({}, step), { model }));
188
192
  };
189
193
  const getEncodedCurrentStep = () => {
190
- const step = controller.getCurrentStep();
191
- return step ? toBase64(JSON.stringify(recursivelyRemoveNullUndefined(step), null, 2)) : null;
194
+ const step = getCurrentStep();
195
+ return step ? toBase64(JSON.stringify(step, null, 2)) : null;
192
196
  };
193
197
  const getEncodedCurrentStepWithModel = async () => {
194
198
  const step = await getCurrentStepWithModel();
195
- return step ? toBase64(JSON.stringify(recursivelyRemoveNullUndefined(step), null, 2)) : null;
199
+ return step ? toBase64(JSON.stringify(step, null, 2)) : null;
196
200
  };
197
201
  return useContextMenu({
198
202
  title: "DynamicFlow Menu (Dev/Staging only)",
@@ -200,7 +204,7 @@ var useDFContextMenu = (controller) => {
200
204
  {
201
205
  label: `DF client version: ${appVersion}`,
202
206
  onClick: () => {
203
- copyToClipboard(`@wise/dynamic-flow-client-internal@${appVersion}`);
207
+ openVersionPage(appVersion);
204
208
  }
205
209
  },
206
210
  {
@@ -218,7 +222,7 @@ var useDFContextMenu = (controller) => {
218
222
  {
219
223
  label: "Copy step JSON",
220
224
  onClick: () => {
221
- copyToClipboard(controller.getCurrentStep());
225
+ copyToClipboard(getCurrentStep());
222
226
  }
223
227
  },
224
228
  {
@@ -237,8 +241,27 @@ var toBase64 = (str) => {
237
241
  };
238
242
  var openInSandbox = (base64Step) => {
239
243
  if (base64Step) {
240
- window.open(`https://df.wise.com/sandbox#${base64Step}`, "_blank");
244
+ window.open(`https://df.wise.com/sandbox#${base64Step}`, "_blank", "noopener,noreferrer");
245
+ }
246
+ };
247
+ var openVersionPage = (version) => {
248
+ const changelogUrl = getGitHubChangelogUrl(version);
249
+ if (changelogUrl) {
250
+ window.open(changelogUrl, "_blank", "noopener,noreferrer");
251
+ } else {
252
+ window.open(getNpmPackageUrl(version), "_blank", "noopener,noreferrer");
253
+ }
254
+ };
255
+ var getGitHubChangelogUrl = (version) => {
256
+ const semverRegex = /^\d+\.\d+\.\d+$/;
257
+ if (semverRegex.test(version)) {
258
+ const hash = version.replace(/\./g, "");
259
+ return `https://github.com/transferwise/dynamic-flow/blob/main/web/wise/CHANGELOG.md#${hash}`;
241
260
  }
261
+ return void 0;
262
+ };
263
+ var getNpmPackageUrl = (version) => {
264
+ return `https://www.npmjs.com/package/@wise/dynamic-flow-client-internal/v/${version}`;
242
265
  };
243
266
  var copyToClipboard = (value) => {
244
267
  if (typeof value === "string") {
@@ -266,15 +289,17 @@ var isDevOrStaging = () => {
266
289
  return false;
267
290
  }
268
291
  };
269
- var recursivelyRemoveNullUndefined = (element) => {
292
+ var recursivelyRemoveNullish = (element) => {
270
293
  if (Array.isArray(element)) {
271
- return element.map(recursivelyRemoveNullUndefined);
294
+ return element.map(recursivelyRemoveNullish);
272
295
  }
273
296
  if (element !== null && typeof element === "object") {
274
- return Object.entries(element).reduce(
275
- (acc, [key, value]) => value !== null && value !== void 0 ? __spreadProps(__spreadValues({}, acc), { [key]: recursivelyRemoveNullUndefined(value) }) : acc,
276
- {}
277
- );
297
+ return Object.entries(element).reduce((acc, [key, value]) => {
298
+ if (value !== null && value !== void 0) {
299
+ acc[key] = recursivelyRemoveNullish(value);
300
+ }
301
+ return acc;
302
+ }, {});
278
303
  }
279
304
  return element;
280
305
  };
@@ -1062,12 +1087,273 @@ var getInlineAlertOrValidation = (validationState, inlineAlert) => {
1062
1087
  };
1063
1088
  var CheckboxInputRenderer_default = CheckboxInputRenderer;
1064
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
+
1065
1351
  // ../renderers/src/ColumnsRenderer.tsx
1066
1352
  var import_classnames3 = __toESM(require_classnames());
1067
- import { jsx as jsx24, jsxs as jsxs4 } from "react/jsx-runtime";
1353
+ import { jsx as jsx28, jsxs as jsxs6 } from "react/jsx-runtime";
1068
1354
  var ColumnsRenderer = {
1069
1355
  canRenderType: "columns",
1070
- render: ({ bias, margin, startChildren, endChildren }) => /* @__PURE__ */ jsxs4(
1356
+ render: ({ bias, margin, startChildren, endChildren }) => /* @__PURE__ */ jsxs6(
1071
1357
  "div",
1072
1358
  {
1073
1359
  className: (0, import_classnames3.default)("df-columns-renderer-container", getMargin(margin), {
@@ -1075,8 +1361,8 @@ var ColumnsRenderer = {
1075
1361
  "df-columns-renderer-bias-end": bias === "end"
1076
1362
  }),
1077
1363
  children: [
1078
- /* @__PURE__ */ jsx24("div", { className: "df-columns-renderer-column", children: startChildren }),
1079
- /* @__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 })
1080
1366
  ]
1081
1367
  }
1082
1368
  )
@@ -1111,7 +1397,7 @@ var dateToDateString = (date) => {
1111
1397
  };
1112
1398
 
1113
1399
  // ../renderers/src/components/VariableDateInput.tsx
1114
- import { jsx as jsx25 } from "react/jsx-runtime";
1400
+ import { jsx as jsx29 } from "react/jsx-runtime";
1115
1401
  function VariableDateInput({
1116
1402
  control,
1117
1403
  inputProps
@@ -1127,7 +1413,7 @@ function VariableDateInput({
1127
1413
  onFocus
1128
1414
  } = inputProps;
1129
1415
  if (control === "date-lookup") {
1130
- return /* @__PURE__ */ jsx25(
1416
+ return /* @__PURE__ */ jsx29(
1131
1417
  DateLookup,
1132
1418
  {
1133
1419
  value: dateStringToDateOrNull(inputProps.value),
@@ -1143,7 +1429,7 @@ function VariableDateInput({
1143
1429
  }
1144
1430
  );
1145
1431
  }
1146
- return /* @__PURE__ */ jsx25(
1432
+ return /* @__PURE__ */ jsx29(
1147
1433
  DateInput,
1148
1434
  __spreadProps(__spreadValues({}, inputProps), {
1149
1435
  dayAutoComplete: getAutocompleteString(autoComplete, "day"),
@@ -1160,7 +1446,7 @@ var getAutocompleteString = (value, suffix) => {
1160
1446
  var VariableDateInput_default = VariableDateInput;
1161
1447
 
1162
1448
  // ../renderers/src/DateInputRenderer.tsx
1163
- import { jsx as jsx26 } from "react/jsx-runtime";
1449
+ import { jsx as jsx30 } from "react/jsx-runtime";
1164
1450
  var DateInputRenderer = {
1165
1451
  canRenderType: "input-date",
1166
1452
  render: (props) => {
@@ -1185,7 +1471,7 @@ var DateInputRenderer = {
1185
1471
  ]);
1186
1472
  const value = initialValue != null ? initialValue : "";
1187
1473
  const inputProps = __spreadProps(__spreadValues({}, rest), { value, id });
1188
- return /* @__PURE__ */ jsx26(
1474
+ return /* @__PURE__ */ jsx30(
1189
1475
  FieldInput_default,
1190
1476
  {
1191
1477
  id,
@@ -1193,7 +1479,7 @@ var DateInputRenderer = {
1193
1479
  description,
1194
1480
  validation: validationState,
1195
1481
  help,
1196
- children: /* @__PURE__ */ jsx26(VariableDateInput_default, { control, inputProps })
1482
+ children: /* @__PURE__ */ jsx30(VariableDateInput_default, { control, inputProps })
1197
1483
  }
1198
1484
  );
1199
1485
  }
@@ -1201,46 +1487,16 @@ var DateInputRenderer = {
1201
1487
  var DateInputRenderer_default = DateInputRenderer;
1202
1488
 
1203
1489
  // ../renderers/src/DecisionRenderer/DecisionRenderer.tsx
1204
- import { ListItem as ListItem5 } from "@transferwise/components";
1205
-
1206
- // ../renderers/src/utils/listItem/getAdditionalInfo.tsx
1207
- import { ListItem as ListItem4 } from "@transferwise/components";
1208
- import { jsx as jsx27 } from "react/jsx-runtime";
1209
- var getAdditionalInfo = (additionalInfo) => {
1210
- if (!additionalInfo) {
1211
- return void 0;
1212
- }
1213
- const { href, text, onClick } = additionalInfo;
1214
- if (href || onClick) {
1215
- return /* @__PURE__ */ jsx27(
1216
- ListItem4.AdditionalInfo,
1217
- {
1218
- action: {
1219
- label: text,
1220
- href,
1221
- onClick,
1222
- target: "_blank"
1223
- }
1224
- }
1225
- );
1226
- }
1227
- return /* @__PURE__ */ jsx27(ListItem4.AdditionalInfo, { children: additionalInfo == null ? void 0 : additionalInfo.text });
1228
- };
1229
-
1230
- // ../renderers/src/utils/listItem/shouldUseAvatar.ts
1231
- var shouldUseAvatar = (control, tags) => {
1232
- var _a;
1233
- return control === "with-avatar" || ((_a = tags == null ? void 0 : tags.includes("with-avatar")) != null ? _a : false);
1234
- };
1490
+ import { ListItem as ListItem7 } from "@transferwise/components";
1235
1491
 
1236
1492
  // ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
1237
- import { Header as Header2, SearchInput } from "@transferwise/components";
1238
- import { useState as useState4 } from "react";
1239
- 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";
1240
1496
 
1241
1497
  // ../renderers/src/messages/filter.messages.ts
1242
- import { defineMessages as defineMessages3 } from "react-intl";
1243
- var filter_messages_default = defineMessages3({
1498
+ import { defineMessages as defineMessages4 } from "react-intl";
1499
+ var filter_messages_default = defineMessages4({
1244
1500
  placeholder: {
1245
1501
  id: "df.wise.filter.placeholder",
1246
1502
  defaultMessage: "Start typing to search",
@@ -1306,12 +1562,12 @@ function filterAndSortDecisionOptions(selectOptions, query) {
1306
1562
  var normalizeAndRemoveAccents = (text) => text.trim().toLowerCase().normalize("NFKD").replace(new RegExp("\\p{Diacritic}", "gu"), "");
1307
1563
 
1308
1564
  // ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
1309
- import { Header, Section } from "@transferwise/components";
1310
- import { useIntl as useIntl3 } from "react-intl";
1565
+ import { Header as Header2, Section } from "@transferwise/components";
1566
+ import { useIntl as useIntl4 } from "react-intl";
1311
1567
 
1312
1568
  // ../renderers/src/messages/group.messages.ts
1313
- import { defineMessages as defineMessages4 } from "react-intl";
1314
- var group_messages_default = defineMessages4({
1569
+ import { defineMessages as defineMessages5 } from "react-intl";
1570
+ var group_messages_default = defineMessages5({
1315
1571
  all: {
1316
1572
  id: "df.wise.group.all",
1317
1573
  defaultMessage: "All",
@@ -1345,19 +1601,19 @@ var getGroupsFromTags = (knownTags, items) => {
1345
1601
  };
1346
1602
 
1347
1603
  // ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
1348
- 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";
1349
1605
  var groupingTags = Object.keys(group_messages_default).filter((key) => key !== "all");
1350
1606
  var isGroupedDecision = (options) => {
1351
1607
  return getGroupsFromTags(groupingTags, options).length > 0;
1352
1608
  };
1353
1609
  var GroupedDecisionList = (_a) => {
1354
1610
  var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
1355
- const { formatMessage } = useIntl3();
1611
+ const { formatMessage } = useIntl4();
1356
1612
  const { options } = rest;
1357
1613
  const itemsByTag = [...getGroupsFromTags(groupingTags, options), { tag: "all", items: options }];
1358
- return /* @__PURE__ */ jsx28(Fragment, { children: itemsByTag.map(({ tag, items }) => /* @__PURE__ */ jsxs5(Section, { children: [
1359
- /* @__PURE__ */ jsx28(
1360
- Header,
1614
+ return /* @__PURE__ */ jsx31(Fragment3, { children: itemsByTag.map(({ tag, items }) => /* @__PURE__ */ jsxs7(Section, { children: [
1615
+ /* @__PURE__ */ jsx31(
1616
+ Header2,
1361
1617
  {
1362
1618
  as: "h2",
1363
1619
  title: tag in group_messages_default ? formatMessage(group_messages_default[tag]) : tag
@@ -1368,25 +1624,25 @@ var GroupedDecisionList = (_a) => {
1368
1624
  };
1369
1625
 
1370
1626
  // ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
1371
- 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";
1372
1628
  var DecisionWrapper = (props) => {
1373
- return /* @__PURE__ */ jsxs6("div", { className: getMargin(props.margin), children: [
1374
- props.title && /* @__PURE__ */ jsx29(Header2, { as: "h2", title: props.title }),
1375
- 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))
1376
1632
  ] });
1377
1633
  };
1378
1634
  var UnfilteredDecisionList = (_a) => {
1379
1635
  var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
1380
- 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);
1381
1637
  };
1382
1638
  var FilteredDecisionList = (props) => {
1383
- const { formatMessage } = useIntl4();
1384
- const [query, setQuery] = useState4("");
1639
+ const { formatMessage } = useIntl5();
1640
+ const [query, setQuery] = useState5("");
1385
1641
  const { control, options, renderDecisionList: renderDecisionList2 } = props;
1386
1642
  const filteredOptions = (query == null ? void 0 : query.length) > 0 ? filterAndSortDecisionOptions(options, query) : options;
1387
1643
  const isGrouped = isGroupedDecision(options);
1388
- return /* @__PURE__ */ jsxs6(Fragment2, { children: [
1389
- /* @__PURE__ */ jsx29(
1644
+ return /* @__PURE__ */ jsxs8(Fragment4, { children: [
1645
+ /* @__PURE__ */ jsx32(
1390
1646
  SearchInput,
1391
1647
  {
1392
1648
  placeholder: formatMessage(filter_messages_default.placeholder),
@@ -1398,25 +1654,25 @@ var FilteredDecisionList = (props) => {
1398
1654
  }
1399
1655
  }
1400
1656
  ),
1401
- isGrouped && query.length === 0 ? /* @__PURE__ */ jsx29(GroupedDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ jsxs6(Fragment2, { children: [
1402
- 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" }),
1403
1659
  filteredOptions.length > 0 ? renderDecisionList2({
1404
1660
  control,
1405
1661
  className: query.length === 0 ? "m-t-3" : "",
1406
1662
  options: filteredOptions
1407
- }) : /* @__PURE__ */ jsx29("p", { children: formatMessage(filter_messages_default.noResults) })
1663
+ }) : /* @__PURE__ */ jsx32("p", { children: formatMessage(filter_messages_default.noResults) })
1408
1664
  ] })
1409
1665
  ] });
1410
1666
  };
1411
1667
 
1412
1668
  // ../renderers/src/DecisionRenderer/DecisionRenderer.tsx
1413
- import { Fragment as Fragment3, jsx as jsx30 } from "react/jsx-runtime";
1669
+ import { Fragment as Fragment5, jsx as jsx33 } from "react/jsx-runtime";
1414
1670
  var DecisionRenderer = {
1415
1671
  canRenderType: "decision",
1416
- render: (props) => /* @__PURE__ */ jsx30(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList }))
1672
+ render: (props) => /* @__PURE__ */ jsx33(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList }))
1417
1673
  };
1418
1674
  var renderDecisionList = ({ options, control }) => {
1419
- return /* @__PURE__ */ jsx30(Fragment3, { children: options.map((_a) => {
1675
+ return /* @__PURE__ */ jsx33(Fragment5, { children: options.map((_a) => {
1420
1676
  var _b = _a, { onClick } = _b, rest = __objRest(_b, ["onClick"]);
1421
1677
  const {
1422
1678
  description,
@@ -1429,8 +1685,8 @@ var renderDecisionList = ({ options, control }) => {
1429
1685
  supportingValues,
1430
1686
  tags
1431
1687
  } = rest;
1432
- return /* @__PURE__ */ jsx30(
1433
- ListItem5,
1688
+ return /* @__PURE__ */ jsx33(
1689
+ ListItem7,
1434
1690
  {
1435
1691
  title: itemTitle,
1436
1692
  subtitle: description,
@@ -1441,7 +1697,7 @@ var renderDecisionList = ({ options, control }) => {
1441
1697
  media: getMedia(media, shouldUseAvatar(control, tags)),
1442
1698
  prompt: getInlineAlert(inlineAlert),
1443
1699
  additionalInfo: additionalText ? getAdditionalInfo({ text: additionalText }) : void 0,
1444
- 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 })
1445
1701
  },
1446
1702
  JSON.stringify(rest)
1447
1703
  );
@@ -1451,7 +1707,7 @@ var DecisionRenderer_default = DecisionRenderer;
1451
1707
 
1452
1708
  // ../renderers/src/DividerRenderer.tsx
1453
1709
  import { Divider } from "@transferwise/components";
1454
- import { jsx as jsx31 } from "react/jsx-runtime";
1710
+ import { jsx as jsx34 } from "react/jsx-runtime";
1455
1711
  var mapControlToLevel = (control) => {
1456
1712
  switch (control) {
1457
1713
  case "section":
@@ -1464,16 +1720,16 @@ var mapControlToLevel = (control) => {
1464
1720
  };
1465
1721
  var DividerRenderer = {
1466
1722
  canRenderType: "divider",
1467
- 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) })
1468
1724
  };
1469
1725
  var DividerRenderer_default = DividerRenderer;
1470
1726
 
1471
1727
  // ../renderers/src/ExternalConfirmationRenderer.tsx
1472
- import { Button as Button3, Markdown as Markdown2, Modal } from "@transferwise/components";
1728
+ import { Button as Button4, Markdown as Markdown2, Modal } from "@transferwise/components";
1473
1729
 
1474
1730
  // ../renderers/src/messages/external-confirmation.messages.ts
1475
- import { defineMessages as defineMessages5 } from "react-intl";
1476
- var external_confirmation_messages_default = defineMessages5({
1731
+ import { defineMessages as defineMessages6 } from "react-intl";
1732
+ var external_confirmation_messages_default = defineMessages6({
1477
1733
  title: {
1478
1734
  id: "df.wise.ExternalConfirmation.title",
1479
1735
  defaultMessage: "Please confirm",
@@ -1497,9 +1753,9 @@ var external_confirmation_messages_default = defineMessages5({
1497
1753
  });
1498
1754
 
1499
1755
  // ../renderers/src/ExternalConfirmationRenderer.tsx
1500
- import { useIntl as useIntl5 } from "react-intl";
1501
- import { useEffect as useEffect4 } from "react";
1502
- 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";
1503
1759
  var ExternalConfirmationRenderer = {
1504
1760
  canRenderType: "external-confirmation",
1505
1761
  render: ExternalConfirmationRendererComponent
@@ -1510,20 +1766,20 @@ function ExternalConfirmationRendererComponent({
1510
1766
  open,
1511
1767
  onCancel
1512
1768
  }) {
1513
- const { formatMessage } = useIntl5();
1514
- useEffect4(() => {
1769
+ const { formatMessage } = useIntl6();
1770
+ useEffect6(() => {
1515
1771
  open();
1516
1772
  }, []);
1517
- return /* @__PURE__ */ jsx32(
1773
+ return /* @__PURE__ */ jsx35(
1518
1774
  Modal,
1519
1775
  {
1520
1776
  open: visible,
1521
1777
  title: formatMessage(external_confirmation_messages_default.title),
1522
- body: /* @__PURE__ */ jsxs7(Fragment4, { children: [
1523
- /* @__PURE__ */ jsx32(Markdown2, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin(url) }) }),
1524
- /* @__PURE__ */ jsx32("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs7("div", { className: "df-box-renderer-width-lg", children: [
1525
- /* @__PURE__ */ jsx32(
1526
- 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,
1527
1783
  {
1528
1784
  v2: true,
1529
1785
  block: true,
@@ -1536,7 +1792,7 @@ function ExternalConfirmationRendererComponent({
1536
1792
  children: formatMessage(external_confirmation_messages_default.open)
1537
1793
  }
1538
1794
  ),
1539
- /* @__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) })
1540
1796
  ] }) })
1541
1797
  ] }),
1542
1798
  onClose: onCancel
@@ -1553,27 +1809,27 @@ function getOrigin(url) {
1553
1809
  var ExternalConfirmationRenderer_default = ExternalConfirmationRenderer;
1554
1810
 
1555
1811
  // ../renderers/src/FormRenderer.tsx
1556
- import { jsx as jsx33 } from "react/jsx-runtime";
1812
+ import { jsx as jsx36 } from "react/jsx-runtime";
1557
1813
  var FormRenderer = {
1558
1814
  canRenderType: "form",
1559
- render: ({ children, margin }) => /* @__PURE__ */ jsx33("div", { className: getMargin(margin), children })
1815
+ render: ({ children, margin }) => /* @__PURE__ */ jsx36("div", { className: getMargin(margin), children })
1560
1816
  };
1561
1817
  var FormRenderer_default = FormRenderer;
1562
1818
 
1563
1819
  // ../renderers/src/FormSectionRenderer.tsx
1564
- import { Header as Header3 } from "@transferwise/components";
1565
- 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";
1566
1822
  var FormSectionRenderer = {
1567
1823
  canRenderType: "form-section",
1568
- render: ({ title, description, children }) => /* @__PURE__ */ jsxs8("fieldset", { children: [
1569
- title && /* @__PURE__ */ jsx34(
1570
- Header3,
1824
+ render: ({ title, description, children }) => /* @__PURE__ */ jsxs10("fieldset", { children: [
1825
+ title && /* @__PURE__ */ jsx37(
1826
+ Header4,
1571
1827
  {
1572
1828
  as: "h2",
1573
1829
  title
1574
1830
  }
1575
1831
  ),
1576
- description && /* @__PURE__ */ jsx34("p", { children: description }),
1832
+ description && /* @__PURE__ */ jsx37("p", { children: description }),
1577
1833
  children
1578
1834
  ] })
1579
1835
  };
@@ -1581,18 +1837,18 @@ var FormSectionRenderer_default = FormSectionRenderer;
1581
1837
 
1582
1838
  // ../renderers/src/HeadingRenderer.tsx
1583
1839
  import { Display, Title } from "@transferwise/components";
1584
- import { jsx as jsx35 } from "react/jsx-runtime";
1840
+ import { jsx as jsx38 } from "react/jsx-runtime";
1585
1841
  var HeadingRenderer = {
1586
1842
  canRenderType: "heading",
1587
- render: (props) => /* @__PURE__ */ jsx35(Heading, __spreadValues({}, props))
1843
+ render: (props) => /* @__PURE__ */ jsx38(Heading, __spreadValues({}, props))
1588
1844
  };
1589
1845
  function Heading(props) {
1590
1846
  const { text, size, align, margin, control } = props;
1591
1847
  const className = getTextAlignmentAndMargin({ align, margin });
1592
- 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 });
1593
1849
  }
1594
1850
  function DisplayHeading({ size, text, className }) {
1595
- return /* @__PURE__ */ jsx35(Display, { type: getDisplayType(size), className, children: text });
1851
+ return /* @__PURE__ */ jsx38(Display, { type: getDisplayType(size), className, children: text });
1596
1852
  }
1597
1853
  var getDisplayType = (size) => {
1598
1854
  switch (size) {
@@ -1608,7 +1864,7 @@ var getDisplayType = (size) => {
1608
1864
  }
1609
1865
  };
1610
1866
  function StandardHeading({ size, text, className }) {
1611
- return /* @__PURE__ */ jsx35(Title, { type: getTitleTypeBySize(size), className, children: text });
1867
+ return /* @__PURE__ */ jsx38(Title, { type: getTitleTypeBySize(size), className, children: text });
1612
1868
  }
1613
1869
  var getTitleTypeBySize = (size) => {
1614
1870
  var _a;
@@ -1625,7 +1881,7 @@ var HeadingRenderer_default = HeadingRenderer;
1625
1881
 
1626
1882
  // ../renderers/src/ImageRenderer/UrlImage.tsx
1627
1883
  import { Image } from "@transferwise/components";
1628
- import { useEffect as useEffect5, useState as useState5 } from "react";
1884
+ import { useEffect as useEffect7, useState as useState6 } from "react";
1629
1885
 
1630
1886
  // ../renderers/src/utils/api-utils.ts
1631
1887
  function isRelativePath(url = "") {
@@ -1635,7 +1891,7 @@ function isRelativePath(url = "") {
1635
1891
  }
1636
1892
 
1637
1893
  // ../renderers/src/ImageRenderer/UrlImage.tsx
1638
- import { jsx as jsx36 } from "react/jsx-runtime";
1894
+ import { jsx as jsx39 } from "react/jsx-runtime";
1639
1895
  function UrlImage({
1640
1896
  accessibilityDescription,
1641
1897
  align,
@@ -1644,13 +1900,13 @@ function UrlImage({
1644
1900
  uri,
1645
1901
  httpClient
1646
1902
  }) {
1647
- const [imageSource, setImageSource] = useState5("");
1648
- useEffect5(() => {
1903
+ const [imageSource, setImageSource] = useState6("");
1904
+ useEffect7(() => {
1649
1905
  if (!uri.startsWith("urn:")) {
1650
1906
  void getImageSource(httpClient, uri).then(setImageSource);
1651
1907
  }
1652
1908
  }, [uri, httpClient]);
1653
- 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(
1654
1910
  Image,
1655
1911
  {
1656
1912
  className: "df-reserve-space",
@@ -1694,7 +1950,7 @@ var getImageSource = async (httpClient, imageUrl) => {
1694
1950
  };
1695
1951
 
1696
1952
  // ../renderers/src/ImageRenderer/UrnFlagImage.tsx
1697
- import { jsx as jsx37 } from "react/jsx-runtime";
1953
+ import { jsx as jsx40 } from "react/jsx-runtime";
1698
1954
  var maxFlagSize = 600;
1699
1955
  function UrnFlagImage({
1700
1956
  accessibilityDescription,
@@ -1703,7 +1959,7 @@ function UrnFlagImage({
1703
1959
  size,
1704
1960
  uri
1705
1961
  }) {
1706
- 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 }) });
1707
1963
  }
1708
1964
 
1709
1965
  // ../renderers/src/ImageRenderer/UrnIllustration.tsx
@@ -1711,7 +1967,7 @@ import {
1711
1967
  Illustration,
1712
1968
  isIllustrationSupport3D
1713
1969
  } from "@wise/art";
1714
- import { useState as useState6 } from "react";
1970
+ import { useState as useState7 } from "react";
1715
1971
 
1716
1972
  // ../renderers/src/ImageRenderer/isAnimated.ts
1717
1973
  var isAnimated = (uri) => {
@@ -1722,7 +1978,7 @@ var isAnimated = (uri) => {
1722
1978
  // ../renderers/src/ImageRenderer/SafeIllustration3D.tsx
1723
1979
  import { Illustration3D } from "@wise/art";
1724
1980
  import { Component } from "react";
1725
- import { jsx as jsx38 } from "react/jsx-runtime";
1981
+ import { jsx as jsx41 } from "react/jsx-runtime";
1726
1982
  var Illustration3DErrorBoundary = class extends Component {
1727
1983
  constructor(props) {
1728
1984
  super(props);
@@ -1746,12 +2002,12 @@ var SafeIllustration3D = ({
1746
2002
  size,
1747
2003
  onError
1748
2004
  }) => {
1749
- return /* @__PURE__ */ jsx38(Illustration3DErrorBoundary, { onError, children: /* @__PURE__ */ jsx38(Illustration3D, { name, size }) });
2005
+ return /* @__PURE__ */ jsx41(Illustration3DErrorBoundary, { onError, children: /* @__PURE__ */ jsx41(Illustration3D, { name, size }) });
1750
2006
  };
1751
2007
  var SafeIllustration3D_default = SafeIllustration3D;
1752
2008
 
1753
2009
  // ../renderers/src/ImageRenderer/UrnIllustration.tsx
1754
- import { jsx as jsx39 } from "react/jsx-runtime";
2010
+ import { jsx as jsx42 } from "react/jsx-runtime";
1755
2011
  var urnPrefix = "urn:wise:illustrations:";
1756
2012
  var isUrnIllustration = (uri) => uri.startsWith(urnPrefix);
1757
2013
  function UrnIllustration({
@@ -1761,12 +2017,12 @@ function UrnIllustration({
1761
2017
  size,
1762
2018
  uri
1763
2019
  }) {
1764
- const [has3DFailed, setHas3DFailed] = useState6(false);
2020
+ const [has3DFailed, setHas3DFailed] = useState7(false);
1765
2021
  const illustrationSize = getIllustrationSize(size);
1766
2022
  const illustrationName = getIllustrationName(uri);
1767
2023
  const illustration3DName = getIllustration3DName(uri);
1768
2024
  if (illustration3DName && isAnimated(uri) && !has3DFailed) {
1769
- 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(
1770
2026
  SafeIllustration3D_default,
1771
2027
  {
1772
2028
  name: illustration3DName,
@@ -1775,7 +2031,7 @@ function UrnIllustration({
1775
2031
  }
1776
2032
  ) });
1777
2033
  }
1778
- 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(
1779
2035
  Illustration,
1780
2036
  {
1781
2037
  className: "df-illustration",
@@ -1795,32 +2051,32 @@ var getIllustration3DName = (uri) => {
1795
2051
  };
1796
2052
 
1797
2053
  // ../renderers/src/ImageRenderer/UrnImage.tsx
1798
- import { jsx as jsx40 } from "react/jsx-runtime";
2054
+ import { jsx as jsx43 } from "react/jsx-runtime";
1799
2055
  var isUrnImage = (uri) => uri.startsWith("urn:");
1800
2056
  function UrnImage(props) {
1801
2057
  const { uri } = props;
1802
2058
  if (isUrnIllustration(uri)) {
1803
- return /* @__PURE__ */ jsx40(UrnIllustration, __spreadValues({}, props));
2059
+ return /* @__PURE__ */ jsx43(UrnIllustration, __spreadValues({}, props));
1804
2060
  }
1805
2061
  if (isUrnFlag(uri)) {
1806
- return /* @__PURE__ */ jsx40(UrnFlagImage, __spreadValues({}, props));
2062
+ return /* @__PURE__ */ jsx43(UrnFlagImage, __spreadValues({}, props));
1807
2063
  }
1808
2064
  return null;
1809
2065
  }
1810
2066
 
1811
2067
  // ../renderers/src/ImageRenderer/ImageRenderer.tsx
1812
- import { jsx as jsx41 } from "react/jsx-runtime";
2068
+ import { jsx as jsx44 } from "react/jsx-runtime";
1813
2069
  var ImageRenderer = {
1814
2070
  canRenderType: "image",
1815
- 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))
1816
2072
  };
1817
2073
 
1818
2074
  // ../renderers/src/ImageRenderer/index.tsx
1819
2075
  var ImageRenderer_default = ImageRenderer;
1820
2076
 
1821
2077
  // ../renderers/src/InstructionsRenderer.tsx
1822
- import { Header as Header4, InstructionsList } from "@transferwise/components";
1823
- 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";
1824
2080
  var doContext = ["positive", "neutral"];
1825
2081
  var dontContext = ["warning", "negative"];
1826
2082
  var InstructionsRenderer = {
@@ -1828,16 +2084,16 @@ var InstructionsRenderer = {
1828
2084
  render: ({ items, margin, title }) => {
1829
2085
  const dos = items.filter((item) => doContext.includes(item.context)).map(({ text }) => text);
1830
2086
  const donts = items.filter((item) => dontContext.includes(item.context)).map(({ text }) => text);
1831
- return /* @__PURE__ */ jsxs9("div", { className: getMargin(margin), children: [
1832
- title ? /* @__PURE__ */ jsx42(Header4, { title }) : null,
1833
- /* @__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 })
1834
2090
  ] });
1835
2091
  }
1836
2092
  };
1837
2093
  var InstructionsRenderer_default = InstructionsRenderer;
1838
2094
 
1839
2095
  // ../renderers/src/IntegerInputRenderer.tsx
1840
- import { Input, InputGroup } from "@transferwise/components";
2096
+ import { Input as Input2, InputGroup as InputGroup2 } from "@transferwise/components";
1841
2097
 
1842
2098
  // ../renderers/src/utils/input-utils.ts
1843
2099
  var onWheel = (event) => {
@@ -1862,7 +2118,7 @@ function pick(obj, ...keys) {
1862
2118
  }
1863
2119
 
1864
2120
  // ../renderers/src/IntegerInputRenderer.tsx
1865
- import { jsx as jsx43 } from "react/jsx-runtime";
2121
+ import { jsx as jsx46 } from "react/jsx-runtime";
1866
2122
  var IntegerInputRenderer = {
1867
2123
  canRenderType: "input-integer",
1868
2124
  render: (props) => {
@@ -1877,7 +2133,7 @@ var IntegerInputRenderer = {
1877
2133
  "maximum",
1878
2134
  "minimum"
1879
2135
  );
1880
- return /* @__PURE__ */ jsx43(
2136
+ return /* @__PURE__ */ jsx46(
1881
2137
  FieldInput_default,
1882
2138
  {
1883
2139
  id,
@@ -1885,8 +2141,8 @@ var IntegerInputRenderer = {
1885
2141
  description,
1886
2142
  validation: validationState,
1887
2143
  help,
1888
- children: /* @__PURE__ */ jsx43(InputGroup, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx43(
1889
- Input,
2144
+ children: /* @__PURE__ */ jsx46(InputGroup2, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx46(
2145
+ Input2,
1890
2146
  __spreadValues({
1891
2147
  id,
1892
2148
  name: id,
@@ -1908,55 +2164,12 @@ var IntegerInputRenderer = {
1908
2164
  var IntegerInputRenderer_default = IntegerInputRenderer;
1909
2165
 
1910
2166
  // ../renderers/src/ListRenderer.tsx
1911
- import { ListItem as ListItem7 } from "@transferwise/components";
1912
-
1913
- // ../renderers/src/utils/listItem/getCTAControl.tsx
1914
- import { ListItem as ListItem6 } from "@transferwise/components";
1915
- import { jsx as jsx44 } from "react/jsx-runtime";
1916
- var getCTAControl = (callToAction, { ctaSecondary, fullyInteractive }) => {
1917
- if (!callToAction) {
1918
- return void 0;
1919
- }
1920
- const { accessibilityDescription, href, title, context, onClick } = callToAction;
1921
- const { priority, sentiment } = getPriorityAndSentiment(ctaSecondary, context);
1922
- if (href) {
1923
- return /* @__PURE__ */ jsx44(
1924
- ListItem6.Button,
1925
- {
1926
- href,
1927
- target: "_blank",
1928
- rel: "noopener noreferrer",
1929
- partiallyInteractive: !fullyInteractive,
1930
- priority,
1931
- "aria-description": accessibilityDescription,
1932
- sentiment,
1933
- children: title
1934
- }
1935
- );
1936
- }
1937
- return /* @__PURE__ */ jsx44(
1938
- ListItem6.Button,
1939
- {
1940
- "aria-description": accessibilityDescription,
1941
- partiallyInteractive: !fullyInteractive,
1942
- priority,
1943
- sentiment,
1944
- onClick,
1945
- children: title
1946
- }
1947
- );
1948
- };
1949
- var getPriorityAndSentiment = (ctaSecondary, context) => {
1950
- if (context === "negative") {
1951
- return { priority: "secondary", sentiment: "negative" };
1952
- }
1953
- return { priority: ctaSecondary ? "secondary" : "secondary-neutral", sentiment: "default" };
1954
- };
2167
+ import { ListItem as ListItem8 } from "@transferwise/components";
1955
2168
 
1956
2169
  // ../renderers/src/components/Header.tsx
1957
2170
  import { Header as DSHeader } from "@transferwise/components";
1958
- import { jsx as jsx45 } from "react/jsx-runtime";
1959
- 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) });
1960
2173
  var getHeaderAction = (callToAction) => {
1961
2174
  if (!callToAction) {
1962
2175
  return void 0;
@@ -1978,11 +2191,11 @@ var getHeaderAction = (callToAction) => {
1978
2191
  };
1979
2192
 
1980
2193
  // ../renderers/src/ListRenderer.tsx
1981
- import { jsx as jsx46, jsxs as jsxs10 } from "react/jsx-runtime";
2194
+ import { jsx as jsx48, jsxs as jsxs12 } from "react/jsx-runtime";
1982
2195
  var ListRenderer = {
1983
2196
  canRenderType: "list",
1984
- render: ({ callToAction, control, margin, items, tags, title }) => /* @__PURE__ */ jsxs10("div", { className: getMargin(margin), children: [
1985
- /* @__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 }),
1986
2199
  items.map((item) => {
1987
2200
  var _a, _b;
1988
2201
  const {
@@ -1999,8 +2212,8 @@ var ListRenderer = {
1999
2212
  ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
2000
2213
  fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
2001
2214
  };
2002
- return /* @__PURE__ */ jsx46(
2003
- ListItem7,
2215
+ return /* @__PURE__ */ jsx48(
2216
+ ListItem8,
2004
2217
  {
2005
2218
  title: itemTitle,
2006
2219
  subtitle: description,
@@ -2020,10 +2233,10 @@ var ListRenderer_default = ListRenderer;
2020
2233
 
2021
2234
  // ../renderers/src/LoadingIndicatorRenderer.tsx
2022
2235
  import { Loader } from "@transferwise/components";
2023
- import { jsx as jsx47 } from "react/jsx-runtime";
2236
+ import { jsx as jsx49 } from "react/jsx-runtime";
2024
2237
  var LoadingIndicatorRenderer = {
2025
2238
  canRenderType: "loading-indicator",
2026
- render: ({ margin, size }) => /* @__PURE__ */ jsx47(
2239
+ render: ({ margin, size }) => /* @__PURE__ */ jsx49(
2027
2240
  Loader,
2028
2241
  {
2029
2242
  size,
@@ -2036,10 +2249,10 @@ var LoadingIndicatorRenderer_default = LoadingIndicatorRenderer;
2036
2249
 
2037
2250
  // ../renderers/src/MarkdownRenderer.tsx
2038
2251
  import { Markdown as Markdown3 } from "@transferwise/components";
2039
- import { jsx as jsx48 } from "react/jsx-runtime";
2252
+ import { jsx as jsx50 } from "react/jsx-runtime";
2040
2253
  var MarkdownRenderer = {
2041
2254
  canRenderType: "markdown",
2042
- 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(
2043
2256
  Markdown3,
2044
2257
  {
2045
2258
  className: ["xs", "sm"].includes(size) ? "np-text-body-default" : "np-text-body-large",
@@ -2051,16 +2264,16 @@ var MarkdownRenderer = {
2051
2264
  var MarkdownRenderer_default = MarkdownRenderer;
2052
2265
 
2053
2266
  // ../renderers/src/MediaRenderer.tsx
2054
- import { jsx as jsx49 } from "react/jsx-runtime";
2267
+ import { jsx as jsx51 } from "react/jsx-runtime";
2055
2268
  var MediaRenderer = {
2056
2269
  canRenderType: "media",
2057
2270
  render: (_a) => {
2058
2271
  var _b = _a, { media } = _b, rest = __objRest(_b, ["media"]);
2059
2272
  switch (media.type) {
2060
2273
  case "avatar":
2061
- return /* @__PURE__ */ jsx49(AvatarMediaRendererComponent, __spreadValues({ media }, rest));
2274
+ return /* @__PURE__ */ jsx51(AvatarMediaRendererComponent, __spreadValues({ media }, rest));
2062
2275
  case "image":
2063
- return /* @__PURE__ */ jsx49(ImageMediaRendererComponent, __spreadValues({ media }, rest));
2276
+ return /* @__PURE__ */ jsx51(ImageMediaRendererComponent, __spreadValues({ media }, rest));
2064
2277
  case "legacy":
2065
2278
  return null;
2066
2279
  }
@@ -2072,7 +2285,7 @@ var AvatarMediaRendererComponent = ({
2072
2285
  margin,
2073
2286
  size
2074
2287
  }) => {
2075
- 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) }) });
2076
2289
  };
2077
2290
  var ImageMediaRendererComponent = (_a) => {
2078
2291
  var _b = _a, {
@@ -2080,7 +2293,7 @@ var ImageMediaRendererComponent = (_a) => {
2080
2293
  } = _b, rest = __objRest(_b, [
2081
2294
  "media"
2082
2295
  ]);
2083
- 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));
2084
2297
  };
2085
2298
  var mapAvatarMediaSize = (size) => {
2086
2299
  switch (size) {
@@ -2098,20 +2311,20 @@ var mapAvatarMediaSize = (size) => {
2098
2311
  };
2099
2312
 
2100
2313
  // ../renderers/src/ModalLayoutRenderer.tsx
2101
- import { Button as Button4, Modal as Modal2 } from "@transferwise/components";
2102
- import { useState as useState7 } from "react";
2103
- 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";
2104
2317
  var ModalLayoutRenderer = {
2105
2318
  canRenderType: "modal-layout",
2106
- render: (props) => /* @__PURE__ */ jsx50(DFModal, __spreadValues({}, props))
2319
+ render: (props) => /* @__PURE__ */ jsx52(DFModal, __spreadValues({}, props))
2107
2320
  };
2108
2321
  var ModalLayoutRenderer_default = ModalLayoutRenderer;
2109
2322
  function DFModal({ content, margin, trigger }) {
2110
- const [visible, setVisible] = useState7(false);
2323
+ const [visible, setVisible] = useState8(false);
2111
2324
  const { children, title } = content;
2112
- return /* @__PURE__ */ jsxs11("div", { className: getMargin(margin), children: [
2113
- /* @__PURE__ */ jsx50(Button4, { v2: true, priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
2114
- /* @__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(
2115
2328
  Modal2,
2116
2329
  {
2117
2330
  scroll: "content",
@@ -2127,19 +2340,19 @@ function DFModal({ content, margin, trigger }) {
2127
2340
 
2128
2341
  // ../renderers/src/ModalRenderer.tsx
2129
2342
  import { Modal as Modal3 } from "@transferwise/components";
2130
- import { jsx as jsx51 } from "react/jsx-runtime";
2343
+ import { jsx as jsx53 } from "react/jsx-runtime";
2131
2344
  var ModalRenderer = {
2132
2345
  canRenderType: "modal",
2133
2346
  render: ({ title, children, open, onClose }) => {
2134
- return /* @__PURE__ */ jsx51(Modal3, { open, title, body: children, onClose });
2347
+ return /* @__PURE__ */ jsx53(Modal3, { open, title, body: children, onClose });
2135
2348
  }
2136
2349
  };
2137
2350
 
2138
2351
  // ../renderers/src/MoneyInputRenderer.tsx
2139
2352
  import { MoneyInput } from "@transferwise/components";
2140
- import { useEffect as useEffect6 } from "react";
2141
- import { useIntl as useIntl6 } from "react-intl";
2142
- 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";
2143
2356
  var groupingTags2 = Object.keys(group_messages_default).filter((key) => key !== "all");
2144
2357
  var MoneyInputRenderer = {
2145
2358
  canRenderType: "money-input",
@@ -2160,13 +2373,13 @@ function MoneyInputRendererComponent(props) {
2160
2373
  onAmountChange,
2161
2374
  onCurrencyChange
2162
2375
  } = props;
2163
- useEffect6(() => {
2376
+ useEffect8(() => {
2164
2377
  if (!isValidIndex(selectedCurrencyIndex, currencies.length)) {
2165
2378
  onCurrencyChange(0);
2166
2379
  }
2167
2380
  }, [selectedCurrencyIndex, onCurrencyChange, currencies.length]);
2168
- const { formatMessage } = useIntl6();
2169
- return /* @__PURE__ */ jsx52(
2381
+ const { formatMessage } = useIntl7();
2382
+ return /* @__PURE__ */ jsx54(
2170
2383
  FieldInput_default,
2171
2384
  {
2172
2385
  id: uid,
@@ -2174,7 +2387,7 @@ function MoneyInputRendererComponent(props) {
2174
2387
  description,
2175
2388
  validation: validationState,
2176
2389
  help,
2177
- children: /* @__PURE__ */ jsx52(
2390
+ children: /* @__PURE__ */ jsx54(
2178
2391
  MoneyInput,
2179
2392
  {
2180
2393
  amount: parseFloatOrNull(amountValue),
@@ -2235,10 +2448,10 @@ function assertCurrencyCodeIsString(currencyCode) {
2235
2448
  }
2236
2449
  }
2237
2450
 
2238
- // ../renderers/src/MultiSelectInputRenderer/InlineMultiSelectInputRendererComponent.tsx
2239
- import { ListItem as ListItem8 } from "@transferwise/components";
2240
- import { jsx as jsx53 } from "react/jsx-runtime";
2241
- function InlineMultiSelectInputRendererComponent(props) {
2451
+ // ../renderers/src/MultiSelectInputRenderer/InlineComponent.tsx
2452
+ import { ListItem as ListItem9 } from "@transferwise/components";
2453
+ import { jsx as jsx55 } from "react/jsx-runtime";
2454
+ function InlineComponent(props) {
2242
2455
  const {
2243
2456
  id,
2244
2457
  description,
@@ -2250,7 +2463,7 @@ function InlineMultiSelectInputRendererComponent(props) {
2250
2463
  validationState,
2251
2464
  onSelect
2252
2465
  } = props;
2253
- return /* @__PURE__ */ jsx53(
2466
+ return /* @__PURE__ */ jsx55(
2254
2467
  FieldInput_default,
2255
2468
  {
2256
2469
  id,
@@ -2271,8 +2484,8 @@ function InlineMultiSelectInputRendererComponent(props) {
2271
2484
  childrenProps
2272
2485
  } = option;
2273
2486
  const key = (_a = childrenProps == null ? void 0 : childrenProps.uid) != null ? _a : index;
2274
- return /* @__PURE__ */ jsx53(
2275
- ListItem8,
2487
+ return /* @__PURE__ */ jsx55(
2488
+ ListItem9,
2276
2489
  {
2277
2490
  title: itemTitle,
2278
2491
  subtitle,
@@ -2280,10 +2493,10 @@ function InlineMultiSelectInputRendererComponent(props) {
2280
2493
  valueSubtitle: supportingValues == null ? void 0 : supportingValues.subvalue,
2281
2494
  media: getMedia(media, false),
2282
2495
  prompt: getInlineAlert(inlineAlert),
2283
- additionalInfo: additionalText ? /* @__PURE__ */ jsx53(ListItem8.AdditionalInfo, { children: additionalText }) : void 0,
2496
+ additionalInfo: additionalText ? /* @__PURE__ */ jsx55(ListItem9.AdditionalInfo, { children: additionalText }) : void 0,
2284
2497
  disabled: disabled || optionDisabled,
2285
- control: /* @__PURE__ */ jsx53(
2286
- ListItem8.Checkbox,
2498
+ control: /* @__PURE__ */ jsx55(
2499
+ ListItem9.Checkbox,
2287
2500
  {
2288
2501
  checked: selectedIndices.includes(index),
2289
2502
  onChange: (e) => {
@@ -2300,14 +2513,14 @@ function InlineMultiSelectInputRendererComponent(props) {
2300
2513
  );
2301
2514
  }
2302
2515
 
2303
- // ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRendererComponent.tsx
2516
+ // ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
2304
2517
  import { SelectInput, SelectInputOptionContent } from "@transferwise/components";
2305
- import { useState as useState8 } from "react";
2306
- import { useIntl as useIntl7 } from "react-intl";
2518
+ import { useState as useState9 } from "react";
2519
+ import { useIntl as useIntl8 } from "react-intl";
2307
2520
 
2308
2521
  // ../renderers/src/messages/multi-select.messages.ts
2309
- import { defineMessages as defineMessages6 } from "react-intl";
2310
- var multi_select_messages_default = defineMessages6({
2522
+ import { defineMessages as defineMessages7 } from "react-intl";
2523
+ var multi_select_messages_default = defineMessages7({
2311
2524
  summary: {
2312
2525
  id: "df.wise.MultiSelect.summary",
2313
2526
  defaultMessage: "{first} and {count} more",
@@ -2315,11 +2528,11 @@ var multi_select_messages_default = defineMessages6({
2315
2528
  }
2316
2529
  });
2317
2530
 
2318
- // ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRendererComponent.tsx
2319
- import { jsx as jsx54 } from "react/jsx-runtime";
2320
- function MultiSelectInputRendererComponent(props) {
2321
- const { formatMessage } = useIntl7();
2322
- const [stagedIndices, setStagedIndices] = useState8();
2531
+ // ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
2532
+ import { jsx as jsx56 } from "react/jsx-runtime";
2533
+ function DefaultComponent(props) {
2534
+ const { formatMessage } = useIntl8();
2535
+ const [stagedIndices, setStagedIndices] = useState9();
2323
2536
  const {
2324
2537
  id,
2325
2538
  autoComplete,
@@ -2357,12 +2570,12 @@ function MultiSelectInputRendererComponent(props) {
2357
2570
  const contentProps = {
2358
2571
  title: option.title,
2359
2572
  description: option.description,
2360
- icon: /* @__PURE__ */ jsx54(OptionMedia, { media: option.media, preferAvatar: false })
2573
+ icon: /* @__PURE__ */ jsx56(OptionMedia, { media: option.media, preferAvatar: false })
2361
2574
  };
2362
- return /* @__PURE__ */ jsx54(SelectInputOptionContent, __spreadValues({}, contentProps));
2575
+ return /* @__PURE__ */ jsx56(SelectInputOptionContent, __spreadValues({}, contentProps));
2363
2576
  };
2364
2577
  const extraProps = { autoComplete };
2365
- return /* @__PURE__ */ jsx54(
2578
+ return /* @__PURE__ */ jsx56(
2366
2579
  FieldInput_default,
2367
2580
  {
2368
2581
  id,
@@ -2370,7 +2583,7 @@ function MultiSelectInputRendererComponent(props) {
2370
2583
  help,
2371
2584
  description,
2372
2585
  validation: validationState,
2373
- children: /* @__PURE__ */ jsx54(
2586
+ children: /* @__PURE__ */ jsx56(
2374
2587
  SelectInput,
2375
2588
  __spreadValues({
2376
2589
  id,
@@ -2408,12 +2621,68 @@ function MultiSelectInputRendererComponent(props) {
2408
2621
  );
2409
2622
  }
2410
2623
 
2624
+ // ../renderers/src/MultiSelectInputRenderer/InlineCheckboxComponent.tsx
2625
+ import { Checkbox as Checkbox2 } from "@transferwise/components";
2626
+ import { jsx as jsx57 } from "react/jsx-runtime";
2627
+ function InlineCheckboxComponent(props) {
2628
+ const {
2629
+ id,
2630
+ description,
2631
+ disabled,
2632
+ help,
2633
+ options,
2634
+ selectedIndices,
2635
+ title,
2636
+ validationState,
2637
+ onSelect
2638
+ } = props;
2639
+ return /* @__PURE__ */ jsx57(
2640
+ FieldInput_default,
2641
+ {
2642
+ id,
2643
+ label: title,
2644
+ help,
2645
+ description,
2646
+ validation: validationState,
2647
+ children: options.map((option, index) => {
2648
+ var _a;
2649
+ const {
2650
+ title: label,
2651
+ description: secondary,
2652
+ disabled: optionDisabled,
2653
+ childrenProps
2654
+ } = option;
2655
+ const key = (_a = childrenProps == null ? void 0 : childrenProps.uid) != null ? _a : index;
2656
+ const checkboxProps = {
2657
+ id,
2658
+ label,
2659
+ secondary,
2660
+ checked: selectedIndices.includes(index),
2661
+ disabled: disabled || optionDisabled,
2662
+ onChange: () => {
2663
+ const newSelectedIndices = selectedIndices.includes(index) ? selectedIndices.filter((i) => i !== index) : [...selectedIndices, index];
2664
+ onSelect(newSelectedIndices);
2665
+ }
2666
+ };
2667
+ return /* @__PURE__ */ jsx57(Checkbox2, __spreadProps(__spreadValues({}, checkboxProps), { className: "m-t-1" }), key);
2668
+ })
2669
+ }
2670
+ );
2671
+ }
2672
+
2411
2673
  // ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRenderer.tsx
2412
- import { jsx as jsx55 } from "react/jsx-runtime";
2674
+ import { jsx as jsx58 } from "react/jsx-runtime";
2413
2675
  var MultiSelectInputRenderer = {
2414
2676
  canRenderType: "input-multi-select",
2415
2677
  render: (props) => {
2416
- return props.control === "inline" ? /* @__PURE__ */ jsx55(InlineMultiSelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx55(MultiSelectInputRendererComponent, __spreadValues({}, props));
2678
+ switch (props.control) {
2679
+ case "inline":
2680
+ return /* @__PURE__ */ jsx58(InlineComponent, __spreadValues({}, props));
2681
+ case "inline-checkbox-group":
2682
+ return /* @__PURE__ */ jsx58(InlineCheckboxComponent, __spreadValues({}, props));
2683
+ default:
2684
+ return /* @__PURE__ */ jsx58(DefaultComponent, __spreadValues({}, props));
2685
+ }
2417
2686
  }
2418
2687
  };
2419
2688
 
@@ -2423,7 +2692,7 @@ import { Status, UploadInput } from "@transferwise/components";
2423
2692
  // ../renderers/src/components/UploadFieldInput.tsx
2424
2693
  var import_classnames4 = __toESM(require_classnames());
2425
2694
  import { InlineAlert as InlineAlert2 } from "@transferwise/components";
2426
- import { jsx as jsx56, jsxs as jsxs12 } from "react/jsx-runtime";
2695
+ import { jsx as jsx59, jsxs as jsxs14 } from "react/jsx-runtime";
2427
2696
  function UploadFieldInput({
2428
2697
  id,
2429
2698
  children,
@@ -2432,18 +2701,18 @@ function UploadFieldInput({
2432
2701
  help,
2433
2702
  validation
2434
2703
  }) {
2435
- const labelContent = label && help ? /* @__PURE__ */ jsx56(LabelContentWithHelp, { text: label, help }) : label;
2704
+ const labelContent = label && help ? /* @__PURE__ */ jsx59(LabelContentWithHelp, { text: label, help }) : label;
2436
2705
  const descriptionId = description ? `${id}-description` : void 0;
2437
- return /* @__PURE__ */ jsxs12(
2706
+ return /* @__PURE__ */ jsxs14(
2438
2707
  "div",
2439
2708
  {
2440
2709
  className: (0, import_classnames4.default)("form-group d-block", {
2441
2710
  "has-error": (validation == null ? void 0 : validation.status) === "invalid"
2442
2711
  }),
2443
2712
  children: [
2444
- /* @__PURE__ */ jsx56("label", { htmlFor: id, className: "control-label", children: labelContent }),
2713
+ /* @__PURE__ */ jsx59("label", { htmlFor: id, className: "control-label", children: labelContent }),
2445
2714
  children,
2446
- (validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx56(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 })
2447
2716
  ]
2448
2717
  }
2449
2718
  );
@@ -2478,7 +2747,7 @@ var getSizeLimit = (maxSize) => {
2478
2747
  };
2479
2748
 
2480
2749
  // ../renderers/src/MultiUploadInputRenderer.tsx
2481
- import { jsx as jsx57 } from "react/jsx-runtime";
2750
+ import { jsx as jsx60 } from "react/jsx-runtime";
2482
2751
  var MultiUploadInputRenderer = {
2483
2752
  canRenderType: "input-upload-multi",
2484
2753
  render: (props) => {
@@ -2503,7 +2772,7 @@ var MultiUploadInputRenderer = {
2503
2772
  };
2504
2773
  const onDeleteFile = async (fileId) => onRemoveFile(value.findIndex((file) => file.id === fileId));
2505
2774
  const descriptionId = description ? `${id}-description` : void 0;
2506
- return /* @__PURE__ */ jsx57(
2775
+ return /* @__PURE__ */ jsx60(
2507
2776
  UploadFieldInput_default,
2508
2777
  {
2509
2778
  id,
@@ -2511,7 +2780,7 @@ var MultiUploadInputRenderer = {
2511
2780
  description,
2512
2781
  validation: validationState,
2513
2782
  help,
2514
- children: /* @__PURE__ */ jsx57(
2783
+ children: /* @__PURE__ */ jsx60(
2515
2784
  UploadInput,
2516
2785
  {
2517
2786
  id,
@@ -2539,8 +2808,8 @@ var MultiUploadInputRenderer = {
2539
2808
  var MultiUploadInputRenderer_default = MultiUploadInputRenderer;
2540
2809
 
2541
2810
  // ../renderers/src/NumberInputRenderer.tsx
2542
- import { Input as Input2, InputGroup as InputGroup2 } from "@transferwise/components";
2543
- import { jsx as jsx58 } from "react/jsx-runtime";
2811
+ import { Input as Input3, InputGroup as InputGroup3 } from "@transferwise/components";
2812
+ import { jsx as jsx61 } from "react/jsx-runtime";
2544
2813
  var NumberInputRenderer = {
2545
2814
  canRenderType: "input-number",
2546
2815
  render: (props) => {
@@ -2554,7 +2823,7 @@ var NumberInputRenderer = {
2554
2823
  "maximum",
2555
2824
  "minimum"
2556
2825
  );
2557
- return /* @__PURE__ */ jsx58(
2826
+ return /* @__PURE__ */ jsx61(
2558
2827
  FieldInput_default,
2559
2828
  {
2560
2829
  id,
@@ -2562,8 +2831,8 @@ var NumberInputRenderer = {
2562
2831
  description,
2563
2832
  validation: validationState,
2564
2833
  help,
2565
- children: /* @__PURE__ */ jsx58(InputGroup2, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx58(
2566
- Input2,
2834
+ children: /* @__PURE__ */ jsx61(InputGroup3, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx61(
2835
+ Input3,
2567
2836
  __spreadValues({
2568
2837
  id,
2569
2838
  name: id,
@@ -2583,7 +2852,7 @@ var NumberInputRenderer = {
2583
2852
  var NumberInputRenderer_default = NumberInputRenderer;
2584
2853
 
2585
2854
  // ../renderers/src/ParagraphRenderer.tsx
2586
- import { useIntl as useIntl8 } from "react-intl";
2855
+ import { useIntl as useIntl9 } from "react-intl";
2587
2856
 
2588
2857
  // ../renderers/src/hooks/useSnackBarIfAvailable.ts
2589
2858
  import { SnackbarContext } from "@transferwise/components";
@@ -2596,11 +2865,11 @@ function useSnackBarIfAvailable() {
2596
2865
 
2597
2866
  // ../renderers/src/ParagraphRenderer.tsx
2598
2867
  var import_classnames5 = __toESM(require_classnames());
2599
- import { Button as Button5, Input as Input3 } from "@transferwise/components";
2868
+ import { Button as Button6, Input as Input4 } from "@transferwise/components";
2600
2869
 
2601
2870
  // ../renderers/src/messages/paragraph.messages.ts
2602
- import { defineMessages as defineMessages7 } from "react-intl";
2603
- var paragraph_messages_default = defineMessages7({
2871
+ import { defineMessages as defineMessages8 } from "react-intl";
2872
+ var paragraph_messages_default = defineMessages8({
2604
2873
  copy: {
2605
2874
  id: "df.wise.DynamicParagraph.copy",
2606
2875
  defaultMessage: "Copy",
@@ -2614,14 +2883,14 @@ var paragraph_messages_default = defineMessages7({
2614
2883
  });
2615
2884
 
2616
2885
  // ../renderers/src/ParagraphRenderer.tsx
2617
- import { jsx as jsx59, jsxs as jsxs13 } from "react/jsx-runtime";
2886
+ import { jsx as jsx62, jsxs as jsxs15 } from "react/jsx-runtime";
2618
2887
  var ParagraphRenderer = {
2619
2888
  canRenderType: "paragraph",
2620
- render: (props) => /* @__PURE__ */ jsx59(Paragraph, __spreadValues({}, props))
2889
+ render: (props) => /* @__PURE__ */ jsx62(Paragraph, __spreadValues({}, props))
2621
2890
  };
2622
2891
  function Paragraph({ align, control, margin, size, text }) {
2623
2892
  const className = getTextAlignmentAndMargin({ align, margin });
2624
- return control === "copyable" ? /* @__PURE__ */ jsx59(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx59(
2893
+ return control === "copyable" ? /* @__PURE__ */ jsx62(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx62(
2625
2894
  "p",
2626
2895
  {
2627
2896
  className: `${["xs", "sm"].includes(size) ? "np-text-body-default" : "np-text-body-large"} ${className}`,
@@ -2634,16 +2903,16 @@ function CopyableParagraph({
2634
2903
  align,
2635
2904
  className
2636
2905
  }) {
2637
- const { formatMessage } = useIntl8();
2906
+ const { formatMessage } = useIntl9();
2638
2907
  const createSnackbar = useSnackBarIfAvailable();
2639
2908
  const copy = () => {
2640
2909
  navigator.clipboard.writeText(text).then(() => createSnackbar({ text: formatMessage(paragraph_messages_default.copied) })).catch(() => {
2641
2910
  });
2642
2911
  };
2643
2912
  const inputAlignmentClasses = getTextAlignmentAndMargin({ align, margin: "sm" });
2644
- return /* @__PURE__ */ jsxs13("div", { className, children: [
2645
- /* @__PURE__ */ jsx59(
2646
- Input3,
2913
+ return /* @__PURE__ */ jsxs15("div", { className, children: [
2914
+ /* @__PURE__ */ jsx62(
2915
+ Input4,
2647
2916
  {
2648
2917
  type: "text",
2649
2918
  value: text,
@@ -2651,23 +2920,23 @@ function CopyableParagraph({
2651
2920
  className: (0, import_classnames5.default)("text-ellipsis", inputAlignmentClasses)
2652
2921
  }
2653
2922
  ),
2654
- /* @__PURE__ */ jsx59(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) })
2655
2924
  ] });
2656
2925
  }
2657
2926
  var ParagraphRenderer_default = ParagraphRenderer;
2658
2927
 
2659
2928
  // ../renderers/src/ProgressRenderer.tsx
2660
2929
  import { ProgressBar } from "@transferwise/components";
2661
- import { jsx as jsx60 } from "react/jsx-runtime";
2930
+ import { jsx as jsx63 } from "react/jsx-runtime";
2662
2931
  var ProgressRenderer = {
2663
2932
  canRenderType: "progress",
2664
2933
  render: ({ uid, title, help, progress, progressText, margin, description }) => {
2665
- return /* @__PURE__ */ jsx60(
2934
+ return /* @__PURE__ */ jsx63(
2666
2935
  ProgressBar,
2667
2936
  {
2668
2937
  id: uid,
2669
2938
  className: getMargin(margin),
2670
- title: title && help ? /* @__PURE__ */ jsx60(LabelContentWithHelp, { text: title, help }) : title,
2939
+ title: title && help ? /* @__PURE__ */ jsx63(LabelContentWithHelp, { text: title, help }) : title,
2671
2940
  description,
2672
2941
  progress: {
2673
2942
  max: 1,
@@ -2681,14 +2950,14 @@ var ProgressRenderer = {
2681
2950
 
2682
2951
  // ../renderers/src/RepeatableRenderer.tsx
2683
2952
  var import_classnames6 = __toESM(require_classnames());
2684
- 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";
2685
2954
  import { Plus } from "@transferwise/icons";
2686
- import { useState as useState9 } from "react";
2687
- import { useIntl as useIntl9 } from "react-intl";
2955
+ import { useState as useState10 } from "react";
2956
+ import { useIntl as useIntl10 } from "react-intl";
2688
2957
 
2689
2958
  // ../renderers/src/messages/repeatable.messages.ts
2690
- import { defineMessages as defineMessages8 } from "react-intl";
2691
- var repeatable_messages_default = defineMessages8({
2959
+ import { defineMessages as defineMessages9 } from "react-intl";
2960
+ var repeatable_messages_default = defineMessages9({
2692
2961
  addItemTitle: {
2693
2962
  id: "df.wise.ArraySchema.addItemTitle",
2694
2963
  defaultMessage: "Add Item",
@@ -2712,10 +2981,10 @@ var repeatable_messages_default = defineMessages8({
2712
2981
  });
2713
2982
 
2714
2983
  // ../renderers/src/RepeatableRenderer.tsx
2715
- import { Fragment as Fragment5, jsx as jsx61, jsxs as jsxs14 } from "react/jsx-runtime";
2984
+ import { Fragment as Fragment7, jsx as jsx64, jsxs as jsxs16 } from "react/jsx-runtime";
2716
2985
  var RepeatableRenderer = {
2717
2986
  canRenderType: "repeatable",
2718
- render: (props) => /* @__PURE__ */ jsx61(Repeatable, __spreadValues({}, props))
2987
+ render: (props) => /* @__PURE__ */ jsx64(Repeatable, __spreadValues({}, props))
2719
2988
  };
2720
2989
  function Repeatable(props) {
2721
2990
  const {
@@ -2731,8 +3000,8 @@ function Repeatable(props) {
2731
3000
  onSave,
2732
3001
  onRemove
2733
3002
  } = props;
2734
- const { formatMessage } = useIntl9();
2735
- const [openModalType, setOpenModalType] = useState9(null);
3003
+ const { formatMessage } = useIntl10();
3004
+ const [openModalType, setOpenModalType] = useState10(null);
2736
3005
  const onAddItem = () => {
2737
3006
  onAdd();
2738
3007
  setOpenModalType("add");
@@ -2754,41 +3023,41 @@ function Repeatable(props) {
2754
3023
  const onCancelEdit = () => {
2755
3024
  setOpenModalType(null);
2756
3025
  };
2757
- return /* @__PURE__ */ jsxs14(Fragment5, { children: [
2758
- title && /* @__PURE__ */ jsx61(Header6, { title }),
2759
- description && /* @__PURE__ */ jsx61("p", { children: description }),
2760
- /* @__PURE__ */ jsxs14(
3026
+ return /* @__PURE__ */ jsxs16(Fragment7, { children: [
3027
+ title && /* @__PURE__ */ jsx64(Header6, { title }),
3028
+ description && /* @__PURE__ */ jsx64("p", { children: description }),
3029
+ /* @__PURE__ */ jsxs16(
2761
3030
  "div",
2762
3031
  {
2763
3032
  className: (0, import_classnames6.default)("form-group", {
2764
3033
  "has-error": (validationState == null ? void 0 : validationState.status) === "invalid"
2765
3034
  }),
2766
3035
  children: [
2767
- items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx61(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
2768
- /* @__PURE__ */ jsx61(
3036
+ items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx64(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
3037
+ /* @__PURE__ */ jsx64(
2769
3038
  NavigationOption,
2770
3039
  {
2771
- media: /* @__PURE__ */ jsx61(Plus, {}),
3040
+ media: /* @__PURE__ */ jsx64(Plus, {}),
2772
3041
  title: addItemTitle || formatMessage(repeatable_messages_default.addItemTitle),
2773
3042
  showMediaAtAllSizes: true,
2774
3043
  onClick: () => onAddItem()
2775
3044
  }
2776
3045
  ),
2777
- (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx61(InlineAlert3, { type: "negative", children: validationState.message })
3046
+ (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx64(InlineAlert3, { type: "negative", children: validationState.message })
2778
3047
  ]
2779
3048
  }
2780
3049
  ),
2781
- /* @__PURE__ */ jsx61(
3050
+ /* @__PURE__ */ jsx64(
2782
3051
  Modal4,
2783
3052
  {
2784
3053
  open: openModalType !== null,
2785
3054
  title: (openModalType === "add" ? addItemTitle : editItemTitle) || formatMessage(repeatable_messages_default.addItemTitle),
2786
- body: /* @__PURE__ */ jsxs14(Fragment5, { children: [
2787
- /* @__PURE__ */ jsx61("div", { className: "m-b-2", children: editableItem }),
2788
- /* @__PURE__ */ jsxs14("div", { children: [
2789
- /* @__PURE__ */ jsx61(Button6, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
2790
- /* @__PURE__ */ jsx61(
2791
- 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,
2792
3061
  {
2793
3062
  v2: true,
2794
3063
  priority: "secondary",
@@ -2809,10 +3078,10 @@ function ItemSummaryOption({
2809
3078
  item,
2810
3079
  onClick
2811
3080
  }) {
2812
- return /* @__PURE__ */ jsx61(
3081
+ return /* @__PURE__ */ jsx64(
2813
3082
  NavigationOption,
2814
3083
  {
2815
- media: /* @__PURE__ */ jsx61(OptionMedia, { media: item.media, preferAvatar: false }),
3084
+ media: /* @__PURE__ */ jsx64(OptionMedia, { media: item.media, preferAvatar: false }),
2816
3085
  title: item.title,
2817
3086
  content: item.description,
2818
3087
  showMediaAtAllSizes: true,
@@ -2825,14 +3094,14 @@ var RepeatableRenderer_default = RepeatableRenderer;
2825
3094
 
2826
3095
  // ../renderers/src/ReviewLegacyRenderer.tsx
2827
3096
  import { DefinitionList } from "@transferwise/components";
2828
- import { Fragment as Fragment6, jsx as jsx62, jsxs as jsxs15 } from "react/jsx-runtime";
3097
+ import { Fragment as Fragment8, jsx as jsx65, jsxs as jsxs17 } from "react/jsx-runtime";
2829
3098
  var ReviewRenderer = {
2830
3099
  canRenderType: "review",
2831
3100
  render: ({ callToAction, control, fields, margin, title, trackEvent }) => {
2832
3101
  const orientation = mapControlToDefinitionListLayout(control);
2833
- return /* @__PURE__ */ jsxs15("div", { className: getMargin(margin), children: [
2834
- /* @__PURE__ */ jsx62(Header5, { title, callToAction }),
2835
- /* @__PURE__ */ jsx62("div", { className: margin, children: /* @__PURE__ */ jsx62(
3102
+ return /* @__PURE__ */ jsxs17("div", { className: getMargin(margin), children: [
3103
+ /* @__PURE__ */ jsx65(Header, { title, callToAction }),
3104
+ /* @__PURE__ */ jsx65("div", { className: margin, children: /* @__PURE__ */ jsx65(
2836
3105
  DefinitionList,
2837
3106
  {
2838
3107
  layout: orientation,
@@ -2870,20 +3139,20 @@ var mapControlToDefinitionListLayout = (control) => {
2870
3139
  };
2871
3140
  var getFieldLabel = (label, help, onClick) => {
2872
3141
  if (help) {
2873
- return /* @__PURE__ */ jsxs15(Fragment6, { children: [
3142
+ return /* @__PURE__ */ jsxs17(Fragment8, { children: [
2874
3143
  label,
2875
3144
  " ",
2876
- /* @__PURE__ */ jsx62(Help_default, { help, onClick })
3145
+ /* @__PURE__ */ jsx65(Help_default, { help, onClick })
2877
3146
  ] });
2878
3147
  }
2879
3148
  return label;
2880
3149
  };
2881
3150
 
2882
3151
  // ../renderers/src/ReviewRenderer.tsx
2883
- import { ListItem as ListItem9, Markdown as Markdown4, Popover } from "@transferwise/components";
3152
+ import { ListItem as ListItem10, Markdown as Markdown4, Popover } from "@transferwise/components";
2884
3153
  import { QuestionMarkCircle } from "@transferwise/icons";
2885
- import { useIntl as useIntl10 } from "react-intl";
2886
- import { jsx as jsx63, 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";
2887
3156
  var IGNORED_CONTROLS = [
2888
3157
  "horizontal",
2889
3158
  "horizontal-end-aligned",
@@ -2893,7 +3162,7 @@ var IGNORED_CONTROLS = [
2893
3162
  var ReviewRenderer2 = {
2894
3163
  canRenderType: "review",
2895
3164
  canRender: ({ control }) => control ? !IGNORED_CONTROLS.includes(control) : true,
2896
- render: (props) => /* @__PURE__ */ jsx63(Review, __spreadValues({}, props))
3165
+ render: (props) => /* @__PURE__ */ jsx66(Review, __spreadValues({}, props))
2897
3166
  };
2898
3167
  var Review = ({
2899
3168
  callToAction,
@@ -2904,9 +3173,9 @@ var Review = ({
2904
3173
  title,
2905
3174
  trackEvent
2906
3175
  }) => {
2907
- const intl = useIntl10();
2908
- return /* @__PURE__ */ jsxs16("div", { className: getMargin(margin), children: [
2909
- /* @__PURE__ */ jsx63(Header5, { title, callToAction }),
3176
+ const intl = useIntl11();
3177
+ return /* @__PURE__ */ jsxs18("div", { className: getMargin(margin), children: [
3178
+ /* @__PURE__ */ jsx66(Header, { title, callToAction }),
2910
3179
  fields.map((field) => {
2911
3180
  var _a, _b, _c;
2912
3181
  const {
@@ -2924,8 +3193,8 @@ var Review = ({
2924
3193
  ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
2925
3194
  fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
2926
3195
  };
2927
- return /* @__PURE__ */ jsx63(
2928
- ListItem9,
3196
+ return /* @__PURE__ */ jsx66(
3197
+ ListItem10,
2929
3198
  {
2930
3199
  title: value,
2931
3200
  subtitle: label,
@@ -2945,18 +3214,18 @@ var Review = ({
2945
3214
  ] });
2946
3215
  };
2947
3216
  var getHelpControl = (help, ariaLabel, onClick) => {
2948
- return /* @__PURE__ */ jsx63(Popover, { content: /* @__PURE__ */ jsx63(Markdown4, { config: { link: { target: "_blank" } }, children: help }), children: /* @__PURE__ */ jsx63(ListItem9.IconButton, { partiallyInteractive: true, "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx63(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, {}) }) });
2949
3218
  };
2950
3219
  var ReviewRenderer_default = ReviewRenderer2;
2951
3220
 
2952
3221
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
2953
- import { Input as Input4, InputGroup as InputGroup3, List, ListItem as ListItem10, Markdown as Markdown5 } from "@transferwise/components";
2954
- import { useState as useState10 } from "react";
2955
- 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";
2956
3225
 
2957
3226
  // ../renderers/src/messages/search.messages.ts
2958
- import { defineMessages as defineMessages9 } from "react-intl";
2959
- var search_messages_default = defineMessages9({
3227
+ import { defineMessages as defineMessages10 } from "react-intl";
3228
+ var search_messages_default = defineMessages10({
2960
3229
  loading: {
2961
3230
  id: "df.wise.SearchLayout.loading",
2962
3231
  defaultMessage: "Loading...",
@@ -2965,11 +3234,11 @@ var search_messages_default = defineMessages9({
2965
3234
  });
2966
3235
 
2967
3236
  // ../renderers/src/SearchRenderer/ErrorResult.tsx
2968
- import { useIntl as useIntl11 } from "react-intl";
3237
+ import { useIntl as useIntl12 } from "react-intl";
2969
3238
 
2970
3239
  // ../renderers/src/messages/generic-error.messages.ts
2971
- import { defineMessages as defineMessages10 } from "react-intl";
2972
- var generic_error_messages_default = defineMessages10({
3240
+ import { defineMessages as defineMessages11 } from "react-intl";
3241
+ var generic_error_messages_default = defineMessages11({
2973
3242
  genericErrorRetryHint: {
2974
3243
  id: "df.wise.PersistAsyncSchema.genericError",
2975
3244
  defaultMessage: "Something went wrong, please try again.",
@@ -2989,19 +3258,19 @@ var generic_error_messages_default = defineMessages10({
2989
3258
 
2990
3259
  // ../renderers/src/SearchRenderer/ErrorResult.tsx
2991
3260
  import { Link } from "@transferwise/components";
2992
- import { jsx as jsx64, jsxs as jsxs17 } from "react/jsx-runtime";
3261
+ import { jsx as jsx67, jsxs as jsxs19 } from "react/jsx-runtime";
2993
3262
  function ErrorResult({ state }) {
2994
- const intl = useIntl11();
2995
- return /* @__PURE__ */ jsxs17("p", { className: "m-t-2", children: [
3263
+ const intl = useIntl12();
3264
+ return /* @__PURE__ */ jsxs19("p", { className: "m-t-2", children: [
2996
3265
  intl.formatMessage(generic_error_messages_default.genericError),
2997
3266
  "\xA0",
2998
- /* @__PURE__ */ jsx64(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) })
2999
3268
  ] });
3000
3269
  }
3001
3270
 
3002
3271
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
3003
- import { Search } from "@transferwise/icons";
3004
- import { Fragment as Fragment7, jsx as jsx65, 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";
3005
3274
  function BlockSearchRendererComponent({
3006
3275
  id,
3007
3276
  hint,
@@ -3013,11 +3282,11 @@ function BlockSearchRendererComponent({
3013
3282
  trackEvent,
3014
3283
  onChange
3015
3284
  }) {
3016
- const [hasSearched, setHasSearched] = useState10(false);
3017
- const { formatMessage } = useIntl12();
3018
- return /* @__PURE__ */ jsxs18("div", { className: getMargin(margin), children: [
3019
- /* @__PURE__ */ jsx65(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx65(InputGroup3, { addonStart: { content: /* @__PURE__ */ jsx65(Search, { size: 24 }) }, children: /* @__PURE__ */ jsx65(
3020
- 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,
3021
3290
  {
3022
3291
  id,
3023
3292
  name: id,
@@ -3033,7 +3302,7 @@ function BlockSearchRendererComponent({
3033
3302
  }
3034
3303
  }
3035
3304
  ) }) }),
3036
- isLoading ? /* @__PURE__ */ jsx65("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx65(SearchResultContent, { state, trackEvent })
3305
+ isLoading ? /* @__PURE__ */ jsx68("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx68(SearchResultContent, { state, trackEvent })
3037
3306
  ] });
3038
3307
  }
3039
3308
  function SearchResultContent({
@@ -3042,39 +3311,39 @@ function SearchResultContent({
3042
3311
  }) {
3043
3312
  switch (state.type) {
3044
3313
  case "error":
3045
- return /* @__PURE__ */ jsx65(ErrorResult, { state });
3314
+ return /* @__PURE__ */ jsx68(ErrorResult, { state });
3046
3315
  case "results":
3047
- return /* @__PURE__ */ jsx65(SearchResults, { state, trackEvent });
3316
+ return /* @__PURE__ */ jsx68(SearchResults, { state, trackEvent });
3048
3317
  case "layout":
3049
- return /* @__PURE__ */ jsxs18(Fragment7, { children: [
3318
+ return /* @__PURE__ */ jsxs20(Fragment9, { children: [
3050
3319
  " ",
3051
3320
  state.layout,
3052
3321
  " "
3053
3322
  ] });
3054
3323
  case "noResults":
3055
- return /* @__PURE__ */ jsx65(EmptySearchResult, { state });
3324
+ return /* @__PURE__ */ jsx68(EmptySearchResult, { state });
3056
3325
  case "pending":
3057
3326
  default:
3058
3327
  return null;
3059
3328
  }
3060
3329
  }
3061
3330
  function EmptySearchResult({ state }) {
3062
- return /* @__PURE__ */ jsx65(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 });
3063
3332
  }
3064
3333
  function SearchResults({
3065
3334
  state,
3066
3335
  trackEvent
3067
3336
  }) {
3068
- return /* @__PURE__ */ jsx65(List, { children: state.results.map((result) => {
3337
+ return /* @__PURE__ */ jsx68(List, { children: state.results.map((result) => {
3069
3338
  const { media } = result;
3070
- return /* @__PURE__ */ jsx65(
3071
- ListItem10,
3339
+ return /* @__PURE__ */ jsx68(
3340
+ ListItem11,
3072
3341
  {
3073
3342
  title: result.title,
3074
3343
  subtitle: result.description,
3075
- media: media ? /* @__PURE__ */ jsx65(OptionMedia, { media, preferAvatar: false }) : void 0,
3076
- control: /* @__PURE__ */ jsx65(
3077
- ListItem10.Navigation,
3344
+ media: media ? /* @__PURE__ */ jsx68(OptionMedia, { media, preferAvatar: false }) : void 0,
3345
+ control: /* @__PURE__ */ jsx68(
3346
+ ListItem11.Navigation,
3078
3347
  {
3079
3348
  onClick: () => {
3080
3349
  trackEvent("Search Result Selected", __spreadValues({
@@ -3093,10 +3362,10 @@ var BlockSearchRendererComponent_default = BlockSearchRendererComponent;
3093
3362
 
3094
3363
  // ../renderers/src/SearchRenderer/InlineSearchRendererComponent.tsx
3095
3364
  import { Markdown as Markdown6, Typeahead } from "@transferwise/components";
3096
- import { Search as Search2 } from "@transferwise/icons";
3097
- import { useState as useState11 } from "react";
3098
- import { useIntl as useIntl13 } from "react-intl";
3099
- import { jsx as jsx66 } 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";
3100
3369
  function InlineSearchRenderer({
3101
3370
  id,
3102
3371
  hint,
@@ -3107,9 +3376,9 @@ function InlineSearchRenderer({
3107
3376
  title,
3108
3377
  trackEvent
3109
3378
  }) {
3110
- const [hasSearched, setHasSearched] = useState11(false);
3111
- const intl = useIntl13();
3112
- return /* @__PURE__ */ jsx66("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx66(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx66(
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(
3113
3382
  Typeahead,
3114
3383
  {
3115
3384
  id: "typeahead-input-id",
@@ -3118,10 +3387,10 @@ function InlineSearchRenderer({
3118
3387
  size: "md",
3119
3388
  placeholder: hint,
3120
3389
  maxHeight: 100,
3121
- footer: /* @__PURE__ */ jsx66(TypeaheadFooter, { state, isLoading }),
3390
+ footer: /* @__PURE__ */ jsx69(TypeaheadFooter, { state, isLoading }),
3122
3391
  multiple: false,
3123
3392
  clearable: false,
3124
- addon: /* @__PURE__ */ jsx66(Search2, { size: 24 }),
3393
+ addon: /* @__PURE__ */ jsx69(Search3, { size: 24 }),
3125
3394
  options: state.type === "results" ? state.results.map(mapResultToTypeaheadOption) : [],
3126
3395
  minQueryLength: 1,
3127
3396
  onChange: (values) => {
@@ -3156,28 +3425,28 @@ function mapResultToTypeaheadOption(result) {
3156
3425
  };
3157
3426
  }
3158
3427
  function TypeaheadFooter({ state, isLoading }) {
3159
- const { formatMessage } = useIntl13();
3428
+ const { formatMessage } = useIntl14();
3160
3429
  if (state.type === "layout") {
3161
- return /* @__PURE__ */ jsx66("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 });
3162
3431
  }
3163
3432
  if (state.type === "noResults") {
3164
- return /* @__PURE__ */ jsx66(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 });
3165
3434
  }
3166
3435
  if (state.type === "error") {
3167
- return /* @__PURE__ */ jsx66("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx66(ErrorResult, { state }) });
3436
+ return /* @__PURE__ */ jsx69("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx69(ErrorResult, { state }) });
3168
3437
  }
3169
3438
  if (state.type === "pending" || isLoading) {
3170
- return /* @__PURE__ */ jsx66("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) });
3171
3440
  }
3172
3441
  return null;
3173
3442
  }
3174
3443
  var InlineSearchRendererComponent_default = InlineSearchRenderer;
3175
3444
 
3176
3445
  // ../renderers/src/SearchRenderer/SearchRenderer.tsx
3177
- import { jsx as jsx67 } from "react/jsx-runtime";
3446
+ import { jsx as jsx70 } from "react/jsx-runtime";
3178
3447
  var SearchRenderer = {
3179
3448
  canRenderType: "search",
3180
- render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx67(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx67(BlockSearchRendererComponent_default, __spreadValues({}, props))
3449
+ render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx70(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx70(BlockSearchRendererComponent_default, __spreadValues({}, props))
3181
3450
  };
3182
3451
  var SearchRenderer_default = SearchRenderer;
3183
3452
 
@@ -3206,12 +3475,12 @@ var getHeaderAction2 = (callToAction) => {
3206
3475
  };
3207
3476
 
3208
3477
  // ../renderers/src/SectionRenderer.tsx
3209
- import { jsx as jsx68, jsxs as jsxs19 } from "react/jsx-runtime";
3478
+ import { jsx as jsx71, jsxs as jsxs21 } from "react/jsx-runtime";
3210
3479
  var SectionRenderer = {
3211
3480
  canRenderType: "section",
3212
3481
  render: ({ children, callToAction, margin, title }) => {
3213
- return /* @__PURE__ */ jsxs19("section", { className: getMargin(margin), children: [
3214
- (title || callToAction) && /* @__PURE__ */ jsx68(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) }),
3215
3484
  children
3216
3485
  ] });
3217
3486
  }
@@ -3220,7 +3489,7 @@ var SectionRenderer_default = SectionRenderer;
3220
3489
 
3221
3490
  // ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
3222
3491
  import { RadioGroup } from "@transferwise/components";
3223
- import { Fragment as Fragment8, jsx as jsx69, jsxs as jsxs20 } from "react/jsx-runtime";
3492
+ import { Fragment as Fragment10, jsx as jsx72, jsxs as jsxs22 } from "react/jsx-runtime";
3224
3493
  function RadioInputRendererComponent(props) {
3225
3494
  const {
3226
3495
  id,
@@ -3234,8 +3503,8 @@ function RadioInputRendererComponent(props) {
3234
3503
  validationState,
3235
3504
  onSelect
3236
3505
  } = props;
3237
- return /* @__PURE__ */ jsxs20(Fragment8, { children: [
3238
- /* @__PURE__ */ jsx69(
3506
+ return /* @__PURE__ */ jsxs22(Fragment10, { children: [
3507
+ /* @__PURE__ */ jsx72(
3239
3508
  FieldInput_default,
3240
3509
  {
3241
3510
  id,
@@ -3243,7 +3512,7 @@ function RadioInputRendererComponent(props) {
3243
3512
  help,
3244
3513
  description,
3245
3514
  validation: validationState,
3246
- children: /* @__PURE__ */ jsx69("span", { children: /* @__PURE__ */ jsx69(
3515
+ children: /* @__PURE__ */ jsx72("span", { children: /* @__PURE__ */ jsx72(
3247
3516
  RadioGroup,
3248
3517
  {
3249
3518
  name: id,
@@ -3252,7 +3521,7 @@ function RadioInputRendererComponent(props) {
3252
3521
  value: index,
3253
3522
  secondary: option.description,
3254
3523
  disabled: option.disabled || disabled,
3255
- avatar: /* @__PURE__ */ jsx69(OptionMedia, { media: option.media, preferAvatar: false })
3524
+ avatar: /* @__PURE__ */ jsx72(OptionMedia, { media: option.media, preferAvatar: false })
3256
3525
  })),
3257
3526
  selectedValue: selectedIndex != null ? selectedIndex : void 0,
3258
3527
  onChange: onSelect
@@ -3267,8 +3536,8 @@ function RadioInputRendererComponent(props) {
3267
3536
 
3268
3537
  // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
3269
3538
  import { Tabs } from "@transferwise/components";
3270
- import { useEffect as useEffect7 } from "react";
3271
- import { Fragment as Fragment9, jsx as jsx70, 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";
3272
3541
  function TabInputRendererComponent(props) {
3273
3542
  const {
3274
3543
  id,
@@ -3282,13 +3551,13 @@ function TabInputRendererComponent(props) {
3282
3551
  validationState,
3283
3552
  onSelect
3284
3553
  } = props;
3285
- useEffect7(() => {
3554
+ useEffect9(() => {
3286
3555
  if (!isValidIndex2(selectedIndex, options.length)) {
3287
3556
  onSelect(0);
3288
3557
  }
3289
3558
  }, [selectedIndex, onSelect, options.length]);
3290
- return /* @__PURE__ */ jsxs21(Fragment9, { children: [
3291
- /* @__PURE__ */ jsx70(
3559
+ return /* @__PURE__ */ jsxs23(Fragment11, { children: [
3560
+ /* @__PURE__ */ jsx73(
3292
3561
  FieldInput_default,
3293
3562
  {
3294
3563
  id,
@@ -3296,7 +3565,7 @@ function TabInputRendererComponent(props) {
3296
3565
  help,
3297
3566
  description,
3298
3567
  validation: validationState,
3299
- children: /* @__PURE__ */ jsx70(
3568
+ children: /* @__PURE__ */ jsx73(
3300
3569
  Tabs,
3301
3570
  {
3302
3571
  name: id,
@@ -3305,7 +3574,7 @@ function TabInputRendererComponent(props) {
3305
3574
  title: option.title,
3306
3575
  // if we pass null, we get some props-types console errors
3307
3576
  // eslint-disable-next-line react/jsx-no-useless-fragment
3308
- content: /* @__PURE__ */ jsx70(Fragment9, {}),
3577
+ content: /* @__PURE__ */ jsx73(Fragment11, {}),
3309
3578
  disabled: option.disabled || disabled
3310
3579
  })),
3311
3580
  onTabSelect: onSelect
@@ -3320,7 +3589,7 @@ var isValidIndex2 = (index, options) => index !== null && index >= 0 && index <
3320
3589
 
3321
3590
  // ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
3322
3591
  import { SelectInput as SelectInput2, SelectInputOptionContent as SelectInputOptionContent2 } from "@transferwise/components";
3323
- import { Fragment as Fragment10, jsx as jsx71, jsxs as jsxs22 } from "react/jsx-runtime";
3592
+ import { Fragment as Fragment12, jsx as jsx74, jsxs as jsxs24 } from "react/jsx-runtime";
3324
3593
  function SelectInputRendererComponent(props) {
3325
3594
  const {
3326
3595
  id,
@@ -3360,13 +3629,13 @@ function SelectInputRendererComponent(props) {
3360
3629
  } : {
3361
3630
  title: option.title,
3362
3631
  description: option.description,
3363
- icon: /* @__PURE__ */ jsx71(OptionMedia, { media: option.media, preferAvatar: false })
3632
+ icon: /* @__PURE__ */ jsx74(OptionMedia, { media: option.media, preferAvatar: false })
3364
3633
  };
3365
- return /* @__PURE__ */ jsx71(SelectInputOptionContent2, __spreadValues({}, contentProps));
3634
+ return /* @__PURE__ */ jsx74(SelectInputOptionContent2, __spreadValues({}, contentProps));
3366
3635
  };
3367
3636
  const extraProps = { autoComplete };
3368
- return /* @__PURE__ */ jsxs22(Fragment10, { children: [
3369
- /* @__PURE__ */ jsx71(
3637
+ return /* @__PURE__ */ jsxs24(Fragment12, { children: [
3638
+ /* @__PURE__ */ jsx74(
3370
3639
  FieldInput_default,
3371
3640
  {
3372
3641
  id,
@@ -3374,7 +3643,7 @@ function SelectInputRendererComponent(props) {
3374
3643
  help,
3375
3644
  description,
3376
3645
  validation: validationState,
3377
- children: /* @__PURE__ */ jsx71(
3646
+ children: /* @__PURE__ */ jsx74(
3378
3647
  SelectInput2,
3379
3648
  __spreadValues({
3380
3649
  name: id,
@@ -3395,9 +3664,9 @@ function SelectInputRendererComponent(props) {
3395
3664
  }
3396
3665
 
3397
3666
  // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
3398
- import { useEffect as useEffect8 } from "react";
3667
+ import { useEffect as useEffect10 } from "react";
3399
3668
  import { SegmentedControl } from "@transferwise/components";
3400
- import { Fragment as Fragment11, jsx as jsx72, jsxs as jsxs23 } from "react/jsx-runtime";
3669
+ import { Fragment as Fragment13, jsx as jsx75, jsxs as jsxs25 } from "react/jsx-runtime";
3401
3670
  function SegmentedInputRendererComponent(props) {
3402
3671
  const {
3403
3672
  id,
@@ -3410,13 +3679,13 @@ function SegmentedInputRendererComponent(props) {
3410
3679
  validationState,
3411
3680
  onSelect
3412
3681
  } = props;
3413
- useEffect8(() => {
3682
+ useEffect10(() => {
3414
3683
  if (!isValidIndex3(selectedIndex, options.length)) {
3415
3684
  onSelect(0);
3416
3685
  }
3417
3686
  }, [selectedIndex, onSelect, options.length]);
3418
- return /* @__PURE__ */ jsxs23(Fragment11, { children: [
3419
- /* @__PURE__ */ jsx72(
3687
+ return /* @__PURE__ */ jsxs25(Fragment13, { children: [
3688
+ /* @__PURE__ */ jsx75(
3420
3689
  FieldInput_default,
3421
3690
  {
3422
3691
  id,
@@ -3424,7 +3693,7 @@ function SegmentedInputRendererComponent(props) {
3424
3693
  help,
3425
3694
  description,
3426
3695
  validation: validationState,
3427
- children: /* @__PURE__ */ jsx72(
3696
+ children: /* @__PURE__ */ jsx75(
3428
3697
  SegmentedControl,
3429
3698
  {
3430
3699
  name: `${id}-segmented-control`,
@@ -3441,14 +3710,14 @@ function SegmentedInputRendererComponent(props) {
3441
3710
  )
3442
3711
  }
3443
3712
  ),
3444
- /* @__PURE__ */ jsx72("div", { id: `${id}-children`, children })
3713
+ /* @__PURE__ */ jsx75("div", { id: `${id}-children`, children })
3445
3714
  ] });
3446
3715
  }
3447
3716
  var isValidIndex3 = (index, options) => index !== null && index >= 0 && index < options;
3448
3717
 
3449
3718
  // ../renderers/src/SelectInputRenderer/RadioItemRendererComponent.tsx
3450
- import { Header as Header8, InlineAlert as InlineAlert4, List as List2, ListItem as ListItem11 } from "@transferwise/components";
3451
- import { Fragment as Fragment12, jsx as jsx73, 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";
3452
3721
  function RadioItemRendererComponent(props) {
3453
3722
  const {
3454
3723
  id,
@@ -3462,23 +3731,23 @@ function RadioItemRendererComponent(props) {
3462
3731
  validationState,
3463
3732
  onSelect
3464
3733
  } = props;
3465
- return /* @__PURE__ */ jsxs24(Fragment12, { children: [
3466
- rootTitle && /* @__PURE__ */ jsx73(
3734
+ return /* @__PURE__ */ jsxs26(Fragment14, { children: [
3735
+ rootTitle && /* @__PURE__ */ jsx76(
3467
3736
  Header8,
3468
3737
  {
3469
3738
  as: "h2",
3470
- title: help ? /* @__PURE__ */ jsx73(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
3739
+ title: help ? /* @__PURE__ */ jsx76(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
3471
3740
  }
3472
3741
  ),
3473
- rootDescription && /* @__PURE__ */ jsx73("p", { children: rootDescription }),
3474
- /* @__PURE__ */ jsx73(List2, { children: options.map(
3475
- ({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */ jsx73(
3476
- 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,
3477
3746
  __spreadValues({
3478
3747
  title,
3479
3748
  subtitle: description,
3480
- control: /* @__PURE__ */ jsx73(
3481
- ListItem11.Radio,
3749
+ control: /* @__PURE__ */ jsx76(
3750
+ ListItem12.Radio,
3482
3751
  {
3483
3752
  name: title,
3484
3753
  checked: selectedIndex === index,
@@ -3493,50 +3762,50 @@ function RadioItemRendererComponent(props) {
3493
3762
  title
3494
3763
  )
3495
3764
  ) }, `${id}-${selectedIndex}`),
3496
- (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx73(InlineAlert4, { type: "negative", children: validationState.message }),
3765
+ (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx76(InlineAlert4, { type: "negative", children: validationState.message }),
3497
3766
  children
3498
3767
  ] });
3499
3768
  }
3500
3769
 
3501
3770
  // ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
3502
- import { jsx as jsx74 } from "react/jsx-runtime";
3771
+ import { jsx as jsx77 } from "react/jsx-runtime";
3503
3772
  var SelectInputRenderer = {
3504
3773
  canRenderType: "input-select",
3505
3774
  render: (props) => {
3506
3775
  switch (props.control) {
3507
3776
  case "radio":
3508
- return /* @__PURE__ */ jsx74(RadioInputRendererComponent, __spreadValues({}, props));
3777
+ return /* @__PURE__ */ jsx77(RadioInputRendererComponent, __spreadValues({}, props));
3509
3778
  case "radio-item":
3510
- return /* @__PURE__ */ jsx74(RadioItemRendererComponent, __spreadValues({}, props));
3779
+ return /* @__PURE__ */ jsx77(RadioItemRendererComponent, __spreadValues({}, props));
3511
3780
  case "tab":
3512
- return props.options.length > 3 ? /* @__PURE__ */ jsx74(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx74(TabInputRendererComponent, __spreadValues({}, props));
3781
+ return props.options.length > 3 ? /* @__PURE__ */ jsx77(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx77(TabInputRendererComponent, __spreadValues({}, props));
3513
3782
  case "segmented":
3514
- return props.options.length > 3 ? /* @__PURE__ */ jsx74(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx74(SegmentedInputRendererComponent, __spreadValues({}, props));
3783
+ return props.options.length > 3 ? /* @__PURE__ */ jsx77(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx77(SegmentedInputRendererComponent, __spreadValues({}, props));
3515
3784
  case "select":
3516
3785
  default:
3517
- return /* @__PURE__ */ jsx74(SelectInputRendererComponent, __spreadValues({}, props));
3786
+ return /* @__PURE__ */ jsx77(SelectInputRendererComponent, __spreadValues({}, props));
3518
3787
  }
3519
3788
  }
3520
3789
  };
3521
3790
  var SelectInputRenderer_default = SelectInputRenderer;
3522
3791
 
3523
3792
  // ../renderers/src/StatusListRenderer.tsx
3524
- import { AvatarView as AvatarView4, Header as Header9, ListItem as ListItem12 } from "@transferwise/components";
3525
- import { jsx as jsx75, 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";
3526
3795
  var StatusListRenderer = {
3527
3796
  canRenderType: "status-list",
3528
- render: ({ margin, items, title }) => /* @__PURE__ */ jsxs25("div", { className: getMargin(margin), children: [
3529
- title ? /* @__PURE__ */ jsx75(Header9, { title }) : null,
3797
+ render: ({ margin, items, title }) => /* @__PURE__ */ jsxs27("div", { className: getMargin(margin), children: [
3798
+ title ? /* @__PURE__ */ jsx78(Header9, { title }) : null,
3530
3799
  items.map((item) => {
3531
3800
  const { callToAction, description, icon, status, title: itemTitle } = item;
3532
- return /* @__PURE__ */ jsx75(
3533
- ListItem12,
3801
+ return /* @__PURE__ */ jsx78(
3802
+ ListItem13,
3534
3803
  {
3535
3804
  title: itemTitle,
3536
3805
  subtitle: description,
3537
- media: icon && "name" in icon ? /* @__PURE__ */ jsx75(AvatarView4, { badge: { status: mapStatus(status) }, children: /* @__PURE__ */ jsx75(DynamicIcon_default, { name: icon.name }) }) : void 0,
3538
- additionalInfo: callToAction ? /* @__PURE__ */ jsx75(
3539
- 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,
3540
3809
  {
3541
3810
  action: {
3542
3811
  href: callToAction.href,
@@ -3566,12 +3835,12 @@ var StatusListRenderer_default = StatusListRenderer;
3566
3835
 
3567
3836
  // ../renderers/src/utils/useCustomTheme.ts
3568
3837
  import { useTheme } from "@wise/components-theming";
3569
- import { useEffect as useEffect9, useMemo } from "react";
3838
+ import { useEffect as useEffect11, useMemo } from "react";
3570
3839
  var ThemeRequiredEventName = "Theme Required";
3571
3840
  var useCustomTheme = (theme, trackEvent) => {
3572
3841
  const theming = useTheme();
3573
3842
  const previousTheme = useMemo(() => theming.theme, []);
3574
- useEffect9(() => {
3843
+ useEffect11(() => {
3575
3844
  theming.setTheme(theme);
3576
3845
  trackEvent(ThemeRequiredEventName, { theme });
3577
3846
  return theme !== previousTheme ? () => {
@@ -3582,86 +3851,14 @@ var useCustomTheme = (theme, trackEvent) => {
3582
3851
  }, []);
3583
3852
  };
3584
3853
 
3585
- // ../renderers/src/step/StepFooter.tsx
3586
- import { Button as Button7 } from "@transferwise/components";
3587
- import { useEffect as useEffect10, useRef, useState as useState12 } from "react";
3588
- import { useIntl as useIntl14 } from "react-intl";
3589
-
3590
- // ../renderers/src/messages/step.messages.ts
3591
- import { defineMessages as defineMessages11 } from "react-intl";
3592
- var step_messages_default = defineMessages11({
3593
- scrollToBottom: {
3594
- id: "df.wise.step.scrollToBottom",
3595
- defaultMessage: "Scroll to bottom",
3596
- 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."
3597
- }
3598
- });
3599
-
3600
- // ../renderers/src/step/StepFooter.tsx
3601
- import { Fragment as Fragment13, jsx as jsx76, jsxs as jsxs26 } from "react/jsx-runtime";
3602
- var SCROLL_TO_BOTTOM = "scroll-to-bottom";
3603
- var StepFooter = ({ footer, tags }) => {
3604
- if (tags == null ? void 0 : tags.includes(SCROLL_TO_BOTTOM)) {
3605
- return /* @__PURE__ */ jsx76(FooterWithScrollButton, { footer });
3606
- }
3607
- return /* @__PURE__ */ jsx76(DefaultFooter, { footer });
3608
- };
3609
- var DefaultFooter = ({ footer }) => {
3610
- const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
3611
- return hasFooter ? /* @__PURE__ */ jsx76("div", { className: "df-step-fixed__footer", children: footer }) : void 0;
3612
- };
3613
- var FooterWithScrollButton = ({ footer }) => {
3614
- const { formatMessage } = useIntl14();
3615
- const endOfLayoutRef = useRef(null);
3616
- const isElementVisible = useIsElementVisible(endOfLayoutRef);
3617
- const scrollButton = /* @__PURE__ */ jsx76(
3618
- Button7,
3619
- {
3620
- className: "m-b-1",
3621
- v2: true,
3622
- block: true,
3623
- priority: "tertiary",
3624
- onClick: () => {
3625
- var _a;
3626
- (_a = endOfLayoutRef.current) == null ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
3627
- },
3628
- children: formatMessage(step_messages_default.scrollToBottom)
3629
- }
3630
- );
3631
- const hasStepFooterContent = footer && Array.isArray(footer) && footer.length > 0;
3632
- if (isElementVisible && !hasStepFooterContent) {
3633
- return /* @__PURE__ */ jsx76("div", { ref: endOfLayoutRef, "aria-hidden": "true" });
3634
- }
3635
- return /* @__PURE__ */ jsxs26(Fragment13, { children: [
3636
- /* @__PURE__ */ jsx76("div", { ref: endOfLayoutRef, "aria-hidden": "true" }),
3637
- /* @__PURE__ */ jsxs26("div", { className: "df-step-fixed__footer", children: [
3638
- !isElementVisible && scrollButton,
3639
- footer
3640
- ] })
3641
- ] });
3642
- };
3643
- var useIsElementVisible = (elementRef) => {
3644
- const [isVisible, setIsVisible] = useState12(false);
3645
- useEffect10(() => {
3646
- const element = elementRef.current;
3647
- if (!element) return;
3648
- const observer = new IntersectionObserver(([entry]) => {
3649
- setIsVisible(entry.isIntersecting);
3650
- });
3651
- observer.observe(element);
3652
- return () => observer.disconnect();
3653
- }, [elementRef]);
3654
- return isVisible;
3655
- };
3656
-
3657
3854
  // ../renderers/src/step/StepHeader.tsx
3658
3855
  import { Title as Title2 } from "@transferwise/components";
3659
- import { Fragment as Fragment14, jsx as jsx77, jsxs as jsxs27 } from "react/jsx-runtime";
3856
+ import { Fragment as Fragment15, jsx as jsx79, jsxs as jsxs28 } from "react/jsx-runtime";
3660
3857
  var StepHeader = ({ title, description, tags }) => {
3661
3858
  const { titleType, alignmentClassName } = getHeaderStyle(tags);
3662
- return /* @__PURE__ */ jsxs27(Fragment14, { children: [
3663
- title ? /* @__PURE__ */ jsx77(Title2, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
3664
- description ? /* @__PURE__ */ jsx77("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
3665
3862
  ] });
3666
3863
  };
3667
3864
  var getHeaderStyle = (tags) => {
@@ -3687,30 +3884,30 @@ var back_messages_default = defineMessages12({
3687
3884
  });
3688
3885
 
3689
3886
  // ../renderers/src/step/topbar/BackButton.tsx
3690
- import { jsx as jsx78, jsxs as jsxs28 } from "react/jsx-runtime";
3887
+ import { jsx as jsx80, jsxs as jsxs29 } from "react/jsx-runtime";
3691
3888
  function BackButton({ title, onClick }) {
3692
3889
  const { formatMessage } = useIntl15();
3693
- return /* @__PURE__ */ jsxs28(IconButton, { className: "df-back-button", priority: "tertiary", onClick, children: [
3694
- /* @__PURE__ */ jsx78("span", { className: "sr-only", children: title != null ? title : formatMessage(back_messages_default.back) }),
3695
- /* @__PURE__ */ jsx78(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, {})
3696
3893
  ] });
3697
3894
  }
3698
3895
 
3699
3896
  // ../renderers/src/step/topbar/Toolbar.tsx
3700
3897
  import { Button as Button8, IconButton as IconButton2 } from "@transferwise/components";
3701
- import { jsx as jsx79, jsxs as jsxs29 } from "react/jsx-runtime";
3898
+ import { jsx as jsx81, jsxs as jsxs30 } from "react/jsx-runtime";
3702
3899
  var Toolbar = ({ items }) => {
3703
- return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ jsx79("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ jsx79(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;
3704
3901
  };
3705
3902
  function ToolbarButton(props) {
3706
- return prefersMedia(props.control) ? /* @__PURE__ */ jsx79(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ jsx79(TextToolbarButton, __spreadValues({}, props));
3903
+ return prefersMedia(props.control) ? /* @__PURE__ */ jsx81(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ jsx81(TextToolbarButton, __spreadValues({}, props));
3707
3904
  }
3708
3905
  function MediaToolbarButton(props) {
3709
3906
  var _a;
3710
3907
  const { context, control, media, accessibilityDescription, disabled, onClick } = props;
3711
3908
  const priority = getIconButtonPriority(control);
3712
3909
  const type = getSentiment2(context);
3713
- return /* @__PURE__ */ jsxs29(
3910
+ return /* @__PURE__ */ jsxs30(
3714
3911
  IconButton2,
3715
3912
  {
3716
3913
  className: "df-toolbar-button",
@@ -3720,7 +3917,7 @@ function MediaToolbarButton(props) {
3720
3917
  type,
3721
3918
  onClick,
3722
3919
  children: [
3723
- accessibilityDescription ? /* @__PURE__ */ jsx79("span", { className: "sr-only", children: accessibilityDescription }) : null,
3920
+ accessibilityDescription ? /* @__PURE__ */ jsx81("span", { className: "sr-only", children: accessibilityDescription }) : null,
3724
3921
  media ? (_a = getAddonStartMedia(media)) == null ? void 0 : _a.value : null
3725
3922
  ]
3726
3923
  }
@@ -3731,7 +3928,7 @@ function TextToolbarButton(props) {
3731
3928
  const addonStart = media ? getAddonStartMedia(media) : void 0;
3732
3929
  const priority = getPriority2(control);
3733
3930
  const sentiment = getSentiment2(context);
3734
- return /* @__PURE__ */ jsx79(
3931
+ return /* @__PURE__ */ jsx81(
3735
3932
  Button8,
3736
3933
  {
3737
3934
  v2: true,
@@ -3761,16 +3958,16 @@ var getIconButtonPriority = (control) => {
3761
3958
  };
3762
3959
 
3763
3960
  // ../renderers/src/step/topbar/TopBar.tsx
3764
- import { jsx as jsx80, jsxs as jsxs30 } from "react/jsx-runtime";
3961
+ import { jsx as jsx82, jsxs as jsxs31 } from "react/jsx-runtime";
3765
3962
  function TopBar({ back, toolbar }) {
3766
- return back || toolbar ? /* @__PURE__ */ jsxs30("div", { className: "d-flex m-b-2", children: [
3767
- back ? /* @__PURE__ */ jsx80(BackButton, __spreadValues({}, back)) : null,
3768
- toolbar ? /* @__PURE__ */ jsx80(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
3769
3966
  ] }) : null;
3770
3967
  }
3771
3968
 
3772
3969
  // ../renderers/src/step/SplashCelebrationStepRenderer.tsx
3773
- import { jsx as jsx81, jsxs as jsxs31 } from "react/jsx-runtime";
3970
+ import { jsx as jsx83, jsxs as jsxs32 } from "react/jsx-runtime";
3774
3971
  var SplashCelebrationStepRenderer = {
3775
3972
  canRenderType: "step",
3776
3973
  canRender: ({ control }) => control === "splash-celebration",
@@ -3779,16 +3976,16 @@ var SplashCelebrationStepRenderer = {
3779
3976
  function SplashCelebrationStepRendererComponent(props) {
3780
3977
  const { back, title, description, toolbar, children, footer, tags, trackEvent } = props;
3781
3978
  useCustomTheme("forest-green", trackEvent);
3782
- return /* @__PURE__ */ jsxs31("div", { className: "splash-screen m-t-5", children: [
3783
- /* @__PURE__ */ jsx81(TopBar, { back, toolbar }),
3784
- title || description ? /* @__PURE__ */ jsx81("div", { className: "m-b-4", children: /* @__PURE__ */ jsx81(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,
3785
3982
  children,
3786
- /* @__PURE__ */ jsx81(StepFooter, { footer, tags })
3983
+ /* @__PURE__ */ jsx83(StepFooter, { footer, tags })
3787
3984
  ] });
3788
3985
  }
3789
3986
 
3790
3987
  // ../renderers/src/step/SplashStepRenderer.tsx
3791
- import { jsx as jsx82, jsxs as jsxs32 } from "react/jsx-runtime";
3988
+ import { jsx as jsx84, jsxs as jsxs33 } from "react/jsx-runtime";
3792
3989
  var SplashStepRenderer = {
3793
3990
  canRenderType: "step",
3794
3991
  canRender: ({ control }) => control === "splash",
@@ -3796,55 +3993,55 @@ var SplashStepRenderer = {
3796
3993
  };
3797
3994
  function SplashStepRendererComponent(props) {
3798
3995
  const { back, title, description, toolbar, children, footer, tags } = props;
3799
- return /* @__PURE__ */ jsxs32("div", { className: "splash-screen m-t-5", children: [
3800
- /* @__PURE__ */ jsx82(TopBar, { back, toolbar }),
3801
- title || description ? /* @__PURE__ */ jsx82("div", { className: "m-b-4", children: /* @__PURE__ */ jsx82(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,
3802
3999
  children,
3803
- /* @__PURE__ */ jsx82(StepFooter, { footer, tags })
4000
+ /* @__PURE__ */ jsx84(StepFooter, { footer, tags })
3804
4001
  ] });
3805
4002
  }
3806
4003
 
3807
4004
  // ../renderers/src/step/StepRenderer.tsx
3808
4005
  import { Alert as Alert2 } from "@transferwise/components";
3809
- import { jsx as jsx83, jsxs as jsxs33 } from "react/jsx-runtime";
4006
+ import { jsx as jsx85, jsxs as jsxs34 } from "react/jsx-runtime";
3810
4007
  var StepRenderer = {
3811
4008
  canRenderType: "step",
3812
4009
  render: StepRendererComponent
3813
4010
  };
3814
4011
  function StepRendererComponent(props) {
3815
4012
  const { back, description, error, title, children, toolbar, footer, tags } = props;
3816
- return /* @__PURE__ */ jsxs33("div", { children: [
3817
- /* @__PURE__ */ jsx83(TopBar, { back, toolbar }),
3818
- title || description ? /* @__PURE__ */ jsx83("div", { className: "m-b-4", children: /* @__PURE__ */ jsx83(StepHeader, { title, description, tags }) }) : void 0,
3819
- error ? /* @__PURE__ */ jsx83(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,
3820
4017
  children,
3821
- /* @__PURE__ */ jsx83(StepFooter, { footer, tags })
4018
+ /* @__PURE__ */ jsx85(StepFooter, { footer, tags })
3822
4019
  ] });
3823
4020
  }
3824
4021
 
3825
4022
  // ../renderers/src/TabsRenderer.tsx
3826
- 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";
3827
4024
  import { useState as useState13 } from "react";
3828
- import { jsx as jsx84, jsxs as jsxs34 } from "react/jsx-runtime";
4025
+ import { jsx as jsx86, jsxs as jsxs35 } from "react/jsx-runtime";
3829
4026
  var TabsRenderer = {
3830
4027
  canRenderType: "tabs",
3831
4028
  render: (props) => {
3832
4029
  switch (props.control) {
3833
4030
  case "segmented":
3834
4031
  if (props.tabs.length > 3) {
3835
- return /* @__PURE__ */ jsx84(TabsRendererComponent, __spreadValues({}, props));
4032
+ return /* @__PURE__ */ jsx86(TabsRendererComponent, __spreadValues({}, props));
3836
4033
  }
3837
- return /* @__PURE__ */ jsx84(SegmentedTabsRendererComponent, __spreadValues({}, props));
4034
+ return /* @__PURE__ */ jsx86(SegmentedTabsRendererComponent, __spreadValues({}, props));
3838
4035
  case "chips":
3839
- return /* @__PURE__ */ jsx84(ChipsTabsRendererComponent, __spreadValues({}, props));
4036
+ return /* @__PURE__ */ jsx86(ChipsTabsRendererComponent, __spreadValues({}, props));
3840
4037
  default:
3841
- return /* @__PURE__ */ jsx84(TabsRendererComponent, __spreadValues({}, props));
4038
+ return /* @__PURE__ */ jsx86(TabsRendererComponent, __spreadValues({}, props));
3842
4039
  }
3843
4040
  }
3844
4041
  };
3845
4042
  function TabsRendererComponent({ uid, margin, tabs }) {
3846
4043
  const [selectedIndex, setSelectedIndex] = useState13(0);
3847
- return /* @__PURE__ */ jsx84("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx84(
4044
+ return /* @__PURE__ */ jsx86("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx86(
3848
4045
  Tabs2,
3849
4046
  {
3850
4047
  name: uid,
@@ -3852,7 +4049,7 @@ function TabsRendererComponent({ uid, margin, tabs }) {
3852
4049
  tabs: tabs.map((option) => ({
3853
4050
  title: option.title,
3854
4051
  disabled: false,
3855
- content: /* @__PURE__ */ jsxs34("div", { className: "m-t-2", children: [
4052
+ content: /* @__PURE__ */ jsxs35("div", { className: "m-t-2", children: [
3856
4053
  " ",
3857
4054
  option.children,
3858
4055
  " "
@@ -3865,8 +4062,8 @@ function TabsRendererComponent({ uid, margin, tabs }) {
3865
4062
  function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
3866
4063
  var _a;
3867
4064
  const [selectedIndex, setSelectedIndex] = useState13(0);
3868
- return /* @__PURE__ */ jsxs34("div", { className: getMargin(margin), children: [
3869
- /* @__PURE__ */ jsx84(
4065
+ return /* @__PURE__ */ jsxs35("div", { className: getMargin(margin), children: [
4066
+ /* @__PURE__ */ jsx86(
3870
4067
  SegmentedControl2,
3871
4068
  {
3872
4069
  name: uid,
@@ -3881,37 +4078,37 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
3881
4078
  onChange: (value) => setSelectedIndex(Number(value))
3882
4079
  }
3883
4080
  ),
3884
- /* @__PURE__ */ jsx84("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 })
3885
4082
  ] });
3886
4083
  }
3887
4084
  function ChipsTabsRendererComponent({ margin, tabs }) {
3888
4085
  var _a;
3889
4086
  const [selectedIndex, setSelectedIndex] = useState13(0);
3890
- return /* @__PURE__ */ jsxs34("div", { className: getMargin(margin), children: [
3891
- /* @__PURE__ */ jsx84("div", { className: "chips-container", children: /* @__PURE__ */ jsx84(
3892
- Chips,
4087
+ return /* @__PURE__ */ jsxs35("div", { className: getMargin(margin), children: [
4088
+ /* @__PURE__ */ jsx86("div", { className: "chips-container", children: /* @__PURE__ */ jsx86(
4089
+ Chips2,
3893
4090
  {
3894
4091
  chips: tabs.map((tab, index) => ({ label: tab.title, value: index })),
3895
4092
  selected: selectedIndex,
3896
4093
  onChange: ({ selectedValue }) => setSelectedIndex(Number(selectedValue))
3897
4094
  }
3898
4095
  ) }),
3899
- /* @__PURE__ */ jsx84("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 })
3900
4097
  ] });
3901
4098
  }
3902
4099
 
3903
4100
  // ../renderers/src/TextInputRenderer.tsx
3904
- import { InputGroup as InputGroup4 } from "@transferwise/components";
4101
+ import { InputGroup as InputGroup5 } from "@transferwise/components";
3905
4102
 
3906
4103
  // ../renderers/src/components/VariableTextInput.tsx
3907
4104
  import {
3908
- Input as Input5,
4105
+ Input as Input6,
3909
4106
  InputWithDisplayFormat,
3910
4107
  PhoneNumberInput,
3911
4108
  TextArea,
3912
4109
  TextareaWithDisplayFormat
3913
4110
  } from "@transferwise/components";
3914
- import { jsx as jsx85 } from "react/jsx-runtime";
4111
+ import { jsx as jsx87 } from "react/jsx-runtime";
3915
4112
  var commonKeys = [
3916
4113
  "autoComplete",
3917
4114
  "autoCapitalize",
@@ -3930,12 +4127,12 @@ function VariableTextInput(inputProps) {
3930
4127
  const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
3931
4128
  switch (control) {
3932
4129
  case "email":
3933
- return /* @__PURE__ */ jsx85(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
4130
+ return /* @__PURE__ */ jsx87(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
3934
4131
  case "password":
3935
- return /* @__PURE__ */ jsx85(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
4132
+ return /* @__PURE__ */ jsx87(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
3936
4133
  case "numeric": {
3937
4134
  const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
3938
- return /* @__PURE__ */ jsx85(
4135
+ return /* @__PURE__ */ jsx87(
3939
4136
  TextInput,
3940
4137
  __spreadProps(__spreadValues({}, numericProps), {
3941
4138
  onChange: (newValue) => {
@@ -3946,21 +4143,21 @@ function VariableTextInput(inputProps) {
3946
4143
  );
3947
4144
  }
3948
4145
  case "phone-number":
3949
- return /* @__PURE__ */ jsx85(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
4146
+ return /* @__PURE__ */ jsx87(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
3950
4147
  default: {
3951
- return /* @__PURE__ */ jsx85(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
4148
+ return /* @__PURE__ */ jsx87(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
3952
4149
  }
3953
4150
  }
3954
4151
  }
3955
4152
  function TextInput(props) {
3956
4153
  const _a = props, { control, displayFormat, onChange } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange"]);
3957
4154
  const InputWithPattern = control === "textarea" ? TextareaWithDisplayFormat : InputWithDisplayFormat;
3958
- const InputWithoutPattern = control === "textarea" ? TextArea : Input5;
3959
- return displayFormat ? /* @__PURE__ */ jsx85(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ jsx85(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) }));
3960
4157
  }
3961
4158
 
3962
4159
  // ../renderers/src/TextInputRenderer.tsx
3963
- import { jsx as jsx86 } from "react/jsx-runtime";
4160
+ import { jsx as jsx88 } from "react/jsx-runtime";
3964
4161
  var TextInputRenderer = {
3965
4162
  canRenderType: "input-text",
3966
4163
  render: (props) => {
@@ -3993,7 +4190,7 @@ var TextInputRenderer = {
3993
4190
  }
3994
4191
  }
3995
4192
  });
3996
- return /* @__PURE__ */ jsx86(
4193
+ return /* @__PURE__ */ jsx88(
3997
4194
  FieldInput_default,
3998
4195
  {
3999
4196
  id,
@@ -4001,7 +4198,7 @@ var TextInputRenderer = {
4001
4198
  description,
4002
4199
  validation: validationState,
4003
4200
  help,
4004
- children: /* @__PURE__ */ jsx86(InputGroup4, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx86(VariableTextInput, __spreadValues({}, inputProps)) })
4201
+ children: /* @__PURE__ */ jsx88(InputGroup5, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx88(VariableTextInput, __spreadValues({}, inputProps)) })
4005
4202
  }
4006
4203
  );
4007
4204
  }
@@ -4015,7 +4212,7 @@ import { Status as Status2, Upload, UploadInput as UploadInput2 } from "@transfe
4015
4212
  var getRandomId = () => Math.random().toString(36).substring(2);
4016
4213
 
4017
4214
  // ../renderers/src/UploadInputRenderer.tsx
4018
- import { jsx as jsx87 } from "react/jsx-runtime";
4215
+ import { jsx as jsx89 } from "react/jsx-runtime";
4019
4216
  var UploadInputRenderer = {
4020
4217
  canRenderType: "input-upload",
4021
4218
  render: (props) => {
@@ -4031,14 +4228,14 @@ var UploadInputRenderer = {
4031
4228
  };
4032
4229
  return (
4033
4230
  // We don't pass help here as there is no sensible place to display it
4034
- /* @__PURE__ */ jsx87(
4231
+ /* @__PURE__ */ jsx89(
4035
4232
  UploadFieldInput_default,
4036
4233
  {
4037
4234
  id,
4038
4235
  label: void 0,
4039
4236
  description: void 0,
4040
4237
  validation: validationState,
4041
- children: /* @__PURE__ */ jsx87(
4238
+ children: /* @__PURE__ */ jsx89(
4042
4239
  UploadInput2,
4043
4240
  {
4044
4241
  id,
@@ -4104,7 +4301,7 @@ var LargeUploadRenderer = {
4104
4301
  };
4105
4302
  const filetypes = acceptsToFileTypes(accepts);
4106
4303
  const usAccept = filetypes === "*" ? "*" : filetypes.join(",");
4107
- return /* @__PURE__ */ jsx87(
4304
+ return /* @__PURE__ */ jsx89(
4108
4305
  FieldInput_default,
4109
4306
  {
4110
4307
  id,
@@ -4112,7 +4309,7 @@ var LargeUploadRenderer = {
4112
4309
  description,
4113
4310
  validation: validationState,
4114
4311
  help,
4115
- children: /* @__PURE__ */ jsx87(
4312
+ children: /* @__PURE__ */ jsx89(
4116
4313
  Upload,
4117
4314
  __spreadProps(__spreadValues({}, uploadProps), {
4118
4315
  usAccept,
@@ -4130,7 +4327,7 @@ var LargeUploadRenderer = {
4130
4327
  // ../renderers/src/UpsellRenderer.tsx
4131
4328
  import { Nudge } from "@transferwise/components";
4132
4329
  import { useState as useState14 } from "react";
4133
- import { jsx as jsx88 } from "react/jsx-runtime";
4330
+ import { jsx as jsx90 } from "react/jsx-runtime";
4134
4331
  var UpsellRenderer = {
4135
4332
  canRenderType: "upsell",
4136
4333
  render: UpsellRendererComponent
@@ -4138,7 +4335,7 @@ var UpsellRenderer = {
4138
4335
  function UpsellRendererComponent(props) {
4139
4336
  const { text, callToAction, media, margin, onDismiss } = props;
4140
4337
  const [isVisible, setIsVisible] = useState14(true);
4141
- return isVisible ? /* @__PURE__ */ jsx88(
4338
+ return isVisible ? /* @__PURE__ */ jsx90(
4142
4339
  Nudge,
4143
4340
  {
4144
4341
  className: getMargin(margin),
@@ -4190,7 +4387,7 @@ var supportedMediaNames = [
4190
4387
  // ../renderers/src/ButtonRenderer/CircularButtonRenderer.tsx
4191
4388
  import { CircularButton } from "@transferwise/components";
4192
4389
  var import_classnames7 = __toESM(require_classnames());
4193
- import { jsx as jsx89 } from "react/jsx-runtime";
4390
+ import { jsx as jsx91 } from "react/jsx-runtime";
4194
4391
  var CircularButtonRenderer = {
4195
4392
  canRenderType: "button",
4196
4393
  canRender: ({ control }) => control === "circular",
@@ -4200,7 +4397,7 @@ function CircularButtonComponent(props) {
4200
4397
  var _a;
4201
4398
  const { context, disabled, margin, media, tags, title, onClick } = props;
4202
4399
  const priority = tags == null ? void 0 : tags.find((tag) => tag === "primary" || tag === "secondary");
4203
- return /* @__PURE__ */ jsx89("div", { className: (0, import_classnames7.default)(getMargin(margin), "df-button", "circular"), children: /* @__PURE__ */ jsx89(
4400
+ return /* @__PURE__ */ jsx91("div", { className: (0, import_classnames7.default)(getMargin(margin), "df-button", "circular"), children: /* @__PURE__ */ jsx91(
4204
4401
  CircularButton,
4205
4402
  {
4206
4403
  disabled,
@@ -4220,6 +4417,7 @@ var getWiseRenderers = () => [
4220
4417
  CheckboxInputRenderer_default,
4221
4418
  CircularButtonRenderer,
4222
4419
  BoxRenderer_default,
4420
+ CollectionRenderer_default,
4223
4421
  ButtonRenderer,
4224
4422
  ColumnsRenderer_default,
4225
4423
  DateInputRenderer_default,
@@ -4264,11 +4462,11 @@ var getWiseRenderers = () => [
4264
4462
 
4265
4463
  // ../renderers/src/InitialLoadingStateRenderer.tsx
4266
4464
  import { Loader as Loader2 } from "@transferwise/components";
4267
- import { jsx as jsx90 } from "react/jsx-runtime";
4465
+ import { jsx as jsx92 } from "react/jsx-runtime";
4268
4466
  var InitialLoadingStateRenderer = {
4269
4467
  canRenderType: "loading-state",
4270
4468
  canRender: ({ stepLoadingState }) => stepLoadingState === "initial",
4271
- render: () => /* @__PURE__ */ jsx90(
4469
+ render: () => /* @__PURE__ */ jsx92(
4272
4470
  Loader2,
4273
4471
  {
4274
4472
  size: "md",
@@ -4279,7 +4477,7 @@ var InitialLoadingStateRenderer = {
4279
4477
  };
4280
4478
 
4281
4479
  // ../renderers/src/subflow/getSubflowRenderer.tsx
4282
- import { jsx as jsx91 } from "react/jsx-runtime";
4480
+ import { jsx as jsx93 } from "react/jsx-runtime";
4283
4481
  var getSubflowRenderer = ({
4284
4482
  Component: Component2,
4285
4483
  canRender
@@ -4288,7 +4486,7 @@ var getSubflowRenderer = ({
4288
4486
  canRenderType: "subflow",
4289
4487
  canRender,
4290
4488
  render: (props) => {
4291
- return /* @__PURE__ */ jsx91(
4489
+ return /* @__PURE__ */ jsx93(
4292
4490
  Component2,
4293
4491
  {
4294
4492
  presentation: props.presentation,
@@ -4369,24 +4567,24 @@ var handleRejection = (error) => {
4369
4567
  // src/dynamicFlow/DynamicFlowModal.tsx
4370
4568
  import { useDynamicFlowModal } from "@wise/dynamic-flow-client";
4371
4569
  import { Modal as Modal5 } from "@transferwise/components";
4372
- import { jsx as jsx92 } from "react/jsx-runtime";
4570
+ import { jsx as jsx94 } from "react/jsx-runtime";
4373
4571
  function DynamicFlowModal(props) {
4374
4572
  const _a = props, { className = "" } = _a, rest = __objRest(_a, ["className"]);
4375
4573
  const dfProps = useWiseToCoreProps(rest);
4376
4574
  const df = useDynamicFlowModal(dfProps);
4377
- return /* @__PURE__ */ jsx92(
4575
+ return /* @__PURE__ */ jsx94(
4378
4576
  Modal5,
4379
4577
  __spreadProps(__spreadValues({
4380
4578
  className: `dynamic-flow-modal ${className}`,
4381
4579
  disableDimmerClickToClose: true
4382
4580
  }, df.modal), {
4383
- body: /* @__PURE__ */ jsx92("div", { className: "dynamic-flow-modal", children: df.modal.body })
4581
+ body: /* @__PURE__ */ jsx94("div", { className: "dynamic-flow-modal", children: df.modal.body })
4384
4582
  })
4385
4583
  );
4386
4584
  }
4387
4585
 
4388
4586
  // src/dynamicFlow/getMergedRenderers.tsx
4389
- import { jsx as jsx93 } from "react/jsx-runtime";
4587
+ import { jsx as jsx95 } from "react/jsx-runtime";
4390
4588
  var wiseRenderers = getWiseRenderers();
4391
4589
  var getMergedRenderers = (props) => {
4392
4590
  var _d, _e;
@@ -4400,7 +4598,7 @@ var getMergedRenderers = (props) => {
4400
4598
  method: initialRequest.method,
4401
4599
  data: initialRequest.body
4402
4600
  };
4403
- return presentation.type === "push" ? /* @__PURE__ */ jsx93(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx93(
4601
+ return presentation.type === "push" ? /* @__PURE__ */ jsx95(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx95(
4404
4602
  DynamicFlowModal,
4405
4603
  __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), {
4406
4604
  features: subflowFeatures,
@@ -4459,13 +4657,13 @@ var openLinkInNewTab = (url) => {
4459
4657
  };
4460
4658
 
4461
4659
  // src/dynamicFlow/DynamicFlow.tsx
4462
- import { jsxs as jsxs35 } from "react/jsx-runtime";
4660
+ import { jsxs as jsxs36 } from "react/jsx-runtime";
4463
4661
  function DynamicFlow(props) {
4464
4662
  const { className = "" } = props;
4465
4663
  const dfProps = useWiseToCoreProps(props);
4466
4664
  const df = useDynamicFlow(dfProps);
4467
4665
  const { onContextMenu, contextMenu } = useDFContextMenu(df.controller);
4468
- return /* @__PURE__ */ jsxs35("div", { className, onContextMenu, children: [
4666
+ return /* @__PURE__ */ jsxs36("div", { className, onContextMenu, children: [
4469
4667
  df.view,
4470
4668
  contextMenu
4471
4669
  ] });
@@ -4477,7 +4675,7 @@ import {
4477
4675
  useImperativeHandle
4478
4676
  } from "react";
4479
4677
  import { useDynamicFlow as useDynamicFlow2 } from "@wise/dynamic-flow-client";
4480
- import { jsx as jsx94 } from "react/jsx-runtime";
4678
+ import { jsx as jsx96 } from "react/jsx-runtime";
4481
4679
  var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
4482
4680
  const { className = "" } = props;
4483
4681
  const dfProps = useWiseToCoreProps(props);
@@ -4493,14 +4691,14 @@ var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
4493
4691
  }),
4494
4692
  [df]
4495
4693
  );
4496
- return /* @__PURE__ */ jsx94("div", { className, children: df.view });
4694
+ return /* @__PURE__ */ jsx96("div", { className, children: df.view });
4497
4695
  });
4498
4696
 
4499
4697
  // src/index.ts
4500
4698
  import { findRendererPropsByType } from "@wise/dynamic-flow-client";
4501
4699
 
4502
4700
  // src/dynamicFlow/renderers.tsx
4503
- var Header10 = Header5;
4701
+ var Header10 = Header;
4504
4702
  var Media2 = Media;
4505
4703
  var getMargin2 = getMargin;
4506
4704