@deriv-web-design/ui 0.1.29 → 0.1.31
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/block-registry.json +115 -2
- package/components.manifest.json +49 -1
- package/dist/index.css +250 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +39 -1
- package/dist/index.d.ts +39 -1
- package/dist/index.js +1078 -817
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1052 -792
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -111,6 +111,7 @@ __export(index_exports, {
|
|
|
111
111
|
StatsSimple: () => StatsSimple,
|
|
112
112
|
Steps: () => Steps,
|
|
113
113
|
StickyMarketCards: () => StickyMarketCards,
|
|
114
|
+
StickyMarketCardsLottie: () => StickyMarketCardsLottie,
|
|
114
115
|
StickyStackedCards: () => StickyStackedCards,
|
|
115
116
|
TEXT_CONTENT: () => TEXT_CONTENT,
|
|
116
117
|
Table: () => Table,
|
|
@@ -3857,6 +3858,7 @@ var Navbar = ({
|
|
|
3857
3858
|
const [mobileOpen, setMobileOpen] = (0, import_react17.useState)(false);
|
|
3858
3859
|
const [mobileExpanded, setMobileExpanded] = (0, import_react17.useState)(null);
|
|
3859
3860
|
const [scrolled, setScrolled] = (0, import_react17.useState)(false);
|
|
3861
|
+
const [isDesktop, setIsDesktop] = (0, import_react17.useState)(false);
|
|
3860
3862
|
const [langDropdownOpen, setLangDropdownOpen] = (0, import_react17.useState)(false);
|
|
3861
3863
|
const [mobileLangOpen, setMobileLangOpen] = (0, import_react17.useState)(false);
|
|
3862
3864
|
const hoverTimeoutRef = (0, import_react17.useRef)(null);
|
|
@@ -3878,6 +3880,13 @@ var Navbar = ({
|
|
|
3878
3880
|
window.addEventListener("scroll", onScroll, { passive: true });
|
|
3879
3881
|
return () => window.removeEventListener("scroll", onScroll);
|
|
3880
3882
|
}, []);
|
|
3883
|
+
(0, import_react17.useEffect)(() => {
|
|
3884
|
+
const mq = window.matchMedia("(min-width: 992px)");
|
|
3885
|
+
const onChange = () => setIsDesktop(mq.matches);
|
|
3886
|
+
onChange();
|
|
3887
|
+
mq.addEventListener("change", onChange);
|
|
3888
|
+
return () => mq.removeEventListener("change", onChange);
|
|
3889
|
+
}, []);
|
|
3881
3890
|
(0, import_react17.useEffect)(() => {
|
|
3882
3891
|
const onKey = (e) => {
|
|
3883
3892
|
if (e.key === "Escape") {
|
|
@@ -3942,6 +3951,8 @@ var Navbar = ({
|
|
|
3942
3951
|
hoverTimeoutRef.current = setTimeout(() => setOpenDropdown(null), 120);
|
|
3943
3952
|
}, [clearHoverTimeout]);
|
|
3944
3953
|
const activeDropdownItem = navItems.find((item) => item.label === openDropdown);
|
|
3954
|
+
const pillCopyInert = !scrolled;
|
|
3955
|
+
const outerCopyInert = scrolled && isDesktop;
|
|
3945
3956
|
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
3946
3957
|
"nav",
|
|
3947
3958
|
{
|
|
@@ -3949,9 +3960,27 @@ var Navbar = ({
|
|
|
3949
3960
|
...props,
|
|
3950
3961
|
children: [
|
|
3951
3962
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "navbar__bar", children: [
|
|
3952
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3963
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3964
|
+
"a",
|
|
3965
|
+
{
|
|
3966
|
+
href: logoHref,
|
|
3967
|
+
className: "navbar__logo",
|
|
3968
|
+
"aria-label": "Home",
|
|
3969
|
+
inert: outerCopyInert || void 0,
|
|
3970
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("img", { src: resolvedLogo, alt: "Logo" })
|
|
3971
|
+
}
|
|
3972
|
+
),
|
|
3953
3973
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "navbar__nav-center", ref: pillAreaRef, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "navbar__pill", children: [
|
|
3954
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3974
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3975
|
+
"a",
|
|
3976
|
+
{
|
|
3977
|
+
href: logoHref,
|
|
3978
|
+
className: "navbar__pill-logo",
|
|
3979
|
+
"aria-label": "Home",
|
|
3980
|
+
inert: pillCopyInert || void 0,
|
|
3981
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("img", { src: logoSrcDark ?? logoSrc, alt: "Logo" })
|
|
3982
|
+
}
|
|
3983
|
+
),
|
|
3955
3984
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "navbar__nav-group", children: [
|
|
3956
3985
|
navItems.map((item) => {
|
|
3957
3986
|
if (item.external) {
|
|
@@ -4019,10 +4048,17 @@ var Navbar = ({
|
|
|
4019
4048
|
}
|
|
4020
4049
|
)
|
|
4021
4050
|
] }),
|
|
4022
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4051
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
4052
|
+
"div",
|
|
4053
|
+
{
|
|
4054
|
+
className: "navbar__pill-actions",
|
|
4055
|
+
inert: pillCopyInert || void 0,
|
|
4056
|
+
children: [
|
|
4057
|
+
loginHref && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("a", { href: loginHref, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Button, { colorScheme: "black", variant: "secondary", label: loginLabel }) }),
|
|
4058
|
+
ctaHref && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("a", { href: ctaHref, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
|
|
4059
|
+
]
|
|
4060
|
+
}
|
|
4061
|
+
)
|
|
4026
4062
|
] }) }),
|
|
4027
4063
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_framer_motion2.AnimatePresence, { children: openDropdown && activeDropdownItem?.dropdown && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
4028
4064
|
DropdownPanel,
|
|
@@ -4068,17 +4104,24 @@ var Navbar = ({
|
|
|
4068
4104
|
)
|
|
4069
4105
|
}
|
|
4070
4106
|
) }),
|
|
4071
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4107
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
4108
|
+
"div",
|
|
4109
|
+
{
|
|
4110
|
+
className: "navbar__actions",
|
|
4111
|
+
inert: outerCopyInert || void 0,
|
|
4112
|
+
children: [
|
|
4113
|
+
loginHref && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("a", { href: loginHref, className: "navbar__actions-login", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
4114
|
+
Button,
|
|
4115
|
+
{
|
|
4116
|
+
colorScheme: theme === "dark" ? "white" : "black",
|
|
4117
|
+
variant: "secondary",
|
|
4118
|
+
label: loginLabel
|
|
4119
|
+
}
|
|
4120
|
+
) }),
|
|
4121
|
+
ctaHref && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("a", { href: ctaHref, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
|
|
4122
|
+
]
|
|
4123
|
+
}
|
|
4124
|
+
),
|
|
4082
4125
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "navbar__mobile-actions", children: [
|
|
4083
4126
|
loginHref && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("a", { href: loginHref, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
4084
4127
|
Button,
|
|
@@ -5203,13 +5246,230 @@ var StickyMarketCards = ({
|
|
|
5203
5246
|
);
|
|
5204
5247
|
};
|
|
5205
5248
|
|
|
5206
|
-
// templates/
|
|
5249
|
+
// templates/StickyMarketCardsLottie/StickyMarketCardsLottie.tsx
|
|
5207
5250
|
var import_react22 = require("react");
|
|
5208
5251
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
|
|
5252
|
+
function safeHref(value) {
|
|
5253
|
+
if (!value) return null;
|
|
5254
|
+
if (value.startsWith("/") && !value.startsWith("//")) return value;
|
|
5255
|
+
try {
|
|
5256
|
+
const url = new URL(value);
|
|
5257
|
+
return url.protocol === "https:" ? value : null;
|
|
5258
|
+
} catch {
|
|
5259
|
+
return null;
|
|
5260
|
+
}
|
|
5261
|
+
}
|
|
5262
|
+
function safeLottieSrc(value) {
|
|
5263
|
+
const href = safeHref(value);
|
|
5264
|
+
if (!href || !isLottieSrc(href)) return null;
|
|
5265
|
+
return href;
|
|
5266
|
+
}
|
|
5267
|
+
function PlaybackGlyph({ playing }) {
|
|
5268
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("svg", { className: "smcl__control-icon", viewBox: "0 0 64 64", "aria-hidden": "true", children: [
|
|
5269
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("circle", { className: "smcl__control-disc", cx: "32", cy: "32", r: "32" }),
|
|
5270
|
+
playing ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
5271
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("rect", { className: "smcl__control-glyph", x: "23", y: "21", width: "6", height: "22", rx: "2" }),
|
|
5272
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("rect", { className: "smcl__control-glyph", x: "35", y: "21", width: "6", height: "22", rx: "2" })
|
|
5273
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5274
|
+
"path",
|
|
5275
|
+
{
|
|
5276
|
+
className: "smcl__control-glyph",
|
|
5277
|
+
d: "M26.5058 19.9527L42.7058 29.8527C43.4933 30.359 43.9996 31.259 43.9996 32.159C43.9996 33.1152 43.4933 34.0152 42.7058 34.4652L26.5058 44.3652C25.6621 44.8715 24.5933 44.9277 23.7496 44.4215C22.9058 43.9715 22.3996 43.0715 22.3996 42.059V22.259C22.3996 21.3027 22.9058 20.4027 23.7496 19.9527C24.5933 19.4465 25.6621 19.4465 26.5058 19.9527Z"
|
|
5278
|
+
}
|
|
5279
|
+
)
|
|
5280
|
+
] });
|
|
5281
|
+
}
|
|
5282
|
+
function LottiePanel({ item, index, playing, onToggle }) {
|
|
5283
|
+
const src = safeLottieSrc(item.lottieSrc);
|
|
5284
|
+
const posterSrc = safeHref(item.lottiePosterUrl);
|
|
5285
|
+
const controlId = `smcl-lottie-${index}-${item.title}`.replace(/[^a-zA-Z0-9_-]/g, "-").slice(0, 80);
|
|
5286
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "smcl__lottie", children: [
|
|
5287
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { id: controlId, className: "smcl__lottie-media", "aria-hidden": "true", children: src ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5288
|
+
DotLottieInView,
|
|
5289
|
+
{
|
|
5290
|
+
src,
|
|
5291
|
+
enabled: playing,
|
|
5292
|
+
loop: true,
|
|
5293
|
+
className: "smcl__lottie-player",
|
|
5294
|
+
style: { alignItems: "stretch", justifyContent: "stretch" },
|
|
5295
|
+
poster: posterSrc ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("img", { src: posterSrc, alt: "", loading: "lazy", decoding: "async" }) : void 0
|
|
5296
|
+
}
|
|
5297
|
+
) : null }),
|
|
5298
|
+
posterSrc && !playing ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5299
|
+
"img",
|
|
5300
|
+
{
|
|
5301
|
+
className: "smcl__lottie-poster",
|
|
5302
|
+
src: posterSrc,
|
|
5303
|
+
alt: "",
|
|
5304
|
+
"aria-hidden": "true",
|
|
5305
|
+
loading: "lazy",
|
|
5306
|
+
decoding: "async"
|
|
5307
|
+
}
|
|
5308
|
+
) : null,
|
|
5309
|
+
src ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5310
|
+
"button",
|
|
5311
|
+
{
|
|
5312
|
+
type: "button",
|
|
5313
|
+
className: `smcl__playback-toggle${playing ? " smcl__playback-toggle--playing" : ""}`,
|
|
5314
|
+
"aria-controls": controlId,
|
|
5315
|
+
"aria-pressed": playing,
|
|
5316
|
+
"aria-label": `${playing ? "Pause" : "Play"} ${item.title} animation`,
|
|
5317
|
+
onClick: onToggle,
|
|
5318
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PlaybackGlyph, { playing })
|
|
5319
|
+
}
|
|
5320
|
+
) : null
|
|
5321
|
+
] });
|
|
5322
|
+
}
|
|
5323
|
+
var StickyMarketCardsLottie = ({
|
|
5324
|
+
sectionTitle,
|
|
5325
|
+
sectionDescription,
|
|
5326
|
+
items,
|
|
5327
|
+
className,
|
|
5328
|
+
...props
|
|
5329
|
+
}) => {
|
|
5330
|
+
const cardRefs = (0, import_react22.useRef)([]);
|
|
5331
|
+
const cardInnerRefs = (0, import_react22.useRef)([]);
|
|
5332
|
+
const [playing, setPlaying] = (0, import_react22.useState)({});
|
|
5333
|
+
(0, import_react22.useEffect)(() => {
|
|
5334
|
+
if (typeof window === "undefined") return;
|
|
5335
|
+
let rafId = 0;
|
|
5336
|
+
const update = () => {
|
|
5337
|
+
const wrappers = cardRefs.current.filter(Boolean);
|
|
5338
|
+
const inners = cardInnerRefs.current.filter(Boolean);
|
|
5339
|
+
const n2 = wrappers.length;
|
|
5340
|
+
wrappers.forEach((wrapper, i) => {
|
|
5341
|
+
const inner = inners[i];
|
|
5342
|
+
if (!inner) return;
|
|
5343
|
+
if (i === n2 - 1) {
|
|
5344
|
+
inner.style.transform = "scale(1)";
|
|
5345
|
+
inner.style.filter = "brightness(1)";
|
|
5346
|
+
return;
|
|
5347
|
+
}
|
|
5348
|
+
const nextWrapper = wrappers[i + 1];
|
|
5349
|
+
if (!nextWrapper) return;
|
|
5350
|
+
const currentRect = wrapper.getBoundingClientRect();
|
|
5351
|
+
const nextRect = nextWrapper.getBoundingClientRect();
|
|
5352
|
+
const overlap = currentRect.bottom - nextRect.top;
|
|
5353
|
+
if (overlap > 0) {
|
|
5354
|
+
const progress = Math.min(overlap / currentRect.height, 1);
|
|
5355
|
+
inner.style.transform = `scale(${(1 - progress * 0.05).toFixed(4)})`;
|
|
5356
|
+
inner.style.filter = `brightness(${(1 - progress * 0.4).toFixed(4)})`;
|
|
5357
|
+
} else {
|
|
5358
|
+
inner.style.transform = "scale(1)";
|
|
5359
|
+
inner.style.filter = "brightness(1)";
|
|
5360
|
+
}
|
|
5361
|
+
});
|
|
5362
|
+
};
|
|
5363
|
+
const onScroll = () => {
|
|
5364
|
+
cancelAnimationFrame(rafId);
|
|
5365
|
+
rafId = requestAnimationFrame(update);
|
|
5366
|
+
};
|
|
5367
|
+
window.addEventListener("scroll", onScroll, { passive: true });
|
|
5368
|
+
update();
|
|
5369
|
+
return () => {
|
|
5370
|
+
window.removeEventListener("scroll", onScroll);
|
|
5371
|
+
cancelAnimationFrame(rafId);
|
|
5372
|
+
};
|
|
5373
|
+
}, [items.length]);
|
|
5374
|
+
(0, import_react22.useEffect)(() => {
|
|
5375
|
+
if (typeof window === "undefined") return;
|
|
5376
|
+
const syncHeights = () => {
|
|
5377
|
+
const inners = cardInnerRefs.current.filter(Boolean);
|
|
5378
|
+
if (!inners.length) return;
|
|
5379
|
+
inners.forEach((inner) => {
|
|
5380
|
+
inner.style.minHeight = "";
|
|
5381
|
+
});
|
|
5382
|
+
let maxH = 0;
|
|
5383
|
+
inners.forEach((inner) => {
|
|
5384
|
+
const h = inner.getBoundingClientRect().height;
|
|
5385
|
+
if (h > maxH) maxH = h;
|
|
5386
|
+
});
|
|
5387
|
+
inners.forEach((inner) => {
|
|
5388
|
+
inner.style.minHeight = `${maxH}px`;
|
|
5389
|
+
});
|
|
5390
|
+
};
|
|
5391
|
+
syncHeights();
|
|
5392
|
+
window.addEventListener("resize", syncHeights);
|
|
5393
|
+
if (document.fonts && document.fonts.ready) {
|
|
5394
|
+
document.fonts.ready.then(syncHeights);
|
|
5395
|
+
}
|
|
5396
|
+
return () => {
|
|
5397
|
+
window.removeEventListener("resize", syncHeights);
|
|
5398
|
+
};
|
|
5399
|
+
}, [items.length]);
|
|
5400
|
+
const n = items.length;
|
|
5401
|
+
const maxStack = 4;
|
|
5402
|
+
const baseIndex = Math.max(0, n - maxStack);
|
|
5403
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5404
|
+
"section",
|
|
5405
|
+
{
|
|
5406
|
+
className: ["smcl", className].filter(Boolean).join(" "),
|
|
5407
|
+
...props,
|
|
5408
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "smcl__inner", children: [
|
|
5409
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "smcl__header-wrap", children: [
|
|
5410
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("h2", { className: "smcl__header", children: sectionTitle }),
|
|
5411
|
+
sectionDescription && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "smcl__description", children: sectionDescription })
|
|
5412
|
+
] }),
|
|
5413
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "smcl__track", children: items.map((item, i) => {
|
|
5414
|
+
const theme = item.theme ?? "dark";
|
|
5415
|
+
const offsetMultiplier = Math.max(0, i - baseIndex);
|
|
5416
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5417
|
+
"div",
|
|
5418
|
+
{
|
|
5419
|
+
ref: (el) => {
|
|
5420
|
+
cardRefs.current[i] = el;
|
|
5421
|
+
},
|
|
5422
|
+
className: "smcl__card",
|
|
5423
|
+
style: {
|
|
5424
|
+
["--smcl-card-index"]: String(offsetMultiplier),
|
|
5425
|
+
zIndex: i + 1
|
|
5426
|
+
},
|
|
5427
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5428
|
+
"div",
|
|
5429
|
+
{
|
|
5430
|
+
ref: (el) => {
|
|
5431
|
+
cardInnerRefs.current[i] = el;
|
|
5432
|
+
},
|
|
5433
|
+
className: [
|
|
5434
|
+
"smcl__card-inner",
|
|
5435
|
+
`smcl__card-inner--${theme}`
|
|
5436
|
+
].join(" "),
|
|
5437
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "smcl__card-content", children: [
|
|
5438
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5439
|
+
LottiePanel,
|
|
5440
|
+
{
|
|
5441
|
+
item,
|
|
5442
|
+
index: i,
|
|
5443
|
+
playing: Boolean(playing[i]),
|
|
5444
|
+
onToggle: () => setPlaying((prev) => ({
|
|
5445
|
+
...prev,
|
|
5446
|
+
[i]: !prev[i]
|
|
5447
|
+
}))
|
|
5448
|
+
}
|
|
5449
|
+
),
|
|
5450
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "smcl__card-text", children: [
|
|
5451
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("h3", { className: "smcl__card-title", children: item.title }),
|
|
5452
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "smcl__card-desc", children: item.description })
|
|
5453
|
+
] })
|
|
5454
|
+
] })
|
|
5455
|
+
}
|
|
5456
|
+
)
|
|
5457
|
+
},
|
|
5458
|
+
i
|
|
5459
|
+
);
|
|
5460
|
+
}) })
|
|
5461
|
+
] })
|
|
5462
|
+
}
|
|
5463
|
+
);
|
|
5464
|
+
};
|
|
5465
|
+
|
|
5466
|
+
// templates/Table/Table.tsx
|
|
5467
|
+
var import_react23 = require("react");
|
|
5468
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
5469
|
+
var InfoIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", className, children: [
|
|
5470
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "1.5" }),
|
|
5471
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("path", { d: "M12 16V12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }),
|
|
5472
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("circle", { cx: "12", cy: "8", r: "1", fill: "currentColor", stroke: "currentColor", strokeWidth: "1" })
|
|
5213
5473
|
] });
|
|
5214
5474
|
var Table = ({
|
|
5215
5475
|
sectionTitle,
|
|
@@ -5222,11 +5482,11 @@ var Table = ({
|
|
|
5222
5482
|
className,
|
|
5223
5483
|
...props
|
|
5224
5484
|
}) => {
|
|
5225
|
-
const [search, setSearch] = (0,
|
|
5226
|
-
const [page, setPage] = (0,
|
|
5227
|
-
const [tooltip, setTooltip] = (0,
|
|
5485
|
+
const [search, setSearch] = (0, import_react23.useState)("");
|
|
5486
|
+
const [page, setPage] = (0, import_react23.useState)(1);
|
|
5487
|
+
const [tooltip, setTooltip] = (0, import_react23.useState)({ visible: false, heading: "", description: "", x: 0, y: 0, arrowOffset: 0 });
|
|
5228
5488
|
const mainKey = mainColumnKey ?? columns.find((c) => c.width === "main")?.key ?? columns[0]?.key;
|
|
5229
|
-
const filtered = (0,
|
|
5489
|
+
const filtered = (0, import_react23.useMemo)(() => {
|
|
5230
5490
|
const q = search.trim().toLowerCase();
|
|
5231
5491
|
if (!q) return rows;
|
|
5232
5492
|
return rows.filter(
|
|
@@ -5246,12 +5506,12 @@ var Table = ({
|
|
|
5246
5506
|
setSearch("");
|
|
5247
5507
|
setPage(1);
|
|
5248
5508
|
};
|
|
5249
|
-
return /* @__PURE__ */ (0,
|
|
5250
|
-
sectionTitle && /* @__PURE__ */ (0,
|
|
5251
|
-
/* @__PURE__ */ (0,
|
|
5252
|
-
/* @__PURE__ */ (0,
|
|
5253
|
-
/* @__PURE__ */ (0,
|
|
5254
|
-
/* @__PURE__ */ (0,
|
|
5509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("section", { className: ["tbl-section", className].filter(Boolean).join(" "), ...props, children: [
|
|
5510
|
+
sectionTitle && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "tbl-section__header", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("h2", { className: "tbl-section__title", children: sectionTitle }) }),
|
|
5511
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "tbl-section__content", children: [
|
|
5512
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "tbl", children: [
|
|
5513
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "tbl__topbar", children: [
|
|
5514
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "tbl__search-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5255
5515
|
SearchField,
|
|
5256
5516
|
{
|
|
5257
5517
|
placeholder: searchPlaceholder,
|
|
@@ -5262,7 +5522,7 @@ var Table = ({
|
|
|
5262
5522
|
"aria-label": searchPlaceholder
|
|
5263
5523
|
}
|
|
5264
5524
|
) }),
|
|
5265
|
-
/* @__PURE__ */ (0,
|
|
5525
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "tbl__summary", children: filtered.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
|
|
5266
5526
|
"Showing ",
|
|
5267
5527
|
startIdx + 1,
|
|
5268
5528
|
"- ",
|
|
@@ -5271,12 +5531,12 @@ var Table = ({
|
|
|
5271
5531
|
filtered.length
|
|
5272
5532
|
] }) : "No results" })
|
|
5273
5533
|
] }),
|
|
5274
|
-
/* @__PURE__ */ (0,
|
|
5275
|
-
/* @__PURE__ */ (0,
|
|
5534
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "tbl__scroll-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("table", { className: "tbl__table", children: [
|
|
5535
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tr", { className: "tbl__tr", children: columns.map((col, colIdx) => {
|
|
5276
5536
|
const isFirst = colIdx === 0;
|
|
5277
5537
|
const isLast = colIdx === columns.length - 1;
|
|
5278
5538
|
const isMain = col.width === "main" || col.key === mainKey;
|
|
5279
|
-
return /* @__PURE__ */ (0,
|
|
5539
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5280
5540
|
"th",
|
|
5281
5541
|
{
|
|
5282
5542
|
className: [
|
|
@@ -5284,7 +5544,7 @@ var Table = ({
|
|
|
5284
5544
|
isMain ? "tbl__th--main" : "",
|
|
5285
5545
|
col.width === "big" ? "tbl__th--big" : ""
|
|
5286
5546
|
].filter(Boolean).join(" "),
|
|
5287
|
-
children: /* @__PURE__ */ (0,
|
|
5547
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5288
5548
|
"div",
|
|
5289
5549
|
{
|
|
5290
5550
|
className: "tbl__th-inner",
|
|
@@ -5314,9 +5574,9 @@ var Table = ({
|
|
|
5314
5574
|
setTooltip((prev) => ({ ...prev, visible: false }));
|
|
5315
5575
|
}
|
|
5316
5576
|
},
|
|
5317
|
-
children: /* @__PURE__ */ (0,
|
|
5577
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: ["tbl__col-label", col.tooltip ? "tbl__col-label--dashed" : ""].filter(Boolean).join(" "), children: Array.isArray(col.header) ? col.header.map((line, li) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("span", { children: [
|
|
5318
5578
|
line,
|
|
5319
|
-
li < col.header.length - 1 && /* @__PURE__ */ (0,
|
|
5579
|
+
li < col.header.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("br", {})
|
|
5320
5580
|
] }, li)) : col.header })
|
|
5321
5581
|
}
|
|
5322
5582
|
)
|
|
@@ -5324,10 +5584,10 @@ var Table = ({
|
|
|
5324
5584
|
col.key
|
|
5325
5585
|
);
|
|
5326
5586
|
}) }) }),
|
|
5327
|
-
/* @__PURE__ */ (0,
|
|
5587
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tbody", { className: "tbl__tbody", children: visible.length > 0 ? visible.map((row, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tr", { className: "tbl__tr", children: columns.map((col) => {
|
|
5328
5588
|
const isMain = col.width === "main" || col.key === mainKey;
|
|
5329
5589
|
const iconUrl = row[`${col.key}_iconUrl`];
|
|
5330
|
-
return /* @__PURE__ */ (0,
|
|
5590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5331
5591
|
"td",
|
|
5332
5592
|
{
|
|
5333
5593
|
className: [
|
|
@@ -5335,8 +5595,8 @@ var Table = ({
|
|
|
5335
5595
|
isMain ? "tbl__td--main" : "",
|
|
5336
5596
|
col.width === "big" ? "tbl__td--big" : ""
|
|
5337
5597
|
].filter(Boolean).join(" "),
|
|
5338
|
-
children: isMain ? /* @__PURE__ */ (0,
|
|
5339
|
-
iconUrl && /* @__PURE__ */ (0,
|
|
5598
|
+
children: isMain ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "tbl__cell-inner", children: [
|
|
5599
|
+
iconUrl && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5340
5600
|
"img",
|
|
5341
5601
|
{
|
|
5342
5602
|
src: iconUrl,
|
|
@@ -5348,18 +5608,18 @@ var Table = ({
|
|
|
5348
5608
|
height: "24"
|
|
5349
5609
|
}
|
|
5350
5610
|
),
|
|
5351
|
-
/* @__PURE__ */ (0,
|
|
5352
|
-
] }) : /* @__PURE__ */ (0,
|
|
5611
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "tbl__cell-text tbl__cell-text--bold", children: row[col.key] ?? "" })
|
|
5612
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "tbl__cell-text", children: row[col.key] ?? "" })
|
|
5353
5613
|
},
|
|
5354
5614
|
col.key
|
|
5355
5615
|
);
|
|
5356
|
-
}) }, rowIdx)) : /* @__PURE__ */ (0,
|
|
5616
|
+
}) }, rowIdx)) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tr", { className: "tbl__tr", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("td", { colSpan: columns.length, className: "tbl__empty-cell", children: [
|
|
5357
5617
|
'No results found for "',
|
|
5358
5618
|
search,
|
|
5359
5619
|
'"'
|
|
5360
5620
|
] }) }) })
|
|
5361
5621
|
] }) }),
|
|
5362
|
-
totalPages > 1 && /* @__PURE__ */ (0,
|
|
5622
|
+
totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "tbl__footer", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "tbl__pagination-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5363
5623
|
Pagination,
|
|
5364
5624
|
{
|
|
5365
5625
|
currentPage,
|
|
@@ -5368,19 +5628,19 @@ var Table = ({
|
|
|
5368
5628
|
}
|
|
5369
5629
|
) }) })
|
|
5370
5630
|
] }),
|
|
5371
|
-
infoText && /* @__PURE__ */ (0,
|
|
5372
|
-
/* @__PURE__ */ (0,
|
|
5373
|
-
/* @__PURE__ */ (0,
|
|
5631
|
+
infoText && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "tbl-section__info-box", children: [
|
|
5632
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(InfoIcon, { className: "tbl-section__info-icon" }),
|
|
5633
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "tbl-section__info-text", children: infoText })
|
|
5374
5634
|
] })
|
|
5375
5635
|
] }),
|
|
5376
|
-
/* @__PURE__ */ (0,
|
|
5636
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
5377
5637
|
"div",
|
|
5378
5638
|
{
|
|
5379
5639
|
className: ["tbl__global-hint", tooltip.visible ? "tbl__global-hint--visible" : ""].filter(Boolean).join(" "),
|
|
5380
5640
|
style: { left: tooltip.x, top: tooltip.y - 8 },
|
|
5381
5641
|
children: [
|
|
5382
|
-
/* @__PURE__ */ (0,
|
|
5383
|
-
/* @__PURE__ */ (0,
|
|
5642
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "tbl__global-hint-desc", children: tooltip.description }),
|
|
5643
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5384
5644
|
"div",
|
|
5385
5645
|
{
|
|
5386
5646
|
className: "tbl__global-hint-arrow",
|
|
@@ -5394,7 +5654,7 @@ var Table = ({
|
|
|
5394
5654
|
};
|
|
5395
5655
|
|
|
5396
5656
|
// templates/DynamicTable/DynamicTable.tsx
|
|
5397
|
-
var
|
|
5657
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
5398
5658
|
var VARIANT_COLUMN_COUNT = {
|
|
5399
5659
|
"Three columns": 3,
|
|
5400
5660
|
"Four columns": 4
|
|
@@ -5411,10 +5671,10 @@ var toLines = (value) => {
|
|
|
5411
5671
|
var renderLines = (value) => {
|
|
5412
5672
|
const lines = toLines(value);
|
|
5413
5673
|
if (lines.length === 0) return null;
|
|
5414
|
-
return lines.map((line, index) => /* @__PURE__ */ (0,
|
|
5674
|
+
return lines.map((line, index) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "dtbl__cell-line", children: line }, index));
|
|
5415
5675
|
};
|
|
5416
|
-
var renderHeader = (col) => /* @__PURE__ */ (0,
|
|
5417
|
-
var renderCell = (row, col) => /* @__PURE__ */ (0,
|
|
5676
|
+
var renderHeader = (col) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "dtbl__cell", children: renderLines(col.header) });
|
|
5677
|
+
var renderCell = (row, col) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "dtbl__cell", children: renderLines(row[col.key]) });
|
|
5418
5678
|
var DynamicTable = ({
|
|
5419
5679
|
sectionTitle,
|
|
5420
5680
|
variant = "Three columns",
|
|
@@ -5427,15 +5687,15 @@ var DynamicTable = ({
|
|
|
5427
5687
|
const visibleColumns = columns.slice(0, columnCount);
|
|
5428
5688
|
const labelColumn = visibleColumns[0];
|
|
5429
5689
|
const valueColumns = visibleColumns.slice(1);
|
|
5430
|
-
return /* @__PURE__ */ (0,
|
|
5690
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
5431
5691
|
"section",
|
|
5432
5692
|
{
|
|
5433
5693
|
className: ["dtbl-section", className].filter(Boolean).join(" "),
|
|
5434
5694
|
...props,
|
|
5435
5695
|
children: [
|
|
5436
|
-
sectionTitle && /* @__PURE__ */ (0,
|
|
5437
|
-
/* @__PURE__ */ (0,
|
|
5438
|
-
/* @__PURE__ */ (0,
|
|
5696
|
+
sectionTitle && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "dtbl-section__header", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("h2", { className: "dtbl-section__title", children: sectionTitle }) }),
|
|
5697
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "dtbl-section__content", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: ["dtbl", VARIANT_CLASS[variant]].join(" "), children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "dtbl__scroll-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("table", { className: "dtbl__table", children: [
|
|
5698
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("tr", { className: "dtbl__tr", children: visibleColumns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
5439
5699
|
"th",
|
|
5440
5700
|
{
|
|
5441
5701
|
scope: "col",
|
|
@@ -5444,9 +5704,9 @@ var DynamicTable = ({
|
|
|
5444
5704
|
},
|
|
5445
5705
|
col.key
|
|
5446
5706
|
)) }) }),
|
|
5447
|
-
/* @__PURE__ */ (0,
|
|
5448
|
-
labelColumn && /* @__PURE__ */ (0,
|
|
5449
|
-
valueColumns.map((col) => /* @__PURE__ */ (0,
|
|
5707
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("tbody", { children: rows.map((row, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("tr", { className: "dtbl__tr", children: [
|
|
5708
|
+
labelColumn && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("th", { scope: "row", className: "dtbl__th-row", children: renderCell(row, labelColumn) }),
|
|
5709
|
+
valueColumns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("td", { className: "dtbl__td", children: renderCell(row, col) }, col.key))
|
|
5450
5710
|
] }, rowIdx)) })
|
|
5451
5711
|
] }) }) }) })
|
|
5452
5712
|
]
|
|
@@ -5455,12 +5715,12 @@ var DynamicTable = ({
|
|
|
5455
5715
|
};
|
|
5456
5716
|
|
|
5457
5717
|
// templates/Leaders/Leaders.tsx
|
|
5458
|
-
var
|
|
5459
|
-
var
|
|
5460
|
-
var ChevronDownIcon4 = () => /* @__PURE__ */ (0,
|
|
5461
|
-
var ChevronUpIcon = () => /* @__PURE__ */ (0,
|
|
5462
|
-
var CardContent = ({ item }) => /* @__PURE__ */ (0,
|
|
5463
|
-
/* @__PURE__ */ (0,
|
|
5718
|
+
var import_react24 = require("react");
|
|
5719
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
5720
|
+
var ChevronDownIcon4 = () => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M4 6L8 10L12 6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
5721
|
+
var ChevronUpIcon = () => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M12 10L8 6L4 10", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
5722
|
+
var CardContent = ({ item }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
5723
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "avatar-grid__image-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5464
5724
|
"img",
|
|
5465
5725
|
{
|
|
5466
5726
|
src: item.imageUrl,
|
|
@@ -5469,11 +5729,11 @@ var CardContent = ({ item }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(i
|
|
|
5469
5729
|
loading: "lazy"
|
|
5470
5730
|
}
|
|
5471
5731
|
) }),
|
|
5472
|
-
/* @__PURE__ */ (0,
|
|
5473
|
-
/* @__PURE__ */ (0,
|
|
5474
|
-
/* @__PURE__ */ (0,
|
|
5732
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "avatar-grid__content", children: [
|
|
5733
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h3", { className: "avatar-grid__name", children: item.name }),
|
|
5734
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "avatar-grid__role", children: item.role })
|
|
5475
5735
|
] }),
|
|
5476
|
-
item.linkUrl && /* @__PURE__ */ (0,
|
|
5736
|
+
item.linkUrl && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5477
5737
|
Link,
|
|
5478
5738
|
{
|
|
5479
5739
|
href: item.linkUrl,
|
|
@@ -5497,18 +5757,18 @@ var AvatarGrid = ({
|
|
|
5497
5757
|
className,
|
|
5498
5758
|
...props
|
|
5499
5759
|
}) => {
|
|
5500
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
5760
|
+
const [isExpanded, setIsExpanded] = (0, import_react24.useState)(false);
|
|
5501
5761
|
const hasMore = items.length > initialVisibleCount;
|
|
5502
5762
|
const visibleItems = items.slice(0, initialVisibleCount);
|
|
5503
5763
|
const extraItems = items.slice(initialVisibleCount);
|
|
5504
|
-
return /* @__PURE__ */ (0,
|
|
5505
|
-
(title || description) && /* @__PURE__ */ (0,
|
|
5506
|
-
title && /* @__PURE__ */ (0,
|
|
5507
|
-
description && /* @__PURE__ */ (0,
|
|
5764
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("section", { className: ["avatar-grid", className].filter(Boolean).join(" "), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "avatar-grid__container", children: [
|
|
5765
|
+
(title || description) && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "avatar-grid__header", children: [
|
|
5766
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h2", { className: "avatar-grid__title", children: title }),
|
|
5767
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "avatar-grid__description", children: description })
|
|
5508
5768
|
] }),
|
|
5509
|
-
/* @__PURE__ */ (0,
|
|
5510
|
-
/* @__PURE__ */ (0,
|
|
5511
|
-
hasMore && /* @__PURE__ */ (0,
|
|
5769
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "avatar-grid__grid-wrapper", children: [
|
|
5770
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "avatar-grid__grid", children: visibleItems.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "avatar-grid__card", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(CardContent, { item }) }, i)) }),
|
|
5771
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5512
5772
|
"div",
|
|
5513
5773
|
{
|
|
5514
5774
|
className: [
|
|
@@ -5516,7 +5776,7 @@ var AvatarGrid = ({
|
|
|
5516
5776
|
isExpanded ? "avatar-grid__extra-cards--open" : ""
|
|
5517
5777
|
].join(" "),
|
|
5518
5778
|
"aria-hidden": !isExpanded,
|
|
5519
|
-
children: /* @__PURE__ */ (0,
|
|
5779
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "avatar-grid__extra-grid", children: extraItems.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5520
5780
|
"div",
|
|
5521
5781
|
{
|
|
5522
5782
|
className: [
|
|
@@ -5527,21 +5787,21 @@ var AvatarGrid = ({
|
|
|
5527
5787
|
style: {
|
|
5528
5788
|
transitionDelay: isExpanded ? `${i * 70 + 120}ms` : "0ms"
|
|
5529
5789
|
},
|
|
5530
|
-
children: /* @__PURE__ */ (0,
|
|
5790
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(CardContent, { item })
|
|
5531
5791
|
},
|
|
5532
5792
|
i
|
|
5533
5793
|
)) })
|
|
5534
5794
|
}
|
|
5535
5795
|
)
|
|
5536
5796
|
] }),
|
|
5537
|
-
hasMore && /* @__PURE__ */ (0,
|
|
5797
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "avatar-grid__actions", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5538
5798
|
Button,
|
|
5539
5799
|
{
|
|
5540
5800
|
variant: "secondary",
|
|
5541
5801
|
colorScheme: "black",
|
|
5542
5802
|
onClick: () => setIsExpanded(!isExpanded),
|
|
5543
5803
|
iconPosition: "icon-right",
|
|
5544
|
-
icon: isExpanded ? /* @__PURE__ */ (0,
|
|
5804
|
+
icon: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ChevronUpIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ChevronDownIcon4, {}),
|
|
5545
5805
|
fullWidth: true,
|
|
5546
5806
|
children: isExpanded ? collapseText : expandText
|
|
5547
5807
|
}
|
|
@@ -5552,7 +5812,7 @@ var PeopleGrid = AvatarGrid;
|
|
|
5552
5812
|
var Leaders = AvatarGrid;
|
|
5553
5813
|
|
|
5554
5814
|
// templates/ImageBanner/ImageBanner.tsx
|
|
5555
|
-
var
|
|
5815
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
5556
5816
|
var DEFAULT_CHIPS = [
|
|
5557
5817
|
"Dynamic ads",
|
|
5558
5818
|
"AI insights",
|
|
@@ -5560,7 +5820,7 @@ var DEFAULT_CHIPS = [
|
|
|
5560
5820
|
"Events"
|
|
5561
5821
|
];
|
|
5562
5822
|
var IMAGE_BANNER_CHIPS_DEFAULT_IMAGE = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69a13cf79748b347527dc74d_tier-cover.webp";
|
|
5563
|
-
var ChipCheckIcon = () => /* @__PURE__ */ (0,
|
|
5823
|
+
var ChipCheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5564
5824
|
"svg",
|
|
5565
5825
|
{
|
|
5566
5826
|
className: "image-banner__chip-icon",
|
|
@@ -5571,7 +5831,7 @@ var ChipCheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
|
5571
5831
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5572
5832
|
"aria-hidden": "true",
|
|
5573
5833
|
focusable: "false",
|
|
5574
|
-
children: /* @__PURE__ */ (0,
|
|
5834
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5575
5835
|
"path",
|
|
5576
5836
|
{
|
|
5577
5837
|
d: "M10.5156 5.98438C10.8203 6.26562 10.8203 6.75781 10.5156 7.03906L4.51562 13.0391C4.23438 13.3438 3.74219 13.3438 3.46094 13.0391L0.460938 10.0391C0.15625 9.75781 0.15625 9.26562 0.460938 8.98438C0.742188 8.67969 1.23438 8.67969 1.51562 8.98438L4 11.4453L9.46094 5.98438C9.74219 5.67969 10.2344 5.67969 10.5156 5.98438Z",
|
|
@@ -5599,7 +5859,7 @@ var ImageBanner = ({
|
|
|
5599
5859
|
const showCta = !isChips && Boolean(ctaLabel);
|
|
5600
5860
|
const visibleChips = isChips ? chips.filter((label) => label.trim().length > 0) : [];
|
|
5601
5861
|
const resolvedImageUrl = imageUrl ?? (isChips ? IMAGE_BANNER_CHIPS_DEFAULT_IMAGE : void 0);
|
|
5602
|
-
return /* @__PURE__ */ (0,
|
|
5862
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5603
5863
|
"section",
|
|
5604
5864
|
{
|
|
5605
5865
|
className: [
|
|
@@ -5608,7 +5868,7 @@ var ImageBanner = ({
|
|
|
5608
5868
|
className
|
|
5609
5869
|
].filter(Boolean).join(" "),
|
|
5610
5870
|
...props,
|
|
5611
|
-
children: /* @__PURE__ */ (0,
|
|
5871
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
5612
5872
|
"div",
|
|
5613
5873
|
{
|
|
5614
5874
|
className: [
|
|
@@ -5616,8 +5876,8 @@ var ImageBanner = ({
|
|
|
5616
5876
|
`image-banner__inner--${variant}`
|
|
5617
5877
|
].join(" "),
|
|
5618
5878
|
children: [
|
|
5619
|
-
isFullBg && resolvedImageUrl && /* @__PURE__ */ (0,
|
|
5620
|
-
/* @__PURE__ */ (0,
|
|
5879
|
+
isFullBg && resolvedImageUrl && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "image-banner__bg-image-wrapper", children: [
|
|
5880
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5621
5881
|
"img",
|
|
5622
5882
|
{
|
|
5623
5883
|
src: resolvedImageUrl,
|
|
@@ -5626,16 +5886,16 @@ var ImageBanner = ({
|
|
|
5626
5886
|
loading: "lazy"
|
|
5627
5887
|
}
|
|
5628
5888
|
),
|
|
5629
|
-
/* @__PURE__ */ (0,
|
|
5889
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "image-banner__bg-overlay", "aria-hidden": "true" })
|
|
5630
5890
|
] }),
|
|
5631
|
-
/* @__PURE__ */ (0,
|
|
5632
|
-
/* @__PURE__ */ (0,
|
|
5633
|
-
description && /* @__PURE__ */ (0,
|
|
5634
|
-
visibleChips.length > 0 && /* @__PURE__ */ (0,
|
|
5635
|
-
/* @__PURE__ */ (0,
|
|
5636
|
-
/* @__PURE__ */ (0,
|
|
5891
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "image-banner__content", children: [
|
|
5892
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("h2", { className: "image-banner__title", children: title }),
|
|
5893
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "image-banner__description", children: description }),
|
|
5894
|
+
visibleChips.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("ul", { className: "image-banner__chips", "aria-label": "Features", children: visibleChips.map((label) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("li", { className: "image-banner__chip", children: [
|
|
5895
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ChipCheckIcon, {}),
|
|
5896
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "image-banner__chip-label", children: label })
|
|
5637
5897
|
] }, label)) }),
|
|
5638
|
-
showCta && /* @__PURE__ */ (0,
|
|
5898
|
+
showCta && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "image-banner__actions", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5639
5899
|
Link,
|
|
5640
5900
|
{
|
|
5641
5901
|
colorScheme: "coral",
|
|
@@ -5647,8 +5907,8 @@ var ImageBanner = ({
|
|
|
5647
5907
|
}
|
|
5648
5908
|
) })
|
|
5649
5909
|
] }),
|
|
5650
|
-
!isFullBg && resolvedImageUrl && /* @__PURE__ */ (0,
|
|
5651
|
-
/* @__PURE__ */ (0,
|
|
5910
|
+
!isFullBg && resolvedImageUrl && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "image-banner__image-wrapper", children: [
|
|
5911
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5652
5912
|
"img",
|
|
5653
5913
|
{
|
|
5654
5914
|
src: resolvedImageUrl,
|
|
@@ -5657,7 +5917,7 @@ var ImageBanner = ({
|
|
|
5657
5917
|
loading: "lazy"
|
|
5658
5918
|
}
|
|
5659
5919
|
),
|
|
5660
|
-
isChips && /* @__PURE__ */ (0,
|
|
5920
|
+
isChips && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5661
5921
|
"div",
|
|
5662
5922
|
{
|
|
5663
5923
|
className: "image-banner__image-fade",
|
|
@@ -5673,7 +5933,7 @@ var ImageBanner = ({
|
|
|
5673
5933
|
};
|
|
5674
5934
|
|
|
5675
5935
|
// templates/Testimonial/Testimonial.tsx
|
|
5676
|
-
var
|
|
5936
|
+
var import_react25 = require("react");
|
|
5677
5937
|
|
|
5678
5938
|
// assets/quote-left.webp
|
|
5679
5939
|
var quote_left_default = "data:image/webp;base64,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";
|
|
@@ -5685,11 +5945,11 @@ var quote_right_default = "data:image/webp;base64,UklGRlJNAABXRUJQVlA4WAoAAAAQAA
|
|
|
5685
5945
|
var trustpilot_rating_badge_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVoAAAAhCAYAAACYw2PAAAANT0lEQVR4Aeydz48cRxXHqycb2Yr5IdkKsk0wISImFhzWSCZSbCm7RBy4oPwBSLkABw5IJHISvIfZPeRgIpC4AhJCcEEcghCyARF2LGQkTmsJcQBH2FxsS2CLiw3G62nep9yvU1PTv7unu8duq99U1atX733r9dZ3amt61iNzfuNH5tzGdmfyq423jP/v/MYpwbMj0hGuM7/1Idn2uTOXu8O08Z7F4L+cE6zd3b8d+fk55UMy77xx1vzyzT9Ulnde/5n4/HAN2Sdjl/Zaufz22tKCH4AnZmBkTHhVRG5s2I0E4b8SkZlwtTNcgflfMibzVGeYTCixE1BZrGE3987eowRM0+lNszI6VVnu3bsuXh+vIaGMXcrLkmz42HgpwQ+gUzMgRJvaN3QMGRgy0HYGpqPoTbPtwEO83AzUMBjVGDsMHTIwZKDpDATG7mbtzrZp34O/zjIwEG1nqR8CDxmYzcAMuQ7HB7PJWfLWQLRLfgMfRvivPH0i+Tz6YZysOyd7bKCKUI4QtD6UzWWgG0+1iXb7+a90gzwj6tr+Txgkw6STrs1nX+okblbQPmJ687mXns/C/ND2BcGL7txmdrhux1BfugzUJlpm3LfFOhZCWzvwDNB6IxD/i/IG0BtAAgRM409+Xmr9ucD03Ac/8tTOzs7J/qBqC4m3ix2OD9pK/MLj1CJaFgWycJQlA4CpbwRiyb9nRKtp7dsbJbiOHDnSJdE+IRh4vEyKdq6Vv35ncz6SR7zzBo+qZunmXYtoIQ9m3CdSg2TBhLh12l2KYukTqen96zIvfmzFtH///tN+X8vtVonWeMcGOtfh+EAzsdxlLaJ1p65E4uq6qOtCJXZfjg/c3PTl+ABMCHnqyxsleBAwIY/W8UHK7nU4PuBHYemlMtGyIBDNQB9JrS8EMkP+w/GB/sjklh0fH+TiyzLgKKCw/O272+m+wrXCfuT4wd8BHz58eLOsHDx4sJUnHtLnvLgezYU7xyRd0wgqE61LHoDqA6m5xA+mvoiPqw/HB/7960OufEz79u17oQ+4KmPgywdFxKTsZjVwER/YiP3us6cnUsRXGIbjsKSMRqNeEK0SIGU8oRoVyFVzoW6SdNpXpQSrijt+5DbcOuSQJa6t1iGQrDH0qW2VkvFZ4i9UYnSNifjg8CVrHvT59mXajC8irk/eKMuOcccXqWf5J0/0u3727NlzkuODPHHH9KW++6nXNnePvhaY0Gy1gkniELOVWC0FUVKUcuaxt5bCVwojWMeRzGBOJ9oDzxiekU0Tf1GAisWaZg8JTm5dwayycDyR5h99WUx2jMyzMqBoIHPDV5KQk8gsLtAl2aqOecbGFSrkOQsTcZLcok8TMOE3aVxRHT7S/JOTJD+rq6u/WE0RjhaOHz9+MWlcX3SW/IQEF4cnmJhgum7jJAS5fv164IuYTUTsFQTBlhDDuivT6TTut0ZZL0vUd+PGjYnOk3qb0EdmaoKkgJuX3zXrf/phUldp3dZ7v2/El2Kqu+CZAJiC8xsGn7SrCljIE/6q+nDH4asuJvzhpylM+GkCEz7ABb66cuvWrbcPHDjw7bp+2hhvSVDI0JigWQITAt89+uq6f1xgSvyDVCEdX3wX/IqN+Pqq7SZ9lcGg8ywzpgnb1B0tziERyIiSdhVpapFqbLCwWPGrurIlY1n0Zcdl2eMPXFk2WX1gqptr379iImd+X5E245gTforYF7FRn5RF7H2bu3fvXpRd2JPLQrKKHzKEFI2Qo+pqlULclsBrOZkfDAEeOnRoG6GOUJecb4vYP3jDGSQ6ZN6DMWn96kvGheKLGCF17OlTX6Kjb1vbUq75Om0zDona1p/UQ3zKuJnLsdumPtOZ0sCP+ANP7Js2encIOsTRzWDOJFodxGKDCLRdpMQe4mhykbpx8QsuV1ekzhjGFrEtawN54J+yzFhytWhMxCiLqcpcisQgP/gui4ld7N69e18uEqOvNpYcQ1Pj3DaY7MrZL8Td3BznPPFhGGIgROm1dSndCx3i6mxdfj3nfJI+xOogpjRfYj+mzyE/xiF2bPRCG4mahvoa4xBjDG2j//ApxBc6PrULO0TbqaWM38aPGPj2a+iZk/TphQ2ibUraiClEtIyACFgcLBLaWcICwj7Lpok+sEDmlHn+wFTUNs9XVj9YyBPxsuzowxZMbeSKGOAibp6AHfs8u7r9xCiKCZJdtl1sWn4gW8jSlD1KEILelaMC09I/IbBxFErPNiu/QQgxQb7WnXtmLDFin1K38cTWnhlb4wcvEx3zoDn3avGpjfiZ8zk3IkcRkaglSfyBCf+UMtQeAUl9rEQu9UzMhYlWnBuIgTJLWDgsoCybtvvaIg53XpObf3ebc3Uwkau5jgUq8u4fmNoifp1mHiYIVn7Ql+6oQOeXXeY81hUPDia7Wz+5tPutH8SalirsGLeEYNYbONu0pCW4LUlJaa9r165tyv3diuQCyrKxFB9jEXxKqXHWlAxFV+jCXohzjDG48Acm2pTEk7r1L/3WDj0i+sSrFNHyqT6S5EkXKQsnzSZp3CJ1YFHiaBsTn/qnzY1c8WbUNqaseIoJzFl29DcpWbEgWXax+nhXk3G79sWXEIpguP/T313YfeP7a+bOf1flfNcu6pRxi1BPIJmGHFtiEl+cXdozVAhN2oYYKrTLiBBdvHt1xwlRxvqyzwW79uBy/SbUCxF5KaJNCGJVEBoVHt0Jv/iWySIZ7JoUFiri+wTThVtX7CNqYAKbb7PIdhImyAwhrmLi+VHabUjafSFXxAcTwmNYtNuQNEx86EV8WTD/5PGuY8eOnab9KAkkG/75yoNfuT/65I+Dk5++6n/za5H5EBKzO8wmYkS7wNiV3Fd7LivnoJZ0o1/V4/66FXd3KbEe5LCuU2e8+IyJ3FGnVksRrb8oWKDsGCE0noNUctEyNWqDHT4mXENmW5ffNS4m9G2RWtL8wcRxAn/rAFzgaVt8XGDi/oHDxeTW6VukJGL6+avfu3379h/dPyzDlxcWiaN139E3uZLiTv/yj0uQrPnQEx9fOfu1ycrZr5qVb7z8ymNfeuFps8R/+0DIVrg7sMcE7ryFtMZI02TrxihTFyyliNndAafFKUy0LAhEHbFI9YyRX4O1rv1tkZrGowQTxAEe3gTARElfm+KTPzhcTOBUPG2RmnvviA0GMFEHH23qKm3cvyxMHBlcunRp5gmDmzdvvq74lrnMOjYw8oHX6DMf++ZjX/5CaIk17+u5S5YIfhVHIF0htPUgCOKdobRLH43ImFxSDIKg1M48KGDvkivPIufdhsJE6zpiUeoiVT2EBslRomPnRrlIYaEixEjD5JJI26QGJjcn4ETIHbioI22QmpI/9wdMYCC2Cm0w0a+6RZd5mPjWF2SrxwiLxuP4vyP1eyLtXtGzsTy6ZZ8uENKdBxCutXl8MB/fGJdY9JzVs9MPvqwaGzki4FnUbXfXyq/3kK6Q5bo1lBdspShzzcTSgW4c1RUt3fml+RHMY/XHPLSeVhYmWhaFEgeLMs0hixU7JcA0uyb0YIIYiJmFiT5ssF00qem8yQFx0+YJFsWUZtOkHlxgImaaX8WEXRtvSkUwQbY8O8sHY+5RQtocGtQvjmjnjg2CxGdjeQyMHe7cnHp0fCC7v7GLL4mYIiKCEO3zpz6ZurvDyNZ1mVv3Y+LfJULIPNeJYxBhsB/e4cf377Zl/vGO3HExVy1EtCwIzmGziMP1jB0LmnGuvuk657DEgSDyfGNjbXMeu8rzU6Q/aceYNE4xJfU1qeM+QJ7clyJ+sSNXjCtiX8UG32Uw6VECTyBUidfqmIxgc8cGsmu1u9eUMZDt7tEW/zhNCg5X7RKR6O1TBLpjhZhEZ0lKyvhyCUnqdnfrjeHLET5pqR+NEcYO36/wDO1YfPHNLesX/9otdd+ndmWWMo94nNRd/9IM9c0l6amMRMyFiBZCYPFlIvM6GYN46kabVfxXGVMGdBX/ZXNbBg+2YCobgzEI4xch+C6Lid0tsgg87fsMJiY6KigSG8J9f3fb/fGBsE1MRBF+3bHGxwCR3hbsKj3Ss/bSSQlZrmMj7fhKiBH3aUV8XhBRLPhCbDd636ftKPDCmwnnyPhwzGd8S//cXNMwFyJaJ9BQHTIwZKBOBjg2iHaxnMWWcTVDtjWODyAIEftXvSAUFwNt7csiKbUTYlmHjCgZF+nXqSOub/yhw9YV0dkvRLi21CNfFif2Yheg9yXJL7boXVvXH3X6KLFFqKNzBR/0EV+FNnrXTuv4oB/BnpK+gWjJwiBDBuYy0LzCHhuU2MUmIYBs7VFCcF93cUlmrekgFkiHsmhQbF0pMg77PDtsVPJsy/arX8qiY13bgWiLZm2wGzJQMwOWJL3/AaGqy7K74apxhnHNZGAg2qQ8huZAklp0KyJdXcmx07F2hXOIO2RgyICXAYj2ojHTz3Ymo+Cqh0mgTO/JS3eYzPTrZnvzAzO4fn3mkGD6nEhXuE4Yi8FBZTEK1i7v35R75WCien+6Y+7850RleXz0G3Hz7xqyK2O5BnlIM8C5MOI+89rnqf4fAAD//7gwvgwAAAAGSURBVAMAU7BC2ZfEcsUAAAAASUVORK5CYII=";
|
|
5686
5946
|
|
|
5687
5947
|
// templates/Testimonial/Testimonial.tsx
|
|
5688
|
-
var
|
|
5948
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
5689
5949
|
var StarCell = ({ fill }) => {
|
|
5690
|
-
const clipId = (0,
|
|
5950
|
+
const clipId = (0, import_react25.useId)();
|
|
5691
5951
|
const clamped = Math.max(0, Math.min(1, fill));
|
|
5692
|
-
return /* @__PURE__ */ (0,
|
|
5952
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
5693
5953
|
"svg",
|
|
5694
5954
|
{
|
|
5695
5955
|
className: "testimonial__tp-star",
|
|
@@ -5698,9 +5958,9 @@ var StarCell = ({ fill }) => {
|
|
|
5698
5958
|
height: "20",
|
|
5699
5959
|
"aria-hidden": "true",
|
|
5700
5960
|
children: [
|
|
5701
|
-
/* @__PURE__ */ (0,
|
|
5702
|
-
/* @__PURE__ */ (0,
|
|
5703
|
-
/* @__PURE__ */ (0,
|
|
5961
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("rect", { width: "96", height: "96", className: "testimonial__tp-star-bg" }),
|
|
5962
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("clipPath", { id: clipId, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("rect", { width: 96 * clamped, height: "96" }) }),
|
|
5963
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5704
5964
|
"rect",
|
|
5705
5965
|
{
|
|
5706
5966
|
width: "96",
|
|
@@ -5709,7 +5969,7 @@ var StarCell = ({ fill }) => {
|
|
|
5709
5969
|
clipPath: `url(#${clipId})`
|
|
5710
5970
|
}
|
|
5711
5971
|
),
|
|
5712
|
-
/* @__PURE__ */ (0,
|
|
5972
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5713
5973
|
"path",
|
|
5714
5974
|
{
|
|
5715
5975
|
d: "M48,64.7L62.6,61l6.1,18.8L48,64.7z M81.6,40.4H55.9L48,16.2l-7.9,24.2H14.4l20.8,15l-7.9,24.2 l20.8-15l12.8-9.2L81.6,40.4L81.6,40.4L81.6,40.4L81.6,40.4z",
|
|
@@ -5722,17 +5982,17 @@ var StarCell = ({ fill }) => {
|
|
|
5722
5982
|
};
|
|
5723
5983
|
var StarRow = ({ rating, size = "sm" }) => {
|
|
5724
5984
|
const stars = [0, 1, 2, 3, 4].map((i) => Math.max(0, Math.min(1, rating - i)));
|
|
5725
|
-
return /* @__PURE__ */ (0,
|
|
5985
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5726
5986
|
"span",
|
|
5727
5987
|
{
|
|
5728
5988
|
className: ["testimonial__tp-stars", `testimonial__tp-stars--${size}`].join(" "),
|
|
5729
5989
|
role: "img",
|
|
5730
5990
|
"aria-label": `Rated ${rating} out of 5 stars`,
|
|
5731
|
-
children: stars.map((fill, i) => /* @__PURE__ */ (0,
|
|
5991
|
+
children: stars.map((fill, i) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StarCell, { fill }, i))
|
|
5732
5992
|
}
|
|
5733
5993
|
);
|
|
5734
5994
|
};
|
|
5735
|
-
var ArrowIcon = ({ direction }) => /* @__PURE__ */ (0,
|
|
5995
|
+
var ArrowIcon = ({ direction }) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: direction === "prev" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("path", { d: "M10 3.5 5.5 8l4.5 4.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("path", { d: "M6 3.5 10.5 8 6 12.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
5736
5996
|
var SCROLL_EPS = 4;
|
|
5737
5997
|
function readScrollState(el) {
|
|
5738
5998
|
if (!el) return { canPrev: false, canNext: false };
|
|
@@ -5751,15 +6011,15 @@ var TrustpilotTestimonial = ({
|
|
|
5751
6011
|
trustpilotScore = 4.5,
|
|
5752
6012
|
...props
|
|
5753
6013
|
}) => {
|
|
5754
|
-
const trackRef = (0,
|
|
5755
|
-
const [canPrev, setCanPrev] = (0,
|
|
5756
|
-
const [canNext, setCanNext] = (0,
|
|
5757
|
-
const syncScrollState = (0,
|
|
6014
|
+
const trackRef = (0, import_react25.useRef)(null);
|
|
6015
|
+
const [canPrev, setCanPrev] = (0, import_react25.useState)(false);
|
|
6016
|
+
const [canNext, setCanNext] = (0, import_react25.useState)(true);
|
|
6017
|
+
const syncScrollState = (0, import_react25.useCallback)(() => {
|
|
5758
6018
|
const next = readScrollState(trackRef.current);
|
|
5759
6019
|
setCanPrev(next.canPrev);
|
|
5760
6020
|
setCanNext(next.canNext);
|
|
5761
6021
|
}, []);
|
|
5762
|
-
(0,
|
|
6022
|
+
(0, import_react25.useEffect)(() => {
|
|
5763
6023
|
const el = trackRef.current;
|
|
5764
6024
|
if (!el) return;
|
|
5765
6025
|
syncScrollState();
|
|
@@ -5776,14 +6036,14 @@ var TrustpilotTestimonial = ({
|
|
|
5776
6036
|
el.scrollBy({ left: direction * (delta + gap), behavior: "smooth" });
|
|
5777
6037
|
window.requestAnimationFrame(() => window.setTimeout(syncScrollState, 320));
|
|
5778
6038
|
};
|
|
5779
|
-
return /* @__PURE__ */ (0,
|
|
6039
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
5780
6040
|
"section",
|
|
5781
6041
|
{
|
|
5782
6042
|
className: ["testimonial", "testimonial--trustpilot", className].filter(Boolean).join(" "),
|
|
5783
6043
|
...props,
|
|
5784
6044
|
children: [
|
|
5785
|
-
/* @__PURE__ */ (0,
|
|
5786
|
-
/* @__PURE__ */ (0,
|
|
6045
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "testimonial__tp-head", children: title && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("h2", { className: "testimonial__title testimonial__title--trustpilot", children: title }) }),
|
|
6046
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "testimonial__tp-bleed", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5787
6047
|
"div",
|
|
5788
6048
|
{
|
|
5789
6049
|
ref: trackRef,
|
|
@@ -5793,7 +6053,7 @@ var TrustpilotTestimonial = ({
|
|
|
5793
6053
|
"aria-roledescription": "carousel",
|
|
5794
6054
|
"aria-label": "Customer reviews on Trustpilot",
|
|
5795
6055
|
onScroll: syncScrollState,
|
|
5796
|
-
children: /* @__PURE__ */ (0,
|
|
6056
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "testimonial__tp-track", children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "testimonial__tp-card-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
5797
6057
|
"a",
|
|
5798
6058
|
{
|
|
5799
6059
|
href: item.reviewUrl ?? trustpilotUrl,
|
|
@@ -5801,16 +6061,16 @@ var TrustpilotTestimonial = ({
|
|
|
5801
6061
|
target: "_blank",
|
|
5802
6062
|
rel: "noopener noreferrer",
|
|
5803
6063
|
children: [
|
|
5804
|
-
/* @__PURE__ */ (0,
|
|
5805
|
-
/* @__PURE__ */ (0,
|
|
5806
|
-
/* @__PURE__ */ (0,
|
|
6064
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StarRow, { rating: item.rating ?? 5, size: "sm" }),
|
|
6065
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "testimonial__tp-quote", children: item.quote }),
|
|
6066
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "testimonial__tp-author", children: item.authorName })
|
|
5807
6067
|
]
|
|
5808
6068
|
}
|
|
5809
6069
|
) }, i)) })
|
|
5810
6070
|
}
|
|
5811
6071
|
) }),
|
|
5812
|
-
/* @__PURE__ */ (0,
|
|
5813
|
-
/* @__PURE__ */ (0,
|
|
6072
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "testimonial__tp-foot", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "testimonial__tp-footer", children: [
|
|
6073
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "testimonial__tp-trust", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5814
6074
|
"a",
|
|
5815
6075
|
{
|
|
5816
6076
|
href: trustpilotUrl,
|
|
@@ -5818,7 +6078,7 @@ var TrustpilotTestimonial = ({
|
|
|
5818
6078
|
target: "_blank",
|
|
5819
6079
|
rel: "noopener noreferrer",
|
|
5820
6080
|
"aria-label": `Deriv on Trustpilot \u2014 rated ${trustpilotScore} out of 5`,
|
|
5821
|
-
children: /* @__PURE__ */ (0,
|
|
6081
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5822
6082
|
"img",
|
|
5823
6083
|
{
|
|
5824
6084
|
src: trustpilot_rating_badge_default,
|
|
@@ -5828,8 +6088,8 @@ var TrustpilotTestimonial = ({
|
|
|
5828
6088
|
)
|
|
5829
6089
|
}
|
|
5830
6090
|
) }),
|
|
5831
|
-
items.length > 1 && (canPrev || canNext) && /* @__PURE__ */ (0,
|
|
5832
|
-
/* @__PURE__ */ (0,
|
|
6091
|
+
items.length > 1 && (canPrev || canNext) && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "testimonial__tp-nav", children: [
|
|
6092
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5833
6093
|
"button",
|
|
5834
6094
|
{
|
|
5835
6095
|
type: "button",
|
|
@@ -5837,10 +6097,10 @@ var TrustpilotTestimonial = ({
|
|
|
5837
6097
|
"aria-label": "Show previous testimonials",
|
|
5838
6098
|
disabled: !canPrev,
|
|
5839
6099
|
onClick: () => scrollByCard(-1),
|
|
5840
|
-
children: /* @__PURE__ */ (0,
|
|
6100
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ArrowIcon, { direction: "prev" })
|
|
5841
6101
|
}
|
|
5842
6102
|
),
|
|
5843
|
-
/* @__PURE__ */ (0,
|
|
6103
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5844
6104
|
"button",
|
|
5845
6105
|
{
|
|
5846
6106
|
type: "button",
|
|
@@ -5848,7 +6108,7 @@ var TrustpilotTestimonial = ({
|
|
|
5848
6108
|
"aria-label": "Show next testimonials",
|
|
5849
6109
|
disabled: !canNext,
|
|
5850
6110
|
onClick: () => scrollByCard(1),
|
|
5851
|
-
children: /* @__PURE__ */ (0,
|
|
6111
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ArrowIcon, { direction: "next" })
|
|
5852
6112
|
}
|
|
5853
6113
|
)
|
|
5854
6114
|
] })
|
|
@@ -5863,16 +6123,16 @@ var DefaultTestimonial = ({
|
|
|
5863
6123
|
className,
|
|
5864
6124
|
...props
|
|
5865
6125
|
}) => {
|
|
5866
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
5867
|
-
const [phase, setPhase] = (0,
|
|
5868
|
-
const pendingIndex = (0,
|
|
5869
|
-
const autoRef = (0,
|
|
6126
|
+
const [activeIndex, setActiveIndex] = (0, import_react25.useState)(0);
|
|
6127
|
+
const [phase, setPhase] = (0, import_react25.useState)("idle");
|
|
6128
|
+
const pendingIndex = (0, import_react25.useRef)(null);
|
|
6129
|
+
const autoRef = (0, import_react25.useRef)(null);
|
|
5870
6130
|
const goTo = (next) => {
|
|
5871
6131
|
if (next === activeIndex || phase !== "idle") return;
|
|
5872
6132
|
pendingIndex.current = next;
|
|
5873
6133
|
setPhase("exiting");
|
|
5874
6134
|
};
|
|
5875
|
-
(0,
|
|
6135
|
+
(0, import_react25.useEffect)(() => {
|
|
5876
6136
|
if (phase === "exiting") {
|
|
5877
6137
|
const t = setTimeout(() => {
|
|
5878
6138
|
setActiveIndex(pendingIndex.current ?? activeIndex);
|
|
@@ -5881,7 +6141,7 @@ var DefaultTestimonial = ({
|
|
|
5881
6141
|
return () => clearTimeout(t);
|
|
5882
6142
|
}
|
|
5883
6143
|
}, [phase, activeIndex]);
|
|
5884
|
-
(0,
|
|
6144
|
+
(0, import_react25.useEffect)(() => {
|
|
5885
6145
|
if (items.length <= 1) return;
|
|
5886
6146
|
autoRef.current = setTimeout(() => {
|
|
5887
6147
|
const next = (activeIndex + 1) % items.length;
|
|
@@ -5892,15 +6152,15 @@ var DefaultTestimonial = ({
|
|
|
5892
6152
|
if (autoRef.current) clearTimeout(autoRef.current);
|
|
5893
6153
|
};
|
|
5894
6154
|
}, [activeIndex, items.length]);
|
|
5895
|
-
return /* @__PURE__ */ (0,
|
|
6155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5896
6156
|
"section",
|
|
5897
6157
|
{
|
|
5898
6158
|
className: ["testimonial", className].filter(Boolean).join(" "),
|
|
5899
6159
|
...props,
|
|
5900
|
-
children: /* @__PURE__ */ (0,
|
|
5901
|
-
title && /* @__PURE__ */ (0,
|
|
5902
|
-
/* @__PURE__ */ (0,
|
|
5903
|
-
/* @__PURE__ */ (0,
|
|
6160
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "testimonial__container", children: [
|
|
6161
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("h2", { className: "testimonial__title", children: title }),
|
|
6162
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "testimonial__carousel", children: [
|
|
6163
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "testimonial__slides", children: items.map((item, i) => {
|
|
5904
6164
|
const isActive = i === activeIndex;
|
|
5905
6165
|
const isExiting = isActive && phase === "exiting";
|
|
5906
6166
|
const slideClass = [
|
|
@@ -5908,18 +6168,18 @@ var DefaultTestimonial = ({
|
|
|
5908
6168
|
isActive && !isExiting ? "testimonial__slide--active" : "",
|
|
5909
6169
|
isExiting ? "testimonial__slide--exiting" : ""
|
|
5910
6170
|
].filter(Boolean).join(" ");
|
|
5911
|
-
return /* @__PURE__ */ (0,
|
|
6171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5912
6172
|
"div",
|
|
5913
6173
|
{
|
|
5914
6174
|
className: slideClass,
|
|
5915
6175
|
role: "region",
|
|
5916
6176
|
"aria-label": `Testimonial ${i + 1} of ${items.length}`,
|
|
5917
6177
|
"aria-hidden": !isActive,
|
|
5918
|
-
children: /* @__PURE__ */ (0,
|
|
5919
|
-
/* @__PURE__ */ (0,
|
|
5920
|
-
/* @__PURE__ */ (0,
|
|
5921
|
-
/* @__PURE__ */ (0,
|
|
5922
|
-
item.avatarUrl && /* @__PURE__ */ (0,
|
|
6178
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "testimonial__card", children: [
|
|
6179
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "testimonial__quotemark testimonial__quotemark--open", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("img", { src: quote_left_default, alt: "", className: "testimonial__quotemark-img" }) }),
|
|
6180
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "testimonial__quote", children: item.quote }),
|
|
6181
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "testimonial__author", children: [
|
|
6182
|
+
item.avatarUrl && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5923
6183
|
"img",
|
|
5924
6184
|
{
|
|
5925
6185
|
src: item.avatarUrl,
|
|
@@ -5928,22 +6188,22 @@ var DefaultTestimonial = ({
|
|
|
5928
6188
|
loading: "lazy"
|
|
5929
6189
|
}
|
|
5930
6190
|
),
|
|
5931
|
-
/* @__PURE__ */ (0,
|
|
5932
|
-
item.authorLocation && /* @__PURE__ */ (0,
|
|
6191
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "testimonial__author-name", children: item.authorName }),
|
|
6192
|
+
item.authorLocation && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "testimonial__author-location", children: item.authorLocation })
|
|
5933
6193
|
] }),
|
|
5934
|
-
/* @__PURE__ */ (0,
|
|
6194
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "testimonial__quotemark testimonial__quotemark--close", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("img", { src: quote_right_default, alt: "", className: "testimonial__quotemark-img" }) })
|
|
5935
6195
|
] })
|
|
5936
6196
|
},
|
|
5937
6197
|
i
|
|
5938
6198
|
);
|
|
5939
6199
|
}) }),
|
|
5940
|
-
items.length > 1 && /* @__PURE__ */ (0,
|
|
6200
|
+
items.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5941
6201
|
"div",
|
|
5942
6202
|
{
|
|
5943
6203
|
className: "testimonial__dots",
|
|
5944
6204
|
role: "tablist",
|
|
5945
6205
|
"aria-label": "Testimonial navigation",
|
|
5946
|
-
children: items.map((_, i) => /* @__PURE__ */ (0,
|
|
6206
|
+
children: items.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5947
6207
|
"button",
|
|
5948
6208
|
{
|
|
5949
6209
|
role: "tab",
|
|
@@ -5970,14 +6230,14 @@ var DefaultTestimonial = ({
|
|
|
5970
6230
|
var Testimonial = (props) => {
|
|
5971
6231
|
if (!props.items || props.items.length === 0) return null;
|
|
5972
6232
|
if (props.variant === "trustpilot") {
|
|
5973
|
-
return /* @__PURE__ */ (0,
|
|
6233
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TrustpilotTestimonial, { ...props });
|
|
5974
6234
|
}
|
|
5975
|
-
return /* @__PURE__ */ (0,
|
|
6235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DefaultTestimonial, { ...props });
|
|
5976
6236
|
};
|
|
5977
6237
|
|
|
5978
6238
|
// templates/ArticleHero/ArticleHero.tsx
|
|
5979
|
-
var
|
|
5980
|
-
var ArticleCard = ({ article, showThumbnail = false }) => /* @__PURE__ */ (0,
|
|
6239
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
6240
|
+
var ArticleCard = ({ article, showThumbnail = false }) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-listItem", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
5981
6241
|
Card,
|
|
5982
6242
|
{
|
|
5983
6243
|
variant: "thumbnail",
|
|
@@ -5993,12 +6253,12 @@ var ArticleCard = ({ article, showThumbnail = false }) => /* @__PURE__ */ (0, im
|
|
|
5993
6253
|
hideAvatar: true
|
|
5994
6254
|
}
|
|
5995
6255
|
) });
|
|
5996
|
-
var ColumnSection = ({ column, showThumbnails = false }) => /* @__PURE__ */ (0,
|
|
5997
|
-
column.label && /* @__PURE__ */ (0,
|
|
5998
|
-
/* @__PURE__ */ (0,
|
|
5999
|
-
/* @__PURE__ */ (0,
|
|
6256
|
+
var ColumnSection = ({ column, showThumbnails = false }) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-column", children: [
|
|
6257
|
+
column.label && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-columnHeader", children: [
|
|
6258
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-columnLabel", children: column.label }),
|
|
6259
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-columnLine" })
|
|
6000
6260
|
] }),
|
|
6001
|
-
/* @__PURE__ */ (0,
|
|
6261
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-columnList", children: column.articles.map((article, i) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ArticleCard, { article, showThumbnail: showThumbnails }, i)) })
|
|
6002
6262
|
] });
|
|
6003
6263
|
var ArticleHero = ({
|
|
6004
6264
|
featured,
|
|
@@ -6007,79 +6267,79 @@ var ArticleHero = ({
|
|
|
6007
6267
|
rightColumn,
|
|
6008
6268
|
className
|
|
6009
6269
|
}) => {
|
|
6010
|
-
return /* @__PURE__ */ (0,
|
|
6011
|
-
/* @__PURE__ */ (0,
|
|
6012
|
-
/* @__PURE__ */ (0,
|
|
6013
|
-
/* @__PURE__ */ (0,
|
|
6014
|
-
/* @__PURE__ */ (0,
|
|
6015
|
-
/* @__PURE__ */ (0,
|
|
6270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("section", { className: ["bh-root", className ?? ""].filter(Boolean).join(" "), children: [
|
|
6271
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-desktop", children: [
|
|
6272
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-desktopHeader", children: [
|
|
6273
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-headerLeft", children: leftColumn.label && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-columnHeader", children: [
|
|
6274
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-columnLabel", children: leftColumn.label }),
|
|
6275
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-columnLine" })
|
|
6016
6276
|
] }) }),
|
|
6017
|
-
/* @__PURE__ */ (0,
|
|
6018
|
-
/* @__PURE__ */ (0,
|
|
6019
|
-
/* @__PURE__ */ (0,
|
|
6277
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-headerRight", children: rightColumn.label && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-columnHeader", children: [
|
|
6278
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-columnLabel", children: rightColumn.label }),
|
|
6279
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-columnLine" })
|
|
6020
6280
|
] }) })
|
|
6021
6281
|
] }),
|
|
6022
|
-
/* @__PURE__ */ (0,
|
|
6023
|
-
/* @__PURE__ */ (0,
|
|
6024
|
-
/* @__PURE__ */ (0,
|
|
6025
|
-
/* @__PURE__ */ (0,
|
|
6026
|
-
/* @__PURE__ */ (0,
|
|
6027
|
-
/* @__PURE__ */ (0,
|
|
6028
|
-
/* @__PURE__ */ (0,
|
|
6029
|
-
featured.summary && /* @__PURE__ */ (0,
|
|
6030
|
-
featured.tags && featured.tags.length > 0 && /* @__PURE__ */ (0,
|
|
6031
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
6032
|
-
/* @__PURE__ */ (0,
|
|
6282
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-desktopBody", children: [
|
|
6283
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-sidebar bh-sidebarLeft", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ColumnSection, { column: { ...leftColumn, label: void 0 }, showThumbnails: true }) }),
|
|
6284
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-divider" }),
|
|
6285
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-center", children: [
|
|
6286
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-featured", children: [
|
|
6287
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-featuredInfo", children: [
|
|
6288
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h2", { className: "bh-featuredTitle", children: featured.title }),
|
|
6289
|
+
featured.summary && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "bh-featuredSummary", children: featured.summary }),
|
|
6290
|
+
featured.tags && featured.tags.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-featuredTags", children: featured.tags.map((tag, i) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("span", { className: "bh-tagItem", children: [
|
|
6291
|
+
i > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { "aria-hidden": "true", className: "bh-tagDot", children: "\xB7" }),
|
|
6292
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Tag, { label: tag, size: "md", variant: "custom" })
|
|
6033
6293
|
] }, i)) })
|
|
6034
6294
|
] }),
|
|
6035
|
-
featured.thumbnail && /* @__PURE__ */ (0,
|
|
6295
|
+
featured.thumbnail && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-featuredImage", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("img", { alt: featured.thumbnailAlt ?? "", className: "bh-featuredImg", src: featured.thumbnail }) })
|
|
6036
6296
|
] }),
|
|
6037
|
-
featuredFooter.length > 0 && /* @__PURE__ */ (0,
|
|
6038
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
6039
|
-
/* @__PURE__ */ (0,
|
|
6040
|
-
/* @__PURE__ */ (0,
|
|
6041
|
-
article.tags && article.tags.length > 0 && /* @__PURE__ */ (0,
|
|
6042
|
-
j > 0 && /* @__PURE__ */ (0,
|
|
6043
|
-
/* @__PURE__ */ (0,
|
|
6297
|
+
featuredFooter.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-featuredFooter", children: featuredFooter.map((article, i) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-footerItem", children: [
|
|
6298
|
+
i > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-footerDivider" }),
|
|
6299
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-footerContent", children: [
|
|
6300
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "bh-footerTitle", children: article.title }),
|
|
6301
|
+
article.tags && article.tags.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-listItemTags", children: article.tags.map((tag, j) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("span", { className: "bh-tagItem", children: [
|
|
6302
|
+
j > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { "aria-hidden": "true", className: "bh-tagDot", children: "\xB7" }),
|
|
6303
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Tag, { label: tag, size: "md", variant: "custom" })
|
|
6044
6304
|
] }, j)) })
|
|
6045
6305
|
] })
|
|
6046
6306
|
] }, i)) })
|
|
6047
6307
|
] }),
|
|
6048
|
-
/* @__PURE__ */ (0,
|
|
6049
|
-
/* @__PURE__ */ (0,
|
|
6308
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-divider" }),
|
|
6309
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-sidebar bh-sidebarRight", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ColumnSection, { column: { ...rightColumn, label: void 0 } }) })
|
|
6050
6310
|
] })
|
|
6051
6311
|
] }),
|
|
6052
|
-
/* @__PURE__ */ (0,
|
|
6053
|
-
/* @__PURE__ */ (0,
|
|
6054
|
-
/* @__PURE__ */ (0,
|
|
6055
|
-
/* @__PURE__ */ (0,
|
|
6056
|
-
/* @__PURE__ */ (0,
|
|
6057
|
-
featured.summary && /* @__PURE__ */ (0,
|
|
6058
|
-
featured.tags && featured.tags.length > 0 && /* @__PURE__ */ (0,
|
|
6059
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
6060
|
-
/* @__PURE__ */ (0,
|
|
6312
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-mobile", children: [
|
|
6313
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-mobileFeatured", children: [
|
|
6314
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-mobileLabel", children: leftColumn.label ?? "Trending stories" }),
|
|
6315
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-featuredInfo", children: [
|
|
6316
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h2", { className: "bh-featuredTitle", children: featured.title }),
|
|
6317
|
+
featured.summary && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "bh-featuredSummary", children: featured.summary }),
|
|
6318
|
+
featured.tags && featured.tags.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-featuredTags", children: featured.tags.map((tag, i) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("span", { className: "bh-tagItem", children: [
|
|
6319
|
+
i > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { "aria-hidden": "true", className: "bh-tagDot", children: "\xB7" }),
|
|
6320
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Tag, { label: tag, size: "md", variant: "custom" })
|
|
6061
6321
|
] }, i)) })
|
|
6062
6322
|
] }),
|
|
6063
|
-
featured.thumbnail && /* @__PURE__ */ (0,
|
|
6064
|
-
featuredFooter.length > 0 && /* @__PURE__ */ (0,
|
|
6065
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
6066
|
-
/* @__PURE__ */ (0,
|
|
6067
|
-
/* @__PURE__ */ (0,
|
|
6068
|
-
article.tags && article.tags.length > 0 && /* @__PURE__ */ (0,
|
|
6069
|
-
j > 0 && /* @__PURE__ */ (0,
|
|
6070
|
-
/* @__PURE__ */ (0,
|
|
6323
|
+
featured.thumbnail && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-mobileFeaturedImage", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("img", { alt: featured.thumbnailAlt ?? "", className: "bh-featuredImg", src: featured.thumbnail }) }),
|
|
6324
|
+
featuredFooter.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-featuredFooter", children: featuredFooter.map((article, i) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-footerItem", children: [
|
|
6325
|
+
i > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bh-footerDivider" }),
|
|
6326
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "bh-footerContent", children: [
|
|
6327
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "bh-footerTitle", children: article.title }),
|
|
6328
|
+
article.tags && article.tags.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-listItemTags", children: article.tags.map((tag, j) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("span", { className: "bh-tagItem", children: [
|
|
6329
|
+
j > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { "aria-hidden": "true", className: "bh-tagDot", children: "\xB7" }),
|
|
6330
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Tag, { label: tag, size: "md", variant: "custom" })
|
|
6071
6331
|
] }, j)) })
|
|
6072
6332
|
] })
|
|
6073
6333
|
] }, i)) })
|
|
6074
6334
|
] }),
|
|
6075
|
-
/* @__PURE__ */ (0,
|
|
6076
|
-
/* @__PURE__ */ (0,
|
|
6335
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-mobileSection", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ColumnSection, { column: { ...leftColumn, label: void 0 }, showThumbnails: true }) }),
|
|
6336
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bh-mobileSection", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ColumnSection, { column: rightColumn }) })
|
|
6077
6337
|
] })
|
|
6078
6338
|
] });
|
|
6079
6339
|
};
|
|
6080
6340
|
|
|
6081
6341
|
// templates/ArticleSection/ArticleSection.tsx
|
|
6082
|
-
var
|
|
6342
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
6083
6343
|
var ArticleSection = ({
|
|
6084
6344
|
variant = "featured",
|
|
6085
6345
|
sectionTitle,
|
|
@@ -6095,14 +6355,14 @@ var ArticleSection = ({
|
|
|
6095
6355
|
const midpoint = Math.ceil(articles.length / 2);
|
|
6096
6356
|
const col2 = articles.slice(0, midpoint);
|
|
6097
6357
|
const col3 = articles.slice(midpoint);
|
|
6098
|
-
return /* @__PURE__ */ (0,
|
|
6099
|
-
/* @__PURE__ */ (0,
|
|
6100
|
-
/* @__PURE__ */ (0,
|
|
6101
|
-
linkText && /* @__PURE__ */ (0,
|
|
6358
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("section", { className: rootClass, children: [
|
|
6359
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "as-header", children: [
|
|
6360
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("h2", { className: "as-title", children: sectionTitle }),
|
|
6361
|
+
linkText && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Link, { colorScheme: "coral", label: linkText, onClick: onLinkClick })
|
|
6102
6362
|
] }),
|
|
6103
|
-
/* @__PURE__ */ (0,
|
|
6104
|
-
!isShowcase && !isGrid && featured && /* @__PURE__ */ (0,
|
|
6105
|
-
/* @__PURE__ */ (0,
|
|
6363
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "as-desktop", children: [
|
|
6364
|
+
!isShowcase && !isGrid && featured && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
|
|
6365
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-featuredRow", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6106
6366
|
Card,
|
|
6107
6367
|
{
|
|
6108
6368
|
variant: "thumbnail",
|
|
@@ -6118,7 +6378,7 @@ var ArticleSection = ({
|
|
|
6118
6378
|
hideAvatar: true
|
|
6119
6379
|
}
|
|
6120
6380
|
) }),
|
|
6121
|
-
/* @__PURE__ */ (0,
|
|
6381
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-grid", children: articles.map((article, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-gridItem", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6122
6382
|
Card,
|
|
6123
6383
|
{
|
|
6124
6384
|
variant: "thumbnail",
|
|
@@ -6135,7 +6395,7 @@ var ArticleSection = ({
|
|
|
6135
6395
|
}
|
|
6136
6396
|
) }, i)) })
|
|
6137
6397
|
] }),
|
|
6138
|
-
isGrid && /* @__PURE__ */ (0,
|
|
6398
|
+
isGrid && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-grid", children: articles.map((article, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-gridItem", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6139
6399
|
Card,
|
|
6140
6400
|
{
|
|
6141
6401
|
variant: "thumbnail",
|
|
@@ -6151,8 +6411,8 @@ var ArticleSection = ({
|
|
|
6151
6411
|
hideAvatar: true
|
|
6152
6412
|
}
|
|
6153
6413
|
) }, i)) }),
|
|
6154
|
-
isShowcase && /* @__PURE__ */ (0,
|
|
6155
|
-
/* @__PURE__ */ (0,
|
|
6414
|
+
isShowcase && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "as-showcaseGrid", children: [
|
|
6415
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-showcaseFeatured", children: featured && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6156
6416
|
Card,
|
|
6157
6417
|
{
|
|
6158
6418
|
variant: "thumbnail",
|
|
@@ -6168,7 +6428,7 @@ var ArticleSection = ({
|
|
|
6168
6428
|
hideAvatar: true
|
|
6169
6429
|
}
|
|
6170
6430
|
) }),
|
|
6171
|
-
/* @__PURE__ */ (0,
|
|
6431
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-showcaseCol", children: col2.map((article, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-showcaseItem", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6172
6432
|
Card,
|
|
6173
6433
|
{
|
|
6174
6434
|
variant: "thumbnail",
|
|
@@ -6184,7 +6444,7 @@ var ArticleSection = ({
|
|
|
6184
6444
|
hideAvatar: true
|
|
6185
6445
|
}
|
|
6186
6446
|
) }, i)) }),
|
|
6187
|
-
/* @__PURE__ */ (0,
|
|
6447
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-showcaseCol", children: col3.map((article, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-showcaseItem", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6188
6448
|
Card,
|
|
6189
6449
|
{
|
|
6190
6450
|
variant: "thumbnail",
|
|
@@ -6202,8 +6462,8 @@ var ArticleSection = ({
|
|
|
6202
6462
|
) }, i)) })
|
|
6203
6463
|
] })
|
|
6204
6464
|
] }),
|
|
6205
|
-
/* @__PURE__ */ (0,
|
|
6206
|
-
!isGrid && featured && /* @__PURE__ */ (0,
|
|
6465
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: isGrid ? "as-mobile-grid" : "as-mobile", children: [
|
|
6466
|
+
!isGrid && featured && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-mobileFeatured", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6207
6467
|
Card,
|
|
6208
6468
|
{
|
|
6209
6469
|
variant: "thumbnail",
|
|
@@ -6219,7 +6479,7 @@ var ArticleSection = ({
|
|
|
6219
6479
|
hideAvatar: true
|
|
6220
6480
|
}
|
|
6221
6481
|
) }),
|
|
6222
|
-
!isGrid && /* @__PURE__ */ (0,
|
|
6482
|
+
!isGrid && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-mobileList", children: articles.map((article, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-mobileListItem", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6223
6483
|
Card,
|
|
6224
6484
|
{
|
|
6225
6485
|
variant: "thumbnail",
|
|
@@ -6235,7 +6495,7 @@ var ArticleSection = ({
|
|
|
6235
6495
|
hideAvatar: true
|
|
6236
6496
|
}
|
|
6237
6497
|
) }, i)) }),
|
|
6238
|
-
isGrid && /* @__PURE__ */ (0,
|
|
6498
|
+
isGrid && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-mobileScroll", children: articles.map((article, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "as-mobileScrollItem", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6239
6499
|
Card,
|
|
6240
6500
|
{
|
|
6241
6501
|
variant: "thumbnail",
|
|
@@ -6256,8 +6516,8 @@ var ArticleSection = ({
|
|
|
6256
6516
|
};
|
|
6257
6517
|
|
|
6258
6518
|
// templates/CoralBanner/CoralBanner.tsx
|
|
6259
|
-
var
|
|
6260
|
-
var
|
|
6519
|
+
var import_react26 = require("react");
|
|
6520
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
6261
6521
|
var DEFAULT_SLIDES = [
|
|
6262
6522
|
{
|
|
6263
6523
|
title: "Section title goes here",
|
|
@@ -6278,14 +6538,14 @@ var CORAL_BANNER_DERIV_SLIDES = [
|
|
|
6278
6538
|
primaryButton: { label: "Trade now", href: "#" }
|
|
6279
6539
|
}
|
|
6280
6540
|
];
|
|
6281
|
-
var LeftArrowIcon = () => /* @__PURE__ */ (0,
|
|
6541
|
+
var LeftArrowIcon = () => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("svg", { viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", focusable: "false", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6282
6542
|
"path",
|
|
6283
6543
|
{
|
|
6284
6544
|
d: "M3.31066 8.75001L9.03033 14.4697L7.96967 15.5303L0.439339 8.00001L7.96967 0.469676L9.03033 1.53034L3.31066 7.25001L15.5 7.25L15.5 8.75L3.31066 8.75001Z",
|
|
6285
6545
|
fill: "currentColor"
|
|
6286
6546
|
}
|
|
6287
6547
|
) });
|
|
6288
|
-
var RightArrowIcon = () => /* @__PURE__ */ (0,
|
|
6548
|
+
var RightArrowIcon = () => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("svg", { viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", focusable: "false", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6289
6549
|
"path",
|
|
6290
6550
|
{
|
|
6291
6551
|
d: "M12.6893 7.25L6.96967 1.53033L8.03033 0.469666L15.5607 8L8.03033 15.5303L6.96967 14.4697L12.6893 8.75H0.5V7.25H12.6893Z",
|
|
@@ -6294,9 +6554,9 @@ var RightArrowIcon = () => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("svg",
|
|
|
6294
6554
|
) });
|
|
6295
6555
|
var renderTitleLines = (title) => {
|
|
6296
6556
|
const lines = title.split("\n");
|
|
6297
|
-
return lines.map((line, i) => /* @__PURE__ */ (0,
|
|
6557
|
+
return lines.map((line, i) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("span", { children: [
|
|
6298
6558
|
line,
|
|
6299
|
-
i < lines.length - 1 && /* @__PURE__ */ (0,
|
|
6559
|
+
i < lines.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("br", {})
|
|
6300
6560
|
] }, i));
|
|
6301
6561
|
};
|
|
6302
6562
|
var ButtonBlock3 = ({
|
|
@@ -6304,8 +6564,8 @@ var ButtonBlock3 = ({
|
|
|
6304
6564
|
secondaryButton
|
|
6305
6565
|
}) => {
|
|
6306
6566
|
if (!primaryButton && !secondaryButton) return null;
|
|
6307
|
-
return /* @__PURE__ */ (0,
|
|
6308
|
-
primaryButton && (primaryButton.href ? /* @__PURE__ */ (0,
|
|
6567
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "crb__buttons", children: [
|
|
6568
|
+
primaryButton && (primaryButton.href ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("a", { href: primaryButton.href, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6309
6569
|
Button,
|
|
6310
6570
|
{
|
|
6311
6571
|
colorScheme: "black",
|
|
@@ -6313,7 +6573,7 @@ var ButtonBlock3 = ({
|
|
|
6313
6573
|
label: primaryButton.label,
|
|
6314
6574
|
onClick: primaryButton.onClick
|
|
6315
6575
|
}
|
|
6316
|
-
) }) : /* @__PURE__ */ (0,
|
|
6576
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6317
6577
|
Button,
|
|
6318
6578
|
{
|
|
6319
6579
|
colorScheme: "black",
|
|
@@ -6322,7 +6582,7 @@ var ButtonBlock3 = ({
|
|
|
6322
6582
|
onClick: primaryButton.onClick
|
|
6323
6583
|
}
|
|
6324
6584
|
)),
|
|
6325
|
-
secondaryButton && (secondaryButton.href ? /* @__PURE__ */ (0,
|
|
6585
|
+
secondaryButton && (secondaryButton.href ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("a", { href: secondaryButton.href, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6326
6586
|
Button,
|
|
6327
6587
|
{
|
|
6328
6588
|
colorScheme: "white",
|
|
@@ -6330,7 +6590,7 @@ var ButtonBlock3 = ({
|
|
|
6330
6590
|
label: secondaryButton.label,
|
|
6331
6591
|
onClick: secondaryButton.onClick
|
|
6332
6592
|
}
|
|
6333
|
-
) }) : /* @__PURE__ */ (0,
|
|
6593
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6334
6594
|
Button,
|
|
6335
6595
|
{
|
|
6336
6596
|
colorScheme: "white",
|
|
@@ -6341,11 +6601,11 @@ var ButtonBlock3 = ({
|
|
|
6341
6601
|
))
|
|
6342
6602
|
] });
|
|
6343
6603
|
};
|
|
6344
|
-
var SlideContent = ({ slide }) => /* @__PURE__ */ (0,
|
|
6345
|
-
/* @__PURE__ */ (0,
|
|
6346
|
-
/* @__PURE__ */ (0,
|
|
6347
|
-
slide.description && /* @__PURE__ */ (0,
|
|
6348
|
-
/* @__PURE__ */ (0,
|
|
6604
|
+
var SlideContent = ({ slide }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "crb__grid", children: [
|
|
6605
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "crb__content", children: [
|
|
6606
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("h3", { className: "crb__title", children: renderTitleLines(slide.title) }),
|
|
6607
|
+
slide.description && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "crb__description", children: slide.description }),
|
|
6608
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6349
6609
|
ButtonBlock3,
|
|
6350
6610
|
{
|
|
6351
6611
|
primaryButton: slide.primaryButton,
|
|
@@ -6353,7 +6613,7 @@ var SlideContent = ({ slide }) => /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)
|
|
|
6353
6613
|
}
|
|
6354
6614
|
)
|
|
6355
6615
|
] }),
|
|
6356
|
-
/* @__PURE__ */ (0,
|
|
6616
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "crb__spacer", "aria-hidden": "true" })
|
|
6357
6617
|
] });
|
|
6358
6618
|
var CoralBanner = ({
|
|
6359
6619
|
variant = "static",
|
|
@@ -6370,10 +6630,10 @@ var CoralBanner = ({
|
|
|
6370
6630
|
const resolvedSlides = slides && slides.length > 0 ? slides : DEFAULT_SLIDES;
|
|
6371
6631
|
const count = resolvedSlides.length;
|
|
6372
6632
|
const isCarousel = variant === "carousel" && count > 1;
|
|
6373
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
6374
|
-
const autoplayTimer = (0,
|
|
6375
|
-
const dragState = (0,
|
|
6376
|
-
const goTo = (0,
|
|
6633
|
+
const [activeIndex, setActiveIndex] = (0, import_react26.useState)(0);
|
|
6634
|
+
const autoplayTimer = (0, import_react26.useRef)(null);
|
|
6635
|
+
const dragState = (0, import_react26.useRef)(null);
|
|
6636
|
+
const goTo = (0, import_react26.useCallback)(
|
|
6377
6637
|
(index) => {
|
|
6378
6638
|
if (count <= 1) return;
|
|
6379
6639
|
const next = infinite ? (index % count + count) % count : Math.max(0, Math.min(index, count - 1));
|
|
@@ -6381,12 +6641,12 @@ var CoralBanner = ({
|
|
|
6381
6641
|
},
|
|
6382
6642
|
[count, infinite]
|
|
6383
6643
|
);
|
|
6384
|
-
const goNext = (0,
|
|
6385
|
-
const goPrev = (0,
|
|
6644
|
+
const goNext = (0, import_react26.useCallback)(() => goTo(activeIndex + 1), [activeIndex, goTo]);
|
|
6645
|
+
const goPrev = (0, import_react26.useCallback)(() => goTo(activeIndex - 1), [activeIndex, goTo]);
|
|
6386
6646
|
const resetAutoplay = () => {
|
|
6387
6647
|
if (autoplayTimer.current) clearTimeout(autoplayTimer.current);
|
|
6388
6648
|
};
|
|
6389
|
-
(0,
|
|
6649
|
+
(0, import_react26.useEffect)(() => {
|
|
6390
6650
|
if (!isCarousel || !autoplay) return;
|
|
6391
6651
|
autoplayTimer.current = setTimeout(() => {
|
|
6392
6652
|
goTo(activeIndex + 1);
|
|
@@ -6416,16 +6676,16 @@ var CoralBanner = ({
|
|
|
6416
6676
|
className
|
|
6417
6677
|
].filter(Boolean).join(" ");
|
|
6418
6678
|
if (!isCarousel) {
|
|
6419
|
-
return /* @__PURE__ */ (0,
|
|
6679
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "crb__inner", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "crb__stage", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SlideContent, { slide: resolvedSlides[0] }) }) }) });
|
|
6420
6680
|
}
|
|
6421
|
-
return /* @__PURE__ */ (0,
|
|
6422
|
-
/* @__PURE__ */ (0,
|
|
6681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "crb__inner", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "crb__stage", children: [
|
|
6682
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6423
6683
|
"div",
|
|
6424
6684
|
{
|
|
6425
6685
|
className: "crb__viewport",
|
|
6426
6686
|
onPointerDown: handlePointerDown,
|
|
6427
6687
|
onPointerUp: handlePointerUp,
|
|
6428
|
-
children: /* @__PURE__ */ (0,
|
|
6688
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6429
6689
|
"div",
|
|
6430
6690
|
{
|
|
6431
6691
|
className: "crb__track",
|
|
@@ -6433,7 +6693,7 @@ var CoralBanner = ({
|
|
|
6433
6693
|
transform: `translateX(-${activeIndex * 100}%)`,
|
|
6434
6694
|
transitionDuration: `${transitionDuration}ms`
|
|
6435
6695
|
},
|
|
6436
|
-
children: resolvedSlides.map((slide, i) => /* @__PURE__ */ (0,
|
|
6696
|
+
children: resolvedSlides.map((slide, i) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6437
6697
|
"div",
|
|
6438
6698
|
{
|
|
6439
6699
|
className: "crb__slide",
|
|
@@ -6441,7 +6701,7 @@ var CoralBanner = ({
|
|
|
6441
6701
|
"aria-roledescription": "slide",
|
|
6442
6702
|
"aria-label": `${i + 1} of ${count}`,
|
|
6443
6703
|
"aria-hidden": i !== activeIndex,
|
|
6444
|
-
children: /* @__PURE__ */ (0,
|
|
6704
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SlideContent, { slide })
|
|
6445
6705
|
},
|
|
6446
6706
|
slide.id ?? i
|
|
6447
6707
|
))
|
|
@@ -6449,7 +6709,7 @@ var CoralBanner = ({
|
|
|
6449
6709
|
)
|
|
6450
6710
|
}
|
|
6451
6711
|
),
|
|
6452
|
-
showDots && /* @__PURE__ */ (0,
|
|
6712
|
+
showDots && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "crb__dots", role: "tablist", "aria-label": "Banner slide navigation", children: resolvedSlides.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6453
6713
|
"button",
|
|
6454
6714
|
{
|
|
6455
6715
|
type: "button",
|
|
@@ -6467,8 +6727,8 @@ var CoralBanner = ({
|
|
|
6467
6727
|
},
|
|
6468
6728
|
i
|
|
6469
6729
|
)) }),
|
|
6470
|
-
showArrows && /* @__PURE__ */ (0,
|
|
6471
|
-
/* @__PURE__ */ (0,
|
|
6730
|
+
showArrows && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "crb__arrows", children: [
|
|
6731
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6472
6732
|
"button",
|
|
6473
6733
|
{
|
|
6474
6734
|
type: "button",
|
|
@@ -6478,10 +6738,10 @@ var CoralBanner = ({
|
|
|
6478
6738
|
resetAutoplay();
|
|
6479
6739
|
goPrev();
|
|
6480
6740
|
},
|
|
6481
|
-
children: /* @__PURE__ */ (0,
|
|
6741
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(LeftArrowIcon, {})
|
|
6482
6742
|
}
|
|
6483
6743
|
),
|
|
6484
|
-
/* @__PURE__ */ (0,
|
|
6744
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6485
6745
|
"button",
|
|
6486
6746
|
{
|
|
6487
6747
|
type: "button",
|
|
@@ -6491,7 +6751,7 @@ var CoralBanner = ({
|
|
|
6491
6751
|
resetAutoplay();
|
|
6492
6752
|
goNext();
|
|
6493
6753
|
},
|
|
6494
|
-
children: /* @__PURE__ */ (0,
|
|
6754
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RightArrowIcon, {})
|
|
6495
6755
|
}
|
|
6496
6756
|
)
|
|
6497
6757
|
] })
|
|
@@ -6505,7 +6765,7 @@ var award_leaf_left_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACA
|
|
|
6505
6765
|
var award_leaf_right_default = "data:image/png;base64,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";
|
|
6506
6766
|
|
|
6507
6767
|
// templates/FeatureAwards/FeatureAwards.tsx
|
|
6508
|
-
var
|
|
6768
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
6509
6769
|
var FEATURE_AWARDS_TEXT_CONTENT = {
|
|
6510
6770
|
title: "Our awards"
|
|
6511
6771
|
};
|
|
@@ -6528,7 +6788,7 @@ var DEFAULT_AWARDS = [
|
|
|
6528
6788
|
{ title: "Best LATAM Region Broker", subtitle: "ADVFN Awards 2024" },
|
|
6529
6789
|
{ title: "Broker of the Year - Global", subtitle: "Finance Magnates 2024" }
|
|
6530
6790
|
];
|
|
6531
|
-
var LaurelIcon = ({ side }) => /* @__PURE__ */ (0,
|
|
6791
|
+
var LaurelIcon = ({ side }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
6532
6792
|
"img",
|
|
6533
6793
|
{
|
|
6534
6794
|
className: `fa__leaf fa__leaf--${side}`,
|
|
@@ -6539,13 +6799,13 @@ var LaurelIcon = ({ side }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
|
6539
6799
|
draggable: false
|
|
6540
6800
|
}
|
|
6541
6801
|
);
|
|
6542
|
-
var AwardBadge2 = ({ award }) => /* @__PURE__ */ (0,
|
|
6543
|
-
/* @__PURE__ */ (0,
|
|
6544
|
-
/* @__PURE__ */ (0,
|
|
6545
|
-
/* @__PURE__ */ (0,
|
|
6546
|
-
/* @__PURE__ */ (0,
|
|
6802
|
+
var AwardBadge2 = ({ award }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "fa__item", role: "listitem", children: [
|
|
6803
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(LaurelIcon, { side: "left" }),
|
|
6804
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "fa__item-text", children: [
|
|
6805
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "fa__item-title", children: award.title }),
|
|
6806
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "fa__item-subtitle", children: award.subtitle })
|
|
6547
6807
|
] }),
|
|
6548
|
-
/* @__PURE__ */ (0,
|
|
6808
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(LaurelIcon, { side: "right" })
|
|
6549
6809
|
] });
|
|
6550
6810
|
var FeatureAwards = ({
|
|
6551
6811
|
title = FEATURE_AWARDS_TEXT_CONTENT.title,
|
|
@@ -6558,23 +6818,23 @@ var FeatureAwards = ({
|
|
|
6558
6818
|
const trackStyle = {
|
|
6559
6819
|
"--fa-duration": `${autoScrollDuration}s`
|
|
6560
6820
|
};
|
|
6561
|
-
return /* @__PURE__ */ (0,
|
|
6821
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
6562
6822
|
"section",
|
|
6563
6823
|
{
|
|
6564
6824
|
className: ["fa", className].filter(Boolean).join(" "),
|
|
6565
6825
|
...props,
|
|
6566
|
-
children: /* @__PURE__ */ (0,
|
|
6567
|
-
title && /* @__PURE__ */ (0,
|
|
6568
|
-
/* @__PURE__ */ (0,
|
|
6569
|
-
/* @__PURE__ */ (0,
|
|
6570
|
-
/* @__PURE__ */ (0,
|
|
6571
|
-
/* @__PURE__ */ (0,
|
|
6826
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "fa__inner", children: [
|
|
6827
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h2", { className: "fa__title", children: title }),
|
|
6828
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "fa__grid", role: "list", children: awards.map((award, i) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(AwardBadge2, { award }, `g-${i}`)) }),
|
|
6829
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "fa__scroller", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "fa__track fa__track--auto", style: trackStyle, children: [
|
|
6830
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "fa__track-group", role: "list", children: awards.map((award, i) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(AwardBadge2, { award }, `m-${i}`)) }),
|
|
6831
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
6572
6832
|
"div",
|
|
6573
6833
|
{
|
|
6574
6834
|
className: "fa__track-group",
|
|
6575
6835
|
role: "presentation",
|
|
6576
6836
|
"aria-hidden": "true",
|
|
6577
|
-
children: awards.map((award, i) => /* @__PURE__ */ (0,
|
|
6837
|
+
children: awards.map((award, i) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(AwardBadge2, { award }, `m-dup-${i}`))
|
|
6578
6838
|
}
|
|
6579
6839
|
)
|
|
6580
6840
|
] }) })
|
|
@@ -6584,7 +6844,7 @@ var FeatureAwards = ({
|
|
|
6584
6844
|
};
|
|
6585
6845
|
|
|
6586
6846
|
// templates/FeatureBlog/FeatureBlog.tsx
|
|
6587
|
-
var
|
|
6847
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
6588
6848
|
var externalLinkRel2 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6589
6849
|
var FEATURE_BLOG_TEXT_CONTENT = {
|
|
6590
6850
|
title: "Deriv press releases",
|
|
@@ -6592,7 +6852,7 @@ var FEATURE_BLOG_TEXT_CONTENT = {
|
|
|
6592
6852
|
};
|
|
6593
6853
|
var PostCard = ({ post, index }) => {
|
|
6594
6854
|
const tags = [post.date, post.category].filter((value) => Boolean(value)).map((label) => ({ label }));
|
|
6595
|
-
const card = /* @__PURE__ */ (0,
|
|
6855
|
+
const card = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6596
6856
|
Card,
|
|
6597
6857
|
{
|
|
6598
6858
|
hideAvatar: true,
|
|
@@ -6608,7 +6868,7 @@ var PostCard = ({ post, index }) => {
|
|
|
6608
6868
|
}
|
|
6609
6869
|
);
|
|
6610
6870
|
if (post.href) {
|
|
6611
|
-
return /* @__PURE__ */ (0,
|
|
6871
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6612
6872
|
"a",
|
|
6613
6873
|
{
|
|
6614
6874
|
className: "fb-cardLink",
|
|
@@ -6620,7 +6880,7 @@ var PostCard = ({ post, index }) => {
|
|
|
6620
6880
|
);
|
|
6621
6881
|
}
|
|
6622
6882
|
if (post.onClick) {
|
|
6623
|
-
return /* @__PURE__ */ (0,
|
|
6883
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6624
6884
|
"button",
|
|
6625
6885
|
{
|
|
6626
6886
|
className: "fb-cardLink fb-cardButton",
|
|
@@ -6631,7 +6891,7 @@ var PostCard = ({ post, index }) => {
|
|
|
6631
6891
|
`${post.title}-${index}`
|
|
6632
6892
|
);
|
|
6633
6893
|
}
|
|
6634
|
-
return /* @__PURE__ */ (0,
|
|
6894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: card }, `${post.title}-${index}`);
|
|
6635
6895
|
};
|
|
6636
6896
|
var FeatureBlog = ({
|
|
6637
6897
|
title = FEATURE_BLOG_TEXT_CONTENT.title,
|
|
@@ -6644,10 +6904,10 @@ var FeatureBlog = ({
|
|
|
6644
6904
|
...props
|
|
6645
6905
|
}) => {
|
|
6646
6906
|
if (!posts || posts.length === 0) return null;
|
|
6647
|
-
return /* @__PURE__ */ (0,
|
|
6648
|
-
title && /* @__PURE__ */ (0,
|
|
6649
|
-
/* @__PURE__ */ (0,
|
|
6650
|
-
showLink && /* @__PURE__ */ (0,
|
|
6907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("section", { className: ["fb-section", className ?? ""].filter(Boolean).join(" "), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "fb-container", children: [
|
|
6908
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("h2", { className: "fb-title", children: title }),
|
|
6909
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "fb-grid", children: posts.map((post, index) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PostCard, { index, post }, `${post.title}-${index}`)) }),
|
|
6910
|
+
showLink && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "fb-linkWrap", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6651
6911
|
Link,
|
|
6652
6912
|
{
|
|
6653
6913
|
colorScheme: "coral",
|
|
@@ -6661,8 +6921,8 @@ var FeatureBlog = ({
|
|
|
6661
6921
|
};
|
|
6662
6922
|
|
|
6663
6923
|
// templates/FeatureBlogCategories/FeatureBlogCategories.tsx
|
|
6664
|
-
var
|
|
6665
|
-
var
|
|
6924
|
+
var import_react27 = require("react");
|
|
6925
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
6666
6926
|
var isExternalUrl = (href) => Boolean(href && /^https?:\/\//i.test(href));
|
|
6667
6927
|
var FEATURE_BLOG_CATEGORIES_TEXT_CONTENT = {
|
|
6668
6928
|
title: "Deriv press releases",
|
|
@@ -6676,7 +6936,7 @@ var PostCard2 = ({
|
|
|
6676
6936
|
categoryLabel
|
|
6677
6937
|
}) => {
|
|
6678
6938
|
const tags = [post.date, categoryLabel].filter((value) => Boolean(value)).map((label) => ({ label }));
|
|
6679
|
-
const card = /* @__PURE__ */ (0,
|
|
6939
|
+
const card = /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
6680
6940
|
Card,
|
|
6681
6941
|
{
|
|
6682
6942
|
hideAvatar: true,
|
|
@@ -6693,7 +6953,7 @@ var PostCard2 = ({
|
|
|
6693
6953
|
);
|
|
6694
6954
|
if (post.href) {
|
|
6695
6955
|
const external = isExternalUrl(post.href);
|
|
6696
|
-
return /* @__PURE__ */ (0,
|
|
6956
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
6697
6957
|
"a",
|
|
6698
6958
|
{
|
|
6699
6959
|
className: "fbc-cardLink",
|
|
@@ -6705,9 +6965,9 @@ var PostCard2 = ({
|
|
|
6705
6965
|
);
|
|
6706
6966
|
}
|
|
6707
6967
|
if (post.onClick) {
|
|
6708
|
-
return /* @__PURE__ */ (0,
|
|
6968
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("button", { className: "fbc-cardLink fbc-cardButton", onClick: post.onClick, type: "button", children: card });
|
|
6709
6969
|
}
|
|
6710
|
-
return /* @__PURE__ */ (0,
|
|
6970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { children: card });
|
|
6711
6971
|
};
|
|
6712
6972
|
var FeatureBlogCategories = ({
|
|
6713
6973
|
title = FEATURE_BLOG_CATEGORIES_TEXT_CONTENT.title,
|
|
@@ -6725,20 +6985,20 @@ var FeatureBlogCategories = ({
|
|
|
6725
6985
|
className,
|
|
6726
6986
|
...props
|
|
6727
6987
|
}) => {
|
|
6728
|
-
const [search, setSearch] = (0,
|
|
6729
|
-
const [internalActiveId, setInternalActiveId] = (0,
|
|
6988
|
+
const [search, setSearch] = (0, import_react27.useState)("");
|
|
6989
|
+
const [internalActiveId, setInternalActiveId] = (0, import_react27.useState)(defaultActiveCategoryId ?? allCategoryId);
|
|
6730
6990
|
const isControlled = activeCategoryId !== void 0;
|
|
6731
6991
|
const activeId = isControlled ? activeCategoryId : internalActiveId;
|
|
6732
|
-
const tabs = (0,
|
|
6992
|
+
const tabs = (0, import_react27.useMemo)(
|
|
6733
6993
|
() => [{ id: allCategoryId, label: allCategoryLabel }, ...categories],
|
|
6734
6994
|
[allCategoryId, allCategoryLabel, categories]
|
|
6735
6995
|
);
|
|
6736
|
-
const categoryLabelById = (0,
|
|
6996
|
+
const categoryLabelById = (0, import_react27.useMemo)(() => {
|
|
6737
6997
|
const map = /* @__PURE__ */ new Map();
|
|
6738
6998
|
categories.forEach((category) => map.set(category.id, category.label));
|
|
6739
6999
|
return map;
|
|
6740
7000
|
}, [categories]);
|
|
6741
|
-
const filteredPosts = (0,
|
|
7001
|
+
const filteredPosts = (0, import_react27.useMemo)(() => {
|
|
6742
7002
|
const query = search.trim().toLowerCase();
|
|
6743
7003
|
return posts.filter((post) => {
|
|
6744
7004
|
const matchesCategory = activeId === allCategoryId || post.category === activeId;
|
|
@@ -6759,9 +7019,9 @@ var FeatureBlogCategories = ({
|
|
|
6759
7019
|
setSearch("");
|
|
6760
7020
|
onSearchChange?.("");
|
|
6761
7021
|
};
|
|
6762
|
-
return /* @__PURE__ */ (0,
|
|
6763
|
-
title && /* @__PURE__ */ (0,
|
|
6764
|
-
/* @__PURE__ */ (0,
|
|
7022
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("section", { className: ["fbc-section", className ?? ""].filter(Boolean).join(" "), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "fbc-container", children: [
|
|
7023
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("h2", { className: "fbc-title", children: title }),
|
|
7024
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "fbc-searchWrap", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
6765
7025
|
SearchField,
|
|
6766
7026
|
{
|
|
6767
7027
|
"aria-label": searchAriaLabel ?? searchPlaceholder,
|
|
@@ -6772,23 +7032,23 @@ var FeatureBlogCategories = ({
|
|
|
6772
7032
|
variant: "outline"
|
|
6773
7033
|
}
|
|
6774
7034
|
) }),
|
|
6775
|
-
/* @__PURE__ */ (0,
|
|
6776
|
-
filteredPosts.length > 0 ? /* @__PURE__ */ (0,
|
|
7035
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "fbc-tabsWrap", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Tabs, { activeId: activeId ?? allCategoryId, items: tabs, onChange: handleTabChange }) }),
|
|
7036
|
+
filteredPosts.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "fbc-grid", children: filteredPosts.map((post, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
6777
7037
|
PostCard2,
|
|
6778
7038
|
{
|
|
6779
7039
|
categoryLabel: post.categoryLabel ?? categoryLabelById.get(post.category),
|
|
6780
7040
|
post
|
|
6781
7041
|
},
|
|
6782
7042
|
`${post.title}-${index}`
|
|
6783
|
-
)) }) : /* @__PURE__ */ (0,
|
|
7043
|
+
)) }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "fbc-emptyState", children: emptyStateText })
|
|
6784
7044
|
] }) });
|
|
6785
7045
|
};
|
|
6786
7046
|
|
|
6787
7047
|
// templates/HelpCentreCategories/HelpCentreCategories.tsx
|
|
6788
|
-
var
|
|
7048
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
6789
7049
|
var externalLinkRel3 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6790
|
-
var CategoryTileContent = ({ category }) => /* @__PURE__ */ (0,
|
|
6791
|
-
category.icon && /* @__PURE__ */ (0,
|
|
7050
|
+
var CategoryTileContent = ({ category }) => /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
|
|
7051
|
+
category.icon && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "hcc-tile-icon", children: typeof category.icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
6792
7052
|
"img",
|
|
6793
7053
|
{
|
|
6794
7054
|
alt: category.iconAlt ?? "",
|
|
@@ -6800,22 +7060,22 @@ var CategoryTileContent = ({ category }) => /* @__PURE__ */ (0, import_jsx_runti
|
|
|
6800
7060
|
width: 48
|
|
6801
7061
|
}
|
|
6802
7062
|
) : category.icon }),
|
|
6803
|
-
/* @__PURE__ */ (0,
|
|
7063
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "hcc-tile-title", children: category.title })
|
|
6804
7064
|
] });
|
|
6805
7065
|
var CategoryTile = ({ category }) => {
|
|
6806
7066
|
if (category.href) {
|
|
6807
|
-
return /* @__PURE__ */ (0,
|
|
7067
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
6808
7068
|
"a",
|
|
6809
7069
|
{
|
|
6810
7070
|
className: "hcc-tile",
|
|
6811
7071
|
href: category.href,
|
|
6812
7072
|
onClick: category.onClick,
|
|
6813
7073
|
rel: externalLinkRel3(category.href),
|
|
6814
|
-
children: /* @__PURE__ */ (0,
|
|
7074
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(CategoryTileContent, { category })
|
|
6815
7075
|
}
|
|
6816
7076
|
);
|
|
6817
7077
|
}
|
|
6818
|
-
return /* @__PURE__ */ (0,
|
|
7078
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("button", { className: "hcc-tile", onClick: category.onClick, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(CategoryTileContent, { category }) });
|
|
6819
7079
|
};
|
|
6820
7080
|
var getColumnCount = (categoryCount) => Math.max(1, Math.min(categoryCount, 3));
|
|
6821
7081
|
var HelpCentreCategories = ({
|
|
@@ -6824,24 +7084,24 @@ var HelpCentreCategories = ({
|
|
|
6824
7084
|
categories
|
|
6825
7085
|
}) => {
|
|
6826
7086
|
const columnCount = getColumnCount(categories.length);
|
|
6827
|
-
return /* @__PURE__ */ (0,
|
|
6828
|
-
(sectionTitle || sectionDescription) && /* @__PURE__ */ (0,
|
|
6829
|
-
sectionTitle && /* @__PURE__ */ (0,
|
|
6830
|
-
sectionDescription && /* @__PURE__ */ (0,
|
|
7087
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("section", { className: "hcc-section", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "hcc-container", children: [
|
|
7088
|
+
(sectionTitle || sectionDescription) && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "hcc-header", children: [
|
|
7089
|
+
sectionTitle && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("h2", { className: "hcc-sectionTitle", children: sectionTitle }),
|
|
7090
|
+
sectionDescription && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "hcc-sectionDescription", children: sectionDescription })
|
|
6831
7091
|
] }),
|
|
6832
|
-
/* @__PURE__ */ (0,
|
|
7092
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: `hcc-grid hcc-grid--${columnCount}`, role: "list", children: categories.map((category, index) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "hcc-gridItem", role: "listitem", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(CategoryTile, { category }) }, category.id ?? `${category.title}-${index}`)) })
|
|
6833
7093
|
] }) });
|
|
6834
7094
|
};
|
|
6835
7095
|
|
|
6836
7096
|
// templates/HelpCentreSubCategories/HelpCentreSubCategories.tsx
|
|
6837
|
-
var
|
|
6838
|
-
var
|
|
7097
|
+
var import_react28 = require("react");
|
|
7098
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
6839
7099
|
var externalLinkRel4 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6840
7100
|
var QuestionCard = ({ item }) => {
|
|
6841
7101
|
if (item.href) {
|
|
6842
|
-
return /* @__PURE__ */ (0,
|
|
7102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("a", { className: "hcsc-card", href: item.href, onClick: item.onClick, rel: externalLinkRel4(item.href), children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "hcsc-card-text", children: item.question }) });
|
|
6843
7103
|
}
|
|
6844
|
-
return /* @__PURE__ */ (0,
|
|
7104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { className: "hcsc-card", onClick: item.onClick, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "hcsc-card-text", children: item.question }) });
|
|
6845
7105
|
};
|
|
6846
7106
|
var HelpCentreSubCategories = ({
|
|
6847
7107
|
title,
|
|
@@ -6851,8 +7111,8 @@ var HelpCentreSubCategories = ({
|
|
|
6851
7111
|
noResultsText = 'No results found for "{query}"',
|
|
6852
7112
|
onSearchChange
|
|
6853
7113
|
}) => {
|
|
6854
|
-
const [search, setSearch] = (0,
|
|
6855
|
-
const filtered = (0,
|
|
7114
|
+
const [search, setSearch] = (0, import_react28.useState)("");
|
|
7115
|
+
const filtered = (0, import_react28.useMemo)(() => {
|
|
6856
7116
|
const q = search.trim().toLowerCase();
|
|
6857
7117
|
if (!q) return items;
|
|
6858
7118
|
return items.filter((item) => item.question.toLowerCase().includes(q));
|
|
@@ -6865,9 +7125,9 @@ var HelpCentreSubCategories = ({
|
|
|
6865
7125
|
setSearch("");
|
|
6866
7126
|
onSearchChange?.("");
|
|
6867
7127
|
};
|
|
6868
|
-
return /* @__PURE__ */ (0,
|
|
6869
|
-
/* @__PURE__ */ (0,
|
|
6870
|
-
/* @__PURE__ */ (0,
|
|
7128
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("section", { className: "hcsc-section", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "hcsc-container", children: [
|
|
7129
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h1", { className: "hcsc-title", children: title }),
|
|
7130
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "hcsc-searchWrap", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
6871
7131
|
SearchField,
|
|
6872
7132
|
{
|
|
6873
7133
|
"aria-label": searchAriaLabel ?? searchPlaceholder,
|
|
@@ -6878,25 +7138,25 @@ var HelpCentreSubCategories = ({
|
|
|
6878
7138
|
variant: "outline"
|
|
6879
7139
|
}
|
|
6880
7140
|
) }),
|
|
6881
|
-
filtered.length > 0 ? /* @__PURE__ */ (0,
|
|
7141
|
+
filtered.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "hcsc-grid", role: "list", children: filtered.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "hcsc-gridItem", role: "listitem", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(QuestionCard, { item }) }, item.id ?? `${item.question}-${index}`)) }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "hcsc-noResults", children: noResultsText.replace("{query}", search) })
|
|
6882
7142
|
] }) });
|
|
6883
7143
|
};
|
|
6884
7144
|
|
|
6885
7145
|
// templates/HelpCenterPage/HelpCenterPage.tsx
|
|
6886
|
-
var
|
|
6887
|
-
var
|
|
7146
|
+
var import_react29 = require("react");
|
|
7147
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
6888
7148
|
var externalLinkRel5 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6889
|
-
var ChevronDownIcon5 = () => /* @__PURE__ */ (0,
|
|
7149
|
+
var ChevronDownIcon5 = () => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("svg", { "aria-hidden": "true", fill: "none", height: "16", viewBox: "0 0 16 16", width: "16", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("path", { d: "M4 6l4 4 4-4", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" }) });
|
|
6890
7150
|
var renderBlock = (block, index) => {
|
|
6891
7151
|
if (block.type === "heading") {
|
|
6892
7152
|
const HeadingTag = block.level === 3 ? "h3" : "h2";
|
|
6893
|
-
return /* @__PURE__ */ (0,
|
|
7153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(HeadingTag, { className: "hcp-blockHeading", children: block.text }, index);
|
|
6894
7154
|
}
|
|
6895
7155
|
if (block.type === "list") {
|
|
6896
7156
|
const ListTag = block.ordered ? "ol" : "ul";
|
|
6897
|
-
return /* @__PURE__ */ (0,
|
|
7157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ListTag, { className: "hcp-blockList", children: (block.items ?? []).map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("li", { className: "hcp-blockListItem", children: item }, i)) }, index);
|
|
6898
7158
|
}
|
|
6899
|
-
return /* @__PURE__ */ (0,
|
|
7159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "hcp-blockParagraph", children: block.text }, index);
|
|
6900
7160
|
};
|
|
6901
7161
|
var QuestionRow = ({
|
|
6902
7162
|
item,
|
|
@@ -6905,7 +7165,7 @@ var QuestionRow = ({
|
|
|
6905
7165
|
}) => {
|
|
6906
7166
|
const rowClass = ["hcp-row", isActive ? "hcp-row--active" : ""].filter(Boolean).join(" ");
|
|
6907
7167
|
if (item.href) {
|
|
6908
|
-
return /* @__PURE__ */ (0,
|
|
7168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
6909
7169
|
"a",
|
|
6910
7170
|
{
|
|
6911
7171
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -6916,11 +7176,11 @@ var QuestionRow = ({
|
|
|
6916
7176
|
onSelect(item);
|
|
6917
7177
|
},
|
|
6918
7178
|
rel: externalLinkRel5(item.href),
|
|
6919
|
-
children: /* @__PURE__ */ (0,
|
|
7179
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "hcp-rowText", children: item.question })
|
|
6920
7180
|
}
|
|
6921
7181
|
);
|
|
6922
7182
|
}
|
|
6923
|
-
return /* @__PURE__ */ (0,
|
|
7183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
6924
7184
|
"button",
|
|
6925
7185
|
{
|
|
6926
7186
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -6930,7 +7190,7 @@ var QuestionRow = ({
|
|
|
6930
7190
|
onSelect(item);
|
|
6931
7191
|
},
|
|
6932
7192
|
type: "button",
|
|
6933
|
-
children: /* @__PURE__ */ (0,
|
|
7193
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "hcp-rowText", children: item.question })
|
|
6934
7194
|
}
|
|
6935
7195
|
);
|
|
6936
7196
|
};
|
|
@@ -6949,13 +7209,13 @@ var HelpCenterPage = ({
|
|
|
6949
7209
|
articlesSheetTitle = "Articles in this section",
|
|
6950
7210
|
className
|
|
6951
7211
|
}) => {
|
|
6952
|
-
const [search, setSearch] = (0,
|
|
6953
|
-
const [internalActiveId, setInternalActiveId] = (0,
|
|
6954
|
-
const [sheetOpen, setSheetOpen] = (0,
|
|
7212
|
+
const [search, setSearch] = (0, import_react29.useState)("");
|
|
7213
|
+
const [internalActiveId, setInternalActiveId] = (0, import_react29.useState)(defaultActiveQuestionId ?? questions[0]?.id);
|
|
7214
|
+
const [sheetOpen, setSheetOpen] = (0, import_react29.useState)(false);
|
|
6955
7215
|
const isControlled = activeQuestionId !== void 0;
|
|
6956
7216
|
const activeId = isControlled ? activeQuestionId : internalActiveId;
|
|
6957
7217
|
const activeItem = questions.find((item) => item.id === activeId);
|
|
6958
|
-
const filtered = (0,
|
|
7218
|
+
const filtered = (0, import_react29.useMemo)(() => {
|
|
6959
7219
|
const q = search.trim().toLowerCase();
|
|
6960
7220
|
if (!q) return questions;
|
|
6961
7221
|
return questions.filter((item) => item.question.toLowerCase().includes(q));
|
|
@@ -6976,9 +7236,9 @@ var HelpCenterPage = ({
|
|
|
6976
7236
|
const resolvedTitle = activeItem?.content ? activeItem.contentTitle ?? contentTitle : contentTitle;
|
|
6977
7237
|
const resolvedContent = activeItem?.content ?? content;
|
|
6978
7238
|
const rootClass = ["hcp-section", className ?? ""].filter(Boolean).join(" ");
|
|
6979
|
-
return /* @__PURE__ */ (0,
|
|
6980
|
-
/* @__PURE__ */ (0,
|
|
6981
|
-
/* @__PURE__ */ (0,
|
|
7239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("section", { className: rootClass, children: [
|
|
7240
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "hcp-container", children: [
|
|
7241
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "hcp-searchWrap", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
6982
7242
|
SearchField,
|
|
6983
7243
|
{
|
|
6984
7244
|
"aria-label": searchAriaLabel ?? searchPlaceholder,
|
|
@@ -6989,12 +7249,12 @@ var HelpCenterPage = ({
|
|
|
6989
7249
|
variant: "outline"
|
|
6990
7250
|
}
|
|
6991
7251
|
) }),
|
|
6992
|
-
/* @__PURE__ */ (0,
|
|
6993
|
-
/* @__PURE__ */ (0,
|
|
6994
|
-
/* @__PURE__ */ (0,
|
|
6995
|
-
filtered.length > 0 ? /* @__PURE__ */ (0,
|
|
7252
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "hcp-body", children: [
|
|
7253
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("aside", { className: "hcp-sidebar", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "hcp-sidebarCard", children: [
|
|
7254
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("h2", { className: "hcp-sidebarTitle", children: categoryTitle }),
|
|
7255
|
+
filtered.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "hcp-list", role: "list", children: filtered.map((item) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "hcp-listItem", role: "listitem", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(QuestionRow, { isActive: item.id === activeId, item, onSelect: handleSelect }) }, item.id)) }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "hcp-noResults", children: searchNoResultsText.replace("{query}", search) })
|
|
6996
7256
|
] }) }),
|
|
6997
|
-
/* @__PURE__ */ (0,
|
|
7257
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
6998
7258
|
"button",
|
|
6999
7259
|
{
|
|
7000
7260
|
"aria-expanded": sheetOpen,
|
|
@@ -7002,23 +7262,23 @@ var HelpCenterPage = ({
|
|
|
7002
7262
|
onClick: () => setSheetOpen(true),
|
|
7003
7263
|
type: "button",
|
|
7004
7264
|
children: [
|
|
7005
|
-
/* @__PURE__ */ (0,
|
|
7006
|
-
/* @__PURE__ */ (0,
|
|
7265
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "hcp-mobileToggleLabel", children: categoryTitle }),
|
|
7266
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "hcp-mobileToggleChevron", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ChevronDownIcon5, {}) })
|
|
7007
7267
|
]
|
|
7008
7268
|
}
|
|
7009
7269
|
),
|
|
7010
|
-
/* @__PURE__ */ (0,
|
|
7011
|
-
/* @__PURE__ */ (0,
|
|
7012
|
-
/* @__PURE__ */ (0,
|
|
7270
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "hcp-content", children: [
|
|
7271
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("h1", { className: "hcp-contentTitle", children: resolvedTitle }),
|
|
7272
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "hcp-contentBody", children: resolvedContent.map(renderBlock) })
|
|
7013
7273
|
] })
|
|
7014
7274
|
] })
|
|
7015
7275
|
] }),
|
|
7016
|
-
/* @__PURE__ */ (0,
|
|
7276
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(BottomSheet, { onClose: () => setSheetOpen(false), open: sheetOpen, title: articlesSheetTitle, children: filtered.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "hcp-sheetList", role: "list", children: filtered.map((item) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "hcp-sheetItem", role: "listitem", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(QuestionRow, { isActive: item.id === activeId, item, onSelect: handleSelect }) }, item.id)) }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "hcp-noResults", children: searchNoResultsText.replace("{query}", search) }) })
|
|
7017
7277
|
] });
|
|
7018
7278
|
};
|
|
7019
7279
|
|
|
7020
7280
|
// templates/FeatureBlogPage/FeatureBlogPage.tsx
|
|
7021
|
-
var
|
|
7281
|
+
var import_react30 = require("react");
|
|
7022
7282
|
|
|
7023
7283
|
// assets/share-link.png
|
|
7024
7284
|
var share_link_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABYklEQVR4AezVgU3DMBAFUMRAzMEQzMEQzMEQzMFE+FX5kuNGF4cgIVWp8us73/n/76vaPj/98+sycE3gmsBDTuCl/bQELayfv5zAW5P6avgYwEzb2n7OGBiJGYjK9xLoYWhJ75ffGCCUm2bF/N7e4HVZxS28Pc7cgvHtiAG3ITiSZd+tIRrizyXRs4TrZdYAgowyxG4IcqyjMXupOS+/w4wBh3txoojsqUVky0D20uPcCnsGCBByCEnEe2JjVtOj3wpiEKcuXmHPwJZ4SBEhloM8kPdnmUxttVYGeoLcfHV4SJiBUbw8WxkI/+ieSGo+CoL29IkPGa8MIIvQuBKz1xvQf0gcQWXArfQgtvZgoK8zAnrUyrFrCmYMIAZnmBEDEWAECAd6p1AZ6MkI+hU0YjEQIMwE9P1qU6gMIAgpITlkT3waewYIEHRDfzIgB7XTmDFwWqQiuAxcE3j8CVTfALUfAAAA//85/ClxAAAABklEQVQDABFpTkF24Li2AAAAAElFTkSuQmCC";
|
|
@@ -7036,9 +7296,9 @@ var share_telegram_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAA
|
|
|
7036
7296
|
var share_linkedin_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABC0lEQVR4AeyU4Q0CMQhGjQM5kXM4hHM4hHM4kbxLSPjRQklJLrlg+tkevcIr5Xq/nfxrgM5AZ2AlAw/5Uncky+ctAnjK0vem8CEuxi0CYOfjletW10cEYMP85OEjKm0ZgJdEBoBehjUtA6AR3ZTqS6t9BuArTilIt6jknVTLAJB+6gARhN7aOBqEjfklZQFwTmCcM0YERdiR2ngnVAbAc0Zd2KMBBHlrjrkqAK0NC3EEiP4qANi9xrFjtbl9BYAbIJpsgEwGOF+kWWWsUhv9yIZ9qAwAlY600untMwEIjg0xxuYqA+A6cibd+yAC4IbbFTfjlC8CYCE72BE+ploBmC6umGiA62cgqpM/AAAA///Uc2lWAAAABklEQVQDAGm0P0FrHt4RAAAAAElFTkSuQmCC";
|
|
7037
7297
|
|
|
7038
7298
|
// templates/FeatureBlogPage/FeatureBlogPage.tsx
|
|
7039
|
-
var
|
|
7040
|
-
var ChevronDownIcon6 = () => /* @__PURE__ */ (0,
|
|
7041
|
-
var CheckIcon3 = () => /* @__PURE__ */ (0,
|
|
7299
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
7300
|
+
var ChevronDownIcon6 = () => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("svg", { "aria-hidden": "true", fill: "none", height: "16", viewBox: "0 0 16 16", width: "16", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("path", { d: "M4 6l4 4 4-4", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" }) });
|
|
7301
|
+
var CheckIcon3 = () => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("svg", { "aria-hidden": "true", fill: "none", height: "18", viewBox: "0 0 16 16", width: "18", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("path", { d: "M3.5 8.5l3 3 6-7", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.6" }) });
|
|
7042
7302
|
var SHARE_ICONS = {
|
|
7043
7303
|
facebook: { src: share_facebook_default, alt: "Facebook" },
|
|
7044
7304
|
twitter: { src: share_x_default, alt: "X" },
|
|
@@ -7075,10 +7335,10 @@ var TocCard = ({
|
|
|
7075
7335
|
idSuffix,
|
|
7076
7336
|
collapsible
|
|
7077
7337
|
}) => {
|
|
7078
|
-
const [open, setOpen] = (0,
|
|
7338
|
+
const [open, setOpen] = (0, import_react30.useState)(defaultOpen);
|
|
7079
7339
|
const panelId = `fbp-toc-panel-${idSuffix}`;
|
|
7080
7340
|
const isOpen = collapsible ? open : true;
|
|
7081
|
-
const list = /* @__PURE__ */ (0,
|
|
7341
|
+
const list = /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("ol", { className: "fbp-tocList", id: panelId, children: headings.map((heading) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("li", { className: "fbp-tocItem", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7082
7342
|
"a",
|
|
7083
7343
|
{
|
|
7084
7344
|
"aria-current": activeId === heading.id ? "location" : void 0,
|
|
@@ -7091,8 +7351,8 @@ var TocCard = ({
|
|
|
7091
7351
|
children: heading.text
|
|
7092
7352
|
}
|
|
7093
7353
|
) }, heading.id)) });
|
|
7094
|
-
return /* @__PURE__ */ (0,
|
|
7095
|
-
collapsible ? /* @__PURE__ */ (0,
|
|
7354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "fbp-tocCard", children: [
|
|
7355
|
+
collapsible ? /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
|
|
7096
7356
|
"button",
|
|
7097
7357
|
{
|
|
7098
7358
|
"aria-controls": panelId,
|
|
@@ -7101,11 +7361,11 @@ var TocCard = ({
|
|
|
7101
7361
|
onClick: () => setOpen((prev) => !prev),
|
|
7102
7362
|
type: "button",
|
|
7103
7363
|
children: [
|
|
7104
|
-
/* @__PURE__ */ (0,
|
|
7105
|
-
/* @__PURE__ */ (0,
|
|
7364
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "fbp-tocTitle", children: tocTitle }),
|
|
7365
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: ["fbp-tocChevron", isOpen ? "fbp-tocChevron--open" : ""].filter(Boolean).join(" "), children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ChevronDownIcon6, {}) })
|
|
7106
7366
|
]
|
|
7107
7367
|
}
|
|
7108
|
-
) : /* @__PURE__ */ (0,
|
|
7368
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "fbp-tocHeader", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "fbp-tocTitle", children: tocTitle }) }),
|
|
7109
7369
|
isOpen && list
|
|
7110
7370
|
] });
|
|
7111
7371
|
};
|
|
@@ -7117,7 +7377,7 @@ var ShareRow = ({
|
|
|
7117
7377
|
onShare,
|
|
7118
7378
|
copiedLabel
|
|
7119
7379
|
}) => {
|
|
7120
|
-
const [copied, setCopied] = (0,
|
|
7380
|
+
const [copied, setCopied] = (0, import_react30.useState)(false);
|
|
7121
7381
|
const handleCopy = async () => {
|
|
7122
7382
|
onShare?.("copy");
|
|
7123
7383
|
try {
|
|
@@ -7129,22 +7389,22 @@ var ShareRow = ({
|
|
|
7129
7389
|
} catch {
|
|
7130
7390
|
}
|
|
7131
7391
|
};
|
|
7132
|
-
return /* @__PURE__ */ (0,
|
|
7133
|
-
/* @__PURE__ */ (0,
|
|
7134
|
-
/* @__PURE__ */ (0,
|
|
7135
|
-
/* @__PURE__ */ (0,
|
|
7392
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "fbp-shareCard", children: [
|
|
7393
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "fbp-shareTitle", children: shareTitle }),
|
|
7394
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "fbp-shareIcons", children: [
|
|
7395
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7136
7396
|
"button",
|
|
7137
7397
|
{
|
|
7138
7398
|
"aria-label": copied ? copiedLabel : "Copy link",
|
|
7139
7399
|
className: "fbp-shareIcon",
|
|
7140
7400
|
onClick: handleCopy,
|
|
7141
7401
|
type: "button",
|
|
7142
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
7402
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(CheckIcon3, {}) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("img", { alt: "", className: "fbp-shareIconImg", src: share_link_default })
|
|
7143
7403
|
}
|
|
7144
7404
|
),
|
|
7145
7405
|
platforms.map((platform) => {
|
|
7146
7406
|
const icon = SHARE_ICONS[platform];
|
|
7147
|
-
return /* @__PURE__ */ (0,
|
|
7407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7148
7408
|
"a",
|
|
7149
7409
|
{
|
|
7150
7410
|
"aria-label": LABELS[platform],
|
|
@@ -7153,7 +7413,7 @@ var ShareRow = ({
|
|
|
7153
7413
|
onClick: () => onShare?.(platform),
|
|
7154
7414
|
rel: "noopener noreferrer",
|
|
7155
7415
|
target: "_blank",
|
|
7156
|
-
children: /* @__PURE__ */ (0,
|
|
7416
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("img", { alt: "", className: "fbp-shareIconImg", src: icon.src })
|
|
7157
7417
|
},
|
|
7158
7418
|
platform
|
|
7159
7419
|
);
|
|
@@ -7166,28 +7426,28 @@ var renderBlock2 = (block, index, headingIds) => {
|
|
|
7166
7426
|
const level = block.level ?? 2;
|
|
7167
7427
|
const HeadingTag = level === 3 ? "h3" : "h2";
|
|
7168
7428
|
const headingClass = level === 3 ? "fbp-blockHeading fbp-blockHeading--h3" : "fbp-blockHeading";
|
|
7169
|
-
return /* @__PURE__ */ (0,
|
|
7429
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(HeadingTag, { className: headingClass, id: headingIds.get(index), children: block.text }, index);
|
|
7170
7430
|
}
|
|
7171
7431
|
if (block.type === "list") {
|
|
7172
7432
|
const ListTag = block.ordered ? "ol" : "ul";
|
|
7173
|
-
return /* @__PURE__ */ (0,
|
|
7433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ListTag, { className: "fbp-blockList", children: (block.items ?? []).map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("li", { className: "fbp-blockListItem", children: item }, i)) }, index);
|
|
7174
7434
|
}
|
|
7175
7435
|
if (block.type === "quote") {
|
|
7176
|
-
return /* @__PURE__ */ (0,
|
|
7177
|
-
/* @__PURE__ */ (0,
|
|
7178
|
-
block.cite && /* @__PURE__ */ (0,
|
|
7436
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("blockquote", { className: "fbp-blockQuote", children: [
|
|
7437
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "fbp-blockQuoteText", children: block.text }),
|
|
7438
|
+
block.cite && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("cite", { className: "fbp-blockQuoteCite", children: block.cite })
|
|
7179
7439
|
] }, index);
|
|
7180
7440
|
}
|
|
7181
7441
|
if (block.type === "image") {
|
|
7182
|
-
return /* @__PURE__ */ (0,
|
|
7183
|
-
/* @__PURE__ */ (0,
|
|
7184
|
-
block.caption && /* @__PURE__ */ (0,
|
|
7442
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("figure", { className: "fbp-blockImageWrap", children: [
|
|
7443
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("img", { alt: block.imageAlt ?? "", className: "fbp-blockImage", src: block.image }),
|
|
7444
|
+
block.caption && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("figcaption", { className: "fbp-blockCaption", children: block.caption })
|
|
7185
7445
|
] }, index);
|
|
7186
7446
|
}
|
|
7187
7447
|
if (block.type === "steps") {
|
|
7188
|
-
return /* @__PURE__ */ (0,
|
|
7448
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "fbp-blockSteps", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Steps, { embedded: true, steps: block.steps ?? [], title: block.text ?? "", titleId: headingIds.get(index) }) }, index);
|
|
7189
7449
|
}
|
|
7190
|
-
return /* @__PURE__ */ (0,
|
|
7450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "fbp-blockParagraph", children: block.text }, index);
|
|
7191
7451
|
};
|
|
7192
7452
|
var FeatureBlogPage = ({
|
|
7193
7453
|
category,
|
|
@@ -7209,7 +7469,7 @@ var FeatureBlogPage = ({
|
|
|
7209
7469
|
copiedLabel = "Copied!",
|
|
7210
7470
|
className
|
|
7211
7471
|
}) => {
|
|
7212
|
-
const headingIds = (0,
|
|
7472
|
+
const headingIds = (0, import_react30.useMemo)(() => {
|
|
7213
7473
|
const seen = /* @__PURE__ */ new Map();
|
|
7214
7474
|
const ids = /* @__PURE__ */ new Map();
|
|
7215
7475
|
content.forEach((block, i) => {
|
|
@@ -7221,14 +7481,14 @@ var FeatureBlogPage = ({
|
|
|
7221
7481
|
});
|
|
7222
7482
|
return ids;
|
|
7223
7483
|
}, [content]);
|
|
7224
|
-
const headings = (0,
|
|
7484
|
+
const headings = (0, import_react30.useMemo)(
|
|
7225
7485
|
() => content.map((block, i) => ({ block, i })).filter(
|
|
7226
7486
|
({ block }) => block.type === "steps" || block.type === "heading" && (block.level ?? 2) === 2
|
|
7227
7487
|
).map(({ block, i }) => ({ id: headingIds.get(i), text: block.text ?? "" })),
|
|
7228
7488
|
[content, headingIds]
|
|
7229
7489
|
);
|
|
7230
|
-
const [activeId, setActiveId] = (0,
|
|
7231
|
-
(0,
|
|
7490
|
+
const [activeId, setActiveId] = (0, import_react30.useState)(null);
|
|
7491
|
+
(0, import_react30.useEffect)(() => {
|
|
7232
7492
|
if (typeof IntersectionObserver === "undefined" || headings.length === 0) return;
|
|
7233
7493
|
const elements = headings.map((heading) => document.getElementById(heading.id)).filter((el) => el !== null);
|
|
7234
7494
|
if (elements.length === 0) return;
|
|
@@ -7256,8 +7516,8 @@ var FeatureBlogPage = ({
|
|
|
7256
7516
|
const showToc = !hideToc && headings.length > 0;
|
|
7257
7517
|
const showShare = !hideShare && Boolean(shareUrl);
|
|
7258
7518
|
const resolvedShareText = shareText ?? title;
|
|
7259
|
-
return /* @__PURE__ */ (0,
|
|
7260
|
-
showToc && /* @__PURE__ */ (0,
|
|
7519
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("section", { className: ["fbp-section", className ?? ""].filter(Boolean).join(" "), children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "fbp-container", children: [
|
|
7520
|
+
showToc && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "fbp-tocMobileWrap", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7261
7521
|
TocCard,
|
|
7262
7522
|
{
|
|
7263
7523
|
activeId,
|
|
@@ -7269,14 +7529,14 @@ var FeatureBlogPage = ({
|
|
|
7269
7529
|
tocTitle
|
|
7270
7530
|
}
|
|
7271
7531
|
) }),
|
|
7272
|
-
/* @__PURE__ */ (0,
|
|
7273
|
-
/* @__PURE__ */ (0,
|
|
7274
|
-
/* @__PURE__ */ (0,
|
|
7275
|
-
category && /* @__PURE__ */ (0,
|
|
7276
|
-
/* @__PURE__ */ (0,
|
|
7277
|
-
(publishDate || author) && /* @__PURE__ */ (0,
|
|
7278
|
-
author && /* @__PURE__ */ (0,
|
|
7279
|
-
author.avatar && /* @__PURE__ */ (0,
|
|
7532
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "fbp-body", children: [
|
|
7533
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "fbp-main", children: [
|
|
7534
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("header", { className: "fbp-header", children: [
|
|
7535
|
+
category && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Tag, { label: category, size: "md", variant: "fill" }),
|
|
7536
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("h1", { className: "fbp-title", children: title }),
|
|
7537
|
+
(publishDate || author) && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "fbp-meta", children: [
|
|
7538
|
+
author && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("span", { className: "fbp-metaAuthor", children: [
|
|
7539
|
+
author.avatar && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7280
7540
|
"img",
|
|
7281
7541
|
{
|
|
7282
7542
|
alt: author.avatarAlt ?? "",
|
|
@@ -7284,14 +7544,14 @@ var FeatureBlogPage = ({
|
|
|
7284
7544
|
src: author.avatar
|
|
7285
7545
|
}
|
|
7286
7546
|
),
|
|
7287
|
-
/* @__PURE__ */ (0,
|
|
7547
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "fbp-authorName", children: author.name })
|
|
7288
7548
|
] }),
|
|
7289
|
-
publishDate && /* @__PURE__ */ (0,
|
|
7549
|
+
publishDate && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "fbp-dateChip", children: publishDate })
|
|
7290
7550
|
] })
|
|
7291
7551
|
] }),
|
|
7292
|
-
heroImage && /* @__PURE__ */ (0,
|
|
7293
|
-
/* @__PURE__ */ (0,
|
|
7294
|
-
showShare && /* @__PURE__ */ (0,
|
|
7552
|
+
heroImage && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "fbp-heroImageWrap", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("img", { alt: heroImageAlt ?? "", className: "fbp-heroImage", src: heroImage }) }),
|
|
7553
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "fbp-content", children: content.map((block, index) => renderBlock2(block, index, headingIds)) }),
|
|
7554
|
+
showShare && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "fbp-shareMobileWrap", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7295
7555
|
ShareRow,
|
|
7296
7556
|
{
|
|
7297
7557
|
copiedLabel,
|
|
@@ -7303,8 +7563,8 @@ var FeatureBlogPage = ({
|
|
|
7303
7563
|
}
|
|
7304
7564
|
) })
|
|
7305
7565
|
] }),
|
|
7306
|
-
(showToc || showShare) && /* @__PURE__ */ (0,
|
|
7307
|
-
showToc && /* @__PURE__ */ (0,
|
|
7566
|
+
(showToc || showShare) && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("aside", { className: "fbp-sidebar", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "fbp-sidebarSticky", children: [
|
|
7567
|
+
showToc && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7308
7568
|
TocCard,
|
|
7309
7569
|
{
|
|
7310
7570
|
activeId,
|
|
@@ -7316,7 +7576,7 @@ var FeatureBlogPage = ({
|
|
|
7316
7576
|
tocTitle
|
|
7317
7577
|
}
|
|
7318
7578
|
),
|
|
7319
|
-
showShare && /* @__PURE__ */ (0,
|
|
7579
|
+
showShare && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7320
7580
|
ShareRow,
|
|
7321
7581
|
{
|
|
7322
7582
|
copiedLabel,
|
|
@@ -7333,9 +7593,9 @@ var FeatureBlogPage = ({
|
|
|
7333
7593
|
};
|
|
7334
7594
|
|
|
7335
7595
|
// templates/ParallaxBanner/ParallaxBanner.tsx
|
|
7336
|
-
var
|
|
7596
|
+
var import_react31 = require("react");
|
|
7337
7597
|
var import_framer_motion5 = require("framer-motion");
|
|
7338
|
-
var
|
|
7598
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
7339
7599
|
var PARALLAX_BANNER_TEXT_CONTENT = {
|
|
7340
7600
|
title: "Our culture",
|
|
7341
7601
|
description: "We combine human values with AI precision. Collaboration, integrity, and continuous learning guide every project.",
|
|
@@ -7376,7 +7636,7 @@ var ParallaxBanner = ({
|
|
|
7376
7636
|
className,
|
|
7377
7637
|
...props
|
|
7378
7638
|
}) => {
|
|
7379
|
-
const sectionRef = (0,
|
|
7639
|
+
const sectionRef = (0, import_react31.useRef)(null);
|
|
7380
7640
|
const prefersReducedMotion = (0, import_framer_motion5.useReducedMotion)();
|
|
7381
7641
|
const parallaxActive = enableParallax && !prefersReducedMotion;
|
|
7382
7642
|
const showCards = variant !== "banner-only" && cards.length > 0;
|
|
@@ -7386,7 +7646,7 @@ var ParallaxBanner = ({
|
|
|
7386
7646
|
});
|
|
7387
7647
|
const smoothProgress = (0, import_framer_motion5.useSpring)(scrollYProgress, PARALLAX_SPRING);
|
|
7388
7648
|
const parallaxY = (0, import_framer_motion5.useTransform)(smoothProgress, [0, 1], [-PARALLAX_PX, PARALLAX_PX]);
|
|
7389
|
-
return /* @__PURE__ */ (0,
|
|
7649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
7390
7650
|
"section",
|
|
7391
7651
|
{
|
|
7392
7652
|
ref: sectionRef,
|
|
@@ -7396,12 +7656,12 @@ var ParallaxBanner = ({
|
|
|
7396
7656
|
className
|
|
7397
7657
|
].filter(Boolean).join(" "),
|
|
7398
7658
|
...props,
|
|
7399
|
-
children: /* @__PURE__ */ (0,
|
|
7400
|
-
/* @__PURE__ */ (0,
|
|
7401
|
-
/* @__PURE__ */ (0,
|
|
7402
|
-
/* @__PURE__ */ (0,
|
|
7403
|
-
description && /* @__PURE__ */ (0,
|
|
7404
|
-
ctaLabel && /* @__PURE__ */ (0,
|
|
7659
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "parallax-banner__inner", children: [
|
|
7660
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "parallax-banner__card", children: [
|
|
7661
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "parallax-banner__content", children: [
|
|
7662
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h2", { className: "parallax-banner__title", children: title }),
|
|
7663
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "parallax-banner__description", children: description }),
|
|
7664
|
+
ctaLabel && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "parallax-banner__actions", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
7405
7665
|
Link,
|
|
7406
7666
|
{
|
|
7407
7667
|
colorScheme: "white",
|
|
@@ -7413,7 +7673,7 @@ var ParallaxBanner = ({
|
|
|
7413
7673
|
}
|
|
7414
7674
|
) })
|
|
7415
7675
|
] }),
|
|
7416
|
-
imageUrl && /* @__PURE__ */ (0,
|
|
7676
|
+
imageUrl && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "parallax-banner__image-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
7417
7677
|
import_framer_motion5.motion.img,
|
|
7418
7678
|
{
|
|
7419
7679
|
src: imageUrl,
|
|
@@ -7424,14 +7684,14 @@ var ParallaxBanner = ({
|
|
|
7424
7684
|
}
|
|
7425
7685
|
) })
|
|
7426
7686
|
] }),
|
|
7427
|
-
showCards && /* @__PURE__ */ (0,
|
|
7687
|
+
showCards && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "parallax-banner__cards", role: "list", children: cards.map((card, index) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
|
|
7428
7688
|
"div",
|
|
7429
7689
|
{
|
|
7430
7690
|
className: "parallax-banner__card-item",
|
|
7431
7691
|
role: "listitem",
|
|
7432
7692
|
children: [
|
|
7433
|
-
/* @__PURE__ */ (0,
|
|
7434
|
-
/* @__PURE__ */ (0,
|
|
7693
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h3", { className: "parallax-banner__card-title", children: card.title }),
|
|
7694
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "parallax-banner__card-description", children: card.description })
|
|
7435
7695
|
]
|
|
7436
7696
|
},
|
|
7437
7697
|
`${card.title}-${index}`
|
|
@@ -7442,8 +7702,8 @@ var ParallaxBanner = ({
|
|
|
7442
7702
|
};
|
|
7443
7703
|
|
|
7444
7704
|
// templates/TradingCalculator/TradingCalculator.tsx
|
|
7445
|
-
var
|
|
7446
|
-
var
|
|
7705
|
+
var import_react32 = require("react");
|
|
7706
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
7447
7707
|
var DEFAULT_SYMBOLS_ENDPOINT = "https://deriv-static-pricingfeedv2.firebaseio.com/n8n/row/prod/dynamic_trading_specs.json";
|
|
7448
7708
|
var DEFAULT_EXCHANGE_RATE_WS_URL = "wss://ws.derivws.com/websockets/v3?app_id=1089";
|
|
7449
7709
|
var USD = "USD";
|
|
@@ -7479,13 +7739,13 @@ function computeResults(symbol, volumeInLots, assetPrice, rates) {
|
|
|
7479
7739
|
return { marginRequired, tradeVolume, pipValue, swapChargeLong, swapChargeShort };
|
|
7480
7740
|
}
|
|
7481
7741
|
function useExchangeRates(wsUrl) {
|
|
7482
|
-
const socketRef = (0,
|
|
7483
|
-
const reqIdRef = (0,
|
|
7484
|
-
const pendingRef = (0,
|
|
7742
|
+
const socketRef = (0, import_react32.useRef)(null);
|
|
7743
|
+
const reqIdRef = (0, import_react32.useRef)(1);
|
|
7744
|
+
const pendingRef = (0, import_react32.useRef)(
|
|
7485
7745
|
/* @__PURE__ */ new Map()
|
|
7486
7746
|
);
|
|
7487
|
-
const cacheRef = (0,
|
|
7488
|
-
(0,
|
|
7747
|
+
const cacheRef = (0, import_react32.useRef)(/* @__PURE__ */ new Map());
|
|
7748
|
+
(0, import_react32.useEffect)(() => {
|
|
7489
7749
|
const pending = pendingRef.current;
|
|
7490
7750
|
return () => {
|
|
7491
7751
|
socketRef.current?.close();
|
|
@@ -7494,7 +7754,7 @@ function useExchangeRates(wsUrl) {
|
|
|
7494
7754
|
pending.clear();
|
|
7495
7755
|
};
|
|
7496
7756
|
}, [wsUrl]);
|
|
7497
|
-
const getRates = (0,
|
|
7757
|
+
const getRates = (0, import_react32.useCallback)(
|
|
7498
7758
|
(baseCurrency) => {
|
|
7499
7759
|
if (!wsUrl) return Promise.reject(new Error("Live exchange rate conversion is disabled"));
|
|
7500
7760
|
const cached = cacheRef.current.get(baseCurrency);
|
|
@@ -7556,11 +7816,11 @@ function useExchangeRates(wsUrl) {
|
|
|
7556
7816
|
return getRates;
|
|
7557
7817
|
}
|
|
7558
7818
|
function useSymbols(symbolsProp, endpoint) {
|
|
7559
|
-
const [state, setState] = (0,
|
|
7819
|
+
const [state, setState] = (0, import_react32.useState)(
|
|
7560
7820
|
symbolsProp ? { status: "ready", data: symbolsProp } : { status: "loading" }
|
|
7561
7821
|
);
|
|
7562
|
-
const [retryToken, setRetryToken] = (0,
|
|
7563
|
-
(0,
|
|
7822
|
+
const [retryToken, setRetryToken] = (0, import_react32.useState)(0);
|
|
7823
|
+
(0, import_react32.useEffect)(() => {
|
|
7564
7824
|
if (symbolsProp) {
|
|
7565
7825
|
setState({ status: "ready", data: symbolsProp });
|
|
7566
7826
|
return;
|
|
@@ -7582,15 +7842,15 @@ function useSymbols(symbolsProp, endpoint) {
|
|
|
7582
7842
|
cancelled = true;
|
|
7583
7843
|
};
|
|
7584
7844
|
}, [symbolsProp, endpoint, retryToken]);
|
|
7585
|
-
const retry = (0,
|
|
7845
|
+
const retry = (0, import_react32.useCallback)(() => setRetryToken((n) => n + 1), []);
|
|
7586
7846
|
return [state, retry];
|
|
7587
7847
|
}
|
|
7588
|
-
var ErrorIcon = () => /* @__PURE__ */ (0,
|
|
7589
|
-
/* @__PURE__ */ (0,
|
|
7590
|
-
/* @__PURE__ */ (0,
|
|
7591
|
-
/* @__PURE__ */ (0,
|
|
7848
|
+
var ErrorIcon = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
|
|
7849
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M8 2.5L14 13.5H2L8 2.5Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinejoin: "round" }),
|
|
7850
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M8 6.5v3", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }),
|
|
7851
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("circle", { cx: "8", cy: "11.5", r: "0.75", fill: "currentColor" })
|
|
7592
7852
|
] });
|
|
7593
|
-
var ChevronIcon3 = () => /* @__PURE__ */ (0,
|
|
7853
|
+
var ChevronIcon3 = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M3 4.5L6 7.5L9 4.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
7594
7854
|
function groupByAssetClass(symbols) {
|
|
7595
7855
|
const groups = /* @__PURE__ */ new Map();
|
|
7596
7856
|
for (const item of symbols) {
|
|
@@ -7604,24 +7864,24 @@ function groupByAssetClass(symbols) {
|
|
|
7604
7864
|
return [...groups.entries()];
|
|
7605
7865
|
}
|
|
7606
7866
|
var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputId }) => {
|
|
7607
|
-
const [query, setQuery] = (0,
|
|
7608
|
-
const [isOpen, setIsOpen] = (0,
|
|
7609
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
7610
|
-
const wrapperRef = (0,
|
|
7611
|
-
const listboxId = (0,
|
|
7867
|
+
const [query, setQuery] = (0, import_react32.useState)("");
|
|
7868
|
+
const [isOpen, setIsOpen] = (0, import_react32.useState)(false);
|
|
7869
|
+
const [activeIndex, setActiveIndex] = (0, import_react32.useState)(-1);
|
|
7870
|
+
const wrapperRef = (0, import_react32.useRef)(null);
|
|
7871
|
+
const listboxId = (0, import_react32.useId)();
|
|
7612
7872
|
const isLoading = symbolsState.status === "loading";
|
|
7613
7873
|
const isError = symbolsState.status === "error";
|
|
7614
7874
|
const allSymbols = symbolsState.status === "ready" ? symbolsState.data : [];
|
|
7615
|
-
const filtered = (0,
|
|
7875
|
+
const filtered = (0, import_react32.useMemo)(() => {
|
|
7616
7876
|
const term = query.trim().toLowerCase();
|
|
7617
7877
|
if (!term) return allSymbols;
|
|
7618
7878
|
return allSymbols.filter(
|
|
7619
7879
|
(item) => item.symbol.toLowerCase().includes(term) || item.description.toLowerCase().includes(term) || item.asset_class.toLowerCase().includes(term)
|
|
7620
7880
|
);
|
|
7621
7881
|
}, [allSymbols, query]);
|
|
7622
|
-
const grouped = (0,
|
|
7623
|
-
const flatOptions = (0,
|
|
7624
|
-
(0,
|
|
7882
|
+
const grouped = (0, import_react32.useMemo)(() => groupByAssetClass(filtered), [filtered]);
|
|
7883
|
+
const flatOptions = (0, import_react32.useMemo)(() => grouped.flatMap(([, items]) => items), [grouped]);
|
|
7884
|
+
(0, import_react32.useEffect)(() => {
|
|
7625
7885
|
if (!isOpen) return;
|
|
7626
7886
|
const handlePointerDown = (event) => {
|
|
7627
7887
|
if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {
|
|
@@ -7655,14 +7915,14 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7655
7915
|
setIsOpen(false);
|
|
7656
7916
|
}
|
|
7657
7917
|
};
|
|
7658
|
-
return /* @__PURE__ */ (0,
|
|
7659
|
-
/* @__PURE__ */ (0,
|
|
7918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-field", ref: wrapperRef, children: [
|
|
7919
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7660
7920
|
SearchField,
|
|
7661
7921
|
{
|
|
7662
7922
|
id: inputId,
|
|
7663
|
-
label: /* @__PURE__ */ (0,
|
|
7923
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
|
|
7664
7924
|
"Symbols ",
|
|
7665
|
-
/* @__PURE__ */ (0,
|
|
7925
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-required", children: "*" })
|
|
7666
7926
|
] }),
|
|
7667
7927
|
role: "combobox",
|
|
7668
7928
|
"aria-expanded": isOpen,
|
|
@@ -7675,7 +7935,7 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7675
7935
|
autoComplete: "off",
|
|
7676
7936
|
disabled: isLoading || isError,
|
|
7677
7937
|
hideClearButton: true,
|
|
7678
|
-
trailingSlot: /* @__PURE__ */ (0,
|
|
7938
|
+
trailingSlot: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ChevronIcon3, {}),
|
|
7679
7939
|
placeholder: isLoading ? "Loading symbols\u2026" : isError ? "Symbols unavailable" : "Search symbol, e.g. EURUSD",
|
|
7680
7940
|
value: displayValue,
|
|
7681
7941
|
onFocus: () => setIsOpen(true),
|
|
@@ -7687,17 +7947,17 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7687
7947
|
onKeyDown: handleKeyDown
|
|
7688
7948
|
}
|
|
7689
7949
|
),
|
|
7690
|
-
isOpen && !isLoading && !isError && /* @__PURE__ */ (0,
|
|
7691
|
-
grouped.length === 0 && /* @__PURE__ */ (0,
|
|
7950
|
+
isOpen && !isLoading && !isError && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-dropdown", id: listboxId, role: "listbox", children: [
|
|
7951
|
+
grouped.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-dropdownEmpty", children: [
|
|
7692
7952
|
'No symbols match "',
|
|
7693
7953
|
query,
|
|
7694
7954
|
'"'
|
|
7695
7955
|
] }),
|
|
7696
|
-
grouped.map(([assetClass, items]) => /* @__PURE__ */ (0,
|
|
7697
|
-
/* @__PURE__ */ (0,
|
|
7956
|
+
grouped.map(([assetClass, items]) => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-dropdownGroup", children: [
|
|
7957
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "tcalc-dropdownGroupTitle", children: assetClass }),
|
|
7698
7958
|
items.map((item) => {
|
|
7699
7959
|
const flatIndex = flatOptions.indexOf(item);
|
|
7700
|
-
return /* @__PURE__ */ (0,
|
|
7960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
7701
7961
|
"div",
|
|
7702
7962
|
{
|
|
7703
7963
|
className: [
|
|
@@ -7713,8 +7973,8 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7713
7973
|
},
|
|
7714
7974
|
onMouseEnter: () => setActiveIndex(flatIndex),
|
|
7715
7975
|
children: [
|
|
7716
|
-
/* @__PURE__ */ (0,
|
|
7717
|
-
/* @__PURE__ */ (0,
|
|
7976
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-dropdownSymbol", children: item.symbol }),
|
|
7977
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-dropdownDesc", children: item.description })
|
|
7718
7978
|
]
|
|
7719
7979
|
},
|
|
7720
7980
|
item.symbol
|
|
@@ -7722,14 +7982,14 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7722
7982
|
})
|
|
7723
7983
|
] }, assetClass))
|
|
7724
7984
|
] }),
|
|
7725
|
-
isError && /* @__PURE__ */ (0,
|
|
7726
|
-
/* @__PURE__ */ (0,
|
|
7985
|
+
isError && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-fieldError", children: [
|
|
7986
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ErrorIcon, {}),
|
|
7727
7987
|
" Unable to load symbols.",
|
|
7728
7988
|
" ",
|
|
7729
|
-
/* @__PURE__ */ (0,
|
|
7989
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("button", { type: "button", className: "tcalc-retryLink", onClick: onRetry, children: "Retry" })
|
|
7730
7990
|
] }),
|
|
7731
|
-
!isError && error && /* @__PURE__ */ (0,
|
|
7732
|
-
/* @__PURE__ */ (0,
|
|
7991
|
+
!isError && error && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-fieldError", children: [
|
|
7992
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ErrorIcon, {}),
|
|
7733
7993
|
" ",
|
|
7734
7994
|
error
|
|
7735
7995
|
] })
|
|
@@ -7739,14 +7999,14 @@ var InfoRow = ({
|
|
|
7739
7999
|
label,
|
|
7740
8000
|
value,
|
|
7741
8001
|
separator = "="
|
|
7742
|
-
}) => /* @__PURE__ */ (0,
|
|
7743
|
-
/* @__PURE__ */ (0,
|
|
8002
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-infoRow", children: [
|
|
8003
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-infoLabel", children: label }),
|
|
7744
8004
|
separator === "=" ? " = " : ": ",
|
|
7745
|
-
/* @__PURE__ */ (0,
|
|
8005
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-infoValue", children: value })
|
|
7746
8006
|
] });
|
|
7747
|
-
var ResultBox = ({ label, value }) => /* @__PURE__ */ (0,
|
|
7748
|
-
/* @__PURE__ */ (0,
|
|
7749
|
-
/* @__PURE__ */ (0,
|
|
8007
|
+
var ResultBox = ({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-resultBox", children: [
|
|
8008
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "tcalc-resultLabel", children: label }),
|
|
8009
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "tcalc-resultValue", children: value })
|
|
7750
8010
|
] });
|
|
7751
8011
|
var TradingCalculator = ({
|
|
7752
8012
|
variant = "main",
|
|
@@ -7763,15 +8023,15 @@ var TradingCalculator = ({
|
|
|
7763
8023
|
const showTradeVolume = variant === "main";
|
|
7764
8024
|
const [symbolsState, retrySymbols] = useSymbols(symbolsProp, symbolsEndpoint);
|
|
7765
8025
|
const getRates = useExchangeRates(exchangeRateWsUrl);
|
|
7766
|
-
const [selectedSymbol, setSelectedSymbol] = (0,
|
|
7767
|
-
const [volumeInLots, setVolumeInLots] = (0,
|
|
7768
|
-
const [assetPrice, setAssetPrice] = (0,
|
|
7769
|
-
const [errors, setErrors] = (0,
|
|
7770
|
-
const [results, setResults] = (0,
|
|
7771
|
-
const [isCalculating, setIsCalculating] = (0,
|
|
7772
|
-
const [calcError, setCalcError] = (0,
|
|
7773
|
-
const didPreselect = (0,
|
|
7774
|
-
(0,
|
|
8026
|
+
const [selectedSymbol, setSelectedSymbol] = (0, import_react32.useState)(null);
|
|
8027
|
+
const [volumeInLots, setVolumeInLots] = (0, import_react32.useState)("");
|
|
8028
|
+
const [assetPrice, setAssetPrice] = (0, import_react32.useState)("");
|
|
8029
|
+
const [errors, setErrors] = (0, import_react32.useState)({});
|
|
8030
|
+
const [results, setResults] = (0, import_react32.useState)(null);
|
|
8031
|
+
const [isCalculating, setIsCalculating] = (0, import_react32.useState)(false);
|
|
8032
|
+
const [calcError, setCalcError] = (0, import_react32.useState)(null);
|
|
8033
|
+
const didPreselect = (0, import_react32.useRef)(false);
|
|
8034
|
+
(0, import_react32.useEffect)(() => {
|
|
7775
8035
|
if (didPreselect.current || !defaultSymbol || symbolsState.status !== "ready") return;
|
|
7776
8036
|
const match = symbolsState.data.find((item) => item.symbol === defaultSymbol);
|
|
7777
8037
|
if (match) {
|
|
@@ -7825,13 +8085,13 @@ var TradingCalculator = ({
|
|
|
7825
8085
|
setIsCalculating(false);
|
|
7826
8086
|
}
|
|
7827
8087
|
};
|
|
7828
|
-
const symbolInputId = (0,
|
|
7829
|
-
const volumeInputId = (0,
|
|
7830
|
-
const priceInputId = (0,
|
|
7831
|
-
return /* @__PURE__ */ (0,
|
|
7832
|
-
/* @__PURE__ */ (0,
|
|
7833
|
-
/* @__PURE__ */ (0,
|
|
7834
|
-
/* @__PURE__ */ (0,
|
|
8088
|
+
const symbolInputId = (0, import_react32.useId)();
|
|
8089
|
+
const volumeInputId = (0, import_react32.useId)();
|
|
8090
|
+
const priceInputId = (0, import_react32.useId)();
|
|
8091
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("section", { className: ["tcalc-section", className ?? ""].filter(Boolean).join(" "), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "tcalc-container", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-card", children: [
|
|
8092
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-column", children: [
|
|
8093
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("h3", { className: "tcalc-panelTitle", children: "Calculator" }),
|
|
8094
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7835
8095
|
SymbolCombobox,
|
|
7836
8096
|
{
|
|
7837
8097
|
symbolsState,
|
|
@@ -7842,27 +8102,27 @@ var TradingCalculator = ({
|
|
|
7842
8102
|
inputId: symbolInputId
|
|
7843
8103
|
}
|
|
7844
8104
|
),
|
|
7845
|
-
/* @__PURE__ */ (0,
|
|
7846
|
-
/* @__PURE__ */ (0,
|
|
7847
|
-
/* @__PURE__ */ (0,
|
|
7848
|
-
/* @__PURE__ */ (0,
|
|
8105
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-infoGrid", children: [
|
|
8106
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InfoRow, { label: "Contract size", value: selectedSymbol ? integerFormatter.format(selectedSymbol.contract_size) : "-" }),
|
|
8107
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InfoRow, { label: "Pip size", value: selectedSymbol ? String(selectedSymbol.pip_size) : "-" }),
|
|
8108
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7849
8109
|
InfoRow,
|
|
7850
8110
|
{
|
|
7851
8111
|
label: "Effective Leverage",
|
|
7852
8112
|
value: selectedSymbol ? `1 : ${Math.round((selectedSymbol.effective_leverage + Number.EPSILON) * 100) / 100}` : "-"
|
|
7853
8113
|
}
|
|
7854
8114
|
),
|
|
7855
|
-
/* @__PURE__ */ (0,
|
|
8115
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InfoRow, { label: "Point size", value: selectedSymbol ? String(selectedSymbol.point_size) : "-" })
|
|
7856
8116
|
] }),
|
|
7857
|
-
/* @__PURE__ */ (0,
|
|
7858
|
-
/* @__PURE__ */ (0,
|
|
8117
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-field", children: [
|
|
8118
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7859
8119
|
TextField,
|
|
7860
8120
|
{
|
|
7861
8121
|
id: volumeInputId,
|
|
7862
8122
|
className: "tcalc-numberField",
|
|
7863
|
-
label: /* @__PURE__ */ (0,
|
|
8123
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
|
|
7864
8124
|
"Volume in Lots ",
|
|
7865
|
-
/* @__PURE__ */ (0,
|
|
8125
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-required", children: "*" })
|
|
7866
8126
|
] }),
|
|
7867
8127
|
status: errors.volume ? "fail" : "neutral",
|
|
7868
8128
|
type: "number",
|
|
@@ -7883,21 +8143,21 @@ var TradingCalculator = ({
|
|
|
7883
8143
|
}
|
|
7884
8144
|
}
|
|
7885
8145
|
),
|
|
7886
|
-
errors.volume && /* @__PURE__ */ (0,
|
|
7887
|
-
/* @__PURE__ */ (0,
|
|
8146
|
+
errors.volume && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-fieldError", children: [
|
|
8147
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ErrorIcon, {}),
|
|
7888
8148
|
" ",
|
|
7889
8149
|
errors.volume
|
|
7890
8150
|
] })
|
|
7891
8151
|
] }),
|
|
7892
|
-
/* @__PURE__ */ (0,
|
|
7893
|
-
/* @__PURE__ */ (0,
|
|
8152
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-field", children: [
|
|
8153
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7894
8154
|
TextField,
|
|
7895
8155
|
{
|
|
7896
8156
|
id: priceInputId,
|
|
7897
8157
|
className: "tcalc-numberField",
|
|
7898
|
-
label: /* @__PURE__ */ (0,
|
|
8158
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
|
|
7899
8159
|
"Asset price ",
|
|
7900
|
-
/* @__PURE__ */ (0,
|
|
8160
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-required", children: "*" })
|
|
7901
8161
|
] }),
|
|
7902
8162
|
status: errors.price ? "fail" : "neutral",
|
|
7903
8163
|
type: "number",
|
|
@@ -7912,14 +8172,14 @@ var TradingCalculator = ({
|
|
|
7912
8172
|
}
|
|
7913
8173
|
}
|
|
7914
8174
|
),
|
|
7915
|
-
errors.price && /* @__PURE__ */ (0,
|
|
7916
|
-
/* @__PURE__ */ (0,
|
|
8175
|
+
errors.price && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-fieldError", children: [
|
|
8176
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ErrorIcon, {}),
|
|
7917
8177
|
" ",
|
|
7918
8178
|
errors.price
|
|
7919
8179
|
] })
|
|
7920
8180
|
] }),
|
|
7921
|
-
/* @__PURE__ */ (0,
|
|
7922
|
-
/* @__PURE__ */ (0,
|
|
8181
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-actions", children: [
|
|
8182
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7923
8183
|
Button,
|
|
7924
8184
|
{
|
|
7925
8185
|
type: "button",
|
|
@@ -7931,7 +8191,7 @@ var TradingCalculator = ({
|
|
|
7931
8191
|
fullWidth: true
|
|
7932
8192
|
}
|
|
7933
8193
|
),
|
|
7934
|
-
/* @__PURE__ */ (0,
|
|
8194
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7935
8195
|
Button,
|
|
7936
8196
|
{
|
|
7937
8197
|
type: "button",
|
|
@@ -7944,39 +8204,39 @@ var TradingCalculator = ({
|
|
|
7944
8204
|
)
|
|
7945
8205
|
] })
|
|
7946
8206
|
] }),
|
|
7947
|
-
/* @__PURE__ */ (0,
|
|
7948
|
-
/* @__PURE__ */ (0,
|
|
7949
|
-
showMargin && /* @__PURE__ */ (0,
|
|
7950
|
-
showTradeVolume && showPip && /* @__PURE__ */ (0,
|
|
7951
|
-
/* @__PURE__ */ (0,
|
|
7952
|
-
/* @__PURE__ */ (0,
|
|
8207
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-column tcalc-column--results", children: [
|
|
8208
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("h3", { className: "tcalc-panelTitle", children: "Results" }),
|
|
8209
|
+
showMargin && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ResultBox, { label: "Margin Required", value: results ? formatMoney(results.marginRequired) : "$" }),
|
|
8210
|
+
showTradeVolume && showPip && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-resultRow", children: [
|
|
8211
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ResultBox, { label: "Trade Volume", value: results ? formatInteger(results.tradeVolume) : "$" }),
|
|
8212
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ResultBox, { label: "Pip value", value: results ? formatMoney(results.pipValue) : "$" })
|
|
7953
8213
|
] }),
|
|
7954
|
-
!showTradeVolume && showPip && /* @__PURE__ */ (0,
|
|
7955
|
-
showSwap && /* @__PURE__ */ (0,
|
|
7956
|
-
/* @__PURE__ */ (0,
|
|
7957
|
-
/* @__PURE__ */ (0,
|
|
8214
|
+
!showTradeVolume && showPip && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ResultBox, { label: "Pip value", value: results ? formatMoney(results.pipValue) : "$" }),
|
|
8215
|
+
showSwap && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-resultRow", children: [
|
|
8216
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ResultBox, { label: "Swap Charge Long", value: results ? formatMoney(results.swapChargeLong) : "$" }),
|
|
8217
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ResultBox, { label: "Swap Charge Short", value: results ? formatMoney(results.swapChargeShort) : "$" })
|
|
7958
8218
|
] }),
|
|
7959
|
-
calcError && /* @__PURE__ */ (0,
|
|
7960
|
-
/* @__PURE__ */ (0,
|
|
8219
|
+
calcError && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-fieldError tcalc-calcError", children: [
|
|
8220
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ErrorIcon, {}),
|
|
7961
8221
|
" ",
|
|
7962
8222
|
calcError
|
|
7963
8223
|
] }),
|
|
7964
|
-
showSwap && /* @__PURE__ */ (0,
|
|
7965
|
-
/* @__PURE__ */ (0,
|
|
7966
|
-
/* @__PURE__ */ (0,
|
|
7967
|
-
/* @__PURE__ */ (0,
|
|
8224
|
+
showSwap && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
|
|
8225
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-infoGrid", children: [
|
|
8226
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InfoRow, { label: "Swap long rate", value: selectedSymbol ? String(selectedSymbol.swap_rate_long) : "-" }),
|
|
8227
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InfoRow, { label: "Swap short rate", value: selectedSymbol ? String(selectedSymbol.swap_rate_short) : "-" })
|
|
7968
8228
|
] }),
|
|
7969
|
-
/* @__PURE__ */ (0,
|
|
7970
|
-
/* @__PURE__ */ (0,
|
|
7971
|
-
/* @__PURE__ */ (0,
|
|
8229
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InfoRow, { separator: ":", label: "Swap calculation type", value: selectedSymbol ? selectedSymbol.swap_mode : "-" }),
|
|
8230
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InfoRow, { separator: ":", label: "Three-day swap", value: selectedSymbol ? selectedSymbol.three_day_swap || "No" : "-" }),
|
|
8231
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InfoRow, { separator: ":", label: "Weekend swaps", value: selectedSymbol ? String(selectedSymbol.weekend_swaps ?? "-") : "-" })
|
|
7972
8232
|
] })
|
|
7973
8233
|
] })
|
|
7974
8234
|
] }) }) });
|
|
7975
8235
|
};
|
|
7976
8236
|
|
|
7977
8237
|
// templates/TradingCalculatorHowTo/TradingCalculatorHowTo.tsx
|
|
7978
|
-
var
|
|
7979
|
-
var
|
|
8238
|
+
var import_react33 = require("react");
|
|
8239
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
7980
8240
|
var MARGIN_CONTENT = {
|
|
7981
8241
|
title: "How to calculate margin requirements",
|
|
7982
8242
|
description: "Use this formula to calculate how much margin is required based on your lot size, leverage ratio, and the current market price.",
|
|
@@ -8126,14 +8386,14 @@ var SWAP_TABS = [
|
|
|
8126
8386
|
{ id: "percentage", label: "Swap calculation (In percentage)" }
|
|
8127
8387
|
];
|
|
8128
8388
|
var swapModeForVariant = (variant) => variant === "swap-percentage" ? "percentage" : "points";
|
|
8129
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
8389
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react33.useLayoutEffect : import_react33.useEffect;
|
|
8130
8390
|
var FormulaBlockView = ({ block }) => {
|
|
8131
8391
|
if (block.type === "footnote") {
|
|
8132
|
-
return /* @__PURE__ */ (0,
|
|
8392
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "tchow-footnote", children: block.content });
|
|
8133
8393
|
}
|
|
8134
8394
|
if (block.type === "bullets") {
|
|
8135
|
-
return /* @__PURE__ */ (0,
|
|
8136
|
-
/* @__PURE__ */ (0,
|
|
8395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("ul", { className: "tchow-bullets", children: block.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("li", { className: "tchow-bulletItem", children: [
|
|
8396
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("strong", { children: [
|
|
8137
8397
|
item.term,
|
|
8138
8398
|
":"
|
|
8139
8399
|
] }),
|
|
@@ -8141,16 +8401,16 @@ var FormulaBlockView = ({ block }) => {
|
|
|
8141
8401
|
item.content
|
|
8142
8402
|
] }, item.term)) });
|
|
8143
8403
|
}
|
|
8144
|
-
return /* @__PURE__ */ (0,
|
|
8404
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "tchow-text", children: block.content });
|
|
8145
8405
|
};
|
|
8146
|
-
var ConnectorArrow = () => /* @__PURE__ */ (0,
|
|
8147
|
-
/* @__PURE__ */ (0,
|
|
8148
|
-
/* @__PURE__ */ (0,
|
|
8406
|
+
var ConnectorArrow = () => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("svg", { width: "8", height: "11", viewBox: "0 0 8 11", fill: "none", "aria-hidden": "true", className: "tchow-stripArrow", children: [
|
|
8407
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M4 0V7.5", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" }),
|
|
8408
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("path", { d: "M1.4 5.6L4 8.6L6.6 5.6", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
8149
8409
|
] });
|
|
8150
8410
|
var CalculationStrip = ({ tokens }) => {
|
|
8151
|
-
const wrapperRef = (0,
|
|
8152
|
-
const stripRef = (0,
|
|
8153
|
-
const [fit, setFit] = (0,
|
|
8411
|
+
const wrapperRef = (0, import_react33.useRef)(null);
|
|
8412
|
+
const stripRef = (0, import_react33.useRef)(null);
|
|
8413
|
+
const [fit, setFit] = (0, import_react33.useState)({ scale: 1, naturalHeight: 0 });
|
|
8154
8414
|
useIsomorphicLayoutEffect(() => {
|
|
8155
8415
|
const wrapper = wrapperRef.current;
|
|
8156
8416
|
const strip = stripRef.current;
|
|
@@ -8173,13 +8433,13 @@ var CalculationStrip = ({ tokens }) => {
|
|
|
8173
8433
|
return () => observer.disconnect();
|
|
8174
8434
|
}, [tokens]);
|
|
8175
8435
|
const isShrunk = fit.scale < 1;
|
|
8176
|
-
return /* @__PURE__ */ (0,
|
|
8436
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8177
8437
|
"div",
|
|
8178
8438
|
{
|
|
8179
8439
|
className: "tchow-stripWrap",
|
|
8180
8440
|
ref: wrapperRef,
|
|
8181
8441
|
style: isShrunk ? { height: fit.naturalHeight * fit.scale } : void 0,
|
|
8182
|
-
children: /* @__PURE__ */ (0,
|
|
8442
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8183
8443
|
"div",
|
|
8184
8444
|
{
|
|
8185
8445
|
className: "tchow-strip",
|
|
@@ -8187,13 +8447,13 @@ var CalculationStrip = ({ tokens }) => {
|
|
|
8187
8447
|
style: isShrunk ? { transform: `scale(${fit.scale})` } : void 0,
|
|
8188
8448
|
role: "img",
|
|
8189
8449
|
"aria-label": tokens.map((token) => token.text).join(" "),
|
|
8190
|
-
children: tokens.map((token, i) => /* @__PURE__ */ (0,
|
|
8191
|
-
/* @__PURE__ */ (0,
|
|
8450
|
+
children: tokens.map((token, i) => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_react33.Fragment, { children: [
|
|
8451
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8192
8452
|
"span",
|
|
8193
8453
|
{
|
|
8194
8454
|
className: ["tchow-stripValue", token.label ? "tchow-stripValue--labeled" : ""].filter(Boolean).join(" "),
|
|
8195
8455
|
"aria-hidden": "true",
|
|
8196
|
-
children: /* @__PURE__ */ (0,
|
|
8456
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8197
8457
|
"span",
|
|
8198
8458
|
{
|
|
8199
8459
|
className: [
|
|
@@ -8205,16 +8465,16 @@ var CalculationStrip = ({ tokens }) => {
|
|
|
8205
8465
|
)
|
|
8206
8466
|
}
|
|
8207
8467
|
),
|
|
8208
|
-
/* @__PURE__ */ (0,
|
|
8209
|
-
/* @__PURE__ */ (0,
|
|
8210
|
-
/* @__PURE__ */ (0,
|
|
8468
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "tchow-stripCaption", "aria-hidden": "true", children: token.label && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
|
|
8469
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ConnectorArrow, {}),
|
|
8470
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8211
8471
|
"span",
|
|
8212
8472
|
{
|
|
8213
8473
|
className: [
|
|
8214
8474
|
"tchow-stripLabel",
|
|
8215
8475
|
i === 0 || i === tokens.length - 1 ? "tchow-stripLabel--edge" : ""
|
|
8216
8476
|
].filter(Boolean).join(" "),
|
|
8217
|
-
children: /* @__PURE__ */ (0,
|
|
8477
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "tchow-stripLabelText", children: token.label })
|
|
8218
8478
|
}
|
|
8219
8479
|
)
|
|
8220
8480
|
] }) })
|
|
@@ -8232,19 +8492,19 @@ var TradingCalculatorHowTo = ({
|
|
|
8232
8492
|
...props
|
|
8233
8493
|
}) => {
|
|
8234
8494
|
const isSwap = variant === "swap-points" || variant === "swap-percentage";
|
|
8235
|
-
const [swapTab, setSwapTab] = (0,
|
|
8236
|
-
(0,
|
|
8495
|
+
const [swapTab, setSwapTab] = (0, import_react33.useState)(() => swapModeForVariant(variant));
|
|
8496
|
+
(0, import_react33.useEffect)(() => {
|
|
8237
8497
|
setSwapTab(swapModeForVariant(variant));
|
|
8238
8498
|
}, [variant]);
|
|
8239
8499
|
const content = variant === "pip" ? PIP_CONTENT : isSwap ? swapTab === "percentage" ? SWAP_PERCENTAGE_CONTENT : SWAP_POINTS_CONTENT : MARGIN_CONTENT;
|
|
8240
8500
|
const heading = title ?? content.title;
|
|
8241
8501
|
const desc = description ?? content.description;
|
|
8242
|
-
return /* @__PURE__ */ (0,
|
|
8243
|
-
/* @__PURE__ */ (0,
|
|
8244
|
-
/* @__PURE__ */ (0,
|
|
8245
|
-
desc && /* @__PURE__ */ (0,
|
|
8502
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("section", { className: ["tchow-section", className ?? ""].filter(Boolean).join(" "), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "tchow-container", children: [
|
|
8503
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "tchow-intro", children: [
|
|
8504
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("h2", { className: "tchow-title", children: heading }),
|
|
8505
|
+
desc && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "tchow-description", children: desc })
|
|
8246
8506
|
] }),
|
|
8247
|
-
isSwap && /* @__PURE__ */ (0,
|
|
8507
|
+
isSwap && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8248
8508
|
Tabs,
|
|
8249
8509
|
{
|
|
8250
8510
|
className: "tchow-tabs",
|
|
@@ -8253,26 +8513,26 @@ var TradingCalculatorHowTo = ({
|
|
|
8253
8513
|
onChange: (id) => setSwapTab(id)
|
|
8254
8514
|
}
|
|
8255
8515
|
),
|
|
8256
|
-
/* @__PURE__ */ (0,
|
|
8257
|
-
/* @__PURE__ */ (0,
|
|
8258
|
-
/* @__PURE__ */ (0,
|
|
8259
|
-
content.formulaBlocks.map((block, i) => /* @__PURE__ */ (0,
|
|
8516
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "tchow-card", children: [
|
|
8517
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "tchow-column", children: [
|
|
8518
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("h3", { className: "tchow-columnTitle", children: content.formulaHeading }),
|
|
8519
|
+
content.formulaBlocks.map((block, i) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(FormulaBlockView, { block }, i))
|
|
8260
8520
|
] }),
|
|
8261
|
-
/* @__PURE__ */ (0,
|
|
8262
|
-
/* @__PURE__ */ (0,
|
|
8263
|
-
/* @__PURE__ */ (0,
|
|
8264
|
-
content.exampleLead && /* @__PURE__ */ (0,
|
|
8265
|
-
content.calculations.map((strip, i) => /* @__PURE__ */ (0,
|
|
8266
|
-
/* @__PURE__ */ (0,
|
|
8267
|
-
/* @__PURE__ */ (0,
|
|
8521
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "tchow-column", children: [
|
|
8522
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("h3", { className: "tchow-columnTitle", children: content.exampleHeading }),
|
|
8523
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "tchow-text", children: content.exampleIntro }),
|
|
8524
|
+
content.exampleLead && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "tchow-text", children: content.exampleLead }),
|
|
8525
|
+
content.calculations.map((strip, i) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(CalculationStrip, { tokens: strip }, i)),
|
|
8526
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "tchow-text", children: content.resultText }),
|
|
8527
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "tchow-note", children: content.note })
|
|
8268
8528
|
] })
|
|
8269
8529
|
] })
|
|
8270
8530
|
] }) });
|
|
8271
8531
|
};
|
|
8272
8532
|
|
|
8273
8533
|
// templates/FeatureOffices/FeatureOffices.tsx
|
|
8274
|
-
var
|
|
8275
|
-
var
|
|
8534
|
+
var import_react34 = require("react");
|
|
8535
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
8276
8536
|
var isExternalUrl2 = (href) => Boolean(href && /^https?:\/\//i.test(href));
|
|
8277
8537
|
var FEATURE_OFFICES_TEXT_CONTENT = {
|
|
8278
8538
|
title: "Our offices",
|
|
@@ -8281,8 +8541,8 @@ var FEATURE_OFFICES_TEXT_CONTENT = {
|
|
|
8281
8541
|
var OfficeCard = ({ office, linkText }) => {
|
|
8282
8542
|
const label = office.linkText ?? linkText;
|
|
8283
8543
|
const external = isExternalUrl2(office.href);
|
|
8284
|
-
return /* @__PURE__ */ (0,
|
|
8285
|
-
/* @__PURE__ */ (0,
|
|
8544
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "fo-card", children: [
|
|
8545
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
8286
8546
|
"img",
|
|
8287
8547
|
{
|
|
8288
8548
|
alt: office.flagAlt ?? office.country,
|
|
@@ -8293,16 +8553,16 @@ var OfficeCard = ({ office, linkText }) => {
|
|
|
8293
8553
|
width: 32
|
|
8294
8554
|
}
|
|
8295
8555
|
),
|
|
8296
|
-
/* @__PURE__ */ (0,
|
|
8556
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("h3", { className: "fo-cardTitle", children: [
|
|
8297
8557
|
office.city,
|
|
8298
8558
|
", ",
|
|
8299
8559
|
office.country
|
|
8300
8560
|
] }),
|
|
8301
|
-
/* @__PURE__ */ (0,
|
|
8561
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "fo-address", children: office.address.split("\n").map((line, i) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("span", { children: [
|
|
8302
8562
|
line,
|
|
8303
|
-
i < office.address.split("\n").length - 1 && /* @__PURE__ */ (0,
|
|
8563
|
+
i < office.address.split("\n").length - 1 && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("br", {})
|
|
8304
8564
|
] }, i)) }),
|
|
8305
|
-
office.href && /* @__PURE__ */ (0,
|
|
8565
|
+
office.href && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "fo-linkWrap", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
8306
8566
|
Link,
|
|
8307
8567
|
{
|
|
8308
8568
|
colorScheme: "coral",
|
|
@@ -8325,12 +8585,12 @@ var FeatureOffices = ({
|
|
|
8325
8585
|
className,
|
|
8326
8586
|
...props
|
|
8327
8587
|
}) => {
|
|
8328
|
-
const [internalActiveId, setInternalActiveId] = (0,
|
|
8588
|
+
const [internalActiveId, setInternalActiveId] = (0, import_react34.useState)(
|
|
8329
8589
|
defaultActiveRegionId ?? regions[0]?.id
|
|
8330
8590
|
);
|
|
8331
8591
|
const isControlled = activeRegionId !== void 0;
|
|
8332
8592
|
const activeId = isControlled ? activeRegionId : internalActiveId;
|
|
8333
|
-
const filteredOffices = (0,
|
|
8593
|
+
const filteredOffices = (0, import_react34.useMemo)(
|
|
8334
8594
|
() => offices.filter((office) => office.region === activeId),
|
|
8335
8595
|
[offices, activeId]
|
|
8336
8596
|
);
|
|
@@ -8338,15 +8598,15 @@ var FeatureOffices = ({
|
|
|
8338
8598
|
if (!isControlled) setInternalActiveId(id);
|
|
8339
8599
|
onRegionChange?.(id);
|
|
8340
8600
|
};
|
|
8341
|
-
return /* @__PURE__ */ (0,
|
|
8342
|
-
title && /* @__PURE__ */ (0,
|
|
8343
|
-
/* @__PURE__ */ (0,
|
|
8344
|
-
/* @__PURE__ */ (0,
|
|
8601
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("section", { className: ["fo-section", className ?? ""].filter(Boolean).join(" "), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "fo-container", children: [
|
|
8602
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("h2", { className: "fo-title", children: title }),
|
|
8603
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "fo-tabsWrap", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Tabs, { activeId: activeId ?? "", items: regions, onChange: handleTabChange }) }),
|
|
8604
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "fo-grid", children: filteredOffices.map((office, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(OfficeCard, { linkText, office }, `${office.city}-${index}`)) })
|
|
8345
8605
|
] }) });
|
|
8346
8606
|
};
|
|
8347
8607
|
|
|
8348
8608
|
// templates/Tiers/Tiers.tsx
|
|
8349
|
-
var
|
|
8609
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
8350
8610
|
var DEFAULT_ACCENTS = ["bronze", "silver", "gold", "platinum"];
|
|
8351
8611
|
var resolveAccent = (tier, index) => tier.accent ?? DEFAULT_ACCENTS[index] ?? "bronze";
|
|
8352
8612
|
var Tiers = ({
|
|
@@ -8358,27 +8618,27 @@ var Tiers = ({
|
|
|
8358
8618
|
linkHref,
|
|
8359
8619
|
onLinkClick
|
|
8360
8620
|
}) => {
|
|
8361
|
-
return /* @__PURE__ */ (0,
|
|
8362
|
-
/* @__PURE__ */ (0,
|
|
8363
|
-
/* @__PURE__ */ (0,
|
|
8364
|
-
description && /* @__PURE__ */ (0,
|
|
8621
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("section", { className: "tiers", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "tiers__container", children: [
|
|
8622
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("header", { className: "tiers__header", children: [
|
|
8623
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("h2", { className: "tiers__title", children: title }),
|
|
8624
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "tiers__description", children: description })
|
|
8365
8625
|
] }),
|
|
8366
|
-
/* @__PURE__ */ (0,
|
|
8626
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("ol", { className: "tiers__list", children: tiers.map((tier, index) => {
|
|
8367
8627
|
const accent = resolveAccent(tier, index);
|
|
8368
|
-
return /* @__PURE__ */ (0,
|
|
8628
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
8369
8629
|
"li",
|
|
8370
8630
|
{
|
|
8371
8631
|
className: `tiers__item tiers__item--${accent}`,
|
|
8372
|
-
children: /* @__PURE__ */ (0,
|
|
8373
|
-
/* @__PURE__ */ (0,
|
|
8374
|
-
/* @__PURE__ */ (0,
|
|
8632
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "tiers__shell", children: [
|
|
8633
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "tiers__icon-row", children: [
|
|
8634
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
8375
8635
|
"span",
|
|
8376
8636
|
{
|
|
8377
8637
|
className: "tiers__line tiers__line--left",
|
|
8378
8638
|
"aria-hidden": "true"
|
|
8379
8639
|
}
|
|
8380
8640
|
),
|
|
8381
|
-
/* @__PURE__ */ (0,
|
|
8641
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "tiers__icon-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
8382
8642
|
"img",
|
|
8383
8643
|
{
|
|
8384
8644
|
src: tier.icon,
|
|
@@ -8389,7 +8649,7 @@ var Tiers = ({
|
|
|
8389
8649
|
loading: "lazy"
|
|
8390
8650
|
}
|
|
8391
8651
|
) }),
|
|
8392
|
-
/* @__PURE__ */ (0,
|
|
8652
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
8393
8653
|
"span",
|
|
8394
8654
|
{
|
|
8395
8655
|
className: "tiers__line tiers__line--right",
|
|
@@ -8397,21 +8657,21 @@ var Tiers = ({
|
|
|
8397
8657
|
}
|
|
8398
8658
|
)
|
|
8399
8659
|
] }),
|
|
8400
|
-
/* @__PURE__ */ (0,
|
|
8401
|
-
/* @__PURE__ */ (0,
|
|
8402
|
-
/* @__PURE__ */ (0,
|
|
8660
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "tiers__heading", children: [
|
|
8661
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("h3", { className: "tiers__name", children: tier.name }),
|
|
8662
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "tiers__status", children: tier.status })
|
|
8403
8663
|
] }),
|
|
8404
|
-
/* @__PURE__ */ (0,
|
|
8405
|
-
/* @__PURE__ */ (0,
|
|
8406
|
-
/* @__PURE__ */ (0,
|
|
8664
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "tiers__card", children: [
|
|
8665
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "tiers__card-title", children: tier.title }),
|
|
8666
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "tiers__card-description", children: tier.description })
|
|
8407
8667
|
] }),
|
|
8408
|
-
tier.requirement && /* @__PURE__ */ (0,
|
|
8668
|
+
tier.requirement && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "tiers__requirement", children: tier.requirement })
|
|
8409
8669
|
] })
|
|
8410
8670
|
},
|
|
8411
8671
|
tier.name
|
|
8412
8672
|
);
|
|
8413
8673
|
}) }),
|
|
8414
|
-
showLink && /* @__PURE__ */ (0,
|
|
8674
|
+
showLink && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "tiers__footer", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
8415
8675
|
Link,
|
|
8416
8676
|
{
|
|
8417
8677
|
colorScheme: "coral",
|
|
@@ -8424,7 +8684,7 @@ var Tiers = ({
|
|
|
8424
8684
|
};
|
|
8425
8685
|
|
|
8426
8686
|
// templates/PartnersPayout/PartnersPayout.tsx
|
|
8427
|
-
var
|
|
8687
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
8428
8688
|
var PartnersPayout = ({
|
|
8429
8689
|
title,
|
|
8430
8690
|
period,
|
|
@@ -8433,30 +8693,30 @@ var PartnersPayout = ({
|
|
|
8433
8693
|
imageAlt = "",
|
|
8434
8694
|
className,
|
|
8435
8695
|
...props
|
|
8436
|
-
}) => /* @__PURE__ */ (0,
|
|
8696
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
8437
8697
|
"section",
|
|
8438
8698
|
{
|
|
8439
8699
|
className: ["partners-payout", className].filter(Boolean).join(" "),
|
|
8440
8700
|
...props,
|
|
8441
|
-
children: /* @__PURE__ */ (0,
|
|
8442
|
-
/* @__PURE__ */ (0,
|
|
8443
|
-
/* @__PURE__ */ (0,
|
|
8444
|
-
/* @__PURE__ */ (0,
|
|
8445
|
-
/* @__PURE__ */ (0,
|
|
8701
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "partners-payout__container", children: [
|
|
8702
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "partners-payout__content", children: [
|
|
8703
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("header", { className: "partners-payout__header", children: [
|
|
8704
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("h2", { className: "partners-payout__title", children: title }),
|
|
8705
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "partners-payout__period", children: period })
|
|
8446
8706
|
] }),
|
|
8447
|
-
/* @__PURE__ */ (0,
|
|
8707
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("ul", { className: "partners-payout__grid", children: payouts.map((payout, index) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
8448
8708
|
"li",
|
|
8449
8709
|
{
|
|
8450
8710
|
className: "partners-payout__item",
|
|
8451
8711
|
children: [
|
|
8452
|
-
/* @__PURE__ */ (0,
|
|
8453
|
-
/* @__PURE__ */ (0,
|
|
8712
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "partners-payout__region", children: payout.region }),
|
|
8713
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "partners-payout__amount", children: payout.amount })
|
|
8454
8714
|
]
|
|
8455
8715
|
},
|
|
8456
8716
|
`${payout.region}-${index}`
|
|
8457
8717
|
)) })
|
|
8458
8718
|
] }),
|
|
8459
|
-
/* @__PURE__ */ (0,
|
|
8719
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
8460
8720
|
"img",
|
|
8461
8721
|
{
|
|
8462
8722
|
className: "partners-payout__image",
|
|
@@ -8470,7 +8730,7 @@ var PartnersPayout = ({
|
|
|
8470
8730
|
);
|
|
8471
8731
|
|
|
8472
8732
|
// templates/MasterPartner/MasterPartner.tsx
|
|
8473
|
-
var
|
|
8733
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
8474
8734
|
var MasterPartner = ({
|
|
8475
8735
|
title,
|
|
8476
8736
|
description,
|
|
@@ -8483,23 +8743,23 @@ var MasterPartner = ({
|
|
|
8483
8743
|
imageAlt = "",
|
|
8484
8744
|
steps
|
|
8485
8745
|
}) => {
|
|
8486
|
-
const ctaButton = /* @__PURE__ */ (0,
|
|
8487
|
-
return /* @__PURE__ */ (0,
|
|
8488
|
-
/* @__PURE__ */ (0,
|
|
8489
|
-
/* @__PURE__ */ (0,
|
|
8490
|
-
/* @__PURE__ */ (0,
|
|
8491
|
-
/* @__PURE__ */ (0,
|
|
8492
|
-
/* @__PURE__ */ (0,
|
|
8493
|
-
note && /* @__PURE__ */ (0,
|
|
8494
|
-
/* @__PURE__ */ (0,
|
|
8746
|
+
const ctaButton = /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel, onClick: onCtaClick });
|
|
8747
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("section", { className: "master-partner", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "master-partner__container", children: [
|
|
8748
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "master-partner__top", children: [
|
|
8749
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "master-partner__content", children: [
|
|
8750
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h2", { className: "master-partner__title", children: title }),
|
|
8751
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "master-partner__copy", children: [
|
|
8752
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "master-partner__paragraph", children: description }),
|
|
8753
|
+
note && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("p", { className: "master-partner__paragraph", children: [
|
|
8754
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("strong", { children: note.label }),
|
|
8495
8755
|
" ",
|
|
8496
8756
|
note.text
|
|
8497
8757
|
] }),
|
|
8498
|
-
closingText && /* @__PURE__ */ (0,
|
|
8758
|
+
closingText && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "master-partner__paragraph", children: closingText })
|
|
8499
8759
|
] }),
|
|
8500
|
-
ctaLabel && /* @__PURE__ */ (0,
|
|
8760
|
+
ctaLabel && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "master-partner__cta", children: ctaHref ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("a", { href: ctaHref, children: ctaButton }) : ctaButton })
|
|
8501
8761
|
] }),
|
|
8502
|
-
/* @__PURE__ */ (0,
|
|
8762
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "master-partner__image-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8503
8763
|
"img",
|
|
8504
8764
|
{
|
|
8505
8765
|
className: "master-partner__image",
|
|
@@ -8509,8 +8769,8 @@ var MasterPartner = ({
|
|
|
8509
8769
|
}
|
|
8510
8770
|
) })
|
|
8511
8771
|
] }),
|
|
8512
|
-
/* @__PURE__ */ (0,
|
|
8513
|
-
/* @__PURE__ */ (0,
|
|
8772
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("ol", { className: "master-partner__steps", children: steps.map((step, index) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("li", { className: "master-partner__step", children: [
|
|
8773
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8514
8774
|
"img",
|
|
8515
8775
|
{
|
|
8516
8776
|
className: "master-partner__step-icon",
|
|
@@ -8522,13 +8782,13 @@ var MasterPartner = ({
|
|
|
8522
8782
|
loading: "lazy"
|
|
8523
8783
|
}
|
|
8524
8784
|
),
|
|
8525
|
-
/* @__PURE__ */ (0,
|
|
8785
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "master-partner__step-description", children: step.description })
|
|
8526
8786
|
] }, index)) })
|
|
8527
8787
|
] }) });
|
|
8528
8788
|
};
|
|
8529
8789
|
|
|
8530
8790
|
// templates/ResourceBanner/ResourceBanner.tsx
|
|
8531
|
-
var
|
|
8791
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
8532
8792
|
var DEFAULT_LINKS = [{ label: "Learn more", href: "#" }];
|
|
8533
8793
|
var RESOURCE_BANNER_DERIV_CONTENT = {
|
|
8534
8794
|
title: "Learn more about staying safe",
|
|
@@ -8542,7 +8802,7 @@ var RESOURCE_BANNER_DERIV_CONTENT = {
|
|
|
8542
8802
|
}
|
|
8543
8803
|
]
|
|
8544
8804
|
};
|
|
8545
|
-
var ExternalLinkIcon2 = () => /* @__PURE__ */ (0,
|
|
8805
|
+
var ExternalLinkIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("svg", { viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", focusable: "false", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
8546
8806
|
"path",
|
|
8547
8807
|
{
|
|
8548
8808
|
d: "M4.5 11.5 11.5 4.5M5.5 4.5h6v6",
|
|
@@ -8562,21 +8822,21 @@ var ResourceBanner = ({
|
|
|
8562
8822
|
}) => {
|
|
8563
8823
|
const resolvedLinks = links && links.length > 0 ? links : DEFAULT_LINKS;
|
|
8564
8824
|
const rootClass = ["rsb", className].filter(Boolean).join(" ");
|
|
8565
|
-
return /* @__PURE__ */ (0,
|
|
8566
|
-
/* @__PURE__ */ (0,
|
|
8567
|
-
/* @__PURE__ */ (0,
|
|
8568
|
-
description && /* @__PURE__ */ (0,
|
|
8825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "rsb__inner", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "rsb__card", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "rsb__grid", children: [
|
|
8826
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "rsb__content", children: [
|
|
8827
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(HeadingTag, { className: "rsb__title", children: title }),
|
|
8828
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: "rsb__description", children: description })
|
|
8569
8829
|
] }),
|
|
8570
|
-
/* @__PURE__ */ (0,
|
|
8830
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("ul", { className: "rsb__links", children: resolvedLinks.map((link, i) => {
|
|
8571
8831
|
const isExternal = link.external ?? true;
|
|
8572
|
-
return /* @__PURE__ */ (0,
|
|
8832
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("li", { className: "rsb__links-item", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
8573
8833
|
Link,
|
|
8574
8834
|
{
|
|
8575
8835
|
className: "rsb__link",
|
|
8576
8836
|
colorScheme: "white",
|
|
8577
8837
|
href: link.href,
|
|
8578
8838
|
label: link.label,
|
|
8579
|
-
icon: isExternal ? /* @__PURE__ */ (0,
|
|
8839
|
+
icon: isExternal ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ExternalLinkIcon2, {}) : void 0,
|
|
8580
8840
|
iconPosition: "right",
|
|
8581
8841
|
showChevron: !isExternal,
|
|
8582
8842
|
target: isExternal ? "_blank" : void 0,
|
|
@@ -8588,8 +8848,8 @@ var ResourceBanner = ({
|
|
|
8588
8848
|
};
|
|
8589
8849
|
|
|
8590
8850
|
// templates/OptionsTypes/OptionsTypes.tsx
|
|
8591
|
-
var
|
|
8592
|
-
var
|
|
8851
|
+
var import_react35 = require("react");
|
|
8852
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
8593
8853
|
var OPTIONS_TYPES_PLACEHOLDER_ITEMS = [
|
|
8594
8854
|
{
|
|
8595
8855
|
id: "option-type",
|
|
@@ -8600,7 +8860,7 @@ var OPTIONS_TYPES_PLACEHOLDER_ITEMS = [
|
|
|
8600
8860
|
platforms: [{ label: "Platform" }]
|
|
8601
8861
|
}
|
|
8602
8862
|
];
|
|
8603
|
-
function
|
|
8863
|
+
function safeHref2(value) {
|
|
8604
8864
|
if (!value) return null;
|
|
8605
8865
|
if (value.startsWith("/") && !value.startsWith("//")) return value;
|
|
8606
8866
|
try {
|
|
@@ -8610,8 +8870,8 @@ function safeHref(value) {
|
|
|
8610
8870
|
return null;
|
|
8611
8871
|
}
|
|
8612
8872
|
}
|
|
8613
|
-
function
|
|
8614
|
-
const href =
|
|
8873
|
+
function safeLottieSrc2(value) {
|
|
8874
|
+
const href = safeHref2(value);
|
|
8615
8875
|
if (!href) return null;
|
|
8616
8876
|
try {
|
|
8617
8877
|
const pathname = href.startsWith("/") ? href : new URL(href).pathname;
|
|
@@ -8643,9 +8903,9 @@ var iconPaths = {
|
|
|
8643
8903
|
]
|
|
8644
8904
|
};
|
|
8645
8905
|
function MetaIcon({ icon, iconUrl }) {
|
|
8646
|
-
const imageSrc =
|
|
8906
|
+
const imageSrc = safeHref2(iconUrl);
|
|
8647
8907
|
if (imageSrc) {
|
|
8648
|
-
return /* @__PURE__ */ (0,
|
|
8908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8649
8909
|
"img",
|
|
8650
8910
|
{
|
|
8651
8911
|
className: "ot__meta-image",
|
|
@@ -8661,27 +8921,27 @@ function MetaIcon({ icon, iconUrl }) {
|
|
|
8661
8921
|
const paths = iconPaths[icon];
|
|
8662
8922
|
if (!paths) {
|
|
8663
8923
|
const initials = icon === "deriv-trader" ? "DT" : icon === "deriv-bot" ? "DB" : "ST";
|
|
8664
|
-
return /* @__PURE__ */ (0,
|
|
8924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "ot__platform-icon", "aria-hidden": "true", children: initials });
|
|
8665
8925
|
}
|
|
8666
|
-
return /* @__PURE__ */ (0,
|
|
8926
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("svg", { className: "ot__meta-icon", viewBox: "0 0 25 24", fill: "none", "aria-hidden": "true", children: paths.map((d) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("path", { d, fill: "currentColor" }, d)) });
|
|
8667
8927
|
}
|
|
8668
8928
|
function MetaList({ items = [] }) {
|
|
8669
|
-
return /* @__PURE__ */ (0,
|
|
8670
|
-
const href =
|
|
8671
|
-
const content = /* @__PURE__ */ (0,
|
|
8672
|
-
/* @__PURE__ */ (0,
|
|
8673
|
-
/* @__PURE__ */ (0,
|
|
8929
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("ul", { className: "ot__meta-list", children: items.map((item, index) => {
|
|
8930
|
+
const href = safeHref2(item.href);
|
|
8931
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
|
|
8932
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MetaIcon, { icon: item.icon, iconUrl: item.iconUrl }),
|
|
8933
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: item.label })
|
|
8674
8934
|
] });
|
|
8675
|
-
return /* @__PURE__ */ (0,
|
|
8935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("li", { children: href ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("a", { href, children: content }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: content }) }, `${item.label}-${index}`);
|
|
8676
8936
|
}) });
|
|
8677
8937
|
}
|
|
8678
|
-
function
|
|
8679
|
-
return /* @__PURE__ */ (0,
|
|
8680
|
-
/* @__PURE__ */ (0,
|
|
8681
|
-
playing ? /* @__PURE__ */ (0,
|
|
8682
|
-
/* @__PURE__ */ (0,
|
|
8683
|
-
/* @__PURE__ */ (0,
|
|
8684
|
-
] }) : /* @__PURE__ */ (0,
|
|
8938
|
+
function PlaybackGlyph2({ playing }) {
|
|
8939
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("svg", { className: "ot__control-icon", viewBox: "0 0 64 64", "aria-hidden": "true", children: [
|
|
8940
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("circle", { className: "ot__control-disc", cx: "32", cy: "32", r: "32" }),
|
|
8941
|
+
playing ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
|
|
8942
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("rect", { className: "ot__control-glyph", x: "23", y: "21", width: "6", height: "22", rx: "2" }),
|
|
8943
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("rect", { className: "ot__control-glyph", x: "35", y: "21", width: "6", height: "22", rx: "2" })
|
|
8944
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8685
8945
|
"path",
|
|
8686
8946
|
{
|
|
8687
8947
|
className: "ot__control-glyph",
|
|
@@ -8696,20 +8956,20 @@ function AnimationCard({
|
|
|
8696
8956
|
playing,
|
|
8697
8957
|
onToggle
|
|
8698
8958
|
}) {
|
|
8699
|
-
const src =
|
|
8700
|
-
const posterSrc =
|
|
8959
|
+
const src = safeLottieSrc2(animation.src);
|
|
8960
|
+
const posterSrc = safeHref2(animation.posterUrl);
|
|
8701
8961
|
const controlId = `ot-animation-${itemId}-${animation.id ?? animation.label}`.replace(/[^a-zA-Z0-9_-]/g, "-");
|
|
8702
|
-
return /* @__PURE__ */ (0,
|
|
8703
|
-
/* @__PURE__ */ (0,
|
|
8962
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__animation-card", children: [
|
|
8963
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { id: controlId, className: "ot__animation-media", "aria-hidden": "true", children: src ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8704
8964
|
DotLottieInView,
|
|
8705
8965
|
{
|
|
8706
8966
|
src,
|
|
8707
8967
|
enabled: playing,
|
|
8708
8968
|
loop: true,
|
|
8709
|
-
poster: posterSrc ? /* @__PURE__ */ (0,
|
|
8969
|
+
poster: posterSrc ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("img", { src: posterSrc, alt: "", loading: "lazy", decoding: "async" }) : void 0
|
|
8710
8970
|
}
|
|
8711
8971
|
) : null }),
|
|
8712
|
-
posterSrc && !playing ? /* @__PURE__ */ (0,
|
|
8972
|
+
posterSrc && !playing ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8713
8973
|
"img",
|
|
8714
8974
|
{
|
|
8715
8975
|
className: "ot__animation-poster",
|
|
@@ -8720,7 +8980,7 @@ function AnimationCard({
|
|
|
8720
8980
|
decoding: "async"
|
|
8721
8981
|
}
|
|
8722
8982
|
) : null,
|
|
8723
|
-
src ? /* @__PURE__ */ (0,
|
|
8983
|
+
src ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8724
8984
|
"button",
|
|
8725
8985
|
{
|
|
8726
8986
|
type: "button",
|
|
@@ -8729,7 +8989,7 @@ function AnimationCard({
|
|
|
8729
8989
|
"aria-pressed": playing,
|
|
8730
8990
|
"aria-label": `${playing ? "Pause" : "Play"} ${animation.label} animation`,
|
|
8731
8991
|
onClick: onToggle,
|
|
8732
|
-
children: /* @__PURE__ */ (0,
|
|
8992
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(PlaybackGlyph2, { playing })
|
|
8733
8993
|
}
|
|
8734
8994
|
) : null
|
|
8735
8995
|
] });
|
|
@@ -8742,10 +9002,10 @@ function OptionPanel({
|
|
|
8742
9002
|
playing,
|
|
8743
9003
|
setPlaying
|
|
8744
9004
|
}) {
|
|
8745
|
-
const description = /* @__PURE__ */ (0,
|
|
8746
|
-
const animations = /* @__PURE__ */ (0,
|
|
9005
|
+
const description = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "ot__description", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { children: item.description }) });
|
|
9006
|
+
const animations = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: `ot__animations ot__animations--${Math.min(item.animations.length, 2)}`, children: item.animations.slice(0, 2).map((animation, index) => {
|
|
8747
9007
|
const key = `${item.id}-${animation.id ?? index}`;
|
|
8748
|
-
return /* @__PURE__ */ (0,
|
|
9008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8749
9009
|
AnimationCard,
|
|
8750
9010
|
{
|
|
8751
9011
|
animation,
|
|
@@ -8759,28 +9019,28 @@ function OptionPanel({
|
|
|
8759
9019
|
key
|
|
8760
9020
|
);
|
|
8761
9021
|
}) });
|
|
8762
|
-
const metadata = /* @__PURE__ */ (0,
|
|
8763
|
-
/* @__PURE__ */ (0,
|
|
8764
|
-
/* @__PURE__ */ (0,
|
|
8765
|
-
/* @__PURE__ */ (0,
|
|
9022
|
+
const metadata = /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__metadata", children: [
|
|
9023
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__meta-group", children: [
|
|
9024
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h4", { children: marketsLabel }),
|
|
9025
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MetaList, { items: item.markets })
|
|
8766
9026
|
] }),
|
|
8767
|
-
/* @__PURE__ */ (0,
|
|
8768
|
-
/* @__PURE__ */ (0,
|
|
8769
|
-
/* @__PURE__ */ (0,
|
|
9027
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__meta-group", children: [
|
|
9028
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h4", { children: platformsLabel }),
|
|
9029
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MetaList, { items: item.platforms })
|
|
8770
9030
|
] })
|
|
8771
9031
|
] });
|
|
8772
9032
|
const layout = variant === "single" && item.animations.length === 1 ? "split" : "stacked";
|
|
8773
9033
|
const optionClass = `ot__option ot__option--${variant} ot__option--${layout}`;
|
|
8774
9034
|
if (layout === "split") {
|
|
8775
|
-
return /* @__PURE__ */ (0,
|
|
9035
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: optionClass, children: [
|
|
8776
9036
|
animations,
|
|
8777
|
-
/* @__PURE__ */ (0,
|
|
9037
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__option-side", children: [
|
|
8778
9038
|
description,
|
|
8779
9039
|
metadata
|
|
8780
9040
|
] })
|
|
8781
9041
|
] });
|
|
8782
9042
|
}
|
|
8783
|
-
return /* @__PURE__ */ (0,
|
|
9043
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: optionClass, children: [
|
|
8784
9044
|
description,
|
|
8785
9045
|
animations,
|
|
8786
9046
|
metadata
|
|
@@ -8795,10 +9055,10 @@ function TogglePanel({
|
|
|
8795
9055
|
setPlaying
|
|
8796
9056
|
}) {
|
|
8797
9057
|
const animations = item.animations;
|
|
8798
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
8799
|
-
const switchRefs = (0,
|
|
9058
|
+
const [activeIndex, setActiveIndex] = (0, import_react35.useState)(0);
|
|
9059
|
+
const switchRefs = (0, import_react35.useRef)([]);
|
|
8800
9060
|
const safeIndex = Math.min(activeIndex, Math.max(animations.length - 1, 0));
|
|
8801
|
-
(0,
|
|
9061
|
+
(0, import_react35.useEffect)(() => {
|
|
8802
9062
|
setPlaying({});
|
|
8803
9063
|
}, [safeIndex, setPlaying]);
|
|
8804
9064
|
const hasMarkets = Boolean(item.markets && item.markets.length > 0);
|
|
@@ -8820,11 +9080,11 @@ function TogglePanel({
|
|
|
8820
9080
|
setActiveIndex(next);
|
|
8821
9081
|
switchRefs.current[next]?.focus();
|
|
8822
9082
|
};
|
|
8823
|
-
return /* @__PURE__ */ (0,
|
|
8824
|
-
/* @__PURE__ */ (0,
|
|
9083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__option ot__option--toggle", children: [
|
|
9084
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "ot__toggle-media", children: animations.map((animation, index) => {
|
|
8825
9085
|
const key = `${item.id}-${animation.id ?? index}`;
|
|
8826
9086
|
const isActive = index === safeIndex;
|
|
8827
|
-
return /* @__PURE__ */ (0,
|
|
9087
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8828
9088
|
"div",
|
|
8829
9089
|
{
|
|
8830
9090
|
className: "ot__toggle-pane",
|
|
@@ -8832,7 +9092,7 @@ function TogglePanel({
|
|
|
8832
9092
|
role: "tabpanel",
|
|
8833
9093
|
"aria-labelledby": `${idPrefix}-switch-${index}`,
|
|
8834
9094
|
hidden: !isActive,
|
|
8835
|
-
children: isActive ? /* @__PURE__ */ (0,
|
|
9095
|
+
children: isActive ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8836
9096
|
AnimationCard,
|
|
8837
9097
|
{
|
|
8838
9098
|
animation,
|
|
@@ -8848,8 +9108,8 @@ function TogglePanel({
|
|
|
8848
9108
|
key
|
|
8849
9109
|
);
|
|
8850
9110
|
}) }),
|
|
8851
|
-
/* @__PURE__ */ (0,
|
|
8852
|
-
animations.length > 1 ? /* @__PURE__ */ (0,
|
|
9111
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__toggle-side", children: [
|
|
9112
|
+
animations.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8853
9113
|
"div",
|
|
8854
9114
|
{
|
|
8855
9115
|
className: "ot__toggle-switch",
|
|
@@ -8858,8 +9118,8 @@ function TogglePanel({
|
|
|
8858
9118
|
onKeyDown: onSwitchKeyDown,
|
|
8859
9119
|
children: animations.map((animation, index) => {
|
|
8860
9120
|
const isActive = index === safeIndex;
|
|
8861
|
-
const iconUrl =
|
|
8862
|
-
return /* @__PURE__ */ (0,
|
|
9121
|
+
const iconUrl = safeHref2(animation.iconUrl);
|
|
9122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8863
9123
|
"button",
|
|
8864
9124
|
{
|
|
8865
9125
|
ref: (node) => {
|
|
@@ -8874,7 +9134,7 @@ function TogglePanel({
|
|
|
8874
9134
|
tabIndex: isActive ? 0 : -1,
|
|
8875
9135
|
className: `ot__toggle-option${isActive ? " ot__toggle-option--active" : ""}`,
|
|
8876
9136
|
onClick: () => setActiveIndex(index),
|
|
8877
|
-
children: iconUrl ? /* @__PURE__ */ (0,
|
|
9137
|
+
children: iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8878
9138
|
"img",
|
|
8879
9139
|
{
|
|
8880
9140
|
className: "ot__toggle-icon",
|
|
@@ -8884,23 +9144,23 @@ function TogglePanel({
|
|
|
8884
9144
|
loading: "lazy",
|
|
8885
9145
|
decoding: "async"
|
|
8886
9146
|
}
|
|
8887
|
-
) : /* @__PURE__ */ (0,
|
|
9147
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "ot__toggle-option-label", children: animation.label })
|
|
8888
9148
|
},
|
|
8889
9149
|
`${item.id}-switch-${animation.id ?? index}`
|
|
8890
9150
|
);
|
|
8891
9151
|
})
|
|
8892
9152
|
}
|
|
8893
9153
|
) : null,
|
|
8894
|
-
/* @__PURE__ */ (0,
|
|
8895
|
-
/* @__PURE__ */ (0,
|
|
8896
|
-
hasMarkets || hasPlatforms ? /* @__PURE__ */ (0,
|
|
8897
|
-
hasMarkets ? /* @__PURE__ */ (0,
|
|
8898
|
-
/* @__PURE__ */ (0,
|
|
8899
|
-
/* @__PURE__ */ (0,
|
|
9154
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h3", { className: "ot__toggle-title", children: item.title }),
|
|
9155
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "ot__description", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { children: item.description }) }),
|
|
9156
|
+
hasMarkets || hasPlatforms ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__metadata", children: [
|
|
9157
|
+
hasMarkets ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__meta-group", children: [
|
|
9158
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h4", { children: marketsLabel }),
|
|
9159
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MetaList, { items: item.markets })
|
|
8900
9160
|
] }) : null,
|
|
8901
|
-
hasPlatforms ? /* @__PURE__ */ (0,
|
|
8902
|
-
/* @__PURE__ */ (0,
|
|
8903
|
-
/* @__PURE__ */ (0,
|
|
9161
|
+
hasPlatforms ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__meta-group", children: [
|
|
9162
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h4", { children: platformsLabel }),
|
|
9163
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MetaList, { items: item.platforms })
|
|
8904
9164
|
] }) : null
|
|
8905
9165
|
] }) : null
|
|
8906
9166
|
] })
|
|
@@ -8921,15 +9181,15 @@ function OptionsTypes({
|
|
|
8921
9181
|
...props
|
|
8922
9182
|
}) {
|
|
8923
9183
|
const usableItems = Array.isArray(items) ? items.filter((item) => item?.id) : [];
|
|
8924
|
-
const [internalActiveId, setInternalActiveId] = (0,
|
|
9184
|
+
const [internalActiveId, setInternalActiveId] = (0, import_react35.useState)(
|
|
8925
9185
|
defaultActiveId ?? usableItems[0]?.id ?? ""
|
|
8926
9186
|
);
|
|
8927
9187
|
const selectedId = usableItems.find((item) => item.id === activeId)?.id ?? usableItems.find((item) => item.id === internalActiveId)?.id ?? usableItems[0]?.id ?? "";
|
|
8928
|
-
const [playing, setPlaying] = (0,
|
|
8929
|
-
const generatedId = (0,
|
|
9188
|
+
const [playing, setPlaying] = (0, import_react35.useState)({});
|
|
9189
|
+
const generatedId = (0, import_react35.useId)().replace(/:/g, "");
|
|
8930
9190
|
const tabPrefix = `options-types-${generatedId}`;
|
|
8931
9191
|
const Heading = headingLevel;
|
|
8932
|
-
(0,
|
|
9192
|
+
(0, import_react35.useEffect)(() => {
|
|
8933
9193
|
setPlaying({});
|
|
8934
9194
|
}, [selectedId]);
|
|
8935
9195
|
const selectItem = (id) => {
|
|
@@ -8937,10 +9197,10 @@ function OptionsTypes({
|
|
|
8937
9197
|
onChange?.(id);
|
|
8938
9198
|
};
|
|
8939
9199
|
const rootClass = ["ot", `ot--${variant}`, className].filter(Boolean).join(" ");
|
|
8940
|
-
return /* @__PURE__ */ (0,
|
|
8941
|
-
/* @__PURE__ */ (0,
|
|
8942
|
-
/* @__PURE__ */ (0,
|
|
8943
|
-
variant === "tabs" && usableItems.length > 1 ? /* @__PURE__ */ (0,
|
|
9200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__inner", children: [
|
|
9201
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("header", { className: "ot__header", children: [
|
|
9202
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Heading, { className: "ot__heading", children: heading }),
|
|
9203
|
+
variant === "tabs" && usableItems.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8944
9204
|
Tabs,
|
|
8945
9205
|
{
|
|
8946
9206
|
items: usableItems.map((item) => ({
|
|
@@ -8955,9 +9215,9 @@ function OptionsTypes({
|
|
|
8955
9215
|
}
|
|
8956
9216
|
) : null
|
|
8957
9217
|
] }),
|
|
8958
|
-
usableItems.length === 0 ? null : variant === "tabs" ? /* @__PURE__ */ (0,
|
|
9218
|
+
usableItems.length === 0 ? null : variant === "tabs" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "ot__panels", children: usableItems.map((item, index) => {
|
|
8959
9219
|
const isActive = item.id === selectedId;
|
|
8960
|
-
return /* @__PURE__ */ (0,
|
|
9220
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8961
9221
|
"div",
|
|
8962
9222
|
{
|
|
8963
9223
|
id: `${tabPrefix}-panel-${index}`,
|
|
@@ -8965,7 +9225,7 @@ function OptionsTypes({
|
|
|
8965
9225
|
"aria-labelledby": `${tabPrefix}-tab-${index}`,
|
|
8966
9226
|
hidden: !isActive,
|
|
8967
9227
|
tabIndex: 0,
|
|
8968
|
-
children: /* @__PURE__ */ (0,
|
|
9228
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8969
9229
|
OptionPanel,
|
|
8970
9230
|
{
|
|
8971
9231
|
item,
|
|
@@ -8979,7 +9239,7 @@ function OptionsTypes({
|
|
|
8979
9239
|
},
|
|
8980
9240
|
item.id
|
|
8981
9241
|
);
|
|
8982
|
-
}) }) : variant === "toggle" ? /* @__PURE__ */ (0,
|
|
9242
|
+
}) }) : variant === "toggle" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8983
9243
|
TogglePanel,
|
|
8984
9244
|
{
|
|
8985
9245
|
item: usableItems[0],
|
|
@@ -8989,7 +9249,7 @@ function OptionsTypes({
|
|
|
8989
9249
|
playing,
|
|
8990
9250
|
setPlaying
|
|
8991
9251
|
}
|
|
8992
|
-
) : /* @__PURE__ */ (0,
|
|
9252
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8993
9253
|
OptionPanel,
|
|
8994
9254
|
{
|
|
8995
9255
|
item: usableItems[0],
|
|
@@ -9000,8 +9260,8 @@ function OptionsTypes({
|
|
|
9000
9260
|
setPlaying
|
|
9001
9261
|
}
|
|
9002
9262
|
),
|
|
9003
|
-
disclaimer ? /* @__PURE__ */ (0,
|
|
9004
|
-
/* @__PURE__ */ (0,
|
|
9263
|
+
disclaimer ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("p", { className: "ot__disclaimer", children: [
|
|
9264
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
9005
9265
|
"svg",
|
|
9006
9266
|
{
|
|
9007
9267
|
className: "ot__disclaimer-icon",
|
|
@@ -9009,8 +9269,8 @@ function OptionsTypes({
|
|
|
9009
9269
|
fill: "none",
|
|
9010
9270
|
"aria-hidden": "true",
|
|
9011
9271
|
children: [
|
|
9012
|
-
/* @__PURE__ */ (0,
|
|
9013
|
-
/* @__PURE__ */ (0,
|
|
9272
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("circle", { cx: "8", cy: "8", r: "6.4", stroke: "currentColor", strokeWidth: "1.2" }),
|
|
9273
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
9014
9274
|
"path",
|
|
9015
9275
|
{
|
|
9016
9276
|
d: "M8 7v4.2",
|
|
@@ -9019,11 +9279,11 @@ function OptionsTypes({
|
|
|
9019
9279
|
strokeLinecap: "round"
|
|
9020
9280
|
}
|
|
9021
9281
|
),
|
|
9022
|
-
/* @__PURE__ */ (0,
|
|
9282
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("circle", { cx: "8", cy: "4.9", r: "0.85", fill: "currentColor" })
|
|
9023
9283
|
]
|
|
9024
9284
|
}
|
|
9025
9285
|
),
|
|
9026
|
-
/* @__PURE__ */ (0,
|
|
9286
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: disclaimer })
|
|
9027
9287
|
] }) : null
|
|
9028
9288
|
] }) });
|
|
9029
9289
|
}
|
|
@@ -9257,7 +9517,7 @@ var OPTIONS_TYPES_EU_MULTIPLIERS_CONTENT = {
|
|
|
9257
9517
|
};
|
|
9258
9518
|
|
|
9259
9519
|
// templates/EntityInfoSection/EntityInfoSection.tsx
|
|
9260
|
-
var
|
|
9520
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
9261
9521
|
var DEFAULT_LINKS2 = [{ label: "View licence", href: "#" }];
|
|
9262
9522
|
var EntityInfoSection = ({
|
|
9263
9523
|
name = "Section title goes here",
|
|
@@ -9271,13 +9531,13 @@ var EntityInfoSection = ({
|
|
|
9271
9531
|
const resolvedLinks = links && links.length > 0 ? links : DEFAULT_LINKS2;
|
|
9272
9532
|
const hasBullets = !!bullets && bullets.length > 0;
|
|
9273
9533
|
const rootClass = ["eis", className].filter(Boolean).join(" ");
|
|
9274
|
-
return /* @__PURE__ */ (0,
|
|
9275
|
-
/* @__PURE__ */ (0,
|
|
9276
|
-
description && /* @__PURE__ */ (0,
|
|
9277
|
-
hasBullets && /* @__PURE__ */ (0,
|
|
9278
|
-
resolvedLinks.length > 0 && /* @__PURE__ */ (0,
|
|
9534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "eis__inner", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "eis__content", children: [
|
|
9535
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(HeadingTag, { className: "eis__name", children: name }),
|
|
9536
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "eis__description", children: description }),
|
|
9537
|
+
hasBullets && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("ul", { className: "eis__bullets", children: bullets.map((bullet, i) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("li", { className: "eis__bullets-item", children: bullet }, i)) }),
|
|
9538
|
+
resolvedLinks.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("ul", { className: "eis__links", children: resolvedLinks.map((link, i) => {
|
|
9279
9539
|
const isExternal = link.external ?? true;
|
|
9280
|
-
return /* @__PURE__ */ (0,
|
|
9540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("li", { className: "eis__links-item", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
9281
9541
|
Link,
|
|
9282
9542
|
{
|
|
9283
9543
|
className: "eis__link",
|
|
@@ -9293,7 +9553,7 @@ var EntityInfoSection = ({
|
|
|
9293
9553
|
};
|
|
9294
9554
|
|
|
9295
9555
|
// templates/CountryLinkGrid/CountryLinkGrid.tsx
|
|
9296
|
-
var
|
|
9556
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
9297
9557
|
var DEFAULT_ITEMS = [
|
|
9298
9558
|
{ label: "Country name", href: "#" },
|
|
9299
9559
|
{ label: "Country name", href: "#" },
|
|
@@ -9310,14 +9570,14 @@ var CountryLinkGrid = ({
|
|
|
9310
9570
|
}) => {
|
|
9311
9571
|
const resolvedItems = items && items.length > 0 ? items : DEFAULT_ITEMS;
|
|
9312
9572
|
const rootClass = ["clg", className].filter(Boolean).join(" ");
|
|
9313
|
-
return /* @__PURE__ */ (0,
|
|
9314
|
-
/* @__PURE__ */ (0,
|
|
9315
|
-
/* @__PURE__ */ (0,
|
|
9316
|
-
description && /* @__PURE__ */ (0,
|
|
9573
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "clg__inner", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "clg__layout", children: [
|
|
9574
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "clg__header", children: [
|
|
9575
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(HeadingTag, { className: "clg__title", children: title }),
|
|
9576
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "clg__description", children: description })
|
|
9317
9577
|
] }),
|
|
9318
|
-
resolvedItems.length > 0 && /* @__PURE__ */ (0,
|
|
9578
|
+
resolvedItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("ul", { className: "clg__list", children: resolvedItems.map((item, i) => {
|
|
9319
9579
|
const isExternal = item.external ?? true;
|
|
9320
|
-
return /* @__PURE__ */ (0,
|
|
9580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("li", { className: "clg__item", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
9321
9581
|
"a",
|
|
9322
9582
|
{
|
|
9323
9583
|
className: "clg__link",
|
|
@@ -9325,7 +9585,7 @@ var CountryLinkGrid = ({
|
|
|
9325
9585
|
target: isExternal ? "_blank" : void 0,
|
|
9326
9586
|
rel: isExternal ? "noopener noreferrer" : void 0,
|
|
9327
9587
|
children: [
|
|
9328
|
-
item.iconSrc && /* @__PURE__ */ (0,
|
|
9588
|
+
item.iconSrc && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
9329
9589
|
"img",
|
|
9330
9590
|
{
|
|
9331
9591
|
className: "clg__flag",
|
|
@@ -9336,7 +9596,7 @@ var CountryLinkGrid = ({
|
|
|
9336
9596
|
height: 24
|
|
9337
9597
|
}
|
|
9338
9598
|
),
|
|
9339
|
-
/* @__PURE__ */ (0,
|
|
9599
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "clg__text", children: item.label })
|
|
9340
9600
|
]
|
|
9341
9601
|
}
|
|
9342
9602
|
) }, item.id ?? i);
|
|
@@ -9345,8 +9605,8 @@ var CountryLinkGrid = ({
|
|
|
9345
9605
|
};
|
|
9346
9606
|
|
|
9347
9607
|
// templates/DocumentChips/DocumentChips.tsx
|
|
9348
|
-
var
|
|
9349
|
-
var
|
|
9608
|
+
var import_react36 = require("react");
|
|
9609
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
9350
9610
|
var DEFAULT_GROUPS = [
|
|
9351
9611
|
{
|
|
9352
9612
|
id: "group-one",
|
|
@@ -9383,8 +9643,8 @@ var DocumentChip = ({ document: document2, iconSrc, iconAlt, onLanguageSelect })
|
|
|
9383
9643
|
event.preventDefault();
|
|
9384
9644
|
onLanguageSelect(document2, event);
|
|
9385
9645
|
};
|
|
9386
|
-
return /* @__PURE__ */ (0,
|
|
9387
|
-
/* @__PURE__ */ (0,
|
|
9646
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("li", { className: "dch__doc-item", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "dch__doc", children: [
|
|
9647
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
|
|
9388
9648
|
"a",
|
|
9389
9649
|
{
|
|
9390
9650
|
className: "dch__doc-link",
|
|
@@ -9392,7 +9652,7 @@ var DocumentChip = ({ document: document2, iconSrc, iconAlt, onLanguageSelect })
|
|
|
9392
9652
|
target: isExternal ? "_blank" : void 0,
|
|
9393
9653
|
rel: isExternal ? "noopener noreferrer" : void 0,
|
|
9394
9654
|
children: [
|
|
9395
|
-
/* @__PURE__ */ (0,
|
|
9655
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9396
9656
|
"img",
|
|
9397
9657
|
{
|
|
9398
9658
|
className: "dch__doc-icon",
|
|
@@ -9402,11 +9662,11 @@ var DocumentChip = ({ document: document2, iconSrc, iconAlt, onLanguageSelect })
|
|
|
9402
9662
|
"aria-hidden": iconAlt ? void 0 : true
|
|
9403
9663
|
}
|
|
9404
9664
|
),
|
|
9405
|
-
/* @__PURE__ */ (0,
|
|
9665
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "dch__doc-title", children: document2.title })
|
|
9406
9666
|
]
|
|
9407
9667
|
}
|
|
9408
9668
|
),
|
|
9409
|
-
languageLink && /* @__PURE__ */ (0,
|
|
9669
|
+
languageLink && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "dch__doc-action", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9410
9670
|
Link,
|
|
9411
9671
|
{
|
|
9412
9672
|
className: "dch__doc-language",
|
|
@@ -9424,7 +9684,7 @@ var DocumentChipList = ({
|
|
|
9424
9684
|
iconSrc,
|
|
9425
9685
|
iconAlt,
|
|
9426
9686
|
onLanguageSelect
|
|
9427
|
-
}) => /* @__PURE__ */ (0,
|
|
9687
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("ul", { className: "dch__docs", children: documents.map((document2, j) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9428
9688
|
DocumentChip,
|
|
9429
9689
|
{
|
|
9430
9690
|
document: document2,
|
|
@@ -9449,7 +9709,7 @@ var DocumentChips = ({
|
|
|
9449
9709
|
}) => {
|
|
9450
9710
|
const resolvedGroups = groups && groups.length > 0 ? groups : DEFAULT_GROUPS;
|
|
9451
9711
|
const groupKeys = resolvedGroups.map((group, i) => String(group.id ?? i));
|
|
9452
|
-
const [openKeys, setOpenKeys] = (0,
|
|
9712
|
+
const [openKeys, setOpenKeys] = (0, import_react36.useState)(void 0);
|
|
9453
9713
|
const resolvedOpenKeys = openKeys === void 0 ? groupKeys.slice(0, 1) : openKeys;
|
|
9454
9714
|
const handleToggle = (key, next) => {
|
|
9455
9715
|
setOpenKeys((current) => {
|
|
@@ -9460,12 +9720,12 @@ var DocumentChips = ({
|
|
|
9460
9720
|
};
|
|
9461
9721
|
const flatDocuments = resolvedGroups.flatMap((group) => group.documents ?? []);
|
|
9462
9722
|
const rootClass = ["dch", className].filter(Boolean).join(" ");
|
|
9463
|
-
return /* @__PURE__ */ (0,
|
|
9464
|
-
(title || description) && /* @__PURE__ */ (0,
|
|
9465
|
-
title && /* @__PURE__ */ (0,
|
|
9466
|
-
description && /* @__PURE__ */ (0,
|
|
9723
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "dch__inner", children: [
|
|
9724
|
+
(title || description) && /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "dch__header", children: [
|
|
9725
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(HeadingTag, { className: "dch__title", children: title }),
|
|
9726
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "dch__description", children: description })
|
|
9467
9727
|
] }),
|
|
9468
|
-
variant === "flat" ? /* @__PURE__ */ (0,
|
|
9728
|
+
variant === "flat" ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9469
9729
|
DocumentChipList,
|
|
9470
9730
|
{
|
|
9471
9731
|
documents: flatDocuments,
|
|
@@ -9473,9 +9733,9 @@ var DocumentChips = ({
|
|
|
9473
9733
|
iconSrc,
|
|
9474
9734
|
onLanguageSelect
|
|
9475
9735
|
}
|
|
9476
|
-
) : /* @__PURE__ */ (0,
|
|
9736
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "dch__groups", children: resolvedGroups.map((group, i) => {
|
|
9477
9737
|
const key = groupKeys[i];
|
|
9478
|
-
return /* @__PURE__ */ (0,
|
|
9738
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9479
9739
|
Accordion,
|
|
9480
9740
|
{
|
|
9481
9741
|
className: "dch__group",
|
|
@@ -9483,7 +9743,7 @@ var DocumentChips = ({
|
|
|
9483
9743
|
open: resolvedOpenKeys.includes(key),
|
|
9484
9744
|
onToggle: (next) => handleToggle(key, next),
|
|
9485
9745
|
showTopDivider: i > 0,
|
|
9486
|
-
children: /* @__PURE__ */ (0,
|
|
9746
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9487
9747
|
DocumentChipList,
|
|
9488
9748
|
{
|
|
9489
9749
|
documents: group.documents ?? [],
|
|
@@ -9500,10 +9760,10 @@ var DocumentChips = ({
|
|
|
9500
9760
|
};
|
|
9501
9761
|
|
|
9502
9762
|
// components/LinkModal/LinkModal.tsx
|
|
9503
|
-
var
|
|
9763
|
+
var import_react37 = require("react");
|
|
9504
9764
|
var import_react_dom2 = require("react-dom");
|
|
9505
|
-
var
|
|
9506
|
-
var XMarkIcon3 = () => /* @__PURE__ */ (0,
|
|
9765
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
9766
|
+
var XMarkIcon3 = () => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
9507
9767
|
"svg",
|
|
9508
9768
|
{
|
|
9509
9769
|
width: "24",
|
|
@@ -9512,7 +9772,7 @@ var XMarkIcon3 = () => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
|
9512
9772
|
fill: "none",
|
|
9513
9773
|
xmlns: "http://www.w3.org/2000/svg",
|
|
9514
9774
|
"aria-hidden": "true",
|
|
9515
|
-
children: /* @__PURE__ */ (0,
|
|
9775
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
9516
9776
|
"path",
|
|
9517
9777
|
{
|
|
9518
9778
|
d: "M5 5l14 14M19 5L5 19",
|
|
@@ -9542,17 +9802,17 @@ var LinkModal = ({
|
|
|
9542
9802
|
className,
|
|
9543
9803
|
...props
|
|
9544
9804
|
}) => {
|
|
9545
|
-
const titleId = (0,
|
|
9546
|
-
const panelRef = (0,
|
|
9547
|
-
const triggerRef = (0,
|
|
9548
|
-
const getFocusable = (0,
|
|
9805
|
+
const titleId = (0, import_react37.useId)();
|
|
9806
|
+
const panelRef = (0, import_react37.useRef)(null);
|
|
9807
|
+
const triggerRef = (0, import_react37.useRef)(null);
|
|
9808
|
+
const getFocusable = (0, import_react37.useCallback)(() => {
|
|
9549
9809
|
const panel = panelRef.current;
|
|
9550
9810
|
if (!panel) return [];
|
|
9551
9811
|
return Array.from(panel.querySelectorAll(FOCUSABLE_SELECTOR)).filter(
|
|
9552
9812
|
(el) => el.offsetParent !== null || el === document.activeElement
|
|
9553
9813
|
);
|
|
9554
9814
|
}, []);
|
|
9555
|
-
(0,
|
|
9815
|
+
(0, import_react37.useEffect)(() => {
|
|
9556
9816
|
if (!open || typeof document === "undefined") return;
|
|
9557
9817
|
triggerRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
9558
9818
|
panelRef.current?.focus();
|
|
@@ -9562,7 +9822,7 @@ var LinkModal = ({
|
|
|
9562
9822
|
if (trigger && document.contains(trigger)) trigger.focus();
|
|
9563
9823
|
};
|
|
9564
9824
|
}, [open]);
|
|
9565
|
-
(0,
|
|
9825
|
+
(0, import_react37.useEffect)(() => {
|
|
9566
9826
|
if (!open || typeof document === "undefined") return;
|
|
9567
9827
|
const handleKeyDown = (event) => {
|
|
9568
9828
|
if (event.key === "Escape") {
|
|
@@ -9573,7 +9833,7 @@ var LinkModal = ({
|
|
|
9573
9833
|
document.addEventListener("keydown", handleKeyDown);
|
|
9574
9834
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
9575
9835
|
}, [open, onClose]);
|
|
9576
|
-
(0,
|
|
9836
|
+
(0, import_react37.useEffect)(() => {
|
|
9577
9837
|
if (!open || typeof document === "undefined") return;
|
|
9578
9838
|
const body = document.body;
|
|
9579
9839
|
const previousOverflow = body.style.overflow;
|
|
@@ -9615,9 +9875,9 @@ var LinkModal = ({
|
|
|
9615
9875
|
if (!open || typeof document === "undefined") return null;
|
|
9616
9876
|
const rootClass = ["lkm", className].filter(Boolean).join(" ");
|
|
9617
9877
|
return (0, import_react_dom2.createPortal)(
|
|
9618
|
-
/* @__PURE__ */ (0,
|
|
9619
|
-
/* @__PURE__ */ (0,
|
|
9620
|
-
/* @__PURE__ */ (0,
|
|
9878
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: rootClass, onClick: onClose, children: [
|
|
9879
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "lkm__scrim", "aria-hidden": "true" }),
|
|
9880
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
9621
9881
|
"div",
|
|
9622
9882
|
{
|
|
9623
9883
|
ref: panelRef,
|
|
@@ -9630,18 +9890,18 @@ var LinkModal = ({
|
|
|
9630
9890
|
onKeyDown: handlePanelKeyDown,
|
|
9631
9891
|
...props,
|
|
9632
9892
|
children: [
|
|
9633
|
-
/* @__PURE__ */ (0,
|
|
9893
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
9634
9894
|
"button",
|
|
9635
9895
|
{
|
|
9636
9896
|
type: "button",
|
|
9637
9897
|
className: "lkm__close",
|
|
9638
9898
|
onClick: onClose,
|
|
9639
9899
|
"aria-label": closeLabel,
|
|
9640
|
-
children: /* @__PURE__ */ (0,
|
|
9900
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(XMarkIcon3, {})
|
|
9641
9901
|
}
|
|
9642
9902
|
),
|
|
9643
|
-
/* @__PURE__ */ (0,
|
|
9644
|
-
children && /* @__PURE__ */ (0,
|
|
9903
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(HeadingTag, { id: titleId, className: "lkm__title", children: title }),
|
|
9904
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "lkm__body", children })
|
|
9645
9905
|
]
|
|
9646
9906
|
}
|
|
9647
9907
|
)
|
|
@@ -9651,7 +9911,7 @@ var LinkModal = ({
|
|
|
9651
9911
|
};
|
|
9652
9912
|
|
|
9653
9913
|
// templates/LanguageSelectModal/LanguageSelectModal.tsx
|
|
9654
|
-
var
|
|
9914
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
9655
9915
|
var DEFAULT_OPTIONS = [
|
|
9656
9916
|
{ id: "option-one", label: "First option", href: "#" },
|
|
9657
9917
|
{ id: "option-two", label: "Second option", href: "#" },
|
|
@@ -9672,7 +9932,7 @@ var LanguageSelectModal = ({
|
|
|
9672
9932
|
...props
|
|
9673
9933
|
}) => {
|
|
9674
9934
|
const resolvedOptions = options && options.length > 0 ? options : DEFAULT_OPTIONS;
|
|
9675
|
-
return /* @__PURE__ */ (0,
|
|
9935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
9676
9936
|
LinkModal,
|
|
9677
9937
|
{
|
|
9678
9938
|
open,
|
|
@@ -9683,9 +9943,9 @@ var LanguageSelectModal = ({
|
|
|
9683
9943
|
container,
|
|
9684
9944
|
className,
|
|
9685
9945
|
...props,
|
|
9686
|
-
children: /* @__PURE__ */ (0,
|
|
9946
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("ul", { className: "lsm__grid", children: resolvedOptions.map((option, i) => {
|
|
9687
9947
|
const isExternal = option.external ?? true;
|
|
9688
|
-
return /* @__PURE__ */ (0,
|
|
9948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("li", { className: "lsm__grid-item", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
9689
9949
|
"a",
|
|
9690
9950
|
{
|
|
9691
9951
|
className: "lsm__option",
|
|
@@ -9693,7 +9953,7 @@ var LanguageSelectModal = ({
|
|
|
9693
9953
|
target: isExternal ? "_blank" : void 0,
|
|
9694
9954
|
rel: isExternal ? "noopener noreferrer" : void 0,
|
|
9695
9955
|
children: [
|
|
9696
|
-
option.flagSrc && /* @__PURE__ */ (0,
|
|
9956
|
+
option.flagSrc && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
9697
9957
|
"img",
|
|
9698
9958
|
{
|
|
9699
9959
|
className: "lsm__flag",
|
|
@@ -9703,7 +9963,7 @@ var LanguageSelectModal = ({
|
|
|
9703
9963
|
"aria-hidden": option.flagAlt ? void 0 : true
|
|
9704
9964
|
}
|
|
9705
9965
|
),
|
|
9706
|
-
/* @__PURE__ */ (0,
|
|
9966
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "lsm__option-label", children: option.label })
|
|
9707
9967
|
]
|
|
9708
9968
|
}
|
|
9709
9969
|
) }, option.id ?? i);
|
|
@@ -9713,9 +9973,9 @@ var LanguageSelectModal = ({
|
|
|
9713
9973
|
};
|
|
9714
9974
|
|
|
9715
9975
|
// templates/AffiliatesSlider/AffiliatesSlider.tsx
|
|
9716
|
-
var
|
|
9717
|
-
var
|
|
9718
|
-
var ArrowIcon2 = () => /* @__PURE__ */ (0,
|
|
9976
|
+
var import_react38 = require("react");
|
|
9977
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
9978
|
+
var ArrowIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9719
9979
|
"svg",
|
|
9720
9980
|
{
|
|
9721
9981
|
width: "32",
|
|
@@ -9724,7 +9984,7 @@ var ArrowIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
|
9724
9984
|
fill: "none",
|
|
9725
9985
|
xmlns: "http://www.w3.org/2000/svg",
|
|
9726
9986
|
"aria-hidden": "true",
|
|
9727
|
-
children: /* @__PURE__ */ (0,
|
|
9987
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9728
9988
|
"path",
|
|
9729
9989
|
{
|
|
9730
9990
|
d: "M24.5547 16.9688L17.6797 23.8438C17.4453 24.0781 17.0156 24.0781 16.7812 23.8438C16.5469 23.6094 16.5469 23.1797 16.7812 22.9453L22.6016 17.125H7.875C7.52344 17.125 7.25 16.8516 7.25 16.5C7.25 16.1875 7.52344 15.875 7.875 15.875H22.6016L16.7812 10.0938C16.5469 9.85938 16.5469 9.42969 16.7812 9.19531C17.0156 8.96094 17.4453 8.96094 17.6797 9.19531L24.5547 16.0703C24.7891 16.3047 24.7891 16.7344 24.5547 16.9688Z",
|
|
@@ -9734,7 +9994,7 @@ var ArrowIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
|
9734
9994
|
)
|
|
9735
9995
|
}
|
|
9736
9996
|
);
|
|
9737
|
-
var TrackGradient = () => /* @__PURE__ */ (0,
|
|
9997
|
+
var TrackGradient = () => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
|
|
9738
9998
|
"svg",
|
|
9739
9999
|
{
|
|
9740
10000
|
preserveAspectRatio: "none",
|
|
@@ -9746,7 +10006,7 @@ var TrackGradient = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
|
9746
10006
|
"aria-hidden": "true",
|
|
9747
10007
|
className: "afs__track-gradient",
|
|
9748
10008
|
children: [
|
|
9749
|
-
/* @__PURE__ */ (0,
|
|
10009
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9750
10010
|
"path",
|
|
9751
10011
|
{
|
|
9752
10012
|
opacity: "0.5",
|
|
@@ -9754,7 +10014,7 @@ var TrackGradient = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
|
9754
10014
|
fill: "url(#afs-track-gradient)"
|
|
9755
10015
|
}
|
|
9756
10016
|
),
|
|
9757
|
-
/* @__PURE__ */ (0,
|
|
10017
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
|
|
9758
10018
|
"linearGradient",
|
|
9759
10019
|
{
|
|
9760
10020
|
id: "afs-track-gradient",
|
|
@@ -9764,8 +10024,8 @@ var TrackGradient = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
|
9764
10024
|
y2: "227.916",
|
|
9765
10025
|
gradientUnits: "userSpaceOnUse",
|
|
9766
10026
|
children: [
|
|
9767
|
-
/* @__PURE__ */ (0,
|
|
9768
|
-
/* @__PURE__ */ (0,
|
|
10027
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("stop", { stopColor: "var(--afs-track-gradient-start)" }),
|
|
10028
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("stop", { offset: "1", stopColor: "var(--afs-track-gradient-end)" })
|
|
9769
10029
|
]
|
|
9770
10030
|
}
|
|
9771
10031
|
) })
|
|
@@ -9798,44 +10058,44 @@ var AffiliatesSlider = ({
|
|
|
9798
10058
|
className,
|
|
9799
10059
|
...props
|
|
9800
10060
|
}) => {
|
|
9801
|
-
const [internalValue, setInternalValue] = (0,
|
|
10061
|
+
const [internalValue, setInternalValue] = (0, import_react38.useState)(defaultValue);
|
|
9802
10062
|
const currentValue = value ?? internalValue;
|
|
9803
|
-
const handleChange = (0,
|
|
10063
|
+
const handleChange = (0, import_react38.useCallback)(
|
|
9804
10064
|
(next) => {
|
|
9805
10065
|
if (value === void 0) setInternalValue(next);
|
|
9806
10066
|
onValueChange?.(next);
|
|
9807
10067
|
},
|
|
9808
10068
|
[onValueChange, value]
|
|
9809
10069
|
);
|
|
9810
|
-
const ticks = (0,
|
|
10070
|
+
const ticks = (0, import_react38.useMemo)(
|
|
9811
10071
|
() => tickValues ?? buildDefaultTicks(min, max),
|
|
9812
10072
|
[max, min, tickValues]
|
|
9813
10073
|
);
|
|
9814
10074
|
const fillPercent = (currentValue - min) / (max - min) * 100;
|
|
9815
10075
|
const income = currentValue * incomePerReferral;
|
|
9816
10076
|
const rootClass = ["afs", className].filter(Boolean).join(" ");
|
|
9817
|
-
return /* @__PURE__ */ (0,
|
|
9818
|
-
/* @__PURE__ */ (0,
|
|
9819
|
-
title && /* @__PURE__ */ (0,
|
|
9820
|
-
description && /* @__PURE__ */ (0,
|
|
10077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__inner", children: [
|
|
10078
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__header", children: [
|
|
10079
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("h2", { className: "afs__title", children: title }),
|
|
10080
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "afs__description", children: description })
|
|
9821
10081
|
] }),
|
|
9822
|
-
/* @__PURE__ */ (0,
|
|
9823
|
-
/* @__PURE__ */ (0,
|
|
9824
|
-
/* @__PURE__ */ (0,
|
|
9825
|
-
/* @__PURE__ */ (0,
|
|
10082
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "afs__form", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__controls", children: [
|
|
10083
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__referrals", children: [
|
|
10084
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "afs__metric", children: currentValue }),
|
|
10085
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "afs__metric-label", children: referralsLabel })
|
|
9826
10086
|
] }),
|
|
9827
|
-
/* @__PURE__ */ (0,
|
|
9828
|
-
/* @__PURE__ */ (0,
|
|
9829
|
-
/* @__PURE__ */ (0,
|
|
9830
|
-
/* @__PURE__ */ (0,
|
|
9831
|
-
/* @__PURE__ */ (0,
|
|
10087
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "afs__arrow", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ArrowIcon2, {}) }),
|
|
10088
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__slider-block", children: [
|
|
10089
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TrackGradient, {}),
|
|
10090
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "afs__track-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__track", children: [
|
|
10091
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9832
10092
|
"div",
|
|
9833
10093
|
{
|
|
9834
10094
|
className: "afs__fill",
|
|
9835
10095
|
style: { width: `${fillPercent}%` }
|
|
9836
10096
|
}
|
|
9837
10097
|
),
|
|
9838
|
-
/* @__PURE__ */ (0,
|
|
10098
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9839
10099
|
"div",
|
|
9840
10100
|
{
|
|
9841
10101
|
className: "afs__handle",
|
|
@@ -9843,7 +10103,7 @@ var AffiliatesSlider = ({
|
|
|
9843
10103
|
"aria-hidden": "true"
|
|
9844
10104
|
}
|
|
9845
10105
|
),
|
|
9846
|
-
/* @__PURE__ */ (0,
|
|
10106
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9847
10107
|
"input",
|
|
9848
10108
|
{
|
|
9849
10109
|
type: "range",
|
|
@@ -9860,18 +10120,18 @@ var AffiliatesSlider = ({
|
|
|
9860
10120
|
}
|
|
9861
10121
|
)
|
|
9862
10122
|
] }) }),
|
|
9863
|
-
/* @__PURE__ */ (0,
|
|
10123
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "afs__ticks", children: ticks.map((tick) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "afs__tick", children: tick }, tick)) })
|
|
9864
10124
|
] }),
|
|
9865
|
-
/* @__PURE__ */ (0,
|
|
9866
|
-
/* @__PURE__ */ (0,
|
|
9867
|
-
/* @__PURE__ */ (0,
|
|
9868
|
-
/* @__PURE__ */ (0,
|
|
10125
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__income", children: [
|
|
10126
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__income-value", children: [
|
|
10127
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "afs__metric", children: currencySymbol }),
|
|
10128
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "afs__metric", children: formatIncome(income) })
|
|
9869
10129
|
] }),
|
|
9870
|
-
/* @__PURE__ */ (0,
|
|
10130
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "afs__metric-label afs__metric-label--right", children: incomeLabel })
|
|
9871
10131
|
] })
|
|
9872
10132
|
] }) }),
|
|
9873
|
-
disclaimer && /* @__PURE__ */ (0,
|
|
9874
|
-
disclaimerIconSrc && /* @__PURE__ */ (0,
|
|
10133
|
+
disclaimer && /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__disclaimer", children: [
|
|
10134
|
+
disclaimerIconSrc && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9875
10135
|
"img",
|
|
9876
10136
|
{
|
|
9877
10137
|
className: "afs__disclaimer-icon",
|
|
@@ -9881,7 +10141,7 @@ var AffiliatesSlider = ({
|
|
|
9881
10141
|
"aria-hidden": disclaimerIconAlt ? void 0 : true
|
|
9882
10142
|
}
|
|
9883
10143
|
),
|
|
9884
|
-
/* @__PURE__ */ (0,
|
|
10144
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "afs__disclaimer-text", children: disclaimer })
|
|
9885
10145
|
] })
|
|
9886
10146
|
] }) });
|
|
9887
10147
|
};
|
|
@@ -9968,6 +10228,7 @@ var AffiliatesSlider = ({
|
|
|
9968
10228
|
StatsSimple,
|
|
9969
10229
|
Steps,
|
|
9970
10230
|
StickyMarketCards,
|
|
10231
|
+
StickyMarketCardsLottie,
|
|
9971
10232
|
StickyStackedCards,
|
|
9972
10233
|
TEXT_CONTENT,
|
|
9973
10234
|
Table,
|