@wise/dynamic-flow-client-internal 5.34.0-experimental-18a8b47 → 5.34.0-experimental-7a76ef5

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
@@ -70,7 +70,7 @@ var require_classnames = __commonJS({
70
70
  (function() {
71
71
  "use strict";
72
72
  var hasOwn = {}.hasOwnProperty;
73
- function classNames38() {
73
+ function classNames39() {
74
74
  var classes = "";
75
75
  for (var i = 0; i < arguments.length; i++) {
76
76
  var arg = arguments[i];
@@ -88,7 +88,7 @@ var require_classnames = __commonJS({
88
88
  return "";
89
89
  }
90
90
  if (Array.isArray(arg)) {
91
- return classNames38.apply(null, arg);
91
+ return classNames39.apply(null, arg);
92
92
  }
93
93
  if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
94
94
  return arg.toString();
@@ -111,14 +111,14 @@ var require_classnames = __commonJS({
111
111
  return value + newClass;
112
112
  }
113
113
  if (typeof module2 !== "undefined" && module2.exports) {
114
- classNames38.default = classNames38;
115
- module2.exports = classNames38;
114
+ classNames39.default = classNames39;
115
+ module2.exports = classNames39;
116
116
  } else if (typeof define === "function" && typeof define.amd === "object" && define.amd) {
117
117
  define("classnames", [], function() {
118
- return classNames38;
118
+ return classNames39;
119
119
  });
120
120
  } else {
121
- window.classNames = classNames38;
121
+ window.classNames = classNames39;
122
122
  }
123
123
  })();
124
124
  }
@@ -132,6 +132,7 @@ __export(index_exports, {
132
132
  Header: () => Header10,
133
133
  Media: () => Media2,
134
134
  createCollectionRenderer: () => createCollectionRenderer2,
135
+ createContactsCollectionRenderer: () => createContactsCollectionRenderer2,
135
136
  findRendererPropsByType: () => import_dynamic_flow_client8.findRendererPropsByType,
136
137
  getMargin: () => getMargin2,
137
138
  makeCustomFetch: () => import_dynamic_flow_client7.makeHttpClient,
@@ -336,7 +337,7 @@ var recursivelyRemoveNullish = (element) => {
336
337
  };
337
338
 
338
339
  // src/dynamicFlow/useWiseToCoreProps.tsx
339
- var import_react35 = require("react");
340
+ var import_react36 = require("react");
340
341
 
341
342
  // src/dynamicFlow/getMergedRenderers.tsx
342
343
  var import_dynamic_flow_client2 = require("@wise/dynamic-flow-client");
@@ -1686,14 +1687,14 @@ var generic_error_messages_default = (0, import_react_intl5.defineMessages)({
1686
1687
  var import_react_intl6 = require("react-intl");
1687
1688
  var import_jsx_runtime35 = require("react/jsx-runtime");
1688
1689
  var CollectionRendererComponent = (props) => {
1689
- const { state, depth, Search: Search5, Filters, Results, FocusedResults } = props;
1690
+ const { state, Search: Search5, AfterSearch, Filters, Results } = props;
1690
1691
  const { status } = state;
1691
- const isForked = depth > 0;
1692
1692
  const isError = status.type === "error" && (status.reason === "search" || status.reason === "filter");
1693
1693
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
1694
1694
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Search5, __spreadValues({}, props)),
1695
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(AfterSearch, __spreadValues({}, props)),
1695
1696
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Filters, __spreadValues({}, props)),
1696
- isError ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SearchError, { retry: status.retry }) : isForked ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(FocusedResults, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Results, __spreadValues({}, props))
1697
+ isError ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SearchError, { retry: status.retry }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Results, __spreadValues({}, props))
1697
1698
  ] });
1698
1699
  };
1699
1700
  var SearchError = ({ retry }) => {
@@ -3704,7 +3705,13 @@ var import_components22 = require("@transferwise/components");
3704
3705
  var import_icons = require("@transferwise/icons");
3705
3706
  var import_react_intl11 = require("react-intl");
3706
3707
  var import_jsx_runtime42 = require("react/jsx-runtime");
3707
- var SearchComponent = ({ state, features, control, tags }) => {
3708
+ var SearchComponent = ({
3709
+ state,
3710
+ features,
3711
+ control,
3712
+ tags,
3713
+ onSearchChange
3714
+ }) => {
3708
3715
  var _a;
3709
3716
  const { search } = state;
3710
3717
  const { formatMessage } = (0, import_react_intl11.useIntl)();
@@ -3725,10 +3732,7 @@ var SearchComponent = ({ state, features, control, tags }) => {
3725
3732
  priority: "minimal",
3726
3733
  size: 24,
3727
3734
  "aria-label": formatMessage(collection_messages_default.clearTextLabel),
3728
- onClick: () => {
3729
- var _a3;
3730
- return (_a3 = state.search) == null ? void 0 : _a3.onChange("");
3731
- },
3735
+ onClick: () => onSearchChange(""),
3732
3736
  children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons.CrossCircleFill, {})
3733
3737
  }
3734
3738
  )
@@ -3757,7 +3761,7 @@ var SearchComponent = ({ state, features, control, tags }) => {
3757
3761
  type: "text",
3758
3762
  value: search.query,
3759
3763
  onChange: ({ currentTarget: { value } }) => {
3760
- search.onChange(value);
3764
+ onSearchChange(value);
3761
3765
  }
3762
3766
  }
3763
3767
  ) })
@@ -3772,81 +3776,23 @@ var SectionHeaderComponent = ({
3772
3776
  callToAction
3773
3777
  }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Header, { title, callToAction });
3774
3778
 
3775
- // ../renderers/src/CollectionRenderer/components/CollapsibleContentComponent.tsx
3776
- var import_react10 = require("react");
3777
- var import_components23 = require("@transferwise/components");
3778
- var import_react_intl12 = require("react-intl");
3779
- var import_jsx_runtime44 = require("react/jsx-runtime");
3780
- var CollapsibleContentComponent = (props) => {
3781
- const { state, SectionHeader, Item } = props;
3782
- const { search, status } = state;
3783
- const [isShowingInitialState, setIsShowingInitialState] = (0, import_react10.useState)(true);
3784
- const isSearchRunning = status.type === "loading" && status.reason === "search";
3785
- const shouldShowInitialState = !(search == null ? void 0 : search.query) || isSearchRunning && isShowingInitialState;
3786
- if (shouldShowInitialState !== isShowingInitialState) {
3787
- setIsShowingInitialState(shouldShowInitialState);
3788
- }
3789
- return (
3790
- // keep focus in the search input when clicking the results, so clicking doesn't blur it and
3791
- // pop the collection before the click is handled
3792
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { role: "presentation", onMouseDown: (event) => event.preventDefault(), children: state.sections.map((section) => {
3793
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Section, { section, SectionHeader, Item }, section.id);
3794
- }) })
3795
- );
3796
- };
3797
- var Section = ({ section, SectionHeader, Item }) => {
3798
- const { formatMessage } = (0, import_react_intl12.useIntl)();
3799
- const [expanded, setExpanded] = (0, import_react10.useState)(false);
3800
- const itemIds = section.type === "items" ? section.items.map(({ id }) => id).join("") : section.id;
3801
- const [prevItemIds, setPrevItemIds] = (0, import_react10.useState)(itemIds);
3802
- if (itemIds !== prevItemIds) {
3803
- setExpanded(false);
3804
- setPrevItemIds(itemIds);
3805
- }
3806
- const showLoadMore = section.type === "items" && section.items.some((item) => {
3807
- var _a;
3808
- return (_a = item.tags) == null ? void 0 : _a.includes("hidden");
3809
- });
3810
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
3811
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SectionHeader, __spreadValues({}, section)),
3812
- section.type === "items" && section.items.filter((item) => {
3813
- var _a;
3814
- return expanded || !((_a = item.tags) == null ? void 0 : _a.includes("hidden"));
3815
- }).map((item) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Item, __spreadValues({}, item), item.id)),
3816
- section.type === "layout" && section.children,
3817
- showLoadMore ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
3818
- import_components23.Button,
3819
- {
3820
- priority: "tertiary",
3821
- onClick: () => {
3822
- setExpanded(!expanded);
3823
- },
3824
- children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("span", { children: [
3825
- formatMessage(collection_messages_default.showLessResultsButton),
3826
- " "
3827
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { children: formatMessage(collection_messages_default.showMoreResultsButton, { count: section.items.length }) })
3828
- }
3829
- ) : void 0
3830
- ] });
3831
- };
3832
-
3833
3779
  // ../renderers/src/CollectionRenderer/createCollectionRenderer.tsx
3834
- var import_jsx_runtime45 = require("react/jsx-runtime");
3780
+ var import_jsx_runtime44 = require("react/jsx-runtime");
3835
3781
  var createCollectionRenderer = (canRender, components) => {
3836
3782
  const componentsWithDefaults = __spreadValues({
3837
3783
  Search: SearchComponent,
3784
+ AfterSearch: () => null,
3838
3785
  Filters: FiltersComponent,
3839
3786
  Filter: FilterComponent,
3840
3787
  Item: ItemComponent,
3841
3788
  SectionHeader: SectionHeaderComponent,
3842
- Results: VirtualisedContentComponent,
3843
- FocusedResults: CollapsibleContentComponent
3789
+ Results: VirtualisedContentComponent
3844
3790
  }, components);
3845
3791
  return {
3846
3792
  canRenderType: "collection",
3847
3793
  canRender,
3848
3794
  render: (props) => {
3849
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(CollectionRendererComponent, __spreadValues(__spreadValues({}, props), componentsWithDefaults));
3795
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(CollectionRendererComponent, __spreadValues(__spreadValues({}, props), componentsWithDefaults));
3850
3796
  }
3851
3797
  };
3852
3798
  };
@@ -3858,34 +3804,35 @@ var CollectionRendererV1 = createCollectionRenderer(
3858
3804
  var CollectionRendererV1_default = CollectionRendererV1;
3859
3805
 
3860
3806
  // ../renderers/src/CollectionRenderer/v2/FilterComponent.tsx
3861
- var import_components24 = require("@transferwise/components");
3807
+ var import_components23 = require("@transferwise/components");
3862
3808
  var import_classnames12 = __toESM(require_classnames());
3863
- var import_react11 = require("react");
3864
- var import_jsx_runtime46 = require("react/jsx-runtime");
3809
+ var import_react10 = require("react");
3810
+ var import_jsx_runtime45 = require("react/jsx-runtime");
3865
3811
  var FiltersComponent2 = (props) => {
3866
3812
  const _a = props, { Filter } = _a, collectionProps = __objRest(_a, ["Filter"]);
3867
3813
  const { state, depth, tags } = collectionProps;
3868
3814
  const { filters, status, search } = state;
3869
3815
  const isForked = depth > 0;
3870
3816
  const isSearching = status.type === "loading" && status.reason === "search";
3871
- const [searchedStateId, setSearchedStateId] = (0, import_react11.useState)();
3817
+ const [searchedStateId, setSearchedStateId] = (0, import_react10.useState)();
3872
3818
  if (isForked && !isSearching && (search == null ? void 0 : search.query) && searchedStateId !== state.id) {
3873
3819
  setSearchedStateId(state.id);
3874
3820
  }
3821
+ const showDivider = (search == null ? void 0 : search.query) === "" && (tags == null ? void 0 : tags.includes("filter-divider"));
3875
3822
  const isFirstSearchPending = isForked && isSearching && searchedStateId !== state.id;
3876
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3823
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3877
3824
  "div",
3878
3825
  {
3879
- className: (0, import_classnames12.default)("df-filters-collapsible", {
3826
+ className: (0, import_classnames12.default)("df-filters-collapsible m-t-5", {
3880
3827
  "df-filters-collapsible--hidden": isFirstSearchPending
3881
3828
  }),
3882
3829
  "aria-hidden": isFirstSearchPending,
3883
3830
  inert: isFirstSearchPending,
3884
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "df-filters-collapsible-content", children: [
3885
- (tags == null ? void 0 : tags.includes("filter-divider")) && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_components24.Divider, { className: "m-b-3", level: "subsection" }),
3886
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: (0, import_classnames12.default)("df-filters-container", { "df-filter-loader": isSearching }), children: filters.map((filter) => {
3831
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "df-filters-collapsible-content", children: [
3832
+ showDivider && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_components23.Divider, { className: "m-b-4", level: "subsection" }),
3833
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: (0, import_classnames12.default)("df-filters-container", { "df-filter-loader": isSearching }), children: filters.map((filter) => {
3887
3834
  var _a2;
3888
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3835
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3889
3836
  Filter,
3890
3837
  __spreadProps(__spreadValues({}, collectionProps), {
3891
3838
  filter
@@ -3907,8 +3854,8 @@ var FilterComponent2 = ({
3907
3854
  if (!options) {
3908
3855
  return null;
3909
3856
  }
3910
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3911
- import_components24.Chips,
3857
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3858
+ import_components23.Chips,
3912
3859
  {
3913
3860
  className: "m-b-1",
3914
3861
  multiple: multiSelect,
@@ -3936,10 +3883,66 @@ var FilterComponent2 = ({
3936
3883
  };
3937
3884
 
3938
3885
  // ../renderers/src/CollectionRenderer/v2/SearchComponent.tsx
3939
- var import_components25 = require("@transferwise/components");
3886
+ var import_components24 = require("@transferwise/components");
3940
3887
  var import_icons2 = require("@transferwise/icons");
3941
3888
  var import_react12 = require("react");
3942
3889
  var import_react_intl13 = require("react-intl");
3890
+
3891
+ // ../renderers/src/CollectionRenderer/v2/AnimatedSearchHint.tsx
3892
+ var import_classnames13 = __toESM(require_classnames());
3893
+ var import_react11 = require("react");
3894
+ var import_react_intl12 = require("react-intl");
3895
+ var import_jsx_runtime46 = require("react/jsx-runtime");
3896
+ var STEP_DURATION = 3e3;
3897
+ var AnimatedSearchHint = ({ hints }) => {
3898
+ const { prefix: prefix2, words, allWords } = useSearchHints(hints);
3899
+ const [step, setStep] = (0, import_react11.useState)(0);
3900
+ (0, import_react11.useEffect)(() => {
3901
+ const interval = setInterval(() => setStep((current) => current + 1), STEP_DURATION);
3902
+ return () => clearInterval(interval);
3903
+ }, []);
3904
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
3905
+ "span",
3906
+ {
3907
+ "aria-hidden": true,
3908
+ className: "df-search-hint np-text-body-large",
3909
+ "data-testid": "collection-search-hint",
3910
+ children: [
3911
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "df-search-hint-prefix", children: prefix2 }),
3912
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "df-search-hint-viewport", children: [...words, allWords].map((word, index) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3913
+ "span",
3914
+ {
3915
+ className: (0, import_classnames13.default)("df-search-hint-word", {
3916
+ "df-search-hint-word--current": index === step,
3917
+ "df-search-hint-word--past": index < step
3918
+ }),
3919
+ children: word
3920
+ },
3921
+ word
3922
+ )) })
3923
+ ]
3924
+ }
3925
+ );
3926
+ };
3927
+ var useSearchHints = (hints) => {
3928
+ var _a;
3929
+ const { formatList } = (0, import_react_intl12.useIntl)();
3930
+ if (hints.length < 2) {
3931
+ return { prefix: "", words: [], allWords: "", placeholder: (_a = hints[0]) != null ? _a : "" };
3932
+ }
3933
+ const [hintPrefix, ...words] = hints;
3934
+ const prefix2 = `${hintPrefix} `;
3935
+ const allWords = formatList(words, { type: "disjunction" });
3936
+ return { prefix: prefix2, words, allWords, placeholder: `${prefix2}${allWords}` };
3937
+ };
3938
+
3939
+ // ../renderers/src/utils/prefersReducedMotion.ts
3940
+ var REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
3941
+ var prefersReducedMotion = () => {
3942
+ return typeof window !== "undefined" && window.matchMedia(REDUCED_MOTION_QUERY).matches;
3943
+ };
3944
+
3945
+ // ../renderers/src/CollectionRenderer/v2/SearchComponent.tsx
3943
3946
  var import_jsx_runtime47 = require("react/jsx-runtime");
3944
3947
  var SearchComponent2 = ({
3945
3948
  state,
@@ -3948,34 +3951,34 @@ var SearchComponent2 = ({
3948
3951
  pop,
3949
3952
  features,
3950
3953
  control,
3951
- tags
3954
+ tags,
3955
+ onSearchChange
3952
3956
  }) => {
3953
- var _a;
3957
+ var _a, _b, _c;
3954
3958
  const { search } = state;
3955
3959
  const { formatMessage } = (0, import_react_intl13.useIntl)();
3956
3960
  const inputRef = (0, import_react12.useRef)(null);
3961
+ const { words, placeholder } = useSearchHints((_a = search == null ? void 0 : search.hints) != null ? _a : []);
3957
3962
  if (!search) {
3958
3963
  return;
3959
3964
  }
3960
- const isForked = depth > 0;
3965
+ const showAnimatedHint = !search.query && !prefersReducedMotion() && words.length > 1;
3961
3966
  const getAddon = () => {
3962
3967
  if (state.status.type === "loading") {
3963
- return { content: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_components25.ProcessIndicator, { size: "xs", "data-testid": "collection-search-loader" }) };
3968
+ return { content: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_components24.ProcessIndicator, { size: "xs", "data-testid": "collection-search-loader" }) };
3964
3969
  }
3965
3970
  if (search.query) {
3966
3971
  return {
3967
3972
  interactive: true,
3968
3973
  content: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3969
- import_components25.IconButton,
3974
+ import_components24.IconButton,
3970
3975
  {
3971
3976
  priority: "minimal",
3972
3977
  size: 24,
3973
3978
  "aria-label": formatMessage(collection_messages_default.clearTextLabel),
3974
3979
  onClick: () => {
3975
- var _a2;
3976
- search.onChange("");
3980
+ onSearchChange("");
3977
3981
  pop();
3978
- (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
3979
3982
  },
3980
3983
  children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_icons2.CrossCircleFill, {})
3981
3984
  }
@@ -3995,51 +3998,133 @@ var SearchComponent2 = ({
3995
3998
  features,
3996
3999
  control,
3997
4000
  tags,
3998
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_components25.InputGroup, { addonStart: { content: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_icons2.Search, { size: 24 }) }, addonEnd: getAddon(), children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3999
- import_components25.Input,
4001
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
4002
+ import_components24.InputGroup,
4000
4003
  {
4001
- ref: inputRef,
4002
- id: "search",
4003
- name: "search",
4004
- shape: "pill",
4005
- placeholder: (_a = search.hints) == null ? void 0 : _a[0],
4006
- type: "text",
4007
- value: search.query,
4008
- onChange: ({ currentTarget: { value } }) => {
4009
- if (isForked && value === "") {
4010
- pop();
4011
- return;
4012
- }
4013
- if (value && !isForked) {
4014
- fork();
4015
- }
4016
- search.onChange(value);
4017
- }
4004
+ addonStart: { content: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_icons2.Search, { size: 24 }), initialContentWidth: 24 },
4005
+ addonEnd: getAddon(),
4006
+ children: [
4007
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4008
+ import_components24.Input,
4009
+ {
4010
+ ref: inputRef,
4011
+ id: "search",
4012
+ name: "search",
4013
+ shape: "pill",
4014
+ "aria-label": (_b = search.title) != null ? _b : placeholder,
4015
+ placeholder: showAnimatedHint ? "" : placeholder,
4016
+ type: "text",
4017
+ value: search.query,
4018
+ onChange: ({ currentTarget: { value } }) => {
4019
+ if (depth === 0) {
4020
+ fork();
4021
+ }
4022
+ onSearchChange(value);
4023
+ if (value === "") {
4024
+ pop();
4025
+ }
4026
+ }
4027
+ }
4028
+ ),
4029
+ showAnimatedHint && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(AnimatedSearchHint, { hints: (_c = search.hints) != null ? _c : [] })
4030
+ ]
4018
4031
  }
4019
- ) })
4032
+ )
4020
4033
  }
4021
4034
  );
4022
4035
  };
4023
4036
 
4037
+ // ../renderers/src/CollectionRenderer/components/CollapsibleContentComponent.tsx
4038
+ var import_react13 = require("react");
4039
+ var import_components25 = require("@transferwise/components");
4040
+ var import_react_intl14 = require("react-intl");
4041
+ var import_jsx_runtime48 = require("react/jsx-runtime");
4042
+ var CollapsibleContentComponent = (props) => {
4043
+ const { state, SectionHeader, Item } = props;
4044
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
4045
+ state.beforeSections,
4046
+ state.sections.map((section) => {
4047
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Section, { section, SectionHeader, Item }, section.id);
4048
+ }),
4049
+ state.afterSections
4050
+ ] });
4051
+ };
4052
+ var Section = ({ section, SectionHeader, Item }) => {
4053
+ const { formatMessage } = (0, import_react_intl14.useIntl)();
4054
+ const [expanded, setExpanded] = (0, import_react13.useState)(false);
4055
+ const itemIds = section.type === "items" ? section.items.map(({ id }) => id).join("") : section.id;
4056
+ const [prevItemIds, setPrevItemIds] = (0, import_react13.useState)(itemIds);
4057
+ if (itemIds !== prevItemIds) {
4058
+ setExpanded(false);
4059
+ setPrevItemIds(itemIds);
4060
+ }
4061
+ const showLoadMore = section.type === "items" && section.items.some((item) => {
4062
+ var _a;
4063
+ return (_a = item.tags) == null ? void 0 : _a.includes("hidden");
4064
+ });
4065
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
4066
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SectionHeader, __spreadValues({}, section)),
4067
+ section.type === "items" && section.items.filter((item) => {
4068
+ var _a;
4069
+ return expanded || !((_a = item.tags) == null ? void 0 : _a.includes("hidden"));
4070
+ }).map((item) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Item, __spreadValues({}, item), item.id)),
4071
+ section.type === "layout" && section.children,
4072
+ showLoadMore ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4073
+ import_components25.Button,
4074
+ {
4075
+ priority: "tertiary",
4076
+ onClick: () => {
4077
+ setExpanded(!expanded);
4078
+ },
4079
+ children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("span", { children: [
4080
+ formatMessage(collection_messages_default.showLessResultsButton),
4081
+ " "
4082
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { children: formatMessage(collection_messages_default.showMoreResultsButton, { count: section.items.length }) })
4083
+ }
4084
+ ) : void 0
4085
+ ] });
4086
+ };
4087
+
4088
+ // ../renderers/src/CollectionRenderer/v2/createContactsCollectionRenderer.tsx
4089
+ var import_jsx_runtime49 = require("react/jsx-runtime");
4090
+ var createContactsCollectionRenderer = (canRender, components) => {
4091
+ const componentsWithDefaults = __spreadValues({
4092
+ Search: SearchComponent2,
4093
+ AfterSearch: () => null,
4094
+ Filters: FiltersComponent2,
4095
+ Filter: FilterComponent2,
4096
+ Item: ItemComponent,
4097
+ SectionHeader: SectionHeaderComponent,
4098
+ Results: (props) => {
4099
+ const { depth } = props;
4100
+ return depth > 0 ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(CollapsibleContentComponent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(VirtualisedContentComponent, __spreadValues({}, props));
4101
+ }
4102
+ }, components);
4103
+ return {
4104
+ canRenderType: "collection",
4105
+ canRender,
4106
+ render: (props) => {
4107
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(CollectionRendererComponent, __spreadValues(__spreadValues({}, props), componentsWithDefaults));
4108
+ }
4109
+ };
4110
+ };
4111
+
4024
4112
  // ../renderers/src/CollectionRenderer/v2/CollectionRendererV2.tsx
4025
- var CollectionRendererV2 = createCollectionRenderer(
4026
- ({ control }) => control === "contacts-collection-v2",
4027
- { Search: SearchComponent2, Filters: FiltersComponent2, Filter: FilterComponent2 }
4028
- );
4029
- var CollectionRendererV2_default = CollectionRendererV2;
4113
+ var ContactsCollectionRenderer = createContactsCollectionRenderer(({ control }) => control === "contacts-collection-v2");
4114
+ var CollectionRendererV2_default = ContactsCollectionRenderer;
4030
4115
 
4031
4116
  // ../renderers/src/ColumnsRenderer.tsx
4032
- var import_classnames13 = __toESM(require_classnames());
4117
+ var import_classnames14 = __toESM(require_classnames());
4033
4118
 
4034
4119
  // ../renderers/src/utils/useIsCollapsed.ts
4035
- var import_react13 = require("react");
4120
+ var import_react14 = require("react");
4036
4121
  var COLLAPSE_QUERY = "(max-width: 767.98px)";
4037
4122
  var supportsMatchMedia = () => typeof window !== "undefined" && !!window.matchMedia;
4038
4123
  var useIsCollapsed = () => {
4039
- const [collapsed, setCollapsed] = (0, import_react13.useState)(
4124
+ const [collapsed, setCollapsed] = (0, import_react14.useState)(
4040
4125
  () => supportsMatchMedia() && window.matchMedia(COLLAPSE_QUERY).matches
4041
4126
  );
4042
- (0, import_react13.useEffect)(() => {
4127
+ (0, import_react14.useEffect)(() => {
4043
4128
  if (supportsMatchMedia()) {
4044
4129
  const mql = window.matchMedia(COLLAPSE_QUERY);
4045
4130
  const update = () => setCollapsed(mql.matches);
@@ -4052,7 +4137,7 @@ var useIsCollapsed = () => {
4052
4137
  };
4053
4138
 
4054
4139
  // ../renderers/src/ColumnsRenderer.tsx
4055
- var import_jsx_runtime48 = require("react/jsx-runtime");
4140
+ var import_jsx_runtime50 = require("react/jsx-runtime");
4056
4141
  var RIGHT_FIRST_STACKING = "right-first-stacking";
4057
4142
  var ColumnsRenderer = {
4058
4143
  canRenderType: "columns",
@@ -4063,12 +4148,12 @@ function ColumnsRendererComponent(props) {
4063
4148
  const { bias, margin, startChildren, endChildren, tags } = props;
4064
4149
  const isCollapsed = useIsCollapsed();
4065
4150
  const reverse = isCollapsed && ((_a = tags == null ? void 0 : tags.includes(RIGHT_FIRST_STACKING)) != null ? _a : false);
4066
- const startColumn = /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "df-columns-renderer-column", children: startChildren });
4067
- const endColumn = /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "df-columns-renderer-column", children: endChildren });
4068
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
4151
+ const startColumn = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "df-columns-renderer-column", children: startChildren });
4152
+ const endColumn = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "df-columns-renderer-column", children: endChildren });
4153
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
4069
4154
  "div",
4070
4155
  {
4071
- className: (0, import_classnames13.default)(
4156
+ className: (0, import_classnames14.default)(
4072
4157
  "df-columns-renderer-container",
4073
4158
  getMargin(margin),
4074
4159
  {
@@ -4118,12 +4203,12 @@ var dateToDateString = (date) => {
4118
4203
  var import_components26 = require("@transferwise/components");
4119
4204
 
4120
4205
  // ../renderers/src/hooks/useAvailabilityRules.ts
4121
- var import_react14 = require("react");
4122
- var import_react_intl15 = require("react-intl");
4206
+ var import_react15 = require("react");
4207
+ var import_react_intl16 = require("react-intl");
4123
4208
 
4124
4209
  // ../renderers/src/messages/date-input.messages.ts
4125
- var import_react_intl14 = require("react-intl");
4126
- var date_input_messages_default = (0, import_react_intl14.defineMessages)({
4210
+ var import_react_intl15 = require("react-intl");
4211
+ var date_input_messages_default = (0, import_react_intl15.defineMessages)({
4127
4212
  unavailableDates: {
4128
4213
  id: "df.wise.DateInput.unavailableDates",
4129
4214
  defaultMessage: "Some dates are unavailable.",
@@ -4134,8 +4219,8 @@ var date_input_messages_default = (0, import_react_intl14.defineMessages)({
4134
4219
  // ../renderers/src/hooks/useAvailabilityRules.ts
4135
4220
  var useAvailabilityRules = (availability) => {
4136
4221
  var _a, _b;
4137
- const { formatMessage } = (0, import_react_intl15.useIntl)();
4138
- const [focusedDate, setFocusedDate] = (0, import_react14.useState)(null);
4222
+ const { formatMessage } = (0, import_react_intl16.useIntl)();
4223
+ const [focusedDate, setFocusedDate] = (0, import_react15.useState)(null);
4139
4224
  const unavailableMessage = (_b = (_a = focusedDate ? getUnavailableDateReason(focusedDate, availability) : null) != null ? _a : availability == null ? void 0 : availability.message) != null ? _b : formatMessage(date_input_messages_default.unavailableDates);
4140
4225
  const onDateSelect = ({ date }) => {
4141
4226
  setFocusedDate((current) => (current == null ? void 0 : current.getTime()) === date.getTime() ? current : date);
@@ -4187,7 +4272,7 @@ var matchesDateRule = (date, weekday, rule) => {
4187
4272
  var isDate = (date) => date !== null;
4188
4273
 
4189
4274
  // ../renderers/src/DateInputRenderer/DateLookupControl.tsx
4190
- var import_jsx_runtime49 = require("react/jsx-runtime");
4275
+ var import_jsx_runtime51 = require("react/jsx-runtime");
4191
4276
  var DateLookupControl = ({
4192
4277
  value,
4193
4278
  minimumDate,
@@ -4200,7 +4285,7 @@ var DateLookupControl = ({
4200
4285
  onFocus
4201
4286
  }) => {
4202
4287
  const { disabledRules, onDateSelect, resetFocusedDate } = useAvailabilityRules(availability);
4203
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4288
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4204
4289
  import_components26.DateLookup,
4205
4290
  {
4206
4291
  value: dateStringToDateOrNull(value),
@@ -4224,7 +4309,7 @@ var DateLookupControl = ({
4224
4309
 
4225
4310
  // ../renderers/src/DateInputRenderer/CalendarControl.tsx
4226
4311
  var import_components27 = require("@transferwise/components");
4227
- var import_jsx_runtime50 = require("react/jsx-runtime");
4312
+ var import_jsx_runtime52 = require("react/jsx-runtime");
4228
4313
  var CalendarControl = ({
4229
4314
  id,
4230
4315
  title,
@@ -4247,7 +4332,7 @@ var CalendarControl = ({
4247
4332
  };
4248
4333
  return (
4249
4334
  // Wrapping in a <fieldset> to address some a11y gaps in the current inline Calendar component
4250
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4335
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
4251
4336
  "fieldset",
4252
4337
  {
4253
4338
  id,
@@ -4264,7 +4349,7 @@ var CalendarControl = ({
4264
4349
  onBlur();
4265
4350
  }
4266
4351
  },
4267
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4352
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
4268
4353
  import_components27.Calendar,
4269
4354
  {
4270
4355
  value: dateStringToDateOrNull(value),
@@ -4284,10 +4369,10 @@ var CalendarControl = ({
4284
4369
 
4285
4370
  // ../renderers/src/DateInputRenderer/DateInputControl.tsx
4286
4371
  var import_components28 = require("@transferwise/components");
4287
- var import_jsx_runtime51 = require("react/jsx-runtime");
4372
+ var import_jsx_runtime53 = require("react/jsx-runtime");
4288
4373
  var DateInputControl = (_a) => {
4289
4374
  var _b = _a, { autoComplete } = _b, props = __objRest(_b, ["autoComplete"]);
4290
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4375
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
4291
4376
  import_components28.DateInput,
4292
4377
  __spreadProps(__spreadValues({}, props), {
4293
4378
  dayAutoComplete: getAutocompleteString(autoComplete, "day"),
@@ -4303,7 +4388,7 @@ var getAutocompleteString = (value, suffix) => {
4303
4388
  };
4304
4389
 
4305
4390
  // ../renderers/src/DateInputRenderer/DateInputRenderer.tsx
4306
- var import_jsx_runtime52 = require("react/jsx-runtime");
4391
+ var import_jsx_runtime54 = require("react/jsx-runtime");
4307
4392
  var DateInputRenderer = {
4308
4393
  canRenderType: "input-date",
4309
4394
  render: (props) => {
@@ -4337,7 +4422,7 @@ var DateInputRenderer = {
4337
4422
  }
4338
4423
  return DateInputControl;
4339
4424
  })();
4340
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
4425
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4341
4426
  FieldInput_default,
4342
4427
  {
4343
4428
  id,
@@ -4350,7 +4435,7 @@ var DateInputRenderer = {
4350
4435
  features: props.features,
4351
4436
  control,
4352
4437
  tags: props.tags,
4353
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(UIComponent, __spreadValues({}, inputProps))
4438
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(UIComponent, __spreadValues({}, inputProps))
4354
4439
  }
4355
4440
  );
4356
4441
  }
@@ -4362,12 +4447,12 @@ var import_components31 = require("@transferwise/components");
4362
4447
 
4363
4448
  // ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
4364
4449
  var import_components30 = require("@transferwise/components");
4365
- var import_react15 = require("react");
4366
- var import_react_intl19 = require("react-intl");
4450
+ var import_react16 = require("react");
4451
+ var import_react_intl20 = require("react-intl");
4367
4452
 
4368
4453
  // ../renderers/src/messages/filter.messages.ts
4369
- var import_react_intl16 = require("react-intl");
4370
- var filter_messages_default = (0, import_react_intl16.defineMessages)({
4454
+ var import_react_intl17 = require("react-intl");
4455
+ var filter_messages_default = (0, import_react_intl17.defineMessages)({
4371
4456
  placeholder: {
4372
4457
  id: "df.wise.filter.placeholder",
4373
4458
  defaultMessage: "Start typing to search",
@@ -4434,11 +4519,11 @@ var normalizeAndRemoveAccents = (text) => text.trim().toLowerCase().normalize("N
4434
4519
 
4435
4520
  // ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
4436
4521
  var import_components29 = require("@transferwise/components");
4437
- var import_react_intl18 = require("react-intl");
4522
+ var import_react_intl19 = require("react-intl");
4438
4523
 
4439
4524
  // ../renderers/src/messages/group.messages.ts
4440
- var import_react_intl17 = require("react-intl");
4441
- var group_messages_default = (0, import_react_intl17.defineMessages)({
4525
+ var import_react_intl18 = require("react-intl");
4526
+ var group_messages_default = (0, import_react_intl18.defineMessages)({
4442
4527
  all: {
4443
4528
  id: "df.wise.group.all",
4444
4529
  defaultMessage: "All",
@@ -4472,18 +4557,18 @@ var getGroupsFromTags = (knownTags, items) => {
4472
4557
  };
4473
4558
 
4474
4559
  // ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
4475
- var import_jsx_runtime53 = require("react/jsx-runtime");
4560
+ var import_jsx_runtime55 = require("react/jsx-runtime");
4476
4561
  var groupingTags = Object.keys(group_messages_default).filter((key) => key !== "all");
4477
4562
  var isGroupedDecision = (options) => {
4478
4563
  return getGroupsFromTags(groupingTags, options).length > 0;
4479
4564
  };
4480
4565
  var GroupedDecisionList = (_a) => {
4481
4566
  var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
4482
- const { formatMessage } = (0, import_react_intl18.useIntl)();
4567
+ const { formatMessage } = (0, import_react_intl19.useIntl)();
4483
4568
  const { options } = rest;
4484
4569
  const itemsByTag = [...getGroupsFromTags(groupingTags, options), { tag: "all", items: options }];
4485
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_jsx_runtime53.Fragment, { children: itemsByTag.map(({ tag, items }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_components29.Section, { children: [
4486
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
4570
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_jsx_runtime55.Fragment, { children: itemsByTag.map(({ tag, items }) => /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_components29.Section, { children: [
4571
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
4487
4572
  import_components29.Header,
4488
4573
  {
4489
4574
  as: "h2",
@@ -4495,27 +4580,27 @@ var GroupedDecisionList = (_a) => {
4495
4580
  };
4496
4581
 
4497
4582
  // ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
4498
- var import_classnames14 = __toESM(require_classnames());
4499
- var import_jsx_runtime54 = require("react/jsx-runtime");
4583
+ var import_classnames15 = __toESM(require_classnames());
4584
+ var import_jsx_runtime56 = require("react/jsx-runtime");
4500
4585
  var DecisionWrapper = (props) => {
4501
4586
  const { margin, control, title, tags } = props;
4502
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: (0, import_classnames14.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
4503
- title && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_components30.Header, { as: "h2", title }),
4504
- control === "filtered" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(FilteredDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(UnfilteredDecisionList, __spreadValues({}, props))
4587
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: (0, import_classnames15.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
4588
+ title && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_components30.Header, { as: "h2", title }),
4589
+ control === "filtered" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FilteredDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(UnfilteredDecisionList, __spreadValues({}, props))
4505
4590
  ] });
4506
4591
  };
4507
4592
  var UnfilteredDecisionList = (_a) => {
4508
4593
  var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
4509
- return isGroupedDecision(rest.options) ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(GroupedDecisionList, __spreadProps(__spreadValues({}, rest), { renderDecisionList: renderDecisionList2 })) : renderDecisionList2(rest);
4594
+ return isGroupedDecision(rest.options) ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(GroupedDecisionList, __spreadProps(__spreadValues({}, rest), { renderDecisionList: renderDecisionList2 })) : renderDecisionList2(rest);
4510
4595
  };
4511
4596
  var FilteredDecisionList = (props) => {
4512
- const { formatMessage } = (0, import_react_intl19.useIntl)();
4513
- const [query, setQuery] = (0, import_react15.useState)("");
4597
+ const { formatMessage } = (0, import_react_intl20.useIntl)();
4598
+ const [query, setQuery] = (0, import_react16.useState)("");
4514
4599
  const { control, options, renderDecisionList: renderDecisionList2 } = props;
4515
4600
  const filteredOptions = (query == null ? void 0 : query.length) > 0 ? filterAndSortItems(options, query) : options;
4516
4601
  const isGrouped = isGroupedDecision(options);
4517
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
4518
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4602
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
4603
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
4519
4604
  import_components30.SearchInput,
4520
4605
  {
4521
4606
  placeholder: formatMessage(filter_messages_default.placeholder),
@@ -4527,25 +4612,25 @@ var FilteredDecisionList = (props) => {
4527
4612
  }
4528
4613
  }
4529
4614
  ),
4530
- isGrouped && query.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(GroupedDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
4531
- query.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_components30.Header, { as: "h2", title: formatMessage(filter_messages_default.results), className: "m-t-4" }),
4615
+ isGrouped && query.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(GroupedDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
4616
+ query.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_components30.Header, { as: "h2", title: formatMessage(filter_messages_default.results), className: "m-t-4" }),
4532
4617
  filteredOptions.length > 0 ? renderDecisionList2({
4533
4618
  control,
4534
4619
  className: query.length === 0 ? "m-t-3" : "",
4535
4620
  options: filteredOptions
4536
- }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { children: formatMessage(filter_messages_default.noResults) })
4621
+ }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { children: formatMessage(filter_messages_default.noResults) })
4537
4622
  ] })
4538
4623
  ] });
4539
4624
  };
4540
4625
 
4541
4626
  // ../renderers/src/DecisionRenderer/DecisionRenderer.tsx
4542
- var import_jsx_runtime55 = require("react/jsx-runtime");
4627
+ var import_jsx_runtime57 = require("react/jsx-runtime");
4543
4628
  var DecisionRenderer = {
4544
4629
  canRenderType: "decision",
4545
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList }))
4630
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList }))
4546
4631
  };
4547
4632
  var renderDecisionList = ({ options, control }) => {
4548
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_jsx_runtime55.Fragment, { children: options.map((_a) => {
4633
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_jsx_runtime57.Fragment, { children: options.map((_a) => {
4549
4634
  var _b = _a, { onClick } = _b, rest = __objRest(_b, ["onClick"]);
4550
4635
  const {
4551
4636
  description,
@@ -4558,7 +4643,7 @@ var renderDecisionList = ({ options, control }) => {
4558
4643
  supportingValues,
4559
4644
  tags
4560
4645
  } = rest;
4561
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
4646
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4562
4647
  import_components31.ListItem,
4563
4648
  {
4564
4649
  title: itemTitle,
@@ -4570,7 +4655,7 @@ var renderDecisionList = ({ options, control }) => {
4570
4655
  media: getMedia(media, shouldUseAvatar(control, tags)),
4571
4656
  prompt: getInlineAlert(inlineAlert),
4572
4657
  additionalInfo: additionalText ? getAdditionalInfo({ text: additionalText }) : void 0,
4573
- control: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_components31.ListItem.Navigation, __spreadValues({}, getAnchorProps()))
4658
+ control: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components31.ListItem.Navigation, __spreadValues({}, getAnchorProps()))
4574
4659
  },
4575
4660
  JSON.stringify(rest)
4576
4661
  );
@@ -4580,8 +4665,8 @@ var DecisionRenderer_default = DecisionRenderer;
4580
4665
 
4581
4666
  // ../renderers/src/DividerRenderer.tsx
4582
4667
  var import_components32 = require("@transferwise/components");
4583
- var import_classnames15 = __toESM(require_classnames());
4584
- var import_jsx_runtime56 = require("react/jsx-runtime");
4668
+ var import_classnames16 = __toESM(require_classnames());
4669
+ var import_jsx_runtime58 = require("react/jsx-runtime");
4585
4670
  var mapControlToLevel = (control) => {
4586
4671
  switch (control) {
4587
4672
  case "section":
@@ -4594,10 +4679,10 @@ var mapControlToLevel = (control) => {
4594
4679
  };
4595
4680
  var DividerRenderer = {
4596
4681
  canRenderType: "divider",
4597
- render: ({ margin, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
4682
+ render: ({ margin, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
4598
4683
  import_components32.Divider,
4599
4684
  {
4600
- className: (0, import_classnames15.default)(
4685
+ className: (0, import_classnames16.default)(
4601
4686
  "m-t-0",
4602
4687
  "d-block",
4603
4688
  getMargin(margin),
@@ -4613,8 +4698,8 @@ var DividerRenderer_default = DividerRenderer;
4613
4698
  var import_components33 = require("@transferwise/components");
4614
4699
 
4615
4700
  // ../renderers/src/messages/external-confirmation.messages.ts
4616
- var import_react_intl20 = require("react-intl");
4617
- var external_confirmation_messages_default = (0, import_react_intl20.defineMessages)({
4701
+ var import_react_intl21 = require("react-intl");
4702
+ var external_confirmation_messages_default = (0, import_react_intl21.defineMessages)({
4618
4703
  title: {
4619
4704
  id: "df.wise.ExternalConfirmation.title",
4620
4705
  defaultMessage: "Please confirm",
@@ -4638,9 +4723,9 @@ var external_confirmation_messages_default = (0, import_react_intl20.defineMessa
4638
4723
  });
4639
4724
 
4640
4725
  // ../renderers/src/ExternalConfirmationRenderer.tsx
4641
- var import_react_intl21 = require("react-intl");
4642
- var import_react16 = require("react");
4643
- var import_jsx_runtime57 = require("react/jsx-runtime");
4726
+ var import_react_intl22 = require("react-intl");
4727
+ var import_react17 = require("react");
4728
+ var import_jsx_runtime59 = require("react/jsx-runtime");
4644
4729
  var ExternalConfirmationRenderer = {
4645
4730
  canRenderType: "external-confirmation",
4646
4731
  render: ExternalConfirmationRendererComponent
@@ -4653,19 +4738,19 @@ function ExternalConfirmationRendererComponent({
4653
4738
  control,
4654
4739
  tags
4655
4740
  }) {
4656
- const { formatMessage } = (0, import_react_intl21.useIntl)();
4657
- (0, import_react16.useEffect)(() => {
4741
+ const { formatMessage } = (0, import_react_intl22.useIntl)();
4742
+ (0, import_react17.useEffect)(() => {
4658
4743
  open();
4659
4744
  }, []);
4660
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4745
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4661
4746
  import_components33.Modal,
4662
4747
  {
4663
4748
  open: visible,
4664
4749
  title: formatMessage(external_confirmation_messages_default.title),
4665
- body: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
4666
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components33.Markdown, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin(url) }) }),
4667
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "df-box-renderer-width-lg", children: [
4668
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4750
+ body: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
4751
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_components33.Markdown, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin(url) }) }),
4752
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "df-box-renderer-width-lg", children: [
4753
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4669
4754
  import_components33.Button,
4670
4755
  {
4671
4756
  v2: true,
@@ -4679,7 +4764,7 @@ function ExternalConfirmationRendererComponent({
4679
4764
  children: formatMessage(external_confirmation_messages_default.open)
4680
4765
  }
4681
4766
  ),
4682
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components33.Button, { v2: true, block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onCancel, children: formatMessage(external_confirmation_messages_default.cancel) })
4767
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_components33.Button, { v2: true, block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onCancel, children: formatMessage(external_confirmation_messages_default.cancel) })
4683
4768
  ] }) })
4684
4769
  ] }),
4685
4770
  className: controlAndTagsToCSSClass({ control, tags }),
@@ -4697,28 +4782,28 @@ function getOrigin(url) {
4697
4782
  var ExternalConfirmationRenderer_default = ExternalConfirmationRenderer;
4698
4783
 
4699
4784
  // ../renderers/src/FormRenderer.tsx
4700
- var import_classnames16 = __toESM(require_classnames());
4701
- var import_jsx_runtime58 = require("react/jsx-runtime");
4785
+ var import_classnames17 = __toESM(require_classnames());
4786
+ var import_jsx_runtime60 = require("react/jsx-runtime");
4702
4787
  var FormRenderer = {
4703
4788
  canRenderType: "form",
4704
- render: ({ children, margin, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: (0, import_classnames16.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children })
4789
+ render: ({ children, margin, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: (0, import_classnames17.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children })
4705
4790
  };
4706
4791
  var FormRenderer_default = FormRenderer;
4707
4792
 
4708
4793
  // ../renderers/src/FormSectionRenderer.tsx
4709
4794
  var import_components34 = require("@transferwise/components");
4710
- var import_jsx_runtime59 = require("react/jsx-runtime");
4795
+ var import_jsx_runtime61 = require("react/jsx-runtime");
4711
4796
  var FormSectionRenderer = {
4712
4797
  canRenderType: "form-section",
4713
- render: ({ title, description, children, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("fieldset", { className: controlAndTagsToCSSClass({ control, tags }), children: [
4714
- title && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4798
+ render: ({ title, description, children, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("fieldset", { className: controlAndTagsToCSSClass({ control, tags }), children: [
4799
+ title && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4715
4800
  import_components34.Header,
4716
4801
  {
4717
4802
  as: "h2",
4718
4803
  title
4719
4804
  }
4720
4805
  ),
4721
- description && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { children: description }),
4806
+ description && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { children: description }),
4722
4807
  children
4723
4808
  ] })
4724
4809
  };
@@ -4726,22 +4811,22 @@ var FormSectionRenderer_default = FormSectionRenderer;
4726
4811
 
4727
4812
  // ../renderers/src/HeadingRenderer.tsx
4728
4813
  var import_components35 = require("@transferwise/components");
4729
- var import_classnames17 = __toESM(require_classnames());
4730
- var import_jsx_runtime60 = require("react/jsx-runtime");
4814
+ var import_classnames18 = __toESM(require_classnames());
4815
+ var import_jsx_runtime62 = require("react/jsx-runtime");
4731
4816
  var HeadingRenderer = {
4732
4817
  canRenderType: "heading",
4733
4818
  render: Heading
4734
4819
  };
4735
4820
  function Heading(props) {
4736
4821
  const { text, size, align, margin, control } = props;
4737
- const className = (0, import_classnames17.default)(
4822
+ const className = (0, import_classnames18.default)(
4738
4823
  getTextAlignmentAndMargin({ align, margin }),
4739
4824
  controlAndTagsToCSSClass(props)
4740
4825
  );
4741
- return control === "display" ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(DisplayHeading, { size, text, className }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(StandardHeading, { size, text, className });
4826
+ return control === "display" ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DisplayHeading, { size, text, className }) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(StandardHeading, { size, text, className });
4742
4827
  }
4743
4828
  function DisplayHeading({ size, text, className }) {
4744
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components35.Display, { type: getDisplayType(size), className, children: text });
4829
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_components35.Display, { type: getDisplayType(size), className, children: text });
4745
4830
  }
4746
4831
  var getDisplayType = (size) => {
4747
4832
  switch (size) {
@@ -4757,7 +4842,7 @@ var getDisplayType = (size) => {
4757
4842
  }
4758
4843
  };
4759
4844
  function StandardHeading({ size, text, className }) {
4760
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components35.Title, { type: getTitleTypeBySize(size), className, children: text });
4845
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_components35.Title, { type: getTitleTypeBySize(size), className, children: text });
4761
4846
  }
4762
4847
  var getTitleTypeBySize = (size) => {
4763
4848
  var _a;
@@ -4774,8 +4859,8 @@ var HeadingRenderer_default = HeadingRenderer;
4774
4859
 
4775
4860
  // ../renderers/src/ImageRenderer/UrlImage.tsx
4776
4861
  var import_components36 = require("@transferwise/components");
4777
- var import_classnames18 = __toESM(require_classnames());
4778
- var import_react17 = require("react");
4862
+ var import_classnames19 = __toESM(require_classnames());
4863
+ var import_react18 = require("react");
4779
4864
 
4780
4865
  // ../renderers/src/utils/api-utils.ts
4781
4866
  function isRelativePath(url = "") {
@@ -4785,7 +4870,7 @@ function isRelativePath(url = "") {
4785
4870
  }
4786
4871
 
4787
4872
  // ../renderers/src/ImageRenderer/UrlImage.tsx
4788
- var import_jsx_runtime61 = require("react/jsx-runtime");
4873
+ var import_jsx_runtime63 = require("react/jsx-runtime");
4789
4874
  function UrlImage({
4790
4875
  accessibilityDescription,
4791
4876
  align,
@@ -4796,23 +4881,23 @@ function UrlImage({
4796
4881
  uri,
4797
4882
  httpClient
4798
4883
  }) {
4799
- const [imageSource, setImageSource] = (0, import_react17.useState)("");
4800
- (0, import_react17.useEffect)(() => {
4884
+ const [imageSource, setImageSource] = (0, import_react18.useState)("");
4885
+ (0, import_react18.useEffect)(() => {
4801
4886
  if (!uri.startsWith("urn:")) {
4802
4887
  void getImageSource(httpClient, uri).then(setImageSource);
4803
4888
  }
4804
4889
  }, [uri, httpClient]);
4805
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4890
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4806
4891
  "div",
4807
4892
  {
4808
- className: (0, import_classnames18.default)(
4893
+ className: (0, import_classnames19.default)(
4809
4894
  "df-image",
4810
4895
  align,
4811
4896
  size || "md",
4812
4897
  getMargin(margin),
4813
4898
  controlAndTagsToCSSClass({ control, tags })
4814
4899
  ),
4815
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4900
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4816
4901
  import_components36.Image,
4817
4902
  {
4818
4903
  className: "df-reserve-space",
@@ -4858,10 +4943,10 @@ var getImageSource = async (httpClient, imageUrl) => {
4858
4943
  };
4859
4944
 
4860
4945
  // ../renderers/src/ImageRenderer/ImageRenderer.tsx
4861
- var import_jsx_runtime62 = require("react/jsx-runtime");
4946
+ var import_jsx_runtime64 = require("react/jsx-runtime");
4862
4947
  var ImageRenderer = {
4863
4948
  canRenderType: "image",
4864
- render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UrnImage, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(UrlImage, __spreadValues({}, props))
4949
+ render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(UrnImage, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(UrlImage, __spreadValues({}, props))
4865
4950
  };
4866
4951
 
4867
4952
  // ../renderers/src/ImageRenderer/index.tsx
@@ -4869,8 +4954,8 @@ var ImageRenderer_default = ImageRenderer;
4869
4954
 
4870
4955
  // ../renderers/src/InstructionsRenderer.tsx
4871
4956
  var import_components37 = require("@transferwise/components");
4872
- var import_classnames19 = __toESM(require_classnames());
4873
- var import_jsx_runtime63 = require("react/jsx-runtime");
4957
+ var import_classnames20 = __toESM(require_classnames());
4958
+ var import_jsx_runtime65 = require("react/jsx-runtime");
4874
4959
  var doContext = ["positive", "neutral", "proposition"];
4875
4960
  var dontContext = ["warning", "negative"];
4876
4961
  var InstructionsRenderer = {
@@ -4878,9 +4963,9 @@ var InstructionsRenderer = {
4878
4963
  render: ({ items, margin, title, control, tags }) => {
4879
4964
  const dos = items.filter((item) => doContext.includes(item.context)).map(({ text }) => text);
4880
4965
  const donts = items.filter((item) => dontContext.includes(item.context)).map(({ text }) => text);
4881
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: (0, import_classnames19.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
4882
- title ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_components37.Header, { title }) : null,
4883
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_components37.InstructionsList, { dos, donts })
4966
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: (0, import_classnames20.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
4967
+ title ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_components37.Header, { title }) : null,
4968
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_components37.InstructionsList, { dos, donts })
4884
4969
  ] });
4885
4970
  }
4886
4971
  };
@@ -4912,7 +4997,7 @@ function pick(obj, ...keys) {
4912
4997
  }
4913
4998
 
4914
4999
  // ../renderers/src/IntegerInputRenderer.tsx
4915
- var import_jsx_runtime64 = require("react/jsx-runtime");
5000
+ var import_jsx_runtime66 = require("react/jsx-runtime");
4916
5001
  var IntegerInputRenderer = {
4917
5002
  canRenderType: "input-integer",
4918
5003
  render: (props) => {
@@ -4927,7 +5012,7 @@ var IntegerInputRenderer = {
4927
5012
  "maximum",
4928
5013
  "minimum"
4929
5014
  );
4930
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5015
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4931
5016
  FieldInput_default,
4932
5017
  {
4933
5018
  id,
@@ -4940,7 +5025,7 @@ var IntegerInputRenderer = {
4940
5025
  features: props.features,
4941
5026
  control: props.control,
4942
5027
  tags: props.tags,
4943
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_components38.InputGroup, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5028
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_components38.InputGroup, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4944
5029
  import_components38.Input,
4945
5030
  __spreadValues({
4946
5031
  id,
@@ -4964,12 +5049,12 @@ var IntegerInputRenderer_default = IntegerInputRenderer;
4964
5049
 
4965
5050
  // ../renderers/src/ListRenderer.tsx
4966
5051
  var import_components40 = require("@transferwise/components");
4967
- var import_classnames20 = __toESM(require_classnames());
5052
+ var import_classnames21 = __toESM(require_classnames());
4968
5053
 
4969
5054
  // ../renderers/src/components/Header.tsx
4970
5055
  var import_components39 = require("@transferwise/components");
4971
- var import_jsx_runtime65 = require("react/jsx-runtime");
4972
- var Header = ({ title, callToAction }) => (title || callToAction) && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_components39.Header, { title: title != null ? title : "", action: getHeaderAction(callToAction) });
5056
+ var import_jsx_runtime67 = require("react/jsx-runtime");
5057
+ var Header = ({ title, callToAction }) => (title || callToAction) && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_components39.Header, { title: title != null ? title : "", action: getHeaderAction(callToAction) });
4973
5058
  var getHeaderAction = (callToAction) => {
4974
5059
  if (!callToAction) {
4975
5060
  return void 0;
@@ -4981,11 +5066,11 @@ var getHeaderAction = (callToAction) => {
4981
5066
  };
4982
5067
 
4983
5068
  // ../renderers/src/ListRenderer.tsx
4984
- var import_jsx_runtime66 = require("react/jsx-runtime");
5069
+ var import_jsx_runtime68 = require("react/jsx-runtime");
4985
5070
  var ListRenderer = {
4986
5071
  canRenderType: "list",
4987
- render: ({ callToAction, control, margin, items, tags, title }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: (0, import_classnames20.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
4988
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Header, { title, callToAction }),
5072
+ render: ({ callToAction, control, margin, items, tags, title }) => /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: (0, import_classnames21.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
5073
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Header, { title, callToAction }),
4989
5074
  items.map((item) => {
4990
5075
  var _a, _b;
4991
5076
  const {
@@ -5002,7 +5087,7 @@ var ListRenderer = {
5002
5087
  ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
5003
5088
  fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
5004
5089
  };
5005
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
5090
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
5006
5091
  import_components40.ListItem,
5007
5092
  {
5008
5093
  title: itemTitle,
@@ -5023,16 +5108,16 @@ var ListRenderer_default = ListRenderer;
5023
5108
 
5024
5109
  // ../renderers/src/LoadingIndicatorRenderer.tsx
5025
5110
  var import_components41 = require("@transferwise/components");
5026
- var import_classnames21 = __toESM(require_classnames());
5027
- var import_jsx_runtime67 = require("react/jsx-runtime");
5111
+ var import_classnames22 = __toESM(require_classnames());
5112
+ var import_jsx_runtime69 = require("react/jsx-runtime");
5028
5113
  var LoadingIndicatorRenderer = {
5029
5114
  canRenderType: "loading-indicator",
5030
- render: ({ size, margin, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5115
+ render: ({ size, margin, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5031
5116
  import_components41.Loader,
5032
5117
  {
5033
5118
  size,
5034
5119
  classNames: {
5035
- "tw-loader": (0, import_classnames21.default)(
5120
+ "tw-loader": (0, import_classnames22.default)(
5036
5121
  "tw-loader",
5037
5122
  "m-x-auto",
5038
5123
  getMargin(margin),
@@ -5047,23 +5132,23 @@ var LoadingIndicatorRenderer_default = LoadingIndicatorRenderer;
5047
5132
 
5048
5133
  // ../renderers/src/MarkdownRenderer.tsx
5049
5134
  var import_components42 = require("@transferwise/components");
5050
- var import_classnames22 = __toESM(require_classnames());
5051
- var import_jsx_runtime68 = require("react/jsx-runtime");
5135
+ var import_classnames23 = __toESM(require_classnames());
5136
+ var import_jsx_runtime70 = require("react/jsx-runtime");
5052
5137
  var MarkdownRenderer = {
5053
5138
  canRenderType: "markdown",
5054
5139
  render: ({ content, align, margin, size, control, tags }) => {
5055
5140
  const isLarge = !["xs", "sm"].includes(size);
5056
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
5141
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5057
5142
  "div",
5058
5143
  {
5059
- className: (0, import_classnames22.default)(
5144
+ className: (0, import_classnames23.default)(
5060
5145
  getTextAlignmentAndMargin({ align, margin }),
5061
5146
  controlAndTagsToCSSClass({ control, tags })
5062
5147
  ),
5063
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
5148
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5064
5149
  import_components42.Markdown,
5065
5150
  {
5066
- className: (0, import_classnames22.default)("df-markdown", {
5151
+ className: (0, import_classnames23.default)("df-markdown", {
5067
5152
  "np-text-body-large": isLarge,
5068
5153
  "np-text-body-default": !isLarge
5069
5154
  }),
@@ -5078,17 +5163,17 @@ var MarkdownRenderer = {
5078
5163
  var MarkdownRenderer_default = MarkdownRenderer;
5079
5164
 
5080
5165
  // ../renderers/src/MediaRenderer.tsx
5081
- var import_classnames23 = __toESM(require_classnames());
5082
- var import_jsx_runtime69 = require("react/jsx-runtime");
5166
+ var import_classnames24 = __toESM(require_classnames());
5167
+ var import_jsx_runtime71 = require("react/jsx-runtime");
5083
5168
  var MediaRenderer = {
5084
5169
  canRenderType: "media",
5085
5170
  render: (_a) => {
5086
5171
  var _b = _a, { media } = _b, rest = __objRest(_b, ["media"]);
5087
5172
  switch (media.type) {
5088
5173
  case "avatar":
5089
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(AvatarMediaRendererComponent, __spreadValues({ media }, rest));
5174
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(AvatarMediaRendererComponent, __spreadValues({ media }, rest));
5090
5175
  case "image":
5091
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ImageMediaRendererComponent, __spreadValues({ media }, rest));
5176
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ImageMediaRendererComponent, __spreadValues({ media }, rest));
5092
5177
  case "legacy":
5093
5178
  return null;
5094
5179
  }
@@ -5102,16 +5187,16 @@ var AvatarMediaRendererComponent = ({
5102
5187
  control,
5103
5188
  tags
5104
5189
  }) => {
5105
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5190
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5106
5191
  "div",
5107
5192
  {
5108
- className: (0, import_classnames23.default)(
5193
+ className: (0, import_classnames24.default)(
5109
5194
  "df-media-layout-avatar",
5110
5195
  align,
5111
5196
  getMargin(margin),
5112
5197
  controlAndTagsToCSSClass({ control, tags })
5113
5198
  ),
5114
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Media, { media, size: mapAvatarMediaSize(size) })
5199
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Media, { media, size: mapAvatarMediaSize(size) })
5115
5200
  }
5116
5201
  );
5117
5202
  };
@@ -5124,14 +5209,14 @@ var ImageMediaRendererComponent = (_a) => {
5124
5209
  "size"
5125
5210
  ]);
5126
5211
  var _a2, _b2;
5127
- return isUrnImage(media.uri) ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5212
+ return isUrnImage(media.uri) ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5128
5213
  UrnImage,
5129
5214
  __spreadValues({
5130
5215
  uri: media.uri,
5131
5216
  size: (_a2 = media.size) != null ? _a2 : size,
5132
5217
  accessibilityDescription: media.accessibilityDescription
5133
5218
  }, rest)
5134
- ) : /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
5219
+ ) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5135
5220
  UrlImage,
5136
5221
  __spreadValues({
5137
5222
  uri: media.uri,
@@ -5157,20 +5242,20 @@ var mapAvatarMediaSize = (size) => {
5157
5242
 
5158
5243
  // ../renderers/src/ModalLayoutRenderer.tsx
5159
5244
  var import_components43 = require("@transferwise/components");
5160
- var import_classnames24 = __toESM(require_classnames());
5161
- var import_react18 = require("react");
5162
- var import_jsx_runtime70 = require("react/jsx-runtime");
5245
+ var import_classnames25 = __toESM(require_classnames());
5246
+ var import_react19 = require("react");
5247
+ var import_jsx_runtime72 = require("react/jsx-runtime");
5163
5248
  var ModalLayoutRenderer = {
5164
5249
  canRenderType: "modal-layout",
5165
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(DFModal, __spreadValues({}, props))
5250
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(DFModal, __spreadValues({}, props))
5166
5251
  };
5167
5252
  var ModalLayoutRenderer_default = ModalLayoutRenderer;
5168
5253
  function DFModal({ content, margin, trigger, control, tags }) {
5169
- const [visible, setVisible] = (0, import_react18.useState)(false);
5254
+ const [visible, setVisible] = (0, import_react19.useState)(false);
5170
5255
  const { children, title } = content;
5171
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: (0, import_classnames24.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
5172
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_components43.Button, { v2: true, priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
5173
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
5256
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: (0, import_classnames25.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
5257
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_components43.Button, { v2: true, priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
5258
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5174
5259
  import_components43.Modal,
5175
5260
  {
5176
5261
  scroll: "content",
@@ -5186,11 +5271,11 @@ function DFModal({ content, margin, trigger, control, tags }) {
5186
5271
 
5187
5272
  // ../renderers/src/ModalRenderer.tsx
5188
5273
  var import_components44 = require("@transferwise/components");
5189
- var import_jsx_runtime71 = require("react/jsx-runtime");
5274
+ var import_jsx_runtime73 = require("react/jsx-runtime");
5190
5275
  var ModalRenderer = {
5191
5276
  canRenderType: "modal",
5192
5277
  render: ({ title, children, open, onClose, control, tags }) => {
5193
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5278
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5194
5279
  import_components44.Modal,
5195
5280
  {
5196
5281
  open,
@@ -5205,9 +5290,9 @@ var ModalRenderer = {
5205
5290
 
5206
5291
  // ../renderers/src/MoneyInputRenderer.tsx
5207
5292
  var import_components45 = require("@transferwise/components");
5208
- var import_react19 = require("react");
5209
- var import_react_intl22 = require("react-intl");
5210
- var import_jsx_runtime72 = require("react/jsx-runtime");
5293
+ var import_react20 = require("react");
5294
+ var import_react_intl23 = require("react-intl");
5295
+ var import_jsx_runtime74 = require("react/jsx-runtime");
5211
5296
  var groupingTags2 = Object.keys(group_messages_default).filter((key) => key !== "all");
5212
5297
  var MoneyInputRenderer = {
5213
5298
  canRenderType: "money-input",
@@ -5231,13 +5316,13 @@ function MoneyInputRendererComponent(props) {
5231
5316
  onAmountChange,
5232
5317
  onCurrencyChange
5233
5318
  } = props;
5234
- (0, import_react19.useEffect)(() => {
5319
+ (0, import_react20.useEffect)(() => {
5235
5320
  if (!isValidIndex(selectedCurrencyIndex, currencies.length)) {
5236
5321
  onCurrencyChange(0);
5237
5322
  }
5238
5323
  }, [selectedCurrencyIndex, onCurrencyChange, currencies.length]);
5239
- const { formatMessage } = (0, import_react_intl22.useIntl)();
5240
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5324
+ const { formatMessage } = (0, import_react_intl23.useIntl)();
5325
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5241
5326
  FieldInput_default,
5242
5327
  {
5243
5328
  id: uid,
@@ -5248,7 +5333,7 @@ function MoneyInputRendererComponent(props) {
5248
5333
  features,
5249
5334
  control,
5250
5335
  tags,
5251
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5336
+ children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5252
5337
  import_components45.MoneyInput,
5253
5338
  {
5254
5339
  amount: parseFloatOrNull(amountValue),
@@ -5311,8 +5396,8 @@ function assertCurrencyCodeIsString(currencyCode) {
5311
5396
 
5312
5397
  // ../renderers/src/MultiSelectInputRenderer/InlineComponent.tsx
5313
5398
  var import_components46 = require("@transferwise/components");
5314
- var import_react20 = require("react");
5315
- var import_react_intl23 = require("react-intl");
5399
+ var import_react21 = require("react");
5400
+ var import_react_intl24 = require("react-intl");
5316
5401
 
5317
5402
  // ../renderers/src/utils/items-with-index.ts
5318
5403
  var zipWithIndex = (items) => items.map((item, index) => __spreadProps(__spreadValues({}, item), {
@@ -5320,7 +5405,7 @@ var zipWithIndex = (items) => items.map((item, index) => __spreadProps(__spreadV
5320
5405
  }));
5321
5406
 
5322
5407
  // ../renderers/src/MultiSelectInputRenderer/InlineComponent.tsx
5323
- var import_jsx_runtime73 = require("react/jsx-runtime");
5408
+ var import_jsx_runtime75 = require("react/jsx-runtime");
5324
5409
  function InlineComponent(props) {
5325
5410
  const {
5326
5411
  id,
@@ -5337,12 +5422,12 @@ function InlineComponent(props) {
5337
5422
  onSelect
5338
5423
  } = props;
5339
5424
  const optionsWithIndex = zipWithIndex(options);
5340
- const [query, setQuery] = (0, import_react20.useState)("");
5341
- const { formatMessage } = (0, import_react_intl23.useIntl)();
5425
+ const [query, setQuery] = (0, import_react21.useState)("");
5426
+ const { formatMessage } = (0, import_react_intl24.useIntl)();
5342
5427
  const filtered = tags == null ? void 0 : tags.includes("filtered");
5343
5428
  const filteredOptions = query ? filterAndSortItems(optionsWithIndex, filtered ? query : "") : optionsWithIndex;
5344
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
5345
- filtered && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5429
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
5430
+ filtered && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5346
5431
  import_components46.SearchInput,
5347
5432
  {
5348
5433
  placeholder: formatMessage(filter_messages_default.placeholder),
@@ -5355,7 +5440,7 @@ function InlineComponent(props) {
5355
5440
  }
5356
5441
  }
5357
5442
  ),
5358
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5443
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5359
5444
  FieldInput_default,
5360
5445
  {
5361
5446
  id,
@@ -5380,7 +5465,7 @@ function InlineComponent(props) {
5380
5465
  childrenProps
5381
5466
  } = option;
5382
5467
  const key = (_a = childrenProps == null ? void 0 : childrenProps.uid) != null ? _a : index;
5383
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5468
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5384
5469
  import_components46.ListItem,
5385
5470
  {
5386
5471
  title: itemTitle,
@@ -5389,9 +5474,9 @@ function InlineComponent(props) {
5389
5474
  valueSubtitle: supportingValues == null ? void 0 : supportingValues.subvalue,
5390
5475
  media: getMedia(media, false),
5391
5476
  prompt: getInlineAlert(inlineAlert),
5392
- additionalInfo: additionalText ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_components46.ListItem.AdditionalInfo, { children: additionalText }) : void 0,
5477
+ additionalInfo: additionalText ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_components46.ListItem.AdditionalInfo, { children: additionalText }) : void 0,
5393
5478
  disabled: disabled || optionDisabled,
5394
- control: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5479
+ control: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5395
5480
  import_components46.ListItem.Checkbox,
5396
5481
  {
5397
5482
  checked: selectedIndices.includes(index),
@@ -5412,12 +5497,12 @@ function InlineComponent(props) {
5412
5497
 
5413
5498
  // ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
5414
5499
  var import_components47 = require("@transferwise/components");
5415
- var import_react21 = require("react");
5416
- var import_react_intl25 = require("react-intl");
5500
+ var import_react22 = require("react");
5501
+ var import_react_intl26 = require("react-intl");
5417
5502
 
5418
5503
  // ../renderers/src/messages/multi-select.messages.ts
5419
- var import_react_intl24 = require("react-intl");
5420
- var multi_select_messages_default = (0, import_react_intl24.defineMessages)({
5504
+ var import_react_intl25 = require("react-intl");
5505
+ var multi_select_messages_default = (0, import_react_intl25.defineMessages)({
5421
5506
  summary: {
5422
5507
  id: "df.wise.MultiSelect.summary",
5423
5508
  defaultMessage: "{first} and {count} more",
@@ -5426,10 +5511,10 @@ var multi_select_messages_default = (0, import_react_intl24.defineMessages)({
5426
5511
  });
5427
5512
 
5428
5513
  // ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
5429
- var import_jsx_runtime74 = require("react/jsx-runtime");
5514
+ var import_jsx_runtime76 = require("react/jsx-runtime");
5430
5515
  function DefaultComponent(props) {
5431
- const { formatMessage } = (0, import_react_intl25.useIntl)();
5432
- const [stagedIndices, setStagedIndices] = (0, import_react21.useState)();
5516
+ const { formatMessage } = (0, import_react_intl26.useIntl)();
5517
+ const [stagedIndices, setStagedIndices] = (0, import_react22.useState)();
5433
5518
  const {
5434
5519
  id,
5435
5520
  autoComplete,
@@ -5470,12 +5555,12 @@ function DefaultComponent(props) {
5470
5555
  const contentProps = {
5471
5556
  title: option.title,
5472
5557
  description: option.description,
5473
- icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
5558
+ icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
5474
5559
  };
5475
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_components47.SelectInputOptionContent, __spreadValues({}, contentProps));
5560
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_components47.SelectInputOptionContent, __spreadValues({}, contentProps));
5476
5561
  };
5477
5562
  const extraProps = { autoComplete };
5478
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5563
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5479
5564
  FieldInput_default,
5480
5565
  {
5481
5566
  id,
@@ -5486,7 +5571,7 @@ function DefaultComponent(props) {
5486
5571
  features,
5487
5572
  control,
5488
5573
  tags,
5489
- children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5574
+ children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5490
5575
  import_components47.SelectInput,
5491
5576
  __spreadValues({
5492
5577
  id,
@@ -5526,7 +5611,7 @@ function DefaultComponent(props) {
5526
5611
 
5527
5612
  // ../renderers/src/MultiSelectInputRenderer/InlineCheckboxComponent.tsx
5528
5613
  var import_components48 = require("@transferwise/components");
5529
- var import_jsx_runtime75 = require("react/jsx-runtime");
5614
+ var import_jsx_runtime77 = require("react/jsx-runtime");
5530
5615
  function InlineCheckboxComponent(props) {
5531
5616
  const {
5532
5617
  id,
@@ -5542,7 +5627,7 @@ function InlineCheckboxComponent(props) {
5542
5627
  tags,
5543
5628
  onSelect
5544
5629
  } = props;
5545
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5630
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
5546
5631
  FieldInput_default,
5547
5632
  {
5548
5633
  id,
@@ -5573,24 +5658,24 @@ function InlineCheckboxComponent(props) {
5573
5658
  onSelect(newSelectedIndices);
5574
5659
  }
5575
5660
  };
5576
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_components48.Checkbox, __spreadProps(__spreadValues({}, checkboxProps), { className: "m-t-1" }), key);
5661
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_components48.Checkbox, __spreadProps(__spreadValues({}, checkboxProps), { className: "m-t-1" }), key);
5577
5662
  })
5578
5663
  }
5579
5664
  );
5580
5665
  }
5581
5666
 
5582
5667
  // ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRenderer.tsx
5583
- var import_jsx_runtime76 = require("react/jsx-runtime");
5668
+ var import_jsx_runtime78 = require("react/jsx-runtime");
5584
5669
  var MultiSelectInputRenderer = {
5585
5670
  canRenderType: "input-multi-select",
5586
5671
  render: (props) => {
5587
5672
  switch (props.control) {
5588
5673
  case "inline":
5589
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(InlineComponent, __spreadValues({}, props));
5674
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(InlineComponent, __spreadValues({}, props));
5590
5675
  case "inline-checkbox-group":
5591
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(InlineCheckboxComponent, __spreadValues({}, props));
5676
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(InlineCheckboxComponent, __spreadValues({}, props));
5592
5677
  default:
5593
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(DefaultComponent, __spreadValues({}, props));
5678
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(DefaultComponent, __spreadValues({}, props));
5594
5679
  }
5595
5680
  }
5596
5681
  };
@@ -5600,8 +5685,8 @@ var import_components50 = require("@transferwise/components");
5600
5685
 
5601
5686
  // ../renderers/src/components/UploadFieldInput.tsx
5602
5687
  var import_components49 = require("@transferwise/components");
5603
- var import_classnames25 = __toESM(require_classnames());
5604
- var import_jsx_runtime77 = require("react/jsx-runtime");
5688
+ var import_classnames26 = __toESM(require_classnames());
5689
+ var import_jsx_runtime79 = require("react/jsx-runtime");
5605
5690
  function UploadFieldInput({
5606
5691
  id,
5607
5692
  children,
@@ -5613,14 +5698,14 @@ function UploadFieldInput({
5613
5698
  control,
5614
5699
  tags
5615
5700
  }) {
5616
- const labelContent = label && help ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(LabelContentWithHelp, { text: label, help }) : label;
5701
+ const labelContent = label && help ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(LabelContentWithHelp, { text: label, help }) : label;
5617
5702
  const descriptionId = description ? `${id}-description` : void 0;
5618
5703
  const { ref } = useScrollToError(validation, features);
5619
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
5704
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
5620
5705
  "div",
5621
5706
  {
5622
5707
  ref,
5623
- className: (0, import_classnames25.default)(
5708
+ className: (0, import_classnames26.default)(
5624
5709
  "form-group d-block",
5625
5710
  {
5626
5711
  "has-error": (validation == null ? void 0 : validation.status) === "invalid"
@@ -5628,9 +5713,9 @@ function UploadFieldInput({
5628
5713
  controlAndTagsToCSSClass({ control, tags })
5629
5714
  ),
5630
5715
  children: [
5631
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("label", { htmlFor: id, className: "control-label", children: labelContent }),
5716
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { htmlFor: id, className: "control-label", children: labelContent }),
5632
5717
  children,
5633
- (validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_components49.InlineAlert, { type: "negative", id: descriptionId, children: validation.message })
5718
+ (validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_components49.InlineAlert, { type: "negative", id: descriptionId, children: validation.message })
5634
5719
  ]
5635
5720
  }
5636
5721
  );
@@ -5665,7 +5750,7 @@ var getSizeLimit = (maxSize) => {
5665
5750
  };
5666
5751
 
5667
5752
  // ../renderers/src/MultiUploadInputRenderer.tsx
5668
- var import_jsx_runtime78 = require("react/jsx-runtime");
5753
+ var import_jsx_runtime80 = require("react/jsx-runtime");
5669
5754
  var MultiUploadInputRenderer = {
5670
5755
  canRenderType: "input-upload-multi",
5671
5756
  render: (props) => {
@@ -5693,7 +5778,7 @@ var MultiUploadInputRenderer = {
5693
5778
  };
5694
5779
  const onDeleteFile = async (fileId) => onRemoveFile(value.findIndex((file) => file.id === fileId));
5695
5780
  const descriptionId = description ? `${id}-description` : void 0;
5696
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
5781
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5697
5782
  UploadFieldInput_default,
5698
5783
  {
5699
5784
  id,
@@ -5704,7 +5789,7 @@ var MultiUploadInputRenderer = {
5704
5789
  features,
5705
5790
  control,
5706
5791
  tags,
5707
- children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
5792
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5708
5793
  import_components50.UploadInput,
5709
5794
  {
5710
5795
  id,
@@ -5733,7 +5818,7 @@ var MultiUploadInputRenderer_default = MultiUploadInputRenderer;
5733
5818
 
5734
5819
  // ../renderers/src/NumberInputRenderer.tsx
5735
5820
  var import_components51 = require("@transferwise/components");
5736
- var import_jsx_runtime79 = require("react/jsx-runtime");
5821
+ var import_jsx_runtime81 = require("react/jsx-runtime");
5737
5822
  var NumberInputRenderer = {
5738
5823
  canRenderType: "input-number",
5739
5824
  render: (props) => {
@@ -5747,7 +5832,7 @@ var NumberInputRenderer = {
5747
5832
  "maximum",
5748
5833
  "minimum"
5749
5834
  );
5750
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
5835
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
5751
5836
  FieldInput_default,
5752
5837
  {
5753
5838
  id,
@@ -5760,7 +5845,7 @@ var NumberInputRenderer = {
5760
5845
  features: props.features,
5761
5846
  control: props.control,
5762
5847
  tags: props.tags,
5763
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_components51.InputGroup, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
5848
+ children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_components51.InputGroup, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
5764
5849
  import_components51.Input,
5765
5850
  __spreadValues({
5766
5851
  id,
@@ -5782,21 +5867,21 @@ var NumberInputRenderer_default = NumberInputRenderer;
5782
5867
 
5783
5868
  // ../renderers/src/ParagraphRenderer.tsx
5784
5869
  var import_components53 = require("@transferwise/components");
5785
- var import_classnames26 = __toESM(require_classnames());
5786
- var import_react_intl27 = require("react-intl");
5870
+ var import_classnames27 = __toESM(require_classnames());
5871
+ var import_react_intl28 = require("react-intl");
5787
5872
 
5788
5873
  // ../renderers/src/hooks/useSnackBarIfAvailable.ts
5789
5874
  var import_components52 = require("@transferwise/components");
5790
- var import_react22 = require("react");
5875
+ var import_react23 = require("react");
5791
5876
  function useSnackBarIfAvailable() {
5792
- const context = (0, import_react22.useContext)(import_components52.SnackbarContext);
5877
+ const context = (0, import_react23.useContext)(import_components52.SnackbarContext);
5793
5878
  return context ? context.createSnackbar : () => {
5794
5879
  };
5795
5880
  }
5796
5881
 
5797
5882
  // ../renderers/src/messages/paragraph.messages.ts
5798
- var import_react_intl26 = require("react-intl");
5799
- var paragraph_messages_default = (0, import_react_intl26.defineMessages)({
5883
+ var import_react_intl27 = require("react-intl");
5884
+ var paragraph_messages_default = (0, import_react_intl27.defineMessages)({
5800
5885
  copy: {
5801
5886
  id: "df.wise.DynamicParagraph.copy",
5802
5887
  defaultMessage: "Copy",
@@ -5810,18 +5895,18 @@ var paragraph_messages_default = (0, import_react_intl26.defineMessages)({
5810
5895
  });
5811
5896
 
5812
5897
  // ../renderers/src/ParagraphRenderer.tsx
5813
- var import_jsx_runtime80 = require("react/jsx-runtime");
5898
+ var import_jsx_runtime82 = require("react/jsx-runtime");
5814
5899
  var ParagraphRenderer = {
5815
5900
  canRenderType: "paragraph",
5816
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Paragraph, __spreadValues({}, props))
5901
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Paragraph, __spreadValues({}, props))
5817
5902
  };
5818
5903
  function Paragraph(props) {
5819
5904
  const { align, control, margin, size, text } = props;
5820
- const className = (0, import_classnames26.default)(
5905
+ const className = (0, import_classnames27.default)(
5821
5906
  getTextAlignmentAndMargin({ align, margin }),
5822
5907
  controlAndTagsToCSSClass(props)
5823
5908
  );
5824
- return control === "copyable" ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5909
+ return control === "copyable" ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5825
5910
  "p",
5826
5911
  {
5827
5912
  className: `${["xs", "sm"].includes(size) ? "np-text-body-default" : "np-text-body-large"} ${className}`,
@@ -5834,41 +5919,41 @@ function CopyableParagraph({
5834
5919
  align,
5835
5920
  className
5836
5921
  }) {
5837
- const { formatMessage } = (0, import_react_intl27.useIntl)();
5922
+ const { formatMessage } = (0, import_react_intl28.useIntl)();
5838
5923
  const createSnackbar = useSnackBarIfAvailable();
5839
5924
  const copy = () => {
5840
5925
  navigator.clipboard.writeText(text).then(() => createSnackbar({ text: formatMessage(paragraph_messages_default.copied) })).catch(() => {
5841
5926
  });
5842
5927
  };
5843
5928
  const inputAlignmentClasses = getTextAlignmentAndMargin({ align, margin: "sm" });
5844
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className, children: [
5845
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5929
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className, children: [
5930
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5846
5931
  import_components53.Input,
5847
5932
  {
5848
5933
  type: "text",
5849
5934
  value: text,
5850
5935
  readOnly: true,
5851
- className: (0, import_classnames26.default)("text-ellipsis", inputAlignmentClasses)
5936
+ className: (0, import_classnames27.default)("text-ellipsis", inputAlignmentClasses)
5852
5937
  }
5853
5938
  ),
5854
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_components53.Button, { v2: true, block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
5939
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_components53.Button, { v2: true, block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
5855
5940
  ] });
5856
5941
  }
5857
5942
  var ParagraphRenderer_default = ParagraphRenderer;
5858
5943
 
5859
5944
  // ../renderers/src/ProgressRenderer.tsx
5860
5945
  var import_components54 = require("@transferwise/components");
5861
- var import_classnames27 = __toESM(require_classnames());
5862
- var import_jsx_runtime81 = require("react/jsx-runtime");
5946
+ var import_classnames28 = __toESM(require_classnames());
5947
+ var import_jsx_runtime83 = require("react/jsx-runtime");
5863
5948
  var ProgressRenderer = {
5864
5949
  canRenderType: "progress",
5865
5950
  render: ({ uid, title, help, progress, progressText, margin, description, control, tags }) => {
5866
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
5951
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5867
5952
  import_components54.ProgressBar,
5868
5953
  {
5869
5954
  id: uid,
5870
- className: (0, import_classnames27.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })),
5871
- title: title && help ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LabelContentWithHelp, { text: title, help }) : title,
5955
+ className: (0, import_classnames28.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })),
5956
+ title: title && help ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(LabelContentWithHelp, { text: title, help }) : title,
5872
5957
  description,
5873
5958
  progress: {
5874
5959
  max: 1,
@@ -5883,13 +5968,13 @@ var ProgressRenderer = {
5883
5968
  // ../renderers/src/RepeatableRenderer.tsx
5884
5969
  var import_components55 = require("@transferwise/components");
5885
5970
  var import_icons3 = require("@transferwise/icons");
5886
- var import_classnames28 = __toESM(require_classnames());
5887
- var import_react23 = require("react");
5888
- var import_react_intl29 = require("react-intl");
5971
+ var import_classnames29 = __toESM(require_classnames());
5972
+ var import_react24 = require("react");
5973
+ var import_react_intl30 = require("react-intl");
5889
5974
 
5890
5975
  // ../renderers/src/messages/repeatable.messages.ts
5891
- var import_react_intl28 = require("react-intl");
5892
- var repeatable_messages_default = (0, import_react_intl28.defineMessages)({
5976
+ var import_react_intl29 = require("react-intl");
5977
+ var repeatable_messages_default = (0, import_react_intl29.defineMessages)({
5893
5978
  addItemTitle: {
5894
5979
  id: "df.wise.ArraySchema.addItemTitle",
5895
5980
  defaultMessage: "Add Item",
@@ -5913,10 +5998,10 @@ var repeatable_messages_default = (0, import_react_intl28.defineMessages)({
5913
5998
  });
5914
5999
 
5915
6000
  // ../renderers/src/RepeatableRenderer.tsx
5916
- var import_jsx_runtime82 = require("react/jsx-runtime");
6001
+ var import_jsx_runtime84 = require("react/jsx-runtime");
5917
6002
  var RepeatableRenderer = {
5918
6003
  canRenderType: "repeatable",
5919
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Repeatable, __spreadValues({}, props))
6004
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Repeatable, __spreadValues({}, props))
5920
6005
  };
5921
6006
  function Repeatable(props) {
5922
6007
  const {
@@ -5933,8 +6018,8 @@ function Repeatable(props) {
5933
6018
  onSave,
5934
6019
  onRemove
5935
6020
  } = props;
5936
- const { formatMessage } = (0, import_react_intl29.useIntl)();
5937
- const [openModalType, setOpenModalType] = (0, import_react23.useState)(null);
6021
+ const { formatMessage } = (0, import_react_intl30.useIntl)();
6022
+ const [openModalType, setOpenModalType] = (0, import_react24.useState)(null);
5938
6023
  const { ref } = useScrollToError(validationState, features);
5939
6024
  const onAddItem = () => {
5940
6025
  onAdd();
@@ -5957,42 +6042,42 @@ function Repeatable(props) {
5957
6042
  const onCancelEdit = () => {
5958
6043
  setOpenModalType(null);
5959
6044
  };
5960
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
5961
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { ref, className: controlAndTagsToCSSClass(props), children: [
5962
- title && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_components55.Header, { title }),
5963
- description && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { children: description }),
5964
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
6045
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_jsx_runtime84.Fragment, { children: [
6046
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { ref, className: controlAndTagsToCSSClass(props), children: [
6047
+ title && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_components55.Header, { title }),
6048
+ description && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("p", { children: description }),
6049
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
5965
6050
  "div",
5966
6051
  {
5967
- className: (0, import_classnames28.default)("form-group", {
6052
+ className: (0, import_classnames29.default)("form-group", {
5968
6053
  "has-error": (validationState == null ? void 0 : validationState.status) === "invalid"
5969
6054
  }),
5970
6055
  children: [
5971
- items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
5972
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
6056
+ items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
6057
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
5973
6058
  import_components55.NavigationOption,
5974
6059
  {
5975
- media: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons3.Plus, {}),
6060
+ media: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_icons3.Plus, {}),
5976
6061
  title: addItemTitle || formatMessage(repeatable_messages_default.addItemTitle),
5977
6062
  showMediaAtAllSizes: true,
5978
6063
  onClick: () => onAddItem()
5979
6064
  }
5980
6065
  ),
5981
- (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_components55.InlineAlert, { type: "negative", children: validationState.message })
6066
+ (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_components55.InlineAlert, { type: "negative", children: validationState.message })
5982
6067
  ]
5983
6068
  }
5984
6069
  )
5985
6070
  ] }),
5986
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
6071
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
5987
6072
  import_components55.Modal,
5988
6073
  {
5989
6074
  open: openModalType !== null,
5990
6075
  title: (openModalType === "add" ? addItemTitle : editItemTitle) || formatMessage(repeatable_messages_default.addItemTitle),
5991
- body: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
5992
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "m-b-2", children: editableItem }),
5993
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { children: [
5994
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_components55.Button, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
5995
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
6076
+ body: /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_jsx_runtime84.Fragment, { children: [
6077
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "m-b-2", children: editableItem }),
6078
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { children: [
6079
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_components55.Button, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
6080
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
5996
6081
  import_components55.Button,
5997
6082
  {
5998
6083
  v2: true,
@@ -6014,10 +6099,10 @@ function ItemSummaryOption({
6014
6099
  item,
6015
6100
  onClick
6016
6101
  }) {
6017
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
6102
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
6018
6103
  import_components55.NavigationOption,
6019
6104
  {
6020
- media: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(OptionMedia, { media: item.media, preferAvatar: false }),
6105
+ media: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(OptionMedia, { media: item.media, preferAvatar: false }),
6021
6106
  title: item.title,
6022
6107
  content: item.description,
6023
6108
  showMediaAtAllSizes: true,
@@ -6030,15 +6115,15 @@ var RepeatableRenderer_default = RepeatableRenderer;
6030
6115
 
6031
6116
  // ../renderers/src/ReviewLegacyRenderer.tsx
6032
6117
  var import_components56 = require("@transferwise/components");
6033
- var import_classnames29 = __toESM(require_classnames());
6034
- var import_jsx_runtime83 = require("react/jsx-runtime");
6118
+ var import_classnames30 = __toESM(require_classnames());
6119
+ var import_jsx_runtime85 = require("react/jsx-runtime");
6035
6120
  var ReviewRenderer = {
6036
6121
  canRenderType: "review",
6037
6122
  render: ({ callToAction, control, fields, margin, title, trackEvent, tags }) => {
6038
6123
  const orientation = mapControlToDefinitionListLayout(control);
6039
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: (0, import_classnames29.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
6040
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Header, { title, callToAction }),
6041
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: margin, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
6124
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: (0, import_classnames30.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
6125
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Header, { title, callToAction }),
6126
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: margin, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
6042
6127
  import_components56.DefinitionList,
6043
6128
  {
6044
6129
  layout: orientation,
@@ -6076,10 +6161,10 @@ var mapControlToDefinitionListLayout = (control) => {
6076
6161
  };
6077
6162
  var getFieldLabel = (label, help, onClick) => {
6078
6163
  if (help) {
6079
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_jsx_runtime83.Fragment, { children: [
6164
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_jsx_runtime85.Fragment, { children: [
6080
6165
  label,
6081
6166
  " ",
6082
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Help_default, { help, onClick })
6167
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Help_default, { help, onClick })
6083
6168
  ] });
6084
6169
  }
6085
6170
  return label;
@@ -6088,9 +6173,9 @@ var getFieldLabel = (label, help, onClick) => {
6088
6173
  // ../renderers/src/ReviewRenderer.tsx
6089
6174
  var import_components57 = require("@transferwise/components");
6090
6175
  var import_icons4 = require("@transferwise/icons");
6091
- var import_classnames30 = __toESM(require_classnames());
6092
- var import_react_intl30 = require("react-intl");
6093
- var import_jsx_runtime84 = require("react/jsx-runtime");
6176
+ var import_classnames31 = __toESM(require_classnames());
6177
+ var import_react_intl31 = require("react-intl");
6178
+ var import_jsx_runtime86 = require("react/jsx-runtime");
6094
6179
  var IGNORED_CONTROLS = [
6095
6180
  "horizontal",
6096
6181
  "horizontal-end-aligned",
@@ -6100,7 +6185,7 @@ var IGNORED_CONTROLS = [
6100
6185
  var ReviewRenderer2 = {
6101
6186
  canRenderType: "review",
6102
6187
  canRender: ({ control }) => control ? !IGNORED_CONTROLS.includes(control) : true,
6103
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Review, __spreadValues({}, props))
6188
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Review, __spreadValues({}, props))
6104
6189
  };
6105
6190
  var Review = ({
6106
6191
  callToAction,
@@ -6111,9 +6196,9 @@ var Review = ({
6111
6196
  title,
6112
6197
  trackEvent
6113
6198
  }) => {
6114
- const intl = (0, import_react_intl30.useIntl)();
6115
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: (0, import_classnames30.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
6116
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Header, { title, callToAction }),
6199
+ const intl = (0, import_react_intl31.useIntl)();
6200
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: (0, import_classnames31.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
6201
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Header, { title, callToAction }),
6117
6202
  fields.map((field) => {
6118
6203
  var _a, _b, _c;
6119
6204
  const {
@@ -6131,7 +6216,7 @@ var Review = ({
6131
6216
  ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
6132
6217
  fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
6133
6218
  };
6134
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
6219
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
6135
6220
  import_components57.ListItem,
6136
6221
  {
6137
6222
  title: value,
@@ -6152,18 +6237,18 @@ var Review = ({
6152
6237
  ] });
6153
6238
  };
6154
6239
  var getHelpControl = (help, ariaLabel, onClick) => {
6155
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_components57.Popover, { content: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_components57.Markdown, { config: { link: { target: "_blank" } }, children: help }), children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_components57.ListItem.IconButton, { partiallyInteractive: true, "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_icons4.QuestionMarkCircle, {}) }) });
6240
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_components57.Popover, { content: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_components57.Markdown, { config: { link: { target: "_blank" } }, children: help }), children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_components57.ListItem.IconButton, { partiallyInteractive: true, "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons4.QuestionMarkCircle, {}) }) });
6156
6241
  };
6157
6242
  var ReviewRenderer_default = ReviewRenderer2;
6158
6243
 
6159
6244
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
6160
6245
  var import_components59 = require("@transferwise/components");
6161
- var import_react24 = require("react");
6162
- var import_react_intl33 = require("react-intl");
6246
+ var import_react25 = require("react");
6247
+ var import_react_intl34 = require("react-intl");
6163
6248
 
6164
6249
  // ../renderers/src/messages/search.messages.ts
6165
- var import_react_intl31 = require("react-intl");
6166
- var search_messages_default = (0, import_react_intl31.defineMessages)({
6250
+ var import_react_intl32 = require("react-intl");
6251
+ var search_messages_default = (0, import_react_intl32.defineMessages)({
6167
6252
  loading: {
6168
6253
  id: "df.wise.SearchLayout.loading",
6169
6254
  defaultMessage: "Loading...",
@@ -6172,21 +6257,21 @@ var search_messages_default = (0, import_react_intl31.defineMessages)({
6172
6257
  });
6173
6258
 
6174
6259
  // ../renderers/src/SearchRenderer/ErrorResult.tsx
6175
- var import_react_intl32 = require("react-intl");
6260
+ var import_react_intl33 = require("react-intl");
6176
6261
  var import_components58 = require("@transferwise/components");
6177
- var import_jsx_runtime85 = require("react/jsx-runtime");
6262
+ var import_jsx_runtime87 = require("react/jsx-runtime");
6178
6263
  function ErrorResult({ state }) {
6179
- const intl = (0, import_react_intl32.useIntl)();
6180
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("p", { className: "m-t-2", children: [
6264
+ const intl = (0, import_react_intl33.useIntl)();
6265
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("p", { className: "m-t-2", children: [
6181
6266
  intl.formatMessage(generic_error_messages_default.genericError),
6182
6267
  "\xA0",
6183
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_components58.Link, { onClick: () => state.onRetry(), children: intl.formatMessage(generic_error_messages_default.retry) })
6268
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_components58.Link, { onClick: () => state.onRetry(), children: intl.formatMessage(generic_error_messages_default.retry) })
6184
6269
  ] });
6185
6270
  }
6186
6271
 
6187
6272
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
6188
6273
  var import_icons5 = require("@transferwise/icons");
6189
- var import_jsx_runtime86 = require("react/jsx-runtime");
6274
+ var import_jsx_runtime88 = require("react/jsx-runtime");
6190
6275
  function BlockSearchRendererComponent({
6191
6276
  id,
6192
6277
  hint,
@@ -6201,10 +6286,10 @@ function BlockSearchRendererComponent({
6201
6286
  trackEvent,
6202
6287
  onChange
6203
6288
  }) {
6204
- const [hasSearched, setHasSearched] = (0, import_react24.useState)(false);
6205
- const { formatMessage } = (0, import_react_intl33.useIntl)();
6206
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: getMargin(margin), children: [
6207
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
6289
+ const [hasSearched, setHasSearched] = (0, import_react25.useState)(false);
6290
+ const { formatMessage } = (0, import_react_intl34.useIntl)();
6291
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: getMargin(margin), children: [
6292
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
6208
6293
  FieldInput_default,
6209
6294
  {
6210
6295
  id,
@@ -6215,7 +6300,7 @@ function BlockSearchRendererComponent({
6215
6300
  features,
6216
6301
  control,
6217
6302
  tags,
6218
- children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_components59.InputGroup, { addonStart: { content: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons5.Search, { size: 24 }) }, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
6303
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_components59.InputGroup, { addonStart: { content: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_icons5.Search, { size: 24 }) }, children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
6219
6304
  import_components59.Input,
6220
6305
  {
6221
6306
  id,
@@ -6235,7 +6320,7 @@ function BlockSearchRendererComponent({
6235
6320
  ) })
6236
6321
  }
6237
6322
  ),
6238
- isLoading ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(SearchResultContent, { state, trackEvent })
6323
+ isLoading ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(SearchResultContent, { state, trackEvent })
6239
6324
  ] });
6240
6325
  }
6241
6326
  function SearchResultContent({
@@ -6244,38 +6329,38 @@ function SearchResultContent({
6244
6329
  }) {
6245
6330
  switch (state.type) {
6246
6331
  case "error":
6247
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ErrorResult, { state });
6332
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ErrorResult, { state });
6248
6333
  case "results":
6249
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(SearchResults, { state, trackEvent });
6334
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(SearchResults, { state, trackEvent });
6250
6335
  case "layout":
6251
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_jsx_runtime86.Fragment, { children: [
6336
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_jsx_runtime88.Fragment, { children: [
6252
6337
  " ",
6253
6338
  state.layout,
6254
6339
  " "
6255
6340
  ] });
6256
6341
  case "noResults":
6257
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(EmptySearchResult, { state });
6342
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(EmptySearchResult, { state });
6258
6343
  case "pending":
6259
6344
  default:
6260
6345
  return null;
6261
6346
  }
6262
6347
  }
6263
6348
  function EmptySearchResult({ state }) {
6264
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_components59.Markdown, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
6349
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_components59.Markdown, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
6265
6350
  }
6266
6351
  function SearchResults({
6267
6352
  state,
6268
6353
  trackEvent
6269
6354
  }) {
6270
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_components59.List, { children: state.results.map((result) => {
6355
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_components59.List, { children: state.results.map((result) => {
6271
6356
  const { media } = result;
6272
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
6357
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
6273
6358
  import_components59.ListItem,
6274
6359
  {
6275
6360
  title: result.title,
6276
6361
  subtitle: result.description,
6277
- media: media ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(OptionMedia, { media, preferAvatar: false }) : void 0,
6278
- control: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
6362
+ media: media ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(OptionMedia, { media, preferAvatar: false }) : void 0,
6363
+ control: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
6279
6364
  import_components59.ListItem.Navigation,
6280
6365
  {
6281
6366
  onClick: () => {
@@ -6296,9 +6381,9 @@ var BlockSearchRendererComponent_default = BlockSearchRendererComponent;
6296
6381
  // ../renderers/src/SearchRenderer/InlineSearchRendererComponent.tsx
6297
6382
  var import_components60 = require("@transferwise/components");
6298
6383
  var import_icons6 = require("@transferwise/icons");
6299
- var import_react25 = require("react");
6300
- var import_react_intl34 = require("react-intl");
6301
- var import_jsx_runtime87 = require("react/jsx-runtime");
6384
+ var import_react26 = require("react");
6385
+ var import_react_intl35 = require("react-intl");
6386
+ var import_jsx_runtime89 = require("react/jsx-runtime");
6302
6387
  function InlineSearchRenderer({
6303
6388
  id,
6304
6389
  hint,
@@ -6312,9 +6397,9 @@ function InlineSearchRenderer({
6312
6397
  onChange,
6313
6398
  trackEvent
6314
6399
  }) {
6315
- const [hasSearched, setHasSearched] = (0, import_react25.useState)(false);
6316
- const intl = (0, import_react_intl34.useIntl)();
6317
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: getMargin(margin), children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
6400
+ const [hasSearched, setHasSearched] = (0, import_react26.useState)(false);
6401
+ const intl = (0, import_react_intl35.useIntl)();
6402
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: getMargin(margin), children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
6318
6403
  FieldInput_default,
6319
6404
  {
6320
6405
  id,
@@ -6325,7 +6410,7 @@ function InlineSearchRenderer({
6325
6410
  features,
6326
6411
  control,
6327
6412
  tags,
6328
- children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
6413
+ children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
6329
6414
  import_components60.Typeahead,
6330
6415
  {
6331
6416
  id: "typeahead-input-id",
@@ -6334,10 +6419,10 @@ function InlineSearchRenderer({
6334
6419
  size: "md",
6335
6420
  placeholder: hint,
6336
6421
  maxHeight: 100,
6337
- footer: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(TypeaheadFooter, { state, isLoading }),
6422
+ footer: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(TypeaheadFooter, { state, isLoading }),
6338
6423
  multiple: false,
6339
6424
  clearable: false,
6340
- addon: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_icons6.Search, { size: 24 }),
6425
+ addon: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_icons6.Search, { size: 24 }),
6341
6426
  options: state.type === "results" ? state.results.map(mapResultToTypeaheadOption) : [],
6342
6427
  minQueryLength: 1,
6343
6428
  onChange: (values) => {
@@ -6374,34 +6459,34 @@ function mapResultToTypeaheadOption(result) {
6374
6459
  };
6375
6460
  }
6376
6461
  function TypeaheadFooter({ state, isLoading }) {
6377
- const { formatMessage } = (0, import_react_intl34.useIntl)();
6462
+ const { formatMessage } = (0, import_react_intl35.useIntl)();
6378
6463
  if (state.type === "layout") {
6379
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "m-x-1 m-y-1", children: state.layout });
6464
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "m-x-1 m-y-1", children: state.layout });
6380
6465
  }
6381
6466
  if (state.type === "noResults") {
6382
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_components60.Markdown, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
6467
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_components60.Markdown, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
6383
6468
  }
6384
6469
  if (state.type === "error") {
6385
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ErrorResult, { state }) });
6470
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ErrorResult, { state }) });
6386
6471
  }
6387
6472
  if (state.type === "pending" || isLoading) {
6388
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
6473
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
6389
6474
  }
6390
6475
  return null;
6391
6476
  }
6392
6477
  var InlineSearchRendererComponent_default = InlineSearchRenderer;
6393
6478
 
6394
6479
  // ../renderers/src/SearchRenderer/SearchRenderer.tsx
6395
- var import_jsx_runtime88 = require("react/jsx-runtime");
6480
+ var import_jsx_runtime90 = require("react/jsx-runtime");
6396
6481
  var SearchRenderer = {
6397
6482
  canRenderType: "search",
6398
- render: (props) => props.control === "inline" ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(BlockSearchRendererComponent_default, __spreadValues({}, props))
6483
+ render: (props) => props.control === "inline" ? /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(BlockSearchRendererComponent_default, __spreadValues({}, props))
6399
6484
  };
6400
6485
  var SearchRenderer_default = SearchRenderer;
6401
6486
 
6402
6487
  // ../renderers/src/SectionRenderer.tsx
6403
6488
  var import_components61 = require("@transferwise/components");
6404
- var import_classnames31 = __toESM(require_classnames());
6489
+ var import_classnames32 = __toESM(require_classnames());
6405
6490
 
6406
6491
  // ../renderers/src/utils/getHeaderAction.tsx
6407
6492
  var getHeaderAction2 = (callToAction) => {
@@ -6425,16 +6510,16 @@ var getHeaderAction2 = (callToAction) => {
6425
6510
  };
6426
6511
 
6427
6512
  // ../renderers/src/SectionRenderer.tsx
6428
- var import_jsx_runtime89 = require("react/jsx-runtime");
6513
+ var import_jsx_runtime91 = require("react/jsx-runtime");
6429
6514
  var SectionRenderer = {
6430
6515
  canRenderType: "section",
6431
6516
  render: ({ children, callToAction, margin, title, control, tags }) => {
6432
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
6517
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
6433
6518
  "section",
6434
6519
  {
6435
- className: (0, import_classnames31.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })),
6520
+ className: (0, import_classnames32.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })),
6436
6521
  children: [
6437
- (title || callToAction) && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_components61.Header, { title: title != null ? title : "", action: getHeaderAction2(callToAction) }),
6522
+ (title || callToAction) && /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_components61.Header, { title: title != null ? title : "", action: getHeaderAction2(callToAction) }),
6438
6523
  children
6439
6524
  ]
6440
6525
  }
@@ -6445,7 +6530,7 @@ var SectionRenderer_default = SectionRenderer;
6445
6530
 
6446
6531
  // ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
6447
6532
  var import_components62 = require("@transferwise/components");
6448
- var import_jsx_runtime90 = require("react/jsx-runtime");
6533
+ var import_jsx_runtime92 = require("react/jsx-runtime");
6449
6534
  function RadioInputRendererComponent(props) {
6450
6535
  const {
6451
6536
  id,
@@ -6462,8 +6547,8 @@ function RadioInputRendererComponent(props) {
6462
6547
  tags,
6463
6548
  onSelect
6464
6549
  } = props;
6465
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(import_jsx_runtime90.Fragment, { children: [
6466
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
6550
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_jsx_runtime92.Fragment, { children: [
6551
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6467
6552
  FieldInput_default,
6468
6553
  {
6469
6554
  id,
@@ -6474,7 +6559,7 @@ function RadioInputRendererComponent(props) {
6474
6559
  features,
6475
6560
  control,
6476
6561
  tags,
6477
- children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
6562
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6478
6563
  import_components62.RadioGroup,
6479
6564
  {
6480
6565
  name: id,
@@ -6483,7 +6568,7 @@ function RadioInputRendererComponent(props) {
6483
6568
  value: index,
6484
6569
  secondary: option.description,
6485
6570
  disabled: option.disabled || disabled,
6486
- avatar: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
6571
+ avatar: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
6487
6572
  })),
6488
6573
  selectedValue: selectedIndex != null ? selectedIndex : void 0,
6489
6574
  onChange: onSelect
@@ -6498,8 +6583,8 @@ function RadioInputRendererComponent(props) {
6498
6583
 
6499
6584
  // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
6500
6585
  var import_components63 = require("@transferwise/components");
6501
- var import_react26 = require("react");
6502
- var import_jsx_runtime91 = require("react/jsx-runtime");
6586
+ var import_react27 = require("react");
6587
+ var import_jsx_runtime93 = require("react/jsx-runtime");
6503
6588
  function TabInputRendererComponent(props) {
6504
6589
  const {
6505
6590
  id,
@@ -6516,13 +6601,13 @@ function TabInputRendererComponent(props) {
6516
6601
  tags,
6517
6602
  onSelect
6518
6603
  } = props;
6519
- (0, import_react26.useEffect)(() => {
6604
+ (0, import_react27.useEffect)(() => {
6520
6605
  if (!isValidIndex2(selectedIndex, options.length)) {
6521
6606
  onSelect(0);
6522
6607
  }
6523
6608
  }, [selectedIndex, onSelect, options.length]);
6524
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_jsx_runtime91.Fragment, { children: [
6525
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
6609
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_jsx_runtime93.Fragment, { children: [
6610
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6526
6611
  FieldInput_default,
6527
6612
  {
6528
6613
  id,
@@ -6533,7 +6618,7 @@ function TabInputRendererComponent(props) {
6533
6618
  features,
6534
6619
  control,
6535
6620
  tags,
6536
- children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
6621
+ children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6537
6622
  import_components63.Tabs,
6538
6623
  {
6539
6624
  name: id,
@@ -6542,7 +6627,7 @@ function TabInputRendererComponent(props) {
6542
6627
  title: option.title,
6543
6628
  // if we pass null, we get some props-types console errors
6544
6629
  // eslint-disable-next-line react/jsx-no-useless-fragment
6545
- content: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_jsx_runtime91.Fragment, {}),
6630
+ content: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_jsx_runtime93.Fragment, {}),
6546
6631
  disabled: option.disabled || disabled
6547
6632
  })),
6548
6633
  onTabSelect: onSelect
@@ -6557,7 +6642,7 @@ var isValidIndex2 = (index, options) => index !== null && index >= 0 && index <
6557
6642
 
6558
6643
  // ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
6559
6644
  var import_components64 = require("@transferwise/components");
6560
- var import_jsx_runtime92 = require("react/jsx-runtime");
6645
+ var import_jsx_runtime94 = require("react/jsx-runtime");
6561
6646
  function SelectInputRendererComponent(props) {
6562
6647
  const {
6563
6648
  id,
@@ -6600,13 +6685,13 @@ function SelectInputRendererComponent(props) {
6600
6685
  } : {
6601
6686
  title: option.title,
6602
6687
  description: option.description,
6603
- icon: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
6688
+ icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(OptionMedia, { media: option.media, preferAvatar: false })
6604
6689
  };
6605
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_components64.SelectInputOptionContent, __spreadValues({}, contentProps));
6690
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_components64.SelectInputOptionContent, __spreadValues({}, contentProps));
6606
6691
  };
6607
6692
  const extraProps = { autoComplete };
6608
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_jsx_runtime92.Fragment, { children: [
6609
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6693
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
6694
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6610
6695
  FieldInput_default,
6611
6696
  {
6612
6697
  id,
@@ -6617,7 +6702,7 @@ function SelectInputRendererComponent(props) {
6617
6702
  features,
6618
6703
  control,
6619
6704
  tags,
6620
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6705
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6621
6706
  import_components64.SelectInput,
6622
6707
  __spreadValues({
6623
6708
  name: id,
@@ -6638,9 +6723,9 @@ function SelectInputRendererComponent(props) {
6638
6723
  }
6639
6724
 
6640
6725
  // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
6641
- var import_react27 = require("react");
6726
+ var import_react28 = require("react");
6642
6727
  var import_components65 = require("@transferwise/components");
6643
- var import_jsx_runtime93 = require("react/jsx-runtime");
6728
+ var import_jsx_runtime95 = require("react/jsx-runtime");
6644
6729
  function SegmentedInputRendererComponent(props) {
6645
6730
  const {
6646
6731
  id,
@@ -6656,13 +6741,13 @@ function SegmentedInputRendererComponent(props) {
6656
6741
  tags,
6657
6742
  onSelect
6658
6743
  } = props;
6659
- (0, import_react27.useEffect)(() => {
6744
+ (0, import_react28.useEffect)(() => {
6660
6745
  if (!isValidIndex3(selectedIndex, options.length)) {
6661
6746
  onSelect(0);
6662
6747
  }
6663
6748
  }, [selectedIndex, onSelect, options.length]);
6664
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_jsx_runtime93.Fragment, { children: [
6665
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6749
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_jsx_runtime95.Fragment, { children: [
6750
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6666
6751
  FieldInput_default,
6667
6752
  {
6668
6753
  id,
@@ -6673,7 +6758,7 @@ function SegmentedInputRendererComponent(props) {
6673
6758
  features,
6674
6759
  control,
6675
6760
  tags,
6676
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6761
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6677
6762
  import_components65.SegmentedControl,
6678
6763
  {
6679
6764
  name: `${id}-segmented-control`,
@@ -6690,14 +6775,14 @@ function SegmentedInputRendererComponent(props) {
6690
6775
  )
6691
6776
  }
6692
6777
  ),
6693
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { id: `${id}-children`, children })
6778
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { id: `${id}-children`, children })
6694
6779
  ] });
6695
6780
  }
6696
6781
  var isValidIndex3 = (index, options) => index !== null && index >= 0 && index < options;
6697
6782
 
6698
6783
  // ../renderers/src/SelectInputRenderer/RadioItemRendererComponent.tsx
6699
6784
  var import_components66 = require("@transferwise/components");
6700
- var import_jsx_runtime94 = require("react/jsx-runtime");
6785
+ var import_jsx_runtime96 = require("react/jsx-runtime");
6701
6786
  function RadioItemRendererComponent(props) {
6702
6787
  const {
6703
6788
  id,
@@ -6713,22 +6798,22 @@ function RadioItemRendererComponent(props) {
6713
6798
  onSelect
6714
6799
  } = props;
6715
6800
  const { ref } = useScrollToError(validationState, features);
6716
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { ref, className: controlAndTagsToCSSClass(props), children: [
6717
- rootTitle && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6801
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { ref, className: controlAndTagsToCSSClass(props), children: [
6802
+ rootTitle && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
6718
6803
  import_components66.Header,
6719
6804
  {
6720
6805
  as: "h2",
6721
- title: help ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
6806
+ title: help ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
6722
6807
  }
6723
6808
  ),
6724
- rootDescription && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { children: rootDescription }),
6725
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_components66.List, { children: options.map(
6726
- ({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6809
+ rootDescription && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("p", { children: rootDescription }),
6810
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_components66.List, { children: options.map(
6811
+ ({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
6727
6812
  import_components66.ListItem,
6728
6813
  __spreadValues({
6729
6814
  title,
6730
6815
  subtitle: description,
6731
- control: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6816
+ control: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
6732
6817
  import_components66.ListItem.Radio,
6733
6818
  {
6734
6819
  name: title,
@@ -6744,28 +6829,28 @@ function RadioItemRendererComponent(props) {
6744
6829
  title
6745
6830
  )
6746
6831
  ) }, `${id}-${selectedIndex}`),
6747
- (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_components66.InlineAlert, { type: "negative", children: validationState.message }),
6832
+ (validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_components66.InlineAlert, { type: "negative", children: validationState.message }),
6748
6833
  children
6749
6834
  ] });
6750
6835
  }
6751
6836
 
6752
6837
  // ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
6753
- var import_jsx_runtime95 = require("react/jsx-runtime");
6838
+ var import_jsx_runtime97 = require("react/jsx-runtime");
6754
6839
  var SelectInputRenderer = {
6755
6840
  canRenderType: "input-select",
6756
6841
  render: (props) => {
6757
6842
  switch (props.control) {
6758
6843
  case "radio":
6759
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(RadioInputRendererComponent, __spreadValues({}, props));
6844
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(RadioInputRendererComponent, __spreadValues({}, props));
6760
6845
  case "radio-item":
6761
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(RadioItemRendererComponent, __spreadValues({}, props));
6846
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(RadioItemRendererComponent, __spreadValues({}, props));
6762
6847
  case "tab":
6763
- return props.options.length > 3 ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(TabInputRendererComponent, __spreadValues({}, props));
6848
+ return props.options.length > 3 ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(TabInputRendererComponent, __spreadValues({}, props));
6764
6849
  case "segmented":
6765
- return props.options.length > 3 ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(SegmentedInputRendererComponent, __spreadValues({}, props));
6850
+ return props.options.length > 3 ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(SegmentedInputRendererComponent, __spreadValues({}, props));
6766
6851
  case "select":
6767
6852
  default:
6768
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(SelectInputRendererComponent, __spreadValues({}, props));
6853
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(SelectInputRendererComponent, __spreadValues({}, props));
6769
6854
  }
6770
6855
  }
6771
6856
  };
@@ -6773,21 +6858,21 @@ var SelectInputRenderer_default = SelectInputRenderer;
6773
6858
 
6774
6859
  // ../renderers/src/StatusListRenderer.tsx
6775
6860
  var import_components67 = require("@transferwise/components");
6776
- var import_classnames32 = __toESM(require_classnames());
6777
- var import_jsx_runtime96 = require("react/jsx-runtime");
6861
+ var import_classnames33 = __toESM(require_classnames());
6862
+ var import_jsx_runtime98 = require("react/jsx-runtime");
6778
6863
  var StatusListRenderer = {
6779
6864
  canRenderType: "status-list",
6780
- render: ({ margin, items, title, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: (0, import_classnames32.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
6781
- title ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_components67.Header, { title }) : null,
6865
+ render: ({ margin, items, title, control, tags }) => /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: (0, import_classnames33.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
6866
+ title ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_components67.Header, { title }) : null,
6782
6867
  items.map((item) => {
6783
6868
  const { callToAction, description, title: itemTitle } = item;
6784
- return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
6869
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
6785
6870
  import_components67.ListItem,
6786
6871
  {
6787
6872
  title: itemTitle,
6788
6873
  subtitle: description,
6789
- media: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(StatusListItemMedia, __spreadValues({}, item)),
6790
- additionalInfo: callToAction ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
6874
+ media: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(StatusListItemMedia, __spreadValues({}, item)),
6875
+ additionalInfo: callToAction ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
6791
6876
  import_components67.ListItem.AdditionalInfo,
6792
6877
  {
6793
6878
  action: __spreadValues({
@@ -6806,10 +6891,10 @@ var StatusListItemMedia = ({ icon, status }) => {
6806
6891
  return void 0;
6807
6892
  }
6808
6893
  if ("name" in icon) {
6809
- return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_components67.AvatarView, { badge: { status: mapStatus(status) }, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(DynamicIcon_default, { name: icon.name }) });
6894
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_components67.AvatarView, { badge: { status: mapStatus(status) }, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(DynamicIcon_default, { name: icon.name }) });
6810
6895
  }
6811
6896
  if ("text" in icon) {
6812
- return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_components67.AvatarView, { badge: { status: mapStatus(status) }, children: icon.text });
6897
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_components67.AvatarView, { badge: { status: mapStatus(status) }, children: icon.text });
6813
6898
  }
6814
6899
  return void 0;
6815
6900
  };
@@ -6826,16 +6911,16 @@ var mapStatus = (status) => {
6826
6911
  var StatusListRenderer_default = StatusListRenderer;
6827
6912
 
6828
6913
  // ../renderers/src/step/SplashCelebrationStepRenderer.tsx
6829
- var import_classnames33 = __toESM(require_classnames());
6914
+ var import_classnames34 = __toESM(require_classnames());
6830
6915
 
6831
6916
  // ../renderers/src/utils/useCustomTheme.ts
6832
6917
  var import_components_theming = require("@wise/components-theming");
6833
- var import_react28 = require("react");
6918
+ var import_react29 = require("react");
6834
6919
  var ThemeRequiredEventName = "Theme Required";
6835
6920
  var useCustomTheme = (theme, trackEvent) => {
6836
6921
  const theming = (0, import_components_theming.useTheme)();
6837
- const previousTheme = (0, import_react28.useMemo)(() => theming.theme, []);
6838
- (0, import_react28.useEffect)(() => {
6922
+ const previousTheme = (0, import_react29.useMemo)(() => theming.theme, []);
6923
+ (0, import_react29.useEffect)(() => {
6839
6924
  theming.setTheme(theme);
6840
6925
  trackEvent(ThemeRequiredEventName, { theme });
6841
6926
  return theme !== previousTheme ? () => {
@@ -6848,12 +6933,12 @@ var useCustomTheme = (theme, trackEvent) => {
6848
6933
 
6849
6934
  // ../renderers/src/step/StepHeader.tsx
6850
6935
  var import_components68 = require("@transferwise/components");
6851
- var import_jsx_runtime97 = require("react/jsx-runtime");
6936
+ var import_jsx_runtime99 = require("react/jsx-runtime");
6852
6937
  var StepHeader = ({ title, description, tags }) => {
6853
6938
  const { titleType, alignmentClassName } = getHeaderStyle(tags);
6854
- return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
6855
- title ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_components68.Title, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
6856
- description ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("p", { className: `${alignmentClassName} np-text-body-large`, children: description }) : void 0
6939
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_jsx_runtime99.Fragment, { children: [
6940
+ title ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_components68.Title, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
6941
+ description ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("p", { className: `${alignmentClassName} np-text-body-large`, children: description }) : void 0
6857
6942
  ] });
6858
6943
  };
6859
6944
  var getHeaderStyle = (tags) => {
@@ -6866,11 +6951,11 @@ var getHeaderStyle = (tags) => {
6866
6951
  // ../renderers/src/step/topbar/BackButton.tsx
6867
6952
  var import_components69 = require("@transferwise/components");
6868
6953
  var import_icons7 = require("@transferwise/icons");
6869
- var import_react_intl36 = require("react-intl");
6954
+ var import_react_intl37 = require("react-intl");
6870
6955
 
6871
6956
  // ../renderers/src/messages/back.messages.ts
6872
- var import_react_intl35 = require("react-intl");
6873
- var back_messages_default = (0, import_react_intl35.defineMessages)({
6957
+ var import_react_intl36 = require("react-intl");
6958
+ var back_messages_default = (0, import_react_intl36.defineMessages)({
6874
6959
  back: {
6875
6960
  id: "df.wise.back.label",
6876
6961
  defaultMessage: "Back",
@@ -6879,30 +6964,30 @@ var back_messages_default = (0, import_react_intl35.defineMessages)({
6879
6964
  });
6880
6965
 
6881
6966
  // ../renderers/src/step/topbar/BackButton.tsx
6882
- var import_jsx_runtime98 = require("react/jsx-runtime");
6967
+ var import_jsx_runtime100 = require("react/jsx-runtime");
6883
6968
  function BackButton({ title, onClick }) {
6884
- const { formatMessage } = (0, import_react_intl36.useIntl)();
6885
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_components69.IconButton, { className: "df-back-button", priority: "tertiary", onClick, children: [
6886
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { className: "sr-only", children: title != null ? title : formatMessage(back_messages_default.back) }),
6887
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_icons7.ArrowLeft, {})
6969
+ const { formatMessage } = (0, import_react_intl37.useIntl)();
6970
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_components69.IconButton, { className: "df-back-button", priority: "tertiary", onClick, children: [
6971
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { className: "sr-only", children: title != null ? title : formatMessage(back_messages_default.back) }),
6972
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_icons7.ArrowLeft, {})
6888
6973
  ] });
6889
6974
  }
6890
6975
 
6891
6976
  // ../renderers/src/step/topbar/Toolbar.tsx
6892
6977
  var import_components70 = require("@transferwise/components");
6893
- var import_jsx_runtime99 = require("react/jsx-runtime");
6978
+ var import_jsx_runtime101 = require("react/jsx-runtime");
6894
6979
  var Toolbar = ({ items }) => {
6895
- return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
6980
+ return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
6896
6981
  };
6897
6982
  function ToolbarButton(props) {
6898
- return prefersMedia(props.control) ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(TextToolbarButton, __spreadValues({}, props));
6983
+ return prefersMedia(props.control) ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(TextToolbarButton, __spreadValues({}, props));
6899
6984
  }
6900
6985
  function MediaToolbarButton(props) {
6901
6986
  var _a;
6902
6987
  const { context, control, media, accessibilityDescription, disabled, onClick } = props;
6903
6988
  const priority = getIconButtonPriority(control);
6904
6989
  const type = getSentiment2(context);
6905
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
6990
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
6906
6991
  import_components70.IconButton,
6907
6992
  {
6908
6993
  className: "df-toolbar-button",
@@ -6912,7 +6997,7 @@ function MediaToolbarButton(props) {
6912
6997
  type,
6913
6998
  onClick,
6914
6999
  children: [
6915
- accessibilityDescription ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "sr-only", children: accessibilityDescription }) : null,
7000
+ accessibilityDescription ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "sr-only", children: accessibilityDescription }) : null,
6916
7001
  media ? (_a = getAddonStartMedia(media)) == null ? void 0 : _a.value : null
6917
7002
  ]
6918
7003
  }
@@ -6923,7 +7008,7 @@ function TextToolbarButton(props) {
6923
7008
  const addonStart = media ? getAddonStartMedia(media) : void 0;
6924
7009
  const priority = getPriority2(control);
6925
7010
  const sentiment = getSentiment2(context);
6926
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
7011
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
6927
7012
  import_components70.Button,
6928
7013
  {
6929
7014
  v2: true,
@@ -6953,18 +7038,18 @@ var getIconButtonPriority = (control) => {
6953
7038
  };
6954
7039
 
6955
7040
  // ../renderers/src/step/topbar/TopBar.tsx
6956
- var import_jsx_runtime100 = require("react/jsx-runtime");
7041
+ var import_jsx_runtime102 = require("react/jsx-runtime");
6957
7042
  function TopBar({ back, toolbar, tags }) {
6958
7043
  const isBackAllowed = !(tags == null ? void 0 : tags.includes("non-dismissible"));
6959
7044
  const backCTA = isBackAllowed ? back : void 0;
6960
- return backCTA || toolbar ? /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "d-flex m-b-2", children: [
6961
- backCTA ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(BackButton, __spreadValues({}, backCTA)) : null,
6962
- toolbar ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Toolbar, __spreadValues({}, toolbar)) : null
7045
+ return backCTA || toolbar ? /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "d-flex m-b-2", children: [
7046
+ backCTA ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(BackButton, __spreadValues({}, backCTA)) : null,
7047
+ toolbar ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Toolbar, __spreadValues({}, toolbar)) : null
6963
7048
  ] }) : null;
6964
7049
  }
6965
7050
 
6966
7051
  // ../renderers/src/step/SplashCelebrationStepRenderer.tsx
6967
- var import_jsx_runtime101 = require("react/jsx-runtime");
7052
+ var import_jsx_runtime103 = require("react/jsx-runtime");
6968
7053
  var SplashCelebrationStepRenderer = {
6969
7054
  canRenderType: "step",
6970
7055
  canRender: ({ control }) => control === "splash-celebration",
@@ -6973,23 +7058,23 @@ var SplashCelebrationStepRenderer = {
6973
7058
  function SplashCelebrationStepRendererComponent(props) {
6974
7059
  const { back, title, description, toolbar, children, footer, control, tags, trackEvent } = props;
6975
7060
  useCustomTheme("forest-green", trackEvent);
6976
- return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
7061
+ return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
6977
7062
  "div",
6978
7063
  {
6979
- className: (0, import_classnames33.default)("splash-screen", "m-t-5", controlAndTagsToCSSClass({ control, tags })),
7064
+ className: (0, import_classnames34.default)("splash-screen", "m-t-5", controlAndTagsToCSSClass({ control, tags })),
6980
7065
  children: [
6981
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(TopBar, { back, toolbar, tags }),
6982
- title || description ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "m-b-4", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(StepHeader, { title, description, tags }) }) : void 0,
7066
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(TopBar, { back, toolbar, tags }),
7067
+ title || description ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { className: "m-b-4", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(StepHeader, { title, description, tags }) }) : void 0,
6983
7068
  children,
6984
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(StepFooter, { footer, tags })
7069
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(StepFooter, { footer, tags })
6985
7070
  ]
6986
7071
  }
6987
7072
  );
6988
7073
  }
6989
7074
 
6990
7075
  // ../renderers/src/step/SplashStepRenderer.tsx
6991
- var import_classnames34 = __toESM(require_classnames());
6992
- var import_jsx_runtime102 = require("react/jsx-runtime");
7076
+ var import_classnames35 = __toESM(require_classnames());
7077
+ var import_jsx_runtime104 = require("react/jsx-runtime");
6993
7078
  var SplashStepRenderer = {
6994
7079
  canRenderType: "step",
6995
7080
  canRender: ({ control }) => control === "splash",
@@ -6997,15 +7082,15 @@ var SplashStepRenderer = {
6997
7082
  };
6998
7083
  function SplashStepRendererComponent(props) {
6999
7084
  const { back, title, description, toolbar, children, footer, control, tags } = props;
7000
- return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
7085
+ return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
7001
7086
  "div",
7002
7087
  {
7003
- className: (0, import_classnames34.default)("splash-screen", "m-t-5", controlAndTagsToCSSClass({ control, tags })),
7088
+ className: (0, import_classnames35.default)("splash-screen", "m-t-5", controlAndTagsToCSSClass({ control, tags })),
7004
7089
  children: [
7005
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(TopBar, { back, toolbar, tags }),
7006
- title || description ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { className: "m-b-4", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(StepHeader, { title, description, tags }) }) : void 0,
7090
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(TopBar, { back, toolbar, tags }),
7091
+ title || description ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: "m-b-4", children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(StepHeader, { title, description, tags }) }) : void 0,
7007
7092
  children,
7008
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(StepFooter, { footer, tags })
7093
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(StepFooter, { footer, tags })
7009
7094
  ]
7010
7095
  }
7011
7096
  );
@@ -7013,46 +7098,46 @@ function SplashStepRendererComponent(props) {
7013
7098
 
7014
7099
  // ../renderers/src/step/StepRenderer.tsx
7015
7100
  var import_components71 = require("@transferwise/components");
7016
- var import_jsx_runtime103 = require("react/jsx-runtime");
7101
+ var import_jsx_runtime105 = require("react/jsx-runtime");
7017
7102
  var StepRenderer = {
7018
7103
  canRenderType: "step",
7019
7104
  render: StepRendererComponent
7020
7105
  };
7021
7106
  function StepRendererComponent(props) {
7022
7107
  const { back, description, error, title, children, toolbar, footer, control, tags } = props;
7023
- return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: controlAndTagsToCSSClass({ control, tags }), children: [
7024
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(TopBar, { back, toolbar, tags }),
7025
- title || description ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { className: "m-b-4", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(StepHeader, { title, description, tags }) }) : void 0,
7026
- error ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(import_components71.Alert, { type: "negative", className: "m-b-2", message: error }) : null,
7108
+ return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: controlAndTagsToCSSClass({ control, tags }), children: [
7109
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(TopBar, { back, toolbar, tags }),
7110
+ title || description ? /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("div", { className: "m-b-4", children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(StepHeader, { title, description, tags }) }) : void 0,
7111
+ error ? /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_components71.Alert, { type: "negative", className: "m-b-2", message: error }) : null,
7027
7112
  children,
7028
- /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(StepFooter, { footer, tags })
7113
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(StepFooter, { footer, tags })
7029
7114
  ] });
7030
7115
  }
7031
7116
 
7032
7117
  // ../renderers/src/TabsRenderer.tsx
7033
7118
  var import_components72 = require("@transferwise/components");
7034
- var import_classnames35 = __toESM(require_classnames());
7035
- var import_react29 = require("react");
7036
- var import_jsx_runtime104 = require("react/jsx-runtime");
7119
+ var import_classnames36 = __toESM(require_classnames());
7120
+ var import_react30 = require("react");
7121
+ var import_jsx_runtime106 = require("react/jsx-runtime");
7037
7122
  var TabsRenderer = {
7038
7123
  canRenderType: "tabs",
7039
7124
  render: (props) => {
7040
7125
  switch (props.control) {
7041
7126
  case "segmented":
7042
7127
  if (props.tabs.length > 3) {
7043
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(TabsRendererComponent, __spreadValues({}, props));
7128
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(TabsRendererComponent, __spreadValues({}, props));
7044
7129
  }
7045
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(SegmentedTabsRendererComponent, __spreadValues({}, props));
7130
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(SegmentedTabsRendererComponent, __spreadValues({}, props));
7046
7131
  case "chips":
7047
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(ChipsTabsRendererComponent, __spreadValues({}, props));
7132
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(ChipsTabsRendererComponent, __spreadValues({}, props));
7048
7133
  default:
7049
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(TabsRendererComponent, __spreadValues({}, props));
7134
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(TabsRendererComponent, __spreadValues({}, props));
7050
7135
  }
7051
7136
  }
7052
7137
  };
7053
7138
  function TabsRendererComponent({ uid, margin, tabs, control, tags }) {
7054
- const [selectedIndex, setSelectedIndex] = (0, import_react29.useState)(0);
7055
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: (0, import_classnames35.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
7139
+ const [selectedIndex, setSelectedIndex] = (0, import_react30.useState)(0);
7140
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: (0, import_classnames36.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
7056
7141
  import_components72.Tabs,
7057
7142
  {
7058
7143
  name: uid,
@@ -7060,7 +7145,7 @@ function TabsRendererComponent({ uid, margin, tabs, control, tags }) {
7060
7145
  tabs: tabs.map((option) => ({
7061
7146
  title: option.title,
7062
7147
  disabled: false,
7063
- content: /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "m-t-2", children: [
7148
+ content: /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "m-t-2", children: [
7064
7149
  " ",
7065
7150
  option.children,
7066
7151
  " "
@@ -7072,9 +7157,9 @@ function TabsRendererComponent({ uid, margin, tabs, control, tags }) {
7072
7157
  }
7073
7158
  function SegmentedTabsRendererComponent({ uid, margin, tabs, control, tags }) {
7074
7159
  var _a;
7075
- const [selectedIndex, setSelectedIndex] = (0, import_react29.useState)(0);
7076
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: (0, import_classnames35.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
7077
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
7160
+ const [selectedIndex, setSelectedIndex] = (0, import_react30.useState)(0);
7161
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: (0, import_classnames36.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
7162
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
7078
7163
  import_components72.SegmentedControl,
7079
7164
  {
7080
7165
  name: uid,
@@ -7089,14 +7174,14 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs, control, tags }) {
7089
7174
  onChange: (value) => setSelectedIndex(Number(value))
7090
7175
  }
7091
7176
  ),
7092
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
7177
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
7093
7178
  ] });
7094
7179
  }
7095
7180
  function ChipsTabsRendererComponent({ margin, tabs, control, tags }) {
7096
7181
  var _a;
7097
- const [selectedIndex, setSelectedIndex] = (0, import_react29.useState)(0);
7098
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: (0, import_classnames35.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
7099
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: "chips-container", children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
7182
+ const [selectedIndex, setSelectedIndex] = (0, import_react30.useState)(0);
7183
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: (0, import_classnames36.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
7184
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "chips-container", children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
7100
7185
  import_components72.Chips,
7101
7186
  {
7102
7187
  chips: tabs.map((tab, index) => ({ label: tab.title, value: index })),
@@ -7104,23 +7189,23 @@ function ChipsTabsRendererComponent({ margin, tabs, control, tags }) {
7104
7189
  onChange: ({ selectedValue }) => setSelectedIndex(Number(selectedValue))
7105
7190
  }
7106
7191
  ) }),
7107
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
7192
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
7108
7193
  ] });
7109
7194
  }
7110
7195
 
7111
7196
  // ../renderers/src/TextInputRenderer.tsx
7112
7197
  var import_components74 = require("@transferwise/components");
7113
- var import_react31 = require("react");
7198
+ var import_react32 = require("react");
7114
7199
 
7115
7200
  // ../renderers/src/components/VariableTextInput.tsx
7116
7201
  var import_components73 = require("@transferwise/components");
7117
7202
  var import_icons8 = require("@transferwise/icons");
7118
- var import_react_intl38 = require("react-intl");
7119
- var import_react30 = require("react");
7203
+ var import_react_intl39 = require("react-intl");
7204
+ var import_react31 = require("react");
7120
7205
 
7121
7206
  // ../renderers/src/messages/ssn-input.messages.ts
7122
- var import_react_intl37 = require("react-intl");
7123
- var ssn_input_messages_default = (0, import_react_intl37.defineMessages)({
7207
+ var import_react_intl38 = require("react-intl");
7208
+ var ssn_input_messages_default = (0, import_react_intl38.defineMessages)({
7124
7209
  showValue: {
7125
7210
  id: "df.wise.ssnInput.showValue",
7126
7211
  defaultMessage: "Show value",
@@ -7205,7 +7290,7 @@ function getDisplayOffset(displayValue, rawOffset) {
7205
7290
  }
7206
7291
 
7207
7292
  // ../renderers/src/components/VariableTextInput.tsx
7208
- var import_jsx_runtime105 = require("react/jsx-runtime");
7293
+ var import_jsx_runtime107 = require("react/jsx-runtime");
7209
7294
  var commonKeys = [
7210
7295
  "autoComplete",
7211
7296
  "autoCapitalize",
@@ -7224,14 +7309,14 @@ function VariableTextInput(inputProps) {
7224
7309
  const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
7225
7310
  switch (control) {
7226
7311
  case "email":
7227
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
7312
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
7228
7313
  case "password":
7229
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
7314
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
7230
7315
  case "ssn-input":
7231
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SsnInput, __spreadProps(__spreadValues({}, commonProps), { isVisible: isSsnVisible, onChange }));
7316
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(SsnInput, __spreadProps(__spreadValues({}, commonProps), { isVisible: isSsnVisible, onChange }));
7232
7317
  case "numeric": {
7233
7318
  const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
7234
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
7319
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
7235
7320
  TextInput,
7236
7321
  __spreadProps(__spreadValues({}, numericProps), {
7237
7322
  onChange: (newValue) => {
@@ -7242,9 +7327,9 @@ function VariableTextInput(inputProps) {
7242
7327
  );
7243
7328
  }
7244
7329
  case "phone-number":
7245
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_components73.PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
7330
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_components73.PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
7246
7331
  default: {
7247
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
7332
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
7248
7333
  }
7249
7334
  }
7250
7335
  }
@@ -7252,8 +7337,8 @@ function SsnInputToggle({
7252
7337
  isVisible,
7253
7338
  onClick
7254
7339
  }) {
7255
- const { formatMessage } = (0, import_react_intl38.useIntl)();
7256
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
7340
+ const { formatMessage } = (0, import_react_intl39.useIntl)();
7341
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
7257
7342
  import_components73.IconButton,
7258
7343
  {
7259
7344
  priority: "minimal",
@@ -7261,7 +7346,7 @@ function SsnInputToggle({
7261
7346
  "aria-label": formatMessage(isVisible ? ssn_input_messages_default.hideValue : ssn_input_messages_default.showValue),
7262
7347
  "aria-pressed": isVisible,
7263
7348
  onClick,
7264
- children: isVisible ? /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_icons8.EyeShut, { size: 24 }) : /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_icons8.Eye, { size: 24 })
7349
+ children: isVisible ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_icons8.EyeShut, { size: 24 }) : /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(import_icons8.Eye, { size: 24 })
7265
7350
  }
7266
7351
  );
7267
7352
  }
@@ -7269,14 +7354,14 @@ function TextInput(props) {
7269
7354
  const _a = props, { control, displayFormat, onChange, type } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange", "type"]);
7270
7355
  const InputWithPattern = control === "textarea" ? import_components73.TextareaWithDisplayFormat : import_components73.InputWithDisplayFormat;
7271
7356
  const InputWithoutPattern = control === "textarea" ? import_components73.TextArea : import_components73.Input;
7272
- return displayFormat ? /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { type, onChange: (e) => onChange(e.target.value) }));
7357
+ return displayFormat ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { type, onChange: (e) => onChange(e.target.value) }));
7273
7358
  }
7274
7359
  function SsnInput(props) {
7275
7360
  const _a = props, { displayFormat = "", isVisible = false, onChange, value = "" } = _a, commonProps = __objRest(_a, ["displayFormat", "isVisible", "onChange", "value"]);
7276
- const [editVersion, setEditVersion] = (0, import_react30.useState)(0);
7277
- const inputRef = (0, import_react30.useRef)(null);
7278
- const selection = (0, import_react30.useRef)({ start: 0, end: 0 });
7279
- const pendingCaret = (0, import_react30.useRef)(null);
7361
+ const [editVersion, setEditVersion] = (0, import_react31.useState)(0);
7362
+ const inputRef = (0, import_react31.useRef)(null);
7363
+ const selection = (0, import_react31.useRef)({ start: 0, end: 0 });
7364
+ const pendingCaret = (0, import_react31.useRef)(null);
7280
7365
  const rawValue = value.replace(/\D/g, "");
7281
7366
  const formattedValue = formatSsnValue(rawValue, displayFormat, isVisible);
7282
7367
  const scheduleCaret = (rawOffset) => {
@@ -7296,7 +7381,7 @@ function SsnInput(props) {
7296
7381
  scheduleCaret(result.caret);
7297
7382
  onChange(result.value);
7298
7383
  };
7299
- (0, import_react30.useLayoutEffect)(() => {
7384
+ (0, import_react31.useLayoutEffect)(() => {
7300
7385
  if (pendingCaret.current === null || !inputRef.current) {
7301
7386
  return;
7302
7387
  }
@@ -7306,7 +7391,7 @@ function SsnInput(props) {
7306
7391
  );
7307
7392
  pendingCaret.current = null;
7308
7393
  }, [editVersion, formattedValue, rawValue]);
7309
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
7394
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
7310
7395
  "input",
7311
7396
  __spreadProps(__spreadValues({
7312
7397
  ref: inputRef
@@ -7369,13 +7454,13 @@ function SsnInput(props) {
7369
7454
  }
7370
7455
 
7371
7456
  // ../renderers/src/TextInputRenderer.tsx
7372
- var import_jsx_runtime106 = require("react/jsx-runtime");
7457
+ var import_jsx_runtime108 = require("react/jsx-runtime");
7373
7458
  var TextInputRenderer = {
7374
7459
  canRenderType: "input-text",
7375
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(TextInputRendererComponent, __spreadValues({}, props))
7460
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(TextInputRendererComponent, __spreadValues({}, props))
7376
7461
  };
7377
7462
  function TextInputRendererComponent(props) {
7378
- const [isSsnVisible, setIsSsnVisible] = (0, import_react31.useState)(false);
7463
+ const [isSsnVisible, setIsSsnVisible] = (0, import_react32.useState)(false);
7379
7464
  const _a = props, {
7380
7465
  id,
7381
7466
  title,
@@ -7407,7 +7492,7 @@ function TextInputRendererComponent(props) {
7407
7492
  }
7408
7493
  }
7409
7494
  });
7410
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
7495
+ return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
7411
7496
  FieldInput_default,
7412
7497
  {
7413
7498
  id,
@@ -7420,13 +7505,13 @@ function TextInputRendererComponent(props) {
7420
7505
  features: props.features,
7421
7506
  control: props.control,
7422
7507
  tags: props.tags,
7423
- children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
7508
+ children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
7424
7509
  import_components74.InputGroup,
7425
7510
  {
7426
7511
  addonStart: getInputGroupAddonStart(media),
7427
7512
  addonEnd: isSsnInput ? {
7428
7513
  interactive: true,
7429
- content: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
7514
+ content: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
7430
7515
  SsnInputToggle,
7431
7516
  {
7432
7517
  isVisible: isSsnVisible,
@@ -7434,7 +7519,7 @@ function TextInputRendererComponent(props) {
7434
7519
  }
7435
7520
  )
7436
7521
  } : void 0,
7437
- children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(VariableTextInput, __spreadValues({}, inputProps))
7522
+ children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(VariableTextInput, __spreadValues({}, inputProps))
7438
7523
  }
7439
7524
  )
7440
7525
  }
@@ -7443,12 +7528,12 @@ function TextInputRendererComponent(props) {
7443
7528
  var TextInputRenderer_default = TextInputRenderer;
7444
7529
 
7445
7530
  // ../renderers/src/UpdatableRenderer.tsx
7446
- var import_classnames36 = __toESM(require_classnames());
7447
- var import_jsx_runtime107 = require("react/jsx-runtime");
7531
+ var import_classnames37 = __toESM(require_classnames());
7532
+ var import_jsx_runtime109 = require("react/jsx-runtime");
7448
7533
  var UpdatableRenderer = {
7449
7534
  canRenderType: "updatable",
7450
7535
  render: ({ children, control, margin, tags }) => {
7451
- return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: (0, import_classnames36.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children });
7536
+ return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: (0, import_classnames37.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children });
7452
7537
  }
7453
7538
  };
7454
7539
 
@@ -7459,7 +7544,7 @@ var import_components75 = require("@transferwise/components");
7459
7544
  var getRandomId = () => Math.random().toString(36).substring(2);
7460
7545
 
7461
7546
  // ../renderers/src/UploadInputRenderer.tsx
7462
- var import_jsx_runtime108 = require("react/jsx-runtime");
7547
+ var import_jsx_runtime110 = require("react/jsx-runtime");
7463
7548
  var UploadInputRenderer = {
7464
7549
  canRenderType: "input-upload",
7465
7550
  render: (props) => {
@@ -7488,7 +7573,7 @@ var UploadInputRenderer = {
7488
7573
  };
7489
7574
  return (
7490
7575
  // We don't pass help here as there is no sensible place to display it
7491
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
7576
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
7492
7577
  UploadFieldInput_default,
7493
7578
  {
7494
7579
  id,
@@ -7498,7 +7583,7 @@ var UploadInputRenderer = {
7498
7583
  features,
7499
7584
  control,
7500
7585
  tags,
7501
- children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
7586
+ children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
7502
7587
  import_components75.UploadInput,
7503
7588
  {
7504
7589
  id,
@@ -7568,7 +7653,7 @@ var LargeUploadRenderer = {
7568
7653
  };
7569
7654
  const filetypes = acceptsToFileTypes(accepts);
7570
7655
  const usAccept = filetypes === "*" ? "*" : filetypes.join(",");
7571
- return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
7656
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
7572
7657
  FieldInput_default,
7573
7658
  {
7574
7659
  id,
@@ -7579,7 +7664,7 @@ var LargeUploadRenderer = {
7579
7664
  features,
7580
7665
  control,
7581
7666
  tags,
7582
- children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
7667
+ children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
7583
7668
  import_components75.Upload,
7584
7669
  __spreadProps(__spreadValues({}, uploadProps), {
7585
7670
  usAccept,
@@ -7596,20 +7681,20 @@ var LargeUploadRenderer = {
7596
7681
 
7597
7682
  // ../renderers/src/UpsellRenderer.tsx
7598
7683
  var import_components76 = require("@transferwise/components");
7599
- var import_classnames37 = __toESM(require_classnames());
7600
- var import_react32 = require("react");
7601
- var import_jsx_runtime109 = require("react/jsx-runtime");
7684
+ var import_classnames38 = __toESM(require_classnames());
7685
+ var import_react33 = require("react");
7686
+ var import_jsx_runtime111 = require("react/jsx-runtime");
7602
7687
  var UpsellRenderer = {
7603
7688
  canRenderType: "upsell",
7604
7689
  render: UpsellRendererComponent
7605
7690
  };
7606
7691
  function UpsellRendererComponent(props) {
7607
7692
  const { text, callToAction, media, margin, onDismiss, control, tags } = props;
7608
- const [isVisible, setIsVisible] = (0, import_react32.useState)(true);
7609
- return isVisible ? /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
7693
+ const [isVisible, setIsVisible] = (0, import_react33.useState)(true);
7694
+ return isVisible ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
7610
7695
  import_components76.Nudge,
7611
7696
  {
7612
- className: (0, import_classnames37.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })),
7697
+ className: (0, import_classnames38.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })),
7613
7698
  mediaName: getMediaName(media),
7614
7699
  title: text,
7615
7700
  action: __spreadValues({
@@ -7708,11 +7793,11 @@ var getWiseRenderers = () => [
7708
7793
 
7709
7794
  // ../renderers/src/InitialLoadingStateRenderer.tsx
7710
7795
  var import_components77 = require("@transferwise/components");
7711
- var import_jsx_runtime110 = require("react/jsx-runtime");
7796
+ var import_jsx_runtime112 = require("react/jsx-runtime");
7712
7797
  var InitialLoadingStateRenderer = {
7713
7798
  canRenderType: "loading-state",
7714
7799
  canRender: ({ stepLoadingState }) => stepLoadingState === "initial",
7715
- render: () => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
7800
+ render: () => /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
7716
7801
  import_components77.Loader,
7717
7802
  {
7718
7803
  size: "md",
@@ -7725,24 +7810,24 @@ var InitialLoadingStateRenderer = {
7725
7810
  // src/dynamicFlow/DynamicFlowModal.tsx
7726
7811
  var import_dynamic_flow_client = require("@wise/dynamic-flow-client");
7727
7812
  var import_components78 = require("@transferwise/components");
7728
- var import_jsx_runtime111 = require("react/jsx-runtime");
7813
+ var import_jsx_runtime113 = require("react/jsx-runtime");
7729
7814
  function DynamicFlowModal(props) {
7730
7815
  const _a = props, { className = "" } = _a, rest = __objRest(_a, ["className"]);
7731
7816
  const dfProps = useWiseToCoreProps(rest);
7732
7817
  const df = (0, import_dynamic_flow_client.useDynamicFlowModal)(dfProps);
7733
- return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
7818
+ return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
7734
7819
  import_components78.Modal,
7735
7820
  __spreadProps(__spreadValues({
7736
7821
  className: `dynamic-flow-modal ${className}`,
7737
7822
  disableDimmerClickToClose: true
7738
7823
  }, df.modal), {
7739
- body: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { className: "dynamic-flow-modal", children: df.modal.body })
7824
+ body: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { className: "dynamic-flow-modal", children: df.modal.body })
7740
7825
  })
7741
7826
  );
7742
7827
  }
7743
7828
 
7744
7829
  // src/dynamicFlow/getMergedRenderers.tsx
7745
- var import_jsx_runtime112 = require("react/jsx-runtime");
7830
+ var import_jsx_runtime114 = require("react/jsx-runtime");
7746
7831
  var wiseRenderers = getWiseRenderers();
7747
7832
  var getMergedRenderers = (props) => {
7748
7833
  var _d, _e;
@@ -7756,7 +7841,7 @@ var getMergedRenderers = (props) => {
7756
7841
  method: initialRequest.method,
7757
7842
  data: initialRequest.body
7758
7843
  };
7759
- return presentation.type === "push" ? /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
7844
+ return presentation.type === "push" ? /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
7760
7845
  DynamicFlowModal,
7761
7846
  __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), {
7762
7847
  features: subflowFeatures,
@@ -7835,12 +7920,12 @@ var customEventsToAnalytics = {
7835
7920
  };
7836
7921
 
7837
7922
  // src/dynamicFlow/useOnCopy.tsx
7838
- var import_react33 = require("react");
7839
- var import_react_intl40 = require("react-intl");
7923
+ var import_react34 = require("react");
7924
+ var import_react_intl41 = require("react-intl");
7840
7925
 
7841
7926
  // src/dynamicFlow/messages.ts
7842
- var import_react_intl39 = require("react-intl");
7843
- var messages_default = (0, import_react_intl39.defineMessages)({
7927
+ var import_react_intl40 = require("react-intl");
7928
+ var messages_default = (0, import_react_intl40.defineMessages)({
7844
7929
  copied: {
7845
7930
  id: "df.wise.CopyFeedback.copy",
7846
7931
  defaultMessage: "Copied to clipboard",
@@ -7855,9 +7940,9 @@ var messages_default = (0, import_react_intl39.defineMessages)({
7855
7940
 
7856
7941
  // src/dynamicFlow/useOnCopy.tsx
7857
7942
  var useOnCopy = () => {
7858
- const { formatMessage } = (0, import_react_intl40.useIntl)();
7943
+ const { formatMessage } = (0, import_react_intl41.useIntl)();
7859
7944
  const createSnackBar = useSnackBarIfAvailable();
7860
- return (0, import_react33.useCallback)(
7945
+ return (0, import_react34.useCallback)(
7861
7946
  (copiedContent) => {
7862
7947
  if (copiedContent) {
7863
7948
  createSnackBar({ text: formatMessage(messages_default.copied) });
@@ -7870,11 +7955,11 @@ var useOnCopy = () => {
7870
7955
  };
7871
7956
 
7872
7957
  // src/dynamicFlow/useWiseHttpClient.tsx
7873
- var import_react34 = require("react");
7874
- var import_react_intl41 = require("react-intl");
7958
+ var import_react35 = require("react");
7959
+ var import_react_intl42 = require("react-intl");
7875
7960
  var useWiseHttpClient = (httpClient) => {
7876
- const { locale } = (0, import_react_intl41.useIntl)();
7877
- return (0, import_react34.useCallback)(
7961
+ const { locale } = (0, import_react_intl42.useIntl)();
7962
+ return (0, import_react35.useCallback)(
7878
7963
  async (input, init = {}) => {
7879
7964
  const headers = new Headers(init.headers);
7880
7965
  headers.set("accept-language", locale);
@@ -7915,10 +8000,10 @@ var useWiseToCoreProps = (props) => {
7915
8000
  onLog
7916
8001
  } = props;
7917
8002
  const httpClient = useWiseHttpClient(customFetch);
7918
- const mergedRenderers = (0, import_react35.useMemo)(() => getMergedRenderers(props), [renderers]);
8003
+ const mergedRenderers = (0, import_react36.useMemo)(() => getMergedRenderers(props), [renderers]);
7919
8004
  const createSnackBar = useCreateSnackBar();
7920
- const logEvent = (0, import_react35.useMemo)(() => getLogEvent(onLog), [onLog]);
7921
- const trackEvent = (0, import_react35.useMemo)(() => getTrackEvent(onEvent, onAnalytics), [onEvent, onAnalytics]);
8005
+ const logEvent = (0, import_react36.useMemo)(() => getLogEvent(onLog), [onLog]);
8006
+ const trackEvent = (0, import_react36.useMemo)(() => getTrackEvent(onEvent, onAnalytics), [onEvent, onAnalytics]);
7922
8007
  const onCopy = useOnCopy();
7923
8008
  return __spreadProps(__spreadValues({}, props), {
7924
8009
  httpClient,
@@ -7953,27 +8038,27 @@ var openLinkInNewTab = (url) => {
7953
8038
  };
7954
8039
 
7955
8040
  // src/dynamicFlow/DynamicFlow.tsx
7956
- var import_jsx_runtime113 = require("react/jsx-runtime");
8041
+ var import_jsx_runtime115 = require("react/jsx-runtime");
7957
8042
  function DynamicFlow(props) {
7958
8043
  const { className = "" } = props;
7959
8044
  const dfProps = useWiseToCoreProps(props);
7960
8045
  const df = (0, import_dynamic_flow_client4.useDynamicFlow)(dfProps);
7961
8046
  const { onContextMenu, contextMenu } = useDFContextMenu(df.controller);
7962
- return /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("div", { className, onContextMenu, children: [
8047
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className, onContextMenu, children: [
7963
8048
  df.view,
7964
8049
  contextMenu
7965
8050
  ] });
7966
8051
  }
7967
8052
 
7968
8053
  // src/dynamicFlow/DynamicFlowWithRef.tsx
7969
- var import_react36 = require("react");
8054
+ var import_react37 = require("react");
7970
8055
  var import_dynamic_flow_client5 = require("@wise/dynamic-flow-client");
7971
- var import_jsx_runtime114 = require("react/jsx-runtime");
7972
- var DynamicFlowWithRef = (0, import_react36.forwardRef)(function DynamicFlowWithRef2(props, ref) {
8056
+ var import_jsx_runtime116 = require("react/jsx-runtime");
8057
+ var DynamicFlowWithRef = (0, import_react37.forwardRef)(function DynamicFlowWithRef2(props, ref) {
7973
8058
  const { className = "" } = props;
7974
8059
  const dfProps = useWiseToCoreProps(props);
7975
8060
  const df = (0, import_dynamic_flow_client5.useDynamicFlow)(dfProps);
7976
- (0, import_react36.useImperativeHandle)(
8061
+ (0, import_react37.useImperativeHandle)(
7977
8062
  ref,
7978
8063
  () => ({
7979
8064
  getValue: () => {
@@ -7984,7 +8069,7 @@ var DynamicFlowWithRef = (0, import_react36.forwardRef)(function DynamicFlowWith
7984
8069
  }),
7985
8070
  [df]
7986
8071
  );
7987
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("div", { className, children: df.view });
8072
+ return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("div", { className, children: df.view });
7988
8073
  });
7989
8074
 
7990
8075
  // src/index.ts
@@ -7995,6 +8080,7 @@ var Header10 = Header;
7995
8080
  var Media2 = Media;
7996
8081
  var getMargin2 = getMargin;
7997
8082
  var createCollectionRenderer2 = createCollectionRenderer;
8083
+ var createContactsCollectionRenderer2 = createContactsCollectionRenderer;
7998
8084
 
7999
8085
  // src/i18n/index.ts
8000
8086
  var import_dynamic_flow_client6 = require("@wise/dynamic-flow-client");