@wise/dynamic-flow-client-internal 5.23.0-experimental-2dcb025 → 5.24.0-experimental-9265cac

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
@@ -145,7 +145,7 @@ var import_dynamic_flow_client4 = require("@wise/dynamic-flow-client");
145
145
  // src/dynamicFlow/telemetry/app-version.ts
146
146
  var appVersion = (
147
147
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
148
- typeof process !== "undefined" ? "5.22.0" : "0.0.0"
148
+ typeof process !== "undefined" ? "5.23.0" : "0.0.0"
149
149
  );
150
150
 
151
151
  // src/dynamicFlow/context-menu/useContextMenu.tsx
@@ -329,7 +329,7 @@ var recursivelyRemoveNullish = (element) => {
329
329
  };
330
330
 
331
331
  // src/dynamicFlow/useWiseToCoreProps.tsx
332
- var import_react26 = require("react");
332
+ var import_react27 = require("react");
333
333
 
334
334
  // src/dynamicFlow/getMergedRenderers.tsx
335
335
  var import_dynamic_flow_client2 = require("@wise/dynamic-flow-client");
@@ -660,7 +660,7 @@ var AvatarMedia = ({
660
660
  }
661
661
  );
662
662
  }
663
- const avatarsWithoutBadges = avatars.filter(({ asset, icon }) => asset || icon).slice(0, 2).map(({ asset, icon, backgroundColor, color }) => ({
663
+ const avatarsWithoutBadges = avatars.filter(({ asset, icon }) => Boolean(asset || icon)).slice(0, 2).map(({ asset, icon, backgroundColor, color }) => ({
664
664
  asset: icon != null ? icon : asset,
665
665
  style: { backgroundColor, color }
666
666
  }));
@@ -747,16 +747,19 @@ var LegacyMedia = ({ image, icon, preferAvatar, size }) => {
747
747
  const iconNode = getIconNode(icon);
748
748
  const badge = getBadgedMedia(iconNode, imageNode, size);
749
749
  if (badge) {
750
- return badge;
750
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_jsx_runtime12.Fragment, { children: badge });
751
751
  }
752
752
  if (imageNode) {
753
- return preferAvatar ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_components5.AvatarView, { children: imageNode }) : imageNode;
753
+ return preferAvatar ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_components5.AvatarView, { children: imageNode }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
754
+ imageNode,
755
+ " "
756
+ ] });
754
757
  }
755
758
  if (iconNode && icon) {
756
759
  if ("text" in icon || size === 48) {
757
760
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_components5.AvatarView, { size, children: iconNode });
758
761
  }
759
- return iconNode;
762
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_jsx_runtime12.Fragment, { children: iconNode });
760
763
  }
761
764
  return null;
762
765
  };
@@ -2169,6 +2172,7 @@ var ContentComponent = (props) => {
2169
2172
  const isBottomVisible = useIsElementVisible(endOfContentRef);
2170
2173
  (0, import_react6.useEffect)(() => {
2171
2174
  var _a;
2175
+ console.log("bottom visible", status);
2172
2176
  if (isBottomVisible && status.type === "idle" && status.loadMore) {
2173
2177
  (_a = status.loadMore) == null ? void 0 : _a.call(status);
2174
2178
  }
@@ -2209,9 +2213,10 @@ var ContentComponent = (props) => {
2209
2213
  overscan: 10,
2210
2214
  scrollMargin: listOffsetRef.current
2211
2215
  });
2216
+ const showState = status.type === "idle" || status.reason === "pagination";
2212
2217
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { ref: listRef, children: [
2213
- state.beforeSections,
2214
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2218
+ showState && state.beforeSections,
2219
+ showState && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2215
2220
  "div",
2216
2221
  {
2217
2222
  style: {
@@ -2244,10 +2249,10 @@ var ContentComponent = (props) => {
2244
2249
  }
2245
2250
  ),
2246
2251
  /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { ref: endOfContentRef, className: "d-flex m-x-auto m-y-2", children: [
2247
- status.type === "idle" || status.type === "loading" && status.reason === "pagination" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_components13.ProcessIndicator, { size: "xs" }) : null,
2252
+ status.type === "idle" && status.loadMore || status.type === "loading" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_components13.ProcessIndicator, { size: "xs" }) : null,
2248
2253
  status.type === "error" && status.reason === "pagination" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "d-flex m-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_components13.Button, { v2: true, size: "sm", priority: "secondary-neutral", onClick: status.retry, children: "Load more" }) }) : null
2249
2254
  ] }),
2250
- state.afterSections
2255
+ showState && state.afterSections
2251
2256
  ] });
2252
2257
  };
2253
2258
 
@@ -2309,13 +2314,6 @@ var FilterComponent = (filter) => {
2309
2314
  multiple: multiSelect,
2310
2315
  selected: options.some((option) => option.selected) ? options.filter((option) => option.selected).map((option) => option.value) : multiSelect ? [] : "",
2311
2316
  chips: [
2312
- ...multiSelect ? [
2313
- {
2314
- value: "",
2315
- // this is a placeholder for now, only for single selects, when it is not possible to de-select options
2316
- label: "All"
2317
- }
2318
- ] : [],
2319
2317
  ...options.map((option) => ({
2320
2318
  value: option.value,
2321
2319
  label: option.title
@@ -2473,7 +2471,7 @@ var CollectionRendererComponent = (props) => {
2473
2471
  return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
2474
2472
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Search4, __spreadValues({}, props)),
2475
2473
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Filters, __spreadValues({}, props)),
2476
- status.type === "idle" || status.reason === "pagination" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Results, __spreadValues({}, props)) : void 0,
2474
+ status.type === "idle" || status.type === "loading" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Results, __spreadValues({}, props)) : void 0,
2477
2475
  status.type === "error" && status.reason === "search" && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_components19.InlinePrompt, { width: "full", sentiment: "negative", children: [
2478
2476
  "Something went wrong,\xA0",
2479
2477
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_components19.Link, { onClick: status.retry, children: "click here to retry" })
@@ -2492,10 +2490,47 @@ var CollectionRenderer_default = CollectionRenderer;
2492
2490
 
2493
2491
  // ../renderers/src/ColumnsRenderer.tsx
2494
2492
  var import_classnames3 = __toESM(require_classnames());
2493
+
2494
+ // ../renderers/src/utils/useIsCollapsed.ts
2495
+ var import_react7 = require("react");
2496
+ var COLLAPSE_QUERY = "(max-width: 767.98px)";
2497
+ var supportsMatchMedia = () => typeof window !== "undefined" && !!window.matchMedia;
2498
+ var useIsCollapsed = () => {
2499
+ const [collapsed, setCollapsed] = (0, import_react7.useState)(
2500
+ () => supportsMatchMedia() && window.matchMedia(COLLAPSE_QUERY).matches
2501
+ );
2502
+ (0, import_react7.useEffect)(() => {
2503
+ if (supportsMatchMedia()) {
2504
+ const mql = window.matchMedia(COLLAPSE_QUERY);
2505
+ const update = () => setCollapsed(mql.matches);
2506
+ mql.addEventListener("change", update);
2507
+ return () => mql.removeEventListener("change", update);
2508
+ }
2509
+ return void 0;
2510
+ }, []);
2511
+ return collapsed;
2512
+ };
2513
+
2514
+ // ../renderers/src/ColumnsRenderer.tsx
2495
2515
  var import_jsx_runtime34 = require("react/jsx-runtime");
2516
+ var RIGHT_FIRST_STACKING = "right-first-stacking";
2496
2517
  var ColumnsRenderer = {
2497
2518
  canRenderType: "columns",
2498
- render: ({ bias, margin, startChildren, endChildren }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2519
+ render: ColumnsRendererComponent
2520
+ };
2521
+ function ColumnsRendererComponent({
2522
+ bias,
2523
+ margin,
2524
+ startChildren,
2525
+ endChildren,
2526
+ tags
2527
+ }) {
2528
+ var _a;
2529
+ const isCollapsed = useIsCollapsed();
2530
+ const reverse = isCollapsed && ((_a = tags == null ? void 0 : tags.includes(RIGHT_FIRST_STACKING)) != null ? _a : false);
2531
+ const startColumn = /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "df-columns-renderer-column", children: startChildren });
2532
+ const endColumn = /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "df-columns-renderer-column", children: endChildren });
2533
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2499
2534
  "div",
2500
2535
  {
2501
2536
  className: (0, import_classnames3.default)("df-columns-renderer-container", getMargin(margin), {
@@ -2503,12 +2538,12 @@ var ColumnsRenderer = {
2503
2538
  "df-columns-renderer-bias-end": bias === "end"
2504
2539
  }),
2505
2540
  children: [
2506
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "df-columns-renderer-column", children: startChildren }),
2507
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "df-columns-renderer-column", children: endChildren })
2541
+ reverse ? endColumn : startColumn,
2542
+ reverse ? startColumn : endColumn
2508
2543
  ]
2509
2544
  }
2510
- )
2511
- };
2545
+ );
2546
+ }
2512
2547
  var ColumnsRenderer_default = ColumnsRenderer;
2513
2548
 
2514
2549
  // ../renderers/src/components/VariableDateInput.tsx
@@ -2636,7 +2671,7 @@ var import_components23 = require("@transferwise/components");
2636
2671
 
2637
2672
  // ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
2638
2673
  var import_components22 = require("@transferwise/components");
2639
- var import_react7 = require("react");
2674
+ var import_react8 = require("react");
2640
2675
  var import_react_intl10 = require("react-intl");
2641
2676
 
2642
2677
  // ../renderers/src/messages/filter.messages.ts
@@ -2782,7 +2817,7 @@ var UnfilteredDecisionList = (_a) => {
2782
2817
  };
2783
2818
  var FilteredDecisionList = (props) => {
2784
2819
  const { formatMessage } = (0, import_react_intl10.useIntl)();
2785
- const [query, setQuery] = (0, import_react7.useState)("");
2820
+ const [query, setQuery] = (0, import_react8.useState)("");
2786
2821
  const { control, options, renderDecisionList: renderDecisionList2 } = props;
2787
2822
  const filteredOptions = (query == null ? void 0 : query.length) > 0 ? filterAndSortDecisionOptions(options, query) : options;
2788
2823
  const isGrouped = isGroupedDecision(options);
@@ -2899,7 +2934,7 @@ var external_confirmation_messages_default = (0, import_react_intl11.defineMessa
2899
2934
 
2900
2935
  // ../renderers/src/ExternalConfirmationRenderer.tsx
2901
2936
  var import_react_intl12 = require("react-intl");
2902
- var import_react8 = require("react");
2937
+ var import_react9 = require("react");
2903
2938
  var import_jsx_runtime41 = require("react/jsx-runtime");
2904
2939
  var ExternalConfirmationRenderer = {
2905
2940
  canRenderType: "external-confirmation",
@@ -2912,7 +2947,7 @@ function ExternalConfirmationRendererComponent({
2912
2947
  onCancel
2913
2948
  }) {
2914
2949
  const { formatMessage } = (0, import_react_intl12.useIntl)();
2915
- (0, import_react8.useEffect)(() => {
2950
+ (0, import_react9.useEffect)(() => {
2916
2951
  open();
2917
2952
  }, []);
2918
2953
  return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
@@ -3026,7 +3061,7 @@ var HeadingRenderer_default = HeadingRenderer;
3026
3061
 
3027
3062
  // ../renderers/src/ImageRenderer/UrlImage.tsx
3028
3063
  var import_components28 = require("@transferwise/components");
3029
- var import_react9 = require("react");
3064
+ var import_react10 = require("react");
3030
3065
 
3031
3066
  // ../renderers/src/utils/api-utils.ts
3032
3067
  function isRelativePath(url = "") {
@@ -3045,8 +3080,8 @@ function UrlImage({
3045
3080
  uri,
3046
3081
  httpClient
3047
3082
  }) {
3048
- const [imageSource, setImageSource] = (0, import_react9.useState)("");
3049
- (0, import_react9.useEffect)(() => {
3083
+ const [imageSource, setImageSource] = (0, import_react10.useState)("");
3084
+ (0, import_react10.useEffect)(() => {
3050
3085
  if (!uri.startsWith("urn:")) {
3051
3086
  void getImageSource(httpClient, uri).then(setImageSource);
3052
3087
  }
@@ -3109,19 +3144,19 @@ function UrnFlagImage({
3109
3144
 
3110
3145
  // ../renderers/src/ImageRenderer/UrnIllustration.tsx
3111
3146
  var import_art4 = require("@wise/art");
3112
- var import_react11 = require("react");
3147
+ var import_react12 = require("react");
3113
3148
 
3114
3149
  // ../renderers/src/ImageRenderer/isAnimated.ts
3115
3150
  var isAnimated = (uri) => {
3116
3151
  const { rComponents } = stringToURN(uri);
3117
- return rComponents["type"] === "animated";
3152
+ return rComponents.type === "animated";
3118
3153
  };
3119
3154
 
3120
3155
  // ../renderers/src/ImageRenderer/SafeIllustration3D.tsx
3121
3156
  var import_art3 = require("@wise/art");
3122
- var import_react10 = require("react");
3157
+ var import_react11 = require("react");
3123
3158
  var import_jsx_runtime47 = require("react/jsx-runtime");
3124
- var Illustration3DErrorBoundary = class extends import_react10.Component {
3159
+ var Illustration3DErrorBoundary = class extends import_react11.Component {
3125
3160
  constructor(props) {
3126
3161
  super(props);
3127
3162
  this.state = { hasError: false };
@@ -3132,7 +3167,7 @@ var Illustration3DErrorBoundary = class extends import_react10.Component {
3132
3167
  componentDidCatch() {
3133
3168
  this.props.onError();
3134
3169
  }
3135
- render() {
3170
+ async render() {
3136
3171
  if (this.state.hasError) {
3137
3172
  return null;
3138
3173
  }
@@ -3159,7 +3194,7 @@ function UrnIllustration({
3159
3194
  size,
3160
3195
  uri
3161
3196
  }) {
3162
- const [has3DFailed, setHas3DFailed] = (0, import_react11.useState)(false);
3197
+ const [has3DFailed, setHas3DFailed] = (0, import_react12.useState)(false);
3163
3198
  const illustrationSize = getIllustrationSize(size);
3164
3199
  const illustrationName = getIllustrationName(uri);
3165
3200
  const illustration3DName = getIllustration3DName(uri);
@@ -3451,7 +3486,7 @@ var mapAvatarMediaSize = (size) => {
3451
3486
 
3452
3487
  // ../renderers/src/ModalLayoutRenderer.tsx
3453
3488
  var import_components35 = require("@transferwise/components");
3454
- var import_react12 = require("react");
3489
+ var import_react13 = require("react");
3455
3490
  var import_jsx_runtime58 = require("react/jsx-runtime");
3456
3491
  var ModalLayoutRenderer = {
3457
3492
  canRenderType: "modal-layout",
@@ -3459,7 +3494,7 @@ var ModalLayoutRenderer = {
3459
3494
  };
3460
3495
  var ModalLayoutRenderer_default = ModalLayoutRenderer;
3461
3496
  function DFModal({ content, margin, trigger }) {
3462
- const [visible, setVisible] = (0, import_react12.useState)(false);
3497
+ const [visible, setVisible] = (0, import_react13.useState)(false);
3463
3498
  const { children, title } = content;
3464
3499
  return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: getMargin(margin), children: [
3465
3500
  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_components35.Button, { v2: true, priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
@@ -3489,7 +3524,7 @@ var ModalRenderer = {
3489
3524
 
3490
3525
  // ../renderers/src/MoneyInputRenderer.tsx
3491
3526
  var import_components37 = require("@transferwise/components");
3492
- var import_react13 = require("react");
3527
+ var import_react14 = require("react");
3493
3528
  var import_react_intl13 = require("react-intl");
3494
3529
  var import_jsx_runtime60 = require("react/jsx-runtime");
3495
3530
  var groupingTags2 = Object.keys(group_messages_default).filter((key) => key !== "all");
@@ -3512,7 +3547,7 @@ function MoneyInputRendererComponent(props) {
3512
3547
  onAmountChange,
3513
3548
  onCurrencyChange
3514
3549
  } = props;
3515
- (0, import_react13.useEffect)(() => {
3550
+ (0, import_react14.useEffect)(() => {
3516
3551
  if (!isValidIndex(selectedCurrencyIndex, currencies.length)) {
3517
3552
  onCurrencyChange(0);
3518
3553
  }
@@ -3657,7 +3692,7 @@ function InlineComponent(props) {
3657
3692
 
3658
3693
  // ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
3659
3694
  var import_components39 = require("@transferwise/components");
3660
- var import_react14 = require("react");
3695
+ var import_react15 = require("react");
3661
3696
  var import_react_intl15 = require("react-intl");
3662
3697
 
3663
3698
  // ../renderers/src/messages/multi-select.messages.ts
@@ -3674,7 +3709,7 @@ var multi_select_messages_default = (0, import_react_intl14.defineMessages)({
3674
3709
  var import_jsx_runtime62 = require("react/jsx-runtime");
3675
3710
  function DefaultComponent(props) {
3676
3711
  const { formatMessage } = (0, import_react_intl15.useIntl)();
3677
- const [stagedIndices, setStagedIndices] = (0, import_react14.useState)();
3712
+ const [stagedIndices, setStagedIndices] = (0, import_react15.useState)();
3678
3713
  const {
3679
3714
  id,
3680
3715
  autoComplete,
@@ -3938,10 +3973,10 @@ var MultiUploadInputRenderer = {
3938
3973
  "aria-describedby": descriptionId,
3939
3974
  description,
3940
3975
  disabled,
3941
- files: value.map(({ id: id2, file, validationState: validationState2 }) => ({
3942
- id: id2,
3976
+ files: value.map(({ id: fileId, file, validationState: fileValidationState }) => ({
3977
+ id: fileId,
3943
3978
  filename: file.name,
3944
- status: (validationState2 == null ? void 0 : validationState2.status) === "invalid" ? import_components42.Status.FAILED : import_components42.Status.SUCCEEDED
3979
+ status: (fileValidationState == null ? void 0 : fileValidationState.status) === "invalid" ? import_components42.Status.FAILED : import_components42.Status.SUCCEEDED
3945
3980
  })),
3946
3981
  fileTypes: acceptsToFileTypes(accepts),
3947
3982
  maxFiles: maxItems,
@@ -4010,9 +4045,9 @@ var import_react_intl17 = require("react-intl");
4010
4045
 
4011
4046
  // ../renderers/src/hooks/useSnackBarIfAvailable.ts
4012
4047
  var import_components44 = require("@transferwise/components");
4013
- var import_react15 = require("react");
4048
+ var import_react16 = require("react");
4014
4049
  function useSnackBarIfAvailable() {
4015
- const context = (0, import_react15.useContext)(import_components44.SnackbarContext);
4050
+ const context = (0, import_react16.useContext)(import_components44.SnackbarContext);
4016
4051
  return context ? context.createSnackbar : () => {
4017
4052
  };
4018
4053
  }
@@ -4106,7 +4141,7 @@ var ProgressRenderer = {
4106
4141
  var import_components47 = require("@transferwise/components");
4107
4142
  var import_icons2 = require("@transferwise/icons");
4108
4143
  var import_classnames7 = __toESM(require_classnames());
4109
- var import_react16 = require("react");
4144
+ var import_react17 = require("react");
4110
4145
  var import_react_intl19 = require("react-intl");
4111
4146
 
4112
4147
  // ../renderers/src/messages/repeatable.messages.ts
@@ -4156,7 +4191,7 @@ function Repeatable(props) {
4156
4191
  onRemove
4157
4192
  } = props;
4158
4193
  const { formatMessage } = (0, import_react_intl19.useIntl)();
4159
- const [openModalType, setOpenModalType] = (0, import_react16.useState)(null);
4194
+ const [openModalType, setOpenModalType] = (0, import_react17.useState)(null);
4160
4195
  const { ref } = useScrollToError(validationState, features);
4161
4196
  const onAddItem = () => {
4162
4197
  onAdd();
@@ -4378,7 +4413,7 @@ var ReviewRenderer_default = ReviewRenderer2;
4378
4413
 
4379
4414
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
4380
4415
  var import_components51 = require("@transferwise/components");
4381
- var import_react17 = require("react");
4416
+ var import_react18 = require("react");
4382
4417
  var import_react_intl24 = require("react-intl");
4383
4418
 
4384
4419
  // ../renderers/src/messages/search.messages.ts
@@ -4441,7 +4476,7 @@ function BlockSearchRendererComponent({
4441
4476
  trackEvent,
4442
4477
  onChange
4443
4478
  }) {
4444
- const [hasSearched, setHasSearched] = (0, import_react17.useState)(false);
4479
+ const [hasSearched, setHasSearched] = (0, import_react18.useState)(false);
4445
4480
  const { formatMessage } = (0, import_react_intl24.useIntl)();
4446
4481
  return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: getMargin(margin), children: [
4447
4482
  /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
@@ -4459,6 +4494,7 @@ function BlockSearchRendererComponent({
4459
4494
  id,
4460
4495
  name: id,
4461
4496
  placeholder: hint,
4497
+ shape: "pill",
4462
4498
  type: "text",
4463
4499
  value: query,
4464
4500
  onChange: ({ currentTarget: { value } }) => {
@@ -4533,7 +4569,7 @@ var BlockSearchRendererComponent_default = BlockSearchRendererComponent;
4533
4569
  // ../renderers/src/SearchRenderer/InlineSearchRendererComponent.tsx
4534
4570
  var import_components52 = require("@transferwise/components");
4535
4571
  var import_icons5 = require("@transferwise/icons");
4536
- var import_react18 = require("react");
4572
+ var import_react19 = require("react");
4537
4573
  var import_react_intl25 = require("react-intl");
4538
4574
  var import_jsx_runtime75 = require("react/jsx-runtime");
4539
4575
  function InlineSearchRenderer({
@@ -4547,7 +4583,7 @@ function InlineSearchRenderer({
4547
4583
  onChange,
4548
4584
  trackEvent
4549
4585
  }) {
4550
- const [hasSearched, setHasSearched] = (0, import_react18.useState)(false);
4586
+ const [hasSearched, setHasSearched] = (0, import_react19.useState)(false);
4551
4587
  const intl = (0, import_react_intl25.useIntl)();
4552
4588
  return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: getMargin(margin), children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
4553
4589
  FieldInput_default,
@@ -4720,7 +4756,7 @@ function RadioInputRendererComponent(props) {
4720
4756
 
4721
4757
  // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
4722
4758
  var import_components55 = require("@transferwise/components");
4723
- var import_react19 = require("react");
4759
+ var import_react20 = require("react");
4724
4760
  var import_jsx_runtime79 = require("react/jsx-runtime");
4725
4761
  function TabInputRendererComponent(props) {
4726
4762
  const {
@@ -4736,7 +4772,7 @@ function TabInputRendererComponent(props) {
4736
4772
  validationState,
4737
4773
  onSelect
4738
4774
  } = props;
4739
- (0, import_react19.useEffect)(() => {
4775
+ (0, import_react20.useEffect)(() => {
4740
4776
  if (!isValidIndex2(selectedIndex, options.length)) {
4741
4777
  onSelect(0);
4742
4778
  }
@@ -4852,7 +4888,7 @@ function SelectInputRendererComponent(props) {
4852
4888
  }
4853
4889
 
4854
4890
  // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
4855
- var import_react20 = require("react");
4891
+ var import_react21 = require("react");
4856
4892
  var import_components57 = require("@transferwise/components");
4857
4893
  var import_jsx_runtime81 = require("react/jsx-runtime");
4858
4894
  function SegmentedInputRendererComponent(props) {
@@ -4868,7 +4904,7 @@ function SegmentedInputRendererComponent(props) {
4868
4904
  validationState,
4869
4905
  onSelect
4870
4906
  } = props;
4871
- (0, import_react20.useEffect)(() => {
4907
+ (0, import_react21.useEffect)(() => {
4872
4908
  if (!isValidIndex3(selectedIndex, options.length)) {
4873
4909
  onSelect(0);
4874
4910
  }
@@ -5036,12 +5072,12 @@ var StatusListRenderer_default = StatusListRenderer;
5036
5072
 
5037
5073
  // ../renderers/src/utils/useCustomTheme.ts
5038
5074
  var import_components_theming = require("@wise/components-theming");
5039
- var import_react21 = require("react");
5075
+ var import_react22 = require("react");
5040
5076
  var ThemeRequiredEventName = "Theme Required";
5041
5077
  var useCustomTheme = (theme, trackEvent) => {
5042
5078
  const theming = (0, import_components_theming.useTheme)();
5043
- const previousTheme = (0, import_react21.useMemo)(() => theming.theme, []);
5044
- (0, import_react21.useEffect)(() => {
5079
+ const previousTheme = (0, import_react22.useMemo)(() => theming.theme, []);
5080
+ (0, import_react22.useEffect)(() => {
5045
5081
  theming.setTheme(theme);
5046
5082
  trackEvent(ThemeRequiredEventName, { theme });
5047
5083
  return theme !== previousTheme ? () => {
@@ -5224,7 +5260,7 @@ function StepRendererComponent(props) {
5224
5260
 
5225
5261
  // ../renderers/src/TabsRenderer.tsx
5226
5262
  var import_components64 = require("@transferwise/components");
5227
- var import_react22 = require("react");
5263
+ var import_react23 = require("react");
5228
5264
  var import_jsx_runtime92 = require("react/jsx-runtime");
5229
5265
  var TabsRenderer = {
5230
5266
  canRenderType: "tabs",
@@ -5243,7 +5279,7 @@ var TabsRenderer = {
5243
5279
  }
5244
5280
  };
5245
5281
  function TabsRendererComponent({ uid, margin, tabs }) {
5246
- const [selectedIndex, setSelectedIndex] = (0, import_react22.useState)(0);
5282
+ const [selectedIndex, setSelectedIndex] = (0, import_react23.useState)(0);
5247
5283
  return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: getMargin(margin), children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
5248
5284
  import_components64.Tabs,
5249
5285
  {
@@ -5264,7 +5300,7 @@ function TabsRendererComponent({ uid, margin, tabs }) {
5264
5300
  }
5265
5301
  function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
5266
5302
  var _a;
5267
- const [selectedIndex, setSelectedIndex] = (0, import_react22.useState)(0);
5303
+ const [selectedIndex, setSelectedIndex] = (0, import_react23.useState)(0);
5268
5304
  return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: getMargin(margin), children: [
5269
5305
  /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
5270
5306
  import_components64.SegmentedControl,
@@ -5286,7 +5322,7 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
5286
5322
  }
5287
5323
  function ChipsTabsRendererComponent({ margin, tabs }) {
5288
5324
  var _a;
5289
- const [selectedIndex, setSelectedIndex] = (0, import_react22.useState)(0);
5325
+ const [selectedIndex, setSelectedIndex] = (0, import_react23.useState)(0);
5290
5326
  return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: getMargin(margin), children: [
5291
5327
  /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "chips-container", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
5292
5328
  import_components64.Chips,
@@ -5541,7 +5577,7 @@ var LargeUploadRenderer = {
5541
5577
 
5542
5578
  // ../renderers/src/UpsellRenderer.tsx
5543
5579
  var import_components68 = require("@transferwise/components");
5544
- var import_react23 = require("react");
5580
+ var import_react24 = require("react");
5545
5581
  var import_jsx_runtime96 = require("react/jsx-runtime");
5546
5582
  var UpsellRenderer = {
5547
5583
  canRenderType: "upsell",
@@ -5549,7 +5585,7 @@ var UpsellRenderer = {
5549
5585
  };
5550
5586
  function UpsellRendererComponent(props) {
5551
5587
  const { text, callToAction, media, margin, onDismiss } = props;
5552
- const [isVisible, setIsVisible] = (0, import_react23.useState)(true);
5588
+ const [isVisible, setIsVisible] = (0, import_react24.useState)(true);
5553
5589
  return isVisible ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
5554
5590
  import_components68.Nudge,
5555
5591
  {
@@ -5801,7 +5837,7 @@ var customEventsToAnalytics = {
5801
5837
  };
5802
5838
 
5803
5839
  // src/dynamicFlow/useOnCopy.tsx
5804
- var import_react24 = require("react");
5840
+ var import_react25 = require("react");
5805
5841
  var import_react_intl29 = require("react-intl");
5806
5842
 
5807
5843
  // src/dynamicFlow/messages.ts
@@ -5823,7 +5859,7 @@ var messages_default = (0, import_react_intl28.defineMessages)({
5823
5859
  var useOnCopy = () => {
5824
5860
  const { formatMessage } = (0, import_react_intl29.useIntl)();
5825
5861
  const createSnackBar = useSnackBarIfAvailable();
5826
- return (0, import_react24.useCallback)(
5862
+ return (0, import_react25.useCallback)(
5827
5863
  (copiedContent) => {
5828
5864
  if (copiedContent) {
5829
5865
  createSnackBar({ text: formatMessage(messages_default.copied) });
@@ -5836,11 +5872,11 @@ var useOnCopy = () => {
5836
5872
  };
5837
5873
 
5838
5874
  // src/dynamicFlow/useWiseHttpClient.tsx
5839
- var import_react25 = require("react");
5875
+ var import_react26 = require("react");
5840
5876
  var import_react_intl30 = require("react-intl");
5841
5877
  var useWiseHttpClient = (httpClient) => {
5842
5878
  const { locale } = (0, import_react_intl30.useIntl)();
5843
- return (0, import_react25.useCallback)(
5879
+ return (0, import_react26.useCallback)(
5844
5880
  async (input, init = {}) => {
5845
5881
  const headers = new Headers(init.headers);
5846
5882
  headers.set("accept-language", locale);
@@ -5881,10 +5917,10 @@ var useWiseToCoreProps = (props) => {
5881
5917
  onLog
5882
5918
  } = props;
5883
5919
  const httpClient = useWiseHttpClient(customFetch);
5884
- const mergedRenderers = (0, import_react26.useMemo)(() => getMergedRenderers(props), [renderers]);
5920
+ const mergedRenderers = (0, import_react27.useMemo)(() => getMergedRenderers(props), [renderers]);
5885
5921
  const createSnackBar = useCreateSnackBar();
5886
- const logEvent = (0, import_react26.useMemo)(() => getLogEvent(onLog), [onLog]);
5887
- const trackEvent = (0, import_react26.useMemo)(() => getTrackEvent(onEvent, onAnalytics), [onEvent, onAnalytics]);
5922
+ const logEvent = (0, import_react27.useMemo)(() => getLogEvent(onLog), [onLog]);
5923
+ const trackEvent = (0, import_react27.useMemo)(() => getTrackEvent(onEvent, onAnalytics), [onEvent, onAnalytics]);
5888
5924
  const onCopy = useOnCopy();
5889
5925
  return __spreadProps(__spreadValues({}, props), {
5890
5926
  httpClient,
@@ -5929,14 +5965,14 @@ function DynamicFlow(props) {
5929
5965
  }
5930
5966
 
5931
5967
  // src/dynamicFlow/DynamicFlowWithRef.tsx
5932
- var import_react27 = require("react");
5968
+ var import_react28 = require("react");
5933
5969
  var import_dynamic_flow_client5 = require("@wise/dynamic-flow-client");
5934
5970
  var import_jsx_runtime102 = require("react/jsx-runtime");
5935
- var DynamicFlowWithRef = (0, import_react27.forwardRef)(function DynamicFlowWithRef2(props, ref) {
5971
+ var DynamicFlowWithRef = (0, import_react28.forwardRef)(function DynamicFlowWithRef2(props, ref) {
5936
5972
  const { className = "" } = props;
5937
5973
  const dfProps = useWiseToCoreProps(props);
5938
5974
  const df = (0, import_dynamic_flow_client5.useDynamicFlow)(dfProps);
5939
- (0, import_react27.useImperativeHandle)(
5975
+ (0, import_react28.useImperativeHandle)(
5940
5976
  ref,
5941
5977
  () => ({
5942
5978
  getValue: async () => {