@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.js +80 -25
- package/build/main.min.js +1 -1
- package/build/main.mjs +89 -34
- package/build/types/legacy/formControl/FormControl.d.ts +1 -0
- package/build/types/revamp/domain/components/StepDomainComponent.d.ts +7 -1
- package/build/types/revamp/renderers/step/BackButton.d.ts +3 -0
- package/build/types/revamp/renderers/stepComponentToProps.d.ts +1 -1
- package/build/types/revamp/renderers/types.d.ts +4 -1
- package/package.json +2 -2
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(
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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:
|
|
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
|
|
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(
|
|
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
|
|
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__ */
|
|
18902
|
+
return /* @__PURE__ */ jsx124(ExternalConfirmationDialog, { external, onClose: dismissConfirmation });
|
|
18850
18903
|
}
|
|
18851
|
-
return /* @__PURE__ */
|
|
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
|
|
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
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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(
|
|
@@ -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
|
-
|
|
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 {};
|
|
@@ -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.
|
|
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.
|
|
95
|
+
"@wise/dynamic-flow-types": "2.14.0"
|
|
96
96
|
},
|
|
97
97
|
"scripts": {
|
|
98
98
|
"dev": "storybook dev -p 3003",
|