@wise/dynamic-flow-client-internal 5.14.0 → 5.15.0-experimental-a850677
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/main.js +775 -658
- package/build/main.mjs +683 -566
- package/build/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +18 -18
package/build/main.mjs
CHANGED
|
@@ -1087,12 +1087,273 @@ var getInlineAlertOrValidation = (validationState, inlineAlert) => {
|
|
|
1087
1087
|
};
|
|
1088
1088
|
var CheckboxInputRenderer_default = CheckboxInputRenderer;
|
|
1089
1089
|
|
|
1090
|
+
// ../renderers/src/CollectionRenderer.tsx
|
|
1091
|
+
import { Chips, Input, InputGroup, ListItem as ListItem6 } from "@transferwise/components";
|
|
1092
|
+
|
|
1093
|
+
// ../renderers/src/utils/listItem/getAdditionalInfo.tsx
|
|
1094
|
+
import { ListItem as ListItem4 } from "@transferwise/components";
|
|
1095
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1096
|
+
var getAdditionalInfo = (additionalInfo) => {
|
|
1097
|
+
if (!additionalInfo) {
|
|
1098
|
+
return void 0;
|
|
1099
|
+
}
|
|
1100
|
+
const { href, text, onClick } = additionalInfo;
|
|
1101
|
+
if (href || onClick) {
|
|
1102
|
+
return /* @__PURE__ */ jsx24(
|
|
1103
|
+
ListItem4.AdditionalInfo,
|
|
1104
|
+
{
|
|
1105
|
+
action: {
|
|
1106
|
+
label: text,
|
|
1107
|
+
href,
|
|
1108
|
+
onClick,
|
|
1109
|
+
target: "_blank"
|
|
1110
|
+
}
|
|
1111
|
+
}
|
|
1112
|
+
);
|
|
1113
|
+
}
|
|
1114
|
+
return /* @__PURE__ */ jsx24(ListItem4.AdditionalInfo, { children: additionalInfo == null ? void 0 : additionalInfo.text });
|
|
1115
|
+
};
|
|
1116
|
+
|
|
1117
|
+
// ../renderers/src/utils/listItem/getCTAControl.tsx
|
|
1118
|
+
import { ListItem as ListItem5 } from "@transferwise/components";
|
|
1119
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1120
|
+
var getCTAControl = (callToAction, { ctaSecondary, fullyInteractive }) => {
|
|
1121
|
+
if (!callToAction) {
|
|
1122
|
+
return void 0;
|
|
1123
|
+
}
|
|
1124
|
+
const { accessibilityDescription, href, title, context, onClick } = callToAction;
|
|
1125
|
+
const { priority, sentiment } = getPriorityAndSentiment(ctaSecondary, context);
|
|
1126
|
+
if (href) {
|
|
1127
|
+
return /* @__PURE__ */ jsx25(
|
|
1128
|
+
ListItem5.Button,
|
|
1129
|
+
{
|
|
1130
|
+
href,
|
|
1131
|
+
target: "_blank",
|
|
1132
|
+
rel: "noopener noreferrer",
|
|
1133
|
+
partiallyInteractive: !fullyInteractive,
|
|
1134
|
+
priority,
|
|
1135
|
+
"aria-description": accessibilityDescription,
|
|
1136
|
+
sentiment,
|
|
1137
|
+
children: title
|
|
1138
|
+
}
|
|
1139
|
+
);
|
|
1140
|
+
}
|
|
1141
|
+
return /* @__PURE__ */ jsx25(
|
|
1142
|
+
ListItem5.Button,
|
|
1143
|
+
{
|
|
1144
|
+
"aria-description": accessibilityDescription,
|
|
1145
|
+
partiallyInteractive: !fullyInteractive,
|
|
1146
|
+
priority,
|
|
1147
|
+
sentiment,
|
|
1148
|
+
onClick,
|
|
1149
|
+
children: title
|
|
1150
|
+
}
|
|
1151
|
+
);
|
|
1152
|
+
};
|
|
1153
|
+
var getPriorityAndSentiment = (ctaSecondary, context) => {
|
|
1154
|
+
if (context === "negative") {
|
|
1155
|
+
return { priority: "secondary", sentiment: "negative" };
|
|
1156
|
+
}
|
|
1157
|
+
return { priority: ctaSecondary ? "secondary" : "secondary-neutral", sentiment: "default" };
|
|
1158
|
+
};
|
|
1159
|
+
|
|
1160
|
+
// ../renderers/src/utils/listItem/shouldUseAvatar.ts
|
|
1161
|
+
var shouldUseAvatar = (control, tags) => {
|
|
1162
|
+
var _a;
|
|
1163
|
+
return control === "with-avatar" || ((_a = tags == null ? void 0 : tags.includes("with-avatar")) != null ? _a : false);
|
|
1164
|
+
};
|
|
1165
|
+
|
|
1166
|
+
// ../renderers/src/CollectionRenderer.tsx
|
|
1167
|
+
import { useEffect as useEffect5, useRef as useRef2 } from "react";
|
|
1168
|
+
|
|
1169
|
+
// ../renderers/src/step/StepFooter.tsx
|
|
1170
|
+
import { Button as Button3 } from "@transferwise/components";
|
|
1171
|
+
import { useEffect as useEffect4, useRef, useState as useState4 } from "react";
|
|
1172
|
+
import { useIntl as useIntl3 } from "react-intl";
|
|
1173
|
+
|
|
1174
|
+
// ../renderers/src/messages/step.messages.ts
|
|
1175
|
+
import { defineMessages as defineMessages3 } from "react-intl";
|
|
1176
|
+
var step_messages_default = defineMessages3({
|
|
1177
|
+
scrollToBottom: {
|
|
1178
|
+
id: "df.wise.step.scrollToBottom",
|
|
1179
|
+
defaultMessage: "Scroll to bottom",
|
|
1180
|
+
description: "Label for a button that appears when the content of a step is too long and the user needs to scroll to the bottom to see all the content."
|
|
1181
|
+
}
|
|
1182
|
+
});
|
|
1183
|
+
|
|
1184
|
+
// ../renderers/src/step/StepFooter.tsx
|
|
1185
|
+
import { Fragment, jsx as jsx26, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1186
|
+
var SCROLL_TO_BOTTOM = "scroll-to-bottom";
|
|
1187
|
+
var StepFooter = ({ footer, tags }) => {
|
|
1188
|
+
if (tags == null ? void 0 : tags.includes(SCROLL_TO_BOTTOM)) {
|
|
1189
|
+
return /* @__PURE__ */ jsx26(FooterWithScrollButton, { footer });
|
|
1190
|
+
}
|
|
1191
|
+
return /* @__PURE__ */ jsx26(DefaultFooter, { footer });
|
|
1192
|
+
};
|
|
1193
|
+
var DefaultFooter = ({ footer }) => {
|
|
1194
|
+
const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
|
|
1195
|
+
return hasFooter ? /* @__PURE__ */ jsx26("div", { className: "df-step-fixed__footer", children: footer }) : void 0;
|
|
1196
|
+
};
|
|
1197
|
+
var FooterWithScrollButton = ({ footer }) => {
|
|
1198
|
+
const { formatMessage } = useIntl3();
|
|
1199
|
+
const endOfLayoutRef = useRef(null);
|
|
1200
|
+
const isElementVisible = useIsElementVisible(endOfLayoutRef);
|
|
1201
|
+
const scrollButton = /* @__PURE__ */ jsx26(
|
|
1202
|
+
Button3,
|
|
1203
|
+
{
|
|
1204
|
+
className: "m-b-1",
|
|
1205
|
+
v2: true,
|
|
1206
|
+
block: true,
|
|
1207
|
+
priority: "tertiary",
|
|
1208
|
+
onClick: () => {
|
|
1209
|
+
var _a;
|
|
1210
|
+
(_a = endOfLayoutRef.current) == null ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
|
|
1211
|
+
},
|
|
1212
|
+
children: formatMessage(step_messages_default.scrollToBottom)
|
|
1213
|
+
}
|
|
1214
|
+
);
|
|
1215
|
+
const hasStepFooterContent = footer && Array.isArray(footer) && footer.length > 0;
|
|
1216
|
+
if (isElementVisible && !hasStepFooterContent) {
|
|
1217
|
+
return /* @__PURE__ */ jsx26("div", { ref: endOfLayoutRef, "aria-hidden": "true" });
|
|
1218
|
+
}
|
|
1219
|
+
return /* @__PURE__ */ jsxs4(Fragment, { children: [
|
|
1220
|
+
/* @__PURE__ */ jsx26("div", { ref: endOfLayoutRef, "aria-hidden": "true" }),
|
|
1221
|
+
/* @__PURE__ */ jsxs4("div", { className: "df-step-fixed__footer", children: [
|
|
1222
|
+
!isElementVisible && scrollButton,
|
|
1223
|
+
footer
|
|
1224
|
+
] })
|
|
1225
|
+
] });
|
|
1226
|
+
};
|
|
1227
|
+
var useIsElementVisible = (elementRef) => {
|
|
1228
|
+
const [isVisible, setIsVisible] = useState4(false);
|
|
1229
|
+
useEffect4(() => {
|
|
1230
|
+
const element = elementRef.current;
|
|
1231
|
+
if (!element) return;
|
|
1232
|
+
const observer = new IntersectionObserver(([entry]) => {
|
|
1233
|
+
setIsVisible(entry.isIntersecting);
|
|
1234
|
+
});
|
|
1235
|
+
observer.observe(element);
|
|
1236
|
+
return () => observer.disconnect();
|
|
1237
|
+
}, [elementRef]);
|
|
1238
|
+
return isVisible;
|
|
1239
|
+
};
|
|
1240
|
+
|
|
1241
|
+
// ../renderers/src/CollectionRenderer.tsx
|
|
1242
|
+
import { Search } from "@transferwise/icons";
|
|
1243
|
+
import { Fragment as Fragment2, jsx as jsx27, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1244
|
+
var CollectionRendererComponent = ({
|
|
1245
|
+
control,
|
|
1246
|
+
state,
|
|
1247
|
+
filters,
|
|
1248
|
+
search,
|
|
1249
|
+
tags,
|
|
1250
|
+
loadMore
|
|
1251
|
+
}) => {
|
|
1252
|
+
const endOfContentRef = useRef2(null);
|
|
1253
|
+
const isBottomVisible = useIsElementVisible(endOfContentRef);
|
|
1254
|
+
useEffect5(() => {
|
|
1255
|
+
if (isBottomVisible) {
|
|
1256
|
+
loadMore == null ? void 0 : loadMore();
|
|
1257
|
+
}
|
|
1258
|
+
}, [isBottomVisible]);
|
|
1259
|
+
return /* @__PURE__ */ jsxs5(Fragment2, { children: [
|
|
1260
|
+
/* @__PURE__ */ jsx27(FieldInput_default, { id: "search", description: "", validation: void 0, help: "", label: search.title, children: /* @__PURE__ */ jsx27(InputGroup, { addonStart: { content: /* @__PURE__ */ jsx27(Search, { size: 24 }) }, children: /* @__PURE__ */ jsx27(
|
|
1261
|
+
Input,
|
|
1262
|
+
{
|
|
1263
|
+
id: "search",
|
|
1264
|
+
name: "search",
|
|
1265
|
+
shape: "pill",
|
|
1266
|
+
placeholder: search.hint,
|
|
1267
|
+
type: "text",
|
|
1268
|
+
value: search.query,
|
|
1269
|
+
onChange: ({ currentTarget: { value } }) => {
|
|
1270
|
+
search.onChange(value);
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
) }) }),
|
|
1274
|
+
filters.map((filter) => {
|
|
1275
|
+
if (!filter.options) {
|
|
1276
|
+
return null;
|
|
1277
|
+
}
|
|
1278
|
+
return /* @__PURE__ */ jsx27(
|
|
1279
|
+
Chips,
|
|
1280
|
+
{
|
|
1281
|
+
className: "m-b-1",
|
|
1282
|
+
selected: filter.options.some((option) => option.selected) ? filter.options.filter((option) => option.selected).map((option) => option.id) : "",
|
|
1283
|
+
chips: [
|
|
1284
|
+
{
|
|
1285
|
+
value: "",
|
|
1286
|
+
// this is a placeholder for now...
|
|
1287
|
+
label: "All"
|
|
1288
|
+
},
|
|
1289
|
+
...filter.options.map((option) => ({
|
|
1290
|
+
value: option.id,
|
|
1291
|
+
label: option.title
|
|
1292
|
+
}))
|
|
1293
|
+
],
|
|
1294
|
+
onChange: (value) => {
|
|
1295
|
+
var _a, _b, _c;
|
|
1296
|
+
if (value.selectedValue === "") {
|
|
1297
|
+
(_a = filter.options) == null ? void 0 : _a.filter((option) => option.selected).map((option) => option == null ? void 0 : option.onSelect());
|
|
1298
|
+
return;
|
|
1299
|
+
}
|
|
1300
|
+
(_c = (_b = filter.options) == null ? void 0 : _b.find((option) => value.selectedValue === option.id)) == null ? void 0 : _c.onSelect();
|
|
1301
|
+
}
|
|
1302
|
+
},
|
|
1303
|
+
JSON.stringify(filter.options)
|
|
1304
|
+
);
|
|
1305
|
+
}),
|
|
1306
|
+
state.type === "collection-content" ? state.sections.map((section) => {
|
|
1307
|
+
return /* @__PURE__ */ jsxs5("div", { children: [
|
|
1308
|
+
/* @__PURE__ */ jsx27(Header, { title: section.title, callToAction: section.callToAction }),
|
|
1309
|
+
section.items.map((item) => {
|
|
1310
|
+
var _a, _b;
|
|
1311
|
+
const {
|
|
1312
|
+
title: itemTitle,
|
|
1313
|
+
description,
|
|
1314
|
+
supportingValues,
|
|
1315
|
+
media,
|
|
1316
|
+
additionalInfo,
|
|
1317
|
+
inlineAlert,
|
|
1318
|
+
callToAction: itemCallToAction,
|
|
1319
|
+
tags: itemTags
|
|
1320
|
+
} = item;
|
|
1321
|
+
const controlOptions = {
|
|
1322
|
+
ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
|
|
1323
|
+
fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
|
|
1324
|
+
};
|
|
1325
|
+
return /* @__PURE__ */ jsx27(
|
|
1326
|
+
ListItem6,
|
|
1327
|
+
{
|
|
1328
|
+
title: itemTitle,
|
|
1329
|
+
subtitle: description,
|
|
1330
|
+
valueTitle: supportingValues == null ? void 0 : supportingValues.value,
|
|
1331
|
+
valueSubtitle: supportingValues == null ? void 0 : supportingValues.subvalue,
|
|
1332
|
+
media: getMedia(media, shouldUseAvatar(control, itemTags)),
|
|
1333
|
+
prompt: getInlineAlert(inlineAlert),
|
|
1334
|
+
additionalInfo: getAdditionalInfo(additionalInfo),
|
|
1335
|
+
control: getCTAControl(itemCallToAction, controlOptions)
|
|
1336
|
+
},
|
|
1337
|
+
itemTitle
|
|
1338
|
+
);
|
|
1339
|
+
})
|
|
1340
|
+
] }, section.id);
|
|
1341
|
+
}) : state.children,
|
|
1342
|
+
/* @__PURE__ */ jsx27("div", { ref: endOfContentRef, "aria-hidden": true })
|
|
1343
|
+
] });
|
|
1344
|
+
};
|
|
1345
|
+
var CollectionRenderer = {
|
|
1346
|
+
canRenderType: "collection",
|
|
1347
|
+
render: CollectionRendererComponent
|
|
1348
|
+
};
|
|
1349
|
+
var CollectionRenderer_default = CollectionRenderer;
|
|
1350
|
+
|
|
1090
1351
|
// ../renderers/src/ColumnsRenderer.tsx
|
|
1091
1352
|
var import_classnames3 = __toESM(require_classnames());
|
|
1092
|
-
import { jsx as
|
|
1353
|
+
import { jsx as jsx28, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1093
1354
|
var ColumnsRenderer = {
|
|
1094
1355
|
canRenderType: "columns",
|
|
1095
|
-
render: ({ bias, margin, startChildren, endChildren }) => /* @__PURE__ */
|
|
1356
|
+
render: ({ bias, margin, startChildren, endChildren }) => /* @__PURE__ */ jsxs6(
|
|
1096
1357
|
"div",
|
|
1097
1358
|
{
|
|
1098
1359
|
className: (0, import_classnames3.default)("df-columns-renderer-container", getMargin(margin), {
|
|
@@ -1100,8 +1361,8 @@ var ColumnsRenderer = {
|
|
|
1100
1361
|
"df-columns-renderer-bias-end": bias === "end"
|
|
1101
1362
|
}),
|
|
1102
1363
|
children: [
|
|
1103
|
-
/* @__PURE__ */
|
|
1104
|
-
/* @__PURE__ */
|
|
1364
|
+
/* @__PURE__ */ jsx28("div", { className: "df-columns-renderer-column", children: startChildren }),
|
|
1365
|
+
/* @__PURE__ */ jsx28("div", { className: "df-columns-renderer-column", children: endChildren })
|
|
1105
1366
|
]
|
|
1106
1367
|
}
|
|
1107
1368
|
)
|
|
@@ -1136,7 +1397,7 @@ var dateToDateString = (date) => {
|
|
|
1136
1397
|
};
|
|
1137
1398
|
|
|
1138
1399
|
// ../renderers/src/components/VariableDateInput.tsx
|
|
1139
|
-
import { jsx as
|
|
1400
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1140
1401
|
function VariableDateInput({
|
|
1141
1402
|
control,
|
|
1142
1403
|
inputProps
|
|
@@ -1152,7 +1413,7 @@ function VariableDateInput({
|
|
|
1152
1413
|
onFocus
|
|
1153
1414
|
} = inputProps;
|
|
1154
1415
|
if (control === "date-lookup") {
|
|
1155
|
-
return /* @__PURE__ */
|
|
1416
|
+
return /* @__PURE__ */ jsx29(
|
|
1156
1417
|
DateLookup,
|
|
1157
1418
|
{
|
|
1158
1419
|
value: dateStringToDateOrNull(inputProps.value),
|
|
@@ -1168,7 +1429,7 @@ function VariableDateInput({
|
|
|
1168
1429
|
}
|
|
1169
1430
|
);
|
|
1170
1431
|
}
|
|
1171
|
-
return /* @__PURE__ */
|
|
1432
|
+
return /* @__PURE__ */ jsx29(
|
|
1172
1433
|
DateInput,
|
|
1173
1434
|
__spreadProps(__spreadValues({}, inputProps), {
|
|
1174
1435
|
dayAutoComplete: getAutocompleteString(autoComplete, "day"),
|
|
@@ -1185,7 +1446,7 @@ var getAutocompleteString = (value, suffix) => {
|
|
|
1185
1446
|
var VariableDateInput_default = VariableDateInput;
|
|
1186
1447
|
|
|
1187
1448
|
// ../renderers/src/DateInputRenderer.tsx
|
|
1188
|
-
import { jsx as
|
|
1449
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1189
1450
|
var DateInputRenderer = {
|
|
1190
1451
|
canRenderType: "input-date",
|
|
1191
1452
|
render: (props) => {
|
|
@@ -1210,7 +1471,7 @@ var DateInputRenderer = {
|
|
|
1210
1471
|
]);
|
|
1211
1472
|
const value = initialValue != null ? initialValue : "";
|
|
1212
1473
|
const inputProps = __spreadProps(__spreadValues({}, rest), { value, id });
|
|
1213
|
-
return /* @__PURE__ */
|
|
1474
|
+
return /* @__PURE__ */ jsx30(
|
|
1214
1475
|
FieldInput_default,
|
|
1215
1476
|
{
|
|
1216
1477
|
id,
|
|
@@ -1218,7 +1479,7 @@ var DateInputRenderer = {
|
|
|
1218
1479
|
description,
|
|
1219
1480
|
validation: validationState,
|
|
1220
1481
|
help,
|
|
1221
|
-
children: /* @__PURE__ */
|
|
1482
|
+
children: /* @__PURE__ */ jsx30(VariableDateInput_default, { control, inputProps })
|
|
1222
1483
|
}
|
|
1223
1484
|
);
|
|
1224
1485
|
}
|
|
@@ -1226,46 +1487,16 @@ var DateInputRenderer = {
|
|
|
1226
1487
|
var DateInputRenderer_default = DateInputRenderer;
|
|
1227
1488
|
|
|
1228
1489
|
// ../renderers/src/DecisionRenderer/DecisionRenderer.tsx
|
|
1229
|
-
import { ListItem as
|
|
1230
|
-
|
|
1231
|
-
// ../renderers/src/utils/listItem/getAdditionalInfo.tsx
|
|
1232
|
-
import { ListItem as ListItem4 } from "@transferwise/components";
|
|
1233
|
-
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1234
|
-
var getAdditionalInfo = (additionalInfo) => {
|
|
1235
|
-
if (!additionalInfo) {
|
|
1236
|
-
return void 0;
|
|
1237
|
-
}
|
|
1238
|
-
const { href, text, onClick } = additionalInfo;
|
|
1239
|
-
if (href || onClick) {
|
|
1240
|
-
return /* @__PURE__ */ jsx27(
|
|
1241
|
-
ListItem4.AdditionalInfo,
|
|
1242
|
-
{
|
|
1243
|
-
action: {
|
|
1244
|
-
label: text,
|
|
1245
|
-
href,
|
|
1246
|
-
onClick,
|
|
1247
|
-
target: "_blank"
|
|
1248
|
-
}
|
|
1249
|
-
}
|
|
1250
|
-
);
|
|
1251
|
-
}
|
|
1252
|
-
return /* @__PURE__ */ jsx27(ListItem4.AdditionalInfo, { children: additionalInfo == null ? void 0 : additionalInfo.text });
|
|
1253
|
-
};
|
|
1254
|
-
|
|
1255
|
-
// ../renderers/src/utils/listItem/shouldUseAvatar.ts
|
|
1256
|
-
var shouldUseAvatar = (control, tags) => {
|
|
1257
|
-
var _a;
|
|
1258
|
-
return control === "with-avatar" || ((_a = tags == null ? void 0 : tags.includes("with-avatar")) != null ? _a : false);
|
|
1259
|
-
};
|
|
1490
|
+
import { ListItem as ListItem7 } from "@transferwise/components";
|
|
1260
1491
|
|
|
1261
1492
|
// ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
|
|
1262
|
-
import { Header as
|
|
1263
|
-
import { useState as
|
|
1264
|
-
import { useIntl as
|
|
1493
|
+
import { Header as Header3, SearchInput } from "@transferwise/components";
|
|
1494
|
+
import { useState as useState5 } from "react";
|
|
1495
|
+
import { useIntl as useIntl5 } from "react-intl";
|
|
1265
1496
|
|
|
1266
1497
|
// ../renderers/src/messages/filter.messages.ts
|
|
1267
|
-
import { defineMessages as
|
|
1268
|
-
var filter_messages_default =
|
|
1498
|
+
import { defineMessages as defineMessages4 } from "react-intl";
|
|
1499
|
+
var filter_messages_default = defineMessages4({
|
|
1269
1500
|
placeholder: {
|
|
1270
1501
|
id: "df.wise.filter.placeholder",
|
|
1271
1502
|
defaultMessage: "Start typing to search",
|
|
@@ -1331,12 +1562,12 @@ function filterAndSortDecisionOptions(selectOptions, query) {
|
|
|
1331
1562
|
var normalizeAndRemoveAccents = (text) => text.trim().toLowerCase().normalize("NFKD").replace(new RegExp("\\p{Diacritic}", "gu"), "");
|
|
1332
1563
|
|
|
1333
1564
|
// ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
|
|
1334
|
-
import { Header, Section } from "@transferwise/components";
|
|
1335
|
-
import { useIntl as
|
|
1565
|
+
import { Header as Header2, Section } from "@transferwise/components";
|
|
1566
|
+
import { useIntl as useIntl4 } from "react-intl";
|
|
1336
1567
|
|
|
1337
1568
|
// ../renderers/src/messages/group.messages.ts
|
|
1338
|
-
import { defineMessages as
|
|
1339
|
-
var group_messages_default =
|
|
1569
|
+
import { defineMessages as defineMessages5 } from "react-intl";
|
|
1570
|
+
var group_messages_default = defineMessages5({
|
|
1340
1571
|
all: {
|
|
1341
1572
|
id: "df.wise.group.all",
|
|
1342
1573
|
defaultMessage: "All",
|
|
@@ -1370,19 +1601,19 @@ var getGroupsFromTags = (knownTags, items) => {
|
|
|
1370
1601
|
};
|
|
1371
1602
|
|
|
1372
1603
|
// ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
|
|
1373
|
-
import { Fragment, jsx as
|
|
1604
|
+
import { Fragment as Fragment3, jsx as jsx31, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1374
1605
|
var groupingTags = Object.keys(group_messages_default).filter((key) => key !== "all");
|
|
1375
1606
|
var isGroupedDecision = (options) => {
|
|
1376
1607
|
return getGroupsFromTags(groupingTags, options).length > 0;
|
|
1377
1608
|
};
|
|
1378
1609
|
var GroupedDecisionList = (_a) => {
|
|
1379
1610
|
var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
|
|
1380
|
-
const { formatMessage } =
|
|
1611
|
+
const { formatMessage } = useIntl4();
|
|
1381
1612
|
const { options } = rest;
|
|
1382
1613
|
const itemsByTag = [...getGroupsFromTags(groupingTags, options), { tag: "all", items: options }];
|
|
1383
|
-
return /* @__PURE__ */
|
|
1384
|
-
/* @__PURE__ */
|
|
1385
|
-
|
|
1614
|
+
return /* @__PURE__ */ jsx31(Fragment3, { children: itemsByTag.map(({ tag, items }) => /* @__PURE__ */ jsxs7(Section, { children: [
|
|
1615
|
+
/* @__PURE__ */ jsx31(
|
|
1616
|
+
Header2,
|
|
1386
1617
|
{
|
|
1387
1618
|
as: "h2",
|
|
1388
1619
|
title: tag in group_messages_default ? formatMessage(group_messages_default[tag]) : tag
|
|
@@ -1393,25 +1624,25 @@ var GroupedDecisionList = (_a) => {
|
|
|
1393
1624
|
};
|
|
1394
1625
|
|
|
1395
1626
|
// ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
|
|
1396
|
-
import { Fragment as
|
|
1627
|
+
import { Fragment as Fragment4, jsx as jsx32, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1397
1628
|
var DecisionWrapper = (props) => {
|
|
1398
|
-
return /* @__PURE__ */
|
|
1399
|
-
props.title && /* @__PURE__ */
|
|
1400
|
-
props.control === "filtered" ? /* @__PURE__ */
|
|
1629
|
+
return /* @__PURE__ */ jsxs8("div", { className: getMargin(props.margin), children: [
|
|
1630
|
+
props.title && /* @__PURE__ */ jsx32(Header3, { as: "h2", title: props.title }),
|
|
1631
|
+
props.control === "filtered" ? /* @__PURE__ */ jsx32(FilteredDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ jsx32(UnfilteredDecisionList, __spreadValues({}, props))
|
|
1401
1632
|
] });
|
|
1402
1633
|
};
|
|
1403
1634
|
var UnfilteredDecisionList = (_a) => {
|
|
1404
1635
|
var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
|
|
1405
|
-
return isGroupedDecision(rest.options) ? /* @__PURE__ */
|
|
1636
|
+
return isGroupedDecision(rest.options) ? /* @__PURE__ */ jsx32(GroupedDecisionList, __spreadProps(__spreadValues({}, rest), { renderDecisionList: renderDecisionList2 })) : renderDecisionList2(rest);
|
|
1406
1637
|
};
|
|
1407
1638
|
var FilteredDecisionList = (props) => {
|
|
1408
|
-
const { formatMessage } =
|
|
1409
|
-
const [query, setQuery] =
|
|
1639
|
+
const { formatMessage } = useIntl5();
|
|
1640
|
+
const [query, setQuery] = useState5("");
|
|
1410
1641
|
const { control, options, renderDecisionList: renderDecisionList2 } = props;
|
|
1411
1642
|
const filteredOptions = (query == null ? void 0 : query.length) > 0 ? filterAndSortDecisionOptions(options, query) : options;
|
|
1412
1643
|
const isGrouped = isGroupedDecision(options);
|
|
1413
|
-
return /* @__PURE__ */
|
|
1414
|
-
/* @__PURE__ */
|
|
1644
|
+
return /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
1645
|
+
/* @__PURE__ */ jsx32(
|
|
1415
1646
|
SearchInput,
|
|
1416
1647
|
{
|
|
1417
1648
|
placeholder: formatMessage(filter_messages_default.placeholder),
|
|
@@ -1423,25 +1654,25 @@ var FilteredDecisionList = (props) => {
|
|
|
1423
1654
|
}
|
|
1424
1655
|
}
|
|
1425
1656
|
),
|
|
1426
|
-
isGrouped && query.length === 0 ? /* @__PURE__ */
|
|
1427
|
-
query.length > 0 && /* @__PURE__ */
|
|
1657
|
+
isGrouped && query.length === 0 ? /* @__PURE__ */ jsx32(GroupedDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
1658
|
+
query.length > 0 && /* @__PURE__ */ jsx32(Header3, { as: "h2", title: formatMessage(filter_messages_default.results), className: "m-t-4" }),
|
|
1428
1659
|
filteredOptions.length > 0 ? renderDecisionList2({
|
|
1429
1660
|
control,
|
|
1430
1661
|
className: query.length === 0 ? "m-t-3" : "",
|
|
1431
1662
|
options: filteredOptions
|
|
1432
|
-
}) : /* @__PURE__ */
|
|
1663
|
+
}) : /* @__PURE__ */ jsx32("p", { children: formatMessage(filter_messages_default.noResults) })
|
|
1433
1664
|
] })
|
|
1434
1665
|
] });
|
|
1435
1666
|
};
|
|
1436
1667
|
|
|
1437
1668
|
// ../renderers/src/DecisionRenderer/DecisionRenderer.tsx
|
|
1438
|
-
import { Fragment as
|
|
1669
|
+
import { Fragment as Fragment5, jsx as jsx33 } from "react/jsx-runtime";
|
|
1439
1670
|
var DecisionRenderer = {
|
|
1440
1671
|
canRenderType: "decision",
|
|
1441
|
-
render: (props) => /* @__PURE__ */
|
|
1672
|
+
render: (props) => /* @__PURE__ */ jsx33(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList }))
|
|
1442
1673
|
};
|
|
1443
1674
|
var renderDecisionList = ({ options, control }) => {
|
|
1444
|
-
return /* @__PURE__ */
|
|
1675
|
+
return /* @__PURE__ */ jsx33(Fragment5, { children: options.map((_a) => {
|
|
1445
1676
|
var _b = _a, { onClick } = _b, rest = __objRest(_b, ["onClick"]);
|
|
1446
1677
|
const {
|
|
1447
1678
|
description,
|
|
@@ -1454,8 +1685,8 @@ var renderDecisionList = ({ options, control }) => {
|
|
|
1454
1685
|
supportingValues,
|
|
1455
1686
|
tags
|
|
1456
1687
|
} = rest;
|
|
1457
|
-
return /* @__PURE__ */
|
|
1458
|
-
|
|
1688
|
+
return /* @__PURE__ */ jsx33(
|
|
1689
|
+
ListItem7,
|
|
1459
1690
|
{
|
|
1460
1691
|
title: itemTitle,
|
|
1461
1692
|
subtitle: description,
|
|
@@ -1466,7 +1697,7 @@ var renderDecisionList = ({ options, control }) => {
|
|
|
1466
1697
|
media: getMedia(media, shouldUseAvatar(control, tags)),
|
|
1467
1698
|
prompt: getInlineAlert(inlineAlert),
|
|
1468
1699
|
additionalInfo: additionalText ? getAdditionalInfo({ text: additionalText }) : void 0,
|
|
1469
|
-
control: href ? /* @__PURE__ */
|
|
1700
|
+
control: href ? /* @__PURE__ */ jsx33(ListItem7.Navigation, { href, target: "_blank" }) : /* @__PURE__ */ jsx33(ListItem7.Navigation, { onClick })
|
|
1470
1701
|
},
|
|
1471
1702
|
JSON.stringify(rest)
|
|
1472
1703
|
);
|
|
@@ -1476,7 +1707,7 @@ var DecisionRenderer_default = DecisionRenderer;
|
|
|
1476
1707
|
|
|
1477
1708
|
// ../renderers/src/DividerRenderer.tsx
|
|
1478
1709
|
import { Divider } from "@transferwise/components";
|
|
1479
|
-
import { jsx as
|
|
1710
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
1480
1711
|
var mapControlToLevel = (control) => {
|
|
1481
1712
|
switch (control) {
|
|
1482
1713
|
case "section":
|
|
@@ -1489,16 +1720,16 @@ var mapControlToLevel = (control) => {
|
|
|
1489
1720
|
};
|
|
1490
1721
|
var DividerRenderer = {
|
|
1491
1722
|
canRenderType: "divider",
|
|
1492
|
-
render: ({ margin, control }) => /* @__PURE__ */
|
|
1723
|
+
render: ({ margin, control }) => /* @__PURE__ */ jsx34(Divider, { className: `m-t-0 d-block ${getMargin(margin)}`, level: mapControlToLevel(control) })
|
|
1493
1724
|
};
|
|
1494
1725
|
var DividerRenderer_default = DividerRenderer;
|
|
1495
1726
|
|
|
1496
1727
|
// ../renderers/src/ExternalConfirmationRenderer.tsx
|
|
1497
|
-
import { Button as
|
|
1728
|
+
import { Button as Button4, Markdown as Markdown2, Modal } from "@transferwise/components";
|
|
1498
1729
|
|
|
1499
1730
|
// ../renderers/src/messages/external-confirmation.messages.ts
|
|
1500
|
-
import { defineMessages as
|
|
1501
|
-
var external_confirmation_messages_default =
|
|
1731
|
+
import { defineMessages as defineMessages6 } from "react-intl";
|
|
1732
|
+
var external_confirmation_messages_default = defineMessages6({
|
|
1502
1733
|
title: {
|
|
1503
1734
|
id: "df.wise.ExternalConfirmation.title",
|
|
1504
1735
|
defaultMessage: "Please confirm",
|
|
@@ -1522,9 +1753,9 @@ var external_confirmation_messages_default = defineMessages5({
|
|
|
1522
1753
|
});
|
|
1523
1754
|
|
|
1524
1755
|
// ../renderers/src/ExternalConfirmationRenderer.tsx
|
|
1525
|
-
import { useIntl as
|
|
1526
|
-
import { useEffect as
|
|
1527
|
-
import { Fragment as
|
|
1756
|
+
import { useIntl as useIntl6 } from "react-intl";
|
|
1757
|
+
import { useEffect as useEffect6 } from "react";
|
|
1758
|
+
import { Fragment as Fragment6, jsx as jsx35, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1528
1759
|
var ExternalConfirmationRenderer = {
|
|
1529
1760
|
canRenderType: "external-confirmation",
|
|
1530
1761
|
render: ExternalConfirmationRendererComponent
|
|
@@ -1535,20 +1766,20 @@ function ExternalConfirmationRendererComponent({
|
|
|
1535
1766
|
open,
|
|
1536
1767
|
onCancel
|
|
1537
1768
|
}) {
|
|
1538
|
-
const { formatMessage } =
|
|
1539
|
-
|
|
1769
|
+
const { formatMessage } = useIntl6();
|
|
1770
|
+
useEffect6(() => {
|
|
1540
1771
|
open();
|
|
1541
1772
|
}, []);
|
|
1542
|
-
return /* @__PURE__ */
|
|
1773
|
+
return /* @__PURE__ */ jsx35(
|
|
1543
1774
|
Modal,
|
|
1544
1775
|
{
|
|
1545
1776
|
open: visible,
|
|
1546
1777
|
title: formatMessage(external_confirmation_messages_default.title),
|
|
1547
|
-
body: /* @__PURE__ */
|
|
1548
|
-
/* @__PURE__ */
|
|
1549
|
-
/* @__PURE__ */
|
|
1550
|
-
/* @__PURE__ */
|
|
1551
|
-
|
|
1778
|
+
body: /* @__PURE__ */ jsxs9(Fragment6, { children: [
|
|
1779
|
+
/* @__PURE__ */ jsx35(Markdown2, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin(url) }) }),
|
|
1780
|
+
/* @__PURE__ */ jsx35("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs9("div", { className: "df-box-renderer-width-lg", children: [
|
|
1781
|
+
/* @__PURE__ */ jsx35(
|
|
1782
|
+
Button4,
|
|
1552
1783
|
{
|
|
1553
1784
|
v2: true,
|
|
1554
1785
|
block: true,
|
|
@@ -1561,7 +1792,7 @@ function ExternalConfirmationRendererComponent({
|
|
|
1561
1792
|
children: formatMessage(external_confirmation_messages_default.open)
|
|
1562
1793
|
}
|
|
1563
1794
|
),
|
|
1564
|
-
/* @__PURE__ */
|
|
1795
|
+
/* @__PURE__ */ jsx35(Button4, { v2: true, block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onCancel, children: formatMessage(external_confirmation_messages_default.cancel) })
|
|
1565
1796
|
] }) })
|
|
1566
1797
|
] }),
|
|
1567
1798
|
onClose: onCancel
|
|
@@ -1578,27 +1809,27 @@ function getOrigin(url) {
|
|
|
1578
1809
|
var ExternalConfirmationRenderer_default = ExternalConfirmationRenderer;
|
|
1579
1810
|
|
|
1580
1811
|
// ../renderers/src/FormRenderer.tsx
|
|
1581
|
-
import { jsx as
|
|
1812
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1582
1813
|
var FormRenderer = {
|
|
1583
1814
|
canRenderType: "form",
|
|
1584
|
-
render: ({ children, margin }) => /* @__PURE__ */
|
|
1815
|
+
render: ({ children, margin }) => /* @__PURE__ */ jsx36("div", { className: getMargin(margin), children })
|
|
1585
1816
|
};
|
|
1586
1817
|
var FormRenderer_default = FormRenderer;
|
|
1587
1818
|
|
|
1588
1819
|
// ../renderers/src/FormSectionRenderer.tsx
|
|
1589
|
-
import { Header as
|
|
1590
|
-
import { jsx as
|
|
1820
|
+
import { Header as Header4 } from "@transferwise/components";
|
|
1821
|
+
import { jsx as jsx37, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1591
1822
|
var FormSectionRenderer = {
|
|
1592
1823
|
canRenderType: "form-section",
|
|
1593
|
-
render: ({ title, description, children }) => /* @__PURE__ */
|
|
1594
|
-
title && /* @__PURE__ */
|
|
1595
|
-
|
|
1824
|
+
render: ({ title, description, children }) => /* @__PURE__ */ jsxs10("fieldset", { children: [
|
|
1825
|
+
title && /* @__PURE__ */ jsx37(
|
|
1826
|
+
Header4,
|
|
1596
1827
|
{
|
|
1597
1828
|
as: "h2",
|
|
1598
1829
|
title
|
|
1599
1830
|
}
|
|
1600
1831
|
),
|
|
1601
|
-
description && /* @__PURE__ */
|
|
1832
|
+
description && /* @__PURE__ */ jsx37("p", { children: description }),
|
|
1602
1833
|
children
|
|
1603
1834
|
] })
|
|
1604
1835
|
};
|
|
@@ -1606,18 +1837,18 @@ var FormSectionRenderer_default = FormSectionRenderer;
|
|
|
1606
1837
|
|
|
1607
1838
|
// ../renderers/src/HeadingRenderer.tsx
|
|
1608
1839
|
import { Display, Title } from "@transferwise/components";
|
|
1609
|
-
import { jsx as
|
|
1840
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
1610
1841
|
var HeadingRenderer = {
|
|
1611
1842
|
canRenderType: "heading",
|
|
1612
|
-
render: (props) => /* @__PURE__ */
|
|
1843
|
+
render: (props) => /* @__PURE__ */ jsx38(Heading, __spreadValues({}, props))
|
|
1613
1844
|
};
|
|
1614
1845
|
function Heading(props) {
|
|
1615
1846
|
const { text, size, align, margin, control } = props;
|
|
1616
1847
|
const className = getTextAlignmentAndMargin({ align, margin });
|
|
1617
|
-
return control === "display" ? /* @__PURE__ */
|
|
1848
|
+
return control === "display" ? /* @__PURE__ */ jsx38(DisplayHeading, { size, text, className }) : /* @__PURE__ */ jsx38(StandardHeading, { size, text, className });
|
|
1618
1849
|
}
|
|
1619
1850
|
function DisplayHeading({ size, text, className }) {
|
|
1620
|
-
return /* @__PURE__ */
|
|
1851
|
+
return /* @__PURE__ */ jsx38(Display, { type: getDisplayType(size), className, children: text });
|
|
1621
1852
|
}
|
|
1622
1853
|
var getDisplayType = (size) => {
|
|
1623
1854
|
switch (size) {
|
|
@@ -1633,7 +1864,7 @@ var getDisplayType = (size) => {
|
|
|
1633
1864
|
}
|
|
1634
1865
|
};
|
|
1635
1866
|
function StandardHeading({ size, text, className }) {
|
|
1636
|
-
return /* @__PURE__ */
|
|
1867
|
+
return /* @__PURE__ */ jsx38(Title, { type: getTitleTypeBySize(size), className, children: text });
|
|
1637
1868
|
}
|
|
1638
1869
|
var getTitleTypeBySize = (size) => {
|
|
1639
1870
|
var _a;
|
|
@@ -1650,7 +1881,7 @@ var HeadingRenderer_default = HeadingRenderer;
|
|
|
1650
1881
|
|
|
1651
1882
|
// ../renderers/src/ImageRenderer/UrlImage.tsx
|
|
1652
1883
|
import { Image } from "@transferwise/components";
|
|
1653
|
-
import { useEffect as
|
|
1884
|
+
import { useEffect as useEffect7, useState as useState6 } from "react";
|
|
1654
1885
|
|
|
1655
1886
|
// ../renderers/src/utils/api-utils.ts
|
|
1656
1887
|
function isRelativePath(url = "") {
|
|
@@ -1660,7 +1891,7 @@ function isRelativePath(url = "") {
|
|
|
1660
1891
|
}
|
|
1661
1892
|
|
|
1662
1893
|
// ../renderers/src/ImageRenderer/UrlImage.tsx
|
|
1663
|
-
import { jsx as
|
|
1894
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
1664
1895
|
function UrlImage({
|
|
1665
1896
|
accessibilityDescription,
|
|
1666
1897
|
align,
|
|
@@ -1669,13 +1900,13 @@ function UrlImage({
|
|
|
1669
1900
|
uri,
|
|
1670
1901
|
httpClient
|
|
1671
1902
|
}) {
|
|
1672
|
-
const [imageSource, setImageSource] =
|
|
1673
|
-
|
|
1903
|
+
const [imageSource, setImageSource] = useState6("");
|
|
1904
|
+
useEffect7(() => {
|
|
1674
1905
|
if (!uri.startsWith("urn:")) {
|
|
1675
1906
|
void getImageSource(httpClient, uri).then(setImageSource);
|
|
1676
1907
|
}
|
|
1677
1908
|
}, [uri, httpClient]);
|
|
1678
|
-
return /* @__PURE__ */
|
|
1909
|
+
return /* @__PURE__ */ jsx39("div", { className: `df-image ${align} ${size || "md"} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx39(
|
|
1679
1910
|
Image,
|
|
1680
1911
|
{
|
|
1681
1912
|
className: "df-reserve-space",
|
|
@@ -1719,7 +1950,7 @@ var getImageSource = async (httpClient, imageUrl) => {
|
|
|
1719
1950
|
};
|
|
1720
1951
|
|
|
1721
1952
|
// ../renderers/src/ImageRenderer/UrnFlagImage.tsx
|
|
1722
|
-
import { jsx as
|
|
1953
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
1723
1954
|
var maxFlagSize = 600;
|
|
1724
1955
|
function UrnFlagImage({
|
|
1725
1956
|
accessibilityDescription,
|
|
@@ -1728,7 +1959,7 @@ function UrnFlagImage({
|
|
|
1728
1959
|
size,
|
|
1729
1960
|
uri
|
|
1730
1961
|
}) {
|
|
1731
|
-
return /* @__PURE__ */
|
|
1962
|
+
return /* @__PURE__ */ jsx40("div", { className: `df-image ${align} ${size || "md"} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx40(UrnFlag, { size: maxFlagSize, urn: uri, accessibilityDescription }) });
|
|
1732
1963
|
}
|
|
1733
1964
|
|
|
1734
1965
|
// ../renderers/src/ImageRenderer/UrnIllustration.tsx
|
|
@@ -1736,7 +1967,7 @@ import {
|
|
|
1736
1967
|
Illustration,
|
|
1737
1968
|
isIllustrationSupport3D
|
|
1738
1969
|
} from "@wise/art";
|
|
1739
|
-
import { useState as
|
|
1970
|
+
import { useState as useState7 } from "react";
|
|
1740
1971
|
|
|
1741
1972
|
// ../renderers/src/ImageRenderer/isAnimated.ts
|
|
1742
1973
|
var isAnimated = (uri) => {
|
|
@@ -1747,7 +1978,7 @@ var isAnimated = (uri) => {
|
|
|
1747
1978
|
// ../renderers/src/ImageRenderer/SafeIllustration3D.tsx
|
|
1748
1979
|
import { Illustration3D } from "@wise/art";
|
|
1749
1980
|
import { Component } from "react";
|
|
1750
|
-
import { jsx as
|
|
1981
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
1751
1982
|
var Illustration3DErrorBoundary = class extends Component {
|
|
1752
1983
|
constructor(props) {
|
|
1753
1984
|
super(props);
|
|
@@ -1771,12 +2002,12 @@ var SafeIllustration3D = ({
|
|
|
1771
2002
|
size,
|
|
1772
2003
|
onError
|
|
1773
2004
|
}) => {
|
|
1774
|
-
return /* @__PURE__ */
|
|
2005
|
+
return /* @__PURE__ */ jsx41(Illustration3DErrorBoundary, { onError, children: /* @__PURE__ */ jsx41(Illustration3D, { name, size }) });
|
|
1775
2006
|
};
|
|
1776
2007
|
var SafeIllustration3D_default = SafeIllustration3D;
|
|
1777
2008
|
|
|
1778
2009
|
// ../renderers/src/ImageRenderer/UrnIllustration.tsx
|
|
1779
|
-
import { jsx as
|
|
2010
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
1780
2011
|
var urnPrefix = "urn:wise:illustrations:";
|
|
1781
2012
|
var isUrnIllustration = (uri) => uri.startsWith(urnPrefix);
|
|
1782
2013
|
function UrnIllustration({
|
|
@@ -1786,12 +2017,12 @@ function UrnIllustration({
|
|
|
1786
2017
|
size,
|
|
1787
2018
|
uri
|
|
1788
2019
|
}) {
|
|
1789
|
-
const [has3DFailed, setHas3DFailed] =
|
|
2020
|
+
const [has3DFailed, setHas3DFailed] = useState7(false);
|
|
1790
2021
|
const illustrationSize = getIllustrationSize(size);
|
|
1791
2022
|
const illustrationName = getIllustrationName(uri);
|
|
1792
2023
|
const illustration3DName = getIllustration3DName(uri);
|
|
1793
2024
|
if (illustration3DName && isAnimated(uri) && !has3DFailed) {
|
|
1794
|
-
return /* @__PURE__ */
|
|
2025
|
+
return /* @__PURE__ */ jsx42("div", { className: `df-image ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx42(
|
|
1795
2026
|
SafeIllustration3D_default,
|
|
1796
2027
|
{
|
|
1797
2028
|
name: illustration3DName,
|
|
@@ -1800,7 +2031,7 @@ function UrnIllustration({
|
|
|
1800
2031
|
}
|
|
1801
2032
|
) });
|
|
1802
2033
|
}
|
|
1803
|
-
return /* @__PURE__ */
|
|
2034
|
+
return /* @__PURE__ */ jsx42("div", { className: `df-image ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx42(
|
|
1804
2035
|
Illustration,
|
|
1805
2036
|
{
|
|
1806
2037
|
className: "df-illustration",
|
|
@@ -1820,32 +2051,32 @@ var getIllustration3DName = (uri) => {
|
|
|
1820
2051
|
};
|
|
1821
2052
|
|
|
1822
2053
|
// ../renderers/src/ImageRenderer/UrnImage.tsx
|
|
1823
|
-
import { jsx as
|
|
2054
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
1824
2055
|
var isUrnImage = (uri) => uri.startsWith("urn:");
|
|
1825
2056
|
function UrnImage(props) {
|
|
1826
2057
|
const { uri } = props;
|
|
1827
2058
|
if (isUrnIllustration(uri)) {
|
|
1828
|
-
return /* @__PURE__ */
|
|
2059
|
+
return /* @__PURE__ */ jsx43(UrnIllustration, __spreadValues({}, props));
|
|
1829
2060
|
}
|
|
1830
2061
|
if (isUrnFlag(uri)) {
|
|
1831
|
-
return /* @__PURE__ */
|
|
2062
|
+
return /* @__PURE__ */ jsx43(UrnFlagImage, __spreadValues({}, props));
|
|
1832
2063
|
}
|
|
1833
2064
|
return null;
|
|
1834
2065
|
}
|
|
1835
2066
|
|
|
1836
2067
|
// ../renderers/src/ImageRenderer/ImageRenderer.tsx
|
|
1837
|
-
import { jsx as
|
|
2068
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
1838
2069
|
var ImageRenderer = {
|
|
1839
2070
|
canRenderType: "image",
|
|
1840
|
-
render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */
|
|
2071
|
+
render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */ jsx44(UrnImage, __spreadValues({}, props)) : /* @__PURE__ */ jsx44(UrlImage, __spreadValues({}, props))
|
|
1841
2072
|
};
|
|
1842
2073
|
|
|
1843
2074
|
// ../renderers/src/ImageRenderer/index.tsx
|
|
1844
2075
|
var ImageRenderer_default = ImageRenderer;
|
|
1845
2076
|
|
|
1846
2077
|
// ../renderers/src/InstructionsRenderer.tsx
|
|
1847
|
-
import { Header as
|
|
1848
|
-
import { jsx as
|
|
2078
|
+
import { Header as Header5, InstructionsList } from "@transferwise/components";
|
|
2079
|
+
import { jsx as jsx45, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1849
2080
|
var doContext = ["positive", "neutral"];
|
|
1850
2081
|
var dontContext = ["warning", "negative"];
|
|
1851
2082
|
var InstructionsRenderer = {
|
|
@@ -1853,16 +2084,16 @@ var InstructionsRenderer = {
|
|
|
1853
2084
|
render: ({ items, margin, title }) => {
|
|
1854
2085
|
const dos = items.filter((item) => doContext.includes(item.context)).map(({ text }) => text);
|
|
1855
2086
|
const donts = items.filter((item) => dontContext.includes(item.context)).map(({ text }) => text);
|
|
1856
|
-
return /* @__PURE__ */
|
|
1857
|
-
title ? /* @__PURE__ */
|
|
1858
|
-
/* @__PURE__ */
|
|
2087
|
+
return /* @__PURE__ */ jsxs11("div", { className: getMargin(margin), children: [
|
|
2088
|
+
title ? /* @__PURE__ */ jsx45(Header5, { title }) : null,
|
|
2089
|
+
/* @__PURE__ */ jsx45(InstructionsList, { dos, donts })
|
|
1859
2090
|
] });
|
|
1860
2091
|
}
|
|
1861
2092
|
};
|
|
1862
2093
|
var InstructionsRenderer_default = InstructionsRenderer;
|
|
1863
2094
|
|
|
1864
2095
|
// ../renderers/src/IntegerInputRenderer.tsx
|
|
1865
|
-
import { Input, InputGroup } from "@transferwise/components";
|
|
2096
|
+
import { Input as Input2, InputGroup as InputGroup2 } from "@transferwise/components";
|
|
1866
2097
|
|
|
1867
2098
|
// ../renderers/src/utils/input-utils.ts
|
|
1868
2099
|
var onWheel = (event) => {
|
|
@@ -1887,7 +2118,7 @@ function pick(obj, ...keys) {
|
|
|
1887
2118
|
}
|
|
1888
2119
|
|
|
1889
2120
|
// ../renderers/src/IntegerInputRenderer.tsx
|
|
1890
|
-
import { jsx as
|
|
2121
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
1891
2122
|
var IntegerInputRenderer = {
|
|
1892
2123
|
canRenderType: "input-integer",
|
|
1893
2124
|
render: (props) => {
|
|
@@ -1902,7 +2133,7 @@ var IntegerInputRenderer = {
|
|
|
1902
2133
|
"maximum",
|
|
1903
2134
|
"minimum"
|
|
1904
2135
|
);
|
|
1905
|
-
return /* @__PURE__ */
|
|
2136
|
+
return /* @__PURE__ */ jsx46(
|
|
1906
2137
|
FieldInput_default,
|
|
1907
2138
|
{
|
|
1908
2139
|
id,
|
|
@@ -1910,8 +2141,8 @@ var IntegerInputRenderer = {
|
|
|
1910
2141
|
description,
|
|
1911
2142
|
validation: validationState,
|
|
1912
2143
|
help,
|
|
1913
|
-
children: /* @__PURE__ */
|
|
1914
|
-
|
|
2144
|
+
children: /* @__PURE__ */ jsx46(InputGroup2, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx46(
|
|
2145
|
+
Input2,
|
|
1915
2146
|
__spreadValues({
|
|
1916
2147
|
id,
|
|
1917
2148
|
name: id,
|
|
@@ -1933,55 +2164,12 @@ var IntegerInputRenderer = {
|
|
|
1933
2164
|
var IntegerInputRenderer_default = IntegerInputRenderer;
|
|
1934
2165
|
|
|
1935
2166
|
// ../renderers/src/ListRenderer.tsx
|
|
1936
|
-
import { ListItem as
|
|
1937
|
-
|
|
1938
|
-
// ../renderers/src/utils/listItem/getCTAControl.tsx
|
|
1939
|
-
import { ListItem as ListItem6 } from "@transferwise/components";
|
|
1940
|
-
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
1941
|
-
var getCTAControl = (callToAction, { ctaSecondary, fullyInteractive }) => {
|
|
1942
|
-
if (!callToAction) {
|
|
1943
|
-
return void 0;
|
|
1944
|
-
}
|
|
1945
|
-
const { accessibilityDescription, href, title, context, onClick } = callToAction;
|
|
1946
|
-
const { priority, sentiment } = getPriorityAndSentiment(ctaSecondary, context);
|
|
1947
|
-
if (href) {
|
|
1948
|
-
return /* @__PURE__ */ jsx44(
|
|
1949
|
-
ListItem6.Button,
|
|
1950
|
-
{
|
|
1951
|
-
href,
|
|
1952
|
-
target: "_blank",
|
|
1953
|
-
rel: "noopener noreferrer",
|
|
1954
|
-
partiallyInteractive: !fullyInteractive,
|
|
1955
|
-
priority,
|
|
1956
|
-
"aria-description": accessibilityDescription,
|
|
1957
|
-
sentiment,
|
|
1958
|
-
children: title
|
|
1959
|
-
}
|
|
1960
|
-
);
|
|
1961
|
-
}
|
|
1962
|
-
return /* @__PURE__ */ jsx44(
|
|
1963
|
-
ListItem6.Button,
|
|
1964
|
-
{
|
|
1965
|
-
"aria-description": accessibilityDescription,
|
|
1966
|
-
partiallyInteractive: !fullyInteractive,
|
|
1967
|
-
priority,
|
|
1968
|
-
sentiment,
|
|
1969
|
-
onClick,
|
|
1970
|
-
children: title
|
|
1971
|
-
}
|
|
1972
|
-
);
|
|
1973
|
-
};
|
|
1974
|
-
var getPriorityAndSentiment = (ctaSecondary, context) => {
|
|
1975
|
-
if (context === "negative") {
|
|
1976
|
-
return { priority: "secondary", sentiment: "negative" };
|
|
1977
|
-
}
|
|
1978
|
-
return { priority: ctaSecondary ? "secondary" : "secondary-neutral", sentiment: "default" };
|
|
1979
|
-
};
|
|
2167
|
+
import { ListItem as ListItem8 } from "@transferwise/components";
|
|
1980
2168
|
|
|
1981
2169
|
// ../renderers/src/components/Header.tsx
|
|
1982
2170
|
import { Header as DSHeader } from "@transferwise/components";
|
|
1983
|
-
import { jsx as
|
|
1984
|
-
var
|
|
2171
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
2172
|
+
var Header = ({ title, callToAction }) => (title || callToAction) && /* @__PURE__ */ jsx47(DSHeader, { title: title != null ? title : "", action: getHeaderAction(callToAction) });
|
|
1985
2173
|
var getHeaderAction = (callToAction) => {
|
|
1986
2174
|
if (!callToAction) {
|
|
1987
2175
|
return void 0;
|
|
@@ -2003,11 +2191,11 @@ var getHeaderAction = (callToAction) => {
|
|
|
2003
2191
|
};
|
|
2004
2192
|
|
|
2005
2193
|
// ../renderers/src/ListRenderer.tsx
|
|
2006
|
-
import { jsx as
|
|
2194
|
+
import { jsx as jsx48, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2007
2195
|
var ListRenderer = {
|
|
2008
2196
|
canRenderType: "list",
|
|
2009
|
-
render: ({ callToAction, control, margin, items, tags, title }) => /* @__PURE__ */
|
|
2010
|
-
/* @__PURE__ */
|
|
2197
|
+
render: ({ callToAction, control, margin, items, tags, title }) => /* @__PURE__ */ jsxs12("div", { className: getMargin(margin), children: [
|
|
2198
|
+
/* @__PURE__ */ jsx48(Header, { title, callToAction }),
|
|
2011
2199
|
items.map((item) => {
|
|
2012
2200
|
var _a, _b;
|
|
2013
2201
|
const {
|
|
@@ -2024,8 +2212,8 @@ var ListRenderer = {
|
|
|
2024
2212
|
ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
|
|
2025
2213
|
fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
|
|
2026
2214
|
};
|
|
2027
|
-
return /* @__PURE__ */
|
|
2028
|
-
|
|
2215
|
+
return /* @__PURE__ */ jsx48(
|
|
2216
|
+
ListItem8,
|
|
2029
2217
|
{
|
|
2030
2218
|
title: itemTitle,
|
|
2031
2219
|
subtitle: description,
|
|
@@ -2045,10 +2233,10 @@ var ListRenderer_default = ListRenderer;
|
|
|
2045
2233
|
|
|
2046
2234
|
// ../renderers/src/LoadingIndicatorRenderer.tsx
|
|
2047
2235
|
import { Loader } from "@transferwise/components";
|
|
2048
|
-
import { jsx as
|
|
2236
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
2049
2237
|
var LoadingIndicatorRenderer = {
|
|
2050
2238
|
canRenderType: "loading-indicator",
|
|
2051
|
-
render: ({ margin, size }) => /* @__PURE__ */
|
|
2239
|
+
render: ({ margin, size }) => /* @__PURE__ */ jsx49(
|
|
2052
2240
|
Loader,
|
|
2053
2241
|
{
|
|
2054
2242
|
size,
|
|
@@ -2061,10 +2249,10 @@ var LoadingIndicatorRenderer_default = LoadingIndicatorRenderer;
|
|
|
2061
2249
|
|
|
2062
2250
|
// ../renderers/src/MarkdownRenderer.tsx
|
|
2063
2251
|
import { Markdown as Markdown3 } from "@transferwise/components";
|
|
2064
|
-
import { jsx as
|
|
2252
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
2065
2253
|
var MarkdownRenderer = {
|
|
2066
2254
|
canRenderType: "markdown",
|
|
2067
|
-
render: ({ content, align, margin, size }) => /* @__PURE__ */
|
|
2255
|
+
render: ({ content, align, margin, size }) => /* @__PURE__ */ jsx50("div", { className: getTextAlignmentAndMargin({ align, margin }), children: /* @__PURE__ */ jsx50(
|
|
2068
2256
|
Markdown3,
|
|
2069
2257
|
{
|
|
2070
2258
|
className: ["xs", "sm"].includes(size) ? "np-text-body-default" : "np-text-body-large",
|
|
@@ -2076,16 +2264,16 @@ var MarkdownRenderer = {
|
|
|
2076
2264
|
var MarkdownRenderer_default = MarkdownRenderer;
|
|
2077
2265
|
|
|
2078
2266
|
// ../renderers/src/MediaRenderer.tsx
|
|
2079
|
-
import { jsx as
|
|
2267
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
2080
2268
|
var MediaRenderer = {
|
|
2081
2269
|
canRenderType: "media",
|
|
2082
2270
|
render: (_a) => {
|
|
2083
2271
|
var _b = _a, { media } = _b, rest = __objRest(_b, ["media"]);
|
|
2084
2272
|
switch (media.type) {
|
|
2085
2273
|
case "avatar":
|
|
2086
|
-
return /* @__PURE__ */
|
|
2274
|
+
return /* @__PURE__ */ jsx51(AvatarMediaRendererComponent, __spreadValues({ media }, rest));
|
|
2087
2275
|
case "image":
|
|
2088
|
-
return /* @__PURE__ */
|
|
2276
|
+
return /* @__PURE__ */ jsx51(ImageMediaRendererComponent, __spreadValues({ media }, rest));
|
|
2089
2277
|
case "legacy":
|
|
2090
2278
|
return null;
|
|
2091
2279
|
}
|
|
@@ -2097,7 +2285,7 @@ var AvatarMediaRendererComponent = ({
|
|
|
2097
2285
|
margin,
|
|
2098
2286
|
size
|
|
2099
2287
|
}) => {
|
|
2100
|
-
return /* @__PURE__ */
|
|
2288
|
+
return /* @__PURE__ */ jsx51("div", { className: `df-media-layout-avatar ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx51(Media, { media, size: mapAvatarMediaSize(size) }) });
|
|
2101
2289
|
};
|
|
2102
2290
|
var ImageMediaRendererComponent = (_a) => {
|
|
2103
2291
|
var _b = _a, {
|
|
@@ -2105,7 +2293,7 @@ var ImageMediaRendererComponent = (_a) => {
|
|
|
2105
2293
|
} = _b, rest = __objRest(_b, [
|
|
2106
2294
|
"media"
|
|
2107
2295
|
]);
|
|
2108
|
-
return isUrnImage(media.uri) ? /* @__PURE__ */
|
|
2296
|
+
return isUrnImage(media.uri) ? /* @__PURE__ */ jsx51(UrnImage, __spreadValues({ uri: media.uri, accessibilityDescription: media.accessibilityDescription }, rest)) : /* @__PURE__ */ jsx51(UrlImage, __spreadValues({ uri: media.uri, accessibilityDescription: media.accessibilityDescription }, rest));
|
|
2109
2297
|
};
|
|
2110
2298
|
var mapAvatarMediaSize = (size) => {
|
|
2111
2299
|
switch (size) {
|
|
@@ -2123,20 +2311,20 @@ var mapAvatarMediaSize = (size) => {
|
|
|
2123
2311
|
};
|
|
2124
2312
|
|
|
2125
2313
|
// ../renderers/src/ModalLayoutRenderer.tsx
|
|
2126
|
-
import { Button as
|
|
2127
|
-
import { useState as
|
|
2128
|
-
import { jsx as
|
|
2314
|
+
import { Button as Button5, Modal as Modal2 } from "@transferwise/components";
|
|
2315
|
+
import { useState as useState8 } from "react";
|
|
2316
|
+
import { jsx as jsx52, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2129
2317
|
var ModalLayoutRenderer = {
|
|
2130
2318
|
canRenderType: "modal-layout",
|
|
2131
|
-
render: (props) => /* @__PURE__ */
|
|
2319
|
+
render: (props) => /* @__PURE__ */ jsx52(DFModal, __spreadValues({}, props))
|
|
2132
2320
|
};
|
|
2133
2321
|
var ModalLayoutRenderer_default = ModalLayoutRenderer;
|
|
2134
2322
|
function DFModal({ content, margin, trigger }) {
|
|
2135
|
-
const [visible, setVisible] =
|
|
2323
|
+
const [visible, setVisible] = useState8(false);
|
|
2136
2324
|
const { children, title } = content;
|
|
2137
|
-
return /* @__PURE__ */
|
|
2138
|
-
/* @__PURE__ */
|
|
2139
|
-
/* @__PURE__ */
|
|
2325
|
+
return /* @__PURE__ */ jsxs13("div", { className: getMargin(margin), children: [
|
|
2326
|
+
/* @__PURE__ */ jsx52(Button5, { v2: true, priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
|
|
2327
|
+
/* @__PURE__ */ jsx52(
|
|
2140
2328
|
Modal2,
|
|
2141
2329
|
{
|
|
2142
2330
|
scroll: "content",
|
|
@@ -2152,19 +2340,19 @@ function DFModal({ content, margin, trigger }) {
|
|
|
2152
2340
|
|
|
2153
2341
|
// ../renderers/src/ModalRenderer.tsx
|
|
2154
2342
|
import { Modal as Modal3 } from "@transferwise/components";
|
|
2155
|
-
import { jsx as
|
|
2343
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
2156
2344
|
var ModalRenderer = {
|
|
2157
2345
|
canRenderType: "modal",
|
|
2158
2346
|
render: ({ title, children, open, onClose }) => {
|
|
2159
|
-
return /* @__PURE__ */
|
|
2347
|
+
return /* @__PURE__ */ jsx53(Modal3, { open, title, body: children, onClose });
|
|
2160
2348
|
}
|
|
2161
2349
|
};
|
|
2162
2350
|
|
|
2163
2351
|
// ../renderers/src/MoneyInputRenderer.tsx
|
|
2164
2352
|
import { MoneyInput } from "@transferwise/components";
|
|
2165
|
-
import { useEffect as
|
|
2166
|
-
import { useIntl as
|
|
2167
|
-
import { jsx as
|
|
2353
|
+
import { useEffect as useEffect8 } from "react";
|
|
2354
|
+
import { useIntl as useIntl7 } from "react-intl";
|
|
2355
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
2168
2356
|
var groupingTags2 = Object.keys(group_messages_default).filter((key) => key !== "all");
|
|
2169
2357
|
var MoneyInputRenderer = {
|
|
2170
2358
|
canRenderType: "money-input",
|
|
@@ -2185,13 +2373,13 @@ function MoneyInputRendererComponent(props) {
|
|
|
2185
2373
|
onAmountChange,
|
|
2186
2374
|
onCurrencyChange
|
|
2187
2375
|
} = props;
|
|
2188
|
-
|
|
2376
|
+
useEffect8(() => {
|
|
2189
2377
|
if (!isValidIndex(selectedCurrencyIndex, currencies.length)) {
|
|
2190
2378
|
onCurrencyChange(0);
|
|
2191
2379
|
}
|
|
2192
2380
|
}, [selectedCurrencyIndex, onCurrencyChange, currencies.length]);
|
|
2193
|
-
const { formatMessage } =
|
|
2194
|
-
return /* @__PURE__ */
|
|
2381
|
+
const { formatMessage } = useIntl7();
|
|
2382
|
+
return /* @__PURE__ */ jsx54(
|
|
2195
2383
|
FieldInput_default,
|
|
2196
2384
|
{
|
|
2197
2385
|
id: uid,
|
|
@@ -2199,7 +2387,7 @@ function MoneyInputRendererComponent(props) {
|
|
|
2199
2387
|
description,
|
|
2200
2388
|
validation: validationState,
|
|
2201
2389
|
help,
|
|
2202
|
-
children: /* @__PURE__ */
|
|
2390
|
+
children: /* @__PURE__ */ jsx54(
|
|
2203
2391
|
MoneyInput,
|
|
2204
2392
|
{
|
|
2205
2393
|
amount: parseFloatOrNull(amountValue),
|
|
@@ -2261,8 +2449,8 @@ function assertCurrencyCodeIsString(currencyCode) {
|
|
|
2261
2449
|
}
|
|
2262
2450
|
|
|
2263
2451
|
// ../renderers/src/MultiSelectInputRenderer/InlineComponent.tsx
|
|
2264
|
-
import { ListItem as
|
|
2265
|
-
import { jsx as
|
|
2452
|
+
import { ListItem as ListItem9 } from "@transferwise/components";
|
|
2453
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
2266
2454
|
function InlineComponent(props) {
|
|
2267
2455
|
const {
|
|
2268
2456
|
id,
|
|
@@ -2275,7 +2463,7 @@ function InlineComponent(props) {
|
|
|
2275
2463
|
validationState,
|
|
2276
2464
|
onSelect
|
|
2277
2465
|
} = props;
|
|
2278
|
-
return /* @__PURE__ */
|
|
2466
|
+
return /* @__PURE__ */ jsx55(
|
|
2279
2467
|
FieldInput_default,
|
|
2280
2468
|
{
|
|
2281
2469
|
id,
|
|
@@ -2296,8 +2484,8 @@ function InlineComponent(props) {
|
|
|
2296
2484
|
childrenProps
|
|
2297
2485
|
} = option;
|
|
2298
2486
|
const key = (_a = childrenProps == null ? void 0 : childrenProps.uid) != null ? _a : index;
|
|
2299
|
-
return /* @__PURE__ */
|
|
2300
|
-
|
|
2487
|
+
return /* @__PURE__ */ jsx55(
|
|
2488
|
+
ListItem9,
|
|
2301
2489
|
{
|
|
2302
2490
|
title: itemTitle,
|
|
2303
2491
|
subtitle,
|
|
@@ -2305,10 +2493,10 @@ function InlineComponent(props) {
|
|
|
2305
2493
|
valueSubtitle: supportingValues == null ? void 0 : supportingValues.subvalue,
|
|
2306
2494
|
media: getMedia(media, false),
|
|
2307
2495
|
prompt: getInlineAlert(inlineAlert),
|
|
2308
|
-
additionalInfo: additionalText ? /* @__PURE__ */
|
|
2496
|
+
additionalInfo: additionalText ? /* @__PURE__ */ jsx55(ListItem9.AdditionalInfo, { children: additionalText }) : void 0,
|
|
2309
2497
|
disabled: disabled || optionDisabled,
|
|
2310
|
-
control: /* @__PURE__ */
|
|
2311
|
-
|
|
2498
|
+
control: /* @__PURE__ */ jsx55(
|
|
2499
|
+
ListItem9.Checkbox,
|
|
2312
2500
|
{
|
|
2313
2501
|
checked: selectedIndices.includes(index),
|
|
2314
2502
|
onChange: (e) => {
|
|
@@ -2327,12 +2515,12 @@ function InlineComponent(props) {
|
|
|
2327
2515
|
|
|
2328
2516
|
// ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
|
|
2329
2517
|
import { SelectInput, SelectInputOptionContent } from "@transferwise/components";
|
|
2330
|
-
import { useState as
|
|
2331
|
-
import { useIntl as
|
|
2518
|
+
import { useState as useState9 } from "react";
|
|
2519
|
+
import { useIntl as useIntl8 } from "react-intl";
|
|
2332
2520
|
|
|
2333
2521
|
// ../renderers/src/messages/multi-select.messages.ts
|
|
2334
|
-
import { defineMessages as
|
|
2335
|
-
var multi_select_messages_default =
|
|
2522
|
+
import { defineMessages as defineMessages7 } from "react-intl";
|
|
2523
|
+
var multi_select_messages_default = defineMessages7({
|
|
2336
2524
|
summary: {
|
|
2337
2525
|
id: "df.wise.MultiSelect.summary",
|
|
2338
2526
|
defaultMessage: "{first} and {count} more",
|
|
@@ -2341,10 +2529,10 @@ var multi_select_messages_default = defineMessages6({
|
|
|
2341
2529
|
});
|
|
2342
2530
|
|
|
2343
2531
|
// ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
|
|
2344
|
-
import { jsx as
|
|
2532
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
2345
2533
|
function DefaultComponent(props) {
|
|
2346
|
-
const { formatMessage } =
|
|
2347
|
-
const [stagedIndices, setStagedIndices] =
|
|
2534
|
+
const { formatMessage } = useIntl8();
|
|
2535
|
+
const [stagedIndices, setStagedIndices] = useState9();
|
|
2348
2536
|
const {
|
|
2349
2537
|
id,
|
|
2350
2538
|
autoComplete,
|
|
@@ -2382,12 +2570,12 @@ function DefaultComponent(props) {
|
|
|
2382
2570
|
const contentProps = {
|
|
2383
2571
|
title: option.title,
|
|
2384
2572
|
description: option.description,
|
|
2385
|
-
icon: /* @__PURE__ */
|
|
2573
|
+
icon: /* @__PURE__ */ jsx56(OptionMedia, { media: option.media, preferAvatar: false })
|
|
2386
2574
|
};
|
|
2387
|
-
return /* @__PURE__ */
|
|
2575
|
+
return /* @__PURE__ */ jsx56(SelectInputOptionContent, __spreadValues({}, contentProps));
|
|
2388
2576
|
};
|
|
2389
2577
|
const extraProps = { autoComplete };
|
|
2390
|
-
return /* @__PURE__ */
|
|
2578
|
+
return /* @__PURE__ */ jsx56(
|
|
2391
2579
|
FieldInput_default,
|
|
2392
2580
|
{
|
|
2393
2581
|
id,
|
|
@@ -2395,7 +2583,7 @@ function DefaultComponent(props) {
|
|
|
2395
2583
|
help,
|
|
2396
2584
|
description,
|
|
2397
2585
|
validation: validationState,
|
|
2398
|
-
children: /* @__PURE__ */
|
|
2586
|
+
children: /* @__PURE__ */ jsx56(
|
|
2399
2587
|
SelectInput,
|
|
2400
2588
|
__spreadValues({
|
|
2401
2589
|
id,
|
|
@@ -2435,7 +2623,7 @@ function DefaultComponent(props) {
|
|
|
2435
2623
|
|
|
2436
2624
|
// ../renderers/src/MultiSelectInputRenderer/InlineCheckboxComponent.tsx
|
|
2437
2625
|
import { Checkbox as Checkbox2 } from "@transferwise/components";
|
|
2438
|
-
import { jsx as
|
|
2626
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
2439
2627
|
function InlineCheckboxComponent(props) {
|
|
2440
2628
|
const {
|
|
2441
2629
|
id,
|
|
@@ -2448,7 +2636,7 @@ function InlineCheckboxComponent(props) {
|
|
|
2448
2636
|
validationState,
|
|
2449
2637
|
onSelect
|
|
2450
2638
|
} = props;
|
|
2451
|
-
return /* @__PURE__ */
|
|
2639
|
+
return /* @__PURE__ */ jsx57(
|
|
2452
2640
|
FieldInput_default,
|
|
2453
2641
|
{
|
|
2454
2642
|
id,
|
|
@@ -2476,24 +2664,24 @@ function InlineCheckboxComponent(props) {
|
|
|
2476
2664
|
onSelect(newSelectedIndices);
|
|
2477
2665
|
}
|
|
2478
2666
|
};
|
|
2479
|
-
return /* @__PURE__ */
|
|
2667
|
+
return /* @__PURE__ */ jsx57(Checkbox2, __spreadProps(__spreadValues({}, checkboxProps), { className: "m-t-1" }), key);
|
|
2480
2668
|
})
|
|
2481
2669
|
}
|
|
2482
2670
|
);
|
|
2483
2671
|
}
|
|
2484
2672
|
|
|
2485
2673
|
// ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRenderer.tsx
|
|
2486
|
-
import { jsx as
|
|
2674
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
2487
2675
|
var MultiSelectInputRenderer = {
|
|
2488
2676
|
canRenderType: "input-multi-select",
|
|
2489
2677
|
render: (props) => {
|
|
2490
2678
|
switch (props.control) {
|
|
2491
2679
|
case "inline":
|
|
2492
|
-
return /* @__PURE__ */
|
|
2680
|
+
return /* @__PURE__ */ jsx58(InlineComponent, __spreadValues({}, props));
|
|
2493
2681
|
case "inline-checkbox-group":
|
|
2494
|
-
return /* @__PURE__ */
|
|
2682
|
+
return /* @__PURE__ */ jsx58(InlineCheckboxComponent, __spreadValues({}, props));
|
|
2495
2683
|
default:
|
|
2496
|
-
return /* @__PURE__ */
|
|
2684
|
+
return /* @__PURE__ */ jsx58(DefaultComponent, __spreadValues({}, props));
|
|
2497
2685
|
}
|
|
2498
2686
|
}
|
|
2499
2687
|
};
|
|
@@ -2504,7 +2692,7 @@ import { Status, UploadInput } from "@transferwise/components";
|
|
|
2504
2692
|
// ../renderers/src/components/UploadFieldInput.tsx
|
|
2505
2693
|
var import_classnames4 = __toESM(require_classnames());
|
|
2506
2694
|
import { InlineAlert as InlineAlert2 } from "@transferwise/components";
|
|
2507
|
-
import { jsx as
|
|
2695
|
+
import { jsx as jsx59, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2508
2696
|
function UploadFieldInput({
|
|
2509
2697
|
id,
|
|
2510
2698
|
children,
|
|
@@ -2513,18 +2701,18 @@ function UploadFieldInput({
|
|
|
2513
2701
|
help,
|
|
2514
2702
|
validation
|
|
2515
2703
|
}) {
|
|
2516
|
-
const labelContent = label && help ? /* @__PURE__ */
|
|
2704
|
+
const labelContent = label && help ? /* @__PURE__ */ jsx59(LabelContentWithHelp, { text: label, help }) : label;
|
|
2517
2705
|
const descriptionId = description ? `${id}-description` : void 0;
|
|
2518
|
-
return /* @__PURE__ */
|
|
2706
|
+
return /* @__PURE__ */ jsxs14(
|
|
2519
2707
|
"div",
|
|
2520
2708
|
{
|
|
2521
2709
|
className: (0, import_classnames4.default)("form-group d-block", {
|
|
2522
2710
|
"has-error": (validation == null ? void 0 : validation.status) === "invalid"
|
|
2523
2711
|
}),
|
|
2524
2712
|
children: [
|
|
2525
|
-
/* @__PURE__ */
|
|
2713
|
+
/* @__PURE__ */ jsx59("label", { htmlFor: id, className: "control-label", children: labelContent }),
|
|
2526
2714
|
children,
|
|
2527
|
-
(validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */
|
|
2715
|
+
(validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx59(InlineAlert2, { type: "negative", id: descriptionId, children: validation.message })
|
|
2528
2716
|
]
|
|
2529
2717
|
}
|
|
2530
2718
|
);
|
|
@@ -2559,7 +2747,7 @@ var getSizeLimit = (maxSize) => {
|
|
|
2559
2747
|
};
|
|
2560
2748
|
|
|
2561
2749
|
// ../renderers/src/MultiUploadInputRenderer.tsx
|
|
2562
|
-
import { jsx as
|
|
2750
|
+
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
2563
2751
|
var MultiUploadInputRenderer = {
|
|
2564
2752
|
canRenderType: "input-upload-multi",
|
|
2565
2753
|
render: (props) => {
|
|
@@ -2584,7 +2772,7 @@ var MultiUploadInputRenderer = {
|
|
|
2584
2772
|
};
|
|
2585
2773
|
const onDeleteFile = async (fileId) => onRemoveFile(value.findIndex((file) => file.id === fileId));
|
|
2586
2774
|
const descriptionId = description ? `${id}-description` : void 0;
|
|
2587
|
-
return /* @__PURE__ */
|
|
2775
|
+
return /* @__PURE__ */ jsx60(
|
|
2588
2776
|
UploadFieldInput_default,
|
|
2589
2777
|
{
|
|
2590
2778
|
id,
|
|
@@ -2592,7 +2780,7 @@ var MultiUploadInputRenderer = {
|
|
|
2592
2780
|
description,
|
|
2593
2781
|
validation: validationState,
|
|
2594
2782
|
help,
|
|
2595
|
-
children: /* @__PURE__ */
|
|
2783
|
+
children: /* @__PURE__ */ jsx60(
|
|
2596
2784
|
UploadInput,
|
|
2597
2785
|
{
|
|
2598
2786
|
id,
|
|
@@ -2620,8 +2808,8 @@ var MultiUploadInputRenderer = {
|
|
|
2620
2808
|
var MultiUploadInputRenderer_default = MultiUploadInputRenderer;
|
|
2621
2809
|
|
|
2622
2810
|
// ../renderers/src/NumberInputRenderer.tsx
|
|
2623
|
-
import { Input as
|
|
2624
|
-
import { jsx as
|
|
2811
|
+
import { Input as Input3, InputGroup as InputGroup3 } from "@transferwise/components";
|
|
2812
|
+
import { jsx as jsx61 } from "react/jsx-runtime";
|
|
2625
2813
|
var NumberInputRenderer = {
|
|
2626
2814
|
canRenderType: "input-number",
|
|
2627
2815
|
render: (props) => {
|
|
@@ -2635,7 +2823,7 @@ var NumberInputRenderer = {
|
|
|
2635
2823
|
"maximum",
|
|
2636
2824
|
"minimum"
|
|
2637
2825
|
);
|
|
2638
|
-
return /* @__PURE__ */
|
|
2826
|
+
return /* @__PURE__ */ jsx61(
|
|
2639
2827
|
FieldInput_default,
|
|
2640
2828
|
{
|
|
2641
2829
|
id,
|
|
@@ -2643,8 +2831,8 @@ var NumberInputRenderer = {
|
|
|
2643
2831
|
description,
|
|
2644
2832
|
validation: validationState,
|
|
2645
2833
|
help,
|
|
2646
|
-
children: /* @__PURE__ */
|
|
2647
|
-
|
|
2834
|
+
children: /* @__PURE__ */ jsx61(InputGroup3, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx61(
|
|
2835
|
+
Input3,
|
|
2648
2836
|
__spreadValues({
|
|
2649
2837
|
id,
|
|
2650
2838
|
name: id,
|
|
@@ -2664,7 +2852,7 @@ var NumberInputRenderer = {
|
|
|
2664
2852
|
var NumberInputRenderer_default = NumberInputRenderer;
|
|
2665
2853
|
|
|
2666
2854
|
// ../renderers/src/ParagraphRenderer.tsx
|
|
2667
|
-
import { useIntl as
|
|
2855
|
+
import { useIntl as useIntl9 } from "react-intl";
|
|
2668
2856
|
|
|
2669
2857
|
// ../renderers/src/hooks/useSnackBarIfAvailable.ts
|
|
2670
2858
|
import { SnackbarContext } from "@transferwise/components";
|
|
@@ -2677,11 +2865,11 @@ function useSnackBarIfAvailable() {
|
|
|
2677
2865
|
|
|
2678
2866
|
// ../renderers/src/ParagraphRenderer.tsx
|
|
2679
2867
|
var import_classnames5 = __toESM(require_classnames());
|
|
2680
|
-
import { Button as
|
|
2868
|
+
import { Button as Button6, Input as Input4 } from "@transferwise/components";
|
|
2681
2869
|
|
|
2682
2870
|
// ../renderers/src/messages/paragraph.messages.ts
|
|
2683
|
-
import { defineMessages as
|
|
2684
|
-
var paragraph_messages_default =
|
|
2871
|
+
import { defineMessages as defineMessages8 } from "react-intl";
|
|
2872
|
+
var paragraph_messages_default = defineMessages8({
|
|
2685
2873
|
copy: {
|
|
2686
2874
|
id: "df.wise.DynamicParagraph.copy",
|
|
2687
2875
|
defaultMessage: "Copy",
|
|
@@ -2695,14 +2883,14 @@ var paragraph_messages_default = defineMessages7({
|
|
|
2695
2883
|
});
|
|
2696
2884
|
|
|
2697
2885
|
// ../renderers/src/ParagraphRenderer.tsx
|
|
2698
|
-
import { jsx as
|
|
2886
|
+
import { jsx as jsx62, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2699
2887
|
var ParagraphRenderer = {
|
|
2700
2888
|
canRenderType: "paragraph",
|
|
2701
|
-
render: (props) => /* @__PURE__ */
|
|
2889
|
+
render: (props) => /* @__PURE__ */ jsx62(Paragraph, __spreadValues({}, props))
|
|
2702
2890
|
};
|
|
2703
2891
|
function Paragraph({ align, control, margin, size, text }) {
|
|
2704
2892
|
const className = getTextAlignmentAndMargin({ align, margin });
|
|
2705
|
-
return control === "copyable" ? /* @__PURE__ */
|
|
2893
|
+
return control === "copyable" ? /* @__PURE__ */ jsx62(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx62(
|
|
2706
2894
|
"p",
|
|
2707
2895
|
{
|
|
2708
2896
|
className: `${["xs", "sm"].includes(size) ? "np-text-body-default" : "np-text-body-large"} ${className}`,
|
|
@@ -2715,16 +2903,16 @@ function CopyableParagraph({
|
|
|
2715
2903
|
align,
|
|
2716
2904
|
className
|
|
2717
2905
|
}) {
|
|
2718
|
-
const { formatMessage } =
|
|
2906
|
+
const { formatMessage } = useIntl9();
|
|
2719
2907
|
const createSnackbar = useSnackBarIfAvailable();
|
|
2720
2908
|
const copy = () => {
|
|
2721
2909
|
navigator.clipboard.writeText(text).then(() => createSnackbar({ text: formatMessage(paragraph_messages_default.copied) })).catch(() => {
|
|
2722
2910
|
});
|
|
2723
2911
|
};
|
|
2724
2912
|
const inputAlignmentClasses = getTextAlignmentAndMargin({ align, margin: "sm" });
|
|
2725
|
-
return /* @__PURE__ */
|
|
2726
|
-
/* @__PURE__ */
|
|
2727
|
-
|
|
2913
|
+
return /* @__PURE__ */ jsxs15("div", { className, children: [
|
|
2914
|
+
/* @__PURE__ */ jsx62(
|
|
2915
|
+
Input4,
|
|
2728
2916
|
{
|
|
2729
2917
|
type: "text",
|
|
2730
2918
|
value: text,
|
|
@@ -2732,23 +2920,23 @@ function CopyableParagraph({
|
|
|
2732
2920
|
className: (0, import_classnames5.default)("text-ellipsis", inputAlignmentClasses)
|
|
2733
2921
|
}
|
|
2734
2922
|
),
|
|
2735
|
-
/* @__PURE__ */
|
|
2923
|
+
/* @__PURE__ */ jsx62(Button6, { v2: true, block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
|
|
2736
2924
|
] });
|
|
2737
2925
|
}
|
|
2738
2926
|
var ParagraphRenderer_default = ParagraphRenderer;
|
|
2739
2927
|
|
|
2740
2928
|
// ../renderers/src/ProgressRenderer.tsx
|
|
2741
2929
|
import { ProgressBar } from "@transferwise/components";
|
|
2742
|
-
import { jsx as
|
|
2930
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
2743
2931
|
var ProgressRenderer = {
|
|
2744
2932
|
canRenderType: "progress",
|
|
2745
2933
|
render: ({ uid, title, help, progress, progressText, margin, description }) => {
|
|
2746
|
-
return /* @__PURE__ */
|
|
2934
|
+
return /* @__PURE__ */ jsx63(
|
|
2747
2935
|
ProgressBar,
|
|
2748
2936
|
{
|
|
2749
2937
|
id: uid,
|
|
2750
2938
|
className: getMargin(margin),
|
|
2751
|
-
title: title && help ? /* @__PURE__ */
|
|
2939
|
+
title: title && help ? /* @__PURE__ */ jsx63(LabelContentWithHelp, { text: title, help }) : title,
|
|
2752
2940
|
description,
|
|
2753
2941
|
progress: {
|
|
2754
2942
|
max: 1,
|
|
@@ -2762,14 +2950,14 @@ var ProgressRenderer = {
|
|
|
2762
2950
|
|
|
2763
2951
|
// ../renderers/src/RepeatableRenderer.tsx
|
|
2764
2952
|
var import_classnames6 = __toESM(require_classnames());
|
|
2765
|
-
import { Button as
|
|
2953
|
+
import { Button as Button7, Header as Header6, InlineAlert as InlineAlert3, Modal as Modal4, NavigationOption } from "@transferwise/components";
|
|
2766
2954
|
import { Plus } from "@transferwise/icons";
|
|
2767
|
-
import { useState as
|
|
2768
|
-
import { useIntl as
|
|
2955
|
+
import { useState as useState10 } from "react";
|
|
2956
|
+
import { useIntl as useIntl10 } from "react-intl";
|
|
2769
2957
|
|
|
2770
2958
|
// ../renderers/src/messages/repeatable.messages.ts
|
|
2771
|
-
import { defineMessages as
|
|
2772
|
-
var repeatable_messages_default =
|
|
2959
|
+
import { defineMessages as defineMessages9 } from "react-intl";
|
|
2960
|
+
var repeatable_messages_default = defineMessages9({
|
|
2773
2961
|
addItemTitle: {
|
|
2774
2962
|
id: "df.wise.ArraySchema.addItemTitle",
|
|
2775
2963
|
defaultMessage: "Add Item",
|
|
@@ -2793,10 +2981,10 @@ var repeatable_messages_default = defineMessages8({
|
|
|
2793
2981
|
});
|
|
2794
2982
|
|
|
2795
2983
|
// ../renderers/src/RepeatableRenderer.tsx
|
|
2796
|
-
import { Fragment as
|
|
2984
|
+
import { Fragment as Fragment7, jsx as jsx64, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2797
2985
|
var RepeatableRenderer = {
|
|
2798
2986
|
canRenderType: "repeatable",
|
|
2799
|
-
render: (props) => /* @__PURE__ */
|
|
2987
|
+
render: (props) => /* @__PURE__ */ jsx64(Repeatable, __spreadValues({}, props))
|
|
2800
2988
|
};
|
|
2801
2989
|
function Repeatable(props) {
|
|
2802
2990
|
const {
|
|
@@ -2812,8 +3000,8 @@ function Repeatable(props) {
|
|
|
2812
3000
|
onSave,
|
|
2813
3001
|
onRemove
|
|
2814
3002
|
} = props;
|
|
2815
|
-
const { formatMessage } =
|
|
2816
|
-
const [openModalType, setOpenModalType] =
|
|
3003
|
+
const { formatMessage } = useIntl10();
|
|
3004
|
+
const [openModalType, setOpenModalType] = useState10(null);
|
|
2817
3005
|
const onAddItem = () => {
|
|
2818
3006
|
onAdd();
|
|
2819
3007
|
setOpenModalType("add");
|
|
@@ -2835,41 +3023,41 @@ function Repeatable(props) {
|
|
|
2835
3023
|
const onCancelEdit = () => {
|
|
2836
3024
|
setOpenModalType(null);
|
|
2837
3025
|
};
|
|
2838
|
-
return /* @__PURE__ */
|
|
2839
|
-
title && /* @__PURE__ */
|
|
2840
|
-
description && /* @__PURE__ */
|
|
2841
|
-
/* @__PURE__ */
|
|
3026
|
+
return /* @__PURE__ */ jsxs16(Fragment7, { children: [
|
|
3027
|
+
title && /* @__PURE__ */ jsx64(Header6, { title }),
|
|
3028
|
+
description && /* @__PURE__ */ jsx64("p", { children: description }),
|
|
3029
|
+
/* @__PURE__ */ jsxs16(
|
|
2842
3030
|
"div",
|
|
2843
3031
|
{
|
|
2844
3032
|
className: (0, import_classnames6.default)("form-group", {
|
|
2845
3033
|
"has-error": (validationState == null ? void 0 : validationState.status) === "invalid"
|
|
2846
3034
|
}),
|
|
2847
3035
|
children: [
|
|
2848
|
-
items == null ? void 0 : items.map((item, index) => /* @__PURE__ */
|
|
2849
|
-
/* @__PURE__ */
|
|
3036
|
+
items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx64(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
|
|
3037
|
+
/* @__PURE__ */ jsx64(
|
|
2850
3038
|
NavigationOption,
|
|
2851
3039
|
{
|
|
2852
|
-
media: /* @__PURE__ */
|
|
3040
|
+
media: /* @__PURE__ */ jsx64(Plus, {}),
|
|
2853
3041
|
title: addItemTitle || formatMessage(repeatable_messages_default.addItemTitle),
|
|
2854
3042
|
showMediaAtAllSizes: true,
|
|
2855
3043
|
onClick: () => onAddItem()
|
|
2856
3044
|
}
|
|
2857
3045
|
),
|
|
2858
|
-
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */
|
|
3046
|
+
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx64(InlineAlert3, { type: "negative", children: validationState.message })
|
|
2859
3047
|
]
|
|
2860
3048
|
}
|
|
2861
3049
|
),
|
|
2862
|
-
/* @__PURE__ */
|
|
3050
|
+
/* @__PURE__ */ jsx64(
|
|
2863
3051
|
Modal4,
|
|
2864
3052
|
{
|
|
2865
3053
|
open: openModalType !== null,
|
|
2866
3054
|
title: (openModalType === "add" ? addItemTitle : editItemTitle) || formatMessage(repeatable_messages_default.addItemTitle),
|
|
2867
|
-
body: /* @__PURE__ */
|
|
2868
|
-
/* @__PURE__ */
|
|
2869
|
-
/* @__PURE__ */
|
|
2870
|
-
/* @__PURE__ */
|
|
2871
|
-
/* @__PURE__ */
|
|
2872
|
-
|
|
3055
|
+
body: /* @__PURE__ */ jsxs16(Fragment7, { children: [
|
|
3056
|
+
/* @__PURE__ */ jsx64("div", { className: "m-b-2", children: editableItem }),
|
|
3057
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3058
|
+
/* @__PURE__ */ jsx64(Button7, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
|
|
3059
|
+
/* @__PURE__ */ jsx64(
|
|
3060
|
+
Button7,
|
|
2873
3061
|
{
|
|
2874
3062
|
v2: true,
|
|
2875
3063
|
priority: "secondary",
|
|
@@ -2890,10 +3078,10 @@ function ItemSummaryOption({
|
|
|
2890
3078
|
item,
|
|
2891
3079
|
onClick
|
|
2892
3080
|
}) {
|
|
2893
|
-
return /* @__PURE__ */
|
|
3081
|
+
return /* @__PURE__ */ jsx64(
|
|
2894
3082
|
NavigationOption,
|
|
2895
3083
|
{
|
|
2896
|
-
media: /* @__PURE__ */
|
|
3084
|
+
media: /* @__PURE__ */ jsx64(OptionMedia, { media: item.media, preferAvatar: false }),
|
|
2897
3085
|
title: item.title,
|
|
2898
3086
|
content: item.description,
|
|
2899
3087
|
showMediaAtAllSizes: true,
|
|
@@ -2906,14 +3094,14 @@ var RepeatableRenderer_default = RepeatableRenderer;
|
|
|
2906
3094
|
|
|
2907
3095
|
// ../renderers/src/ReviewLegacyRenderer.tsx
|
|
2908
3096
|
import { DefinitionList } from "@transferwise/components";
|
|
2909
|
-
import { Fragment as
|
|
3097
|
+
import { Fragment as Fragment8, jsx as jsx65, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2910
3098
|
var ReviewRenderer = {
|
|
2911
3099
|
canRenderType: "review",
|
|
2912
3100
|
render: ({ callToAction, control, fields, margin, title, trackEvent }) => {
|
|
2913
3101
|
const orientation = mapControlToDefinitionListLayout(control);
|
|
2914
|
-
return /* @__PURE__ */
|
|
2915
|
-
/* @__PURE__ */
|
|
2916
|
-
/* @__PURE__ */
|
|
3102
|
+
return /* @__PURE__ */ jsxs17("div", { className: getMargin(margin), children: [
|
|
3103
|
+
/* @__PURE__ */ jsx65(Header, { title, callToAction }),
|
|
3104
|
+
/* @__PURE__ */ jsx65("div", { className: margin, children: /* @__PURE__ */ jsx65(
|
|
2917
3105
|
DefinitionList,
|
|
2918
3106
|
{
|
|
2919
3107
|
layout: orientation,
|
|
@@ -2951,20 +3139,20 @@ var mapControlToDefinitionListLayout = (control) => {
|
|
|
2951
3139
|
};
|
|
2952
3140
|
var getFieldLabel = (label, help, onClick) => {
|
|
2953
3141
|
if (help) {
|
|
2954
|
-
return /* @__PURE__ */
|
|
3142
|
+
return /* @__PURE__ */ jsxs17(Fragment8, { children: [
|
|
2955
3143
|
label,
|
|
2956
3144
|
" ",
|
|
2957
|
-
/* @__PURE__ */
|
|
3145
|
+
/* @__PURE__ */ jsx65(Help_default, { help, onClick })
|
|
2958
3146
|
] });
|
|
2959
3147
|
}
|
|
2960
3148
|
return label;
|
|
2961
3149
|
};
|
|
2962
3150
|
|
|
2963
3151
|
// ../renderers/src/ReviewRenderer.tsx
|
|
2964
|
-
import { ListItem as
|
|
3152
|
+
import { ListItem as ListItem10, Markdown as Markdown4, Popover } from "@transferwise/components";
|
|
2965
3153
|
import { QuestionMarkCircle } from "@transferwise/icons";
|
|
2966
|
-
import { useIntl as
|
|
2967
|
-
import { jsx as
|
|
3154
|
+
import { useIntl as useIntl11 } from "react-intl";
|
|
3155
|
+
import { jsx as jsx66, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2968
3156
|
var IGNORED_CONTROLS = [
|
|
2969
3157
|
"horizontal",
|
|
2970
3158
|
"horizontal-end-aligned",
|
|
@@ -2974,7 +3162,7 @@ var IGNORED_CONTROLS = [
|
|
|
2974
3162
|
var ReviewRenderer2 = {
|
|
2975
3163
|
canRenderType: "review",
|
|
2976
3164
|
canRender: ({ control }) => control ? !IGNORED_CONTROLS.includes(control) : true,
|
|
2977
|
-
render: (props) => /* @__PURE__ */
|
|
3165
|
+
render: (props) => /* @__PURE__ */ jsx66(Review, __spreadValues({}, props))
|
|
2978
3166
|
};
|
|
2979
3167
|
var Review = ({
|
|
2980
3168
|
callToAction,
|
|
@@ -2985,9 +3173,9 @@ var Review = ({
|
|
|
2985
3173
|
title,
|
|
2986
3174
|
trackEvent
|
|
2987
3175
|
}) => {
|
|
2988
|
-
const intl =
|
|
2989
|
-
return /* @__PURE__ */
|
|
2990
|
-
/* @__PURE__ */
|
|
3176
|
+
const intl = useIntl11();
|
|
3177
|
+
return /* @__PURE__ */ jsxs18("div", { className: getMargin(margin), children: [
|
|
3178
|
+
/* @__PURE__ */ jsx66(Header, { title, callToAction }),
|
|
2991
3179
|
fields.map((field) => {
|
|
2992
3180
|
var _a, _b, _c;
|
|
2993
3181
|
const {
|
|
@@ -3005,8 +3193,8 @@ var Review = ({
|
|
|
3005
3193
|
ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
|
|
3006
3194
|
fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
|
|
3007
3195
|
};
|
|
3008
|
-
return /* @__PURE__ */
|
|
3009
|
-
|
|
3196
|
+
return /* @__PURE__ */ jsx66(
|
|
3197
|
+
ListItem10,
|
|
3010
3198
|
{
|
|
3011
3199
|
title: value,
|
|
3012
3200
|
subtitle: label,
|
|
@@ -3026,18 +3214,18 @@ var Review = ({
|
|
|
3026
3214
|
] });
|
|
3027
3215
|
};
|
|
3028
3216
|
var getHelpControl = (help, ariaLabel, onClick) => {
|
|
3029
|
-
return /* @__PURE__ */
|
|
3217
|
+
return /* @__PURE__ */ jsx66(Popover, { content: /* @__PURE__ */ jsx66(Markdown4, { config: { link: { target: "_blank" } }, children: help }), children: /* @__PURE__ */ jsx66(ListItem10.IconButton, { partiallyInteractive: true, "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx66(QuestionMarkCircle, {}) }) });
|
|
3030
3218
|
};
|
|
3031
3219
|
var ReviewRenderer_default = ReviewRenderer2;
|
|
3032
3220
|
|
|
3033
3221
|
// ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
|
|
3034
|
-
import { Input as
|
|
3035
|
-
import { useState as
|
|
3036
|
-
import { useIntl as
|
|
3222
|
+
import { Input as Input5, InputGroup as InputGroup4, List, ListItem as ListItem11, Markdown as Markdown5 } from "@transferwise/components";
|
|
3223
|
+
import { useState as useState11 } from "react";
|
|
3224
|
+
import { useIntl as useIntl13 } from "react-intl";
|
|
3037
3225
|
|
|
3038
3226
|
// ../renderers/src/messages/search.messages.ts
|
|
3039
|
-
import { defineMessages as
|
|
3040
|
-
var search_messages_default =
|
|
3227
|
+
import { defineMessages as defineMessages10 } from "react-intl";
|
|
3228
|
+
var search_messages_default = defineMessages10({
|
|
3041
3229
|
loading: {
|
|
3042
3230
|
id: "df.wise.SearchLayout.loading",
|
|
3043
3231
|
defaultMessage: "Loading...",
|
|
@@ -3046,11 +3234,11 @@ var search_messages_default = defineMessages9({
|
|
|
3046
3234
|
});
|
|
3047
3235
|
|
|
3048
3236
|
// ../renderers/src/SearchRenderer/ErrorResult.tsx
|
|
3049
|
-
import { useIntl as
|
|
3237
|
+
import { useIntl as useIntl12 } from "react-intl";
|
|
3050
3238
|
|
|
3051
3239
|
// ../renderers/src/messages/generic-error.messages.ts
|
|
3052
|
-
import { defineMessages as
|
|
3053
|
-
var generic_error_messages_default =
|
|
3240
|
+
import { defineMessages as defineMessages11 } from "react-intl";
|
|
3241
|
+
var generic_error_messages_default = defineMessages11({
|
|
3054
3242
|
genericErrorRetryHint: {
|
|
3055
3243
|
id: "df.wise.PersistAsyncSchema.genericError",
|
|
3056
3244
|
defaultMessage: "Something went wrong, please try again.",
|
|
@@ -3070,19 +3258,19 @@ var generic_error_messages_default = defineMessages10({
|
|
|
3070
3258
|
|
|
3071
3259
|
// ../renderers/src/SearchRenderer/ErrorResult.tsx
|
|
3072
3260
|
import { Link } from "@transferwise/components";
|
|
3073
|
-
import { jsx as
|
|
3261
|
+
import { jsx as jsx67, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3074
3262
|
function ErrorResult({ state }) {
|
|
3075
|
-
const intl =
|
|
3076
|
-
return /* @__PURE__ */
|
|
3263
|
+
const intl = useIntl12();
|
|
3264
|
+
return /* @__PURE__ */ jsxs19("p", { className: "m-t-2", children: [
|
|
3077
3265
|
intl.formatMessage(generic_error_messages_default.genericError),
|
|
3078
3266
|
"\xA0",
|
|
3079
|
-
/* @__PURE__ */
|
|
3267
|
+
/* @__PURE__ */ jsx67(Link, { onClick: () => state.onRetry(), children: intl.formatMessage(generic_error_messages_default.retry) })
|
|
3080
3268
|
] });
|
|
3081
3269
|
}
|
|
3082
3270
|
|
|
3083
3271
|
// ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
|
|
3084
|
-
import { Search } from "@transferwise/icons";
|
|
3085
|
-
import { Fragment as
|
|
3272
|
+
import { Search as Search2 } from "@transferwise/icons";
|
|
3273
|
+
import { Fragment as Fragment9, jsx as jsx68, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3086
3274
|
function BlockSearchRendererComponent({
|
|
3087
3275
|
id,
|
|
3088
3276
|
hint,
|
|
@@ -3094,11 +3282,11 @@ function BlockSearchRendererComponent({
|
|
|
3094
3282
|
trackEvent,
|
|
3095
3283
|
onChange
|
|
3096
3284
|
}) {
|
|
3097
|
-
const [hasSearched, setHasSearched] =
|
|
3098
|
-
const { formatMessage } =
|
|
3099
|
-
return /* @__PURE__ */
|
|
3100
|
-
/* @__PURE__ */
|
|
3101
|
-
|
|
3285
|
+
const [hasSearched, setHasSearched] = useState11(false);
|
|
3286
|
+
const { formatMessage } = useIntl13();
|
|
3287
|
+
return /* @__PURE__ */ jsxs20("div", { className: getMargin(margin), children: [
|
|
3288
|
+
/* @__PURE__ */ jsx68(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx68(InputGroup4, { addonStart: { content: /* @__PURE__ */ jsx68(Search2, { size: 24 }) }, children: /* @__PURE__ */ jsx68(
|
|
3289
|
+
Input5,
|
|
3102
3290
|
{
|
|
3103
3291
|
id,
|
|
3104
3292
|
name: id,
|
|
@@ -3114,7 +3302,7 @@ function BlockSearchRendererComponent({
|
|
|
3114
3302
|
}
|
|
3115
3303
|
}
|
|
3116
3304
|
) }) }),
|
|
3117
|
-
isLoading ? /* @__PURE__ */
|
|
3305
|
+
isLoading ? /* @__PURE__ */ jsx68("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx68(SearchResultContent, { state, trackEvent })
|
|
3118
3306
|
] });
|
|
3119
3307
|
}
|
|
3120
3308
|
function SearchResultContent({
|
|
@@ -3123,39 +3311,39 @@ function SearchResultContent({
|
|
|
3123
3311
|
}) {
|
|
3124
3312
|
switch (state.type) {
|
|
3125
3313
|
case "error":
|
|
3126
|
-
return /* @__PURE__ */
|
|
3314
|
+
return /* @__PURE__ */ jsx68(ErrorResult, { state });
|
|
3127
3315
|
case "results":
|
|
3128
|
-
return /* @__PURE__ */
|
|
3316
|
+
return /* @__PURE__ */ jsx68(SearchResults, { state, trackEvent });
|
|
3129
3317
|
case "layout":
|
|
3130
|
-
return /* @__PURE__ */
|
|
3318
|
+
return /* @__PURE__ */ jsxs20(Fragment9, { children: [
|
|
3131
3319
|
" ",
|
|
3132
3320
|
state.layout,
|
|
3133
3321
|
" "
|
|
3134
3322
|
] });
|
|
3135
3323
|
case "noResults":
|
|
3136
|
-
return /* @__PURE__ */
|
|
3324
|
+
return /* @__PURE__ */ jsx68(EmptySearchResult, { state });
|
|
3137
3325
|
case "pending":
|
|
3138
3326
|
default:
|
|
3139
3327
|
return null;
|
|
3140
3328
|
}
|
|
3141
3329
|
}
|
|
3142
3330
|
function EmptySearchResult({ state }) {
|
|
3143
|
-
return /* @__PURE__ */
|
|
3331
|
+
return /* @__PURE__ */ jsx68(Markdown5, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
|
|
3144
3332
|
}
|
|
3145
3333
|
function SearchResults({
|
|
3146
3334
|
state,
|
|
3147
3335
|
trackEvent
|
|
3148
3336
|
}) {
|
|
3149
|
-
return /* @__PURE__ */
|
|
3337
|
+
return /* @__PURE__ */ jsx68(List, { children: state.results.map((result) => {
|
|
3150
3338
|
const { media } = result;
|
|
3151
|
-
return /* @__PURE__ */
|
|
3152
|
-
|
|
3339
|
+
return /* @__PURE__ */ jsx68(
|
|
3340
|
+
ListItem11,
|
|
3153
3341
|
{
|
|
3154
3342
|
title: result.title,
|
|
3155
3343
|
subtitle: result.description,
|
|
3156
|
-
media: media ? /* @__PURE__ */
|
|
3157
|
-
control: /* @__PURE__ */
|
|
3158
|
-
|
|
3344
|
+
media: media ? /* @__PURE__ */ jsx68(OptionMedia, { media, preferAvatar: false }) : void 0,
|
|
3345
|
+
control: /* @__PURE__ */ jsx68(
|
|
3346
|
+
ListItem11.Navigation,
|
|
3159
3347
|
{
|
|
3160
3348
|
onClick: () => {
|
|
3161
3349
|
trackEvent("Search Result Selected", __spreadValues({
|
|
@@ -3174,10 +3362,10 @@ var BlockSearchRendererComponent_default = BlockSearchRendererComponent;
|
|
|
3174
3362
|
|
|
3175
3363
|
// ../renderers/src/SearchRenderer/InlineSearchRendererComponent.tsx
|
|
3176
3364
|
import { Markdown as Markdown6, Typeahead } from "@transferwise/components";
|
|
3177
|
-
import { Search as
|
|
3178
|
-
import { useState as
|
|
3179
|
-
import { useIntl as
|
|
3180
|
-
import { jsx as
|
|
3365
|
+
import { Search as Search3 } from "@transferwise/icons";
|
|
3366
|
+
import { useState as useState12 } from "react";
|
|
3367
|
+
import { useIntl as useIntl14 } from "react-intl";
|
|
3368
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
3181
3369
|
function InlineSearchRenderer({
|
|
3182
3370
|
id,
|
|
3183
3371
|
hint,
|
|
@@ -3188,9 +3376,9 @@ function InlineSearchRenderer({
|
|
|
3188
3376
|
title,
|
|
3189
3377
|
trackEvent
|
|
3190
3378
|
}) {
|
|
3191
|
-
const [hasSearched, setHasSearched] =
|
|
3192
|
-
const intl =
|
|
3193
|
-
return /* @__PURE__ */
|
|
3379
|
+
const [hasSearched, setHasSearched] = useState12(false);
|
|
3380
|
+
const intl = useIntl14();
|
|
3381
|
+
return /* @__PURE__ */ jsx69("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx69(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx69(
|
|
3194
3382
|
Typeahead,
|
|
3195
3383
|
{
|
|
3196
3384
|
id: "typeahead-input-id",
|
|
@@ -3199,10 +3387,10 @@ function InlineSearchRenderer({
|
|
|
3199
3387
|
size: "md",
|
|
3200
3388
|
placeholder: hint,
|
|
3201
3389
|
maxHeight: 100,
|
|
3202
|
-
footer: /* @__PURE__ */
|
|
3390
|
+
footer: /* @__PURE__ */ jsx69(TypeaheadFooter, { state, isLoading }),
|
|
3203
3391
|
multiple: false,
|
|
3204
3392
|
clearable: false,
|
|
3205
|
-
addon: /* @__PURE__ */
|
|
3393
|
+
addon: /* @__PURE__ */ jsx69(Search3, { size: 24 }),
|
|
3206
3394
|
options: state.type === "results" ? state.results.map(mapResultToTypeaheadOption) : [],
|
|
3207
3395
|
minQueryLength: 1,
|
|
3208
3396
|
onChange: (values) => {
|
|
@@ -3237,28 +3425,28 @@ function mapResultToTypeaheadOption(result) {
|
|
|
3237
3425
|
};
|
|
3238
3426
|
}
|
|
3239
3427
|
function TypeaheadFooter({ state, isLoading }) {
|
|
3240
|
-
const { formatMessage } =
|
|
3428
|
+
const { formatMessage } = useIntl14();
|
|
3241
3429
|
if (state.type === "layout") {
|
|
3242
|
-
return /* @__PURE__ */
|
|
3430
|
+
return /* @__PURE__ */ jsx69("div", { className: "m-x-1 m-y-1", children: state.layout });
|
|
3243
3431
|
}
|
|
3244
3432
|
if (state.type === "noResults") {
|
|
3245
|
-
return /* @__PURE__ */
|
|
3433
|
+
return /* @__PURE__ */ jsx69(Markdown6, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
|
|
3246
3434
|
}
|
|
3247
3435
|
if (state.type === "error") {
|
|
3248
|
-
return /* @__PURE__ */
|
|
3436
|
+
return /* @__PURE__ */ jsx69("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx69(ErrorResult, { state }) });
|
|
3249
3437
|
}
|
|
3250
3438
|
if (state.type === "pending" || isLoading) {
|
|
3251
|
-
return /* @__PURE__ */
|
|
3439
|
+
return /* @__PURE__ */ jsx69("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
|
|
3252
3440
|
}
|
|
3253
3441
|
return null;
|
|
3254
3442
|
}
|
|
3255
3443
|
var InlineSearchRendererComponent_default = InlineSearchRenderer;
|
|
3256
3444
|
|
|
3257
3445
|
// ../renderers/src/SearchRenderer/SearchRenderer.tsx
|
|
3258
|
-
import { jsx as
|
|
3446
|
+
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
3259
3447
|
var SearchRenderer = {
|
|
3260
3448
|
canRenderType: "search",
|
|
3261
|
-
render: (props) => props.control === "inline" ? /* @__PURE__ */
|
|
3449
|
+
render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx70(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx70(BlockSearchRendererComponent_default, __spreadValues({}, props))
|
|
3262
3450
|
};
|
|
3263
3451
|
var SearchRenderer_default = SearchRenderer;
|
|
3264
3452
|
|
|
@@ -3287,12 +3475,12 @@ var getHeaderAction2 = (callToAction) => {
|
|
|
3287
3475
|
};
|
|
3288
3476
|
|
|
3289
3477
|
// ../renderers/src/SectionRenderer.tsx
|
|
3290
|
-
import { jsx as
|
|
3478
|
+
import { jsx as jsx71, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3291
3479
|
var SectionRenderer = {
|
|
3292
3480
|
canRenderType: "section",
|
|
3293
3481
|
render: ({ children, callToAction, margin, title }) => {
|
|
3294
|
-
return /* @__PURE__ */
|
|
3295
|
-
(title || callToAction) && /* @__PURE__ */
|
|
3482
|
+
return /* @__PURE__ */ jsxs21("section", { className: getMargin(margin), children: [
|
|
3483
|
+
(title || callToAction) && /* @__PURE__ */ jsx71(Header7, { title: title != null ? title : "", action: getHeaderAction2(callToAction) }),
|
|
3296
3484
|
children
|
|
3297
3485
|
] });
|
|
3298
3486
|
}
|
|
@@ -3301,7 +3489,7 @@ var SectionRenderer_default = SectionRenderer;
|
|
|
3301
3489
|
|
|
3302
3490
|
// ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
|
|
3303
3491
|
import { RadioGroup } from "@transferwise/components";
|
|
3304
|
-
import { Fragment as
|
|
3492
|
+
import { Fragment as Fragment10, jsx as jsx72, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3305
3493
|
function RadioInputRendererComponent(props) {
|
|
3306
3494
|
const {
|
|
3307
3495
|
id,
|
|
@@ -3315,8 +3503,8 @@ function RadioInputRendererComponent(props) {
|
|
|
3315
3503
|
validationState,
|
|
3316
3504
|
onSelect
|
|
3317
3505
|
} = props;
|
|
3318
|
-
return /* @__PURE__ */
|
|
3319
|
-
/* @__PURE__ */
|
|
3506
|
+
return /* @__PURE__ */ jsxs22(Fragment10, { children: [
|
|
3507
|
+
/* @__PURE__ */ jsx72(
|
|
3320
3508
|
FieldInput_default,
|
|
3321
3509
|
{
|
|
3322
3510
|
id,
|
|
@@ -3324,7 +3512,7 @@ function RadioInputRendererComponent(props) {
|
|
|
3324
3512
|
help,
|
|
3325
3513
|
description,
|
|
3326
3514
|
validation: validationState,
|
|
3327
|
-
children: /* @__PURE__ */
|
|
3515
|
+
children: /* @__PURE__ */ jsx72("span", { children: /* @__PURE__ */ jsx72(
|
|
3328
3516
|
RadioGroup,
|
|
3329
3517
|
{
|
|
3330
3518
|
name: id,
|
|
@@ -3333,7 +3521,7 @@ function RadioInputRendererComponent(props) {
|
|
|
3333
3521
|
value: index,
|
|
3334
3522
|
secondary: option.description,
|
|
3335
3523
|
disabled: option.disabled || disabled,
|
|
3336
|
-
avatar: /* @__PURE__ */
|
|
3524
|
+
avatar: /* @__PURE__ */ jsx72(OptionMedia, { media: option.media, preferAvatar: false })
|
|
3337
3525
|
})),
|
|
3338
3526
|
selectedValue: selectedIndex != null ? selectedIndex : void 0,
|
|
3339
3527
|
onChange: onSelect
|
|
@@ -3348,8 +3536,8 @@ function RadioInputRendererComponent(props) {
|
|
|
3348
3536
|
|
|
3349
3537
|
// ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
|
|
3350
3538
|
import { Tabs } from "@transferwise/components";
|
|
3351
|
-
import { useEffect as
|
|
3352
|
-
import { Fragment as
|
|
3539
|
+
import { useEffect as useEffect9 } from "react";
|
|
3540
|
+
import { Fragment as Fragment11, jsx as jsx73, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3353
3541
|
function TabInputRendererComponent(props) {
|
|
3354
3542
|
const {
|
|
3355
3543
|
id,
|
|
@@ -3363,13 +3551,13 @@ function TabInputRendererComponent(props) {
|
|
|
3363
3551
|
validationState,
|
|
3364
3552
|
onSelect
|
|
3365
3553
|
} = props;
|
|
3366
|
-
|
|
3554
|
+
useEffect9(() => {
|
|
3367
3555
|
if (!isValidIndex2(selectedIndex, options.length)) {
|
|
3368
3556
|
onSelect(0);
|
|
3369
3557
|
}
|
|
3370
3558
|
}, [selectedIndex, onSelect, options.length]);
|
|
3371
|
-
return /* @__PURE__ */
|
|
3372
|
-
/* @__PURE__ */
|
|
3559
|
+
return /* @__PURE__ */ jsxs23(Fragment11, { children: [
|
|
3560
|
+
/* @__PURE__ */ jsx73(
|
|
3373
3561
|
FieldInput_default,
|
|
3374
3562
|
{
|
|
3375
3563
|
id,
|
|
@@ -3377,7 +3565,7 @@ function TabInputRendererComponent(props) {
|
|
|
3377
3565
|
help,
|
|
3378
3566
|
description,
|
|
3379
3567
|
validation: validationState,
|
|
3380
|
-
children: /* @__PURE__ */
|
|
3568
|
+
children: /* @__PURE__ */ jsx73(
|
|
3381
3569
|
Tabs,
|
|
3382
3570
|
{
|
|
3383
3571
|
name: id,
|
|
@@ -3386,7 +3574,7 @@ function TabInputRendererComponent(props) {
|
|
|
3386
3574
|
title: option.title,
|
|
3387
3575
|
// if we pass null, we get some props-types console errors
|
|
3388
3576
|
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
3389
|
-
content: /* @__PURE__ */
|
|
3577
|
+
content: /* @__PURE__ */ jsx73(Fragment11, {}),
|
|
3390
3578
|
disabled: option.disabled || disabled
|
|
3391
3579
|
})),
|
|
3392
3580
|
onTabSelect: onSelect
|
|
@@ -3401,7 +3589,7 @@ var isValidIndex2 = (index, options) => index !== null && index >= 0 && index <
|
|
|
3401
3589
|
|
|
3402
3590
|
// ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
|
|
3403
3591
|
import { SelectInput as SelectInput2, SelectInputOptionContent as SelectInputOptionContent2 } from "@transferwise/components";
|
|
3404
|
-
import { Fragment as
|
|
3592
|
+
import { Fragment as Fragment12, jsx as jsx74, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3405
3593
|
function SelectInputRendererComponent(props) {
|
|
3406
3594
|
const {
|
|
3407
3595
|
id,
|
|
@@ -3441,13 +3629,13 @@ function SelectInputRendererComponent(props) {
|
|
|
3441
3629
|
} : {
|
|
3442
3630
|
title: option.title,
|
|
3443
3631
|
description: option.description,
|
|
3444
|
-
icon: /* @__PURE__ */
|
|
3632
|
+
icon: /* @__PURE__ */ jsx74(OptionMedia, { media: option.media, preferAvatar: false })
|
|
3445
3633
|
};
|
|
3446
|
-
return /* @__PURE__ */
|
|
3634
|
+
return /* @__PURE__ */ jsx74(SelectInputOptionContent2, __spreadValues({}, contentProps));
|
|
3447
3635
|
};
|
|
3448
3636
|
const extraProps = { autoComplete };
|
|
3449
|
-
return /* @__PURE__ */
|
|
3450
|
-
/* @__PURE__ */
|
|
3637
|
+
return /* @__PURE__ */ jsxs24(Fragment12, { children: [
|
|
3638
|
+
/* @__PURE__ */ jsx74(
|
|
3451
3639
|
FieldInput_default,
|
|
3452
3640
|
{
|
|
3453
3641
|
id,
|
|
@@ -3455,7 +3643,7 @@ function SelectInputRendererComponent(props) {
|
|
|
3455
3643
|
help,
|
|
3456
3644
|
description,
|
|
3457
3645
|
validation: validationState,
|
|
3458
|
-
children: /* @__PURE__ */
|
|
3646
|
+
children: /* @__PURE__ */ jsx74(
|
|
3459
3647
|
SelectInput2,
|
|
3460
3648
|
__spreadValues({
|
|
3461
3649
|
name: id,
|
|
@@ -3476,9 +3664,9 @@ function SelectInputRendererComponent(props) {
|
|
|
3476
3664
|
}
|
|
3477
3665
|
|
|
3478
3666
|
// ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
|
|
3479
|
-
import { useEffect as
|
|
3667
|
+
import { useEffect as useEffect10 } from "react";
|
|
3480
3668
|
import { SegmentedControl } from "@transferwise/components";
|
|
3481
|
-
import { Fragment as
|
|
3669
|
+
import { Fragment as Fragment13, jsx as jsx75, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3482
3670
|
function SegmentedInputRendererComponent(props) {
|
|
3483
3671
|
const {
|
|
3484
3672
|
id,
|
|
@@ -3491,13 +3679,13 @@ function SegmentedInputRendererComponent(props) {
|
|
|
3491
3679
|
validationState,
|
|
3492
3680
|
onSelect
|
|
3493
3681
|
} = props;
|
|
3494
|
-
|
|
3682
|
+
useEffect10(() => {
|
|
3495
3683
|
if (!isValidIndex3(selectedIndex, options.length)) {
|
|
3496
3684
|
onSelect(0);
|
|
3497
3685
|
}
|
|
3498
3686
|
}, [selectedIndex, onSelect, options.length]);
|
|
3499
|
-
return /* @__PURE__ */
|
|
3500
|
-
/* @__PURE__ */
|
|
3687
|
+
return /* @__PURE__ */ jsxs25(Fragment13, { children: [
|
|
3688
|
+
/* @__PURE__ */ jsx75(
|
|
3501
3689
|
FieldInput_default,
|
|
3502
3690
|
{
|
|
3503
3691
|
id,
|
|
@@ -3505,7 +3693,7 @@ function SegmentedInputRendererComponent(props) {
|
|
|
3505
3693
|
help,
|
|
3506
3694
|
description,
|
|
3507
3695
|
validation: validationState,
|
|
3508
|
-
children: /* @__PURE__ */
|
|
3696
|
+
children: /* @__PURE__ */ jsx75(
|
|
3509
3697
|
SegmentedControl,
|
|
3510
3698
|
{
|
|
3511
3699
|
name: `${id}-segmented-control`,
|
|
@@ -3522,14 +3710,14 @@ function SegmentedInputRendererComponent(props) {
|
|
|
3522
3710
|
)
|
|
3523
3711
|
}
|
|
3524
3712
|
),
|
|
3525
|
-
/* @__PURE__ */
|
|
3713
|
+
/* @__PURE__ */ jsx75("div", { id: `${id}-children`, children })
|
|
3526
3714
|
] });
|
|
3527
3715
|
}
|
|
3528
3716
|
var isValidIndex3 = (index, options) => index !== null && index >= 0 && index < options;
|
|
3529
3717
|
|
|
3530
3718
|
// ../renderers/src/SelectInputRenderer/RadioItemRendererComponent.tsx
|
|
3531
|
-
import { Header as Header8, InlineAlert as InlineAlert4, List as List2, ListItem as
|
|
3532
|
-
import { Fragment as
|
|
3719
|
+
import { Header as Header8, InlineAlert as InlineAlert4, List as List2, ListItem as ListItem12 } from "@transferwise/components";
|
|
3720
|
+
import { Fragment as Fragment14, jsx as jsx76, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3533
3721
|
function RadioItemRendererComponent(props) {
|
|
3534
3722
|
const {
|
|
3535
3723
|
id,
|
|
@@ -3543,23 +3731,23 @@ function RadioItemRendererComponent(props) {
|
|
|
3543
3731
|
validationState,
|
|
3544
3732
|
onSelect
|
|
3545
3733
|
} = props;
|
|
3546
|
-
return /* @__PURE__ */
|
|
3547
|
-
rootTitle && /* @__PURE__ */
|
|
3734
|
+
return /* @__PURE__ */ jsxs26(Fragment14, { children: [
|
|
3735
|
+
rootTitle && /* @__PURE__ */ jsx76(
|
|
3548
3736
|
Header8,
|
|
3549
3737
|
{
|
|
3550
3738
|
as: "h2",
|
|
3551
|
-
title: help ? /* @__PURE__ */
|
|
3739
|
+
title: help ? /* @__PURE__ */ jsx76(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
|
|
3552
3740
|
}
|
|
3553
3741
|
),
|
|
3554
|
-
rootDescription && /* @__PURE__ */
|
|
3555
|
-
/* @__PURE__ */
|
|
3556
|
-
({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */
|
|
3557
|
-
|
|
3742
|
+
rootDescription && /* @__PURE__ */ jsx76("p", { children: rootDescription }),
|
|
3743
|
+
/* @__PURE__ */ jsx76(List2, { children: options.map(
|
|
3744
|
+
({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */ jsx76(
|
|
3745
|
+
ListItem12,
|
|
3558
3746
|
__spreadValues({
|
|
3559
3747
|
title,
|
|
3560
3748
|
subtitle: description,
|
|
3561
|
-
control: /* @__PURE__ */
|
|
3562
|
-
|
|
3749
|
+
control: /* @__PURE__ */ jsx76(
|
|
3750
|
+
ListItem12.Radio,
|
|
3563
3751
|
{
|
|
3564
3752
|
name: title,
|
|
3565
3753
|
checked: selectedIndex === index,
|
|
@@ -3574,50 +3762,50 @@ function RadioItemRendererComponent(props) {
|
|
|
3574
3762
|
title
|
|
3575
3763
|
)
|
|
3576
3764
|
) }, `${id}-${selectedIndex}`),
|
|
3577
|
-
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */
|
|
3765
|
+
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx76(InlineAlert4, { type: "negative", children: validationState.message }),
|
|
3578
3766
|
children
|
|
3579
3767
|
] });
|
|
3580
3768
|
}
|
|
3581
3769
|
|
|
3582
3770
|
// ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
|
|
3583
|
-
import { jsx as
|
|
3771
|
+
import { jsx as jsx77 } from "react/jsx-runtime";
|
|
3584
3772
|
var SelectInputRenderer = {
|
|
3585
3773
|
canRenderType: "input-select",
|
|
3586
3774
|
render: (props) => {
|
|
3587
3775
|
switch (props.control) {
|
|
3588
3776
|
case "radio":
|
|
3589
|
-
return /* @__PURE__ */
|
|
3777
|
+
return /* @__PURE__ */ jsx77(RadioInputRendererComponent, __spreadValues({}, props));
|
|
3590
3778
|
case "radio-item":
|
|
3591
|
-
return /* @__PURE__ */
|
|
3779
|
+
return /* @__PURE__ */ jsx77(RadioItemRendererComponent, __spreadValues({}, props));
|
|
3592
3780
|
case "tab":
|
|
3593
|
-
return props.options.length > 3 ? /* @__PURE__ */
|
|
3781
|
+
return props.options.length > 3 ? /* @__PURE__ */ jsx77(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx77(TabInputRendererComponent, __spreadValues({}, props));
|
|
3594
3782
|
case "segmented":
|
|
3595
|
-
return props.options.length > 3 ? /* @__PURE__ */
|
|
3783
|
+
return props.options.length > 3 ? /* @__PURE__ */ jsx77(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx77(SegmentedInputRendererComponent, __spreadValues({}, props));
|
|
3596
3784
|
case "select":
|
|
3597
3785
|
default:
|
|
3598
|
-
return /* @__PURE__ */
|
|
3786
|
+
return /* @__PURE__ */ jsx77(SelectInputRendererComponent, __spreadValues({}, props));
|
|
3599
3787
|
}
|
|
3600
3788
|
}
|
|
3601
3789
|
};
|
|
3602
3790
|
var SelectInputRenderer_default = SelectInputRenderer;
|
|
3603
3791
|
|
|
3604
3792
|
// ../renderers/src/StatusListRenderer.tsx
|
|
3605
|
-
import { AvatarView as AvatarView4, Header as Header9, ListItem as
|
|
3606
|
-
import { jsx as
|
|
3793
|
+
import { AvatarView as AvatarView4, Header as Header9, ListItem as ListItem13 } from "@transferwise/components";
|
|
3794
|
+
import { jsx as jsx78, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3607
3795
|
var StatusListRenderer = {
|
|
3608
3796
|
canRenderType: "status-list",
|
|
3609
|
-
render: ({ margin, items, title }) => /* @__PURE__ */
|
|
3610
|
-
title ? /* @__PURE__ */
|
|
3797
|
+
render: ({ margin, items, title }) => /* @__PURE__ */ jsxs27("div", { className: getMargin(margin), children: [
|
|
3798
|
+
title ? /* @__PURE__ */ jsx78(Header9, { title }) : null,
|
|
3611
3799
|
items.map((item) => {
|
|
3612
3800
|
const { callToAction, description, icon, status, title: itemTitle } = item;
|
|
3613
|
-
return /* @__PURE__ */
|
|
3614
|
-
|
|
3801
|
+
return /* @__PURE__ */ jsx78(
|
|
3802
|
+
ListItem13,
|
|
3615
3803
|
{
|
|
3616
3804
|
title: itemTitle,
|
|
3617
3805
|
subtitle: description,
|
|
3618
|
-
media: icon && "name" in icon ? /* @__PURE__ */
|
|
3619
|
-
additionalInfo: callToAction ? /* @__PURE__ */
|
|
3620
|
-
|
|
3806
|
+
media: icon && "name" in icon ? /* @__PURE__ */ jsx78(AvatarView4, { badge: { status: mapStatus(status) }, children: /* @__PURE__ */ jsx78(DynamicIcon_default, { name: icon.name }) }) : void 0,
|
|
3807
|
+
additionalInfo: callToAction ? /* @__PURE__ */ jsx78(
|
|
3808
|
+
ListItem13.AdditionalInfo,
|
|
3621
3809
|
{
|
|
3622
3810
|
action: {
|
|
3623
3811
|
href: callToAction.href,
|
|
@@ -3647,12 +3835,12 @@ var StatusListRenderer_default = StatusListRenderer;
|
|
|
3647
3835
|
|
|
3648
3836
|
// ../renderers/src/utils/useCustomTheme.ts
|
|
3649
3837
|
import { useTheme } from "@wise/components-theming";
|
|
3650
|
-
import { useEffect as
|
|
3838
|
+
import { useEffect as useEffect11, useMemo } from "react";
|
|
3651
3839
|
var ThemeRequiredEventName = "Theme Required";
|
|
3652
3840
|
var useCustomTheme = (theme, trackEvent) => {
|
|
3653
3841
|
const theming = useTheme();
|
|
3654
3842
|
const previousTheme = useMemo(() => theming.theme, []);
|
|
3655
|
-
|
|
3843
|
+
useEffect11(() => {
|
|
3656
3844
|
theming.setTheme(theme);
|
|
3657
3845
|
trackEvent(ThemeRequiredEventName, { theme });
|
|
3658
3846
|
return theme !== previousTheme ? () => {
|
|
@@ -3663,86 +3851,14 @@ var useCustomTheme = (theme, trackEvent) => {
|
|
|
3663
3851
|
}, []);
|
|
3664
3852
|
};
|
|
3665
3853
|
|
|
3666
|
-
// ../renderers/src/step/StepFooter.tsx
|
|
3667
|
-
import { Button as Button7 } from "@transferwise/components";
|
|
3668
|
-
import { useEffect as useEffect10, useRef, useState as useState12 } from "react";
|
|
3669
|
-
import { useIntl as useIntl14 } from "react-intl";
|
|
3670
|
-
|
|
3671
|
-
// ../renderers/src/messages/step.messages.ts
|
|
3672
|
-
import { defineMessages as defineMessages11 } from "react-intl";
|
|
3673
|
-
var step_messages_default = defineMessages11({
|
|
3674
|
-
scrollToBottom: {
|
|
3675
|
-
id: "df.wise.step.scrollToBottom",
|
|
3676
|
-
defaultMessage: "Scroll to bottom",
|
|
3677
|
-
description: "Label for a button that appears when the content of a step is too long and the user needs to scroll to the bottom to see all the content."
|
|
3678
|
-
}
|
|
3679
|
-
});
|
|
3680
|
-
|
|
3681
|
-
// ../renderers/src/step/StepFooter.tsx
|
|
3682
|
-
import { Fragment as Fragment13, jsx as jsx77, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3683
|
-
var SCROLL_TO_BOTTOM = "scroll-to-bottom";
|
|
3684
|
-
var StepFooter = ({ footer, tags }) => {
|
|
3685
|
-
if (tags == null ? void 0 : tags.includes(SCROLL_TO_BOTTOM)) {
|
|
3686
|
-
return /* @__PURE__ */ jsx77(FooterWithScrollButton, { footer });
|
|
3687
|
-
}
|
|
3688
|
-
return /* @__PURE__ */ jsx77(DefaultFooter, { footer });
|
|
3689
|
-
};
|
|
3690
|
-
var DefaultFooter = ({ footer }) => {
|
|
3691
|
-
const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
|
|
3692
|
-
return hasFooter ? /* @__PURE__ */ jsx77("div", { className: "df-step-fixed__footer", children: footer }) : void 0;
|
|
3693
|
-
};
|
|
3694
|
-
var FooterWithScrollButton = ({ footer }) => {
|
|
3695
|
-
const { formatMessage } = useIntl14();
|
|
3696
|
-
const endOfLayoutRef = useRef(null);
|
|
3697
|
-
const isElementVisible = useIsElementVisible(endOfLayoutRef);
|
|
3698
|
-
const scrollButton = /* @__PURE__ */ jsx77(
|
|
3699
|
-
Button7,
|
|
3700
|
-
{
|
|
3701
|
-
className: "m-b-1",
|
|
3702
|
-
v2: true,
|
|
3703
|
-
block: true,
|
|
3704
|
-
priority: "tertiary",
|
|
3705
|
-
onClick: () => {
|
|
3706
|
-
var _a;
|
|
3707
|
-
(_a = endOfLayoutRef.current) == null ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
|
|
3708
|
-
},
|
|
3709
|
-
children: formatMessage(step_messages_default.scrollToBottom)
|
|
3710
|
-
}
|
|
3711
|
-
);
|
|
3712
|
-
const hasStepFooterContent = footer && Array.isArray(footer) && footer.length > 0;
|
|
3713
|
-
if (isElementVisible && !hasStepFooterContent) {
|
|
3714
|
-
return /* @__PURE__ */ jsx77("div", { ref: endOfLayoutRef, "aria-hidden": "true" });
|
|
3715
|
-
}
|
|
3716
|
-
return /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
3717
|
-
/* @__PURE__ */ jsx77("div", { ref: endOfLayoutRef, "aria-hidden": "true" }),
|
|
3718
|
-
/* @__PURE__ */ jsxs26("div", { className: "df-step-fixed__footer", children: [
|
|
3719
|
-
!isElementVisible && scrollButton,
|
|
3720
|
-
footer
|
|
3721
|
-
] })
|
|
3722
|
-
] });
|
|
3723
|
-
};
|
|
3724
|
-
var useIsElementVisible = (elementRef) => {
|
|
3725
|
-
const [isVisible, setIsVisible] = useState12(false);
|
|
3726
|
-
useEffect10(() => {
|
|
3727
|
-
const element = elementRef.current;
|
|
3728
|
-
if (!element) return;
|
|
3729
|
-
const observer = new IntersectionObserver(([entry]) => {
|
|
3730
|
-
setIsVisible(entry.isIntersecting);
|
|
3731
|
-
});
|
|
3732
|
-
observer.observe(element);
|
|
3733
|
-
return () => observer.disconnect();
|
|
3734
|
-
}, [elementRef]);
|
|
3735
|
-
return isVisible;
|
|
3736
|
-
};
|
|
3737
|
-
|
|
3738
3854
|
// ../renderers/src/step/StepHeader.tsx
|
|
3739
3855
|
import { Title as Title2 } from "@transferwise/components";
|
|
3740
|
-
import { Fragment as
|
|
3856
|
+
import { Fragment as Fragment15, jsx as jsx79, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3741
3857
|
var StepHeader = ({ title, description, tags }) => {
|
|
3742
3858
|
const { titleType, alignmentClassName } = getHeaderStyle(tags);
|
|
3743
|
-
return /* @__PURE__ */
|
|
3744
|
-
title ? /* @__PURE__ */
|
|
3745
|
-
description ? /* @__PURE__ */
|
|
3859
|
+
return /* @__PURE__ */ jsxs28(Fragment15, { children: [
|
|
3860
|
+
title ? /* @__PURE__ */ jsx79(Title2, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
|
|
3861
|
+
description ? /* @__PURE__ */ jsx79("p", { className: `${alignmentClassName} np-text-body-large`, children: description }) : void 0
|
|
3746
3862
|
] });
|
|
3747
3863
|
};
|
|
3748
3864
|
var getHeaderStyle = (tags) => {
|
|
@@ -3768,30 +3884,30 @@ var back_messages_default = defineMessages12({
|
|
|
3768
3884
|
});
|
|
3769
3885
|
|
|
3770
3886
|
// ../renderers/src/step/topbar/BackButton.tsx
|
|
3771
|
-
import { jsx as
|
|
3887
|
+
import { jsx as jsx80, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3772
3888
|
function BackButton({ title, onClick }) {
|
|
3773
3889
|
const { formatMessage } = useIntl15();
|
|
3774
|
-
return /* @__PURE__ */
|
|
3775
|
-
/* @__PURE__ */
|
|
3776
|
-
/* @__PURE__ */
|
|
3890
|
+
return /* @__PURE__ */ jsxs29(IconButton, { className: "df-back-button", priority: "tertiary", onClick, children: [
|
|
3891
|
+
/* @__PURE__ */ jsx80("span", { className: "sr-only", children: title != null ? title : formatMessage(back_messages_default.back) }),
|
|
3892
|
+
/* @__PURE__ */ jsx80(ArrowLeft, {})
|
|
3777
3893
|
] });
|
|
3778
3894
|
}
|
|
3779
3895
|
|
|
3780
3896
|
// ../renderers/src/step/topbar/Toolbar.tsx
|
|
3781
3897
|
import { Button as Button8, IconButton as IconButton2 } from "@transferwise/components";
|
|
3782
|
-
import { jsx as
|
|
3898
|
+
import { jsx as jsx81, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3783
3899
|
var Toolbar = ({ items }) => {
|
|
3784
|
-
return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */
|
|
3900
|
+
return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ jsx81("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ jsx81(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
|
|
3785
3901
|
};
|
|
3786
3902
|
function ToolbarButton(props) {
|
|
3787
|
-
return prefersMedia(props.control) ? /* @__PURE__ */
|
|
3903
|
+
return prefersMedia(props.control) ? /* @__PURE__ */ jsx81(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ jsx81(TextToolbarButton, __spreadValues({}, props));
|
|
3788
3904
|
}
|
|
3789
3905
|
function MediaToolbarButton(props) {
|
|
3790
3906
|
var _a;
|
|
3791
3907
|
const { context, control, media, accessibilityDescription, disabled, onClick } = props;
|
|
3792
3908
|
const priority = getIconButtonPriority(control);
|
|
3793
3909
|
const type = getSentiment2(context);
|
|
3794
|
-
return /* @__PURE__ */
|
|
3910
|
+
return /* @__PURE__ */ jsxs30(
|
|
3795
3911
|
IconButton2,
|
|
3796
3912
|
{
|
|
3797
3913
|
className: "df-toolbar-button",
|
|
@@ -3801,7 +3917,7 @@ function MediaToolbarButton(props) {
|
|
|
3801
3917
|
type,
|
|
3802
3918
|
onClick,
|
|
3803
3919
|
children: [
|
|
3804
|
-
accessibilityDescription ? /* @__PURE__ */
|
|
3920
|
+
accessibilityDescription ? /* @__PURE__ */ jsx81("span", { className: "sr-only", children: accessibilityDescription }) : null,
|
|
3805
3921
|
media ? (_a = getAddonStartMedia(media)) == null ? void 0 : _a.value : null
|
|
3806
3922
|
]
|
|
3807
3923
|
}
|
|
@@ -3812,7 +3928,7 @@ function TextToolbarButton(props) {
|
|
|
3812
3928
|
const addonStart = media ? getAddonStartMedia(media) : void 0;
|
|
3813
3929
|
const priority = getPriority2(control);
|
|
3814
3930
|
const sentiment = getSentiment2(context);
|
|
3815
|
-
return /* @__PURE__ */
|
|
3931
|
+
return /* @__PURE__ */ jsx81(
|
|
3816
3932
|
Button8,
|
|
3817
3933
|
{
|
|
3818
3934
|
v2: true,
|
|
@@ -3842,16 +3958,16 @@ var getIconButtonPriority = (control) => {
|
|
|
3842
3958
|
};
|
|
3843
3959
|
|
|
3844
3960
|
// ../renderers/src/step/topbar/TopBar.tsx
|
|
3845
|
-
import { jsx as
|
|
3961
|
+
import { jsx as jsx82, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3846
3962
|
function TopBar({ back, toolbar }) {
|
|
3847
|
-
return back || toolbar ? /* @__PURE__ */
|
|
3848
|
-
back ? /* @__PURE__ */
|
|
3849
|
-
toolbar ? /* @__PURE__ */
|
|
3963
|
+
return back || toolbar ? /* @__PURE__ */ jsxs31("div", { className: "d-flex m-b-2", children: [
|
|
3964
|
+
back ? /* @__PURE__ */ jsx82(BackButton, __spreadValues({}, back)) : null,
|
|
3965
|
+
toolbar ? /* @__PURE__ */ jsx82(Toolbar, __spreadValues({}, toolbar)) : null
|
|
3850
3966
|
] }) : null;
|
|
3851
3967
|
}
|
|
3852
3968
|
|
|
3853
3969
|
// ../renderers/src/step/SplashCelebrationStepRenderer.tsx
|
|
3854
|
-
import { jsx as
|
|
3970
|
+
import { jsx as jsx83, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
3855
3971
|
var SplashCelebrationStepRenderer = {
|
|
3856
3972
|
canRenderType: "step",
|
|
3857
3973
|
canRender: ({ control }) => control === "splash-celebration",
|
|
@@ -3860,16 +3976,16 @@ var SplashCelebrationStepRenderer = {
|
|
|
3860
3976
|
function SplashCelebrationStepRendererComponent(props) {
|
|
3861
3977
|
const { back, title, description, toolbar, children, footer, tags, trackEvent } = props;
|
|
3862
3978
|
useCustomTheme("forest-green", trackEvent);
|
|
3863
|
-
return /* @__PURE__ */
|
|
3864
|
-
/* @__PURE__ */
|
|
3865
|
-
title || description ? /* @__PURE__ */
|
|
3979
|
+
return /* @__PURE__ */ jsxs32("div", { className: "splash-screen m-t-5", children: [
|
|
3980
|
+
/* @__PURE__ */ jsx83(TopBar, { back, toolbar }),
|
|
3981
|
+
title || description ? /* @__PURE__ */ jsx83("div", { className: "m-b-4", children: /* @__PURE__ */ jsx83(StepHeader, { title, description, tags }) }) : void 0,
|
|
3866
3982
|
children,
|
|
3867
|
-
/* @__PURE__ */
|
|
3983
|
+
/* @__PURE__ */ jsx83(StepFooter, { footer, tags })
|
|
3868
3984
|
] });
|
|
3869
3985
|
}
|
|
3870
3986
|
|
|
3871
3987
|
// ../renderers/src/step/SplashStepRenderer.tsx
|
|
3872
|
-
import { jsx as
|
|
3988
|
+
import { jsx as jsx84, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
3873
3989
|
var SplashStepRenderer = {
|
|
3874
3990
|
canRenderType: "step",
|
|
3875
3991
|
canRender: ({ control }) => control === "splash",
|
|
@@ -3877,55 +3993,55 @@ var SplashStepRenderer = {
|
|
|
3877
3993
|
};
|
|
3878
3994
|
function SplashStepRendererComponent(props) {
|
|
3879
3995
|
const { back, title, description, toolbar, children, footer, tags } = props;
|
|
3880
|
-
return /* @__PURE__ */
|
|
3881
|
-
/* @__PURE__ */
|
|
3882
|
-
title || description ? /* @__PURE__ */
|
|
3996
|
+
return /* @__PURE__ */ jsxs33("div", { className: "splash-screen m-t-5", children: [
|
|
3997
|
+
/* @__PURE__ */ jsx84(TopBar, { back, toolbar }),
|
|
3998
|
+
title || description ? /* @__PURE__ */ jsx84("div", { className: "m-b-4", children: /* @__PURE__ */ jsx84(StepHeader, { title, description, tags }) }) : void 0,
|
|
3883
3999
|
children,
|
|
3884
|
-
/* @__PURE__ */
|
|
4000
|
+
/* @__PURE__ */ jsx84(StepFooter, { footer, tags })
|
|
3885
4001
|
] });
|
|
3886
4002
|
}
|
|
3887
4003
|
|
|
3888
4004
|
// ../renderers/src/step/StepRenderer.tsx
|
|
3889
4005
|
import { Alert as Alert2 } from "@transferwise/components";
|
|
3890
|
-
import { jsx as
|
|
4006
|
+
import { jsx as jsx85, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
3891
4007
|
var StepRenderer = {
|
|
3892
4008
|
canRenderType: "step",
|
|
3893
4009
|
render: StepRendererComponent
|
|
3894
4010
|
};
|
|
3895
4011
|
function StepRendererComponent(props) {
|
|
3896
4012
|
const { back, description, error, title, children, toolbar, footer, tags } = props;
|
|
3897
|
-
return /* @__PURE__ */
|
|
3898
|
-
/* @__PURE__ */
|
|
3899
|
-
title || description ? /* @__PURE__ */
|
|
3900
|
-
error ? /* @__PURE__ */
|
|
4013
|
+
return /* @__PURE__ */ jsxs34("div", { children: [
|
|
4014
|
+
/* @__PURE__ */ jsx85(TopBar, { back, toolbar }),
|
|
4015
|
+
title || description ? /* @__PURE__ */ jsx85("div", { className: "m-b-4", children: /* @__PURE__ */ jsx85(StepHeader, { title, description, tags }) }) : void 0,
|
|
4016
|
+
error ? /* @__PURE__ */ jsx85(Alert2, { type: "negative", className: "m-b-2", message: error }) : null,
|
|
3901
4017
|
children,
|
|
3902
|
-
/* @__PURE__ */
|
|
4018
|
+
/* @__PURE__ */ jsx85(StepFooter, { footer, tags })
|
|
3903
4019
|
] });
|
|
3904
4020
|
}
|
|
3905
4021
|
|
|
3906
4022
|
// ../renderers/src/TabsRenderer.tsx
|
|
3907
|
-
import { Chips, SegmentedControl as SegmentedControl2, Tabs as Tabs2 } from "@transferwise/components";
|
|
4023
|
+
import { Chips as Chips2, SegmentedControl as SegmentedControl2, Tabs as Tabs2 } from "@transferwise/components";
|
|
3908
4024
|
import { useState as useState13 } from "react";
|
|
3909
|
-
import { jsx as
|
|
4025
|
+
import { jsx as jsx86, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
3910
4026
|
var TabsRenderer = {
|
|
3911
4027
|
canRenderType: "tabs",
|
|
3912
4028
|
render: (props) => {
|
|
3913
4029
|
switch (props.control) {
|
|
3914
4030
|
case "segmented":
|
|
3915
4031
|
if (props.tabs.length > 3) {
|
|
3916
|
-
return /* @__PURE__ */
|
|
4032
|
+
return /* @__PURE__ */ jsx86(TabsRendererComponent, __spreadValues({}, props));
|
|
3917
4033
|
}
|
|
3918
|
-
return /* @__PURE__ */
|
|
4034
|
+
return /* @__PURE__ */ jsx86(SegmentedTabsRendererComponent, __spreadValues({}, props));
|
|
3919
4035
|
case "chips":
|
|
3920
|
-
return /* @__PURE__ */
|
|
4036
|
+
return /* @__PURE__ */ jsx86(ChipsTabsRendererComponent, __spreadValues({}, props));
|
|
3921
4037
|
default:
|
|
3922
|
-
return /* @__PURE__ */
|
|
4038
|
+
return /* @__PURE__ */ jsx86(TabsRendererComponent, __spreadValues({}, props));
|
|
3923
4039
|
}
|
|
3924
4040
|
}
|
|
3925
4041
|
};
|
|
3926
4042
|
function TabsRendererComponent({ uid, margin, tabs }) {
|
|
3927
4043
|
const [selectedIndex, setSelectedIndex] = useState13(0);
|
|
3928
|
-
return /* @__PURE__ */
|
|
4044
|
+
return /* @__PURE__ */ jsx86("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx86(
|
|
3929
4045
|
Tabs2,
|
|
3930
4046
|
{
|
|
3931
4047
|
name: uid,
|
|
@@ -3933,7 +4049,7 @@ function TabsRendererComponent({ uid, margin, tabs }) {
|
|
|
3933
4049
|
tabs: tabs.map((option) => ({
|
|
3934
4050
|
title: option.title,
|
|
3935
4051
|
disabled: false,
|
|
3936
|
-
content: /* @__PURE__ */
|
|
4052
|
+
content: /* @__PURE__ */ jsxs35("div", { className: "m-t-2", children: [
|
|
3937
4053
|
" ",
|
|
3938
4054
|
option.children,
|
|
3939
4055
|
" "
|
|
@@ -3946,8 +4062,8 @@ function TabsRendererComponent({ uid, margin, tabs }) {
|
|
|
3946
4062
|
function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
|
|
3947
4063
|
var _a;
|
|
3948
4064
|
const [selectedIndex, setSelectedIndex] = useState13(0);
|
|
3949
|
-
return /* @__PURE__ */
|
|
3950
|
-
/* @__PURE__ */
|
|
4065
|
+
return /* @__PURE__ */ jsxs35("div", { className: getMargin(margin), children: [
|
|
4066
|
+
/* @__PURE__ */ jsx86(
|
|
3951
4067
|
SegmentedControl2,
|
|
3952
4068
|
{
|
|
3953
4069
|
name: uid,
|
|
@@ -3962,37 +4078,37 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs }) {
|
|
|
3962
4078
|
onChange: (value) => setSelectedIndex(Number(value))
|
|
3963
4079
|
}
|
|
3964
4080
|
),
|
|
3965
|
-
/* @__PURE__ */
|
|
4081
|
+
/* @__PURE__ */ jsx86("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
|
|
3966
4082
|
] });
|
|
3967
4083
|
}
|
|
3968
4084
|
function ChipsTabsRendererComponent({ margin, tabs }) {
|
|
3969
4085
|
var _a;
|
|
3970
4086
|
const [selectedIndex, setSelectedIndex] = useState13(0);
|
|
3971
|
-
return /* @__PURE__ */
|
|
3972
|
-
/* @__PURE__ */
|
|
3973
|
-
|
|
4087
|
+
return /* @__PURE__ */ jsxs35("div", { className: getMargin(margin), children: [
|
|
4088
|
+
/* @__PURE__ */ jsx86("div", { className: "chips-container", children: /* @__PURE__ */ jsx86(
|
|
4089
|
+
Chips2,
|
|
3974
4090
|
{
|
|
3975
4091
|
chips: tabs.map((tab, index) => ({ label: tab.title, value: index })),
|
|
3976
4092
|
selected: selectedIndex,
|
|
3977
4093
|
onChange: ({ selectedValue }) => setSelectedIndex(Number(selectedValue))
|
|
3978
4094
|
}
|
|
3979
4095
|
) }),
|
|
3980
|
-
/* @__PURE__ */
|
|
4096
|
+
/* @__PURE__ */ jsx86("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
|
|
3981
4097
|
] });
|
|
3982
4098
|
}
|
|
3983
4099
|
|
|
3984
4100
|
// ../renderers/src/TextInputRenderer.tsx
|
|
3985
|
-
import { InputGroup as
|
|
4101
|
+
import { InputGroup as InputGroup5 } from "@transferwise/components";
|
|
3986
4102
|
|
|
3987
4103
|
// ../renderers/src/components/VariableTextInput.tsx
|
|
3988
4104
|
import {
|
|
3989
|
-
Input as
|
|
4105
|
+
Input as Input6,
|
|
3990
4106
|
InputWithDisplayFormat,
|
|
3991
4107
|
PhoneNumberInput,
|
|
3992
4108
|
TextArea,
|
|
3993
4109
|
TextareaWithDisplayFormat
|
|
3994
4110
|
} from "@transferwise/components";
|
|
3995
|
-
import { jsx as
|
|
4111
|
+
import { jsx as jsx87 } from "react/jsx-runtime";
|
|
3996
4112
|
var commonKeys = [
|
|
3997
4113
|
"autoComplete",
|
|
3998
4114
|
"autoCapitalize",
|
|
@@ -4011,12 +4127,12 @@ function VariableTextInput(inputProps) {
|
|
|
4011
4127
|
const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
|
|
4012
4128
|
switch (control) {
|
|
4013
4129
|
case "email":
|
|
4014
|
-
return /* @__PURE__ */
|
|
4130
|
+
return /* @__PURE__ */ jsx87(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
|
|
4015
4131
|
case "password":
|
|
4016
|
-
return /* @__PURE__ */
|
|
4132
|
+
return /* @__PURE__ */ jsx87(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
|
|
4017
4133
|
case "numeric": {
|
|
4018
4134
|
const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
|
|
4019
|
-
return /* @__PURE__ */
|
|
4135
|
+
return /* @__PURE__ */ jsx87(
|
|
4020
4136
|
TextInput,
|
|
4021
4137
|
__spreadProps(__spreadValues({}, numericProps), {
|
|
4022
4138
|
onChange: (newValue) => {
|
|
@@ -4027,21 +4143,21 @@ function VariableTextInput(inputProps) {
|
|
|
4027
4143
|
);
|
|
4028
4144
|
}
|
|
4029
4145
|
case "phone-number":
|
|
4030
|
-
return /* @__PURE__ */
|
|
4146
|
+
return /* @__PURE__ */ jsx87(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
|
|
4031
4147
|
default: {
|
|
4032
|
-
return /* @__PURE__ */
|
|
4148
|
+
return /* @__PURE__ */ jsx87(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
|
|
4033
4149
|
}
|
|
4034
4150
|
}
|
|
4035
4151
|
}
|
|
4036
4152
|
function TextInput(props) {
|
|
4037
4153
|
const _a = props, { control, displayFormat, onChange } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange"]);
|
|
4038
4154
|
const InputWithPattern = control === "textarea" ? TextareaWithDisplayFormat : InputWithDisplayFormat;
|
|
4039
|
-
const InputWithoutPattern = control === "textarea" ? TextArea :
|
|
4040
|
-
return displayFormat ? /* @__PURE__ */
|
|
4155
|
+
const InputWithoutPattern = control === "textarea" ? TextArea : Input6;
|
|
4156
|
+
return displayFormat ? /* @__PURE__ */ jsx87(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ jsx87(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
|
|
4041
4157
|
}
|
|
4042
4158
|
|
|
4043
4159
|
// ../renderers/src/TextInputRenderer.tsx
|
|
4044
|
-
import { jsx as
|
|
4160
|
+
import { jsx as jsx88 } from "react/jsx-runtime";
|
|
4045
4161
|
var TextInputRenderer = {
|
|
4046
4162
|
canRenderType: "input-text",
|
|
4047
4163
|
render: (props) => {
|
|
@@ -4074,7 +4190,7 @@ var TextInputRenderer = {
|
|
|
4074
4190
|
}
|
|
4075
4191
|
}
|
|
4076
4192
|
});
|
|
4077
|
-
return /* @__PURE__ */
|
|
4193
|
+
return /* @__PURE__ */ jsx88(
|
|
4078
4194
|
FieldInput_default,
|
|
4079
4195
|
{
|
|
4080
4196
|
id,
|
|
@@ -4082,7 +4198,7 @@ var TextInputRenderer = {
|
|
|
4082
4198
|
description,
|
|
4083
4199
|
validation: validationState,
|
|
4084
4200
|
help,
|
|
4085
|
-
children: /* @__PURE__ */
|
|
4201
|
+
children: /* @__PURE__ */ jsx88(InputGroup5, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx88(VariableTextInput, __spreadValues({}, inputProps)) })
|
|
4086
4202
|
}
|
|
4087
4203
|
);
|
|
4088
4204
|
}
|
|
@@ -4096,7 +4212,7 @@ import { Status as Status2, Upload, UploadInput as UploadInput2 } from "@transfe
|
|
|
4096
4212
|
var getRandomId = () => Math.random().toString(36).substring(2);
|
|
4097
4213
|
|
|
4098
4214
|
// ../renderers/src/UploadInputRenderer.tsx
|
|
4099
|
-
import { jsx as
|
|
4215
|
+
import { jsx as jsx89 } from "react/jsx-runtime";
|
|
4100
4216
|
var UploadInputRenderer = {
|
|
4101
4217
|
canRenderType: "input-upload",
|
|
4102
4218
|
render: (props) => {
|
|
@@ -4112,14 +4228,14 @@ var UploadInputRenderer = {
|
|
|
4112
4228
|
};
|
|
4113
4229
|
return (
|
|
4114
4230
|
// We don't pass help here as there is no sensible place to display it
|
|
4115
|
-
/* @__PURE__ */
|
|
4231
|
+
/* @__PURE__ */ jsx89(
|
|
4116
4232
|
UploadFieldInput_default,
|
|
4117
4233
|
{
|
|
4118
4234
|
id,
|
|
4119
4235
|
label: void 0,
|
|
4120
4236
|
description: void 0,
|
|
4121
4237
|
validation: validationState,
|
|
4122
|
-
children: /* @__PURE__ */
|
|
4238
|
+
children: /* @__PURE__ */ jsx89(
|
|
4123
4239
|
UploadInput2,
|
|
4124
4240
|
{
|
|
4125
4241
|
id,
|
|
@@ -4185,7 +4301,7 @@ var LargeUploadRenderer = {
|
|
|
4185
4301
|
};
|
|
4186
4302
|
const filetypes = acceptsToFileTypes(accepts);
|
|
4187
4303
|
const usAccept = filetypes === "*" ? "*" : filetypes.join(",");
|
|
4188
|
-
return /* @__PURE__ */
|
|
4304
|
+
return /* @__PURE__ */ jsx89(
|
|
4189
4305
|
FieldInput_default,
|
|
4190
4306
|
{
|
|
4191
4307
|
id,
|
|
@@ -4193,7 +4309,7 @@ var LargeUploadRenderer = {
|
|
|
4193
4309
|
description,
|
|
4194
4310
|
validation: validationState,
|
|
4195
4311
|
help,
|
|
4196
|
-
children: /* @__PURE__ */
|
|
4312
|
+
children: /* @__PURE__ */ jsx89(
|
|
4197
4313
|
Upload,
|
|
4198
4314
|
__spreadProps(__spreadValues({}, uploadProps), {
|
|
4199
4315
|
usAccept,
|
|
@@ -4211,7 +4327,7 @@ var LargeUploadRenderer = {
|
|
|
4211
4327
|
// ../renderers/src/UpsellRenderer.tsx
|
|
4212
4328
|
import { Nudge } from "@transferwise/components";
|
|
4213
4329
|
import { useState as useState14 } from "react";
|
|
4214
|
-
import { jsx as
|
|
4330
|
+
import { jsx as jsx90 } from "react/jsx-runtime";
|
|
4215
4331
|
var UpsellRenderer = {
|
|
4216
4332
|
canRenderType: "upsell",
|
|
4217
4333
|
render: UpsellRendererComponent
|
|
@@ -4219,7 +4335,7 @@ var UpsellRenderer = {
|
|
|
4219
4335
|
function UpsellRendererComponent(props) {
|
|
4220
4336
|
const { text, callToAction, media, margin, onDismiss } = props;
|
|
4221
4337
|
const [isVisible, setIsVisible] = useState14(true);
|
|
4222
|
-
return isVisible ? /* @__PURE__ */
|
|
4338
|
+
return isVisible ? /* @__PURE__ */ jsx90(
|
|
4223
4339
|
Nudge,
|
|
4224
4340
|
{
|
|
4225
4341
|
className: getMargin(margin),
|
|
@@ -4271,7 +4387,7 @@ var supportedMediaNames = [
|
|
|
4271
4387
|
// ../renderers/src/ButtonRenderer/CircularButtonRenderer.tsx
|
|
4272
4388
|
import { CircularButton } from "@transferwise/components";
|
|
4273
4389
|
var import_classnames7 = __toESM(require_classnames());
|
|
4274
|
-
import { jsx as
|
|
4390
|
+
import { jsx as jsx91 } from "react/jsx-runtime";
|
|
4275
4391
|
var CircularButtonRenderer = {
|
|
4276
4392
|
canRenderType: "button",
|
|
4277
4393
|
canRender: ({ control }) => control === "circular",
|
|
@@ -4281,7 +4397,7 @@ function CircularButtonComponent(props) {
|
|
|
4281
4397
|
var _a;
|
|
4282
4398
|
const { context, disabled, margin, media, tags, title, onClick } = props;
|
|
4283
4399
|
const priority = tags == null ? void 0 : tags.find((tag) => tag === "primary" || tag === "secondary");
|
|
4284
|
-
return /* @__PURE__ */
|
|
4400
|
+
return /* @__PURE__ */ jsx91("div", { className: (0, import_classnames7.default)(getMargin(margin), "df-button", "circular"), children: /* @__PURE__ */ jsx91(
|
|
4285
4401
|
CircularButton,
|
|
4286
4402
|
{
|
|
4287
4403
|
disabled,
|
|
@@ -4301,6 +4417,7 @@ var getWiseRenderers = () => [
|
|
|
4301
4417
|
CheckboxInputRenderer_default,
|
|
4302
4418
|
CircularButtonRenderer,
|
|
4303
4419
|
BoxRenderer_default,
|
|
4420
|
+
CollectionRenderer_default,
|
|
4304
4421
|
ButtonRenderer,
|
|
4305
4422
|
ColumnsRenderer_default,
|
|
4306
4423
|
DateInputRenderer_default,
|
|
@@ -4345,11 +4462,11 @@ var getWiseRenderers = () => [
|
|
|
4345
4462
|
|
|
4346
4463
|
// ../renderers/src/InitialLoadingStateRenderer.tsx
|
|
4347
4464
|
import { Loader as Loader2 } from "@transferwise/components";
|
|
4348
|
-
import { jsx as
|
|
4465
|
+
import { jsx as jsx92 } from "react/jsx-runtime";
|
|
4349
4466
|
var InitialLoadingStateRenderer = {
|
|
4350
4467
|
canRenderType: "loading-state",
|
|
4351
4468
|
canRender: ({ stepLoadingState }) => stepLoadingState === "initial",
|
|
4352
|
-
render: () => /* @__PURE__ */
|
|
4469
|
+
render: () => /* @__PURE__ */ jsx92(
|
|
4353
4470
|
Loader2,
|
|
4354
4471
|
{
|
|
4355
4472
|
size: "md",
|
|
@@ -4360,7 +4477,7 @@ var InitialLoadingStateRenderer = {
|
|
|
4360
4477
|
};
|
|
4361
4478
|
|
|
4362
4479
|
// ../renderers/src/subflow/getSubflowRenderer.tsx
|
|
4363
|
-
import { jsx as
|
|
4480
|
+
import { jsx as jsx93 } from "react/jsx-runtime";
|
|
4364
4481
|
var getSubflowRenderer = ({
|
|
4365
4482
|
Component: Component2,
|
|
4366
4483
|
canRender
|
|
@@ -4369,7 +4486,7 @@ var getSubflowRenderer = ({
|
|
|
4369
4486
|
canRenderType: "subflow",
|
|
4370
4487
|
canRender,
|
|
4371
4488
|
render: (props) => {
|
|
4372
|
-
return /* @__PURE__ */
|
|
4489
|
+
return /* @__PURE__ */ jsx93(
|
|
4373
4490
|
Component2,
|
|
4374
4491
|
{
|
|
4375
4492
|
presentation: props.presentation,
|
|
@@ -4450,24 +4567,24 @@ var handleRejection = (error) => {
|
|
|
4450
4567
|
// src/dynamicFlow/DynamicFlowModal.tsx
|
|
4451
4568
|
import { useDynamicFlowModal } from "@wise/dynamic-flow-client";
|
|
4452
4569
|
import { Modal as Modal5 } from "@transferwise/components";
|
|
4453
|
-
import { jsx as
|
|
4570
|
+
import { jsx as jsx94 } from "react/jsx-runtime";
|
|
4454
4571
|
function DynamicFlowModal(props) {
|
|
4455
4572
|
const _a = props, { className = "" } = _a, rest = __objRest(_a, ["className"]);
|
|
4456
4573
|
const dfProps = useWiseToCoreProps(rest);
|
|
4457
4574
|
const df = useDynamicFlowModal(dfProps);
|
|
4458
|
-
return /* @__PURE__ */
|
|
4575
|
+
return /* @__PURE__ */ jsx94(
|
|
4459
4576
|
Modal5,
|
|
4460
4577
|
__spreadProps(__spreadValues({
|
|
4461
4578
|
className: `dynamic-flow-modal ${className}`,
|
|
4462
4579
|
disableDimmerClickToClose: true
|
|
4463
4580
|
}, df.modal), {
|
|
4464
|
-
body: /* @__PURE__ */
|
|
4581
|
+
body: /* @__PURE__ */ jsx94("div", { className: "dynamic-flow-modal", children: df.modal.body })
|
|
4465
4582
|
})
|
|
4466
4583
|
);
|
|
4467
4584
|
}
|
|
4468
4585
|
|
|
4469
4586
|
// src/dynamicFlow/getMergedRenderers.tsx
|
|
4470
|
-
import { jsx as
|
|
4587
|
+
import { jsx as jsx95 } from "react/jsx-runtime";
|
|
4471
4588
|
var wiseRenderers = getWiseRenderers();
|
|
4472
4589
|
var getMergedRenderers = (props) => {
|
|
4473
4590
|
var _d, _e;
|
|
@@ -4481,7 +4598,7 @@ var getMergedRenderers = (props) => {
|
|
|
4481
4598
|
method: initialRequest.method,
|
|
4482
4599
|
data: initialRequest.body
|
|
4483
4600
|
};
|
|
4484
|
-
return presentation.type === "push" ? /* @__PURE__ */
|
|
4601
|
+
return presentation.type === "push" ? /* @__PURE__ */ jsx95(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx95(
|
|
4485
4602
|
DynamicFlowModal,
|
|
4486
4603
|
__spreadProps(__spreadValues(__spreadValues({}, restProps), rest), {
|
|
4487
4604
|
features: subflowFeatures,
|
|
@@ -4540,13 +4657,13 @@ var openLinkInNewTab = (url) => {
|
|
|
4540
4657
|
};
|
|
4541
4658
|
|
|
4542
4659
|
// src/dynamicFlow/DynamicFlow.tsx
|
|
4543
|
-
import { jsxs as
|
|
4660
|
+
import { jsxs as jsxs36 } from "react/jsx-runtime";
|
|
4544
4661
|
function DynamicFlow(props) {
|
|
4545
4662
|
const { className = "" } = props;
|
|
4546
4663
|
const dfProps = useWiseToCoreProps(props);
|
|
4547
4664
|
const df = useDynamicFlow(dfProps);
|
|
4548
4665
|
const { onContextMenu, contextMenu } = useDFContextMenu(df.controller);
|
|
4549
|
-
return /* @__PURE__ */
|
|
4666
|
+
return /* @__PURE__ */ jsxs36("div", { className, onContextMenu, children: [
|
|
4550
4667
|
df.view,
|
|
4551
4668
|
contextMenu
|
|
4552
4669
|
] });
|
|
@@ -4558,7 +4675,7 @@ import {
|
|
|
4558
4675
|
useImperativeHandle
|
|
4559
4676
|
} from "react";
|
|
4560
4677
|
import { useDynamicFlow as useDynamicFlow2 } from "@wise/dynamic-flow-client";
|
|
4561
|
-
import { jsx as
|
|
4678
|
+
import { jsx as jsx96 } from "react/jsx-runtime";
|
|
4562
4679
|
var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
|
|
4563
4680
|
const { className = "" } = props;
|
|
4564
4681
|
const dfProps = useWiseToCoreProps(props);
|
|
@@ -4574,14 +4691,14 @@ var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
|
|
|
4574
4691
|
}),
|
|
4575
4692
|
[df]
|
|
4576
4693
|
);
|
|
4577
|
-
return /* @__PURE__ */
|
|
4694
|
+
return /* @__PURE__ */ jsx96("div", { className, children: df.view });
|
|
4578
4695
|
});
|
|
4579
4696
|
|
|
4580
4697
|
// src/index.ts
|
|
4581
4698
|
import { findRendererPropsByType } from "@wise/dynamic-flow-client";
|
|
4582
4699
|
|
|
4583
4700
|
// src/dynamicFlow/renderers.tsx
|
|
4584
|
-
var Header10 =
|
|
4701
|
+
var Header10 = Header;
|
|
4585
4702
|
var Media2 = Media;
|
|
4586
4703
|
var getMargin2 = getMargin;
|
|
4587
4704
|
|