@wise/dynamic-flow-client-internal 4.24.0-experimental-renderer-extensions-2-779450d → 4.24.0

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.js CHANGED
@@ -62,15 +62,17 @@ __export(index_exports, {
62
62
  DynamicFlowLegacy: () => DynamicFlowLegacy,
63
63
  DynamicFlowRevamp: () => DynamicFlowRevamp,
64
64
  DynamicForm: () => DynamicForm,
65
+ Header: () => Header7,
65
66
  JsonSchemaForm: () => import_dynamic_flow_client4.JsonSchemaForm,
66
- createRendererWithExtensions: () => createRendererWithExtensions,
67
67
  findRendererPropsByType: () => import_dynamic_flow_client4.findRendererPropsByType,
68
+ getMargin: () => getMargin,
68
69
  isValidSchema: () => import_dynamic_flow_client4.isValidSchema,
69
70
  makeCustomFetch: () => import_dynamic_flow_client3.makeHttpClient,
70
71
  translations: () => i18n_default
71
72
  });
72
73
  module.exports = __toCommonJS(index_exports);
73
74
  var import_dynamic_flow_client3 = require("@wise/dynamic-flow-client");
75
+ var import_dynamic_flow_client4 = require("@wise/dynamic-flow-client");
74
76
 
75
77
  // ../renderers/src/AlertRenderer.tsx
76
78
  var import_components = require("@transferwise/components");
@@ -210,6 +212,26 @@ var AddressValidationButtonRenderer_default = AddressValidationButtonRenderer;
210
212
  // ../renderers/src/ButtonRenderer/ButtonRenderer.tsx
211
213
  var import_components3 = require("@transferwise/components");
212
214
  var import_react2 = require("react");
215
+
216
+ // ../renderers/src/ButtonRenderer/mapButtonSize.tsx
217
+ var mapButtonSize = (size) => {
218
+ if (!size) {
219
+ return void 0;
220
+ }
221
+ switch (size) {
222
+ case "xs":
223
+ case "sm":
224
+ return "sm";
225
+ case "lg":
226
+ case "xl":
227
+ return "lg";
228
+ case "md":
229
+ default:
230
+ return "md";
231
+ }
232
+ };
233
+
234
+ // ../renderers/src/ButtonRenderer/ButtonRenderer.tsx
213
235
  var import_jsx_runtime4 = require("react/jsx-runtime");
214
236
  var ButtonRenderer = {
215
237
  canRenderType: "button",
@@ -223,8 +245,9 @@ function ButtonComponent(props) {
223
245
  setSpinny(false);
224
246
  }
225
247
  }, [stepLoadingState]);
226
- const priority = mapControl(control);
227
- const type = priority === "tertiary" ? void 0 : mapContext(context);
248
+ const priority = getPriority(control);
249
+ const type = getButtonType(context, priority);
250
+ const loading = spinny && stepLoadingState !== "idle";
228
251
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
229
252
  import_components3.Button,
230
253
  {
@@ -232,8 +255,8 @@ function ButtonComponent(props) {
232
255
  className: getMargin(margin),
233
256
  disabled,
234
257
  priority,
235
- size: mapSize(size),
236
- loading: spinny && stepLoadingState !== "idle",
258
+ size: mapButtonSize(size),
259
+ loading,
237
260
  type,
238
261
  onClick: () => {
239
262
  setSpinny(true);
@@ -243,16 +266,7 @@ function ButtonComponent(props) {
243
266
  }
244
267
  );
245
268
  }
246
- var mapContext = (context) => {
247
- switch (context) {
248
- case "neutral":
249
- case "warning":
250
- return "accent";
251
- default:
252
- return context;
253
- }
254
- };
255
- var mapControl = (control) => {
269
+ var getPriority = (control) => {
256
270
  switch (control) {
257
271
  case "primary":
258
272
  case "tertiary":
@@ -261,23 +275,18 @@ var mapControl = (control) => {
261
275
  return "secondary";
262
276
  }
263
277
  };
264
- var mapSize = (size) => {
265
- if (!size) {
278
+ var getButtonType = (context, priority) => {
279
+ if (priority === "tertiary") {
266
280
  return void 0;
267
281
  }
268
- switch (size) {
269
- case "xs":
270
- case "sm":
271
- return "sm";
272
- case "lg":
273
- case "xl":
274
- return "lg";
275
- case "md":
282
+ switch (context) {
283
+ case "neutral":
284
+ case "warning":
285
+ return "accent";
276
286
  default:
277
- return "md";
287
+ return context;
278
288
  }
279
289
  };
280
- var ButtonRenderer_default = ButtonRenderer;
281
290
 
282
291
  // ../renderers/src/components/FieldInput.tsx
283
292
  var import_components5 = require("@transferwise/components");
@@ -1048,6 +1057,7 @@ function ExternalConfirmationRendererComponent({
1048
1057
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1049
1058
  import_components15.Button,
1050
1059
  {
1060
+ v2: true,
1051
1061
  block: true,
1052
1062
  className: "m-b-2",
1053
1063
  priority: "primary",
@@ -1059,7 +1069,7 @@ function ExternalConfirmationRendererComponent({
1059
1069
  children: formatMessage(external_confirmation_messages_default.open)
1060
1070
  }
1061
1071
  ),
1062
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_components15.Button, { block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onCancel, children: formatMessage(external_confirmation_messages_default.cancel) })
1072
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_components15.Button, { v2: true, block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onCancel, children: formatMessage(external_confirmation_messages_default.cancel) })
1063
1073
  ] }) })
1064
1074
  ] }),
1065
1075
  onClose: onCancel
@@ -1538,7 +1548,7 @@ function DFModal({ content, margin, trigger }) {
1538
1548
  const [visible, setVisible] = (0, import_react8.useState)(false);
1539
1549
  const { children, title } = content;
1540
1550
  return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: getMargin(margin), children: [
1541
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_components24.Button, { priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
1551
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_components24.Button, { v2: true, priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
1542
1552
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
1543
1553
  import_components24.Modal,
1544
1554
  {
@@ -1902,7 +1912,7 @@ function CopyableParagraph({
1902
1912
  className: (0, import_classnames5.default)("text-ellipsis", inputAlignmentClasses)
1903
1913
  }
1904
1914
  ),
1905
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_components31.Button, { block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
1915
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_components31.Button, { v2: true, block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
1906
1916
  ] });
1907
1917
  }
1908
1918
  var ParagraphRenderer_default = ParagraphRenderer;
@@ -2015,7 +2025,17 @@ function Repeatable(props) {
2015
2025
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "m-b-2", children: editableItem }),
2016
2026
  /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
2017
2027
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components32.Button, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
2018
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components32.Button, { priority: "secondary", type: "negative", block: true, onClick: () => onRemoveItem(), children: formatMessage(repeatable_messages_default.removeItem) })
2028
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2029
+ import_components32.Button,
2030
+ {
2031
+ v2: true,
2032
+ priority: "secondary",
2033
+ sentiment: "negative",
2034
+ block: true,
2035
+ onClick: () => onRemoveItem(),
2036
+ children: formatMessage(repeatable_messages_default.removeItem)
2037
+ }
2038
+ )
2019
2039
  ] })
2020
2040
  ] }),
2021
2041
  onClose: () => onCancelEdit()
@@ -2041,9 +2061,12 @@ function ItemSummaryOption({
2041
2061
  var RepeatableRenderer_default = RepeatableRenderer;
2042
2062
 
2043
2063
  // ../renderers/src/ReviewRenderer.tsx
2044
- var import_components33 = require("@transferwise/components");
2064
+ var import_components34 = require("@transferwise/components");
2045
2065
 
2046
- // ../renderers/src/utils/getHeaderAction.tsx
2066
+ // ../renderers/src/components/Header.tsx
2067
+ var import_components33 = require("@transferwise/components");
2068
+ var import_jsx_runtime50 = require("react/jsx-runtime");
2069
+ var Header7 = ({ title, callToAction }) => (title || callToAction) && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_components33.Header, { title: title != null ? title : "", action: getHeaderAction(callToAction) });
2047
2070
  var getHeaderAction = (callToAction) => {
2048
2071
  if (!callToAction) {
2049
2072
  return void 0;
@@ -2065,34 +2088,28 @@ var getHeaderAction = (callToAction) => {
2065
2088
  };
2066
2089
 
2067
2090
  // ../renderers/src/ReviewRenderer.tsx
2068
- var import_jsx_runtime50 = require("react/jsx-runtime");
2091
+ var import_jsx_runtime51 = require("react/jsx-runtime");
2069
2092
  var ReviewRenderer = {
2070
2093
  canRenderType: "review",
2071
- extensions: {
2072
- field: ({ label, value, help, analyticsId: fieldAnalyticsId, trackEvent, orientation }) => ({
2073
- key: label,
2074
- title: label,
2075
- value: getFieldValue(
2076
- value,
2077
- help,
2078
- orientation,
2079
- () => trackEvent("Help Pressed", { layoutItemId: fieldAnalyticsId })
2080
- )
2081
- })
2082
- },
2083
- render({ callToAction, control, fields, margin, title, trackEvent }) {
2094
+ render: ({ callToAction, control, fields, margin, title, trackEvent }) => {
2084
2095
  const orientation = mapControlToDefinitionListLayout(control);
2085
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: getMargin(margin), children: [
2086
- (title || callToAction) && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_components33.Header, { title: title != null ? title : "", action: getHeaderAction(callToAction) }),
2087
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: margin, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2088
- import_components33.DefinitionList,
2096
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: getMargin(margin), children: [
2097
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Header7, { title, callToAction }),
2098
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: margin, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2099
+ import_components34.DefinitionList,
2089
2100
  {
2090
2101
  layout: orientation,
2091
2102
  definitions: fields.map(
2092
- (field) => this.extensions.field(__spreadProps(__spreadValues({}, field), {
2093
- orientation,
2094
- trackEvent
2095
- }))
2103
+ ({ label, value, help, analyticsId: fieldAnalyticsId }, index) => ({
2104
+ key: String(index),
2105
+ title: label,
2106
+ value: getFieldValue(
2107
+ value,
2108
+ help,
2109
+ orientation,
2110
+ () => trackEvent("Help Pressed", { layoutItemId: fieldAnalyticsId })
2111
+ )
2112
+ })
2096
2113
  )
2097
2114
  }
2098
2115
  ) })
@@ -2117,21 +2134,21 @@ var mapControlToDefinitionListLayout = (control) => {
2117
2134
  };
2118
2135
  var getFieldValue = (value, help, orientation, onClick) => {
2119
2136
  if (help) {
2120
- return orientation === "HORIZONTAL_RIGHT_ALIGNED" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
2121
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Help_default, { help, onClick }),
2137
+ return orientation === "HORIZONTAL_RIGHT_ALIGNED" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
2138
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Help_default, { help, onClick }),
2122
2139
  " ",
2123
2140
  value
2124
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
2141
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
2125
2142
  value,
2126
2143
  " ",
2127
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Help_default, { help, onClick })
2144
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Help_default, { help, onClick })
2128
2145
  ] });
2129
2146
  }
2130
2147
  return value;
2131
2148
  };
2132
2149
 
2133
2150
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
2134
- var import_components35 = require("@transferwise/components");
2151
+ var import_components36 = require("@transferwise/components");
2135
2152
  var import_react12 = require("react");
2136
2153
  var import_react_intl19 = require("react-intl");
2137
2154
 
@@ -2169,32 +2186,19 @@ var generic_error_messages_default = (0, import_react_intl17.defineMessages)({
2169
2186
  });
2170
2187
 
2171
2188
  // ../renderers/src/SearchRenderer/ErrorResult.tsx
2172
- var import_components34 = require("@transferwise/components");
2173
- var import_jsx_runtime51 = require("react/jsx-runtime");
2189
+ var import_components35 = require("@transferwise/components");
2190
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2174
2191
  function ErrorResult({ state }) {
2175
2192
  const intl = (0, import_react_intl18.useIntl)();
2176
- const buttonVisualProps = {
2177
- priority: "tertiary",
2178
- size: "sm",
2179
- style: { marginTop: "-2px", padding: "0", width: "auto", display: "inline" }
2180
- };
2181
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("p", { className: "m-t-2", children: [
2193
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("p", { className: "m-t-2", children: [
2182
2194
  intl.formatMessage(generic_error_messages_default.genericError),
2183
2195
  "\xA0",
2184
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2185
- import_components34.Button,
2186
- __spreadProps(__spreadValues({}, buttonVisualProps), {
2187
- onClick: () => {
2188
- state.onRetry();
2189
- },
2190
- children: intl.formatMessage(generic_error_messages_default.retry)
2191
- })
2192
- )
2196
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components35.Link, { onClick: () => state.onRetry(), children: intl.formatMessage(generic_error_messages_default.retry) })
2193
2197
  ] });
2194
2198
  }
2195
2199
 
2196
2200
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
2197
- var import_jsx_runtime52 = require("react/jsx-runtime");
2201
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2198
2202
  function BlockSearchRendererComponent({
2199
2203
  id,
2200
2204
  isLoading,
@@ -2207,9 +2211,9 @@ function BlockSearchRendererComponent({
2207
2211
  }) {
2208
2212
  const [hasSearched, setHasSearched] = (0, import_react12.useState)(false);
2209
2213
  const { formatMessage } = (0, import_react_intl19.useIntl)();
2210
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: getMargin(margin), children: [
2211
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2212
- import_components35.Input,
2214
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: getMargin(margin), children: [
2215
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2216
+ import_components36.Input,
2213
2217
  {
2214
2218
  id,
2215
2219
  name: id,
@@ -2225,7 +2229,7 @@ function BlockSearchRendererComponent({
2225
2229
  }
2226
2230
  }
2227
2231
  ) }),
2228
- isLoading ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_jsx_runtime52.Fragment, { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SearchResultContent, { state, trackEvent })
2232
+ isLoading ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_jsx_runtime53.Fragment, { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SearchResultContent, { state, trackEvent })
2229
2233
  ] });
2230
2234
  }
2231
2235
  function SearchResultContent({
@@ -2234,27 +2238,27 @@ function SearchResultContent({
2234
2238
  }) {
2235
2239
  switch (state.type) {
2236
2240
  case "error":
2237
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ErrorResult, { state });
2241
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ErrorResult, { state });
2238
2242
  case "results":
2239
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SearchResults, { state, trackEvent });
2243
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SearchResults, { state, trackEvent });
2240
2244
  case "noResults":
2241
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(EmptySearchResult, { state });
2245
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(EmptySearchResult, { state });
2242
2246
  case "pending":
2243
2247
  default:
2244
2248
  return null;
2245
2249
  }
2246
2250
  }
2247
2251
  function EmptySearchResult({ state }) {
2248
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components35.Markdown, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
2252
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_components36.Markdown, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
2249
2253
  }
2250
2254
  function SearchResults({
2251
2255
  state,
2252
2256
  trackEvent
2253
2257
  }) {
2254
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components35.NavigationOptionsList, { children: state.results.map((result) => {
2258
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_components36.NavigationOptionsList, { children: state.results.map((result) => {
2255
2259
  const { media } = result;
2256
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2257
- import_components35.NavigationOption,
2260
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2261
+ import_components36.NavigationOption,
2258
2262
  {
2259
2263
  title: result.title,
2260
2264
  content: result.description,
@@ -2275,11 +2279,11 @@ function SearchResults({
2275
2279
  var BlockSearchRendererComponent_default = BlockSearchRendererComponent;
2276
2280
 
2277
2281
  // ../renderers/src/SearchRenderer/InlineSearchRendererComponent.tsx
2278
- var import_components36 = require("@transferwise/components");
2282
+ var import_components37 = require("@transferwise/components");
2279
2283
  var import_icons2 = require("@transferwise/icons");
2280
2284
  var import_react13 = require("react");
2281
2285
  var import_react_intl20 = require("react-intl");
2282
- var import_jsx_runtime53 = require("react/jsx-runtime");
2286
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2283
2287
  function InlineSearchRenderer({
2284
2288
  id,
2285
2289
  isLoading,
@@ -2291,18 +2295,18 @@ function InlineSearchRenderer({
2291
2295
  }) {
2292
2296
  const [hasSearched, setHasSearched] = (0, import_react13.useState)(false);
2293
2297
  const intl = (0, import_react_intl20.useIntl)();
2294
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: getMargin(margin), children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2295
- import_components36.Typeahead,
2298
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: getMargin(margin), children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2299
+ import_components37.Typeahead,
2296
2300
  {
2297
2301
  id: "typeahead-input-id",
2298
2302
  intl,
2299
2303
  name: "typeahead-input-name",
2300
2304
  size: "md",
2301
2305
  maxHeight: 100,
2302
- footer: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TypeaheadFooter, { state, isLoading }),
2306
+ footer: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TypeaheadFooter, { state, isLoading }),
2303
2307
  multiple: false,
2304
2308
  clearable: false,
2305
- addon: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_icons2.Search, { size: 24 }),
2309
+ addon: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_icons2.Search, { size: 24 }),
2306
2310
  options: state.type === "results" ? state.results.map(mapResultToTypeaheadOption) : [],
2307
2311
  minQueryLength: 1,
2308
2312
  onChange: (values) => {
@@ -2339,34 +2343,57 @@ function mapResultToTypeaheadOption(result) {
2339
2343
  function TypeaheadFooter({ state, isLoading }) {
2340
2344
  const { formatMessage } = (0, import_react_intl20.useIntl)();
2341
2345
  if (state.type === "noResults") {
2342
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_components36.Markdown, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
2346
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_components37.Markdown, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
2343
2347
  }
2344
2348
  if (state.type === "error") {
2345
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ErrorResult, { state }) });
2349
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ErrorResult, { state }) });
2346
2350
  }
2347
2351
  if (state.type === "pending" || isLoading) {
2348
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
2352
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
2349
2353
  }
2350
2354
  return null;
2351
2355
  }
2352
2356
  var InlineSearchRendererComponent_default = InlineSearchRenderer;
2353
2357
 
2354
2358
  // ../renderers/src/SearchRenderer/SearchRenderer.tsx
2355
- var import_jsx_runtime54 = require("react/jsx-runtime");
2359
+ var import_jsx_runtime55 = require("react/jsx-runtime");
2356
2360
  var SearchRenderer = {
2357
2361
  canRenderType: "search",
2358
- render: (props) => props.control === "inline" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(BlockSearchRendererComponent_default, __spreadValues({}, props))
2362
+ render: (props) => props.control === "inline" ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(BlockSearchRendererComponent_default, __spreadValues({}, props))
2359
2363
  };
2360
2364
  var SearchRenderer_default = SearchRenderer;
2361
2365
 
2362
2366
  // ../renderers/src/SectionRenderer.tsx
2363
- var import_components37 = require("@transferwise/components");
2364
- var import_jsx_runtime55 = require("react/jsx-runtime");
2367
+ var import_components38 = require("@transferwise/components");
2368
+
2369
+ // ../renderers/src/utils/getHeaderAction.tsx
2370
+ var getHeaderAction2 = (callToAction) => {
2371
+ if (!callToAction) {
2372
+ return void 0;
2373
+ }
2374
+ const { accessibilityDescription, href, title, onClick } = callToAction;
2375
+ return href ? {
2376
+ "aria-label": accessibilityDescription,
2377
+ text: title,
2378
+ href,
2379
+ target: "_blank"
2380
+ } : {
2381
+ "aria-label": accessibilityDescription,
2382
+ text: title,
2383
+ onClick: (event) => {
2384
+ event.preventDefault();
2385
+ onClick();
2386
+ }
2387
+ };
2388
+ };
2389
+
2390
+ // ../renderers/src/SectionRenderer.tsx
2391
+ var import_jsx_runtime56 = require("react/jsx-runtime");
2365
2392
  var SectionRenderer = {
2366
2393
  canRenderType: "section",
2367
2394
  render: ({ children, callToAction, margin, title }) => {
2368
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("section", { className: getMargin(margin), children: [
2369
- (title || callToAction) && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_components37.Header, { title: title != null ? title : "", action: getHeaderAction(callToAction) }),
2395
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("section", { className: getMargin(margin), children: [
2396
+ (title || callToAction) && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_components38.Header, { title: title != null ? title : "", action: getHeaderAction2(callToAction) }),
2370
2397
  children
2371
2398
  ] });
2372
2399
  }
@@ -2374,8 +2401,8 @@ var SectionRenderer = {
2374
2401
  var SectionRenderer_default = SectionRenderer;
2375
2402
 
2376
2403
  // ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
2377
- var import_components38 = require("@transferwise/components");
2378
- var import_jsx_runtime56 = require("react/jsx-runtime");
2404
+ var import_components39 = require("@transferwise/components");
2405
+ var import_jsx_runtime57 = require("react/jsx-runtime");
2379
2406
  function RadioInputRendererComponent(props) {
2380
2407
  const {
2381
2408
  id,
@@ -2389,8 +2416,8 @@ function RadioInputRendererComponent(props) {
2389
2416
  validationState,
2390
2417
  onSelect
2391
2418
  } = props;
2392
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
2393
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2419
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
2420
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2394
2421
  FieldInput_default,
2395
2422
  {
2396
2423
  id,
@@ -2398,8 +2425,8 @@ function RadioInputRendererComponent(props) {
2398
2425
  help,
2399
2426
  description,
2400
2427
  validation: validationState,
2401
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2402
- import_components38.RadioGroup,
2428
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2429
+ import_components39.RadioGroup,
2403
2430
  {
2404
2431
  name: id,
2405
2432
  radios: options.map((option, index) => ({
@@ -2407,7 +2434,7 @@ function RadioInputRendererComponent(props) {
2407
2434
  value: index,
2408
2435
  secondary: option.description,
2409
2436
  disabled: option.disabled || disabled,
2410
- avatar: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
2437
+ avatar: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
2411
2438
  })),
2412
2439
  selectedValue: selectedIndex != null ? selectedIndex : void 0,
2413
2440
  onChange: onSelect
@@ -2421,9 +2448,9 @@ function RadioInputRendererComponent(props) {
2421
2448
  }
2422
2449
 
2423
2450
  // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
2424
- var import_components39 = require("@transferwise/components");
2451
+ var import_components40 = require("@transferwise/components");
2425
2452
  var import_react14 = require("react");
2426
- var import_jsx_runtime57 = require("react/jsx-runtime");
2453
+ var import_jsx_runtime58 = require("react/jsx-runtime");
2427
2454
  function TabInputRendererComponent(props) {
2428
2455
  const {
2429
2456
  id,
@@ -2442,8 +2469,8 @@ function TabInputRendererComponent(props) {
2442
2469
  onSelect(0);
2443
2470
  }
2444
2471
  }, [selectedIndex, onSelect, options.length]);
2445
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
2446
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2472
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2473
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2447
2474
  FieldInput_default,
2448
2475
  {
2449
2476
  id,
@@ -2451,8 +2478,8 @@ function TabInputRendererComponent(props) {
2451
2478
  help,
2452
2479
  description,
2453
2480
  validation: validationState,
2454
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2455
- import_components39.Tabs,
2481
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2482
+ import_components40.Tabs,
2456
2483
  {
2457
2484
  name: id,
2458
2485
  selected: selectedIndex != null ? selectedIndex : 0,
@@ -2460,7 +2487,7 @@ function TabInputRendererComponent(props) {
2460
2487
  title: option.title,
2461
2488
  // if we pass null, we get some props-types console errors
2462
2489
  // eslint-disable-next-line react/jsx-no-useless-fragment
2463
- content: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_jsx_runtime57.Fragment, {}),
2490
+ content: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_jsx_runtime58.Fragment, {}),
2464
2491
  disabled: option.disabled || disabled
2465
2492
  })),
2466
2493
  onTabSelect: onSelect
@@ -2474,8 +2501,8 @@ function TabInputRendererComponent(props) {
2474
2501
  var isValidIndex = (index, options) => index !== null && index >= 0 && index < options;
2475
2502
 
2476
2503
  // ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
2477
- var import_components40 = require("@transferwise/components");
2478
- var import_jsx_runtime58 = require("react/jsx-runtime");
2504
+ var import_components41 = require("@transferwise/components");
2505
+ var import_jsx_runtime59 = require("react/jsx-runtime");
2479
2506
  function SelectInputRendererComponent(props) {
2480
2507
  const {
2481
2508
  id,
@@ -2515,13 +2542,13 @@ function SelectInputRendererComponent(props) {
2515
2542
  } : {
2516
2543
  title: option.title,
2517
2544
  description: option.description,
2518
- icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
2545
+ icon: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
2519
2546
  };
2520
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_components40.SelectInputOptionContent, __spreadValues({}, contentProps));
2547
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_components41.SelectInputOptionContent, __spreadValues({}, contentProps));
2521
2548
  };
2522
2549
  const extraProps = { autoComplete };
2523
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
2524
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2550
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
2551
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2525
2552
  FieldInput_default,
2526
2553
  {
2527
2554
  id,
@@ -2529,8 +2556,8 @@ function SelectInputRendererComponent(props) {
2529
2556
  help,
2530
2557
  description,
2531
2558
  validation: validationState,
2532
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2533
- import_components40.SelectInput,
2559
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2560
+ import_components41.SelectInput,
2534
2561
  __spreadValues({
2535
2562
  name: id,
2536
2563
  placeholder,
@@ -2551,8 +2578,8 @@ function SelectInputRendererComponent(props) {
2551
2578
 
2552
2579
  // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
2553
2580
  var import_react15 = require("react");
2554
- var import_components41 = require("@transferwise/components");
2555
- var import_jsx_runtime59 = require("react/jsx-runtime");
2581
+ var import_components42 = require("@transferwise/components");
2582
+ var import_jsx_runtime60 = require("react/jsx-runtime");
2556
2583
  function SegmentedInputRendererComponent(props) {
2557
2584
  const {
2558
2585
  id,
@@ -2570,8 +2597,8 @@ function SegmentedInputRendererComponent(props) {
2570
2597
  onSelect(0);
2571
2598
  }
2572
2599
  }, [selectedIndex, onSelect, options.length]);
2573
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
2574
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2600
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
2601
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2575
2602
  FieldInput_default,
2576
2603
  {
2577
2604
  id,
@@ -2579,8 +2606,8 @@ function SegmentedInputRendererComponent(props) {
2579
2606
  help,
2580
2607
  description,
2581
2608
  validation: validationState,
2582
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2583
- import_components41.SegmentedControl,
2609
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
2610
+ import_components42.SegmentedControl,
2584
2611
  {
2585
2612
  name: `${id}-segmented-control`,
2586
2613
  value: String(selectedIndex),
@@ -2596,44 +2623,44 @@ function SegmentedInputRendererComponent(props) {
2596
2623
  )
2597
2624
  }
2598
2625
  ),
2599
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { id: `${id}-children`, children })
2626
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { id: `${id}-children`, children })
2600
2627
  ] });
2601
2628
  }
2602
2629
  var isValidIndex2 = (index, options) => index !== null && index >= 0 && index < options;
2603
2630
 
2604
2631
  // ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
2605
- var import_jsx_runtime60 = require("react/jsx-runtime");
2632
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2606
2633
  var SelectInputRenderer = {
2607
2634
  canRenderType: "input-select",
2608
2635
  render: (props) => {
2609
2636
  switch (props.control) {
2610
2637
  case "radio":
2611
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(RadioInputRendererComponent, __spreadValues({}, props));
2638
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(RadioInputRendererComponent, __spreadValues({}, props));
2612
2639
  case "tab":
2613
- return props.options.length > 3 ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(TabInputRendererComponent, __spreadValues({}, props));
2640
+ return props.options.length > 3 ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(TabInputRendererComponent, __spreadValues({}, props));
2614
2641
  case "segmented":
2615
- return props.options.length > 3 ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(SegmentedInputRendererComponent, __spreadValues({}, props));
2642
+ return props.options.length > 3 ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SegmentedInputRendererComponent, __spreadValues({}, props));
2616
2643
  case "select":
2617
2644
  default:
2618
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(SelectInputRendererComponent, __spreadValues({}, props));
2645
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SelectInputRendererComponent, __spreadValues({}, props));
2619
2646
  }
2620
2647
  }
2621
2648
  };
2622
2649
  var SelectInputRenderer_default = SelectInputRenderer;
2623
2650
 
2624
2651
  // ../renderers/src/StatusListRenderer.tsx
2625
- var import_components42 = require("@transferwise/components");
2626
- var import_jsx_runtime61 = require("react/jsx-runtime");
2652
+ var import_components43 = require("@transferwise/components");
2653
+ var import_jsx_runtime62 = require("react/jsx-runtime");
2627
2654
  var StatusListRenderer = {
2628
2655
  canRenderType: "status-list",
2629
- render: ({ margin, items, title }) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: getMargin(margin), children: [
2630
- title ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_components42.Header, { title, className: "m-b-2" }) : null,
2631
- items.map(({ callToAction, description, icon, status, title: itemTitle }) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2632
- import_components42.Summary,
2656
+ render: ({ margin, items, title }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: getMargin(margin), children: [
2657
+ title ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_components43.Header, { title, className: "m-b-2" }) : null,
2658
+ items.map(({ callToAction, description, icon, status, title: itemTitle }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2659
+ import_components43.Summary,
2633
2660
  {
2634
2661
  title: itemTitle,
2635
2662
  description,
2636
- icon: icon && "name" in icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DynamicIcon_default, { name: icon.name }) : null,
2663
+ icon: icon && "name" in icon ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DynamicIcon_default, { name: icon.name }) : null,
2637
2664
  status: mapStatus(status),
2638
2665
  action: getSummaryAction(callToAction)
2639
2666
  },
@@ -2685,32 +2712,32 @@ var useCustomTheme = (theme, trackEvent) => {
2685
2712
  };
2686
2713
 
2687
2714
  // ../renderers/src/step/topbar/BackButton.tsx
2688
- var import_components43 = require("@transferwise/components");
2715
+ var import_components44 = require("@transferwise/components");
2689
2716
  var import_icons3 = require("@transferwise/icons");
2690
- var import_jsx_runtime62 = require("react/jsx-runtime");
2717
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2691
2718
  function BackButton({ title, onClick }) {
2692
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_components43.IconButton, { priority: "tertiary", onClick, children: [
2693
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "sr-only", children: title }),
2694
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_icons3.ArrowLeft, {})
2719
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_components44.IconButton, { priority: "tertiary", onClick, children: [
2720
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "sr-only", children: title }),
2721
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_icons3.ArrowLeft, {})
2695
2722
  ] });
2696
2723
  }
2697
2724
 
2698
2725
  // ../renderers/src/step/topbar/Toolbar.tsx
2699
- var import_components44 = require("@transferwise/components");
2700
- var import_jsx_runtime63 = require("react/jsx-runtime");
2726
+ var import_components45 = require("@transferwise/components");
2727
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2701
2728
  var Toolbar = ({ items }) => {
2702
- return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
2729
+ return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
2703
2730
  };
2704
2731
  function ToolbarButton(props) {
2705
- return prefersMedia(props.control) ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(TextToolbarButton, __spreadValues({}, props));
2732
+ return prefersMedia(props.control) ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(TextToolbarButton, __spreadValues({}, props));
2706
2733
  }
2707
2734
  function MediaToolbarButton(props) {
2708
2735
  var _a;
2709
2736
  const { context, control, media, accessibilityDescription, disabled, onClick } = props;
2710
2737
  const priority = getIconButtonPriority(control);
2711
2738
  const type = getSentiment(context);
2712
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
2713
- import_components44.IconButton,
2739
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
2740
+ import_components45.IconButton,
2714
2741
  {
2715
2742
  className: "df-toolbar-button",
2716
2743
  disabled,
@@ -2719,7 +2746,7 @@ function MediaToolbarButton(props) {
2719
2746
  type,
2720
2747
  onClick,
2721
2748
  children: [
2722
- accessibilityDescription ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "sr-only", children: accessibilityDescription }) : null,
2749
+ accessibilityDescription ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "sr-only", children: accessibilityDescription }) : null,
2723
2750
  media ? (_a = getAddonStart(media)) == null ? void 0 : _a.value : null
2724
2751
  ]
2725
2752
  }
@@ -2728,10 +2755,10 @@ function MediaToolbarButton(props) {
2728
2755
  function TextToolbarButton(props) {
2729
2756
  const { context, control, title, media, disabled, onClick } = props;
2730
2757
  const addonStart = media ? getAddonStart(media) : void 0;
2731
- const priority = getPriority(control);
2758
+ const priority = getPriority2(control);
2732
2759
  const sentiment = getSentiment(context);
2733
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2734
- import_components44.Button,
2760
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2761
+ import_components45.Button,
2735
2762
  {
2736
2763
  v2: true,
2737
2764
  size: "sm",
@@ -2759,7 +2786,7 @@ var getAddonStart = (media) => {
2759
2786
  return void 0;
2760
2787
  }
2761
2788
  };
2762
- var getPriority = (control) => isKnownControl(control) ? control : "secondary";
2789
+ var getPriority2 = (control) => isKnownControl(control) ? control : "secondary";
2763
2790
  var prefersMedia = (control) => {
2764
2791
  return false;
2765
2792
  };
@@ -2769,21 +2796,21 @@ var getSentiment = (context) => {
2769
2796
  return "default";
2770
2797
  };
2771
2798
  var getIconButtonPriority = (control) => {
2772
- const priority = getPriority(control);
2799
+ const priority = getPriority2(control);
2773
2800
  return priority === "secondary-neutral" ? "tertiary" : priority;
2774
2801
  };
2775
2802
 
2776
2803
  // ../renderers/src/step/topbar/TopBar.tsx
2777
- var import_jsx_runtime64 = require("react/jsx-runtime");
2804
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2778
2805
  function TopBar({ back, toolbar }) {
2779
- return back || toolbar ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "d-flex m-b-2", children: [
2780
- back ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(BackButton, __spreadValues({}, back)) : null,
2781
- toolbar ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Toolbar, __spreadValues({}, toolbar)) : null
2806
+ return back || toolbar ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "d-flex m-b-2", children: [
2807
+ back ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(BackButton, __spreadValues({}, back)) : null,
2808
+ toolbar ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Toolbar, __spreadValues({}, toolbar)) : null
2782
2809
  ] }) : null;
2783
2810
  }
2784
2811
 
2785
2812
  // ../renderers/src/step/SplashCelebrationStepRenderer.tsx
2786
- var import_jsx_runtime65 = require("react/jsx-runtime");
2813
+ var import_jsx_runtime66 = require("react/jsx-runtime");
2787
2814
  var SplashCelebrationStepRenderer = {
2788
2815
  canRenderType: "step",
2789
2816
  canRender: ({ control }) => control === "splash-celebration",
@@ -2792,14 +2819,14 @@ var SplashCelebrationStepRenderer = {
2792
2819
  function SplashCelebrationStepRendererComponent(props) {
2793
2820
  const { back, toolbar, children, trackEvent } = props;
2794
2821
  useCustomTheme("forest-green", trackEvent);
2795
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "splash-screen m-t-5", children: [
2796
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(TopBar, { back, toolbar }),
2822
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "splash-screen m-t-5", children: [
2823
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(TopBar, { back, toolbar }),
2797
2824
  children
2798
2825
  ] });
2799
2826
  }
2800
2827
 
2801
2828
  // ../renderers/src/step/SplashStepRenderer.tsx
2802
- var import_jsx_runtime66 = require("react/jsx-runtime");
2829
+ var import_jsx_runtime67 = require("react/jsx-runtime");
2803
2830
  var SplashStepRenderer = {
2804
2831
  canRenderType: "step",
2805
2832
  canRender: ({ control }) => control === "splash",
@@ -2807,63 +2834,63 @@ var SplashStepRenderer = {
2807
2834
  };
2808
2835
  function SplashStepRendererComponent(props) {
2809
2836
  const { back, toolbar, children } = props;
2810
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "splash-screen m-t-5", children: [
2811
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(TopBar, { back, toolbar }),
2837
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "splash-screen m-t-5", children: [
2838
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(TopBar, { back, toolbar }),
2812
2839
  children
2813
2840
  ] });
2814
2841
  }
2815
2842
 
2816
2843
  // ../renderers/src/step/StepRenderer.tsx
2817
- var import_components45 = require("@transferwise/components");
2818
- var import_jsx_runtime67 = require("react/jsx-runtime");
2844
+ var import_components46 = require("@transferwise/components");
2845
+ var import_jsx_runtime68 = require("react/jsx-runtime");
2819
2846
  var StepRenderer = {
2820
2847
  canRenderType: "step",
2821
2848
  render: StepRendererComponent
2822
2849
  };
2823
2850
  function StepRendererComponent(props) {
2824
2851
  const { back, description, error, title, children, toolbar } = props;
2825
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
2826
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(TopBar, { back, toolbar }),
2827
- title || description ? /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "m-b-4", children: [
2828
- title ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_components45.Title, { as: "h1", type: "title-section", className: "text-xs-center m-b-2", children: title }) : void 0,
2829
- description ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "text-xs-center np-text-body-large", children: description }) : void 0
2852
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_jsx_runtime68.Fragment, { children: [
2853
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(TopBar, { back, toolbar }),
2854
+ title || description ? /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "m-b-4", children: [
2855
+ title ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_components46.Title, { as: "h1", type: "title-section", className: "text-xs-center m-b-2", children: title }) : void 0,
2856
+ description ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("p", { className: "text-xs-center np-text-body-large", children: description }) : void 0
2830
2857
  ] }) : void 0,
2831
- error ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_components45.Alert, { type: "negative", className: "m-b-2", message: error }) : void 0,
2858
+ error ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_components46.Alert, { type: "negative", className: "m-b-2", message: error }) : void 0,
2832
2859
  children
2833
2860
  ] });
2834
2861
  }
2835
2862
 
2836
2863
  // ../renderers/src/TabsRenderer.tsx
2837
- var import_components46 = require("@transferwise/components");
2864
+ var import_components47 = require("@transferwise/components");
2838
2865
  var import_react17 = require("react");
2839
- var import_jsx_runtime68 = require("react/jsx-runtime");
2866
+ var import_jsx_runtime69 = require("react/jsx-runtime");
2840
2867
  var TabsRenderer = {
2841
2868
  canRenderType: "tabs",
2842
2869
  render: (props) => {
2843
2870
  switch (props.control) {
2844
2871
  case "segmented":
2845
2872
  if (props.tabs.length > 3) {
2846
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(TabsRendererComponent, __spreadValues({}, props));
2873
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TabsRendererComponent, __spreadValues({}, props));
2847
2874
  }
2848
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(SegmentedTabsRendererComponent, __spreadValues({}, props));
2875
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(SegmentedTabsRendererComponent, __spreadValues({}, props));
2849
2876
  case "chips":
2850
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ChipsTabsRendererComponent, __spreadValues({}, props));
2877
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ChipsTabsRendererComponent, __spreadValues({}, props));
2851
2878
  default:
2852
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(TabsRendererComponent, __spreadValues({}, props));
2879
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TabsRendererComponent, __spreadValues({}, props));
2853
2880
  }
2854
2881
  }
2855
2882
  };
2856
2883
  function TabsRendererComponent({ uid, margin, tabs }) {
2857
2884
  const [selectedIndex, setSelectedIndex] = (0, import_react17.useState)(0);
2858
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: getMargin(margin), children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
2859
- import_components46.Tabs,
2885
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: getMargin(margin), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
2886
+ import_components47.Tabs,
2860
2887
  {
2861
2888
  name: uid,
2862
2889
  selected: selectedIndex != null ? selectedIndex : 0,
2863
2890
  tabs: tabs.map((option) => ({
2864
2891
  title: option.title,
2865
2892
  disabled: false,
2866
- content: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "m-t-2", children: [
2893
+ content: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "m-t-2", children: [
2867
2894
  " ",
2868
2895
  option.children,
2869
2896
  " "
@@ -2876,9 +2903,9 @@ function TabsRendererComponent({ uid, margin, tabs }) {
2876
2903
  function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
2877
2904
  var _a;
2878
2905
  const [selectedIndex, setSelectedIndex] = (0, import_react17.useState)(0);
2879
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: getMargin(margin), children: [
2880
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
2881
- import_components46.SegmentedControl,
2906
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: getMargin(margin), children: [
2907
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
2908
+ import_components47.SegmentedControl,
2882
2909
  {
2883
2910
  name: uid,
2884
2911
  value: String(selectedIndex),
@@ -2892,31 +2919,31 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
2892
2919
  onChange: (value) => setSelectedIndex(Number(value))
2893
2920
  }
2894
2921
  ),
2895
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
2922
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
2896
2923
  ] });
2897
2924
  }
2898
2925
  function ChipsTabsRendererComponent({ margin, tabs }) {
2899
2926
  var _a;
2900
2927
  const [selectedIndex, setSelectedIndex] = (0, import_react17.useState)(0);
2901
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: getMargin(margin), children: [
2902
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "chips-container", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
2903
- import_components46.Chips,
2928
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: getMargin(margin), children: [
2929
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "chips-container", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
2930
+ import_components47.Chips,
2904
2931
  {
2905
2932
  chips: tabs.map((tab, index) => ({ label: tab.title, value: index })),
2906
2933
  selected: selectedIndex,
2907
2934
  onChange: ({ selectedValue }) => setSelectedIndex(Number(selectedValue))
2908
2935
  }
2909
2936
  ) }),
2910
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
2937
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
2911
2938
  ] });
2912
2939
  }
2913
2940
 
2914
2941
  // ../renderers/src/TextInputRenderer.tsx
2915
- var import_components48 = require("@transferwise/components");
2942
+ var import_components49 = require("@transferwise/components");
2916
2943
 
2917
2944
  // ../renderers/src/components/VariableTextInput.tsx
2918
- var import_components47 = require("@transferwise/components");
2919
- var import_jsx_runtime69 = require("react/jsx-runtime");
2945
+ var import_components48 = require("@transferwise/components");
2946
+ var import_jsx_runtime70 = require("react/jsx-runtime");
2920
2947
  var commonKeys = [
2921
2948
  "autoComplete",
2922
2949
  "autoCapitalize",
@@ -2935,12 +2962,12 @@ function VariableTextInput(inputProps) {
2935
2962
  const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
2936
2963
  switch (control) {
2937
2964
  case "email":
2938
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
2965
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
2939
2966
  case "password":
2940
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
2967
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
2941
2968
  case "numeric": {
2942
2969
  const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
2943
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
2970
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
2944
2971
  TextInput,
2945
2972
  __spreadProps(__spreadValues({}, numericProps), {
2946
2973
  onChange: (newValue) => {
@@ -2951,21 +2978,21 @@ function VariableTextInput(inputProps) {
2951
2978
  );
2952
2979
  }
2953
2980
  case "phone-number":
2954
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_components47.PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
2981
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_components48.PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
2955
2982
  default: {
2956
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
2983
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
2957
2984
  }
2958
2985
  }
2959
2986
  }
2960
2987
  function TextInput(props) {
2961
2988
  const _a = props, { control, displayFormat, onChange } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange"]);
2962
- const InputWithPattern = control === "textarea" ? import_components47.TextareaWithDisplayFormat : import_components47.InputWithDisplayFormat;
2963
- const InputWithoutPattern = control === "textarea" ? import_components47.TextArea : import_components47.Input;
2964
- return displayFormat ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
2989
+ const InputWithPattern = control === "textarea" ? import_components48.TextareaWithDisplayFormat : import_components48.InputWithDisplayFormat;
2990
+ const InputWithoutPattern = control === "textarea" ? import_components48.TextArea : import_components48.Input;
2991
+ return displayFormat ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
2965
2992
  }
2966
2993
 
2967
2994
  // ../renderers/src/TextInputRenderer.tsx
2968
- var import_jsx_runtime70 = require("react/jsx-runtime");
2995
+ var import_jsx_runtime71 = require("react/jsx-runtime");
2969
2996
  var TextInputRenderer = {
2970
2997
  canRenderType: "input-text",
2971
2998
  render: (props) => {
@@ -2998,7 +3025,7 @@ var TextInputRenderer = {
2998
3025
  }
2999
3026
  }
3000
3027
  });
3001
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3028
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
3002
3029
  FieldInput_default,
3003
3030
  {
3004
3031
  id,
@@ -3006,7 +3033,7 @@ var TextInputRenderer = {
3006
3033
  description,
3007
3034
  validation: validationState,
3008
3035
  help,
3009
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_components48.InputGroup, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(VariableTextInput, __spreadValues({}, inputProps)) })
3036
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_components49.InputGroup, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(VariableTextInput, __spreadValues({}, inputProps)) })
3010
3037
  }
3011
3038
  );
3012
3039
  }
@@ -3014,13 +3041,13 @@ var TextInputRenderer = {
3014
3041
  var TextInputRenderer_default = TextInputRenderer;
3015
3042
 
3016
3043
  // ../renderers/src/UploadInputRenderer.tsx
3017
- var import_components49 = require("@transferwise/components");
3044
+ var import_components50 = require("@transferwise/components");
3018
3045
 
3019
3046
  // ../renderers/src/utils/getRandomId.ts
3020
3047
  var getRandomId = () => Math.random().toString(36).substring(2);
3021
3048
 
3022
3049
  // ../renderers/src/UploadInputRenderer.tsx
3023
- var import_jsx_runtime71 = require("react/jsx-runtime");
3050
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3024
3051
  var UploadInputRenderer = {
3025
3052
  canRenderType: "input-upload",
3026
3053
  render: (props) => {
@@ -3036,15 +3063,15 @@ var UploadInputRenderer = {
3036
3063
  };
3037
3064
  return (
3038
3065
  // We don't pass help here as there is no sensible place to display it
3039
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
3066
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3040
3067
  UploadFieldInput_default,
3041
3068
  {
3042
3069
  id,
3043
3070
  label: void 0,
3044
3071
  description: void 0,
3045
3072
  validation: validationState,
3046
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
3047
- import_components49.UploadInput,
3073
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3074
+ import_components50.UploadInput,
3048
3075
  {
3049
3076
  id,
3050
3077
  description,
@@ -3102,7 +3129,7 @@ var LargeUploadRenderer = {
3102
3129
  };
3103
3130
  const filetypes = acceptsToFileTypes(accepts);
3104
3131
  const usAccept = filetypes === "*" ? "*" : filetypes.join(",");
3105
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
3132
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3106
3133
  FieldInput_default,
3107
3134
  {
3108
3135
  id,
@@ -3110,8 +3137,8 @@ var LargeUploadRenderer = {
3110
3137
  description,
3111
3138
  validation: validationState,
3112
3139
  help,
3113
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
3114
- import_components49.Upload,
3140
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
3141
+ import_components50.Upload,
3115
3142
  __spreadProps(__spreadValues({}, uploadProps), {
3116
3143
  usAccept,
3117
3144
  usDisabled: disabled,
@@ -3131,7 +3158,7 @@ var getWiseRenderers = () => [
3131
3158
  AlertRenderer_default,
3132
3159
  CheckboxInputRenderer_default,
3133
3160
  BoxRenderer_default,
3134
- ButtonRenderer_default,
3161
+ ButtonRenderer,
3135
3162
  ColumnsRenderer_default,
3136
3163
  DateInputRenderer_default,
3137
3164
  DecisionRenderer_default,
@@ -3167,20 +3194,10 @@ var getWiseRenderers = () => [
3167
3194
  StepRenderer
3168
3195
  ];
3169
3196
 
3170
- // src/dynamicFlow/extensions/createRendererWithExtensions.ts
3171
- var RENDERER_REGISTRY = {
3172
- review: ReviewRenderer_default
3173
- };
3174
- function createRendererWithExtensions(type, options) {
3175
- const baseRenderer = RENDERER_REGISTRY[type];
3176
- const { extensions = {}, canRender, canRenderType } = options;
3177
- return __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, baseRenderer), canRenderType ? { canRenderType } : {}), canRender ? { canRender } : {}), {
3178
- extensions: __spreadValues(__spreadValues({}, baseRenderer.extensions), extensions)
3179
- });
3180
- }
3181
-
3182
- // src/index.ts
3183
- var import_dynamic_flow_client4 = require("@wise/dynamic-flow-client");
3197
+ // ../renderers/src/ButtonRenderer/ButtonRendererV2.tsx
3198
+ var import_components51 = require("@transferwise/components");
3199
+ var import_react18 = require("react");
3200
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3184
3201
 
3185
3202
  // src/i18n/index.ts
3186
3203
  var import_dynamic_flow_client = require("@wise/dynamic-flow-client");
@@ -3603,7 +3620,7 @@ var nl_default = {
3603
3620
  "df.wise.CopyFeedback.copy": "Naar klembord gekopieerd",
3604
3621
  "df.wise.CopyFeedback.copyFailed": "Naar klembord kopi\xEBren mislukt",
3605
3622
  "df.wise.Decision.all": "Alles",
3606
- "df.wise.Decision.filterPlaceholder": "Start typing to search",
3623
+ "df.wise.Decision.filterPlaceholder": "Begin met typen om te zoeken",
3607
3624
  "df.wise.Decision.noResults": "Niks gevonden",
3608
3625
  "df.wise.Decision.popular": "Populair",
3609
3626
  "df.wise.Decision.recent": "Recent",
@@ -4009,14 +4026,14 @@ var translations = languages.reduce(
4009
4026
  var i18n_default = translations;
4010
4027
 
4011
4028
  // src/dynamicFlow/DynamicFlow.tsx
4012
- var import_react18 = require("react");
4029
+ var import_react19 = require("react");
4013
4030
  var import_react_intl22 = require("react-intl");
4014
4031
  var import_dynamic_flow_client2 = require("@wise/dynamic-flow-client");
4015
4032
 
4016
4033
  // src/dynamicFlow/telemetry/app-version.ts
4017
4034
  var appVersion = (
4018
4035
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
4019
- typeof process !== "undefined" ? "4.23.0" : "0.0.0"
4036
+ typeof process !== "undefined" ? "4.24.0" : "0.0.0"
4020
4037
  );
4021
4038
 
4022
4039
  // src/dynamicFlow/telemetry/getLogEvent.ts
@@ -4071,12 +4088,12 @@ var messages_default = (0, import_react_intl21.defineMessages)({
4071
4088
  });
4072
4089
 
4073
4090
  // src/dynamicFlow/DynamicFlow.tsx
4074
- var import_jsx_runtime72 = require("react/jsx-runtime");
4091
+ var import_jsx_runtime74 = require("react/jsx-runtime");
4075
4092
  var wiseRenderers = getWiseRenderers();
4076
4093
  function DynamicFlowLegacy(props) {
4077
4094
  const { customFetch = globalThis.fetch } = props;
4078
4095
  const coreProps = __spreadProps(__spreadValues({}, props), { httpClient: customFetch });
4079
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_dynamic_flow_client2.DynamicFlow, __spreadValues({}, coreProps));
4096
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_dynamic_flow_client2.DynamicFlow, __spreadValues({}, coreProps));
4080
4097
  }
4081
4098
  function DynamicFlowRevamp(props) {
4082
4099
  const {
@@ -4092,9 +4109,9 @@ function DynamicFlowRevamp(props) {
4092
4109
  const { formatMessage } = (0, import_react_intl22.useIntl)();
4093
4110
  const createSnackBar = useSnackBarIfAvailable();
4094
4111
  const httpClient = useWiseHttpClient(customFetch);
4095
- const mergedRenderers = (0, import_react18.useMemo)(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
4096
- const logEvent = (0, import_react18.useMemo)(() => getLogEvent(onLog), [onLog]);
4097
- const trackEvent = (0, import_react18.useMemo)(
4112
+ const mergedRenderers = (0, import_react19.useMemo)(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
4113
+ const logEvent = (0, import_react19.useMemo)(() => getLogEvent(onLog), [onLog]);
4114
+ const trackEvent = (0, import_react19.useMemo)(
4098
4115
  () => getTrackEvent(onEvent, onAnalytics, onThemeChange),
4099
4116
  [onEvent, onAnalytics, onThemeChange]
4100
4117
  );
@@ -4113,9 +4130,9 @@ function DynamicFlowRevamp(props) {
4113
4130
  onLink,
4114
4131
  onCopy
4115
4132
  });
4116
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_dynamic_flow_client2.DynamicFlowCoreRevamp, __spreadValues({}, coreProps)) });
4133
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_dynamic_flow_client2.DynamicFlowCoreRevamp, __spreadValues({}, coreProps)) });
4117
4134
  }
4118
- var DynamicForm = (0, import_react18.forwardRef)(function DynamicForm2(props, ref) {
4135
+ var DynamicForm = (0, import_react19.forwardRef)(function DynamicForm2(props, ref) {
4119
4136
  const {
4120
4137
  className = "",
4121
4138
  customFetch = globalThis.fetch,
@@ -4129,9 +4146,9 @@ var DynamicForm = (0, import_react18.forwardRef)(function DynamicForm2(props, re
4129
4146
  const { formatMessage } = (0, import_react_intl22.useIntl)();
4130
4147
  const createSnackBar = useSnackBarIfAvailable();
4131
4148
  const httpClient = useWiseHttpClient(customFetch);
4132
- const mergedRenderers = (0, import_react18.useMemo)(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
4133
- const logEvent = (0, import_react18.useMemo)(() => getLogEvent(onLog), [onLog]);
4134
- const trackEvent = (0, import_react18.useMemo)(
4149
+ const mergedRenderers = (0, import_react19.useMemo)(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
4150
+ const logEvent = (0, import_react19.useMemo)(() => getLogEvent(onLog), [onLog]);
4151
+ const trackEvent = (0, import_react19.useMemo)(
4135
4152
  () => getTrackEvent(onEvent, onAnalytics, onThemeChange),
4136
4153
  [onEvent, onAnalytics, onThemeChange]
4137
4154
  );
@@ -4150,11 +4167,11 @@ var DynamicForm = (0, import_react18.forwardRef)(function DynamicForm2(props, re
4150
4167
  onLink,
4151
4168
  onCopy
4152
4169
  });
4153
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_dynamic_flow_client2.DynamicFormCore, __spreadProps(__spreadValues({}, coreProps), { ref })) });
4170
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_dynamic_flow_client2.DynamicFormCore, __spreadProps(__spreadValues({}, coreProps), { ref })) });
4154
4171
  });
4155
4172
  var useWiseHttpClient = (httpClient) => {
4156
4173
  const { locale } = (0, import_react_intl22.useIntl)();
4157
- return (0, import_react18.useCallback)(
4174
+ return (0, import_react19.useCallback)(
4158
4175
  async (input, init = {}) => {
4159
4176
  const headers = new Headers(init.headers);
4160
4177
  headers.set("accept-language", locale);