@deriv-web-design/ui 0.1.30 → 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 +113 -0
- package/components.manifest.json +49 -1
- package/dist/index.css +248 -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 +1019 -800
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +993 -775
- 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,
|
|
@@ -5245,13 +5246,230 @@ var StickyMarketCards = ({
|
|
|
5245
5246
|
);
|
|
5246
5247
|
};
|
|
5247
5248
|
|
|
5248
|
-
// templates/
|
|
5249
|
+
// templates/StickyMarketCardsLottie/StickyMarketCardsLottie.tsx
|
|
5249
5250
|
var import_react22 = require("react");
|
|
5250
5251
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
|
|
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" })
|
|
5255
5473
|
] });
|
|
5256
5474
|
var Table = ({
|
|
5257
5475
|
sectionTitle,
|
|
@@ -5264,11 +5482,11 @@ var Table = ({
|
|
|
5264
5482
|
className,
|
|
5265
5483
|
...props
|
|
5266
5484
|
}) => {
|
|
5267
|
-
const [search, setSearch] = (0,
|
|
5268
|
-
const [page, setPage] = (0,
|
|
5269
|
-
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 });
|
|
5270
5488
|
const mainKey = mainColumnKey ?? columns.find((c) => c.width === "main")?.key ?? columns[0]?.key;
|
|
5271
|
-
const filtered = (0,
|
|
5489
|
+
const filtered = (0, import_react23.useMemo)(() => {
|
|
5272
5490
|
const q = search.trim().toLowerCase();
|
|
5273
5491
|
if (!q) return rows;
|
|
5274
5492
|
return rows.filter(
|
|
@@ -5288,12 +5506,12 @@ var Table = ({
|
|
|
5288
5506
|
setSearch("");
|
|
5289
5507
|
setPage(1);
|
|
5290
5508
|
};
|
|
5291
|
-
return /* @__PURE__ */ (0,
|
|
5292
|
-
sectionTitle && /* @__PURE__ */ (0,
|
|
5293
|
-
/* @__PURE__ */ (0,
|
|
5294
|
-
/* @__PURE__ */ (0,
|
|
5295
|
-
/* @__PURE__ */ (0,
|
|
5296
|
-
/* @__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)(
|
|
5297
5515
|
SearchField,
|
|
5298
5516
|
{
|
|
5299
5517
|
placeholder: searchPlaceholder,
|
|
@@ -5304,7 +5522,7 @@ var Table = ({
|
|
|
5304
5522
|
"aria-label": searchPlaceholder
|
|
5305
5523
|
}
|
|
5306
5524
|
) }),
|
|
5307
|
-
/* @__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: [
|
|
5308
5526
|
"Showing ",
|
|
5309
5527
|
startIdx + 1,
|
|
5310
5528
|
"- ",
|
|
@@ -5313,12 +5531,12 @@ var Table = ({
|
|
|
5313
5531
|
filtered.length
|
|
5314
5532
|
] }) : "No results" })
|
|
5315
5533
|
] }),
|
|
5316
|
-
/* @__PURE__ */ (0,
|
|
5317
|
-
/* @__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) => {
|
|
5318
5536
|
const isFirst = colIdx === 0;
|
|
5319
5537
|
const isLast = colIdx === columns.length - 1;
|
|
5320
5538
|
const isMain = col.width === "main" || col.key === mainKey;
|
|
5321
|
-
return /* @__PURE__ */ (0,
|
|
5539
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5322
5540
|
"th",
|
|
5323
5541
|
{
|
|
5324
5542
|
className: [
|
|
@@ -5326,7 +5544,7 @@ var Table = ({
|
|
|
5326
5544
|
isMain ? "tbl__th--main" : "",
|
|
5327
5545
|
col.width === "big" ? "tbl__th--big" : ""
|
|
5328
5546
|
].filter(Boolean).join(" "),
|
|
5329
|
-
children: /* @__PURE__ */ (0,
|
|
5547
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5330
5548
|
"div",
|
|
5331
5549
|
{
|
|
5332
5550
|
className: "tbl__th-inner",
|
|
@@ -5356,9 +5574,9 @@ var Table = ({
|
|
|
5356
5574
|
setTooltip((prev) => ({ ...prev, visible: false }));
|
|
5357
5575
|
}
|
|
5358
5576
|
},
|
|
5359
|
-
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: [
|
|
5360
5578
|
line,
|
|
5361
|
-
li < col.header.length - 1 && /* @__PURE__ */ (0,
|
|
5579
|
+
li < col.header.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("br", {})
|
|
5362
5580
|
] }, li)) : col.header })
|
|
5363
5581
|
}
|
|
5364
5582
|
)
|
|
@@ -5366,10 +5584,10 @@ var Table = ({
|
|
|
5366
5584
|
col.key
|
|
5367
5585
|
);
|
|
5368
5586
|
}) }) }),
|
|
5369
|
-
/* @__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) => {
|
|
5370
5588
|
const isMain = col.width === "main" || col.key === mainKey;
|
|
5371
5589
|
const iconUrl = row[`${col.key}_iconUrl`];
|
|
5372
|
-
return /* @__PURE__ */ (0,
|
|
5590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5373
5591
|
"td",
|
|
5374
5592
|
{
|
|
5375
5593
|
className: [
|
|
@@ -5377,8 +5595,8 @@ var Table = ({
|
|
|
5377
5595
|
isMain ? "tbl__td--main" : "",
|
|
5378
5596
|
col.width === "big" ? "tbl__td--big" : ""
|
|
5379
5597
|
].filter(Boolean).join(" "),
|
|
5380
|
-
children: isMain ? /* @__PURE__ */ (0,
|
|
5381
|
-
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)(
|
|
5382
5600
|
"img",
|
|
5383
5601
|
{
|
|
5384
5602
|
src: iconUrl,
|
|
@@ -5390,18 +5608,18 @@ var Table = ({
|
|
|
5390
5608
|
height: "24"
|
|
5391
5609
|
}
|
|
5392
5610
|
),
|
|
5393
|
-
/* @__PURE__ */ (0,
|
|
5394
|
-
] }) : /* @__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] ?? "" })
|
|
5395
5613
|
},
|
|
5396
5614
|
col.key
|
|
5397
5615
|
);
|
|
5398
|
-
}) }, 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: [
|
|
5399
5617
|
'No results found for "',
|
|
5400
5618
|
search,
|
|
5401
5619
|
'"'
|
|
5402
5620
|
] }) }) })
|
|
5403
5621
|
] }) }),
|
|
5404
|
-
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)(
|
|
5405
5623
|
Pagination,
|
|
5406
5624
|
{
|
|
5407
5625
|
currentPage,
|
|
@@ -5410,19 +5628,19 @@ var Table = ({
|
|
|
5410
5628
|
}
|
|
5411
5629
|
) }) })
|
|
5412
5630
|
] }),
|
|
5413
|
-
infoText && /* @__PURE__ */ (0,
|
|
5414
|
-
/* @__PURE__ */ (0,
|
|
5415
|
-
/* @__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 })
|
|
5416
5634
|
] })
|
|
5417
5635
|
] }),
|
|
5418
|
-
/* @__PURE__ */ (0,
|
|
5636
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
5419
5637
|
"div",
|
|
5420
5638
|
{
|
|
5421
5639
|
className: ["tbl__global-hint", tooltip.visible ? "tbl__global-hint--visible" : ""].filter(Boolean).join(" "),
|
|
5422
5640
|
style: { left: tooltip.x, top: tooltip.y - 8 },
|
|
5423
5641
|
children: [
|
|
5424
|
-
/* @__PURE__ */ (0,
|
|
5425
|
-
/* @__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)(
|
|
5426
5644
|
"div",
|
|
5427
5645
|
{
|
|
5428
5646
|
className: "tbl__global-hint-arrow",
|
|
@@ -5436,7 +5654,7 @@ var Table = ({
|
|
|
5436
5654
|
};
|
|
5437
5655
|
|
|
5438
5656
|
// templates/DynamicTable/DynamicTable.tsx
|
|
5439
|
-
var
|
|
5657
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
5440
5658
|
var VARIANT_COLUMN_COUNT = {
|
|
5441
5659
|
"Three columns": 3,
|
|
5442
5660
|
"Four columns": 4
|
|
@@ -5453,10 +5671,10 @@ var toLines = (value) => {
|
|
|
5453
5671
|
var renderLines = (value) => {
|
|
5454
5672
|
const lines = toLines(value);
|
|
5455
5673
|
if (lines.length === 0) return null;
|
|
5456
|
-
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));
|
|
5457
5675
|
};
|
|
5458
|
-
var renderHeader = (col) => /* @__PURE__ */ (0,
|
|
5459
|
-
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]) });
|
|
5460
5678
|
var DynamicTable = ({
|
|
5461
5679
|
sectionTitle,
|
|
5462
5680
|
variant = "Three columns",
|
|
@@ -5469,15 +5687,15 @@ var DynamicTable = ({
|
|
|
5469
5687
|
const visibleColumns = columns.slice(0, columnCount);
|
|
5470
5688
|
const labelColumn = visibleColumns[0];
|
|
5471
5689
|
const valueColumns = visibleColumns.slice(1);
|
|
5472
|
-
return /* @__PURE__ */ (0,
|
|
5690
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
5473
5691
|
"section",
|
|
5474
5692
|
{
|
|
5475
5693
|
className: ["dtbl-section", className].filter(Boolean).join(" "),
|
|
5476
5694
|
...props,
|
|
5477
5695
|
children: [
|
|
5478
|
-
sectionTitle && /* @__PURE__ */ (0,
|
|
5479
|
-
/* @__PURE__ */ (0,
|
|
5480
|
-
/* @__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)(
|
|
5481
5699
|
"th",
|
|
5482
5700
|
{
|
|
5483
5701
|
scope: "col",
|
|
@@ -5486,9 +5704,9 @@ var DynamicTable = ({
|
|
|
5486
5704
|
},
|
|
5487
5705
|
col.key
|
|
5488
5706
|
)) }) }),
|
|
5489
|
-
/* @__PURE__ */ (0,
|
|
5490
|
-
labelColumn && /* @__PURE__ */ (0,
|
|
5491
|
-
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))
|
|
5492
5710
|
] }, rowIdx)) })
|
|
5493
5711
|
] }) }) }) })
|
|
5494
5712
|
]
|
|
@@ -5497,12 +5715,12 @@ var DynamicTable = ({
|
|
|
5497
5715
|
};
|
|
5498
5716
|
|
|
5499
5717
|
// templates/Leaders/Leaders.tsx
|
|
5500
|
-
var
|
|
5501
|
-
var
|
|
5502
|
-
var ChevronDownIcon4 = () => /* @__PURE__ */ (0,
|
|
5503
|
-
var ChevronUpIcon = () => /* @__PURE__ */ (0,
|
|
5504
|
-
var CardContent = ({ item }) => /* @__PURE__ */ (0,
|
|
5505
|
-
/* @__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)(
|
|
5506
5724
|
"img",
|
|
5507
5725
|
{
|
|
5508
5726
|
src: item.imageUrl,
|
|
@@ -5511,11 +5729,11 @@ var CardContent = ({ item }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(i
|
|
|
5511
5729
|
loading: "lazy"
|
|
5512
5730
|
}
|
|
5513
5731
|
) }),
|
|
5514
|
-
/* @__PURE__ */ (0,
|
|
5515
|
-
/* @__PURE__ */ (0,
|
|
5516
|
-
/* @__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 })
|
|
5517
5735
|
] }),
|
|
5518
|
-
item.linkUrl && /* @__PURE__ */ (0,
|
|
5736
|
+
item.linkUrl && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5519
5737
|
Link,
|
|
5520
5738
|
{
|
|
5521
5739
|
href: item.linkUrl,
|
|
@@ -5539,18 +5757,18 @@ var AvatarGrid = ({
|
|
|
5539
5757
|
className,
|
|
5540
5758
|
...props
|
|
5541
5759
|
}) => {
|
|
5542
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
5760
|
+
const [isExpanded, setIsExpanded] = (0, import_react24.useState)(false);
|
|
5543
5761
|
const hasMore = items.length > initialVisibleCount;
|
|
5544
5762
|
const visibleItems = items.slice(0, initialVisibleCount);
|
|
5545
5763
|
const extraItems = items.slice(initialVisibleCount);
|
|
5546
|
-
return /* @__PURE__ */ (0,
|
|
5547
|
-
(title || description) && /* @__PURE__ */ (0,
|
|
5548
|
-
title && /* @__PURE__ */ (0,
|
|
5549
|
-
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 })
|
|
5550
5768
|
] }),
|
|
5551
|
-
/* @__PURE__ */ (0,
|
|
5552
|
-
/* @__PURE__ */ (0,
|
|
5553
|
-
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)(
|
|
5554
5772
|
"div",
|
|
5555
5773
|
{
|
|
5556
5774
|
className: [
|
|
@@ -5558,7 +5776,7 @@ var AvatarGrid = ({
|
|
|
5558
5776
|
isExpanded ? "avatar-grid__extra-cards--open" : ""
|
|
5559
5777
|
].join(" "),
|
|
5560
5778
|
"aria-hidden": !isExpanded,
|
|
5561
|
-
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)(
|
|
5562
5780
|
"div",
|
|
5563
5781
|
{
|
|
5564
5782
|
className: [
|
|
@@ -5569,21 +5787,21 @@ var AvatarGrid = ({
|
|
|
5569
5787
|
style: {
|
|
5570
5788
|
transitionDelay: isExpanded ? `${i * 70 + 120}ms` : "0ms"
|
|
5571
5789
|
},
|
|
5572
|
-
children: /* @__PURE__ */ (0,
|
|
5790
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(CardContent, { item })
|
|
5573
5791
|
},
|
|
5574
5792
|
i
|
|
5575
5793
|
)) })
|
|
5576
5794
|
}
|
|
5577
5795
|
)
|
|
5578
5796
|
] }),
|
|
5579
|
-
hasMore && /* @__PURE__ */ (0,
|
|
5797
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "avatar-grid__actions", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5580
5798
|
Button,
|
|
5581
5799
|
{
|
|
5582
5800
|
variant: "secondary",
|
|
5583
5801
|
colorScheme: "black",
|
|
5584
5802
|
onClick: () => setIsExpanded(!isExpanded),
|
|
5585
5803
|
iconPosition: "icon-right",
|
|
5586
|
-
icon: isExpanded ? /* @__PURE__ */ (0,
|
|
5804
|
+
icon: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ChevronUpIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ChevronDownIcon4, {}),
|
|
5587
5805
|
fullWidth: true,
|
|
5588
5806
|
children: isExpanded ? collapseText : expandText
|
|
5589
5807
|
}
|
|
@@ -5594,7 +5812,7 @@ var PeopleGrid = AvatarGrid;
|
|
|
5594
5812
|
var Leaders = AvatarGrid;
|
|
5595
5813
|
|
|
5596
5814
|
// templates/ImageBanner/ImageBanner.tsx
|
|
5597
|
-
var
|
|
5815
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
5598
5816
|
var DEFAULT_CHIPS = [
|
|
5599
5817
|
"Dynamic ads",
|
|
5600
5818
|
"AI insights",
|
|
@@ -5602,7 +5820,7 @@ var DEFAULT_CHIPS = [
|
|
|
5602
5820
|
"Events"
|
|
5603
5821
|
];
|
|
5604
5822
|
var IMAGE_BANNER_CHIPS_DEFAULT_IMAGE = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69a13cf79748b347527dc74d_tier-cover.webp";
|
|
5605
|
-
var ChipCheckIcon = () => /* @__PURE__ */ (0,
|
|
5823
|
+
var ChipCheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5606
5824
|
"svg",
|
|
5607
5825
|
{
|
|
5608
5826
|
className: "image-banner__chip-icon",
|
|
@@ -5613,7 +5831,7 @@ var ChipCheckIcon = () => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
|
5613
5831
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5614
5832
|
"aria-hidden": "true",
|
|
5615
5833
|
focusable: "false",
|
|
5616
|
-
children: /* @__PURE__ */ (0,
|
|
5834
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5617
5835
|
"path",
|
|
5618
5836
|
{
|
|
5619
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",
|
|
@@ -5641,7 +5859,7 @@ var ImageBanner = ({
|
|
|
5641
5859
|
const showCta = !isChips && Boolean(ctaLabel);
|
|
5642
5860
|
const visibleChips = isChips ? chips.filter((label) => label.trim().length > 0) : [];
|
|
5643
5861
|
const resolvedImageUrl = imageUrl ?? (isChips ? IMAGE_BANNER_CHIPS_DEFAULT_IMAGE : void 0);
|
|
5644
|
-
return /* @__PURE__ */ (0,
|
|
5862
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5645
5863
|
"section",
|
|
5646
5864
|
{
|
|
5647
5865
|
className: [
|
|
@@ -5650,7 +5868,7 @@ var ImageBanner = ({
|
|
|
5650
5868
|
className
|
|
5651
5869
|
].filter(Boolean).join(" "),
|
|
5652
5870
|
...props,
|
|
5653
|
-
children: /* @__PURE__ */ (0,
|
|
5871
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
5654
5872
|
"div",
|
|
5655
5873
|
{
|
|
5656
5874
|
className: [
|
|
@@ -5658,8 +5876,8 @@ var ImageBanner = ({
|
|
|
5658
5876
|
`image-banner__inner--${variant}`
|
|
5659
5877
|
].join(" "),
|
|
5660
5878
|
children: [
|
|
5661
|
-
isFullBg && resolvedImageUrl && /* @__PURE__ */ (0,
|
|
5662
|
-
/* @__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)(
|
|
5663
5881
|
"img",
|
|
5664
5882
|
{
|
|
5665
5883
|
src: resolvedImageUrl,
|
|
@@ -5668,16 +5886,16 @@ var ImageBanner = ({
|
|
|
5668
5886
|
loading: "lazy"
|
|
5669
5887
|
}
|
|
5670
5888
|
),
|
|
5671
|
-
/* @__PURE__ */ (0,
|
|
5889
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "image-banner__bg-overlay", "aria-hidden": "true" })
|
|
5672
5890
|
] }),
|
|
5673
|
-
/* @__PURE__ */ (0,
|
|
5674
|
-
/* @__PURE__ */ (0,
|
|
5675
|
-
description && /* @__PURE__ */ (0,
|
|
5676
|
-
visibleChips.length > 0 && /* @__PURE__ */ (0,
|
|
5677
|
-
/* @__PURE__ */ (0,
|
|
5678
|
-
/* @__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 })
|
|
5679
5897
|
] }, label)) }),
|
|
5680
|
-
showCta && /* @__PURE__ */ (0,
|
|
5898
|
+
showCta && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "image-banner__actions", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5681
5899
|
Link,
|
|
5682
5900
|
{
|
|
5683
5901
|
colorScheme: "coral",
|
|
@@ -5689,8 +5907,8 @@ var ImageBanner = ({
|
|
|
5689
5907
|
}
|
|
5690
5908
|
) })
|
|
5691
5909
|
] }),
|
|
5692
|
-
!isFullBg && resolvedImageUrl && /* @__PURE__ */ (0,
|
|
5693
|
-
/* @__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)(
|
|
5694
5912
|
"img",
|
|
5695
5913
|
{
|
|
5696
5914
|
src: resolvedImageUrl,
|
|
@@ -5699,7 +5917,7 @@ var ImageBanner = ({
|
|
|
5699
5917
|
loading: "lazy"
|
|
5700
5918
|
}
|
|
5701
5919
|
),
|
|
5702
|
-
isChips && /* @__PURE__ */ (0,
|
|
5920
|
+
isChips && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
5703
5921
|
"div",
|
|
5704
5922
|
{
|
|
5705
5923
|
className: "image-banner__image-fade",
|
|
@@ -5715,7 +5933,7 @@ var ImageBanner = ({
|
|
|
5715
5933
|
};
|
|
5716
5934
|
|
|
5717
5935
|
// templates/Testimonial/Testimonial.tsx
|
|
5718
|
-
var
|
|
5936
|
+
var import_react25 = require("react");
|
|
5719
5937
|
|
|
5720
5938
|
// assets/quote-left.webp
|
|
5721
5939
|
var quote_left_default = "data:image/webp;base64,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";
|
|
@@ -5727,11 +5945,11 @@ var quote_right_default = "data:image/webp;base64,UklGRlJNAABXRUJQVlA4WAoAAAAQAA
|
|
|
5727
5945
|
var trustpilot_rating_badge_default = "data:image/png;base64,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";
|
|
5728
5946
|
|
|
5729
5947
|
// templates/Testimonial/Testimonial.tsx
|
|
5730
|
-
var
|
|
5948
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
5731
5949
|
var StarCell = ({ fill }) => {
|
|
5732
|
-
const clipId = (0,
|
|
5950
|
+
const clipId = (0, import_react25.useId)();
|
|
5733
5951
|
const clamped = Math.max(0, Math.min(1, fill));
|
|
5734
|
-
return /* @__PURE__ */ (0,
|
|
5952
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
5735
5953
|
"svg",
|
|
5736
5954
|
{
|
|
5737
5955
|
className: "testimonial__tp-star",
|
|
@@ -5740,9 +5958,9 @@ var StarCell = ({ fill }) => {
|
|
|
5740
5958
|
height: "20",
|
|
5741
5959
|
"aria-hidden": "true",
|
|
5742
5960
|
children: [
|
|
5743
|
-
/* @__PURE__ */ (0,
|
|
5744
|
-
/* @__PURE__ */ (0,
|
|
5745
|
-
/* @__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)(
|
|
5746
5964
|
"rect",
|
|
5747
5965
|
{
|
|
5748
5966
|
width: "96",
|
|
@@ -5751,7 +5969,7 @@ var StarCell = ({ fill }) => {
|
|
|
5751
5969
|
clipPath: `url(#${clipId})`
|
|
5752
5970
|
}
|
|
5753
5971
|
),
|
|
5754
|
-
/* @__PURE__ */ (0,
|
|
5972
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5755
5973
|
"path",
|
|
5756
5974
|
{
|
|
5757
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",
|
|
@@ -5764,17 +5982,17 @@ var StarCell = ({ fill }) => {
|
|
|
5764
5982
|
};
|
|
5765
5983
|
var StarRow = ({ rating, size = "sm" }) => {
|
|
5766
5984
|
const stars = [0, 1, 2, 3, 4].map((i) => Math.max(0, Math.min(1, rating - i)));
|
|
5767
|
-
return /* @__PURE__ */ (0,
|
|
5985
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5768
5986
|
"span",
|
|
5769
5987
|
{
|
|
5770
5988
|
className: ["testimonial__tp-stars", `testimonial__tp-stars--${size}`].join(" "),
|
|
5771
5989
|
role: "img",
|
|
5772
5990
|
"aria-label": `Rated ${rating} out of 5 stars`,
|
|
5773
|
-
children: stars.map((fill, i) => /* @__PURE__ */ (0,
|
|
5991
|
+
children: stars.map((fill, i) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StarCell, { fill }, i))
|
|
5774
5992
|
}
|
|
5775
5993
|
);
|
|
5776
5994
|
};
|
|
5777
|
-
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" }) });
|
|
5778
5996
|
var SCROLL_EPS = 4;
|
|
5779
5997
|
function readScrollState(el) {
|
|
5780
5998
|
if (!el) return { canPrev: false, canNext: false };
|
|
@@ -5793,15 +6011,15 @@ var TrustpilotTestimonial = ({
|
|
|
5793
6011
|
trustpilotScore = 4.5,
|
|
5794
6012
|
...props
|
|
5795
6013
|
}) => {
|
|
5796
|
-
const trackRef = (0,
|
|
5797
|
-
const [canPrev, setCanPrev] = (0,
|
|
5798
|
-
const [canNext, setCanNext] = (0,
|
|
5799
|
-
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)(() => {
|
|
5800
6018
|
const next = readScrollState(trackRef.current);
|
|
5801
6019
|
setCanPrev(next.canPrev);
|
|
5802
6020
|
setCanNext(next.canNext);
|
|
5803
6021
|
}, []);
|
|
5804
|
-
(0,
|
|
6022
|
+
(0, import_react25.useEffect)(() => {
|
|
5805
6023
|
const el = trackRef.current;
|
|
5806
6024
|
if (!el) return;
|
|
5807
6025
|
syncScrollState();
|
|
@@ -5818,14 +6036,14 @@ var TrustpilotTestimonial = ({
|
|
|
5818
6036
|
el.scrollBy({ left: direction * (delta + gap), behavior: "smooth" });
|
|
5819
6037
|
window.requestAnimationFrame(() => window.setTimeout(syncScrollState, 320));
|
|
5820
6038
|
};
|
|
5821
|
-
return /* @__PURE__ */ (0,
|
|
6039
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
5822
6040
|
"section",
|
|
5823
6041
|
{
|
|
5824
6042
|
className: ["testimonial", "testimonial--trustpilot", className].filter(Boolean).join(" "),
|
|
5825
6043
|
...props,
|
|
5826
6044
|
children: [
|
|
5827
|
-
/* @__PURE__ */ (0,
|
|
5828
|
-
/* @__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)(
|
|
5829
6047
|
"div",
|
|
5830
6048
|
{
|
|
5831
6049
|
ref: trackRef,
|
|
@@ -5835,7 +6053,7 @@ var TrustpilotTestimonial = ({
|
|
|
5835
6053
|
"aria-roledescription": "carousel",
|
|
5836
6054
|
"aria-label": "Customer reviews on Trustpilot",
|
|
5837
6055
|
onScroll: syncScrollState,
|
|
5838
|
-
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)(
|
|
5839
6057
|
"a",
|
|
5840
6058
|
{
|
|
5841
6059
|
href: item.reviewUrl ?? trustpilotUrl,
|
|
@@ -5843,16 +6061,16 @@ var TrustpilotTestimonial = ({
|
|
|
5843
6061
|
target: "_blank",
|
|
5844
6062
|
rel: "noopener noreferrer",
|
|
5845
6063
|
children: [
|
|
5846
|
-
/* @__PURE__ */ (0,
|
|
5847
|
-
/* @__PURE__ */ (0,
|
|
5848
|
-
/* @__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 })
|
|
5849
6067
|
]
|
|
5850
6068
|
}
|
|
5851
6069
|
) }, i)) })
|
|
5852
6070
|
}
|
|
5853
6071
|
) }),
|
|
5854
|
-
/* @__PURE__ */ (0,
|
|
5855
|
-
/* @__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)(
|
|
5856
6074
|
"a",
|
|
5857
6075
|
{
|
|
5858
6076
|
href: trustpilotUrl,
|
|
@@ -5860,7 +6078,7 @@ var TrustpilotTestimonial = ({
|
|
|
5860
6078
|
target: "_blank",
|
|
5861
6079
|
rel: "noopener noreferrer",
|
|
5862
6080
|
"aria-label": `Deriv on Trustpilot \u2014 rated ${trustpilotScore} out of 5`,
|
|
5863
|
-
children: /* @__PURE__ */ (0,
|
|
6081
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5864
6082
|
"img",
|
|
5865
6083
|
{
|
|
5866
6084
|
src: trustpilot_rating_badge_default,
|
|
@@ -5870,8 +6088,8 @@ var TrustpilotTestimonial = ({
|
|
|
5870
6088
|
)
|
|
5871
6089
|
}
|
|
5872
6090
|
) }),
|
|
5873
|
-
items.length > 1 && (canPrev || canNext) && /* @__PURE__ */ (0,
|
|
5874
|
-
/* @__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)(
|
|
5875
6093
|
"button",
|
|
5876
6094
|
{
|
|
5877
6095
|
type: "button",
|
|
@@ -5879,10 +6097,10 @@ var TrustpilotTestimonial = ({
|
|
|
5879
6097
|
"aria-label": "Show previous testimonials",
|
|
5880
6098
|
disabled: !canPrev,
|
|
5881
6099
|
onClick: () => scrollByCard(-1),
|
|
5882
|
-
children: /* @__PURE__ */ (0,
|
|
6100
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ArrowIcon, { direction: "prev" })
|
|
5883
6101
|
}
|
|
5884
6102
|
),
|
|
5885
|
-
/* @__PURE__ */ (0,
|
|
6103
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5886
6104
|
"button",
|
|
5887
6105
|
{
|
|
5888
6106
|
type: "button",
|
|
@@ -5890,7 +6108,7 @@ var TrustpilotTestimonial = ({
|
|
|
5890
6108
|
"aria-label": "Show next testimonials",
|
|
5891
6109
|
disabled: !canNext,
|
|
5892
6110
|
onClick: () => scrollByCard(1),
|
|
5893
|
-
children: /* @__PURE__ */ (0,
|
|
6111
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ArrowIcon, { direction: "next" })
|
|
5894
6112
|
}
|
|
5895
6113
|
)
|
|
5896
6114
|
] })
|
|
@@ -5905,16 +6123,16 @@ var DefaultTestimonial = ({
|
|
|
5905
6123
|
className,
|
|
5906
6124
|
...props
|
|
5907
6125
|
}) => {
|
|
5908
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
5909
|
-
const [phase, setPhase] = (0,
|
|
5910
|
-
const pendingIndex = (0,
|
|
5911
|
-
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);
|
|
5912
6130
|
const goTo = (next) => {
|
|
5913
6131
|
if (next === activeIndex || phase !== "idle") return;
|
|
5914
6132
|
pendingIndex.current = next;
|
|
5915
6133
|
setPhase("exiting");
|
|
5916
6134
|
};
|
|
5917
|
-
(0,
|
|
6135
|
+
(0, import_react25.useEffect)(() => {
|
|
5918
6136
|
if (phase === "exiting") {
|
|
5919
6137
|
const t = setTimeout(() => {
|
|
5920
6138
|
setActiveIndex(pendingIndex.current ?? activeIndex);
|
|
@@ -5923,7 +6141,7 @@ var DefaultTestimonial = ({
|
|
|
5923
6141
|
return () => clearTimeout(t);
|
|
5924
6142
|
}
|
|
5925
6143
|
}, [phase, activeIndex]);
|
|
5926
|
-
(0,
|
|
6144
|
+
(0, import_react25.useEffect)(() => {
|
|
5927
6145
|
if (items.length <= 1) return;
|
|
5928
6146
|
autoRef.current = setTimeout(() => {
|
|
5929
6147
|
const next = (activeIndex + 1) % items.length;
|
|
@@ -5934,15 +6152,15 @@ var DefaultTestimonial = ({
|
|
|
5934
6152
|
if (autoRef.current) clearTimeout(autoRef.current);
|
|
5935
6153
|
};
|
|
5936
6154
|
}, [activeIndex, items.length]);
|
|
5937
|
-
return /* @__PURE__ */ (0,
|
|
6155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5938
6156
|
"section",
|
|
5939
6157
|
{
|
|
5940
6158
|
className: ["testimonial", className].filter(Boolean).join(" "),
|
|
5941
6159
|
...props,
|
|
5942
|
-
children: /* @__PURE__ */ (0,
|
|
5943
|
-
title && /* @__PURE__ */ (0,
|
|
5944
|
-
/* @__PURE__ */ (0,
|
|
5945
|
-
/* @__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) => {
|
|
5946
6164
|
const isActive = i === activeIndex;
|
|
5947
6165
|
const isExiting = isActive && phase === "exiting";
|
|
5948
6166
|
const slideClass = [
|
|
@@ -5950,18 +6168,18 @@ var DefaultTestimonial = ({
|
|
|
5950
6168
|
isActive && !isExiting ? "testimonial__slide--active" : "",
|
|
5951
6169
|
isExiting ? "testimonial__slide--exiting" : ""
|
|
5952
6170
|
].filter(Boolean).join(" ");
|
|
5953
|
-
return /* @__PURE__ */ (0,
|
|
6171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5954
6172
|
"div",
|
|
5955
6173
|
{
|
|
5956
6174
|
className: slideClass,
|
|
5957
6175
|
role: "region",
|
|
5958
6176
|
"aria-label": `Testimonial ${i + 1} of ${items.length}`,
|
|
5959
6177
|
"aria-hidden": !isActive,
|
|
5960
|
-
children: /* @__PURE__ */ (0,
|
|
5961
|
-
/* @__PURE__ */ (0,
|
|
5962
|
-
/* @__PURE__ */ (0,
|
|
5963
|
-
/* @__PURE__ */ (0,
|
|
5964
|
-
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)(
|
|
5965
6183
|
"img",
|
|
5966
6184
|
{
|
|
5967
6185
|
src: item.avatarUrl,
|
|
@@ -5970,22 +6188,22 @@ var DefaultTestimonial = ({
|
|
|
5970
6188
|
loading: "lazy"
|
|
5971
6189
|
}
|
|
5972
6190
|
),
|
|
5973
|
-
/* @__PURE__ */ (0,
|
|
5974
|
-
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 })
|
|
5975
6193
|
] }),
|
|
5976
|
-
/* @__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" }) })
|
|
5977
6195
|
] })
|
|
5978
6196
|
},
|
|
5979
6197
|
i
|
|
5980
6198
|
);
|
|
5981
6199
|
}) }),
|
|
5982
|
-
items.length > 1 && /* @__PURE__ */ (0,
|
|
6200
|
+
items.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5983
6201
|
"div",
|
|
5984
6202
|
{
|
|
5985
6203
|
className: "testimonial__dots",
|
|
5986
6204
|
role: "tablist",
|
|
5987
6205
|
"aria-label": "Testimonial navigation",
|
|
5988
|
-
children: items.map((_, i) => /* @__PURE__ */ (0,
|
|
6206
|
+
children: items.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5989
6207
|
"button",
|
|
5990
6208
|
{
|
|
5991
6209
|
role: "tab",
|
|
@@ -6012,14 +6230,14 @@ var DefaultTestimonial = ({
|
|
|
6012
6230
|
var Testimonial = (props) => {
|
|
6013
6231
|
if (!props.items || props.items.length === 0) return null;
|
|
6014
6232
|
if (props.variant === "trustpilot") {
|
|
6015
|
-
return /* @__PURE__ */ (0,
|
|
6233
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TrustpilotTestimonial, { ...props });
|
|
6016
6234
|
}
|
|
6017
|
-
return /* @__PURE__ */ (0,
|
|
6235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DefaultTestimonial, { ...props });
|
|
6018
6236
|
};
|
|
6019
6237
|
|
|
6020
6238
|
// templates/ArticleHero/ArticleHero.tsx
|
|
6021
|
-
var
|
|
6022
|
-
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)(
|
|
6023
6241
|
Card,
|
|
6024
6242
|
{
|
|
6025
6243
|
variant: "thumbnail",
|
|
@@ -6035,12 +6253,12 @@ var ArticleCard = ({ article, showThumbnail = false }) => /* @__PURE__ */ (0, im
|
|
|
6035
6253
|
hideAvatar: true
|
|
6036
6254
|
}
|
|
6037
6255
|
) });
|
|
6038
|
-
var ColumnSection = ({ column, showThumbnails = false }) => /* @__PURE__ */ (0,
|
|
6039
|
-
column.label && /* @__PURE__ */ (0,
|
|
6040
|
-
/* @__PURE__ */ (0,
|
|
6041
|
-
/* @__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" })
|
|
6042
6260
|
] }),
|
|
6043
|
-
/* @__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)) })
|
|
6044
6262
|
] });
|
|
6045
6263
|
var ArticleHero = ({
|
|
6046
6264
|
featured,
|
|
@@ -6049,79 +6267,79 @@ var ArticleHero = ({
|
|
|
6049
6267
|
rightColumn,
|
|
6050
6268
|
className
|
|
6051
6269
|
}) => {
|
|
6052
|
-
return /* @__PURE__ */ (0,
|
|
6053
|
-
/* @__PURE__ */ (0,
|
|
6054
|
-
/* @__PURE__ */ (0,
|
|
6055
|
-
/* @__PURE__ */ (0,
|
|
6056
|
-
/* @__PURE__ */ (0,
|
|
6057
|
-
/* @__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" })
|
|
6058
6276
|
] }) }),
|
|
6059
|
-
/* @__PURE__ */ (0,
|
|
6060
|
-
/* @__PURE__ */ (0,
|
|
6061
|
-
/* @__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" })
|
|
6062
6280
|
] }) })
|
|
6063
6281
|
] }),
|
|
6064
|
-
/* @__PURE__ */ (0,
|
|
6065
|
-
/* @__PURE__ */ (0,
|
|
6066
|
-
/* @__PURE__ */ (0,
|
|
6067
|
-
/* @__PURE__ */ (0,
|
|
6068
|
-
/* @__PURE__ */ (0,
|
|
6069
|
-
/* @__PURE__ */ (0,
|
|
6070
|
-
/* @__PURE__ */ (0,
|
|
6071
|
-
featured.summary && /* @__PURE__ */ (0,
|
|
6072
|
-
featured.tags && featured.tags.length > 0 && /* @__PURE__ */ (0,
|
|
6073
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
6074
|
-
/* @__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" })
|
|
6075
6293
|
] }, i)) })
|
|
6076
6294
|
] }),
|
|
6077
|
-
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 }) })
|
|
6078
6296
|
] }),
|
|
6079
|
-
featuredFooter.length > 0 && /* @__PURE__ */ (0,
|
|
6080
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
6081
|
-
/* @__PURE__ */ (0,
|
|
6082
|
-
/* @__PURE__ */ (0,
|
|
6083
|
-
article.tags && article.tags.length > 0 && /* @__PURE__ */ (0,
|
|
6084
|
-
j > 0 && /* @__PURE__ */ (0,
|
|
6085
|
-
/* @__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" })
|
|
6086
6304
|
] }, j)) })
|
|
6087
6305
|
] })
|
|
6088
6306
|
] }, i)) })
|
|
6089
6307
|
] }),
|
|
6090
|
-
/* @__PURE__ */ (0,
|
|
6091
|
-
/* @__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 } }) })
|
|
6092
6310
|
] })
|
|
6093
6311
|
] }),
|
|
6094
|
-
/* @__PURE__ */ (0,
|
|
6095
|
-
/* @__PURE__ */ (0,
|
|
6096
|
-
/* @__PURE__ */ (0,
|
|
6097
|
-
/* @__PURE__ */ (0,
|
|
6098
|
-
/* @__PURE__ */ (0,
|
|
6099
|
-
featured.summary && /* @__PURE__ */ (0,
|
|
6100
|
-
featured.tags && featured.tags.length > 0 && /* @__PURE__ */ (0,
|
|
6101
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
6102
|
-
/* @__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" })
|
|
6103
6321
|
] }, i)) })
|
|
6104
6322
|
] }),
|
|
6105
|
-
featured.thumbnail && /* @__PURE__ */ (0,
|
|
6106
|
-
featuredFooter.length > 0 && /* @__PURE__ */ (0,
|
|
6107
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
6108
|
-
/* @__PURE__ */ (0,
|
|
6109
|
-
/* @__PURE__ */ (0,
|
|
6110
|
-
article.tags && article.tags.length > 0 && /* @__PURE__ */ (0,
|
|
6111
|
-
j > 0 && /* @__PURE__ */ (0,
|
|
6112
|
-
/* @__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" })
|
|
6113
6331
|
] }, j)) })
|
|
6114
6332
|
] })
|
|
6115
6333
|
] }, i)) })
|
|
6116
6334
|
] }),
|
|
6117
|
-
/* @__PURE__ */ (0,
|
|
6118
|
-
/* @__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 }) })
|
|
6119
6337
|
] })
|
|
6120
6338
|
] });
|
|
6121
6339
|
};
|
|
6122
6340
|
|
|
6123
6341
|
// templates/ArticleSection/ArticleSection.tsx
|
|
6124
|
-
var
|
|
6342
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
6125
6343
|
var ArticleSection = ({
|
|
6126
6344
|
variant = "featured",
|
|
6127
6345
|
sectionTitle,
|
|
@@ -6137,14 +6355,14 @@ var ArticleSection = ({
|
|
|
6137
6355
|
const midpoint = Math.ceil(articles.length / 2);
|
|
6138
6356
|
const col2 = articles.slice(0, midpoint);
|
|
6139
6357
|
const col3 = articles.slice(midpoint);
|
|
6140
|
-
return /* @__PURE__ */ (0,
|
|
6141
|
-
/* @__PURE__ */ (0,
|
|
6142
|
-
/* @__PURE__ */ (0,
|
|
6143
|
-
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 })
|
|
6144
6362
|
] }),
|
|
6145
|
-
/* @__PURE__ */ (0,
|
|
6146
|
-
!isShowcase && !isGrid && featured && /* @__PURE__ */ (0,
|
|
6147
|
-
/* @__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)(
|
|
6148
6366
|
Card,
|
|
6149
6367
|
{
|
|
6150
6368
|
variant: "thumbnail",
|
|
@@ -6160,7 +6378,7 @@ var ArticleSection = ({
|
|
|
6160
6378
|
hideAvatar: true
|
|
6161
6379
|
}
|
|
6162
6380
|
) }),
|
|
6163
|
-
/* @__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)(
|
|
6164
6382
|
Card,
|
|
6165
6383
|
{
|
|
6166
6384
|
variant: "thumbnail",
|
|
@@ -6177,7 +6395,7 @@ var ArticleSection = ({
|
|
|
6177
6395
|
}
|
|
6178
6396
|
) }, i)) })
|
|
6179
6397
|
] }),
|
|
6180
|
-
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)(
|
|
6181
6399
|
Card,
|
|
6182
6400
|
{
|
|
6183
6401
|
variant: "thumbnail",
|
|
@@ -6193,8 +6411,8 @@ var ArticleSection = ({
|
|
|
6193
6411
|
hideAvatar: true
|
|
6194
6412
|
}
|
|
6195
6413
|
) }, i)) }),
|
|
6196
|
-
isShowcase && /* @__PURE__ */ (0,
|
|
6197
|
-
/* @__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)(
|
|
6198
6416
|
Card,
|
|
6199
6417
|
{
|
|
6200
6418
|
variant: "thumbnail",
|
|
@@ -6210,7 +6428,7 @@ var ArticleSection = ({
|
|
|
6210
6428
|
hideAvatar: true
|
|
6211
6429
|
}
|
|
6212
6430
|
) }),
|
|
6213
|
-
/* @__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)(
|
|
6214
6432
|
Card,
|
|
6215
6433
|
{
|
|
6216
6434
|
variant: "thumbnail",
|
|
@@ -6226,7 +6444,7 @@ var ArticleSection = ({
|
|
|
6226
6444
|
hideAvatar: true
|
|
6227
6445
|
}
|
|
6228
6446
|
) }, i)) }),
|
|
6229
|
-
/* @__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)(
|
|
6230
6448
|
Card,
|
|
6231
6449
|
{
|
|
6232
6450
|
variant: "thumbnail",
|
|
@@ -6244,8 +6462,8 @@ var ArticleSection = ({
|
|
|
6244
6462
|
) }, i)) })
|
|
6245
6463
|
] })
|
|
6246
6464
|
] }),
|
|
6247
|
-
/* @__PURE__ */ (0,
|
|
6248
|
-
!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)(
|
|
6249
6467
|
Card,
|
|
6250
6468
|
{
|
|
6251
6469
|
variant: "thumbnail",
|
|
@@ -6261,7 +6479,7 @@ var ArticleSection = ({
|
|
|
6261
6479
|
hideAvatar: true
|
|
6262
6480
|
}
|
|
6263
6481
|
) }),
|
|
6264
|
-
!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)(
|
|
6265
6483
|
Card,
|
|
6266
6484
|
{
|
|
6267
6485
|
variant: "thumbnail",
|
|
@@ -6277,7 +6495,7 @@ var ArticleSection = ({
|
|
|
6277
6495
|
hideAvatar: true
|
|
6278
6496
|
}
|
|
6279
6497
|
) }, i)) }),
|
|
6280
|
-
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)(
|
|
6281
6499
|
Card,
|
|
6282
6500
|
{
|
|
6283
6501
|
variant: "thumbnail",
|
|
@@ -6298,8 +6516,8 @@ var ArticleSection = ({
|
|
|
6298
6516
|
};
|
|
6299
6517
|
|
|
6300
6518
|
// templates/CoralBanner/CoralBanner.tsx
|
|
6301
|
-
var
|
|
6302
|
-
var
|
|
6519
|
+
var import_react26 = require("react");
|
|
6520
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
6303
6521
|
var DEFAULT_SLIDES = [
|
|
6304
6522
|
{
|
|
6305
6523
|
title: "Section title goes here",
|
|
@@ -6320,14 +6538,14 @@ var CORAL_BANNER_DERIV_SLIDES = [
|
|
|
6320
6538
|
primaryButton: { label: "Trade now", href: "#" }
|
|
6321
6539
|
}
|
|
6322
6540
|
];
|
|
6323
|
-
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)(
|
|
6324
6542
|
"path",
|
|
6325
6543
|
{
|
|
6326
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",
|
|
6327
6545
|
fill: "currentColor"
|
|
6328
6546
|
}
|
|
6329
6547
|
) });
|
|
6330
|
-
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)(
|
|
6331
6549
|
"path",
|
|
6332
6550
|
{
|
|
6333
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",
|
|
@@ -6336,9 +6554,9 @@ var RightArrowIcon = () => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("svg",
|
|
|
6336
6554
|
) });
|
|
6337
6555
|
var renderTitleLines = (title) => {
|
|
6338
6556
|
const lines = title.split("\n");
|
|
6339
|
-
return lines.map((line, i) => /* @__PURE__ */ (0,
|
|
6557
|
+
return lines.map((line, i) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("span", { children: [
|
|
6340
6558
|
line,
|
|
6341
|
-
i < lines.length - 1 && /* @__PURE__ */ (0,
|
|
6559
|
+
i < lines.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("br", {})
|
|
6342
6560
|
] }, i));
|
|
6343
6561
|
};
|
|
6344
6562
|
var ButtonBlock3 = ({
|
|
@@ -6346,8 +6564,8 @@ var ButtonBlock3 = ({
|
|
|
6346
6564
|
secondaryButton
|
|
6347
6565
|
}) => {
|
|
6348
6566
|
if (!primaryButton && !secondaryButton) return null;
|
|
6349
|
-
return /* @__PURE__ */ (0,
|
|
6350
|
-
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)(
|
|
6351
6569
|
Button,
|
|
6352
6570
|
{
|
|
6353
6571
|
colorScheme: "black",
|
|
@@ -6355,7 +6573,7 @@ var ButtonBlock3 = ({
|
|
|
6355
6573
|
label: primaryButton.label,
|
|
6356
6574
|
onClick: primaryButton.onClick
|
|
6357
6575
|
}
|
|
6358
|
-
) }) : /* @__PURE__ */ (0,
|
|
6576
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6359
6577
|
Button,
|
|
6360
6578
|
{
|
|
6361
6579
|
colorScheme: "black",
|
|
@@ -6364,7 +6582,7 @@ var ButtonBlock3 = ({
|
|
|
6364
6582
|
onClick: primaryButton.onClick
|
|
6365
6583
|
}
|
|
6366
6584
|
)),
|
|
6367
|
-
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)(
|
|
6368
6586
|
Button,
|
|
6369
6587
|
{
|
|
6370
6588
|
colorScheme: "white",
|
|
@@ -6372,7 +6590,7 @@ var ButtonBlock3 = ({
|
|
|
6372
6590
|
label: secondaryButton.label,
|
|
6373
6591
|
onClick: secondaryButton.onClick
|
|
6374
6592
|
}
|
|
6375
|
-
) }) : /* @__PURE__ */ (0,
|
|
6593
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6376
6594
|
Button,
|
|
6377
6595
|
{
|
|
6378
6596
|
colorScheme: "white",
|
|
@@ -6383,11 +6601,11 @@ var ButtonBlock3 = ({
|
|
|
6383
6601
|
))
|
|
6384
6602
|
] });
|
|
6385
6603
|
};
|
|
6386
|
-
var SlideContent = ({ slide }) => /* @__PURE__ */ (0,
|
|
6387
|
-
/* @__PURE__ */ (0,
|
|
6388
|
-
/* @__PURE__ */ (0,
|
|
6389
|
-
slide.description && /* @__PURE__ */ (0,
|
|
6390
|
-
/* @__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)(
|
|
6391
6609
|
ButtonBlock3,
|
|
6392
6610
|
{
|
|
6393
6611
|
primaryButton: slide.primaryButton,
|
|
@@ -6395,7 +6613,7 @@ var SlideContent = ({ slide }) => /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)
|
|
|
6395
6613
|
}
|
|
6396
6614
|
)
|
|
6397
6615
|
] }),
|
|
6398
|
-
/* @__PURE__ */ (0,
|
|
6616
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "crb__spacer", "aria-hidden": "true" })
|
|
6399
6617
|
] });
|
|
6400
6618
|
var CoralBanner = ({
|
|
6401
6619
|
variant = "static",
|
|
@@ -6412,10 +6630,10 @@ var CoralBanner = ({
|
|
|
6412
6630
|
const resolvedSlides = slides && slides.length > 0 ? slides : DEFAULT_SLIDES;
|
|
6413
6631
|
const count = resolvedSlides.length;
|
|
6414
6632
|
const isCarousel = variant === "carousel" && count > 1;
|
|
6415
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
6416
|
-
const autoplayTimer = (0,
|
|
6417
|
-
const dragState = (0,
|
|
6418
|
-
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)(
|
|
6419
6637
|
(index) => {
|
|
6420
6638
|
if (count <= 1) return;
|
|
6421
6639
|
const next = infinite ? (index % count + count) % count : Math.max(0, Math.min(index, count - 1));
|
|
@@ -6423,12 +6641,12 @@ var CoralBanner = ({
|
|
|
6423
6641
|
},
|
|
6424
6642
|
[count, infinite]
|
|
6425
6643
|
);
|
|
6426
|
-
const goNext = (0,
|
|
6427
|
-
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]);
|
|
6428
6646
|
const resetAutoplay = () => {
|
|
6429
6647
|
if (autoplayTimer.current) clearTimeout(autoplayTimer.current);
|
|
6430
6648
|
};
|
|
6431
|
-
(0,
|
|
6649
|
+
(0, import_react26.useEffect)(() => {
|
|
6432
6650
|
if (!isCarousel || !autoplay) return;
|
|
6433
6651
|
autoplayTimer.current = setTimeout(() => {
|
|
6434
6652
|
goTo(activeIndex + 1);
|
|
@@ -6458,16 +6676,16 @@ var CoralBanner = ({
|
|
|
6458
6676
|
className
|
|
6459
6677
|
].filter(Boolean).join(" ");
|
|
6460
6678
|
if (!isCarousel) {
|
|
6461
|
-
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] }) }) }) });
|
|
6462
6680
|
}
|
|
6463
|
-
return /* @__PURE__ */ (0,
|
|
6464
|
-
/* @__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)(
|
|
6465
6683
|
"div",
|
|
6466
6684
|
{
|
|
6467
6685
|
className: "crb__viewport",
|
|
6468
6686
|
onPointerDown: handlePointerDown,
|
|
6469
6687
|
onPointerUp: handlePointerUp,
|
|
6470
|
-
children: /* @__PURE__ */ (0,
|
|
6688
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6471
6689
|
"div",
|
|
6472
6690
|
{
|
|
6473
6691
|
className: "crb__track",
|
|
@@ -6475,7 +6693,7 @@ var CoralBanner = ({
|
|
|
6475
6693
|
transform: `translateX(-${activeIndex * 100}%)`,
|
|
6476
6694
|
transitionDuration: `${transitionDuration}ms`
|
|
6477
6695
|
},
|
|
6478
|
-
children: resolvedSlides.map((slide, i) => /* @__PURE__ */ (0,
|
|
6696
|
+
children: resolvedSlides.map((slide, i) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6479
6697
|
"div",
|
|
6480
6698
|
{
|
|
6481
6699
|
className: "crb__slide",
|
|
@@ -6483,7 +6701,7 @@ var CoralBanner = ({
|
|
|
6483
6701
|
"aria-roledescription": "slide",
|
|
6484
6702
|
"aria-label": `${i + 1} of ${count}`,
|
|
6485
6703
|
"aria-hidden": i !== activeIndex,
|
|
6486
|
-
children: /* @__PURE__ */ (0,
|
|
6704
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SlideContent, { slide })
|
|
6487
6705
|
},
|
|
6488
6706
|
slide.id ?? i
|
|
6489
6707
|
))
|
|
@@ -6491,7 +6709,7 @@ var CoralBanner = ({
|
|
|
6491
6709
|
)
|
|
6492
6710
|
}
|
|
6493
6711
|
),
|
|
6494
|
-
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)(
|
|
6495
6713
|
"button",
|
|
6496
6714
|
{
|
|
6497
6715
|
type: "button",
|
|
@@ -6509,8 +6727,8 @@ var CoralBanner = ({
|
|
|
6509
6727
|
},
|
|
6510
6728
|
i
|
|
6511
6729
|
)) }),
|
|
6512
|
-
showArrows && /* @__PURE__ */ (0,
|
|
6513
|
-
/* @__PURE__ */ (0,
|
|
6730
|
+
showArrows && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "crb__arrows", children: [
|
|
6731
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6514
6732
|
"button",
|
|
6515
6733
|
{
|
|
6516
6734
|
type: "button",
|
|
@@ -6520,10 +6738,10 @@ var CoralBanner = ({
|
|
|
6520
6738
|
resetAutoplay();
|
|
6521
6739
|
goPrev();
|
|
6522
6740
|
},
|
|
6523
|
-
children: /* @__PURE__ */ (0,
|
|
6741
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(LeftArrowIcon, {})
|
|
6524
6742
|
}
|
|
6525
6743
|
),
|
|
6526
|
-
/* @__PURE__ */ (0,
|
|
6744
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
6527
6745
|
"button",
|
|
6528
6746
|
{
|
|
6529
6747
|
type: "button",
|
|
@@ -6533,7 +6751,7 @@ var CoralBanner = ({
|
|
|
6533
6751
|
resetAutoplay();
|
|
6534
6752
|
goNext();
|
|
6535
6753
|
},
|
|
6536
|
-
children: /* @__PURE__ */ (0,
|
|
6754
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RightArrowIcon, {})
|
|
6537
6755
|
}
|
|
6538
6756
|
)
|
|
6539
6757
|
] })
|
|
@@ -6547,7 +6765,7 @@ var award_leaf_left_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACA
|
|
|
6547
6765
|
var award_leaf_right_default = "data:image/png;base64,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";
|
|
6548
6766
|
|
|
6549
6767
|
// templates/FeatureAwards/FeatureAwards.tsx
|
|
6550
|
-
var
|
|
6768
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
6551
6769
|
var FEATURE_AWARDS_TEXT_CONTENT = {
|
|
6552
6770
|
title: "Our awards"
|
|
6553
6771
|
};
|
|
@@ -6570,7 +6788,7 @@ var DEFAULT_AWARDS = [
|
|
|
6570
6788
|
{ title: "Best LATAM Region Broker", subtitle: "ADVFN Awards 2024" },
|
|
6571
6789
|
{ title: "Broker of the Year - Global", subtitle: "Finance Magnates 2024" }
|
|
6572
6790
|
];
|
|
6573
|
-
var LaurelIcon = ({ side }) => /* @__PURE__ */ (0,
|
|
6791
|
+
var LaurelIcon = ({ side }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
6574
6792
|
"img",
|
|
6575
6793
|
{
|
|
6576
6794
|
className: `fa__leaf fa__leaf--${side}`,
|
|
@@ -6581,13 +6799,13 @@ var LaurelIcon = ({ side }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
|
6581
6799
|
draggable: false
|
|
6582
6800
|
}
|
|
6583
6801
|
);
|
|
6584
|
-
var AwardBadge2 = ({ award }) => /* @__PURE__ */ (0,
|
|
6585
|
-
/* @__PURE__ */ (0,
|
|
6586
|
-
/* @__PURE__ */ (0,
|
|
6587
|
-
/* @__PURE__ */ (0,
|
|
6588
|
-
/* @__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 })
|
|
6589
6807
|
] }),
|
|
6590
|
-
/* @__PURE__ */ (0,
|
|
6808
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(LaurelIcon, { side: "right" })
|
|
6591
6809
|
] });
|
|
6592
6810
|
var FeatureAwards = ({
|
|
6593
6811
|
title = FEATURE_AWARDS_TEXT_CONTENT.title,
|
|
@@ -6600,23 +6818,23 @@ var FeatureAwards = ({
|
|
|
6600
6818
|
const trackStyle = {
|
|
6601
6819
|
"--fa-duration": `${autoScrollDuration}s`
|
|
6602
6820
|
};
|
|
6603
|
-
return /* @__PURE__ */ (0,
|
|
6821
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
6604
6822
|
"section",
|
|
6605
6823
|
{
|
|
6606
6824
|
className: ["fa", className].filter(Boolean).join(" "),
|
|
6607
6825
|
...props,
|
|
6608
|
-
children: /* @__PURE__ */ (0,
|
|
6609
|
-
title && /* @__PURE__ */ (0,
|
|
6610
|
-
/* @__PURE__ */ (0,
|
|
6611
|
-
/* @__PURE__ */ (0,
|
|
6612
|
-
/* @__PURE__ */ (0,
|
|
6613
|
-
/* @__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)(
|
|
6614
6832
|
"div",
|
|
6615
6833
|
{
|
|
6616
6834
|
className: "fa__track-group",
|
|
6617
6835
|
role: "presentation",
|
|
6618
6836
|
"aria-hidden": "true",
|
|
6619
|
-
children: awards.map((award, i) => /* @__PURE__ */ (0,
|
|
6837
|
+
children: awards.map((award, i) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(AwardBadge2, { award }, `m-dup-${i}`))
|
|
6620
6838
|
}
|
|
6621
6839
|
)
|
|
6622
6840
|
] }) })
|
|
@@ -6626,7 +6844,7 @@ var FeatureAwards = ({
|
|
|
6626
6844
|
};
|
|
6627
6845
|
|
|
6628
6846
|
// templates/FeatureBlog/FeatureBlog.tsx
|
|
6629
|
-
var
|
|
6847
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
6630
6848
|
var externalLinkRel2 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6631
6849
|
var FEATURE_BLOG_TEXT_CONTENT = {
|
|
6632
6850
|
title: "Deriv press releases",
|
|
@@ -6634,7 +6852,7 @@ var FEATURE_BLOG_TEXT_CONTENT = {
|
|
|
6634
6852
|
};
|
|
6635
6853
|
var PostCard = ({ post, index }) => {
|
|
6636
6854
|
const tags = [post.date, post.category].filter((value) => Boolean(value)).map((label) => ({ label }));
|
|
6637
|
-
const card = /* @__PURE__ */ (0,
|
|
6855
|
+
const card = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6638
6856
|
Card,
|
|
6639
6857
|
{
|
|
6640
6858
|
hideAvatar: true,
|
|
@@ -6650,7 +6868,7 @@ var PostCard = ({ post, index }) => {
|
|
|
6650
6868
|
}
|
|
6651
6869
|
);
|
|
6652
6870
|
if (post.href) {
|
|
6653
|
-
return /* @__PURE__ */ (0,
|
|
6871
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6654
6872
|
"a",
|
|
6655
6873
|
{
|
|
6656
6874
|
className: "fb-cardLink",
|
|
@@ -6662,7 +6880,7 @@ var PostCard = ({ post, index }) => {
|
|
|
6662
6880
|
);
|
|
6663
6881
|
}
|
|
6664
6882
|
if (post.onClick) {
|
|
6665
|
-
return /* @__PURE__ */ (0,
|
|
6883
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6666
6884
|
"button",
|
|
6667
6885
|
{
|
|
6668
6886
|
className: "fb-cardLink fb-cardButton",
|
|
@@ -6673,7 +6891,7 @@ var PostCard = ({ post, index }) => {
|
|
|
6673
6891
|
`${post.title}-${index}`
|
|
6674
6892
|
);
|
|
6675
6893
|
}
|
|
6676
|
-
return /* @__PURE__ */ (0,
|
|
6894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: card }, `${post.title}-${index}`);
|
|
6677
6895
|
};
|
|
6678
6896
|
var FeatureBlog = ({
|
|
6679
6897
|
title = FEATURE_BLOG_TEXT_CONTENT.title,
|
|
@@ -6686,10 +6904,10 @@ var FeatureBlog = ({
|
|
|
6686
6904
|
...props
|
|
6687
6905
|
}) => {
|
|
6688
6906
|
if (!posts || posts.length === 0) return null;
|
|
6689
|
-
return /* @__PURE__ */ (0,
|
|
6690
|
-
title && /* @__PURE__ */ (0,
|
|
6691
|
-
/* @__PURE__ */ (0,
|
|
6692
|
-
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)(
|
|
6693
6911
|
Link,
|
|
6694
6912
|
{
|
|
6695
6913
|
colorScheme: "coral",
|
|
@@ -6703,8 +6921,8 @@ var FeatureBlog = ({
|
|
|
6703
6921
|
};
|
|
6704
6922
|
|
|
6705
6923
|
// templates/FeatureBlogCategories/FeatureBlogCategories.tsx
|
|
6706
|
-
var
|
|
6707
|
-
var
|
|
6924
|
+
var import_react27 = require("react");
|
|
6925
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
6708
6926
|
var isExternalUrl = (href) => Boolean(href && /^https?:\/\//i.test(href));
|
|
6709
6927
|
var FEATURE_BLOG_CATEGORIES_TEXT_CONTENT = {
|
|
6710
6928
|
title: "Deriv press releases",
|
|
@@ -6718,7 +6936,7 @@ var PostCard2 = ({
|
|
|
6718
6936
|
categoryLabel
|
|
6719
6937
|
}) => {
|
|
6720
6938
|
const tags = [post.date, categoryLabel].filter((value) => Boolean(value)).map((label) => ({ label }));
|
|
6721
|
-
const card = /* @__PURE__ */ (0,
|
|
6939
|
+
const card = /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
6722
6940
|
Card,
|
|
6723
6941
|
{
|
|
6724
6942
|
hideAvatar: true,
|
|
@@ -6735,7 +6953,7 @@ var PostCard2 = ({
|
|
|
6735
6953
|
);
|
|
6736
6954
|
if (post.href) {
|
|
6737
6955
|
const external = isExternalUrl(post.href);
|
|
6738
|
-
return /* @__PURE__ */ (0,
|
|
6956
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
6739
6957
|
"a",
|
|
6740
6958
|
{
|
|
6741
6959
|
className: "fbc-cardLink",
|
|
@@ -6747,9 +6965,9 @@ var PostCard2 = ({
|
|
|
6747
6965
|
);
|
|
6748
6966
|
}
|
|
6749
6967
|
if (post.onClick) {
|
|
6750
|
-
return /* @__PURE__ */ (0,
|
|
6968
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("button", { className: "fbc-cardLink fbc-cardButton", onClick: post.onClick, type: "button", children: card });
|
|
6751
6969
|
}
|
|
6752
|
-
return /* @__PURE__ */ (0,
|
|
6970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { children: card });
|
|
6753
6971
|
};
|
|
6754
6972
|
var FeatureBlogCategories = ({
|
|
6755
6973
|
title = FEATURE_BLOG_CATEGORIES_TEXT_CONTENT.title,
|
|
@@ -6767,20 +6985,20 @@ var FeatureBlogCategories = ({
|
|
|
6767
6985
|
className,
|
|
6768
6986
|
...props
|
|
6769
6987
|
}) => {
|
|
6770
|
-
const [search, setSearch] = (0,
|
|
6771
|
-
const [internalActiveId, setInternalActiveId] = (0,
|
|
6988
|
+
const [search, setSearch] = (0, import_react27.useState)("");
|
|
6989
|
+
const [internalActiveId, setInternalActiveId] = (0, import_react27.useState)(defaultActiveCategoryId ?? allCategoryId);
|
|
6772
6990
|
const isControlled = activeCategoryId !== void 0;
|
|
6773
6991
|
const activeId = isControlled ? activeCategoryId : internalActiveId;
|
|
6774
|
-
const tabs = (0,
|
|
6992
|
+
const tabs = (0, import_react27.useMemo)(
|
|
6775
6993
|
() => [{ id: allCategoryId, label: allCategoryLabel }, ...categories],
|
|
6776
6994
|
[allCategoryId, allCategoryLabel, categories]
|
|
6777
6995
|
);
|
|
6778
|
-
const categoryLabelById = (0,
|
|
6996
|
+
const categoryLabelById = (0, import_react27.useMemo)(() => {
|
|
6779
6997
|
const map = /* @__PURE__ */ new Map();
|
|
6780
6998
|
categories.forEach((category) => map.set(category.id, category.label));
|
|
6781
6999
|
return map;
|
|
6782
7000
|
}, [categories]);
|
|
6783
|
-
const filteredPosts = (0,
|
|
7001
|
+
const filteredPosts = (0, import_react27.useMemo)(() => {
|
|
6784
7002
|
const query = search.trim().toLowerCase();
|
|
6785
7003
|
return posts.filter((post) => {
|
|
6786
7004
|
const matchesCategory = activeId === allCategoryId || post.category === activeId;
|
|
@@ -6801,9 +7019,9 @@ var FeatureBlogCategories = ({
|
|
|
6801
7019
|
setSearch("");
|
|
6802
7020
|
onSearchChange?.("");
|
|
6803
7021
|
};
|
|
6804
|
-
return /* @__PURE__ */ (0,
|
|
6805
|
-
title && /* @__PURE__ */ (0,
|
|
6806
|
-
/* @__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)(
|
|
6807
7025
|
SearchField,
|
|
6808
7026
|
{
|
|
6809
7027
|
"aria-label": searchAriaLabel ?? searchPlaceholder,
|
|
@@ -6814,23 +7032,23 @@ var FeatureBlogCategories = ({
|
|
|
6814
7032
|
variant: "outline"
|
|
6815
7033
|
}
|
|
6816
7034
|
) }),
|
|
6817
|
-
/* @__PURE__ */ (0,
|
|
6818
|
-
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)(
|
|
6819
7037
|
PostCard2,
|
|
6820
7038
|
{
|
|
6821
7039
|
categoryLabel: post.categoryLabel ?? categoryLabelById.get(post.category),
|
|
6822
7040
|
post
|
|
6823
7041
|
},
|
|
6824
7042
|
`${post.title}-${index}`
|
|
6825
|
-
)) }) : /* @__PURE__ */ (0,
|
|
7043
|
+
)) }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "fbc-emptyState", children: emptyStateText })
|
|
6826
7044
|
] }) });
|
|
6827
7045
|
};
|
|
6828
7046
|
|
|
6829
7047
|
// templates/HelpCentreCategories/HelpCentreCategories.tsx
|
|
6830
|
-
var
|
|
7048
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
6831
7049
|
var externalLinkRel3 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6832
|
-
var CategoryTileContent = ({ category }) => /* @__PURE__ */ (0,
|
|
6833
|
-
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)(
|
|
6834
7052
|
"img",
|
|
6835
7053
|
{
|
|
6836
7054
|
alt: category.iconAlt ?? "",
|
|
@@ -6842,22 +7060,22 @@ var CategoryTileContent = ({ category }) => /* @__PURE__ */ (0, import_jsx_runti
|
|
|
6842
7060
|
width: 48
|
|
6843
7061
|
}
|
|
6844
7062
|
) : category.icon }),
|
|
6845
|
-
/* @__PURE__ */ (0,
|
|
7063
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "hcc-tile-title", children: category.title })
|
|
6846
7064
|
] });
|
|
6847
7065
|
var CategoryTile = ({ category }) => {
|
|
6848
7066
|
if (category.href) {
|
|
6849
|
-
return /* @__PURE__ */ (0,
|
|
7067
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
6850
7068
|
"a",
|
|
6851
7069
|
{
|
|
6852
7070
|
className: "hcc-tile",
|
|
6853
7071
|
href: category.href,
|
|
6854
7072
|
onClick: category.onClick,
|
|
6855
7073
|
rel: externalLinkRel3(category.href),
|
|
6856
|
-
children: /* @__PURE__ */ (0,
|
|
7074
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(CategoryTileContent, { category })
|
|
6857
7075
|
}
|
|
6858
7076
|
);
|
|
6859
7077
|
}
|
|
6860
|
-
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 }) });
|
|
6861
7079
|
};
|
|
6862
7080
|
var getColumnCount = (categoryCount) => Math.max(1, Math.min(categoryCount, 3));
|
|
6863
7081
|
var HelpCentreCategories = ({
|
|
@@ -6866,24 +7084,24 @@ var HelpCentreCategories = ({
|
|
|
6866
7084
|
categories
|
|
6867
7085
|
}) => {
|
|
6868
7086
|
const columnCount = getColumnCount(categories.length);
|
|
6869
|
-
return /* @__PURE__ */ (0,
|
|
6870
|
-
(sectionTitle || sectionDescription) && /* @__PURE__ */ (0,
|
|
6871
|
-
sectionTitle && /* @__PURE__ */ (0,
|
|
6872
|
-
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 })
|
|
6873
7091
|
] }),
|
|
6874
|
-
/* @__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}`)) })
|
|
6875
7093
|
] }) });
|
|
6876
7094
|
};
|
|
6877
7095
|
|
|
6878
7096
|
// templates/HelpCentreSubCategories/HelpCentreSubCategories.tsx
|
|
6879
|
-
var
|
|
6880
|
-
var
|
|
7097
|
+
var import_react28 = require("react");
|
|
7098
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
6881
7099
|
var externalLinkRel4 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6882
7100
|
var QuestionCard = ({ item }) => {
|
|
6883
7101
|
if (item.href) {
|
|
6884
|
-
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 }) });
|
|
6885
7103
|
}
|
|
6886
|
-
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 }) });
|
|
6887
7105
|
};
|
|
6888
7106
|
var HelpCentreSubCategories = ({
|
|
6889
7107
|
title,
|
|
@@ -6893,8 +7111,8 @@ var HelpCentreSubCategories = ({
|
|
|
6893
7111
|
noResultsText = 'No results found for "{query}"',
|
|
6894
7112
|
onSearchChange
|
|
6895
7113
|
}) => {
|
|
6896
|
-
const [search, setSearch] = (0,
|
|
6897
|
-
const filtered = (0,
|
|
7114
|
+
const [search, setSearch] = (0, import_react28.useState)("");
|
|
7115
|
+
const filtered = (0, import_react28.useMemo)(() => {
|
|
6898
7116
|
const q = search.trim().toLowerCase();
|
|
6899
7117
|
if (!q) return items;
|
|
6900
7118
|
return items.filter((item) => item.question.toLowerCase().includes(q));
|
|
@@ -6907,9 +7125,9 @@ var HelpCentreSubCategories = ({
|
|
|
6907
7125
|
setSearch("");
|
|
6908
7126
|
onSearchChange?.("");
|
|
6909
7127
|
};
|
|
6910
|
-
return /* @__PURE__ */ (0,
|
|
6911
|
-
/* @__PURE__ */ (0,
|
|
6912
|
-
/* @__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)(
|
|
6913
7131
|
SearchField,
|
|
6914
7132
|
{
|
|
6915
7133
|
"aria-label": searchAriaLabel ?? searchPlaceholder,
|
|
@@ -6920,25 +7138,25 @@ var HelpCentreSubCategories = ({
|
|
|
6920
7138
|
variant: "outline"
|
|
6921
7139
|
}
|
|
6922
7140
|
) }),
|
|
6923
|
-
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) })
|
|
6924
7142
|
] }) });
|
|
6925
7143
|
};
|
|
6926
7144
|
|
|
6927
7145
|
// templates/HelpCenterPage/HelpCenterPage.tsx
|
|
6928
|
-
var
|
|
6929
|
-
var
|
|
7146
|
+
var import_react29 = require("react");
|
|
7147
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
6930
7148
|
var externalLinkRel5 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6931
|
-
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" }) });
|
|
6932
7150
|
var renderBlock = (block, index) => {
|
|
6933
7151
|
if (block.type === "heading") {
|
|
6934
7152
|
const HeadingTag = block.level === 3 ? "h3" : "h2";
|
|
6935
|
-
return /* @__PURE__ */ (0,
|
|
7153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(HeadingTag, { className: "hcp-blockHeading", children: block.text }, index);
|
|
6936
7154
|
}
|
|
6937
7155
|
if (block.type === "list") {
|
|
6938
7156
|
const ListTag = block.ordered ? "ol" : "ul";
|
|
6939
|
-
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);
|
|
6940
7158
|
}
|
|
6941
|
-
return /* @__PURE__ */ (0,
|
|
7159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "hcp-blockParagraph", children: block.text }, index);
|
|
6942
7160
|
};
|
|
6943
7161
|
var QuestionRow = ({
|
|
6944
7162
|
item,
|
|
@@ -6947,7 +7165,7 @@ var QuestionRow = ({
|
|
|
6947
7165
|
}) => {
|
|
6948
7166
|
const rowClass = ["hcp-row", isActive ? "hcp-row--active" : ""].filter(Boolean).join(" ");
|
|
6949
7167
|
if (item.href) {
|
|
6950
|
-
return /* @__PURE__ */ (0,
|
|
7168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
6951
7169
|
"a",
|
|
6952
7170
|
{
|
|
6953
7171
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -6958,11 +7176,11 @@ var QuestionRow = ({
|
|
|
6958
7176
|
onSelect(item);
|
|
6959
7177
|
},
|
|
6960
7178
|
rel: externalLinkRel5(item.href),
|
|
6961
|
-
children: /* @__PURE__ */ (0,
|
|
7179
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "hcp-rowText", children: item.question })
|
|
6962
7180
|
}
|
|
6963
7181
|
);
|
|
6964
7182
|
}
|
|
6965
|
-
return /* @__PURE__ */ (0,
|
|
7183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
6966
7184
|
"button",
|
|
6967
7185
|
{
|
|
6968
7186
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -6972,7 +7190,7 @@ var QuestionRow = ({
|
|
|
6972
7190
|
onSelect(item);
|
|
6973
7191
|
},
|
|
6974
7192
|
type: "button",
|
|
6975
|
-
children: /* @__PURE__ */ (0,
|
|
7193
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "hcp-rowText", children: item.question })
|
|
6976
7194
|
}
|
|
6977
7195
|
);
|
|
6978
7196
|
};
|
|
@@ -6991,13 +7209,13 @@ var HelpCenterPage = ({
|
|
|
6991
7209
|
articlesSheetTitle = "Articles in this section",
|
|
6992
7210
|
className
|
|
6993
7211
|
}) => {
|
|
6994
|
-
const [search, setSearch] = (0,
|
|
6995
|
-
const [internalActiveId, setInternalActiveId] = (0,
|
|
6996
|
-
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);
|
|
6997
7215
|
const isControlled = activeQuestionId !== void 0;
|
|
6998
7216
|
const activeId = isControlled ? activeQuestionId : internalActiveId;
|
|
6999
7217
|
const activeItem = questions.find((item) => item.id === activeId);
|
|
7000
|
-
const filtered = (0,
|
|
7218
|
+
const filtered = (0, import_react29.useMemo)(() => {
|
|
7001
7219
|
const q = search.trim().toLowerCase();
|
|
7002
7220
|
if (!q) return questions;
|
|
7003
7221
|
return questions.filter((item) => item.question.toLowerCase().includes(q));
|
|
@@ -7018,9 +7236,9 @@ var HelpCenterPage = ({
|
|
|
7018
7236
|
const resolvedTitle = activeItem?.content ? activeItem.contentTitle ?? contentTitle : contentTitle;
|
|
7019
7237
|
const resolvedContent = activeItem?.content ?? content;
|
|
7020
7238
|
const rootClass = ["hcp-section", className ?? ""].filter(Boolean).join(" ");
|
|
7021
|
-
return /* @__PURE__ */ (0,
|
|
7022
|
-
/* @__PURE__ */ (0,
|
|
7023
|
-
/* @__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)(
|
|
7024
7242
|
SearchField,
|
|
7025
7243
|
{
|
|
7026
7244
|
"aria-label": searchAriaLabel ?? searchPlaceholder,
|
|
@@ -7031,12 +7249,12 @@ var HelpCenterPage = ({
|
|
|
7031
7249
|
variant: "outline"
|
|
7032
7250
|
}
|
|
7033
7251
|
) }),
|
|
7034
|
-
/* @__PURE__ */ (0,
|
|
7035
|
-
/* @__PURE__ */ (0,
|
|
7036
|
-
/* @__PURE__ */ (0,
|
|
7037
|
-
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) })
|
|
7038
7256
|
] }) }),
|
|
7039
|
-
/* @__PURE__ */ (0,
|
|
7257
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
7040
7258
|
"button",
|
|
7041
7259
|
{
|
|
7042
7260
|
"aria-expanded": sheetOpen,
|
|
@@ -7044,23 +7262,23 @@ var HelpCenterPage = ({
|
|
|
7044
7262
|
onClick: () => setSheetOpen(true),
|
|
7045
7263
|
type: "button",
|
|
7046
7264
|
children: [
|
|
7047
|
-
/* @__PURE__ */ (0,
|
|
7048
|
-
/* @__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, {}) })
|
|
7049
7267
|
]
|
|
7050
7268
|
}
|
|
7051
7269
|
),
|
|
7052
|
-
/* @__PURE__ */ (0,
|
|
7053
|
-
/* @__PURE__ */ (0,
|
|
7054
|
-
/* @__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) })
|
|
7055
7273
|
] })
|
|
7056
7274
|
] })
|
|
7057
7275
|
] }),
|
|
7058
|
-
/* @__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) }) })
|
|
7059
7277
|
] });
|
|
7060
7278
|
};
|
|
7061
7279
|
|
|
7062
7280
|
// templates/FeatureBlogPage/FeatureBlogPage.tsx
|
|
7063
|
-
var
|
|
7281
|
+
var import_react30 = require("react");
|
|
7064
7282
|
|
|
7065
7283
|
// assets/share-link.png
|
|
7066
7284
|
var share_link_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABYklEQVR4AezVgU3DMBAFUMRAzMEQzMEQzMEQzMFE+FX5kuNGF4cgIVWp8us73/n/76vaPj/98+sycE3gmsBDTuCl/bQELayfv5zAW5P6avgYwEzb2n7OGBiJGYjK9xLoYWhJ75ffGCCUm2bF/N7e4HVZxS28Pc7cgvHtiAG3ITiSZd+tIRrizyXRs4TrZdYAgowyxG4IcqyjMXupOS+/w4wBh3txoojsqUVky0D20uPcCnsGCBByCEnEe2JjVtOj3wpiEKcuXmHPwJZ4SBEhloM8kPdnmUxttVYGeoLcfHV4SJiBUbw8WxkI/+ieSGo+CoL29IkPGa8MIIvQuBKz1xvQf0gcQWXArfQgtvZgoK8zAnrUyrFrCmYMIAZnmBEDEWAECAd6p1AZ6MkI+hU0YjEQIMwE9P1qU6gMIAgpITlkT3waewYIEHRDfzIgB7XTmDFwWqQiuAxcE3j8CVTfALUfAAAA//85/ClxAAAABklEQVQDABFpTkF24Li2AAAAAElFTkSuQmCC";
|
|
@@ -7078,9 +7296,9 @@ var share_telegram_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAA
|
|
|
7078
7296
|
var share_linkedin_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABC0lEQVR4AeyU4Q0CMQhGjQM5kXM4hHM4hHM4kbxLSPjRQklJLrlg+tkevcIr5Xq/nfxrgM5AZ2AlAw/5Uncky+ctAnjK0vem8CEuxi0CYOfjletW10cEYMP85OEjKm0ZgJdEBoBehjUtA6AR3ZTqS6t9BuArTilIt6jknVTLAJB+6gARhN7aOBqEjfklZQFwTmCcM0YERdiR2ngnVAbAc0Zd2KMBBHlrjrkqAK0NC3EEiP4qANi9xrFjtbl9BYAbIJpsgEwGOF+kWWWsUhv9yIZ9qAwAlY600untMwEIjg0xxuYqA+A6cibd+yAC4IbbFTfjlC8CYCE72BE+ploBmC6umGiA62cgqpM/AAAA///Uc2lWAAAABklEQVQDAGm0P0FrHt4RAAAAAElFTkSuQmCC";
|
|
7079
7297
|
|
|
7080
7298
|
// templates/FeatureBlogPage/FeatureBlogPage.tsx
|
|
7081
|
-
var
|
|
7082
|
-
var ChevronDownIcon6 = () => /* @__PURE__ */ (0,
|
|
7083
|
-
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" }) });
|
|
7084
7302
|
var SHARE_ICONS = {
|
|
7085
7303
|
facebook: { src: share_facebook_default, alt: "Facebook" },
|
|
7086
7304
|
twitter: { src: share_x_default, alt: "X" },
|
|
@@ -7117,10 +7335,10 @@ var TocCard = ({
|
|
|
7117
7335
|
idSuffix,
|
|
7118
7336
|
collapsible
|
|
7119
7337
|
}) => {
|
|
7120
|
-
const [open, setOpen] = (0,
|
|
7338
|
+
const [open, setOpen] = (0, import_react30.useState)(defaultOpen);
|
|
7121
7339
|
const panelId = `fbp-toc-panel-${idSuffix}`;
|
|
7122
7340
|
const isOpen = collapsible ? open : true;
|
|
7123
|
-
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)(
|
|
7124
7342
|
"a",
|
|
7125
7343
|
{
|
|
7126
7344
|
"aria-current": activeId === heading.id ? "location" : void 0,
|
|
@@ -7133,8 +7351,8 @@ var TocCard = ({
|
|
|
7133
7351
|
children: heading.text
|
|
7134
7352
|
}
|
|
7135
7353
|
) }, heading.id)) });
|
|
7136
|
-
return /* @__PURE__ */ (0,
|
|
7137
|
-
collapsible ? /* @__PURE__ */ (0,
|
|
7354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "fbp-tocCard", children: [
|
|
7355
|
+
collapsible ? /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
|
|
7138
7356
|
"button",
|
|
7139
7357
|
{
|
|
7140
7358
|
"aria-controls": panelId,
|
|
@@ -7143,11 +7361,11 @@ var TocCard = ({
|
|
|
7143
7361
|
onClick: () => setOpen((prev) => !prev),
|
|
7144
7362
|
type: "button",
|
|
7145
7363
|
children: [
|
|
7146
|
-
/* @__PURE__ */ (0,
|
|
7147
|
-
/* @__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, {}) })
|
|
7148
7366
|
]
|
|
7149
7367
|
}
|
|
7150
|
-
) : /* @__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 }) }),
|
|
7151
7369
|
isOpen && list
|
|
7152
7370
|
] });
|
|
7153
7371
|
};
|
|
@@ -7159,7 +7377,7 @@ var ShareRow = ({
|
|
|
7159
7377
|
onShare,
|
|
7160
7378
|
copiedLabel
|
|
7161
7379
|
}) => {
|
|
7162
|
-
const [copied, setCopied] = (0,
|
|
7380
|
+
const [copied, setCopied] = (0, import_react30.useState)(false);
|
|
7163
7381
|
const handleCopy = async () => {
|
|
7164
7382
|
onShare?.("copy");
|
|
7165
7383
|
try {
|
|
@@ -7171,22 +7389,22 @@ var ShareRow = ({
|
|
|
7171
7389
|
} catch {
|
|
7172
7390
|
}
|
|
7173
7391
|
};
|
|
7174
|
-
return /* @__PURE__ */ (0,
|
|
7175
|
-
/* @__PURE__ */ (0,
|
|
7176
|
-
/* @__PURE__ */ (0,
|
|
7177
|
-
/* @__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)(
|
|
7178
7396
|
"button",
|
|
7179
7397
|
{
|
|
7180
7398
|
"aria-label": copied ? copiedLabel : "Copy link",
|
|
7181
7399
|
className: "fbp-shareIcon",
|
|
7182
7400
|
onClick: handleCopy,
|
|
7183
7401
|
type: "button",
|
|
7184
|
-
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 })
|
|
7185
7403
|
}
|
|
7186
7404
|
),
|
|
7187
7405
|
platforms.map((platform) => {
|
|
7188
7406
|
const icon = SHARE_ICONS[platform];
|
|
7189
|
-
return /* @__PURE__ */ (0,
|
|
7407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7190
7408
|
"a",
|
|
7191
7409
|
{
|
|
7192
7410
|
"aria-label": LABELS[platform],
|
|
@@ -7195,7 +7413,7 @@ var ShareRow = ({
|
|
|
7195
7413
|
onClick: () => onShare?.(platform),
|
|
7196
7414
|
rel: "noopener noreferrer",
|
|
7197
7415
|
target: "_blank",
|
|
7198
|
-
children: /* @__PURE__ */ (0,
|
|
7416
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("img", { alt: "", className: "fbp-shareIconImg", src: icon.src })
|
|
7199
7417
|
},
|
|
7200
7418
|
platform
|
|
7201
7419
|
);
|
|
@@ -7208,28 +7426,28 @@ var renderBlock2 = (block, index, headingIds) => {
|
|
|
7208
7426
|
const level = block.level ?? 2;
|
|
7209
7427
|
const HeadingTag = level === 3 ? "h3" : "h2";
|
|
7210
7428
|
const headingClass = level === 3 ? "fbp-blockHeading fbp-blockHeading--h3" : "fbp-blockHeading";
|
|
7211
|
-
return /* @__PURE__ */ (0,
|
|
7429
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(HeadingTag, { className: headingClass, id: headingIds.get(index), children: block.text }, index);
|
|
7212
7430
|
}
|
|
7213
7431
|
if (block.type === "list") {
|
|
7214
7432
|
const ListTag = block.ordered ? "ol" : "ul";
|
|
7215
|
-
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);
|
|
7216
7434
|
}
|
|
7217
7435
|
if (block.type === "quote") {
|
|
7218
|
-
return /* @__PURE__ */ (0,
|
|
7219
|
-
/* @__PURE__ */ (0,
|
|
7220
|
-
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 })
|
|
7221
7439
|
] }, index);
|
|
7222
7440
|
}
|
|
7223
7441
|
if (block.type === "image") {
|
|
7224
|
-
return /* @__PURE__ */ (0,
|
|
7225
|
-
/* @__PURE__ */ (0,
|
|
7226
|
-
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 })
|
|
7227
7445
|
] }, index);
|
|
7228
7446
|
}
|
|
7229
7447
|
if (block.type === "steps") {
|
|
7230
|
-
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);
|
|
7231
7449
|
}
|
|
7232
|
-
return /* @__PURE__ */ (0,
|
|
7450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "fbp-blockParagraph", children: block.text }, index);
|
|
7233
7451
|
};
|
|
7234
7452
|
var FeatureBlogPage = ({
|
|
7235
7453
|
category,
|
|
@@ -7251,7 +7469,7 @@ var FeatureBlogPage = ({
|
|
|
7251
7469
|
copiedLabel = "Copied!",
|
|
7252
7470
|
className
|
|
7253
7471
|
}) => {
|
|
7254
|
-
const headingIds = (0,
|
|
7472
|
+
const headingIds = (0, import_react30.useMemo)(() => {
|
|
7255
7473
|
const seen = /* @__PURE__ */ new Map();
|
|
7256
7474
|
const ids = /* @__PURE__ */ new Map();
|
|
7257
7475
|
content.forEach((block, i) => {
|
|
@@ -7263,14 +7481,14 @@ var FeatureBlogPage = ({
|
|
|
7263
7481
|
});
|
|
7264
7482
|
return ids;
|
|
7265
7483
|
}, [content]);
|
|
7266
|
-
const headings = (0,
|
|
7484
|
+
const headings = (0, import_react30.useMemo)(
|
|
7267
7485
|
() => content.map((block, i) => ({ block, i })).filter(
|
|
7268
7486
|
({ block }) => block.type === "steps" || block.type === "heading" && (block.level ?? 2) === 2
|
|
7269
7487
|
).map(({ block, i }) => ({ id: headingIds.get(i), text: block.text ?? "" })),
|
|
7270
7488
|
[content, headingIds]
|
|
7271
7489
|
);
|
|
7272
|
-
const [activeId, setActiveId] = (0,
|
|
7273
|
-
(0,
|
|
7490
|
+
const [activeId, setActiveId] = (0, import_react30.useState)(null);
|
|
7491
|
+
(0, import_react30.useEffect)(() => {
|
|
7274
7492
|
if (typeof IntersectionObserver === "undefined" || headings.length === 0) return;
|
|
7275
7493
|
const elements = headings.map((heading) => document.getElementById(heading.id)).filter((el) => el !== null);
|
|
7276
7494
|
if (elements.length === 0) return;
|
|
@@ -7298,8 +7516,8 @@ var FeatureBlogPage = ({
|
|
|
7298
7516
|
const showToc = !hideToc && headings.length > 0;
|
|
7299
7517
|
const showShare = !hideShare && Boolean(shareUrl);
|
|
7300
7518
|
const resolvedShareText = shareText ?? title;
|
|
7301
|
-
return /* @__PURE__ */ (0,
|
|
7302
|
-
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)(
|
|
7303
7521
|
TocCard,
|
|
7304
7522
|
{
|
|
7305
7523
|
activeId,
|
|
@@ -7311,14 +7529,14 @@ var FeatureBlogPage = ({
|
|
|
7311
7529
|
tocTitle
|
|
7312
7530
|
}
|
|
7313
7531
|
) }),
|
|
7314
|
-
/* @__PURE__ */ (0,
|
|
7315
|
-
/* @__PURE__ */ (0,
|
|
7316
|
-
/* @__PURE__ */ (0,
|
|
7317
|
-
category && /* @__PURE__ */ (0,
|
|
7318
|
-
/* @__PURE__ */ (0,
|
|
7319
|
-
(publishDate || author) && /* @__PURE__ */ (0,
|
|
7320
|
-
author && /* @__PURE__ */ (0,
|
|
7321
|
-
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)(
|
|
7322
7540
|
"img",
|
|
7323
7541
|
{
|
|
7324
7542
|
alt: author.avatarAlt ?? "",
|
|
@@ -7326,14 +7544,14 @@ var FeatureBlogPage = ({
|
|
|
7326
7544
|
src: author.avatar
|
|
7327
7545
|
}
|
|
7328
7546
|
),
|
|
7329
|
-
/* @__PURE__ */ (0,
|
|
7547
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "fbp-authorName", children: author.name })
|
|
7330
7548
|
] }),
|
|
7331
|
-
publishDate && /* @__PURE__ */ (0,
|
|
7549
|
+
publishDate && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "fbp-dateChip", children: publishDate })
|
|
7332
7550
|
] })
|
|
7333
7551
|
] }),
|
|
7334
|
-
heroImage && /* @__PURE__ */ (0,
|
|
7335
|
-
/* @__PURE__ */ (0,
|
|
7336
|
-
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)(
|
|
7337
7555
|
ShareRow,
|
|
7338
7556
|
{
|
|
7339
7557
|
copiedLabel,
|
|
@@ -7345,8 +7563,8 @@ var FeatureBlogPage = ({
|
|
|
7345
7563
|
}
|
|
7346
7564
|
) })
|
|
7347
7565
|
] }),
|
|
7348
|
-
(showToc || showShare) && /* @__PURE__ */ (0,
|
|
7349
|
-
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)(
|
|
7350
7568
|
TocCard,
|
|
7351
7569
|
{
|
|
7352
7570
|
activeId,
|
|
@@ -7358,7 +7576,7 @@ var FeatureBlogPage = ({
|
|
|
7358
7576
|
tocTitle
|
|
7359
7577
|
}
|
|
7360
7578
|
),
|
|
7361
|
-
showShare && /* @__PURE__ */ (0,
|
|
7579
|
+
showShare && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
7362
7580
|
ShareRow,
|
|
7363
7581
|
{
|
|
7364
7582
|
copiedLabel,
|
|
@@ -7375,9 +7593,9 @@ var FeatureBlogPage = ({
|
|
|
7375
7593
|
};
|
|
7376
7594
|
|
|
7377
7595
|
// templates/ParallaxBanner/ParallaxBanner.tsx
|
|
7378
|
-
var
|
|
7596
|
+
var import_react31 = require("react");
|
|
7379
7597
|
var import_framer_motion5 = require("framer-motion");
|
|
7380
|
-
var
|
|
7598
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
7381
7599
|
var PARALLAX_BANNER_TEXT_CONTENT = {
|
|
7382
7600
|
title: "Our culture",
|
|
7383
7601
|
description: "We combine human values with AI precision. Collaboration, integrity, and continuous learning guide every project.",
|
|
@@ -7418,7 +7636,7 @@ var ParallaxBanner = ({
|
|
|
7418
7636
|
className,
|
|
7419
7637
|
...props
|
|
7420
7638
|
}) => {
|
|
7421
|
-
const sectionRef = (0,
|
|
7639
|
+
const sectionRef = (0, import_react31.useRef)(null);
|
|
7422
7640
|
const prefersReducedMotion = (0, import_framer_motion5.useReducedMotion)();
|
|
7423
7641
|
const parallaxActive = enableParallax && !prefersReducedMotion;
|
|
7424
7642
|
const showCards = variant !== "banner-only" && cards.length > 0;
|
|
@@ -7428,7 +7646,7 @@ var ParallaxBanner = ({
|
|
|
7428
7646
|
});
|
|
7429
7647
|
const smoothProgress = (0, import_framer_motion5.useSpring)(scrollYProgress, PARALLAX_SPRING);
|
|
7430
7648
|
const parallaxY = (0, import_framer_motion5.useTransform)(smoothProgress, [0, 1], [-PARALLAX_PX, PARALLAX_PX]);
|
|
7431
|
-
return /* @__PURE__ */ (0,
|
|
7649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
7432
7650
|
"section",
|
|
7433
7651
|
{
|
|
7434
7652
|
ref: sectionRef,
|
|
@@ -7438,12 +7656,12 @@ var ParallaxBanner = ({
|
|
|
7438
7656
|
className
|
|
7439
7657
|
].filter(Boolean).join(" "),
|
|
7440
7658
|
...props,
|
|
7441
|
-
children: /* @__PURE__ */ (0,
|
|
7442
|
-
/* @__PURE__ */ (0,
|
|
7443
|
-
/* @__PURE__ */ (0,
|
|
7444
|
-
/* @__PURE__ */ (0,
|
|
7445
|
-
description && /* @__PURE__ */ (0,
|
|
7446
|
-
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)(
|
|
7447
7665
|
Link,
|
|
7448
7666
|
{
|
|
7449
7667
|
colorScheme: "white",
|
|
@@ -7455,7 +7673,7 @@ var ParallaxBanner = ({
|
|
|
7455
7673
|
}
|
|
7456
7674
|
) })
|
|
7457
7675
|
] }),
|
|
7458
|
-
imageUrl && /* @__PURE__ */ (0,
|
|
7676
|
+
imageUrl && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "parallax-banner__image-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
7459
7677
|
import_framer_motion5.motion.img,
|
|
7460
7678
|
{
|
|
7461
7679
|
src: imageUrl,
|
|
@@ -7466,14 +7684,14 @@ var ParallaxBanner = ({
|
|
|
7466
7684
|
}
|
|
7467
7685
|
) })
|
|
7468
7686
|
] }),
|
|
7469
|
-
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)(
|
|
7470
7688
|
"div",
|
|
7471
7689
|
{
|
|
7472
7690
|
className: "parallax-banner__card-item",
|
|
7473
7691
|
role: "listitem",
|
|
7474
7692
|
children: [
|
|
7475
|
-
/* @__PURE__ */ (0,
|
|
7476
|
-
/* @__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 })
|
|
7477
7695
|
]
|
|
7478
7696
|
},
|
|
7479
7697
|
`${card.title}-${index}`
|
|
@@ -7484,8 +7702,8 @@ var ParallaxBanner = ({
|
|
|
7484
7702
|
};
|
|
7485
7703
|
|
|
7486
7704
|
// templates/TradingCalculator/TradingCalculator.tsx
|
|
7487
|
-
var
|
|
7488
|
-
var
|
|
7705
|
+
var import_react32 = require("react");
|
|
7706
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
7489
7707
|
var DEFAULT_SYMBOLS_ENDPOINT = "https://deriv-static-pricingfeedv2.firebaseio.com/n8n/row/prod/dynamic_trading_specs.json";
|
|
7490
7708
|
var DEFAULT_EXCHANGE_RATE_WS_URL = "wss://ws.derivws.com/websockets/v3?app_id=1089";
|
|
7491
7709
|
var USD = "USD";
|
|
@@ -7521,13 +7739,13 @@ function computeResults(symbol, volumeInLots, assetPrice, rates) {
|
|
|
7521
7739
|
return { marginRequired, tradeVolume, pipValue, swapChargeLong, swapChargeShort };
|
|
7522
7740
|
}
|
|
7523
7741
|
function useExchangeRates(wsUrl) {
|
|
7524
|
-
const socketRef = (0,
|
|
7525
|
-
const reqIdRef = (0,
|
|
7526
|
-
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)(
|
|
7527
7745
|
/* @__PURE__ */ new Map()
|
|
7528
7746
|
);
|
|
7529
|
-
const cacheRef = (0,
|
|
7530
|
-
(0,
|
|
7747
|
+
const cacheRef = (0, import_react32.useRef)(/* @__PURE__ */ new Map());
|
|
7748
|
+
(0, import_react32.useEffect)(() => {
|
|
7531
7749
|
const pending = pendingRef.current;
|
|
7532
7750
|
return () => {
|
|
7533
7751
|
socketRef.current?.close();
|
|
@@ -7536,7 +7754,7 @@ function useExchangeRates(wsUrl) {
|
|
|
7536
7754
|
pending.clear();
|
|
7537
7755
|
};
|
|
7538
7756
|
}, [wsUrl]);
|
|
7539
|
-
const getRates = (0,
|
|
7757
|
+
const getRates = (0, import_react32.useCallback)(
|
|
7540
7758
|
(baseCurrency) => {
|
|
7541
7759
|
if (!wsUrl) return Promise.reject(new Error("Live exchange rate conversion is disabled"));
|
|
7542
7760
|
const cached = cacheRef.current.get(baseCurrency);
|
|
@@ -7598,11 +7816,11 @@ function useExchangeRates(wsUrl) {
|
|
|
7598
7816
|
return getRates;
|
|
7599
7817
|
}
|
|
7600
7818
|
function useSymbols(symbolsProp, endpoint) {
|
|
7601
|
-
const [state, setState] = (0,
|
|
7819
|
+
const [state, setState] = (0, import_react32.useState)(
|
|
7602
7820
|
symbolsProp ? { status: "ready", data: symbolsProp } : { status: "loading" }
|
|
7603
7821
|
);
|
|
7604
|
-
const [retryToken, setRetryToken] = (0,
|
|
7605
|
-
(0,
|
|
7822
|
+
const [retryToken, setRetryToken] = (0, import_react32.useState)(0);
|
|
7823
|
+
(0, import_react32.useEffect)(() => {
|
|
7606
7824
|
if (symbolsProp) {
|
|
7607
7825
|
setState({ status: "ready", data: symbolsProp });
|
|
7608
7826
|
return;
|
|
@@ -7624,15 +7842,15 @@ function useSymbols(symbolsProp, endpoint) {
|
|
|
7624
7842
|
cancelled = true;
|
|
7625
7843
|
};
|
|
7626
7844
|
}, [symbolsProp, endpoint, retryToken]);
|
|
7627
|
-
const retry = (0,
|
|
7845
|
+
const retry = (0, import_react32.useCallback)(() => setRetryToken((n) => n + 1), []);
|
|
7628
7846
|
return [state, retry];
|
|
7629
7847
|
}
|
|
7630
|
-
var ErrorIcon = () => /* @__PURE__ */ (0,
|
|
7631
|
-
/* @__PURE__ */ (0,
|
|
7632
|
-
/* @__PURE__ */ (0,
|
|
7633
|
-
/* @__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" })
|
|
7634
7852
|
] });
|
|
7635
|
-
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" }) });
|
|
7636
7854
|
function groupByAssetClass(symbols) {
|
|
7637
7855
|
const groups = /* @__PURE__ */ new Map();
|
|
7638
7856
|
for (const item of symbols) {
|
|
@@ -7646,24 +7864,24 @@ function groupByAssetClass(symbols) {
|
|
|
7646
7864
|
return [...groups.entries()];
|
|
7647
7865
|
}
|
|
7648
7866
|
var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputId }) => {
|
|
7649
|
-
const [query, setQuery] = (0,
|
|
7650
|
-
const [isOpen, setIsOpen] = (0,
|
|
7651
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
7652
|
-
const wrapperRef = (0,
|
|
7653
|
-
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)();
|
|
7654
7872
|
const isLoading = symbolsState.status === "loading";
|
|
7655
7873
|
const isError = symbolsState.status === "error";
|
|
7656
7874
|
const allSymbols = symbolsState.status === "ready" ? symbolsState.data : [];
|
|
7657
|
-
const filtered = (0,
|
|
7875
|
+
const filtered = (0, import_react32.useMemo)(() => {
|
|
7658
7876
|
const term = query.trim().toLowerCase();
|
|
7659
7877
|
if (!term) return allSymbols;
|
|
7660
7878
|
return allSymbols.filter(
|
|
7661
7879
|
(item) => item.symbol.toLowerCase().includes(term) || item.description.toLowerCase().includes(term) || item.asset_class.toLowerCase().includes(term)
|
|
7662
7880
|
);
|
|
7663
7881
|
}, [allSymbols, query]);
|
|
7664
|
-
const grouped = (0,
|
|
7665
|
-
const flatOptions = (0,
|
|
7666
|
-
(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)(() => {
|
|
7667
7885
|
if (!isOpen) return;
|
|
7668
7886
|
const handlePointerDown = (event) => {
|
|
7669
7887
|
if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {
|
|
@@ -7697,14 +7915,14 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7697
7915
|
setIsOpen(false);
|
|
7698
7916
|
}
|
|
7699
7917
|
};
|
|
7700
|
-
return /* @__PURE__ */ (0,
|
|
7701
|
-
/* @__PURE__ */ (0,
|
|
7918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-field", ref: wrapperRef, children: [
|
|
7919
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7702
7920
|
SearchField,
|
|
7703
7921
|
{
|
|
7704
7922
|
id: inputId,
|
|
7705
|
-
label: /* @__PURE__ */ (0,
|
|
7923
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
|
|
7706
7924
|
"Symbols ",
|
|
7707
|
-
/* @__PURE__ */ (0,
|
|
7925
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-required", children: "*" })
|
|
7708
7926
|
] }),
|
|
7709
7927
|
role: "combobox",
|
|
7710
7928
|
"aria-expanded": isOpen,
|
|
@@ -7717,7 +7935,7 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7717
7935
|
autoComplete: "off",
|
|
7718
7936
|
disabled: isLoading || isError,
|
|
7719
7937
|
hideClearButton: true,
|
|
7720
|
-
trailingSlot: /* @__PURE__ */ (0,
|
|
7938
|
+
trailingSlot: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ChevronIcon3, {}),
|
|
7721
7939
|
placeholder: isLoading ? "Loading symbols\u2026" : isError ? "Symbols unavailable" : "Search symbol, e.g. EURUSD",
|
|
7722
7940
|
value: displayValue,
|
|
7723
7941
|
onFocus: () => setIsOpen(true),
|
|
@@ -7729,17 +7947,17 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7729
7947
|
onKeyDown: handleKeyDown
|
|
7730
7948
|
}
|
|
7731
7949
|
),
|
|
7732
|
-
isOpen && !isLoading && !isError && /* @__PURE__ */ (0,
|
|
7733
|
-
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: [
|
|
7734
7952
|
'No symbols match "',
|
|
7735
7953
|
query,
|
|
7736
7954
|
'"'
|
|
7737
7955
|
] }),
|
|
7738
|
-
grouped.map(([assetClass, items]) => /* @__PURE__ */ (0,
|
|
7739
|
-
/* @__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 }),
|
|
7740
7958
|
items.map((item) => {
|
|
7741
7959
|
const flatIndex = flatOptions.indexOf(item);
|
|
7742
|
-
return /* @__PURE__ */ (0,
|
|
7960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
7743
7961
|
"div",
|
|
7744
7962
|
{
|
|
7745
7963
|
className: [
|
|
@@ -7755,8 +7973,8 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7755
7973
|
},
|
|
7756
7974
|
onMouseEnter: () => setActiveIndex(flatIndex),
|
|
7757
7975
|
children: [
|
|
7758
|
-
/* @__PURE__ */ (0,
|
|
7759
|
-
/* @__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 })
|
|
7760
7978
|
]
|
|
7761
7979
|
},
|
|
7762
7980
|
item.symbol
|
|
@@ -7764,14 +7982,14 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7764
7982
|
})
|
|
7765
7983
|
] }, assetClass))
|
|
7766
7984
|
] }),
|
|
7767
|
-
isError && /* @__PURE__ */ (0,
|
|
7768
|
-
/* @__PURE__ */ (0,
|
|
7985
|
+
isError && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-fieldError", children: [
|
|
7986
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ErrorIcon, {}),
|
|
7769
7987
|
" Unable to load symbols.",
|
|
7770
7988
|
" ",
|
|
7771
|
-
/* @__PURE__ */ (0,
|
|
7989
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("button", { type: "button", className: "tcalc-retryLink", onClick: onRetry, children: "Retry" })
|
|
7772
7990
|
] }),
|
|
7773
|
-
!isError && error && /* @__PURE__ */ (0,
|
|
7774
|
-
/* @__PURE__ */ (0,
|
|
7991
|
+
!isError && error && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-fieldError", children: [
|
|
7992
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ErrorIcon, {}),
|
|
7775
7993
|
" ",
|
|
7776
7994
|
error
|
|
7777
7995
|
] })
|
|
@@ -7781,14 +7999,14 @@ var InfoRow = ({
|
|
|
7781
7999
|
label,
|
|
7782
8000
|
value,
|
|
7783
8001
|
separator = "="
|
|
7784
|
-
}) => /* @__PURE__ */ (0,
|
|
7785
|
-
/* @__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 }),
|
|
7786
8004
|
separator === "=" ? " = " : ": ",
|
|
7787
|
-
/* @__PURE__ */ (0,
|
|
8005
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-infoValue", children: value })
|
|
7788
8006
|
] });
|
|
7789
|
-
var ResultBox = ({ label, value }) => /* @__PURE__ */ (0,
|
|
7790
|
-
/* @__PURE__ */ (0,
|
|
7791
|
-
/* @__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 })
|
|
7792
8010
|
] });
|
|
7793
8011
|
var TradingCalculator = ({
|
|
7794
8012
|
variant = "main",
|
|
@@ -7805,15 +8023,15 @@ var TradingCalculator = ({
|
|
|
7805
8023
|
const showTradeVolume = variant === "main";
|
|
7806
8024
|
const [symbolsState, retrySymbols] = useSymbols(symbolsProp, symbolsEndpoint);
|
|
7807
8025
|
const getRates = useExchangeRates(exchangeRateWsUrl);
|
|
7808
|
-
const [selectedSymbol, setSelectedSymbol] = (0,
|
|
7809
|
-
const [volumeInLots, setVolumeInLots] = (0,
|
|
7810
|
-
const [assetPrice, setAssetPrice] = (0,
|
|
7811
|
-
const [errors, setErrors] = (0,
|
|
7812
|
-
const [results, setResults] = (0,
|
|
7813
|
-
const [isCalculating, setIsCalculating] = (0,
|
|
7814
|
-
const [calcError, setCalcError] = (0,
|
|
7815
|
-
const didPreselect = (0,
|
|
7816
|
-
(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)(() => {
|
|
7817
8035
|
if (didPreselect.current || !defaultSymbol || symbolsState.status !== "ready") return;
|
|
7818
8036
|
const match = symbolsState.data.find((item) => item.symbol === defaultSymbol);
|
|
7819
8037
|
if (match) {
|
|
@@ -7867,13 +8085,13 @@ var TradingCalculator = ({
|
|
|
7867
8085
|
setIsCalculating(false);
|
|
7868
8086
|
}
|
|
7869
8087
|
};
|
|
7870
|
-
const symbolInputId = (0,
|
|
7871
|
-
const volumeInputId = (0,
|
|
7872
|
-
const priceInputId = (0,
|
|
7873
|
-
return /* @__PURE__ */ (0,
|
|
7874
|
-
/* @__PURE__ */ (0,
|
|
7875
|
-
/* @__PURE__ */ (0,
|
|
7876
|
-
/* @__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)(
|
|
7877
8095
|
SymbolCombobox,
|
|
7878
8096
|
{
|
|
7879
8097
|
symbolsState,
|
|
@@ -7884,27 +8102,27 @@ var TradingCalculator = ({
|
|
|
7884
8102
|
inputId: symbolInputId
|
|
7885
8103
|
}
|
|
7886
8104
|
),
|
|
7887
|
-
/* @__PURE__ */ (0,
|
|
7888
|
-
/* @__PURE__ */ (0,
|
|
7889
|
-
/* @__PURE__ */ (0,
|
|
7890
|
-
/* @__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)(
|
|
7891
8109
|
InfoRow,
|
|
7892
8110
|
{
|
|
7893
8111
|
label: "Effective Leverage",
|
|
7894
8112
|
value: selectedSymbol ? `1 : ${Math.round((selectedSymbol.effective_leverage + Number.EPSILON) * 100) / 100}` : "-"
|
|
7895
8113
|
}
|
|
7896
8114
|
),
|
|
7897
|
-
/* @__PURE__ */ (0,
|
|
8115
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InfoRow, { label: "Point size", value: selectedSymbol ? String(selectedSymbol.point_size) : "-" })
|
|
7898
8116
|
] }),
|
|
7899
|
-
/* @__PURE__ */ (0,
|
|
7900
|
-
/* @__PURE__ */ (0,
|
|
8117
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-field", children: [
|
|
8118
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7901
8119
|
TextField,
|
|
7902
8120
|
{
|
|
7903
8121
|
id: volumeInputId,
|
|
7904
8122
|
className: "tcalc-numberField",
|
|
7905
|
-
label: /* @__PURE__ */ (0,
|
|
8123
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
|
|
7906
8124
|
"Volume in Lots ",
|
|
7907
|
-
/* @__PURE__ */ (0,
|
|
8125
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-required", children: "*" })
|
|
7908
8126
|
] }),
|
|
7909
8127
|
status: errors.volume ? "fail" : "neutral",
|
|
7910
8128
|
type: "number",
|
|
@@ -7925,21 +8143,21 @@ var TradingCalculator = ({
|
|
|
7925
8143
|
}
|
|
7926
8144
|
}
|
|
7927
8145
|
),
|
|
7928
|
-
errors.volume && /* @__PURE__ */ (0,
|
|
7929
|
-
/* @__PURE__ */ (0,
|
|
8146
|
+
errors.volume && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-fieldError", children: [
|
|
8147
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ErrorIcon, {}),
|
|
7930
8148
|
" ",
|
|
7931
8149
|
errors.volume
|
|
7932
8150
|
] })
|
|
7933
8151
|
] }),
|
|
7934
|
-
/* @__PURE__ */ (0,
|
|
7935
|
-
/* @__PURE__ */ (0,
|
|
8152
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-field", children: [
|
|
8153
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7936
8154
|
TextField,
|
|
7937
8155
|
{
|
|
7938
8156
|
id: priceInputId,
|
|
7939
8157
|
className: "tcalc-numberField",
|
|
7940
|
-
label: /* @__PURE__ */ (0,
|
|
8158
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
|
|
7941
8159
|
"Asset price ",
|
|
7942
|
-
/* @__PURE__ */ (0,
|
|
8160
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "tcalc-required", children: "*" })
|
|
7943
8161
|
] }),
|
|
7944
8162
|
status: errors.price ? "fail" : "neutral",
|
|
7945
8163
|
type: "number",
|
|
@@ -7954,14 +8172,14 @@ var TradingCalculator = ({
|
|
|
7954
8172
|
}
|
|
7955
8173
|
}
|
|
7956
8174
|
),
|
|
7957
|
-
errors.price && /* @__PURE__ */ (0,
|
|
7958
|
-
/* @__PURE__ */ (0,
|
|
8175
|
+
errors.price && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("p", { className: "tcalc-fieldError", children: [
|
|
8176
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ErrorIcon, {}),
|
|
7959
8177
|
" ",
|
|
7960
8178
|
errors.price
|
|
7961
8179
|
] })
|
|
7962
8180
|
] }),
|
|
7963
|
-
/* @__PURE__ */ (0,
|
|
7964
|
-
/* @__PURE__ */ (0,
|
|
8181
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "tcalc-actions", children: [
|
|
8182
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7965
8183
|
Button,
|
|
7966
8184
|
{
|
|
7967
8185
|
type: "button",
|
|
@@ -7973,7 +8191,7 @@ var TradingCalculator = ({
|
|
|
7973
8191
|
fullWidth: true
|
|
7974
8192
|
}
|
|
7975
8193
|
),
|
|
7976
|
-
/* @__PURE__ */ (0,
|
|
8194
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
7977
8195
|
Button,
|
|
7978
8196
|
{
|
|
7979
8197
|
type: "button",
|
|
@@ -7986,39 +8204,39 @@ var TradingCalculator = ({
|
|
|
7986
8204
|
)
|
|
7987
8205
|
] })
|
|
7988
8206
|
] }),
|
|
7989
|
-
/* @__PURE__ */ (0,
|
|
7990
|
-
/* @__PURE__ */ (0,
|
|
7991
|
-
showMargin && /* @__PURE__ */ (0,
|
|
7992
|
-
showTradeVolume && showPip && /* @__PURE__ */ (0,
|
|
7993
|
-
/* @__PURE__ */ (0,
|
|
7994
|
-
/* @__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) : "$" })
|
|
7995
8213
|
] }),
|
|
7996
|
-
!showTradeVolume && showPip && /* @__PURE__ */ (0,
|
|
7997
|
-
showSwap && /* @__PURE__ */ (0,
|
|
7998
|
-
/* @__PURE__ */ (0,
|
|
7999
|
-
/* @__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) : "$" })
|
|
8000
8218
|
] }),
|
|
8001
|
-
calcError && /* @__PURE__ */ (0,
|
|
8002
|
-
/* @__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, {}),
|
|
8003
8221
|
" ",
|
|
8004
8222
|
calcError
|
|
8005
8223
|
] }),
|
|
8006
|
-
showSwap && /* @__PURE__ */ (0,
|
|
8007
|
-
/* @__PURE__ */ (0,
|
|
8008
|
-
/* @__PURE__ */ (0,
|
|
8009
|
-
/* @__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) : "-" })
|
|
8010
8228
|
] }),
|
|
8011
|
-
/* @__PURE__ */ (0,
|
|
8012
|
-
/* @__PURE__ */ (0,
|
|
8013
|
-
/* @__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 ?? "-") : "-" })
|
|
8014
8232
|
] })
|
|
8015
8233
|
] })
|
|
8016
8234
|
] }) }) });
|
|
8017
8235
|
};
|
|
8018
8236
|
|
|
8019
8237
|
// templates/TradingCalculatorHowTo/TradingCalculatorHowTo.tsx
|
|
8020
|
-
var
|
|
8021
|
-
var
|
|
8238
|
+
var import_react33 = require("react");
|
|
8239
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
8022
8240
|
var MARGIN_CONTENT = {
|
|
8023
8241
|
title: "How to calculate margin requirements",
|
|
8024
8242
|
description: "Use this formula to calculate how much margin is required based on your lot size, leverage ratio, and the current market price.",
|
|
@@ -8168,14 +8386,14 @@ var SWAP_TABS = [
|
|
|
8168
8386
|
{ id: "percentage", label: "Swap calculation (In percentage)" }
|
|
8169
8387
|
];
|
|
8170
8388
|
var swapModeForVariant = (variant) => variant === "swap-percentage" ? "percentage" : "points";
|
|
8171
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
8389
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react33.useLayoutEffect : import_react33.useEffect;
|
|
8172
8390
|
var FormulaBlockView = ({ block }) => {
|
|
8173
8391
|
if (block.type === "footnote") {
|
|
8174
|
-
return /* @__PURE__ */ (0,
|
|
8392
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "tchow-footnote", children: block.content });
|
|
8175
8393
|
}
|
|
8176
8394
|
if (block.type === "bullets") {
|
|
8177
|
-
return /* @__PURE__ */ (0,
|
|
8178
|
-
/* @__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: [
|
|
8179
8397
|
item.term,
|
|
8180
8398
|
":"
|
|
8181
8399
|
] }),
|
|
@@ -8183,16 +8401,16 @@ var FormulaBlockView = ({ block }) => {
|
|
|
8183
8401
|
item.content
|
|
8184
8402
|
] }, item.term)) });
|
|
8185
8403
|
}
|
|
8186
|
-
return /* @__PURE__ */ (0,
|
|
8404
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "tchow-text", children: block.content });
|
|
8187
8405
|
};
|
|
8188
|
-
var ConnectorArrow = () => /* @__PURE__ */ (0,
|
|
8189
|
-
/* @__PURE__ */ (0,
|
|
8190
|
-
/* @__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" })
|
|
8191
8409
|
] });
|
|
8192
8410
|
var CalculationStrip = ({ tokens }) => {
|
|
8193
|
-
const wrapperRef = (0,
|
|
8194
|
-
const stripRef = (0,
|
|
8195
|
-
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 });
|
|
8196
8414
|
useIsomorphicLayoutEffect(() => {
|
|
8197
8415
|
const wrapper = wrapperRef.current;
|
|
8198
8416
|
const strip = stripRef.current;
|
|
@@ -8215,13 +8433,13 @@ var CalculationStrip = ({ tokens }) => {
|
|
|
8215
8433
|
return () => observer.disconnect();
|
|
8216
8434
|
}, [tokens]);
|
|
8217
8435
|
const isShrunk = fit.scale < 1;
|
|
8218
|
-
return /* @__PURE__ */ (0,
|
|
8436
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8219
8437
|
"div",
|
|
8220
8438
|
{
|
|
8221
8439
|
className: "tchow-stripWrap",
|
|
8222
8440
|
ref: wrapperRef,
|
|
8223
8441
|
style: isShrunk ? { height: fit.naturalHeight * fit.scale } : void 0,
|
|
8224
|
-
children: /* @__PURE__ */ (0,
|
|
8442
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8225
8443
|
"div",
|
|
8226
8444
|
{
|
|
8227
8445
|
className: "tchow-strip",
|
|
@@ -8229,13 +8447,13 @@ var CalculationStrip = ({ tokens }) => {
|
|
|
8229
8447
|
style: isShrunk ? { transform: `scale(${fit.scale})` } : void 0,
|
|
8230
8448
|
role: "img",
|
|
8231
8449
|
"aria-label": tokens.map((token) => token.text).join(" "),
|
|
8232
|
-
children: tokens.map((token, i) => /* @__PURE__ */ (0,
|
|
8233
|
-
/* @__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)(
|
|
8234
8452
|
"span",
|
|
8235
8453
|
{
|
|
8236
8454
|
className: ["tchow-stripValue", token.label ? "tchow-stripValue--labeled" : ""].filter(Boolean).join(" "),
|
|
8237
8455
|
"aria-hidden": "true",
|
|
8238
|
-
children: /* @__PURE__ */ (0,
|
|
8456
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8239
8457
|
"span",
|
|
8240
8458
|
{
|
|
8241
8459
|
className: [
|
|
@@ -8247,16 +8465,16 @@ var CalculationStrip = ({ tokens }) => {
|
|
|
8247
8465
|
)
|
|
8248
8466
|
}
|
|
8249
8467
|
),
|
|
8250
|
-
/* @__PURE__ */ (0,
|
|
8251
|
-
/* @__PURE__ */ (0,
|
|
8252
|
-
/* @__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)(
|
|
8253
8471
|
"span",
|
|
8254
8472
|
{
|
|
8255
8473
|
className: [
|
|
8256
8474
|
"tchow-stripLabel",
|
|
8257
8475
|
i === 0 || i === tokens.length - 1 ? "tchow-stripLabel--edge" : ""
|
|
8258
8476
|
].filter(Boolean).join(" "),
|
|
8259
|
-
children: /* @__PURE__ */ (0,
|
|
8477
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "tchow-stripLabelText", children: token.label })
|
|
8260
8478
|
}
|
|
8261
8479
|
)
|
|
8262
8480
|
] }) })
|
|
@@ -8274,19 +8492,19 @@ var TradingCalculatorHowTo = ({
|
|
|
8274
8492
|
...props
|
|
8275
8493
|
}) => {
|
|
8276
8494
|
const isSwap = variant === "swap-points" || variant === "swap-percentage";
|
|
8277
|
-
const [swapTab, setSwapTab] = (0,
|
|
8278
|
-
(0,
|
|
8495
|
+
const [swapTab, setSwapTab] = (0, import_react33.useState)(() => swapModeForVariant(variant));
|
|
8496
|
+
(0, import_react33.useEffect)(() => {
|
|
8279
8497
|
setSwapTab(swapModeForVariant(variant));
|
|
8280
8498
|
}, [variant]);
|
|
8281
8499
|
const content = variant === "pip" ? PIP_CONTENT : isSwap ? swapTab === "percentage" ? SWAP_PERCENTAGE_CONTENT : SWAP_POINTS_CONTENT : MARGIN_CONTENT;
|
|
8282
8500
|
const heading = title ?? content.title;
|
|
8283
8501
|
const desc = description ?? content.description;
|
|
8284
|
-
return /* @__PURE__ */ (0,
|
|
8285
|
-
/* @__PURE__ */ (0,
|
|
8286
|
-
/* @__PURE__ */ (0,
|
|
8287
|
-
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 })
|
|
8288
8506
|
] }),
|
|
8289
|
-
isSwap && /* @__PURE__ */ (0,
|
|
8507
|
+
isSwap && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
8290
8508
|
Tabs,
|
|
8291
8509
|
{
|
|
8292
8510
|
className: "tchow-tabs",
|
|
@@ -8295,26 +8513,26 @@ var TradingCalculatorHowTo = ({
|
|
|
8295
8513
|
onChange: (id) => setSwapTab(id)
|
|
8296
8514
|
}
|
|
8297
8515
|
),
|
|
8298
|
-
/* @__PURE__ */ (0,
|
|
8299
|
-
/* @__PURE__ */ (0,
|
|
8300
|
-
/* @__PURE__ */ (0,
|
|
8301
|
-
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))
|
|
8302
8520
|
] }),
|
|
8303
|
-
/* @__PURE__ */ (0,
|
|
8304
|
-
/* @__PURE__ */ (0,
|
|
8305
|
-
/* @__PURE__ */ (0,
|
|
8306
|
-
content.exampleLead && /* @__PURE__ */ (0,
|
|
8307
|
-
content.calculations.map((strip, i) => /* @__PURE__ */ (0,
|
|
8308
|
-
/* @__PURE__ */ (0,
|
|
8309
|
-
/* @__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 })
|
|
8310
8528
|
] })
|
|
8311
8529
|
] })
|
|
8312
8530
|
] }) });
|
|
8313
8531
|
};
|
|
8314
8532
|
|
|
8315
8533
|
// templates/FeatureOffices/FeatureOffices.tsx
|
|
8316
|
-
var
|
|
8317
|
-
var
|
|
8534
|
+
var import_react34 = require("react");
|
|
8535
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
8318
8536
|
var isExternalUrl2 = (href) => Boolean(href && /^https?:\/\//i.test(href));
|
|
8319
8537
|
var FEATURE_OFFICES_TEXT_CONTENT = {
|
|
8320
8538
|
title: "Our offices",
|
|
@@ -8323,8 +8541,8 @@ var FEATURE_OFFICES_TEXT_CONTENT = {
|
|
|
8323
8541
|
var OfficeCard = ({ office, linkText }) => {
|
|
8324
8542
|
const label = office.linkText ?? linkText;
|
|
8325
8543
|
const external = isExternalUrl2(office.href);
|
|
8326
|
-
return /* @__PURE__ */ (0,
|
|
8327
|
-
/* @__PURE__ */ (0,
|
|
8544
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "fo-card", children: [
|
|
8545
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
8328
8546
|
"img",
|
|
8329
8547
|
{
|
|
8330
8548
|
alt: office.flagAlt ?? office.country,
|
|
@@ -8335,16 +8553,16 @@ var OfficeCard = ({ office, linkText }) => {
|
|
|
8335
8553
|
width: 32
|
|
8336
8554
|
}
|
|
8337
8555
|
),
|
|
8338
|
-
/* @__PURE__ */ (0,
|
|
8556
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("h3", { className: "fo-cardTitle", children: [
|
|
8339
8557
|
office.city,
|
|
8340
8558
|
", ",
|
|
8341
8559
|
office.country
|
|
8342
8560
|
] }),
|
|
8343
|
-
/* @__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: [
|
|
8344
8562
|
line,
|
|
8345
|
-
i < office.address.split("\n").length - 1 && /* @__PURE__ */ (0,
|
|
8563
|
+
i < office.address.split("\n").length - 1 && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("br", {})
|
|
8346
8564
|
] }, i)) }),
|
|
8347
|
-
office.href && /* @__PURE__ */ (0,
|
|
8565
|
+
office.href && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "fo-linkWrap", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
8348
8566
|
Link,
|
|
8349
8567
|
{
|
|
8350
8568
|
colorScheme: "coral",
|
|
@@ -8367,12 +8585,12 @@ var FeatureOffices = ({
|
|
|
8367
8585
|
className,
|
|
8368
8586
|
...props
|
|
8369
8587
|
}) => {
|
|
8370
|
-
const [internalActiveId, setInternalActiveId] = (0,
|
|
8588
|
+
const [internalActiveId, setInternalActiveId] = (0, import_react34.useState)(
|
|
8371
8589
|
defaultActiveRegionId ?? regions[0]?.id
|
|
8372
8590
|
);
|
|
8373
8591
|
const isControlled = activeRegionId !== void 0;
|
|
8374
8592
|
const activeId = isControlled ? activeRegionId : internalActiveId;
|
|
8375
|
-
const filteredOffices = (0,
|
|
8593
|
+
const filteredOffices = (0, import_react34.useMemo)(
|
|
8376
8594
|
() => offices.filter((office) => office.region === activeId),
|
|
8377
8595
|
[offices, activeId]
|
|
8378
8596
|
);
|
|
@@ -8380,15 +8598,15 @@ var FeatureOffices = ({
|
|
|
8380
8598
|
if (!isControlled) setInternalActiveId(id);
|
|
8381
8599
|
onRegionChange?.(id);
|
|
8382
8600
|
};
|
|
8383
|
-
return /* @__PURE__ */ (0,
|
|
8384
|
-
title && /* @__PURE__ */ (0,
|
|
8385
|
-
/* @__PURE__ */ (0,
|
|
8386
|
-
/* @__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}`)) })
|
|
8387
8605
|
] }) });
|
|
8388
8606
|
};
|
|
8389
8607
|
|
|
8390
8608
|
// templates/Tiers/Tiers.tsx
|
|
8391
|
-
var
|
|
8609
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
8392
8610
|
var DEFAULT_ACCENTS = ["bronze", "silver", "gold", "platinum"];
|
|
8393
8611
|
var resolveAccent = (tier, index) => tier.accent ?? DEFAULT_ACCENTS[index] ?? "bronze";
|
|
8394
8612
|
var Tiers = ({
|
|
@@ -8400,27 +8618,27 @@ var Tiers = ({
|
|
|
8400
8618
|
linkHref,
|
|
8401
8619
|
onLinkClick
|
|
8402
8620
|
}) => {
|
|
8403
|
-
return /* @__PURE__ */ (0,
|
|
8404
|
-
/* @__PURE__ */ (0,
|
|
8405
|
-
/* @__PURE__ */ (0,
|
|
8406
|
-
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 })
|
|
8407
8625
|
] }),
|
|
8408
|
-
/* @__PURE__ */ (0,
|
|
8626
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("ol", { className: "tiers__list", children: tiers.map((tier, index) => {
|
|
8409
8627
|
const accent = resolveAccent(tier, index);
|
|
8410
|
-
return /* @__PURE__ */ (0,
|
|
8628
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
8411
8629
|
"li",
|
|
8412
8630
|
{
|
|
8413
8631
|
className: `tiers__item tiers__item--${accent}`,
|
|
8414
|
-
children: /* @__PURE__ */ (0,
|
|
8415
|
-
/* @__PURE__ */ (0,
|
|
8416
|
-
/* @__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)(
|
|
8417
8635
|
"span",
|
|
8418
8636
|
{
|
|
8419
8637
|
className: "tiers__line tiers__line--left",
|
|
8420
8638
|
"aria-hidden": "true"
|
|
8421
8639
|
}
|
|
8422
8640
|
),
|
|
8423
|
-
/* @__PURE__ */ (0,
|
|
8641
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "tiers__icon-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
8424
8642
|
"img",
|
|
8425
8643
|
{
|
|
8426
8644
|
src: tier.icon,
|
|
@@ -8431,7 +8649,7 @@ var Tiers = ({
|
|
|
8431
8649
|
loading: "lazy"
|
|
8432
8650
|
}
|
|
8433
8651
|
) }),
|
|
8434
|
-
/* @__PURE__ */ (0,
|
|
8652
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
8435
8653
|
"span",
|
|
8436
8654
|
{
|
|
8437
8655
|
className: "tiers__line tiers__line--right",
|
|
@@ -8439,21 +8657,21 @@ var Tiers = ({
|
|
|
8439
8657
|
}
|
|
8440
8658
|
)
|
|
8441
8659
|
] }),
|
|
8442
|
-
/* @__PURE__ */ (0,
|
|
8443
|
-
/* @__PURE__ */ (0,
|
|
8444
|
-
/* @__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 })
|
|
8445
8663
|
] }),
|
|
8446
|
-
/* @__PURE__ */ (0,
|
|
8447
|
-
/* @__PURE__ */ (0,
|
|
8448
|
-
/* @__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 })
|
|
8449
8667
|
] }),
|
|
8450
|
-
tier.requirement && /* @__PURE__ */ (0,
|
|
8668
|
+
tier.requirement && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "tiers__requirement", children: tier.requirement })
|
|
8451
8669
|
] })
|
|
8452
8670
|
},
|
|
8453
8671
|
tier.name
|
|
8454
8672
|
);
|
|
8455
8673
|
}) }),
|
|
8456
|
-
showLink && /* @__PURE__ */ (0,
|
|
8674
|
+
showLink && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "tiers__footer", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
8457
8675
|
Link,
|
|
8458
8676
|
{
|
|
8459
8677
|
colorScheme: "coral",
|
|
@@ -8466,7 +8684,7 @@ var Tiers = ({
|
|
|
8466
8684
|
};
|
|
8467
8685
|
|
|
8468
8686
|
// templates/PartnersPayout/PartnersPayout.tsx
|
|
8469
|
-
var
|
|
8687
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
8470
8688
|
var PartnersPayout = ({
|
|
8471
8689
|
title,
|
|
8472
8690
|
period,
|
|
@@ -8475,30 +8693,30 @@ var PartnersPayout = ({
|
|
|
8475
8693
|
imageAlt = "",
|
|
8476
8694
|
className,
|
|
8477
8695
|
...props
|
|
8478
|
-
}) => /* @__PURE__ */ (0,
|
|
8696
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
8479
8697
|
"section",
|
|
8480
8698
|
{
|
|
8481
8699
|
className: ["partners-payout", className].filter(Boolean).join(" "),
|
|
8482
8700
|
...props,
|
|
8483
|
-
children: /* @__PURE__ */ (0,
|
|
8484
|
-
/* @__PURE__ */ (0,
|
|
8485
|
-
/* @__PURE__ */ (0,
|
|
8486
|
-
/* @__PURE__ */ (0,
|
|
8487
|
-
/* @__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 })
|
|
8488
8706
|
] }),
|
|
8489
|
-
/* @__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)(
|
|
8490
8708
|
"li",
|
|
8491
8709
|
{
|
|
8492
8710
|
className: "partners-payout__item",
|
|
8493
8711
|
children: [
|
|
8494
|
-
/* @__PURE__ */ (0,
|
|
8495
|
-
/* @__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 })
|
|
8496
8714
|
]
|
|
8497
8715
|
},
|
|
8498
8716
|
`${payout.region}-${index}`
|
|
8499
8717
|
)) })
|
|
8500
8718
|
] }),
|
|
8501
|
-
/* @__PURE__ */ (0,
|
|
8719
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
8502
8720
|
"img",
|
|
8503
8721
|
{
|
|
8504
8722
|
className: "partners-payout__image",
|
|
@@ -8512,7 +8730,7 @@ var PartnersPayout = ({
|
|
|
8512
8730
|
);
|
|
8513
8731
|
|
|
8514
8732
|
// templates/MasterPartner/MasterPartner.tsx
|
|
8515
|
-
var
|
|
8733
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
8516
8734
|
var MasterPartner = ({
|
|
8517
8735
|
title,
|
|
8518
8736
|
description,
|
|
@@ -8525,23 +8743,23 @@ var MasterPartner = ({
|
|
|
8525
8743
|
imageAlt = "",
|
|
8526
8744
|
steps
|
|
8527
8745
|
}) => {
|
|
8528
|
-
const ctaButton = /* @__PURE__ */ (0,
|
|
8529
|
-
return /* @__PURE__ */ (0,
|
|
8530
|
-
/* @__PURE__ */ (0,
|
|
8531
|
-
/* @__PURE__ */ (0,
|
|
8532
|
-
/* @__PURE__ */ (0,
|
|
8533
|
-
/* @__PURE__ */ (0,
|
|
8534
|
-
/* @__PURE__ */ (0,
|
|
8535
|
-
note && /* @__PURE__ */ (0,
|
|
8536
|
-
/* @__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 }),
|
|
8537
8755
|
" ",
|
|
8538
8756
|
note.text
|
|
8539
8757
|
] }),
|
|
8540
|
-
closingText && /* @__PURE__ */ (0,
|
|
8758
|
+
closingText && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "master-partner__paragraph", children: closingText })
|
|
8541
8759
|
] }),
|
|
8542
|
-
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 })
|
|
8543
8761
|
] }),
|
|
8544
|
-
/* @__PURE__ */ (0,
|
|
8762
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "master-partner__image-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
8545
8763
|
"img",
|
|
8546
8764
|
{
|
|
8547
8765
|
className: "master-partner__image",
|
|
@@ -8551,8 +8769,8 @@ var MasterPartner = ({
|
|
|
8551
8769
|
}
|
|
8552
8770
|
) })
|
|
8553
8771
|
] }),
|
|
8554
|
-
/* @__PURE__ */ (0,
|
|
8555
|
-
/* @__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)(
|
|
8556
8774
|
"img",
|
|
8557
8775
|
{
|
|
8558
8776
|
className: "master-partner__step-icon",
|
|
@@ -8564,13 +8782,13 @@ var MasterPartner = ({
|
|
|
8564
8782
|
loading: "lazy"
|
|
8565
8783
|
}
|
|
8566
8784
|
),
|
|
8567
|
-
/* @__PURE__ */ (0,
|
|
8785
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "master-partner__step-description", children: step.description })
|
|
8568
8786
|
] }, index)) })
|
|
8569
8787
|
] }) });
|
|
8570
8788
|
};
|
|
8571
8789
|
|
|
8572
8790
|
// templates/ResourceBanner/ResourceBanner.tsx
|
|
8573
|
-
var
|
|
8791
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
8574
8792
|
var DEFAULT_LINKS = [{ label: "Learn more", href: "#" }];
|
|
8575
8793
|
var RESOURCE_BANNER_DERIV_CONTENT = {
|
|
8576
8794
|
title: "Learn more about staying safe",
|
|
@@ -8584,7 +8802,7 @@ var RESOURCE_BANNER_DERIV_CONTENT = {
|
|
|
8584
8802
|
}
|
|
8585
8803
|
]
|
|
8586
8804
|
};
|
|
8587
|
-
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)(
|
|
8588
8806
|
"path",
|
|
8589
8807
|
{
|
|
8590
8808
|
d: "M4.5 11.5 11.5 4.5M5.5 4.5h6v6",
|
|
@@ -8604,21 +8822,21 @@ var ResourceBanner = ({
|
|
|
8604
8822
|
}) => {
|
|
8605
8823
|
const resolvedLinks = links && links.length > 0 ? links : DEFAULT_LINKS;
|
|
8606
8824
|
const rootClass = ["rsb", className].filter(Boolean).join(" ");
|
|
8607
|
-
return /* @__PURE__ */ (0,
|
|
8608
|
-
/* @__PURE__ */ (0,
|
|
8609
|
-
/* @__PURE__ */ (0,
|
|
8610
|
-
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 })
|
|
8611
8829
|
] }),
|
|
8612
|
-
/* @__PURE__ */ (0,
|
|
8830
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("ul", { className: "rsb__links", children: resolvedLinks.map((link, i) => {
|
|
8613
8831
|
const isExternal = link.external ?? true;
|
|
8614
|
-
return /* @__PURE__ */ (0,
|
|
8832
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("li", { className: "rsb__links-item", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
8615
8833
|
Link,
|
|
8616
8834
|
{
|
|
8617
8835
|
className: "rsb__link",
|
|
8618
8836
|
colorScheme: "white",
|
|
8619
8837
|
href: link.href,
|
|
8620
8838
|
label: link.label,
|
|
8621
|
-
icon: isExternal ? /* @__PURE__ */ (0,
|
|
8839
|
+
icon: isExternal ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ExternalLinkIcon2, {}) : void 0,
|
|
8622
8840
|
iconPosition: "right",
|
|
8623
8841
|
showChevron: !isExternal,
|
|
8624
8842
|
target: isExternal ? "_blank" : void 0,
|
|
@@ -8630,8 +8848,8 @@ var ResourceBanner = ({
|
|
|
8630
8848
|
};
|
|
8631
8849
|
|
|
8632
8850
|
// templates/OptionsTypes/OptionsTypes.tsx
|
|
8633
|
-
var
|
|
8634
|
-
var
|
|
8851
|
+
var import_react35 = require("react");
|
|
8852
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
8635
8853
|
var OPTIONS_TYPES_PLACEHOLDER_ITEMS = [
|
|
8636
8854
|
{
|
|
8637
8855
|
id: "option-type",
|
|
@@ -8642,7 +8860,7 @@ var OPTIONS_TYPES_PLACEHOLDER_ITEMS = [
|
|
|
8642
8860
|
platforms: [{ label: "Platform" }]
|
|
8643
8861
|
}
|
|
8644
8862
|
];
|
|
8645
|
-
function
|
|
8863
|
+
function safeHref2(value) {
|
|
8646
8864
|
if (!value) return null;
|
|
8647
8865
|
if (value.startsWith("/") && !value.startsWith("//")) return value;
|
|
8648
8866
|
try {
|
|
@@ -8652,8 +8870,8 @@ function safeHref(value) {
|
|
|
8652
8870
|
return null;
|
|
8653
8871
|
}
|
|
8654
8872
|
}
|
|
8655
|
-
function
|
|
8656
|
-
const href =
|
|
8873
|
+
function safeLottieSrc2(value) {
|
|
8874
|
+
const href = safeHref2(value);
|
|
8657
8875
|
if (!href) return null;
|
|
8658
8876
|
try {
|
|
8659
8877
|
const pathname = href.startsWith("/") ? href : new URL(href).pathname;
|
|
@@ -8685,9 +8903,9 @@ var iconPaths = {
|
|
|
8685
8903
|
]
|
|
8686
8904
|
};
|
|
8687
8905
|
function MetaIcon({ icon, iconUrl }) {
|
|
8688
|
-
const imageSrc =
|
|
8906
|
+
const imageSrc = safeHref2(iconUrl);
|
|
8689
8907
|
if (imageSrc) {
|
|
8690
|
-
return /* @__PURE__ */ (0,
|
|
8908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8691
8909
|
"img",
|
|
8692
8910
|
{
|
|
8693
8911
|
className: "ot__meta-image",
|
|
@@ -8703,27 +8921,27 @@ function MetaIcon({ icon, iconUrl }) {
|
|
|
8703
8921
|
const paths = iconPaths[icon];
|
|
8704
8922
|
if (!paths) {
|
|
8705
8923
|
const initials = icon === "deriv-trader" ? "DT" : icon === "deriv-bot" ? "DB" : "ST";
|
|
8706
|
-
return /* @__PURE__ */ (0,
|
|
8924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "ot__platform-icon", "aria-hidden": "true", children: initials });
|
|
8707
8925
|
}
|
|
8708
|
-
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)) });
|
|
8709
8927
|
}
|
|
8710
8928
|
function MetaList({ items = [] }) {
|
|
8711
|
-
return /* @__PURE__ */ (0,
|
|
8712
|
-
const href =
|
|
8713
|
-
const content = /* @__PURE__ */ (0,
|
|
8714
|
-
/* @__PURE__ */ (0,
|
|
8715
|
-
/* @__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 })
|
|
8716
8934
|
] });
|
|
8717
|
-
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}`);
|
|
8718
8936
|
}) });
|
|
8719
8937
|
}
|
|
8720
|
-
function
|
|
8721
|
-
return /* @__PURE__ */ (0,
|
|
8722
|
-
/* @__PURE__ */ (0,
|
|
8723
|
-
playing ? /* @__PURE__ */ (0,
|
|
8724
|
-
/* @__PURE__ */ (0,
|
|
8725
|
-
/* @__PURE__ */ (0,
|
|
8726
|
-
] }) : /* @__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)(
|
|
8727
8945
|
"path",
|
|
8728
8946
|
{
|
|
8729
8947
|
className: "ot__control-glyph",
|
|
@@ -8738,20 +8956,20 @@ function AnimationCard({
|
|
|
8738
8956
|
playing,
|
|
8739
8957
|
onToggle
|
|
8740
8958
|
}) {
|
|
8741
|
-
const src =
|
|
8742
|
-
const posterSrc =
|
|
8959
|
+
const src = safeLottieSrc2(animation.src);
|
|
8960
|
+
const posterSrc = safeHref2(animation.posterUrl);
|
|
8743
8961
|
const controlId = `ot-animation-${itemId}-${animation.id ?? animation.label}`.replace(/[^a-zA-Z0-9_-]/g, "-");
|
|
8744
|
-
return /* @__PURE__ */ (0,
|
|
8745
|
-
/* @__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)(
|
|
8746
8964
|
DotLottieInView,
|
|
8747
8965
|
{
|
|
8748
8966
|
src,
|
|
8749
8967
|
enabled: playing,
|
|
8750
8968
|
loop: true,
|
|
8751
|
-
poster: posterSrc ? /* @__PURE__ */ (0,
|
|
8969
|
+
poster: posterSrc ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("img", { src: posterSrc, alt: "", loading: "lazy", decoding: "async" }) : void 0
|
|
8752
8970
|
}
|
|
8753
8971
|
) : null }),
|
|
8754
|
-
posterSrc && !playing ? /* @__PURE__ */ (0,
|
|
8972
|
+
posterSrc && !playing ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8755
8973
|
"img",
|
|
8756
8974
|
{
|
|
8757
8975
|
className: "ot__animation-poster",
|
|
@@ -8762,7 +8980,7 @@ function AnimationCard({
|
|
|
8762
8980
|
decoding: "async"
|
|
8763
8981
|
}
|
|
8764
8982
|
) : null,
|
|
8765
|
-
src ? /* @__PURE__ */ (0,
|
|
8983
|
+
src ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8766
8984
|
"button",
|
|
8767
8985
|
{
|
|
8768
8986
|
type: "button",
|
|
@@ -8771,7 +8989,7 @@ function AnimationCard({
|
|
|
8771
8989
|
"aria-pressed": playing,
|
|
8772
8990
|
"aria-label": `${playing ? "Pause" : "Play"} ${animation.label} animation`,
|
|
8773
8991
|
onClick: onToggle,
|
|
8774
|
-
children: /* @__PURE__ */ (0,
|
|
8992
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(PlaybackGlyph2, { playing })
|
|
8775
8993
|
}
|
|
8776
8994
|
) : null
|
|
8777
8995
|
] });
|
|
@@ -8784,10 +9002,10 @@ function OptionPanel({
|
|
|
8784
9002
|
playing,
|
|
8785
9003
|
setPlaying
|
|
8786
9004
|
}) {
|
|
8787
|
-
const description = /* @__PURE__ */ (0,
|
|
8788
|
-
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) => {
|
|
8789
9007
|
const key = `${item.id}-${animation.id ?? index}`;
|
|
8790
|
-
return /* @__PURE__ */ (0,
|
|
9008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8791
9009
|
AnimationCard,
|
|
8792
9010
|
{
|
|
8793
9011
|
animation,
|
|
@@ -8801,28 +9019,28 @@ function OptionPanel({
|
|
|
8801
9019
|
key
|
|
8802
9020
|
);
|
|
8803
9021
|
}) });
|
|
8804
|
-
const metadata = /* @__PURE__ */ (0,
|
|
8805
|
-
/* @__PURE__ */ (0,
|
|
8806
|
-
/* @__PURE__ */ (0,
|
|
8807
|
-
/* @__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 })
|
|
8808
9026
|
] }),
|
|
8809
|
-
/* @__PURE__ */ (0,
|
|
8810
|
-
/* @__PURE__ */ (0,
|
|
8811
|
-
/* @__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 })
|
|
8812
9030
|
] })
|
|
8813
9031
|
] });
|
|
8814
9032
|
const layout = variant === "single" && item.animations.length === 1 ? "split" : "stacked";
|
|
8815
9033
|
const optionClass = `ot__option ot__option--${variant} ot__option--${layout}`;
|
|
8816
9034
|
if (layout === "split") {
|
|
8817
|
-
return /* @__PURE__ */ (0,
|
|
9035
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: optionClass, children: [
|
|
8818
9036
|
animations,
|
|
8819
|
-
/* @__PURE__ */ (0,
|
|
9037
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "ot__option-side", children: [
|
|
8820
9038
|
description,
|
|
8821
9039
|
metadata
|
|
8822
9040
|
] })
|
|
8823
9041
|
] });
|
|
8824
9042
|
}
|
|
8825
|
-
return /* @__PURE__ */ (0,
|
|
9043
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: optionClass, children: [
|
|
8826
9044
|
description,
|
|
8827
9045
|
animations,
|
|
8828
9046
|
metadata
|
|
@@ -8837,10 +9055,10 @@ function TogglePanel({
|
|
|
8837
9055
|
setPlaying
|
|
8838
9056
|
}) {
|
|
8839
9057
|
const animations = item.animations;
|
|
8840
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
8841
|
-
const switchRefs = (0,
|
|
9058
|
+
const [activeIndex, setActiveIndex] = (0, import_react35.useState)(0);
|
|
9059
|
+
const switchRefs = (0, import_react35.useRef)([]);
|
|
8842
9060
|
const safeIndex = Math.min(activeIndex, Math.max(animations.length - 1, 0));
|
|
8843
|
-
(0,
|
|
9061
|
+
(0, import_react35.useEffect)(() => {
|
|
8844
9062
|
setPlaying({});
|
|
8845
9063
|
}, [safeIndex, setPlaying]);
|
|
8846
9064
|
const hasMarkets = Boolean(item.markets && item.markets.length > 0);
|
|
@@ -8862,11 +9080,11 @@ function TogglePanel({
|
|
|
8862
9080
|
setActiveIndex(next);
|
|
8863
9081
|
switchRefs.current[next]?.focus();
|
|
8864
9082
|
};
|
|
8865
|
-
return /* @__PURE__ */ (0,
|
|
8866
|
-
/* @__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) => {
|
|
8867
9085
|
const key = `${item.id}-${animation.id ?? index}`;
|
|
8868
9086
|
const isActive = index === safeIndex;
|
|
8869
|
-
return /* @__PURE__ */ (0,
|
|
9087
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8870
9088
|
"div",
|
|
8871
9089
|
{
|
|
8872
9090
|
className: "ot__toggle-pane",
|
|
@@ -8874,7 +9092,7 @@ function TogglePanel({
|
|
|
8874
9092
|
role: "tabpanel",
|
|
8875
9093
|
"aria-labelledby": `${idPrefix}-switch-${index}`,
|
|
8876
9094
|
hidden: !isActive,
|
|
8877
|
-
children: isActive ? /* @__PURE__ */ (0,
|
|
9095
|
+
children: isActive ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8878
9096
|
AnimationCard,
|
|
8879
9097
|
{
|
|
8880
9098
|
animation,
|
|
@@ -8890,8 +9108,8 @@ function TogglePanel({
|
|
|
8890
9108
|
key
|
|
8891
9109
|
);
|
|
8892
9110
|
}) }),
|
|
8893
|
-
/* @__PURE__ */ (0,
|
|
8894
|
-
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)(
|
|
8895
9113
|
"div",
|
|
8896
9114
|
{
|
|
8897
9115
|
className: "ot__toggle-switch",
|
|
@@ -8900,8 +9118,8 @@ function TogglePanel({
|
|
|
8900
9118
|
onKeyDown: onSwitchKeyDown,
|
|
8901
9119
|
children: animations.map((animation, index) => {
|
|
8902
9120
|
const isActive = index === safeIndex;
|
|
8903
|
-
const iconUrl =
|
|
8904
|
-
return /* @__PURE__ */ (0,
|
|
9121
|
+
const iconUrl = safeHref2(animation.iconUrl);
|
|
9122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8905
9123
|
"button",
|
|
8906
9124
|
{
|
|
8907
9125
|
ref: (node) => {
|
|
@@ -8916,7 +9134,7 @@ function TogglePanel({
|
|
|
8916
9134
|
tabIndex: isActive ? 0 : -1,
|
|
8917
9135
|
className: `ot__toggle-option${isActive ? " ot__toggle-option--active" : ""}`,
|
|
8918
9136
|
onClick: () => setActiveIndex(index),
|
|
8919
|
-
children: iconUrl ? /* @__PURE__ */ (0,
|
|
9137
|
+
children: iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
8920
9138
|
"img",
|
|
8921
9139
|
{
|
|
8922
9140
|
className: "ot__toggle-icon",
|
|
@@ -8926,23 +9144,23 @@ function TogglePanel({
|
|
|
8926
9144
|
loading: "lazy",
|
|
8927
9145
|
decoding: "async"
|
|
8928
9146
|
}
|
|
8929
|
-
) : /* @__PURE__ */ (0,
|
|
9147
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "ot__toggle-option-label", children: animation.label })
|
|
8930
9148
|
},
|
|
8931
9149
|
`${item.id}-switch-${animation.id ?? index}`
|
|
8932
9150
|
);
|
|
8933
9151
|
})
|
|
8934
9152
|
}
|
|
8935
9153
|
) : null,
|
|
8936
|
-
/* @__PURE__ */ (0,
|
|
8937
|
-
/* @__PURE__ */ (0,
|
|
8938
|
-
hasMarkets || hasPlatforms ? /* @__PURE__ */ (0,
|
|
8939
|
-
hasMarkets ? /* @__PURE__ */ (0,
|
|
8940
|
-
/* @__PURE__ */ (0,
|
|
8941
|
-
/* @__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 })
|
|
8942
9160
|
] }) : null,
|
|
8943
|
-
hasPlatforms ? /* @__PURE__ */ (0,
|
|
8944
|
-
/* @__PURE__ */ (0,
|
|
8945
|
-
/* @__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 })
|
|
8946
9164
|
] }) : null
|
|
8947
9165
|
] }) : null
|
|
8948
9166
|
] })
|
|
@@ -8963,15 +9181,15 @@ function OptionsTypes({
|
|
|
8963
9181
|
...props
|
|
8964
9182
|
}) {
|
|
8965
9183
|
const usableItems = Array.isArray(items) ? items.filter((item) => item?.id) : [];
|
|
8966
|
-
const [internalActiveId, setInternalActiveId] = (0,
|
|
9184
|
+
const [internalActiveId, setInternalActiveId] = (0, import_react35.useState)(
|
|
8967
9185
|
defaultActiveId ?? usableItems[0]?.id ?? ""
|
|
8968
9186
|
);
|
|
8969
9187
|
const selectedId = usableItems.find((item) => item.id === activeId)?.id ?? usableItems.find((item) => item.id === internalActiveId)?.id ?? usableItems[0]?.id ?? "";
|
|
8970
|
-
const [playing, setPlaying] = (0,
|
|
8971
|
-
const generatedId = (0,
|
|
9188
|
+
const [playing, setPlaying] = (0, import_react35.useState)({});
|
|
9189
|
+
const generatedId = (0, import_react35.useId)().replace(/:/g, "");
|
|
8972
9190
|
const tabPrefix = `options-types-${generatedId}`;
|
|
8973
9191
|
const Heading = headingLevel;
|
|
8974
|
-
(0,
|
|
9192
|
+
(0, import_react35.useEffect)(() => {
|
|
8975
9193
|
setPlaying({});
|
|
8976
9194
|
}, [selectedId]);
|
|
8977
9195
|
const selectItem = (id) => {
|
|
@@ -8979,10 +9197,10 @@ function OptionsTypes({
|
|
|
8979
9197
|
onChange?.(id);
|
|
8980
9198
|
};
|
|
8981
9199
|
const rootClass = ["ot", `ot--${variant}`, className].filter(Boolean).join(" ");
|
|
8982
|
-
return /* @__PURE__ */ (0,
|
|
8983
|
-
/* @__PURE__ */ (0,
|
|
8984
|
-
/* @__PURE__ */ (0,
|
|
8985
|
-
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)(
|
|
8986
9204
|
Tabs,
|
|
8987
9205
|
{
|
|
8988
9206
|
items: usableItems.map((item) => ({
|
|
@@ -8997,9 +9215,9 @@ function OptionsTypes({
|
|
|
8997
9215
|
}
|
|
8998
9216
|
) : null
|
|
8999
9217
|
] }),
|
|
9000
|
-
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) => {
|
|
9001
9219
|
const isActive = item.id === selectedId;
|
|
9002
|
-
return /* @__PURE__ */ (0,
|
|
9220
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
9003
9221
|
"div",
|
|
9004
9222
|
{
|
|
9005
9223
|
id: `${tabPrefix}-panel-${index}`,
|
|
@@ -9007,7 +9225,7 @@ function OptionsTypes({
|
|
|
9007
9225
|
"aria-labelledby": `${tabPrefix}-tab-${index}`,
|
|
9008
9226
|
hidden: !isActive,
|
|
9009
9227
|
tabIndex: 0,
|
|
9010
|
-
children: /* @__PURE__ */ (0,
|
|
9228
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
9011
9229
|
OptionPanel,
|
|
9012
9230
|
{
|
|
9013
9231
|
item,
|
|
@@ -9021,7 +9239,7 @@ function OptionsTypes({
|
|
|
9021
9239
|
},
|
|
9022
9240
|
item.id
|
|
9023
9241
|
);
|
|
9024
|
-
}) }) : variant === "toggle" ? /* @__PURE__ */ (0,
|
|
9242
|
+
}) }) : variant === "toggle" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
9025
9243
|
TogglePanel,
|
|
9026
9244
|
{
|
|
9027
9245
|
item: usableItems[0],
|
|
@@ -9031,7 +9249,7 @@ function OptionsTypes({
|
|
|
9031
9249
|
playing,
|
|
9032
9250
|
setPlaying
|
|
9033
9251
|
}
|
|
9034
|
-
) : /* @__PURE__ */ (0,
|
|
9252
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
9035
9253
|
OptionPanel,
|
|
9036
9254
|
{
|
|
9037
9255
|
item: usableItems[0],
|
|
@@ -9042,8 +9260,8 @@ function OptionsTypes({
|
|
|
9042
9260
|
setPlaying
|
|
9043
9261
|
}
|
|
9044
9262
|
),
|
|
9045
|
-
disclaimer ? /* @__PURE__ */ (0,
|
|
9046
|
-
/* @__PURE__ */ (0,
|
|
9263
|
+
disclaimer ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("p", { className: "ot__disclaimer", children: [
|
|
9264
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
9047
9265
|
"svg",
|
|
9048
9266
|
{
|
|
9049
9267
|
className: "ot__disclaimer-icon",
|
|
@@ -9051,8 +9269,8 @@ function OptionsTypes({
|
|
|
9051
9269
|
fill: "none",
|
|
9052
9270
|
"aria-hidden": "true",
|
|
9053
9271
|
children: [
|
|
9054
|
-
/* @__PURE__ */ (0,
|
|
9055
|
-
/* @__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)(
|
|
9056
9274
|
"path",
|
|
9057
9275
|
{
|
|
9058
9276
|
d: "M8 7v4.2",
|
|
@@ -9061,11 +9279,11 @@ function OptionsTypes({
|
|
|
9061
9279
|
strokeLinecap: "round"
|
|
9062
9280
|
}
|
|
9063
9281
|
),
|
|
9064
|
-
/* @__PURE__ */ (0,
|
|
9282
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("circle", { cx: "8", cy: "4.9", r: "0.85", fill: "currentColor" })
|
|
9065
9283
|
]
|
|
9066
9284
|
}
|
|
9067
9285
|
),
|
|
9068
|
-
/* @__PURE__ */ (0,
|
|
9286
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: disclaimer })
|
|
9069
9287
|
] }) : null
|
|
9070
9288
|
] }) });
|
|
9071
9289
|
}
|
|
@@ -9299,7 +9517,7 @@ var OPTIONS_TYPES_EU_MULTIPLIERS_CONTENT = {
|
|
|
9299
9517
|
};
|
|
9300
9518
|
|
|
9301
9519
|
// templates/EntityInfoSection/EntityInfoSection.tsx
|
|
9302
|
-
var
|
|
9520
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
9303
9521
|
var DEFAULT_LINKS2 = [{ label: "View licence", href: "#" }];
|
|
9304
9522
|
var EntityInfoSection = ({
|
|
9305
9523
|
name = "Section title goes here",
|
|
@@ -9313,13 +9531,13 @@ var EntityInfoSection = ({
|
|
|
9313
9531
|
const resolvedLinks = links && links.length > 0 ? links : DEFAULT_LINKS2;
|
|
9314
9532
|
const hasBullets = !!bullets && bullets.length > 0;
|
|
9315
9533
|
const rootClass = ["eis", className].filter(Boolean).join(" ");
|
|
9316
|
-
return /* @__PURE__ */ (0,
|
|
9317
|
-
/* @__PURE__ */ (0,
|
|
9318
|
-
description && /* @__PURE__ */ (0,
|
|
9319
|
-
hasBullets && /* @__PURE__ */ (0,
|
|
9320
|
-
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) => {
|
|
9321
9539
|
const isExternal = link.external ?? true;
|
|
9322
|
-
return /* @__PURE__ */ (0,
|
|
9540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("li", { className: "eis__links-item", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
9323
9541
|
Link,
|
|
9324
9542
|
{
|
|
9325
9543
|
className: "eis__link",
|
|
@@ -9335,7 +9553,7 @@ var EntityInfoSection = ({
|
|
|
9335
9553
|
};
|
|
9336
9554
|
|
|
9337
9555
|
// templates/CountryLinkGrid/CountryLinkGrid.tsx
|
|
9338
|
-
var
|
|
9556
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
9339
9557
|
var DEFAULT_ITEMS = [
|
|
9340
9558
|
{ label: "Country name", href: "#" },
|
|
9341
9559
|
{ label: "Country name", href: "#" },
|
|
@@ -9352,14 +9570,14 @@ var CountryLinkGrid = ({
|
|
|
9352
9570
|
}) => {
|
|
9353
9571
|
const resolvedItems = items && items.length > 0 ? items : DEFAULT_ITEMS;
|
|
9354
9572
|
const rootClass = ["clg", className].filter(Boolean).join(" ");
|
|
9355
|
-
return /* @__PURE__ */ (0,
|
|
9356
|
-
/* @__PURE__ */ (0,
|
|
9357
|
-
/* @__PURE__ */ (0,
|
|
9358
|
-
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 })
|
|
9359
9577
|
] }),
|
|
9360
|
-
resolvedItems.length > 0 && /* @__PURE__ */ (0,
|
|
9578
|
+
resolvedItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("ul", { className: "clg__list", children: resolvedItems.map((item, i) => {
|
|
9361
9579
|
const isExternal = item.external ?? true;
|
|
9362
|
-
return /* @__PURE__ */ (0,
|
|
9580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("li", { className: "clg__item", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
9363
9581
|
"a",
|
|
9364
9582
|
{
|
|
9365
9583
|
className: "clg__link",
|
|
@@ -9367,7 +9585,7 @@ var CountryLinkGrid = ({
|
|
|
9367
9585
|
target: isExternal ? "_blank" : void 0,
|
|
9368
9586
|
rel: isExternal ? "noopener noreferrer" : void 0,
|
|
9369
9587
|
children: [
|
|
9370
|
-
item.iconSrc && /* @__PURE__ */ (0,
|
|
9588
|
+
item.iconSrc && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
9371
9589
|
"img",
|
|
9372
9590
|
{
|
|
9373
9591
|
className: "clg__flag",
|
|
@@ -9378,7 +9596,7 @@ var CountryLinkGrid = ({
|
|
|
9378
9596
|
height: 24
|
|
9379
9597
|
}
|
|
9380
9598
|
),
|
|
9381
|
-
/* @__PURE__ */ (0,
|
|
9599
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "clg__text", children: item.label })
|
|
9382
9600
|
]
|
|
9383
9601
|
}
|
|
9384
9602
|
) }, item.id ?? i);
|
|
@@ -9387,8 +9605,8 @@ var CountryLinkGrid = ({
|
|
|
9387
9605
|
};
|
|
9388
9606
|
|
|
9389
9607
|
// templates/DocumentChips/DocumentChips.tsx
|
|
9390
|
-
var
|
|
9391
|
-
var
|
|
9608
|
+
var import_react36 = require("react");
|
|
9609
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
9392
9610
|
var DEFAULT_GROUPS = [
|
|
9393
9611
|
{
|
|
9394
9612
|
id: "group-one",
|
|
@@ -9425,8 +9643,8 @@ var DocumentChip = ({ document: document2, iconSrc, iconAlt, onLanguageSelect })
|
|
|
9425
9643
|
event.preventDefault();
|
|
9426
9644
|
onLanguageSelect(document2, event);
|
|
9427
9645
|
};
|
|
9428
|
-
return /* @__PURE__ */ (0,
|
|
9429
|
-
/* @__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)(
|
|
9430
9648
|
"a",
|
|
9431
9649
|
{
|
|
9432
9650
|
className: "dch__doc-link",
|
|
@@ -9434,7 +9652,7 @@ var DocumentChip = ({ document: document2, iconSrc, iconAlt, onLanguageSelect })
|
|
|
9434
9652
|
target: isExternal ? "_blank" : void 0,
|
|
9435
9653
|
rel: isExternal ? "noopener noreferrer" : void 0,
|
|
9436
9654
|
children: [
|
|
9437
|
-
/* @__PURE__ */ (0,
|
|
9655
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9438
9656
|
"img",
|
|
9439
9657
|
{
|
|
9440
9658
|
className: "dch__doc-icon",
|
|
@@ -9444,11 +9662,11 @@ var DocumentChip = ({ document: document2, iconSrc, iconAlt, onLanguageSelect })
|
|
|
9444
9662
|
"aria-hidden": iconAlt ? void 0 : true
|
|
9445
9663
|
}
|
|
9446
9664
|
),
|
|
9447
|
-
/* @__PURE__ */ (0,
|
|
9665
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "dch__doc-title", children: document2.title })
|
|
9448
9666
|
]
|
|
9449
9667
|
}
|
|
9450
9668
|
),
|
|
9451
|
-
languageLink && /* @__PURE__ */ (0,
|
|
9669
|
+
languageLink && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "dch__doc-action", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9452
9670
|
Link,
|
|
9453
9671
|
{
|
|
9454
9672
|
className: "dch__doc-language",
|
|
@@ -9466,7 +9684,7 @@ var DocumentChipList = ({
|
|
|
9466
9684
|
iconSrc,
|
|
9467
9685
|
iconAlt,
|
|
9468
9686
|
onLanguageSelect
|
|
9469
|
-
}) => /* @__PURE__ */ (0,
|
|
9687
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("ul", { className: "dch__docs", children: documents.map((document2, j) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9470
9688
|
DocumentChip,
|
|
9471
9689
|
{
|
|
9472
9690
|
document: document2,
|
|
@@ -9491,7 +9709,7 @@ var DocumentChips = ({
|
|
|
9491
9709
|
}) => {
|
|
9492
9710
|
const resolvedGroups = groups && groups.length > 0 ? groups : DEFAULT_GROUPS;
|
|
9493
9711
|
const groupKeys = resolvedGroups.map((group, i) => String(group.id ?? i));
|
|
9494
|
-
const [openKeys, setOpenKeys] = (0,
|
|
9712
|
+
const [openKeys, setOpenKeys] = (0, import_react36.useState)(void 0);
|
|
9495
9713
|
const resolvedOpenKeys = openKeys === void 0 ? groupKeys.slice(0, 1) : openKeys;
|
|
9496
9714
|
const handleToggle = (key, next) => {
|
|
9497
9715
|
setOpenKeys((current) => {
|
|
@@ -9502,12 +9720,12 @@ var DocumentChips = ({
|
|
|
9502
9720
|
};
|
|
9503
9721
|
const flatDocuments = resolvedGroups.flatMap((group) => group.documents ?? []);
|
|
9504
9722
|
const rootClass = ["dch", className].filter(Boolean).join(" ");
|
|
9505
|
-
return /* @__PURE__ */ (0,
|
|
9506
|
-
(title || description) && /* @__PURE__ */ (0,
|
|
9507
|
-
title && /* @__PURE__ */ (0,
|
|
9508
|
-
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 })
|
|
9509
9727
|
] }),
|
|
9510
|
-
variant === "flat" ? /* @__PURE__ */ (0,
|
|
9728
|
+
variant === "flat" ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9511
9729
|
DocumentChipList,
|
|
9512
9730
|
{
|
|
9513
9731
|
documents: flatDocuments,
|
|
@@ -9515,9 +9733,9 @@ var DocumentChips = ({
|
|
|
9515
9733
|
iconSrc,
|
|
9516
9734
|
onLanguageSelect
|
|
9517
9735
|
}
|
|
9518
|
-
) : /* @__PURE__ */ (0,
|
|
9736
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "dch__groups", children: resolvedGroups.map((group, i) => {
|
|
9519
9737
|
const key = groupKeys[i];
|
|
9520
|
-
return /* @__PURE__ */ (0,
|
|
9738
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9521
9739
|
Accordion,
|
|
9522
9740
|
{
|
|
9523
9741
|
className: "dch__group",
|
|
@@ -9525,7 +9743,7 @@ var DocumentChips = ({
|
|
|
9525
9743
|
open: resolvedOpenKeys.includes(key),
|
|
9526
9744
|
onToggle: (next) => handleToggle(key, next),
|
|
9527
9745
|
showTopDivider: i > 0,
|
|
9528
|
-
children: /* @__PURE__ */ (0,
|
|
9746
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
9529
9747
|
DocumentChipList,
|
|
9530
9748
|
{
|
|
9531
9749
|
documents: group.documents ?? [],
|
|
@@ -9542,10 +9760,10 @@ var DocumentChips = ({
|
|
|
9542
9760
|
};
|
|
9543
9761
|
|
|
9544
9762
|
// components/LinkModal/LinkModal.tsx
|
|
9545
|
-
var
|
|
9763
|
+
var import_react37 = require("react");
|
|
9546
9764
|
var import_react_dom2 = require("react-dom");
|
|
9547
|
-
var
|
|
9548
|
-
var XMarkIcon3 = () => /* @__PURE__ */ (0,
|
|
9765
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
9766
|
+
var XMarkIcon3 = () => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
9549
9767
|
"svg",
|
|
9550
9768
|
{
|
|
9551
9769
|
width: "24",
|
|
@@ -9554,7 +9772,7 @@ var XMarkIcon3 = () => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
|
9554
9772
|
fill: "none",
|
|
9555
9773
|
xmlns: "http://www.w3.org/2000/svg",
|
|
9556
9774
|
"aria-hidden": "true",
|
|
9557
|
-
children: /* @__PURE__ */ (0,
|
|
9775
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
9558
9776
|
"path",
|
|
9559
9777
|
{
|
|
9560
9778
|
d: "M5 5l14 14M19 5L5 19",
|
|
@@ -9584,17 +9802,17 @@ var LinkModal = ({
|
|
|
9584
9802
|
className,
|
|
9585
9803
|
...props
|
|
9586
9804
|
}) => {
|
|
9587
|
-
const titleId = (0,
|
|
9588
|
-
const panelRef = (0,
|
|
9589
|
-
const triggerRef = (0,
|
|
9590
|
-
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)(() => {
|
|
9591
9809
|
const panel = panelRef.current;
|
|
9592
9810
|
if (!panel) return [];
|
|
9593
9811
|
return Array.from(panel.querySelectorAll(FOCUSABLE_SELECTOR)).filter(
|
|
9594
9812
|
(el) => el.offsetParent !== null || el === document.activeElement
|
|
9595
9813
|
);
|
|
9596
9814
|
}, []);
|
|
9597
|
-
(0,
|
|
9815
|
+
(0, import_react37.useEffect)(() => {
|
|
9598
9816
|
if (!open || typeof document === "undefined") return;
|
|
9599
9817
|
triggerRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
9600
9818
|
panelRef.current?.focus();
|
|
@@ -9604,7 +9822,7 @@ var LinkModal = ({
|
|
|
9604
9822
|
if (trigger && document.contains(trigger)) trigger.focus();
|
|
9605
9823
|
};
|
|
9606
9824
|
}, [open]);
|
|
9607
|
-
(0,
|
|
9825
|
+
(0, import_react37.useEffect)(() => {
|
|
9608
9826
|
if (!open || typeof document === "undefined") return;
|
|
9609
9827
|
const handleKeyDown = (event) => {
|
|
9610
9828
|
if (event.key === "Escape") {
|
|
@@ -9615,7 +9833,7 @@ var LinkModal = ({
|
|
|
9615
9833
|
document.addEventListener("keydown", handleKeyDown);
|
|
9616
9834
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
9617
9835
|
}, [open, onClose]);
|
|
9618
|
-
(0,
|
|
9836
|
+
(0, import_react37.useEffect)(() => {
|
|
9619
9837
|
if (!open || typeof document === "undefined") return;
|
|
9620
9838
|
const body = document.body;
|
|
9621
9839
|
const previousOverflow = body.style.overflow;
|
|
@@ -9657,9 +9875,9 @@ var LinkModal = ({
|
|
|
9657
9875
|
if (!open || typeof document === "undefined") return null;
|
|
9658
9876
|
const rootClass = ["lkm", className].filter(Boolean).join(" ");
|
|
9659
9877
|
return (0, import_react_dom2.createPortal)(
|
|
9660
|
-
/* @__PURE__ */ (0,
|
|
9661
|
-
/* @__PURE__ */ (0,
|
|
9662
|
-
/* @__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)(
|
|
9663
9881
|
"div",
|
|
9664
9882
|
{
|
|
9665
9883
|
ref: panelRef,
|
|
@@ -9672,18 +9890,18 @@ var LinkModal = ({
|
|
|
9672
9890
|
onKeyDown: handlePanelKeyDown,
|
|
9673
9891
|
...props,
|
|
9674
9892
|
children: [
|
|
9675
|
-
/* @__PURE__ */ (0,
|
|
9893
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
9676
9894
|
"button",
|
|
9677
9895
|
{
|
|
9678
9896
|
type: "button",
|
|
9679
9897
|
className: "lkm__close",
|
|
9680
9898
|
onClick: onClose,
|
|
9681
9899
|
"aria-label": closeLabel,
|
|
9682
|
-
children: /* @__PURE__ */ (0,
|
|
9900
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(XMarkIcon3, {})
|
|
9683
9901
|
}
|
|
9684
9902
|
),
|
|
9685
|
-
/* @__PURE__ */ (0,
|
|
9686
|
-
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 })
|
|
9687
9905
|
]
|
|
9688
9906
|
}
|
|
9689
9907
|
)
|
|
@@ -9693,7 +9911,7 @@ var LinkModal = ({
|
|
|
9693
9911
|
};
|
|
9694
9912
|
|
|
9695
9913
|
// templates/LanguageSelectModal/LanguageSelectModal.tsx
|
|
9696
|
-
var
|
|
9914
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
9697
9915
|
var DEFAULT_OPTIONS = [
|
|
9698
9916
|
{ id: "option-one", label: "First option", href: "#" },
|
|
9699
9917
|
{ id: "option-two", label: "Second option", href: "#" },
|
|
@@ -9714,7 +9932,7 @@ var LanguageSelectModal = ({
|
|
|
9714
9932
|
...props
|
|
9715
9933
|
}) => {
|
|
9716
9934
|
const resolvedOptions = options && options.length > 0 ? options : DEFAULT_OPTIONS;
|
|
9717
|
-
return /* @__PURE__ */ (0,
|
|
9935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
9718
9936
|
LinkModal,
|
|
9719
9937
|
{
|
|
9720
9938
|
open,
|
|
@@ -9725,9 +9943,9 @@ var LanguageSelectModal = ({
|
|
|
9725
9943
|
container,
|
|
9726
9944
|
className,
|
|
9727
9945
|
...props,
|
|
9728
|
-
children: /* @__PURE__ */ (0,
|
|
9946
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("ul", { className: "lsm__grid", children: resolvedOptions.map((option, i) => {
|
|
9729
9947
|
const isExternal = option.external ?? true;
|
|
9730
|
-
return /* @__PURE__ */ (0,
|
|
9948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("li", { className: "lsm__grid-item", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
9731
9949
|
"a",
|
|
9732
9950
|
{
|
|
9733
9951
|
className: "lsm__option",
|
|
@@ -9735,7 +9953,7 @@ var LanguageSelectModal = ({
|
|
|
9735
9953
|
target: isExternal ? "_blank" : void 0,
|
|
9736
9954
|
rel: isExternal ? "noopener noreferrer" : void 0,
|
|
9737
9955
|
children: [
|
|
9738
|
-
option.flagSrc && /* @__PURE__ */ (0,
|
|
9956
|
+
option.flagSrc && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
9739
9957
|
"img",
|
|
9740
9958
|
{
|
|
9741
9959
|
className: "lsm__flag",
|
|
@@ -9745,7 +9963,7 @@ var LanguageSelectModal = ({
|
|
|
9745
9963
|
"aria-hidden": option.flagAlt ? void 0 : true
|
|
9746
9964
|
}
|
|
9747
9965
|
),
|
|
9748
|
-
/* @__PURE__ */ (0,
|
|
9966
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "lsm__option-label", children: option.label })
|
|
9749
9967
|
]
|
|
9750
9968
|
}
|
|
9751
9969
|
) }, option.id ?? i);
|
|
@@ -9755,9 +9973,9 @@ var LanguageSelectModal = ({
|
|
|
9755
9973
|
};
|
|
9756
9974
|
|
|
9757
9975
|
// templates/AffiliatesSlider/AffiliatesSlider.tsx
|
|
9758
|
-
var
|
|
9759
|
-
var
|
|
9760
|
-
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)(
|
|
9761
9979
|
"svg",
|
|
9762
9980
|
{
|
|
9763
9981
|
width: "32",
|
|
@@ -9766,7 +9984,7 @@ var ArrowIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
|
9766
9984
|
fill: "none",
|
|
9767
9985
|
xmlns: "http://www.w3.org/2000/svg",
|
|
9768
9986
|
"aria-hidden": "true",
|
|
9769
|
-
children: /* @__PURE__ */ (0,
|
|
9987
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9770
9988
|
"path",
|
|
9771
9989
|
{
|
|
9772
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",
|
|
@@ -9776,7 +9994,7 @@ var ArrowIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
|
9776
9994
|
)
|
|
9777
9995
|
}
|
|
9778
9996
|
);
|
|
9779
|
-
var TrackGradient = () => /* @__PURE__ */ (0,
|
|
9997
|
+
var TrackGradient = () => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
|
|
9780
9998
|
"svg",
|
|
9781
9999
|
{
|
|
9782
10000
|
preserveAspectRatio: "none",
|
|
@@ -9788,7 +10006,7 @@ var TrackGradient = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
|
9788
10006
|
"aria-hidden": "true",
|
|
9789
10007
|
className: "afs__track-gradient",
|
|
9790
10008
|
children: [
|
|
9791
|
-
/* @__PURE__ */ (0,
|
|
10009
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9792
10010
|
"path",
|
|
9793
10011
|
{
|
|
9794
10012
|
opacity: "0.5",
|
|
@@ -9796,7 +10014,7 @@ var TrackGradient = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
|
9796
10014
|
fill: "url(#afs-track-gradient)"
|
|
9797
10015
|
}
|
|
9798
10016
|
),
|
|
9799
|
-
/* @__PURE__ */ (0,
|
|
10017
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
|
|
9800
10018
|
"linearGradient",
|
|
9801
10019
|
{
|
|
9802
10020
|
id: "afs-track-gradient",
|
|
@@ -9806,8 +10024,8 @@ var TrackGradient = () => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
|
9806
10024
|
y2: "227.916",
|
|
9807
10025
|
gradientUnits: "userSpaceOnUse",
|
|
9808
10026
|
children: [
|
|
9809
|
-
/* @__PURE__ */ (0,
|
|
9810
|
-
/* @__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)" })
|
|
9811
10029
|
]
|
|
9812
10030
|
}
|
|
9813
10031
|
) })
|
|
@@ -9840,44 +10058,44 @@ var AffiliatesSlider = ({
|
|
|
9840
10058
|
className,
|
|
9841
10059
|
...props
|
|
9842
10060
|
}) => {
|
|
9843
|
-
const [internalValue, setInternalValue] = (0,
|
|
10061
|
+
const [internalValue, setInternalValue] = (0, import_react38.useState)(defaultValue);
|
|
9844
10062
|
const currentValue = value ?? internalValue;
|
|
9845
|
-
const handleChange = (0,
|
|
10063
|
+
const handleChange = (0, import_react38.useCallback)(
|
|
9846
10064
|
(next) => {
|
|
9847
10065
|
if (value === void 0) setInternalValue(next);
|
|
9848
10066
|
onValueChange?.(next);
|
|
9849
10067
|
},
|
|
9850
10068
|
[onValueChange, value]
|
|
9851
10069
|
);
|
|
9852
|
-
const ticks = (0,
|
|
10070
|
+
const ticks = (0, import_react38.useMemo)(
|
|
9853
10071
|
() => tickValues ?? buildDefaultTicks(min, max),
|
|
9854
10072
|
[max, min, tickValues]
|
|
9855
10073
|
);
|
|
9856
10074
|
const fillPercent = (currentValue - min) / (max - min) * 100;
|
|
9857
10075
|
const income = currentValue * incomePerReferral;
|
|
9858
10076
|
const rootClass = ["afs", className].filter(Boolean).join(" ");
|
|
9859
|
-
return /* @__PURE__ */ (0,
|
|
9860
|
-
/* @__PURE__ */ (0,
|
|
9861
|
-
title && /* @__PURE__ */ (0,
|
|
9862
|
-
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 })
|
|
9863
10081
|
] }),
|
|
9864
|
-
/* @__PURE__ */ (0,
|
|
9865
|
-
/* @__PURE__ */ (0,
|
|
9866
|
-
/* @__PURE__ */ (0,
|
|
9867
|
-
/* @__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 })
|
|
9868
10086
|
] }),
|
|
9869
|
-
/* @__PURE__ */ (0,
|
|
9870
|
-
/* @__PURE__ */ (0,
|
|
9871
|
-
/* @__PURE__ */ (0,
|
|
9872
|
-
/* @__PURE__ */ (0,
|
|
9873
|
-
/* @__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)(
|
|
9874
10092
|
"div",
|
|
9875
10093
|
{
|
|
9876
10094
|
className: "afs__fill",
|
|
9877
10095
|
style: { width: `${fillPercent}%` }
|
|
9878
10096
|
}
|
|
9879
10097
|
),
|
|
9880
|
-
/* @__PURE__ */ (0,
|
|
10098
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9881
10099
|
"div",
|
|
9882
10100
|
{
|
|
9883
10101
|
className: "afs__handle",
|
|
@@ -9885,7 +10103,7 @@ var AffiliatesSlider = ({
|
|
|
9885
10103
|
"aria-hidden": "true"
|
|
9886
10104
|
}
|
|
9887
10105
|
),
|
|
9888
|
-
/* @__PURE__ */ (0,
|
|
10106
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9889
10107
|
"input",
|
|
9890
10108
|
{
|
|
9891
10109
|
type: "range",
|
|
@@ -9902,18 +10120,18 @@ var AffiliatesSlider = ({
|
|
|
9902
10120
|
}
|
|
9903
10121
|
)
|
|
9904
10122
|
] }) }),
|
|
9905
|
-
/* @__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)) })
|
|
9906
10124
|
] }),
|
|
9907
|
-
/* @__PURE__ */ (0,
|
|
9908
|
-
/* @__PURE__ */ (0,
|
|
9909
|
-
/* @__PURE__ */ (0,
|
|
9910
|
-
/* @__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) })
|
|
9911
10129
|
] }),
|
|
9912
|
-
/* @__PURE__ */ (0,
|
|
10130
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "afs__metric-label afs__metric-label--right", children: incomeLabel })
|
|
9913
10131
|
] })
|
|
9914
10132
|
] }) }),
|
|
9915
|
-
disclaimer && /* @__PURE__ */ (0,
|
|
9916
|
-
disclaimerIconSrc && /* @__PURE__ */ (0,
|
|
10133
|
+
disclaimer && /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "afs__disclaimer", children: [
|
|
10134
|
+
disclaimerIconSrc && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
9917
10135
|
"img",
|
|
9918
10136
|
{
|
|
9919
10137
|
className: "afs__disclaimer-icon",
|
|
@@ -9923,7 +10141,7 @@ var AffiliatesSlider = ({
|
|
|
9923
10141
|
"aria-hidden": disclaimerIconAlt ? void 0 : true
|
|
9924
10142
|
}
|
|
9925
10143
|
),
|
|
9926
|
-
/* @__PURE__ */ (0,
|
|
10144
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "afs__disclaimer-text", children: disclaimer })
|
|
9927
10145
|
] })
|
|
9928
10146
|
] }) });
|
|
9929
10147
|
};
|
|
@@ -10010,6 +10228,7 @@ var AffiliatesSlider = ({
|
|
|
10010
10228
|
StatsSimple,
|
|
10011
10229
|
Steps,
|
|
10012
10230
|
StickyMarketCards,
|
|
10231
|
+
StickyMarketCardsLottie,
|
|
10013
10232
|
StickyStackedCards,
|
|
10014
10233
|
TEXT_CONTENT,
|
|
10015
10234
|
Table,
|