@wise/dynamic-flow-client-internal 5.8.0 → 5.9.0-experimental-rendererprops-9c9a4b8

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
@@ -127,16 +127,18 @@ __export(index_exports, {
127
127
  DynamicFlowWithRef: () => DynamicFlowWithRef,
128
128
  Header: () => Header11,
129
129
  Media: () => Media2,
130
- findRendererPropsByType: () => import_dynamic_flow_client7.findRendererPropsByType,
130
+ findRendererPropsByType: () => import_dynamic_flow_client5.findRendererPropsByType,
131
131
  getMargin: () => getMargin2,
132
- makeCustomFetch: () => import_dynamic_flow_client6.makeHttpClient,
133
- translations: () => i18n_default
132
+ makeCustomFetch: () => import_dynamic_flow_client4.makeHttpClient,
133
+ translations: () => i18n_default,
134
+ useDynamicFlowModalWise: () => useDynamicFlowModalWise,
135
+ useDynamicFlowWise: () => useDynamicFlowWise
134
136
  });
135
137
  module.exports = __toCommonJS(index_exports);
136
- var import_dynamic_flow_client6 = require("@wise/dynamic-flow-client");
138
+ var import_dynamic_flow_client4 = require("@wise/dynamic-flow-client");
137
139
 
138
- // src/dynamicFlow/DynamicFlow.tsx
139
- var import_dynamic_flow_client3 = require("@wise/dynamic-flow-client");
140
+ // src/dynamicFlow/useDynamicFlowWise.tsx
141
+ var import_dynamic_flow_client2 = require("@wise/dynamic-flow-client");
140
142
 
141
143
  // src/dynamicFlow/useWiseToCoreProps.tsx
142
144
  var import_react22 = require("react");
@@ -144,7 +146,7 @@ var import_react22 = require("react");
144
146
  // src/dynamicFlow/telemetry/app-version.ts
145
147
  var appVersion = (
146
148
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
147
- typeof process !== "undefined" ? "5.8.0" : "0.0.0"
149
+ typeof process !== "undefined" ? "5.8.1" : "0.0.0"
148
150
  );
149
151
 
150
152
  // src/dynamicFlow/telemetry/getLogEvent.ts
@@ -2902,6 +2904,12 @@ function SearchResultContent({
2902
2904
  return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ErrorResult, { state });
2903
2905
  case "results":
2904
2906
  return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SearchResults, { state, trackEvent });
2907
+ case "layout":
2908
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
2909
+ " ",
2910
+ state.layout,
2911
+ " "
2912
+ ] });
2905
2913
  case "noResults":
2906
2914
  return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(EmptySearchResult, { state });
2907
2915
  case "pending":
@@ -3008,6 +3016,9 @@ function mapResultToTypeaheadOption(result) {
3008
3016
  }
3009
3017
  function TypeaheadFooter({ state, isLoading }) {
3010
3018
  const { formatMessage } = (0, import_react_intl23.useIntl)();
3019
+ if (state.type === "layout") {
3020
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "m-x-1 m-y-1", children: state.layout });
3021
+ }
3011
3022
  if (state.type === "noResults") {
3012
3023
  return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_components45.Markdown, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
3013
3024
  }
@@ -3999,8 +4010,24 @@ var getWiseRenderers = () => [
3999
4010
  ReviewLegacyRenderer_default
4000
4011
  ];
4001
4012
 
4002
- // ../renderers/src/subflow/getSubflowRenderer.tsx
4013
+ // ../renderers/src/InitialLoadingStateRenderer.tsx
4014
+ var import_components61 = require("@transferwise/components");
4003
4015
  var import_jsx_runtime86 = require("react/jsx-runtime");
4016
+ var InitialLoadingStateRenderer = {
4017
+ canRenderType: "loading-state",
4018
+ canRender: ({ stepLoadingState }) => stepLoadingState === "initial",
4019
+ render: () => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
4020
+ import_components61.Loader,
4021
+ {
4022
+ size: "md",
4023
+ classNames: { "tw-loader": `tw-loader m-x-auto ${getMargin("md")}` },
4024
+ "data-testid": "loading-state"
4025
+ }
4026
+ )
4027
+ };
4028
+
4029
+ // ../renderers/src/subflow/getSubflowRenderer.tsx
4030
+ var import_jsx_runtime87 = require("react/jsx-runtime");
4004
4031
  var getSubflowRenderer = ({
4005
4032
  Component: Component2,
4006
4033
  canRender
@@ -4009,7 +4036,7 @@ var getSubflowRenderer = ({
4009
4036
  canRenderType: "subflow",
4010
4037
  canRender,
4011
4038
  render: (props) => {
4012
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
4039
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
4013
4040
  Component2,
4014
4041
  {
4015
4042
  presentation: props.presentation,
@@ -4087,29 +4114,27 @@ var handleRejection = (error) => {
4087
4114
  };
4088
4115
 
4089
4116
  // src/dynamicFlow/DynamicFlowModal.tsx
4090
- var import_dynamic_flow_client2 = require("@wise/dynamic-flow-client");
4091
- var import_components61 = require("@transferwise/components");
4092
- var import_jsx_runtime87 = require("react/jsx-runtime");
4117
+ var import_components62 = require("@transferwise/components");
4118
+ var import_jsx_runtime88 = require("react/jsx-runtime");
4093
4119
  function DynamicFlowModal(props) {
4094
4120
  const _a = props, { className = "" } = _a, rest = __objRest(_a, ["className"]);
4095
- const dfProps = useWiseToCoreProps(rest);
4096
- const df = (0, import_dynamic_flow_client2.useDynamicFlowModal)(dfProps);
4097
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
4098
- import_components61.Modal,
4121
+ const df = useDynamicFlowModalWise(rest);
4122
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
4123
+ import_components62.Modal,
4099
4124
  __spreadProps(__spreadValues({
4100
4125
  className: `dynamic-flow-modal ${className}`,
4101
4126
  disableDimmerClickToClose: true
4102
4127
  }, df.modal), {
4103
- body: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "dynamic-flow-modal", children: df.modal.body })
4128
+ body: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: "dynamic-flow-modal", children: df.modal.body })
4104
4129
  })
4105
4130
  );
4106
4131
  }
4107
4132
 
4108
4133
  // src/dynamicFlow/getMergedRenderers.tsx
4109
- var import_jsx_runtime88 = require("react/jsx-runtime");
4134
+ var import_jsx_runtime89 = require("react/jsx-runtime");
4110
4135
  var wiseRenderers = getWiseRenderers();
4111
4136
  var getMergedRenderers = (props) => {
4112
- var _d;
4137
+ var _d, _e;
4113
4138
  const _a = props, { initialAction, initialStep } = _a, restProps = __objRest(_a, ["initialAction", "initialStep"]);
4114
4139
  const subflowFeatures = __spreadProps(__spreadValues({}, props.features), { nativeBack: true });
4115
4140
  const subflowRenderer = getSubflowRenderer({
@@ -4120,7 +4145,7 @@ var getMergedRenderers = (props) => {
4120
4145
  method: initialRequest.method,
4121
4146
  data: initialRequest.body
4122
4147
  };
4123
- return presentation.type === "push" ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
4148
+ return presentation.type === "push" ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
4124
4149
  DynamicFlowModal,
4125
4150
  __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), {
4126
4151
  features: subflowFeatures,
@@ -4129,7 +4154,8 @@ var getMergedRenderers = (props) => {
4129
4154
  );
4130
4155
  }
4131
4156
  });
4132
- return [...(_d = props.renderers) != null ? _d : [], subflowRenderer, ...wiseRenderers];
4157
+ const loadingStateRenderer = ((_d = props.features) == null ? void 0 : _d.initialLoader) ? [InitialLoadingStateRenderer] : [];
4158
+ return [...(_e = props.renderers) != null ? _e : [], subflowRenderer, ...loadingStateRenderer, ...wiseRenderers];
4133
4159
  };
4134
4160
 
4135
4161
  // src/dynamicFlow/useWiseToCoreProps.tsx
@@ -4169,23 +4195,30 @@ var openLinkInNewTab = (url) => {
4169
4195
  }
4170
4196
  };
4171
4197
 
4198
+ // src/dynamicFlow/useDynamicFlowWise.tsx
4199
+ var useDynamicFlowWise = (props) => {
4200
+ const dfProps = useWiseToCoreProps(props);
4201
+ return (0, import_dynamic_flow_client2.useDynamicFlow)(dfProps);
4202
+ };
4203
+ var useDynamicFlowModalWise = (props) => {
4204
+ const dfProps = useWiseToCoreProps(props);
4205
+ return (0, import_dynamic_flow_client2.useDynamicFlowModal)(dfProps);
4206
+ };
4207
+
4172
4208
  // src/dynamicFlow/DynamicFlow.tsx
4173
- var import_jsx_runtime89 = require("react/jsx-runtime");
4209
+ var import_jsx_runtime90 = require("react/jsx-runtime");
4174
4210
  function DynamicFlow(props) {
4175
4211
  const { className = "" } = props;
4176
- const dfProps = useWiseToCoreProps(props);
4177
- const df = (0, import_dynamic_flow_client3.useDynamicFlow)(dfProps);
4178
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className, children: df.view });
4212
+ const df = useDynamicFlowWise(props);
4213
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className, children: df.view });
4179
4214
  }
4180
4215
 
4181
4216
  // src/dynamicFlow/DynamicFlowWithRef.tsx
4182
4217
  var import_react23 = require("react");
4183
- var import_dynamic_flow_client4 = require("@wise/dynamic-flow-client");
4184
- var import_jsx_runtime90 = require("react/jsx-runtime");
4218
+ var import_jsx_runtime91 = require("react/jsx-runtime");
4185
4219
  var DynamicFlowWithRef = (0, import_react23.forwardRef)(function DynamicFlowWithRef2(props, ref) {
4186
4220
  const { className = "" } = props;
4187
- const dfProps = useWiseToCoreProps(props);
4188
- const df = (0, import_dynamic_flow_client4.useDynamicFlow)(dfProps);
4221
+ const df = useDynamicFlowWise(props);
4189
4222
  (0, import_react23.useImperativeHandle)(
4190
4223
  ref,
4191
4224
  () => ({
@@ -4197,11 +4230,11 @@ var DynamicFlowWithRef = (0, import_react23.forwardRef)(function DynamicFlowWith
4197
4230
  }),
4198
4231
  [df]
4199
4232
  );
4200
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className, children: df.view });
4233
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className, children: df.view });
4201
4234
  });
4202
4235
 
4203
4236
  // src/index.ts
4204
- var import_dynamic_flow_client7 = require("@wise/dynamic-flow-client");
4237
+ var import_dynamic_flow_client5 = require("@wise/dynamic-flow-client");
4205
4238
 
4206
4239
  // src/dynamicFlow/renderers.tsx
4207
4240
  var Header11 = Header5;
@@ -4209,7 +4242,7 @@ var Media2 = Media;
4209
4242
  var getMargin2 = getMargin;
4210
4243
 
4211
4244
  // src/i18n/index.ts
4212
- var import_dynamic_flow_client5 = require("@wise/dynamic-flow-client");
4245
+ var import_dynamic_flow_client3 = require("@wise/dynamic-flow-client");
4213
4246
 
4214
4247
  // src/i18n/cs.json
4215
4248
  var cs_default = {
@@ -5062,10 +5095,10 @@ var wiseTranslations = {
5062
5095
  "zh-HK": zh_HK_default
5063
5096
  };
5064
5097
  var languages = Array.from(
5065
- /* @__PURE__ */ new Set([...Object.keys(import_dynamic_flow_client5.translations), ...Object.keys(wiseTranslations)])
5098
+ /* @__PURE__ */ new Set([...Object.keys(import_dynamic_flow_client3.translations), ...Object.keys(wiseTranslations)])
5066
5099
  );
5067
5100
  var translations = languages.reduce(
5068
- (acc, lang) => __spreadProps(__spreadValues({}, acc), { [lang]: __spreadValues(__spreadValues({}, import_dynamic_flow_client5.translations[lang]), wiseTranslations[lang]) }),
5101
+ (acc, lang) => __spreadProps(__spreadValues({}, acc), { [lang]: __spreadValues(__spreadValues({}, import_dynamic_flow_client3.translations[lang]), wiseTranslations[lang]) }),
5069
5102
  {}
5070
5103
  );
5071
5104
  var i18n_default = translations;
package/build/main.mjs CHANGED
@@ -117,8 +117,8 @@ var require_classnames = __commonJS({
117
117
  // src/index.ts
118
118
  import { makeHttpClient } from "@wise/dynamic-flow-client";
119
119
 
120
- // src/dynamicFlow/DynamicFlow.tsx
121
- import { useDynamicFlow } from "@wise/dynamic-flow-client";
120
+ // src/dynamicFlow/useDynamicFlowWise.tsx
121
+ import { useDynamicFlow, useDynamicFlowModal } from "@wise/dynamic-flow-client";
122
122
 
123
123
  // src/dynamicFlow/useWiseToCoreProps.tsx
124
124
  import { useMemo as useMemo2 } from "react";
@@ -126,7 +126,7 @@ import { useMemo as useMemo2 } from "react";
126
126
  // src/dynamicFlow/telemetry/app-version.ts
127
127
  var appVersion = (
128
128
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
129
- typeof process !== "undefined" ? "5.8.0" : "0.0.0"
129
+ typeof process !== "undefined" ? "5.8.1" : "0.0.0"
130
130
  );
131
131
 
132
132
  // src/dynamicFlow/telemetry/getLogEvent.ts
@@ -2792,13 +2792,7 @@ var getHelpControl = (help, ariaLabel, onClick) => {
2792
2792
  var ReviewRenderer_default = ReviewRenderer2;
2793
2793
 
2794
2794
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
2795
- import {
2796
- Input as Input4,
2797
- InputGroup as InputGroup3,
2798
- List,
2799
- ListItem as ListItem10,
2800
- Markdown as Markdown5
2801
- } from "@transferwise/components";
2795
+ import { Input as Input4, InputGroup as InputGroup3, List, ListItem as ListItem10, Markdown as Markdown5 } from "@transferwise/components";
2802
2796
  import { useState as useState9 } from "react";
2803
2797
  import { useIntl as useIntl12 } from "react-intl";
2804
2798
 
@@ -2849,7 +2843,7 @@ function ErrorResult({ state }) {
2849
2843
 
2850
2844
  // ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
2851
2845
  import { Search } from "@transferwise/icons";
2852
- import { jsx as jsx64, jsxs as jsxs17 } from "react/jsx-runtime";
2846
+ import { Fragment as Fragment7, jsx as jsx64, jsxs as jsxs17 } from "react/jsx-runtime";
2853
2847
  function BlockSearchRendererComponent({
2854
2848
  id,
2855
2849
  hint,
@@ -2893,6 +2887,12 @@ function SearchResultContent({
2893
2887
  return /* @__PURE__ */ jsx64(ErrorResult, { state });
2894
2888
  case "results":
2895
2889
  return /* @__PURE__ */ jsx64(SearchResults, { state, trackEvent });
2890
+ case "layout":
2891
+ return /* @__PURE__ */ jsxs17(Fragment7, { children: [
2892
+ " ",
2893
+ state.layout,
2894
+ " "
2895
+ ] });
2896
2896
  case "noResults":
2897
2897
  return /* @__PURE__ */ jsx64(EmptySearchResult, { state });
2898
2898
  case "pending":
@@ -2999,6 +2999,9 @@ function mapResultToTypeaheadOption(result) {
2999
2999
  }
3000
3000
  function TypeaheadFooter({ state, isLoading }) {
3001
3001
  const { formatMessage } = useIntl13();
3002
+ if (state.type === "layout") {
3003
+ return /* @__PURE__ */ jsx65("div", { className: "m-x-1 m-y-1", children: state.layout });
3004
+ }
3002
3005
  if (state.type === "noResults") {
3003
3006
  return /* @__PURE__ */ jsx65(Markdown6, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
3004
3007
  }
@@ -3059,7 +3062,7 @@ var SectionRenderer_default = SectionRenderer;
3059
3062
 
3060
3063
  // ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
3061
3064
  import { RadioGroup } from "@transferwise/components";
3062
- import { Fragment as Fragment7, jsx as jsx68, jsxs as jsxs19 } from "react/jsx-runtime";
3065
+ import { Fragment as Fragment8, jsx as jsx68, jsxs as jsxs19 } from "react/jsx-runtime";
3063
3066
  function RadioInputRendererComponent(props) {
3064
3067
  const {
3065
3068
  id,
@@ -3073,7 +3076,7 @@ function RadioInputRendererComponent(props) {
3073
3076
  validationState,
3074
3077
  onSelect
3075
3078
  } = props;
3076
- return /* @__PURE__ */ jsxs19(Fragment7, { children: [
3079
+ return /* @__PURE__ */ jsxs19(Fragment8, { children: [
3077
3080
  /* @__PURE__ */ jsx68(
3078
3081
  FieldInput_default,
3079
3082
  {
@@ -3107,7 +3110,7 @@ function RadioInputRendererComponent(props) {
3107
3110
  // ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
3108
3111
  import { Tabs } from "@transferwise/components";
3109
3112
  import { useEffect as useEffect6 } from "react";
3110
- import { Fragment as Fragment8, jsx as jsx69, jsxs as jsxs20 } from "react/jsx-runtime";
3113
+ import { Fragment as Fragment9, jsx as jsx69, jsxs as jsxs20 } from "react/jsx-runtime";
3111
3114
  function TabInputRendererComponent(props) {
3112
3115
  const {
3113
3116
  id,
@@ -3126,7 +3129,7 @@ function TabInputRendererComponent(props) {
3126
3129
  onSelect(0);
3127
3130
  }
3128
3131
  }, [selectedIndex, onSelect, options.length]);
3129
- return /* @__PURE__ */ jsxs20(Fragment8, { children: [
3132
+ return /* @__PURE__ */ jsxs20(Fragment9, { children: [
3130
3133
  /* @__PURE__ */ jsx69(
3131
3134
  FieldInput_default,
3132
3135
  {
@@ -3144,7 +3147,7 @@ function TabInputRendererComponent(props) {
3144
3147
  title: option.title,
3145
3148
  // if we pass null, we get some props-types console errors
3146
3149
  // eslint-disable-next-line react/jsx-no-useless-fragment
3147
- content: /* @__PURE__ */ jsx69(Fragment8, {}),
3150
+ content: /* @__PURE__ */ jsx69(Fragment9, {}),
3148
3151
  disabled: option.disabled || disabled
3149
3152
  })),
3150
3153
  onTabSelect: onSelect
@@ -3159,7 +3162,7 @@ var isValidIndex2 = (index, options) => index !== null && index >= 0 && index <
3159
3162
 
3160
3163
  // ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
3161
3164
  import { SelectInput as SelectInput2, SelectInputOptionContent as SelectInputOptionContent2 } from "@transferwise/components";
3162
- import { Fragment as Fragment9, jsx as jsx70, jsxs as jsxs21 } from "react/jsx-runtime";
3165
+ import { Fragment as Fragment10, jsx as jsx70, jsxs as jsxs21 } from "react/jsx-runtime";
3163
3166
  function SelectInputRendererComponent(props) {
3164
3167
  const {
3165
3168
  id,
@@ -3204,7 +3207,7 @@ function SelectInputRendererComponent(props) {
3204
3207
  return /* @__PURE__ */ jsx70(SelectInputOptionContent2, __spreadValues({}, contentProps));
3205
3208
  };
3206
3209
  const extraProps = { autoComplete };
3207
- return /* @__PURE__ */ jsxs21(Fragment9, { children: [
3210
+ return /* @__PURE__ */ jsxs21(Fragment10, { children: [
3208
3211
  /* @__PURE__ */ jsx70(
3209
3212
  FieldInput_default,
3210
3213
  {
@@ -3236,7 +3239,7 @@ function SelectInputRendererComponent(props) {
3236
3239
  // ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
3237
3240
  import { useEffect as useEffect7 } from "react";
3238
3241
  import { SegmentedControl } from "@transferwise/components";
3239
- import { Fragment as Fragment10, jsx as jsx71, jsxs as jsxs22 } from "react/jsx-runtime";
3242
+ import { Fragment as Fragment11, jsx as jsx71, jsxs as jsxs22 } from "react/jsx-runtime";
3240
3243
  function SegmentedInputRendererComponent(props) {
3241
3244
  const {
3242
3245
  id,
@@ -3254,7 +3257,7 @@ function SegmentedInputRendererComponent(props) {
3254
3257
  onSelect(0);
3255
3258
  }
3256
3259
  }, [selectedIndex, onSelect, options.length]);
3257
- return /* @__PURE__ */ jsxs22(Fragment10, { children: [
3260
+ return /* @__PURE__ */ jsxs22(Fragment11, { children: [
3258
3261
  /* @__PURE__ */ jsx71(
3259
3262
  FieldInput_default,
3260
3263
  {
@@ -3287,7 +3290,7 @@ var isValidIndex3 = (index, options) => index !== null && index >= 0 && index <
3287
3290
 
3288
3291
  // ../renderers/src/SelectInputRenderer/RadioItemRendererComponent.tsx
3289
3292
  import { Header as Header8, InlineAlert as InlineAlert4, List as List2, ListItem as ListItem11 } from "@transferwise/components";
3290
- import { Fragment as Fragment11, jsx as jsx72, jsxs as jsxs23 } from "react/jsx-runtime";
3293
+ import { Fragment as Fragment12, jsx as jsx72, jsxs as jsxs23 } from "react/jsx-runtime";
3291
3294
  function RadioItemRendererComponent(props) {
3292
3295
  const {
3293
3296
  id,
@@ -3301,7 +3304,7 @@ function RadioItemRendererComponent(props) {
3301
3304
  validationState,
3302
3305
  onSelect
3303
3306
  } = props;
3304
- return /* @__PURE__ */ jsxs23(Fragment11, { children: [
3307
+ return /* @__PURE__ */ jsxs23(Fragment12, { children: [
3305
3308
  rootTitle && /* @__PURE__ */ jsx72(
3306
3309
  Header8,
3307
3310
  {
@@ -3556,7 +3559,7 @@ function SplashStepRendererComponent(props) {
3556
3559
 
3557
3560
  // ../renderers/src/step/StepRenderer.tsx
3558
3561
  import { Alert as Alert2, Title as Title2 } from "@transferwise/components";
3559
- import { Fragment as Fragment12, jsx as jsx80, jsxs as jsxs30 } from "react/jsx-runtime";
3562
+ import { Fragment as Fragment13, jsx as jsx80, jsxs as jsxs30 } from "react/jsx-runtime";
3560
3563
  var StepRenderer = {
3561
3564
  canRenderType: "step",
3562
3565
  render: StepRendererComponent
@@ -3574,7 +3577,7 @@ function StepRendererComponent(props) {
3574
3577
  }
3575
3578
  var Header10 = ({ title, description, tags }) => {
3576
3579
  const { titleType, alignmentClassName } = getHeaderStyle(tags);
3577
- return /* @__PURE__ */ jsxs30(Fragment12, { children: [
3580
+ return /* @__PURE__ */ jsxs30(Fragment13, { children: [
3578
3581
  title ? /* @__PURE__ */ jsx80(Title2, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
3579
3582
  description ? /* @__PURE__ */ jsx80("p", { className: `${alignmentClassName} np-text-body-large`, children: description }) : void 0
3580
3583
  ] });
@@ -3996,8 +3999,24 @@ var getWiseRenderers = () => [
3996
3999
  ReviewLegacyRenderer_default
3997
4000
  ];
3998
4001
 
3999
- // ../renderers/src/subflow/getSubflowRenderer.tsx
4002
+ // ../renderers/src/InitialLoadingStateRenderer.tsx
4003
+ import { Loader as Loader2 } from "@transferwise/components";
4000
4004
  import { jsx as jsx86 } from "react/jsx-runtime";
4005
+ var InitialLoadingStateRenderer = {
4006
+ canRenderType: "loading-state",
4007
+ canRender: ({ stepLoadingState }) => stepLoadingState === "initial",
4008
+ render: () => /* @__PURE__ */ jsx86(
4009
+ Loader2,
4010
+ {
4011
+ size: "md",
4012
+ classNames: { "tw-loader": `tw-loader m-x-auto ${getMargin("md")}` },
4013
+ "data-testid": "loading-state"
4014
+ }
4015
+ )
4016
+ };
4017
+
4018
+ // ../renderers/src/subflow/getSubflowRenderer.tsx
4019
+ import { jsx as jsx87 } from "react/jsx-runtime";
4001
4020
  var getSubflowRenderer = ({
4002
4021
  Component: Component2,
4003
4022
  canRender
@@ -4006,7 +4025,7 @@ var getSubflowRenderer = ({
4006
4025
  canRenderType: "subflow",
4007
4026
  canRender,
4008
4027
  render: (props) => {
4009
- return /* @__PURE__ */ jsx86(
4028
+ return /* @__PURE__ */ jsx87(
4010
4029
  Component2,
4011
4030
  {
4012
4031
  presentation: props.presentation,
@@ -4084,29 +4103,27 @@ var handleRejection = (error) => {
4084
4103
  };
4085
4104
 
4086
4105
  // src/dynamicFlow/DynamicFlowModal.tsx
4087
- import { useDynamicFlowModal } from "@wise/dynamic-flow-client";
4088
4106
  import { Modal as Modal5 } from "@transferwise/components";
4089
- import { jsx as jsx87 } from "react/jsx-runtime";
4107
+ import { jsx as jsx88 } from "react/jsx-runtime";
4090
4108
  function DynamicFlowModal(props) {
4091
4109
  const _a = props, { className = "" } = _a, rest = __objRest(_a, ["className"]);
4092
- const dfProps = useWiseToCoreProps(rest);
4093
- const df = useDynamicFlowModal(dfProps);
4094
- return /* @__PURE__ */ jsx87(
4110
+ const df = useDynamicFlowModalWise(rest);
4111
+ return /* @__PURE__ */ jsx88(
4095
4112
  Modal5,
4096
4113
  __spreadProps(__spreadValues({
4097
4114
  className: `dynamic-flow-modal ${className}`,
4098
4115
  disableDimmerClickToClose: true
4099
4116
  }, df.modal), {
4100
- body: /* @__PURE__ */ jsx87("div", { className: "dynamic-flow-modal", children: df.modal.body })
4117
+ body: /* @__PURE__ */ jsx88("div", { className: "dynamic-flow-modal", children: df.modal.body })
4101
4118
  })
4102
4119
  );
4103
4120
  }
4104
4121
 
4105
4122
  // src/dynamicFlow/getMergedRenderers.tsx
4106
- import { jsx as jsx88 } from "react/jsx-runtime";
4123
+ import { jsx as jsx89 } from "react/jsx-runtime";
4107
4124
  var wiseRenderers = getWiseRenderers();
4108
4125
  var getMergedRenderers = (props) => {
4109
- var _d;
4126
+ var _d, _e;
4110
4127
  const _a = props, { initialAction, initialStep } = _a, restProps = __objRest(_a, ["initialAction", "initialStep"]);
4111
4128
  const subflowFeatures = __spreadProps(__spreadValues({}, props.features), { nativeBack: true });
4112
4129
  const subflowRenderer = getSubflowRenderer({
@@ -4117,7 +4134,7 @@ var getMergedRenderers = (props) => {
4117
4134
  method: initialRequest.method,
4118
4135
  data: initialRequest.body
4119
4136
  };
4120
- return presentation.type === "push" ? /* @__PURE__ */ jsx88(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx88(
4137
+ return presentation.type === "push" ? /* @__PURE__ */ jsx89(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx89(
4121
4138
  DynamicFlowModal,
4122
4139
  __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), {
4123
4140
  features: subflowFeatures,
@@ -4126,7 +4143,8 @@ var getMergedRenderers = (props) => {
4126
4143
  );
4127
4144
  }
4128
4145
  });
4129
- return [...(_d = props.renderers) != null ? _d : [], subflowRenderer, ...wiseRenderers];
4146
+ const loadingStateRenderer = ((_d = props.features) == null ? void 0 : _d.initialLoader) ? [InitialLoadingStateRenderer] : [];
4147
+ return [...(_e = props.renderers) != null ? _e : [], subflowRenderer, ...loadingStateRenderer, ...wiseRenderers];
4130
4148
  };
4131
4149
 
4132
4150
  // src/dynamicFlow/useWiseToCoreProps.tsx
@@ -4166,13 +4184,22 @@ var openLinkInNewTab = (url) => {
4166
4184
  }
4167
4185
  };
4168
4186
 
4187
+ // src/dynamicFlow/useDynamicFlowWise.tsx
4188
+ var useDynamicFlowWise = (props) => {
4189
+ const dfProps = useWiseToCoreProps(props);
4190
+ return useDynamicFlow(dfProps);
4191
+ };
4192
+ var useDynamicFlowModalWise = (props) => {
4193
+ const dfProps = useWiseToCoreProps(props);
4194
+ return useDynamicFlowModal(dfProps);
4195
+ };
4196
+
4169
4197
  // src/dynamicFlow/DynamicFlow.tsx
4170
- import { jsx as jsx89 } from "react/jsx-runtime";
4198
+ import { jsx as jsx90 } from "react/jsx-runtime";
4171
4199
  function DynamicFlow(props) {
4172
4200
  const { className = "" } = props;
4173
- const dfProps = useWiseToCoreProps(props);
4174
- const df = useDynamicFlow(dfProps);
4175
- return /* @__PURE__ */ jsx89("div", { className, children: df.view });
4201
+ const df = useDynamicFlowWise(props);
4202
+ return /* @__PURE__ */ jsx90("div", { className, children: df.view });
4176
4203
  }
4177
4204
 
4178
4205
  // src/dynamicFlow/DynamicFlowWithRef.tsx
@@ -4180,12 +4207,10 @@ import {
4180
4207
  forwardRef,
4181
4208
  useImperativeHandle
4182
4209
  } from "react";
4183
- import { useDynamicFlow as useDynamicFlow2 } from "@wise/dynamic-flow-client";
4184
- import { jsx as jsx90 } from "react/jsx-runtime";
4210
+ import { jsx as jsx91 } from "react/jsx-runtime";
4185
4211
  var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
4186
4212
  const { className = "" } = props;
4187
- const dfProps = useWiseToCoreProps(props);
4188
- const df = useDynamicFlow2(dfProps);
4213
+ const df = useDynamicFlowWise(props);
4189
4214
  useImperativeHandle(
4190
4215
  ref,
4191
4216
  () => ({
@@ -4197,7 +4222,7 @@ var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
4197
4222
  }),
4198
4223
  [df]
4199
4224
  );
4200
- return /* @__PURE__ */ jsx90("div", { className, children: df.view });
4225
+ return /* @__PURE__ */ jsx91("div", { className, children: df.view });
4201
4226
  });
4202
4227
 
4203
4228
  // src/index.ts
@@ -5077,7 +5102,9 @@ export {
5077
5102
  findRendererPropsByType,
5078
5103
  getMargin2 as getMargin,
5079
5104
  makeHttpClient as makeCustomFetch,
5080
- i18n_default as translations
5105
+ i18n_default as translations,
5106
+ useDynamicFlowModalWise,
5107
+ useDynamicFlowWise
5081
5108
  };
5082
5109
  /*! Bundled license information:
5083
5110
 
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicFlow.d.ts","sourceRoot":"","sources":["../../../src/dynamicFlow/DynamicFlow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAElF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,wBAAgB,WAAW,CAAC,KAAK,EAAE,oBAAoB,2CAKtD"}
1
+ {"version":3,"file":"DynamicFlow.d.ts","sourceRoot":"","sources":["../../../src/dynamicFlow/DynamicFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAElF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,wBAAgB,WAAW,CAAC,KAAK,EAAE,oBAAoB,2CAItD"}
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicFlowModal.d.ts","sourceRoot":"","sources":["../../../src/dynamicFlow/DynamicFlowModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,2CAa3D"}
1
+ {"version":3,"file":"DynamicFlowModal.d.ts","sourceRoot":"","sources":["../../../src/dynamicFlow/DynamicFlowModal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,2CAY3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicFlowWithRef.d.ts","sourceRoot":"","sources":["../../../src/dynamicFlow/DynamicFlowWithRef.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EACL,KAAK,yBAAyB,EAE9B,KAAK,aAAa,EAGnB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAInE,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE5F,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;CACzB,CAAC;AACF;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB,EAAE,yBAAyB,CACxD,uBAAuB,GAAG,aAAa,CAAC,cAAc,CAAC,CAmBvD,CAAC"}
1
+ {"version":3,"file":"DynamicFlowWithRef.d.ts","sourceRoot":"","sources":["../../../src/dynamicFlow/DynamicFlowWithRef.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EACL,KAAK,yBAAyB,EAE9B,KAAK,aAAa,EAGnB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE5F,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;CACzB,CAAC;AACF;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB,EAAE,yBAAyB,CACxD,uBAAuB,GAAG,aAAa,CAAC,cAAc,CAAC,CAiBvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getMergedRenderers.d.ts","sourceRoot":"","sources":["../../../src/dynamicFlow/getMergedRenderers.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D,eAAO,MAAM,kBAAkB,GAAI,OAAO,oBAAoB,KAAG,SAwBhE,CAAC"}
1
+ {"version":3,"file":"getMergedRenderers.d.ts","sourceRoot":"","sources":["../../../src/dynamicFlow/getMergedRenderers.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D,eAAO,MAAM,kBAAkB,GAAI,OAAO,oBAAoB,KAAG,SA0BhE,CAAC"}
@@ -10,7 +10,7 @@ export declare const Header: ({ title, callToAction }: {
10
10
  export declare const Media: ({ media, preferAvatar, size }: {
11
11
  media: import("@wise/dynamic-flow-types/renderers").Media | undefined;
12
12
  preferAvatar?: boolean;
13
- size: import("@wise/dynamic-flow-renderers/src/components/Media/Media").MediaSize;
13
+ size: 16 | 24 | 32 | 40 | 48 | 56 | 72;
14
14
  }) => string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<import("react").ReactNode> | null | undefined;
15
15
  export declare const getMargin: (size: import("@wise/dynamic-flow-types/spec").Margin) => "m-b-0" | "m-b-1" | "m-b-2" | "m-b-3" | "m-b-5" | "";
16
16
  //# sourceMappingURL=renderers.d.ts.map
@@ -0,0 +1,32 @@
1
+ import type { DynamicFlowWiseProps } from './DynamicFlowWiseProps';
2
+ /**
3
+ * @experimental This hook may be changed or removed in the future without notice.
4
+ */
5
+ export declare const useDynamicFlowWise: (props: DynamicFlowWiseProps) => {
6
+ controller: {
7
+ getSubmittableValue: () => Promise<import("@wise/dynamic-flow-types/spec").JsonElement>;
8
+ validate: () => boolean;
9
+ rendererProps: import("@wise/dynamic-flow-types/renderers").RendererProps;
10
+ cancel: () => void;
11
+ };
12
+ view: import("react/jsx-runtime").JSX.Element;
13
+ };
14
+ /**
15
+ * @experimental This hook may be changed or removed in the future without notice.
16
+ */
17
+ export declare const useDynamicFlowModalWise: (props: DynamicFlowWiseProps) => {
18
+ modal: {
19
+ body: import("react/jsx-runtime").JSX.Element;
20
+ open: boolean;
21
+ onClose: () => void;
22
+ onUnmount: () => void;
23
+ };
24
+ controller: {
25
+ getSubmittableValue: () => Promise<import("@wise/dynamic-flow-types/spec").JsonElement>;
26
+ validate: () => boolean;
27
+ rendererProps: import("@wise/dynamic-flow-types/renderers").RendererProps;
28
+ cancel: () => void;
29
+ };
30
+ view: import("react/jsx-runtime").JSX.Element;
31
+ };
32
+ //# sourceMappingURL=useDynamicFlowWise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDynamicFlowWise.d.ts","sourceRoot":"","sources":["../../../src/dynamicFlow/useDynamicFlowWise.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,oBAAoB;;;;;;;;CAG7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,oBAAoB;;;;;;;;;;;;;;CAGlE,CAAC"}
@@ -2,6 +2,7 @@ export { makeHttpClient as makeCustomFetch } from '@wise/dynamic-flow-client';
2
2
  export type { DynamicFlowWiseProps as DynamicFlowProps } from './dynamicFlow/DynamicFlowWiseProps';
3
3
  export { DynamicFlow } from './dynamicFlow/DynamicFlow';
4
4
  export { DynamicFlowWithRef, type DynamicFlowRef } from './dynamicFlow/DynamicFlowWithRef';
5
+ export { useDynamicFlowWise, useDynamicFlowModalWise } from './dynamicFlow/useDynamicFlowWise';
5
6
  export { findRendererPropsByType } from '@wise/dynamic-flow-client';
6
7
  export { getMargin, Header, Media } from './dynamicFlow/renderers';
7
8
  export { default as translations } from './i18n';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE9E,YAAY,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAE3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE9E,YAAY,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/dynamic-flow-client-internal",
3
- "version": "5.8.0",
3
+ "version": "5.9.0-experimental-rendererprops-9c9a4b8",
4
4
  "description": "Dynamic Flow web client for Wise",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./build/main.js",
@@ -49,7 +49,6 @@
49
49
  "@types/react-dom": "18.3.7",
50
50
  "@wise/art": "2.27.0",
51
51
  "@wise/components-theming": "^1.10.0",
52
- "currency-flags": "4.0.7",
53
52
  "esbuild": "0.27.0",
54
53
  "eslint-plugin-storybook": "10.2.7",
55
54
  "framer-motion": "^12.33.0",
@@ -69,9 +68,9 @@
69
68
  "typescript": "5.9.3",
70
69
  "vitest": "4.0.18",
71
70
  "vitest-fetch-mock": "0.4.5",
71
+ "@wise/dynamic-flow-fixtures": "0.0.1",
72
72
  "@wise/dynamic-flow-renderers": "0.0.0",
73
- "@wise/dynamic-flow-types": "4.8.0",
74
- "@wise/dynamic-flow-fixtures": "0.0.1"
73
+ "@wise/dynamic-flow-types": "4.9.0-experimental-rendererprops-9c9a4b8"
75
74
  },
76
75
  "peerDependencies": {
77
76
  "@transferwise/components": "^46.104.0",
@@ -85,8 +84,8 @@
85
84
  "react-intl": "^6 || ^7"
86
85
  },
87
86
  "dependencies": {
88
- "@wise/dynamic-flow-client": "5.8.0",
89
- "@wise/dynamic-flow-types": "4.8.0"
87
+ "@wise/dynamic-flow-client": "5.9.0-experimental-rendererprops-9c9a4b8",
88
+ "@wise/dynamic-flow-types": "4.9.0-experimental-rendererprops-9c9a4b8"
90
89
  },
91
90
  "scripts": {
92
91
  "dev": "pnpm build:visual-tests && storybook dev -p 3005",