@wise/dynamic-flow-client-internal 4.7.3 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/main.js +355 -325
- package/build/main.mjs +313 -283
- package/build/types/dynamicFlow/telemetry/getTrackEvent.d.ts +1 -2
- package/build/types/stories/Initialisation.story.d.ts +12 -0
- package/package.json +18 -18
package/build/main.mjs
CHANGED
|
@@ -639,8 +639,8 @@ import {
|
|
|
639
639
|
import { Alert } from "@transferwise/components";
|
|
640
640
|
|
|
641
641
|
// ../renderers/src/utils/layout-utils.ts
|
|
642
|
-
var getMargin = (
|
|
643
|
-
switch (
|
|
642
|
+
var getMargin = (size) => {
|
|
643
|
+
switch (size) {
|
|
644
644
|
case "xs":
|
|
645
645
|
return "m-b-0";
|
|
646
646
|
case "sm":
|
|
@@ -838,7 +838,7 @@ import { Button } from "@transferwise/components";
|
|
|
838
838
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
839
839
|
var ButtonRenderer = {
|
|
840
840
|
canRenderType: "button",
|
|
841
|
-
render: ({ control, context, disabled, margin, title, size
|
|
841
|
+
render: ({ control, context, disabled, margin, title, size, onClick }) => {
|
|
842
842
|
const priority = mapControl(control);
|
|
843
843
|
const type = priority === "tertiary" ? void 0 : mapContext(context);
|
|
844
844
|
return /* @__PURE__ */ jsx7(
|
|
@@ -848,7 +848,7 @@ var ButtonRenderer = {
|
|
|
848
848
|
className: getMargin(margin),
|
|
849
849
|
disabled,
|
|
850
850
|
priority,
|
|
851
|
-
size: mapSize(
|
|
851
|
+
size: mapSize(size),
|
|
852
852
|
type,
|
|
853
853
|
onClick,
|
|
854
854
|
children: title
|
|
@@ -874,11 +874,11 @@ var mapControl = (control) => {
|
|
|
874
874
|
return "secondary";
|
|
875
875
|
}
|
|
876
876
|
};
|
|
877
|
-
var mapSize = (
|
|
878
|
-
if (!
|
|
877
|
+
var mapSize = (size) => {
|
|
878
|
+
if (!size) {
|
|
879
879
|
return void 0;
|
|
880
880
|
}
|
|
881
|
-
switch (
|
|
881
|
+
switch (size) {
|
|
882
882
|
case "xs":
|
|
883
883
|
case "sm":
|
|
884
884
|
return "sm";
|
|
@@ -918,9 +918,6 @@ import { DateInput, DateLookup } from "@transferwise/components";
|
|
|
918
918
|
|
|
919
919
|
// ../renderers/src/validators/type-validators.ts
|
|
920
920
|
var isNumber = (value) => typeof value === "number" && !Number.isNaN(value);
|
|
921
|
-
var isNull = (value) => value === null;
|
|
922
|
-
var isUndefined = (value) => typeof value === "undefined";
|
|
923
|
-
var isNullish = (v) => isNull(v) || isUndefined(v);
|
|
924
921
|
|
|
925
922
|
// ../renderers/src/utils/value-utils.ts
|
|
926
923
|
var numericValueOrNull = (newValue) => /^\d+$/.test(newValue) && !Number.isNaN(Number.parseFloat(newValue)) ? newValue : null;
|
|
@@ -1037,6 +1034,12 @@ var DateInputRenderer_default = DateInputRenderer;
|
|
|
1037
1034
|
// ../renderers/src/DecisionRenderer.tsx
|
|
1038
1035
|
import { Header, NavigationOption, NavigationOptionsList } from "@transferwise/components";
|
|
1039
1036
|
|
|
1037
|
+
// ../renderers/src/components/OptionMedia.tsx
|
|
1038
|
+
import { AvatarView as AvatarView2 } from "@transferwise/components";
|
|
1039
|
+
|
|
1040
|
+
// ../renderers/src/utils/image-utils.tsx
|
|
1041
|
+
import { AvatarView } from "@transferwise/components";
|
|
1042
|
+
|
|
1040
1043
|
// ../renderers/src/components/icon/FlagIcon.tsx
|
|
1041
1044
|
import { Flag } from "@wise/art";
|
|
1042
1045
|
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
@@ -1080,27 +1083,33 @@ function DynamicIcon({ name }) {
|
|
|
1080
1083
|
}
|
|
1081
1084
|
var DynamicIcon_default = DynamicIcon;
|
|
1082
1085
|
|
|
1083
|
-
// ../renderers/src/
|
|
1084
|
-
import {
|
|
1086
|
+
// ../renderers/src/utils/UrnFlag.tsx
|
|
1087
|
+
import { Flag as Flag2 } from "@wise/art";
|
|
1085
1088
|
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1089
|
+
var countryUrnPrefix = "urn:wise:countries:";
|
|
1090
|
+
var currencyUrnPrefix = "urn:wise:currencies:";
|
|
1091
|
+
var isUrnFlag = (uri) => uri.startsWith(countryUrnPrefix) || uri.startsWith(currencyUrnPrefix);
|
|
1092
|
+
function UrnFlag({ size, urn }) {
|
|
1093
|
+
return /* @__PURE__ */ jsx14(Flag2, { code: getCode(urn), intrinsicSize: size });
|
|
1094
|
+
}
|
|
1095
|
+
var getCode = (urn) => {
|
|
1096
|
+
return urn.replace(countryUrnPrefix, "").replace(currencyUrnPrefix, "").replace(":image", "").split("?")[0];
|
|
1097
|
+
};
|
|
1098
|
+
|
|
1099
|
+
// ../renderers/src/utils/image-utils.tsx
|
|
1100
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
1101
|
+
var getBadgedMedia = (iconNode, imageNode, size) => {
|
|
1102
|
+
if (iconNode && imageNode) {
|
|
1103
|
+
if (imageNode && iconNode) {
|
|
1104
|
+
return /* @__PURE__ */ jsx15(AvatarView, { size, badge: { asset: iconNode }, children: imageNode });
|
|
1092
1105
|
}
|
|
1093
|
-
return imageNode;
|
|
1094
|
-
}
|
|
1095
|
-
if (iconNode) {
|
|
1096
|
-
return /* @__PURE__ */ jsx14(AvatarView, { children: iconNode });
|
|
1097
1106
|
}
|
|
1098
1107
|
return null;
|
|
1099
|
-
}
|
|
1108
|
+
};
|
|
1100
1109
|
var getIconNode = (icon) => {
|
|
1101
|
-
if (
|
|
1110
|
+
if (icon) {
|
|
1102
1111
|
if ("name" in icon) {
|
|
1103
|
-
return /* @__PURE__ */
|
|
1112
|
+
return /* @__PURE__ */ jsx15(DynamicIcon_default, { name: icon.name });
|
|
1104
1113
|
}
|
|
1105
1114
|
if (icon.text) {
|
|
1106
1115
|
return icon.text;
|
|
@@ -1108,32 +1117,58 @@ var getIconNode = (icon) => {
|
|
|
1108
1117
|
}
|
|
1109
1118
|
return null;
|
|
1110
1119
|
};
|
|
1111
|
-
var getImageNode = (image) => {
|
|
1120
|
+
var getImageNode = (image, size) => {
|
|
1112
1121
|
if (image) {
|
|
1113
1122
|
const { accessibilityDescription, uri } = image;
|
|
1114
1123
|
if (!uri.startsWith("urn:")) {
|
|
1115
|
-
return /* @__PURE__ */
|
|
1124
|
+
return /* @__PURE__ */ jsx15("img", { src: uri, alt: accessibilityDescription, width: `${size}px` });
|
|
1125
|
+
}
|
|
1126
|
+
if (isUrnFlag(uri)) {
|
|
1127
|
+
return /* @__PURE__ */ jsx15(UrnFlag, { urn: uri, accessibilityDescription, size });
|
|
1116
1128
|
}
|
|
1117
1129
|
}
|
|
1118
1130
|
return null;
|
|
1119
1131
|
};
|
|
1120
1132
|
|
|
1133
|
+
// ../renderers/src/components/OptionMedia.tsx
|
|
1134
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1135
|
+
var mediaSize = 64;
|
|
1136
|
+
var badgeMediaSize = 48;
|
|
1137
|
+
function OptionMedia({
|
|
1138
|
+
icon,
|
|
1139
|
+
image,
|
|
1140
|
+
preferAvatar
|
|
1141
|
+
}) {
|
|
1142
|
+
const imageNode = getImageNode(image, mediaSize);
|
|
1143
|
+
const iconNode = getIconNode(icon);
|
|
1144
|
+
const badge = getBadgedMedia(iconNode, imageNode, badgeMediaSize);
|
|
1145
|
+
if (badge) {
|
|
1146
|
+
return badge;
|
|
1147
|
+
}
|
|
1148
|
+
if (imageNode) {
|
|
1149
|
+
return preferAvatar ? /* @__PURE__ */ jsx16(AvatarView2, { children: imageNode }) : imageNode;
|
|
1150
|
+
}
|
|
1151
|
+
if (iconNode) {
|
|
1152
|
+
return /* @__PURE__ */ jsx16(AvatarView2, { children: iconNode });
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1121
1156
|
// ../renderers/src/DecisionRenderer.tsx
|
|
1122
|
-
import { jsx as
|
|
1157
|
+
import { jsx as jsx17, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1123
1158
|
var DecisionRenderer = {
|
|
1124
1159
|
canRenderType: "decision",
|
|
1125
|
-
render: ({ margin, options, title }) => /* @__PURE__ */ jsxs3("div", { className: getMargin(margin), children: [
|
|
1126
|
-
title && /* @__PURE__ */
|
|
1127
|
-
/* @__PURE__ */
|
|
1160
|
+
render: ({ control, margin, options, title }) => /* @__PURE__ */ jsxs3("div", { className: getMargin(margin), children: [
|
|
1161
|
+
title && /* @__PURE__ */ jsx17(Header, { as: "h2", title }),
|
|
1162
|
+
/* @__PURE__ */ jsx17(NavigationOptionsList, { children: options.map((option) => {
|
|
1128
1163
|
const { description, disabled, icon, image, title: itemTitle, onClick } = option;
|
|
1129
|
-
return /* @__PURE__ */
|
|
1164
|
+
return /* @__PURE__ */ jsx17(
|
|
1130
1165
|
NavigationOption,
|
|
1131
1166
|
{
|
|
1132
1167
|
title: itemTitle,
|
|
1133
1168
|
content: description,
|
|
1134
1169
|
disabled,
|
|
1135
|
-
media: /* @__PURE__ */
|
|
1136
|
-
showMediaCircle:
|
|
1170
|
+
media: /* @__PURE__ */ jsx17(OptionMedia, { icon, image, preferAvatar: control === "with-avatar" }),
|
|
1171
|
+
showMediaCircle: false,
|
|
1137
1172
|
showMediaAtAllSizes: true,
|
|
1138
1173
|
onClick
|
|
1139
1174
|
},
|
|
@@ -1145,35 +1180,35 @@ var DecisionRenderer = {
|
|
|
1145
1180
|
var DecisionRenderer_default = DecisionRenderer;
|
|
1146
1181
|
|
|
1147
1182
|
// ../renderers/src/DividerRenderer.tsx
|
|
1148
|
-
import { jsx as
|
|
1183
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1149
1184
|
var DividerRenderer = {
|
|
1150
1185
|
canRenderType: "divider",
|
|
1151
|
-
render: ({ margin }) => /* @__PURE__ */
|
|
1186
|
+
render: ({ margin }) => /* @__PURE__ */ jsx18("hr", { className: `m-t-0 ${getMargin(margin)}` })
|
|
1152
1187
|
};
|
|
1153
1188
|
var DividerRenderer_default = DividerRenderer;
|
|
1154
1189
|
|
|
1155
1190
|
// ../renderers/src/FormRenderer.tsx
|
|
1156
|
-
import { jsx as
|
|
1191
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1157
1192
|
var FormRenderer = {
|
|
1158
1193
|
canRenderType: "form",
|
|
1159
|
-
render: ({ children, margin }) => /* @__PURE__ */
|
|
1194
|
+
render: ({ children, margin }) => /* @__PURE__ */ jsx19("div", { className: getMargin(margin), children })
|
|
1160
1195
|
};
|
|
1161
1196
|
var FormRenderer_default = FormRenderer;
|
|
1162
1197
|
|
|
1163
1198
|
// ../renderers/src/FormSectionRenderer.tsx
|
|
1164
1199
|
import { Header as Header2 } from "@transferwise/components";
|
|
1165
|
-
import { jsx as
|
|
1200
|
+
import { jsx as jsx20, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1166
1201
|
var FormSectionRenderer = {
|
|
1167
1202
|
canRenderType: "section",
|
|
1168
1203
|
render: ({ title, description, children }) => /* @__PURE__ */ jsxs4("fieldset", { children: [
|
|
1169
|
-
title && /* @__PURE__ */
|
|
1204
|
+
title && /* @__PURE__ */ jsx20(
|
|
1170
1205
|
Header2,
|
|
1171
1206
|
{
|
|
1172
1207
|
as: "h2",
|
|
1173
1208
|
title
|
|
1174
1209
|
}
|
|
1175
1210
|
),
|
|
1176
|
-
description && /* @__PURE__ */
|
|
1211
|
+
description && /* @__PURE__ */ jsx20("p", { children: description }),
|
|
1177
1212
|
children
|
|
1178
1213
|
] })
|
|
1179
1214
|
};
|
|
@@ -1181,36 +1216,36 @@ var FormSectionRenderer_default = FormSectionRenderer;
|
|
|
1181
1216
|
|
|
1182
1217
|
// ../renderers/src/HeadingRenderer.tsx
|
|
1183
1218
|
import { Display } from "@transferwise/components";
|
|
1184
|
-
import { jsx as
|
|
1219
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1185
1220
|
var HeadingRenderer = {
|
|
1186
1221
|
canRenderType: "heading",
|
|
1187
|
-
render: (props) => /* @__PURE__ */
|
|
1222
|
+
render: (props) => /* @__PURE__ */ jsx21(Heading, __spreadValues({}, props))
|
|
1188
1223
|
};
|
|
1189
1224
|
function Heading(props) {
|
|
1190
|
-
const { text, size
|
|
1225
|
+
const { text, size, align, margin, control } = props;
|
|
1191
1226
|
const className = getTextAlignmentAndMargin({ align, margin });
|
|
1192
|
-
return control === "display" ? /* @__PURE__ */
|
|
1227
|
+
return control === "display" ? /* @__PURE__ */ jsx21(DisplayHeading, { size, text, className }) : /* @__PURE__ */ jsx21(StandardHeading, { size, text, className });
|
|
1193
1228
|
}
|
|
1194
|
-
function DisplayHeading({ size
|
|
1195
|
-
return /* @__PURE__ */
|
|
1229
|
+
function DisplayHeading({ size, text, className }) {
|
|
1230
|
+
return /* @__PURE__ */ jsx21(Display, { type: getDisplayType(size), className, children: text });
|
|
1196
1231
|
}
|
|
1197
|
-
function StandardHeading({ size
|
|
1198
|
-
switch (
|
|
1232
|
+
function StandardHeading({ size, text, className }) {
|
|
1233
|
+
switch (size) {
|
|
1199
1234
|
case "xs":
|
|
1200
|
-
return /* @__PURE__ */
|
|
1235
|
+
return /* @__PURE__ */ jsx21("h5", { className, children: text });
|
|
1201
1236
|
case "sm":
|
|
1202
|
-
return /* @__PURE__ */
|
|
1237
|
+
return /* @__PURE__ */ jsx21("h4", { className, children: text });
|
|
1203
1238
|
case "lg":
|
|
1204
|
-
return /* @__PURE__ */
|
|
1239
|
+
return /* @__PURE__ */ jsx21("h2", { className, children: text });
|
|
1205
1240
|
case "xl":
|
|
1206
|
-
return /* @__PURE__ */
|
|
1241
|
+
return /* @__PURE__ */ jsx21("h1", { className, children: text });
|
|
1207
1242
|
case "md":
|
|
1208
1243
|
default:
|
|
1209
|
-
return /* @__PURE__ */
|
|
1244
|
+
return /* @__PURE__ */ jsx21("h3", { className, children: text });
|
|
1210
1245
|
}
|
|
1211
1246
|
}
|
|
1212
|
-
var getDisplayType = (
|
|
1213
|
-
switch (
|
|
1247
|
+
var getDisplayType = (size) => {
|
|
1248
|
+
switch (size) {
|
|
1214
1249
|
case "xs":
|
|
1215
1250
|
case "sm":
|
|
1216
1251
|
return "display-small";
|
|
@@ -1236,12 +1271,12 @@ function isRelativePath(url = "") {
|
|
|
1236
1271
|
}
|
|
1237
1272
|
|
|
1238
1273
|
// ../renderers/src/ImageRenderer/UrlImage.tsx
|
|
1239
|
-
import { jsx as
|
|
1274
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1240
1275
|
function UrlImage({
|
|
1241
1276
|
accessibilityDescription,
|
|
1242
1277
|
align,
|
|
1243
1278
|
margin,
|
|
1244
|
-
size
|
|
1279
|
+
size,
|
|
1245
1280
|
uri,
|
|
1246
1281
|
httpClient
|
|
1247
1282
|
}) {
|
|
@@ -1251,7 +1286,7 @@ function UrlImage({
|
|
|
1251
1286
|
void getImageSource(httpClient, uri).then(setImageSource);
|
|
1252
1287
|
}
|
|
1253
1288
|
}, [uri, httpClient]);
|
|
1254
|
-
return /* @__PURE__ */
|
|
1289
|
+
return /* @__PURE__ */ jsx22("div", { className: `df-image ${align} ${size || "md"}`, children: /* @__PURE__ */ jsx22(
|
|
1255
1290
|
Image,
|
|
1256
1291
|
{
|
|
1257
1292
|
className: `img-responsive ${getMargin(margin)}`,
|
|
@@ -1294,6 +1329,19 @@ var getImageSource = async (httpClient, imageUrl) => {
|
|
|
1294
1329
|
}
|
|
1295
1330
|
};
|
|
1296
1331
|
|
|
1332
|
+
// ../renderers/src/ImageRenderer/UrnFlagImage.tsx
|
|
1333
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1334
|
+
var maxFlagSize = 600;
|
|
1335
|
+
function UrnFlagImage({
|
|
1336
|
+
accessibilityDescription,
|
|
1337
|
+
align,
|
|
1338
|
+
margin,
|
|
1339
|
+
size,
|
|
1340
|
+
uri
|
|
1341
|
+
}) {
|
|
1342
|
+
return /* @__PURE__ */ jsx23("div", { className: `df-image ${align} ${size || "md"} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx23(UrnFlag, { size: maxFlagSize, urn: uri, accessibilityDescription }) });
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1297
1345
|
// ../renderers/src/ImageRenderer/UrnIllustration.tsx
|
|
1298
1346
|
import {
|
|
1299
1347
|
Illustration,
|
|
@@ -1315,23 +1363,23 @@ var isAnimated = (uri) => {
|
|
|
1315
1363
|
};
|
|
1316
1364
|
|
|
1317
1365
|
// ../renderers/src/ImageRenderer/UrnIllustration.tsx
|
|
1318
|
-
import { jsx as
|
|
1366
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1319
1367
|
var urnPrefix = "urn:wise:illustrations:";
|
|
1320
1368
|
var isUrnIllustration = (uri) => uri.startsWith(urnPrefix);
|
|
1321
1369
|
function UrnIllustration({
|
|
1322
1370
|
accessibilityDescription,
|
|
1323
1371
|
align,
|
|
1324
1372
|
margin,
|
|
1325
|
-
size
|
|
1373
|
+
size,
|
|
1326
1374
|
uri
|
|
1327
1375
|
}) {
|
|
1328
|
-
const illustrationSize = getIllustrationSize(
|
|
1376
|
+
const illustrationSize = getIllustrationSize(size);
|
|
1329
1377
|
const illustrationName = getIllustrationName(uri);
|
|
1330
1378
|
const illustration3DName = getIllustration3DName(uri);
|
|
1331
1379
|
if (illustration3DName && isAnimated(uri)) {
|
|
1332
|
-
return /* @__PURE__ */
|
|
1380
|
+
return /* @__PURE__ */ jsx24("div", { className: `df-image ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx24(Illustration3D, { name: illustration3DName, size: illustrationSize }) });
|
|
1333
1381
|
}
|
|
1334
|
-
return /* @__PURE__ */
|
|
1382
|
+
return /* @__PURE__ */ jsx24("div", { className: `df-image ${align} ${getMargin(margin)}`, children: /* @__PURE__ */ jsx24(
|
|
1335
1383
|
Illustration,
|
|
1336
1384
|
{
|
|
1337
1385
|
className: "df-illustration",
|
|
@@ -1341,7 +1389,7 @@ function UrnIllustration({
|
|
|
1341
1389
|
}
|
|
1342
1390
|
) });
|
|
1343
1391
|
}
|
|
1344
|
-
var getIllustrationSize = (
|
|
1392
|
+
var getIllustrationSize = (size) => ({ xs: "small", sm: "small", md: "medium", lg: "large", xl: "large" })[size] || "medium";
|
|
1345
1393
|
var getIllustrationName = (uri) => {
|
|
1346
1394
|
return uri.replace(urnPrefix, "").split("?")[0];
|
|
1347
1395
|
};
|
|
@@ -1351,21 +1399,24 @@ var getIllustration3DName = (uri) => {
|
|
|
1351
1399
|
};
|
|
1352
1400
|
|
|
1353
1401
|
// ../renderers/src/ImageRenderer/UrnImage.tsx
|
|
1354
|
-
import { jsx as
|
|
1402
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1355
1403
|
var isUrnImage = (uri) => uri.startsWith("urn:");
|
|
1356
1404
|
function UrnImage(props) {
|
|
1357
1405
|
const { uri } = props;
|
|
1358
1406
|
if (isUrnIllustration(uri)) {
|
|
1359
|
-
return /* @__PURE__ */
|
|
1407
|
+
return /* @__PURE__ */ jsx25(UrnIllustration, __spreadValues({}, props));
|
|
1408
|
+
}
|
|
1409
|
+
if (isUrnFlag(uri)) {
|
|
1410
|
+
return /* @__PURE__ */ jsx25(UrnFlagImage, __spreadValues({}, props));
|
|
1360
1411
|
}
|
|
1361
1412
|
return null;
|
|
1362
1413
|
}
|
|
1363
1414
|
|
|
1364
1415
|
// ../renderers/src/ImageRenderer/ImageRenderer.tsx
|
|
1365
|
-
import { jsx as
|
|
1416
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1366
1417
|
var ImageRenderer = {
|
|
1367
1418
|
canRenderType: "image",
|
|
1368
|
-
render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */
|
|
1419
|
+
render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */ jsx26(UrnImage, __spreadValues({}, props)) : /* @__PURE__ */ jsx26(UrlImage, __spreadValues({}, props))
|
|
1369
1420
|
};
|
|
1370
1421
|
|
|
1371
1422
|
// ../renderers/src/ImageRenderer/index.tsx
|
|
@@ -1373,7 +1424,7 @@ var ImageRenderer_default = ImageRenderer;
|
|
|
1373
1424
|
|
|
1374
1425
|
// ../renderers/src/InstructionsRenderer.tsx
|
|
1375
1426
|
import { Header as Header3, InstructionsList } from "@transferwise/components";
|
|
1376
|
-
import { jsx as
|
|
1427
|
+
import { jsx as jsx27, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1377
1428
|
var doContext = ["positive", "neutral"];
|
|
1378
1429
|
var dontContext = ["warning", "negative"];
|
|
1379
1430
|
var InstructionsRenderer = {
|
|
@@ -1382,8 +1433,8 @@ var InstructionsRenderer = {
|
|
|
1382
1433
|
const dos = items.filter((item) => doContext.includes(item.context)).map(({ text }) => text);
|
|
1383
1434
|
const donts = items.filter((item) => dontContext.includes(item.context)).map(({ text }) => text);
|
|
1384
1435
|
return /* @__PURE__ */ jsxs5("div", { className: getMargin(margin), children: [
|
|
1385
|
-
title ? /* @__PURE__ */
|
|
1386
|
-
/* @__PURE__ */
|
|
1436
|
+
title ? /* @__PURE__ */ jsx27(Header3, { title }) : null,
|
|
1437
|
+
/* @__PURE__ */ jsx27(InstructionsList, { dos, donts })
|
|
1387
1438
|
] });
|
|
1388
1439
|
}
|
|
1389
1440
|
};
|
|
@@ -1399,25 +1450,25 @@ var onWheel = (event) => {
|
|
|
1399
1450
|
}
|
|
1400
1451
|
};
|
|
1401
1452
|
|
|
1402
|
-
// ../renderers/src/utils/
|
|
1403
|
-
import { AvatarView as
|
|
1404
|
-
import { jsx as
|
|
1405
|
-
var
|
|
1406
|
-
function
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1453
|
+
// ../renderers/src/utils/getInlineAvatar.tsx
|
|
1454
|
+
import { AvatarView as AvatarView3 } from "@transferwise/components";
|
|
1455
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1456
|
+
var mediaSize2 = 24;
|
|
1457
|
+
function getInlineAvatar({ icon, image }) {
|
|
1458
|
+
const imageNode = getImageNode(image, mediaSize2);
|
|
1459
|
+
const iconNode = getIconNode(icon);
|
|
1460
|
+
const badge = getBadgedMedia(iconNode, imageNode, mediaSize2);
|
|
1461
|
+
if (badge) {
|
|
1462
|
+
return badge;
|
|
1412
1463
|
}
|
|
1413
|
-
if (
|
|
1414
|
-
return
|
|
1464
|
+
if (imageNode) {
|
|
1465
|
+
return imageNode;
|
|
1415
1466
|
}
|
|
1416
|
-
if (isNamedIcon2(icon)) {
|
|
1417
|
-
return
|
|
1467
|
+
if (isNamedIcon2(icon) && !isFlagIcon2(icon)) {
|
|
1468
|
+
return iconNode;
|
|
1418
1469
|
}
|
|
1419
|
-
if (
|
|
1420
|
-
return /* @__PURE__ */
|
|
1470
|
+
if (iconNode) {
|
|
1471
|
+
return /* @__PURE__ */ jsx28(AvatarView3, { size: mediaSize2, children: iconNode });
|
|
1421
1472
|
}
|
|
1422
1473
|
return null;
|
|
1423
1474
|
}
|
|
@@ -1426,7 +1477,7 @@ var isFlagIcon2 = (icon) => isNamedIcon2(icon) && icon.name.startsWith("flag-");
|
|
|
1426
1477
|
|
|
1427
1478
|
// ../renderers/src/utils/getInputGroupAddonStart.tsx
|
|
1428
1479
|
var getInputGroupAddonStart = ({ icon, image }) => {
|
|
1429
|
-
const content =
|
|
1480
|
+
const content = getInlineAvatar({ icon, image });
|
|
1430
1481
|
return content ? { content } : void 0;
|
|
1431
1482
|
};
|
|
1432
1483
|
|
|
@@ -1440,7 +1491,7 @@ function pick(obj, ...keys) {
|
|
|
1440
1491
|
}
|
|
1441
1492
|
|
|
1442
1493
|
// ../renderers/src/IntegerInputRenderer.tsx
|
|
1443
|
-
import { jsx as
|
|
1494
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1444
1495
|
var IntegerInputRenderer = {
|
|
1445
1496
|
canRenderType: "input-integer",
|
|
1446
1497
|
render: (props) => {
|
|
@@ -1455,7 +1506,7 @@ var IntegerInputRenderer = {
|
|
|
1455
1506
|
"maximum",
|
|
1456
1507
|
"minimum"
|
|
1457
1508
|
);
|
|
1458
|
-
return /* @__PURE__ */
|
|
1509
|
+
return /* @__PURE__ */ jsx29(
|
|
1459
1510
|
FieldInput_default,
|
|
1460
1511
|
{
|
|
1461
1512
|
id,
|
|
@@ -1463,7 +1514,7 @@ var IntegerInputRenderer = {
|
|
|
1463
1514
|
description,
|
|
1464
1515
|
validation: validationState,
|
|
1465
1516
|
help,
|
|
1466
|
-
children: /* @__PURE__ */
|
|
1517
|
+
children: /* @__PURE__ */ jsx29(InputGroup, { addonStart: getInputGroupAddonStart({ icon, image }), children: /* @__PURE__ */ jsx29(
|
|
1467
1518
|
Input,
|
|
1468
1519
|
__spreadValues({
|
|
1469
1520
|
id,
|
|
@@ -1487,13 +1538,13 @@ var IntegerInputRenderer_default = IntegerInputRenderer;
|
|
|
1487
1538
|
|
|
1488
1539
|
// ../renderers/src/LoadingIndicatorRenderer.tsx
|
|
1489
1540
|
import { Loader } from "@transferwise/components";
|
|
1490
|
-
import { jsx as
|
|
1541
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1491
1542
|
var LoadingIndicatorRenderer = {
|
|
1492
1543
|
canRenderType: "loading-indicator",
|
|
1493
|
-
render: ({ margin, size
|
|
1544
|
+
render: ({ margin, size }) => /* @__PURE__ */ jsx30(
|
|
1494
1545
|
Loader,
|
|
1495
1546
|
{
|
|
1496
|
-
size
|
|
1547
|
+
size,
|
|
1497
1548
|
classNames: { "tw-loader": `tw-loader m-x-auto ${getMargin(margin)}` },
|
|
1498
1549
|
"data-testid": "loading-indicator"
|
|
1499
1550
|
}
|
|
@@ -1503,28 +1554,28 @@ var LoadingIndicatorRenderer_default = LoadingIndicatorRenderer;
|
|
|
1503
1554
|
|
|
1504
1555
|
// ../renderers/src/MarkdownRenderer.tsx
|
|
1505
1556
|
import { Markdown as Markdown2 } from "@transferwise/components";
|
|
1506
|
-
import { jsx as
|
|
1557
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1507
1558
|
var MarkdownRenderer = {
|
|
1508
1559
|
canRenderType: "markdown",
|
|
1509
|
-
render: ({ content, align, margin }) => /* @__PURE__ */
|
|
1560
|
+
render: ({ content, align, margin }) => /* @__PURE__ */ jsx31("div", { className: getTextAlignmentAndMargin({ align, margin }), children: /* @__PURE__ */ jsx31(Markdown2, { config: { link: { target: "_blank" } }, children: content }) })
|
|
1510
1561
|
};
|
|
1511
1562
|
var MarkdownRenderer_default = MarkdownRenderer;
|
|
1512
1563
|
|
|
1513
1564
|
// ../renderers/src/ModalRenderer.tsx
|
|
1514
1565
|
import { Button as Button2, Modal } from "@transferwise/components";
|
|
1515
1566
|
import { useState as useState2 } from "react";
|
|
1516
|
-
import { jsx as
|
|
1567
|
+
import { jsx as jsx32, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1517
1568
|
var ModalRenderer = {
|
|
1518
1569
|
canRenderType: "modal",
|
|
1519
|
-
render: (props) => /* @__PURE__ */
|
|
1570
|
+
render: (props) => /* @__PURE__ */ jsx32(DFModal, __spreadValues({}, props))
|
|
1520
1571
|
};
|
|
1521
1572
|
var ModalRenderer_default = ModalRenderer;
|
|
1522
1573
|
function DFModal({ content, margin, trigger }) {
|
|
1523
1574
|
const [visible, setVisible] = useState2(false);
|
|
1524
1575
|
const { children, title } = content;
|
|
1525
1576
|
return /* @__PURE__ */ jsxs6("div", { className: getMargin(margin), children: [
|
|
1526
|
-
/* @__PURE__ */
|
|
1527
|
-
/* @__PURE__ */
|
|
1577
|
+
/* @__PURE__ */ jsx32(Button2, { priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
|
|
1578
|
+
/* @__PURE__ */ jsx32(
|
|
1528
1579
|
Modal,
|
|
1529
1580
|
{
|
|
1530
1581
|
scroll: "content",
|
|
@@ -1540,24 +1591,7 @@ function DFModal({ content, margin, trigger }) {
|
|
|
1540
1591
|
|
|
1541
1592
|
// ../renderers/src/MultiSelectInputRenderer.tsx
|
|
1542
1593
|
import { SelectInput, SelectInputOptionContent } from "@transferwise/components";
|
|
1543
|
-
|
|
1544
|
-
// ../renderers/src/SelectInputRenderer/OptionMedia.tsx
|
|
1545
|
-
import { Avatar as Avatar2, AvatarType as AvatarType2 } from "@transferwise/components";
|
|
1546
|
-
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1547
|
-
function OptionMedia({ icon, image }) {
|
|
1548
|
-
if (image && !image.uri.startsWith("urn:")) {
|
|
1549
|
-
return /* @__PURE__ */ jsx30("img", { src: image.uri, alt: image.accessibilityDescription || "", width: "64px" });
|
|
1550
|
-
}
|
|
1551
|
-
if (icon && "name" in icon) {
|
|
1552
|
-
return /* @__PURE__ */ jsx30(Avatar2, { type: AvatarType2.ICON, children: /* @__PURE__ */ jsx30(DynamicIcon_default, { name: icon.name }) });
|
|
1553
|
-
}
|
|
1554
|
-
if (icon && "text" in icon) {
|
|
1555
|
-
return /* @__PURE__ */ jsx30(Avatar2, { type: AvatarType2.INITIALS, children: icon.text });
|
|
1556
|
-
}
|
|
1557
|
-
return null;
|
|
1558
|
-
}
|
|
1559
|
-
|
|
1560
|
-
// ../renderers/src/MultiSelectInputRenderer.tsx
|
|
1594
|
+
import { useState as useState3 } from "react";
|
|
1561
1595
|
import { useIntl as useIntl2 } from "react-intl";
|
|
1562
1596
|
|
|
1563
1597
|
// ../renderers/src/messages/multi-select.messages.ts
|
|
@@ -1571,11 +1605,10 @@ var multi_select_messages_default = defineMessages2({
|
|
|
1571
1605
|
});
|
|
1572
1606
|
|
|
1573
1607
|
// ../renderers/src/MultiSelectInputRenderer.tsx
|
|
1574
|
-
import {
|
|
1575
|
-
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1608
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
1576
1609
|
var MultiSelectInputRenderer = {
|
|
1577
1610
|
canRenderType: "input-multi-select",
|
|
1578
|
-
render: (props) => /* @__PURE__ */
|
|
1611
|
+
render: (props) => /* @__PURE__ */ jsx33(MultiSelectInputRendererComponent, __spreadValues({}, props))
|
|
1579
1612
|
};
|
|
1580
1613
|
function MultiSelectInputRendererComponent(props) {
|
|
1581
1614
|
const { formatMessage } = useIntl2();
|
|
@@ -1617,12 +1650,12 @@ function MultiSelectInputRendererComponent(props) {
|
|
|
1617
1650
|
const contentProps = {
|
|
1618
1651
|
title: option.title,
|
|
1619
1652
|
description: option.description,
|
|
1620
|
-
icon: /* @__PURE__ */
|
|
1653
|
+
icon: /* @__PURE__ */ jsx33(OptionMedia, { icon: option.icon, image: option.image, preferAvatar: false })
|
|
1621
1654
|
};
|
|
1622
|
-
return /* @__PURE__ */
|
|
1655
|
+
return /* @__PURE__ */ jsx33(SelectInputOptionContent, __spreadValues({}, contentProps));
|
|
1623
1656
|
};
|
|
1624
1657
|
const extraProps = { autoComplete };
|
|
1625
|
-
return /* @__PURE__ */
|
|
1658
|
+
return /* @__PURE__ */ jsx33(
|
|
1626
1659
|
FieldInput_default,
|
|
1627
1660
|
{
|
|
1628
1661
|
id,
|
|
@@ -1630,7 +1663,7 @@ function MultiSelectInputRendererComponent(props) {
|
|
|
1630
1663
|
help,
|
|
1631
1664
|
description,
|
|
1632
1665
|
validation: validationState,
|
|
1633
|
-
children: /* @__PURE__ */
|
|
1666
|
+
children: /* @__PURE__ */ jsx33(
|
|
1634
1667
|
SelectInput,
|
|
1635
1668
|
__spreadValues({
|
|
1636
1669
|
id,
|
|
@@ -1674,7 +1707,7 @@ import { UploadInput } from "@transferwise/components";
|
|
|
1674
1707
|
// ../renderers/src/components/UploadFieldInput.tsx
|
|
1675
1708
|
import { InlineAlert } from "@transferwise/components";
|
|
1676
1709
|
import classNames3 from "classnames";
|
|
1677
|
-
import { jsx as
|
|
1710
|
+
import { jsx as jsx34, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1678
1711
|
function UploadFieldInput({
|
|
1679
1712
|
id,
|
|
1680
1713
|
children,
|
|
@@ -1683,7 +1716,7 @@ function UploadFieldInput({
|
|
|
1683
1716
|
help,
|
|
1684
1717
|
validation
|
|
1685
1718
|
}) {
|
|
1686
|
-
const labelContent = label && help ? /* @__PURE__ */
|
|
1719
|
+
const labelContent = label && help ? /* @__PURE__ */ jsx34(LabelContentWithHelp, { text: label, help }) : label;
|
|
1687
1720
|
const descriptionId = description ? `${id}-description` : void 0;
|
|
1688
1721
|
return /* @__PURE__ */ jsxs7(
|
|
1689
1722
|
"div",
|
|
@@ -1692,9 +1725,9 @@ function UploadFieldInput({
|
|
|
1692
1725
|
"has-error": (validation == null ? void 0 : validation.status) === "invalid"
|
|
1693
1726
|
}),
|
|
1694
1727
|
children: [
|
|
1695
|
-
/* @__PURE__ */
|
|
1728
|
+
/* @__PURE__ */ jsx34("label", { htmlFor: id, className: "control-label", children: labelContent }),
|
|
1696
1729
|
children,
|
|
1697
|
-
(validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */
|
|
1730
|
+
(validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx34(InlineAlert, { type: "negative", id: descriptionId, children: validation.message })
|
|
1698
1731
|
]
|
|
1699
1732
|
}
|
|
1700
1733
|
);
|
|
@@ -1723,7 +1756,7 @@ var getFileType = (base64Url) => {
|
|
|
1723
1756
|
};
|
|
1724
1757
|
|
|
1725
1758
|
// ../renderers/src/MultiUploadInputRenderer.tsx
|
|
1726
|
-
import { jsx as
|
|
1759
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1727
1760
|
var MultiUploadInputRenderer = {
|
|
1728
1761
|
canRenderType: "input-upload-multi",
|
|
1729
1762
|
render: (props) => {
|
|
@@ -1748,7 +1781,7 @@ var MultiUploadInputRenderer = {
|
|
|
1748
1781
|
};
|
|
1749
1782
|
const onDeleteFile = async (fileId) => onRemoveFile(value.findIndex((file) => file.id === fileId));
|
|
1750
1783
|
const descriptionId = description ? `${id}-description` : void 0;
|
|
1751
|
-
return /* @__PURE__ */
|
|
1784
|
+
return /* @__PURE__ */ jsx35(
|
|
1752
1785
|
UploadFieldInput_default,
|
|
1753
1786
|
{
|
|
1754
1787
|
id,
|
|
@@ -1756,7 +1789,7 @@ var MultiUploadInputRenderer = {
|
|
|
1756
1789
|
description,
|
|
1757
1790
|
validation: validationState,
|
|
1758
1791
|
help,
|
|
1759
|
-
children: /* @__PURE__ */
|
|
1792
|
+
children: /* @__PURE__ */ jsx35(
|
|
1760
1793
|
UploadInput,
|
|
1761
1794
|
{
|
|
1762
1795
|
id,
|
|
@@ -1780,7 +1813,7 @@ var MultiUploadInputRenderer_default = MultiUploadInputRenderer;
|
|
|
1780
1813
|
|
|
1781
1814
|
// ../renderers/src/NumberInputRenderer.tsx
|
|
1782
1815
|
import { Input as Input2, InputGroup as InputGroup2 } from "@transferwise/components";
|
|
1783
|
-
import { jsx as
|
|
1816
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1784
1817
|
var NumberInputRenderer = {
|
|
1785
1818
|
canRenderType: "input-number",
|
|
1786
1819
|
render: (props) => {
|
|
@@ -1794,7 +1827,7 @@ var NumberInputRenderer = {
|
|
|
1794
1827
|
"maximum",
|
|
1795
1828
|
"minimum"
|
|
1796
1829
|
);
|
|
1797
|
-
return /* @__PURE__ */
|
|
1830
|
+
return /* @__PURE__ */ jsx36(
|
|
1798
1831
|
FieldInput_default,
|
|
1799
1832
|
{
|
|
1800
1833
|
id,
|
|
@@ -1802,7 +1835,7 @@ var NumberInputRenderer = {
|
|
|
1802
1835
|
description,
|
|
1803
1836
|
validation: validationState,
|
|
1804
1837
|
help,
|
|
1805
|
-
children: /* @__PURE__ */
|
|
1838
|
+
children: /* @__PURE__ */ jsx36(InputGroup2, { addonStart: getInputGroupAddonStart({ icon, image }), children: /* @__PURE__ */ jsx36(
|
|
1806
1839
|
Input2,
|
|
1807
1840
|
__spreadValues({
|
|
1808
1841
|
id,
|
|
@@ -1854,17 +1887,17 @@ var paragraph_messages_default = defineMessages3({
|
|
|
1854
1887
|
});
|
|
1855
1888
|
|
|
1856
1889
|
// ../renderers/src/ParagraphRenderer.tsx
|
|
1857
|
-
import { jsx as
|
|
1890
|
+
import { jsx as jsx37, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1858
1891
|
var ParagraphRenderer = {
|
|
1859
1892
|
canRenderType: "paragraph",
|
|
1860
|
-
render: (props) => /* @__PURE__ */
|
|
1893
|
+
render: (props) => /* @__PURE__ */ jsx37(Paragraph, __spreadValues({}, props))
|
|
1861
1894
|
};
|
|
1862
1895
|
function Paragraph({ align, control, margin, text }) {
|
|
1863
1896
|
const className = getTextAlignmentAndMargin({ align, margin });
|
|
1864
|
-
return control === "copyable" ? /* @__PURE__ */
|
|
1897
|
+
return control === "copyable" ? /* @__PURE__ */ jsx37(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx37(StandardParagraph, { className, text });
|
|
1865
1898
|
}
|
|
1866
1899
|
function StandardParagraph({ text, className }) {
|
|
1867
|
-
return /* @__PURE__ */
|
|
1900
|
+
return /* @__PURE__ */ jsx37("p", { className: `np-text-body-large ${className}`, children: text });
|
|
1868
1901
|
}
|
|
1869
1902
|
function CopyableParagraph({
|
|
1870
1903
|
text,
|
|
@@ -1879,7 +1912,7 @@ function CopyableParagraph({
|
|
|
1879
1912
|
};
|
|
1880
1913
|
const inputAlignmentClasses = getTextAlignmentAndMargin({ align, margin: "sm" });
|
|
1881
1914
|
return /* @__PURE__ */ jsxs8("div", { className, children: [
|
|
1882
|
-
/* @__PURE__ */
|
|
1915
|
+
/* @__PURE__ */ jsx37(
|
|
1883
1916
|
Input3,
|
|
1884
1917
|
{
|
|
1885
1918
|
type: "text",
|
|
@@ -1888,15 +1921,16 @@ function CopyableParagraph({
|
|
|
1888
1921
|
className: classNames4("text-ellipsis", inputAlignmentClasses)
|
|
1889
1922
|
}
|
|
1890
1923
|
),
|
|
1891
|
-
/* @__PURE__ */
|
|
1924
|
+
/* @__PURE__ */ jsx37(Button3, { block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
|
|
1892
1925
|
] });
|
|
1893
1926
|
}
|
|
1894
1927
|
var ParagraphRenderer_default = ParagraphRenderer;
|
|
1895
1928
|
|
|
1896
1929
|
// ../renderers/src/RepeatableRenderer.tsx
|
|
1897
|
-
import { Button as Button4, Header as Header4,
|
|
1898
|
-
import { useState as useState4 } from "react";
|
|
1930
|
+
import { Button as Button4, Header as Header4, InlineAlert as InlineAlert2, Modal as Modal2, NavigationOption as NavigationOption2 } from "@transferwise/components";
|
|
1899
1931
|
import { Plus } from "@transferwise/icons";
|
|
1932
|
+
import classNames5 from "classnames";
|
|
1933
|
+
import { useState as useState4 } from "react";
|
|
1900
1934
|
import { useIntl as useIntl4 } from "react-intl";
|
|
1901
1935
|
|
|
1902
1936
|
// ../renderers/src/messages/repeatable.messages.ts
|
|
@@ -1925,11 +1959,10 @@ var repeatable_messages_default = defineMessages4({
|
|
|
1925
1959
|
});
|
|
1926
1960
|
|
|
1927
1961
|
// ../renderers/src/RepeatableRenderer.tsx
|
|
1928
|
-
import
|
|
1929
|
-
import { Fragment, jsx as jsx36, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1962
|
+
import { Fragment, jsx as jsx38, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1930
1963
|
var RepeatableRenderer = {
|
|
1931
1964
|
canRenderType: "repeatable",
|
|
1932
|
-
render: (props) => /* @__PURE__ */
|
|
1965
|
+
render: (props) => /* @__PURE__ */ jsx38(Repeatable, __spreadValues({}, props))
|
|
1933
1966
|
};
|
|
1934
1967
|
function Repeatable(props) {
|
|
1935
1968
|
const {
|
|
@@ -1969,8 +2002,8 @@ function Repeatable(props) {
|
|
|
1969
2002
|
setOpenModalType(null);
|
|
1970
2003
|
};
|
|
1971
2004
|
return /* @__PURE__ */ jsxs9(Fragment, { children: [
|
|
1972
|
-
title && /* @__PURE__ */
|
|
1973
|
-
description && /* @__PURE__ */
|
|
2005
|
+
title && /* @__PURE__ */ jsx38(Header4, { title }),
|
|
2006
|
+
description && /* @__PURE__ */ jsx38("p", { children: description }),
|
|
1974
2007
|
/* @__PURE__ */ jsxs9(
|
|
1975
2008
|
"div",
|
|
1976
2009
|
{
|
|
@@ -1978,30 +2011,30 @@ function Repeatable(props) {
|
|
|
1978
2011
|
"has-error": (validationState == null ? void 0 : validationState.status) === "invalid"
|
|
1979
2012
|
}),
|
|
1980
2013
|
children: [
|
|
1981
|
-
items == null ? void 0 : items.map((item, index) => /* @__PURE__ */
|
|
1982
|
-
/* @__PURE__ */
|
|
2014
|
+
items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx38(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
|
|
2015
|
+
/* @__PURE__ */ jsx38(
|
|
1983
2016
|
NavigationOption2,
|
|
1984
2017
|
{
|
|
1985
|
-
media: /* @__PURE__ */
|
|
2018
|
+
media: /* @__PURE__ */ jsx38(Plus, {}),
|
|
1986
2019
|
title: addItemTitle || formatMessage(repeatable_messages_default.addItemTitle),
|
|
1987
2020
|
showMediaAtAllSizes: true,
|
|
1988
2021
|
onClick: () => onAddItem()
|
|
1989
2022
|
}
|
|
1990
2023
|
),
|
|
1991
|
-
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */
|
|
2024
|
+
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx38(InlineAlert2, { type: "negative", children: validationState.message })
|
|
1992
2025
|
]
|
|
1993
2026
|
}
|
|
1994
2027
|
),
|
|
1995
|
-
/* @__PURE__ */
|
|
2028
|
+
/* @__PURE__ */ jsx38(
|
|
1996
2029
|
Modal2,
|
|
1997
2030
|
{
|
|
1998
2031
|
open: openModalType !== null,
|
|
1999
2032
|
title: (openModalType === "add" ? addItemTitle : editItemTitle) || formatMessage(repeatable_messages_default.addItemTitle),
|
|
2000
2033
|
body: /* @__PURE__ */ jsxs9(Fragment, { children: [
|
|
2001
|
-
/* @__PURE__ */
|
|
2034
|
+
/* @__PURE__ */ jsx38("div", { className: "m-b-2", children: editableItem }),
|
|
2002
2035
|
/* @__PURE__ */ jsxs9("div", { children: [
|
|
2003
|
-
/* @__PURE__ */
|
|
2004
|
-
/* @__PURE__ */
|
|
2036
|
+
/* @__PURE__ */ jsx38(Button4, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
|
|
2037
|
+
/* @__PURE__ */ jsx38(Button4, { priority: "secondary", type: "negative", block: true, onClick: () => onRemoveItem(), children: formatMessage(repeatable_messages_default.removeItem) })
|
|
2005
2038
|
] })
|
|
2006
2039
|
] }),
|
|
2007
2040
|
onClose: () => onCancelEdit()
|
|
@@ -2013,10 +2046,10 @@ function ItemSummaryOption({
|
|
|
2013
2046
|
item,
|
|
2014
2047
|
onClick
|
|
2015
2048
|
}) {
|
|
2016
|
-
return /* @__PURE__ */
|
|
2049
|
+
return /* @__PURE__ */ jsx38(
|
|
2017
2050
|
NavigationOption2,
|
|
2018
2051
|
{
|
|
2019
|
-
media: /* @__PURE__ */
|
|
2052
|
+
media: /* @__PURE__ */ jsx38(OptionMedia, __spreadProps(__spreadValues({}, item), { preferAvatar: false })),
|
|
2020
2053
|
title: item.title,
|
|
2021
2054
|
content: item.description,
|
|
2022
2055
|
showMediaAtAllSizes: true,
|
|
@@ -2066,7 +2099,7 @@ var generic_error_messages_default = defineMessages6({
|
|
|
2066
2099
|
|
|
2067
2100
|
// ../renderers/src/SearchRenderer/ErrorResult.tsx
|
|
2068
2101
|
import { Button as Button5 } from "@transferwise/components";
|
|
2069
|
-
import { jsx as
|
|
2102
|
+
import { jsx as jsx39, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2070
2103
|
function ErrorResult({ state }) {
|
|
2071
2104
|
const intl = useIntl5();
|
|
2072
2105
|
const buttonVisualProps = {
|
|
@@ -2077,7 +2110,7 @@ function ErrorResult({ state }) {
|
|
|
2077
2110
|
return /* @__PURE__ */ jsxs10("p", { className: "m-t-2", children: [
|
|
2078
2111
|
intl.formatMessage(generic_error_messages_default.genericError),
|
|
2079
2112
|
"\xA0",
|
|
2080
|
-
/* @__PURE__ */
|
|
2113
|
+
/* @__PURE__ */ jsx39(
|
|
2081
2114
|
Button5,
|
|
2082
2115
|
__spreadProps(__spreadValues({}, buttonVisualProps), {
|
|
2083
2116
|
onClick: () => {
|
|
@@ -2090,7 +2123,7 @@ function ErrorResult({ state }) {
|
|
|
2090
2123
|
}
|
|
2091
2124
|
|
|
2092
2125
|
// ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
|
|
2093
|
-
import { Fragment as Fragment2, jsx as
|
|
2126
|
+
import { Fragment as Fragment2, jsx as jsx40, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2094
2127
|
function BlockSearchRendererComponent({
|
|
2095
2128
|
id,
|
|
2096
2129
|
isLoading,
|
|
@@ -2104,7 +2137,7 @@ function BlockSearchRendererComponent({
|
|
|
2104
2137
|
const [hasSearched, setHasSearched] = useState5(false);
|
|
2105
2138
|
const { formatMessage } = useIntl6();
|
|
2106
2139
|
return /* @__PURE__ */ jsxs11("div", { className: getMargin(margin), children: [
|
|
2107
|
-
/* @__PURE__ */
|
|
2140
|
+
/* @__PURE__ */ jsx40(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx40(
|
|
2108
2141
|
Input4,
|
|
2109
2142
|
{
|
|
2110
2143
|
id,
|
|
@@ -2121,7 +2154,7 @@ function BlockSearchRendererComponent({
|
|
|
2121
2154
|
}
|
|
2122
2155
|
}
|
|
2123
2156
|
) }),
|
|
2124
|
-
isLoading ? /* @__PURE__ */
|
|
2157
|
+
isLoading ? /* @__PURE__ */ jsx40(Fragment2, { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx40(SearchResultContent, { state, trackEvent })
|
|
2125
2158
|
] });
|
|
2126
2159
|
}
|
|
2127
2160
|
function SearchResultContent({
|
|
@@ -2130,31 +2163,31 @@ function SearchResultContent({
|
|
|
2130
2163
|
}) {
|
|
2131
2164
|
switch (state.type) {
|
|
2132
2165
|
case "error":
|
|
2133
|
-
return /* @__PURE__ */
|
|
2166
|
+
return /* @__PURE__ */ jsx40(ErrorResult, { state });
|
|
2134
2167
|
case "results":
|
|
2135
|
-
return /* @__PURE__ */
|
|
2168
|
+
return /* @__PURE__ */ jsx40(SearchResults, { state, trackEvent });
|
|
2136
2169
|
case "noResults":
|
|
2137
|
-
return /* @__PURE__ */
|
|
2170
|
+
return /* @__PURE__ */ jsx40(EmptySearchResult, { state });
|
|
2138
2171
|
case "pending":
|
|
2139
2172
|
default:
|
|
2140
2173
|
return null;
|
|
2141
2174
|
}
|
|
2142
2175
|
}
|
|
2143
2176
|
function EmptySearchResult({ state }) {
|
|
2144
|
-
return /* @__PURE__ */
|
|
2177
|
+
return /* @__PURE__ */ jsx40(Markdown3, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
|
|
2145
2178
|
}
|
|
2146
2179
|
function SearchResults({
|
|
2147
2180
|
state,
|
|
2148
2181
|
trackEvent
|
|
2149
2182
|
}) {
|
|
2150
|
-
return /* @__PURE__ */
|
|
2183
|
+
return /* @__PURE__ */ jsx40(NavigationOptionsList2, { children: state.results.map((result) => {
|
|
2151
2184
|
const { icon, image } = result;
|
|
2152
|
-
return /* @__PURE__ */
|
|
2185
|
+
return /* @__PURE__ */ jsx40(
|
|
2153
2186
|
NavigationOption3,
|
|
2154
2187
|
{
|
|
2155
2188
|
title: result.title,
|
|
2156
2189
|
content: result.description,
|
|
2157
|
-
media:
|
|
2190
|
+
media: OptionMedia({ icon, image, preferAvatar: false }),
|
|
2158
2191
|
showMediaCircle: false,
|
|
2159
2192
|
showMediaAtAllSizes: true,
|
|
2160
2193
|
onClick: () => {
|
|
@@ -2175,7 +2208,7 @@ import { Markdown as Markdown4, Typeahead } from "@transferwise/components";
|
|
|
2175
2208
|
import { Search } from "@transferwise/icons";
|
|
2176
2209
|
import { useState as useState6 } from "react";
|
|
2177
2210
|
import { useIntl as useIntl7 } from "react-intl";
|
|
2178
|
-
import { jsx as
|
|
2211
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
2179
2212
|
function InlineSearchRenderer({
|
|
2180
2213
|
id,
|
|
2181
2214
|
isLoading,
|
|
@@ -2187,7 +2220,7 @@ function InlineSearchRenderer({
|
|
|
2187
2220
|
}) {
|
|
2188
2221
|
const [hasSearched, setHasSearched] = useState6(false);
|
|
2189
2222
|
const intl = useIntl7();
|
|
2190
|
-
return /* @__PURE__ */
|
|
2223
|
+
return /* @__PURE__ */ jsx41("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx41(FieldInput_default, { id, description: "", validation: void 0, help: "", label: title, children: /* @__PURE__ */ jsx41(
|
|
2191
2224
|
Typeahead,
|
|
2192
2225
|
{
|
|
2193
2226
|
id: "typeahead-input-id",
|
|
@@ -2195,10 +2228,10 @@ function InlineSearchRenderer({
|
|
|
2195
2228
|
name: "typeahead-input-name",
|
|
2196
2229
|
size: "md",
|
|
2197
2230
|
maxHeight: 100,
|
|
2198
|
-
footer: /* @__PURE__ */
|
|
2231
|
+
footer: /* @__PURE__ */ jsx41(TypeaheadFooter, { state, isLoading }),
|
|
2199
2232
|
multiple: false,
|
|
2200
2233
|
clearable: false,
|
|
2201
|
-
addon: /* @__PURE__ */
|
|
2234
|
+
addon: /* @__PURE__ */ jsx41(Search, { size: 24 }),
|
|
2202
2235
|
options: state.type === "results" ? state.results.map(mapResultToTypeaheadOption) : [],
|
|
2203
2236
|
minQueryLength: 1,
|
|
2204
2237
|
onChange: (values) => {
|
|
@@ -2235,29 +2268,29 @@ function mapResultToTypeaheadOption(result) {
|
|
|
2235
2268
|
function TypeaheadFooter({ state, isLoading }) {
|
|
2236
2269
|
const { formatMessage } = useIntl7();
|
|
2237
2270
|
if (state.type === "noResults") {
|
|
2238
|
-
return /* @__PURE__ */
|
|
2271
|
+
return /* @__PURE__ */ jsx41(Markdown4, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
|
|
2239
2272
|
}
|
|
2240
2273
|
if (state.type === "error") {
|
|
2241
|
-
return /* @__PURE__ */
|
|
2274
|
+
return /* @__PURE__ */ jsx41("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx41(ErrorResult, { state }) });
|
|
2242
2275
|
}
|
|
2243
2276
|
if (state.type === "pending" || isLoading) {
|
|
2244
|
-
return /* @__PURE__ */
|
|
2277
|
+
return /* @__PURE__ */ jsx41("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
|
|
2245
2278
|
}
|
|
2246
2279
|
return null;
|
|
2247
2280
|
}
|
|
2248
2281
|
var InlineSearchRendererComponent_default = InlineSearchRenderer;
|
|
2249
2282
|
|
|
2250
2283
|
// ../renderers/src/SearchRenderer/SearchRenderer.tsx
|
|
2251
|
-
import { jsx as
|
|
2284
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
2252
2285
|
var SearchRenderer = {
|
|
2253
2286
|
canRenderType: "search",
|
|
2254
|
-
render: (props) => props.control === "inline" ? /* @__PURE__ */
|
|
2287
|
+
render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx42(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx42(BlockSearchRendererComponent_default, __spreadValues({}, props))
|
|
2255
2288
|
};
|
|
2256
2289
|
var SearchRenderer_default = SearchRenderer;
|
|
2257
2290
|
|
|
2258
2291
|
// ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
|
|
2259
2292
|
import { RadioGroup } from "@transferwise/components";
|
|
2260
|
-
import { Fragment as Fragment3, jsx as
|
|
2293
|
+
import { Fragment as Fragment3, jsx as jsx43, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2261
2294
|
function RadioInputRendererComponent(props) {
|
|
2262
2295
|
const {
|
|
2263
2296
|
id,
|
|
@@ -2272,7 +2305,7 @@ function RadioInputRendererComponent(props) {
|
|
|
2272
2305
|
onSelect
|
|
2273
2306
|
} = props;
|
|
2274
2307
|
return /* @__PURE__ */ jsxs12(Fragment3, { children: [
|
|
2275
|
-
/* @__PURE__ */
|
|
2308
|
+
/* @__PURE__ */ jsx43(
|
|
2276
2309
|
FieldInput_default,
|
|
2277
2310
|
{
|
|
2278
2311
|
id,
|
|
@@ -2280,7 +2313,7 @@ function RadioInputRendererComponent(props) {
|
|
|
2280
2313
|
help,
|
|
2281
2314
|
description,
|
|
2282
2315
|
validation: validationState,
|
|
2283
|
-
children: /* @__PURE__ */
|
|
2316
|
+
children: /* @__PURE__ */ jsx43("span", { children: /* @__PURE__ */ jsx43(
|
|
2284
2317
|
RadioGroup,
|
|
2285
2318
|
{
|
|
2286
2319
|
name: id,
|
|
@@ -2289,7 +2322,7 @@ function RadioInputRendererComponent(props) {
|
|
|
2289
2322
|
value: index,
|
|
2290
2323
|
secondary: option.description,
|
|
2291
2324
|
disabled: option.disabled || disabled,
|
|
2292
|
-
avatar: /* @__PURE__ */
|
|
2325
|
+
avatar: /* @__PURE__ */ jsx43(OptionMedia, { icon: option.icon, image: option.image, preferAvatar: false })
|
|
2293
2326
|
})),
|
|
2294
2327
|
selectedValue: selectedIndex != null ? selectedIndex : void 0,
|
|
2295
2328
|
onChange: onSelect
|
|
@@ -2305,7 +2338,7 @@ function RadioInputRendererComponent(props) {
|
|
|
2305
2338
|
// ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
|
|
2306
2339
|
import { Tabs } from "@transferwise/components";
|
|
2307
2340
|
import { useEffect as useEffect2 } from "react";
|
|
2308
|
-
import { Fragment as Fragment4, jsx as
|
|
2341
|
+
import { Fragment as Fragment4, jsx as jsx44, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2309
2342
|
function TabInputRendererComponent(props) {
|
|
2310
2343
|
const {
|
|
2311
2344
|
id,
|
|
@@ -2325,7 +2358,7 @@ function TabInputRendererComponent(props) {
|
|
|
2325
2358
|
}
|
|
2326
2359
|
}, [selectedIndex, onSelect, options.length]);
|
|
2327
2360
|
return /* @__PURE__ */ jsxs13(Fragment4, { children: [
|
|
2328
|
-
/* @__PURE__ */
|
|
2361
|
+
/* @__PURE__ */ jsx44(
|
|
2329
2362
|
FieldInput_default,
|
|
2330
2363
|
{
|
|
2331
2364
|
id,
|
|
@@ -2333,7 +2366,7 @@ function TabInputRendererComponent(props) {
|
|
|
2333
2366
|
help,
|
|
2334
2367
|
description,
|
|
2335
2368
|
validation: validationState,
|
|
2336
|
-
children: /* @__PURE__ */
|
|
2369
|
+
children: /* @__PURE__ */ jsx44(
|
|
2337
2370
|
Tabs,
|
|
2338
2371
|
{
|
|
2339
2372
|
name: id,
|
|
@@ -2342,7 +2375,7 @@ function TabInputRendererComponent(props) {
|
|
|
2342
2375
|
title: option.title,
|
|
2343
2376
|
// if we pass null, we get some props-types console errors
|
|
2344
2377
|
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
2345
|
-
content: /* @__PURE__ */
|
|
2378
|
+
content: /* @__PURE__ */ jsx44(Fragment4, {}),
|
|
2346
2379
|
disabled: option.disabled || disabled
|
|
2347
2380
|
})),
|
|
2348
2381
|
onTabSelect: onSelect
|
|
@@ -2357,7 +2390,7 @@ var isValidIndex = (index, options) => index !== null && index >= 0 && index < o
|
|
|
2357
2390
|
|
|
2358
2391
|
// ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
|
|
2359
2392
|
import { SelectInput as SelectInput2, SelectInputOptionContent as SelectInputOptionContent2 } from "@transferwise/components";
|
|
2360
|
-
import { Fragment as Fragment5, jsx as
|
|
2393
|
+
import { Fragment as Fragment5, jsx as jsx45, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2361
2394
|
function SelectInputRendererComponent(props) {
|
|
2362
2395
|
const {
|
|
2363
2396
|
id,
|
|
@@ -2393,17 +2426,17 @@ function SelectInputRendererComponent(props) {
|
|
|
2393
2426
|
const contentProps = withinTrigger ? {
|
|
2394
2427
|
title: option.title,
|
|
2395
2428
|
note: option.description,
|
|
2396
|
-
icon:
|
|
2429
|
+
icon: getInlineAvatar(option)
|
|
2397
2430
|
} : {
|
|
2398
2431
|
title: option.title,
|
|
2399
2432
|
description: option.description,
|
|
2400
|
-
icon: /* @__PURE__ */
|
|
2433
|
+
icon: /* @__PURE__ */ jsx45(OptionMedia, { icon: option.icon, image: option.image, preferAvatar: false })
|
|
2401
2434
|
};
|
|
2402
|
-
return /* @__PURE__ */
|
|
2435
|
+
return /* @__PURE__ */ jsx45(SelectInputOptionContent2, __spreadValues({}, contentProps));
|
|
2403
2436
|
};
|
|
2404
2437
|
const extraProps = { autoComplete };
|
|
2405
2438
|
return /* @__PURE__ */ jsxs14(Fragment5, { children: [
|
|
2406
|
-
/* @__PURE__ */
|
|
2439
|
+
/* @__PURE__ */ jsx45(
|
|
2407
2440
|
FieldInput_default,
|
|
2408
2441
|
{
|
|
2409
2442
|
id,
|
|
@@ -2411,7 +2444,7 @@ function SelectInputRendererComponent(props) {
|
|
|
2411
2444
|
help,
|
|
2412
2445
|
description,
|
|
2413
2446
|
validation: validationState,
|
|
2414
|
-
children: /* @__PURE__ */
|
|
2447
|
+
children: /* @__PURE__ */ jsx45(
|
|
2415
2448
|
SelectInput2,
|
|
2416
2449
|
__spreadValues({
|
|
2417
2450
|
name: id,
|
|
@@ -2434,7 +2467,7 @@ function SelectInputRendererComponent(props) {
|
|
|
2434
2467
|
// ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
|
|
2435
2468
|
import { useEffect as useEffect3 } from "react";
|
|
2436
2469
|
import { SegmentedControl } from "@transferwise/components";
|
|
2437
|
-
import { Fragment as Fragment6, jsx as
|
|
2470
|
+
import { Fragment as Fragment6, jsx as jsx46, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2438
2471
|
function SegmentedInputRendererComponent(props) {
|
|
2439
2472
|
const {
|
|
2440
2473
|
id,
|
|
@@ -2453,7 +2486,7 @@ function SegmentedInputRendererComponent(props) {
|
|
|
2453
2486
|
}
|
|
2454
2487
|
}, [selectedIndex, onSelect, options.length]);
|
|
2455
2488
|
return /* @__PURE__ */ jsxs15(Fragment6, { children: [
|
|
2456
|
-
/* @__PURE__ */
|
|
2489
|
+
/* @__PURE__ */ jsx46(
|
|
2457
2490
|
FieldInput_default,
|
|
2458
2491
|
{
|
|
2459
2492
|
id,
|
|
@@ -2461,7 +2494,7 @@ function SegmentedInputRendererComponent(props) {
|
|
|
2461
2494
|
help,
|
|
2462
2495
|
description,
|
|
2463
2496
|
validation: validationState,
|
|
2464
|
-
children: /* @__PURE__ */
|
|
2497
|
+
children: /* @__PURE__ */ jsx46(
|
|
2465
2498
|
SegmentedControl,
|
|
2466
2499
|
{
|
|
2467
2500
|
name: `${id}-segmented-control`,
|
|
@@ -2478,26 +2511,26 @@ function SegmentedInputRendererComponent(props) {
|
|
|
2478
2511
|
)
|
|
2479
2512
|
}
|
|
2480
2513
|
),
|
|
2481
|
-
/* @__PURE__ */
|
|
2514
|
+
/* @__PURE__ */ jsx46("div", { id: `${id}-children`, children })
|
|
2482
2515
|
] });
|
|
2483
2516
|
}
|
|
2484
2517
|
var isValidIndex2 = (index, options) => index !== null && index >= 0 && index < options;
|
|
2485
2518
|
|
|
2486
2519
|
// ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
|
|
2487
|
-
import { jsx as
|
|
2520
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
2488
2521
|
var SelectInputRenderer = {
|
|
2489
2522
|
canRenderType: "input-select",
|
|
2490
2523
|
render: (props) => {
|
|
2491
2524
|
switch (props.control) {
|
|
2492
2525
|
case "radio":
|
|
2493
|
-
return /* @__PURE__ */
|
|
2526
|
+
return /* @__PURE__ */ jsx47(RadioInputRendererComponent, __spreadValues({}, props));
|
|
2494
2527
|
case "tab":
|
|
2495
|
-
return props.options.length > 3 ? /* @__PURE__ */
|
|
2528
|
+
return props.options.length > 3 ? /* @__PURE__ */ jsx47(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx47(TabInputRendererComponent, __spreadValues({}, props));
|
|
2496
2529
|
case "segmented":
|
|
2497
|
-
return props.options.length > 3 ? /* @__PURE__ */
|
|
2530
|
+
return props.options.length > 3 ? /* @__PURE__ */ jsx47(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx47(SegmentedInputRendererComponent, __spreadValues({}, props));
|
|
2498
2531
|
case "select":
|
|
2499
2532
|
default:
|
|
2500
|
-
return /* @__PURE__ */
|
|
2533
|
+
return /* @__PURE__ */ jsx47(SelectInputRendererComponent, __spreadValues({}, props));
|
|
2501
2534
|
}
|
|
2502
2535
|
}
|
|
2503
2536
|
};
|
|
@@ -2505,17 +2538,17 @@ var SelectInputRenderer_default = SelectInputRenderer;
|
|
|
2505
2538
|
|
|
2506
2539
|
// ../renderers/src/StatusListRenderer.tsx
|
|
2507
2540
|
import { Header as Header5, Summary } from "@transferwise/components";
|
|
2508
|
-
import { jsx as
|
|
2541
|
+
import { jsx as jsx48, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2509
2542
|
var StatusListRenderer = {
|
|
2510
2543
|
canRenderType: "status-list",
|
|
2511
2544
|
render: ({ margin, items, title }) => /* @__PURE__ */ jsxs16("div", { className: getMargin(margin), children: [
|
|
2512
|
-
title ? /* @__PURE__ */
|
|
2513
|
-
items.map(({ callToAction, description, icon, status, title: itemTitle }) => /* @__PURE__ */
|
|
2545
|
+
title ? /* @__PURE__ */ jsx48(Header5, { title, className: "m-b-2" }) : null,
|
|
2546
|
+
items.map(({ callToAction, description, icon, status, title: itemTitle }) => /* @__PURE__ */ jsx48(
|
|
2514
2547
|
Summary,
|
|
2515
2548
|
{
|
|
2516
2549
|
title: itemTitle,
|
|
2517
2550
|
description,
|
|
2518
|
-
icon: icon && "name" in icon ? /* @__PURE__ */
|
|
2551
|
+
icon: icon && "name" in icon ? /* @__PURE__ */ jsx48(DynamicIcon_default, { name: icon.name }) : null,
|
|
2519
2552
|
status: mapStatus(status),
|
|
2520
2553
|
action: getSummaryAction(callToAction)
|
|
2521
2554
|
},
|
|
@@ -2561,7 +2594,7 @@ import {
|
|
|
2561
2594
|
TextArea,
|
|
2562
2595
|
TextareaWithDisplayFormat
|
|
2563
2596
|
} from "@transferwise/components";
|
|
2564
|
-
import { jsx as
|
|
2597
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
2565
2598
|
var commonKeys = [
|
|
2566
2599
|
"autoComplete",
|
|
2567
2600
|
"autoCapitalize",
|
|
@@ -2580,12 +2613,12 @@ function VariableTextInput(inputProps) {
|
|
|
2580
2613
|
const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
|
|
2581
2614
|
switch (control) {
|
|
2582
2615
|
case "email":
|
|
2583
|
-
return /* @__PURE__ */
|
|
2616
|
+
return /* @__PURE__ */ jsx49(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
|
|
2584
2617
|
case "password":
|
|
2585
|
-
return /* @__PURE__ */
|
|
2618
|
+
return /* @__PURE__ */ jsx49(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
|
|
2586
2619
|
case "numeric": {
|
|
2587
2620
|
const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
|
|
2588
|
-
return /* @__PURE__ */
|
|
2621
|
+
return /* @__PURE__ */ jsx49(
|
|
2589
2622
|
TextInput,
|
|
2590
2623
|
__spreadProps(__spreadValues({}, numericProps), {
|
|
2591
2624
|
onChange: (newValue) => onChange(numericValueOrNull(newValue))
|
|
@@ -2593,9 +2626,9 @@ function VariableTextInput(inputProps) {
|
|
|
2593
2626
|
);
|
|
2594
2627
|
}
|
|
2595
2628
|
case "phone-number":
|
|
2596
|
-
return /* @__PURE__ */
|
|
2629
|
+
return /* @__PURE__ */ jsx49(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
|
|
2597
2630
|
default: {
|
|
2598
|
-
return /* @__PURE__ */
|
|
2631
|
+
return /* @__PURE__ */ jsx49(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
|
|
2599
2632
|
}
|
|
2600
2633
|
}
|
|
2601
2634
|
}
|
|
@@ -2603,11 +2636,11 @@ function TextInput(props) {
|
|
|
2603
2636
|
const _a = props, { control, displayFormat, onChange } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange"]);
|
|
2604
2637
|
const InputWithPattern = control === "textarea" ? TextareaWithDisplayFormat : InputWithDisplayFormat;
|
|
2605
2638
|
const InputWithoutPattern = control === "textarea" ? TextArea : Input5;
|
|
2606
|
-
return displayFormat ? /* @__PURE__ */
|
|
2639
|
+
return displayFormat ? /* @__PURE__ */ jsx49(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ jsx49(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { onChange: (e) => onChange(e.target.value) }));
|
|
2607
2640
|
}
|
|
2608
2641
|
|
|
2609
2642
|
// ../renderers/src/TextInputRenderer.tsx
|
|
2610
|
-
import { jsx as
|
|
2643
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
2611
2644
|
var TextInputRenderer = {
|
|
2612
2645
|
canRenderType: "input-text",
|
|
2613
2646
|
render: (props) => {
|
|
@@ -2642,7 +2675,7 @@ var TextInputRenderer = {
|
|
|
2642
2675
|
}
|
|
2643
2676
|
}
|
|
2644
2677
|
});
|
|
2645
|
-
return /* @__PURE__ */
|
|
2678
|
+
return /* @__PURE__ */ jsx50(
|
|
2646
2679
|
FieldInput_default,
|
|
2647
2680
|
{
|
|
2648
2681
|
id,
|
|
@@ -2650,7 +2683,7 @@ var TextInputRenderer = {
|
|
|
2650
2683
|
description,
|
|
2651
2684
|
validation: validationState,
|
|
2652
2685
|
help,
|
|
2653
|
-
children: /* @__PURE__ */
|
|
2686
|
+
children: /* @__PURE__ */ jsx50(InputGroup3, { addonStart: getInputGroupAddonStart({ icon, image }), children: /* @__PURE__ */ jsx50(VariableTextInput, __spreadValues({}, inputProps)) })
|
|
2654
2687
|
}
|
|
2655
2688
|
);
|
|
2656
2689
|
}
|
|
@@ -2664,7 +2697,7 @@ import { Upload, UploadInput as UploadInput2 } from "@transferwise/components";
|
|
|
2664
2697
|
var getRandomId = () => Math.random().toString(36).substring(2);
|
|
2665
2698
|
|
|
2666
2699
|
// ../renderers/src/UploadInputRenderer.tsx
|
|
2667
|
-
import { jsx as
|
|
2700
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
2668
2701
|
var UploadInputRenderer = {
|
|
2669
2702
|
canRenderType: "input-upload",
|
|
2670
2703
|
render: (props) => {
|
|
@@ -2680,14 +2713,14 @@ var UploadInputRenderer = {
|
|
|
2680
2713
|
};
|
|
2681
2714
|
return (
|
|
2682
2715
|
// We don't pass help here as there is no sensible place to display it
|
|
2683
|
-
/* @__PURE__ */
|
|
2716
|
+
/* @__PURE__ */ jsx51(
|
|
2684
2717
|
UploadFieldInput_default,
|
|
2685
2718
|
{
|
|
2686
2719
|
id,
|
|
2687
2720
|
label: void 0,
|
|
2688
2721
|
description: void 0,
|
|
2689
2722
|
validation: validationState,
|
|
2690
|
-
children: /* @__PURE__ */
|
|
2723
|
+
children: /* @__PURE__ */ jsx51(
|
|
2691
2724
|
UploadInput2,
|
|
2692
2725
|
{
|
|
2693
2726
|
id,
|
|
@@ -2744,7 +2777,7 @@ var LargeUploadRenderer = {
|
|
|
2744
2777
|
throw e;
|
|
2745
2778
|
}
|
|
2746
2779
|
};
|
|
2747
|
-
return /* @__PURE__ */
|
|
2780
|
+
return /* @__PURE__ */ jsx51(
|
|
2748
2781
|
FieldInput_default,
|
|
2749
2782
|
{
|
|
2750
2783
|
id,
|
|
@@ -2752,7 +2785,7 @@ var LargeUploadRenderer = {
|
|
|
2752
2785
|
description,
|
|
2753
2786
|
validation: validationState,
|
|
2754
2787
|
help,
|
|
2755
|
-
children: /* @__PURE__ */
|
|
2788
|
+
children: /* @__PURE__ */ jsx51(
|
|
2756
2789
|
Upload,
|
|
2757
2790
|
__spreadProps(__spreadValues({}, uploadProps), {
|
|
2758
2791
|
usAccept: getAcceptsString(accepts),
|
|
@@ -2769,14 +2802,14 @@ var LargeUploadRenderer = {
|
|
|
2769
2802
|
|
|
2770
2803
|
// ../renderers/src/ReviewRenderer.tsx
|
|
2771
2804
|
import { DefinitionList, Header as Header6 } from "@transferwise/components";
|
|
2772
|
-
import { Fragment as Fragment7, jsx as
|
|
2805
|
+
import { Fragment as Fragment7, jsx as jsx52, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2773
2806
|
var ReviewRenderer = {
|
|
2774
2807
|
canRenderType: "review",
|
|
2775
2808
|
render: ({ callToAction, control, fields, margin, title }) => {
|
|
2776
2809
|
const orientation = mapControlToDefinitionListLayout(control);
|
|
2777
2810
|
return /* @__PURE__ */ jsxs17("div", { className: getMargin(margin), children: [
|
|
2778
|
-
(title || callToAction) && /* @__PURE__ */
|
|
2779
|
-
/* @__PURE__ */
|
|
2811
|
+
(title || callToAction) && /* @__PURE__ */ jsx52(Header6, { title: title != null ? title : "", action: getReviewAction(callToAction) }),
|
|
2812
|
+
/* @__PURE__ */ jsx52("div", { className: margin, children: /* @__PURE__ */ jsx52(
|
|
2780
2813
|
DefinitionList,
|
|
2781
2814
|
{
|
|
2782
2815
|
layout: orientation,
|
|
@@ -2809,13 +2842,13 @@ var mapControlToDefinitionListLayout = (control) => {
|
|
|
2809
2842
|
var getFieldValue = (value, help, orientation) => {
|
|
2810
2843
|
if (help) {
|
|
2811
2844
|
return orientation === "HORIZONTAL_RIGHT_ALIGNED" ? /* @__PURE__ */ jsxs17(Fragment7, { children: [
|
|
2812
|
-
/* @__PURE__ */
|
|
2845
|
+
/* @__PURE__ */ jsx52(Help_default, { help }),
|
|
2813
2846
|
" ",
|
|
2814
2847
|
value
|
|
2815
2848
|
] }) : /* @__PURE__ */ jsxs17(Fragment7, { children: [
|
|
2816
2849
|
value,
|
|
2817
2850
|
" ",
|
|
2818
|
-
/* @__PURE__ */
|
|
2851
|
+
/* @__PURE__ */ jsx52(Help_default, { help })
|
|
2819
2852
|
] });
|
|
2820
2853
|
}
|
|
2821
2854
|
return value;
|
|
@@ -2847,11 +2880,11 @@ var getReviewAction = (callToAction) => {
|
|
|
2847
2880
|
import { Alert as Alert2, Title } from "@transferwise/components";
|
|
2848
2881
|
|
|
2849
2882
|
// ../renderers/src/step/BackButton.tsx
|
|
2850
|
-
import { AvatarView as
|
|
2883
|
+
import { AvatarView as AvatarView4 } from "@transferwise/components";
|
|
2851
2884
|
import { ArrowLeft } from "@transferwise/icons";
|
|
2852
|
-
import { jsx as
|
|
2885
|
+
import { jsx as jsx53, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2853
2886
|
function BackButton({ title, onClick }) {
|
|
2854
|
-
return /* @__PURE__ */
|
|
2887
|
+
return /* @__PURE__ */ jsx53("div", { className: "m-b-2", children: /* @__PURE__ */ jsxs18(
|
|
2855
2888
|
"button",
|
|
2856
2889
|
{
|
|
2857
2890
|
type: "button",
|
|
@@ -2860,8 +2893,8 @@ function BackButton({ title, onClick }) {
|
|
|
2860
2893
|
"aria-label": title,
|
|
2861
2894
|
onClick,
|
|
2862
2895
|
children: [
|
|
2863
|
-
/* @__PURE__ */
|
|
2864
|
-
/* @__PURE__ */
|
|
2896
|
+
/* @__PURE__ */ jsx53("span", { className: "sr-only", children: title }),
|
|
2897
|
+
/* @__PURE__ */ jsx53(AvatarView4, { interactive: true, children: /* @__PURE__ */ jsx53(ArrowLeft, { size: "24" }) })
|
|
2865
2898
|
]
|
|
2866
2899
|
}
|
|
2867
2900
|
) });
|
|
@@ -2898,17 +2931,17 @@ var external_confirmation_messages_default = defineMessages7({
|
|
|
2898
2931
|
|
|
2899
2932
|
// ../renderers/src/step/ExternalConfirmationDialog.tsx
|
|
2900
2933
|
import { Button as Button6, Markdown as Markdown5 } from "@transferwise/components";
|
|
2901
|
-
import { jsx as
|
|
2934
|
+
import { jsx as jsx54, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2902
2935
|
function ExternalConfirmationDialog({
|
|
2903
2936
|
external,
|
|
2904
2937
|
onClose
|
|
2905
2938
|
}) {
|
|
2906
2939
|
const { formatMessage } = useIntl8();
|
|
2907
|
-
return /* @__PURE__ */
|
|
2908
|
-
/* @__PURE__ */
|
|
2909
|
-
/* @__PURE__ */
|
|
2910
|
-
/* @__PURE__ */
|
|
2911
|
-
/* @__PURE__ */
|
|
2940
|
+
return /* @__PURE__ */ jsx54("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs19("div", { className: "df-box-renderer-width-lg", children: [
|
|
2941
|
+
/* @__PURE__ */ jsx54("h2", { className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.title) }),
|
|
2942
|
+
/* @__PURE__ */ jsx54(Markdown5, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin(external.url) }) }),
|
|
2943
|
+
/* @__PURE__ */ jsx54("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs19("div", { className: "df-box-renderer-width-lg", children: [
|
|
2944
|
+
/* @__PURE__ */ jsx54(
|
|
2912
2945
|
Button6,
|
|
2913
2946
|
{
|
|
2914
2947
|
block: true,
|
|
@@ -2922,7 +2955,7 @@ function ExternalConfirmationDialog({
|
|
|
2922
2955
|
children: formatMessage(external_confirmation_messages_default.open)
|
|
2923
2956
|
}
|
|
2924
2957
|
),
|
|
2925
|
-
/* @__PURE__ */
|
|
2958
|
+
/* @__PURE__ */ jsx54(Button6, { block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onClose, children: formatMessage(external_confirmation_messages_default.cancel) })
|
|
2926
2959
|
] }) })
|
|
2927
2960
|
] }) });
|
|
2928
2961
|
}
|
|
@@ -2951,7 +2984,7 @@ function useExternal(url) {
|
|
|
2951
2984
|
}
|
|
2952
2985
|
|
|
2953
2986
|
// ../renderers/src/step/StepRenderer.tsx
|
|
2954
|
-
import { Fragment as Fragment8, jsx as
|
|
2987
|
+
import { Fragment as Fragment8, jsx as jsx55, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2955
2988
|
var StepRenderer = {
|
|
2956
2989
|
canRenderType: "step",
|
|
2957
2990
|
render: StepRendererComponent
|
|
@@ -2960,15 +2993,15 @@ function StepRendererComponent(props) {
|
|
|
2960
2993
|
const { back, description, error, external, title, children } = props;
|
|
2961
2994
|
const { requiresUserConfirmation, dismissConfirmation } = useExternal(external == null ? void 0 : external.url);
|
|
2962
2995
|
if ((external == null ? void 0 : external.url) && requiresUserConfirmation) {
|
|
2963
|
-
return /* @__PURE__ */
|
|
2996
|
+
return /* @__PURE__ */ jsx55(ExternalConfirmationDialog, { external, onClose: dismissConfirmation });
|
|
2964
2997
|
}
|
|
2965
2998
|
return /* @__PURE__ */ jsxs20(Fragment8, { children: [
|
|
2966
|
-
back ? /* @__PURE__ */
|
|
2999
|
+
back ? /* @__PURE__ */ jsx55(BackButton_default, __spreadValues({}, back)) : null,
|
|
2967
3000
|
title || description ? /* @__PURE__ */ jsxs20("div", { className: "m-b-4", children: [
|
|
2968
|
-
title ? /* @__PURE__ */
|
|
2969
|
-
description ? /* @__PURE__ */
|
|
3001
|
+
title ? /* @__PURE__ */ jsx55(Title, { as: "h1", type: "title-section", className: "text-xs-center m-b-2", children: title }) : void 0,
|
|
3002
|
+
description ? /* @__PURE__ */ jsx55("p", { className: "text-xs-center np-text-body-large", children: description }) : void 0
|
|
2970
3003
|
] }) : void 0,
|
|
2971
|
-
error ? /* @__PURE__ */
|
|
3004
|
+
error ? /* @__PURE__ */ jsx55(Alert2, { type: "negative", className: "m-b-2", message: error }) : void 0,
|
|
2972
3005
|
children
|
|
2973
3006
|
] });
|
|
2974
3007
|
}
|
|
@@ -2976,12 +3009,12 @@ function StepRendererComponent(props) {
|
|
|
2976
3009
|
// ../renderers/src/ListRenderer.tsx
|
|
2977
3010
|
import { Body, Header as Header7 } from "@transferwise/components";
|
|
2978
3011
|
import classNames6 from "classnames";
|
|
2979
|
-
import { jsx as
|
|
3012
|
+
import { jsx as jsx56, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2980
3013
|
var ListRenderer = {
|
|
2981
3014
|
canRenderType: "list",
|
|
2982
|
-
render: ({ callToAction, margin, items, title }) => /* @__PURE__ */ jsxs21("div", { className: getMargin(margin), children: [
|
|
2983
|
-
(title || callToAction) && /* @__PURE__ */
|
|
2984
|
-
items.map((props) => /* @__PURE__ */
|
|
3015
|
+
render: ({ callToAction, control, margin, items, title }) => /* @__PURE__ */ jsxs21("div", { className: getMargin(margin), children: [
|
|
3016
|
+
(title || callToAction) && /* @__PURE__ */ jsx56(Header7, { as: "h2", title: title != null ? title : "", action: getListAction(callToAction) }),
|
|
3017
|
+
items.map((props) => /* @__PURE__ */ jsx56(DesignSystemListItem, __spreadProps(__spreadValues({}, props), { control }), props.title))
|
|
2985
3018
|
] })
|
|
2986
3019
|
};
|
|
2987
3020
|
var DesignSystemListItem = ({
|
|
@@ -2990,8 +3023,9 @@ var DesignSystemListItem = ({
|
|
|
2990
3023
|
value,
|
|
2991
3024
|
subvalue,
|
|
2992
3025
|
icon,
|
|
2993
|
-
image
|
|
2994
|
-
|
|
3026
|
+
image,
|
|
3027
|
+
control
|
|
3028
|
+
}) => /* @__PURE__ */ jsx56(
|
|
2995
3029
|
"label",
|
|
2996
3030
|
{
|
|
2997
3031
|
className: classNames6("np-option p-a-2", {
|
|
@@ -2999,27 +3033,31 @@ var DesignSystemListItem = ({
|
|
|
2999
3033
|
"np-option__container-aligned": true
|
|
3000
3034
|
}),
|
|
3001
3035
|
children: /* @__PURE__ */ jsxs21("div", { className: "media", children: [
|
|
3002
|
-
icon || image ? /* @__PURE__ */
|
|
3036
|
+
icon || image ? /* @__PURE__ */ jsx56("div", { className: "media-left", children: /* @__PURE__ */ jsx56(ListItemMedia, { image, icon, preferAvatar: control === "with-avatar" }) }) : null,
|
|
3003
3037
|
/* @__PURE__ */ jsxs21("div", { className: "media-body", children: [
|
|
3004
3038
|
/* @__PURE__ */ jsxs21("div", { className: "d-flex justify-content-between", children: [
|
|
3005
|
-
/* @__PURE__ */
|
|
3006
|
-
/* @__PURE__ */
|
|
3039
|
+
/* @__PURE__ */ jsx56("h4", { className: "np-text-body-large-bold text-primary np-option__title", children: title }),
|
|
3040
|
+
/* @__PURE__ */ jsx56("h4", { className: "np-text-body-large-bold text-primary np-option__title", children: value })
|
|
3007
3041
|
] }),
|
|
3008
3042
|
/* @__PURE__ */ jsxs21("div", { className: "d-flex justify-content-between", children: [
|
|
3009
|
-
/* @__PURE__ */
|
|
3010
|
-
/* @__PURE__ */
|
|
3043
|
+
/* @__PURE__ */ jsx56(Body, { className: "d-block np-option__body", children: subtitle }),
|
|
3044
|
+
/* @__PURE__ */ jsx56(Body, { className: "d-block np-option__body", children: subvalue })
|
|
3011
3045
|
] })
|
|
3012
3046
|
] })
|
|
3013
3047
|
] })
|
|
3014
3048
|
},
|
|
3015
3049
|
title
|
|
3016
3050
|
);
|
|
3017
|
-
var ListItemMedia = ({
|
|
3051
|
+
var ListItemMedia = ({
|
|
3052
|
+
icon,
|
|
3053
|
+
image,
|
|
3054
|
+
preferAvatar
|
|
3055
|
+
}) => {
|
|
3018
3056
|
if (icon) {
|
|
3019
|
-
return /* @__PURE__ */
|
|
3057
|
+
return /* @__PURE__ */ jsx56("div", { className: "circle circle-sm text-primary circle-inverse", children: /* @__PURE__ */ jsx56(OptionMedia, { icon, image, preferAvatar }) });
|
|
3020
3058
|
}
|
|
3021
3059
|
if (image) {
|
|
3022
|
-
return /* @__PURE__ */
|
|
3060
|
+
return /* @__PURE__ */ jsx56("div", { className: "np-option__no-media-circle", children: /* @__PURE__ */ jsx56(OptionMedia, { icon, image, preferAvatar }) });
|
|
3023
3061
|
}
|
|
3024
3062
|
};
|
|
3025
3063
|
var getListAction = (callToAction) => {
|
|
@@ -3047,7 +3085,7 @@ var getListAction = (callToAction) => {
|
|
|
3047
3085
|
var ListRenderer_default = ListRenderer;
|
|
3048
3086
|
|
|
3049
3087
|
// ../renderers/src/step/SplashStepRenderer.tsx
|
|
3050
|
-
import { jsx as
|
|
3088
|
+
import { jsx as jsx57, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3051
3089
|
var SplashStepRenderer = {
|
|
3052
3090
|
canRenderType: "step",
|
|
3053
3091
|
canRender: ({ control }) => control === "splash",
|
|
@@ -3057,10 +3095,10 @@ function SplashStepRendererComponent(props) {
|
|
|
3057
3095
|
const { back, children, external } = props;
|
|
3058
3096
|
const { requiresUserConfirmation, dismissConfirmation } = useExternal(external == null ? void 0 : external.url);
|
|
3059
3097
|
if ((external == null ? void 0 : external.url) && requiresUserConfirmation) {
|
|
3060
|
-
return /* @__PURE__ */
|
|
3098
|
+
return /* @__PURE__ */ jsx57(ExternalConfirmationDialog, { external, onClose: dismissConfirmation });
|
|
3061
3099
|
}
|
|
3062
3100
|
return /* @__PURE__ */ jsxs22("div", { className: "splash-screen m-t-5", children: [
|
|
3063
|
-
back ? /* @__PURE__ */
|
|
3101
|
+
back ? /* @__PURE__ */ jsx57(BackButton_default, __spreadValues({}, back)) : null,
|
|
3064
3102
|
children
|
|
3065
3103
|
] });
|
|
3066
3104
|
}
|
|
@@ -3082,7 +3120,7 @@ var useCustomTheme = (theme, trackEvent) => {
|
|
|
3082
3120
|
};
|
|
3083
3121
|
|
|
3084
3122
|
// ../renderers/src/step/SplashCelebrationStepRenderer.tsx
|
|
3085
|
-
import { jsx as
|
|
3123
|
+
import { jsx as jsx58, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3086
3124
|
var SplashCelebrationStepRenderer = {
|
|
3087
3125
|
canRenderType: "step",
|
|
3088
3126
|
canRender: ({ control }) => control === "splash-celebration",
|
|
@@ -3093,10 +3131,10 @@ function SplashCelebrationStepRendererComponent(props) {
|
|
|
3093
3131
|
useCustomTheme("forest-green", trackEvent);
|
|
3094
3132
|
const { requiresUserConfirmation, dismissConfirmation } = useExternal(external == null ? void 0 : external.url);
|
|
3095
3133
|
if ((external == null ? void 0 : external.url) && requiresUserConfirmation) {
|
|
3096
|
-
return /* @__PURE__ */
|
|
3134
|
+
return /* @__PURE__ */ jsx58(ExternalConfirmationDialog, { external, onClose: dismissConfirmation });
|
|
3097
3135
|
}
|
|
3098
3136
|
return /* @__PURE__ */ jsxs23("div", { className: "splash-screen m-t-5", children: [
|
|
3099
|
-
back ? /* @__PURE__ */
|
|
3137
|
+
back ? /* @__PURE__ */ jsx58(BackButton_default, __spreadValues({}, back)) : null,
|
|
3100
3138
|
children
|
|
3101
3139
|
] });
|
|
3102
3140
|
}
|
|
@@ -3139,7 +3177,7 @@ var getWiseRenderers = () => [
|
|
|
3139
3177
|
];
|
|
3140
3178
|
|
|
3141
3179
|
// src/dynamicFlow/telemetry/app-version.ts
|
|
3142
|
-
var appVersion = "4.
|
|
3180
|
+
var appVersion = "4.9.0";
|
|
3143
3181
|
|
|
3144
3182
|
// src/dynamicFlow/telemetry/getLogEvent.ts
|
|
3145
3183
|
var getLogEvent = (onLog) => (level, message, extra) => {
|
|
@@ -3165,7 +3203,7 @@ var logToRollbar = (level, message, extra) => {
|
|
|
3165
3203
|
|
|
3166
3204
|
// src/dynamicFlow/telemetry/getTrackEvent.ts
|
|
3167
3205
|
import { isThemeModern } from "@wise/components-theming";
|
|
3168
|
-
var getTrackEvent = (onEvent, onAnalytics, onThemeChange
|
|
3206
|
+
var getTrackEvent = (onEvent, onAnalytics, onThemeChange) => (name, properties) => {
|
|
3169
3207
|
onEvent == null ? void 0 : onEvent(name, properties);
|
|
3170
3208
|
if (name.includes(ThemeRequiredEventName)) {
|
|
3171
3209
|
const { theme } = properties != null ? properties : { theme: "personal" };
|
|
@@ -3175,23 +3213,15 @@ var getTrackEvent = (onEvent, onAnalytics, onThemeChange, onLog) => (name, prope
|
|
|
3175
3213
|
} else {
|
|
3176
3214
|
onAnalytics == null ? void 0 : onAnalytics(name, properties);
|
|
3177
3215
|
}
|
|
3178
|
-
if (name !== "DynamicFlow - Initiated") {
|
|
3179
|
-
if ((properties == null ? void 0 : properties.stepId) === void 0) {
|
|
3180
|
-
onLog == null ? void 0 : onLog("warning", "DynamicFlow warning. `stepId` is not defined in the event properties", {
|
|
3181
|
-
eventName: name,
|
|
3182
|
-
properties: Object.keys(properties != null ? properties : {})
|
|
3183
|
-
});
|
|
3184
|
-
}
|
|
3185
|
-
}
|
|
3186
3216
|
};
|
|
3187
3217
|
|
|
3188
3218
|
// src/dynamicFlow/DynamicFlow.tsx
|
|
3189
|
-
import { jsx as
|
|
3219
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
3190
3220
|
var wiseRenderers = getWiseRenderers();
|
|
3191
3221
|
function DynamicFlowLegacy(props) {
|
|
3192
3222
|
const { customFetch = globalThis.fetch } = props;
|
|
3193
3223
|
const coreProps = __spreadProps(__spreadValues({}, props), { httpClient: customFetch });
|
|
3194
|
-
return /* @__PURE__ */
|
|
3224
|
+
return /* @__PURE__ */ jsx59(DynamicFlowCoreLegacy, __spreadValues({}, coreProps));
|
|
3195
3225
|
}
|
|
3196
3226
|
function DynamicFlowRevamp(props) {
|
|
3197
3227
|
const {
|
|
@@ -3207,8 +3237,8 @@ function DynamicFlowRevamp(props) {
|
|
|
3207
3237
|
const mergedRenderers = useMemo2(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
|
|
3208
3238
|
const logEvent = useMemo2(() => getLogEvent(onLog), [onLog]);
|
|
3209
3239
|
const trackEvent = useMemo2(
|
|
3210
|
-
() => getTrackEvent(onEvent, onAnalytics, onThemeChange
|
|
3211
|
-
[onEvent, onAnalytics, onThemeChange
|
|
3240
|
+
() => getTrackEvent(onEvent, onAnalytics, onThemeChange),
|
|
3241
|
+
[onEvent, onAnalytics, onThemeChange]
|
|
3212
3242
|
);
|
|
3213
3243
|
const coreProps = __spreadProps(__spreadValues({}, props), {
|
|
3214
3244
|
httpClient,
|
|
@@ -3217,7 +3247,7 @@ function DynamicFlowRevamp(props) {
|
|
|
3217
3247
|
onLog: logEvent,
|
|
3218
3248
|
onLink
|
|
3219
3249
|
});
|
|
3220
|
-
return /* @__PURE__ */
|
|
3250
|
+
return /* @__PURE__ */ jsx59(DynamicFlowCoreRevamp, __spreadValues({}, coreProps));
|
|
3221
3251
|
}
|
|
3222
3252
|
var DynamicForm = forwardRef(function DynamicForm2(props, ref) {
|
|
3223
3253
|
const {
|
|
@@ -3233,8 +3263,8 @@ var DynamicForm = forwardRef(function DynamicForm2(props, ref) {
|
|
|
3233
3263
|
const mergedRenderers = useMemo2(() => [...renderers != null ? renderers : [], ...wiseRenderers], [renderers]);
|
|
3234
3264
|
const logEvent = useMemo2(() => getLogEvent(onLog), [onLog]);
|
|
3235
3265
|
const trackEvent = useMemo2(
|
|
3236
|
-
() => getTrackEvent(onEvent, onAnalytics, onThemeChange
|
|
3237
|
-
[onEvent, onAnalytics, onThemeChange
|
|
3266
|
+
() => getTrackEvent(onEvent, onAnalytics, onThemeChange),
|
|
3267
|
+
[onEvent, onAnalytics, onThemeChange]
|
|
3238
3268
|
);
|
|
3239
3269
|
const coreProps = __spreadProps(__spreadValues({}, props), {
|
|
3240
3270
|
httpClient,
|
|
@@ -3243,7 +3273,7 @@ var DynamicForm = forwardRef(function DynamicForm2(props, ref) {
|
|
|
3243
3273
|
onLog: logEvent,
|
|
3244
3274
|
onLink
|
|
3245
3275
|
});
|
|
3246
|
-
return /* @__PURE__ */
|
|
3276
|
+
return /* @__PURE__ */ jsx59(DynamicFormCore, __spreadProps(__spreadValues({}, coreProps), { ref }));
|
|
3247
3277
|
});
|
|
3248
3278
|
var useWiseHttpClient = (httpClient) => {
|
|
3249
3279
|
const { locale } = useIntl9();
|