@wise/dynamic-flow-client 3.6.0 → 3.6.2

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.mjs CHANGED
@@ -2497,7 +2497,7 @@ function ControlFeedback(props) {
2497
2497
  const validationMessages = __spreadValues(__spreadValues(__spreadValues({}, defaultValidationMessages), props.validationMessages), props.schema.validationMessages);
2498
2498
  const isErrorVisible = (props.submitted || !props.changed) && Boolean(props.errors);
2499
2499
  const isValidationVisible = !isErrorVisible && (props.submitted || props.changed && props.blurred) && Boolean((_a = props.validations) == null ? void 0 : _a.length);
2500
- const isDescriptionVisible = props.schema.description && !isErrorVisible && !isValidationVisible;
2500
+ const isDescriptionVisible = props.schema.type !== "boolean" && props.schema.description && !isErrorVisible && !isValidationVisible;
2501
2501
  const hasInfoMessage = Boolean(props.infoMessage);
2502
2502
  return /* @__PURE__ */ jsxs4("div", { id: props.id, children: [
2503
2503
  isErrorVisible ? /* @__PURE__ */ jsx18(InlineAlert, { type: "error", children: props.errors }) : null,
@@ -3863,6 +3863,7 @@ var _FormControl = class _FormControl extends PureComponent {
3863
3863
  size,
3864
3864
  uploadProps,
3865
3865
  label,
3866
+ description,
3866
3867
  monthFormat,
3867
3868
  // FIXME pass id to all components that accept it
3868
3869
  id,
@@ -3890,6 +3891,7 @@ var _FormControl = class _FormControl extends PureComponent {
3890
3891
  checked: getSafeBooleanValue(value, { coerceValue: true }),
3891
3892
  disabled,
3892
3893
  label,
3894
+ secondary: description,
3893
3895
  required,
3894
3896
  readOnly,
3895
3897
  onChange: this.handleOnChange,
@@ -4288,6 +4290,7 @@ function SchemaFormControl(props) {
4288
4290
  id,
4289
4291
  name: id,
4290
4292
  label: schema.title,
4293
+ description: schema.description,
4291
4294
  options: options || [],
4292
4295
  placeholder: schema.placeholder,
4293
4296
  autoComplete: !schema.help,
@@ -5583,7 +5586,7 @@ var addQueryParameter = (url, key, value) => {
5583
5586
 
5584
5587
  // src/legacy/layout/search/DynamicSearch.tsx
5585
5588
  var import_classnames9 = __toESM(require_classnames());
5586
- import { Typeahead } from "@transferwise/components";
5589
+ import { Markdown as Markdown3, Typeahead } from "@transferwise/components";
5587
5590
  import { jsx as jsx55, jsxs as jsxs21 } from "react/jsx-runtime";
5588
5591
  var DEBOUNCE_TIME = 400;
5589
5592
  function DynamicSearch({ component, onAction }) {
@@ -5629,7 +5632,15 @@ function DynamicSearch({ component, onAction }) {
5629
5632
  name: "typeahead-input-name",
5630
5633
  size: "md",
5631
5634
  maxHeight: 100,
5632
- footer: /* @__PURE__ */ jsx55(TypeaheadFooter, { state: status, results, onRetrySearch }),
5635
+ footer: /* @__PURE__ */ jsx55(
5636
+ TypeaheadFooter,
5637
+ {
5638
+ state: status,
5639
+ results,
5640
+ emptyMessage,
5641
+ onRetrySearch
5642
+ }
5643
+ ),
5633
5644
  multiple: false,
5634
5645
  clearable: false,
5635
5646
  addon: /* @__PURE__ */ jsx55(Search, { size: 24 }),
@@ -5666,10 +5677,11 @@ function mapResultToTypeaheadOption(result) {
5666
5677
  function TypeaheadFooter({
5667
5678
  results,
5668
5679
  state,
5669
- onRetrySearch
5680
+ onRetrySearch,
5681
+ emptyMessage
5670
5682
  }) {
5671
5683
  if (state === "success" && results.length === 0) {
5672
- return /* @__PURE__ */ jsx55("p", { className: "m-t-2 m-x-2", children: "No results found" });
5684
+ return /* @__PURE__ */ jsx55(Markdown3, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: emptyMessage });
5673
5685
  }
5674
5686
  if (state === "error" && results.length === 0) {
5675
5687
  return /* @__PURE__ */ jsx55("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx55(ErrorResult, { onRetrySearch }) });
@@ -8517,7 +8529,7 @@ var Field = ({
8517
8529
  };
8518
8530
 
8519
8531
  // src/revamp/wise/renderers/components/Help.tsx
8520
- import { Info as Info2, Markdown as Markdown3 } from "@transferwise/components";
8532
+ import { Info as Info2, Markdown as Markdown4 } from "@transferwise/components";
8521
8533
  import { useIntl as useIntl19 } from "react-intl";
8522
8534
  import { jsx as jsx76 } from "react/jsx-runtime";
8523
8535
  function Help2({ help }) {
@@ -8526,7 +8538,7 @@ function Help2({ help }) {
8526
8538
  Info2,
8527
8539
  {
8528
8540
  className: "m-l-1",
8529
- content: /* @__PURE__ */ jsx76(Markdown3, { config: { link: { target: "_blank" } }, children: help }),
8541
+ content: /* @__PURE__ */ jsx76(Markdown4, { config: { link: { target: "_blank" } }, children: help }),
8530
8542
  presentation: "POPOVER",
8531
8543
  size: "sm",
8532
8544
  "aria-label": intl.formatMessage(help_messages_default.helpAria)
@@ -8559,8 +8571,8 @@ var BooleanInputRenderer = {
8559
8571
  canRenderType: "input-boolean",
8560
8572
  render: (props) => {
8561
8573
  const _a = props, { id, control, label = "", description, help, error, type, value } = _a, rest = __objRest(_a, ["id", "control", "label", "description", "help", "error", "type", "value"]);
8562
- const checkboxProps = __spreadProps(__spreadValues({}, rest), { label, checked: value });
8563
- return /* @__PURE__ */ jsx79(FieldInput_default, { id, label: "", description, error, help, children: /* @__PURE__ */ jsx79(Checkbox3, __spreadValues({ id }, checkboxProps)) });
8574
+ const checkboxProps = __spreadProps(__spreadValues({}, rest), { label, secondary: description, checked: value });
8575
+ return /* @__PURE__ */ jsx79(FieldInput_default, { id, label: "", description: "", error, help, children: /* @__PURE__ */ jsx79(Checkbox3, __spreadValues({ id }, checkboxProps)) });
8564
8576
  }
8565
8577
  };
8566
8578
  var BooleanInputRenderer_default = BooleanInputRenderer;
@@ -9279,11 +9291,11 @@ var LoadingIndicatorRenderer = {
9279
9291
  var LoadingIndicatorRenderer_default = LoadingIndicatorRenderer;
9280
9292
 
9281
9293
  // src/revamp/wise/renderers/MarkdownRenderer.tsx
9282
- import { Markdown as Markdown4 } from "@transferwise/components";
9294
+ import { Markdown as Markdown5 } from "@transferwise/components";
9283
9295
  import { jsx as jsx98 } from "react/jsx-runtime";
9284
9296
  var MarkdownRenderer = {
9285
9297
  canRenderType: "markdown",
9286
- render: ({ content, align, margin }) => /* @__PURE__ */ jsx98("div", { className: getTextAlignmentAndMargin2({ align, margin }), children: /* @__PURE__ */ jsx98(Markdown4, { config: { link: { target: "_blank" } }, children: content }) })
9298
+ render: ({ content, align, margin }) => /* @__PURE__ */ jsx98("div", { className: getTextAlignmentAndMargin2({ align, margin }), children: /* @__PURE__ */ jsx98(Markdown5, { config: { link: { target: "_blank" } }, children: content }) })
9287
9299
  };
9288
9300
  var MarkdownRenderer_default = MarkdownRenderer;
9289
9301
 
@@ -9616,7 +9628,7 @@ function ItemSummaryOption2({
9616
9628
  var RepeatableRenderer_default = RepeatableRenderer;
9617
9629
 
9618
9630
  // src/revamp/wise/renderers/SearchRenderer/BlockSearchRendererComponent.tsx
9619
- import { Input as Input6, NavigationOption as NavigationOption7, NavigationOptionsList as NavigationOptionsList4 } from "@transferwise/components";
9631
+ import { Input as Input6, Markdown as Markdown6, NavigationOption as NavigationOption7, NavigationOptionsList as NavigationOptionsList4 } from "@transferwise/components";
9620
9632
 
9621
9633
  // src/revamp/wise/renderers/SearchRenderer/ErrorResult.tsx
9622
9634
  import { useIntl as useIntl22 } from "react-intl";
@@ -9692,7 +9704,7 @@ function SearchResultContent({
9692
9704
  }
9693
9705
  }
9694
9706
  function EmptySearchResult({ state }) {
9695
- return /* @__PURE__ */ jsx106("p", { className: "m-t-2", children: state.message });
9707
+ return /* @__PURE__ */ jsx106(Markdown6, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
9696
9708
  }
9697
9709
  function SearchResults2({
9698
9710
  state
@@ -9719,7 +9731,7 @@ function SearchResults2({
9719
9731
  var BlockSearchRendererComponent_default = BlockSearchRendererComponent;
9720
9732
 
9721
9733
  // src/revamp/wise/renderers/SearchRenderer/InlineSearchRendererComponent.tsx
9722
- import { Typeahead as Typeahead2 } from "@transferwise/components";
9734
+ import { Markdown as Markdown7, Typeahead as Typeahead2 } from "@transferwise/components";
9723
9735
  import { Search as Search2 } from "@transferwise/icons";
9724
9736
  import { useState as useState32 } from "react";
9725
9737
  import { jsx as jsx107, jsxs as jsxs43 } from "react/jsx-runtime";
@@ -9782,7 +9794,7 @@ function mapResultToTypeaheadOption2(result) {
9782
9794
  }
9783
9795
  function TypeaheadFooter2({ state, isLoading }) {
9784
9796
  if (state.type === "noResults") {
9785
- return /* @__PURE__ */ jsx107("p", { className: "m-t-2 m-x-2", children: "No results found" });
9797
+ return /* @__PURE__ */ jsx107(Markdown7, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
9786
9798
  }
9787
9799
  if (state.type === "error") {
9788
9800
  return /* @__PURE__ */ jsx107("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx107(ErrorResult2, { state }) });
@@ -17945,10 +17957,17 @@ var mapStepToComponent = (_a) => {
17945
17957
  "displayStepTitle",
17946
17958
  "trackEvent"
17947
17959
  ]);
17948
- var _a2;
17960
+ var _a2, _b2;
17949
17961
  const { httpClient, step, updateComponent } = restProps;
17950
- const { id, external, key, layout = [], polling } = step;
17951
- const refreshUrl = (_a2 = step.refreshUrl) != null ? _a2 : step.refreshFormUrl;
17962
+ const { id, navigation, external, key, layout = [], polling } = step;
17963
+ const backNavigation = (_a2 = navigation == null ? void 0 : navigation.back) != null ? _a2 : navigation == null ? void 0 : navigation.backButton;
17964
+ const back = backNavigation ? {
17965
+ title: backNavigation.title,
17966
+ onClick: () => {
17967
+ void restProps.onAction(__spreadProps(__spreadValues({}, backNavigation.action), { skipValidation: true }));
17968
+ }
17969
+ } : void 0;
17970
+ const refreshUrl = (_b2 = step.refreshUrl) != null ? _b2 : step.refreshFormUrl;
17952
17971
  const stepId = id || key;
17953
17972
  if (stepId === void 0) {
17954
17973
  throw new Error("Step must have an id or a key");
@@ -17981,6 +18000,7 @@ var mapStepToComponent = (_a) => {
17981
18000
  const stepComponent = createStepComponent({
17982
18001
  uid,
17983
18002
  components: [...additionalComponents, ...layoutComponents],
18003
+ back,
17984
18004
  external,
17985
18005
  loadingState,
17986
18006
  stepPolling,
@@ -18083,9 +18103,17 @@ var executeSubmission = async (props) => {
18083
18103
  return { type: "complete", result };
18084
18104
  }
18085
18105
  try {
18106
+ const makeRequestBody = () => {
18107
+ var _a;
18108
+ if (method === "GET") {
18109
+ return void 0;
18110
+ }
18111
+ const payload = mergeModels(model, (_a = action.data) != null ? _a : null);
18112
+ return payload !== null ? JSON.stringify(payload) : null;
18113
+ };
18086
18114
  const response = await httpClient(url != null ? url : "", {
18087
18115
  method,
18088
- body: method === "GET" ? void 0 : JSON.stringify(model),
18116
+ body: makeRequestBody(),
18089
18117
  headers: { "Content-Type": "application/json" }
18090
18118
  });
18091
18119
  if (!response.ok) {
@@ -18144,8 +18172,9 @@ var CoreContainerRenderer = {
18144
18172
  };
18145
18173
 
18146
18174
  // src/revamp/renderers/stepComponentToProps.ts
18147
- var stepComponentToProps = ({ external, loadingState, trackEvent }, children) => ({
18175
+ var stepComponentToProps = ({ back, external, loadingState, trackEvent }, children) => ({
18148
18176
  type: "step",
18177
+ back,
18149
18178
  external,
18150
18179
  loadingState,
18151
18180
  trackEvent,
@@ -18782,7 +18811,7 @@ import { useMemo as useMemo18 } from "react";
18782
18811
 
18783
18812
  // src/revamp/renderers/step/ExternalConfirmationDialog.tsx
18784
18813
  import { useIntl as useIntl23 } from "react-intl";
18785
- import { Button as Button11, Markdown as Markdown5 } from "@transferwise/components";
18814
+ import { Button as Button11, Markdown as Markdown8 } from "@transferwise/components";
18786
18815
  import { jsx as jsx122, jsxs as jsxs49 } from "react/jsx-runtime";
18787
18816
  function ExternalConfirmationDialog({
18788
18817
  external,
@@ -18791,7 +18820,7 @@ function ExternalConfirmationDialog({
18791
18820
  const { formatMessage } = useIntl23();
18792
18821
  return /* @__PURE__ */ jsx122("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs49("div", { className: "df-box-renderer-width-lg", children: [
18793
18822
  /* @__PURE__ */ jsx122("h2", { className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.title) }),
18794
- /* @__PURE__ */ jsx122(Markdown5, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin2(external.url) }) }),
18823
+ /* @__PURE__ */ jsx122(Markdown8, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin2(external.url) }) }),
18795
18824
  /* @__PURE__ */ jsx122("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs49("div", { className: "df-box-renderer-width-lg", children: [
18796
18825
  /* @__PURE__ */ jsx122(
18797
18826
  Button11,
@@ -18835,20 +18864,47 @@ function useExternal2(url) {
18835
18864
  return { requiresUserConfirmation, dismissConfirmation };
18836
18865
  }
18837
18866
 
18867
+ // src/revamp/renderers/step/BackButton.tsx
18868
+ import { Avatar as Avatar7 } from "@transferwise/components";
18869
+ import { ArrowLeft as ArrowLeft2 } from "@transferwise/icons";
18870
+ import { jsx as jsx123, jsxs as jsxs50 } from "react/jsx-runtime";
18871
+ function BackButton2({ title, onClick }) {
18872
+ return /* @__PURE__ */ jsxs50(
18873
+ "a",
18874
+ {
18875
+ href: "/",
18876
+ className: "df-back-btn",
18877
+ "aria-label": title,
18878
+ onClick: (event) => {
18879
+ event.preventDefault();
18880
+ onClick();
18881
+ },
18882
+ children: [
18883
+ /* @__PURE__ */ jsx123("span", { className: "sr-only", children: title }),
18884
+ /* @__PURE__ */ jsx123(Avatar7, { type: "icon", children: /* @__PURE__ */ jsx123(ArrowLeft2, { size: "24" }) })
18885
+ ]
18886
+ }
18887
+ );
18888
+ }
18889
+ var BackButton_default2 = BackButton2;
18890
+
18838
18891
  // src/revamp/renderers/step/StepRenderer.tsx
18839
- import { jsx as jsx123 } from "react/jsx-runtime";
18892
+ import { jsx as jsx124, jsxs as jsxs51 } from "react/jsx-runtime";
18840
18893
  var StepRenderer = {
18841
18894
  canRenderType: "step",
18842
18895
  render: StepRendererComponent
18843
18896
  };
18844
18897
  function StepRendererComponent(props) {
18845
- const { loadingState, external, trackEvent, children } = props;
18898
+ const { back, loadingState, external, trackEvent, children } = props;
18846
18899
  const value = useMemo18(() => ({ loadingState, trackEvent }), [loadingState, trackEvent]);
18847
18900
  const { requiresUserConfirmation, dismissConfirmation } = useExternal2(external == null ? void 0 : external.url);
18848
18901
  if ((external == null ? void 0 : external.url) && requiresUserConfirmation) {
18849
- return /* @__PURE__ */ jsx123(ExternalConfirmationDialog, { external, onClose: dismissConfirmation });
18902
+ return /* @__PURE__ */ jsx124(ExternalConfirmationDialog, { external, onClose: dismissConfirmation });
18850
18903
  }
18851
- return /* @__PURE__ */ jsx123(StepRendererContextProvider, { value, children });
18904
+ return /* @__PURE__ */ jsxs51(StepRendererContextProvider, { value, children: [
18905
+ back ? /* @__PURE__ */ jsx124(BackButton_default2, __spreadValues({}, back)) : null,
18906
+ children
18907
+ ] });
18852
18908
  }
18853
18909
 
18854
18910
  // src/revamp/utils/findComponent.ts
@@ -18881,7 +18937,7 @@ function useStableCallback(handler) {
18881
18937
  }
18882
18938
 
18883
18939
  // src/revamp/DynamicFlowCore.tsx
18884
- import { jsx as jsx124 } from "react/jsx-runtime";
18940
+ import { jsx as jsx125 } from "react/jsx-runtime";
18885
18941
  function DynamicFlowCore(props) {
18886
18942
  const _a = props, { flowId, initialAction, initialStep, renderers: renderers2, displayStepTitle = true } = _a, rest = __objRest(_a, ["flowId", "initialAction", "initialStep", "renderers", "displayStepTitle"]);
18887
18943
  const httpClient = useStableCallback(rest.httpClient);
@@ -18907,7 +18963,7 @@ function DynamicFlowCore(props) {
18907
18963
  useEffect25(() => {
18908
18964
  trackCoreEvent("Initiated");
18909
18965
  if (!initialStep && initialAction) {
18910
- void onAction(initialAction);
18966
+ void onAction(__spreadValues({ method: "GET" }, initialAction));
18911
18967
  }
18912
18968
  if (initialStep && !initialAction) {
18913
18969
  initialiseWithStep(initialStep, null);
@@ -19000,14 +19056,13 @@ function DynamicFlowCore(props) {
19000
19056
  []
19001
19057
  );
19002
19058
  const onAction = useCallback11(async (action) => {
19003
- var _a2, _b, _c, _d;
19059
+ var _a2, _b, _c;
19004
19060
  try {
19005
19061
  (_a2 = stepComponentRef.current) == null ? void 0 : _a2.setLoadingState("loading");
19006
19062
  const model = (_c = await ((_b = stepComponentRef.current) == null ? void 0 : _b.getSubmittableValue())) != null ? _c : null;
19007
- const payload = mergeModels(model, (_d = action.data) != null ? _d : null);
19008
19063
  const command = await executeSubmission({
19009
19064
  action,
19010
- model: payload,
19065
+ model,
19011
19066
  isInitial: stepRef.current === null,
19012
19067
  httpClient,
19013
19068
  trackEvent: trackCoreEvent
@@ -19085,11 +19140,11 @@ function DynamicFlowCore(props) {
19085
19140
  () => getRenderFunction([CoreContainerRenderer, ...renderers2, StepRenderer]),
19086
19141
  [renderers2]
19087
19142
  );
19088
- return /* @__PURE__ */ jsx124(ErrorBoundary_default, { onError: closeWithError, children: stepComponent ? render(stepComponent) : null });
19143
+ return /* @__PURE__ */ jsx125(ErrorBoundary_default, { onError: closeWithError, children: stepComponent ? render(stepComponent) : null });
19089
19144
  }
19090
19145
 
19091
19146
  // src/revamp/DynamicFlowWise.tsx
19092
- import { jsx as jsx125 } from "react/jsx-runtime";
19147
+ import { jsx as jsx126 } from "react/jsx-runtime";
19093
19148
  var renderers = getWiseRenderers();
19094
19149
  function DynamicFlowWise(props) {
19095
19150
  const { httpClient } = props;
@@ -19098,7 +19153,7 @@ function DynamicFlowWise(props) {
19098
19153
  () => makeWiseHttpClient(httpClient, locale),
19099
19154
  [httpClient, locale]
19100
19155
  );
19101
- return /* @__PURE__ */ jsx125(HttpClientProvider, { httpClient: wiseHttpClient, children: /* @__PURE__ */ jsx125(DynamicFlowCore, __spreadProps(__spreadValues({}, props), { renderers })) });
19156
+ return /* @__PURE__ */ jsx126(HttpClientProvider, { httpClient: wiseHttpClient, children: /* @__PURE__ */ jsx126(DynamicFlowCore, __spreadProps(__spreadValues({}, props), { renderers })) });
19102
19157
  }
19103
19158
  var DynamicFlowWise_default = DynamicFlowWise;
19104
19159
  var makeWiseHttpClient = (httpClient, locale) => async (input, init) => httpClient(
@@ -114,6 +114,7 @@ type FormControlProps = {
114
114
  displayPattern?: string;
115
115
  id: string;
116
116
  label?: string;
117
+ description?: string;
117
118
  max?: number;
118
119
  maxDate?: Date;
119
120
  maxLength?: number;
@@ -4,6 +4,7 @@ import type { AnalyticsEventDispatcher } from '../features/events';
4
4
  import type { StepPolling } from '../features/polling/getStepPolling';
5
5
  export type StepDomainComponent = BaseComponent & {
6
6
  type: 'step';
7
+ back?: BackNavigation;
7
8
  components: DomainComponent[];
8
9
  external?: Step['external'];
9
10
  loadingState: LoadingState;
@@ -13,7 +14,12 @@ export type StepDomainComponent = BaseComponent & {
13
14
  stop: () => void;
14
15
  trackEvent: AnalyticsEventDispatcher<string>;
15
16
  };
16
- export declare const createStepComponent: (stepProps: Pick<StepDomainComponent, "external" | "components" | "loadingState" | "uid" | "trackEvent"> & {
17
+ type BackNavigation = {
18
+ title?: string;
19
+ onClick: () => void;
20
+ };
21
+ export declare const createStepComponent: (stepProps: Pick<StepDomainComponent, "external" | "components" | "back" | "loadingState" | "uid" | "trackEvent"> & {
17
22
  stepPolling?: StepPolling | undefined;
18
23
  updateComponent: UpdateComponent;
19
24
  }) => StepDomainComponent;
25
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { StepRendererProps } from '../types';
2
+ declare function BackButton({ title, onClick }: NonNullable<StepRendererProps['back']>): JSX.Element;
3
+ export default BackButton;
@@ -1,4 +1,4 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { StepDomainComponent } from '../domain/components/StepDomainComponent';
3
3
  import type { StepRendererProps } from './types';
4
- export declare const stepComponentToProps: ({ external, loadingState, trackEvent }: StepDomainComponent, children: ReactNode) => StepRendererProps;
4
+ export declare const stepComponentToProps: ({ back, external, loadingState, trackEvent }: StepDomainComponent, children: ReactNode) => StepRendererProps;
@@ -25,6 +25,10 @@ export type RendererProps = StepRendererProps | CoreContainerRendererProps | Ale
25
25
  export type StepRendererProps = {
26
26
  type: 'step';
27
27
  control?: string;
28
+ back?: {
29
+ title?: string;
30
+ onClick: () => void;
31
+ };
28
32
  external?: {
29
33
  url: string;
30
34
  };
@@ -148,7 +152,6 @@ export type SearchRendererProps = {
148
152
  type: 'search';
149
153
  control?: string;
150
154
  id: string;
151
- emptyMessage?: string;
152
155
  isLoading: boolean;
153
156
  margin: Margin;
154
157
  query: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/dynamic-flow-client",
3
- "version": "3.6.0",
3
+ "version": "3.6.2",
4
4
  "description": "Dynamic Flow web client",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./build/main.min.js",
@@ -92,7 +92,7 @@
92
92
  "classnames": "2.5.1",
93
93
  "react-webcam": "^7.2.0",
94
94
  "screenfull": "^5.2.0",
95
- "@wise/dynamic-flow-types": "2.13.0"
95
+ "@wise/dynamic-flow-types": "2.14.0"
96
96
  },
97
97
  "scripts": {
98
98
  "dev": "storybook dev -p 3003",