@wise/dynamic-flow-client-internal 5.33.0 → 5.34.0-experimental-7a76ef5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/i18n/en.json +2 -0
- package/build/main.css +97 -0
- package/build/main.js +1191 -827
- package/build/main.mjs +964 -595
- package/build/tsconfig.types.tsbuildinfo +1 -1
- package/build/types/dynamicFlow/renderers.d.ts +2 -0
- package/build/types/dynamicFlow/renderers.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -1
- package/build/types/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/build/dynamicFlow/DynamicFlow.js +0 -11
- package/build/dynamicFlow/DynamicFlowModal.js +0 -21
- package/build/dynamicFlow/DynamicFlowWiseProps.js +0 -1
- package/build/dynamicFlow/DynamicFlowWithRef.js +0 -19
- package/build/dynamicFlow/context-menu/useContextMenu.js +0 -33
- package/build/dynamicFlow/context-menu/useDFContextMenu.js +0 -135
- package/build/dynamicFlow/context-menu/useDFContextMenu.test.js +0 -101
- package/build/dynamicFlow/getMergedRenderers.js +0 -36
- package/build/dynamicFlow/messages.js +0 -13
- package/build/dynamicFlow/renderers.js +0 -10
- package/build/dynamicFlow/telemetry/app-version.js +0 -4
- package/build/dynamicFlow/telemetry/dispatchAnalyticsEvent.js +0 -8
- package/build/dynamicFlow/telemetry/getLogEvent.js +0 -22
- package/build/dynamicFlow/telemetry/getTrackEvent.js +0 -39
- package/build/dynamicFlow/telemetry/index.js +0 -2
- package/build/dynamicFlow/useCreateSnackBar.js +0 -9
- package/build/dynamicFlow/useOnCopy.js +0 -16
- package/build/dynamicFlow/useWiseHttpClient.js +0 -24
- package/build/dynamicFlow/useWiseToCoreProps.js +0 -42
- package/build/i18n/index.js +0 -43
- package/build/index.js +0 -6
- package/build/stories/ButtonLoader.story.js +0 -109
- package/build/stories/ContainerQueries.story.js +0 -74
- package/build/stories/DynamicFlow.story.js +0 -37
- package/build/stories/DynamicFlowWithRef.story.js +0 -72
- package/build/stories/Editable.story.js +0 -58
- package/build/stories/Initialisation.story.js +0 -33
- package/build/stories/PinnedButtons.story.js +0 -94
- package/build/stories/SCAIntegration.story.js +0 -67
- package/build/stories/utils/fixtureHttpClient.js +0 -59
- package/build/test-utils/NeptuneProviders.js +0 -11
- package/build/test-utils/index.js +0 -4
- package/build/test-utils/respond-with.js +0 -6
- package/build/test-utils/rtl-utils.js +0 -7
- package/build/test-utils/wait.js +0 -3
- package/build/tests/DynamicFlow.test.js +0 -177
- package/build/tests/HideStepTitle.test.js +0 -58
- package/build/tests/RequestCache.test.js +0 -34
- package/build/tests/SCARejectionHandling.test.js +0 -71
- package/build/tests/Subflow.Wise.test.js +0 -650
- package/build/tests/events.test.js +0 -124
- package/build/tests/logging.test.js +0 -12
- package/build/tests/onNotification.test.js +0 -96
- package/build/tests/renderers/ControlAndTags.test.js +0 -225
- package/build/tests/renderers/ImageRenderer.test.js +0 -129
- package/build/tests/renderers/RadioInputRendererComponent.test.js +0 -89
- package/build/tests/renderers/ReviewRenderer.test.js +0 -41
- package/build/tests/renderers/TextInputRenderer.test.js +0 -245
- package/build/tests/renderers/TimeZoneHeader.test.js +0 -19
- package/build/tests/renderers/UploadInputRenderer.maxSize.test.js +0 -22
- package/build/tests/renderers/value-utils.test.js +0 -24
package/build/main.mjs
CHANGED
|
@@ -64,7 +64,7 @@ var require_classnames = __commonJS({
|
|
|
64
64
|
(function() {
|
|
65
65
|
"use strict";
|
|
66
66
|
var hasOwn = {}.hasOwnProperty;
|
|
67
|
-
function
|
|
67
|
+
function classNames39() {
|
|
68
68
|
var classes = "";
|
|
69
69
|
for (var i = 0; i < arguments.length; i++) {
|
|
70
70
|
var arg = arguments[i];
|
|
@@ -82,7 +82,7 @@ var require_classnames = __commonJS({
|
|
|
82
82
|
return "";
|
|
83
83
|
}
|
|
84
84
|
if (Array.isArray(arg)) {
|
|
85
|
-
return
|
|
85
|
+
return classNames39.apply(null, arg);
|
|
86
86
|
}
|
|
87
87
|
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
|
|
88
88
|
return arg.toString();
|
|
@@ -105,14 +105,14 @@ var require_classnames = __commonJS({
|
|
|
105
105
|
return value + newClass;
|
|
106
106
|
}
|
|
107
107
|
if (typeof module !== "undefined" && module.exports) {
|
|
108
|
-
|
|
109
|
-
module.exports =
|
|
108
|
+
classNames39.default = classNames39;
|
|
109
|
+
module.exports = classNames39;
|
|
110
110
|
} else if (typeof define === "function" && typeof define.amd === "object" && define.amd) {
|
|
111
111
|
define("classnames", [], function() {
|
|
112
|
-
return
|
|
112
|
+
return classNames39;
|
|
113
113
|
});
|
|
114
114
|
} else {
|
|
115
|
-
window.classNames =
|
|
115
|
+
window.classNames = classNames39;
|
|
116
116
|
}
|
|
117
117
|
})();
|
|
118
118
|
}
|
|
@@ -1643,7 +1643,7 @@ var getInlineAlertOrValidation = (validationState, inlineAlert) => {
|
|
|
1643
1643
|
};
|
|
1644
1644
|
var CheckboxInputRenderer_default = CheckboxInputRenderer;
|
|
1645
1645
|
|
|
1646
|
-
// ../renderers/src/CollectionRenderer/
|
|
1646
|
+
// ../renderers/src/CollectionRenderer/CollectionRendererComponent.tsx
|
|
1647
1647
|
import { InlinePrompt, Link as DSLink } from "@transferwise/components";
|
|
1648
1648
|
|
|
1649
1649
|
// ../renderers/src/messages/generic-error.messages.ts
|
|
@@ -1666,6 +1666,29 @@ var generic_error_messages_default = defineMessages3({
|
|
|
1666
1666
|
}
|
|
1667
1667
|
});
|
|
1668
1668
|
|
|
1669
|
+
// ../renderers/src/CollectionRenderer/CollectionRendererComponent.tsx
|
|
1670
|
+
import { useIntl as useIntl3 } from "react-intl";
|
|
1671
|
+
import { Fragment as Fragment2, jsx as jsx35, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1672
|
+
var CollectionRendererComponent = (props) => {
|
|
1673
|
+
const { state, Search: Search5, AfterSearch, Filters, Results } = props;
|
|
1674
|
+
const { status } = state;
|
|
1675
|
+
const isError = status.type === "error" && (status.reason === "search" || status.reason === "filter");
|
|
1676
|
+
return /* @__PURE__ */ jsxs6(Fragment2, { children: [
|
|
1677
|
+
/* @__PURE__ */ jsx35(Search5, __spreadValues({}, props)),
|
|
1678
|
+
/* @__PURE__ */ jsx35(AfterSearch, __spreadValues({}, props)),
|
|
1679
|
+
/* @__PURE__ */ jsx35(Filters, __spreadValues({}, props)),
|
|
1680
|
+
isError ? /* @__PURE__ */ jsx35(SearchError, { retry: status.retry }) : /* @__PURE__ */ jsx35(Results, __spreadValues({}, props))
|
|
1681
|
+
] });
|
|
1682
|
+
};
|
|
1683
|
+
var SearchError = ({ retry }) => {
|
|
1684
|
+
const { formatMessage } = useIntl3();
|
|
1685
|
+
return /* @__PURE__ */ jsxs6(InlinePrompt, { width: "full", sentiment: "negative", children: [
|
|
1686
|
+
formatMessage(generic_error_messages_default.genericError),
|
|
1687
|
+
"\xA0",
|
|
1688
|
+
/* @__PURE__ */ jsx35(DSLink, { onClick: retry, children: formatMessage(generic_error_messages_default.retry) })
|
|
1689
|
+
] });
|
|
1690
|
+
};
|
|
1691
|
+
|
|
1669
1692
|
// ../../node_modules/.pnpm/@tanstack+react-virtual@3.14.10_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@tanstack/react-virtual/dist/esm/index.js
|
|
1670
1693
|
import * as React from "react";
|
|
1671
1694
|
import { flushSync } from "react-dom";
|
|
@@ -3202,14 +3225,14 @@ function useWindowVirtualizer(options) {
|
|
|
3202
3225
|
}, options));
|
|
3203
3226
|
}
|
|
3204
3227
|
|
|
3205
|
-
// ../renderers/src/CollectionRenderer/components/
|
|
3228
|
+
// ../renderers/src/CollectionRenderer/components/VirtualisedContentComponent.tsx
|
|
3206
3229
|
import { ProcessIndicator, Button as Button4 } from "@transferwise/components";
|
|
3207
3230
|
import { useRef as useRef4, useEffect as useEffect7, useLayoutEffect as useLayoutEffect2, useState as useState8 } from "react";
|
|
3208
3231
|
|
|
3209
3232
|
// ../renderers/src/step/StepFooter.tsx
|
|
3210
3233
|
import { Button as Button3 } from "@transferwise/components";
|
|
3211
3234
|
import { useEffect as useEffect6, useRef as useRef3, useState as useState7 } from "react";
|
|
3212
|
-
import { useIntl as
|
|
3235
|
+
import { useIntl as useIntl4 } from "react-intl";
|
|
3213
3236
|
|
|
3214
3237
|
// ../renderers/src/messages/step.messages.ts
|
|
3215
3238
|
import { defineMessages as defineMessages4 } from "react-intl";
|
|
@@ -3222,23 +3245,23 @@ var step_messages_default = defineMessages4({
|
|
|
3222
3245
|
});
|
|
3223
3246
|
|
|
3224
3247
|
// ../renderers/src/step/StepFooter.tsx
|
|
3225
|
-
import { Fragment as
|
|
3248
|
+
import { Fragment as Fragment3, jsx as jsx36, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
3226
3249
|
var SCROLL_TO_BOTTOM = "scroll-to-bottom";
|
|
3227
3250
|
var StepFooter = ({ footer, tags }) => {
|
|
3228
3251
|
if (tags == null ? void 0 : tags.includes(SCROLL_TO_BOTTOM)) {
|
|
3229
|
-
return /* @__PURE__ */
|
|
3252
|
+
return /* @__PURE__ */ jsx36(FooterWithScrollButton, { footer });
|
|
3230
3253
|
}
|
|
3231
|
-
return /* @__PURE__ */
|
|
3254
|
+
return /* @__PURE__ */ jsx36(DefaultFooter, { footer });
|
|
3232
3255
|
};
|
|
3233
3256
|
var DefaultFooter = ({ footer }) => {
|
|
3234
3257
|
const hasFooter = footer && Array.isArray(footer) && footer.length > 0;
|
|
3235
|
-
return hasFooter ? /* @__PURE__ */
|
|
3258
|
+
return hasFooter ? /* @__PURE__ */ jsx36("div", { className: "df-step-fixed__footer", children: footer }) : void 0;
|
|
3236
3259
|
};
|
|
3237
3260
|
var FooterWithScrollButton = ({ footer }) => {
|
|
3238
|
-
const { formatMessage } =
|
|
3261
|
+
const { formatMessage } = useIntl4();
|
|
3239
3262
|
const endOfLayoutRef = useRef3(null);
|
|
3240
3263
|
const isElementVisible = useIsElementVisible(endOfLayoutRef);
|
|
3241
|
-
const scrollButton = /* @__PURE__ */
|
|
3264
|
+
const scrollButton = /* @__PURE__ */ jsx36(
|
|
3242
3265
|
Button3,
|
|
3243
3266
|
{
|
|
3244
3267
|
className: "m-b-1",
|
|
@@ -3254,11 +3277,11 @@ var FooterWithScrollButton = ({ footer }) => {
|
|
|
3254
3277
|
);
|
|
3255
3278
|
const hasStepFooterContent = footer && Array.isArray(footer) && footer.length > 0;
|
|
3256
3279
|
if (isElementVisible && !hasStepFooterContent) {
|
|
3257
|
-
return /* @__PURE__ */
|
|
3280
|
+
return /* @__PURE__ */ jsx36("div", { ref: endOfLayoutRef, "aria-hidden": "true" });
|
|
3258
3281
|
}
|
|
3259
|
-
return /* @__PURE__ */
|
|
3260
|
-
/* @__PURE__ */
|
|
3261
|
-
/* @__PURE__ */
|
|
3282
|
+
return /* @__PURE__ */ jsxs7(Fragment3, { children: [
|
|
3283
|
+
/* @__PURE__ */ jsx36("div", { ref: endOfLayoutRef, "aria-hidden": "true" }),
|
|
3284
|
+
/* @__PURE__ */ jsxs7("div", { className: "df-step-fixed__footer", children: [
|
|
3262
3285
|
!isElementVisible && scrollButton,
|
|
3263
3286
|
footer
|
|
3264
3287
|
] })
|
|
@@ -3281,8 +3304,8 @@ var useIsElementVisible = (elementRef, root = null) => {
|
|
|
3281
3304
|
return isVisible;
|
|
3282
3305
|
};
|
|
3283
3306
|
|
|
3284
|
-
// ../renderers/src/CollectionRenderer/components/
|
|
3285
|
-
import { useIntl as
|
|
3307
|
+
// ../renderers/src/CollectionRenderer/components/VirtualisedContentComponent.tsx
|
|
3308
|
+
import { useIntl as useIntl5 } from "react-intl";
|
|
3286
3309
|
|
|
3287
3310
|
// ../renderers/src/messages/collection.messages.ts
|
|
3288
3311
|
import { defineMessages as defineMessages5 } from "react-intl";
|
|
@@ -3296,6 +3319,16 @@ var collection_messages_default = defineMessages5({
|
|
|
3296
3319
|
id: "df.wise.Collection.clearText",
|
|
3297
3320
|
defaultMessage: "Clear text",
|
|
3298
3321
|
description: "A message shown at the edge of the search bar to clear the users query"
|
|
3322
|
+
},
|
|
3323
|
+
showMoreResultsButton: {
|
|
3324
|
+
id: "df.wise.Collection.showMoreResultsButton",
|
|
3325
|
+
defaultMessage: "Show all {count} results",
|
|
3326
|
+
description: "A message shown at the bottom of a truncated list of items, clicking will expand to show more"
|
|
3327
|
+
},
|
|
3328
|
+
showLessResultsButton: {
|
|
3329
|
+
id: "df.wise.Collection.showLessResultsButton",
|
|
3330
|
+
defaultMessage: "Show less results",
|
|
3331
|
+
description: "A message shown at the bottom of an expanded list of items, clicking will truncate to show only a few"
|
|
3299
3332
|
}
|
|
3300
3333
|
});
|
|
3301
3334
|
|
|
@@ -3319,10 +3352,48 @@ var getScrollableAncestor = (element) => {
|
|
|
3319
3352
|
return null;
|
|
3320
3353
|
};
|
|
3321
3354
|
|
|
3322
|
-
// ../renderers/src/CollectionRenderer/components/
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3355
|
+
// ../renderers/src/CollectionRenderer/components/flattenCollectionItems.ts
|
|
3356
|
+
var flattenCollectionItems = (sections) => {
|
|
3357
|
+
return sections.flatMap((section) => {
|
|
3358
|
+
if (section.type === "items") {
|
|
3359
|
+
return flattenItemsBody(section);
|
|
3360
|
+
}
|
|
3361
|
+
if (section.type === "layout") {
|
|
3362
|
+
return flattenLayoutBody(section);
|
|
3363
|
+
}
|
|
3364
|
+
return [];
|
|
3365
|
+
});
|
|
3366
|
+
};
|
|
3367
|
+
var flattenItemsBody = (section) => {
|
|
3368
|
+
return [
|
|
3369
|
+
...flattenSectionHeader(section),
|
|
3370
|
+
...section.items.map((item) => ({
|
|
3371
|
+
item,
|
|
3372
|
+
type: "item"
|
|
3373
|
+
}))
|
|
3374
|
+
];
|
|
3375
|
+
};
|
|
3376
|
+
var flattenLayoutBody = (section) => [
|
|
3377
|
+
...flattenSectionHeader(section),
|
|
3378
|
+
__spreadProps(__spreadValues({}, section), {
|
|
3379
|
+
type: "layout"
|
|
3380
|
+
})
|
|
3381
|
+
];
|
|
3382
|
+
var flattenSectionHeader = (section) => section.title ? [
|
|
3383
|
+
{
|
|
3384
|
+
type: "header",
|
|
3385
|
+
title: section.title,
|
|
3386
|
+
items: section.type === "items" ? section.items : void 0,
|
|
3387
|
+
id: section.id,
|
|
3388
|
+
callToAction: section.callToAction
|
|
3389
|
+
}
|
|
3390
|
+
] : [];
|
|
3391
|
+
|
|
3392
|
+
// ../renderers/src/CollectionRenderer/components/VirtualisedContentComponent.tsx
|
|
3393
|
+
import { jsx as jsx37, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
3394
|
+
var VirtualisedContentComponent = (props) => {
|
|
3395
|
+
const { state, SectionHeader, Item } = props;
|
|
3396
|
+
const { status } = state;
|
|
3326
3397
|
const contentRef = useRef4(null);
|
|
3327
3398
|
const [scrollElement, setScrollElement] = useState8(null);
|
|
3328
3399
|
useLayoutEffect2(() => {
|
|
@@ -3339,34 +3410,20 @@ var ContentComponent = (props) => {
|
|
|
3339
3410
|
status.loadMore();
|
|
3340
3411
|
}
|
|
3341
3412
|
}, [isBottomVisible, state.afterSectionsProps.length, status]);
|
|
3342
|
-
const stateCount = state.sections.reduce(
|
|
3343
|
-
|
|
3344
|
-
0
|
|
3345
|
-
);
|
|
3346
|
-
const items = state.sections
|
|
3347
|
-
...section.title ? [
|
|
3348
|
-
{
|
|
3349
|
-
type: "header",
|
|
3350
|
-
title: section.title,
|
|
3351
|
-
items: section.items,
|
|
3352
|
-
id: section.id,
|
|
3353
|
-
callToAction: section.callToAction
|
|
3354
|
-
}
|
|
3355
|
-
] : [],
|
|
3356
|
-
...section.items.map((item) => ({
|
|
3357
|
-
item,
|
|
3358
|
-
type: "item"
|
|
3359
|
-
}))
|
|
3360
|
-
]);
|
|
3413
|
+
const stateCount = state.sections.reduce((total, section) => {
|
|
3414
|
+
const count = section.type === "items" ? section.items.length : 1;
|
|
3415
|
+
return count + total + (section.title ? 1 : 0);
|
|
3416
|
+
}, 0);
|
|
3417
|
+
const items = flattenCollectionItems(state.sections);
|
|
3361
3418
|
const listRef = useRef4(null);
|
|
3362
3419
|
const listOffsetRef = useRef4(0);
|
|
3363
3420
|
useLayoutEffect2(() => {
|
|
3364
3421
|
var _a, _b;
|
|
3365
3422
|
listOffsetRef.current = (_b = (_a = listRef.current) == null ? void 0 : _a.offsetTop) != null ? _b : 0;
|
|
3366
3423
|
});
|
|
3367
|
-
return /* @__PURE__ */
|
|
3424
|
+
return /* @__PURE__ */ jsxs8("div", { ref: contentRef, children: [
|
|
3368
3425
|
state.beforeSections,
|
|
3369
|
-
scrollElement ? /* @__PURE__ */
|
|
3426
|
+
scrollElement ? /* @__PURE__ */ jsx37(
|
|
3370
3427
|
ElementVirtualizedItems,
|
|
3371
3428
|
{
|
|
3372
3429
|
Item,
|
|
@@ -3375,7 +3432,7 @@ var ContentComponent = (props) => {
|
|
|
3375
3432
|
scrollElement,
|
|
3376
3433
|
stateCount
|
|
3377
3434
|
}
|
|
3378
|
-
) : /* @__PURE__ */
|
|
3435
|
+
) : /* @__PURE__ */ jsx37(
|
|
3379
3436
|
WindowVirtualizedItems,
|
|
3380
3437
|
{
|
|
3381
3438
|
Item,
|
|
@@ -3384,7 +3441,7 @@ var ContentComponent = (props) => {
|
|
|
3384
3441
|
stateCount
|
|
3385
3442
|
}
|
|
3386
3443
|
),
|
|
3387
|
-
/* @__PURE__ */
|
|
3444
|
+
/* @__PURE__ */ jsx37("div", { ref: endOfContentRef, className: "d-flex m-x-auto m-y-2", children: /* @__PURE__ */ jsx37(PaginationComponent, { state }) }),
|
|
3388
3445
|
state.afterSections
|
|
3389
3446
|
] });
|
|
3390
3447
|
};
|
|
@@ -3396,7 +3453,7 @@ var WindowVirtualizedItems = (props) => {
|
|
|
3396
3453
|
estimateSize: () => 120,
|
|
3397
3454
|
overscan: 10
|
|
3398
3455
|
});
|
|
3399
|
-
return /* @__PURE__ */
|
|
3456
|
+
return /* @__PURE__ */ jsx37(VirtualizedItems, __spreadProps(__spreadValues({}, props), { virtualItemsRef, virtualizer }));
|
|
3400
3457
|
};
|
|
3401
3458
|
var ElementVirtualizedItems = (props) => {
|
|
3402
3459
|
const { scrollElement, stateCount } = props;
|
|
@@ -3407,7 +3464,7 @@ var ElementVirtualizedItems = (props) => {
|
|
|
3407
3464
|
estimateSize: () => 120,
|
|
3408
3465
|
overscan: 10
|
|
3409
3466
|
});
|
|
3410
|
-
return /* @__PURE__ */
|
|
3467
|
+
return /* @__PURE__ */ jsx37(VirtualizedItems, __spreadProps(__spreadValues({}, props), { virtualItemsRef, virtualizer }));
|
|
3411
3468
|
};
|
|
3412
3469
|
var VirtualizedItems = ({
|
|
3413
3470
|
Item,
|
|
@@ -3415,7 +3472,7 @@ var VirtualizedItems = ({
|
|
|
3415
3472
|
items,
|
|
3416
3473
|
virtualItemsRef,
|
|
3417
3474
|
virtualizer
|
|
3418
|
-
}) => /* @__PURE__ */
|
|
3475
|
+
}) => /* @__PURE__ */ jsx37(
|
|
3419
3476
|
"div",
|
|
3420
3477
|
{
|
|
3421
3478
|
ref: virtualItemsRef,
|
|
@@ -3429,7 +3486,7 @@ var VirtualizedItems = ({
|
|
|
3429
3486
|
if (!i) {
|
|
3430
3487
|
return null;
|
|
3431
3488
|
}
|
|
3432
|
-
return /* @__PURE__ */
|
|
3489
|
+
return /* @__PURE__ */ jsxs8(
|
|
3433
3490
|
"div",
|
|
3434
3491
|
{
|
|
3435
3492
|
ref: virtualizer.measureElement,
|
|
@@ -3441,17 +3498,19 @@ var VirtualizedItems = ({
|
|
|
3441
3498
|
width: "100%",
|
|
3442
3499
|
transform: `translateY(${item.start - virtualizer.options.scrollMargin}px)`
|
|
3443
3500
|
},
|
|
3444
|
-
children:
|
|
3501
|
+
children: [
|
|
3502
|
+
i.type === "header" && /* @__PURE__ */ jsx37(SectionHeader, __spreadValues({}, i)),
|
|
3503
|
+
i.type === "item" && /* @__PURE__ */ jsx37(Item, __spreadValues({}, i.item)),
|
|
3504
|
+
i.type === "layout" && i.children
|
|
3505
|
+
]
|
|
3445
3506
|
},
|
|
3446
3507
|
item.key
|
|
3447
3508
|
);
|
|
3448
3509
|
})
|
|
3449
3510
|
}
|
|
3450
3511
|
);
|
|
3451
|
-
var PaginationComponent = ({
|
|
3452
|
-
status
|
|
3453
|
-
state
|
|
3454
|
-
}) => {
|
|
3512
|
+
var PaginationComponent = ({ state }) => {
|
|
3513
|
+
const { status } = state;
|
|
3455
3514
|
const isPaginationError = status.type === "error" && status.reason === "pagination";
|
|
3456
3515
|
const isPaginationLoading = status.type === "loading" && status.reason === "pagination";
|
|
3457
3516
|
const loadMore = status.type === "idle" ? status.loadMore : void 0;
|
|
@@ -3459,34 +3518,41 @@ var PaginationComponent = ({
|
|
|
3459
3518
|
return null;
|
|
3460
3519
|
}
|
|
3461
3520
|
if (isPaginationError) {
|
|
3462
|
-
return /* @__PURE__ */
|
|
3521
|
+
return /* @__PURE__ */ jsx37(LoadMoreButton, { onClick: status.retry });
|
|
3463
3522
|
}
|
|
3464
3523
|
if (state.afterSectionsProps.length > 0 && loadMore) {
|
|
3465
|
-
return /* @__PURE__ */
|
|
3524
|
+
return /* @__PURE__ */ jsx37(LoadMoreButton, { onClick: loadMore });
|
|
3466
3525
|
}
|
|
3467
|
-
return /* @__PURE__ */
|
|
3526
|
+
return /* @__PURE__ */ jsx37(ProcessIndicator, { size: "xs", "data-testid": "collection-pagination-loader" });
|
|
3468
3527
|
};
|
|
3469
3528
|
var LoadMoreButton = ({ onClick }) => {
|
|
3470
|
-
const { formatMessage } =
|
|
3471
|
-
return /* @__PURE__ */
|
|
3529
|
+
const { formatMessage } = useIntl5();
|
|
3530
|
+
return /* @__PURE__ */ jsx37("div", { className: "d-flex m-x-auto", children: /* @__PURE__ */ jsx37(Button4, { v2: true, size: "sm", priority: "secondary-neutral", onClick, children: formatMessage(collection_messages_default.loadMoreButton) }) });
|
|
3472
3531
|
};
|
|
3473
3532
|
|
|
3474
|
-
// ../renderers/src/CollectionRenderer/
|
|
3533
|
+
// ../renderers/src/CollectionRenderer/v1/FilterComponent.tsx
|
|
3475
3534
|
import { Chips } from "@transferwise/components";
|
|
3476
|
-
import { jsx as
|
|
3477
|
-
var FiltersComponent = (
|
|
3478
|
-
const {
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3535
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3536
|
+
var FiltersComponent = (props) => {
|
|
3537
|
+
const _a = props, { Filter } = _a, collectionProps = __objRest(_a, ["Filter"]);
|
|
3538
|
+
const { filters } = collectionProps.state;
|
|
3539
|
+
return /* @__PURE__ */ jsx38("div", { className: "df-filters-container", children: filters.map((filter) => {
|
|
3540
|
+
var _a2;
|
|
3541
|
+
return /* @__PURE__ */ jsx38(
|
|
3542
|
+
Filter,
|
|
3543
|
+
__spreadProps(__spreadValues({}, collectionProps), {
|
|
3544
|
+
filter
|
|
3545
|
+
}),
|
|
3546
|
+
JSON.stringify((_a2 = filter.options) == null ? void 0 : _a2.map((o) => o.value))
|
|
3547
|
+
);
|
|
3482
3548
|
}) });
|
|
3483
3549
|
};
|
|
3484
|
-
var FilterComponent = (filter) => {
|
|
3550
|
+
var FilterComponent = ({ filter }) => {
|
|
3485
3551
|
const { multiSelect, options } = filter;
|
|
3486
3552
|
if (!options) {
|
|
3487
3553
|
return null;
|
|
3488
3554
|
}
|
|
3489
|
-
return /* @__PURE__ */
|
|
3555
|
+
return /* @__PURE__ */ jsx38(
|
|
3490
3556
|
Chips,
|
|
3491
3557
|
{
|
|
3492
3558
|
className: "m-b-1",
|
|
@@ -3516,7 +3582,7 @@ import { ListItem as ListItem6 } from "@transferwise/components";
|
|
|
3516
3582
|
|
|
3517
3583
|
// ../renderers/src/utils/listItem/getAdditionalInfo.tsx
|
|
3518
3584
|
import { ListItem as ListItem4 } from "@transferwise/components";
|
|
3519
|
-
import { jsx as
|
|
3585
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3520
3586
|
var getAdditionalInfo = (additionalInfo) => {
|
|
3521
3587
|
var _a, _b;
|
|
3522
3588
|
if (!additionalInfo) {
|
|
@@ -3524,7 +3590,7 @@ var getAdditionalInfo = (additionalInfo) => {
|
|
|
3524
3590
|
}
|
|
3525
3591
|
const { href, text, onClick } = additionalInfo;
|
|
3526
3592
|
if (href || onClick) {
|
|
3527
|
-
return /* @__PURE__ */
|
|
3593
|
+
return /* @__PURE__ */ jsx39(
|
|
3528
3594
|
ListItem4.AdditionalInfo,
|
|
3529
3595
|
{
|
|
3530
3596
|
action: __spreadValues({
|
|
@@ -3533,19 +3599,19 @@ var getAdditionalInfo = (additionalInfo) => {
|
|
|
3533
3599
|
}
|
|
3534
3600
|
);
|
|
3535
3601
|
}
|
|
3536
|
-
return /* @__PURE__ */
|
|
3602
|
+
return /* @__PURE__ */ jsx39(ListItem4.AdditionalInfo, { children: additionalInfo == null ? void 0 : additionalInfo.text });
|
|
3537
3603
|
};
|
|
3538
3604
|
|
|
3539
3605
|
// ../renderers/src/utils/listItem/getCTAControl.tsx
|
|
3540
3606
|
import { ListItem as ListItem5 } from "@transferwise/components";
|
|
3541
|
-
import { jsx as
|
|
3607
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
3542
3608
|
var getCTAControl = (callToAction, { ctaSecondary, fullyInteractive }) => {
|
|
3543
3609
|
if (!callToAction) {
|
|
3544
3610
|
return void 0;
|
|
3545
3611
|
}
|
|
3546
3612
|
const { accessibilityDescription, title, context } = callToAction;
|
|
3547
3613
|
const { priority, sentiment } = getPriorityAndSentiment(ctaSecondary, context);
|
|
3548
|
-
return /* @__PURE__ */
|
|
3614
|
+
return /* @__PURE__ */ jsx40(
|
|
3549
3615
|
ListItem5.Button,
|
|
3550
3616
|
__spreadProps(__spreadValues({}, callToAction.getAnchorProps()), {
|
|
3551
3617
|
partiallyInteractive: !fullyInteractive,
|
|
@@ -3570,7 +3636,7 @@ var shouldUseAvatar = (control, tags) => {
|
|
|
3570
3636
|
};
|
|
3571
3637
|
|
|
3572
3638
|
// ../renderers/src/CollectionRenderer/components/ItemComponent.tsx
|
|
3573
|
-
import { jsx as
|
|
3639
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
3574
3640
|
var ItemComponent = (props) => {
|
|
3575
3641
|
var _a, _b;
|
|
3576
3642
|
const {
|
|
@@ -3592,7 +3658,7 @@ var ItemComponent = (props) => {
|
|
|
3592
3658
|
ctaSecondary: (_a = tags == null ? void 0 : tags.includes("cta-secondary")) != null ? _a : false,
|
|
3593
3659
|
fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
|
|
3594
3660
|
};
|
|
3595
|
-
return /* @__PURE__ */
|
|
3661
|
+
return /* @__PURE__ */ jsx41(
|
|
3596
3662
|
ListItem6,
|
|
3597
3663
|
{
|
|
3598
3664
|
title,
|
|
@@ -3609,15 +3675,15 @@ var ItemComponent = (props) => {
|
|
|
3609
3675
|
};
|
|
3610
3676
|
var getNavigationControl = (onClick, href) => {
|
|
3611
3677
|
if (href) {
|
|
3612
|
-
return /* @__PURE__ */
|
|
3678
|
+
return /* @__PURE__ */ jsx41(ListItem6.Navigation, { href });
|
|
3613
3679
|
}
|
|
3614
3680
|
if (onClick) {
|
|
3615
|
-
return /* @__PURE__ */
|
|
3681
|
+
return /* @__PURE__ */ jsx41(ListItem6.Navigation, { onClick });
|
|
3616
3682
|
}
|
|
3617
3683
|
return null;
|
|
3618
3684
|
};
|
|
3619
3685
|
|
|
3620
|
-
// ../renderers/src/CollectionRenderer/
|
|
3686
|
+
// ../renderers/src/CollectionRenderer/v1/SearchComponent.tsx
|
|
3621
3687
|
import {
|
|
3622
3688
|
InputGroup,
|
|
3623
3689
|
Input,
|
|
@@ -3625,46 +3691,44 @@ import {
|
|
|
3625
3691
|
IconButton
|
|
3626
3692
|
} from "@transferwise/components";
|
|
3627
3693
|
import { CrossCircleFill, Search } from "@transferwise/icons";
|
|
3628
|
-
import { useIntl as
|
|
3629
|
-
import { jsx as
|
|
3694
|
+
import { useIntl as useIntl6 } from "react-intl";
|
|
3695
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
3630
3696
|
var SearchComponent = ({
|
|
3631
3697
|
state,
|
|
3632
|
-
status,
|
|
3633
3698
|
features,
|
|
3634
3699
|
control,
|
|
3635
|
-
tags
|
|
3700
|
+
tags,
|
|
3701
|
+
onSearchChange
|
|
3636
3702
|
}) => {
|
|
3703
|
+
var _a;
|
|
3637
3704
|
const { search } = state;
|
|
3638
|
-
const { formatMessage } =
|
|
3705
|
+
const { formatMessage } = useIntl6();
|
|
3639
3706
|
if (!search) {
|
|
3640
3707
|
return;
|
|
3641
3708
|
}
|
|
3642
3709
|
const getAddon = () => {
|
|
3643
|
-
var
|
|
3644
|
-
if (status.type === "loading") {
|
|
3645
|
-
return { content: /* @__PURE__ */
|
|
3710
|
+
var _a2;
|
|
3711
|
+
if (state.status.type === "loading") {
|
|
3712
|
+
return { content: /* @__PURE__ */ jsx42(ProcessIndicator2, { size: "xs", "data-testid": "collection-search-loader" }) };
|
|
3646
3713
|
}
|
|
3647
|
-
if ((
|
|
3714
|
+
if ((_a2 = state.search) == null ? void 0 : _a2.query) {
|
|
3648
3715
|
return {
|
|
3649
3716
|
interactive: true,
|
|
3650
|
-
content: /* @__PURE__ */
|
|
3717
|
+
content: /* @__PURE__ */ jsx42(
|
|
3651
3718
|
IconButton,
|
|
3652
3719
|
{
|
|
3653
3720
|
priority: "minimal",
|
|
3654
3721
|
size: 24,
|
|
3655
3722
|
"aria-label": formatMessage(collection_messages_default.clearTextLabel),
|
|
3656
|
-
onClick: () =>
|
|
3657
|
-
|
|
3658
|
-
return (_a2 = state.search) == null ? void 0 : _a2.onChange("");
|
|
3659
|
-
},
|
|
3660
|
-
children: /* @__PURE__ */ jsx41(CrossCircleFill, {})
|
|
3723
|
+
onClick: () => onSearchChange(""),
|
|
3724
|
+
children: /* @__PURE__ */ jsx42(CrossCircleFill, {})
|
|
3661
3725
|
}
|
|
3662
3726
|
)
|
|
3663
3727
|
};
|
|
3664
3728
|
}
|
|
3665
3729
|
return void 0;
|
|
3666
3730
|
};
|
|
3667
|
-
return /* @__PURE__ */
|
|
3731
|
+
return /* @__PURE__ */ jsx42(
|
|
3668
3732
|
FieldInput_default,
|
|
3669
3733
|
{
|
|
3670
3734
|
id: "search",
|
|
@@ -3675,17 +3739,17 @@ var SearchComponent = ({
|
|
|
3675
3739
|
features,
|
|
3676
3740
|
control,
|
|
3677
3741
|
tags,
|
|
3678
|
-
children: /* @__PURE__ */
|
|
3742
|
+
children: /* @__PURE__ */ jsx42(InputGroup, { addonStart: { content: /* @__PURE__ */ jsx42(Search, { size: 24 }) }, addonEnd: getAddon(), children: /* @__PURE__ */ jsx42(
|
|
3679
3743
|
Input,
|
|
3680
3744
|
{
|
|
3681
3745
|
id: "search",
|
|
3682
3746
|
name: "search",
|
|
3683
3747
|
shape: "pill",
|
|
3684
|
-
placeholder: search.
|
|
3748
|
+
placeholder: (_a = search.hints) == null ? void 0 : _a[0],
|
|
3685
3749
|
type: "text",
|
|
3686
3750
|
value: search.query,
|
|
3687
3751
|
onChange: ({ currentTarget: { value } }) => {
|
|
3688
|
-
|
|
3752
|
+
onSearchChange(value);
|
|
3689
3753
|
}
|
|
3690
3754
|
}
|
|
3691
3755
|
) })
|
|
@@ -3694,66 +3758,366 @@ var SearchComponent = ({
|
|
|
3694
3758
|
};
|
|
3695
3759
|
|
|
3696
3760
|
// ../renderers/src/CollectionRenderer/components/SectionHeaderComponent.tsx
|
|
3697
|
-
import { jsx as
|
|
3761
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
3698
3762
|
var SectionHeaderComponent = ({
|
|
3699
3763
|
title,
|
|
3700
3764
|
callToAction
|
|
3701
|
-
}) => /* @__PURE__ */
|
|
3765
|
+
}) => /* @__PURE__ */ jsx43(Header, { title, callToAction });
|
|
3702
3766
|
|
|
3703
3767
|
// ../renderers/src/CollectionRenderer/createCollectionRenderer.tsx
|
|
3704
|
-
import { jsx as
|
|
3768
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
3705
3769
|
var createCollectionRenderer = (canRender, components) => {
|
|
3706
3770
|
const componentsWithDefaults = __spreadValues({
|
|
3707
3771
|
Search: SearchComponent,
|
|
3772
|
+
AfterSearch: () => null,
|
|
3708
3773
|
Filters: FiltersComponent,
|
|
3709
3774
|
Filter: FilterComponent,
|
|
3710
3775
|
Item: ItemComponent,
|
|
3711
3776
|
SectionHeader: SectionHeaderComponent,
|
|
3712
|
-
Results:
|
|
3777
|
+
Results: VirtualisedContentComponent
|
|
3713
3778
|
}, components);
|
|
3714
3779
|
return {
|
|
3715
3780
|
canRenderType: "collection",
|
|
3716
3781
|
canRender,
|
|
3717
3782
|
render: (props) => {
|
|
3718
|
-
return /* @__PURE__ */
|
|
3783
|
+
return /* @__PURE__ */ jsx44(CollectionRendererComponent, __spreadValues(__spreadValues({}, props), componentsWithDefaults));
|
|
3719
3784
|
}
|
|
3720
3785
|
};
|
|
3721
3786
|
};
|
|
3722
3787
|
|
|
3723
|
-
// ../renderers/src/CollectionRenderer/
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3788
|
+
// ../renderers/src/CollectionRenderer/v1/CollectionRendererV1.tsx
|
|
3789
|
+
var CollectionRendererV1 = createCollectionRenderer(
|
|
3790
|
+
() => true
|
|
3791
|
+
);
|
|
3792
|
+
var CollectionRendererV1_default = CollectionRendererV1;
|
|
3793
|
+
|
|
3794
|
+
// ../renderers/src/CollectionRenderer/v2/FilterComponent.tsx
|
|
3795
|
+
var import_classnames12 = __toESM(require_classnames());
|
|
3796
|
+
import { Chips as Chips2, Divider } from "@transferwise/components";
|
|
3797
|
+
import { useState as useState9 } from "react";
|
|
3798
|
+
import { jsx as jsx45, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
3799
|
+
var FiltersComponent2 = (props) => {
|
|
3800
|
+
const _a = props, { Filter } = _a, collectionProps = __objRest(_a, ["Filter"]);
|
|
3801
|
+
const { state, depth, tags } = collectionProps;
|
|
3802
|
+
const { filters, status, search } = state;
|
|
3803
|
+
const isForked = depth > 0;
|
|
3804
|
+
const isSearching = status.type === "loading" && status.reason === "search";
|
|
3805
|
+
const [searchedStateId, setSearchedStateId] = useState9();
|
|
3806
|
+
if (isForked && !isSearching && (search == null ? void 0 : search.query) && searchedStateId !== state.id) {
|
|
3807
|
+
setSearchedStateId(state.id);
|
|
3808
|
+
}
|
|
3809
|
+
const showDivider = (search == null ? void 0 : search.query) === "" && (tags == null ? void 0 : tags.includes("filter-divider"));
|
|
3810
|
+
const isFirstSearchPending = isForked && isSearching && searchedStateId !== state.id;
|
|
3811
|
+
return /* @__PURE__ */ jsx45(
|
|
3812
|
+
"div",
|
|
3813
|
+
{
|
|
3814
|
+
className: (0, import_classnames12.default)("df-filters-collapsible m-t-5", {
|
|
3815
|
+
"df-filters-collapsible--hidden": isFirstSearchPending
|
|
3816
|
+
}),
|
|
3817
|
+
"aria-hidden": isFirstSearchPending,
|
|
3818
|
+
inert: isFirstSearchPending,
|
|
3819
|
+
children: /* @__PURE__ */ jsxs9("div", { className: "df-filters-collapsible-content", children: [
|
|
3820
|
+
showDivider && /* @__PURE__ */ jsx45(Divider, { className: "m-b-4", level: "subsection" }),
|
|
3821
|
+
/* @__PURE__ */ jsx45("div", { className: (0, import_classnames12.default)("df-filters-container", { "df-filter-loader": isSearching }), children: filters.map((filter) => {
|
|
3822
|
+
var _a2;
|
|
3823
|
+
return /* @__PURE__ */ jsx45(
|
|
3824
|
+
Filter,
|
|
3825
|
+
__spreadProps(__spreadValues({}, collectionProps), {
|
|
3826
|
+
filter
|
|
3827
|
+
}),
|
|
3828
|
+
JSON.stringify((_a2 = filter.options) == null ? void 0 : _a2.map((o) => o.value))
|
|
3829
|
+
);
|
|
3830
|
+
}) })
|
|
3831
|
+
] })
|
|
3832
|
+
}
|
|
3833
|
+
);
|
|
3834
|
+
};
|
|
3835
|
+
var FilterComponent2 = ({
|
|
3836
|
+
filter,
|
|
3837
|
+
state
|
|
3838
|
+
}) => {
|
|
3839
|
+
const { multiSelect, options } = filter;
|
|
3840
|
+
const { status } = state;
|
|
3841
|
+
const disabled = status.type === "loading" && status.reason === "search";
|
|
3842
|
+
if (!options) {
|
|
3843
|
+
return null;
|
|
3844
|
+
}
|
|
3845
|
+
return /* @__PURE__ */ jsx45(
|
|
3846
|
+
Chips2,
|
|
3847
|
+
{
|
|
3848
|
+
className: "m-b-1",
|
|
3849
|
+
multiple: multiSelect,
|
|
3850
|
+
selected: options.some((option) => option.selected) ? options.filter((option) => option.selected).map((option) => option.value) : multiSelect ? [] : "",
|
|
3851
|
+
chips: [
|
|
3852
|
+
...options.map((option) => ({
|
|
3853
|
+
value: option.value,
|
|
3854
|
+
label: option.title
|
|
3855
|
+
}))
|
|
3856
|
+
],
|
|
3857
|
+
onChange: (value) => {
|
|
3858
|
+
var _a;
|
|
3859
|
+
if (disabled) {
|
|
3860
|
+
return;
|
|
3861
|
+
}
|
|
3862
|
+
if (value.selectedValue === "") {
|
|
3863
|
+
options == null ? void 0 : options.filter((option) => option.selected).map((option) => option == null ? void 0 : option.onSelect());
|
|
3864
|
+
return;
|
|
3865
|
+
}
|
|
3866
|
+
(_a = options == null ? void 0 : options.find((option) => value.selectedValue === option.value)) == null ? void 0 : _a.onSelect();
|
|
3867
|
+
}
|
|
3868
|
+
},
|
|
3869
|
+
JSON.stringify(options)
|
|
3870
|
+
);
|
|
3871
|
+
};
|
|
3872
|
+
|
|
3873
|
+
// ../renderers/src/CollectionRenderer/v2/SearchComponent.tsx
|
|
3874
|
+
import {
|
|
3875
|
+
InputGroup as InputGroup2,
|
|
3876
|
+
Input as Input2,
|
|
3877
|
+
ProcessIndicator as ProcessIndicator3,
|
|
3878
|
+
IconButton as IconButton2
|
|
3879
|
+
} from "@transferwise/components";
|
|
3880
|
+
import { CrossCircleFill as CrossCircleFill2, Search as Search2 } from "@transferwise/icons";
|
|
3881
|
+
import { useRef as useRef5 } from "react";
|
|
3882
|
+
import { useIntl as useIntl8 } from "react-intl";
|
|
3883
|
+
|
|
3884
|
+
// ../renderers/src/CollectionRenderer/v2/AnimatedSearchHint.tsx
|
|
3885
|
+
var import_classnames13 = __toESM(require_classnames());
|
|
3886
|
+
import { useEffect as useEffect8, useState as useState10 } from "react";
|
|
3887
|
+
import { useIntl as useIntl7 } from "react-intl";
|
|
3888
|
+
import { jsx as jsx46, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
3889
|
+
var STEP_DURATION = 3e3;
|
|
3890
|
+
var AnimatedSearchHint = ({ hints }) => {
|
|
3891
|
+
const { prefix: prefix2, words, allWords } = useSearchHints(hints);
|
|
3892
|
+
const [step, setStep] = useState10(0);
|
|
3893
|
+
useEffect8(() => {
|
|
3894
|
+
const interval = setInterval(() => setStep((current) => current + 1), STEP_DURATION);
|
|
3895
|
+
return () => clearInterval(interval);
|
|
3896
|
+
}, []);
|
|
3897
|
+
return /* @__PURE__ */ jsxs10(
|
|
3898
|
+
"span",
|
|
3899
|
+
{
|
|
3900
|
+
"aria-hidden": true,
|
|
3901
|
+
className: "df-search-hint np-text-body-large",
|
|
3902
|
+
"data-testid": "collection-search-hint",
|
|
3903
|
+
children: [
|
|
3904
|
+
/* @__PURE__ */ jsx46("span", { className: "df-search-hint-prefix", children: prefix2 }),
|
|
3905
|
+
/* @__PURE__ */ jsx46("span", { className: "df-search-hint-viewport", children: [...words, allWords].map((word, index) => /* @__PURE__ */ jsx46(
|
|
3906
|
+
"span",
|
|
3907
|
+
{
|
|
3908
|
+
className: (0, import_classnames13.default)("df-search-hint-word", {
|
|
3909
|
+
"df-search-hint-word--current": index === step,
|
|
3910
|
+
"df-search-hint-word--past": index < step
|
|
3911
|
+
}),
|
|
3912
|
+
children: word
|
|
3913
|
+
},
|
|
3914
|
+
word
|
|
3915
|
+
)) })
|
|
3916
|
+
]
|
|
3917
|
+
}
|
|
3918
|
+
);
|
|
3919
|
+
};
|
|
3920
|
+
var useSearchHints = (hints) => {
|
|
3921
|
+
var _a;
|
|
3922
|
+
const { formatList } = useIntl7();
|
|
3923
|
+
if (hints.length < 2) {
|
|
3924
|
+
return { prefix: "", words: [], allWords: "", placeholder: (_a = hints[0]) != null ? _a : "" };
|
|
3925
|
+
}
|
|
3926
|
+
const [hintPrefix, ...words] = hints;
|
|
3927
|
+
const prefix2 = `${hintPrefix} `;
|
|
3928
|
+
const allWords = formatList(words, { type: "disjunction" });
|
|
3929
|
+
return { prefix: prefix2, words, allWords, placeholder: `${prefix2}${allWords}` };
|
|
3930
|
+
};
|
|
3931
|
+
|
|
3932
|
+
// ../renderers/src/utils/prefersReducedMotion.ts
|
|
3933
|
+
var REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
|
|
3934
|
+
var prefersReducedMotion = () => {
|
|
3935
|
+
return typeof window !== "undefined" && window.matchMedia(REDUCED_MOTION_QUERY).matches;
|
|
3936
|
+
};
|
|
3937
|
+
|
|
3938
|
+
// ../renderers/src/CollectionRenderer/v2/SearchComponent.tsx
|
|
3939
|
+
import { jsx as jsx47, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
3940
|
+
var SearchComponent2 = ({
|
|
3941
|
+
state,
|
|
3942
|
+
depth,
|
|
3943
|
+
fork,
|
|
3944
|
+
pop,
|
|
3945
|
+
features,
|
|
3946
|
+
control,
|
|
3947
|
+
tags,
|
|
3948
|
+
onSearchChange
|
|
3949
|
+
}) => {
|
|
3950
|
+
var _a, _b, _c;
|
|
3951
|
+
const { search } = state;
|
|
3952
|
+
const { formatMessage } = useIntl8();
|
|
3953
|
+
const inputRef = useRef5(null);
|
|
3954
|
+
const { words, placeholder } = useSearchHints((_a = search == null ? void 0 : search.hints) != null ? _a : []);
|
|
3955
|
+
if (!search) {
|
|
3956
|
+
return;
|
|
3957
|
+
}
|
|
3958
|
+
const showAnimatedHint = !search.query && !prefersReducedMotion() && words.length > 1;
|
|
3959
|
+
const getAddon = () => {
|
|
3960
|
+
if (state.status.type === "loading") {
|
|
3961
|
+
return { content: /* @__PURE__ */ jsx47(ProcessIndicator3, { size: "xs", "data-testid": "collection-search-loader" }) };
|
|
3962
|
+
}
|
|
3963
|
+
if (search.query) {
|
|
3964
|
+
return {
|
|
3965
|
+
interactive: true,
|
|
3966
|
+
content: /* @__PURE__ */ jsx47(
|
|
3967
|
+
IconButton2,
|
|
3968
|
+
{
|
|
3969
|
+
priority: "minimal",
|
|
3970
|
+
size: 24,
|
|
3971
|
+
"aria-label": formatMessage(collection_messages_default.clearTextLabel),
|
|
3972
|
+
onClick: () => {
|
|
3973
|
+
onSearchChange("");
|
|
3974
|
+
pop();
|
|
3975
|
+
},
|
|
3976
|
+
children: /* @__PURE__ */ jsx47(CrossCircleFill2, {})
|
|
3977
|
+
}
|
|
3978
|
+
)
|
|
3979
|
+
};
|
|
3980
|
+
}
|
|
3981
|
+
return void 0;
|
|
3982
|
+
};
|
|
3983
|
+
return /* @__PURE__ */ jsx47(
|
|
3984
|
+
FieldInput_default,
|
|
3985
|
+
{
|
|
3986
|
+
id: "search",
|
|
3987
|
+
description: "",
|
|
3988
|
+
validation: void 0,
|
|
3989
|
+
help: "",
|
|
3990
|
+
label: search.title,
|
|
3991
|
+
features,
|
|
3992
|
+
control,
|
|
3993
|
+
tags,
|
|
3994
|
+
children: /* @__PURE__ */ jsxs11(
|
|
3995
|
+
InputGroup2,
|
|
3996
|
+
{
|
|
3997
|
+
addonStart: { content: /* @__PURE__ */ jsx47(Search2, { size: 24 }), initialContentWidth: 24 },
|
|
3998
|
+
addonEnd: getAddon(),
|
|
3999
|
+
children: [
|
|
4000
|
+
/* @__PURE__ */ jsx47(
|
|
4001
|
+
Input2,
|
|
4002
|
+
{
|
|
4003
|
+
ref: inputRef,
|
|
4004
|
+
id: "search",
|
|
4005
|
+
name: "search",
|
|
4006
|
+
shape: "pill",
|
|
4007
|
+
"aria-label": (_b = search.title) != null ? _b : placeholder,
|
|
4008
|
+
placeholder: showAnimatedHint ? "" : placeholder,
|
|
4009
|
+
type: "text",
|
|
4010
|
+
value: search.query,
|
|
4011
|
+
onChange: ({ currentTarget: { value } }) => {
|
|
4012
|
+
if (depth === 0) {
|
|
4013
|
+
fork();
|
|
4014
|
+
}
|
|
4015
|
+
onSearchChange(value);
|
|
4016
|
+
if (value === "") {
|
|
4017
|
+
pop();
|
|
4018
|
+
}
|
|
4019
|
+
}
|
|
4020
|
+
}
|
|
4021
|
+
),
|
|
4022
|
+
showAnimatedHint && /* @__PURE__ */ jsx47(AnimatedSearchHint, { hints: (_c = search.hints) != null ? _c : [] })
|
|
4023
|
+
]
|
|
4024
|
+
}
|
|
4025
|
+
)
|
|
4026
|
+
}
|
|
4027
|
+
);
|
|
4028
|
+
};
|
|
4029
|
+
|
|
4030
|
+
// ../renderers/src/CollectionRenderer/components/CollapsibleContentComponent.tsx
|
|
4031
|
+
import { useState as useState11 } from "react";
|
|
4032
|
+
import { Button as Button5 } from "@transferwise/components";
|
|
4033
|
+
import { useIntl as useIntl9 } from "react-intl";
|
|
4034
|
+
import { Fragment as Fragment4, jsx as jsx48, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
4035
|
+
var CollapsibleContentComponent = (props) => {
|
|
4036
|
+
const { state, SectionHeader, Item } = props;
|
|
4037
|
+
return /* @__PURE__ */ jsxs12(Fragment4, { children: [
|
|
4038
|
+
state.beforeSections,
|
|
4039
|
+
state.sections.map((section) => {
|
|
4040
|
+
return /* @__PURE__ */ jsx48(Section, { section, SectionHeader, Item }, section.id);
|
|
4041
|
+
}),
|
|
4042
|
+
state.afterSections
|
|
3732
4043
|
] });
|
|
3733
4044
|
};
|
|
3734
|
-
var
|
|
3735
|
-
const { formatMessage } =
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
4045
|
+
var Section = ({ section, SectionHeader, Item }) => {
|
|
4046
|
+
const { formatMessage } = useIntl9();
|
|
4047
|
+
const [expanded, setExpanded] = useState11(false);
|
|
4048
|
+
const itemIds = section.type === "items" ? section.items.map(({ id }) => id).join("") : section.id;
|
|
4049
|
+
const [prevItemIds, setPrevItemIds] = useState11(itemIds);
|
|
4050
|
+
if (itemIds !== prevItemIds) {
|
|
4051
|
+
setExpanded(false);
|
|
4052
|
+
setPrevItemIds(itemIds);
|
|
4053
|
+
}
|
|
4054
|
+
const showLoadMore = section.type === "items" && section.items.some((item) => {
|
|
4055
|
+
var _a;
|
|
4056
|
+
return (_a = item.tags) == null ? void 0 : _a.includes("hidden");
|
|
4057
|
+
});
|
|
4058
|
+
return /* @__PURE__ */ jsxs12(Fragment4, { children: [
|
|
4059
|
+
/* @__PURE__ */ jsx48(SectionHeader, __spreadValues({}, section)),
|
|
4060
|
+
section.type === "items" && section.items.filter((item) => {
|
|
4061
|
+
var _a;
|
|
4062
|
+
return expanded || !((_a = item.tags) == null ? void 0 : _a.includes("hidden"));
|
|
4063
|
+
}).map((item) => /* @__PURE__ */ jsx48(Item, __spreadValues({}, item), item.id)),
|
|
4064
|
+
section.type === "layout" && section.children,
|
|
4065
|
+
showLoadMore ? /* @__PURE__ */ jsx48(
|
|
4066
|
+
Button5,
|
|
4067
|
+
{
|
|
4068
|
+
priority: "tertiary",
|
|
4069
|
+
onClick: () => {
|
|
4070
|
+
setExpanded(!expanded);
|
|
4071
|
+
},
|
|
4072
|
+
children: expanded ? /* @__PURE__ */ jsxs12("span", { children: [
|
|
4073
|
+
formatMessage(collection_messages_default.showLessResultsButton),
|
|
4074
|
+
" "
|
|
4075
|
+
] }) : /* @__PURE__ */ jsx48("span", { children: formatMessage(collection_messages_default.showMoreResultsButton, { count: section.items.length }) })
|
|
4076
|
+
}
|
|
4077
|
+
) : void 0
|
|
3740
4078
|
] });
|
|
3741
4079
|
};
|
|
3742
|
-
|
|
3743
|
-
|
|
4080
|
+
|
|
4081
|
+
// ../renderers/src/CollectionRenderer/v2/createContactsCollectionRenderer.tsx
|
|
4082
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
4083
|
+
var createContactsCollectionRenderer = (canRender, components) => {
|
|
4084
|
+
const componentsWithDefaults = __spreadValues({
|
|
4085
|
+
Search: SearchComponent2,
|
|
4086
|
+
AfterSearch: () => null,
|
|
4087
|
+
Filters: FiltersComponent2,
|
|
4088
|
+
Filter: FilterComponent2,
|
|
4089
|
+
Item: ItemComponent,
|
|
4090
|
+
SectionHeader: SectionHeaderComponent,
|
|
4091
|
+
Results: (props) => {
|
|
4092
|
+
const { depth } = props;
|
|
4093
|
+
return depth > 0 ? /* @__PURE__ */ jsx49(CollapsibleContentComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx49(VirtualisedContentComponent, __spreadValues({}, props));
|
|
4094
|
+
}
|
|
4095
|
+
}, components);
|
|
4096
|
+
return {
|
|
4097
|
+
canRenderType: "collection",
|
|
4098
|
+
canRender,
|
|
4099
|
+
render: (props) => {
|
|
4100
|
+
return /* @__PURE__ */ jsx49(CollectionRendererComponent, __spreadValues(__spreadValues({}, props), componentsWithDefaults));
|
|
4101
|
+
}
|
|
4102
|
+
};
|
|
4103
|
+
};
|
|
4104
|
+
|
|
4105
|
+
// ../renderers/src/CollectionRenderer/v2/CollectionRendererV2.tsx
|
|
4106
|
+
var ContactsCollectionRenderer = createContactsCollectionRenderer(({ control }) => control === "contacts-collection-v2");
|
|
4107
|
+
var CollectionRendererV2_default = ContactsCollectionRenderer;
|
|
3744
4108
|
|
|
3745
4109
|
// ../renderers/src/ColumnsRenderer.tsx
|
|
3746
|
-
var
|
|
4110
|
+
var import_classnames14 = __toESM(require_classnames());
|
|
3747
4111
|
|
|
3748
4112
|
// ../renderers/src/utils/useIsCollapsed.ts
|
|
3749
|
-
import { useEffect as
|
|
4113
|
+
import { useEffect as useEffect9, useState as useState12 } from "react";
|
|
3750
4114
|
var COLLAPSE_QUERY = "(max-width: 767.98px)";
|
|
3751
4115
|
var supportsMatchMedia = () => typeof window !== "undefined" && !!window.matchMedia;
|
|
3752
4116
|
var useIsCollapsed = () => {
|
|
3753
|
-
const [collapsed, setCollapsed] =
|
|
4117
|
+
const [collapsed, setCollapsed] = useState12(
|
|
3754
4118
|
() => supportsMatchMedia() && window.matchMedia(COLLAPSE_QUERY).matches
|
|
3755
4119
|
);
|
|
3756
|
-
|
|
4120
|
+
useEffect9(() => {
|
|
3757
4121
|
if (supportsMatchMedia()) {
|
|
3758
4122
|
const mql = window.matchMedia(COLLAPSE_QUERY);
|
|
3759
4123
|
const update = () => setCollapsed(mql.matches);
|
|
@@ -3766,7 +4130,7 @@ var useIsCollapsed = () => {
|
|
|
3766
4130
|
};
|
|
3767
4131
|
|
|
3768
4132
|
// ../renderers/src/ColumnsRenderer.tsx
|
|
3769
|
-
import { jsx as
|
|
4133
|
+
import { jsx as jsx50, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
3770
4134
|
var RIGHT_FIRST_STACKING = "right-first-stacking";
|
|
3771
4135
|
var ColumnsRenderer = {
|
|
3772
4136
|
canRenderType: "columns",
|
|
@@ -3777,12 +4141,12 @@ function ColumnsRendererComponent(props) {
|
|
|
3777
4141
|
const { bias, margin, startChildren, endChildren, tags } = props;
|
|
3778
4142
|
const isCollapsed = useIsCollapsed();
|
|
3779
4143
|
const reverse = isCollapsed && ((_a = tags == null ? void 0 : tags.includes(RIGHT_FIRST_STACKING)) != null ? _a : false);
|
|
3780
|
-
const startColumn = /* @__PURE__ */
|
|
3781
|
-
const endColumn = /* @__PURE__ */
|
|
3782
|
-
return /* @__PURE__ */
|
|
4144
|
+
const startColumn = /* @__PURE__ */ jsx50("div", { className: "df-columns-renderer-column", children: startChildren });
|
|
4145
|
+
const endColumn = /* @__PURE__ */ jsx50("div", { className: "df-columns-renderer-column", children: endChildren });
|
|
4146
|
+
return /* @__PURE__ */ jsxs13(
|
|
3783
4147
|
"div",
|
|
3784
4148
|
{
|
|
3785
|
-
className: (0,
|
|
4149
|
+
className: (0, import_classnames14.default)(
|
|
3786
4150
|
"df-columns-renderer-container",
|
|
3787
4151
|
getMargin(margin),
|
|
3788
4152
|
{
|
|
@@ -3832,8 +4196,8 @@ var dateToDateString = (date) => {
|
|
|
3832
4196
|
import { DateLookup } from "@transferwise/components";
|
|
3833
4197
|
|
|
3834
4198
|
// ../renderers/src/hooks/useAvailabilityRules.ts
|
|
3835
|
-
import { useState as
|
|
3836
|
-
import { useIntl as
|
|
4199
|
+
import { useState as useState13 } from "react";
|
|
4200
|
+
import { useIntl as useIntl10 } from "react-intl";
|
|
3837
4201
|
|
|
3838
4202
|
// ../renderers/src/messages/date-input.messages.ts
|
|
3839
4203
|
import { defineMessages as defineMessages6 } from "react-intl";
|
|
@@ -3848,8 +4212,8 @@ var date_input_messages_default = defineMessages6({
|
|
|
3848
4212
|
// ../renderers/src/hooks/useAvailabilityRules.ts
|
|
3849
4213
|
var useAvailabilityRules = (availability) => {
|
|
3850
4214
|
var _a, _b;
|
|
3851
|
-
const { formatMessage } =
|
|
3852
|
-
const [focusedDate, setFocusedDate] =
|
|
4215
|
+
const { formatMessage } = useIntl10();
|
|
4216
|
+
const [focusedDate, setFocusedDate] = useState13(null);
|
|
3853
4217
|
const unavailableMessage = (_b = (_a = focusedDate ? getUnavailableDateReason(focusedDate, availability) : null) != null ? _a : availability == null ? void 0 : availability.message) != null ? _b : formatMessage(date_input_messages_default.unavailableDates);
|
|
3854
4218
|
const onDateSelect = ({ date }) => {
|
|
3855
4219
|
setFocusedDate((current) => (current == null ? void 0 : current.getTime()) === date.getTime() ? current : date);
|
|
@@ -3901,7 +4265,7 @@ var matchesDateRule = (date, weekday, rule) => {
|
|
|
3901
4265
|
var isDate = (date) => date !== null;
|
|
3902
4266
|
|
|
3903
4267
|
// ../renderers/src/DateInputRenderer/DateLookupControl.tsx
|
|
3904
|
-
import { jsx as
|
|
4268
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
3905
4269
|
var DateLookupControl = ({
|
|
3906
4270
|
value,
|
|
3907
4271
|
minimumDate,
|
|
@@ -3914,7 +4278,7 @@ var DateLookupControl = ({
|
|
|
3914
4278
|
onFocus
|
|
3915
4279
|
}) => {
|
|
3916
4280
|
const { disabledRules, onDateSelect, resetFocusedDate } = useAvailabilityRules(availability);
|
|
3917
|
-
return /* @__PURE__ */
|
|
4281
|
+
return /* @__PURE__ */ jsx51(
|
|
3918
4282
|
DateLookup,
|
|
3919
4283
|
{
|
|
3920
4284
|
value: dateStringToDateOrNull(value),
|
|
@@ -3938,7 +4302,7 @@ var DateLookupControl = ({
|
|
|
3938
4302
|
|
|
3939
4303
|
// ../renderers/src/DateInputRenderer/CalendarControl.tsx
|
|
3940
4304
|
import { Calendar } from "@transferwise/components";
|
|
3941
|
-
import { jsx as
|
|
4305
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
3942
4306
|
var CalendarControl = ({
|
|
3943
4307
|
id,
|
|
3944
4308
|
title,
|
|
@@ -3961,7 +4325,7 @@ var CalendarControl = ({
|
|
|
3961
4325
|
};
|
|
3962
4326
|
return (
|
|
3963
4327
|
// Wrapping in a <fieldset> to address some a11y gaps in the current inline Calendar component
|
|
3964
|
-
/* @__PURE__ */
|
|
4328
|
+
/* @__PURE__ */ jsx52(
|
|
3965
4329
|
"fieldset",
|
|
3966
4330
|
{
|
|
3967
4331
|
id,
|
|
@@ -3978,7 +4342,7 @@ var CalendarControl = ({
|
|
|
3978
4342
|
onBlur();
|
|
3979
4343
|
}
|
|
3980
4344
|
},
|
|
3981
|
-
children: /* @__PURE__ */
|
|
4345
|
+
children: /* @__PURE__ */ jsx52(
|
|
3982
4346
|
Calendar,
|
|
3983
4347
|
{
|
|
3984
4348
|
value: dateStringToDateOrNull(value),
|
|
@@ -3998,10 +4362,10 @@ var CalendarControl = ({
|
|
|
3998
4362
|
|
|
3999
4363
|
// ../renderers/src/DateInputRenderer/DateInputControl.tsx
|
|
4000
4364
|
import { DateInput } from "@transferwise/components";
|
|
4001
|
-
import { jsx as
|
|
4365
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
4002
4366
|
var DateInputControl = (_a) => {
|
|
4003
4367
|
var _b = _a, { autoComplete } = _b, props = __objRest(_b, ["autoComplete"]);
|
|
4004
|
-
return /* @__PURE__ */
|
|
4368
|
+
return /* @__PURE__ */ jsx53(
|
|
4005
4369
|
DateInput,
|
|
4006
4370
|
__spreadProps(__spreadValues({}, props), {
|
|
4007
4371
|
dayAutoComplete: getAutocompleteString(autoComplete, "day"),
|
|
@@ -4017,7 +4381,7 @@ var getAutocompleteString = (value, suffix) => {
|
|
|
4017
4381
|
};
|
|
4018
4382
|
|
|
4019
4383
|
// ../renderers/src/DateInputRenderer/DateInputRenderer.tsx
|
|
4020
|
-
import { jsx as
|
|
4384
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
4021
4385
|
var DateInputRenderer = {
|
|
4022
4386
|
canRenderType: "input-date",
|
|
4023
4387
|
render: (props) => {
|
|
@@ -4051,7 +4415,7 @@ var DateInputRenderer = {
|
|
|
4051
4415
|
}
|
|
4052
4416
|
return DateInputControl;
|
|
4053
4417
|
})();
|
|
4054
|
-
return /* @__PURE__ */
|
|
4418
|
+
return /* @__PURE__ */ jsx54(
|
|
4055
4419
|
FieldInput_default,
|
|
4056
4420
|
{
|
|
4057
4421
|
id,
|
|
@@ -4064,7 +4428,7 @@ var DateInputRenderer = {
|
|
|
4064
4428
|
features: props.features,
|
|
4065
4429
|
control,
|
|
4066
4430
|
tags: props.tags,
|
|
4067
|
-
children: /* @__PURE__ */
|
|
4431
|
+
children: /* @__PURE__ */ jsx54(UIComponent, __spreadValues({}, inputProps))
|
|
4068
4432
|
}
|
|
4069
4433
|
);
|
|
4070
4434
|
}
|
|
@@ -4076,8 +4440,8 @@ import { ListItem as ListItem7 } from "@transferwise/components";
|
|
|
4076
4440
|
|
|
4077
4441
|
// ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
|
|
4078
4442
|
import { Header as Header3, SearchInput } from "@transferwise/components";
|
|
4079
|
-
import { useState as
|
|
4080
|
-
import { useIntl as
|
|
4443
|
+
import { useState as useState14 } from "react";
|
|
4444
|
+
import { useIntl as useIntl12 } from "react-intl";
|
|
4081
4445
|
|
|
4082
4446
|
// ../renderers/src/messages/filter.messages.ts
|
|
4083
4447
|
import { defineMessages as defineMessages7 } from "react-intl";
|
|
@@ -4147,8 +4511,8 @@ function filterAndSortItems(options, query) {
|
|
|
4147
4511
|
var normalizeAndRemoveAccents = (text) => text.trim().toLowerCase().normalize("NFKD").replace(new RegExp("\\p{Diacritic}", "gu"), "");
|
|
4148
4512
|
|
|
4149
4513
|
// ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
|
|
4150
|
-
import { Header as Header2, Section } from "@transferwise/components";
|
|
4151
|
-
import { useIntl as
|
|
4514
|
+
import { Header as Header2, Section as Section2 } from "@transferwise/components";
|
|
4515
|
+
import { useIntl as useIntl11 } from "react-intl";
|
|
4152
4516
|
|
|
4153
4517
|
// ../renderers/src/messages/group.messages.ts
|
|
4154
4518
|
import { defineMessages as defineMessages8 } from "react-intl";
|
|
@@ -4186,18 +4550,18 @@ var getGroupsFromTags = (knownTags, items) => {
|
|
|
4186
4550
|
};
|
|
4187
4551
|
|
|
4188
4552
|
// ../renderers/src/DecisionRenderer/GroupedDecisionList.tsx
|
|
4189
|
-
import { Fragment as
|
|
4553
|
+
import { Fragment as Fragment5, jsx as jsx55, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
4190
4554
|
var groupingTags = Object.keys(group_messages_default).filter((key) => key !== "all");
|
|
4191
4555
|
var isGroupedDecision = (options) => {
|
|
4192
4556
|
return getGroupsFromTags(groupingTags, options).length > 0;
|
|
4193
4557
|
};
|
|
4194
4558
|
var GroupedDecisionList = (_a) => {
|
|
4195
4559
|
var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
|
|
4196
|
-
const { formatMessage } =
|
|
4560
|
+
const { formatMessage } = useIntl11();
|
|
4197
4561
|
const { options } = rest;
|
|
4198
4562
|
const itemsByTag = [...getGroupsFromTags(groupingTags, options), { tag: "all", items: options }];
|
|
4199
|
-
return /* @__PURE__ */
|
|
4200
|
-
/* @__PURE__ */
|
|
4563
|
+
return /* @__PURE__ */ jsx55(Fragment5, { children: itemsByTag.map(({ tag, items }) => /* @__PURE__ */ jsxs14(Section2, { children: [
|
|
4564
|
+
/* @__PURE__ */ jsx55(
|
|
4201
4565
|
Header2,
|
|
4202
4566
|
{
|
|
4203
4567
|
as: "h2",
|
|
@@ -4209,27 +4573,27 @@ var GroupedDecisionList = (_a) => {
|
|
|
4209
4573
|
};
|
|
4210
4574
|
|
|
4211
4575
|
// ../renderers/src/DecisionRenderer/DecisionWrapper.tsx
|
|
4212
|
-
var
|
|
4213
|
-
import { Fragment as
|
|
4576
|
+
var import_classnames15 = __toESM(require_classnames());
|
|
4577
|
+
import { Fragment as Fragment6, jsx as jsx56, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
4214
4578
|
var DecisionWrapper = (props) => {
|
|
4215
4579
|
const { margin, control, title, tags } = props;
|
|
4216
|
-
return /* @__PURE__ */
|
|
4217
|
-
title && /* @__PURE__ */
|
|
4218
|
-
control === "filtered" ? /* @__PURE__ */
|
|
4580
|
+
return /* @__PURE__ */ jsxs15("div", { className: (0, import_classnames15.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
|
|
4581
|
+
title && /* @__PURE__ */ jsx56(Header3, { as: "h2", title }),
|
|
4582
|
+
control === "filtered" ? /* @__PURE__ */ jsx56(FilteredDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ jsx56(UnfilteredDecisionList, __spreadValues({}, props))
|
|
4219
4583
|
] });
|
|
4220
4584
|
};
|
|
4221
4585
|
var UnfilteredDecisionList = (_a) => {
|
|
4222
4586
|
var _b = _a, { renderDecisionList: renderDecisionList2 } = _b, rest = __objRest(_b, ["renderDecisionList"]);
|
|
4223
|
-
return isGroupedDecision(rest.options) ? /* @__PURE__ */
|
|
4587
|
+
return isGroupedDecision(rest.options) ? /* @__PURE__ */ jsx56(GroupedDecisionList, __spreadProps(__spreadValues({}, rest), { renderDecisionList: renderDecisionList2 })) : renderDecisionList2(rest);
|
|
4224
4588
|
};
|
|
4225
4589
|
var FilteredDecisionList = (props) => {
|
|
4226
|
-
const { formatMessage } =
|
|
4227
|
-
const [query, setQuery] =
|
|
4590
|
+
const { formatMessage } = useIntl12();
|
|
4591
|
+
const [query, setQuery] = useState14("");
|
|
4228
4592
|
const { control, options, renderDecisionList: renderDecisionList2 } = props;
|
|
4229
4593
|
const filteredOptions = (query == null ? void 0 : query.length) > 0 ? filterAndSortItems(options, query) : options;
|
|
4230
4594
|
const isGrouped = isGroupedDecision(options);
|
|
4231
|
-
return /* @__PURE__ */
|
|
4232
|
-
/* @__PURE__ */
|
|
4595
|
+
return /* @__PURE__ */ jsxs15(Fragment6, { children: [
|
|
4596
|
+
/* @__PURE__ */ jsx56(
|
|
4233
4597
|
SearchInput,
|
|
4234
4598
|
{
|
|
4235
4599
|
placeholder: formatMessage(filter_messages_default.placeholder),
|
|
@@ -4241,25 +4605,25 @@ var FilteredDecisionList = (props) => {
|
|
|
4241
4605
|
}
|
|
4242
4606
|
}
|
|
4243
4607
|
),
|
|
4244
|
-
isGrouped && query.length === 0 ? /* @__PURE__ */
|
|
4245
|
-
query.length > 0 && /* @__PURE__ */
|
|
4608
|
+
isGrouped && query.length === 0 ? /* @__PURE__ */ jsx56(GroupedDecisionList, __spreadValues({}, props)) : /* @__PURE__ */ jsxs15(Fragment6, { children: [
|
|
4609
|
+
query.length > 0 && /* @__PURE__ */ jsx56(Header3, { as: "h2", title: formatMessage(filter_messages_default.results), className: "m-t-4" }),
|
|
4246
4610
|
filteredOptions.length > 0 ? renderDecisionList2({
|
|
4247
4611
|
control,
|
|
4248
4612
|
className: query.length === 0 ? "m-t-3" : "",
|
|
4249
4613
|
options: filteredOptions
|
|
4250
|
-
}) : /* @__PURE__ */
|
|
4614
|
+
}) : /* @__PURE__ */ jsx56("p", { children: formatMessage(filter_messages_default.noResults) })
|
|
4251
4615
|
] })
|
|
4252
4616
|
] });
|
|
4253
4617
|
};
|
|
4254
4618
|
|
|
4255
4619
|
// ../renderers/src/DecisionRenderer/DecisionRenderer.tsx
|
|
4256
|
-
import { Fragment as
|
|
4620
|
+
import { Fragment as Fragment7, jsx as jsx57 } from "react/jsx-runtime";
|
|
4257
4621
|
var DecisionRenderer = {
|
|
4258
4622
|
canRenderType: "decision",
|
|
4259
|
-
render: (props) => /* @__PURE__ */
|
|
4623
|
+
render: (props) => /* @__PURE__ */ jsx57(DecisionWrapper, __spreadProps(__spreadValues({}, props), { renderDecisionList }))
|
|
4260
4624
|
};
|
|
4261
4625
|
var renderDecisionList = ({ options, control }) => {
|
|
4262
|
-
return /* @__PURE__ */
|
|
4626
|
+
return /* @__PURE__ */ jsx57(Fragment7, { children: options.map((_a) => {
|
|
4263
4627
|
var _b = _a, { onClick } = _b, rest = __objRest(_b, ["onClick"]);
|
|
4264
4628
|
const {
|
|
4265
4629
|
description,
|
|
@@ -4272,7 +4636,7 @@ var renderDecisionList = ({ options, control }) => {
|
|
|
4272
4636
|
supportingValues,
|
|
4273
4637
|
tags
|
|
4274
4638
|
} = rest;
|
|
4275
|
-
return /* @__PURE__ */
|
|
4639
|
+
return /* @__PURE__ */ jsx57(
|
|
4276
4640
|
ListItem7,
|
|
4277
4641
|
{
|
|
4278
4642
|
title: itemTitle,
|
|
@@ -4284,7 +4648,7 @@ var renderDecisionList = ({ options, control }) => {
|
|
|
4284
4648
|
media: getMedia(media, shouldUseAvatar(control, tags)),
|
|
4285
4649
|
prompt: getInlineAlert(inlineAlert),
|
|
4286
4650
|
additionalInfo: additionalText ? getAdditionalInfo({ text: additionalText }) : void 0,
|
|
4287
|
-
control: /* @__PURE__ */
|
|
4651
|
+
control: /* @__PURE__ */ jsx57(ListItem7.Navigation, __spreadValues({}, getAnchorProps()))
|
|
4288
4652
|
},
|
|
4289
4653
|
JSON.stringify(rest)
|
|
4290
4654
|
);
|
|
@@ -4293,9 +4657,9 @@ var renderDecisionList = ({ options, control }) => {
|
|
|
4293
4657
|
var DecisionRenderer_default = DecisionRenderer;
|
|
4294
4658
|
|
|
4295
4659
|
// ../renderers/src/DividerRenderer.tsx
|
|
4296
|
-
var
|
|
4297
|
-
import { Divider } from "@transferwise/components";
|
|
4298
|
-
import { jsx as
|
|
4660
|
+
var import_classnames16 = __toESM(require_classnames());
|
|
4661
|
+
import { Divider as Divider2 } from "@transferwise/components";
|
|
4662
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
4299
4663
|
var mapControlToLevel = (control) => {
|
|
4300
4664
|
switch (control) {
|
|
4301
4665
|
case "section":
|
|
@@ -4308,10 +4672,10 @@ var mapControlToLevel = (control) => {
|
|
|
4308
4672
|
};
|
|
4309
4673
|
var DividerRenderer = {
|
|
4310
4674
|
canRenderType: "divider",
|
|
4311
|
-
render: ({ margin, control, tags }) => /* @__PURE__ */
|
|
4312
|
-
|
|
4675
|
+
render: ({ margin, control, tags }) => /* @__PURE__ */ jsx58(
|
|
4676
|
+
Divider2,
|
|
4313
4677
|
{
|
|
4314
|
-
className: (0,
|
|
4678
|
+
className: (0, import_classnames16.default)(
|
|
4315
4679
|
"m-t-0",
|
|
4316
4680
|
"d-block",
|
|
4317
4681
|
getMargin(margin),
|
|
@@ -4324,7 +4688,7 @@ var DividerRenderer = {
|
|
|
4324
4688
|
var DividerRenderer_default = DividerRenderer;
|
|
4325
4689
|
|
|
4326
4690
|
// ../renderers/src/ExternalConfirmationRenderer.tsx
|
|
4327
|
-
import { Button as
|
|
4691
|
+
import { Button as Button6, Markdown as Markdown3, Modal } from "@transferwise/components";
|
|
4328
4692
|
|
|
4329
4693
|
// ../renderers/src/messages/external-confirmation.messages.ts
|
|
4330
4694
|
import { defineMessages as defineMessages9 } from "react-intl";
|
|
@@ -4352,9 +4716,9 @@ var external_confirmation_messages_default = defineMessages9({
|
|
|
4352
4716
|
});
|
|
4353
4717
|
|
|
4354
4718
|
// ../renderers/src/ExternalConfirmationRenderer.tsx
|
|
4355
|
-
import { useIntl as
|
|
4356
|
-
import { useEffect as
|
|
4357
|
-
import { Fragment as
|
|
4719
|
+
import { useIntl as useIntl13 } from "react-intl";
|
|
4720
|
+
import { useEffect as useEffect10 } from "react";
|
|
4721
|
+
import { Fragment as Fragment8, jsx as jsx59, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
4358
4722
|
var ExternalConfirmationRenderer = {
|
|
4359
4723
|
canRenderType: "external-confirmation",
|
|
4360
4724
|
render: ExternalConfirmationRendererComponent
|
|
@@ -4367,20 +4731,20 @@ function ExternalConfirmationRendererComponent({
|
|
|
4367
4731
|
control,
|
|
4368
4732
|
tags
|
|
4369
4733
|
}) {
|
|
4370
|
-
const { formatMessage } =
|
|
4371
|
-
|
|
4734
|
+
const { formatMessage } = useIntl13();
|
|
4735
|
+
useEffect10(() => {
|
|
4372
4736
|
open();
|
|
4373
4737
|
}, []);
|
|
4374
|
-
return /* @__PURE__ */
|
|
4738
|
+
return /* @__PURE__ */ jsx59(
|
|
4375
4739
|
Modal,
|
|
4376
4740
|
{
|
|
4377
4741
|
open: visible,
|
|
4378
4742
|
title: formatMessage(external_confirmation_messages_default.title),
|
|
4379
|
-
body: /* @__PURE__ */
|
|
4380
|
-
/* @__PURE__ */
|
|
4381
|
-
/* @__PURE__ */
|
|
4382
|
-
/* @__PURE__ */
|
|
4383
|
-
|
|
4743
|
+
body: /* @__PURE__ */ jsxs16(Fragment8, { children: [
|
|
4744
|
+
/* @__PURE__ */ jsx59(Markdown3, { config: { link: { target: "_blank" } }, className: "text-xs-center m-b-5", children: formatMessage(external_confirmation_messages_default.description, { origin: getOrigin(url) }) }),
|
|
4745
|
+
/* @__PURE__ */ jsx59("div", { className: "df-box-renderer-fixed-width", children: /* @__PURE__ */ jsxs16("div", { className: "df-box-renderer-width-lg", children: [
|
|
4746
|
+
/* @__PURE__ */ jsx59(
|
|
4747
|
+
Button6,
|
|
4384
4748
|
{
|
|
4385
4749
|
v2: true,
|
|
4386
4750
|
block: true,
|
|
@@ -4393,7 +4757,7 @@ function ExternalConfirmationRendererComponent({
|
|
|
4393
4757
|
children: formatMessage(external_confirmation_messages_default.open)
|
|
4394
4758
|
}
|
|
4395
4759
|
),
|
|
4396
|
-
/* @__PURE__ */
|
|
4760
|
+
/* @__PURE__ */ jsx59(Button6, { v2: true, block: true, className: "m-b-2", priority: "tertiary", size: "md", onClick: onCancel, children: formatMessage(external_confirmation_messages_default.cancel) })
|
|
4397
4761
|
] }) })
|
|
4398
4762
|
] }),
|
|
4399
4763
|
className: controlAndTagsToCSSClass({ control, tags }),
|
|
@@ -4411,51 +4775,51 @@ function getOrigin(url) {
|
|
|
4411
4775
|
var ExternalConfirmationRenderer_default = ExternalConfirmationRenderer;
|
|
4412
4776
|
|
|
4413
4777
|
// ../renderers/src/FormRenderer.tsx
|
|
4414
|
-
var
|
|
4415
|
-
import { jsx as
|
|
4778
|
+
var import_classnames17 = __toESM(require_classnames());
|
|
4779
|
+
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
4416
4780
|
var FormRenderer = {
|
|
4417
4781
|
canRenderType: "form",
|
|
4418
|
-
render: ({ children, margin, control, tags }) => /* @__PURE__ */
|
|
4782
|
+
render: ({ children, margin, control, tags }) => /* @__PURE__ */ jsx60("div", { className: (0, import_classnames17.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children })
|
|
4419
4783
|
};
|
|
4420
4784
|
var FormRenderer_default = FormRenderer;
|
|
4421
4785
|
|
|
4422
4786
|
// ../renderers/src/FormSectionRenderer.tsx
|
|
4423
4787
|
import { Header as Header4 } from "@transferwise/components";
|
|
4424
|
-
import { jsx as
|
|
4788
|
+
import { jsx as jsx61, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
4425
4789
|
var FormSectionRenderer = {
|
|
4426
4790
|
canRenderType: "form-section",
|
|
4427
|
-
render: ({ title, description, children, control, tags }) => /* @__PURE__ */
|
|
4428
|
-
title && /* @__PURE__ */
|
|
4791
|
+
render: ({ title, description, children, control, tags }) => /* @__PURE__ */ jsxs17("fieldset", { className: controlAndTagsToCSSClass({ control, tags }), children: [
|
|
4792
|
+
title && /* @__PURE__ */ jsx61(
|
|
4429
4793
|
Header4,
|
|
4430
4794
|
{
|
|
4431
4795
|
as: "h2",
|
|
4432
4796
|
title
|
|
4433
4797
|
}
|
|
4434
4798
|
),
|
|
4435
|
-
description && /* @__PURE__ */
|
|
4799
|
+
description && /* @__PURE__ */ jsx61("p", { children: description }),
|
|
4436
4800
|
children
|
|
4437
4801
|
] })
|
|
4438
4802
|
};
|
|
4439
4803
|
var FormSectionRenderer_default = FormSectionRenderer;
|
|
4440
4804
|
|
|
4441
4805
|
// ../renderers/src/HeadingRenderer.tsx
|
|
4442
|
-
var
|
|
4806
|
+
var import_classnames18 = __toESM(require_classnames());
|
|
4443
4807
|
import { Display, Title } from "@transferwise/components";
|
|
4444
|
-
import { jsx as
|
|
4808
|
+
import { jsx as jsx62 } from "react/jsx-runtime";
|
|
4445
4809
|
var HeadingRenderer = {
|
|
4446
4810
|
canRenderType: "heading",
|
|
4447
4811
|
render: Heading
|
|
4448
4812
|
};
|
|
4449
4813
|
function Heading(props) {
|
|
4450
4814
|
const { text, size, align, margin, control } = props;
|
|
4451
|
-
const className = (0,
|
|
4815
|
+
const className = (0, import_classnames18.default)(
|
|
4452
4816
|
getTextAlignmentAndMargin({ align, margin }),
|
|
4453
4817
|
controlAndTagsToCSSClass(props)
|
|
4454
4818
|
);
|
|
4455
|
-
return control === "display" ? /* @__PURE__ */
|
|
4819
|
+
return control === "display" ? /* @__PURE__ */ jsx62(DisplayHeading, { size, text, className }) : /* @__PURE__ */ jsx62(StandardHeading, { size, text, className });
|
|
4456
4820
|
}
|
|
4457
4821
|
function DisplayHeading({ size, text, className }) {
|
|
4458
|
-
return /* @__PURE__ */
|
|
4822
|
+
return /* @__PURE__ */ jsx62(Display, { type: getDisplayType(size), className, children: text });
|
|
4459
4823
|
}
|
|
4460
4824
|
var getDisplayType = (size) => {
|
|
4461
4825
|
switch (size) {
|
|
@@ -4471,7 +4835,7 @@ var getDisplayType = (size) => {
|
|
|
4471
4835
|
}
|
|
4472
4836
|
};
|
|
4473
4837
|
function StandardHeading({ size, text, className }) {
|
|
4474
|
-
return /* @__PURE__ */
|
|
4838
|
+
return /* @__PURE__ */ jsx62(Title, { type: getTitleTypeBySize(size), className, children: text });
|
|
4475
4839
|
}
|
|
4476
4840
|
var getTitleTypeBySize = (size) => {
|
|
4477
4841
|
var _a;
|
|
@@ -4487,9 +4851,9 @@ var getTitleTypeBySize = (size) => {
|
|
|
4487
4851
|
var HeadingRenderer_default = HeadingRenderer;
|
|
4488
4852
|
|
|
4489
4853
|
// ../renderers/src/ImageRenderer/UrlImage.tsx
|
|
4490
|
-
var
|
|
4854
|
+
var import_classnames19 = __toESM(require_classnames());
|
|
4491
4855
|
import { Image } from "@transferwise/components";
|
|
4492
|
-
import { useEffect as
|
|
4856
|
+
import { useEffect as useEffect11, useState as useState15 } from "react";
|
|
4493
4857
|
|
|
4494
4858
|
// ../renderers/src/utils/api-utils.ts
|
|
4495
4859
|
function isRelativePath(url = "") {
|
|
@@ -4499,7 +4863,7 @@ function isRelativePath(url = "") {
|
|
|
4499
4863
|
}
|
|
4500
4864
|
|
|
4501
4865
|
// ../renderers/src/ImageRenderer/UrlImage.tsx
|
|
4502
|
-
import { jsx as
|
|
4866
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
4503
4867
|
function UrlImage({
|
|
4504
4868
|
accessibilityDescription,
|
|
4505
4869
|
align,
|
|
@@ -4510,23 +4874,23 @@ function UrlImage({
|
|
|
4510
4874
|
uri,
|
|
4511
4875
|
httpClient
|
|
4512
4876
|
}) {
|
|
4513
|
-
const [imageSource, setImageSource] =
|
|
4514
|
-
|
|
4877
|
+
const [imageSource, setImageSource] = useState15("");
|
|
4878
|
+
useEffect11(() => {
|
|
4515
4879
|
if (!uri.startsWith("urn:")) {
|
|
4516
4880
|
void getImageSource(httpClient, uri).then(setImageSource);
|
|
4517
4881
|
}
|
|
4518
4882
|
}, [uri, httpClient]);
|
|
4519
|
-
return /* @__PURE__ */
|
|
4883
|
+
return /* @__PURE__ */ jsx63(
|
|
4520
4884
|
"div",
|
|
4521
4885
|
{
|
|
4522
|
-
className: (0,
|
|
4886
|
+
className: (0, import_classnames19.default)(
|
|
4523
4887
|
"df-image",
|
|
4524
4888
|
align,
|
|
4525
4889
|
size || "md",
|
|
4526
4890
|
getMargin(margin),
|
|
4527
4891
|
controlAndTagsToCSSClass({ control, tags })
|
|
4528
4892
|
),
|
|
4529
|
-
children: /* @__PURE__ */
|
|
4893
|
+
children: /* @__PURE__ */ jsx63(
|
|
4530
4894
|
Image,
|
|
4531
4895
|
{
|
|
4532
4896
|
className: "df-reserve-space",
|
|
@@ -4572,19 +4936,19 @@ var getImageSource = async (httpClient, imageUrl) => {
|
|
|
4572
4936
|
};
|
|
4573
4937
|
|
|
4574
4938
|
// ../renderers/src/ImageRenderer/ImageRenderer.tsx
|
|
4575
|
-
import { jsx as
|
|
4939
|
+
import { jsx as jsx64 } from "react/jsx-runtime";
|
|
4576
4940
|
var ImageRenderer = {
|
|
4577
4941
|
canRenderType: "image",
|
|
4578
|
-
render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */
|
|
4942
|
+
render: (props) => isUrnImage(props.uri) ? /* @__PURE__ */ jsx64(UrnImage, __spreadValues({}, props)) : /* @__PURE__ */ jsx64(UrlImage, __spreadValues({}, props))
|
|
4579
4943
|
};
|
|
4580
4944
|
|
|
4581
4945
|
// ../renderers/src/ImageRenderer/index.tsx
|
|
4582
4946
|
var ImageRenderer_default = ImageRenderer;
|
|
4583
4947
|
|
|
4584
4948
|
// ../renderers/src/InstructionsRenderer.tsx
|
|
4585
|
-
var
|
|
4949
|
+
var import_classnames20 = __toESM(require_classnames());
|
|
4586
4950
|
import { Header as Header5, InstructionsList } from "@transferwise/components";
|
|
4587
|
-
import { jsx as
|
|
4951
|
+
import { jsx as jsx65, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
4588
4952
|
var doContext = ["positive", "neutral", "proposition"];
|
|
4589
4953
|
var dontContext = ["warning", "negative"];
|
|
4590
4954
|
var InstructionsRenderer = {
|
|
@@ -4592,16 +4956,16 @@ var InstructionsRenderer = {
|
|
|
4592
4956
|
render: ({ items, margin, title, control, tags }) => {
|
|
4593
4957
|
const dos = items.filter((item) => doContext.includes(item.context)).map(({ text }) => text);
|
|
4594
4958
|
const donts = items.filter((item) => dontContext.includes(item.context)).map(({ text }) => text);
|
|
4595
|
-
return /* @__PURE__ */
|
|
4596
|
-
title ? /* @__PURE__ */
|
|
4597
|
-
/* @__PURE__ */
|
|
4959
|
+
return /* @__PURE__ */ jsxs18("div", { className: (0, import_classnames20.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
|
|
4960
|
+
title ? /* @__PURE__ */ jsx65(Header5, { title }) : null,
|
|
4961
|
+
/* @__PURE__ */ jsx65(InstructionsList, { dos, donts })
|
|
4598
4962
|
] });
|
|
4599
4963
|
}
|
|
4600
4964
|
};
|
|
4601
4965
|
var InstructionsRenderer_default = InstructionsRenderer;
|
|
4602
4966
|
|
|
4603
4967
|
// ../renderers/src/IntegerInputRenderer.tsx
|
|
4604
|
-
import { Input as
|
|
4968
|
+
import { Input as Input3, InputGroup as InputGroup3 } from "@transferwise/components";
|
|
4605
4969
|
|
|
4606
4970
|
// ../renderers/src/utils/input-utils.ts
|
|
4607
4971
|
var onWheel = (event) => {
|
|
@@ -4626,7 +4990,7 @@ function pick(obj, ...keys) {
|
|
|
4626
4990
|
}
|
|
4627
4991
|
|
|
4628
4992
|
// ../renderers/src/IntegerInputRenderer.tsx
|
|
4629
|
-
import { jsx as
|
|
4993
|
+
import { jsx as jsx66 } from "react/jsx-runtime";
|
|
4630
4994
|
var IntegerInputRenderer = {
|
|
4631
4995
|
canRenderType: "input-integer",
|
|
4632
4996
|
render: (props) => {
|
|
@@ -4641,7 +5005,7 @@ var IntegerInputRenderer = {
|
|
|
4641
5005
|
"maximum",
|
|
4642
5006
|
"minimum"
|
|
4643
5007
|
);
|
|
4644
|
-
return /* @__PURE__ */
|
|
5008
|
+
return /* @__PURE__ */ jsx66(
|
|
4645
5009
|
FieldInput_default,
|
|
4646
5010
|
{
|
|
4647
5011
|
id,
|
|
@@ -4654,8 +5018,8 @@ var IntegerInputRenderer = {
|
|
|
4654
5018
|
features: props.features,
|
|
4655
5019
|
control: props.control,
|
|
4656
5020
|
tags: props.tags,
|
|
4657
|
-
children: /* @__PURE__ */
|
|
4658
|
-
|
|
5021
|
+
children: /* @__PURE__ */ jsx66(InputGroup3, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx66(
|
|
5022
|
+
Input3,
|
|
4659
5023
|
__spreadValues({
|
|
4660
5024
|
id,
|
|
4661
5025
|
name: id,
|
|
@@ -4677,13 +5041,13 @@ var IntegerInputRenderer = {
|
|
|
4677
5041
|
var IntegerInputRenderer_default = IntegerInputRenderer;
|
|
4678
5042
|
|
|
4679
5043
|
// ../renderers/src/ListRenderer.tsx
|
|
4680
|
-
var
|
|
5044
|
+
var import_classnames21 = __toESM(require_classnames());
|
|
4681
5045
|
import { ListItem as ListItem8 } from "@transferwise/components";
|
|
4682
5046
|
|
|
4683
5047
|
// ../renderers/src/components/Header.tsx
|
|
4684
5048
|
import { Header as DSHeader } from "@transferwise/components";
|
|
4685
|
-
import { jsx as
|
|
4686
|
-
var Header = ({ title, callToAction }) => (title || callToAction) && /* @__PURE__ */
|
|
5049
|
+
import { jsx as jsx67 } from "react/jsx-runtime";
|
|
5050
|
+
var Header = ({ title, callToAction }) => (title || callToAction) && /* @__PURE__ */ jsx67(DSHeader, { title: title != null ? title : "", action: getHeaderAction(callToAction) });
|
|
4687
5051
|
var getHeaderAction = (callToAction) => {
|
|
4688
5052
|
if (!callToAction) {
|
|
4689
5053
|
return void 0;
|
|
@@ -4695,11 +5059,11 @@ var getHeaderAction = (callToAction) => {
|
|
|
4695
5059
|
};
|
|
4696
5060
|
|
|
4697
5061
|
// ../renderers/src/ListRenderer.tsx
|
|
4698
|
-
import { jsx as
|
|
5062
|
+
import { jsx as jsx68, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
4699
5063
|
var ListRenderer = {
|
|
4700
5064
|
canRenderType: "list",
|
|
4701
|
-
render: ({ callToAction, control, margin, items, tags, title }) => /* @__PURE__ */
|
|
4702
|
-
/* @__PURE__ */
|
|
5065
|
+
render: ({ callToAction, control, margin, items, tags, title }) => /* @__PURE__ */ jsxs19("div", { className: (0, import_classnames21.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
|
|
5066
|
+
/* @__PURE__ */ jsx68(Header, { title, callToAction }),
|
|
4703
5067
|
items.map((item) => {
|
|
4704
5068
|
var _a, _b;
|
|
4705
5069
|
const {
|
|
@@ -4716,7 +5080,7 @@ var ListRenderer = {
|
|
|
4716
5080
|
ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
|
|
4717
5081
|
fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
|
|
4718
5082
|
};
|
|
4719
|
-
return /* @__PURE__ */
|
|
5083
|
+
return /* @__PURE__ */ jsx68(
|
|
4720
5084
|
ListItem8,
|
|
4721
5085
|
{
|
|
4722
5086
|
title: itemTitle,
|
|
@@ -4736,17 +5100,17 @@ var ListRenderer = {
|
|
|
4736
5100
|
var ListRenderer_default = ListRenderer;
|
|
4737
5101
|
|
|
4738
5102
|
// ../renderers/src/LoadingIndicatorRenderer.tsx
|
|
4739
|
-
var
|
|
5103
|
+
var import_classnames22 = __toESM(require_classnames());
|
|
4740
5104
|
import { Loader } from "@transferwise/components";
|
|
4741
|
-
import { jsx as
|
|
5105
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
4742
5106
|
var LoadingIndicatorRenderer = {
|
|
4743
5107
|
canRenderType: "loading-indicator",
|
|
4744
|
-
render: ({ size, margin, control, tags }) => /* @__PURE__ */
|
|
5108
|
+
render: ({ size, margin, control, tags }) => /* @__PURE__ */ jsx69(
|
|
4745
5109
|
Loader,
|
|
4746
5110
|
{
|
|
4747
5111
|
size,
|
|
4748
5112
|
classNames: {
|
|
4749
|
-
"tw-loader": (0,
|
|
5113
|
+
"tw-loader": (0, import_classnames22.default)(
|
|
4750
5114
|
"tw-loader",
|
|
4751
5115
|
"m-x-auto",
|
|
4752
5116
|
getMargin(margin),
|
|
@@ -4760,24 +5124,24 @@ var LoadingIndicatorRenderer = {
|
|
|
4760
5124
|
var LoadingIndicatorRenderer_default = LoadingIndicatorRenderer;
|
|
4761
5125
|
|
|
4762
5126
|
// ../renderers/src/MarkdownRenderer.tsx
|
|
4763
|
-
var
|
|
5127
|
+
var import_classnames23 = __toESM(require_classnames());
|
|
4764
5128
|
import { Markdown as Markdown4 } from "@transferwise/components";
|
|
4765
|
-
import { jsx as
|
|
5129
|
+
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
4766
5130
|
var MarkdownRenderer = {
|
|
4767
5131
|
canRenderType: "markdown",
|
|
4768
5132
|
render: ({ content, align, margin, size, control, tags }) => {
|
|
4769
5133
|
const isLarge = !["xs", "sm"].includes(size);
|
|
4770
|
-
return /* @__PURE__ */
|
|
5134
|
+
return /* @__PURE__ */ jsx70(
|
|
4771
5135
|
"div",
|
|
4772
5136
|
{
|
|
4773
|
-
className: (0,
|
|
5137
|
+
className: (0, import_classnames23.default)(
|
|
4774
5138
|
getTextAlignmentAndMargin({ align, margin }),
|
|
4775
5139
|
controlAndTagsToCSSClass({ control, tags })
|
|
4776
5140
|
),
|
|
4777
|
-
children: /* @__PURE__ */
|
|
5141
|
+
children: /* @__PURE__ */ jsx70(
|
|
4778
5142
|
Markdown4,
|
|
4779
5143
|
{
|
|
4780
|
-
className: (0,
|
|
5144
|
+
className: (0, import_classnames23.default)("df-markdown", {
|
|
4781
5145
|
"np-text-body-large": isLarge,
|
|
4782
5146
|
"np-text-body-default": !isLarge
|
|
4783
5147
|
}),
|
|
@@ -4792,17 +5156,17 @@ var MarkdownRenderer = {
|
|
|
4792
5156
|
var MarkdownRenderer_default = MarkdownRenderer;
|
|
4793
5157
|
|
|
4794
5158
|
// ../renderers/src/MediaRenderer.tsx
|
|
4795
|
-
var
|
|
4796
|
-
import { jsx as
|
|
5159
|
+
var import_classnames24 = __toESM(require_classnames());
|
|
5160
|
+
import { jsx as jsx71 } from "react/jsx-runtime";
|
|
4797
5161
|
var MediaRenderer = {
|
|
4798
5162
|
canRenderType: "media",
|
|
4799
5163
|
render: (_a) => {
|
|
4800
5164
|
var _b = _a, { media } = _b, rest = __objRest(_b, ["media"]);
|
|
4801
5165
|
switch (media.type) {
|
|
4802
5166
|
case "avatar":
|
|
4803
|
-
return /* @__PURE__ */
|
|
5167
|
+
return /* @__PURE__ */ jsx71(AvatarMediaRendererComponent, __spreadValues({ media }, rest));
|
|
4804
5168
|
case "image":
|
|
4805
|
-
return /* @__PURE__ */
|
|
5169
|
+
return /* @__PURE__ */ jsx71(ImageMediaRendererComponent, __spreadValues({ media }, rest));
|
|
4806
5170
|
case "legacy":
|
|
4807
5171
|
return null;
|
|
4808
5172
|
}
|
|
@@ -4816,16 +5180,16 @@ var AvatarMediaRendererComponent = ({
|
|
|
4816
5180
|
control,
|
|
4817
5181
|
tags
|
|
4818
5182
|
}) => {
|
|
4819
|
-
return /* @__PURE__ */
|
|
5183
|
+
return /* @__PURE__ */ jsx71(
|
|
4820
5184
|
"div",
|
|
4821
5185
|
{
|
|
4822
|
-
className: (0,
|
|
5186
|
+
className: (0, import_classnames24.default)(
|
|
4823
5187
|
"df-media-layout-avatar",
|
|
4824
5188
|
align,
|
|
4825
5189
|
getMargin(margin),
|
|
4826
5190
|
controlAndTagsToCSSClass({ control, tags })
|
|
4827
5191
|
),
|
|
4828
|
-
children: /* @__PURE__ */
|
|
5192
|
+
children: /* @__PURE__ */ jsx71(Media, { media, size: mapAvatarMediaSize(size) })
|
|
4829
5193
|
}
|
|
4830
5194
|
);
|
|
4831
5195
|
};
|
|
@@ -4838,14 +5202,14 @@ var ImageMediaRendererComponent = (_a) => {
|
|
|
4838
5202
|
"size"
|
|
4839
5203
|
]);
|
|
4840
5204
|
var _a2, _b2;
|
|
4841
|
-
return isUrnImage(media.uri) ? /* @__PURE__ */
|
|
5205
|
+
return isUrnImage(media.uri) ? /* @__PURE__ */ jsx71(
|
|
4842
5206
|
UrnImage,
|
|
4843
5207
|
__spreadValues({
|
|
4844
5208
|
uri: media.uri,
|
|
4845
5209
|
size: (_a2 = media.size) != null ? _a2 : size,
|
|
4846
5210
|
accessibilityDescription: media.accessibilityDescription
|
|
4847
5211
|
}, rest)
|
|
4848
|
-
) : /* @__PURE__ */
|
|
5212
|
+
) : /* @__PURE__ */ jsx71(
|
|
4849
5213
|
UrlImage,
|
|
4850
5214
|
__spreadValues({
|
|
4851
5215
|
uri: media.uri,
|
|
@@ -4870,21 +5234,21 @@ var mapAvatarMediaSize = (size) => {
|
|
|
4870
5234
|
};
|
|
4871
5235
|
|
|
4872
5236
|
// ../renderers/src/ModalLayoutRenderer.tsx
|
|
4873
|
-
var
|
|
4874
|
-
import { Button as
|
|
4875
|
-
import { useState as
|
|
4876
|
-
import { jsx as
|
|
5237
|
+
var import_classnames25 = __toESM(require_classnames());
|
|
5238
|
+
import { Button as Button7, Modal as Modal2 } from "@transferwise/components";
|
|
5239
|
+
import { useState as useState16 } from "react";
|
|
5240
|
+
import { jsx as jsx72, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
4877
5241
|
var ModalLayoutRenderer = {
|
|
4878
5242
|
canRenderType: "modal-layout",
|
|
4879
|
-
render: (props) => /* @__PURE__ */
|
|
5243
|
+
render: (props) => /* @__PURE__ */ jsx72(DFModal, __spreadValues({}, props))
|
|
4880
5244
|
};
|
|
4881
5245
|
var ModalLayoutRenderer_default = ModalLayoutRenderer;
|
|
4882
5246
|
function DFModal({ content, margin, trigger, control, tags }) {
|
|
4883
|
-
const [visible, setVisible] =
|
|
5247
|
+
const [visible, setVisible] = useState16(false);
|
|
4884
5248
|
const { children, title } = content;
|
|
4885
|
-
return /* @__PURE__ */
|
|
4886
|
-
/* @__PURE__ */
|
|
4887
|
-
/* @__PURE__ */
|
|
5249
|
+
return /* @__PURE__ */ jsxs20("div", { className: (0, import_classnames25.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
|
|
5250
|
+
/* @__PURE__ */ jsx72(Button7, { v2: true, priority: "tertiary", block: true, onClick: () => setVisible(true), children: trigger.title }),
|
|
5251
|
+
/* @__PURE__ */ jsx72(
|
|
4888
5252
|
Modal2,
|
|
4889
5253
|
{
|
|
4890
5254
|
scroll: "content",
|
|
@@ -4900,11 +5264,11 @@ function DFModal({ content, margin, trigger, control, tags }) {
|
|
|
4900
5264
|
|
|
4901
5265
|
// ../renderers/src/ModalRenderer.tsx
|
|
4902
5266
|
import { Modal as Modal3 } from "@transferwise/components";
|
|
4903
|
-
import { jsx as
|
|
5267
|
+
import { jsx as jsx73 } from "react/jsx-runtime";
|
|
4904
5268
|
var ModalRenderer = {
|
|
4905
5269
|
canRenderType: "modal",
|
|
4906
5270
|
render: ({ title, children, open, onClose, control, tags }) => {
|
|
4907
|
-
return /* @__PURE__ */
|
|
5271
|
+
return /* @__PURE__ */ jsx73(
|
|
4908
5272
|
Modal3,
|
|
4909
5273
|
{
|
|
4910
5274
|
open,
|
|
@@ -4919,9 +5283,9 @@ var ModalRenderer = {
|
|
|
4919
5283
|
|
|
4920
5284
|
// ../renderers/src/MoneyInputRenderer.tsx
|
|
4921
5285
|
import { MoneyInput } from "@transferwise/components";
|
|
4922
|
-
import { useEffect as
|
|
4923
|
-
import { useIntl as
|
|
4924
|
-
import { jsx as
|
|
5286
|
+
import { useEffect as useEffect12 } from "react";
|
|
5287
|
+
import { useIntl as useIntl14 } from "react-intl";
|
|
5288
|
+
import { jsx as jsx74 } from "react/jsx-runtime";
|
|
4925
5289
|
var groupingTags2 = Object.keys(group_messages_default).filter((key) => key !== "all");
|
|
4926
5290
|
var MoneyInputRenderer = {
|
|
4927
5291
|
canRenderType: "money-input",
|
|
@@ -4945,13 +5309,13 @@ function MoneyInputRendererComponent(props) {
|
|
|
4945
5309
|
onAmountChange,
|
|
4946
5310
|
onCurrencyChange
|
|
4947
5311
|
} = props;
|
|
4948
|
-
|
|
5312
|
+
useEffect12(() => {
|
|
4949
5313
|
if (!isValidIndex(selectedCurrencyIndex, currencies.length)) {
|
|
4950
5314
|
onCurrencyChange(0);
|
|
4951
5315
|
}
|
|
4952
5316
|
}, [selectedCurrencyIndex, onCurrencyChange, currencies.length]);
|
|
4953
|
-
const { formatMessage } =
|
|
4954
|
-
return /* @__PURE__ */
|
|
5317
|
+
const { formatMessage } = useIntl14();
|
|
5318
|
+
return /* @__PURE__ */ jsx74(
|
|
4955
5319
|
FieldInput_default,
|
|
4956
5320
|
{
|
|
4957
5321
|
id: uid,
|
|
@@ -4962,7 +5326,7 @@ function MoneyInputRendererComponent(props) {
|
|
|
4962
5326
|
features,
|
|
4963
5327
|
control,
|
|
4964
5328
|
tags,
|
|
4965
|
-
children: /* @__PURE__ */
|
|
5329
|
+
children: /* @__PURE__ */ jsx74(
|
|
4966
5330
|
MoneyInput,
|
|
4967
5331
|
{
|
|
4968
5332
|
amount: parseFloatOrNull(amountValue),
|
|
@@ -5025,8 +5389,8 @@ function assertCurrencyCodeIsString(currencyCode) {
|
|
|
5025
5389
|
|
|
5026
5390
|
// ../renderers/src/MultiSelectInputRenderer/InlineComponent.tsx
|
|
5027
5391
|
import { ListItem as ListItem9, SearchInput as SearchInput2 } from "@transferwise/components";
|
|
5028
|
-
import { useState as
|
|
5029
|
-
import { useIntl as
|
|
5392
|
+
import { useState as useState17 } from "react";
|
|
5393
|
+
import { useIntl as useIntl15 } from "react-intl";
|
|
5030
5394
|
|
|
5031
5395
|
// ../renderers/src/utils/items-with-index.ts
|
|
5032
5396
|
var zipWithIndex = (items) => items.map((item, index) => __spreadProps(__spreadValues({}, item), {
|
|
@@ -5034,7 +5398,7 @@ var zipWithIndex = (items) => items.map((item, index) => __spreadProps(__spreadV
|
|
|
5034
5398
|
}));
|
|
5035
5399
|
|
|
5036
5400
|
// ../renderers/src/MultiSelectInputRenderer/InlineComponent.tsx
|
|
5037
|
-
import { Fragment as
|
|
5401
|
+
import { Fragment as Fragment9, jsx as jsx75, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
5038
5402
|
function InlineComponent(props) {
|
|
5039
5403
|
const {
|
|
5040
5404
|
id,
|
|
@@ -5051,12 +5415,12 @@ function InlineComponent(props) {
|
|
|
5051
5415
|
onSelect
|
|
5052
5416
|
} = props;
|
|
5053
5417
|
const optionsWithIndex = zipWithIndex(options);
|
|
5054
|
-
const [query, setQuery] =
|
|
5055
|
-
const { formatMessage } =
|
|
5418
|
+
const [query, setQuery] = useState17("");
|
|
5419
|
+
const { formatMessage } = useIntl15();
|
|
5056
5420
|
const filtered = tags == null ? void 0 : tags.includes("filtered");
|
|
5057
5421
|
const filteredOptions = query ? filterAndSortItems(optionsWithIndex, filtered ? query : "") : optionsWithIndex;
|
|
5058
|
-
return /* @__PURE__ */
|
|
5059
|
-
filtered && /* @__PURE__ */
|
|
5422
|
+
return /* @__PURE__ */ jsxs21(Fragment9, { children: [
|
|
5423
|
+
filtered && /* @__PURE__ */ jsx75(
|
|
5060
5424
|
SearchInput2,
|
|
5061
5425
|
{
|
|
5062
5426
|
placeholder: formatMessage(filter_messages_default.placeholder),
|
|
@@ -5069,7 +5433,7 @@ function InlineComponent(props) {
|
|
|
5069
5433
|
}
|
|
5070
5434
|
}
|
|
5071
5435
|
),
|
|
5072
|
-
/* @__PURE__ */
|
|
5436
|
+
/* @__PURE__ */ jsx75(
|
|
5073
5437
|
FieldInput_default,
|
|
5074
5438
|
{
|
|
5075
5439
|
id,
|
|
@@ -5094,7 +5458,7 @@ function InlineComponent(props) {
|
|
|
5094
5458
|
childrenProps
|
|
5095
5459
|
} = option;
|
|
5096
5460
|
const key = (_a = childrenProps == null ? void 0 : childrenProps.uid) != null ? _a : index;
|
|
5097
|
-
return /* @__PURE__ */
|
|
5461
|
+
return /* @__PURE__ */ jsx75(
|
|
5098
5462
|
ListItem9,
|
|
5099
5463
|
{
|
|
5100
5464
|
title: itemTitle,
|
|
@@ -5103,9 +5467,9 @@ function InlineComponent(props) {
|
|
|
5103
5467
|
valueSubtitle: supportingValues == null ? void 0 : supportingValues.subvalue,
|
|
5104
5468
|
media: getMedia(media, false),
|
|
5105
5469
|
prompt: getInlineAlert(inlineAlert),
|
|
5106
|
-
additionalInfo: additionalText ? /* @__PURE__ */
|
|
5470
|
+
additionalInfo: additionalText ? /* @__PURE__ */ jsx75(ListItem9.AdditionalInfo, { children: additionalText }) : void 0,
|
|
5107
5471
|
disabled: disabled || optionDisabled,
|
|
5108
|
-
control: /* @__PURE__ */
|
|
5472
|
+
control: /* @__PURE__ */ jsx75(
|
|
5109
5473
|
ListItem9.Checkbox,
|
|
5110
5474
|
{
|
|
5111
5475
|
checked: selectedIndices.includes(index),
|
|
@@ -5126,8 +5490,8 @@ function InlineComponent(props) {
|
|
|
5126
5490
|
|
|
5127
5491
|
// ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
|
|
5128
5492
|
import { SelectInput, SelectInputOptionContent } from "@transferwise/components";
|
|
5129
|
-
import { useState as
|
|
5130
|
-
import { useIntl as
|
|
5493
|
+
import { useState as useState18 } from "react";
|
|
5494
|
+
import { useIntl as useIntl16 } from "react-intl";
|
|
5131
5495
|
|
|
5132
5496
|
// ../renderers/src/messages/multi-select.messages.ts
|
|
5133
5497
|
import { defineMessages as defineMessages10 } from "react-intl";
|
|
@@ -5140,10 +5504,10 @@ var multi_select_messages_default = defineMessages10({
|
|
|
5140
5504
|
});
|
|
5141
5505
|
|
|
5142
5506
|
// ../renderers/src/MultiSelectInputRenderer/DefaultComponent.tsx
|
|
5143
|
-
import { jsx as
|
|
5507
|
+
import { jsx as jsx76 } from "react/jsx-runtime";
|
|
5144
5508
|
function DefaultComponent(props) {
|
|
5145
|
-
const { formatMessage } =
|
|
5146
|
-
const [stagedIndices, setStagedIndices] =
|
|
5509
|
+
const { formatMessage } = useIntl16();
|
|
5510
|
+
const [stagedIndices, setStagedIndices] = useState18();
|
|
5147
5511
|
const {
|
|
5148
5512
|
id,
|
|
5149
5513
|
autoComplete,
|
|
@@ -5184,12 +5548,12 @@ function DefaultComponent(props) {
|
|
|
5184
5548
|
const contentProps = {
|
|
5185
5549
|
title: option.title,
|
|
5186
5550
|
description: option.description,
|
|
5187
|
-
icon: /* @__PURE__ */
|
|
5551
|
+
icon: /* @__PURE__ */ jsx76(OptionMedia, { media: option.media, preferAvatar: false })
|
|
5188
5552
|
};
|
|
5189
|
-
return /* @__PURE__ */
|
|
5553
|
+
return /* @__PURE__ */ jsx76(SelectInputOptionContent, __spreadValues({}, contentProps));
|
|
5190
5554
|
};
|
|
5191
5555
|
const extraProps = { autoComplete };
|
|
5192
|
-
return /* @__PURE__ */
|
|
5556
|
+
return /* @__PURE__ */ jsx76(
|
|
5193
5557
|
FieldInput_default,
|
|
5194
5558
|
{
|
|
5195
5559
|
id,
|
|
@@ -5200,7 +5564,7 @@ function DefaultComponent(props) {
|
|
|
5200
5564
|
features,
|
|
5201
5565
|
control,
|
|
5202
5566
|
tags,
|
|
5203
|
-
children: /* @__PURE__ */
|
|
5567
|
+
children: /* @__PURE__ */ jsx76(
|
|
5204
5568
|
SelectInput,
|
|
5205
5569
|
__spreadValues({
|
|
5206
5570
|
id,
|
|
@@ -5240,7 +5604,7 @@ function DefaultComponent(props) {
|
|
|
5240
5604
|
|
|
5241
5605
|
// ../renderers/src/MultiSelectInputRenderer/InlineCheckboxComponent.tsx
|
|
5242
5606
|
import { Checkbox as Checkbox2 } from "@transferwise/components";
|
|
5243
|
-
import { jsx as
|
|
5607
|
+
import { jsx as jsx77 } from "react/jsx-runtime";
|
|
5244
5608
|
function InlineCheckboxComponent(props) {
|
|
5245
5609
|
const {
|
|
5246
5610
|
id,
|
|
@@ -5256,7 +5620,7 @@ function InlineCheckboxComponent(props) {
|
|
|
5256
5620
|
tags,
|
|
5257
5621
|
onSelect
|
|
5258
5622
|
} = props;
|
|
5259
|
-
return /* @__PURE__ */
|
|
5623
|
+
return /* @__PURE__ */ jsx77(
|
|
5260
5624
|
FieldInput_default,
|
|
5261
5625
|
{
|
|
5262
5626
|
id,
|
|
@@ -5287,24 +5651,24 @@ function InlineCheckboxComponent(props) {
|
|
|
5287
5651
|
onSelect(newSelectedIndices);
|
|
5288
5652
|
}
|
|
5289
5653
|
};
|
|
5290
|
-
return /* @__PURE__ */
|
|
5654
|
+
return /* @__PURE__ */ jsx77(Checkbox2, __spreadProps(__spreadValues({}, checkboxProps), { className: "m-t-1" }), key);
|
|
5291
5655
|
})
|
|
5292
5656
|
}
|
|
5293
5657
|
);
|
|
5294
5658
|
}
|
|
5295
5659
|
|
|
5296
5660
|
// ../renderers/src/MultiSelectInputRenderer/MultiSelectInputRenderer.tsx
|
|
5297
|
-
import { jsx as
|
|
5661
|
+
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
5298
5662
|
var MultiSelectInputRenderer = {
|
|
5299
5663
|
canRenderType: "input-multi-select",
|
|
5300
5664
|
render: (props) => {
|
|
5301
5665
|
switch (props.control) {
|
|
5302
5666
|
case "inline":
|
|
5303
|
-
return /* @__PURE__ */
|
|
5667
|
+
return /* @__PURE__ */ jsx78(InlineComponent, __spreadValues({}, props));
|
|
5304
5668
|
case "inline-checkbox-group":
|
|
5305
|
-
return /* @__PURE__ */
|
|
5669
|
+
return /* @__PURE__ */ jsx78(InlineCheckboxComponent, __spreadValues({}, props));
|
|
5306
5670
|
default:
|
|
5307
|
-
return /* @__PURE__ */
|
|
5671
|
+
return /* @__PURE__ */ jsx78(DefaultComponent, __spreadValues({}, props));
|
|
5308
5672
|
}
|
|
5309
5673
|
}
|
|
5310
5674
|
};
|
|
@@ -5314,8 +5678,8 @@ import { Status, UploadInput } from "@transferwise/components";
|
|
|
5314
5678
|
|
|
5315
5679
|
// ../renderers/src/components/UploadFieldInput.tsx
|
|
5316
5680
|
import { InlineAlert as InlineAlert2 } from "@transferwise/components";
|
|
5317
|
-
var
|
|
5318
|
-
import { jsx as
|
|
5681
|
+
var import_classnames26 = __toESM(require_classnames());
|
|
5682
|
+
import { jsx as jsx79, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5319
5683
|
function UploadFieldInput({
|
|
5320
5684
|
id,
|
|
5321
5685
|
children,
|
|
@@ -5327,14 +5691,14 @@ function UploadFieldInput({
|
|
|
5327
5691
|
control,
|
|
5328
5692
|
tags
|
|
5329
5693
|
}) {
|
|
5330
|
-
const labelContent = label && help ? /* @__PURE__ */
|
|
5694
|
+
const labelContent = label && help ? /* @__PURE__ */ jsx79(LabelContentWithHelp, { text: label, help }) : label;
|
|
5331
5695
|
const descriptionId = description ? `${id}-description` : void 0;
|
|
5332
5696
|
const { ref } = useScrollToError(validation, features);
|
|
5333
|
-
return /* @__PURE__ */
|
|
5697
|
+
return /* @__PURE__ */ jsxs22(
|
|
5334
5698
|
"div",
|
|
5335
5699
|
{
|
|
5336
5700
|
ref,
|
|
5337
|
-
className: (0,
|
|
5701
|
+
className: (0, import_classnames26.default)(
|
|
5338
5702
|
"form-group d-block",
|
|
5339
5703
|
{
|
|
5340
5704
|
"has-error": (validation == null ? void 0 : validation.status) === "invalid"
|
|
@@ -5342,9 +5706,9 @@ function UploadFieldInput({
|
|
|
5342
5706
|
controlAndTagsToCSSClass({ control, tags })
|
|
5343
5707
|
),
|
|
5344
5708
|
children: [
|
|
5345
|
-
/* @__PURE__ */
|
|
5709
|
+
/* @__PURE__ */ jsx79("label", { htmlFor: id, className: "control-label", children: labelContent }),
|
|
5346
5710
|
children,
|
|
5347
|
-
(validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */
|
|
5711
|
+
(validation == null ? void 0 : validation.status) === "invalid" && /* @__PURE__ */ jsx79(InlineAlert2, { type: "negative", id: descriptionId, children: validation.message })
|
|
5348
5712
|
]
|
|
5349
5713
|
}
|
|
5350
5714
|
);
|
|
@@ -5379,7 +5743,7 @@ var getSizeLimit = (maxSize) => {
|
|
|
5379
5743
|
};
|
|
5380
5744
|
|
|
5381
5745
|
// ../renderers/src/MultiUploadInputRenderer.tsx
|
|
5382
|
-
import { jsx as
|
|
5746
|
+
import { jsx as jsx80 } from "react/jsx-runtime";
|
|
5383
5747
|
var MultiUploadInputRenderer = {
|
|
5384
5748
|
canRenderType: "input-upload-multi",
|
|
5385
5749
|
render: (props) => {
|
|
@@ -5407,7 +5771,7 @@ var MultiUploadInputRenderer = {
|
|
|
5407
5771
|
};
|
|
5408
5772
|
const onDeleteFile = async (fileId) => onRemoveFile(value.findIndex((file) => file.id === fileId));
|
|
5409
5773
|
const descriptionId = description ? `${id}-description` : void 0;
|
|
5410
|
-
return /* @__PURE__ */
|
|
5774
|
+
return /* @__PURE__ */ jsx80(
|
|
5411
5775
|
UploadFieldInput_default,
|
|
5412
5776
|
{
|
|
5413
5777
|
id,
|
|
@@ -5418,7 +5782,7 @@ var MultiUploadInputRenderer = {
|
|
|
5418
5782
|
features,
|
|
5419
5783
|
control,
|
|
5420
5784
|
tags,
|
|
5421
|
-
children: /* @__PURE__ */
|
|
5785
|
+
children: /* @__PURE__ */ jsx80(
|
|
5422
5786
|
UploadInput,
|
|
5423
5787
|
{
|
|
5424
5788
|
id,
|
|
@@ -5446,8 +5810,8 @@ var MultiUploadInputRenderer = {
|
|
|
5446
5810
|
var MultiUploadInputRenderer_default = MultiUploadInputRenderer;
|
|
5447
5811
|
|
|
5448
5812
|
// ../renderers/src/NumberInputRenderer.tsx
|
|
5449
|
-
import { Input as
|
|
5450
|
-
import { jsx as
|
|
5813
|
+
import { Input as Input4, InputGroup as InputGroup4 } from "@transferwise/components";
|
|
5814
|
+
import { jsx as jsx81 } from "react/jsx-runtime";
|
|
5451
5815
|
var NumberInputRenderer = {
|
|
5452
5816
|
canRenderType: "input-number",
|
|
5453
5817
|
render: (props) => {
|
|
@@ -5461,7 +5825,7 @@ var NumberInputRenderer = {
|
|
|
5461
5825
|
"maximum",
|
|
5462
5826
|
"minimum"
|
|
5463
5827
|
);
|
|
5464
|
-
return /* @__PURE__ */
|
|
5828
|
+
return /* @__PURE__ */ jsx81(
|
|
5465
5829
|
FieldInput_default,
|
|
5466
5830
|
{
|
|
5467
5831
|
id,
|
|
@@ -5474,8 +5838,8 @@ var NumberInputRenderer = {
|
|
|
5474
5838
|
features: props.features,
|
|
5475
5839
|
control: props.control,
|
|
5476
5840
|
tags: props.tags,
|
|
5477
|
-
children: /* @__PURE__ */
|
|
5478
|
-
|
|
5841
|
+
children: /* @__PURE__ */ jsx81(InputGroup4, { addonStart: getInputGroupAddonStart(media), children: /* @__PURE__ */ jsx81(
|
|
5842
|
+
Input4,
|
|
5479
5843
|
__spreadValues({
|
|
5480
5844
|
id,
|
|
5481
5845
|
name: id,
|
|
@@ -5495,9 +5859,9 @@ var NumberInputRenderer = {
|
|
|
5495
5859
|
var NumberInputRenderer_default = NumberInputRenderer;
|
|
5496
5860
|
|
|
5497
5861
|
// ../renderers/src/ParagraphRenderer.tsx
|
|
5498
|
-
var
|
|
5499
|
-
import { Button as
|
|
5500
|
-
import { useIntl as
|
|
5862
|
+
var import_classnames27 = __toESM(require_classnames());
|
|
5863
|
+
import { Button as Button8, Input as Input5 } from "@transferwise/components";
|
|
5864
|
+
import { useIntl as useIntl17 } from "react-intl";
|
|
5501
5865
|
|
|
5502
5866
|
// ../renderers/src/hooks/useSnackBarIfAvailable.ts
|
|
5503
5867
|
import { SnackbarContext } from "@transferwise/components";
|
|
@@ -5524,18 +5888,18 @@ var paragraph_messages_default = defineMessages11({
|
|
|
5524
5888
|
});
|
|
5525
5889
|
|
|
5526
5890
|
// ../renderers/src/ParagraphRenderer.tsx
|
|
5527
|
-
import { jsx as
|
|
5891
|
+
import { jsx as jsx82, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
5528
5892
|
var ParagraphRenderer = {
|
|
5529
5893
|
canRenderType: "paragraph",
|
|
5530
|
-
render: (props) => /* @__PURE__ */
|
|
5894
|
+
render: (props) => /* @__PURE__ */ jsx82(Paragraph, __spreadValues({}, props))
|
|
5531
5895
|
};
|
|
5532
5896
|
function Paragraph(props) {
|
|
5533
5897
|
const { align, control, margin, size, text } = props;
|
|
5534
|
-
const className = (0,
|
|
5898
|
+
const className = (0, import_classnames27.default)(
|
|
5535
5899
|
getTextAlignmentAndMargin({ align, margin }),
|
|
5536
5900
|
controlAndTagsToCSSClass(props)
|
|
5537
5901
|
);
|
|
5538
|
-
return control === "copyable" ? /* @__PURE__ */
|
|
5902
|
+
return control === "copyable" ? /* @__PURE__ */ jsx82(CopyableParagraph, { className, align, text }) : /* @__PURE__ */ jsx82(
|
|
5539
5903
|
"p",
|
|
5540
5904
|
{
|
|
5541
5905
|
className: `${["xs", "sm"].includes(size) ? "np-text-body-default" : "np-text-body-large"} ${className}`,
|
|
@@ -5548,41 +5912,41 @@ function CopyableParagraph({
|
|
|
5548
5912
|
align,
|
|
5549
5913
|
className
|
|
5550
5914
|
}) {
|
|
5551
|
-
const { formatMessage } =
|
|
5915
|
+
const { formatMessage } = useIntl17();
|
|
5552
5916
|
const createSnackbar = useSnackBarIfAvailable();
|
|
5553
5917
|
const copy = () => {
|
|
5554
5918
|
navigator.clipboard.writeText(text).then(() => createSnackbar({ text: formatMessage(paragraph_messages_default.copied) })).catch(() => {
|
|
5555
5919
|
});
|
|
5556
5920
|
};
|
|
5557
5921
|
const inputAlignmentClasses = getTextAlignmentAndMargin({ align, margin: "sm" });
|
|
5558
|
-
return /* @__PURE__ */
|
|
5559
|
-
/* @__PURE__ */
|
|
5560
|
-
|
|
5922
|
+
return /* @__PURE__ */ jsxs23("div", { className, children: [
|
|
5923
|
+
/* @__PURE__ */ jsx82(
|
|
5924
|
+
Input5,
|
|
5561
5925
|
{
|
|
5562
5926
|
type: "text",
|
|
5563
5927
|
value: text,
|
|
5564
5928
|
readOnly: true,
|
|
5565
|
-
className: (0,
|
|
5929
|
+
className: (0, import_classnames27.default)("text-ellipsis", inputAlignmentClasses)
|
|
5566
5930
|
}
|
|
5567
5931
|
),
|
|
5568
|
-
/* @__PURE__ */
|
|
5932
|
+
/* @__PURE__ */ jsx82(Button8, { v2: true, block: true, onClick: copy, children: formatMessage(paragraph_messages_default.copy) })
|
|
5569
5933
|
] });
|
|
5570
5934
|
}
|
|
5571
5935
|
var ParagraphRenderer_default = ParagraphRenderer;
|
|
5572
5936
|
|
|
5573
5937
|
// ../renderers/src/ProgressRenderer.tsx
|
|
5574
|
-
var
|
|
5938
|
+
var import_classnames28 = __toESM(require_classnames());
|
|
5575
5939
|
import { ProgressBar } from "@transferwise/components";
|
|
5576
|
-
import { jsx as
|
|
5940
|
+
import { jsx as jsx83 } from "react/jsx-runtime";
|
|
5577
5941
|
var ProgressRenderer = {
|
|
5578
5942
|
canRenderType: "progress",
|
|
5579
5943
|
render: ({ uid, title, help, progress, progressText, margin, description, control, tags }) => {
|
|
5580
|
-
return /* @__PURE__ */
|
|
5944
|
+
return /* @__PURE__ */ jsx83(
|
|
5581
5945
|
ProgressBar,
|
|
5582
5946
|
{
|
|
5583
5947
|
id: uid,
|
|
5584
|
-
className: (0,
|
|
5585
|
-
title: title && help ? /* @__PURE__ */
|
|
5948
|
+
className: (0, import_classnames28.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })),
|
|
5949
|
+
title: title && help ? /* @__PURE__ */ jsx83(LabelContentWithHelp, { text: title, help }) : title,
|
|
5586
5950
|
description,
|
|
5587
5951
|
progress: {
|
|
5588
5952
|
max: 1,
|
|
@@ -5595,11 +5959,11 @@ var ProgressRenderer = {
|
|
|
5595
5959
|
};
|
|
5596
5960
|
|
|
5597
5961
|
// ../renderers/src/RepeatableRenderer.tsx
|
|
5598
|
-
var
|
|
5599
|
-
import { Button as
|
|
5962
|
+
var import_classnames29 = __toESM(require_classnames());
|
|
5963
|
+
import { Button as Button9, Header as Header6, InlineAlert as InlineAlert3, Modal as Modal4, NavigationOption } from "@transferwise/components";
|
|
5600
5964
|
import { Plus } from "@transferwise/icons";
|
|
5601
|
-
import { useState as
|
|
5602
|
-
import { useIntl as
|
|
5965
|
+
import { useState as useState19 } from "react";
|
|
5966
|
+
import { useIntl as useIntl18 } from "react-intl";
|
|
5603
5967
|
|
|
5604
5968
|
// ../renderers/src/messages/repeatable.messages.ts
|
|
5605
5969
|
import { defineMessages as defineMessages12 } from "react-intl";
|
|
@@ -5627,10 +5991,10 @@ var repeatable_messages_default = defineMessages12({
|
|
|
5627
5991
|
});
|
|
5628
5992
|
|
|
5629
5993
|
// ../renderers/src/RepeatableRenderer.tsx
|
|
5630
|
-
import { Fragment as
|
|
5994
|
+
import { Fragment as Fragment10, jsx as jsx84, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
5631
5995
|
var RepeatableRenderer = {
|
|
5632
5996
|
canRenderType: "repeatable",
|
|
5633
|
-
render: (props) => /* @__PURE__ */
|
|
5997
|
+
render: (props) => /* @__PURE__ */ jsx84(Repeatable, __spreadValues({}, props))
|
|
5634
5998
|
};
|
|
5635
5999
|
function Repeatable(props) {
|
|
5636
6000
|
const {
|
|
@@ -5647,8 +6011,8 @@ function Repeatable(props) {
|
|
|
5647
6011
|
onSave,
|
|
5648
6012
|
onRemove
|
|
5649
6013
|
} = props;
|
|
5650
|
-
const { formatMessage } =
|
|
5651
|
-
const [openModalType, setOpenModalType] =
|
|
6014
|
+
const { formatMessage } = useIntl18();
|
|
6015
|
+
const [openModalType, setOpenModalType] = useState19(null);
|
|
5652
6016
|
const { ref } = useScrollToError(validationState, features);
|
|
5653
6017
|
const onAddItem = () => {
|
|
5654
6018
|
onAdd();
|
|
@@ -5671,43 +6035,43 @@ function Repeatable(props) {
|
|
|
5671
6035
|
const onCancelEdit = () => {
|
|
5672
6036
|
setOpenModalType(null);
|
|
5673
6037
|
};
|
|
5674
|
-
return /* @__PURE__ */
|
|
5675
|
-
/* @__PURE__ */
|
|
5676
|
-
title && /* @__PURE__ */
|
|
5677
|
-
description && /* @__PURE__ */
|
|
5678
|
-
/* @__PURE__ */
|
|
6038
|
+
return /* @__PURE__ */ jsxs24(Fragment10, { children: [
|
|
6039
|
+
/* @__PURE__ */ jsxs24("div", { ref, className: controlAndTagsToCSSClass(props), children: [
|
|
6040
|
+
title && /* @__PURE__ */ jsx84(Header6, { title }),
|
|
6041
|
+
description && /* @__PURE__ */ jsx84("p", { children: description }),
|
|
6042
|
+
/* @__PURE__ */ jsxs24(
|
|
5679
6043
|
"div",
|
|
5680
6044
|
{
|
|
5681
|
-
className: (0,
|
|
6045
|
+
className: (0, import_classnames29.default)("form-group", {
|
|
5682
6046
|
"has-error": (validationState == null ? void 0 : validationState.status) === "invalid"
|
|
5683
6047
|
}),
|
|
5684
6048
|
children: [
|
|
5685
|
-
items == null ? void 0 : items.map((item, index) => /* @__PURE__ */
|
|
5686
|
-
/* @__PURE__ */
|
|
6049
|
+
items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsx84(ItemSummaryOption, { item, onClick: () => onEditItem(index) }, item.id)),
|
|
6050
|
+
/* @__PURE__ */ jsx84(
|
|
5687
6051
|
NavigationOption,
|
|
5688
6052
|
{
|
|
5689
|
-
media: /* @__PURE__ */
|
|
6053
|
+
media: /* @__PURE__ */ jsx84(Plus, {}),
|
|
5690
6054
|
title: addItemTitle || formatMessage(repeatable_messages_default.addItemTitle),
|
|
5691
6055
|
showMediaAtAllSizes: true,
|
|
5692
6056
|
onClick: () => onAddItem()
|
|
5693
6057
|
}
|
|
5694
6058
|
),
|
|
5695
|
-
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */
|
|
6059
|
+
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx84(InlineAlert3, { type: "negative", children: validationState.message })
|
|
5696
6060
|
]
|
|
5697
6061
|
}
|
|
5698
6062
|
)
|
|
5699
6063
|
] }),
|
|
5700
|
-
/* @__PURE__ */
|
|
6064
|
+
/* @__PURE__ */ jsx84(
|
|
5701
6065
|
Modal4,
|
|
5702
6066
|
{
|
|
5703
6067
|
open: openModalType !== null,
|
|
5704
6068
|
title: (openModalType === "add" ? addItemTitle : editItemTitle) || formatMessage(repeatable_messages_default.addItemTitle),
|
|
5705
|
-
body: /* @__PURE__ */
|
|
5706
|
-
/* @__PURE__ */
|
|
5707
|
-
/* @__PURE__ */
|
|
5708
|
-
/* @__PURE__ */
|
|
5709
|
-
/* @__PURE__ */
|
|
5710
|
-
|
|
6069
|
+
body: /* @__PURE__ */ jsxs24(Fragment10, { children: [
|
|
6070
|
+
/* @__PURE__ */ jsx84("div", { className: "m-b-2", children: editableItem }),
|
|
6071
|
+
/* @__PURE__ */ jsxs24("div", { children: [
|
|
6072
|
+
/* @__PURE__ */ jsx84(Button9, { priority: "primary", block: true, className: "m-b-2", onClick: () => onSaveItem(), children: formatMessage(repeatable_messages_default.addItem) }),
|
|
6073
|
+
/* @__PURE__ */ jsx84(
|
|
6074
|
+
Button9,
|
|
5711
6075
|
{
|
|
5712
6076
|
v2: true,
|
|
5713
6077
|
priority: "secondary",
|
|
@@ -5728,10 +6092,10 @@ function ItemSummaryOption({
|
|
|
5728
6092
|
item,
|
|
5729
6093
|
onClick
|
|
5730
6094
|
}) {
|
|
5731
|
-
return /* @__PURE__ */
|
|
6095
|
+
return /* @__PURE__ */ jsx84(
|
|
5732
6096
|
NavigationOption,
|
|
5733
6097
|
{
|
|
5734
|
-
media: /* @__PURE__ */
|
|
6098
|
+
media: /* @__PURE__ */ jsx84(OptionMedia, { media: item.media, preferAvatar: false }),
|
|
5735
6099
|
title: item.title,
|
|
5736
6100
|
content: item.description,
|
|
5737
6101
|
showMediaAtAllSizes: true,
|
|
@@ -5743,16 +6107,16 @@ function ItemSummaryOption({
|
|
|
5743
6107
|
var RepeatableRenderer_default = RepeatableRenderer;
|
|
5744
6108
|
|
|
5745
6109
|
// ../renderers/src/ReviewLegacyRenderer.tsx
|
|
5746
|
-
var
|
|
6110
|
+
var import_classnames30 = __toESM(require_classnames());
|
|
5747
6111
|
import { DefinitionList } from "@transferwise/components";
|
|
5748
|
-
import { Fragment as
|
|
6112
|
+
import { Fragment as Fragment11, jsx as jsx85, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
5749
6113
|
var ReviewRenderer = {
|
|
5750
6114
|
canRenderType: "review",
|
|
5751
6115
|
render: ({ callToAction, control, fields, margin, title, trackEvent, tags }) => {
|
|
5752
6116
|
const orientation = mapControlToDefinitionListLayout(control);
|
|
5753
|
-
return /* @__PURE__ */
|
|
5754
|
-
/* @__PURE__ */
|
|
5755
|
-
/* @__PURE__ */
|
|
6117
|
+
return /* @__PURE__ */ jsxs25("div", { className: (0, import_classnames30.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
|
|
6118
|
+
/* @__PURE__ */ jsx85(Header, { title, callToAction }),
|
|
6119
|
+
/* @__PURE__ */ jsx85("div", { className: margin, children: /* @__PURE__ */ jsx85(
|
|
5756
6120
|
DefinitionList,
|
|
5757
6121
|
{
|
|
5758
6122
|
layout: orientation,
|
|
@@ -5790,21 +6154,21 @@ var mapControlToDefinitionListLayout = (control) => {
|
|
|
5790
6154
|
};
|
|
5791
6155
|
var getFieldLabel = (label, help, onClick) => {
|
|
5792
6156
|
if (help) {
|
|
5793
|
-
return /* @__PURE__ */
|
|
6157
|
+
return /* @__PURE__ */ jsxs25(Fragment11, { children: [
|
|
5794
6158
|
label,
|
|
5795
6159
|
" ",
|
|
5796
|
-
/* @__PURE__ */
|
|
6160
|
+
/* @__PURE__ */ jsx85(Help_default, { help, onClick })
|
|
5797
6161
|
] });
|
|
5798
6162
|
}
|
|
5799
6163
|
return label;
|
|
5800
6164
|
};
|
|
5801
6165
|
|
|
5802
6166
|
// ../renderers/src/ReviewRenderer.tsx
|
|
5803
|
-
var
|
|
6167
|
+
var import_classnames31 = __toESM(require_classnames());
|
|
5804
6168
|
import { ListItem as ListItem10, Markdown as Markdown5, Popover } from "@transferwise/components";
|
|
5805
6169
|
import { QuestionMarkCircle } from "@transferwise/icons";
|
|
5806
|
-
import { useIntl as
|
|
5807
|
-
import { jsx as
|
|
6170
|
+
import { useIntl as useIntl19 } from "react-intl";
|
|
6171
|
+
import { jsx as jsx86, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
5808
6172
|
var IGNORED_CONTROLS = [
|
|
5809
6173
|
"horizontal",
|
|
5810
6174
|
"horizontal-end-aligned",
|
|
@@ -5814,7 +6178,7 @@ var IGNORED_CONTROLS = [
|
|
|
5814
6178
|
var ReviewRenderer2 = {
|
|
5815
6179
|
canRenderType: "review",
|
|
5816
6180
|
canRender: ({ control }) => control ? !IGNORED_CONTROLS.includes(control) : true,
|
|
5817
|
-
render: (props) => /* @__PURE__ */
|
|
6181
|
+
render: (props) => /* @__PURE__ */ jsx86(Review, __spreadValues({}, props))
|
|
5818
6182
|
};
|
|
5819
6183
|
var Review = ({
|
|
5820
6184
|
callToAction,
|
|
@@ -5825,9 +6189,9 @@ var Review = ({
|
|
|
5825
6189
|
title,
|
|
5826
6190
|
trackEvent
|
|
5827
6191
|
}) => {
|
|
5828
|
-
const intl =
|
|
5829
|
-
return /* @__PURE__ */
|
|
5830
|
-
/* @__PURE__ */
|
|
6192
|
+
const intl = useIntl19();
|
|
6193
|
+
return /* @__PURE__ */ jsxs26("div", { className: (0, import_classnames31.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
|
|
6194
|
+
/* @__PURE__ */ jsx86(Header, { title, callToAction }),
|
|
5831
6195
|
fields.map((field) => {
|
|
5832
6196
|
var _a, _b, _c;
|
|
5833
6197
|
const {
|
|
@@ -5845,7 +6209,7 @@ var Review = ({
|
|
|
5845
6209
|
ctaSecondary: (_a = itemTags == null ? void 0 : itemTags.includes("cta-secondary")) != null ? _a : false,
|
|
5846
6210
|
fullyInteractive: (_b = (tags == null ? void 0 : tags.includes("fully-interactive")) && (additionalInfo == null ? void 0 : additionalInfo.onClick) == null) != null ? _b : false
|
|
5847
6211
|
};
|
|
5848
|
-
return /* @__PURE__ */
|
|
6212
|
+
return /* @__PURE__ */ jsx86(
|
|
5849
6213
|
ListItem10,
|
|
5850
6214
|
{
|
|
5851
6215
|
title: value,
|
|
@@ -5866,14 +6230,14 @@ var Review = ({
|
|
|
5866
6230
|
] });
|
|
5867
6231
|
};
|
|
5868
6232
|
var getHelpControl = (help, ariaLabel, onClick) => {
|
|
5869
|
-
return /* @__PURE__ */
|
|
6233
|
+
return /* @__PURE__ */ jsx86(Popover, { content: /* @__PURE__ */ jsx86(Markdown5, { config: { link: { target: "_blank" } }, children: help }), children: /* @__PURE__ */ jsx86(ListItem10.IconButton, { partiallyInteractive: true, "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx86(QuestionMarkCircle, {}) }) });
|
|
5870
6234
|
};
|
|
5871
6235
|
var ReviewRenderer_default = ReviewRenderer2;
|
|
5872
6236
|
|
|
5873
6237
|
// ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
|
|
5874
|
-
import { Input as
|
|
5875
|
-
import { useState as
|
|
5876
|
-
import { useIntl as
|
|
6238
|
+
import { Input as Input6, InputGroup as InputGroup5, List, ListItem as ListItem11, Markdown as Markdown6 } from "@transferwise/components";
|
|
6239
|
+
import { useState as useState20 } from "react";
|
|
6240
|
+
import { useIntl as useIntl21 } from "react-intl";
|
|
5877
6241
|
|
|
5878
6242
|
// ../renderers/src/messages/search.messages.ts
|
|
5879
6243
|
import { defineMessages as defineMessages13 } from "react-intl";
|
|
@@ -5886,21 +6250,21 @@ var search_messages_default = defineMessages13({
|
|
|
5886
6250
|
});
|
|
5887
6251
|
|
|
5888
6252
|
// ../renderers/src/SearchRenderer/ErrorResult.tsx
|
|
5889
|
-
import { useIntl as
|
|
6253
|
+
import { useIntl as useIntl20 } from "react-intl";
|
|
5890
6254
|
import { Link as DSLink2 } from "@transferwise/components";
|
|
5891
|
-
import { jsx as
|
|
6255
|
+
import { jsx as jsx87, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
5892
6256
|
function ErrorResult({ state }) {
|
|
5893
|
-
const intl =
|
|
5894
|
-
return /* @__PURE__ */
|
|
6257
|
+
const intl = useIntl20();
|
|
6258
|
+
return /* @__PURE__ */ jsxs27("p", { className: "m-t-2", children: [
|
|
5895
6259
|
intl.formatMessage(generic_error_messages_default.genericError),
|
|
5896
6260
|
"\xA0",
|
|
5897
|
-
/* @__PURE__ */
|
|
6261
|
+
/* @__PURE__ */ jsx87(DSLink2, { onClick: () => state.onRetry(), children: intl.formatMessage(generic_error_messages_default.retry) })
|
|
5898
6262
|
] });
|
|
5899
6263
|
}
|
|
5900
6264
|
|
|
5901
6265
|
// ../renderers/src/SearchRenderer/BlockSearchRendererComponent.tsx
|
|
5902
|
-
import { Search as
|
|
5903
|
-
import { Fragment as
|
|
6266
|
+
import { Search as Search3 } from "@transferwise/icons";
|
|
6267
|
+
import { Fragment as Fragment12, jsx as jsx88, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
5904
6268
|
function BlockSearchRendererComponent({
|
|
5905
6269
|
id,
|
|
5906
6270
|
hint,
|
|
@@ -5915,10 +6279,10 @@ function BlockSearchRendererComponent({
|
|
|
5915
6279
|
trackEvent,
|
|
5916
6280
|
onChange
|
|
5917
6281
|
}) {
|
|
5918
|
-
const [hasSearched, setHasSearched] =
|
|
5919
|
-
const { formatMessage } =
|
|
5920
|
-
return /* @__PURE__ */
|
|
5921
|
-
/* @__PURE__ */
|
|
6282
|
+
const [hasSearched, setHasSearched] = useState20(false);
|
|
6283
|
+
const { formatMessage } = useIntl21();
|
|
6284
|
+
return /* @__PURE__ */ jsxs28("div", { className: getMargin(margin), children: [
|
|
6285
|
+
/* @__PURE__ */ jsx88(
|
|
5922
6286
|
FieldInput_default,
|
|
5923
6287
|
{
|
|
5924
6288
|
id,
|
|
@@ -5929,8 +6293,8 @@ function BlockSearchRendererComponent({
|
|
|
5929
6293
|
features,
|
|
5930
6294
|
control,
|
|
5931
6295
|
tags,
|
|
5932
|
-
children: /* @__PURE__ */
|
|
5933
|
-
|
|
6296
|
+
children: /* @__PURE__ */ jsx88(InputGroup5, { addonStart: { content: /* @__PURE__ */ jsx88(Search3, { size: 24 }) }, children: /* @__PURE__ */ jsx88(
|
|
6297
|
+
Input6,
|
|
5934
6298
|
{
|
|
5935
6299
|
id,
|
|
5936
6300
|
name: id,
|
|
@@ -5949,7 +6313,7 @@ function BlockSearchRendererComponent({
|
|
|
5949
6313
|
) })
|
|
5950
6314
|
}
|
|
5951
6315
|
),
|
|
5952
|
-
isLoading ? /* @__PURE__ */
|
|
6316
|
+
isLoading ? /* @__PURE__ */ jsx88("span", { children: formatMessage(search_messages_default.loading) }) : /* @__PURE__ */ jsx88(SearchResultContent, { state, trackEvent })
|
|
5953
6317
|
] });
|
|
5954
6318
|
}
|
|
5955
6319
|
function SearchResultContent({
|
|
@@ -5958,38 +6322,38 @@ function SearchResultContent({
|
|
|
5958
6322
|
}) {
|
|
5959
6323
|
switch (state.type) {
|
|
5960
6324
|
case "error":
|
|
5961
|
-
return /* @__PURE__ */
|
|
6325
|
+
return /* @__PURE__ */ jsx88(ErrorResult, { state });
|
|
5962
6326
|
case "results":
|
|
5963
|
-
return /* @__PURE__ */
|
|
6327
|
+
return /* @__PURE__ */ jsx88(SearchResults, { state, trackEvent });
|
|
5964
6328
|
case "layout":
|
|
5965
|
-
return /* @__PURE__ */
|
|
6329
|
+
return /* @__PURE__ */ jsxs28(Fragment12, { children: [
|
|
5966
6330
|
" ",
|
|
5967
6331
|
state.layout,
|
|
5968
6332
|
" "
|
|
5969
6333
|
] });
|
|
5970
6334
|
case "noResults":
|
|
5971
|
-
return /* @__PURE__ */
|
|
6335
|
+
return /* @__PURE__ */ jsx88(EmptySearchResult, { state });
|
|
5972
6336
|
case "pending":
|
|
5973
6337
|
default:
|
|
5974
6338
|
return null;
|
|
5975
6339
|
}
|
|
5976
6340
|
}
|
|
5977
6341
|
function EmptySearchResult({ state }) {
|
|
5978
|
-
return /* @__PURE__ */
|
|
6342
|
+
return /* @__PURE__ */ jsx88(Markdown6, { className: "m-t-2", config: { link: { target: "_blank" } }, children: state.message });
|
|
5979
6343
|
}
|
|
5980
6344
|
function SearchResults({
|
|
5981
6345
|
state,
|
|
5982
6346
|
trackEvent
|
|
5983
6347
|
}) {
|
|
5984
|
-
return /* @__PURE__ */
|
|
6348
|
+
return /* @__PURE__ */ jsx88(List, { children: state.results.map((result) => {
|
|
5985
6349
|
const { media } = result;
|
|
5986
|
-
return /* @__PURE__ */
|
|
6350
|
+
return /* @__PURE__ */ jsx88(
|
|
5987
6351
|
ListItem11,
|
|
5988
6352
|
{
|
|
5989
6353
|
title: result.title,
|
|
5990
6354
|
subtitle: result.description,
|
|
5991
|
-
media: media ? /* @__PURE__ */
|
|
5992
|
-
control: /* @__PURE__ */
|
|
6355
|
+
media: media ? /* @__PURE__ */ jsx88(OptionMedia, { media, preferAvatar: false }) : void 0,
|
|
6356
|
+
control: /* @__PURE__ */ jsx88(
|
|
5993
6357
|
ListItem11.Navigation,
|
|
5994
6358
|
{
|
|
5995
6359
|
onClick: () => {
|
|
@@ -6009,10 +6373,10 @@ var BlockSearchRendererComponent_default = BlockSearchRendererComponent;
|
|
|
6009
6373
|
|
|
6010
6374
|
// ../renderers/src/SearchRenderer/InlineSearchRendererComponent.tsx
|
|
6011
6375
|
import { Markdown as Markdown7, Typeahead } from "@transferwise/components";
|
|
6012
|
-
import { Search as
|
|
6013
|
-
import { useState as
|
|
6014
|
-
import { useIntl as
|
|
6015
|
-
import { jsx as
|
|
6376
|
+
import { Search as Search4 } from "@transferwise/icons";
|
|
6377
|
+
import { useState as useState21 } from "react";
|
|
6378
|
+
import { useIntl as useIntl22 } from "react-intl";
|
|
6379
|
+
import { jsx as jsx89 } from "react/jsx-runtime";
|
|
6016
6380
|
function InlineSearchRenderer({
|
|
6017
6381
|
id,
|
|
6018
6382
|
hint,
|
|
@@ -6026,9 +6390,9 @@ function InlineSearchRenderer({
|
|
|
6026
6390
|
onChange,
|
|
6027
6391
|
trackEvent
|
|
6028
6392
|
}) {
|
|
6029
|
-
const [hasSearched, setHasSearched] =
|
|
6030
|
-
const intl =
|
|
6031
|
-
return /* @__PURE__ */
|
|
6393
|
+
const [hasSearched, setHasSearched] = useState21(false);
|
|
6394
|
+
const intl = useIntl22();
|
|
6395
|
+
return /* @__PURE__ */ jsx89("div", { className: getMargin(margin), children: /* @__PURE__ */ jsx89(
|
|
6032
6396
|
FieldInput_default,
|
|
6033
6397
|
{
|
|
6034
6398
|
id,
|
|
@@ -6039,7 +6403,7 @@ function InlineSearchRenderer({
|
|
|
6039
6403
|
features,
|
|
6040
6404
|
control,
|
|
6041
6405
|
tags,
|
|
6042
|
-
children: /* @__PURE__ */
|
|
6406
|
+
children: /* @__PURE__ */ jsx89(
|
|
6043
6407
|
Typeahead,
|
|
6044
6408
|
{
|
|
6045
6409
|
id: "typeahead-input-id",
|
|
@@ -6048,10 +6412,10 @@ function InlineSearchRenderer({
|
|
|
6048
6412
|
size: "md",
|
|
6049
6413
|
placeholder: hint,
|
|
6050
6414
|
maxHeight: 100,
|
|
6051
|
-
footer: /* @__PURE__ */
|
|
6415
|
+
footer: /* @__PURE__ */ jsx89(TypeaheadFooter, { state, isLoading }),
|
|
6052
6416
|
multiple: false,
|
|
6053
6417
|
clearable: false,
|
|
6054
|
-
addon: /* @__PURE__ */
|
|
6418
|
+
addon: /* @__PURE__ */ jsx89(Search4, { size: 24 }),
|
|
6055
6419
|
options: state.type === "results" ? state.results.map(mapResultToTypeaheadOption) : [],
|
|
6056
6420
|
minQueryLength: 1,
|
|
6057
6421
|
onChange: (values) => {
|
|
@@ -6088,33 +6452,33 @@ function mapResultToTypeaheadOption(result) {
|
|
|
6088
6452
|
};
|
|
6089
6453
|
}
|
|
6090
6454
|
function TypeaheadFooter({ state, isLoading }) {
|
|
6091
|
-
const { formatMessage } =
|
|
6455
|
+
const { formatMessage } = useIntl22();
|
|
6092
6456
|
if (state.type === "layout") {
|
|
6093
|
-
return /* @__PURE__ */
|
|
6457
|
+
return /* @__PURE__ */ jsx89("div", { className: "m-x-1 m-y-1", children: state.layout });
|
|
6094
6458
|
}
|
|
6095
6459
|
if (state.type === "noResults") {
|
|
6096
|
-
return /* @__PURE__ */
|
|
6460
|
+
return /* @__PURE__ */ jsx89(Markdown7, { className: "m-t-2 m-x-2", config: { link: { target: "_blank" } }, children: state.message });
|
|
6097
6461
|
}
|
|
6098
6462
|
if (state.type === "error") {
|
|
6099
|
-
return /* @__PURE__ */
|
|
6463
|
+
return /* @__PURE__ */ jsx89("div", { className: "m-t-2 m-x-2", children: /* @__PURE__ */ jsx89(ErrorResult, { state }) });
|
|
6100
6464
|
}
|
|
6101
6465
|
if (state.type === "pending" || isLoading) {
|
|
6102
|
-
return /* @__PURE__ */
|
|
6466
|
+
return /* @__PURE__ */ jsx89("p", { className: "m-t-2 m-x-2", children: formatMessage(search_messages_default.loading) });
|
|
6103
6467
|
}
|
|
6104
6468
|
return null;
|
|
6105
6469
|
}
|
|
6106
6470
|
var InlineSearchRendererComponent_default = InlineSearchRenderer;
|
|
6107
6471
|
|
|
6108
6472
|
// ../renderers/src/SearchRenderer/SearchRenderer.tsx
|
|
6109
|
-
import { jsx as
|
|
6473
|
+
import { jsx as jsx90 } from "react/jsx-runtime";
|
|
6110
6474
|
var SearchRenderer = {
|
|
6111
6475
|
canRenderType: "search",
|
|
6112
|
-
render: (props) => props.control === "inline" ? /* @__PURE__ */
|
|
6476
|
+
render: (props) => props.control === "inline" ? /* @__PURE__ */ jsx90(InlineSearchRendererComponent_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx90(BlockSearchRendererComponent_default, __spreadValues({}, props))
|
|
6113
6477
|
};
|
|
6114
6478
|
var SearchRenderer_default = SearchRenderer;
|
|
6115
6479
|
|
|
6116
6480
|
// ../renderers/src/SectionRenderer.tsx
|
|
6117
|
-
var
|
|
6481
|
+
var import_classnames32 = __toESM(require_classnames());
|
|
6118
6482
|
import { Header as Header7 } from "@transferwise/components";
|
|
6119
6483
|
|
|
6120
6484
|
// ../renderers/src/utils/getHeaderAction.tsx
|
|
@@ -6139,16 +6503,16 @@ var getHeaderAction2 = (callToAction) => {
|
|
|
6139
6503
|
};
|
|
6140
6504
|
|
|
6141
6505
|
// ../renderers/src/SectionRenderer.tsx
|
|
6142
|
-
import { jsx as
|
|
6506
|
+
import { jsx as jsx91, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
6143
6507
|
var SectionRenderer = {
|
|
6144
6508
|
canRenderType: "section",
|
|
6145
6509
|
render: ({ children, callToAction, margin, title, control, tags }) => {
|
|
6146
|
-
return /* @__PURE__ */
|
|
6510
|
+
return /* @__PURE__ */ jsxs29(
|
|
6147
6511
|
"section",
|
|
6148
6512
|
{
|
|
6149
|
-
className: (0,
|
|
6513
|
+
className: (0, import_classnames32.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })),
|
|
6150
6514
|
children: [
|
|
6151
|
-
(title || callToAction) && /* @__PURE__ */
|
|
6515
|
+
(title || callToAction) && /* @__PURE__ */ jsx91(Header7, { title: title != null ? title : "", action: getHeaderAction2(callToAction) }),
|
|
6152
6516
|
children
|
|
6153
6517
|
]
|
|
6154
6518
|
}
|
|
@@ -6159,7 +6523,7 @@ var SectionRenderer_default = SectionRenderer;
|
|
|
6159
6523
|
|
|
6160
6524
|
// ../renderers/src/SelectInputRenderer/RadioInputRendererComponent.tsx
|
|
6161
6525
|
import { RadioGroup } from "@transferwise/components";
|
|
6162
|
-
import { Fragment as
|
|
6526
|
+
import { Fragment as Fragment13, jsx as jsx92, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
6163
6527
|
function RadioInputRendererComponent(props) {
|
|
6164
6528
|
const {
|
|
6165
6529
|
id,
|
|
@@ -6176,8 +6540,8 @@ function RadioInputRendererComponent(props) {
|
|
|
6176
6540
|
tags,
|
|
6177
6541
|
onSelect
|
|
6178
6542
|
} = props;
|
|
6179
|
-
return /* @__PURE__ */
|
|
6180
|
-
/* @__PURE__ */
|
|
6543
|
+
return /* @__PURE__ */ jsxs30(Fragment13, { children: [
|
|
6544
|
+
/* @__PURE__ */ jsx92(
|
|
6181
6545
|
FieldInput_default,
|
|
6182
6546
|
{
|
|
6183
6547
|
id,
|
|
@@ -6188,7 +6552,7 @@ function RadioInputRendererComponent(props) {
|
|
|
6188
6552
|
features,
|
|
6189
6553
|
control,
|
|
6190
6554
|
tags,
|
|
6191
|
-
children: /* @__PURE__ */
|
|
6555
|
+
children: /* @__PURE__ */ jsx92("span", { children: /* @__PURE__ */ jsx92(
|
|
6192
6556
|
RadioGroup,
|
|
6193
6557
|
{
|
|
6194
6558
|
name: id,
|
|
@@ -6197,7 +6561,7 @@ function RadioInputRendererComponent(props) {
|
|
|
6197
6561
|
value: index,
|
|
6198
6562
|
secondary: option.description,
|
|
6199
6563
|
disabled: option.disabled || disabled,
|
|
6200
|
-
avatar: /* @__PURE__ */
|
|
6564
|
+
avatar: /* @__PURE__ */ jsx92(OptionMedia, { media: option.media, preferAvatar: false })
|
|
6201
6565
|
})),
|
|
6202
6566
|
selectedValue: selectedIndex != null ? selectedIndex : void 0,
|
|
6203
6567
|
onChange: onSelect
|
|
@@ -6212,8 +6576,8 @@ function RadioInputRendererComponent(props) {
|
|
|
6212
6576
|
|
|
6213
6577
|
// ../renderers/src/SelectInputRenderer/TabInputRendererComponent.tsx
|
|
6214
6578
|
import { Tabs } from "@transferwise/components";
|
|
6215
|
-
import { useEffect as
|
|
6216
|
-
import { Fragment as
|
|
6579
|
+
import { useEffect as useEffect13 } from "react";
|
|
6580
|
+
import { Fragment as Fragment14, jsx as jsx93, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
6217
6581
|
function TabInputRendererComponent(props) {
|
|
6218
6582
|
const {
|
|
6219
6583
|
id,
|
|
@@ -6230,13 +6594,13 @@ function TabInputRendererComponent(props) {
|
|
|
6230
6594
|
tags,
|
|
6231
6595
|
onSelect
|
|
6232
6596
|
} = props;
|
|
6233
|
-
|
|
6597
|
+
useEffect13(() => {
|
|
6234
6598
|
if (!isValidIndex2(selectedIndex, options.length)) {
|
|
6235
6599
|
onSelect(0);
|
|
6236
6600
|
}
|
|
6237
6601
|
}, [selectedIndex, onSelect, options.length]);
|
|
6238
|
-
return /* @__PURE__ */
|
|
6239
|
-
/* @__PURE__ */
|
|
6602
|
+
return /* @__PURE__ */ jsxs31(Fragment14, { children: [
|
|
6603
|
+
/* @__PURE__ */ jsx93(
|
|
6240
6604
|
FieldInput_default,
|
|
6241
6605
|
{
|
|
6242
6606
|
id,
|
|
@@ -6247,7 +6611,7 @@ function TabInputRendererComponent(props) {
|
|
|
6247
6611
|
features,
|
|
6248
6612
|
control,
|
|
6249
6613
|
tags,
|
|
6250
|
-
children: /* @__PURE__ */
|
|
6614
|
+
children: /* @__PURE__ */ jsx93(
|
|
6251
6615
|
Tabs,
|
|
6252
6616
|
{
|
|
6253
6617
|
name: id,
|
|
@@ -6256,7 +6620,7 @@ function TabInputRendererComponent(props) {
|
|
|
6256
6620
|
title: option.title,
|
|
6257
6621
|
// if we pass null, we get some props-types console errors
|
|
6258
6622
|
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
6259
|
-
content: /* @__PURE__ */
|
|
6623
|
+
content: /* @__PURE__ */ jsx93(Fragment14, {}),
|
|
6260
6624
|
disabled: option.disabled || disabled
|
|
6261
6625
|
})),
|
|
6262
6626
|
onTabSelect: onSelect
|
|
@@ -6271,7 +6635,7 @@ var isValidIndex2 = (index, options) => index !== null && index >= 0 && index <
|
|
|
6271
6635
|
|
|
6272
6636
|
// ../renderers/src/SelectInputRenderer/SelectInputRendererComponent.tsx
|
|
6273
6637
|
import { SelectInput as SelectInput2, SelectInputOptionContent as SelectInputOptionContent2 } from "@transferwise/components";
|
|
6274
|
-
import { Fragment as
|
|
6638
|
+
import { Fragment as Fragment15, jsx as jsx94, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
6275
6639
|
function SelectInputRendererComponent(props) {
|
|
6276
6640
|
const {
|
|
6277
6641
|
id,
|
|
@@ -6314,13 +6678,13 @@ function SelectInputRendererComponent(props) {
|
|
|
6314
6678
|
} : {
|
|
6315
6679
|
title: option.title,
|
|
6316
6680
|
description: option.description,
|
|
6317
|
-
icon: /* @__PURE__ */
|
|
6681
|
+
icon: /* @__PURE__ */ jsx94(OptionMedia, { media: option.media, preferAvatar: false })
|
|
6318
6682
|
};
|
|
6319
|
-
return /* @__PURE__ */
|
|
6683
|
+
return /* @__PURE__ */ jsx94(SelectInputOptionContent2, __spreadValues({}, contentProps));
|
|
6320
6684
|
};
|
|
6321
6685
|
const extraProps = { autoComplete };
|
|
6322
|
-
return /* @__PURE__ */
|
|
6323
|
-
/* @__PURE__ */
|
|
6686
|
+
return /* @__PURE__ */ jsxs32(Fragment15, { children: [
|
|
6687
|
+
/* @__PURE__ */ jsx94(
|
|
6324
6688
|
FieldInput_default,
|
|
6325
6689
|
{
|
|
6326
6690
|
id,
|
|
@@ -6331,7 +6695,7 @@ function SelectInputRendererComponent(props) {
|
|
|
6331
6695
|
features,
|
|
6332
6696
|
control,
|
|
6333
6697
|
tags,
|
|
6334
|
-
children: /* @__PURE__ */
|
|
6698
|
+
children: /* @__PURE__ */ jsx94(
|
|
6335
6699
|
SelectInput2,
|
|
6336
6700
|
__spreadValues({
|
|
6337
6701
|
name: id,
|
|
@@ -6352,9 +6716,9 @@ function SelectInputRendererComponent(props) {
|
|
|
6352
6716
|
}
|
|
6353
6717
|
|
|
6354
6718
|
// ../renderers/src/SelectInputRenderer/SegmentedInputRendererComponent.tsx
|
|
6355
|
-
import { useEffect as
|
|
6719
|
+
import { useEffect as useEffect14 } from "react";
|
|
6356
6720
|
import { SegmentedControl } from "@transferwise/components";
|
|
6357
|
-
import { Fragment as
|
|
6721
|
+
import { Fragment as Fragment16, jsx as jsx95, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
6358
6722
|
function SegmentedInputRendererComponent(props) {
|
|
6359
6723
|
const {
|
|
6360
6724
|
id,
|
|
@@ -6370,13 +6734,13 @@ function SegmentedInputRendererComponent(props) {
|
|
|
6370
6734
|
tags,
|
|
6371
6735
|
onSelect
|
|
6372
6736
|
} = props;
|
|
6373
|
-
|
|
6737
|
+
useEffect14(() => {
|
|
6374
6738
|
if (!isValidIndex3(selectedIndex, options.length)) {
|
|
6375
6739
|
onSelect(0);
|
|
6376
6740
|
}
|
|
6377
6741
|
}, [selectedIndex, onSelect, options.length]);
|
|
6378
|
-
return /* @__PURE__ */
|
|
6379
|
-
/* @__PURE__ */
|
|
6742
|
+
return /* @__PURE__ */ jsxs33(Fragment16, { children: [
|
|
6743
|
+
/* @__PURE__ */ jsx95(
|
|
6380
6744
|
FieldInput_default,
|
|
6381
6745
|
{
|
|
6382
6746
|
id,
|
|
@@ -6387,7 +6751,7 @@ function SegmentedInputRendererComponent(props) {
|
|
|
6387
6751
|
features,
|
|
6388
6752
|
control,
|
|
6389
6753
|
tags,
|
|
6390
|
-
children: /* @__PURE__ */
|
|
6754
|
+
children: /* @__PURE__ */ jsx95(
|
|
6391
6755
|
SegmentedControl,
|
|
6392
6756
|
{
|
|
6393
6757
|
name: `${id}-segmented-control`,
|
|
@@ -6404,14 +6768,14 @@ function SegmentedInputRendererComponent(props) {
|
|
|
6404
6768
|
)
|
|
6405
6769
|
}
|
|
6406
6770
|
),
|
|
6407
|
-
/* @__PURE__ */
|
|
6771
|
+
/* @__PURE__ */ jsx95("div", { id: `${id}-children`, children })
|
|
6408
6772
|
] });
|
|
6409
6773
|
}
|
|
6410
6774
|
var isValidIndex3 = (index, options) => index !== null && index >= 0 && index < options;
|
|
6411
6775
|
|
|
6412
6776
|
// ../renderers/src/SelectInputRenderer/RadioItemRendererComponent.tsx
|
|
6413
6777
|
import { Header as Header8, InlineAlert as InlineAlert4, List as List2, ListItem as ListItem12 } from "@transferwise/components";
|
|
6414
|
-
import { jsx as
|
|
6778
|
+
import { jsx as jsx96, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
6415
6779
|
function RadioItemRendererComponent(props) {
|
|
6416
6780
|
const {
|
|
6417
6781
|
id,
|
|
@@ -6427,22 +6791,22 @@ function RadioItemRendererComponent(props) {
|
|
|
6427
6791
|
onSelect
|
|
6428
6792
|
} = props;
|
|
6429
6793
|
const { ref } = useScrollToError(validationState, features);
|
|
6430
|
-
return /* @__PURE__ */
|
|
6431
|
-
rootTitle && /* @__PURE__ */
|
|
6794
|
+
return /* @__PURE__ */ jsxs34("div", { ref, className: controlAndTagsToCSSClass(props), children: [
|
|
6795
|
+
rootTitle && /* @__PURE__ */ jsx96(
|
|
6432
6796
|
Header8,
|
|
6433
6797
|
{
|
|
6434
6798
|
as: "h2",
|
|
6435
|
-
title: help ? /* @__PURE__ */
|
|
6799
|
+
title: help ? /* @__PURE__ */ jsx96(LabelContentWithHelp, { text: rootTitle, help }) : rootTitle
|
|
6436
6800
|
}
|
|
6437
6801
|
),
|
|
6438
|
-
rootDescription && /* @__PURE__ */
|
|
6439
|
-
/* @__PURE__ */
|
|
6440
|
-
({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */
|
|
6802
|
+
rootDescription && /* @__PURE__ */ jsx96("p", { children: rootDescription }),
|
|
6803
|
+
/* @__PURE__ */ jsx96(List2, { children: options.map(
|
|
6804
|
+
({ title, description, additionalText, inlineAlert, disabled, media, supportingValues }, index) => /* @__PURE__ */ jsx96(
|
|
6441
6805
|
ListItem12,
|
|
6442
6806
|
__spreadValues({
|
|
6443
6807
|
title,
|
|
6444
6808
|
subtitle: description,
|
|
6445
|
-
control: /* @__PURE__ */
|
|
6809
|
+
control: /* @__PURE__ */ jsx96(
|
|
6446
6810
|
ListItem12.Radio,
|
|
6447
6811
|
{
|
|
6448
6812
|
name: title,
|
|
@@ -6458,50 +6822,50 @@ function RadioItemRendererComponent(props) {
|
|
|
6458
6822
|
title
|
|
6459
6823
|
)
|
|
6460
6824
|
) }, `${id}-${selectedIndex}`),
|
|
6461
|
-
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */
|
|
6825
|
+
(validationState == null ? void 0 : validationState.status) === "invalid" && /* @__PURE__ */ jsx96(InlineAlert4, { type: "negative", children: validationState.message }),
|
|
6462
6826
|
children
|
|
6463
6827
|
] });
|
|
6464
6828
|
}
|
|
6465
6829
|
|
|
6466
6830
|
// ../renderers/src/SelectInputRenderer/SelectInputRenderer.tsx
|
|
6467
|
-
import { jsx as
|
|
6831
|
+
import { jsx as jsx97 } from "react/jsx-runtime";
|
|
6468
6832
|
var SelectInputRenderer = {
|
|
6469
6833
|
canRenderType: "input-select",
|
|
6470
6834
|
render: (props) => {
|
|
6471
6835
|
switch (props.control) {
|
|
6472
6836
|
case "radio":
|
|
6473
|
-
return /* @__PURE__ */
|
|
6837
|
+
return /* @__PURE__ */ jsx97(RadioInputRendererComponent, __spreadValues({}, props));
|
|
6474
6838
|
case "radio-item":
|
|
6475
|
-
return /* @__PURE__ */
|
|
6839
|
+
return /* @__PURE__ */ jsx97(RadioItemRendererComponent, __spreadValues({}, props));
|
|
6476
6840
|
case "tab":
|
|
6477
|
-
return props.options.length > 3 ? /* @__PURE__ */
|
|
6841
|
+
return props.options.length > 3 ? /* @__PURE__ */ jsx97(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx97(TabInputRendererComponent, __spreadValues({}, props));
|
|
6478
6842
|
case "segmented":
|
|
6479
|
-
return props.options.length > 3 ? /* @__PURE__ */
|
|
6843
|
+
return props.options.length > 3 ? /* @__PURE__ */ jsx97(SelectInputRendererComponent, __spreadValues({}, props)) : /* @__PURE__ */ jsx97(SegmentedInputRendererComponent, __spreadValues({}, props));
|
|
6480
6844
|
case "select":
|
|
6481
6845
|
default:
|
|
6482
|
-
return /* @__PURE__ */
|
|
6846
|
+
return /* @__PURE__ */ jsx97(SelectInputRendererComponent, __spreadValues({}, props));
|
|
6483
6847
|
}
|
|
6484
6848
|
}
|
|
6485
6849
|
};
|
|
6486
6850
|
var SelectInputRenderer_default = SelectInputRenderer;
|
|
6487
6851
|
|
|
6488
6852
|
// ../renderers/src/StatusListRenderer.tsx
|
|
6489
|
-
var
|
|
6853
|
+
var import_classnames33 = __toESM(require_classnames());
|
|
6490
6854
|
import { AvatarView as AvatarView4, Header as Header9, ListItem as ListItem13 } from "@transferwise/components";
|
|
6491
|
-
import { jsx as
|
|
6855
|
+
import { jsx as jsx98, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
6492
6856
|
var StatusListRenderer = {
|
|
6493
6857
|
canRenderType: "status-list",
|
|
6494
|
-
render: ({ margin, items, title, control, tags }) => /* @__PURE__ */
|
|
6495
|
-
title ? /* @__PURE__ */
|
|
6858
|
+
render: ({ margin, items, title, control, tags }) => /* @__PURE__ */ jsxs35("div", { className: (0, import_classnames33.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
|
|
6859
|
+
title ? /* @__PURE__ */ jsx98(Header9, { title }) : null,
|
|
6496
6860
|
items.map((item) => {
|
|
6497
6861
|
const { callToAction, description, title: itemTitle } = item;
|
|
6498
|
-
return /* @__PURE__ */
|
|
6862
|
+
return /* @__PURE__ */ jsx98(
|
|
6499
6863
|
ListItem13,
|
|
6500
6864
|
{
|
|
6501
6865
|
title: itemTitle,
|
|
6502
6866
|
subtitle: description,
|
|
6503
|
-
media: /* @__PURE__ */
|
|
6504
|
-
additionalInfo: callToAction ? /* @__PURE__ */
|
|
6867
|
+
media: /* @__PURE__ */ jsx98(StatusListItemMedia, __spreadValues({}, item)),
|
|
6868
|
+
additionalInfo: callToAction ? /* @__PURE__ */ jsx98(
|
|
6505
6869
|
ListItem13.AdditionalInfo,
|
|
6506
6870
|
{
|
|
6507
6871
|
action: __spreadValues({
|
|
@@ -6520,10 +6884,10 @@ var StatusListItemMedia = ({ icon, status }) => {
|
|
|
6520
6884
|
return void 0;
|
|
6521
6885
|
}
|
|
6522
6886
|
if ("name" in icon) {
|
|
6523
|
-
return /* @__PURE__ */
|
|
6887
|
+
return /* @__PURE__ */ jsx98(AvatarView4, { badge: { status: mapStatus(status) }, children: /* @__PURE__ */ jsx98(DynamicIcon_default, { name: icon.name }) });
|
|
6524
6888
|
}
|
|
6525
6889
|
if ("text" in icon) {
|
|
6526
|
-
return /* @__PURE__ */
|
|
6890
|
+
return /* @__PURE__ */ jsx98(AvatarView4, { badge: { status: mapStatus(status) }, children: icon.text });
|
|
6527
6891
|
}
|
|
6528
6892
|
return void 0;
|
|
6529
6893
|
};
|
|
@@ -6540,16 +6904,16 @@ var mapStatus = (status) => {
|
|
|
6540
6904
|
var StatusListRenderer_default = StatusListRenderer;
|
|
6541
6905
|
|
|
6542
6906
|
// ../renderers/src/step/SplashCelebrationStepRenderer.tsx
|
|
6543
|
-
var
|
|
6907
|
+
var import_classnames34 = __toESM(require_classnames());
|
|
6544
6908
|
|
|
6545
6909
|
// ../renderers/src/utils/useCustomTheme.ts
|
|
6546
6910
|
import { useTheme } from "@wise/components-theming";
|
|
6547
|
-
import { useEffect as
|
|
6911
|
+
import { useEffect as useEffect15, useMemo } from "react";
|
|
6548
6912
|
var ThemeRequiredEventName = "Theme Required";
|
|
6549
6913
|
var useCustomTheme = (theme, trackEvent) => {
|
|
6550
6914
|
const theming = useTheme();
|
|
6551
6915
|
const previousTheme = useMemo(() => theming.theme, []);
|
|
6552
|
-
|
|
6916
|
+
useEffect15(() => {
|
|
6553
6917
|
theming.setTheme(theme);
|
|
6554
6918
|
trackEvent(ThemeRequiredEventName, { theme });
|
|
6555
6919
|
return theme !== previousTheme ? () => {
|
|
@@ -6562,12 +6926,12 @@ var useCustomTheme = (theme, trackEvent) => {
|
|
|
6562
6926
|
|
|
6563
6927
|
// ../renderers/src/step/StepHeader.tsx
|
|
6564
6928
|
import { Title as Title2 } from "@transferwise/components";
|
|
6565
|
-
import { Fragment as
|
|
6929
|
+
import { Fragment as Fragment17, jsx as jsx99, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
6566
6930
|
var StepHeader = ({ title, description, tags }) => {
|
|
6567
6931
|
const { titleType, alignmentClassName } = getHeaderStyle(tags);
|
|
6568
|
-
return /* @__PURE__ */
|
|
6569
|
-
title ? /* @__PURE__ */
|
|
6570
|
-
description ? /* @__PURE__ */
|
|
6932
|
+
return /* @__PURE__ */ jsxs36(Fragment17, { children: [
|
|
6933
|
+
title ? /* @__PURE__ */ jsx99(Title2, { as: "h1", type: titleType, className: `${alignmentClassName} m-b-2`, children: title }) : void 0,
|
|
6934
|
+
description ? /* @__PURE__ */ jsx99("p", { className: `${alignmentClassName} np-text-body-large`, children: description }) : void 0
|
|
6571
6935
|
] });
|
|
6572
6936
|
};
|
|
6573
6937
|
var getHeaderStyle = (tags) => {
|
|
@@ -6578,9 +6942,9 @@ var getHeaderStyle = (tags) => {
|
|
|
6578
6942
|
};
|
|
6579
6943
|
|
|
6580
6944
|
// ../renderers/src/step/topbar/BackButton.tsx
|
|
6581
|
-
import { IconButton as
|
|
6945
|
+
import { IconButton as IconButton3 } from "@transferwise/components";
|
|
6582
6946
|
import { ArrowLeft } from "@transferwise/icons";
|
|
6583
|
-
import { useIntl as
|
|
6947
|
+
import { useIntl as useIntl23 } from "react-intl";
|
|
6584
6948
|
|
|
6585
6949
|
// ../renderers/src/messages/back.messages.ts
|
|
6586
6950
|
import { defineMessages as defineMessages14 } from "react-intl";
|
|
@@ -6593,31 +6957,31 @@ var back_messages_default = defineMessages14({
|
|
|
6593
6957
|
});
|
|
6594
6958
|
|
|
6595
6959
|
// ../renderers/src/step/topbar/BackButton.tsx
|
|
6596
|
-
import { jsx as
|
|
6960
|
+
import { jsx as jsx100, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
6597
6961
|
function BackButton({ title, onClick }) {
|
|
6598
|
-
const { formatMessage } =
|
|
6599
|
-
return /* @__PURE__ */
|
|
6600
|
-
/* @__PURE__ */
|
|
6601
|
-
/* @__PURE__ */
|
|
6962
|
+
const { formatMessage } = useIntl23();
|
|
6963
|
+
return /* @__PURE__ */ jsxs37(IconButton3, { className: "df-back-button", priority: "tertiary", onClick, children: [
|
|
6964
|
+
/* @__PURE__ */ jsx100("span", { className: "sr-only", children: title != null ? title : formatMessage(back_messages_default.back) }),
|
|
6965
|
+
/* @__PURE__ */ jsx100(ArrowLeft, {})
|
|
6602
6966
|
] });
|
|
6603
6967
|
}
|
|
6604
6968
|
|
|
6605
6969
|
// ../renderers/src/step/topbar/Toolbar.tsx
|
|
6606
|
-
import { Button as
|
|
6607
|
-
import { jsx as
|
|
6970
|
+
import { Button as Button10, IconButton as IconButton4 } from "@transferwise/components";
|
|
6971
|
+
import { jsx as jsx101, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
6608
6972
|
var Toolbar = ({ items }) => {
|
|
6609
|
-
return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */
|
|
6973
|
+
return (items == null ? void 0 : items.length) > 0 ? /* @__PURE__ */ jsx101("div", { className: "df-toolbar", children: items.map((item, index) => /* @__PURE__ */ jsx101(ToolbarButton, __spreadValues({}, item), `${item.type}-${index}-${item.title}`)) }) : null;
|
|
6610
6974
|
};
|
|
6611
6975
|
function ToolbarButton(props) {
|
|
6612
|
-
return prefersMedia(props.control) ? /* @__PURE__ */
|
|
6976
|
+
return prefersMedia(props.control) ? /* @__PURE__ */ jsx101(MediaToolbarButton, __spreadValues({}, props)) : /* @__PURE__ */ jsx101(TextToolbarButton, __spreadValues({}, props));
|
|
6613
6977
|
}
|
|
6614
6978
|
function MediaToolbarButton(props) {
|
|
6615
6979
|
var _a;
|
|
6616
6980
|
const { context, control, media, accessibilityDescription, disabled, onClick } = props;
|
|
6617
6981
|
const priority = getIconButtonPriority(control);
|
|
6618
6982
|
const type = getSentiment2(context);
|
|
6619
|
-
return /* @__PURE__ */
|
|
6620
|
-
|
|
6983
|
+
return /* @__PURE__ */ jsxs38(
|
|
6984
|
+
IconButton4,
|
|
6621
6985
|
{
|
|
6622
6986
|
className: "df-toolbar-button",
|
|
6623
6987
|
disabled,
|
|
@@ -6626,7 +6990,7 @@ function MediaToolbarButton(props) {
|
|
|
6626
6990
|
type,
|
|
6627
6991
|
onClick,
|
|
6628
6992
|
children: [
|
|
6629
|
-
accessibilityDescription ? /* @__PURE__ */
|
|
6993
|
+
accessibilityDescription ? /* @__PURE__ */ jsx101("span", { className: "sr-only", children: accessibilityDescription }) : null,
|
|
6630
6994
|
media ? (_a = getAddonStartMedia(media)) == null ? void 0 : _a.value : null
|
|
6631
6995
|
]
|
|
6632
6996
|
}
|
|
@@ -6637,8 +7001,8 @@ function TextToolbarButton(props) {
|
|
|
6637
7001
|
const addonStart = media ? getAddonStartMedia(media) : void 0;
|
|
6638
7002
|
const priority = getPriority2(control);
|
|
6639
7003
|
const sentiment = getSentiment2(context);
|
|
6640
|
-
return /* @__PURE__ */
|
|
6641
|
-
|
|
7004
|
+
return /* @__PURE__ */ jsx101(
|
|
7005
|
+
Button10,
|
|
6642
7006
|
{
|
|
6643
7007
|
v2: true,
|
|
6644
7008
|
size: "sm",
|
|
@@ -6667,18 +7031,18 @@ var getIconButtonPriority = (control) => {
|
|
|
6667
7031
|
};
|
|
6668
7032
|
|
|
6669
7033
|
// ../renderers/src/step/topbar/TopBar.tsx
|
|
6670
|
-
import { jsx as
|
|
7034
|
+
import { jsx as jsx102, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
6671
7035
|
function TopBar({ back, toolbar, tags }) {
|
|
6672
7036
|
const isBackAllowed = !(tags == null ? void 0 : tags.includes("non-dismissible"));
|
|
6673
7037
|
const backCTA = isBackAllowed ? back : void 0;
|
|
6674
|
-
return backCTA || toolbar ? /* @__PURE__ */
|
|
6675
|
-
backCTA ? /* @__PURE__ */
|
|
6676
|
-
toolbar ? /* @__PURE__ */
|
|
7038
|
+
return backCTA || toolbar ? /* @__PURE__ */ jsxs39("div", { className: "d-flex m-b-2", children: [
|
|
7039
|
+
backCTA ? /* @__PURE__ */ jsx102(BackButton, __spreadValues({}, backCTA)) : null,
|
|
7040
|
+
toolbar ? /* @__PURE__ */ jsx102(Toolbar, __spreadValues({}, toolbar)) : null
|
|
6677
7041
|
] }) : null;
|
|
6678
7042
|
}
|
|
6679
7043
|
|
|
6680
7044
|
// ../renderers/src/step/SplashCelebrationStepRenderer.tsx
|
|
6681
|
-
import { jsx as
|
|
7045
|
+
import { jsx as jsx103, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
6682
7046
|
var SplashCelebrationStepRenderer = {
|
|
6683
7047
|
canRenderType: "step",
|
|
6684
7048
|
canRender: ({ control }) => control === "splash-celebration",
|
|
@@ -6687,23 +7051,23 @@ var SplashCelebrationStepRenderer = {
|
|
|
6687
7051
|
function SplashCelebrationStepRendererComponent(props) {
|
|
6688
7052
|
const { back, title, description, toolbar, children, footer, control, tags, trackEvent } = props;
|
|
6689
7053
|
useCustomTheme("forest-green", trackEvent);
|
|
6690
|
-
return /* @__PURE__ */
|
|
7054
|
+
return /* @__PURE__ */ jsxs40(
|
|
6691
7055
|
"div",
|
|
6692
7056
|
{
|
|
6693
|
-
className: (0,
|
|
7057
|
+
className: (0, import_classnames34.default)("splash-screen", "m-t-5", controlAndTagsToCSSClass({ control, tags })),
|
|
6694
7058
|
children: [
|
|
6695
|
-
/* @__PURE__ */
|
|
6696
|
-
title || description ? /* @__PURE__ */
|
|
7059
|
+
/* @__PURE__ */ jsx103(TopBar, { back, toolbar, tags }),
|
|
7060
|
+
title || description ? /* @__PURE__ */ jsx103("div", { className: "m-b-4", children: /* @__PURE__ */ jsx103(StepHeader, { title, description, tags }) }) : void 0,
|
|
6697
7061
|
children,
|
|
6698
|
-
/* @__PURE__ */
|
|
7062
|
+
/* @__PURE__ */ jsx103(StepFooter, { footer, tags })
|
|
6699
7063
|
]
|
|
6700
7064
|
}
|
|
6701
7065
|
);
|
|
6702
7066
|
}
|
|
6703
7067
|
|
|
6704
7068
|
// ../renderers/src/step/SplashStepRenderer.tsx
|
|
6705
|
-
var
|
|
6706
|
-
import { jsx as
|
|
7069
|
+
var import_classnames35 = __toESM(require_classnames());
|
|
7070
|
+
import { jsx as jsx104, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
6707
7071
|
var SplashStepRenderer = {
|
|
6708
7072
|
canRenderType: "step",
|
|
6709
7073
|
canRender: ({ control }) => control === "splash",
|
|
@@ -6711,15 +7075,15 @@ var SplashStepRenderer = {
|
|
|
6711
7075
|
};
|
|
6712
7076
|
function SplashStepRendererComponent(props) {
|
|
6713
7077
|
const { back, title, description, toolbar, children, footer, control, tags } = props;
|
|
6714
|
-
return /* @__PURE__ */
|
|
7078
|
+
return /* @__PURE__ */ jsxs41(
|
|
6715
7079
|
"div",
|
|
6716
7080
|
{
|
|
6717
|
-
className: (0,
|
|
7081
|
+
className: (0, import_classnames35.default)("splash-screen", "m-t-5", controlAndTagsToCSSClass({ control, tags })),
|
|
6718
7082
|
children: [
|
|
6719
|
-
/* @__PURE__ */
|
|
6720
|
-
title || description ? /* @__PURE__ */
|
|
7083
|
+
/* @__PURE__ */ jsx104(TopBar, { back, toolbar, tags }),
|
|
7084
|
+
title || description ? /* @__PURE__ */ jsx104("div", { className: "m-b-4", children: /* @__PURE__ */ jsx104(StepHeader, { title, description, tags }) }) : void 0,
|
|
6721
7085
|
children,
|
|
6722
|
-
/* @__PURE__ */
|
|
7086
|
+
/* @__PURE__ */ jsx104(StepFooter, { footer, tags })
|
|
6723
7087
|
]
|
|
6724
7088
|
}
|
|
6725
7089
|
);
|
|
@@ -6727,46 +7091,46 @@ function SplashStepRendererComponent(props) {
|
|
|
6727
7091
|
|
|
6728
7092
|
// ../renderers/src/step/StepRenderer.tsx
|
|
6729
7093
|
import { Alert } from "@transferwise/components";
|
|
6730
|
-
import { jsx as
|
|
7094
|
+
import { jsx as jsx105, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
6731
7095
|
var StepRenderer = {
|
|
6732
7096
|
canRenderType: "step",
|
|
6733
7097
|
render: StepRendererComponent
|
|
6734
7098
|
};
|
|
6735
7099
|
function StepRendererComponent(props) {
|
|
6736
7100
|
const { back, description, error, title, children, toolbar, footer, control, tags } = props;
|
|
6737
|
-
return /* @__PURE__ */
|
|
6738
|
-
/* @__PURE__ */
|
|
6739
|
-
title || description ? /* @__PURE__ */
|
|
6740
|
-
error ? /* @__PURE__ */
|
|
7101
|
+
return /* @__PURE__ */ jsxs42("div", { className: controlAndTagsToCSSClass({ control, tags }), children: [
|
|
7102
|
+
/* @__PURE__ */ jsx105(TopBar, { back, toolbar, tags }),
|
|
7103
|
+
title || description ? /* @__PURE__ */ jsx105("div", { className: "m-b-4", children: /* @__PURE__ */ jsx105(StepHeader, { title, description, tags }) }) : void 0,
|
|
7104
|
+
error ? /* @__PURE__ */ jsx105(Alert, { type: "negative", className: "m-b-2", message: error }) : null,
|
|
6741
7105
|
children,
|
|
6742
|
-
/* @__PURE__ */
|
|
7106
|
+
/* @__PURE__ */ jsx105(StepFooter, { footer, tags })
|
|
6743
7107
|
] });
|
|
6744
7108
|
}
|
|
6745
7109
|
|
|
6746
7110
|
// ../renderers/src/TabsRenderer.tsx
|
|
6747
|
-
var
|
|
6748
|
-
import { Chips as
|
|
6749
|
-
import { useState as
|
|
6750
|
-
import { jsx as
|
|
7111
|
+
var import_classnames36 = __toESM(require_classnames());
|
|
7112
|
+
import { Chips as Chips3, SegmentedControl as SegmentedControl2, Tabs as Tabs2 } from "@transferwise/components";
|
|
7113
|
+
import { useState as useState22 } from "react";
|
|
7114
|
+
import { jsx as jsx106, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
6751
7115
|
var TabsRenderer = {
|
|
6752
7116
|
canRenderType: "tabs",
|
|
6753
7117
|
render: (props) => {
|
|
6754
7118
|
switch (props.control) {
|
|
6755
7119
|
case "segmented":
|
|
6756
7120
|
if (props.tabs.length > 3) {
|
|
6757
|
-
return /* @__PURE__ */
|
|
7121
|
+
return /* @__PURE__ */ jsx106(TabsRendererComponent, __spreadValues({}, props));
|
|
6758
7122
|
}
|
|
6759
|
-
return /* @__PURE__ */
|
|
7123
|
+
return /* @__PURE__ */ jsx106(SegmentedTabsRendererComponent, __spreadValues({}, props));
|
|
6760
7124
|
case "chips":
|
|
6761
|
-
return /* @__PURE__ */
|
|
7125
|
+
return /* @__PURE__ */ jsx106(ChipsTabsRendererComponent, __spreadValues({}, props));
|
|
6762
7126
|
default:
|
|
6763
|
-
return /* @__PURE__ */
|
|
7127
|
+
return /* @__PURE__ */ jsx106(TabsRendererComponent, __spreadValues({}, props));
|
|
6764
7128
|
}
|
|
6765
7129
|
}
|
|
6766
7130
|
};
|
|
6767
7131
|
function TabsRendererComponent({ uid, margin, tabs, control, tags }) {
|
|
6768
|
-
const [selectedIndex, setSelectedIndex] =
|
|
6769
|
-
return /* @__PURE__ */
|
|
7132
|
+
const [selectedIndex, setSelectedIndex] = useState22(0);
|
|
7133
|
+
return /* @__PURE__ */ jsx106("div", { className: (0, import_classnames36.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: /* @__PURE__ */ jsx106(
|
|
6770
7134
|
Tabs2,
|
|
6771
7135
|
{
|
|
6772
7136
|
name: uid,
|
|
@@ -6774,7 +7138,7 @@ function TabsRendererComponent({ uid, margin, tabs, control, tags }) {
|
|
|
6774
7138
|
tabs: tabs.map((option) => ({
|
|
6775
7139
|
title: option.title,
|
|
6776
7140
|
disabled: false,
|
|
6777
|
-
content: /* @__PURE__ */
|
|
7141
|
+
content: /* @__PURE__ */ jsxs43("div", { className: "m-t-2", children: [
|
|
6778
7142
|
" ",
|
|
6779
7143
|
option.children,
|
|
6780
7144
|
" "
|
|
@@ -6786,9 +7150,9 @@ function TabsRendererComponent({ uid, margin, tabs, control, tags }) {
|
|
|
6786
7150
|
}
|
|
6787
7151
|
function SegmentedTabsRendererComponent({ uid, margin, tabs, control, tags }) {
|
|
6788
7152
|
var _a;
|
|
6789
|
-
const [selectedIndex, setSelectedIndex] =
|
|
6790
|
-
return /* @__PURE__ */
|
|
6791
|
-
/* @__PURE__ */
|
|
7153
|
+
const [selectedIndex, setSelectedIndex] = useState22(0);
|
|
7154
|
+
return /* @__PURE__ */ jsxs43("div", { className: (0, import_classnames36.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
|
|
7155
|
+
/* @__PURE__ */ jsx106(
|
|
6792
7156
|
SegmentedControl2,
|
|
6793
7157
|
{
|
|
6794
7158
|
name: uid,
|
|
@@ -6803,41 +7167,41 @@ function SegmentedTabsRendererComponent({ uid, margin, tabs, control, tags }) {
|
|
|
6803
7167
|
onChange: (value) => setSelectedIndex(Number(value))
|
|
6804
7168
|
}
|
|
6805
7169
|
),
|
|
6806
|
-
/* @__PURE__ */
|
|
7170
|
+
/* @__PURE__ */ jsx106("div", { id: `${uid}-children`, className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
|
|
6807
7171
|
] });
|
|
6808
7172
|
}
|
|
6809
7173
|
function ChipsTabsRendererComponent({ margin, tabs, control, tags }) {
|
|
6810
7174
|
var _a;
|
|
6811
|
-
const [selectedIndex, setSelectedIndex] =
|
|
6812
|
-
return /* @__PURE__ */
|
|
6813
|
-
/* @__PURE__ */
|
|
6814
|
-
|
|
7175
|
+
const [selectedIndex, setSelectedIndex] = useState22(0);
|
|
7176
|
+
return /* @__PURE__ */ jsxs43("div", { className: (0, import_classnames36.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children: [
|
|
7177
|
+
/* @__PURE__ */ jsx106("div", { className: "chips-container", children: /* @__PURE__ */ jsx106(
|
|
7178
|
+
Chips3,
|
|
6815
7179
|
{
|
|
6816
7180
|
chips: tabs.map((tab, index) => ({ label: tab.title, value: index })),
|
|
6817
7181
|
selected: selectedIndex,
|
|
6818
7182
|
onChange: ({ selectedValue }) => setSelectedIndex(Number(selectedValue))
|
|
6819
7183
|
}
|
|
6820
7184
|
) }),
|
|
6821
|
-
/* @__PURE__ */
|
|
7185
|
+
/* @__PURE__ */ jsx106("div", { className: "m-t-2", children: (_a = tabs[selectedIndex]) == null ? void 0 : _a.children })
|
|
6822
7186
|
] });
|
|
6823
7187
|
}
|
|
6824
7188
|
|
|
6825
7189
|
// ../renderers/src/TextInputRenderer.tsx
|
|
6826
|
-
import { InputGroup as
|
|
6827
|
-
import { useState as
|
|
7190
|
+
import { InputGroup as InputGroup6 } from "@transferwise/components";
|
|
7191
|
+
import { useState as useState24 } from "react";
|
|
6828
7192
|
|
|
6829
7193
|
// ../renderers/src/components/VariableTextInput.tsx
|
|
6830
7194
|
import {
|
|
6831
|
-
IconButton as
|
|
6832
|
-
Input as
|
|
7195
|
+
IconButton as IconButton5,
|
|
7196
|
+
Input as Input7,
|
|
6833
7197
|
InputWithDisplayFormat,
|
|
6834
7198
|
PhoneNumberInput,
|
|
6835
7199
|
TextArea,
|
|
6836
7200
|
TextareaWithDisplayFormat
|
|
6837
7201
|
} from "@transferwise/components";
|
|
6838
7202
|
import { Eye, EyeShut } from "@transferwise/icons";
|
|
6839
|
-
import { useIntl as
|
|
6840
|
-
import { useLayoutEffect as useLayoutEffect3, useRef as
|
|
7203
|
+
import { useIntl as useIntl24 } from "react-intl";
|
|
7204
|
+
import { useLayoutEffect as useLayoutEffect3, useRef as useRef6, useState as useState23 } from "react";
|
|
6841
7205
|
|
|
6842
7206
|
// ../renderers/src/messages/ssn-input.messages.ts
|
|
6843
7207
|
import { defineMessages as defineMessages15 } from "react-intl";
|
|
@@ -6926,7 +7290,7 @@ function getDisplayOffset(displayValue, rawOffset) {
|
|
|
6926
7290
|
}
|
|
6927
7291
|
|
|
6928
7292
|
// ../renderers/src/components/VariableTextInput.tsx
|
|
6929
|
-
import { jsx as
|
|
7293
|
+
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
6930
7294
|
var commonKeys = [
|
|
6931
7295
|
"autoComplete",
|
|
6932
7296
|
"autoCapitalize",
|
|
@@ -6945,14 +7309,14 @@ function VariableTextInput(inputProps) {
|
|
|
6945
7309
|
const commonProps = __spreadProps(__spreadValues({}, pick(inputProps, ...commonKeys)), { name: id });
|
|
6946
7310
|
switch (control) {
|
|
6947
7311
|
case "email":
|
|
6948
|
-
return /* @__PURE__ */
|
|
7312
|
+
return /* @__PURE__ */ jsx107(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "email", onChange }));
|
|
6949
7313
|
case "password":
|
|
6950
|
-
return /* @__PURE__ */
|
|
7314
|
+
return /* @__PURE__ */ jsx107(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "password", onChange }));
|
|
6951
7315
|
case "ssn-input":
|
|
6952
|
-
return /* @__PURE__ */
|
|
7316
|
+
return /* @__PURE__ */ jsx107(SsnInput, __spreadProps(__spreadValues({}, commonProps), { isVisible: isSsnVisible, onChange }));
|
|
6953
7317
|
case "numeric": {
|
|
6954
7318
|
const numericProps = __spreadProps(__spreadValues({}, commonProps), { type: "number", onWheel });
|
|
6955
|
-
return /* @__PURE__ */
|
|
7319
|
+
return /* @__PURE__ */ jsx107(
|
|
6956
7320
|
TextInput,
|
|
6957
7321
|
__spreadProps(__spreadValues({}, numericProps), {
|
|
6958
7322
|
onChange: (newValue) => {
|
|
@@ -6963,9 +7327,9 @@ function VariableTextInput(inputProps) {
|
|
|
6963
7327
|
);
|
|
6964
7328
|
}
|
|
6965
7329
|
case "phone-number":
|
|
6966
|
-
return /* @__PURE__ */
|
|
7330
|
+
return /* @__PURE__ */ jsx107(PhoneNumberInput, __spreadProps(__spreadValues({ initialValue: value }, commonProps), { onChange }));
|
|
6967
7331
|
default: {
|
|
6968
|
-
return /* @__PURE__ */
|
|
7332
|
+
return /* @__PURE__ */ jsx107(TextInput, __spreadProps(__spreadValues({}, commonProps), { type: "text", onChange }));
|
|
6969
7333
|
}
|
|
6970
7334
|
}
|
|
6971
7335
|
}
|
|
@@ -6973,31 +7337,31 @@ function SsnInputToggle({
|
|
|
6973
7337
|
isVisible,
|
|
6974
7338
|
onClick
|
|
6975
7339
|
}) {
|
|
6976
|
-
const { formatMessage } =
|
|
6977
|
-
return /* @__PURE__ */
|
|
6978
|
-
|
|
7340
|
+
const { formatMessage } = useIntl24();
|
|
7341
|
+
return /* @__PURE__ */ jsx107(
|
|
7342
|
+
IconButton5,
|
|
6979
7343
|
{
|
|
6980
7344
|
priority: "minimal",
|
|
6981
7345
|
size: 24,
|
|
6982
7346
|
"aria-label": formatMessage(isVisible ? ssn_input_messages_default.hideValue : ssn_input_messages_default.showValue),
|
|
6983
7347
|
"aria-pressed": isVisible,
|
|
6984
7348
|
onClick,
|
|
6985
|
-
children: isVisible ? /* @__PURE__ */
|
|
7349
|
+
children: isVisible ? /* @__PURE__ */ jsx107(EyeShut, { size: 24 }) : /* @__PURE__ */ jsx107(Eye, { size: 24 })
|
|
6986
7350
|
}
|
|
6987
7351
|
);
|
|
6988
7352
|
}
|
|
6989
7353
|
function TextInput(props) {
|
|
6990
7354
|
const _a = props, { control, displayFormat, onChange, type } = _a, commonProps = __objRest(_a, ["control", "displayFormat", "onChange", "type"]);
|
|
6991
7355
|
const InputWithPattern = control === "textarea" ? TextareaWithDisplayFormat : InputWithDisplayFormat;
|
|
6992
|
-
const InputWithoutPattern = control === "textarea" ? TextArea :
|
|
6993
|
-
return displayFormat ? /* @__PURE__ */
|
|
7356
|
+
const InputWithoutPattern = control === "textarea" ? TextArea : Input7;
|
|
7357
|
+
return displayFormat ? /* @__PURE__ */ jsx107(InputWithPattern, __spreadProps(__spreadValues({ displayPattern: displayFormat }, commonProps), { onChange })) : /* @__PURE__ */ jsx107(InputWithoutPattern, __spreadProps(__spreadValues({}, commonProps), { type, onChange: (e) => onChange(e.target.value) }));
|
|
6994
7358
|
}
|
|
6995
7359
|
function SsnInput(props) {
|
|
6996
7360
|
const _a = props, { displayFormat = "", isVisible = false, onChange, value = "" } = _a, commonProps = __objRest(_a, ["displayFormat", "isVisible", "onChange", "value"]);
|
|
6997
|
-
const [editVersion, setEditVersion] =
|
|
6998
|
-
const inputRef =
|
|
6999
|
-
const selection =
|
|
7000
|
-
const pendingCaret =
|
|
7361
|
+
const [editVersion, setEditVersion] = useState23(0);
|
|
7362
|
+
const inputRef = useRef6(null);
|
|
7363
|
+
const selection = useRef6({ start: 0, end: 0 });
|
|
7364
|
+
const pendingCaret = useRef6(null);
|
|
7001
7365
|
const rawValue = value.replace(/\D/g, "");
|
|
7002
7366
|
const formattedValue = formatSsnValue(rawValue, displayFormat, isVisible);
|
|
7003
7367
|
const scheduleCaret = (rawOffset) => {
|
|
@@ -7027,7 +7391,7 @@ function SsnInput(props) {
|
|
|
7027
7391
|
);
|
|
7028
7392
|
pendingCaret.current = null;
|
|
7029
7393
|
}, [editVersion, formattedValue, rawValue]);
|
|
7030
|
-
return /* @__PURE__ */
|
|
7394
|
+
return /* @__PURE__ */ jsx107(
|
|
7031
7395
|
"input",
|
|
7032
7396
|
__spreadProps(__spreadValues({
|
|
7033
7397
|
ref: inputRef
|
|
@@ -7090,13 +7454,13 @@ function SsnInput(props) {
|
|
|
7090
7454
|
}
|
|
7091
7455
|
|
|
7092
7456
|
// ../renderers/src/TextInputRenderer.tsx
|
|
7093
|
-
import { jsx as
|
|
7457
|
+
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
7094
7458
|
var TextInputRenderer = {
|
|
7095
7459
|
canRenderType: "input-text",
|
|
7096
|
-
render: (props) => /* @__PURE__ */
|
|
7460
|
+
render: (props) => /* @__PURE__ */ jsx108(TextInputRendererComponent, __spreadValues({}, props))
|
|
7097
7461
|
};
|
|
7098
7462
|
function TextInputRendererComponent(props) {
|
|
7099
|
-
const [isSsnVisible, setIsSsnVisible] =
|
|
7463
|
+
const [isSsnVisible, setIsSsnVisible] = useState24(false);
|
|
7100
7464
|
const _a = props, {
|
|
7101
7465
|
id,
|
|
7102
7466
|
title,
|
|
@@ -7128,7 +7492,7 @@ function TextInputRendererComponent(props) {
|
|
|
7128
7492
|
}
|
|
7129
7493
|
}
|
|
7130
7494
|
});
|
|
7131
|
-
return /* @__PURE__ */
|
|
7495
|
+
return /* @__PURE__ */ jsx108(
|
|
7132
7496
|
FieldInput_default,
|
|
7133
7497
|
{
|
|
7134
7498
|
id,
|
|
@@ -7141,13 +7505,13 @@ function TextInputRendererComponent(props) {
|
|
|
7141
7505
|
features: props.features,
|
|
7142
7506
|
control: props.control,
|
|
7143
7507
|
tags: props.tags,
|
|
7144
|
-
children: /* @__PURE__ */
|
|
7145
|
-
|
|
7508
|
+
children: /* @__PURE__ */ jsx108(
|
|
7509
|
+
InputGroup6,
|
|
7146
7510
|
{
|
|
7147
7511
|
addonStart: getInputGroupAddonStart(media),
|
|
7148
7512
|
addonEnd: isSsnInput ? {
|
|
7149
7513
|
interactive: true,
|
|
7150
|
-
content: /* @__PURE__ */
|
|
7514
|
+
content: /* @__PURE__ */ jsx108(
|
|
7151
7515
|
SsnInputToggle,
|
|
7152
7516
|
{
|
|
7153
7517
|
isVisible: isSsnVisible,
|
|
@@ -7155,7 +7519,7 @@ function TextInputRendererComponent(props) {
|
|
|
7155
7519
|
}
|
|
7156
7520
|
)
|
|
7157
7521
|
} : void 0,
|
|
7158
|
-
children: /* @__PURE__ */
|
|
7522
|
+
children: /* @__PURE__ */ jsx108(VariableTextInput, __spreadValues({}, inputProps))
|
|
7159
7523
|
}
|
|
7160
7524
|
)
|
|
7161
7525
|
}
|
|
@@ -7164,12 +7528,12 @@ function TextInputRendererComponent(props) {
|
|
|
7164
7528
|
var TextInputRenderer_default = TextInputRenderer;
|
|
7165
7529
|
|
|
7166
7530
|
// ../renderers/src/UpdatableRenderer.tsx
|
|
7167
|
-
var
|
|
7168
|
-
import { jsx as
|
|
7531
|
+
var import_classnames37 = __toESM(require_classnames());
|
|
7532
|
+
import { jsx as jsx109 } from "react/jsx-runtime";
|
|
7169
7533
|
var UpdatableRenderer = {
|
|
7170
7534
|
canRenderType: "updatable",
|
|
7171
7535
|
render: ({ children, control, margin, tags }) => {
|
|
7172
|
-
return /* @__PURE__ */
|
|
7536
|
+
return /* @__PURE__ */ jsx109("div", { className: (0, import_classnames37.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })), children });
|
|
7173
7537
|
}
|
|
7174
7538
|
};
|
|
7175
7539
|
|
|
@@ -7180,7 +7544,7 @@ import { Status as Status2, Upload, UploadInput as UploadInput2 } from "@transfe
|
|
|
7180
7544
|
var getRandomId = () => Math.random().toString(36).substring(2);
|
|
7181
7545
|
|
|
7182
7546
|
// ../renderers/src/UploadInputRenderer.tsx
|
|
7183
|
-
import { jsx as
|
|
7547
|
+
import { jsx as jsx110 } from "react/jsx-runtime";
|
|
7184
7548
|
var UploadInputRenderer = {
|
|
7185
7549
|
canRenderType: "input-upload",
|
|
7186
7550
|
render: (props) => {
|
|
@@ -7209,7 +7573,7 @@ var UploadInputRenderer = {
|
|
|
7209
7573
|
};
|
|
7210
7574
|
return (
|
|
7211
7575
|
// We don't pass help here as there is no sensible place to display it
|
|
7212
|
-
/* @__PURE__ */
|
|
7576
|
+
/* @__PURE__ */ jsx110(
|
|
7213
7577
|
UploadFieldInput_default,
|
|
7214
7578
|
{
|
|
7215
7579
|
id,
|
|
@@ -7219,7 +7583,7 @@ var UploadInputRenderer = {
|
|
|
7219
7583
|
features,
|
|
7220
7584
|
control,
|
|
7221
7585
|
tags,
|
|
7222
|
-
children: /* @__PURE__ */
|
|
7586
|
+
children: /* @__PURE__ */ jsx110(
|
|
7223
7587
|
UploadInput2,
|
|
7224
7588
|
{
|
|
7225
7589
|
id,
|
|
@@ -7289,7 +7653,7 @@ var LargeUploadRenderer = {
|
|
|
7289
7653
|
};
|
|
7290
7654
|
const filetypes = acceptsToFileTypes(accepts);
|
|
7291
7655
|
const usAccept = filetypes === "*" ? "*" : filetypes.join(",");
|
|
7292
|
-
return /* @__PURE__ */
|
|
7656
|
+
return /* @__PURE__ */ jsx110(
|
|
7293
7657
|
FieldInput_default,
|
|
7294
7658
|
{
|
|
7295
7659
|
id,
|
|
@@ -7300,7 +7664,7 @@ var LargeUploadRenderer = {
|
|
|
7300
7664
|
features,
|
|
7301
7665
|
control,
|
|
7302
7666
|
tags,
|
|
7303
|
-
children: /* @__PURE__ */
|
|
7667
|
+
children: /* @__PURE__ */ jsx110(
|
|
7304
7668
|
Upload,
|
|
7305
7669
|
__spreadProps(__spreadValues({}, uploadProps), {
|
|
7306
7670
|
usAccept,
|
|
@@ -7316,21 +7680,21 @@ var LargeUploadRenderer = {
|
|
|
7316
7680
|
};
|
|
7317
7681
|
|
|
7318
7682
|
// ../renderers/src/UpsellRenderer.tsx
|
|
7319
|
-
var
|
|
7683
|
+
var import_classnames38 = __toESM(require_classnames());
|
|
7320
7684
|
import { Nudge } from "@transferwise/components";
|
|
7321
|
-
import { useState as
|
|
7322
|
-
import { jsx as
|
|
7685
|
+
import { useState as useState25 } from "react";
|
|
7686
|
+
import { jsx as jsx111 } from "react/jsx-runtime";
|
|
7323
7687
|
var UpsellRenderer = {
|
|
7324
7688
|
canRenderType: "upsell",
|
|
7325
7689
|
render: UpsellRendererComponent
|
|
7326
7690
|
};
|
|
7327
7691
|
function UpsellRendererComponent(props) {
|
|
7328
7692
|
const { text, callToAction, media, margin, onDismiss, control, tags } = props;
|
|
7329
|
-
const [isVisible, setIsVisible] =
|
|
7330
|
-
return isVisible ? /* @__PURE__ */
|
|
7693
|
+
const [isVisible, setIsVisible] = useState25(true);
|
|
7694
|
+
return isVisible ? /* @__PURE__ */ jsx111(
|
|
7331
7695
|
Nudge,
|
|
7332
7696
|
{
|
|
7333
|
-
className: (0,
|
|
7697
|
+
className: (0, import_classnames38.default)(getMargin(margin), controlAndTagsToCSSClass({ control, tags })),
|
|
7334
7698
|
mediaName: getMediaName(media),
|
|
7335
7699
|
title: text,
|
|
7336
7700
|
action: __spreadValues({
|
|
@@ -7381,7 +7745,8 @@ var getWiseRenderers = () => [
|
|
|
7381
7745
|
CircularButtonRenderer,
|
|
7382
7746
|
BorderedBackgroundColoredBoxRenderer,
|
|
7383
7747
|
BoxRenderer_default,
|
|
7384
|
-
|
|
7748
|
+
CollectionRendererV2_default,
|
|
7749
|
+
CollectionRendererV1_default,
|
|
7385
7750
|
ButtonRenderer,
|
|
7386
7751
|
ColumnsRenderer_default,
|
|
7387
7752
|
DateInputRenderer_default,
|
|
@@ -7428,11 +7793,11 @@ var getWiseRenderers = () => [
|
|
|
7428
7793
|
|
|
7429
7794
|
// ../renderers/src/InitialLoadingStateRenderer.tsx
|
|
7430
7795
|
import { Loader as Loader2 } from "@transferwise/components";
|
|
7431
|
-
import { jsx as
|
|
7796
|
+
import { jsx as jsx112 } from "react/jsx-runtime";
|
|
7432
7797
|
var InitialLoadingStateRenderer = {
|
|
7433
7798
|
canRenderType: "loading-state",
|
|
7434
7799
|
canRender: ({ stepLoadingState }) => stepLoadingState === "initial",
|
|
7435
|
-
render: () => /* @__PURE__ */
|
|
7800
|
+
render: () => /* @__PURE__ */ jsx112(
|
|
7436
7801
|
Loader2,
|
|
7437
7802
|
{
|
|
7438
7803
|
size: "md",
|
|
@@ -7445,24 +7810,24 @@ var InitialLoadingStateRenderer = {
|
|
|
7445
7810
|
// src/dynamicFlow/DynamicFlowModal.tsx
|
|
7446
7811
|
import { useDynamicFlowModal } from "@wise/dynamic-flow-client";
|
|
7447
7812
|
import { Modal as Modal5 } from "@transferwise/components";
|
|
7448
|
-
import { jsx as
|
|
7813
|
+
import { jsx as jsx113 } from "react/jsx-runtime";
|
|
7449
7814
|
function DynamicFlowModal(props) {
|
|
7450
7815
|
const _a = props, { className = "" } = _a, rest = __objRest(_a, ["className"]);
|
|
7451
7816
|
const dfProps = useWiseToCoreProps(rest);
|
|
7452
7817
|
const df = useDynamicFlowModal(dfProps);
|
|
7453
|
-
return /* @__PURE__ */
|
|
7818
|
+
return /* @__PURE__ */ jsx113(
|
|
7454
7819
|
Modal5,
|
|
7455
7820
|
__spreadProps(__spreadValues({
|
|
7456
7821
|
className: `dynamic-flow-modal ${className}`,
|
|
7457
7822
|
disableDimmerClickToClose: true
|
|
7458
7823
|
}, df.modal), {
|
|
7459
|
-
body: /* @__PURE__ */
|
|
7824
|
+
body: /* @__PURE__ */ jsx113("div", { className: "dynamic-flow-modal", children: df.modal.body })
|
|
7460
7825
|
})
|
|
7461
7826
|
);
|
|
7462
7827
|
}
|
|
7463
7828
|
|
|
7464
7829
|
// src/dynamicFlow/getMergedRenderers.tsx
|
|
7465
|
-
import { jsx as
|
|
7830
|
+
import { jsx as jsx114 } from "react/jsx-runtime";
|
|
7466
7831
|
var wiseRenderers = getWiseRenderers();
|
|
7467
7832
|
var getMergedRenderers = (props) => {
|
|
7468
7833
|
var _d, _e;
|
|
@@ -7476,7 +7841,7 @@ var getMergedRenderers = (props) => {
|
|
|
7476
7841
|
method: initialRequest.method,
|
|
7477
7842
|
data: initialRequest.body
|
|
7478
7843
|
};
|
|
7479
|
-
return presentation.type === "push" ? /* @__PURE__ */
|
|
7844
|
+
return presentation.type === "push" ? /* @__PURE__ */ jsx114(DynamicFlow, __spreadProps(__spreadValues(__spreadValues({}, restProps), rest), { features: subflowFeatures, initialAction: action })) : /* @__PURE__ */ jsx114(
|
|
7480
7845
|
DynamicFlowModal,
|
|
7481
7846
|
__spreadProps(__spreadValues(__spreadValues({}, restProps), rest), {
|
|
7482
7847
|
features: subflowFeatures,
|
|
@@ -7556,7 +7921,7 @@ var customEventsToAnalytics = {
|
|
|
7556
7921
|
|
|
7557
7922
|
// src/dynamicFlow/useOnCopy.tsx
|
|
7558
7923
|
import { useCallback as useCallback2 } from "react";
|
|
7559
|
-
import { useIntl as
|
|
7924
|
+
import { useIntl as useIntl25 } from "react-intl";
|
|
7560
7925
|
|
|
7561
7926
|
// src/dynamicFlow/messages.ts
|
|
7562
7927
|
import { defineMessages as defineMessages16 } from "react-intl";
|
|
@@ -7575,7 +7940,7 @@ var messages_default = defineMessages16({
|
|
|
7575
7940
|
|
|
7576
7941
|
// src/dynamicFlow/useOnCopy.tsx
|
|
7577
7942
|
var useOnCopy = () => {
|
|
7578
|
-
const { formatMessage } =
|
|
7943
|
+
const { formatMessage } = useIntl25();
|
|
7579
7944
|
const createSnackBar = useSnackBarIfAvailable();
|
|
7580
7945
|
return useCallback2(
|
|
7581
7946
|
(copiedContent) => {
|
|
@@ -7591,9 +7956,9 @@ var useOnCopy = () => {
|
|
|
7591
7956
|
|
|
7592
7957
|
// src/dynamicFlow/useWiseHttpClient.tsx
|
|
7593
7958
|
import { useCallback as useCallback3 } from "react";
|
|
7594
|
-
import { useIntl as
|
|
7959
|
+
import { useIntl as useIntl26 } from "react-intl";
|
|
7595
7960
|
var useWiseHttpClient = (httpClient) => {
|
|
7596
|
-
const { locale } =
|
|
7961
|
+
const { locale } = useIntl26();
|
|
7597
7962
|
return useCallback3(
|
|
7598
7963
|
async (input, init = {}) => {
|
|
7599
7964
|
const headers = new Headers(init.headers);
|
|
@@ -7673,13 +8038,13 @@ var openLinkInNewTab = (url) => {
|
|
|
7673
8038
|
};
|
|
7674
8039
|
|
|
7675
8040
|
// src/dynamicFlow/DynamicFlow.tsx
|
|
7676
|
-
import { jsxs as
|
|
8041
|
+
import { jsxs as jsxs44 } from "react/jsx-runtime";
|
|
7677
8042
|
function DynamicFlow(props) {
|
|
7678
8043
|
const { className = "" } = props;
|
|
7679
8044
|
const dfProps = useWiseToCoreProps(props);
|
|
7680
8045
|
const df = useDynamicFlow(dfProps);
|
|
7681
8046
|
const { onContextMenu, contextMenu } = useDFContextMenu(df.controller);
|
|
7682
|
-
return /* @__PURE__ */
|
|
8047
|
+
return /* @__PURE__ */ jsxs44("div", { className, onContextMenu, children: [
|
|
7683
8048
|
df.view,
|
|
7684
8049
|
contextMenu
|
|
7685
8050
|
] });
|
|
@@ -7691,7 +8056,7 @@ import {
|
|
|
7691
8056
|
useImperativeHandle
|
|
7692
8057
|
} from "react";
|
|
7693
8058
|
import { useDynamicFlow as useDynamicFlow2 } from "@wise/dynamic-flow-client";
|
|
7694
|
-
import { jsx as
|
|
8059
|
+
import { jsx as jsx115 } from "react/jsx-runtime";
|
|
7695
8060
|
var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
|
|
7696
8061
|
const { className = "" } = props;
|
|
7697
8062
|
const dfProps = useWiseToCoreProps(props);
|
|
@@ -7707,7 +8072,7 @@ var DynamicFlowWithRef = forwardRef(function DynamicFlowWithRef2(props, ref) {
|
|
|
7707
8072
|
}),
|
|
7708
8073
|
[df]
|
|
7709
8074
|
);
|
|
7710
|
-
return /* @__PURE__ */
|
|
8075
|
+
return /* @__PURE__ */ jsx115("div", { className, children: df.view });
|
|
7711
8076
|
});
|
|
7712
8077
|
|
|
7713
8078
|
// src/index.ts
|
|
@@ -7718,6 +8083,7 @@ var Header10 = Header;
|
|
|
7718
8083
|
var Media2 = Media;
|
|
7719
8084
|
var getMargin2 = getMargin;
|
|
7720
8085
|
var createCollectionRenderer2 = createCollectionRenderer;
|
|
8086
|
+
var createContactsCollectionRenderer2 = createContactsCollectionRenderer;
|
|
7721
8087
|
|
|
7722
8088
|
// src/i18n/index.ts
|
|
7723
8089
|
import { translations as coreTranslations } from "@wise/dynamic-flow-client";
|
|
@@ -7837,6 +8203,8 @@ var en_default = {
|
|
|
7837
8203
|
"df.wise.ButtonLayout.buttonLoadingMessage": "This might take a few seconds",
|
|
7838
8204
|
"df.wise.Collection.clearText": "Clear text",
|
|
7839
8205
|
"df.wise.Collection.loadMoreMessage": "Load more",
|
|
8206
|
+
"df.wise.Collection.showLessResultsButton": "Show less results",
|
|
8207
|
+
"df.wise.Collection.showMoreResultsButton": "Show all {count} results",
|
|
7840
8208
|
"df.wise.ControlFeedback.maxLength": "Please enter {maxLength} or fewer characters.",
|
|
7841
8209
|
"df.wise.ControlFeedback.maximum": "Please enter a number that's {maximum} or less.",
|
|
7842
8210
|
"df.wise.ControlFeedback.maximumDate": "Please enter a date that's on or before {maximum}.",
|
|
@@ -8694,6 +9062,7 @@ export {
|
|
|
8694
9062
|
Header10 as Header,
|
|
8695
9063
|
Media2 as Media,
|
|
8696
9064
|
createCollectionRenderer2 as createCollectionRenderer,
|
|
9065
|
+
createContactsCollectionRenderer2 as createContactsCollectionRenderer,
|
|
8697
9066
|
findRendererPropsByType,
|
|
8698
9067
|
getMargin2 as getMargin,
|
|
8699
9068
|
makeHttpClient as makeCustomFetch,
|