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