@wise/dynamic-flow-client-internal 4.31.3 → 4.32.0
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/i18n/id.json +1 -1
- package/build/i18n/uk.json +9 -9
- package/build/main.js +146 -118
- package/build/main.mjs +103 -75
- package/package.json +4 -4
package/build/i18n/id.json
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"df.wise.CopyFeedback.copy": "Disalin ke clipboard",
|
|
20
20
|
"df.wise.CopyFeedback.copyFailed": "Gagal menyalin ke clipboard",
|
|
21
21
|
"df.wise.Decision.all": "Semua",
|
|
22
|
-
"df.wise.Decision.currenciesWithAccountDetails": "
|
|
22
|
+
"df.wise.Decision.currenciesWithAccountDetails": "Mata uang dengan detail rekening",
|
|
23
23
|
"df.wise.Decision.filterPlaceholder": "Mulai mengetik untuk mencari",
|
|
24
24
|
"df.wise.Decision.noResults": "Tidak ada hasil",
|
|
25
25
|
"df.wise.Decision.popular": "Populer",
|
package/build/i18n/uk.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"df.wise.ArraySchema.addItem": "
|
|
2
|
+
"df.wise.ArraySchema.addItem": "Зберегти",
|
|
3
3
|
"df.wise.ArraySchema.addItemTitle": "Add Item",
|
|
4
|
-
"df.wise.ArraySchema.editItem": "
|
|
4
|
+
"df.wise.ArraySchema.editItem": "Зберегти",
|
|
5
5
|
"df.wise.ArraySchema.maxItemsError": "Додайте {maxItems} або менше.",
|
|
6
6
|
"df.wise.ArraySchema.minItemsError": "Додайте принаймні {minItems}.",
|
|
7
7
|
"df.wise.ArraySchema.removeItem": "Вилучити",
|
|
8
8
|
"df.wise.ButtonLayout.buttonLoadingMessage": "This might take a few seconds",
|
|
9
|
-
"df.wise.ControlFeedback.maxLength": "
|
|
10
|
-
"df.wise.ControlFeedback.maximum": "Введіть число, що дорівнює {maximum}
|
|
9
|
+
"df.wise.ControlFeedback.maxLength": "Максимальна кількість символів: {maxLength}.",
|
|
10
|
+
"df.wise.ControlFeedback.maximum": "Введіть число, що менше або дорівнює {maximum}.",
|
|
11
11
|
"df.wise.ControlFeedback.maximumDate": "Введіть дату, що припадає на {maximum}, або ранішу.",
|
|
12
12
|
"df.wise.ControlFeedback.minLength": "Мінімальна кількість символів: {minLength}.",
|
|
13
|
-
"df.wise.ControlFeedback.minimum": "Введіть число, що дорівнює {minimum}
|
|
13
|
+
"df.wise.ControlFeedback.minimum": "Введіть число, що більше або дорівнює {minimum}.",
|
|
14
14
|
"df.wise.ControlFeedback.minimumDate": "Введіть дату, що припадає на {minimum}, або пізнішу.",
|
|
15
15
|
"df.wise.ControlFeedback.pattern": "Введіть значення в правильному форматі.",
|
|
16
16
|
"df.wise.ControlFeedback.patternDate": "Введіть дату в правильному форматі.",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"df.wise.Decision.results": "Результати пошуку",
|
|
28
28
|
"df.wise.DynamicParagraph.copied": "Скопійовано в буфер обміну",
|
|
29
29
|
"df.wise.DynamicParagraph.copy": "Копіювати",
|
|
30
|
-
"df.wise.ErrorBoundary.errorAlert": "
|
|
30
|
+
"df.wise.ErrorBoundary.errorAlert": "Щось пішло не так.",
|
|
31
31
|
"df.wise.ErrorBoundary.retry": "Повторити спробу",
|
|
32
32
|
"df.wise.ExternalConfirmation.cancel": "Скасувати",
|
|
33
33
|
"df.wise.ExternalConfirmation.description": "Підтвердьте, що ви бажаєте відкрити **{origin}** в новій вкладці браузера.",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"df.wise.ExternalConfirmation.title": "Підтвердьте",
|
|
36
36
|
"df.wise.Help.ariaLabel": "Натисніть тут, щоб дізнатися більше.",
|
|
37
37
|
"df.wise.MultiSelect.summary": "{first} і ще {count}",
|
|
38
|
-
"df.wise.MultipleFileUploadSchema.maxFileSizeError": "Вибачте, але цей файл завеликий.
|
|
39
|
-
"df.wise.MultipleFileUploadSchema.maxItemsError": "
|
|
40
|
-
"df.wise.MultipleFileUploadSchema.minItemsError": "
|
|
38
|
+
"df.wise.MultipleFileUploadSchema.maxFileSizeError": "Вибачте, але цей файл завеликий. Завантажте менший файл.",
|
|
39
|
+
"df.wise.MultipleFileUploadSchema.maxItemsError": "Максимальна кількість файлів для завантаження: {maxItems}.",
|
|
40
|
+
"df.wise.MultipleFileUploadSchema.minItemsError": "Мінімальна кількість файлів для завантаження: {minItems}.",
|
|
41
41
|
"df.wise.PersistAsyncSchema.genericError": "Щось сталося. Спробуйте ще раз.",
|
|
42
42
|
"df.wise.SearchLayout.loading": "Завантаження…"
|
|
43
43
|
}
|
package/build/main.js
CHANGED
|
@@ -2907,58 +2907,86 @@ function SplashStepRendererComponent(props) {
|
|
|
2907
2907
|
}
|
|
2908
2908
|
|
|
2909
2909
|
// ../renderers/src/step/StepRenderer.tsx
|
|
2910
|
+
var import_components47 = require("@transferwise/components");
|
|
2911
|
+
|
|
2912
|
+
// ../renderers/src/step/StepError.tsx
|
|
2910
2913
|
var import_components46 = require("@transferwise/components");
|
|
2914
|
+
var import_react17 = require("react");
|
|
2911
2915
|
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
2916
|
+
var StepError = ({
|
|
2917
|
+
error,
|
|
2918
|
+
uid,
|
|
2919
|
+
stepLoadingState
|
|
2920
|
+
}) => {
|
|
2921
|
+
const alertId = `${uid}-step-alert`;
|
|
2922
|
+
const [previousLoadingState, setPreviousLoadingState] = (0, import_react17.useState)(stepLoadingState);
|
|
2923
|
+
(0, import_react17.useEffect)(() => {
|
|
2924
|
+
var _a;
|
|
2925
|
+
if (previousLoadingState === "submitting" && stepLoadingState === "idle") {
|
|
2926
|
+
if (error) {
|
|
2927
|
+
const element = document.getElementById(alertId);
|
|
2928
|
+
(_a = element == null ? void 0 : element.scrollIntoView) == null ? void 0 : _a.call(element, {
|
|
2929
|
+
behavior: "smooth"
|
|
2930
|
+
});
|
|
2931
|
+
}
|
|
2932
|
+
}
|
|
2933
|
+
setPreviousLoadingState(stepLoadingState);
|
|
2934
|
+
}, [alertId, error, previousLoadingState, stepLoadingState]);
|
|
2935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { id: alertId, children: error ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_components46.Alert, { type: "negative", className: "m-b-2", message: error }) : void 0 });
|
|
2936
|
+
};
|
|
2937
|
+
|
|
2938
|
+
// ../renderers/src/step/StepRenderer.tsx
|
|
2939
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
2912
2940
|
var StepRenderer = {
|
|
2913
2941
|
canRenderType: "step",
|
|
2914
2942
|
render: StepRendererComponent
|
|
2915
2943
|
};
|
|
2916
2944
|
function StepRendererComponent(props) {
|
|
2917
|
-
const { back, description, error, title, children, toolbar, footer } = props;
|
|
2945
|
+
const { uid, back, description, error, title, children, toolbar, footer, stepLoadingState } = props;
|
|
2918
2946
|
const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
|
|
2919
|
-
return /* @__PURE__ */ (0,
|
|
2920
|
-
/* @__PURE__ */ (0,
|
|
2921
|
-
title || description ? /* @__PURE__ */ (0,
|
|
2922
|
-
title ? /* @__PURE__ */ (0,
|
|
2923
|
-
description ? /* @__PURE__ */ (0,
|
|
2947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { children: [
|
|
2948
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TopBar, { back, toolbar }),
|
|
2949
|
+
title || description ? /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "m-b-4", children: [
|
|
2950
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_components47.Title, { as: "h1", type: "title-section", className: "text-xs-center m-b-2", children: title }) : void 0,
|
|
2951
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "text-xs-center np-text-body-large", children: description }) : void 0
|
|
2924
2952
|
] }) : void 0,
|
|
2925
|
-
|
|
2953
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(StepError, { error, uid, stepLoadingState }),
|
|
2926
2954
|
children,
|
|
2927
|
-
hasFooter ? /* @__PURE__ */ (0,
|
|
2955
|
+
hasFooter ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "df-step-fixed__footer", children: footer }) : void 0
|
|
2928
2956
|
] });
|
|
2929
2957
|
}
|
|
2930
2958
|
|
|
2931
2959
|
// ../renderers/src/TabsRenderer.tsx
|
|
2932
|
-
var
|
|
2933
|
-
var
|
|
2934
|
-
var
|
|
2960
|
+
var import_components48 = require("@transferwise/components");
|
|
2961
|
+
var import_react18 = require("react");
|
|
2962
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
2935
2963
|
var TabsRenderer = {
|
|
2936
2964
|
canRenderType: "tabs",
|
|
2937
2965
|
render: (props) => {
|
|
2938
2966
|
switch (props.control) {
|
|
2939
2967
|
case "segmented":
|
|
2940
2968
|
if (props.tabs.length > 3) {
|
|
2941
|
-
return /* @__PURE__ */ (0,
|
|
2969
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(TabsRendererComponent, __spreadValues({}, props));
|
|
2942
2970
|
}
|
|
2943
|
-
return /* @__PURE__ */ (0,
|
|
2971
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(SegmentedTabsRendererComponent, __spreadValues({}, props));
|
|
2944
2972
|
case "chips":
|
|
2945
|
-
return /* @__PURE__ */ (0,
|
|
2973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ChipsTabsRendererComponent, __spreadValues({}, props));
|
|
2946
2974
|
default:
|
|
2947
|
-
return /* @__PURE__ */ (0,
|
|
2975
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(TabsRendererComponent, __spreadValues({}, props));
|
|
2948
2976
|
}
|
|
2949
2977
|
}
|
|
2950
2978
|
};
|
|
2951
2979
|
function TabsRendererComponent({ uid, margin, tabs }) {
|
|
2952
|
-
const [selectedIndex, setSelectedIndex] = (0,
|
|
2953
|
-
return /* @__PURE__ */ (0,
|
|
2954
|
-
|
|
2980
|
+
const [selectedIndex, setSelectedIndex] = (0, import_react18.useState)(0);
|
|
2981
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: getMargin(margin), children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
2982
|
+
import_components48.Tabs,
|
|
2955
2983
|
{
|
|
2956
2984
|
name: uid,
|
|
2957
2985
|
selected: selectedIndex != null ? selectedIndex : 0,
|
|
2958
2986
|
tabs: tabs.map((option) => ({
|
|
2959
2987
|
title: option.title,
|
|
2960
2988
|
disabled: false,
|
|
2961
|
-
content: /* @__PURE__ */ (0,
|
|
2989
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "m-t-2", children: [
|
|
2962
2990
|
" ",
|
|
2963
2991
|
option.children,
|
|
2964
2992
|
" "
|
|
@@ -2970,10 +2998,10 @@ function TabsRendererComponent({ uid, margin, tabs }) {
|
|
|
2970
2998
|
}
|
|
2971
2999
|
function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
|
|
2972
3000
|
var _a;
|
|
2973
|
-
const [selectedIndex, setSelectedIndex] = (0,
|
|
2974
|
-
return /* @__PURE__ */ (0,
|
|
2975
|
-
/* @__PURE__ */ (0,
|
|
2976
|
-
|
|
3001
|
+
const [selectedIndex, setSelectedIndex] = (0, import_react18.useState)(0);
|
|
3002
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: getMargin(margin), children: [
|
|
3003
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
3004
|
+
import_components48.SegmentedControl,
|
|
2977
3005
|
{
|
|
2978
3006
|
name: uid,
|
|
2979
3007
|
value: String(selectedIndex),
|
|
@@ -2987,31 +3015,31 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
|
|
|
2987
3015
|
onChange: (value) => setSelectedIndex(Number(value))
|
|
2988
3016
|
}
|
|
2989
3017
|
),
|
|
2990
|
-
/* @__PURE__ */ (0,
|
|
3018
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
|
|
2991
3019
|
] });
|
|
2992
3020
|
}
|
|
2993
3021
|
function ChipsTabsRendererComponent({ margin, tabs }) {
|
|
2994
3022
|
var _a;
|
|
2995
|
-
const [selectedIndex, setSelectedIndex] = (0,
|
|
2996
|
-
return /* @__PURE__ */ (0,
|
|
2997
|
-
/* @__PURE__ */ (0,
|
|
2998
|
-
|
|
3023
|
+
const [selectedIndex, setSelectedIndex] = (0, import_react18.useState)(0);
|
|
3024
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: getMargin(margin), children: [
|
|
3025
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "chips-container", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
3026
|
+
import_components48.Chips,
|
|
2999
3027
|
{
|
|
3000
3028
|
chips: tabs.map((tab, index) => ({ label: tab.title, value: index })),
|
|
3001
3029
|
selected: selectedIndex,
|
|
3002
3030
|
onChange: ({ selectedValue }) => setSelectedIndex(Number(selectedValue))
|
|
3003
3031
|
}
|
|
3004
3032
|
) }),
|
|
3005
|
-
/* @__PURE__ */ (0,
|
|
3033
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
|
|
3006
3034
|
] });
|
|
3007
3035
|
}
|
|
3008
3036
|
|
|
3009
3037
|
// ../renderers/src/TextInputRenderer.tsx
|
|
3010
|
-
var
|
|
3038
|
+
var import_components50 = require("@transferwise/components");
|
|
3011
3039
|
|
|
3012
3040
|
// ../renderers/src/components/VariableTextInput.tsx
|
|
3013
|
-
var
|
|
3014
|
-
var
|
|
3041
|
+
var import_components49 = require("@transferwise/components");
|
|
3042
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
3015
3043
|
var commonKeys = [
|
|
3016
3044
|
"autoComplete",
|
|
3017
3045
|
"autoCapitalize",
|
|
@@ -3030,12 +3058,12 @@ function VariableTextInput(inputProps) {
|
|
|
3030
3058
|
const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
|
|
3031
3059
|
switch (control) {
|
|
3032
3060
|
case "email":
|
|
3033
|
-
return /* @__PURE__ */ (0,
|
|
3061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
|
|
3034
3062
|
case "password":
|
|
3035
|
-
return /* @__PURE__ */ (0,
|
|
3063
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
|
|
3036
3064
|
case "numeric": {
|
|
3037
3065
|
const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
|
|
3038
|
-
return /* @__PURE__ */ (0,
|
|
3066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
3039
3067
|
TextInput,
|
|
3040
3068
|
__spreadProps(__spreadValues({}, numericProps), {
|
|
3041
3069
|
onChange: (newValue) => {
|
|
@@ -3046,21 +3074,21 @@ function VariableTextInput(inputProps) {
|
|
|
3046
3074
|
);
|
|
3047
3075
|
}
|
|
3048
3076
|
case "phone-number":
|
|
3049
|
-
return /* @__PURE__ */ (0,
|
|
3077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_components49.PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
|
|
3050
3078
|
default: {
|
|
3051
|
-
return /* @__PURE__ */ (0,
|
|
3079
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
|
|
3052
3080
|
}
|
|
3053
3081
|
}
|
|
3054
3082
|
}
|
|
3055
3083
|
function TextInput(props) {
|
|
3056
3084
|
const _a = props, { control, displayFormat, onChange } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange"]);
|
|
3057
|
-
const InputWithPattern = control === "textarea" ?
|
|
3058
|
-
const InputWithoutPattern = control === "textarea" ?
|
|
3059
|
-
return displayFormat ? /* @__PURE__ */ (0,
|
|
3085
|
+
const InputWithPattern = control === "textarea" ? import_components49.TextareaWithDisplayFormat : import_components49.InputWithDisplayFormat;
|
|
3086
|
+
const InputWithoutPattern = control === "textarea" ? import_components49.TextArea : import_components49.Input;
|
|
3087
|
+
return displayFormat ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
|
|
3060
3088
|
}
|
|
3061
3089
|
|
|
3062
3090
|
// ../renderers/src/TextInputRenderer.tsx
|
|
3063
|
-
var
|
|
3091
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
3064
3092
|
var TextInputRenderer = {
|
|
3065
3093
|
canRenderType: "input-text",
|
|
3066
3094
|
render: (props) => {
|
|
@@ -3093,7 +3121,7 @@ var TextInputRenderer = {
|
|
|
3093
3121
|
}
|
|
3094
3122
|
}
|
|
3095
3123
|
});
|
|
3096
|
-
return /* @__PURE__ */ (0,
|
|
3124
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
3097
3125
|
FieldInput_default,
|
|
3098
3126
|
{
|
|
3099
3127
|
id,
|
|
@@ -3101,7 +3129,7 @@ var TextInputRenderer = {
|
|
|
3101
3129
|
description,
|
|
3102
3130
|
validation: validationState,
|
|
3103
3131
|
help,
|
|
3104
|
-
children: /* @__PURE__ */ (0,
|
|
3132
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_components50.InputGroup, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(VariableTextInput, __spreadValues({}, inputProps)) })
|
|
3105
3133
|
}
|
|
3106
3134
|
);
|
|
3107
3135
|
}
|
|
@@ -3109,13 +3137,13 @@ var TextInputRenderer = {
|
|
|
3109
3137
|
var TextInputRenderer_default = TextInputRenderer;
|
|
3110
3138
|
|
|
3111
3139
|
// ../renderers/src/UploadInputRenderer.tsx
|
|
3112
|
-
var
|
|
3140
|
+
var import_components51 = require("@transferwise/components");
|
|
3113
3141
|
|
|
3114
3142
|
// ../renderers/src/utils/getRandomId.ts
|
|
3115
3143
|
var getRandomId = () => Math.random().toString(36).substring(2);
|
|
3116
3144
|
|
|
3117
3145
|
// ../renderers/src/UploadInputRenderer.tsx
|
|
3118
|
-
var
|
|
3146
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
3119
3147
|
var UploadInputRenderer = {
|
|
3120
3148
|
canRenderType: "input-upload",
|
|
3121
3149
|
render: (props) => {
|
|
@@ -3131,15 +3159,15 @@ var UploadInputRenderer = {
|
|
|
3131
3159
|
};
|
|
3132
3160
|
return (
|
|
3133
3161
|
// We don't pass help here as there is no sensible place to display it
|
|
3134
|
-
/* @__PURE__ */ (0,
|
|
3162
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
3135
3163
|
UploadFieldInput_default,
|
|
3136
3164
|
{
|
|
3137
3165
|
id,
|
|
3138
3166
|
label: void 0,
|
|
3139
3167
|
description: void 0,
|
|
3140
3168
|
validation: validationState,
|
|
3141
|
-
children: /* @__PURE__ */ (0,
|
|
3142
|
-
|
|
3169
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
3170
|
+
import_components51.UploadInput,
|
|
3143
3171
|
{
|
|
3144
3172
|
id,
|
|
3145
3173
|
description,
|
|
@@ -3197,7 +3225,7 @@ var LargeUploadRenderer = {
|
|
|
3197
3225
|
};
|
|
3198
3226
|
const filetypes = acceptsToFileTypes(accepts);
|
|
3199
3227
|
const usAccept = filetypes === "*" ? "*" : filetypes.join(",");
|
|
3200
|
-
return /* @__PURE__ */ (0,
|
|
3228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
3201
3229
|
FieldInput_default,
|
|
3202
3230
|
{
|
|
3203
3231
|
id,
|
|
@@ -3205,8 +3233,8 @@ var LargeUploadRenderer = {
|
|
|
3205
3233
|
description,
|
|
3206
3234
|
validation: validationState,
|
|
3207
3235
|
help,
|
|
3208
|
-
children: /* @__PURE__ */ (0,
|
|
3209
|
-
|
|
3236
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
3237
|
+
import_components51.Upload,
|
|
3210
3238
|
__spreadProps(__spreadValues({}, uploadProps), {
|
|
3211
3239
|
usAccept,
|
|
3212
3240
|
usDisabled: disabled,
|
|
@@ -3221,24 +3249,24 @@ var LargeUploadRenderer = {
|
|
|
3221
3249
|
};
|
|
3222
3250
|
|
|
3223
3251
|
// ../renderers/src/NewListItem/NewDecisionRenderer.tsx
|
|
3224
|
-
var
|
|
3252
|
+
var import_components54 = require("@transferwise/components");
|
|
3225
3253
|
|
|
3226
3254
|
// ../renderers/src/NewListItem/getInlineAlert.tsx
|
|
3227
|
-
var import_components51 = require("@transferwise/components");
|
|
3228
|
-
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
3229
|
-
var getInlineAlert = (inlineAlert) => inlineAlert ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_components51.ListItem.Prompt, { sentiment: inlineAlert == null ? void 0 : inlineAlert.context, children: inlineAlert.content }) : void 0;
|
|
3230
|
-
|
|
3231
|
-
// ../renderers/src/NewListItem/getAdditionalInfo.tsx
|
|
3232
3255
|
var import_components52 = require("@transferwise/components");
|
|
3233
3256
|
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
3257
|
+
var getInlineAlert = (inlineAlert) => inlineAlert ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_components52.ListItem.Prompt, { sentiment: inlineAlert == null ? void 0 : inlineAlert.context, children: inlineAlert.content }) : void 0;
|
|
3258
|
+
|
|
3259
|
+
// ../renderers/src/NewListItem/getAdditionalInfo.tsx
|
|
3260
|
+
var import_components53 = require("@transferwise/components");
|
|
3261
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
3234
3262
|
var getAdditionalInfo = (additionalInfo) => {
|
|
3235
3263
|
if (!additionalInfo) {
|
|
3236
3264
|
return void 0;
|
|
3237
3265
|
}
|
|
3238
3266
|
const { href, text, onClick } = additionalInfo;
|
|
3239
3267
|
if (href || onClick) {
|
|
3240
|
-
return /* @__PURE__ */ (0,
|
|
3241
|
-
|
|
3268
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3269
|
+
import_components53.ListItem.AdditionalInfo,
|
|
3242
3270
|
{
|
|
3243
3271
|
action: {
|
|
3244
3272
|
label: text,
|
|
@@ -3249,17 +3277,17 @@ var getAdditionalInfo = (additionalInfo) => {
|
|
|
3249
3277
|
}
|
|
3250
3278
|
);
|
|
3251
3279
|
}
|
|
3252
|
-
return /* @__PURE__ */ (0,
|
|
3280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_components53.ListItem.AdditionalInfo, { children: additionalInfo == null ? void 0 : additionalInfo.text });
|
|
3253
3281
|
};
|
|
3254
3282
|
|
|
3255
3283
|
// ../renderers/src/NewListItem/NewDecisionRenderer.tsx
|
|
3256
|
-
var
|
|
3284
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
3257
3285
|
var DecisionRenderer2 = {
|
|
3258
3286
|
canRenderType: "decision",
|
|
3259
|
-
render: (props) => /* @__PURE__ */ (0,
|
|
3287
|
+
render: (props) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList: renderDecisionList2 }))
|
|
3260
3288
|
};
|
|
3261
3289
|
var renderDecisionList2 = ({ options, control }) => {
|
|
3262
|
-
return /* @__PURE__ */ (0,
|
|
3290
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_jsx_runtime77.Fragment, { children: options.map((option) => {
|
|
3263
3291
|
const {
|
|
3264
3292
|
description,
|
|
3265
3293
|
disabled,
|
|
@@ -3272,8 +3300,8 @@ var renderDecisionList2 = ({ options, control }) => {
|
|
|
3272
3300
|
supportingValues,
|
|
3273
3301
|
onClick
|
|
3274
3302
|
} = option;
|
|
3275
|
-
return /* @__PURE__ */ (0,
|
|
3276
|
-
|
|
3303
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
3304
|
+
import_components54.ListItem,
|
|
3277
3305
|
{
|
|
3278
3306
|
title: itemTitle,
|
|
3279
3307
|
subtitle: description,
|
|
@@ -3284,7 +3312,7 @@ var renderDecisionList2 = ({ options, control }) => {
|
|
|
3284
3312
|
media: getMedia(media, control === "with-avatar" || tag === "with-avatar"),
|
|
3285
3313
|
prompt: getInlineAlert(inlineAlert),
|
|
3286
3314
|
additionalInfo: additionalText ? getAdditionalInfo({ text: additionalText }) : void 0,
|
|
3287
|
-
control: href ? /* @__PURE__ */ (0,
|
|
3315
|
+
control: href ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_components54.ListItem.Navigation, { href, target: "_blank" }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_components54.ListItem.Navigation, { onClick })
|
|
3288
3316
|
},
|
|
3289
3317
|
JSON.stringify(option)
|
|
3290
3318
|
);
|
|
@@ -3293,12 +3321,12 @@ var renderDecisionList2 = ({ options, control }) => {
|
|
|
3293
3321
|
var NewDecisionRenderer_default = DecisionRenderer2;
|
|
3294
3322
|
|
|
3295
3323
|
// ../renderers/src/NewListItem/NewListRenderer.tsx
|
|
3296
|
-
var
|
|
3297
|
-
var
|
|
3324
|
+
var import_components55 = require("@transferwise/components");
|
|
3325
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
3298
3326
|
var ListRenderer2 = {
|
|
3299
3327
|
canRenderType: "list",
|
|
3300
|
-
render: ({ callToAction, control, margin, items, title }) => /* @__PURE__ */ (0,
|
|
3301
|
-
/* @__PURE__ */ (0,
|
|
3328
|
+
render: ({ callToAction, control, margin, items, title }) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: getMargin(margin), children: [
|
|
3329
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Header7, { title, callToAction }),
|
|
3302
3330
|
items.map((item) => {
|
|
3303
3331
|
const {
|
|
3304
3332
|
title: itemTitle,
|
|
@@ -3309,8 +3337,8 @@ var ListRenderer2 = {
|
|
|
3309
3337
|
additionalInfo,
|
|
3310
3338
|
inlineAlert
|
|
3311
3339
|
} = item;
|
|
3312
|
-
return /* @__PURE__ */ (0,
|
|
3313
|
-
|
|
3340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
3341
|
+
import_components55.ListItem,
|
|
3314
3342
|
{
|
|
3315
3343
|
title: itemTitle,
|
|
3316
3344
|
subtitle: description,
|
|
@@ -3328,9 +3356,9 @@ var ListRenderer2 = {
|
|
|
3328
3356
|
var NewListRenderer_default = ListRenderer2;
|
|
3329
3357
|
|
|
3330
3358
|
// ../renderers/src/NewListItem/NewReviewRenderer.tsx
|
|
3331
|
-
var
|
|
3359
|
+
var import_components56 = require("@transferwise/components");
|
|
3332
3360
|
var import_icons4 = require("@transferwise/icons");
|
|
3333
|
-
var
|
|
3361
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
3334
3362
|
var IGNORED_CONTROLS = [
|
|
3335
3363
|
"horizontal",
|
|
3336
3364
|
"horizontal-end-aligned",
|
|
@@ -3340,8 +3368,8 @@ var IGNORED_CONTROLS = [
|
|
|
3340
3368
|
var ReviewRenderer2 = {
|
|
3341
3369
|
canRenderType: "review",
|
|
3342
3370
|
canRender: ({ control }) => control ? !IGNORED_CONTROLS.includes(control) : true,
|
|
3343
|
-
render: ({ callToAction, control, margin, fields, title }) => /* @__PURE__ */ (0,
|
|
3344
|
-
/* @__PURE__ */ (0,
|
|
3371
|
+
render: ({ callToAction, control, margin, fields, title }) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: getMargin(margin), children: [
|
|
3372
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Header7, { title, callToAction }),
|
|
3345
3373
|
fields.map((field) => {
|
|
3346
3374
|
var _a;
|
|
3347
3375
|
const {
|
|
@@ -3354,8 +3382,8 @@ var ReviewRenderer2 = {
|
|
|
3354
3382
|
help,
|
|
3355
3383
|
callToAction: itemCallToAction
|
|
3356
3384
|
} = field;
|
|
3357
|
-
return /* @__PURE__ */ (0,
|
|
3358
|
-
|
|
3385
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
3386
|
+
import_components56.ListItem,
|
|
3359
3387
|
{
|
|
3360
3388
|
title: value,
|
|
3361
3389
|
subtitle: label,
|
|
@@ -3376,10 +3404,10 @@ var getCTAControl = (callToAction) => {
|
|
|
3376
3404
|
}
|
|
3377
3405
|
const { accessibilityDescription, href, title, onClick } = callToAction;
|
|
3378
3406
|
if (href) {
|
|
3379
|
-
return /* @__PURE__ */ (0,
|
|
3407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_components56.ListItem.Button, { href, partiallyInteractive: true, "aria-description": accessibilityDescription, children: title });
|
|
3380
3408
|
}
|
|
3381
|
-
return /* @__PURE__ */ (0,
|
|
3382
|
-
|
|
3409
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
3410
|
+
import_components56.ListItem.Button,
|
|
3383
3411
|
{
|
|
3384
3412
|
"aria-description": accessibilityDescription,
|
|
3385
3413
|
partiallyInteractive: true,
|
|
@@ -3392,27 +3420,27 @@ var getHelpControl = (help) => {
|
|
|
3392
3420
|
if (!help) {
|
|
3393
3421
|
return void 0;
|
|
3394
3422
|
}
|
|
3395
|
-
return /* @__PURE__ */ (0,
|
|
3423
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_components56.Popover, { content: help, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_components56.ListItem.IconButton, { partiallyInteractive: true, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons4.QuestionMarkCircle, {}) }) });
|
|
3396
3424
|
};
|
|
3397
3425
|
var NewReviewRenderer_default = ReviewRenderer2;
|
|
3398
3426
|
|
|
3399
3427
|
// ../renderers/src/NewListItem/NewStatusListRenderer.tsx
|
|
3400
|
-
var
|
|
3401
|
-
var
|
|
3428
|
+
var import_components57 = require("@transferwise/components");
|
|
3429
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
3402
3430
|
var NewStatusListRenderer = {
|
|
3403
3431
|
canRenderType: "status-list",
|
|
3404
|
-
render: ({ margin, items, title }) => /* @__PURE__ */ (0,
|
|
3405
|
-
title ? /* @__PURE__ */ (0,
|
|
3432
|
+
render: ({ margin, items, title }) => /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: getMargin(margin), children: [
|
|
3433
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_components57.Header, { title }) : null,
|
|
3406
3434
|
items.map((item) => {
|
|
3407
3435
|
const { callToAction, description, icon, status, title: itemTitle } = item;
|
|
3408
|
-
return /* @__PURE__ */ (0,
|
|
3409
|
-
|
|
3436
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
3437
|
+
import_components57.ListItem,
|
|
3410
3438
|
{
|
|
3411
3439
|
title: itemTitle,
|
|
3412
3440
|
subtitle: description,
|
|
3413
|
-
media: icon && "name" in icon ? /* @__PURE__ */ (0,
|
|
3414
|
-
additionalInfo: callToAction ? /* @__PURE__ */ (0,
|
|
3415
|
-
|
|
3441
|
+
media: icon && "name" in icon ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_components57.AvatarView, { badge: { status: mapStatus2(status) }, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(DynamicIcon_default, { name: icon.name }) }) : void 0,
|
|
3442
|
+
additionalInfo: callToAction ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
3443
|
+
import_components57.ListItem.AdditionalInfo,
|
|
3416
3444
|
{
|
|
3417
3445
|
action: {
|
|
3418
3446
|
href: callToAction.href,
|
|
@@ -3441,30 +3469,30 @@ var mapStatus2 = (status) => {
|
|
|
3441
3469
|
var NewStatusListRenderer_default = NewStatusListRenderer;
|
|
3442
3470
|
|
|
3443
3471
|
// ../renderers/src/ButtonRenderer/ButtonRendererV2.tsx
|
|
3444
|
-
var
|
|
3472
|
+
var import_components58 = require("@transferwise/components");
|
|
3445
3473
|
|
|
3446
3474
|
// ../renderers/src/utils/isButtonPriority.ts
|
|
3447
3475
|
var validPriorities = ["primary", "secondary", "secondary-neutral", "tertiary"];
|
|
3448
3476
|
var isButtonPriority = (control) => validPriorities.includes(control);
|
|
3449
3477
|
|
|
3450
3478
|
// ../renderers/src/ButtonRenderer/ButtonRendererV2.tsx
|
|
3451
|
-
var
|
|
3452
|
-
var
|
|
3479
|
+
var import_react19 = require("react");
|
|
3480
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
3453
3481
|
var ButtonRendererV2 = {
|
|
3454
3482
|
canRenderType: "button",
|
|
3455
3483
|
render: ButtonComponent2
|
|
3456
3484
|
};
|
|
3457
3485
|
function ButtonComponent2(props) {
|
|
3458
3486
|
const { control, context, disabled, margin, title, size, stepLoadingState, onClick } = props;
|
|
3459
|
-
const [spinny, setSpinny] = (0,
|
|
3460
|
-
(0,
|
|
3487
|
+
const [spinny, setSpinny] = (0, import_react19.useState)(false);
|
|
3488
|
+
(0, import_react19.useEffect)(() => {
|
|
3461
3489
|
if (stepLoadingState === "idle") {
|
|
3462
3490
|
setSpinny(false);
|
|
3463
3491
|
}
|
|
3464
3492
|
}, [stepLoadingState]);
|
|
3465
3493
|
const loading = spinny && stepLoadingState !== "idle";
|
|
3466
|
-
return /* @__PURE__ */ (0,
|
|
3467
|
-
|
|
3494
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
3495
|
+
import_components58.Button,
|
|
3468
3496
|
{
|
|
3469
3497
|
v2: true,
|
|
3470
3498
|
block: true,
|
|
@@ -3486,17 +3514,17 @@ var getSentiment2 = (context) => context === "negative" ? "negative" : "default"
|
|
|
3486
3514
|
var getPriority3 = (control) => control && isButtonPriority(control) ? control : "secondary";
|
|
3487
3515
|
|
|
3488
3516
|
// ../renderers/src/ProgressRenderer.tsx
|
|
3489
|
-
var
|
|
3490
|
-
var
|
|
3517
|
+
var import_components59 = require("@transferwise/components");
|
|
3518
|
+
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
3491
3519
|
var ProgressRenderer = {
|
|
3492
3520
|
canRenderType: "progress",
|
|
3493
3521
|
render: ({ uid, title, help, progress, progressText, margin, description }) => {
|
|
3494
|
-
return /* @__PURE__ */ (0,
|
|
3495
|
-
|
|
3522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
3523
|
+
import_components59.ProgressBar,
|
|
3496
3524
|
{
|
|
3497
3525
|
id: uid,
|
|
3498
3526
|
className: getMargin(margin),
|
|
3499
|
-
title: title && help ? /* @__PURE__ */ (0,
|
|
3527
|
+
title: title && help ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(LabelContentWithHelp, { text: title, help }) : title,
|
|
3500
3528
|
description,
|
|
3501
3529
|
progress: {
|
|
3502
3530
|
max: 1,
|
|
@@ -3860,7 +3888,7 @@ var id_default = {
|
|
|
3860
3888
|
"df.wise.CopyFeedback.copy": "Disalin ke clipboard",
|
|
3861
3889
|
"df.wise.CopyFeedback.copyFailed": "Gagal menyalin ke clipboard",
|
|
3862
3890
|
"df.wise.Decision.all": "Semua",
|
|
3863
|
-
"df.wise.Decision.currenciesWithAccountDetails": "
|
|
3891
|
+
"df.wise.Decision.currenciesWithAccountDetails": "Mata uang dengan detail rekening",
|
|
3864
3892
|
"df.wise.Decision.filterPlaceholder": "Mulai mengetik untuk mencari",
|
|
3865
3893
|
"df.wise.Decision.noResults": "Tidak ada hasil",
|
|
3866
3894
|
"df.wise.Decision.popular": "Populer",
|
|
@@ -4410,14 +4438,14 @@ var translations = languages.reduce(
|
|
|
4410
4438
|
var i18n_default = translations;
|
|
4411
4439
|
|
|
4412
4440
|
// src/dynamicFlow/DynamicFlow.tsx
|
|
4413
|
-
var
|
|
4441
|
+
var import_react20 = require("react");
|
|
4414
4442
|
var import_react_intl22 = require("react-intl");
|
|
4415
4443
|
var import_dynamic_flow_client2 = require("@wise/dynamic-flow-client");
|
|
4416
4444
|
|
|
4417
4445
|
// src/dynamicFlow/telemetry/app-version.ts
|
|
4418
4446
|
var appVersion = (
|
|
4419
4447
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
4420
|
-
typeof process !== "undefined" ? "4.
|
|
4448
|
+
typeof process !== "undefined" ? "4.32.0" : "0.0.0"
|
|
4421
4449
|
);
|
|
4422
4450
|
|
|
4423
4451
|
// src/dynamicFlow/telemetry/getLogEvent.ts
|
|
@@ -4472,12 +4500,12 @@ var messages_default = (0, import_react_intl21.defineMessages)({
|
|
|
4472
4500
|
});
|
|
4473
4501
|
|
|
4474
4502
|
// src/dynamicFlow/DynamicFlow.tsx
|
|
4475
|
-
var
|
|
4503
|
+
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
4476
4504
|
var wiseRenderers = getWiseRenderers();
|
|
4477
4505
|
function DynamicFlowLegacy(props) {
|
|
4478
4506
|
const { customFetch = globalThis.fetch } = props;
|
|
4479
4507
|
const coreProps = __spreadProps(__spreadValues({}, props), { httpClient: customFetch });
|
|
4480
|
-
return /* @__PURE__ */ (0,
|
|
4508
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_dynamic_flow_client2.DynamicFlow, __spreadValues({}, coreProps));
|
|
4481
4509
|
}
|
|
4482
4510
|
function DynamicFlowRevamp(props) {
|
|
4483
4511
|
const {
|
|
@@ -4493,9 +4521,9 @@ function DynamicFlowRevamp(props) {
|
|
|
4493
4521
|
const { formatMessage } = (0, import_react_intl22.useIntl)();
|
|
4494
4522
|
const createSnackBar = useSnackBarIfAvailable();
|
|
4495
4523
|
const httpClient = useWiseHttpClient(customFetch);
|
|
4496
|
-
const mergedRenderers = (0,
|
|
4497
|
-
const logEvent = (0,
|
|
4498
|
-
const trackEvent = (0,
|
|
4524
|
+
const mergedRenderers = (0, import_react20.useMemo)(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
|
|
4525
|
+
const logEvent = (0, import_react20.useMemo)(() => getLogEvent(onLog), [onLog]);
|
|
4526
|
+
const trackEvent = (0, import_react20.useMemo)(
|
|
4499
4527
|
() => getTrackEvent(onEvent, onAnalytics, onThemeChange),
|
|
4500
4528
|
[onEvent, onAnalytics, onThemeChange]
|
|
4501
4529
|
);
|
|
@@ -4514,9 +4542,9 @@ function DynamicFlowRevamp(props) {
|
|
|
4514
4542
|
onLink,
|
|
4515
4543
|
onCopy
|
|
4516
4544
|
});
|
|
4517
|
-
return /* @__PURE__ */ (0,
|
|
4545
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_dynamic_flow_client2.DynamicFlowCoreRevamp, __spreadValues({}, coreProps)) });
|
|
4518
4546
|
}
|
|
4519
|
-
var DynamicForm = (0,
|
|
4547
|
+
var DynamicForm = (0, import_react20.forwardRef)(function DynamicForm2(props, ref) {
|
|
4520
4548
|
const {
|
|
4521
4549
|
className = "",
|
|
4522
4550
|
customFetch = globalThis.fetch,
|
|
@@ -4530,9 +4558,9 @@ var DynamicForm = (0, import_react19.forwardRef)(function DynamicForm2(props, re
|
|
|
4530
4558
|
const { formatMessage } = (0, import_react_intl22.useIntl)();
|
|
4531
4559
|
const createSnackBar = useSnackBarIfAvailable();
|
|
4532
4560
|
const httpClient = useWiseHttpClient(customFetch);
|
|
4533
|
-
const mergedRenderers = (0,
|
|
4534
|
-
const logEvent = (0,
|
|
4535
|
-
const trackEvent = (0,
|
|
4561
|
+
const mergedRenderers = (0, import_react20.useMemo)(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
|
|
4562
|
+
const logEvent = (0, import_react20.useMemo)(() => getLogEvent(onLog), [onLog]);
|
|
4563
|
+
const trackEvent = (0, import_react20.useMemo)(
|
|
4536
4564
|
() => getTrackEvent(onEvent, onAnalytics, onThemeChange),
|
|
4537
4565
|
[onEvent, onAnalytics, onThemeChange]
|
|
4538
4566
|
);
|
|
@@ -4551,11 +4579,11 @@ var DynamicForm = (0, import_react19.forwardRef)(function DynamicForm2(props, re
|
|
|
4551
4579
|
onLink,
|
|
4552
4580
|
onCopy
|
|
4553
4581
|
});
|
|
4554
|
-
return /* @__PURE__ */ (0,
|
|
4582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_dynamic_flow_client2.DynamicFormCore, __spreadProps(__spreadValues({}, coreProps), { ref })) });
|
|
4555
4583
|
});
|
|
4556
4584
|
var useWiseHttpClient = (httpClient) => {
|
|
4557
4585
|
const { locale } = (0, import_react_intl22.useIntl)();
|
|
4558
|
-
return (0,
|
|
4586
|
+
return (0, import_react20.useCallback)(
|
|
4559
4587
|
async (input, init = {}) => {
|
|
4560
4588
|
const headers = new Headers(init.headers);
|
|
4561
4589
|
headers.set("accept-language", locale);
|
package/build/main.mjs
CHANGED
|
@@ -2867,50 +2867,78 @@ function SplashStepRendererComponent(props) {
|
|
|
2867
2867
|
}
|
|
2868
2868
|
|
|
2869
2869
|
// ../renderers/src/step/StepRenderer.tsx
|
|
2870
|
-
import {
|
|
2871
|
-
|
|
2870
|
+
import { Title as Title2 } from "@transferwise/components";
|
|
2871
|
+
|
|
2872
|
+
// ../renderers/src/step/StepError.tsx
|
|
2873
|
+
import { Alert as Alert2 } from "@transferwise/components";
|
|
2874
|
+
import { useEffect as useEffect8, useState as useState11 } from "react";
|
|
2875
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
2876
|
+
var StepError = ({
|
|
2877
|
+
error,
|
|
2878
|
+
uid,
|
|
2879
|
+
stepLoadingState
|
|
2880
|
+
}) => {
|
|
2881
|
+
const alertId = `${uid}-step-alert`;
|
|
2882
|
+
const [previousLoadingState, setPreviousLoadingState] = useState11(stepLoadingState);
|
|
2883
|
+
useEffect8(() => {
|
|
2884
|
+
var _a;
|
|
2885
|
+
if (previousLoadingState === "submitting" && stepLoadingState === "idle") {
|
|
2886
|
+
if (error) {
|
|
2887
|
+
const element = document.getElementById(alertId);
|
|
2888
|
+
(_a = element == null ? void 0 : element.scrollIntoView) == null ? void 0 : _a.call(element, {
|
|
2889
|
+
behavior: "smooth"
|
|
2890
|
+
});
|
|
2891
|
+
}
|
|
2892
|
+
}
|
|
2893
|
+
setPreviousLoadingState(stepLoadingState);
|
|
2894
|
+
}, [alertId, error, previousLoadingState, stepLoadingState]);
|
|
2895
|
+
return /* @__PURE__ */ jsx69("div", { id: alertId, children: error ? /* @__PURE__ */ jsx69(Alert2, { type: "negative", className: "m-b-2", message: error }) : void 0 });
|
|
2896
|
+
};
|
|
2897
|
+
|
|
2898
|
+
// ../renderers/src/step/StepRenderer.tsx
|
|
2899
|
+
import { jsx as jsx70, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
2872
2900
|
var StepRenderer = {
|
|
2873
2901
|
canRenderType: "step",
|
|
2874
2902
|
render: StepRendererComponent
|
|
2875
2903
|
};
|
|
2876
2904
|
function StepRendererComponent(props) {
|
|
2877
|
-
const { back, description, error, title, children, toolbar, footer } = props;
|
|
2905
|
+
const { uid, back, description, error, title, children, toolbar, footer, stepLoadingState } = props;
|
|
2878
2906
|
const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
|
|
2879
2907
|
return /* @__PURE__ */ jsxs28("div", { children: [
|
|
2880
|
-
/* @__PURE__ */
|
|
2908
|
+
/* @__PURE__ */ jsx70(TopBar, { back, toolbar }),
|
|
2881
2909
|
title || description ? /* @__PURE__ */ jsxs28("div", { className: "m-b-4", children: [
|
|
2882
|
-
title ? /* @__PURE__ */
|
|
2883
|
-
description ? /* @__PURE__ */
|
|
2910
|
+
title ? /* @__PURE__ */ jsx70(Title2, { as: "h1", type: "title-section", className: "text-xs-center m-b-2", children: title }) : void 0,
|
|
2911
|
+
description ? /* @__PURE__ */ jsx70("p", { className: "text-xs-center np-text-body-large", children: description }) : void 0
|
|
2884
2912
|
] }) : void 0,
|
|
2885
|
-
|
|
2913
|
+
/* @__PURE__ */ jsx70(StepError, { error, uid, stepLoadingState }),
|
|
2886
2914
|
children,
|
|
2887
|
-
hasFooter ? /* @__PURE__ */
|
|
2915
|
+
hasFooter ? /* @__PURE__ */ jsx70("div", { className: "df-step-fixed__footer", children: footer }) : void 0
|
|
2888
2916
|
] });
|
|
2889
2917
|
}
|
|
2890
2918
|
|
|
2891
2919
|
// ../renderers/src/TabsRenderer.tsx
|
|
2892
2920
|
import { Chips, SegmentedControl as SegmentedControl2, Tabs as Tabs2 } from "@transferwise/components";
|
|
2893
|
-
import { useState as
|
|
2894
|
-
import { jsx as
|
|
2921
|
+
import { useState as useState12 } from "react";
|
|
2922
|
+
import { jsx as jsx71, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
2895
2923
|
var TabsRenderer = {
|
|
2896
2924
|
canRenderType: "tabs",
|
|
2897
2925
|
render: (props) => {
|
|
2898
2926
|
switch (props.control) {
|
|
2899
2927
|
case "segmented":
|
|
2900
2928
|
if (props.tabs.length > 3) {
|
|
2901
|
-
return /* @__PURE__ */
|
|
2929
|
+
return /* @__PURE__ */ jsx71(TabsRendererComponent, __spreadValues({}, props));
|
|
2902
2930
|
}
|
|
2903
|
-
return /* @__PURE__ */
|
|
2931
|
+
return /* @__PURE__ */ jsx71(SegmentedTabsRendererComponent, __spreadValues({}, props));
|
|
2904
2932
|
case "chips":
|
|
2905
|
-
return /* @__PURE__ */
|
|
2933
|
+
return /* @__PURE__ */ jsx71(ChipsTabsRendererComponent, __spreadValues({}, props));
|
|
2906
2934
|
default:
|
|
2907
|
-
return /* @__PURE__ */
|
|
2935
|
+
return /* @__PURE__ */ jsx71(TabsRendererComponent, __spreadValues({}, props));
|
|
2908
2936
|
}
|
|
2909
2937
|
}
|
|
2910
2938
|
};
|
|
2911
2939
|
function TabsRendererComponent({ uid, margin, tabs }) {
|
|
2912
|
-
const [selectedIndex, setSelectedIndex] =
|
|
2913
|
-
return /* @__PURE__ */
|
|
2940
|
+
const [selectedIndex, setSelectedIndex] = useState12(0);
|
|
2941
|
+
return /* @__PURE__ */ jsx71("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx71(
|
|
2914
2942
|
Tabs2,
|
|
2915
2943
|
{
|
|
2916
2944
|
name: uid,
|
|
@@ -2930,9 +2958,9 @@ function TabsRendererComponent({ uid, margin, tabs }) {
|
|
|
2930
2958
|
}
|
|
2931
2959
|
function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
|
|
2932
2960
|
var _a;
|
|
2933
|
-
const [selectedIndex, setSelectedIndex] =
|
|
2961
|
+
const [selectedIndex, setSelectedIndex] = useState12(0);
|
|
2934
2962
|
return /* @__PURE__ */ jsxs29("div", { className: getMargin(margin), children: [
|
|
2935
|
-
/* @__PURE__ */
|
|
2963
|
+
/* @__PURE__ */ jsx71(
|
|
2936
2964
|
SegmentedControl2,
|
|
2937
2965
|
{
|
|
2938
2966
|
name: uid,
|
|
@@ -2947,14 +2975,14 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
|
|
|
2947
2975
|
onChange: (value) => setSelectedIndex(Number(value))
|
|
2948
2976
|
}
|
|
2949
2977
|
),
|
|
2950
|
-
/* @__PURE__ */
|
|
2978
|
+
/* @__PURE__ */ jsx71("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
|
|
2951
2979
|
] });
|
|
2952
2980
|
}
|
|
2953
2981
|
function ChipsTabsRendererComponent({ margin, tabs }) {
|
|
2954
2982
|
var _a;
|
|
2955
|
-
const [selectedIndex, setSelectedIndex] =
|
|
2983
|
+
const [selectedIndex, setSelectedIndex] = useState12(0);
|
|
2956
2984
|
return /* @__PURE__ */ jsxs29("div", { className: getMargin(margin), children: [
|
|
2957
|
-
/* @__PURE__ */
|
|
2985
|
+
/* @__PURE__ */ jsx71("div", { className: "chips-container", children: /* @__PURE__ */ jsx71(
|
|
2958
2986
|
Chips,
|
|
2959
2987
|
{
|
|
2960
2988
|
chips: tabs.map((tab, index) => ({ label: tab.title, value: index })),
|
|
@@ -2962,7 +2990,7 @@ function ChipsTabsRendererComponent({ margin, tabs }) {
|
|
|
2962
2990
|
onChange: ({ selectedValue }) => setSelectedIndex(Number(selectedValue))
|
|
2963
2991
|
}
|
|
2964
2992
|
) }),
|
|
2965
|
-
/* @__PURE__ */
|
|
2993
|
+
/* @__PURE__ */ jsx71("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
|
|
2966
2994
|
] });
|
|
2967
2995
|
}
|
|
2968
2996
|
|
|
@@ -2977,7 +3005,7 @@ import {
|
|
|
2977
3005
|
TextArea,
|
|
2978
3006
|
TextareaWithDisplayFormat
|
|
2979
3007
|
} from "@transferwise/components";
|
|
2980
|
-
import { jsx as
|
|
3008
|
+
import { jsx as jsx72 } from "react/jsx-runtime";
|
|
2981
3009
|
var commonKeys = [
|
|
2982
3010
|
"autoComplete",
|
|
2983
3011
|
"autoCapitalize",
|
|
@@ -2996,12 +3024,12 @@ function VariableTextInput(inputProps) {
|
|
|
2996
3024
|
const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
|
|
2997
3025
|
switch (control) {
|
|
2998
3026
|
case "email":
|
|
2999
|
-
return /* @__PURE__ */
|
|
3027
|
+
return /* @__PURE__ */ jsx72(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
|
|
3000
3028
|
case "password":
|
|
3001
|
-
return /* @__PURE__ */
|
|
3029
|
+
return /* @__PURE__ */ jsx72(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
|
|
3002
3030
|
case "numeric": {
|
|
3003
3031
|
const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
|
|
3004
|
-
return /* @__PURE__ */
|
|
3032
|
+
return /* @__PURE__ */ jsx72(
|
|
3005
3033
|
TextInput,
|
|
3006
3034
|
__spreadProps(__spreadValues({}, numericProps), {
|
|
3007
3035
|
onChange: (newValue) => {
|
|
@@ -3012,9 +3040,9 @@ function VariableTextInput(inputProps) {
|
|
|
3012
3040
|
);
|
|
3013
3041
|
}
|
|
3014
3042
|
case "phone-number":
|
|
3015
|
-
return /* @__PURE__ */
|
|
3043
|
+
return /* @__PURE__ */ jsx72(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
|
|
3016
3044
|
default: {
|
|
3017
|
-
return /* @__PURE__ */
|
|
3045
|
+
return /* @__PURE__ */ jsx72(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
|
|
3018
3046
|
}
|
|
3019
3047
|
}
|
|
3020
3048
|
}
|
|
@@ -3022,11 +3050,11 @@ function TextInput(props) {
|
|
|
3022
3050
|
const _a = props, { control, displayFormat, onChange } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange"]);
|
|
3023
3051
|
const InputWithPattern = control === "textarea" ? TextareaWithDisplayFormat : InputWithDisplayFormat;
|
|
3024
3052
|
const InputWithoutPattern = control === "textarea" ? TextArea : Input5;
|
|
3025
|
-
return displayFormat ? /* @__PURE__ */
|
|
3053
|
+
return displayFormat ? /* @__PURE__ */ jsx72(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ jsx72(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
|
|
3026
3054
|
}
|
|
3027
3055
|
|
|
3028
3056
|
// ../renderers/src/TextInputRenderer.tsx
|
|
3029
|
-
import { jsx as
|
|
3057
|
+
import { jsx as jsx73 } from "react/jsx-runtime";
|
|
3030
3058
|
var TextInputRenderer = {
|
|
3031
3059
|
canRenderType: "input-text",
|
|
3032
3060
|
render: (props) => {
|
|
@@ -3059,7 +3087,7 @@ var TextInputRenderer = {
|
|
|
3059
3087
|
}
|
|
3060
3088
|
}
|
|
3061
3089
|
});
|
|
3062
|
-
return /* @__PURE__ */
|
|
3090
|
+
return /* @__PURE__ */ jsx73(
|
|
3063
3091
|
FieldInput_default,
|
|
3064
3092
|
{
|
|
3065
3093
|
id,
|
|
@@ -3067,7 +3095,7 @@ var TextInputRenderer = {
|
|
|
3067
3095
|
description,
|
|
3068
3096
|
validation: validationState,
|
|
3069
3097
|
help,
|
|
3070
|
-
children: /* @__PURE__ */
|
|
3098
|
+
children: /* @__PURE__ */ jsx73(InputGroup3, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx73(VariableTextInput, __spreadValues({}, inputProps)) })
|
|
3071
3099
|
}
|
|
3072
3100
|
);
|
|
3073
3101
|
}
|
|
@@ -3081,7 +3109,7 @@ import { Upload, UploadInput as UploadInput2 } from "@transferwise/components";
|
|
|
3081
3109
|
var getRandomId = () => Math.random().toString(36).substring(2);
|
|
3082
3110
|
|
|
3083
3111
|
// ../renderers/src/UploadInputRenderer.tsx
|
|
3084
|
-
import { jsx as
|
|
3112
|
+
import { jsx as jsx74 } from "react/jsx-runtime";
|
|
3085
3113
|
var UploadInputRenderer = {
|
|
3086
3114
|
canRenderType: "input-upload",
|
|
3087
3115
|
render: (props) => {
|
|
@@ -3097,14 +3125,14 @@ var UploadInputRenderer = {
|
|
|
3097
3125
|
};
|
|
3098
3126
|
return (
|
|
3099
3127
|
// We don't pass help here as there is no sensible place to display it
|
|
3100
|
-
/* @__PURE__ */
|
|
3128
|
+
/* @__PURE__ */ jsx74(
|
|
3101
3129
|
UploadFieldInput_default,
|
|
3102
3130
|
{
|
|
3103
3131
|
id,
|
|
3104
3132
|
label: void 0,
|
|
3105
3133
|
description: void 0,
|
|
3106
3134
|
validation: validationState,
|
|
3107
|
-
children: /* @__PURE__ */
|
|
3135
|
+
children: /* @__PURE__ */ jsx74(
|
|
3108
3136
|
UploadInput2,
|
|
3109
3137
|
{
|
|
3110
3138
|
id,
|
|
@@ -3163,7 +3191,7 @@ var LargeUploadRenderer = {
|
|
|
3163
3191
|
};
|
|
3164
3192
|
const filetypes = acceptsToFileTypes(accepts);
|
|
3165
3193
|
const usAccept = filetypes === "*" ? "*" : filetypes.join(",");
|
|
3166
|
-
return /* @__PURE__ */
|
|
3194
|
+
return /* @__PURE__ */ jsx74(
|
|
3167
3195
|
FieldInput_default,
|
|
3168
3196
|
{
|
|
3169
3197
|
id,
|
|
@@ -3171,7 +3199,7 @@ var LargeUploadRenderer = {
|
|
|
3171
3199
|
description,
|
|
3172
3200
|
validation: validationState,
|
|
3173
3201
|
help,
|
|
3174
|
-
children: /* @__PURE__ */
|
|
3202
|
+
children: /* @__PURE__ */ jsx74(
|
|
3175
3203
|
Upload,
|
|
3176
3204
|
__spreadProps(__spreadValues({}, uploadProps), {
|
|
3177
3205
|
usAccept,
|
|
@@ -3191,19 +3219,19 @@ import { ListItem as ListItem4 } from "@transferwise/components";
|
|
|
3191
3219
|
|
|
3192
3220
|
// ../renderers/src/NewListItem/getInlineAlert.tsx
|
|
3193
3221
|
import { ListItem as ListItem2 } from "@transferwise/components";
|
|
3194
|
-
import { jsx as
|
|
3195
|
-
var getInlineAlert = (inlineAlert) => inlineAlert ? /* @__PURE__ */
|
|
3222
|
+
import { jsx as jsx75 } from "react/jsx-runtime";
|
|
3223
|
+
var getInlineAlert = (inlineAlert) => inlineAlert ? /* @__PURE__ */ jsx75(ListItem2.Prompt, { sentiment: inlineAlert == null ? void 0 : inlineAlert.context, children: inlineAlert.content }) : void 0;
|
|
3196
3224
|
|
|
3197
3225
|
// ../renderers/src/NewListItem/getAdditionalInfo.tsx
|
|
3198
3226
|
import { ListItem as ListItem3 } from "@transferwise/components";
|
|
3199
|
-
import { jsx as
|
|
3227
|
+
import { jsx as jsx76 } from "react/jsx-runtime";
|
|
3200
3228
|
var getAdditionalInfo = (additionalInfo) => {
|
|
3201
3229
|
if (!additionalInfo) {
|
|
3202
3230
|
return void 0;
|
|
3203
3231
|
}
|
|
3204
3232
|
const { href, text, onClick } = additionalInfo;
|
|
3205
3233
|
if (href || onClick) {
|
|
3206
|
-
return /* @__PURE__ */
|
|
3234
|
+
return /* @__PURE__ */ jsx76(
|
|
3207
3235
|
ListItem3.AdditionalInfo,
|
|
3208
3236
|
{
|
|
3209
3237
|
action: {
|
|
@@ -3215,17 +3243,17 @@ var getAdditionalInfo = (additionalInfo) => {
|
|
|
3215
3243
|
}
|
|
3216
3244
|
);
|
|
3217
3245
|
}
|
|
3218
|
-
return /* @__PURE__ */
|
|
3246
|
+
return /* @__PURE__ */ jsx76(ListItem3.AdditionalInfo, { children: additionalInfo == null ? void 0 : additionalInfo.text });
|
|
3219
3247
|
};
|
|
3220
3248
|
|
|
3221
3249
|
// ../renderers/src/NewListItem/NewDecisionRenderer.tsx
|
|
3222
|
-
import { Fragment as Fragment10, jsx as
|
|
3250
|
+
import { Fragment as Fragment10, jsx as jsx77 } from "react/jsx-runtime";
|
|
3223
3251
|
var DecisionRenderer2 = {
|
|
3224
3252
|
canRenderType: "decision",
|
|
3225
|
-
render: (props) => /* @__PURE__ */
|
|
3253
|
+
render: (props) => /* @__PURE__ */ jsx77(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList: renderDecisionList2 }))
|
|
3226
3254
|
};
|
|
3227
3255
|
var renderDecisionList2 = ({ options, control }) => {
|
|
3228
|
-
return /* @__PURE__ */
|
|
3256
|
+
return /* @__PURE__ */ jsx77(Fragment10, { children: options.map((option) => {
|
|
3229
3257
|
const {
|
|
3230
3258
|
description,
|
|
3231
3259
|
disabled,
|
|
@@ -3238,7 +3266,7 @@ var renderDecisionList2 = ({ options, control }) => {
|
|
|
3238
3266
|
supportingValues,
|
|
3239
3267
|
onClick
|
|
3240
3268
|
} = option;
|
|
3241
|
-
return /* @__PURE__ */
|
|
3269
|
+
return /* @__PURE__ */ jsx77(
|
|
3242
3270
|
ListItem4,
|
|
3243
3271
|
{
|
|
3244
3272
|
title: itemTitle,
|
|
@@ -3250,7 +3278,7 @@ var renderDecisionList2 = ({ options, control }) => {
|
|
|
3250
3278
|
media: getMedia(media, control === "with-avatar" || tag === "with-avatar"),
|
|
3251
3279
|
prompt: getInlineAlert(inlineAlert),
|
|
3252
3280
|
additionalInfo: additionalText ? getAdditionalInfo({ text: additionalText }) : void 0,
|
|
3253
|
-
control: href ? /* @__PURE__ */
|
|
3281
|
+
control: href ? /* @__PURE__ */ jsx77(ListItem4.Navigation, { href, target: "_blank" }) : /* @__PURE__ */ jsx77(ListItem4.Navigation, { onClick })
|
|
3254
3282
|
},
|
|
3255
3283
|
JSON.stringify(option)
|
|
3256
3284
|
);
|
|
@@ -3260,11 +3288,11 @@ var NewDecisionRenderer_default = DecisionRenderer2;
|
|
|
3260
3288
|
|
|
3261
3289
|
// ../renderers/src/NewListItem/NewListRenderer.tsx
|
|
3262
3290
|
import { ListItem as ListItem5 } from "@transferwise/components";
|
|
3263
|
-
import { jsx as
|
|
3291
|
+
import { jsx as jsx78, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3264
3292
|
var ListRenderer2 = {
|
|
3265
3293
|
canRenderType: "list",
|
|
3266
3294
|
render: ({ callToAction, control, margin, items, title }) => /* @__PURE__ */ jsxs30("div", { className: getMargin(margin), children: [
|
|
3267
|
-
/* @__PURE__ */
|
|
3295
|
+
/* @__PURE__ */ jsx78(Header7, { title, callToAction }),
|
|
3268
3296
|
items.map((item) => {
|
|
3269
3297
|
const {
|
|
3270
3298
|
title: itemTitle,
|
|
@@ -3275,7 +3303,7 @@ var ListRenderer2 = {
|
|
|
3275
3303
|
additionalInfo,
|
|
3276
3304
|
inlineAlert
|
|
3277
3305
|
} = item;
|
|
3278
|
-
return /* @__PURE__ */
|
|
3306
|
+
return /* @__PURE__ */ jsx78(
|
|
3279
3307
|
ListItem5,
|
|
3280
3308
|
{
|
|
3281
3309
|
title: itemTitle,
|
|
@@ -3296,7 +3324,7 @@ var NewListRenderer_default = ListRenderer2;
|
|
|
3296
3324
|
// ../renderers/src/NewListItem/NewReviewRenderer.tsx
|
|
3297
3325
|
import { ListItem as ListItem6, Popover } from "@transferwise/components";
|
|
3298
3326
|
import { QuestionMarkCircle } from "@transferwise/icons";
|
|
3299
|
-
import { jsx as
|
|
3327
|
+
import { jsx as jsx79, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3300
3328
|
var IGNORED_CONTROLS = [
|
|
3301
3329
|
"horizontal",
|
|
3302
3330
|
"horizontal-end-aligned",
|
|
@@ -3307,7 +3335,7 @@ var ReviewRenderer2 = {
|
|
|
3307
3335
|
canRenderType: "review",
|
|
3308
3336
|
canRender: ({ control }) => control ? !IGNORED_CONTROLS.includes(control) : true,
|
|
3309
3337
|
render: ({ callToAction, control, margin, fields, title }) => /* @__PURE__ */ jsxs31("div", { className: getMargin(margin), children: [
|
|
3310
|
-
/* @__PURE__ */
|
|
3338
|
+
/* @__PURE__ */ jsx79(Header7, { title, callToAction }),
|
|
3311
3339
|
fields.map((field) => {
|
|
3312
3340
|
var _a;
|
|
3313
3341
|
const {
|
|
@@ -3320,7 +3348,7 @@ var ReviewRenderer2 = {
|
|
|
3320
3348
|
help,
|
|
3321
3349
|
callToAction: itemCallToAction
|
|
3322
3350
|
} = field;
|
|
3323
|
-
return /* @__PURE__ */
|
|
3351
|
+
return /* @__PURE__ */ jsx79(
|
|
3324
3352
|
ListItem6,
|
|
3325
3353
|
{
|
|
3326
3354
|
title: value,
|
|
@@ -3342,9 +3370,9 @@ var getCTAControl = (callToAction) => {
|
|
|
3342
3370
|
}
|
|
3343
3371
|
const { accessibilityDescription, href, title, onClick } = callToAction;
|
|
3344
3372
|
if (href) {
|
|
3345
|
-
return /* @__PURE__ */
|
|
3373
|
+
return /* @__PURE__ */ jsx79(ListItem6.Button, { href, partiallyInteractive: true, "aria-description": accessibilityDescription, children: title });
|
|
3346
3374
|
}
|
|
3347
|
-
return /* @__PURE__ */
|
|
3375
|
+
return /* @__PURE__ */ jsx79(
|
|
3348
3376
|
ListItem6.Button,
|
|
3349
3377
|
{
|
|
3350
3378
|
"aria-description": accessibilityDescription,
|
|
@@ -3358,26 +3386,26 @@ var getHelpControl = (help) => {
|
|
|
3358
3386
|
if (!help) {
|
|
3359
3387
|
return void 0;
|
|
3360
3388
|
}
|
|
3361
|
-
return /* @__PURE__ */
|
|
3389
|
+
return /* @__PURE__ */ jsx79(Popover, { content: help, children: /* @__PURE__ */ jsx79(ListItem6.IconButton, { partiallyInteractive: true, children: /* @__PURE__ */ jsx79(QuestionMarkCircle, {}) }) });
|
|
3362
3390
|
};
|
|
3363
3391
|
var NewReviewRenderer_default = ReviewRenderer2;
|
|
3364
3392
|
|
|
3365
3393
|
// ../renderers/src/NewListItem/NewStatusListRenderer.tsx
|
|
3366
3394
|
import { AvatarView as AvatarView4, Header as Header10, ListItem as ListItem7 } from "@transferwise/components";
|
|
3367
|
-
import { jsx as
|
|
3395
|
+
import { jsx as jsx80, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
3368
3396
|
var NewStatusListRenderer = {
|
|
3369
3397
|
canRenderType: "status-list",
|
|
3370
3398
|
render: ({ margin, items, title }) => /* @__PURE__ */ jsxs32("div", { className: getMargin(margin), children: [
|
|
3371
|
-
title ? /* @__PURE__ */
|
|
3399
|
+
title ? /* @__PURE__ */ jsx80(Header10, { title }) : null,
|
|
3372
3400
|
items.map((item) => {
|
|
3373
3401
|
const { callToAction, description, icon, status, title: itemTitle } = item;
|
|
3374
|
-
return /* @__PURE__ */
|
|
3402
|
+
return /* @__PURE__ */ jsx80(
|
|
3375
3403
|
ListItem7,
|
|
3376
3404
|
{
|
|
3377
3405
|
title: itemTitle,
|
|
3378
3406
|
subtitle: description,
|
|
3379
|
-
media: icon && "name" in icon ? /* @__PURE__ */
|
|
3380
|
-
additionalInfo: callToAction ? /* @__PURE__ */
|
|
3407
|
+
media: icon && "name" in icon ? /* @__PURE__ */ jsx80(AvatarView4, { badge: { status: mapStatus2(status) }, children: /* @__PURE__ */ jsx80(DynamicIcon_default, { name: icon.name }) }) : void 0,
|
|
3408
|
+
additionalInfo: callToAction ? /* @__PURE__ */ jsx80(
|
|
3381
3409
|
ListItem7.AdditionalInfo,
|
|
3382
3410
|
{
|
|
3383
3411
|
action: {
|
|
@@ -3414,22 +3442,22 @@ var validPriorities = ["primary", "secondary", "secondary-neutral", "tertiary"];
|
|
|
3414
3442
|
var isButtonPriority = (control) => validPriorities.includes(control);
|
|
3415
3443
|
|
|
3416
3444
|
// ../renderers/src/ButtonRenderer/ButtonRendererV2.tsx
|
|
3417
|
-
import { useEffect as
|
|
3418
|
-
import { jsx as
|
|
3445
|
+
import { useEffect as useEffect9, useState as useState13 } from "react";
|
|
3446
|
+
import { jsx as jsx81 } from "react/jsx-runtime";
|
|
3419
3447
|
var ButtonRendererV2 = {
|
|
3420
3448
|
canRenderType: "button",
|
|
3421
3449
|
render: ButtonComponent2
|
|
3422
3450
|
};
|
|
3423
3451
|
function ButtonComponent2(props) {
|
|
3424
3452
|
const { control, context, disabled, margin, title, size, stepLoadingState, onClick } = props;
|
|
3425
|
-
const [spinny, setSpinny] =
|
|
3426
|
-
|
|
3453
|
+
const [spinny, setSpinny] = useState13(false);
|
|
3454
|
+
useEffect9(() => {
|
|
3427
3455
|
if (stepLoadingState === "idle") {
|
|
3428
3456
|
setSpinny(false);
|
|
3429
3457
|
}
|
|
3430
3458
|
}, [stepLoadingState]);
|
|
3431
3459
|
const loading = spinny && stepLoadingState !== "idle";
|
|
3432
|
-
return /* @__PURE__ */
|
|
3460
|
+
return /* @__PURE__ */ jsx81(
|
|
3433
3461
|
Button8,
|
|
3434
3462
|
{
|
|
3435
3463
|
v2: true,
|
|
@@ -3453,16 +3481,16 @@ var getPriority3 = (control) => control && isButtonPriority(control) ? control :
|
|
|
3453
3481
|
|
|
3454
3482
|
// ../renderers/src/ProgressRenderer.tsx
|
|
3455
3483
|
import { ProgressBar } from "@transferwise/components";
|
|
3456
|
-
import { jsx as
|
|
3484
|
+
import { jsx as jsx82 } from "react/jsx-runtime";
|
|
3457
3485
|
var ProgressRenderer = {
|
|
3458
3486
|
canRenderType: "progress",
|
|
3459
3487
|
render: ({ uid, title, help, progress, progressText, margin, description }) => {
|
|
3460
|
-
return /* @__PURE__ */
|
|
3488
|
+
return /* @__PURE__ */ jsx82(
|
|
3461
3489
|
ProgressBar,
|
|
3462
3490
|
{
|
|
3463
3491
|
id: uid,
|
|
3464
3492
|
className: getMargin(margin),
|
|
3465
|
-
title: title && help ? /* @__PURE__ */
|
|
3493
|
+
title: title && help ? /* @__PURE__ */ jsx82(LabelContentWithHelp, { text: title, help }) : title,
|
|
3466
3494
|
description,
|
|
3467
3495
|
progress: {
|
|
3468
3496
|
max: 1,
|
|
@@ -3826,7 +3854,7 @@ var id_default = {
|
|
|
3826
3854
|
"df.wise.CopyFeedback.copy": "Disalin ke clipboard",
|
|
3827
3855
|
"df.wise.CopyFeedback.copyFailed": "Gagal menyalin ke clipboard",
|
|
3828
3856
|
"df.wise.Decision.all": "Semua",
|
|
3829
|
-
"df.wise.Decision.currenciesWithAccountDetails": "
|
|
3857
|
+
"df.wise.Decision.currenciesWithAccountDetails": "Mata uang dengan detail rekening",
|
|
3830
3858
|
"df.wise.Decision.filterPlaceholder": "Mulai mengetik untuk mencari",
|
|
3831
3859
|
"df.wise.Decision.noResults": "Tidak ada hasil",
|
|
3832
3860
|
"df.wise.Decision.popular": "Populer",
|
|
@@ -4387,7 +4415,7 @@ import {
|
|
|
4387
4415
|
// src/dynamicFlow/telemetry/app-version.ts
|
|
4388
4416
|
var appVersion = (
|
|
4389
4417
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
4390
|
-
typeof process !== "undefined" ? "4.
|
|
4418
|
+
typeof process !== "undefined" ? "4.32.0" : "0.0.0"
|
|
4391
4419
|
);
|
|
4392
4420
|
|
|
4393
4421
|
// src/dynamicFlow/telemetry/getLogEvent.ts
|
|
@@ -4442,12 +4470,12 @@ var messages_default = defineMessages10({
|
|
|
4442
4470
|
});
|
|
4443
4471
|
|
|
4444
4472
|
// src/dynamicFlow/DynamicFlow.tsx
|
|
4445
|
-
import { jsx as
|
|
4473
|
+
import { jsx as jsx83 } from "react/jsx-runtime";
|
|
4446
4474
|
var wiseRenderers = getWiseRenderers();
|
|
4447
4475
|
function DynamicFlowLegacy(props) {
|
|
4448
4476
|
const { customFetch = globalThis.fetch } = props;
|
|
4449
4477
|
const coreProps = __spreadProps(__spreadValues({}, props), { httpClient: customFetch });
|
|
4450
|
-
return /* @__PURE__ */
|
|
4478
|
+
return /* @__PURE__ */ jsx83(DynamicFlowCoreLegacy, __spreadValues({}, coreProps));
|
|
4451
4479
|
}
|
|
4452
4480
|
function DynamicFlowRevamp(props) {
|
|
4453
4481
|
const {
|
|
@@ -4484,7 +4512,7 @@ function DynamicFlowRevamp(props) {
|
|
|
4484
4512
|
onLink,
|
|
4485
4513
|
onCopy
|
|
4486
4514
|
});
|
|
4487
|
-
return /* @__PURE__ */
|
|
4515
|
+
return /* @__PURE__ */ jsx83("div", { className, children: /* @__PURE__ */ jsx83(DynamicFlowCoreRevamp, __spreadValues({}, coreProps)) });
|
|
4488
4516
|
}
|
|
4489
4517
|
var DynamicForm = forwardRef(function DynamicForm2(props, ref) {
|
|
4490
4518
|
const {
|
|
@@ -4521,7 +4549,7 @@ var DynamicForm = forwardRef(function DynamicForm2(props, ref) {
|
|
|
4521
4549
|
onLink,
|
|
4522
4550
|
onCopy
|
|
4523
4551
|
});
|
|
4524
|
-
return /* @__PURE__ */
|
|
4552
|
+
return /* @__PURE__ */ jsx83("div", { className, children: /* @__PURE__ */ jsx83(DynamicFormCore, __spreadProps(__spreadValues({}, coreProps), { ref })) });
|
|
4525
4553
|
});
|
|
4526
4554
|
var useWiseHttpClient = (httpClient) => {
|
|
4527
4555
|
const { locale } = useIntl12();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wise/dynamic-flow-client-internal",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.32.0",
|
|
4
4
|
"description": "Dynamic Flow web client for Wise",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./build/main.js",
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"@testing-library/jest-dom": "6.8.0",
|
|
44
44
|
"@testing-library/react": "16.3.0",
|
|
45
45
|
"@testing-library/user-event": "14.6.1",
|
|
46
|
-
"@transferwise/components": "46.
|
|
46
|
+
"@transferwise/components": "46.110.0",
|
|
47
47
|
"@transferwise/formatting": "^2.13.4",
|
|
48
48
|
"@transferwise/icons": "3.22.4",
|
|
49
|
-
"@transferwise/neptune-css": "14.24.
|
|
49
|
+
"@transferwise/neptune-css": "14.24.6",
|
|
50
50
|
"@types/jest": "30.0.0",
|
|
51
51
|
"@types/react": "18.3.24",
|
|
52
52
|
"@types/react-dom": "18.3.7",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
},
|
|
92
92
|
"dependencies": {
|
|
93
93
|
"classnames": "2.5.1",
|
|
94
|
-
"@wise/dynamic-flow-client": "4.18.
|
|
94
|
+
"@wise/dynamic-flow-client": "4.18.5",
|
|
95
95
|
"@wise/dynamic-flow-types": "3.15.1"
|
|
96
96
|
},
|
|
97
97
|
"scripts": {
|