@wise/dynamic-flow-client-internal 3.27.6 → 3.27.7

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
@@ -139,7 +139,7 @@ var init_clsx = __esm({
139
139
 
140
140
  // ../../node_modules/.pnpm/@wise+art@2.17.0_@transferwise+neptune-css@14.20.1_@types+react@18.3.16_react-dom@18.3.1_reac_4hsljgguo7de2wpoipdhgf4kzi/node_modules/@wise/art/dist/index-213daaa3.esm.js
141
141
  import { useState, useEffect, forwardRef, Suspense, lazy } from "react";
142
- import { jsx as jsx12, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
142
+ import { jsx as jsx11, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
143
143
  var unknownFlagName, Flag, Sizes, ImageSizes, imageSizes, Assets, RenderMode;
144
144
  var init_index_213daaa3_esm = __esm({
145
145
  "../../node_modules/.pnpm/@wise+art@2.17.0_@transferwise+neptune-css@14.20.1_@types+react@18.3.16_react-dom@18.3.1_reac_4hsljgguo7de2wpoipdhgf4kzi/node_modules/@wise/art/dist/index-213daaa3.esm.js"() {
@@ -158,7 +158,7 @@ var init_index_213daaa3_esm = __esm({
158
158
  }, [code]);
159
159
  const detailed = intrinsicSize >= 150;
160
160
  const name = fallback !== "unknown" ? `${code.toLowerCase()}${fallback == null && detailed ? "-detailed" : ""}` : unknownFlagName;
161
- return /* @__PURE__ */ jsx12("img", {
161
+ return /* @__PURE__ */ jsx11("img", {
162
162
  className: clsx(`wds-flag wds-flag-${name}`, className),
163
163
  src: false ? `${name}.svg` : `https://wise.com/web-art/assets/flags/${name}.svg`,
164
164
  loading,
@@ -862,7 +862,7 @@ var translations = languages.reduce(
862
862
  var i18n_default = translations;
863
863
 
864
864
  // src/dynamicFlow/DynamicFlow.tsx
865
- import { forwardRef as forwardRef2, useCallback, useMemo as useMemo2 } from "react";
865
+ import { forwardRef as forwardRef2, useCallback, useMemo } from "react";
866
866
  import { useIntl as useIntl9 } from "react-intl";
867
867
  import {
868
868
  DynamicFlow as DynamicFlowCoreLegacy,
@@ -870,16 +870,22 @@ import {
870
870
  DynamicFragmentCore
871
871
  } from "@wise/dynamic-flow-client";
872
872
 
873
- // ../renderers/src/contexts/RendererHttpClientContext.tsx
873
+ // ../renderers/src/contexts/RendererContext.tsx
874
874
  import { createContext, useContext } from "react";
875
- import { jsx } from "react/jsx-runtime";
876
- var HttpClientContext = createContext(void 0);
877
- function RendererHttpClientProvider({ httpClient, children }) {
878
- return /* @__PURE__ */ jsx(HttpClientContext.Provider, { value: httpClient, children });
879
- }
875
+ var RendererContext = createContext({ loadingState: "idle", httpClient: fetch, trackEvent: () => {
876
+ } });
877
+ var RendererContextProvider = RendererContext.Provider;
878
+ var useLoadingContext = () => {
879
+ const { loadingState } = useContext(RendererContext);
880
+ return { loadingState, isLoading: loadingState !== "idle" };
881
+ };
882
+ var useTrackEvent = () => {
883
+ const { trackEvent } = useContext(RendererContext);
884
+ return trackEvent;
885
+ };
880
886
  var useRendererHttpClient = () => {
881
- const contextFetch = useContext(HttpClientContext);
882
- return contextFetch != null ? contextFetch : fetch;
887
+ const { httpClient } = useContext(RendererContext);
888
+ return httpClient;
883
889
  };
884
890
 
885
891
  // ../renderers/src/AlertRenderer.tsx
@@ -916,10 +922,10 @@ var getTextAlignment = (align) => {
916
922
  var getTextAlignmentAndMargin = (component) => `${getTextAlignment(component.align)} ${getMargin(component.margin)}`;
917
923
 
918
924
  // ../renderers/src/AlertRenderer.tsx
919
- import { jsx as jsx2 } from "react/jsx-runtime";
925
+ import { jsx } from "react/jsx-runtime";
920
926
  var AlertRenderer = {
921
927
  canRenderType: "alert",
922
- render: ({ context, markdown, margin, callToAction }) => /* @__PURE__ */ jsx2(
928
+ render: ({ context, markdown, margin, callToAction }) => /* @__PURE__ */ jsx(
923
929
  Alert,
924
930
  {
925
931
  type: context,
@@ -973,14 +979,14 @@ var help_messages_default = defineMessages({
973
979
  });
974
980
 
975
981
  // ../renderers/src/components/Help.tsx
976
- import { jsx as jsx3 } from "react/jsx-runtime";
982
+ import { jsx as jsx2 } from "react/jsx-runtime";
977
983
  function Help({ help }) {
978
984
  const intl = useIntl();
979
- return /* @__PURE__ */ jsx3(
985
+ return /* @__PURE__ */ jsx2(
980
986
  Info,
981
987
  {
982
988
  className: "m-l-1",
983
- content: /* @__PURE__ */ jsx3(Markdown, { config: { link: { target: "_blank" } }, children: help }),
989
+ content: /* @__PURE__ */ jsx2(Markdown, { config: { link: { target: "_blank" } }, children: help }),
984
990
  presentation: "POPOVER",
985
991
  size: "sm",
986
992
  "aria-label": intl.formatMessage(help_messages_default.helpAria)
@@ -990,19 +996,19 @@ function Help({ help }) {
990
996
  var Help_default = Help;
991
997
 
992
998
  // ../renderers/src/components/LabelContentWithHelp.tsx
993
- import { jsx as jsx4, jsxs } from "react/jsx-runtime";
999
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
994
1000
  function LabelContentWithHelp({ text, help }) {
995
1001
  return /* @__PURE__ */ jsxs("div", { children: [
996
1002
  text,
997
- /* @__PURE__ */ jsx4(Help_default, { help })
1003
+ /* @__PURE__ */ jsx3(Help_default, { help })
998
1004
  ] });
999
1005
  }
1000
1006
 
1001
1007
  // ../renderers/src/components/FieldInput.tsx
1002
- import { jsx as jsx5 } from "react/jsx-runtime";
1008
+ import { jsx as jsx4 } from "react/jsx-runtime";
1003
1009
  function FieldInput({ id, children, label, validation, description, help }) {
1004
- const labelContent = label && help ? /* @__PURE__ */ jsx5(LabelContentWithHelp, { text: label, help }) : label;
1005
- return /* @__PURE__ */ jsx5(
1010
+ const labelContent = label && help ? /* @__PURE__ */ jsx4(LabelContentWithHelp, { text: label, help }) : label;
1011
+ return /* @__PURE__ */ jsx4(
1006
1012
  Field,
1007
1013
  {
1008
1014
  id,
@@ -1027,7 +1033,7 @@ var FieldInput_default = FieldInput;
1027
1033
 
1028
1034
  // ../renderers/src/BooleanInputRenderer.tsx
1029
1035
  import { Checkbox } from "@transferwise/components";
1030
- import { jsx as jsx6 } from "react/jsx-runtime";
1036
+ import { jsx as jsx5 } from "react/jsx-runtime";
1031
1037
  var BooleanInputRenderer = {
1032
1038
  canRenderType: "input-boolean",
1033
1039
  render: (props) => {
@@ -1051,20 +1057,20 @@ var BooleanInputRenderer = {
1051
1057
  "value"
1052
1058
  ]);
1053
1059
  const checkboxProps = __spreadProps(__spreadValues({}, rest), { label, secondary: description, checked: value });
1054
- return /* @__PURE__ */ jsx6(FieldInput_default, { id, label: "", description: "", validation: validationState, help, children: /* @__PURE__ */ jsx6(Checkbox, __spreadValues({ id }, checkboxProps)) });
1060
+ return /* @__PURE__ */ jsx5(FieldInput_default, { id, label: "", description: "", validation: validationState, help, children: /* @__PURE__ */ jsx5(Checkbox, __spreadValues({ id }, checkboxProps)) });
1055
1061
  }
1056
1062
  };
1057
1063
  var BooleanInputRenderer_default = BooleanInputRenderer;
1058
1064
 
1059
1065
  // ../renderers/src/BoxRenderer.tsx
1060
1066
  var import_classnames = __toESM(require_classnames());
1061
- import { jsx as jsx7 } from "react/jsx-runtime";
1067
+ import { jsx as jsx6 } from "react/jsx-runtime";
1062
1068
  var BoxRenderer = {
1063
1069
  canRenderType: "box",
1064
1070
  render: ({ border, children, control, margin, width }) => {
1065
1071
  const hasFixedWidth = width !== "xl";
1066
1072
  const hasBorder = control === "bordered" || control === "bordered-web" || border;
1067
- const contents = /* @__PURE__ */ jsx7(
1073
+ const contents = /* @__PURE__ */ jsx6(
1068
1074
  "div",
1069
1075
  {
1070
1076
  className: (0, import_classnames.default)({
@@ -1075,30 +1081,14 @@ var BoxRenderer = {
1075
1081
  children
1076
1082
  }
1077
1083
  );
1078
- return hasFixedWidth ? /* @__PURE__ */ jsx7("div", { className: (0, import_classnames.default)("df-box-renderer-fixed-width", getMargin(margin)), children: contents }) : contents;
1084
+ return hasFixedWidth ? /* @__PURE__ */ jsx6("div", { className: (0, import_classnames.default)("df-box-renderer-fixed-width", getMargin(margin)), children: contents }) : contents;
1079
1085
  }
1080
1086
  };
1081
1087
  var BoxRenderer_default = BoxRenderer;
1082
1088
 
1083
1089
  // ../renderers/src/ButtonRenderer.tsx
1084
1090
  import { Button } from "@transferwise/components";
1085
-
1086
- // ../renderers/src/step/StepRendererContext.tsx
1087
- import { createContext as createContext2, useContext as useContext2 } from "react";
1088
- var StepRendererContext = createContext2({ loadingState: "idle", trackEvent: () => {
1089
- } });
1090
- var StepRendererContextProvider = StepRendererContext.Provider;
1091
- var useLoadingContext = () => {
1092
- const { loadingState } = useContext2(StepRendererContext);
1093
- return { loadingState, isLoading: loadingState !== "idle" };
1094
- };
1095
- var useTrackEvent = () => {
1096
- const { trackEvent } = useContext2(StepRendererContext);
1097
- return trackEvent;
1098
- };
1099
-
1100
- // ../renderers/src/ButtonRenderer.tsx
1101
- import { jsx as jsx8 } from "react/jsx-runtime";
1091
+ import { jsx as jsx7 } from "react/jsx-runtime";
1102
1092
  var ButtonRenderer = {
1103
1093
  canRenderType: "button",
1104
1094
  render: ButtonRendererComponent
@@ -1116,7 +1106,7 @@ function ButtonRendererComponent({
1116
1106
  const priority = mapControl(control);
1117
1107
  const type = priority === "tertiary" ? void 0 : mapContext(context);
1118
1108
  const { isLoading } = useLoadingContext();
1119
- return /* @__PURE__ */ jsx8(
1109
+ return /* @__PURE__ */ jsx7(
1120
1110
  Button,
1121
1111
  {
1122
1112
  block: true,
@@ -1170,7 +1160,7 @@ var ButtonRenderer_default = ButtonRenderer;
1170
1160
 
1171
1161
  // ../renderers/src/ColumnsRenderer.tsx
1172
1162
  var import_classnames2 = __toESM(require_classnames());
1173
- import { jsx as jsx9, jsxs as jsxs2 } from "react/jsx-runtime";
1163
+ import { jsx as jsx8, jsxs as jsxs2 } from "react/jsx-runtime";
1174
1164
  var ColumnsRenderer = {
1175
1165
  canRenderType: "columns",
1176
1166
  render: ({ bias, margin, startChildren, endChildren }) => /* @__PURE__ */ jsxs2(
@@ -1181,8 +1171,8 @@ var ColumnsRenderer = {
1181
1171
  "df-columns-renderer-bias-end": bias === "end"
1182
1172
  }),
1183
1173
  children: [
1184
- /* @__PURE__ */ jsx9("div", { className: "df-columns-renderer-column", children: startChildren }),
1185
- /* @__PURE__ */ jsx9("div", { className: "df-columns-renderer-column", children: endChildren })
1174
+ /* @__PURE__ */ jsx8("div", { className: "df-columns-renderer-column", children: startChildren }),
1175
+ /* @__PURE__ */ jsx8("div", { className: "df-columns-renderer-column", children: endChildren })
1186
1176
  ]
1187
1177
  }
1188
1178
  )
@@ -1221,7 +1211,7 @@ var dateToDateString = (date) => {
1221
1211
  };
1222
1212
 
1223
1213
  // ../renderers/src/components/VariableDateInput.tsx
1224
- import { jsx as jsx10 } from "react/jsx-runtime";
1214
+ import { jsx as jsx9 } from "react/jsx-runtime";
1225
1215
  function VariableDateInput({
1226
1216
  control,
1227
1217
  inputProps
@@ -1237,7 +1227,7 @@ function VariableDateInput({
1237
1227
  onFocus
1238
1228
  } = inputProps;
1239
1229
  if (control === "date-lookup") {
1240
- return /* @__PURE__ */ jsx10(
1230
+ return /* @__PURE__ */ jsx9(
1241
1231
  DateLookup,
1242
1232
  {
1243
1233
  value: dateStringToDateOrNull(inputProps.value),
@@ -1253,7 +1243,7 @@ function VariableDateInput({
1253
1243
  }
1254
1244
  );
1255
1245
  }
1256
- return /* @__PURE__ */ jsx10(
1246
+ return /* @__PURE__ */ jsx9(
1257
1247
  DateInput,
1258
1248
  __spreadProps(__spreadValues({}, inputProps), {
1259
1249
  dayAutoComplete: getAutocompleteString(autoComplete, "day"),
@@ -1270,7 +1260,7 @@ var getAutocompleteString = (value, suffix) => {
1270
1260
  var VariableDateInput_default = VariableDateInput;
1271
1261
 
1272
1262
  // ../renderers/src/DateInputRenderer.tsx
1273
- import { jsx as jsx11 } from "react/jsx-runtime";
1263
+ import { jsx as jsx10 } from "react/jsx-runtime";
1274
1264
  var DateInputRenderer = {
1275
1265
  canRenderType: "input-date",
1276
1266
  render: (props) => {
@@ -1295,7 +1285,7 @@ var DateInputRenderer = {
1295
1285
  ]);
1296
1286
  const value = initialValue != null ? initialValue : "";
1297
1287
  const inputProps = __spreadProps(__spreadValues({}, rest), { value, id });
1298
- return /* @__PURE__ */ jsx11(
1288
+ return /* @__PURE__ */ jsx10(
1299
1289
  FieldInput_default,
1300
1290
  {
1301
1291
  id,
@@ -1303,7 +1293,7 @@ var DateInputRenderer = {
1303
1293
  description,
1304
1294
  validation: validationState,
1305
1295
  help,
1306
- children: /* @__PURE__ */ jsx11(VariableDateInput_default, { control, inputProps })
1296
+ children: /* @__PURE__ */ jsx10(VariableDateInput_default, { control, inputProps })
1307
1297
  }
1308
1298
  );
1309
1299
  }
@@ -1320,19 +1310,19 @@ import "react";
1320
1310
  import "react/jsx-runtime";
1321
1311
 
1322
1312
  // ../renderers/src/components/icon/FlagIcon.tsx
1323
- import { jsx as jsx13 } from "react/jsx-runtime";
1313
+ import { jsx as jsx12 } from "react/jsx-runtime";
1324
1314
  var isFlagIcon = (name) => name.startsWith("flag-");
1325
1315
  function FlagIcon({ name }) {
1326
1316
  if (!isFlagIcon(name)) {
1327
1317
  return null;
1328
1318
  }
1329
1319
  const code = name.substring(5);
1330
- return /* @__PURE__ */ jsx13(Flag, { code });
1320
+ return /* @__PURE__ */ jsx12(Flag, { code });
1331
1321
  }
1332
1322
 
1333
1323
  // ../renderers/src/components/icon/NamedIcon.tsx
1334
1324
  import * as icons from "@transferwise/icons";
1335
- import { jsx as jsx14 } from "react/jsx-runtime";
1325
+ import { jsx as jsx13 } from "react/jsx-runtime";
1336
1326
  var isNamedIcon = (name) => {
1337
1327
  const iconName = toCapitalisedCamelCase(name);
1338
1328
  return Object.keys(icons).includes(iconName);
@@ -1343,19 +1333,19 @@ function NamedIcon({ name }) {
1343
1333
  }
1344
1334
  const iconName = toCapitalisedCamelCase(name);
1345
1335
  const Icon = icons[iconName];
1346
- return /* @__PURE__ */ jsx14(Icon, { size: 24 });
1336
+ return /* @__PURE__ */ jsx13(Icon, { size: 24 });
1347
1337
  }
1348
1338
  var toCapitalisedCamelCase = (value) => value.split("-").map(capitaliseFirstChar).join("");
1349
1339
  var capitaliseFirstChar = (value) => `${value[0].toUpperCase()}${value.slice(1)}`;
1350
1340
 
1351
1341
  // ../renderers/src/components/icon/DynamicIcon.tsx
1352
- import { jsx as jsx15 } from "react/jsx-runtime";
1342
+ import { jsx as jsx14 } from "react/jsx-runtime";
1353
1343
  function DynamicIcon({ name }) {
1354
1344
  if (isFlagIcon(name)) {
1355
- return /* @__PURE__ */ jsx15(FlagIcon, { name });
1345
+ return /* @__PURE__ */ jsx14(FlagIcon, { name });
1356
1346
  }
1357
1347
  if (isNamedIcon(name)) {
1358
- return /* @__PURE__ */ jsx15(NamedIcon, { name });
1348
+ return /* @__PURE__ */ jsx14(NamedIcon, { name });
1359
1349
  }
1360
1350
  return null;
1361
1351
  }
@@ -1363,25 +1353,25 @@ var DynamicIcon_default = DynamicIcon;
1363
1353
 
1364
1354
  // ../renderers/src/components/icon/NavigationOptionMedia.tsx
1365
1355
  import { Avatar, AvatarType } from "@transferwise/components";
1366
- import { jsx as jsx16 } from "react/jsx-runtime";
1356
+ import { jsx as jsx15 } from "react/jsx-runtime";
1367
1357
  function NavigationOptionMedia({ icon, image }) {
1368
1358
  if (!isNullish(icon)) {
1369
1359
  if ("name" in icon) {
1370
- return /* @__PURE__ */ jsx16(Avatar, { type: AvatarType.ICON, children: /* @__PURE__ */ jsx16(DynamicIcon_default, { name: icon.name }) });
1360
+ return /* @__PURE__ */ jsx15(Avatar, { type: AvatarType.ICON, children: /* @__PURE__ */ jsx15(DynamicIcon_default, { name: icon.name }) });
1371
1361
  }
1372
1362
  if (icon.text) {
1373
- return /* @__PURE__ */ jsx16(Avatar, { type: AvatarType.INITIALS, children: icon.text });
1363
+ return /* @__PURE__ */ jsx15(Avatar, { type: AvatarType.INITIALS, children: icon.text });
1374
1364
  }
1375
1365
  }
1376
1366
  if (image == null ? void 0 : image.url) {
1377
1367
  const { url, accessibilityDescription } = image;
1378
- return /* @__PURE__ */ jsx16("img", { src: url, alt: accessibilityDescription });
1368
+ return /* @__PURE__ */ jsx15("img", { src: url, alt: accessibilityDescription });
1379
1369
  }
1380
1370
  return null;
1381
1371
  }
1382
1372
 
1383
1373
  // ../renderers/src/DecisionRenderer.tsx
1384
- import { jsx as jsx17, jsxs as jsxs4 } from "react/jsx-runtime";
1374
+ import { jsx as jsx16, jsxs as jsxs4 } from "react/jsx-runtime";
1385
1375
  var DecisionRenderer = {
1386
1376
  canRenderType: "decision",
1387
1377
  render: DecisionRendererComponent
@@ -1390,14 +1380,14 @@ var DecisionRenderer_default = DecisionRenderer;
1390
1380
  function DecisionRendererComponent({ margin, options, title }) {
1391
1381
  const { isLoading } = useLoadingContext();
1392
1382
  return /* @__PURE__ */ jsxs4("div", { className: getMargin(margin), children: [
1393
- title && /* @__PURE__ */ jsx17(Header, { as: "h2", title }),
1394
- /* @__PURE__ */ jsx17(NavigationOptionsList, { children: options.map(({ description, disabled, icon, image, title: title2, onClick }) => /* @__PURE__ */ jsx17(
1383
+ title && /* @__PURE__ */ jsx16(Header, { as: "h2", title }),
1384
+ /* @__PURE__ */ jsx16(NavigationOptionsList, { children: options.map(({ description, disabled, icon, image, title: title2, onClick }) => /* @__PURE__ */ jsx16(
1395
1385
  NavigationOption,
1396
1386
  {
1397
1387
  title: title2,
1398
1388
  content: description,
1399
1389
  disabled: isLoading || disabled,
1400
- media: /* @__PURE__ */ jsx17(NavigationOptionMedia, { icon, image }),
1390
+ media: /* @__PURE__ */ jsx16(NavigationOptionMedia, { icon, image }),
1401
1391
  showMediaCircle: false,
1402
1392
  showMediaAtAllSizes: true,
1403
1393
  onClick
@@ -1408,36 +1398,36 @@ function DecisionRendererComponent({ margin, options, title }) {
1408
1398
  }
1409
1399
 
1410
1400
  // ../renderers/src/DividerRenderer.tsx
1411
- import { jsx as jsx18 } from "react/jsx-runtime";
1401
+ import { jsx as jsx17 } from "react/jsx-runtime";
1412
1402
  var DividerRenderer = {
1413
1403
  canRenderType: "divider",
1414
- render: ({ margin }) => /* @__PURE__ */ jsx18("hr", { className: `m-t-0 ${getMargin(margin)}` })
1404
+ render: ({ margin }) => /* @__PURE__ */ jsx17("hr", { className: `m-t-0 ${getMargin(margin)}` })
1415
1405
  };
1416
1406
  var DividerRenderer_default = DividerRenderer;
1417
1407
 
1418
1408
  // ../renderers/src/FormRenderer.tsx
1419
- import { jsx as jsx19 } from "react/jsx-runtime";
1409
+ import { jsx as jsx18 } from "react/jsx-runtime";
1420
1410
  var FormRenderer = {
1421
1411
  canRenderType: "form",
1422
- render: ({ children, margin }) => /* @__PURE__ */ jsx19("div", { className: getMargin(margin), children })
1412
+ render: ({ children, margin }) => /* @__PURE__ */ jsx18("div", { className: getMargin(margin), children })
1423
1413
  };
1424
1414
  var FormRenderer_default = FormRenderer;
1425
1415
 
1426
1416
  // ../renderers/src/FormSectionRenderer.tsx
1427
1417
  import { Header as Header2 } from "@transferwise/components";
1428
- import { jsx as jsx20, jsxs as jsxs5 } from "react/jsx-runtime";
1418
+ import { jsx as jsx19, jsxs as jsxs5 } from "react/jsx-runtime";
1429
1419
  var FormSectionRenderer = {
1430
1420
  canRenderType: "form-section",
1431
1421
  render: ({ title, description, children }) => /* @__PURE__ */ jsxs5("fieldset", { children: [
1432
1422
  title && // TODO - once section headers support help, we could show help in here
1433
- /* @__PURE__ */ jsx20(
1423
+ /* @__PURE__ */ jsx19(
1434
1424
  Header2,
1435
1425
  {
1436
1426
  as: "h2",
1437
1427
  title
1438
1428
  }
1439
1429
  ),
1440
- description && /* @__PURE__ */ jsx20("p", { children: description }),
1430
+ description && /* @__PURE__ */ jsx19("p", { children: description }),
1441
1431
  children
1442
1432
  ] })
1443
1433
  };
@@ -1445,32 +1435,32 @@ var FormSectionRenderer_default = FormSectionRenderer;
1445
1435
 
1446
1436
  // ../renderers/src/HeadingRenderer.tsx
1447
1437
  import { Display } from "@transferwise/components";
1448
- import { jsx as jsx21 } from "react/jsx-runtime";
1438
+ import { jsx as jsx20 } from "react/jsx-runtime";
1449
1439
  var HeadingRenderer = {
1450
1440
  canRenderType: "heading",
1451
- render: (props) => /* @__PURE__ */ jsx21(Heading, __spreadValues({}, props))
1441
+ render: (props) => /* @__PURE__ */ jsx20(Heading, __spreadValues({}, props))
1452
1442
  };
1453
1443
  function Heading(props) {
1454
1444
  const { text, size: size2, align, margin, control } = props;
1455
1445
  const className = getTextAlignmentAndMargin({ align, margin });
1456
- return control === "display" ? /* @__PURE__ */ jsx21(DisplayHeading, { size: size2, text, className }) : /* @__PURE__ */ jsx21(StandardHeading, { size: size2, text, className });
1446
+ return control === "display" ? /* @__PURE__ */ jsx20(DisplayHeading, { size: size2, text, className }) : /* @__PURE__ */ jsx20(StandardHeading, { size: size2, text, className });
1457
1447
  }
1458
1448
  function DisplayHeading({ size: size2, text, className }) {
1459
- return /* @__PURE__ */ jsx21(Display, { type: getDisplayType(size2), className, children: text });
1449
+ return /* @__PURE__ */ jsx20(Display, { type: getDisplayType(size2), className, children: text });
1460
1450
  }
1461
1451
  function StandardHeading({ size: size2, text, className }) {
1462
1452
  switch (size2) {
1463
1453
  case "xs":
1464
- return /* @__PURE__ */ jsx21("h5", { className, children: text });
1454
+ return /* @__PURE__ */ jsx20("h5", { className, children: text });
1465
1455
  case "sm":
1466
- return /* @__PURE__ */ jsx21("h4", { className, children: text });
1456
+ return /* @__PURE__ */ jsx20("h4", { className, children: text });
1467
1457
  case "lg":
1468
- return /* @__PURE__ */ jsx21("h2", { className, children: text });
1458
+ return /* @__PURE__ */ jsx20("h2", { className, children: text });
1469
1459
  case "xl":
1470
- return /* @__PURE__ */ jsx21("h1", { className, children: text });
1460
+ return /* @__PURE__ */ jsx20("h1", { className, children: text });
1471
1461
  case "md":
1472
1462
  default:
1473
- return /* @__PURE__ */ jsx21("h3", { className, children: text });
1463
+ return /* @__PURE__ */ jsx20("h3", { className, children: text });
1474
1464
  }
1475
1465
  }
1476
1466
  var getDisplayType = (size2) => {
@@ -1500,10 +1490,10 @@ function isRelativePath(url = "") {
1500
1490
  }
1501
1491
 
1502
1492
  // ../renderers/src/ImageRenderer.tsx
1503
- import { jsx as jsx22 } from "react/jsx-runtime";
1493
+ import { jsx as jsx21 } from "react/jsx-runtime";
1504
1494
  var ImageRenderer = {
1505
1495
  canRenderType: "image",
1506
- render: (props) => /* @__PURE__ */ jsx22(ImageRendererComponent, __spreadValues({}, props))
1496
+ render: (props) => /* @__PURE__ */ jsx21(ImageRendererComponent, __spreadValues({}, props))
1507
1497
  };
1508
1498
  var ImageRenderer_default = ImageRenderer;
1509
1499
  function ImageRendererComponent({
@@ -1517,7 +1507,7 @@ function ImageRendererComponent({
1517
1507
  useEffect2(() => {
1518
1508
  void getImageSource(httpClient, url).then(setImageSource);
1519
1509
  }, [url, httpClient]);
1520
- return /* @__PURE__ */ jsx22("div", { className: `df-image ${size2 || "md"}`, children: /* @__PURE__ */ jsx22(
1510
+ return /* @__PURE__ */ jsx21("div", { className: `df-image ${size2 || "md"}`, children: /* @__PURE__ */ jsx21(
1521
1511
  Image,
1522
1512
  {
1523
1513
  className: `img-responsive ${getMargin(margin)}`,
@@ -1562,7 +1552,7 @@ var getImageSource = async (httpClient, imageUrl) => {
1562
1552
 
1563
1553
  // ../renderers/src/InstructionsRenderer.tsx
1564
1554
  import { Header as Header3, InstructionsList } from "@transferwise/components";
1565
- import { jsx as jsx23, jsxs as jsxs6 } from "react/jsx-runtime";
1555
+ import { jsx as jsx22, jsxs as jsxs6 } from "react/jsx-runtime";
1566
1556
  var doContext = ["positive", "neutral"];
1567
1557
  var dontContext = ["warning", "negative"];
1568
1558
  var InstructionsRenderer = {
@@ -1571,8 +1561,8 @@ var InstructionsRenderer = {
1571
1561
  const dos = items.filter((item) => doContext.includes(item.context)).map(({ text }) => text);
1572
1562
  const donts = items.filter((item) => dontContext.includes(item.context)).map(({ text }) => text);
1573
1563
  return /* @__PURE__ */ jsxs6("div", { className: getMargin(margin), children: [
1574
- title ? /* @__PURE__ */ jsx23(Header3, { title }) : null,
1575
- /* @__PURE__ */ jsx23(InstructionsList, { dos, donts })
1564
+ title ? /* @__PURE__ */ jsx22(Header3, { title }) : null,
1565
+ /* @__PURE__ */ jsx22(InstructionsList, { dos, donts })
1576
1566
  ] });
1577
1567
  }
1578
1568
  };
@@ -1590,11 +1580,11 @@ var onWheel = (event) => {
1590
1580
 
1591
1581
  // ../renderers/src/utils/getIconAvatar.tsx
1592
1582
  import { Avatar as Avatar2, AvatarType as AvatarType2 } from "@transferwise/components";
1593
- import { jsx as jsx24 } from "react/jsx-runtime";
1583
+ import { jsx as jsx23 } from "react/jsx-runtime";
1594
1584
  var size = 24;
1595
1585
  function getIconAvatar({ icon, image }) {
1596
1586
  if (image == null ? void 0 : image.url) {
1597
- return /* @__PURE__ */ jsx24(
1587
+ return /* @__PURE__ */ jsx23(
1598
1588
  "img",
1599
1589
  {
1600
1590
  src: image.url,
@@ -1605,13 +1595,13 @@ function getIconAvatar({ icon, image }) {
1605
1595
  );
1606
1596
  }
1607
1597
  if (isFlagIcon2(icon)) {
1608
- return /* @__PURE__ */ jsx24(Avatar2, { type: AvatarType2.ICON, size, children: /* @__PURE__ */ jsx24(DynamicIcon_default, { name: icon.name }) });
1598
+ return /* @__PURE__ */ jsx23(Avatar2, { type: AvatarType2.ICON, size, children: /* @__PURE__ */ jsx23(DynamicIcon_default, { name: icon.name }) });
1609
1599
  }
1610
1600
  if (isNamedIcon2(icon)) {
1611
- return /* @__PURE__ */ jsx24(DynamicIcon_default, { name: icon.name });
1601
+ return /* @__PURE__ */ jsx23(DynamicIcon_default, { name: icon.name });
1612
1602
  }
1613
1603
  if (icon && "text" in icon) {
1614
- return /* @__PURE__ */ jsx24(Avatar2, { type: AvatarType2.ICON, size, children: icon.text });
1604
+ return /* @__PURE__ */ jsx23(Avatar2, { type: AvatarType2.ICON, size, children: icon.text });
1615
1605
  }
1616
1606
  return null;
1617
1607
  }
@@ -1625,7 +1615,7 @@ var getInputGroupAddonStart = ({ icon, image }) => {
1625
1615
  };
1626
1616
 
1627
1617
  // ../renderers/src/IntegerInputRenderer.tsx
1628
- import { jsx as jsx25 } from "react/jsx-runtime";
1618
+ import { jsx as jsx24 } from "react/jsx-runtime";
1629
1619
  var IntegerInputRenderer = {
1630
1620
  canRenderType: "input-integer",
1631
1621
  render: (props) => {
@@ -1652,7 +1642,7 @@ var IntegerInputRenderer = {
1652
1642
  "value",
1653
1643
  "onChange"
1654
1644
  ]);
1655
- return /* @__PURE__ */ jsx25(
1645
+ return /* @__PURE__ */ jsx24(
1656
1646
  FieldInput_default,
1657
1647
  {
1658
1648
  id,
@@ -1660,7 +1650,7 @@ var IntegerInputRenderer = {
1660
1650
  description,
1661
1651
  validation: validationState,
1662
1652
  help,
1663
- children: /* @__PURE__ */ jsx25(InputGroup, { addonStart: getInputGroupAddonStart({ icon, image }), children: /* @__PURE__ */ jsx25(
1653
+ children: /* @__PURE__ */ jsx24(InputGroup, { addonStart: getInputGroupAddonStart({ icon, image }), children: /* @__PURE__ */ jsx24(
1664
1654
  Input,
1665
1655
  __spreadValues({
1666
1656
  id,
@@ -1684,10 +1674,10 @@ var IntegerInputRenderer_default = IntegerInputRenderer;
1684
1674
 
1685
1675
  // ../renderers/src/LoadingIndicatorRenderer.tsx
1686
1676
  import { Loader } from "@transferwise/components";
1687
- import { jsx as jsx26 } from "react/jsx-runtime";
1677
+ import { jsx as jsx25 } from "react/jsx-runtime";
1688
1678
  var LoadingIndicatorRenderer = {
1689
1679
  canRenderType: "loading-indicator",
1690
- render: ({ margin, size: size2 }) => /* @__PURE__ */ jsx26(
1680
+ render: ({ margin, size: size2 }) => /* @__PURE__ */ jsx25(
1691
1681
  Loader,
1692
1682
  {
1693
1683
  size: size2,
@@ -1700,28 +1690,28 @@ var LoadingIndicatorRenderer_default = LoadingIndicatorRenderer;
1700
1690
 
1701
1691
  // ../renderers/src/MarkdownRenderer.tsx
1702
1692
  import { Markdown as Markdown2 } from "@transferwise/components";
1703
- import { jsx as jsx27 } from "react/jsx-runtime";
1693
+ import { jsx as jsx26 } from "react/jsx-runtime";
1704
1694
  var MarkdownRenderer = {
1705
1695
  canRenderType: "markdown",
1706
- render: ({ content, align, margin }) => /* @__PURE__ */ jsx27("div", { className: getTextAlignmentAndMargin({ align, margin }), children: /* @__PURE__ */ jsx27(Markdown2, { config: { link: { target: "_blank" } }, children: content }) })
1696
+ render: ({ content, align, margin }) => /* @__PURE__ */ jsx26("div", { className: getTextAlignmentAndMargin({ align, margin }), children: /* @__PURE__ */ jsx26(Markdown2, { config: { link: { target: "_blank" } }, children: content }) })
1707
1697
  };
1708
1698
  var MarkdownRenderer_default = MarkdownRenderer;
1709
1699
 
1710
1700
  // ../renderers/src/ModalRenderer.tsx
1711
1701
  import { Button as Button2, Modal } from "@transferwise/components";
1712
1702
  import { useState as useState3 } from "react";
1713
- import { jsx as jsx28, jsxs as jsxs7 } from "react/jsx-runtime";
1703
+ import { jsx as jsx27, jsxs as jsxs7 } from "react/jsx-runtime";
1714
1704
  var ModalRenderer = {
1715
1705
  canRenderType: "modal",
1716
- render: (props) => /* @__PURE__ */ jsx28(DFModal, __spreadValues({}, props))
1706
+ render: (props) => /* @__PURE__ */ jsx27(DFModal, __spreadValues({}, props))
1717
1707
  };
1718
1708
  var ModalRenderer_default = ModalRenderer;
1719
1709
  function DFModal({ content, margin, trigger }) {
1720
1710
  const [visible, setVisible] = useState3(false);
1721
1711
  const { components, title } = content;
1722
1712
  return /* @__PURE__ */ jsxs7("div", { className: getMargin(margin), children: [
1723
- /* @__PURE__ */ jsx28(Button2, { priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
1724
- /* @__PURE__ */ jsx28(
1713
+ /* @__PURE__ */ jsx27(Button2, { priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
1714
+ /* @__PURE__ */ jsx27(
1725
1715
  Modal,
1726
1716
  {
1727
1717
  scroll: "content",
@@ -1740,16 +1730,16 @@ import { SelectInput, SelectInputOptionContent } from "@transferwise/components"
1740
1730
 
1741
1731
  // ../renderers/src/SelectInputRenderer/OptionMedia.tsx
1742
1732
  import { Avatar as Avatar3, AvatarType as AvatarType3 } from "@transferwise/components";
1743
- import { jsx as jsx29 } from "react/jsx-runtime";
1733
+ import { jsx as jsx28 } from "react/jsx-runtime";
1744
1734
  function OptionMedia({ icon, image }) {
1745
1735
  if (image == null ? void 0 : image.url) {
1746
- return /* @__PURE__ */ jsx29("img", { src: image.url, alt: image.accessibilityDescription || "", width: "64px" });
1736
+ return /* @__PURE__ */ jsx28("img", { src: image.url, alt: image.accessibilityDescription || "", width: "64px" });
1747
1737
  }
1748
1738
  if (icon && "name" in icon) {
1749
- return /* @__PURE__ */ jsx29(Avatar3, { type: AvatarType3.ICON, children: /* @__PURE__ */ jsx29(DynamicIcon_default, { name: icon.name }) });
1739
+ return /* @__PURE__ */ jsx28(Avatar3, { type: AvatarType3.ICON, children: /* @__PURE__ */ jsx28(DynamicIcon_default, { name: icon.name }) });
1750
1740
  }
1751
1741
  if (icon && "text" in icon) {
1752
- return /* @__PURE__ */ jsx29(Avatar3, { type: AvatarType3.INITIALS, children: icon.text });
1742
+ return /* @__PURE__ */ jsx28(Avatar3, { type: AvatarType3.INITIALS, children: icon.text });
1753
1743
  }
1754
1744
  return null;
1755
1745
  }
@@ -1769,10 +1759,10 @@ var multi_select_messages_default = defineMessages2({
1769
1759
 
1770
1760
  // ../renderers/src/MultiSelectInputRenderer.tsx
1771
1761
  import { useState as useState4 } from "react";
1772
- import { jsx as jsx30 } from "react/jsx-runtime";
1762
+ import { jsx as jsx29 } from "react/jsx-runtime";
1773
1763
  var MultiSelectInputRenderer = {
1774
1764
  canRenderType: "input-multi-select",
1775
- render: (props) => /* @__PURE__ */ jsx30(MultiSelectInputRendererComponent, __spreadValues({}, props))
1765
+ render: (props) => /* @__PURE__ */ jsx29(MultiSelectInputRendererComponent, __spreadValues({}, props))
1776
1766
  };
1777
1767
  function MultiSelectInputRendererComponent(props) {
1778
1768
  const { formatMessage } = useIntl2();
@@ -1814,12 +1804,12 @@ function MultiSelectInputRendererComponent(props) {
1814
1804
  const contentProps = {
1815
1805
  title: option.title,
1816
1806
  description: option.description,
1817
- icon: /* @__PURE__ */ jsx30(OptionMedia, { icon: option.icon, image: option.image })
1807
+ icon: /* @__PURE__ */ jsx29(OptionMedia, { icon: option.icon, image: option.image })
1818
1808
  };
1819
- return /* @__PURE__ */ jsx30(SelectInputOptionContent, __spreadValues({}, contentProps));
1809
+ return /* @__PURE__ */ jsx29(SelectInputOptionContent, __spreadValues({}, contentProps));
1820
1810
  };
1821
1811
  const extraProps = { autoComplete };
1822
- return /* @__PURE__ */ jsx30(
1812
+ return /* @__PURE__ */ jsx29(
1823
1813
  FieldInput_default,
1824
1814
  {
1825
1815
  id,
@@ -1827,7 +1817,7 @@ function MultiSelectInputRendererComponent(props) {
1827
1817
  help,
1828
1818
  description,
1829
1819
  validation: validationState,
1830
- children: /* @__PURE__ */ jsx30(
1820
+ children: /* @__PURE__ */ jsx29(
1831
1821
  SelectInput,
1832
1822
  __spreadValues({
1833
1823
  id,
@@ -1871,7 +1861,7 @@ import { UploadInput } from "@transferwise/components";
1871
1861
  // ../renderers/src/components/UploadFieldInput.tsx
1872
1862
  var import_classnames3 = __toESM(require_classnames());
1873
1863
  import { InlineAlert } from "@transferwise/components";
1874
- import { jsx as jsx31, jsxs as jsxs8 } from "react/jsx-runtime";
1864
+ import { jsx as jsx30, jsxs as jsxs8 } from "react/jsx-runtime";
1875
1865
  function UploadFieldInput({
1876
1866
  id,
1877
1867
  children,
@@ -1880,7 +1870,7 @@ function UploadFieldInput({
1880
1870
  help,
1881
1871
  validation
1882
1872
  }) {
1883
- const labelContent = label && help ? /* @__PURE__ */ jsx31(LabelContentWithHelp, { text: label, help }) : label;
1873
+ const labelContent = label && help ? /* @__PURE__ */ jsx30(LabelContentWithHelp, { text: label, help }) : label;
1884
1874
  const descriptionId = description ? `${id}-description` : void 0;
1885
1875
  return /* @__PURE__ */ jsxs8(
1886
1876
  "div",
@@ -1889,9 +1879,9 @@ function UploadFieldInput({
1889
1879
  "has-error": (validation == null ? void 0 : validation.status) === "invalid"
1890
1880
  }),
1891
1881
  children: [
1892
- /* @__PURE__ */ jsx31("label", { htmlFor: id, className: "control-label", children: labelContent }),
1882
+ /* @__PURE__ */ jsx30("label", { htmlFor: id, className: "control-label", children: labelContent }),
1893
1883
  children,
1894
- (validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx31(InlineAlert, { type: "negative", id: descriptionId, children: validation.message })
1884
+ (validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx30(InlineAlert, { type: "negative", id: descriptionId, children: validation.message })
1895
1885
  ]
1896
1886
  }
1897
1887
  );
@@ -1923,7 +1913,7 @@ var getFileType = (base64Url) => {
1923
1913
  var getRandomId = () => Math.random().toString(36).substring(2);
1924
1914
 
1925
1915
  // ../renderers/src/MultiUploadInputRenderer.tsx
1926
- import { jsx as jsx32 } from "react/jsx-runtime";
1916
+ import { jsx as jsx31 } from "react/jsx-runtime";
1927
1917
  var MultiUploadInputRenderer = {
1928
1918
  canRenderType: "input-upload-multi",
1929
1919
  render: (props) => {
@@ -1950,7 +1940,7 @@ var MultiUploadInputRenderer = {
1950
1940
  };
1951
1941
  const onDeleteFile = async (fileId) => onDelete(String(fileId));
1952
1942
  const descriptionId = description ? `${id}-description` : void 0;
1953
- return /* @__PURE__ */ jsx32(
1943
+ return /* @__PURE__ */ jsx31(
1954
1944
  UploadFieldInput_default,
1955
1945
  {
1956
1946
  id,
@@ -1958,7 +1948,7 @@ var MultiUploadInputRenderer = {
1958
1948
  description,
1959
1949
  validation: validationState,
1960
1950
  help,
1961
- children: /* @__PURE__ */ jsx32(
1951
+ children: /* @__PURE__ */ jsx31(
1962
1952
  UploadInput,
1963
1953
  {
1964
1954
  id,
@@ -1982,7 +1972,7 @@ var MultiUploadInputRenderer_default = MultiUploadInputRenderer;
1982
1972
 
1983
1973
  // ../renderers/src/NumberInputRenderer.tsx
1984
1974
  import { Input as Input2, InputGroup as InputGroup2 } from "@transferwise/components";
1985
- import { jsx as jsx33 } from "react/jsx-runtime";
1975
+ import { jsx as jsx32 } from "react/jsx-runtime";
1986
1976
  var NumberInputRenderer = {
1987
1977
  canRenderType: "input-number",
1988
1978
  render: (props) => {
@@ -2009,7 +1999,7 @@ var NumberInputRenderer = {
2009
1999
  "value",
2010
2000
  "onChange"
2011
2001
  ]);
2012
- return /* @__PURE__ */ jsx33(
2002
+ return /* @__PURE__ */ jsx32(
2013
2003
  FieldInput_default,
2014
2004
  {
2015
2005
  id,
@@ -2017,7 +2007,7 @@ var NumberInputRenderer = {
2017
2007
  description,
2018
2008
  validation: validationState,
2019
2009
  help,
2020
- children: /* @__PURE__ */ jsx33(InputGroup2, { addonStart: getInputGroupAddonStart({ icon, image }), children: /* @__PURE__ */ jsx33(
2010
+ children: /* @__PURE__ */ jsx32(InputGroup2, { addonStart: getInputGroupAddonStart({ icon, image }), children: /* @__PURE__ */ jsx32(
2021
2011
  Input2,
2022
2012
  __spreadValues({
2023
2013
  id,
@@ -2042,9 +2032,9 @@ import { useIntl as useIntl3 } from "react-intl";
2042
2032
 
2043
2033
  // ../renderers/src/hooks/useSnackBarIfAvailable.ts
2044
2034
  import { SnackbarContext } from "@transferwise/components";
2045
- import { useContext as useContext3 } from "react";
2035
+ import { useContext as useContext2 } from "react";
2046
2036
  function useSnackBarIfAvailable() {
2047
- const context = useContext3(SnackbarContext);
2037
+ const context = useContext2(SnackbarContext);
2048
2038
  return context ? context.createSnackbar : () => {
2049
2039
  };
2050
2040
  }
@@ -2069,17 +2059,17 @@ var paragraph_messages_default = defineMessages3({
2069
2059
  });
2070
2060
 
2071
2061
  // ../renderers/src/ParagraphRenderer.tsx
2072
- import { jsx as jsx34, jsxs as jsxs9 } from "react/jsx-runtime";
2062
+ import { jsx as jsx33, jsxs as jsxs9 } from "react/jsx-runtime";
2073
2063
  var ParagraphRenderer = {
2074
2064
  canRenderType: "paragraph",
2075
- render: (props) => /* @__PURE__ */ jsx34(Paragraph, __spreadValues({}, props))
2065
+ render: (props) => /* @__PURE__ */ jsx33(Paragraph, __spreadValues({}, props))
2076
2066
  };
2077
2067
  function Paragraph({ align, control, margin, text }) {
2078
2068
  const className = getTextAlignmentAndMargin({ align, margin });
2079
- return control === "copyable" ? /* @__PURE__ */ jsx34(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx34(StandardParagraph, { className, text });
2069
+ return control === "copyable" ? /* @__PURE__ */ jsx33(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx33(StandardParagraph, { className, text });
2080
2070
  }
2081
2071
  function StandardParagraph({ text, className }) {
2082
- return /* @__PURE__ */ jsx34("p", { className: `np-text-body-large ${className}`, children: text });
2072
+ return /* @__PURE__ */ jsx33("p", { className: `np-text-body-large ${className}`, children: text });
2083
2073
  }
2084
2074
  function CopyableParagraph({
2085
2075
  text,
@@ -2094,7 +2084,7 @@ function CopyableParagraph({
2094
2084
  };
2095
2085
  const inputAlignmentClasses = getTextAlignmentAndMargin({ align, margin: "sm" });
2096
2086
  return /* @__PURE__ */ jsxs9("div", { className, children: [
2097
- /* @__PURE__ */ jsx34(
2087
+ /* @__PURE__ */ jsx33(
2098
2088
  Input3,
2099
2089
  {
2100
2090
  type: "text",
@@ -2103,7 +2093,7 @@ function CopyableParagraph({
2103
2093
  className: (0, import_classnames4.default)("text-ellipsis", inputAlignmentClasses)
2104
2094
  }
2105
2095
  ),
2106
- /* @__PURE__ */ jsx34(Button3, { block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
2096
+ /* @__PURE__ */ jsx33(Button3, { block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
2107
2097
  ] });
2108
2098
  }
2109
2099
  var ParagraphRenderer_default = ParagraphRenderer;
@@ -2141,10 +2131,10 @@ var repeatable_messages_default = defineMessages4({
2141
2131
 
2142
2132
  // ../renderers/src/RepeatableRenderer.tsx
2143
2133
  var import_classnames5 = __toESM(require_classnames());
2144
- import { Fragment as Fragment2, jsx as jsx35, jsxs as jsxs10 } from "react/jsx-runtime";
2134
+ import { Fragment as Fragment2, jsx as jsx34, jsxs as jsxs10 } from "react/jsx-runtime";
2145
2135
  var RepeatableRenderer = {
2146
2136
  canRenderType: "repeatable",
2147
- render: (props) => /* @__PURE__ */ jsx35(Repeatable, __spreadValues({}, props))
2137
+ render: (props) => /* @__PURE__ */ jsx34(Repeatable, __spreadValues({}, props))
2148
2138
  };
2149
2139
  function Repeatable(props) {
2150
2140
  const {
@@ -2184,8 +2174,8 @@ function Repeatable(props) {
2184
2174
  setOpenModalType(null);
2185
2175
  };
2186
2176
  return /* @__PURE__ */ jsxs10(Fragment2, { children: [
2187
- title && /* @__PURE__ */ jsx35(Header4, { title }),
2188
- description && /* @__PURE__ */ jsx35("p", { children: description }),
2177
+ title && /* @__PURE__ */ jsx34(Header4, { title }),
2178
+ description && /* @__PURE__ */ jsx34("p", { children: description }),
2189
2179
  /* @__PURE__ */ jsxs10(
2190
2180
  "div",
2191
2181
  {
@@ -2193,30 +2183,30 @@ function Repeatable(props) {
2193
2183
  "has-error": (validationState == null ? void 0 : validationState.status) === "invalid"
2194
2184
  }),
2195
2185
  children: [
2196
- items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx35(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
2197
- /* @__PURE__ */ jsx35(
2186
+ items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx34(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
2187
+ /* @__PURE__ */ jsx34(
2198
2188
  NavigationOption2,
2199
2189
  {
2200
- media: /* @__PURE__ */ jsx35(Plus, {}),
2190
+ media: /* @__PURE__ */ jsx34(Plus, {}),
2201
2191
  title: addItemTitle || formatMessage(repeatable_messages_default.addItemTitle),
2202
2192
  showMediaAtAllSizes: true,
2203
2193
  onClick: () => onAddItem()
2204
2194
  }
2205
2195
  ),
2206
- (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx35(InlineAlert2, { type: "negative", children: validationState.message })
2196
+ (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx34(InlineAlert2, { type: "negative", children: validationState.message })
2207
2197
  ]
2208
2198
  }
2209
2199
  ),
2210
- /* @__PURE__ */ jsx35(
2200
+ /* @__PURE__ */ jsx34(
2211
2201
  Modal2,
2212
2202
  {
2213
2203
  open: openModalType !== null,
2214
2204
  title: (openModalType === "add" ? addItemTitle : editItemTitle) || formatMessage(repeatable_messages_default.addItemTitle),
2215
2205
  body: /* @__PURE__ */ jsxs10(Fragment2, { children: [
2216
- /* @__PURE__ */ jsx35("div", { className: "m-b-2", children: editableItem }),
2206
+ /* @__PURE__ */ jsx34("div", { className: "m-b-2", children: editableItem }),
2217
2207
  /* @__PURE__ */ jsxs10("div", { children: [
2218
- /* @__PURE__ */ jsx35(Button4, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
2219
- /* @__PURE__ */ jsx35(Button4, { priority: "secondary", type: "negative", block: true, onClick: () => onRemoveItem(), children: formatMessage(repeatable_messages_default.removeItem) })
2208
+ /* @__PURE__ */ jsx34(Button4, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
2209
+ /* @__PURE__ */ jsx34(Button4, { priority: "secondary", type: "negative", block: true, onClick: () => onRemoveItem(), children: formatMessage(repeatable_messages_default.removeItem) })
2220
2210
  ] })
2221
2211
  ] }),
2222
2212
  onClose: () => onCancelEdit()
@@ -2228,10 +2218,10 @@ function ItemSummaryOption({
2228
2218
  item,
2229
2219
  onClick
2230
2220
  }) {
2231
- return /* @__PURE__ */ jsx35(
2221
+ return /* @__PURE__ */ jsx34(
2232
2222
  NavigationOption2,
2233
2223
  {
2234
- media: /* @__PURE__ */ jsx35(NavigationOptionMedia, __spreadValues({}, item)),
2224
+ media: /* @__PURE__ */ jsx34(NavigationOptionMedia, __spreadValues({}, item)),
2235
2225
  title: item.title,
2236
2226
  content: item.description,
2237
2227
  showMediaAtAllSizes: true,
@@ -2269,7 +2259,7 @@ var generic_error_messages_default = defineMessages5({
2269
2259
 
2270
2260
  // ../renderers/src/SearchRenderer/ErrorResult.tsx
2271
2261
  import { Button as Button5 } from "@transferwise/components";
2272
- import { jsx as jsx36, jsxs as jsxs11 } from "react/jsx-runtime";
2262
+ import { jsx as jsx35, jsxs as jsxs11 } from "react/jsx-runtime";
2273
2263
  function ErrorResult({ state }) {
2274
2264
  const intl = useIntl5();
2275
2265
  const buttonVisualProps = {
@@ -2280,7 +2270,7 @@ function ErrorResult({ state }) {
2280
2270
  return /* @__PURE__ */ jsxs11("p", { className: "m-t-2", children: [
2281
2271
  intl.formatMessage(generic_error_messages_default.genericError),
2282
2272
  "\xA0",
2283
- /* @__PURE__ */ jsx36(
2273
+ /* @__PURE__ */ jsx35(
2284
2274
  Button5,
2285
2275
  __spreadProps(__spreadValues({}, buttonVisualProps), {
2286
2276
  onClick: () => {
@@ -2307,7 +2297,7 @@ var search_messages_default = defineMessages6({
2307
2297
 
2308
2298
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
2309
2299
  import { useIntl as useIntl6 } from "react-intl";
2310
- import { Fragment as Fragment3, jsx as jsx37, jsxs as jsxs12 } from "react/jsx-runtime";
2300
+ import { Fragment as Fragment3, jsx as jsx36, jsxs as jsxs12 } from "react/jsx-runtime";
2311
2301
  function BlockSearchRendererComponent({
2312
2302
  id,
2313
2303
  isLoading,
@@ -2321,7 +2311,7 @@ function BlockSearchRendererComponent({
2321
2311
  const trackEvent = useTrackEvent();
2322
2312
  const { formatMessage } = useIntl6();
2323
2313
  return /* @__PURE__ */ jsxs12("div", { className: getMargin(margin), children: [
2324
- /* @__PURE__ */ jsx37(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx37(
2314
+ /* @__PURE__ */ jsx36(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx36(
2325
2315
  Input4,
2326
2316
  {
2327
2317
  id,
@@ -2338,7 +2328,7 @@ function BlockSearchRendererComponent({
2338
2328
  }
2339
2329
  }
2340
2330
  ) }),
2341
- isLoading ? /* @__PURE__ */ jsx37(Fragment3, { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx37(SearchResultContent, { state, onChange })
2331
+ isLoading ? /* @__PURE__ */ jsx36(Fragment3, { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx36(SearchResultContent, { state, onChange })
2342
2332
  ] });
2343
2333
  }
2344
2334
  function SearchResultContent({
@@ -2347,26 +2337,26 @@ function SearchResultContent({
2347
2337
  }) {
2348
2338
  switch (state.type) {
2349
2339
  case "error":
2350
- return /* @__PURE__ */ jsx37(ErrorResult, { state });
2340
+ return /* @__PURE__ */ jsx36(ErrorResult, { state });
2351
2341
  case "results":
2352
- return /* @__PURE__ */ jsx37(SearchResults, { state, onChange });
2342
+ return /* @__PURE__ */ jsx36(SearchResults, { state, onChange });
2353
2343
  case "noResults":
2354
- return /* @__PURE__ */ jsx37(EmptySearchResult, { state });
2344
+ return /* @__PURE__ */ jsx36(EmptySearchResult, { state });
2355
2345
  case "pending":
2356
2346
  default:
2357
2347
  return null;
2358
2348
  }
2359
2349
  }
2360
2350
  function EmptySearchResult({ state }) {
2361
- return /* @__PURE__ */ jsx37(Markdown3, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
2351
+ return /* @__PURE__ */ jsx36(Markdown3, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
2362
2352
  }
2363
2353
  function SearchResults({
2364
2354
  state
2365
2355
  }) {
2366
2356
  const trackEvent = useTrackEvent();
2367
- return /* @__PURE__ */ jsx37(NavigationOptionsList2, { children: state.results.map((result) => {
2357
+ return /* @__PURE__ */ jsx36(NavigationOptionsList2, { children: state.results.map((result) => {
2368
2358
  const { icon, image } = result;
2369
- return /* @__PURE__ */ jsx37(
2359
+ return /* @__PURE__ */ jsx36(
2370
2360
  NavigationOption3,
2371
2361
  {
2372
2362
  title: result.title,
@@ -2392,7 +2382,7 @@ import { Markdown as Markdown4, Typeahead } from "@transferwise/components";
2392
2382
  import { Search } from "@transferwise/icons";
2393
2383
  import { useState as useState7 } from "react";
2394
2384
  import { useIntl as useIntl7 } from "react-intl";
2395
- import { jsx as jsx38 } from "react/jsx-runtime";
2385
+ import { jsx as jsx37 } from "react/jsx-runtime";
2396
2386
  function InlineSearchRenderer({
2397
2387
  id,
2398
2388
  isLoading,
@@ -2404,7 +2394,7 @@ function InlineSearchRenderer({
2404
2394
  const [hasSearched, setHasSearched] = useState7(false);
2405
2395
  const trackEvent = useTrackEvent();
2406
2396
  const intl = useIntl7();
2407
- return /* @__PURE__ */ jsx38("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx38(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx38(
2397
+ return /* @__PURE__ */ jsx37("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx37(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx37(
2408
2398
  Typeahead,
2409
2399
  {
2410
2400
  id: "typeahead-input-id",
@@ -2412,10 +2402,10 @@ function InlineSearchRenderer({
2412
2402
  name: "typeahead-input-name",
2413
2403
  size: "md",
2414
2404
  maxHeight: 100,
2415
- footer: /* @__PURE__ */ jsx38(TypeaheadFooter, { state, isLoading }),
2405
+ footer: /* @__PURE__ */ jsx37(TypeaheadFooter, { state, isLoading }),
2416
2406
  multiple: false,
2417
2407
  clearable: false,
2418
- addon: /* @__PURE__ */ jsx38(Search, { size: 24 }),
2408
+ addon: /* @__PURE__ */ jsx37(Search, { size: 24 }),
2419
2409
  options: state.type === "results" ? state.results.map(mapResultToTypeaheadOption) : [],
2420
2410
  minQueryLength: 1,
2421
2411
  onChange: (values) => {
@@ -2452,29 +2442,29 @@ function mapResultToTypeaheadOption(result) {
2452
2442
  function TypeaheadFooter({ state, isLoading }) {
2453
2443
  const { formatMessage } = useIntl7();
2454
2444
  if (state.type === "noResults") {
2455
- return /* @__PURE__ */ jsx38(Markdown4, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
2445
+ return /* @__PURE__ */ jsx37(Markdown4, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
2456
2446
  }
2457
2447
  if (state.type === "error") {
2458
- return /* @__PURE__ */ jsx38("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx38(ErrorResult, { state }) });
2448
+ return /* @__PURE__ */ jsx37("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx37(ErrorResult, { state }) });
2459
2449
  }
2460
2450
  if (state.type === "pending" || isLoading) {
2461
- return /* @__PURE__ */ jsx38("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
2451
+ return /* @__PURE__ */ jsx37("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
2462
2452
  }
2463
2453
  return null;
2464
2454
  }
2465
2455
  var InlineSearchRendererComponent_default = InlineSearchRenderer;
2466
2456
 
2467
2457
  // ../renderers/src/SearchRenderer/SearchRenderer.tsx
2468
- import { jsx as jsx39 } from "react/jsx-runtime";
2458
+ import { jsx as jsx38 } from "react/jsx-runtime";
2469
2459
  var SearchRenderer = {
2470
2460
  canRenderType: "search",
2471
- render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx39(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx39(BlockSearchRendererComponent_default, __spreadValues({}, props))
2461
+ render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx38(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx38(BlockSearchRendererComponent_default, __spreadValues({}, props))
2472
2462
  };
2473
2463
  var SearchRenderer_default = SearchRenderer;
2474
2464
 
2475
2465
  // ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
2476
2466
  import { RadioGroup } from "@transferwise/components";
2477
- import { Fragment as Fragment4, jsx as jsx40, jsxs as jsxs13 } from "react/jsx-runtime";
2467
+ import { Fragment as Fragment4, jsx as jsx39, jsxs as jsxs13 } from "react/jsx-runtime";
2478
2468
  function RadioInputRendererComponent(props) {
2479
2469
  const {
2480
2470
  id,
@@ -2489,7 +2479,7 @@ function RadioInputRendererComponent(props) {
2489
2479
  onSelect
2490
2480
  } = props;
2491
2481
  return /* @__PURE__ */ jsxs13(Fragment4, { children: [
2492
- /* @__PURE__ */ jsx40(
2482
+ /* @__PURE__ */ jsx39(
2493
2483
  FieldInput_default,
2494
2484
  {
2495
2485
  id,
@@ -2497,7 +2487,7 @@ function RadioInputRendererComponent(props) {
2497
2487
  help,
2498
2488
  description,
2499
2489
  validation: validationState,
2500
- children: /* @__PURE__ */ jsx40("span", { children: /* @__PURE__ */ jsx40(
2490
+ children: /* @__PURE__ */ jsx39("span", { children: /* @__PURE__ */ jsx39(
2501
2491
  RadioGroup,
2502
2492
  {
2503
2493
  name: id,
@@ -2506,7 +2496,7 @@ function RadioInputRendererComponent(props) {
2506
2496
  value: index,
2507
2497
  secondary: option.description,
2508
2498
  disabled: option.disabled || disabled,
2509
- avatar: /* @__PURE__ */ jsx40(OptionMedia, { icon: option.icon, image: option.image })
2499
+ avatar: /* @__PURE__ */ jsx39(OptionMedia, { icon: option.icon, image: option.image })
2510
2500
  })),
2511
2501
  selectedValue: selectedIndex != null ? selectedIndex : void 0,
2512
2502
  onChange: onSelect
@@ -2522,7 +2512,7 @@ function RadioInputRendererComponent(props) {
2522
2512
  // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
2523
2513
  import { Tabs } from "@transferwise/components";
2524
2514
  import { useEffect as useEffect3 } from "react";
2525
- import { Fragment as Fragment5, jsx as jsx41, jsxs as jsxs14 } from "react/jsx-runtime";
2515
+ import { Fragment as Fragment5, jsx as jsx40, jsxs as jsxs14 } from "react/jsx-runtime";
2526
2516
  function TabInputRendererComponent(props) {
2527
2517
  const {
2528
2518
  id,
@@ -2542,7 +2532,7 @@ function TabInputRendererComponent(props) {
2542
2532
  }
2543
2533
  }, [selectedIndex, onSelect, options.length]);
2544
2534
  return /* @__PURE__ */ jsxs14(Fragment5, { children: [
2545
- /* @__PURE__ */ jsx41(
2535
+ /* @__PURE__ */ jsx40(
2546
2536
  FieldInput_default,
2547
2537
  {
2548
2538
  id,
@@ -2550,7 +2540,7 @@ function TabInputRendererComponent(props) {
2550
2540
  help,
2551
2541
  description,
2552
2542
  validation: validationState,
2553
- children: /* @__PURE__ */ jsx41(
2543
+ children: /* @__PURE__ */ jsx40(
2554
2544
  Tabs,
2555
2545
  {
2556
2546
  name: id,
@@ -2559,7 +2549,7 @@ function TabInputRendererComponent(props) {
2559
2549
  title: option.title,
2560
2550
  // if we pass null, we get some props-types console errors
2561
2551
  // eslint-disable-next-line react/jsx-no-useless-fragment
2562
- content: /* @__PURE__ */ jsx41(Fragment5, {}),
2552
+ content: /* @__PURE__ */ jsx40(Fragment5, {}),
2563
2553
  disabled: option.disabled || disabled
2564
2554
  })),
2565
2555
  onTabSelect: onSelect
@@ -2574,7 +2564,7 @@ var isValidIndex = (index, options) => index !== null && index >= 0 && index < o
2574
2564
 
2575
2565
  // ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
2576
2566
  import { SelectInput as SelectInput2, SelectInputOptionContent as SelectInputOptionContent2 } from "@transferwise/components";
2577
- import { Fragment as Fragment6, jsx as jsx42, jsxs as jsxs15 } from "react/jsx-runtime";
2567
+ import { Fragment as Fragment6, jsx as jsx41, jsxs as jsxs15 } from "react/jsx-runtime";
2578
2568
  function SelectInputRendererComponent(props) {
2579
2569
  const {
2580
2570
  id,
@@ -2614,13 +2604,13 @@ function SelectInputRendererComponent(props) {
2614
2604
  } : {
2615
2605
  title: option.title,
2616
2606
  description: option.description,
2617
- icon: /* @__PURE__ */ jsx42(OptionMedia, { icon: option.icon, image: option.image })
2607
+ icon: /* @__PURE__ */ jsx41(OptionMedia, { icon: option.icon, image: option.image })
2618
2608
  };
2619
- return /* @__PURE__ */ jsx42(SelectInputOptionContent2, __spreadValues({}, contentProps));
2609
+ return /* @__PURE__ */ jsx41(SelectInputOptionContent2, __spreadValues({}, contentProps));
2620
2610
  };
2621
2611
  const extraProps = { autoComplete };
2622
2612
  return /* @__PURE__ */ jsxs15(Fragment6, { children: [
2623
- /* @__PURE__ */ jsx42(
2613
+ /* @__PURE__ */ jsx41(
2624
2614
  FieldInput_default,
2625
2615
  {
2626
2616
  id,
@@ -2628,7 +2618,7 @@ function SelectInputRendererComponent(props) {
2628
2618
  help,
2629
2619
  description,
2630
2620
  validation: validationState,
2631
- children: /* @__PURE__ */ jsx42(
2621
+ children: /* @__PURE__ */ jsx41(
2632
2622
  SelectInput2,
2633
2623
  __spreadValues({
2634
2624
  name: id,
@@ -2651,7 +2641,7 @@ function SelectInputRendererComponent(props) {
2651
2641
  // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
2652
2642
  import { useEffect as useEffect4 } from "react";
2653
2643
  import { SegmentedControl } from "@transferwise/components";
2654
- import { Fragment as Fragment7, jsx as jsx43, jsxs as jsxs16 } from "react/jsx-runtime";
2644
+ import { Fragment as Fragment7, jsx as jsx42, jsxs as jsxs16 } from "react/jsx-runtime";
2655
2645
  function SegmentedInputRendererComponent(props) {
2656
2646
  const {
2657
2647
  id,
@@ -2670,7 +2660,7 @@ function SegmentedInputRendererComponent(props) {
2670
2660
  }
2671
2661
  }, [selectedIndex, onSelect, options.length]);
2672
2662
  return /* @__PURE__ */ jsxs16(Fragment7, { children: [
2673
- /* @__PURE__ */ jsx43(
2663
+ /* @__PURE__ */ jsx42(
2674
2664
  FieldInput_default,
2675
2665
  {
2676
2666
  id,
@@ -2678,7 +2668,7 @@ function SegmentedInputRendererComponent(props) {
2678
2668
  help,
2679
2669
  description,
2680
2670
  validation: validationState,
2681
- children: /* @__PURE__ */ jsx43(
2671
+ children: /* @__PURE__ */ jsx42(
2682
2672
  SegmentedControl,
2683
2673
  {
2684
2674
  name: `${id}-segmented-control`,
@@ -2695,26 +2685,26 @@ function SegmentedInputRendererComponent(props) {
2695
2685
  )
2696
2686
  }
2697
2687
  ),
2698
- /* @__PURE__ */ jsx43("div", { id: `${id}-children`, children })
2688
+ /* @__PURE__ */ jsx42("div", { id: `${id}-children`, children })
2699
2689
  ] });
2700
2690
  }
2701
2691
  var isValidIndex2 = (index, options) => index !== null && index >= 0 && index < options;
2702
2692
 
2703
2693
  // ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
2704
- import { jsx as jsx44 } from "react/jsx-runtime";
2694
+ import { jsx as jsx43 } from "react/jsx-runtime";
2705
2695
  var SelectInputRenderer = {
2706
2696
  canRenderType: "input-select",
2707
2697
  render: (props) => {
2708
2698
  switch (props.control) {
2709
2699
  case "radio":
2710
- return /* @__PURE__ */ jsx44(RadioInputRendererComponent, __spreadValues({}, props));
2700
+ return /* @__PURE__ */ jsx43(RadioInputRendererComponent, __spreadValues({}, props));
2711
2701
  case "tab":
2712
- return props.options.length > 3 ? /* @__PURE__ */ jsx44(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx44(TabInputRendererComponent, __spreadValues({}, props));
2702
+ return props.options.length > 3 ? /* @__PURE__ */ jsx43(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx43(TabInputRendererComponent, __spreadValues({}, props));
2713
2703
  case "segmented":
2714
- return props.options.length > 3 ? /* @__PURE__ */ jsx44(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx44(SegmentedInputRendererComponent, __spreadValues({}, props));
2704
+ return props.options.length > 3 ? /* @__PURE__ */ jsx43(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx43(SegmentedInputRendererComponent, __spreadValues({}, props));
2715
2705
  case "select":
2716
2706
  default:
2717
- return /* @__PURE__ */ jsx44(SelectInputRendererComponent, __spreadValues({}, props));
2707
+ return /* @__PURE__ */ jsx43(SelectInputRendererComponent, __spreadValues({}, props));
2718
2708
  }
2719
2709
  }
2720
2710
  };
@@ -2722,17 +2712,17 @@ var SelectInputRenderer_default = SelectInputRenderer;
2722
2712
 
2723
2713
  // ../renderers/src/StatusListRenderer.tsx
2724
2714
  import { Header as Header5, Summary } from "@transferwise/components";
2725
- import { jsx as jsx45, jsxs as jsxs17 } from "react/jsx-runtime";
2715
+ import { jsx as jsx44, jsxs as jsxs17 } from "react/jsx-runtime";
2726
2716
  var StatusListRenderer = {
2727
2717
  canRenderType: "status-list",
2728
2718
  render: ({ margin, items, title }) => /* @__PURE__ */ jsxs17("div", { className: getMargin(margin), children: [
2729
- title ? /* @__PURE__ */ jsx45(Header5, { title }) : null,
2730
- items.map(({ callToAction, description, icon, status, title: itemTitle }) => /* @__PURE__ */ jsx45(
2719
+ title ? /* @__PURE__ */ jsx44(Header5, { title, className: "m-b-2" }) : null,
2720
+ items.map(({ callToAction, description, icon, status, title: itemTitle }) => /* @__PURE__ */ jsx44(
2731
2721
  Summary,
2732
2722
  {
2733
2723
  title: itemTitle,
2734
2724
  description,
2735
- icon: icon && "name" in icon ? /* @__PURE__ */ jsx45(DynamicIcon_default, { name: icon.name }) : null,
2725
+ icon: icon && "name" in icon ? /* @__PURE__ */ jsx44(DynamicIcon_default, { name: icon.name }) : null,
2736
2726
  status: mapStatus(status),
2737
2727
  action: getSummaryAction(callToAction)
2738
2728
  },
@@ -2778,31 +2768,31 @@ import {
2778
2768
  TextArea,
2779
2769
  TextareaWithDisplayFormat
2780
2770
  } from "@transferwise/components";
2781
- import { jsx as jsx46 } from "react/jsx-runtime";
2771
+ import { jsx as jsx45 } from "react/jsx-runtime";
2782
2772
  function VariableTextInput({
2783
2773
  control,
2784
2774
  inputProps
2785
2775
  }) {
2786
2776
  switch (control) {
2787
2777
  case "password":
2788
- return /* @__PURE__ */ jsx46(TextInput, __spreadValues({ type: "password" }, inputProps));
2778
+ return /* @__PURE__ */ jsx45(TextInput, __spreadValues({ type: "password" }, inputProps));
2789
2779
  case "email":
2790
- return /* @__PURE__ */ jsx46(TextInput, __spreadValues({ type: "email" }, inputProps));
2780
+ return /* @__PURE__ */ jsx45(TextInput, __spreadValues({ type: "email" }, inputProps));
2791
2781
  case "textarea":
2792
- return /* @__PURE__ */ jsx46(TextAreaInput, __spreadValues({}, inputProps));
2782
+ return /* @__PURE__ */ jsx45(TextAreaInput, __spreadValues({}, inputProps));
2793
2783
  case "numeric":
2794
- return /* @__PURE__ */ jsx46(NumericInput, __spreadValues({ type: "number" }, inputProps));
2784
+ return /* @__PURE__ */ jsx45(NumericInput, __spreadValues({ type: "number" }, inputProps));
2795
2785
  case "phone-number":
2796
- return /* @__PURE__ */ jsx46(PhoneNumberInput, __spreadValues({}, inputProps));
2786
+ return /* @__PURE__ */ jsx45(PhoneNumberInput, __spreadValues({}, inputProps));
2797
2787
  default:
2798
- return /* @__PURE__ */ jsx46(TextInput, __spreadValues({ type: "text" }, inputProps));
2788
+ return /* @__PURE__ */ jsx45(TextInput, __spreadValues({ type: "text" }, inputProps));
2799
2789
  }
2800
2790
  }
2801
2791
  function TextInput(_a) {
2802
2792
  var _b = _a, { id, displayFormat, onChange } = _b, rest = __objRest(_b, ["id", "displayFormat", "onChange"]);
2803
2793
  if (typeof displayFormat === "string") {
2804
2794
  const inputProps = __spreadValues({ id, name: id, className: "form-control" }, rest);
2805
- return /* @__PURE__ */ jsx46(
2795
+ return /* @__PURE__ */ jsx45(
2806
2796
  InputWithDisplayFormat,
2807
2797
  __spreadValues({
2808
2798
  displayPattern: displayFormat,
@@ -2810,29 +2800,29 @@ function TextInput(_a) {
2810
2800
  }, inputProps)
2811
2801
  );
2812
2802
  }
2813
- return /* @__PURE__ */ jsx46(Input5, __spreadValues({ id, name: id, onChange: (e) => onChange(e.target.value) }, rest));
2803
+ return /* @__PURE__ */ jsx45(Input5, __spreadValues({ id, name: id, onChange: (e) => onChange(e.target.value) }, rest));
2814
2804
  }
2815
2805
  function TextAreaInput(_a) {
2816
2806
  var _b = _a, { id, displayFormat, onChange } = _b, rest = __objRest(_b, ["id", "displayFormat", "onChange"]);
2817
2807
  const textAreaProps = __spreadValues({ id, name: id }, rest);
2818
- return typeof displayFormat === "string" ? /* @__PURE__ */ jsx46(
2808
+ return typeof displayFormat === "string" ? /* @__PURE__ */ jsx45(
2819
2809
  TextareaWithDisplayFormat,
2820
2810
  __spreadValues({
2821
2811
  displayPattern: displayFormat,
2822
2812
  onChange: (newValue) => onChange(newValue)
2823
2813
  }, textAreaProps)
2824
- ) : /* @__PURE__ */ jsx46(TextArea, __spreadValues({ onChange: (e) => onChange(e.target.value) }, textAreaProps));
2814
+ ) : /* @__PURE__ */ jsx45(TextArea, __spreadValues({ onChange: (e) => onChange(e.target.value) }, textAreaProps));
2825
2815
  }
2826
2816
  function NumericInput(_a) {
2827
2817
  var _b = _a, { id, displayFormat, onChange } = _b, rest = __objRest(_b, ["id", "displayFormat", "onChange"]);
2828
2818
  const numericProps = __spreadValues({ id, name: id, onWheel }, rest);
2829
- return typeof displayFormat === "string" ? /* @__PURE__ */ jsx46(
2819
+ return typeof displayFormat === "string" ? /* @__PURE__ */ jsx45(
2830
2820
  InputWithDisplayFormat,
2831
2821
  __spreadValues({
2832
2822
  displayPattern: displayFormat,
2833
2823
  onChange: (newValue) => onChange(numericValueOrNull(newValue))
2834
2824
  }, numericProps)
2835
- ) : /* @__PURE__ */ jsx46(
2825
+ ) : /* @__PURE__ */ jsx45(
2836
2826
  Input5,
2837
2827
  __spreadValues({
2838
2828
  onChange: ({ target: { value: newValue } }) => onChange(numericValueOrNull(newValue))
@@ -2841,12 +2831,12 @@ function NumericInput(_a) {
2841
2831
  }
2842
2832
  function PhoneNumberInput(_a) {
2843
2833
  var _b = _a, { value } = _b, rest = __objRest(_b, ["value"]);
2844
- return /* @__PURE__ */ jsx46(PhoneNumber, __spreadValues({ initialValue: value }, rest));
2834
+ return /* @__PURE__ */ jsx45(PhoneNumber, __spreadValues({ initialValue: value }, rest));
2845
2835
  }
2846
2836
  var VariableTextInput_default = VariableTextInput;
2847
2837
 
2848
2838
  // ../renderers/src/TextInputRenderer.tsx
2849
- import { jsx as jsx47 } from "react/jsx-runtime";
2839
+ import { jsx as jsx46 } from "react/jsx-runtime";
2850
2840
  var TextInputRenderer = {
2851
2841
  canRenderType: "input-text",
2852
2842
  render: (props) => {
@@ -2881,7 +2871,7 @@ var TextInputRenderer = {
2881
2871
  ]);
2882
2872
  const value = initialValue != null ? initialValue : "";
2883
2873
  const inputProps = __spreadProps(__spreadValues({}, rest), { value, id });
2884
- return /* @__PURE__ */ jsx47(
2874
+ return /* @__PURE__ */ jsx46(
2885
2875
  FieldInput_default,
2886
2876
  {
2887
2877
  id,
@@ -2889,7 +2879,7 @@ var TextInputRenderer = {
2889
2879
  description,
2890
2880
  validation: validationState,
2891
2881
  help,
2892
- children: /* @__PURE__ */ jsx47(InputGroup3, { addonStart: getInputGroupAddonStart({ icon, image }), children: /* @__PURE__ */ jsx47(VariableTextInput_default, { control, inputProps }) })
2882
+ children: /* @__PURE__ */ jsx46(InputGroup3, { addonStart: getInputGroupAddonStart({ icon, image }), children: /* @__PURE__ */ jsx46(VariableTextInput_default, { control, inputProps }) })
2893
2883
  }
2894
2884
  );
2895
2885
  }
@@ -2898,7 +2888,7 @@ var TextInputRenderer_default = TextInputRenderer;
2898
2888
 
2899
2889
  // ../renderers/src/UploadInputRenderer.tsx
2900
2890
  import { Upload, UploadInput as UploadInput2 } from "@transferwise/components";
2901
- import { jsx as jsx48 } from "react/jsx-runtime";
2891
+ import { jsx as jsx47 } from "react/jsx-runtime";
2902
2892
  var UploadInputRenderer = {
2903
2893
  canRenderType: "input-upload",
2904
2894
  render: (props) => {
@@ -2914,14 +2904,14 @@ var UploadInputRenderer = {
2914
2904
  };
2915
2905
  return (
2916
2906
  // We don't pass help here as there is no sensible place to display it
2917
- /* @__PURE__ */ jsx48(
2907
+ /* @__PURE__ */ jsx47(
2918
2908
  UploadFieldInput_default,
2919
2909
  {
2920
2910
  id,
2921
2911
  label: void 0,
2922
2912
  description: void 0,
2923
2913
  validation: validationState,
2924
- children: /* @__PURE__ */ jsx48(
2914
+ children: /* @__PURE__ */ jsx47(
2925
2915
  UploadInput2,
2926
2916
  {
2927
2917
  id,
@@ -2978,7 +2968,7 @@ var LargeUploadRenderer = {
2978
2968
  throw e;
2979
2969
  }
2980
2970
  };
2981
- return /* @__PURE__ */ jsx48(
2971
+ return /* @__PURE__ */ jsx47(
2982
2972
  FieldInput_default,
2983
2973
  {
2984
2974
  id,
@@ -2986,7 +2976,7 @@ var LargeUploadRenderer = {
2986
2976
  description,
2987
2977
  validation: validationState,
2988
2978
  help,
2989
- children: /* @__PURE__ */ jsx48(
2979
+ children: /* @__PURE__ */ jsx47(
2990
2980
  Upload,
2991
2981
  __spreadProps(__spreadValues({}, uploadProps), {
2992
2982
  usAccept: getAcceptsString(accepts),
@@ -3003,14 +2993,14 @@ var LargeUploadRenderer = {
3003
2993
 
3004
2994
  // ../renderers/src/ReviewRenderer.tsx
3005
2995
  import { DefinitionList, Header as Header6 } from "@transferwise/components";
3006
- import { Fragment as Fragment8, jsx as jsx49, jsxs as jsxs18 } from "react/jsx-runtime";
2996
+ import { Fragment as Fragment8, jsx as jsx48, jsxs as jsxs18 } from "react/jsx-runtime";
3007
2997
  var ReviewRenderer = {
3008
2998
  canRenderType: "review",
3009
2999
  render: ({ callToAction, control, fields, margin, title }) => {
3010
3000
  const orientation = mapControlToDefinitionListLayout(control);
3011
3001
  return /* @__PURE__ */ jsxs18("div", { className: getMargin(margin), children: [
3012
- (title || callToAction) && /* @__PURE__ */ jsx49(Header6, { title: title != null ? title : "", action: getReviewAction(callToAction) }),
3013
- /* @__PURE__ */ jsx49("div", { className: margin, children: /* @__PURE__ */ jsx49(
3002
+ (title || callToAction) && /* @__PURE__ */ jsx48(Header6, { title: title != null ? title : "", action: getReviewAction(callToAction) }),
3003
+ /* @__PURE__ */ jsx48("div", { className: margin, children: /* @__PURE__ */ jsx48(
3014
3004
  DefinitionList,
3015
3005
  {
3016
3006
  layout: orientation,
@@ -3043,13 +3033,13 @@ var mapControlToDefinitionListLayout = (control) => {
3043
3033
  var getFieldValue = (value, help, orientation) => {
3044
3034
  if (help) {
3045
3035
  return orientation === "HORIZONTAL_RIGHT_ALIGNED" ? /* @__PURE__ */ jsxs18(Fragment8, { children: [
3046
- /* @__PURE__ */ jsx49(Help_default, { help }),
3036
+ /* @__PURE__ */ jsx48(Help_default, { help }),
3047
3037
  " ",
3048
3038
  value
3049
3039
  ] }) : /* @__PURE__ */ jsxs18(Fragment8, { children: [
3050
3040
  value,
3051
3041
  " ",
3052
- /* @__PURE__ */ jsx49(Help_default, { help })
3042
+ /* @__PURE__ */ jsx48(Help_default, { help })
3053
3043
  ] });
3054
3044
  }
3055
3045
  return value;
@@ -3078,7 +3068,29 @@ var getReviewAction = (callToAction) => {
3078
3068
  };
3079
3069
 
3080
3070
  // ../renderers/src/step/StepRenderer.tsx
3081
- import { useMemo } from "react";
3071
+ import { Alert as Alert2, Title } from "@transferwise/components";
3072
+
3073
+ // ../renderers/src/step/BackButton.tsx
3074
+ import { Avatar as Avatar4 } from "@transferwise/components";
3075
+ import { ArrowLeft } from "@transferwise/icons";
3076
+ import { jsx as jsx49, jsxs as jsxs19 } from "react/jsx-runtime";
3077
+ function BackButton({ title, onClick }) {
3078
+ return /* @__PURE__ */ jsx49("div", { className: "m-b-2", children: /* @__PURE__ */ jsxs19(
3079
+ "button",
3080
+ {
3081
+ type: "button",
3082
+ className: "df-back-btn",
3083
+ title,
3084
+ "aria-label": title,
3085
+ onClick,
3086
+ children: [
3087
+ /* @__PURE__ */ jsx49("span", { className: "sr-only", children: title }),
3088
+ /* @__PURE__ */ jsx49(Avatar4, { type: "icon", children: /* @__PURE__ */ jsx49(ArrowLeft, { size: "24" }) })
3089
+ ]
3090
+ }
3091
+ ) });
3092
+ }
3093
+ var BackButton_default = BackButton;
3082
3094
 
3083
3095
  // ../renderers/src/step/ExternalConfirmationDialog.tsx
3084
3096
  import { useIntl as useIntl8 } from "react-intl";
@@ -3110,16 +3122,16 @@ var external_confirmation_messages_default = defineMessages7({
3110
3122
 
3111
3123
  // ../renderers/src/step/ExternalConfirmationDialog.tsx
3112
3124
  import { Button as Button6, Markdown as Markdown5 } from "@transferwise/components";
3113
- import { jsx as jsx50, jsxs as jsxs19 } from "react/jsx-runtime";
3125
+ import { jsx as jsx50, jsxs as jsxs20 } from "react/jsx-runtime";
3114
3126
  function ExternalConfirmationDialog({
3115
3127
  external,
3116
3128
  onClose
3117
3129
  }) {
3118
3130
  const { formatMessage } = useIntl8();
3119
- return /* @__PURE__ */ jsx50("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs19("div", { className: "df-box-renderer-width-lg", children: [
3131
+ return /* @__PURE__ */ jsx50("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs20("div", { className: "df-box-renderer-width-lg", children: [
3120
3132
  /* @__PURE__ */ jsx50("h2", { className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.title) }),
3121
3133
  /* @__PURE__ */ jsx50(Markdown5, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin(external.url) }) }),
3122
- /* @__PURE__ */ jsx50("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs19("div", { className: "df-box-renderer-width-lg", children: [
3134
+ /* @__PURE__ */ jsx50("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs20("div", { className: "df-box-renderer-width-lg", children: [
3123
3135
  /* @__PURE__ */ jsx50(
3124
3136
  Button6,
3125
3137
  {
@@ -3162,49 +3174,25 @@ function useExternal(url) {
3162
3174
  return { requiresUserConfirmation, dismissConfirmation };
3163
3175
  }
3164
3176
 
3165
- // ../renderers/src/step/BackButton.tsx
3166
- import { Avatar as Avatar4 } from "@transferwise/components";
3167
- import { ArrowLeft } from "@transferwise/icons";
3168
- import { jsx as jsx51, jsxs as jsxs20 } from "react/jsx-runtime";
3169
- function BackButton({ title, onClick }) {
3170
- return /* @__PURE__ */ jsx51("div", { className: "m-b-2", children: /* @__PURE__ */ jsxs20(
3171
- "button",
3172
- {
3173
- type: "button",
3174
- className: "df-back-btn",
3175
- title,
3176
- "aria-label": title,
3177
- onClick,
3178
- children: [
3179
- /* @__PURE__ */ jsx51("span", { className: "sr-only", children: title }),
3180
- /* @__PURE__ */ jsx51(Avatar4, { type: "icon", children: /* @__PURE__ */ jsx51(ArrowLeft, { size: "24" }) })
3181
- ]
3182
- }
3183
- ) });
3184
- }
3185
- var BackButton_default = BackButton;
3186
-
3187
3177
  // ../renderers/src/step/StepRenderer.tsx
3188
- import { Alert as Alert2, Title } from "@transferwise/components";
3189
- import { jsx as jsx52, jsxs as jsxs21 } from "react/jsx-runtime";
3178
+ import { Fragment as Fragment9, jsx as jsx51, jsxs as jsxs21 } from "react/jsx-runtime";
3190
3179
  var StepRenderer = {
3191
3180
  canRenderType: "step",
3192
3181
  render: StepRendererComponent
3193
3182
  };
3194
3183
  function StepRendererComponent(props) {
3195
- const { back, description, error, external, loadingState, title, trackEvent, children } = props;
3196
- const value = useMemo(() => ({ loadingState, trackEvent }), [loadingState, trackEvent]);
3184
+ const { back, description, error, external, title, children } = props;
3197
3185
  const { requiresUserConfirmation, dismissConfirmation } = useExternal(external == null ? void 0 : external.url);
3198
3186
  if ((external == null ? void 0 : external.url) && requiresUserConfirmation) {
3199
- return /* @__PURE__ */ jsx52(ExternalConfirmationDialog, { external, onClose: dismissConfirmation });
3187
+ return /* @__PURE__ */ jsx51(ExternalConfirmationDialog, { external, onClose: dismissConfirmation });
3200
3188
  }
3201
- return /* @__PURE__ */ jsxs21(StepRendererContextProvider, { value, children: [
3202
- back ? /* @__PURE__ */ jsx52(BackButton_default, __spreadValues({}, back)) : null,
3189
+ return /* @__PURE__ */ jsxs21(Fragment9, { children: [
3190
+ back ? /* @__PURE__ */ jsx51(BackButton_default, __spreadValues({}, back)) : null,
3203
3191
  title || description ? /* @__PURE__ */ jsxs21("div", { className: "m-b-4", children: [
3204
- title ? /* @__PURE__ */ jsx52(Title, { as: "h1", type: "title-section", className: "text-xs-center m-b-2", children: title }) : void 0,
3205
- description ? /* @__PURE__ */ jsx52("p", { className: "text-xs-center np-text-body-large", children: description }) : void 0
3192
+ title ? /* @__PURE__ */ jsx51(Title, { as: "h1", type: "title-section", className: "text-xs-center m-b-2", children: title }) : void 0,
3193
+ description ? /* @__PURE__ */ jsx51("p", { className: "text-xs-center np-text-body-large", children: description }) : void 0
3206
3194
  ] }) : void 0,
3207
- error ? /* @__PURE__ */ jsx52(Alert2, { type: "negative", className: "m-b-2", message: error }) : void 0,
3195
+ error ? /* @__PURE__ */ jsx51(Alert2, { type: "negative", className: "m-b-2", message: error }) : void 0,
3208
3196
  children
3209
3197
  ] });
3210
3198
  }
@@ -3244,26 +3232,26 @@ var getWiseRenderers = () => [
3244
3232
  ];
3245
3233
 
3246
3234
  // src/dynamicFlow/DynamicFlow.tsx
3247
- import { jsx as jsx53 } from "react/jsx-runtime";
3235
+ import { jsx as jsx52 } from "react/jsx-runtime";
3248
3236
  var wiseRenderers = getWiseRenderers();
3249
3237
  function DynamicFlowLegacy(props) {
3250
3238
  const { customFetch = globalThis.fetch } = props;
3251
3239
  const coreProps = __spreadProps(__spreadValues({}, props), { httpClient: customFetch });
3252
- return /* @__PURE__ */ jsx53(DynamicFlowCoreLegacy, __spreadValues({}, coreProps));
3240
+ return /* @__PURE__ */ jsx52(DynamicFlowCoreLegacy, __spreadValues({}, coreProps));
3253
3241
  }
3254
3242
  function DynamicFlowRevamp(props) {
3255
3243
  const { customFetch = globalThis.fetch, renderers, onLink = openLinkInNewTab } = props;
3256
3244
  const httpClient = useWiseHttpClient(customFetch);
3257
- const mergedRenderers = useMemo2(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
3245
+ const mergedRenderers = useMemo(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
3258
3246
  const coreProps = __spreadProps(__spreadValues({}, props), { httpClient, renderers: mergedRenderers, onLink });
3259
- return /* @__PURE__ */ jsx53(RendererHttpClientProvider, { httpClient, children: /* @__PURE__ */ jsx53(DynamicFlowCoreRevamp, __spreadValues({}, coreProps)) });
3247
+ return /* @__PURE__ */ jsx52(DynamicFlowCoreRevamp, __spreadValues({}, coreProps));
3260
3248
  }
3261
3249
  var DynamicFragment = forwardRef2(function DynamicFragment2(props, ref) {
3262
3250
  const { customFetch = globalThis.fetch, renderers, onLink = openLinkInNewTab } = props;
3263
3251
  const httpClient = useWiseHttpClient(customFetch);
3264
- const mergedRenderers = useMemo2(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
3252
+ const mergedRenderers = useMemo(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
3265
3253
  const coreProps = __spreadProps(__spreadValues({}, props), { httpClient, renderers: mergedRenderers, onLink });
3266
- return /* @__PURE__ */ jsx53(RendererHttpClientProvider, { httpClient, children: /* @__PURE__ */ jsx53(DynamicFragmentCore, __spreadProps(__spreadValues({}, coreProps), { ref })) });
3254
+ return /* @__PURE__ */ jsx52(DynamicFragmentCore, __spreadProps(__spreadValues({}, coreProps), { ref }));
3267
3255
  });
3268
3256
  var useWiseHttpClient = (httpClient) => {
3269
3257
  const { locale } = useIntl9();