@wise/dynamic-flow-client-internal 5.7.0 → 5.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/build/main.css +9 -0
  2. package/build/main.js +353 -272
  3. package/build/main.mjs +276 -201
  4. package/build/types/dynamicFlow/DynamicFlow.d.ts +1 -0
  5. package/build/types/dynamicFlow/DynamicFlow.d.ts.map +1 -0
  6. package/build/types/dynamicFlow/DynamicFlowModal.d.ts +1 -0
  7. package/build/types/dynamicFlow/DynamicFlowModal.d.ts.map +1 -0
  8. package/build/types/dynamicFlow/DynamicFlowWiseProps.d.ts +1 -0
  9. package/build/types/dynamicFlow/DynamicFlowWiseProps.d.ts.map +1 -0
  10. package/build/types/dynamicFlow/DynamicFlowWithRef.d.ts +1 -0
  11. package/build/types/dynamicFlow/DynamicFlowWithRef.d.ts.map +1 -0
  12. package/build/types/dynamicFlow/getMergedRenderers.d.ts +1 -0
  13. package/build/types/dynamicFlow/getMergedRenderers.d.ts.map +1 -0
  14. package/build/types/dynamicFlow/messages.d.ts +1 -0
  15. package/build/types/dynamicFlow/messages.d.ts.map +1 -0
  16. package/build/types/dynamicFlow/renderers.d.ts +2 -1
  17. package/build/types/dynamicFlow/renderers.d.ts.map +1 -0
  18. package/build/types/dynamicFlow/telemetry/app-version.d.ts +1 -0
  19. package/build/types/dynamicFlow/telemetry/app-version.d.ts.map +1 -0
  20. package/build/types/dynamicFlow/telemetry/getLogEvent.d.ts +1 -0
  21. package/build/types/dynamicFlow/telemetry/getLogEvent.d.ts.map +1 -0
  22. package/build/types/dynamicFlow/telemetry/getTrackEvent.d.ts +1 -0
  23. package/build/types/dynamicFlow/telemetry/getTrackEvent.d.ts.map +1 -0
  24. package/build/types/dynamicFlow/telemetry/index.d.ts +1 -0
  25. package/build/types/dynamicFlow/telemetry/index.d.ts.map +1 -0
  26. package/build/types/dynamicFlow/useOnCopy.d.ts +1 -0
  27. package/build/types/dynamicFlow/useOnCopy.d.ts.map +1 -0
  28. package/build/types/dynamicFlow/useWiseHttpClient.d.ts +1 -0
  29. package/build/types/dynamicFlow/useWiseHttpClient.d.ts.map +1 -0
  30. package/build/types/dynamicFlow/useWiseToCoreProps.d.ts +1 -0
  31. package/build/types/dynamicFlow/useWiseToCoreProps.d.ts.map +1 -0
  32. package/build/types/i18n/index.d.ts +1 -0
  33. package/build/types/i18n/index.d.ts.map +1 -0
  34. package/build/types/index.d.ts +1 -0
  35. package/build/types/index.d.ts.map +1 -0
  36. package/build/types/stories/utils/fixtureHttpClient.d.ts +1 -0
  37. package/build/types/stories/utils/fixtureHttpClient.d.ts.map +1 -0
  38. package/build/types/test-utils/NeptuneProviders.d.ts +1 -0
  39. package/build/types/test-utils/NeptuneProviders.d.ts.map +1 -0
  40. package/build/types/test-utils/index.d.ts +1 -0
  41. package/build/types/test-utils/index.d.ts.map +1 -0
  42. package/build/types/test-utils/respond-with.d.ts +1 -0
  43. package/build/types/test-utils/respond-with.d.ts.map +1 -0
  44. package/build/types/test-utils/rtl-utils.d.ts +1 -0
  45. package/build/types/test-utils/rtl-utils.d.ts.map +1 -0
  46. package/build/types/test-utils/wait.d.ts +1 -0
  47. package/build/types/test-utils/wait.d.ts.map +1 -0
  48. package/package.json +17 -17
package/build/main.mjs CHANGED
@@ -126,7 +126,7 @@ import { useMemo as useMemo2 } from "react";
126
126
  // src/dynamicFlow/telemetry/app-version.ts
127
127
  var appVersion = (
128
128
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
129
- typeof process !== "undefined" ? "5.7.0" : "0.0.0"
129
+ typeof process !== "undefined" ? "5.8.1" : "0.0.0"
130
130
  );
131
131
 
132
132
  // src/dynamicFlow/telemetry/getLogEvent.ts
@@ -675,7 +675,10 @@ function ButtonComponent(props) {
675
675
  const buttonProps = {
676
676
  v2: true,
677
677
  block: control !== "small",
678
- className: (0, import_classnames2.default)(getMargin(margin), { "d-block": control === "small" }),
678
+ className: (0, import_classnames2.default)(getMargin(margin), "df-button", {
679
+ small: control === "small",
680
+ "align-center": tags == null ? void 0 : tags.includes("align-center")
681
+ }),
679
682
  addonStart: control === "small" && media ? getAddonStartMedia(media) : void 0,
680
683
  disabled,
681
684
  priority: getPriority(control, tags),
@@ -2074,7 +2077,72 @@ function assertCurrencyCodeIsString(currencyCode) {
2074
2077
  }
2075
2078
  }
2076
2079
 
2077
- // ../renderers/src/MultiSelectInputRenderer.tsx
2080
+ // ../renderers/src/MultiSelectInputRenderer/InlineMultiSelectInputRendererComponent.tsx
2081
+ import { ListItem as ListItem8 } from "@transferwise/components";
2082
+ import { jsx as jsx52 } from "react/jsx-runtime";
2083
+ function InlineMultiSelectInputRendererComponent(props) {
2084
+ const {
2085
+ id,
2086
+ description,
2087
+ disabled,
2088
+ help,
2089
+ options,
2090
+ selectedIndices,
2091
+ title,
2092
+ validationState,
2093
+ onSelect
2094
+ } = props;
2095
+ return /* @__PURE__ */ jsx52(
2096
+ FieldInput_default,
2097
+ {
2098
+ id,
2099
+ label: title,
2100
+ help,
2101
+ description,
2102
+ validation: validationState,
2103
+ children: options.map((option, index) => {
2104
+ var _a;
2105
+ const {
2106
+ title: itemTitle,
2107
+ description: subtitle,
2108
+ disabled: optionDisabled,
2109
+ media,
2110
+ additionalText,
2111
+ inlineAlert,
2112
+ supportingValues,
2113
+ childrenProps
2114
+ } = option;
2115
+ const key = (_a = childrenProps == null ? void 0 : childrenProps.uid) != null ? _a : index;
2116
+ return /* @__PURE__ */ jsx52(
2117
+ ListItem8,
2118
+ {
2119
+ title: itemTitle,
2120
+ subtitle,
2121
+ valueTitle: supportingValues == null ? void 0 : supportingValues.value,
2122
+ valueSubtitle: supportingValues == null ? void 0 : supportingValues.subvalue,
2123
+ media: getMedia(media, false),
2124
+ prompt: getInlineAlert(inlineAlert),
2125
+ additionalInfo: additionalText ? /* @__PURE__ */ jsx52(ListItem8.AdditionalInfo, { children: additionalText }) : void 0,
2126
+ disabled: disabled || optionDisabled,
2127
+ control: /* @__PURE__ */ jsx52(
2128
+ ListItem8.Checkbox,
2129
+ {
2130
+ checked: selectedIndices.includes(index),
2131
+ onChange: (e) => {
2132
+ const newSelectedIndices = e.target.checked ? [...selectedIndices, index] : selectedIndices.filter((i) => i !== index);
2133
+ onSelect(newSelectedIndices);
2134
+ }
2135
+ }
2136
+ )
2137
+ },
2138
+ key
2139
+ );
2140
+ })
2141
+ }
2142
+ );
2143
+ }
2144
+
2145
+ // ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRendererComponent.tsx
2078
2146
  import { SelectInput, SelectInputOptionContent } from "@transferwise/components";
2079
2147
  import { useState as useState7 } from "react";
2080
2148
  import { useIntl as useIntl7 } from "react-intl";
@@ -2089,12 +2157,8 @@ var multi_select_messages_default = defineMessages6({
2089
2157
  }
2090
2158
  });
2091
2159
 
2092
- // ../renderers/src/MultiSelectInputRenderer.tsx
2093
- import { jsx as jsx52 } from "react/jsx-runtime";
2094
- var MultiSelectInputRenderer = {
2095
- canRenderType: "input-multi-select",
2096
- render: (props) => /* @__PURE__ */ jsx52(MultiSelectInputRendererComponent, __spreadValues({}, props))
2097
- };
2160
+ // ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRendererComponent.tsx
2161
+ import { jsx as jsx53 } from "react/jsx-runtime";
2098
2162
  function MultiSelectInputRendererComponent(props) {
2099
2163
  const { formatMessage } = useIntl7();
2100
2164
  const [stagedIndices, setStagedIndices] = useState7();
@@ -2135,12 +2199,12 @@ function MultiSelectInputRendererComponent(props) {
2135
2199
  const contentProps = {
2136
2200
  title: option.title,
2137
2201
  description: option.description,
2138
- icon: /* @__PURE__ */ jsx52(OptionMedia, { media: option.media, preferAvatar: false })
2202
+ icon: /* @__PURE__ */ jsx53(OptionMedia, { media: option.media, preferAvatar: false })
2139
2203
  };
2140
- return /* @__PURE__ */ jsx52(SelectInputOptionContent, __spreadValues({}, contentProps));
2204
+ return /* @__PURE__ */ jsx53(SelectInputOptionContent, __spreadValues({}, contentProps));
2141
2205
  };
2142
2206
  const extraProps = { autoComplete };
2143
- return /* @__PURE__ */ jsx52(
2207
+ return /* @__PURE__ */ jsx53(
2144
2208
  FieldInput_default,
2145
2209
  {
2146
2210
  id,
@@ -2148,7 +2212,7 @@ function MultiSelectInputRendererComponent(props) {
2148
2212
  help,
2149
2213
  description,
2150
2214
  validation: validationState,
2151
- children: /* @__PURE__ */ jsx52(
2215
+ children: /* @__PURE__ */ jsx53(
2152
2216
  SelectInput,
2153
2217
  __spreadValues({
2154
2218
  id,
@@ -2185,7 +2249,15 @@ function MultiSelectInputRendererComponent(props) {
2185
2249
  }
2186
2250
  );
2187
2251
  }
2188
- var MultiSelectInputRenderer_default = MultiSelectInputRenderer;
2252
+
2253
+ // ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRenderer.tsx
2254
+ import { jsx as jsx54 } from "react/jsx-runtime";
2255
+ var MultiSelectInputRenderer = {
2256
+ canRenderType: "input-multi-select",
2257
+ render: (props) => {
2258
+ return props.control === "inline" ? /* @__PURE__ */ jsx54(InlineMultiSelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx54(MultiSelectInputRendererComponent, __spreadValues({}, props));
2259
+ }
2260
+ };
2189
2261
 
2190
2262
  // ../renderers/src/MultiUploadInputRenderer.tsx
2191
2263
  import { Status, UploadInput } from "@transferwise/components";
@@ -2193,7 +2265,7 @@ import { Status, UploadInput } from "@transferwise/components";
2193
2265
  // ../renderers/src/components/UploadFieldInput.tsx
2194
2266
  var import_classnames4 = __toESM(require_classnames());
2195
2267
  import { InlineAlert as InlineAlert2 } from "@transferwise/components";
2196
- import { jsx as jsx53, jsxs as jsxs11 } from "react/jsx-runtime";
2268
+ import { jsx as jsx55, jsxs as jsxs11 } from "react/jsx-runtime";
2197
2269
  function UploadFieldInput({
2198
2270
  id,
2199
2271
  children,
@@ -2202,7 +2274,7 @@ function UploadFieldInput({
2202
2274
  help,
2203
2275
  validation
2204
2276
  }) {
2205
- const labelContent = label && help ? /* @__PURE__ */ jsx53(LabelContentWithHelp, { text: label, help }) : label;
2277
+ const labelContent = label && help ? /* @__PURE__ */ jsx55(LabelContentWithHelp, { text: label, help }) : label;
2206
2278
  const descriptionId = description ? `${id}-description` : void 0;
2207
2279
  return /* @__PURE__ */ jsxs11(
2208
2280
  "div",
@@ -2211,9 +2283,9 @@ function UploadFieldInput({
2211
2283
  "has-error": (validation == null ? void 0 : validation.status) === "invalid"
2212
2284
  }),
2213
2285
  children: [
2214
- /* @__PURE__ */ jsx53("label", { htmlFor: id, className: "control-label", children: labelContent }),
2286
+ /* @__PURE__ */ jsx55("label", { htmlFor: id, className: "control-label", children: labelContent }),
2215
2287
  children,
2216
- (validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx53(InlineAlert2, { type: "negative", id: descriptionId, children: validation.message })
2288
+ (validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx55(InlineAlert2, { type: "negative", id: descriptionId, children: validation.message })
2217
2289
  ]
2218
2290
  }
2219
2291
  );
@@ -2248,7 +2320,7 @@ var getSizeLimit = (maxSize) => {
2248
2320
  };
2249
2321
 
2250
2322
  // ../renderers/src/MultiUploadInputRenderer.tsx
2251
- import { jsx as jsx54 } from "react/jsx-runtime";
2323
+ import { jsx as jsx56 } from "react/jsx-runtime";
2252
2324
  var MultiUploadInputRenderer = {
2253
2325
  canRenderType: "input-upload-multi",
2254
2326
  render: (props) => {
@@ -2273,7 +2345,7 @@ var MultiUploadInputRenderer = {
2273
2345
  };
2274
2346
  const onDeleteFile = async (fileId) => onRemoveFile(value.findIndex((file) => file.id === fileId));
2275
2347
  const descriptionId = description ? `${id}-description` : void 0;
2276
- return /* @__PURE__ */ jsx54(
2348
+ return /* @__PURE__ */ jsx56(
2277
2349
  UploadFieldInput_default,
2278
2350
  {
2279
2351
  id,
@@ -2281,7 +2353,7 @@ var MultiUploadInputRenderer = {
2281
2353
  description,
2282
2354
  validation: validationState,
2283
2355
  help,
2284
- children: /* @__PURE__ */ jsx54(
2356
+ children: /* @__PURE__ */ jsx56(
2285
2357
  UploadInput,
2286
2358
  {
2287
2359
  id,
@@ -2310,7 +2382,7 @@ var MultiUploadInputRenderer_default = MultiUploadInputRenderer;
2310
2382
 
2311
2383
  // ../renderers/src/NumberInputRenderer.tsx
2312
2384
  import { Input as Input2, InputGroup as InputGroup2 } from "@transferwise/components";
2313
- import { jsx as jsx55 } from "react/jsx-runtime";
2385
+ import { jsx as jsx57 } from "react/jsx-runtime";
2314
2386
  var NumberInputRenderer = {
2315
2387
  canRenderType: "input-number",
2316
2388
  render: (props) => {
@@ -2324,7 +2396,7 @@ var NumberInputRenderer = {
2324
2396
  "maximum",
2325
2397
  "minimum"
2326
2398
  );
2327
- return /* @__PURE__ */ jsx55(
2399
+ return /* @__PURE__ */ jsx57(
2328
2400
  FieldInput_default,
2329
2401
  {
2330
2402
  id,
@@ -2332,7 +2404,7 @@ var NumberInputRenderer = {
2332
2404
  description,
2333
2405
  validation: validationState,
2334
2406
  help,
2335
- children: /* @__PURE__ */ jsx55(InputGroup2, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx55(
2407
+ children: /* @__PURE__ */ jsx57(InputGroup2, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx57(
2336
2408
  Input2,
2337
2409
  __spreadValues({
2338
2410
  id,
@@ -2384,14 +2456,14 @@ var paragraph_messages_default = defineMessages7({
2384
2456
  });
2385
2457
 
2386
2458
  // ../renderers/src/ParagraphRenderer.tsx
2387
- import { jsx as jsx56, jsxs as jsxs12 } from "react/jsx-runtime";
2459
+ import { jsx as jsx58, jsxs as jsxs12 } from "react/jsx-runtime";
2388
2460
  var ParagraphRenderer = {
2389
2461
  canRenderType: "paragraph",
2390
- render: (props) => /* @__PURE__ */ jsx56(Paragraph, __spreadValues({}, props))
2462
+ render: (props) => /* @__PURE__ */ jsx58(Paragraph, __spreadValues({}, props))
2391
2463
  };
2392
2464
  function Paragraph({ align, control, margin, size, text }) {
2393
2465
  const className = getTextAlignmentAndMargin({ align, margin });
2394
- return control === "copyable" ? /* @__PURE__ */ jsx56(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx56(
2466
+ return control === "copyable" ? /* @__PURE__ */ jsx58(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx58(
2395
2467
  "p",
2396
2468
  {
2397
2469
  className: `${["xs", "sm"].includes(size) ? "np-text-body-default" : "np-text-body-large"} ${className}`,
@@ -2412,7 +2484,7 @@ function CopyableParagraph({
2412
2484
  };
2413
2485
  const inputAlignmentClasses = getTextAlignmentAndMargin({ align, margin: "sm" });
2414
2486
  return /* @__PURE__ */ jsxs12("div", { className, children: [
2415
- /* @__PURE__ */ jsx56(
2487
+ /* @__PURE__ */ jsx58(
2416
2488
  Input3,
2417
2489
  {
2418
2490
  type: "text",
@@ -2421,23 +2493,23 @@ function CopyableParagraph({
2421
2493
  className: (0, import_classnames5.default)("text-ellipsis", inputAlignmentClasses)
2422
2494
  }
2423
2495
  ),
2424
- /* @__PURE__ */ jsx56(Button5, { v2: true, block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
2496
+ /* @__PURE__ */ jsx58(Button5, { v2: true, block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
2425
2497
  ] });
2426
2498
  }
2427
2499
  var ParagraphRenderer_default = ParagraphRenderer;
2428
2500
 
2429
2501
  // ../renderers/src/ProgressRenderer.tsx
2430
2502
  import { ProgressBar } from "@transferwise/components";
2431
- import { jsx as jsx57 } from "react/jsx-runtime";
2503
+ import { jsx as jsx59 } from "react/jsx-runtime";
2432
2504
  var ProgressRenderer = {
2433
2505
  canRenderType: "progress",
2434
2506
  render: ({ uid, title, help, progress, progressText, margin, description }) => {
2435
- return /* @__PURE__ */ jsx57(
2507
+ return /* @__PURE__ */ jsx59(
2436
2508
  ProgressBar,
2437
2509
  {
2438
2510
  id: uid,
2439
2511
  className: getMargin(margin),
2440
- title: title && help ? /* @__PURE__ */ jsx57(LabelContentWithHelp, { text: title, help }) : title,
2512
+ title: title && help ? /* @__PURE__ */ jsx59(LabelContentWithHelp, { text: title, help }) : title,
2441
2513
  description,
2442
2514
  progress: {
2443
2515
  max: 1,
@@ -2482,10 +2554,10 @@ var repeatable_messages_default = defineMessages8({
2482
2554
  });
2483
2555
 
2484
2556
  // ../renderers/src/RepeatableRenderer.tsx
2485
- import { Fragment as Fragment5, jsx as jsx58, jsxs as jsxs13 } from "react/jsx-runtime";
2557
+ import { Fragment as Fragment5, jsx as jsx60, jsxs as jsxs13 } from "react/jsx-runtime";
2486
2558
  var RepeatableRenderer = {
2487
2559
  canRenderType: "repeatable",
2488
- render: (props) => /* @__PURE__ */ jsx58(Repeatable, __spreadValues({}, props))
2560
+ render: (props) => /* @__PURE__ */ jsx60(Repeatable, __spreadValues({}, props))
2489
2561
  };
2490
2562
  function Repeatable(props) {
2491
2563
  const {
@@ -2525,8 +2597,8 @@ function Repeatable(props) {
2525
2597
  setOpenModalType(null);
2526
2598
  };
2527
2599
  return /* @__PURE__ */ jsxs13(Fragment5, { children: [
2528
- title && /* @__PURE__ */ jsx58(Header6, { title }),
2529
- description && /* @__PURE__ */ jsx58("p", { children: description }),
2600
+ title && /* @__PURE__ */ jsx60(Header6, { title }),
2601
+ description && /* @__PURE__ */ jsx60("p", { children: description }),
2530
2602
  /* @__PURE__ */ jsxs13(
2531
2603
  "div",
2532
2604
  {
@@ -2534,30 +2606,30 @@ function Repeatable(props) {
2534
2606
  "has-error": (validationState == null ? void 0 : validationState.status) === "invalid"
2535
2607
  }),
2536
2608
  children: [
2537
- items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx58(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
2538
- /* @__PURE__ */ jsx58(
2609
+ items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx60(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
2610
+ /* @__PURE__ */ jsx60(
2539
2611
  NavigationOption,
2540
2612
  {
2541
- media: /* @__PURE__ */ jsx58(Plus, {}),
2613
+ media: /* @__PURE__ */ jsx60(Plus, {}),
2542
2614
  title: addItemTitle || formatMessage(repeatable_messages_default.addItemTitle),
2543
2615
  showMediaAtAllSizes: true,
2544
2616
  onClick: () => onAddItem()
2545
2617
  }
2546
2618
  ),
2547
- (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx58(InlineAlert3, { type: "negative", children: validationState.message })
2619
+ (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx60(InlineAlert3, { type: "negative", children: validationState.message })
2548
2620
  ]
2549
2621
  }
2550
2622
  ),
2551
- /* @__PURE__ */ jsx58(
2623
+ /* @__PURE__ */ jsx60(
2552
2624
  Modal4,
2553
2625
  {
2554
2626
  open: openModalType !== null,
2555
2627
  title: (openModalType === "add" ? addItemTitle : editItemTitle) || formatMessage(repeatable_messages_default.addItemTitle),
2556
2628
  body: /* @__PURE__ */ jsxs13(Fragment5, { children: [
2557
- /* @__PURE__ */ jsx58("div", { className: "m-b-2", children: editableItem }),
2629
+ /* @__PURE__ */ jsx60("div", { className: "m-b-2", children: editableItem }),
2558
2630
  /* @__PURE__ */ jsxs13("div", { children: [
2559
- /* @__PURE__ */ jsx58(Button6, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
2560
- /* @__PURE__ */ jsx58(
2631
+ /* @__PURE__ */ jsx60(Button6, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
2632
+ /* @__PURE__ */ jsx60(
2561
2633
  Button6,
2562
2634
  {
2563
2635
  v2: true,
@@ -2579,10 +2651,10 @@ function ItemSummaryOption({
2579
2651
  item,
2580
2652
  onClick
2581
2653
  }) {
2582
- return /* @__PURE__ */ jsx58(
2654
+ return /* @__PURE__ */ jsx60(
2583
2655
  NavigationOption,
2584
2656
  {
2585
- media: /* @__PURE__ */ jsx58(OptionMedia, { media: item.media, preferAvatar: false }),
2657
+ media: /* @__PURE__ */ jsx60(OptionMedia, { media: item.media, preferAvatar: false }),
2586
2658
  title: item.title,
2587
2659
  content: item.description,
2588
2660
  showMediaAtAllSizes: true,
@@ -2595,14 +2667,14 @@ var RepeatableRenderer_default = RepeatableRenderer;
2595
2667
 
2596
2668
  // ../renderers/src/ReviewLegacyRenderer.tsx
2597
2669
  import { DefinitionList } from "@transferwise/components";
2598
- import { Fragment as Fragment6, jsx as jsx59, jsxs as jsxs14 } from "react/jsx-runtime";
2670
+ import { Fragment as Fragment6, jsx as jsx61, jsxs as jsxs14 } from "react/jsx-runtime";
2599
2671
  var ReviewRenderer = {
2600
2672
  canRenderType: "review",
2601
2673
  render: ({ callToAction, control, fields, margin, title, trackEvent }) => {
2602
2674
  const orientation = mapControlToDefinitionListLayout(control);
2603
2675
  return /* @__PURE__ */ jsxs14("div", { className: getMargin(margin), children: [
2604
- /* @__PURE__ */ jsx59(Header5, { title, callToAction }),
2605
- /* @__PURE__ */ jsx59("div", { className: margin, children: /* @__PURE__ */ jsx59(
2676
+ /* @__PURE__ */ jsx61(Header5, { title, callToAction }),
2677
+ /* @__PURE__ */ jsx61("div", { className: margin, children: /* @__PURE__ */ jsx61(
2606
2678
  DefinitionList,
2607
2679
  {
2608
2680
  layout: orientation,
@@ -2643,17 +2715,17 @@ var getFieldLabel = (label, help, onClick) => {
2643
2715
  return /* @__PURE__ */ jsxs14(Fragment6, { children: [
2644
2716
  label,
2645
2717
  " ",
2646
- /* @__PURE__ */ jsx59(Help_default, { help, onClick })
2718
+ /* @__PURE__ */ jsx61(Help_default, { help, onClick })
2647
2719
  ] });
2648
2720
  }
2649
2721
  return label;
2650
2722
  };
2651
2723
 
2652
2724
  // ../renderers/src/ReviewRenderer.tsx
2653
- import { ListItem as ListItem8, Markdown as Markdown4, Popover } from "@transferwise/components";
2725
+ import { ListItem as ListItem9, Markdown as Markdown4, Popover } from "@transferwise/components";
2654
2726
  import { QuestionMarkCircle } from "@transferwise/icons";
2655
2727
  import { useIntl as useIntl10 } from "react-intl";
2656
- import { jsx as jsx60, jsxs as jsxs15 } from "react/jsx-runtime";
2728
+ import { jsx as jsx62, jsxs as jsxs15 } from "react/jsx-runtime";
2657
2729
  var IGNORED_CONTROLS = [
2658
2730
  "horizontal",
2659
2731
  "horizontal-end-aligned",
@@ -2663,7 +2735,7 @@ var IGNORED_CONTROLS = [
2663
2735
  var ReviewRenderer2 = {
2664
2736
  canRenderType: "review",
2665
2737
  canRender: ({ control }) => control ? !IGNORED_CONTROLS.includes(control) : true,
2666
- render: (props) => /* @__PURE__ */ jsx60(Review, __spreadValues({}, props))
2738
+ render: (props) => /* @__PURE__ */ jsx62(Review, __spreadValues({}, props))
2667
2739
  };
2668
2740
  var Review = ({
2669
2741
  callToAction,
@@ -2676,7 +2748,7 @@ var Review = ({
2676
2748
  }) => {
2677
2749
  const intl = useIntl10();
2678
2750
  return /* @__PURE__ */ jsxs15("div", { className: getMargin(margin), children: [
2679
- /* @__PURE__ */ jsx60(Header5, { title, callToAction }),
2751
+ /* @__PURE__ */ jsx62(Header5, { title, callToAction }),
2680
2752
  fields.map((field) => {
2681
2753
  var _a, _b, _c;
2682
2754
  const {
@@ -2694,8 +2766,8 @@ var Review = ({
2694
2766
  ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
2695
2767
  fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
2696
2768
  };
2697
- return /* @__PURE__ */ jsx60(
2698
- ListItem8,
2769
+ return /* @__PURE__ */ jsx62(
2770
+ ListItem9,
2699
2771
  {
2700
2772
  title: value,
2701
2773
  subtitle: label,
@@ -2715,18 +2787,12 @@ var Review = ({
2715
2787
  ] });
2716
2788
  };
2717
2789
  var getHelpControl = (help, ariaLabel, onClick) => {
2718
- return /* @__PURE__ */ jsx60(Popover, { content: /* @__PURE__ */ jsx60(Markdown4, { config: { link: { target: "_blank" } }, children: help }), children: /* @__PURE__ */ jsx60(ListItem8.IconButton, { partiallyInteractive: true, "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx60(QuestionMarkCircle, {}) }) });
2790
+ return /* @__PURE__ */ jsx62(Popover, { content: /* @__PURE__ */ jsx62(Markdown4, { config: { link: { target: "_blank" } }, children: help }), children: /* @__PURE__ */ jsx62(ListItem9.IconButton, { partiallyInteractive: true, "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx62(QuestionMarkCircle, {}) }) });
2719
2791
  };
2720
2792
  var ReviewRenderer_default = ReviewRenderer2;
2721
2793
 
2722
2794
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
2723
- import {
2724
- Input as Input4,
2725
- InputGroup as InputGroup3,
2726
- List,
2727
- ListItem as ListItem9,
2728
- Markdown as Markdown5
2729
- } from "@transferwise/components";
2795
+ import { Input as Input4, InputGroup as InputGroup3, List, ListItem as ListItem10, Markdown as Markdown5 } from "@transferwise/components";
2730
2796
  import { useState as useState9 } from "react";
2731
2797
  import { useIntl as useIntl12 } from "react-intl";
2732
2798
 
@@ -2765,19 +2831,19 @@ var generic_error_messages_default = defineMessages10({
2765
2831
 
2766
2832
  // ../renderers/src/SearchRenderer/ErrorResult.tsx
2767
2833
  import { Link } from "@transferwise/components";
2768
- import { jsx as jsx61, jsxs as jsxs16 } from "react/jsx-runtime";
2834
+ import { jsx as jsx63, jsxs as jsxs16 } from "react/jsx-runtime";
2769
2835
  function ErrorResult({ state }) {
2770
2836
  const intl = useIntl11();
2771
2837
  return /* @__PURE__ */ jsxs16("p", { className: "m-t-2", children: [
2772
2838
  intl.formatMessage(generic_error_messages_default.genericError),
2773
2839
  "\xA0",
2774
- /* @__PURE__ */ jsx61(Link, { onClick: () => state.onRetry(), children: intl.formatMessage(generic_error_messages_default.retry) })
2840
+ /* @__PURE__ */ jsx63(Link, { onClick: () => state.onRetry(), children: intl.formatMessage(generic_error_messages_default.retry) })
2775
2841
  ] });
2776
2842
  }
2777
2843
 
2778
2844
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
2779
2845
  import { Search } from "@transferwise/icons";
2780
- import { jsx as jsx62, jsxs as jsxs17 } from "react/jsx-runtime";
2846
+ import { Fragment as Fragment7, jsx as jsx64, jsxs as jsxs17 } from "react/jsx-runtime";
2781
2847
  function BlockSearchRendererComponent({
2782
2848
  id,
2783
2849
  hint,
@@ -2792,7 +2858,7 @@ function BlockSearchRendererComponent({
2792
2858
  const [hasSearched, setHasSearched] = useState9(false);
2793
2859
  const { formatMessage } = useIntl12();
2794
2860
  return /* @__PURE__ */ jsxs17("div", { className: getMargin(margin), children: [
2795
- /* @__PURE__ */ jsx62(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx62(InputGroup3, { addonStart: { content: /* @__PURE__ */ jsx62(Search, { size: 24 }) }, children: /* @__PURE__ */ jsx62(
2861
+ /* @__PURE__ */ jsx64(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx64(InputGroup3, { addonStart: { content: /* @__PURE__ */ jsx64(Search, { size: 24 }) }, children: /* @__PURE__ */ jsx64(
2796
2862
  Input4,
2797
2863
  {
2798
2864
  id,
@@ -2809,7 +2875,7 @@ function BlockSearchRendererComponent({
2809
2875
  }
2810
2876
  }
2811
2877
  ) }) }),
2812
- isLoading ? /* @__PURE__ */ jsx62("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx62(SearchResultContent, { state, trackEvent })
2878
+ isLoading ? /* @__PURE__ */ jsx64("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx64(SearchResultContent, { state, trackEvent })
2813
2879
  ] });
2814
2880
  }
2815
2881
  function SearchResultContent({
@@ -2818,33 +2884,39 @@ function SearchResultContent({
2818
2884
  }) {
2819
2885
  switch (state.type) {
2820
2886
  case "error":
2821
- return /* @__PURE__ */ jsx62(ErrorResult, { state });
2887
+ return /* @__PURE__ */ jsx64(ErrorResult, { state });
2822
2888
  case "results":
2823
- return /* @__PURE__ */ jsx62(SearchResults, { state, trackEvent });
2889
+ return /* @__PURE__ */ jsx64(SearchResults, { state, trackEvent });
2890
+ case "layout":
2891
+ return /* @__PURE__ */ jsxs17(Fragment7, { children: [
2892
+ " ",
2893
+ state.layout,
2894
+ " "
2895
+ ] });
2824
2896
  case "noResults":
2825
- return /* @__PURE__ */ jsx62(EmptySearchResult, { state });
2897
+ return /* @__PURE__ */ jsx64(EmptySearchResult, { state });
2826
2898
  case "pending":
2827
2899
  default:
2828
2900
  return null;
2829
2901
  }
2830
2902
  }
2831
2903
  function EmptySearchResult({ state }) {
2832
- return /* @__PURE__ */ jsx62(Markdown5, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
2904
+ return /* @__PURE__ */ jsx64(Markdown5, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
2833
2905
  }
2834
2906
  function SearchResults({
2835
2907
  state,
2836
2908
  trackEvent
2837
2909
  }) {
2838
- return /* @__PURE__ */ jsx62(List, { children: state.results.map((result) => {
2910
+ return /* @__PURE__ */ jsx64(List, { children: state.results.map((result) => {
2839
2911
  const { media } = result;
2840
- return /* @__PURE__ */ jsx62(
2841
- ListItem9,
2912
+ return /* @__PURE__ */ jsx64(
2913
+ ListItem10,
2842
2914
  {
2843
2915
  title: result.title,
2844
2916
  subtitle: result.description,
2845
- media: media ? /* @__PURE__ */ jsx62(OptionMedia, { media, preferAvatar: false }) : void 0,
2846
- control: /* @__PURE__ */ jsx62(
2847
- ListItem9.Navigation,
2917
+ media: media ? /* @__PURE__ */ jsx64(OptionMedia, { media, preferAvatar: false }) : void 0,
2918
+ control: /* @__PURE__ */ jsx64(
2919
+ ListItem10.Navigation,
2848
2920
  {
2849
2921
  onClick: () => {
2850
2922
  trackEvent("Search Result Selected", __spreadValues({
@@ -2866,7 +2938,7 @@ import { Markdown as Markdown6, Typeahead } from "@transferwise/components";
2866
2938
  import { Search as Search2 } from "@transferwise/icons";
2867
2939
  import { useState as useState10 } from "react";
2868
2940
  import { useIntl as useIntl13 } from "react-intl";
2869
- import { jsx as jsx63 } from "react/jsx-runtime";
2941
+ import { jsx as jsx65 } from "react/jsx-runtime";
2870
2942
  function InlineSearchRenderer({
2871
2943
  id,
2872
2944
  hint,
@@ -2879,7 +2951,7 @@ function InlineSearchRenderer({
2879
2951
  }) {
2880
2952
  const [hasSearched, setHasSearched] = useState10(false);
2881
2953
  const intl = useIntl13();
2882
- return /* @__PURE__ */ jsx63("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx63(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx63(
2954
+ return /* @__PURE__ */ jsx65("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx65(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx65(
2883
2955
  Typeahead,
2884
2956
  {
2885
2957
  id: "typeahead-input-id",
@@ -2888,10 +2960,10 @@ function InlineSearchRenderer({
2888
2960
  size: "md",
2889
2961
  placeholder: hint,
2890
2962
  maxHeight: 100,
2891
- footer: /* @__PURE__ */ jsx63(TypeaheadFooter, { state, isLoading }),
2963
+ footer: /* @__PURE__ */ jsx65(TypeaheadFooter, { state, isLoading }),
2892
2964
  multiple: false,
2893
2965
  clearable: false,
2894
- addon: /* @__PURE__ */ jsx63(Search2, { size: 24 }),
2966
+ addon: /* @__PURE__ */ jsx65(Search2, { size: 24 }),
2895
2967
  options: state.type === "results" ? state.results.map(mapResultToTypeaheadOption) : [],
2896
2968
  minQueryLength: 1,
2897
2969
  onChange: (values) => {
@@ -2927,24 +2999,27 @@ function mapResultToTypeaheadOption(result) {
2927
2999
  }
2928
3000
  function TypeaheadFooter({ state, isLoading }) {
2929
3001
  const { formatMessage } = useIntl13();
3002
+ if (state.type === "layout") {
3003
+ return /* @__PURE__ */ jsx65("div", { className: "m-x-1 m-y-1", children: state.layout });
3004
+ }
2930
3005
  if (state.type === "noResults") {
2931
- return /* @__PURE__ */ jsx63(Markdown6, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
3006
+ return /* @__PURE__ */ jsx65(Markdown6, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
2932
3007
  }
2933
3008
  if (state.type === "error") {
2934
- return /* @__PURE__ */ jsx63("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx63(ErrorResult, { state }) });
3009
+ return /* @__PURE__ */ jsx65("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx65(ErrorResult, { state }) });
2935
3010
  }
2936
3011
  if (state.type === "pending" || isLoading) {
2937
- return /* @__PURE__ */ jsx63("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
3012
+ return /* @__PURE__ */ jsx65("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
2938
3013
  }
2939
3014
  return null;
2940
3015
  }
2941
3016
  var InlineSearchRendererComponent_default = InlineSearchRenderer;
2942
3017
 
2943
3018
  // ../renderers/src/SearchRenderer/SearchRenderer.tsx
2944
- import { jsx as jsx64 } from "react/jsx-runtime";
3019
+ import { jsx as jsx66 } from "react/jsx-runtime";
2945
3020
  var SearchRenderer = {
2946
3021
  canRenderType: "search",
2947
- render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx64(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx64(BlockSearchRendererComponent_default, __spreadValues({}, props))
3022
+ render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx66(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx66(BlockSearchRendererComponent_default, __spreadValues({}, props))
2948
3023
  };
2949
3024
  var SearchRenderer_default = SearchRenderer;
2950
3025
 
@@ -2973,12 +3048,12 @@ var getHeaderAction2 = (callToAction) => {
2973
3048
  };
2974
3049
 
2975
3050
  // ../renderers/src/SectionRenderer.tsx
2976
- import { jsx as jsx65, jsxs as jsxs18 } from "react/jsx-runtime";
3051
+ import { jsx as jsx67, jsxs as jsxs18 } from "react/jsx-runtime";
2977
3052
  var SectionRenderer = {
2978
3053
  canRenderType: "section",
2979
3054
  render: ({ children, callToAction, margin, title }) => {
2980
3055
  return /* @__PURE__ */ jsxs18("section", { className: getMargin(margin), children: [
2981
- (title || callToAction) && /* @__PURE__ */ jsx65(Header7, { title: title != null ? title : "", action: getHeaderAction2(callToAction) }),
3056
+ (title || callToAction) && /* @__PURE__ */ jsx67(Header7, { title: title != null ? title : "", action: getHeaderAction2(callToAction) }),
2982
3057
  children
2983
3058
  ] });
2984
3059
  }
@@ -2987,7 +3062,7 @@ var SectionRenderer_default = SectionRenderer;
2987
3062
 
2988
3063
  // ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
2989
3064
  import { RadioGroup } from "@transferwise/components";
2990
- import { Fragment as Fragment7, jsx as jsx66, jsxs as jsxs19 } from "react/jsx-runtime";
3065
+ import { Fragment as Fragment8, jsx as jsx68, jsxs as jsxs19 } from "react/jsx-runtime";
2991
3066
  function RadioInputRendererComponent(props) {
2992
3067
  const {
2993
3068
  id,
@@ -3001,8 +3076,8 @@ function RadioInputRendererComponent(props) {
3001
3076
  validationState,
3002
3077
  onSelect
3003
3078
  } = props;
3004
- return /* @__PURE__ */ jsxs19(Fragment7, { children: [
3005
- /* @__PURE__ */ jsx66(
3079
+ return /* @__PURE__ */ jsxs19(Fragment8, { children: [
3080
+ /* @__PURE__ */ jsx68(
3006
3081
  FieldInput_default,
3007
3082
  {
3008
3083
  id,
@@ -3010,7 +3085,7 @@ function RadioInputRendererComponent(props) {
3010
3085
  help,
3011
3086
  description,
3012
3087
  validation: validationState,
3013
- children: /* @__PURE__ */ jsx66("span", { children: /* @__PURE__ */ jsx66(
3088
+ children: /* @__PURE__ */ jsx68("span", { children: /* @__PURE__ */ jsx68(
3014
3089
  RadioGroup,
3015
3090
  {
3016
3091
  name: id,
@@ -3019,7 +3094,7 @@ function RadioInputRendererComponent(props) {
3019
3094
  value: index,
3020
3095
  secondary: option.description,
3021
3096
  disabled: option.disabled || disabled,
3022
- avatar: /* @__PURE__ */ jsx66(OptionMedia, { media: option.media, preferAvatar: false })
3097
+ avatar: /* @__PURE__ */ jsx68(OptionMedia, { media: option.media, preferAvatar: false })
3023
3098
  })),
3024
3099
  selectedValue: selectedIndex != null ? selectedIndex : void 0,
3025
3100
  onChange: onSelect
@@ -3035,7 +3110,7 @@ function RadioInputRendererComponent(props) {
3035
3110
  // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
3036
3111
  import { Tabs } from "@transferwise/components";
3037
3112
  import { useEffect as useEffect6 } from "react";
3038
- import { Fragment as Fragment8, jsx as jsx67, jsxs as jsxs20 } from "react/jsx-runtime";
3113
+ import { Fragment as Fragment9, jsx as jsx69, jsxs as jsxs20 } from "react/jsx-runtime";
3039
3114
  function TabInputRendererComponent(props) {
3040
3115
  const {
3041
3116
  id,
@@ -3054,8 +3129,8 @@ function TabInputRendererComponent(props) {
3054
3129
  onSelect(0);
3055
3130
  }
3056
3131
  }, [selectedIndex, onSelect, options.length]);
3057
- return /* @__PURE__ */ jsxs20(Fragment8, { children: [
3058
- /* @__PURE__ */ jsx67(
3132
+ return /* @__PURE__ */ jsxs20(Fragment9, { children: [
3133
+ /* @__PURE__ */ jsx69(
3059
3134
  FieldInput_default,
3060
3135
  {
3061
3136
  id,
@@ -3063,7 +3138,7 @@ function TabInputRendererComponent(props) {
3063
3138
  help,
3064
3139
  description,
3065
3140
  validation: validationState,
3066
- children: /* @__PURE__ */ jsx67(
3141
+ children: /* @__PURE__ */ jsx69(
3067
3142
  Tabs,
3068
3143
  {
3069
3144
  name: id,
@@ -3072,7 +3147,7 @@ function TabInputRendererComponent(props) {
3072
3147
  title: option.title,
3073
3148
  // if we pass null, we get some props-types console errors
3074
3149
  // eslint-disable-next-line react/jsx-no-useless-fragment
3075
- content: /* @__PURE__ */ jsx67(Fragment8, {}),
3150
+ content: /* @__PURE__ */ jsx69(Fragment9, {}),
3076
3151
  disabled: option.disabled || disabled
3077
3152
  })),
3078
3153
  onTabSelect: onSelect
@@ -3087,7 +3162,7 @@ var isValidIndex2 = (index, options) => index !== null && index >= 0 && index <
3087
3162
 
3088
3163
  // ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
3089
3164
  import { SelectInput as SelectInput2, SelectInputOptionContent as SelectInputOptionContent2 } from "@transferwise/components";
3090
- import { Fragment as Fragment9, jsx as jsx68, jsxs as jsxs21 } from "react/jsx-runtime";
3165
+ import { Fragment as Fragment10, jsx as jsx70, jsxs as jsxs21 } from "react/jsx-runtime";
3091
3166
  function SelectInputRendererComponent(props) {
3092
3167
  const {
3093
3168
  id,
@@ -3127,13 +3202,13 @@ function SelectInputRendererComponent(props) {
3127
3202
  } : {
3128
3203
  title: option.title,
3129
3204
  description: option.description,
3130
- icon: /* @__PURE__ */ jsx68(OptionMedia, { media: option.media, preferAvatar: false })
3205
+ icon: /* @__PURE__ */ jsx70(OptionMedia, { media: option.media, preferAvatar: false })
3131
3206
  };
3132
- return /* @__PURE__ */ jsx68(SelectInputOptionContent2, __spreadValues({}, contentProps));
3207
+ return /* @__PURE__ */ jsx70(SelectInputOptionContent2, __spreadValues({}, contentProps));
3133
3208
  };
3134
3209
  const extraProps = { autoComplete };
3135
- return /* @__PURE__ */ jsxs21(Fragment9, { children: [
3136
- /* @__PURE__ */ jsx68(
3210
+ return /* @__PURE__ */ jsxs21(Fragment10, { children: [
3211
+ /* @__PURE__ */ jsx70(
3137
3212
  FieldInput_default,
3138
3213
  {
3139
3214
  id,
@@ -3141,7 +3216,7 @@ function SelectInputRendererComponent(props) {
3141
3216
  help,
3142
3217
  description,
3143
3218
  validation: validationState,
3144
- children: /* @__PURE__ */ jsx68(
3219
+ children: /* @__PURE__ */ jsx70(
3145
3220
  SelectInput2,
3146
3221
  __spreadValues({
3147
3222
  name: id,
@@ -3164,7 +3239,7 @@ function SelectInputRendererComponent(props) {
3164
3239
  // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
3165
3240
  import { useEffect as useEffect7 } from "react";
3166
3241
  import { SegmentedControl } from "@transferwise/components";
3167
- import { Fragment as Fragment10, jsx as jsx69, jsxs as jsxs22 } from "react/jsx-runtime";
3242
+ import { Fragment as Fragment11, jsx as jsx71, jsxs as jsxs22 } from "react/jsx-runtime";
3168
3243
  function SegmentedInputRendererComponent(props) {
3169
3244
  const {
3170
3245
  id,
@@ -3182,8 +3257,8 @@ function SegmentedInputRendererComponent(props) {
3182
3257
  onSelect(0);
3183
3258
  }
3184
3259
  }, [selectedIndex, onSelect, options.length]);
3185
- return /* @__PURE__ */ jsxs22(Fragment10, { children: [
3186
- /* @__PURE__ */ jsx69(
3260
+ return /* @__PURE__ */ jsxs22(Fragment11, { children: [
3261
+ /* @__PURE__ */ jsx71(
3187
3262
  FieldInput_default,
3188
3263
  {
3189
3264
  id,
@@ -3191,7 +3266,7 @@ function SegmentedInputRendererComponent(props) {
3191
3266
  help,
3192
3267
  description,
3193
3268
  validation: validationState,
3194
- children: /* @__PURE__ */ jsx69(
3269
+ children: /* @__PURE__ */ jsx71(
3195
3270
  SegmentedControl,
3196
3271
  {
3197
3272
  name: `${id}-segmented-control`,
@@ -3208,14 +3283,14 @@ function SegmentedInputRendererComponent(props) {
3208
3283
  )
3209
3284
  }
3210
3285
  ),
3211
- /* @__PURE__ */ jsx69("div", { id: `${id}-children`, children })
3286
+ /* @__PURE__ */ jsx71("div", { id: `${id}-children`, children })
3212
3287
  ] });
3213
3288
  }
3214
3289
  var isValidIndex3 = (index, options) => index !== null && index >= 0 && index < options;
3215
3290
 
3216
3291
  // ../renderers/src/SelectInputRenderer/RadioItemRendererComponent.tsx
3217
- import { Header as Header8, InlineAlert as InlineAlert4, List as List2, ListItem as ListItem10 } from "@transferwise/components";
3218
- import { Fragment as Fragment11, jsx as jsx70, jsxs as jsxs23 } from "react/jsx-runtime";
3292
+ import { Header as Header8, InlineAlert as InlineAlert4, List as List2, ListItem as ListItem11 } from "@transferwise/components";
3293
+ import { Fragment as Fragment12, jsx as jsx72, jsxs as jsxs23 } from "react/jsx-runtime";
3219
3294
  function RadioItemRendererComponent(props) {
3220
3295
  const {
3221
3296
  id,
@@ -3229,23 +3304,23 @@ function RadioItemRendererComponent(props) {
3229
3304
  validationState,
3230
3305
  onSelect
3231
3306
  } = props;
3232
- return /* @__PURE__ */ jsxs23(Fragment11, { children: [
3233
- rootTitle && /* @__PURE__ */ jsx70(
3307
+ return /* @__PURE__ */ jsxs23(Fragment12, { children: [
3308
+ rootTitle && /* @__PURE__ */ jsx72(
3234
3309
  Header8,
3235
3310
  {
3236
3311
  as: "h2",
3237
- title: help ? /* @__PURE__ */ jsx70(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
3312
+ title: help ? /* @__PURE__ */ jsx72(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
3238
3313
  }
3239
3314
  ),
3240
- rootDescription && /* @__PURE__ */ jsx70("p", { children: rootDescription }),
3241
- /* @__PURE__ */ jsx70(List2, { children: options.map(
3242
- ({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */ jsx70(
3243
- ListItem10,
3315
+ rootDescription && /* @__PURE__ */ jsx72("p", { children: rootDescription }),
3316
+ /* @__PURE__ */ jsx72(List2, { children: options.map(
3317
+ ({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */ jsx72(
3318
+ ListItem11,
3244
3319
  __spreadValues({
3245
3320
  title,
3246
3321
  subtitle: description,
3247
- control: /* @__PURE__ */ jsx70(
3248
- ListItem10.Radio,
3322
+ control: /* @__PURE__ */ jsx72(
3323
+ ListItem11.Radio,
3249
3324
  {
3250
3325
  name: title,
3251
3326
  checked: selectedIndex === index,
@@ -3260,50 +3335,50 @@ function RadioItemRendererComponent(props) {
3260
3335
  title
3261
3336
  )
3262
3337
  ) }, `${id}-${selectedIndex}`),
3263
- (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx70(InlineAlert4, { type: "negative", children: validationState.message }),
3338
+ (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx72(InlineAlert4, { type: "negative", children: validationState.message }),
3264
3339
  children
3265
3340
  ] });
3266
3341
  }
3267
3342
 
3268
3343
  // ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
3269
- import { jsx as jsx71 } from "react/jsx-runtime";
3344
+ import { jsx as jsx73 } from "react/jsx-runtime";
3270
3345
  var SelectInputRenderer = {
3271
3346
  canRenderType: "input-select",
3272
3347
  render: (props) => {
3273
3348
  switch (props.control) {
3274
3349
  case "radio":
3275
- return /* @__PURE__ */ jsx71(RadioInputRendererComponent, __spreadValues({}, props));
3350
+ return /* @__PURE__ */ jsx73(RadioInputRendererComponent, __spreadValues({}, props));
3276
3351
  case "radio-item":
3277
- return /* @__PURE__ */ jsx71(RadioItemRendererComponent, __spreadValues({}, props));
3352
+ return /* @__PURE__ */ jsx73(RadioItemRendererComponent, __spreadValues({}, props));
3278
3353
  case "tab":
3279
- return props.options.length > 3 ? /* @__PURE__ */ jsx71(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx71(TabInputRendererComponent, __spreadValues({}, props));
3354
+ return props.options.length > 3 ? /* @__PURE__ */ jsx73(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx73(TabInputRendererComponent, __spreadValues({}, props));
3280
3355
  case "segmented":
3281
- return props.options.length > 3 ? /* @__PURE__ */ jsx71(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx71(SegmentedInputRendererComponent, __spreadValues({}, props));
3356
+ return props.options.length > 3 ? /* @__PURE__ */ jsx73(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx73(SegmentedInputRendererComponent, __spreadValues({}, props));
3282
3357
  case "select":
3283
3358
  default:
3284
- return /* @__PURE__ */ jsx71(SelectInputRendererComponent, __spreadValues({}, props));
3359
+ return /* @__PURE__ */ jsx73(SelectInputRendererComponent, __spreadValues({}, props));
3285
3360
  }
3286
3361
  }
3287
3362
  };
3288
3363
  var SelectInputRenderer_default = SelectInputRenderer;
3289
3364
 
3290
3365
  // ../renderers/src/StatusListRenderer.tsx
3291
- import { AvatarView as AvatarView4, Header as Header9, ListItem as ListItem11 } from "@transferwise/components";
3292
- import { jsx as jsx72, jsxs as jsxs24 } from "react/jsx-runtime";
3366
+ import { AvatarView as AvatarView4, Header as Header9, ListItem as ListItem12 } from "@transferwise/components";
3367
+ import { jsx as jsx74, jsxs as jsxs24 } from "react/jsx-runtime";
3293
3368
  var StatusListRenderer = {
3294
3369
  canRenderType: "status-list",
3295
3370
  render: ({ margin, items, title }) => /* @__PURE__ */ jsxs24("div", { className: getMargin(margin), children: [
3296
- title ? /* @__PURE__ */ jsx72(Header9, { title }) : null,
3371
+ title ? /* @__PURE__ */ jsx74(Header9, { title }) : null,
3297
3372
  items.map((item) => {
3298
3373
  const { callToAction, description, icon, status, title: itemTitle } = item;
3299
- return /* @__PURE__ */ jsx72(
3300
- ListItem11,
3374
+ return /* @__PURE__ */ jsx74(
3375
+ ListItem12,
3301
3376
  {
3302
3377
  title: itemTitle,
3303
3378
  subtitle: description,
3304
- media: icon && "name" in icon ? /* @__PURE__ */ jsx72(AvatarView4, { badge: { status: mapStatus(status) }, children: /* @__PURE__ */ jsx72(DynamicIcon_default, { name: icon.name }) }) : void 0,
3305
- additionalInfo: callToAction ? /* @__PURE__ */ jsx72(
3306
- ListItem11.AdditionalInfo,
3379
+ media: icon && "name" in icon ? /* @__PURE__ */ jsx74(AvatarView4, { badge: { status: mapStatus(status) }, children: /* @__PURE__ */ jsx74(DynamicIcon_default, { name: icon.name }) }) : void 0,
3380
+ additionalInfo: callToAction ? /* @__PURE__ */ jsx74(
3381
+ ListItem12.AdditionalInfo,
3307
3382
  {
3308
3383
  action: {
3309
3384
  href: callToAction.href,
@@ -3365,23 +3440,23 @@ var back_messages_default = defineMessages11({
3365
3440
  });
3366
3441
 
3367
3442
  // ../renderers/src/step/topbar/BackButton.tsx
3368
- import { jsx as jsx73, jsxs as jsxs25 } from "react/jsx-runtime";
3443
+ import { jsx as jsx75, jsxs as jsxs25 } from "react/jsx-runtime";
3369
3444
  function BackButton({ title, onClick }) {
3370
3445
  const { formatMessage } = useIntl14();
3371
3446
  return /* @__PURE__ */ jsxs25(IconButton, { className: "df-back-button", priority: "tertiary", onClick, children: [
3372
- /* @__PURE__ */ jsx73("span", { className: "sr-only", children: title != null ? title : formatMessage(back_messages_default.back) }),
3373
- /* @__PURE__ */ jsx73(ArrowLeft, {})
3447
+ /* @__PURE__ */ jsx75("span", { className: "sr-only", children: title != null ? title : formatMessage(back_messages_default.back) }),
3448
+ /* @__PURE__ */ jsx75(ArrowLeft, {})
3374
3449
  ] });
3375
3450
  }
3376
3451
 
3377
3452
  // ../renderers/src/step/topbar/Toolbar.tsx
3378
3453
  import { Button as Button7, IconButton as IconButton2 } from "@transferwise/components";
3379
- import { jsx as jsx74, jsxs as jsxs26 } from "react/jsx-runtime";
3454
+ import { jsx as jsx76, jsxs as jsxs26 } from "react/jsx-runtime";
3380
3455
  var Toolbar = ({ items }) => {
3381
- return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ jsx74("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ jsx74(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
3456
+ return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ jsx76("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ jsx76(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
3382
3457
  };
3383
3458
  function ToolbarButton(props) {
3384
- return prefersMedia(props.control) ? /* @__PURE__ */ jsx74(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ jsx74(TextToolbarButton, __spreadValues({}, props));
3459
+ return prefersMedia(props.control) ? /* @__PURE__ */ jsx76(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ jsx76(TextToolbarButton, __spreadValues({}, props));
3385
3460
  }
3386
3461
  function MediaToolbarButton(props) {
3387
3462
  var _a;
@@ -3398,7 +3473,7 @@ function MediaToolbarButton(props) {
3398
3473
  type,
3399
3474
  onClick,
3400
3475
  children: [
3401
- accessibilityDescription ? /* @__PURE__ */ jsx74("span", { className: "sr-only", children: accessibilityDescription }) : null,
3476
+ accessibilityDescription ? /* @__PURE__ */ jsx76("span", { className: "sr-only", children: accessibilityDescription }) : null,
3402
3477
  media ? (_a = getAddonStartMedia(media)) == null ? void 0 : _a.value : null
3403
3478
  ]
3404
3479
  }
@@ -3409,7 +3484,7 @@ function TextToolbarButton(props) {
3409
3484
  const addonStart = media ? getAddonStartMedia(media) : void 0;
3410
3485
  const priority = getPriority2(control);
3411
3486
  const sentiment = getSentiment2(context);
3412
- return /* @__PURE__ */ jsx74(
3487
+ return /* @__PURE__ */ jsx76(
3413
3488
  Button7,
3414
3489
  {
3415
3490
  v2: true,
@@ -3439,16 +3514,16 @@ var getIconButtonPriority = (control) => {
3439
3514
  };
3440
3515
 
3441
3516
  // ../renderers/src/step/topbar/TopBar.tsx
3442
- import { jsx as jsx75, jsxs as jsxs27 } from "react/jsx-runtime";
3517
+ import { jsx as jsx77, jsxs as jsxs27 } from "react/jsx-runtime";
3443
3518
  function TopBar({ back, toolbar }) {
3444
3519
  return back || toolbar ? /* @__PURE__ */ jsxs27("div", { className: "d-flex m-b-2", children: [
3445
- back ? /* @__PURE__ */ jsx75(BackButton, __spreadValues({}, back)) : null,
3446
- toolbar ? /* @__PURE__ */ jsx75(Toolbar, __spreadValues({}, toolbar)) : null
3520
+ back ? /* @__PURE__ */ jsx77(BackButton, __spreadValues({}, back)) : null,
3521
+ toolbar ? /* @__PURE__ */ jsx77(Toolbar, __spreadValues({}, toolbar)) : null
3447
3522
  ] }) : null;
3448
3523
  }
3449
3524
 
3450
3525
  // ../renderers/src/step/SplashCelebrationStepRenderer.tsx
3451
- import { jsx as jsx76, jsxs as jsxs28 } from "react/jsx-runtime";
3526
+ import { jsx as jsx78, jsxs as jsxs28 } from "react/jsx-runtime";
3452
3527
  var SplashCelebrationStepRenderer = {
3453
3528
  canRenderType: "step",
3454
3529
  canRender: ({ control }) => control === "splash-celebration",
@@ -3459,14 +3534,14 @@ function SplashCelebrationStepRendererComponent(props) {
3459
3534
  const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
3460
3535
  useCustomTheme("forest-green", trackEvent);
3461
3536
  return /* @__PURE__ */ jsxs28("div", { className: "splash-screen m-t-5", children: [
3462
- /* @__PURE__ */ jsx76(TopBar, { back, toolbar }),
3537
+ /* @__PURE__ */ jsx78(TopBar, { back, toolbar }),
3463
3538
  children,
3464
- hasFooter ? /* @__PURE__ */ jsx76("div", { className: "df-step-fixed__footer", children: footer }) : void 0
3539
+ hasFooter ? /* @__PURE__ */ jsx78("div", { className: "df-step-fixed__footer", children: footer }) : void 0
3465
3540
  ] });
3466
3541
  }
3467
3542
 
3468
3543
  // ../renderers/src/step/SplashStepRenderer.tsx
3469
- import { jsx as jsx77, jsxs as jsxs29 } from "react/jsx-runtime";
3544
+ import { jsx as jsx79, jsxs as jsxs29 } from "react/jsx-runtime";
3470
3545
  var SplashStepRenderer = {
3471
3546
  canRenderType: "step",
3472
3547
  canRender: ({ control }) => control === "splash",
@@ -3476,15 +3551,15 @@ function SplashStepRendererComponent(props) {
3476
3551
  const { back, toolbar, children, footer } = props;
3477
3552
  const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
3478
3553
  return /* @__PURE__ */ jsxs29("div", { className: "splash-screen m-t-5", children: [
3479
- /* @__PURE__ */ jsx77(TopBar, { back, toolbar }),
3554
+ /* @__PURE__ */ jsx79(TopBar, { back, toolbar }),
3480
3555
  children,
3481
- hasFooter ? /* @__PURE__ */ jsx77("div", { className: "df-step-fixed__footer", children: footer }) : void 0
3556
+ hasFooter ? /* @__PURE__ */ jsx79("div", { className: "df-step-fixed__footer", children: footer }) : void 0
3482
3557
  ] });
3483
3558
  }
3484
3559
 
3485
3560
  // ../renderers/src/step/StepRenderer.tsx
3486
3561
  import { Alert as Alert2, Title as Title2 } from "@transferwise/components";
3487
- import { Fragment as Fragment12, jsx as jsx78, jsxs as jsxs30 } from "react/jsx-runtime";
3562
+ import { Fragment as Fragment13, jsx as jsx80, jsxs as jsxs30 } from "react/jsx-runtime";
3488
3563
  var StepRenderer = {
3489
3564
  canRenderType: "step",
3490
3565
  render: StepRendererComponent
@@ -3493,18 +3568,18 @@ function StepRendererComponent(props) {
3493
3568
  const { back, description, error, title, children, toolbar, footer, tags } = props;
3494
3569
  const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
3495
3570
  return /* @__PURE__ */ jsxs30("div", { children: [
3496
- /* @__PURE__ */ jsx78(TopBar, { back, toolbar }),
3497
- title || description ? /* @__PURE__ */ jsx78("div", { className: "m-b-4", children: /* @__PURE__ */ jsx78(Header10, { title, description, tags }) }) : void 0,
3498
- error ? /* @__PURE__ */ jsx78(Alert2, { type: "negative", className: "m-b-2", message: error }) : null,
3571
+ /* @__PURE__ */ jsx80(TopBar, { back, toolbar }),
3572
+ title || description ? /* @__PURE__ */ jsx80("div", { className: "m-b-4", children: /* @__PURE__ */ jsx80(Header10, { title, description, tags }) }) : void 0,
3573
+ error ? /* @__PURE__ */ jsx80(Alert2, { type: "negative", className: "m-b-2", message: error }) : null,
3499
3574
  children,
3500
- hasFooter ? /* @__PURE__ */ jsx78("div", { className: "df-step-fixed__footer", children: footer }) : void 0
3575
+ hasFooter ? /* @__PURE__ */ jsx80("div", { className: "df-step-fixed__footer", children: footer }) : void 0
3501
3576
  ] });
3502
3577
  }
3503
3578
  var Header10 = ({ title, description, tags }) => {
3504
3579
  const { titleType, alignmentClassName } = getHeaderStyle(tags);
3505
- return /* @__PURE__ */ jsxs30(Fragment12, { children: [
3506
- title ? /* @__PURE__ */ jsx78(Title2, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
3507
- description ? /* @__PURE__ */ jsx78("p", { className: `${alignmentClassName} np-text-body-large`, children: description }) : void 0
3580
+ return /* @__PURE__ */ jsxs30(Fragment13, { children: [
3581
+ title ? /* @__PURE__ */ jsx80(Title2, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
3582
+ description ? /* @__PURE__ */ jsx80("p", { className: `${alignmentClassName} np-text-body-large`, children: description }) : void 0
3508
3583
  ] });
3509
3584
  };
3510
3585
  var getHeaderStyle = (tags) => {
@@ -3517,26 +3592,26 @@ var getHeaderStyle = (tags) => {
3517
3592
  // ../renderers/src/TabsRenderer.tsx
3518
3593
  import { Chips, SegmentedControl as SegmentedControl2, Tabs as Tabs2 } from "@transferwise/components";
3519
3594
  import { useState as useState11 } from "react";
3520
- import { jsx as jsx79, jsxs as jsxs31 } from "react/jsx-runtime";
3595
+ import { jsx as jsx81, jsxs as jsxs31 } from "react/jsx-runtime";
3521
3596
  var TabsRenderer = {
3522
3597
  canRenderType: "tabs",
3523
3598
  render: (props) => {
3524
3599
  switch (props.control) {
3525
3600
  case "segmented":
3526
3601
  if (props.tabs.length > 3) {
3527
- return /* @__PURE__ */ jsx79(TabsRendererComponent, __spreadValues({}, props));
3602
+ return /* @__PURE__ */ jsx81(TabsRendererComponent, __spreadValues({}, props));
3528
3603
  }
3529
- return /* @__PURE__ */ jsx79(SegmentedTabsRendererComponent, __spreadValues({}, props));
3604
+ return /* @__PURE__ */ jsx81(SegmentedTabsRendererComponent, __spreadValues({}, props));
3530
3605
  case "chips":
3531
- return /* @__PURE__ */ jsx79(ChipsTabsRendererComponent, __spreadValues({}, props));
3606
+ return /* @__PURE__ */ jsx81(ChipsTabsRendererComponent, __spreadValues({}, props));
3532
3607
  default:
3533
- return /* @__PURE__ */ jsx79(TabsRendererComponent, __spreadValues({}, props));
3608
+ return /* @__PURE__ */ jsx81(TabsRendererComponent, __spreadValues({}, props));
3534
3609
  }
3535
3610
  }
3536
3611
  };
3537
3612
  function TabsRendererComponent({ uid, margin, tabs }) {
3538
3613
  const [selectedIndex, setSelectedIndex] = useState11(0);
3539
- return /* @__PURE__ */ jsx79("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx79(
3614
+ return /* @__PURE__ */ jsx81("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx81(
3540
3615
  Tabs2,
3541
3616
  {
3542
3617
  name: uid,
@@ -3558,7 +3633,7 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
3558
3633
  var _a;
3559
3634
  const [selectedIndex, setSelectedIndex] = useState11(0);
3560
3635
  return /* @__PURE__ */ jsxs31("div", { className: getMargin(margin), children: [
3561
- /* @__PURE__ */ jsx79(
3636
+ /* @__PURE__ */ jsx81(
3562
3637
  SegmentedControl2,
3563
3638
  {
3564
3639
  name: uid,
@@ -3573,14 +3648,14 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
3573
3648
  onChange: (value) => setSelectedIndex(Number(value))
3574
3649
  }
3575
3650
  ),
3576
- /* @__PURE__ */ jsx79("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
3651
+ /* @__PURE__ */ jsx81("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
3577
3652
  ] });
3578
3653
  }
3579
3654
  function ChipsTabsRendererComponent({ margin, tabs }) {
3580
3655
  var _a;
3581
3656
  const [selectedIndex, setSelectedIndex] = useState11(0);
3582
3657
  return /* @__PURE__ */ jsxs31("div", { className: getMargin(margin), children: [
3583
- /* @__PURE__ */ jsx79("div", { className: "chips-container", children: /* @__PURE__ */ jsx79(
3658
+ /* @__PURE__ */ jsx81("div", { className: "chips-container", children: /* @__PURE__ */ jsx81(
3584
3659
  Chips,
3585
3660
  {
3586
3661
  chips: tabs.map((tab, index) => ({ label: tab.title, value: index })),
@@ -3588,7 +3663,7 @@ function ChipsTabsRendererComponent({ margin, tabs }) {
3588
3663
  onChange: ({ selectedValue }) => setSelectedIndex(Number(selectedValue))
3589
3664
  }
3590
3665
  ) }),
3591
- /* @__PURE__ */ jsx79("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
3666
+ /* @__PURE__ */ jsx81("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
3592
3667
  ] });
3593
3668
  }
3594
3669
 
@@ -3603,7 +3678,7 @@ import {
3603
3678
  TextArea,
3604
3679
  TextareaWithDisplayFormat
3605
3680
  } from "@transferwise/components";
3606
- import { jsx as jsx80 } from "react/jsx-runtime";
3681
+ import { jsx as jsx82 } from "react/jsx-runtime";
3607
3682
  var commonKeys = [
3608
3683
  "autoComplete",
3609
3684
  "autoCapitalize",
@@ -3622,12 +3697,12 @@ function VariableTextInput(inputProps) {
3622
3697
  const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
3623
3698
  switch (control) {
3624
3699
  case "email":
3625
- return /* @__PURE__ */ jsx80(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
3700
+ return /* @__PURE__ */ jsx82(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
3626
3701
  case "password":
3627
- return /* @__PURE__ */ jsx80(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
3702
+ return /* @__PURE__ */ jsx82(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
3628
3703
  case "numeric": {
3629
3704
  const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
3630
- return /* @__PURE__ */ jsx80(
3705
+ return /* @__PURE__ */ jsx82(
3631
3706
  TextInput,
3632
3707
  __spreadProps(__spreadValues({}, numericProps), {
3633
3708
  onChange: (newValue) => {
@@ -3638,9 +3713,9 @@ function VariableTextInput(inputProps) {
3638
3713
  );
3639
3714
  }
3640
3715
  case "phone-number":
3641
- return /* @__PURE__ */ jsx80(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
3716
+ return /* @__PURE__ */ jsx82(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
3642
3717
  default: {
3643
- return /* @__PURE__ */ jsx80(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
3718
+ return /* @__PURE__ */ jsx82(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
3644
3719
  }
3645
3720
  }
3646
3721
  }
@@ -3648,11 +3723,11 @@ function TextInput(props) {
3648
3723
  const _a = props, { control, displayFormat, onChange } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange"]);
3649
3724
  const InputWithPattern = control === "textarea" ? TextareaWithDisplayFormat : InputWithDisplayFormat;
3650
3725
  const InputWithoutPattern = control === "textarea" ? TextArea : Input5;
3651
- return displayFormat ? /* @__PURE__ */ jsx80(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ jsx80(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
3726
+ return displayFormat ? /* @__PURE__ */ jsx82(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ jsx82(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
3652
3727
  }
3653
3728
 
3654
3729
  // ../renderers/src/TextInputRenderer.tsx
3655
- import { jsx as jsx81 } from "react/jsx-runtime";
3730
+ import { jsx as jsx83 } from "react/jsx-runtime";
3656
3731
  var TextInputRenderer = {
3657
3732
  canRenderType: "input-text",
3658
3733
  render: (props) => {
@@ -3685,7 +3760,7 @@ var TextInputRenderer = {
3685
3760
  }
3686
3761
  }
3687
3762
  });
3688
- return /* @__PURE__ */ jsx81(
3763
+ return /* @__PURE__ */ jsx83(
3689
3764
  FieldInput_default,
3690
3765
  {
3691
3766
  id,
@@ -3693,7 +3768,7 @@ var TextInputRenderer = {
3693
3768
  description,
3694
3769
  validation: validationState,
3695
3770
  help,
3696
- children: /* @__PURE__ */ jsx81(InputGroup4, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx81(VariableTextInput, __spreadValues({}, inputProps)) })
3771
+ children: /* @__PURE__ */ jsx83(InputGroup4, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx83(VariableTextInput, __spreadValues({}, inputProps)) })
3697
3772
  }
3698
3773
  );
3699
3774
  }
@@ -3707,7 +3782,7 @@ import { Status as Status2, Upload, UploadInput as UploadInput2 } from "@transfe
3707
3782
  var getRandomId = () => Math.random().toString(36).substring(2);
3708
3783
 
3709
3784
  // ../renderers/src/UploadInputRenderer.tsx
3710
- import { jsx as jsx82 } from "react/jsx-runtime";
3785
+ import { jsx as jsx84 } from "react/jsx-runtime";
3711
3786
  var UploadInputRenderer = {
3712
3787
  canRenderType: "input-upload",
3713
3788
  render: (props) => {
@@ -3723,14 +3798,14 @@ var UploadInputRenderer = {
3723
3798
  };
3724
3799
  return (
3725
3800
  // We don't pass help here as there is no sensible place to display it
3726
- /* @__PURE__ */ jsx82(
3801
+ /* @__PURE__ */ jsx84(
3727
3802
  UploadFieldInput_default,
3728
3803
  {
3729
3804
  id,
3730
3805
  label: void 0,
3731
3806
  description: void 0,
3732
3807
  validation: validationState,
3733
- children: /* @__PURE__ */ jsx82(
3808
+ children: /* @__PURE__ */ jsx84(
3734
3809
  UploadInput2,
3735
3810
  {
3736
3811
  id,
@@ -3796,7 +3871,7 @@ var LargeUploadRenderer = {
3796
3871
  };
3797
3872
  const filetypes = acceptsToFileTypes(accepts);
3798
3873
  const usAccept = filetypes === "*" ? "*" : filetypes.join(",");
3799
- return /* @__PURE__ */ jsx82(
3874
+ return /* @__PURE__ */ jsx84(
3800
3875
  FieldInput_default,
3801
3876
  {
3802
3877
  id,
@@ -3804,7 +3879,7 @@ var LargeUploadRenderer = {
3804
3879
  description,
3805
3880
  validation: validationState,
3806
3881
  help,
3807
- children: /* @__PURE__ */ jsx82(
3882
+ children: /* @__PURE__ */ jsx84(
3808
3883
  Upload,
3809
3884
  __spreadProps(__spreadValues({}, uploadProps), {
3810
3885
  usAccept,
@@ -3822,7 +3897,7 @@ var LargeUploadRenderer = {
3822
3897
  // ../renderers/src/UpsellRenderer.tsx
3823
3898
  import { Nudge } from "@transferwise/components";
3824
3899
  import { useState as useState12 } from "react";
3825
- import { jsx as jsx83 } from "react/jsx-runtime";
3900
+ import { jsx as jsx85 } from "react/jsx-runtime";
3826
3901
  var UpsellRenderer = {
3827
3902
  canRenderType: "upsell",
3828
3903
  render: UpsellRendererComponent
@@ -3830,7 +3905,7 @@ var UpsellRenderer = {
3830
3905
  function UpsellRendererComponent(props) {
3831
3906
  const { text, callToAction, media, margin, onDismiss } = props;
3832
3907
  const [isVisible, setIsVisible] = useState12(true);
3833
- return isVisible ? /* @__PURE__ */ jsx83(
3908
+ return isVisible ? /* @__PURE__ */ jsx85(
3834
3909
  Nudge,
3835
3910
  {
3836
3911
  className: getMargin(margin),
@@ -3902,7 +3977,7 @@ var getWiseRenderers = () => [
3902
3977
  ModalRenderer,
3903
3978
  ModalLayoutRenderer_default,
3904
3979
  MoneyInputRenderer,
3905
- MultiSelectInputRenderer_default,
3980
+ MultiSelectInputRenderer,
3906
3981
  MultiUploadInputRenderer_default,
3907
3982
  NumberInputRenderer_default,
3908
3983
  ParagraphRenderer_default,
@@ -3925,7 +4000,7 @@ var getWiseRenderers = () => [
3925
4000
  ];
3926
4001
 
3927
4002
  // ../renderers/src/subflow/getSubflowRenderer.tsx
3928
- import { jsx as jsx84 } from "react/jsx-runtime";
4003
+ import { jsx as jsx86 } from "react/jsx-runtime";
3929
4004
  var getSubflowRenderer = ({
3930
4005
  Component: Component2,
3931
4006
  canRender
@@ -3934,7 +4009,7 @@ var getSubflowRenderer = ({
3934
4009
  canRenderType: "subflow",
3935
4010
  canRender,
3936
4011
  render: (props) => {
3937
- return /* @__PURE__ */ jsx84(
4012
+ return /* @__PURE__ */ jsx86(
3938
4013
  Component2,
3939
4014
  {
3940
4015
  presentation: props.presentation,
@@ -4014,24 +4089,24 @@ var handleRejection = (error) => {
4014
4089
  // src/dynamicFlow/DynamicFlowModal.tsx
4015
4090
  import { useDynamicFlowModal } from "@wise/dynamic-flow-client";
4016
4091
  import { Modal as Modal5 } from "@transferwise/components";
4017
- import { jsx as jsx85 } from "react/jsx-runtime";
4092
+ import { jsx as jsx87 } from "react/jsx-runtime";
4018
4093
  function DynamicFlowModal(props) {
4019
4094
  const _a = props, { className = "" } = _a, rest = __objRest(_a, ["className"]);
4020
4095
  const dfProps = useWiseToCoreProps(rest);
4021
4096
  const df = useDynamicFlowModal(dfProps);
4022
- return /* @__PURE__ */ jsx85(
4097
+ return /* @__PURE__ */ jsx87(
4023
4098
  Modal5,
4024
4099
  __spreadProps(__spreadValues({
4025
4100
  className: `dynamic-flow-modal ${className}`,
4026
4101
  disableDimmerClickToClose: true
4027
4102
  }, df.modal), {
4028
- body: /* @__PURE__ */ jsx85("div", { className: "dynamic-flow-modal", children: df.modal.body })
4103
+ body: /* @__PURE__ */ jsx87("div", { className: "dynamic-flow-modal", children: df.modal.body })
4029
4104
  })
4030
4105
  );
4031
4106
  }
4032
4107
 
4033
4108
  // src/dynamicFlow/getMergedRenderers.tsx
4034
- import { jsx as jsx86 } from "react/jsx-runtime";
4109
+ import { jsx as jsx88 } from "react/jsx-runtime";
4035
4110
  var wiseRenderers = getWiseRenderers();
4036
4111
  var getMergedRenderers = (props) => {
4037
4112
  var _d;
@@ -4045,7 +4120,7 @@ var getMergedRenderers = (props) => {
4045
4120
  method: initialRequest.method,
4046
4121
  data: initialRequest.body
4047
4122
  };
4048
- return presentation.type === "push" ? /* @__PURE__ */ jsx86(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx86(
4123
+ return presentation.type === "push" ? /* @__PURE__ */ jsx88(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx88(
4049
4124
  DynamicFlowModal,
4050
4125
  __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), {
4051
4126
  features: subflowFeatures,
@@ -4095,12 +4170,12 @@ var openLinkInNewTab = (url) => {
4095
4170
  };
4096
4171
 
4097
4172
  // src/dynamicFlow/DynamicFlow.tsx
4098
- import { jsx as jsx87 } from "react/jsx-runtime";
4173
+ import { jsx as jsx89 } from "react/jsx-runtime";
4099
4174
  function DynamicFlow(props) {
4100
4175
  const { className = "" } = props;
4101
4176
  const dfProps = useWiseToCoreProps(props);
4102
4177
  const df = useDynamicFlow(dfProps);
4103
- return /* @__PURE__ */ jsx87("div", { className, children: df.view });
4178
+ return /* @__PURE__ */ jsx89("div", { className, children: df.view });
4104
4179
  }
4105
4180
 
4106
4181
  // src/dynamicFlow/DynamicFlowWithRef.tsx
@@ -4109,7 +4184,7 @@ import {
4109
4184
  useImperativeHandle
4110
4185
  } from "react";
4111
4186
  import { useDynamicFlow as useDynamicFlow2 } from "@wise/dynamic-flow-client";
4112
- import { jsx as jsx88 } from "react/jsx-runtime";
4187
+ import { jsx as jsx90 } from "react/jsx-runtime";
4113
4188
  var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
4114
4189
  const { className = "" } = props;
4115
4190
  const dfProps = useWiseToCoreProps(props);
@@ -4125,7 +4200,7 @@ var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
4125
4200
  }),
4126
4201
  [df]
4127
4202
  );
4128
- return /* @__PURE__ */ jsx88("div", { className, children: df.view });
4203
+ return /* @__PURE__ */ jsx90("div", { className, children: df.view });
4129
4204
  });
4130
4205
 
4131
4206
  // src/index.ts