@deriv-web-design/ui 0.0.24 → 0.0.26
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/dist/index.css +623 -162
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +109 -28
- package/dist/index.d.ts +109 -28
- package/dist/index.js +977 -436
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +952 -416
- package/dist/index.mjs.map +1 -1
- package/dist/quote-left-63QMW5NQ.webp +0 -0
- package/dist/quote-right-W6AS4YHN.webp +0 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ var index_exports = {};
|
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
AVATAR_DATA: () => AVATAR_DATA,
|
|
24
24
|
Accordion: () => Accordion,
|
|
25
|
+
AvatarGrid: () => AvatarGrid,
|
|
25
26
|
BottomSheet: () => BottomSheet,
|
|
26
27
|
Breadcrumb: () => Breadcrumb,
|
|
27
28
|
Button: () => Button,
|
|
@@ -44,14 +45,17 @@ __export(index_exports, {
|
|
|
44
45
|
Footer: () => Footer,
|
|
45
46
|
Header: () => Header,
|
|
46
47
|
Hero: () => Hero,
|
|
48
|
+
ImageBanner: () => ImageBanner,
|
|
47
49
|
Leaders: () => Leaders,
|
|
48
50
|
Link: () => Link,
|
|
49
51
|
LogoMarquee: () => LogoMarquee,
|
|
50
52
|
Navbar: () => Navbar,
|
|
51
53
|
Pagination: () => Pagination,
|
|
54
|
+
PeopleGrid: () => PeopleGrid,
|
|
52
55
|
STEPS_DATA: () => STEPS_DATA,
|
|
53
56
|
SearchField: () => SearchField,
|
|
54
57
|
Stats: () => Stats,
|
|
58
|
+
StatsSimple: () => StatsSimple,
|
|
55
59
|
Steps: () => Steps,
|
|
56
60
|
StickyMarketCards: () => StickyMarketCards,
|
|
57
61
|
StickyStackedCards: () => StickyStackedCards,
|
|
@@ -59,6 +63,7 @@ __export(index_exports, {
|
|
|
59
63
|
Table: () => Table,
|
|
60
64
|
Tabs: () => Tabs,
|
|
61
65
|
Tag: () => Tag,
|
|
66
|
+
Testimonial: () => Testimonial,
|
|
62
67
|
TextField: () => TextField,
|
|
63
68
|
TextScroll: () => TextScroll,
|
|
64
69
|
dayNightTransitionV2Preset: () => dayNightTransitionV2Preset
|
|
@@ -1094,18 +1099,25 @@ var Tabs = ({
|
|
|
1094
1099
|
};
|
|
1095
1100
|
|
|
1096
1101
|
// templates/FaqAccordion/FaqAccordion.tsx
|
|
1102
|
+
var import_react7 = require("react");
|
|
1097
1103
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1098
1104
|
var FaqAccordion = ({
|
|
1099
1105
|
title,
|
|
1100
1106
|
items,
|
|
1101
1107
|
colorScheme = "white"
|
|
1102
1108
|
}) => {
|
|
1109
|
+
const [openIndex, setOpenIndex] = (0, import_react7.useState)(null);
|
|
1110
|
+
const handleToggle = (index) => (isOpen) => {
|
|
1111
|
+
setOpenIndex(isOpen ? index : null);
|
|
1112
|
+
};
|
|
1103
1113
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("section", { className: ["faq-accordion", `faq-accordion--${colorScheme}`].join(" "), children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "faq-accordion__container", children: [
|
|
1104
1114
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "faq-accordion__header", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("h2", { className: "faq-accordion__title", children: title }) }),
|
|
1105
1115
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "faq-accordion__list", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1106
1116
|
Accordion,
|
|
1107
1117
|
{
|
|
1108
1118
|
title: item.question,
|
|
1119
|
+
open: openIndex === index,
|
|
1120
|
+
onToggle: handleToggle(index),
|
|
1109
1121
|
showTopDivider: index === 0,
|
|
1110
1122
|
showBottomDivider: true,
|
|
1111
1123
|
children: item.answer
|
|
@@ -1371,7 +1383,7 @@ var FeatureBullets = ({
|
|
|
1371
1383
|
};
|
|
1372
1384
|
|
|
1373
1385
|
// components/Footer/Footer.tsx
|
|
1374
|
-
var
|
|
1386
|
+
var import_react8 = require("react");
|
|
1375
1387
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1376
1388
|
var ExternalLinkIcon = () => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1377
1389
|
"svg",
|
|
@@ -1486,7 +1498,7 @@ var Footer = ({
|
|
|
1486
1498
|
...props
|
|
1487
1499
|
}) => {
|
|
1488
1500
|
const allSections = navColumns.flat();
|
|
1489
|
-
const [openSections, setOpenSections] = (0,
|
|
1501
|
+
const [openSections, setOpenSections] = (0, import_react8.useState)(/* @__PURE__ */ new Set());
|
|
1490
1502
|
const toggleSection = (index) => {
|
|
1491
1503
|
setOpenSections((prev) => {
|
|
1492
1504
|
const next = new Set(prev);
|
|
@@ -1851,7 +1863,7 @@ var Hero = ({
|
|
|
1851
1863
|
};
|
|
1852
1864
|
|
|
1853
1865
|
// templates/Header/Header.tsx
|
|
1854
|
-
var
|
|
1866
|
+
var import_react9 = require("react");
|
|
1855
1867
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1856
1868
|
var ButtonBlock2 = ({
|
|
1857
1869
|
primaryButton,
|
|
@@ -1908,10 +1920,10 @@ var Header = ({
|
|
|
1908
1920
|
...props
|
|
1909
1921
|
}) => {
|
|
1910
1922
|
const variantClass = `header--${variant}`;
|
|
1911
|
-
const sectionRef = (0,
|
|
1912
|
-
const leftRef = (0,
|
|
1913
|
-
const rightRef = (0,
|
|
1914
|
-
(0,
|
|
1923
|
+
const sectionRef = (0, import_react9.useRef)(null);
|
|
1924
|
+
const leftRef = (0, import_react9.useRef)(null);
|
|
1925
|
+
const rightRef = (0, import_react9.useRef)(null);
|
|
1926
|
+
(0, import_react9.useEffect)(() => {
|
|
1915
1927
|
if (variant !== "visuals") return;
|
|
1916
1928
|
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
|
1917
1929
|
const section = sectionRef.current;
|
|
@@ -1972,36 +1984,182 @@ var Header = ({
|
|
|
1972
1984
|
);
|
|
1973
1985
|
};
|
|
1974
1986
|
|
|
1975
|
-
// templates/Stats/
|
|
1976
|
-
var
|
|
1987
|
+
// templates/Stats/StatsV2.tsx
|
|
1988
|
+
var import_react10 = require("react");
|
|
1977
1989
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1978
|
-
var
|
|
1979
|
-
var
|
|
1980
|
-
var
|
|
1981
|
-
var
|
|
1982
|
-
var
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1990
|
+
var HOLD_MS = 1e3;
|
|
1991
|
+
var STEP_DURATION_MS = 700;
|
|
1992
|
+
var INTERVAL_MS = HOLD_MS + STEP_DURATION_MS;
|
|
1993
|
+
var EASING = "cubic-bezier(0.33, 1, 0.68, 1)";
|
|
1994
|
+
var TRANSITION = `transform ${STEP_DURATION_MS}ms ${EASING}, opacity ${STEP_DURATION_MS}ms ${EASING}`;
|
|
1995
|
+
var PARALLAX_START = 0.1;
|
|
1996
|
+
var PARALLAX_END = 0.45;
|
|
1997
|
+
var PARALLAX_MAX_PERCENT = 26.3;
|
|
1998
|
+
var PARALLAX_BREAKPOINT = 992;
|
|
1999
|
+
var SLOT_OFFSET = "var(--stats-v2-slot-offset, 110%)";
|
|
2000
|
+
var CENTER = "translate(-50%, -50%)";
|
|
2001
|
+
function getSlotStyle(slot, transition) {
|
|
2002
|
+
switch (slot) {
|
|
2003
|
+
case "active":
|
|
2004
|
+
return {
|
|
2005
|
+
transform: `${CENTER} translateY(0%) scale(1)`,
|
|
2006
|
+
opacity: 1,
|
|
2007
|
+
zIndex: 2,
|
|
2008
|
+
transition
|
|
2009
|
+
};
|
|
2010
|
+
case "above":
|
|
2011
|
+
return {
|
|
2012
|
+
transform: `${CENTER} translateY(calc(${SLOT_OFFSET} * -1)) scale(0.65)`,
|
|
2013
|
+
opacity: 1,
|
|
2014
|
+
zIndex: 1,
|
|
2015
|
+
transition
|
|
2016
|
+
};
|
|
2017
|
+
case "below":
|
|
2018
|
+
return {
|
|
2019
|
+
transform: `${CENTER} translateY(${SLOT_OFFSET}) scale(0.65)`,
|
|
2020
|
+
opacity: 1,
|
|
2021
|
+
zIndex: 1,
|
|
2022
|
+
transition
|
|
2023
|
+
};
|
|
2024
|
+
case "exiting":
|
|
2025
|
+
return {
|
|
2026
|
+
transform: `${CENTER} translateY(calc(${SLOT_OFFSET} * -1)) scale(0.4)`,
|
|
2027
|
+
opacity: 0,
|
|
2028
|
+
zIndex: 0,
|
|
2029
|
+
transition
|
|
2030
|
+
};
|
|
2031
|
+
case "queued":
|
|
2032
|
+
default:
|
|
2033
|
+
return {
|
|
2034
|
+
transform: `${CENTER} translateY(${SLOT_OFFSET}) scale(0.4)`,
|
|
2035
|
+
opacity: 0,
|
|
2036
|
+
zIndex: 0,
|
|
2037
|
+
transition
|
|
2038
|
+
};
|
|
1996
2039
|
}
|
|
1997
|
-
return {
|
|
1998
|
-
transform: rel < 0 ? "translateY(calc(-50% - 110%)) scale(0.4)" : "translateY(calc(-50% + 110%)) scale(0.4)",
|
|
1999
|
-
opacity: 0,
|
|
2000
|
-
zIndex: 0,
|
|
2001
|
-
transition: TRANSITION
|
|
2002
|
-
};
|
|
2003
2040
|
}
|
|
2004
|
-
|
|
2041
|
+
function slotForIndex(index, step) {
|
|
2042
|
+
const rel = index - step - 1;
|
|
2043
|
+
if (rel === 0) return "active";
|
|
2044
|
+
if (rel === -1) return "above";
|
|
2045
|
+
if (rel === 1) return "below";
|
|
2046
|
+
if (rel < -1) return "exiting";
|
|
2047
|
+
return "queued";
|
|
2048
|
+
}
|
|
2049
|
+
var Laurel = ({ flip = false }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2050
|
+
"svg",
|
|
2051
|
+
{
|
|
2052
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2053
|
+
width: "32",
|
|
2054
|
+
height: "84",
|
|
2055
|
+
viewBox: "0 0 32 84",
|
|
2056
|
+
fill: "none",
|
|
2057
|
+
"aria-hidden": "true",
|
|
2058
|
+
focusable: "false",
|
|
2059
|
+
className: [
|
|
2060
|
+
"stats-v2__laurel",
|
|
2061
|
+
flip ? "stats-v2__laurel--flip" : ""
|
|
2062
|
+
].filter(Boolean).join(" "),
|
|
2063
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("g", { opacity: "0.2", children: [
|
|
2064
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2065
|
+
"path",
|
|
2066
|
+
{
|
|
2067
|
+
d: "M20.8655 76.0151C21.3631 78.5487 22.4577 80.4673 23.4245 81.7447C23.7945 82.2337 24.145 82.6275 24.4343 82.9245C24.5003 81.0424 24.5392 77.0209 23.854 73.543C23.3836 71.2282 22.6189 69.4263 21.9723 68.1997C21.7486 67.7754 21.539 67.42 21.3608 67.1361C21.2158 67.6487 21.042 68.3446 20.8935 69.1718C20.5634 71.0111 20.3623 73.4782 20.8655 76.0151Z",
|
|
2068
|
+
fill: "currentColor",
|
|
2069
|
+
stroke: "currentColor"
|
|
2070
|
+
}
|
|
2071
|
+
),
|
|
2072
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2073
|
+
"path",
|
|
2074
|
+
{
|
|
2075
|
+
d: "M9.19518 69.4464C8.5612 69.2311 8.01354 69.0792 7.6041 68.9776C7.77674 69.5261 8.03563 70.2542 8.40971 71.0711C9.16156 72.713 10.3603 74.6729 12.1472 76.0342C13.9141 77.3864 15.8077 77.7752 17.2669 77.8239C17.9963 77.8483 18.6126 77.7873 19.0419 77.7209C18.3715 76.5307 16.6347 73.8279 14.0892 71.9349C12.4167 70.7081 10.6015 69.924 9.19518 69.4464Z",
|
|
2076
|
+
fill: "currentColor",
|
|
2077
|
+
stroke: "currentColor"
|
|
2078
|
+
}
|
|
2079
|
+
),
|
|
2080
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2081
|
+
"path",
|
|
2082
|
+
{
|
|
2083
|
+
d: "M14.1789 62.4853C14.1095 65.0056 14.7018 67.1343 15.3106 68.6265C15.5268 69.1563 15.7445 69.6045 15.9342 69.9597C16.0737 69.4242 16.2473 68.7196 16.4239 67.9038C16.8294 66.0308 17.2467 63.5892 17.309 61.2688C17.3584 58.9612 17.0322 57.019 16.6942 55.65C16.5809 55.1908 16.4663 54.7965 16.3643 54.4749C16.1414 54.8952 15.8702 55.4487 15.5956 56.1107C14.9268 57.7233 14.2444 59.9642 14.1789 62.4853Z",
|
|
2084
|
+
fill: "currentColor",
|
|
2085
|
+
stroke: "currentColor"
|
|
2086
|
+
}
|
|
2087
|
+
),
|
|
2088
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2089
|
+
"path",
|
|
2090
|
+
{
|
|
2091
|
+
d: "M6.16644 56.5363L5.92729 56.2113C4.18123 53.9739 2.10237 52.4221 0.99942 51.685C1.0448 52.2219 1.13195 52.9558 1.29599 53.7969C1.6458 55.5904 2.33816 57.834 3.68889 59.699C5.02796 61.5534 6.66938 62.5331 7.97363 63.0496C8.56984 63.2857 9.09434 63.4244 9.48448 63.5049C9.08235 62.1271 8.06278 59.1136 6.16644 56.5363Z",
|
|
2092
|
+
fill: "currentColor",
|
|
2093
|
+
stroke: "currentColor"
|
|
2094
|
+
}
|
|
2095
|
+
),
|
|
2096
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2097
|
+
"path",
|
|
2098
|
+
{
|
|
2099
|
+
d: "M12.9202 41.9556C12.9103 41.468 12.8857 41.0438 12.8578 40.6964C12.5852 41.0139 12.2554 41.4254 11.9043 41.9234C10.9787 43.2365 9.91222 45.1415 9.34811 47.5086L9.21888 48.0509C8.78948 50.2094 8.89878 52.2002 9.13088 53.6853C9.21855 54.2463 9.32345 54.7333 9.42253 55.1275C10.2101 53.5777 11.6117 50.5783 12.3444 47.5177C12.8519 45.3454 12.9491 43.3817 12.9202 41.9556Z",
|
|
2100
|
+
fill: "currentColor",
|
|
2101
|
+
stroke: "currentColor"
|
|
2102
|
+
}
|
|
2103
|
+
),
|
|
2104
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2105
|
+
"path",
|
|
2106
|
+
{
|
|
2107
|
+
d: "M4.26838 40.1575C3.16507 37.3338 1.55966 35.0449 0.658674 33.8839C0.595099 34.3962 0.53299 35.0674 0.509766 35.8425C0.454879 37.6743 0.618233 40.0556 1.46849 42.2871C2.30759 44.5064 3.60611 45.9871 4.68907 46.9107C5.12959 47.2864 5.53393 47.5694 5.85602 47.7717C5.82536 47.3041 5.77132 46.6715 5.67501 45.9295C5.46619 44.3205 5.06044 42.211 4.27156 40.1569L4.26838 40.1575Z",
|
|
2108
|
+
fill: "currentColor",
|
|
2109
|
+
stroke: "currentColor"
|
|
2110
|
+
}
|
|
2111
|
+
),
|
|
2112
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2113
|
+
"path",
|
|
2114
|
+
{
|
|
2115
|
+
d: "M12.6632 27.4606C11.6314 28.3597 10.3804 29.7129 9.40352 31.5834L9.20135 32.004C8.19489 34.0975 7.83678 36.2499 7.73379 37.8807C7.69736 38.4576 7.693 38.9667 7.70264 39.3814C7.98105 39.0479 8.31846 38.6306 8.68777 38.1462C9.68653 36.8365 10.9078 35.0512 11.829 33.1204C12.7356 31.1936 13.238 29.3215 13.5154 27.9233C13.6157 27.4178 13.6864 26.9753 13.7361 26.6158C13.4324 26.8302 13.0648 27.1106 12.6632 27.4606Z",
|
|
2116
|
+
fill: "currentColor",
|
|
2117
|
+
stroke: "currentColor"
|
|
2118
|
+
}
|
|
2119
|
+
),
|
|
2120
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2121
|
+
"path",
|
|
2122
|
+
{
|
|
2123
|
+
d: "M7.15889 23.0454L7.23043 22.5253C7.54518 19.6881 7.36017 17.0948 7.19664 15.6517C6.9244 16.0575 6.59747 16.5777 6.25738 17.1905C5.37216 18.7855 4.41002 20.986 4.07631 23.4177C3.74032 25.8399 4.108 27.8499 4.55657 29.25C4.7215 29.7648 4.89717 30.1965 5.05235 30.5349C5.64762 29.1157 6.71893 26.2445 7.15889 23.0454Z",
|
|
2124
|
+
fill: "currentColor",
|
|
2125
|
+
stroke: "currentColor"
|
|
2126
|
+
}
|
|
2127
|
+
),
|
|
2128
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2129
|
+
"path",
|
|
2130
|
+
{
|
|
2131
|
+
d: "M20.7056 14.8951C19.4372 15.269 17.7724 15.9875 16.1554 17.3693L16.021 17.4932C14.3576 18.9542 13.2217 20.7665 12.5041 22.2202C12.2403 22.7546 12.0346 23.2374 11.8812 23.6318C12.2297 23.4596 12.6507 23.2423 13.1195 22.9822C14.4495 22.2442 16.1506 21.1686 17.6705 19.808C19.177 18.446 20.3493 16.9414 21.1512 15.7693C21.4549 15.3255 21.7047 14.9307 21.8987 14.6109C21.5673 14.6707 21.1626 14.7604 20.7056 14.8951Z",
|
|
2132
|
+
fill: "currentColor",
|
|
2133
|
+
stroke: "currentColor"
|
|
2134
|
+
}
|
|
2135
|
+
),
|
|
2136
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2137
|
+
"path",
|
|
2138
|
+
{
|
|
2139
|
+
d: "M15.246 9.89451L15.3989 9.48769C16.3817 6.71545 16.8681 4.08928 17.0948 2.56556C16.7641 2.88544 16.3703 3.28963 15.9481 3.76978C14.7583 5.12276 13.3571 7.06214 12.4902 9.40367C11.6163 11.7394 11.483 13.8564 11.5665 15.3854C11.595 15.9081 11.6489 16.3613 11.7069 16.7298C11.9415 16.3768 12.2271 15.9318 12.5414 15.4103C13.3841 14.0121 14.4266 12.0747 15.246 9.89451Z",
|
|
2140
|
+
fill: "currentColor",
|
|
2141
|
+
stroke: "currentColor"
|
|
2142
|
+
}
|
|
2143
|
+
),
|
|
2144
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2145
|
+
"path",
|
|
2146
|
+
{
|
|
2147
|
+
d: "M24.236 2.86551C22.4046 4.24716 21.0854 6.09763 20.225 7.6144C19.8673 8.24502 19.5916 8.81333 19.3933 9.25894C19.765 9.11933 20.2233 8.93634 20.7396 8.70812C22.1292 8.09394 23.9267 7.15785 25.5896 5.86671C27.2408 4.56435 28.6049 3.04428 29.5633 1.84034C29.9762 1.32163 30.3123 0.863542 30.5622 0.509562C30.206 0.526204 29.7564 0.567871 29.2396 0.659382C27.8788 0.900297 26.0564 1.48555 24.236 2.86551Z",
|
|
2148
|
+
fill: "currentColor",
|
|
2149
|
+
stroke: "currentColor"
|
|
2150
|
+
}
|
|
2151
|
+
)
|
|
2152
|
+
] })
|
|
2153
|
+
}
|
|
2154
|
+
);
|
|
2155
|
+
var AwardBadge = ({ heading, subheading }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "stats-v2__award", children: [
|
|
2156
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Laurel, {}),
|
|
2157
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "stats-v2__award-text", children: [
|
|
2158
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "stats-v2__award-heading", children: heading }),
|
|
2159
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "stats-v2__award-subheading", children: subheading })
|
|
2160
|
+
] }),
|
|
2161
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Laurel, { flip: true })
|
|
2162
|
+
] });
|
|
2005
2163
|
var Stats = ({
|
|
2006
2164
|
title,
|
|
2007
2165
|
description,
|
|
@@ -2011,105 +2169,283 @@ var Stats = ({
|
|
|
2011
2169
|
className,
|
|
2012
2170
|
...props
|
|
2013
2171
|
}) => {
|
|
2014
|
-
const
|
|
2015
|
-
const
|
|
2016
|
-
const
|
|
2017
|
-
const
|
|
2018
|
-
const
|
|
2019
|
-
const rafRef = (0, import_react9.useRef)(null);
|
|
2172
|
+
const sectionRef = (0, import_react10.useRef)(null);
|
|
2173
|
+
const leftColRef = (0, import_react10.useRef)(null);
|
|
2174
|
+
const rightColRef = (0, import_react10.useRef)(null);
|
|
2175
|
+
const rafRef = (0, import_react10.useRef)(null);
|
|
2176
|
+
const N = stats.length;
|
|
2020
2177
|
const hasAwards = leftAwards.length > 0 || rightAwards.length > 0;
|
|
2021
2178
|
const allAwards = [...leftAwards, ...rightAwards];
|
|
2022
|
-
const
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2179
|
+
const strip = (0, import_react10.useMemo)(() => {
|
|
2180
|
+
if (N === 0) return [];
|
|
2181
|
+
const target = Math.max(2 * N, N + 3);
|
|
2182
|
+
return Array.from({ length: target }, (_, i) => stats[i % N]);
|
|
2183
|
+
}, [stats, N]);
|
|
2184
|
+
const [step, setStep] = (0, import_react10.useState)(0);
|
|
2185
|
+
const [phase, setPhase] = (0, import_react10.useState)("idle");
|
|
2186
|
+
const scheduleRef = (0, import_react10.useRef)(null);
|
|
2187
|
+
(0, import_react10.useEffect)(() => {
|
|
2188
|
+
if (N <= 1) return;
|
|
2189
|
+
let timerId = null;
|
|
2190
|
+
let cancelled = false;
|
|
2191
|
+
const advance = () => {
|
|
2192
|
+
timerId = null;
|
|
2193
|
+
if (cancelled) return;
|
|
2194
|
+
setStep((prev) => {
|
|
2195
|
+
if (prev >= N) {
|
|
2196
|
+
setPhase("snap-disable");
|
|
2197
|
+
return prev;
|
|
2198
|
+
}
|
|
2199
|
+
const next = prev + 1;
|
|
2200
|
+
const delayMs = next >= N ? STEP_DURATION_MS : INTERVAL_MS;
|
|
2201
|
+
schedule(delayMs);
|
|
2202
|
+
return next;
|
|
2203
|
+
});
|
|
2204
|
+
};
|
|
2205
|
+
const schedule = (delayMs) => {
|
|
2206
|
+
if (cancelled) return;
|
|
2207
|
+
if (timerId !== null) window.clearTimeout(timerId);
|
|
2208
|
+
timerId = window.setTimeout(advance, delayMs);
|
|
2209
|
+
};
|
|
2210
|
+
scheduleRef.current = schedule;
|
|
2211
|
+
schedule(HOLD_MS);
|
|
2028
2212
|
return () => {
|
|
2029
|
-
|
|
2213
|
+
cancelled = true;
|
|
2214
|
+
scheduleRef.current = null;
|
|
2215
|
+
if (timerId !== null) window.clearTimeout(timerId);
|
|
2030
2216
|
};
|
|
2031
|
-
}, [
|
|
2032
|
-
(0,
|
|
2033
|
-
|
|
2217
|
+
}, [N]);
|
|
2218
|
+
(0, import_react10.useEffect)(() => {
|
|
2219
|
+
if (phase === "snap-disable") {
|
|
2220
|
+
const raf = requestAnimationFrame(() => {
|
|
2221
|
+
setStep(0);
|
|
2222
|
+
setPhase("snap-jump");
|
|
2223
|
+
});
|
|
2224
|
+
rafRef.current = raf;
|
|
2225
|
+
return () => cancelAnimationFrame(raf);
|
|
2226
|
+
}
|
|
2227
|
+
if (phase === "snap-jump") {
|
|
2228
|
+
const raf = requestAnimationFrame(() => {
|
|
2229
|
+
setPhase("idle");
|
|
2230
|
+
scheduleRef.current?.(HOLD_MS);
|
|
2231
|
+
});
|
|
2232
|
+
rafRef.current = raf;
|
|
2233
|
+
return () => cancelAnimationFrame(raf);
|
|
2234
|
+
}
|
|
2235
|
+
}, [phase]);
|
|
2236
|
+
(0, import_react10.useEffect)(() => {
|
|
2237
|
+
setStep(0);
|
|
2238
|
+
setPhase("idle");
|
|
2239
|
+
}, [N]);
|
|
2240
|
+
(0, import_react10.useEffect)(() => {
|
|
2241
|
+
const apply = () => {
|
|
2034
2242
|
const section = sectionRef.current;
|
|
2035
|
-
if (!section || window.innerWidth <
|
|
2243
|
+
if (!section || window.innerWidth < PARALLAX_BREAKPOINT) {
|
|
2036
2244
|
if (leftColRef.current) leftColRef.current.style.transform = "";
|
|
2037
|
-
if (rightColRef.current)
|
|
2245
|
+
if (rightColRef.current)
|
|
2246
|
+
rightColRef.current.style.transform = "";
|
|
2038
2247
|
return;
|
|
2039
2248
|
}
|
|
2040
2249
|
const rect = section.getBoundingClientRect();
|
|
2041
|
-
const
|
|
2042
|
-
const
|
|
2043
|
-
const
|
|
2044
|
-
const
|
|
2045
|
-
|
|
2046
|
-
|
|
2250
|
+
const viewport = window.innerHeight;
|
|
2251
|
+
const totalTravel = rect.height + viewport;
|
|
2252
|
+
const traveled = viewport - rect.top;
|
|
2253
|
+
const rawProgress = traveled / totalTravel;
|
|
2254
|
+
const progress = Math.max(0, Math.min(1, rawProgress));
|
|
2255
|
+
const normalised = Math.max(
|
|
2256
|
+
0,
|
|
2257
|
+
Math.min(
|
|
2258
|
+
1,
|
|
2259
|
+
(progress - PARALLAX_START) / (PARALLAX_END - PARALLAX_START)
|
|
2260
|
+
)
|
|
2261
|
+
);
|
|
2262
|
+
const remaining = 1 - normalised;
|
|
2263
|
+
const leftOffset = -PARALLAX_MAX_PERCENT * remaining;
|
|
2264
|
+
const rightOffset = PARALLAX_MAX_PERCENT * remaining;
|
|
2265
|
+
if (leftColRef.current) {
|
|
2266
|
+
leftColRef.current.style.transform = `translateY(${leftOffset}%)`;
|
|
2267
|
+
}
|
|
2268
|
+
if (rightColRef.current) {
|
|
2269
|
+
rightColRef.current.style.transform = `translateY(${rightOffset}%)`;
|
|
2270
|
+
}
|
|
2047
2271
|
};
|
|
2048
2272
|
const onScroll = () => {
|
|
2049
|
-
|
|
2050
|
-
rafRef.current = requestAnimationFrame(applyParallax);
|
|
2273
|
+
requestAnimationFrame(apply);
|
|
2051
2274
|
};
|
|
2052
|
-
|
|
2275
|
+
apply();
|
|
2053
2276
|
window.addEventListener("scroll", onScroll, { passive: true });
|
|
2054
2277
|
window.addEventListener("resize", onScroll, { passive: true });
|
|
2055
2278
|
return () => {
|
|
2056
2279
|
window.removeEventListener("scroll", onScroll);
|
|
2057
2280
|
window.removeEventListener("resize", onScroll);
|
|
2058
|
-
if (rafRef.current) cancelAnimationFrame(rafRef.current);
|
|
2059
2281
|
};
|
|
2060
2282
|
}, []);
|
|
2283
|
+
const transition = phase === "idle" ? TRANSITION : "none";
|
|
2061
2284
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2062
2285
|
"section",
|
|
2063
2286
|
{
|
|
2064
2287
|
ref: sectionRef,
|
|
2065
|
-
className: ["stats", className].filter(Boolean).join(" "),
|
|
2288
|
+
className: ["stats-v2", className].filter(Boolean).join(" "),
|
|
2066
2289
|
...props,
|
|
2067
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "
|
|
2068
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "
|
|
2069
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("h2", { className: "
|
|
2070
|
-
description && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "
|
|
2290
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "stats-v2__inner", children: [
|
|
2291
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "stats-v2__header", children: [
|
|
2292
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("h2", { className: "stats-v2__title", children: title }),
|
|
2293
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "stats-v2__description", children: description })
|
|
2071
2294
|
] }),
|
|
2072
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "
|
|
2073
|
-
leftAwards.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2295
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "stats-v2__content", children: [
|
|
2296
|
+
leftAwards.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2297
|
+
"div",
|
|
2298
|
+
{
|
|
2299
|
+
ref: leftColRef,
|
|
2300
|
+
className: "stats-v2__awards-col stats-v2__awards-col--left",
|
|
2301
|
+
children: leftAwards.map((award, i) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AwardBadge, { ...award }, `l-${i}`))
|
|
2302
|
+
}
|
|
2303
|
+
),
|
|
2304
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "stats-v2__card", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "stats-v2__card-track", children: [
|
|
2305
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2306
|
+
"div",
|
|
2307
|
+
{
|
|
2308
|
+
className: "stats-v2__fade stats-v2__fade--top",
|
|
2309
|
+
"aria-hidden": "true"
|
|
2310
|
+
}
|
|
2311
|
+
),
|
|
2312
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2313
|
+
"div",
|
|
2314
|
+
{
|
|
2315
|
+
className: "stats-v2__fade stats-v2__fade--bottom",
|
|
2316
|
+
"aria-hidden": "true"
|
|
2317
|
+
}
|
|
2318
|
+
),
|
|
2319
|
+
strip.map((stat, i) => {
|
|
2320
|
+
const slot = slotForIndex(i, step);
|
|
2321
|
+
const active = slot === "active";
|
|
2080
2322
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
2081
2323
|
"div",
|
|
2082
2324
|
{
|
|
2083
2325
|
className: [
|
|
2084
|
-
"
|
|
2085
|
-
active ? "
|
|
2326
|
+
"stats-v2__stat",
|
|
2327
|
+
active ? "stats-v2__stat--active" : "stats-v2__stat--inactive"
|
|
2086
2328
|
].join(" "),
|
|
2087
|
-
style:
|
|
2329
|
+
style: getSlotStyle(slot, transition),
|
|
2088
2330
|
"aria-hidden": !active,
|
|
2089
2331
|
children: [
|
|
2090
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "
|
|
2091
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "
|
|
2332
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "stats-v2__stat-value", children: stat.value }),
|
|
2333
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "stats-v2__stat-label", children: stat.label })
|
|
2092
2334
|
]
|
|
2093
2335
|
},
|
|
2094
2336
|
i
|
|
2095
2337
|
);
|
|
2096
2338
|
})
|
|
2097
2339
|
] }) }),
|
|
2098
|
-
rightAwards.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2099
|
-
|
|
2340
|
+
rightAwards.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2341
|
+
"div",
|
|
2342
|
+
{
|
|
2343
|
+
ref: rightColRef,
|
|
2344
|
+
className: "stats-v2__awards-col stats-v2__awards-col--right",
|
|
2345
|
+
children: rightAwards.map((award, i) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AwardBadge, { ...award }, `r-${i}`))
|
|
2346
|
+
}
|
|
2347
|
+
),
|
|
2348
|
+
hasAwards && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "stats-v2__awards-mobile", children: allAwards.map((award, i) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AwardBadge, { ...award }, `m-${i}`)) })
|
|
2100
2349
|
] })
|
|
2101
2350
|
] })
|
|
2102
2351
|
}
|
|
2103
2352
|
);
|
|
2104
2353
|
};
|
|
2105
2354
|
|
|
2106
|
-
// templates/
|
|
2355
|
+
// templates/Stats/StatsSimple.tsx
|
|
2107
2356
|
var import_react11 = require("react");
|
|
2357
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2358
|
+
function parseValue(raw) {
|
|
2359
|
+
const match = raw.match(/^([^0-9]*)([0-9]+(?:\.[0-9]+)?)(.*)$/);
|
|
2360
|
+
if (!match) return { prefix: "", number: 0, suffix: raw };
|
|
2361
|
+
return {
|
|
2362
|
+
prefix: match[1],
|
|
2363
|
+
number: parseFloat(match[2]),
|
|
2364
|
+
suffix: match[3]
|
|
2365
|
+
};
|
|
2366
|
+
}
|
|
2367
|
+
var DURATION_MS = 1800;
|
|
2368
|
+
var EASING2 = (t) => 1 - Math.pow(1 - t, 3);
|
|
2369
|
+
function useCountUp(target, active) {
|
|
2370
|
+
const [display, setDisplay] = (0, import_react11.useState)(0);
|
|
2371
|
+
const rafRef = (0, import_react11.useRef)(null);
|
|
2372
|
+
const startRef = (0, import_react11.useRef)(null);
|
|
2373
|
+
(0, import_react11.useEffect)(() => {
|
|
2374
|
+
if (!active) return;
|
|
2375
|
+
startRef.current = null;
|
|
2376
|
+
const tick = (now) => {
|
|
2377
|
+
if (startRef.current === null) startRef.current = now;
|
|
2378
|
+
const elapsed = now - startRef.current;
|
|
2379
|
+
const progress = Math.min(elapsed / DURATION_MS, 1);
|
|
2380
|
+
const eased = EASING2(progress);
|
|
2381
|
+
setDisplay(Math.round(eased * target));
|
|
2382
|
+
if (progress < 1) {
|
|
2383
|
+
rafRef.current = requestAnimationFrame(tick);
|
|
2384
|
+
}
|
|
2385
|
+
};
|
|
2386
|
+
rafRef.current = requestAnimationFrame(tick);
|
|
2387
|
+
return () => {
|
|
2388
|
+
if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);
|
|
2389
|
+
};
|
|
2390
|
+
}, [target, active]);
|
|
2391
|
+
return display;
|
|
2392
|
+
}
|
|
2393
|
+
var AnimatedValue = ({
|
|
2394
|
+
raw,
|
|
2395
|
+
active
|
|
2396
|
+
}) => {
|
|
2397
|
+
const { prefix, number, suffix } = parseValue(raw);
|
|
2398
|
+
const count = useCountUp(number, active);
|
|
2399
|
+
const formatted = number >= 1e3 && !/[KMBkmb]/.test(suffix) ? count.toLocaleString() : String(count);
|
|
2400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: "stats-simple__value", children: [
|
|
2401
|
+
prefix,
|
|
2402
|
+
formatted,
|
|
2403
|
+
suffix
|
|
2404
|
+
] });
|
|
2405
|
+
};
|
|
2406
|
+
var StatsSimple = ({
|
|
2407
|
+
stats,
|
|
2408
|
+
className,
|
|
2409
|
+
...props
|
|
2410
|
+
}) => {
|
|
2411
|
+
const sectionRef = (0, import_react11.useRef)(null);
|
|
2412
|
+
const [animated, setAnimated] = (0, import_react11.useState)(false);
|
|
2413
|
+
(0, import_react11.useEffect)(() => {
|
|
2414
|
+
const el = sectionRef.current;
|
|
2415
|
+
if (!el) return;
|
|
2416
|
+
const observer = new IntersectionObserver(
|
|
2417
|
+
([entry]) => {
|
|
2418
|
+
if (entry.isIntersecting) {
|
|
2419
|
+
setAnimated(true);
|
|
2420
|
+
observer.disconnect();
|
|
2421
|
+
}
|
|
2422
|
+
},
|
|
2423
|
+
{ threshold: 0.25 }
|
|
2424
|
+
);
|
|
2425
|
+
observer.observe(el);
|
|
2426
|
+
return () => observer.disconnect();
|
|
2427
|
+
}, []);
|
|
2428
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2429
|
+
"section",
|
|
2430
|
+
{
|
|
2431
|
+
ref: sectionRef,
|
|
2432
|
+
className: ["stats-simple", className].filter(Boolean).join(" "),
|
|
2433
|
+
...props,
|
|
2434
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "stats-simple__inner", children: stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "stats-simple__item", children: [
|
|
2435
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(AnimatedValue, { raw: stat.value, active: animated }),
|
|
2436
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "stats-simple__label", children: stat.label })
|
|
2437
|
+
] }, i)) })
|
|
2438
|
+
}
|
|
2439
|
+
);
|
|
2440
|
+
};
|
|
2441
|
+
|
|
2442
|
+
// templates/FeatureScroll/FeatureScroll.tsx
|
|
2443
|
+
var import_react13 = require("react");
|
|
2108
2444
|
|
|
2109
2445
|
// components/DotLottieInView/DotLottieInView.tsx
|
|
2110
|
-
var
|
|
2446
|
+
var import_react12 = require("react");
|
|
2111
2447
|
var import_dotlottie_react = require("@lottiefiles/dotlottie-react");
|
|
2112
|
-
var
|
|
2448
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2113
2449
|
function DotLottieInView({
|
|
2114
2450
|
enabled = true,
|
|
2115
2451
|
rootMargin = "0px",
|
|
@@ -2118,10 +2454,10 @@ function DotLottieInView({
|
|
|
2118
2454
|
style,
|
|
2119
2455
|
...dotProps
|
|
2120
2456
|
}) {
|
|
2121
|
-
const wrapRef = (0,
|
|
2122
|
-
const [inView, setInView] = (0,
|
|
2123
|
-
const [dotLottie, setDotLottie] = (0,
|
|
2124
|
-
(0,
|
|
2457
|
+
const wrapRef = (0, import_react12.useRef)(null);
|
|
2458
|
+
const [inView, setInView] = (0, import_react12.useState)(false);
|
|
2459
|
+
const [dotLottie, setDotLottie] = (0, import_react12.useState)(null);
|
|
2460
|
+
(0, import_react12.useEffect)(() => {
|
|
2125
2461
|
const el = wrapRef.current;
|
|
2126
2462
|
if (!el) return;
|
|
2127
2463
|
const observer = new IntersectionObserver(
|
|
@@ -2133,7 +2469,7 @@ function DotLottieInView({
|
|
|
2133
2469
|
observer.observe(el);
|
|
2134
2470
|
return () => observer.disconnect();
|
|
2135
2471
|
}, [rootMargin, threshold]);
|
|
2136
|
-
(0,
|
|
2472
|
+
(0, import_react12.useEffect)(() => {
|
|
2137
2473
|
if (!dotLottie) return;
|
|
2138
2474
|
if (!enabled || !inView) {
|
|
2139
2475
|
dotLottie.stop();
|
|
@@ -2142,7 +2478,7 @@ function DotLottieInView({
|
|
|
2142
2478
|
dotLottie.stop();
|
|
2143
2479
|
dotLottie.play();
|
|
2144
2480
|
}, [dotLottie, enabled, inView]);
|
|
2145
|
-
return /* @__PURE__ */ (0,
|
|
2481
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2146
2482
|
"div",
|
|
2147
2483
|
{
|
|
2148
2484
|
ref: wrapRef,
|
|
@@ -2157,7 +2493,7 @@ function DotLottieInView({
|
|
|
2157
2493
|
backgroundColor: "transparent",
|
|
2158
2494
|
...style
|
|
2159
2495
|
},
|
|
2160
|
-
children: /* @__PURE__ */ (0,
|
|
2496
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2161
2497
|
import_dotlottie_react.DotLottieReact,
|
|
2162
2498
|
{
|
|
2163
2499
|
...dotProps,
|
|
@@ -2171,7 +2507,7 @@ function DotLottieInView({
|
|
|
2171
2507
|
}
|
|
2172
2508
|
|
|
2173
2509
|
// templates/FeatureScroll/FeatureScroll.tsx
|
|
2174
|
-
var
|
|
2510
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2175
2511
|
var FEATURE_SCROLL_DATA = [
|
|
2176
2512
|
{
|
|
2177
2513
|
title: "Forex",
|
|
@@ -2216,7 +2552,7 @@ var FEATURE_SCROLL_DATA = [
|
|
|
2216
2552
|
mediaUrl: "https://cdn.prod.website-files.com/66fbaad381fa6866fa4991f3/675a9064f2c16e4e0732abfb_Stock%20Indices.lottie"
|
|
2217
2553
|
}
|
|
2218
2554
|
];
|
|
2219
|
-
var ChevronRight2 = () => /* @__PURE__ */ (0,
|
|
2555
|
+
var ChevronRight2 = () => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2220
2556
|
"svg",
|
|
2221
2557
|
{
|
|
2222
2558
|
className: "fs__item-link-icon",
|
|
@@ -2225,7 +2561,7 @@ var ChevronRight2 = () => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
|
2225
2561
|
viewBox: "0 0 16 16",
|
|
2226
2562
|
fill: "none",
|
|
2227
2563
|
"aria-hidden": "true",
|
|
2228
|
-
children: /* @__PURE__ */ (0,
|
|
2564
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2229
2565
|
"path",
|
|
2230
2566
|
{
|
|
2231
2567
|
d: "M6 3l5 5-5 5",
|
|
@@ -2243,7 +2579,7 @@ function resolveMediaType(item) {
|
|
|
2243
2579
|
}
|
|
2244
2580
|
var MediaRenderer = ({ item, active }) => {
|
|
2245
2581
|
if (resolveMediaType(item) === "lottie") {
|
|
2246
|
-
return /* @__PURE__ */ (0,
|
|
2582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2247
2583
|
DotLottieInView,
|
|
2248
2584
|
{
|
|
2249
2585
|
src: item.mediaUrl,
|
|
@@ -2251,7 +2587,7 @@ var MediaRenderer = ({ item, active }) => {
|
|
|
2251
2587
|
}
|
|
2252
2588
|
);
|
|
2253
2589
|
}
|
|
2254
|
-
return /* @__PURE__ */ (0,
|
|
2590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2255
2591
|
"img",
|
|
2256
2592
|
{
|
|
2257
2593
|
src: item.mediaUrl,
|
|
@@ -2267,10 +2603,10 @@ var FeatureScroll = ({
|
|
|
2267
2603
|
className,
|
|
2268
2604
|
...props
|
|
2269
2605
|
}) => {
|
|
2270
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
2271
|
-
const titleRefs = (0,
|
|
2272
|
-
const mediaColRef = (0,
|
|
2273
|
-
(0,
|
|
2606
|
+
const [activeIndex, setActiveIndex] = (0, import_react13.useState)(0);
|
|
2607
|
+
const titleRefs = (0, import_react13.useRef)([]);
|
|
2608
|
+
const mediaColRef = (0, import_react13.useRef)(null);
|
|
2609
|
+
(0, import_react13.useLayoutEffect)(() => {
|
|
2274
2610
|
if (items.length === 0) return;
|
|
2275
2611
|
const readThresholdPx = () => {
|
|
2276
2612
|
const col = mediaColRef.current;
|
|
@@ -2322,24 +2658,24 @@ var FeatureScroll = ({
|
|
|
2322
2658
|
className
|
|
2323
2659
|
].filter(Boolean).join(" ");
|
|
2324
2660
|
if (items.length === 0) {
|
|
2325
|
-
return /* @__PURE__ */ (0,
|
|
2661
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "fs__inner", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("h2", { className: "fs__header", children: header }) }) });
|
|
2326
2662
|
}
|
|
2327
|
-
return /* @__PURE__ */ (0,
|
|
2328
|
-
/* @__PURE__ */ (0,
|
|
2329
|
-
/* @__PURE__ */ (0,
|
|
2330
|
-
/* @__PURE__ */ (0,
|
|
2663
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("section", { className: rootClass, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "fs__inner", children: [
|
|
2664
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("h2", { className: "fs__header", children: header }),
|
|
2665
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "fs__layout", children: [
|
|
2666
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "fs__media-col", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2331
2667
|
"div",
|
|
2332
2668
|
{
|
|
2333
2669
|
ref: mediaColRef,
|
|
2334
2670
|
className: "fs__media-sticky",
|
|
2335
|
-
children: /* @__PURE__ */ (0,
|
|
2671
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "fs__media-wrap", children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2336
2672
|
"div",
|
|
2337
2673
|
{
|
|
2338
2674
|
className: [
|
|
2339
2675
|
"fs__media-item",
|
|
2340
2676
|
i === activeIndex ? "fs__media-item--active" : ""
|
|
2341
2677
|
].filter(Boolean).join(" "),
|
|
2342
|
-
children: /* @__PURE__ */ (0,
|
|
2678
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2343
2679
|
MediaRenderer,
|
|
2344
2680
|
{
|
|
2345
2681
|
item,
|
|
@@ -2351,12 +2687,12 @@ var FeatureScroll = ({
|
|
|
2351
2687
|
)) })
|
|
2352
2688
|
}
|
|
2353
2689
|
) }),
|
|
2354
|
-
/* @__PURE__ */ (0,
|
|
2690
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "fs__content-col", children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
2355
2691
|
"div",
|
|
2356
2692
|
{
|
|
2357
2693
|
className: "fs__item",
|
|
2358
2694
|
children: [
|
|
2359
|
-
/* @__PURE__ */ (0,
|
|
2695
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2360
2696
|
"h3",
|
|
2361
2697
|
{
|
|
2362
2698
|
ref: (el) => {
|
|
@@ -2366,15 +2702,15 @@ var FeatureScroll = ({
|
|
|
2366
2702
|
children: item.title
|
|
2367
2703
|
}
|
|
2368
2704
|
),
|
|
2369
|
-
/* @__PURE__ */ (0,
|
|
2370
|
-
/* @__PURE__ */ (0,
|
|
2705
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "fs__item-desc", children: item.description }),
|
|
2706
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
2371
2707
|
"a",
|
|
2372
2708
|
{
|
|
2373
2709
|
href: item.link,
|
|
2374
2710
|
className: "fs__item-link",
|
|
2375
2711
|
children: [
|
|
2376
|
-
/* @__PURE__ */ (0,
|
|
2377
|
-
/* @__PURE__ */ (0,
|
|
2712
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: item.linkLabel }),
|
|
2713
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ChevronRight2, {})
|
|
2378
2714
|
]
|
|
2379
2715
|
}
|
|
2380
2716
|
)
|
|
@@ -2383,18 +2719,18 @@ var FeatureScroll = ({
|
|
|
2383
2719
|
i
|
|
2384
2720
|
)) })
|
|
2385
2721
|
] }),
|
|
2386
|
-
/* @__PURE__ */ (0,
|
|
2387
|
-
/* @__PURE__ */ (0,
|
|
2388
|
-
/* @__PURE__ */ (0,
|
|
2389
|
-
/* @__PURE__ */ (0,
|
|
2390
|
-
/* @__PURE__ */ (0,
|
|
2722
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "fs__mobile-list", children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "fs__mobile-item", children: [
|
|
2723
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("h3", { className: "fs__item-title", children: item.title }),
|
|
2724
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "fs__mobile-media", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(MediaRenderer, { item, active: true }) }),
|
|
2725
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "fs__item-desc", children: item.description }),
|
|
2726
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
2391
2727
|
"a",
|
|
2392
2728
|
{
|
|
2393
2729
|
href: item.link,
|
|
2394
2730
|
className: "fs__item-link",
|
|
2395
2731
|
children: [
|
|
2396
|
-
/* @__PURE__ */ (0,
|
|
2397
|
-
/* @__PURE__ */ (0,
|
|
2732
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: item.linkLabel }),
|
|
2733
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ChevronRight2, {})
|
|
2398
2734
|
]
|
|
2399
2735
|
}
|
|
2400
2736
|
)
|
|
@@ -2403,8 +2739,8 @@ var FeatureScroll = ({
|
|
|
2403
2739
|
};
|
|
2404
2740
|
|
|
2405
2741
|
// templates/StickyStackedCards/StickyStackedCards.tsx
|
|
2406
|
-
var
|
|
2407
|
-
var
|
|
2742
|
+
var import_react14 = require("react");
|
|
2743
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2408
2744
|
var PLACEHOLDER_IMAGE = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69b9309379ac08e59ca8210a_1f3f555da9a5cbb13a6fe1bf0d5fe1b6_placeholder-image.webp";
|
|
2409
2745
|
var STEPS_DATA = [
|
|
2410
2746
|
{
|
|
@@ -2433,8 +2769,8 @@ var StickyStackedCards = ({
|
|
|
2433
2769
|
className,
|
|
2434
2770
|
...props
|
|
2435
2771
|
}) => {
|
|
2436
|
-
const cardRefs = (0,
|
|
2437
|
-
(0,
|
|
2772
|
+
const cardRefs = (0, import_react14.useRef)([]);
|
|
2773
|
+
(0, import_react14.useEffect)(() => {
|
|
2438
2774
|
if (typeof window === "undefined") return;
|
|
2439
2775
|
let rafId = 0;
|
|
2440
2776
|
const update = () => {
|
|
@@ -2468,14 +2804,14 @@ var StickyStackedCards = ({
|
|
|
2468
2804
|
cancelAnimationFrame(rafId);
|
|
2469
2805
|
};
|
|
2470
2806
|
}, [items.length]);
|
|
2471
|
-
return /* @__PURE__ */ (0,
|
|
2807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2472
2808
|
"section",
|
|
2473
2809
|
{
|
|
2474
2810
|
className: ["ssc", className].filter(Boolean).join(" "),
|
|
2475
2811
|
...props,
|
|
2476
|
-
children: /* @__PURE__ */ (0,
|
|
2477
|
-
/* @__PURE__ */ (0,
|
|
2478
|
-
/* @__PURE__ */ (0,
|
|
2812
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "ssc__inner", children: [
|
|
2813
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("h2", { className: "ssc__header", children: header }),
|
|
2814
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "ssc__track", children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2479
2815
|
"div",
|
|
2480
2816
|
{
|
|
2481
2817
|
ref: (el) => {
|
|
@@ -2501,11 +2837,11 @@ var StickyStackedCards = ({
|
|
|
2501
2837
|
top: `calc(var(--ssc-sticky-top) + ${i} * var(--ssc-peek-offset))`
|
|
2502
2838
|
},
|
|
2503
2839
|
children: [
|
|
2504
|
-
/* @__PURE__ */ (0,
|
|
2505
|
-
/* @__PURE__ */ (0,
|
|
2506
|
-
/* @__PURE__ */ (0,
|
|
2840
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "ssc__card-content", children: [
|
|
2841
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("h3", { className: "ssc__card-title", children: item.title }),
|
|
2842
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "ssc__card-desc", children: item.description })
|
|
2507
2843
|
] }),
|
|
2508
|
-
/* @__PURE__ */ (0,
|
|
2844
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "ssc__card-image", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2509
2845
|
"img",
|
|
2510
2846
|
{
|
|
2511
2847
|
src: item.imageUrl,
|
|
@@ -2523,9 +2859,9 @@ var StickyStackedCards = ({
|
|
|
2523
2859
|
};
|
|
2524
2860
|
|
|
2525
2861
|
// templates/CTABanner/CTABanner.tsx
|
|
2526
|
-
var
|
|
2862
|
+
var import_react15 = require("react");
|
|
2527
2863
|
var import_framer_motion = require("framer-motion");
|
|
2528
|
-
var
|
|
2864
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2529
2865
|
var ENTRANCE = {
|
|
2530
2866
|
near: 80,
|
|
2531
2867
|
mid: 130,
|
|
@@ -2771,7 +3107,7 @@ var CTABanner = ({
|
|
|
2771
3107
|
...props
|
|
2772
3108
|
}) => {
|
|
2773
3109
|
const resolvedAvatars = avatars ?? (variant === "compact" ? COMPACT_AVATAR_DATA : AVATAR_DATA);
|
|
2774
|
-
const sectionRef = (0,
|
|
3110
|
+
const sectionRef = (0, import_react15.useRef)(null);
|
|
2775
3111
|
const { scrollYProgress } = (0, import_framer_motion.useScroll)({
|
|
2776
3112
|
target: sectionRef,
|
|
2777
3113
|
offset: ["start end", "end start"]
|
|
@@ -2789,14 +3125,14 @@ var CTABanner = ({
|
|
|
2789
3125
|
const compactXValues = useCompactAvatarXValues(smooth);
|
|
2790
3126
|
const avatarYValues = variant === "compact" ? compactYValues : standardYValues;
|
|
2791
3127
|
const avatarXValues = variant === "compact" ? compactXValues : standardXValues;
|
|
2792
|
-
return /* @__PURE__ */ (0,
|
|
3128
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2793
3129
|
"section",
|
|
2794
3130
|
{
|
|
2795
3131
|
ref: sectionRef,
|
|
2796
3132
|
className: ["ctab", variant === "compact" ? "ctab--compact" : "", className].filter(Boolean).join(" "),
|
|
2797
3133
|
...props,
|
|
2798
3134
|
children: [
|
|
2799
|
-
/* @__PURE__ */ (0,
|
|
3135
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2800
3136
|
import_framer_motion.motion.div,
|
|
2801
3137
|
{
|
|
2802
3138
|
className: "ctab__grid",
|
|
@@ -2804,7 +3140,7 @@ var CTABanner = ({
|
|
|
2804
3140
|
"aria-hidden": "true"
|
|
2805
3141
|
}
|
|
2806
3142
|
),
|
|
2807
|
-
/* @__PURE__ */ (0,
|
|
3143
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "ctab__inner", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "ctab__stage", children: [
|
|
2808
3144
|
resolvedAvatars.map((avatar, index) => {
|
|
2809
3145
|
const posStyle = {};
|
|
2810
3146
|
if (avatar.desktopPos.left) posStyle["--av-d-left"] = avatar.desktopPos.left;
|
|
@@ -2813,7 +3149,7 @@ var CTABanner = ({
|
|
|
2813
3149
|
if (avatar.mobilePos?.left) posStyle["--av-m-left"] = avatar.mobilePos.left;
|
|
2814
3150
|
if (avatar.mobilePos?.right) posStyle["--av-m-right"] = avatar.mobilePos.right;
|
|
2815
3151
|
if (avatar.mobilePos?.top) posStyle["--av-m-top"] = avatar.mobilePos.top;
|
|
2816
|
-
return /* @__PURE__ */ (0,
|
|
3152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2817
3153
|
import_framer_motion.motion.div,
|
|
2818
3154
|
{
|
|
2819
3155
|
className: [
|
|
@@ -2827,7 +3163,7 @@ var CTABanner = ({
|
|
|
2827
3163
|
opacity: avatarOpacity,
|
|
2828
3164
|
filter: avatarFilter
|
|
2829
3165
|
},
|
|
2830
|
-
children: /* @__PURE__ */ (0,
|
|
3166
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2831
3167
|
"img",
|
|
2832
3168
|
{
|
|
2833
3169
|
src: avatar.imageUrl,
|
|
@@ -2840,14 +3176,14 @@ var CTABanner = ({
|
|
|
2840
3176
|
avatar.id
|
|
2841
3177
|
);
|
|
2842
3178
|
}),
|
|
2843
|
-
/* @__PURE__ */ (0,
|
|
3179
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2844
3180
|
import_framer_motion.motion.div,
|
|
2845
3181
|
{
|
|
2846
3182
|
className: "ctab__hero",
|
|
2847
3183
|
style: { y: heroY, opacity: heroOpacity },
|
|
2848
3184
|
children: [
|
|
2849
|
-
/* @__PURE__ */ (0,
|
|
2850
|
-
/* @__PURE__ */ (0,
|
|
3185
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("h2", { className: "ctab__headline", children: headline }),
|
|
3186
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("a", { href: ctaHref, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Button, { colorScheme: "black", variant: "primary", label: ctaLabel }) })
|
|
2851
3187
|
]
|
|
2852
3188
|
}
|
|
2853
3189
|
)
|
|
@@ -2858,14 +3194,14 @@ var CTABanner = ({
|
|
|
2858
3194
|
};
|
|
2859
3195
|
|
|
2860
3196
|
// components/Navbar/Navbar.tsx
|
|
2861
|
-
var
|
|
3197
|
+
var import_react16 = require("react");
|
|
2862
3198
|
var import_framer_motion2 = require("framer-motion");
|
|
2863
3199
|
|
|
2864
3200
|
// assets/icon-globe.svg
|
|
2865
3201
|
var icon_globe_default = "./icon-globe-S54WYYEK.svg";
|
|
2866
3202
|
|
|
2867
3203
|
// components/Navbar/Navbar.tsx
|
|
2868
|
-
var
|
|
3204
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2869
3205
|
var EASE_OUT_EXPO = [0.16, 1, 0.3, 1];
|
|
2870
3206
|
var dropdownVariants = {
|
|
2871
3207
|
hidden: { opacity: 0, scale: 0.96, y: -8 },
|
|
@@ -2879,7 +3215,7 @@ var accordionVariants = {
|
|
|
2879
3215
|
hidden: { height: 0, opacity: 0 },
|
|
2880
3216
|
visible: { height: "auto", opacity: 1 }
|
|
2881
3217
|
};
|
|
2882
|
-
var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ (0,
|
|
3218
|
+
var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2883
3219
|
"svg",
|
|
2884
3220
|
{
|
|
2885
3221
|
className,
|
|
@@ -2888,7 +3224,7 @@ var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime
|
|
|
2888
3224
|
viewBox: "0 0 14 14",
|
|
2889
3225
|
fill: "none",
|
|
2890
3226
|
"aria-hidden": "true",
|
|
2891
|
-
children: /* @__PURE__ */ (0,
|
|
3227
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2892
3228
|
"path",
|
|
2893
3229
|
{
|
|
2894
3230
|
d: "M2.625 4.8125L7 9.1875L11.375 4.8125",
|
|
@@ -2900,7 +3236,7 @@ var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime
|
|
|
2900
3236
|
)
|
|
2901
3237
|
}
|
|
2902
3238
|
);
|
|
2903
|
-
var ArrowRightIcon = () => /* @__PURE__ */ (0,
|
|
3239
|
+
var ArrowRightIcon = () => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2904
3240
|
"path",
|
|
2905
3241
|
{
|
|
2906
3242
|
d: "M2.625 7H11.375M11.375 7L7.875 3.5M11.375 7L7.875 10.5",
|
|
@@ -2910,7 +3246,7 @@ var ArrowRightIcon = () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("svg",
|
|
|
2910
3246
|
strokeLinejoin: "round"
|
|
2911
3247
|
}
|
|
2912
3248
|
) });
|
|
2913
|
-
var ArrowUpRightIcon = () => /* @__PURE__ */ (0,
|
|
3249
|
+
var ArrowUpRightIcon = () => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2914
3250
|
"path",
|
|
2915
3251
|
{
|
|
2916
3252
|
d: "M4.5 11.5L11.5 4.5M11.5 4.5H5.5M11.5 4.5V10.5",
|
|
@@ -2920,7 +3256,7 @@ var ArrowUpRightIcon = () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("svg"
|
|
|
2920
3256
|
strokeLinejoin: "round"
|
|
2921
3257
|
}
|
|
2922
3258
|
) });
|
|
2923
|
-
var BarsIcon = () => /* @__PURE__ */ (0,
|
|
3259
|
+
var BarsIcon = () => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2924
3260
|
"path",
|
|
2925
3261
|
{
|
|
2926
3262
|
d: "M2.5 5H17.5M2.5 10H17.5M2.5 15H17.5",
|
|
@@ -2929,7 +3265,7 @@ var BarsIcon = () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("svg", { widt
|
|
|
2929
3265
|
strokeLinecap: "round"
|
|
2930
3266
|
}
|
|
2931
3267
|
) });
|
|
2932
|
-
var XMarkIcon2 = () => /* @__PURE__ */ (0,
|
|
3268
|
+
var XMarkIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2933
3269
|
"path",
|
|
2934
3270
|
{
|
|
2935
3271
|
d: "M15 5L5 15M5 5L15 15",
|
|
@@ -2938,7 +3274,7 @@ var XMarkIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("svg", { wi
|
|
|
2938
3274
|
strokeLinecap: "round"
|
|
2939
3275
|
}
|
|
2940
3276
|
) });
|
|
2941
|
-
var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ (0,
|
|
3277
|
+
var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2942
3278
|
"svg",
|
|
2943
3279
|
{
|
|
2944
3280
|
className,
|
|
@@ -2947,7 +3283,7 @@ var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime2
|
|
|
2947
3283
|
viewBox: "0 0 24 24",
|
|
2948
3284
|
fill: "none",
|
|
2949
3285
|
"aria-hidden": "true",
|
|
2950
|
-
children: /* @__PURE__ */ (0,
|
|
3286
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2951
3287
|
"path",
|
|
2952
3288
|
{
|
|
2953
3289
|
d: "M15 18L9 12L15 6",
|
|
@@ -2959,11 +3295,11 @@ var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime2
|
|
|
2959
3295
|
)
|
|
2960
3296
|
}
|
|
2961
3297
|
);
|
|
2962
|
-
var GlobeIcon = ({ className }) => /* @__PURE__ */ (0,
|
|
3298
|
+
var GlobeIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("img", { src: icon_globe_default, alt: "", "aria-hidden": "true", width: "20", height: "20", className });
|
|
2963
3299
|
var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
|
|
2964
3300
|
const { dropdown } = item;
|
|
2965
3301
|
if (!dropdown) return null;
|
|
2966
|
-
return /* @__PURE__ */ (0,
|
|
3302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2967
3303
|
import_framer_motion2.motion.div,
|
|
2968
3304
|
{
|
|
2969
3305
|
className: "navbar__dropdown",
|
|
@@ -2974,10 +3310,10 @@ var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
|
|
|
2974
3310
|
transition: { duration: 0.18, ease: EASE_OUT_EXPO },
|
|
2975
3311
|
onMouseEnter,
|
|
2976
3312
|
onMouseLeave,
|
|
2977
|
-
children: /* @__PURE__ */ (0,
|
|
2978
|
-
/* @__PURE__ */ (0,
|
|
2979
|
-
/* @__PURE__ */ (0,
|
|
2980
|
-
section.items.map((link) => /* @__PURE__ */ (0,
|
|
3313
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__dropdown-inner", children: [
|
|
3314
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "navbar__dropdown-left", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "navbar__dropdown-col", children: col.sections.map((section) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__dropdown-col-list", children: [
|
|
3315
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "navbar__dropdown-col-title", children: section.title }),
|
|
3316
|
+
section.items.map((link) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
2981
3317
|
"a",
|
|
2982
3318
|
{
|
|
2983
3319
|
href: link.href,
|
|
@@ -2986,24 +3322,24 @@ var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
|
|
|
2986
3322
|
rel: link.external ? "noopener noreferrer" : void 0,
|
|
2987
3323
|
children: [
|
|
2988
3324
|
link.label,
|
|
2989
|
-
link.external ? /* @__PURE__ */ (0,
|
|
3325
|
+
link.external ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ArrowUpRightIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ArrowRightIcon, {})
|
|
2990
3326
|
]
|
|
2991
3327
|
},
|
|
2992
3328
|
link.href
|
|
2993
3329
|
))
|
|
2994
3330
|
] }, section.title)) }, colIdx)) }),
|
|
2995
|
-
dropdown.feature && /* @__PURE__ */ (0,
|
|
3331
|
+
dropdown.feature && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "navbar__dropdown-right", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(FeatureCard, { feature: dropdown.feature }) })
|
|
2996
3332
|
] })
|
|
2997
3333
|
}
|
|
2998
3334
|
);
|
|
2999
3335
|
};
|
|
3000
|
-
var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ (0,
|
|
3336
|
+
var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3001
3337
|
"div",
|
|
3002
3338
|
{
|
|
3003
3339
|
className: mobile ? "navbar__drawer-feature" : "navbar__dropdown-feature",
|
|
3004
3340
|
style: feature.backgroundImageUrl ? { backgroundImage: `url(${feature.backgroundImageUrl})` } : void 0,
|
|
3005
3341
|
children: [
|
|
3006
|
-
feature.backgroundImageUrl && /* @__PURE__ */ (0,
|
|
3342
|
+
feature.backgroundImageUrl && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3007
3343
|
"img",
|
|
3008
3344
|
{
|
|
3009
3345
|
src: feature.backgroundImageUrl,
|
|
@@ -3012,20 +3348,20 @@ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ (0, import_jsx_runtim
|
|
|
3012
3348
|
"aria-hidden": "true"
|
|
3013
3349
|
}
|
|
3014
3350
|
),
|
|
3015
|
-
/* @__PURE__ */ (0,
|
|
3016
|
-
/* @__PURE__ */ (0,
|
|
3017
|
-
/* @__PURE__ */ (0,
|
|
3018
|
-
/* @__PURE__ */ (0,
|
|
3019
|
-
/* @__PURE__ */ (0,
|
|
3351
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: mobile ? "navbar__drawer-feature-overlay" : "navbar__dropdown-feature-overlay", "aria-hidden": "true" }),
|
|
3352
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: mobile ? "navbar__drawer-feature-content" : "navbar__dropdown-feature-content", children: [
|
|
3353
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { children: [
|
|
3354
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: mobile ? "navbar__drawer-feature-title" : "navbar__dropdown-feature-title", children: feature.title }),
|
|
3355
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: mobile ? "navbar__drawer-feature-desc" : "navbar__dropdown-feature-desc", children: feature.description })
|
|
3020
3356
|
] }),
|
|
3021
|
-
/* @__PURE__ */ (0,
|
|
3357
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3022
3358
|
"a",
|
|
3023
3359
|
{
|
|
3024
3360
|
href: feature.ctaHref,
|
|
3025
3361
|
className: mobile ? "navbar__drawer-feature-cta" : "navbar__dropdown-feature-cta",
|
|
3026
3362
|
children: [
|
|
3027
3363
|
feature.ctaLabel,
|
|
3028
|
-
/* @__PURE__ */ (0,
|
|
3364
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ArrowRightIcon, {})
|
|
3029
3365
|
]
|
|
3030
3366
|
}
|
|
3031
3367
|
)
|
|
@@ -3035,8 +3371,8 @@ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ (0, import_jsx_runtim
|
|
|
3035
3371
|
);
|
|
3036
3372
|
var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
3037
3373
|
const { dropdown } = item;
|
|
3038
|
-
return /* @__PURE__ */ (0,
|
|
3039
|
-
/* @__PURE__ */ (0,
|
|
3374
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__drawer-item", children: [
|
|
3375
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3040
3376
|
"button",
|
|
3041
3377
|
{
|
|
3042
3378
|
className: `navbar__drawer-trigger ${isOpen ? "navbar__drawer-trigger--open" : ""}`,
|
|
@@ -3044,11 +3380,11 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
|
3044
3380
|
"aria-expanded": isOpen,
|
|
3045
3381
|
children: [
|
|
3046
3382
|
item.label,
|
|
3047
|
-
/* @__PURE__ */ (0,
|
|
3383
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronDownIcon3, { className: "navbar__drawer-trigger__chevron" })
|
|
3048
3384
|
]
|
|
3049
3385
|
}
|
|
3050
3386
|
),
|
|
3051
|
-
/* @__PURE__ */ (0,
|
|
3387
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_framer_motion2.AnimatePresence, { initial: false, children: isOpen && dropdown && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3052
3388
|
import_framer_motion2.motion.div,
|
|
3053
3389
|
{
|
|
3054
3390
|
className: "navbar__drawer-panel",
|
|
@@ -3057,10 +3393,10 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
|
3057
3393
|
animate: "visible",
|
|
3058
3394
|
exit: "hidden",
|
|
3059
3395
|
transition: { duration: 0.22, ease: EASE_OUT_EXPO },
|
|
3060
|
-
children: /* @__PURE__ */ (0,
|
|
3061
|
-
/* @__PURE__ */ (0,
|
|
3062
|
-
/* @__PURE__ */ (0,
|
|
3063
|
-
/* @__PURE__ */ (0,
|
|
3396
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__drawer-panel-inner", children: [
|
|
3397
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "navbar__drawer-panel-cols", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "navbar__drawer-panel-col", children: col.sections.map((section) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__drawer-col-section", children: [
|
|
3398
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "navbar__drawer-col-title", children: section.title }),
|
|
3399
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "navbar__drawer-col-links", children: section.items.map((link) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3064
3400
|
"a",
|
|
3065
3401
|
{
|
|
3066
3402
|
href: link.href,
|
|
@@ -3072,7 +3408,7 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
|
3072
3408
|
link.href
|
|
3073
3409
|
)) })
|
|
3074
3410
|
] }, section.title)) }, colIdx)) }),
|
|
3075
|
-
dropdown.feature && /* @__PURE__ */ (0,
|
|
3411
|
+
dropdown.feature && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(FeatureCard, { feature: dropdown.feature, mobile: true })
|
|
3076
3412
|
] })
|
|
3077
3413
|
}
|
|
3078
3414
|
) })
|
|
@@ -3096,24 +3432,24 @@ var Navbar = ({
|
|
|
3096
3432
|
className,
|
|
3097
3433
|
...props
|
|
3098
3434
|
}) => {
|
|
3099
|
-
const [openDropdown, setOpenDropdown] = (0,
|
|
3100
|
-
const [mobileOpen, setMobileOpen] = (0,
|
|
3101
|
-
const [mobileExpanded, setMobileExpanded] = (0,
|
|
3102
|
-
const [scrolled, setScrolled] = (0,
|
|
3103
|
-
const [langDropdownOpen, setLangDropdownOpen] = (0,
|
|
3104
|
-
const [mobileLangOpen, setMobileLangOpen] = (0,
|
|
3105
|
-
const hoverTimeoutRef = (0,
|
|
3106
|
-
const langHoverTimeoutRef = (0,
|
|
3107
|
-
const pillAreaRef = (0,
|
|
3108
|
-
const langBtnRef = (0,
|
|
3435
|
+
const [openDropdown, setOpenDropdown] = (0, import_react16.useState)(null);
|
|
3436
|
+
const [mobileOpen, setMobileOpen] = (0, import_react16.useState)(false);
|
|
3437
|
+
const [mobileExpanded, setMobileExpanded] = (0, import_react16.useState)(null);
|
|
3438
|
+
const [scrolled, setScrolled] = (0, import_react16.useState)(false);
|
|
3439
|
+
const [langDropdownOpen, setLangDropdownOpen] = (0, import_react16.useState)(false);
|
|
3440
|
+
const [mobileLangOpen, setMobileLangOpen] = (0, import_react16.useState)(false);
|
|
3441
|
+
const hoverTimeoutRef = (0, import_react16.useRef)(null);
|
|
3442
|
+
const langHoverTimeoutRef = (0, import_react16.useRef)(null);
|
|
3443
|
+
const pillAreaRef = (0, import_react16.useRef)(null);
|
|
3444
|
+
const langBtnRef = (0, import_react16.useRef)(null);
|
|
3109
3445
|
const hasLangDropdown = Boolean(languageItems && languageItems.length > 0);
|
|
3110
3446
|
const resolvedLogo = theme === "light" ? logoSrcDark ?? logoSrc : logoSrc;
|
|
3111
|
-
(0,
|
|
3447
|
+
(0, import_react16.useEffect)(() => {
|
|
3112
3448
|
const onScroll = () => setScrolled(window.scrollY > 0);
|
|
3113
3449
|
window.addEventListener("scroll", onScroll, { passive: true });
|
|
3114
3450
|
return () => window.removeEventListener("scroll", onScroll);
|
|
3115
3451
|
}, []);
|
|
3116
|
-
(0,
|
|
3452
|
+
(0, import_react16.useEffect)(() => {
|
|
3117
3453
|
const onKey = (e) => {
|
|
3118
3454
|
if (e.key === "Escape") {
|
|
3119
3455
|
setOpenDropdown(null);
|
|
@@ -3124,16 +3460,16 @@ var Navbar = ({
|
|
|
3124
3460
|
document.addEventListener("keydown", onKey);
|
|
3125
3461
|
return () => document.removeEventListener("keydown", onKey);
|
|
3126
3462
|
}, []);
|
|
3127
|
-
(0,
|
|
3463
|
+
(0, import_react16.useEffect)(() => {
|
|
3128
3464
|
if (!mobileOpen) setMobileLangOpen(false);
|
|
3129
3465
|
}, [mobileOpen]);
|
|
3130
|
-
(0,
|
|
3466
|
+
(0, import_react16.useEffect)(() => {
|
|
3131
3467
|
document.body.style.overflow = mobileOpen ? "hidden" : "";
|
|
3132
3468
|
return () => {
|
|
3133
3469
|
document.body.style.overflow = "";
|
|
3134
3470
|
};
|
|
3135
3471
|
}, [mobileOpen]);
|
|
3136
|
-
(0,
|
|
3472
|
+
(0, import_react16.useEffect)(() => {
|
|
3137
3473
|
if (!openDropdown) return;
|
|
3138
3474
|
const onPointerDown = (e) => {
|
|
3139
3475
|
if (pillAreaRef.current && !pillAreaRef.current.contains(e.target)) {
|
|
@@ -3143,54 +3479,54 @@ var Navbar = ({
|
|
|
3143
3479
|
document.addEventListener("pointerdown", onPointerDown);
|
|
3144
3480
|
return () => document.removeEventListener("pointerdown", onPointerDown);
|
|
3145
3481
|
}, [openDropdown]);
|
|
3146
|
-
const clearHoverTimeout = (0,
|
|
3482
|
+
const clearHoverTimeout = (0, import_react16.useCallback)(() => {
|
|
3147
3483
|
if (hoverTimeoutRef.current) {
|
|
3148
3484
|
clearTimeout(hoverTimeoutRef.current);
|
|
3149
3485
|
hoverTimeoutRef.current = null;
|
|
3150
3486
|
}
|
|
3151
3487
|
}, []);
|
|
3152
|
-
const clearLangHoverTimeout = (0,
|
|
3488
|
+
const clearLangHoverTimeout = (0, import_react16.useCallback)(() => {
|
|
3153
3489
|
if (langHoverTimeoutRef.current) {
|
|
3154
3490
|
clearTimeout(langHoverTimeoutRef.current);
|
|
3155
3491
|
langHoverTimeoutRef.current = null;
|
|
3156
3492
|
}
|
|
3157
3493
|
}, []);
|
|
3158
|
-
const handleLangEnter = (0,
|
|
3494
|
+
const handleLangEnter = (0, import_react16.useCallback)(() => {
|
|
3159
3495
|
clearLangHoverTimeout();
|
|
3160
3496
|
setLangDropdownOpen(true);
|
|
3161
3497
|
}, [clearLangHoverTimeout]);
|
|
3162
|
-
const handleLangLeave = (0,
|
|
3498
|
+
const handleLangLeave = (0, import_react16.useCallback)(() => {
|
|
3163
3499
|
clearLangHoverTimeout();
|
|
3164
3500
|
langHoverTimeoutRef.current = setTimeout(() => setLangDropdownOpen(false), 150);
|
|
3165
3501
|
}, [clearLangHoverTimeout]);
|
|
3166
|
-
const handleLangSelect = (0,
|
|
3502
|
+
const handleLangSelect = (0, import_react16.useCallback)((code) => {
|
|
3167
3503
|
setLangDropdownOpen(false);
|
|
3168
3504
|
setMobileLangOpen(false);
|
|
3169
3505
|
onLanguageSelect?.(code);
|
|
3170
3506
|
}, [onLanguageSelect]);
|
|
3171
|
-
const handleNavEnter = (0,
|
|
3507
|
+
const handleNavEnter = (0, import_react16.useCallback)((label) => {
|
|
3172
3508
|
clearHoverTimeout();
|
|
3173
3509
|
setOpenDropdown(label);
|
|
3174
3510
|
}, [clearHoverTimeout]);
|
|
3175
|
-
const handleNavLeave = (0,
|
|
3511
|
+
const handleNavLeave = (0, import_react16.useCallback)(() => {
|
|
3176
3512
|
clearHoverTimeout();
|
|
3177
3513
|
hoverTimeoutRef.current = setTimeout(() => setOpenDropdown(null), 120);
|
|
3178
3514
|
}, [clearHoverTimeout]);
|
|
3179
3515
|
const activeDropdownItem = navItems.find((item) => item.label === openDropdown);
|
|
3180
|
-
return /* @__PURE__ */ (0,
|
|
3516
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3181
3517
|
"nav",
|
|
3182
3518
|
{
|
|
3183
3519
|
className: ["navbar", `navbar--${theme}`, scrolled && "navbar--scrolled", mobileOpen && "navbar--menu-open", className].filter(Boolean).join(" "),
|
|
3184
3520
|
...props,
|
|
3185
3521
|
children: [
|
|
3186
|
-
/* @__PURE__ */ (0,
|
|
3187
|
-
/* @__PURE__ */ (0,
|
|
3188
|
-
/* @__PURE__ */ (0,
|
|
3189
|
-
/* @__PURE__ */ (0,
|
|
3190
|
-
/* @__PURE__ */ (0,
|
|
3522
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__bar", children: [
|
|
3523
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: logoHref, className: "navbar__logo", "aria-label": "Home", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("img", { src: resolvedLogo, alt: "Logo" }) }),
|
|
3524
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "navbar__nav-center", ref: pillAreaRef, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__pill", children: [
|
|
3525
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: logoHref, className: "navbar__pill-logo", "aria-label": "Home", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("img", { src: logoSrcDark ?? logoSrc, alt: "Logo" }) }),
|
|
3526
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__nav-group", children: [
|
|
3191
3527
|
navItems.map((item) => {
|
|
3192
3528
|
if (item.external) {
|
|
3193
|
-
return /* @__PURE__ */ (0,
|
|
3529
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3194
3530
|
"a",
|
|
3195
3531
|
{
|
|
3196
3532
|
href: item.href,
|
|
@@ -3199,14 +3535,14 @@ var Navbar = ({
|
|
|
3199
3535
|
rel: "noopener noreferrer",
|
|
3200
3536
|
children: [
|
|
3201
3537
|
item.label,
|
|
3202
|
-
/* @__PURE__ */ (0,
|
|
3538
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ArrowUpRightIcon, {})
|
|
3203
3539
|
]
|
|
3204
3540
|
},
|
|
3205
3541
|
item.label
|
|
3206
3542
|
);
|
|
3207
3543
|
}
|
|
3208
3544
|
if (item.dropdown) {
|
|
3209
|
-
return /* @__PURE__ */ (0,
|
|
3545
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3210
3546
|
"button",
|
|
3211
3547
|
{
|
|
3212
3548
|
className: [
|
|
@@ -3219,21 +3555,21 @@ var Navbar = ({
|
|
|
3219
3555
|
"aria-haspopup": "true",
|
|
3220
3556
|
children: [
|
|
3221
3557
|
item.label,
|
|
3222
|
-
/* @__PURE__ */ (0,
|
|
3558
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronDownIcon3, { className: "navbar__nav-item__chevron" })
|
|
3223
3559
|
]
|
|
3224
3560
|
},
|
|
3225
3561
|
item.label
|
|
3226
3562
|
);
|
|
3227
3563
|
}
|
|
3228
|
-
return /* @__PURE__ */ (0,
|
|
3564
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: item.href, className: "navbar__nav-item", children: item.label }, item.label);
|
|
3229
3565
|
}),
|
|
3230
|
-
languageLabel && /* @__PURE__ */ (0,
|
|
3566
|
+
languageLabel && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3231
3567
|
"div",
|
|
3232
3568
|
{
|
|
3233
3569
|
className: "navbar__lang-wrapper",
|
|
3234
3570
|
onMouseEnter: hasLangDropdown ? handleLangEnter : void 0,
|
|
3235
3571
|
onMouseLeave: hasLangDropdown ? handleLangLeave : void 0,
|
|
3236
|
-
children: /* @__PURE__ */ (0,
|
|
3572
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3237
3573
|
"button",
|
|
3238
3574
|
{
|
|
3239
3575
|
ref: langBtnRef,
|
|
@@ -3246,7 +3582,7 @@ var Navbar = ({
|
|
|
3246
3582
|
"aria-haspopup": hasLangDropdown ? "true" : void 0,
|
|
3247
3583
|
"aria-expanded": hasLangDropdown ? langDropdownOpen : void 0,
|
|
3248
3584
|
children: [
|
|
3249
|
-
/* @__PURE__ */ (0,
|
|
3585
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(GlobeIcon, { className: "navbar__lang-globe" }),
|
|
3250
3586
|
languageLabel
|
|
3251
3587
|
]
|
|
3252
3588
|
}
|
|
@@ -3254,12 +3590,12 @@ var Navbar = ({
|
|
|
3254
3590
|
}
|
|
3255
3591
|
)
|
|
3256
3592
|
] }),
|
|
3257
|
-
/* @__PURE__ */ (0,
|
|
3258
|
-
loginHref && /* @__PURE__ */ (0,
|
|
3259
|
-
ctaHref && /* @__PURE__ */ (0,
|
|
3593
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__pill-actions", children: [
|
|
3594
|
+
loginHref && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: loginHref, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Button, { colorScheme: "black", variant: "secondary", label: loginLabel }) }),
|
|
3595
|
+
ctaHref && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: ctaHref, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
|
|
3260
3596
|
] })
|
|
3261
3597
|
] }) }),
|
|
3262
|
-
/* @__PURE__ */ (0,
|
|
3598
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_framer_motion2.AnimatePresence, { children: openDropdown && activeDropdownItem?.dropdown && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3263
3599
|
DropdownPanel,
|
|
3264
3600
|
{
|
|
3265
3601
|
item: activeDropdownItem,
|
|
@@ -3268,7 +3604,7 @@ var Navbar = ({
|
|
|
3268
3604
|
},
|
|
3269
3605
|
"dropdown"
|
|
3270
3606
|
) }),
|
|
3271
|
-
/* @__PURE__ */ (0,
|
|
3607
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_framer_motion2.AnimatePresence, { children: hasLangDropdown && langDropdownOpen && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3272
3608
|
import_framer_motion2.motion.div,
|
|
3273
3609
|
{
|
|
3274
3610
|
className: "navbar__lang-dropdown",
|
|
@@ -3279,12 +3615,12 @@ var Navbar = ({
|
|
|
3279
3615
|
transition: { duration: 0.18, ease: EASE_OUT_EXPO },
|
|
3280
3616
|
onMouseEnter: clearLangHoverTimeout,
|
|
3281
3617
|
onMouseLeave: handleLangLeave,
|
|
3282
|
-
children: /* @__PURE__ */ (0,
|
|
3618
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3283
3619
|
"div",
|
|
3284
3620
|
{
|
|
3285
3621
|
className: "navbar__lang-dropdown-grid",
|
|
3286
3622
|
style: { "--lang-rows": Math.ceil(languageItems.length / 3) },
|
|
3287
|
-
children: languageItems.map((lang) => /* @__PURE__ */ (0,
|
|
3623
|
+
children: languageItems.map((lang) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3288
3624
|
"button",
|
|
3289
3625
|
{
|
|
3290
3626
|
className: [
|
|
@@ -3300,8 +3636,8 @@ var Navbar = ({
|
|
|
3300
3636
|
)
|
|
3301
3637
|
}
|
|
3302
3638
|
) }),
|
|
3303
|
-
/* @__PURE__ */ (0,
|
|
3304
|
-
loginHref && /* @__PURE__ */ (0,
|
|
3639
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__actions", children: [
|
|
3640
|
+
loginHref && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: loginHref, className: "navbar__actions-login", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3305
3641
|
Button,
|
|
3306
3642
|
{
|
|
3307
3643
|
colorScheme: theme === "dark" ? "white" : "black",
|
|
@@ -3309,10 +3645,10 @@ var Navbar = ({
|
|
|
3309
3645
|
label: loginLabel
|
|
3310
3646
|
}
|
|
3311
3647
|
) }),
|
|
3312
|
-
ctaHref && /* @__PURE__ */ (0,
|
|
3648
|
+
ctaHref && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: ctaHref, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
|
|
3313
3649
|
] }),
|
|
3314
|
-
/* @__PURE__ */ (0,
|
|
3315
|
-
loginHref && /* @__PURE__ */ (0,
|
|
3650
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__mobile-actions", children: [
|
|
3651
|
+
loginHref && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: loginHref, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3316
3652
|
Button,
|
|
3317
3653
|
{
|
|
3318
3654
|
colorScheme: scrolled || theme === "light" ? "black" : "white",
|
|
@@ -3320,18 +3656,18 @@ var Navbar = ({
|
|
|
3320
3656
|
label: loginLabel
|
|
3321
3657
|
}
|
|
3322
3658
|
) }),
|
|
3323
|
-
/* @__PURE__ */ (0,
|
|
3659
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3324
3660
|
"button",
|
|
3325
3661
|
{
|
|
3326
3662
|
className: "navbar__mobile-trigger",
|
|
3327
3663
|
onClick: () => setMobileOpen((o) => !o),
|
|
3328
3664
|
"aria-label": mobileOpen ? "Close navigation menu" : "Open navigation menu",
|
|
3329
|
-
children: mobileOpen ? /* @__PURE__ */ (0,
|
|
3665
|
+
children: mobileOpen ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(XMarkIcon2, {}) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(BarsIcon, {})
|
|
3330
3666
|
}
|
|
3331
3667
|
)
|
|
3332
3668
|
] })
|
|
3333
3669
|
] }),
|
|
3334
|
-
/* @__PURE__ */ (0,
|
|
3670
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "navbar__drawer-clip", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_framer_motion2.AnimatePresence, { children: mobileOpen && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3335
3671
|
import_framer_motion2.motion.div,
|
|
3336
3672
|
{
|
|
3337
3673
|
className: "navbar__drawer",
|
|
@@ -3344,10 +3680,10 @@ var Navbar = ({
|
|
|
3344
3680
|
role: "dialog",
|
|
3345
3681
|
"aria-label": "Navigation menu",
|
|
3346
3682
|
children: [
|
|
3347
|
-
/* @__PURE__ */ (0,
|
|
3683
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("nav", { className: "navbar__drawer-nav", children: [
|
|
3348
3684
|
navItems.map((item) => {
|
|
3349
3685
|
if (item.dropdown) {
|
|
3350
|
-
return /* @__PURE__ */ (0,
|
|
3686
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3351
3687
|
DrawerAccordion,
|
|
3352
3688
|
{
|
|
3353
3689
|
item,
|
|
@@ -3359,7 +3695,7 @@ var Navbar = ({
|
|
|
3359
3695
|
item.label
|
|
3360
3696
|
);
|
|
3361
3697
|
}
|
|
3362
|
-
return /* @__PURE__ */ (0,
|
|
3698
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3363
3699
|
"a",
|
|
3364
3700
|
{
|
|
3365
3701
|
href: item.href,
|
|
@@ -3368,30 +3704,30 @@ var Navbar = ({
|
|
|
3368
3704
|
rel: item.external ? "noopener noreferrer" : void 0,
|
|
3369
3705
|
children: [
|
|
3370
3706
|
item.label,
|
|
3371
|
-
item.external && /* @__PURE__ */ (0,
|
|
3707
|
+
item.external && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ArrowUpRightIcon, {})
|
|
3372
3708
|
]
|
|
3373
3709
|
},
|
|
3374
3710
|
item.label
|
|
3375
3711
|
);
|
|
3376
3712
|
}),
|
|
3377
|
-
languageLabel && !hasLangDropdown && /* @__PURE__ */ (0,
|
|
3378
|
-
/* @__PURE__ */ (0,
|
|
3713
|
+
languageLabel && !hasLangDropdown && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("button", { className: "navbar__drawer-lang", onClick: onLanguageClick, children: [
|
|
3714
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(GlobeIcon, { className: "navbar__lang-globe" }),
|
|
3379
3715
|
languageLabel
|
|
3380
3716
|
] }),
|
|
3381
|
-
languageLabel && hasLangDropdown && /* @__PURE__ */ (0,
|
|
3717
|
+
languageLabel && hasLangDropdown && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3382
3718
|
"button",
|
|
3383
3719
|
{
|
|
3384
3720
|
className: "navbar__drawer-lang",
|
|
3385
3721
|
onClick: () => setMobileLangOpen(true),
|
|
3386
3722
|
children: [
|
|
3387
|
-
/* @__PURE__ */ (0,
|
|
3723
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(GlobeIcon, { className: "navbar__lang-globe" }),
|
|
3388
3724
|
languageLabel
|
|
3389
3725
|
]
|
|
3390
3726
|
}
|
|
3391
3727
|
)
|
|
3392
3728
|
] }),
|
|
3393
|
-
!mobileLangOpen && /* @__PURE__ */ (0,
|
|
3394
|
-
loginHref && /* @__PURE__ */ (0,
|
|
3729
|
+
!mobileLangOpen && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "navbar__drawer-footer", children: [
|
|
3730
|
+
loginHref && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: loginHref, style: { display: "block" }, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3395
3731
|
Button,
|
|
3396
3732
|
{
|
|
3397
3733
|
colorScheme: "black",
|
|
@@ -3400,7 +3736,7 @@ var Navbar = ({
|
|
|
3400
3736
|
fullWidth: true
|
|
3401
3737
|
}
|
|
3402
3738
|
) }),
|
|
3403
|
-
ctaHref && /* @__PURE__ */ (0,
|
|
3739
|
+
ctaHref && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href: ctaHref, style: { display: "block" }, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3404
3740
|
Button,
|
|
3405
3741
|
{
|
|
3406
3742
|
colorScheme: "coral",
|
|
@@ -3410,7 +3746,7 @@ var Navbar = ({
|
|
|
3410
3746
|
}
|
|
3411
3747
|
) })
|
|
3412
3748
|
] }),
|
|
3413
|
-
/* @__PURE__ */ (0,
|
|
3749
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_framer_motion2.AnimatePresence, { children: hasLangDropdown && mobileLangOpen && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
3414
3750
|
import_framer_motion2.motion.div,
|
|
3415
3751
|
{
|
|
3416
3752
|
className: "navbar__drawer-lang-panel",
|
|
@@ -3419,16 +3755,16 @@ var Navbar = ({
|
|
|
3419
3755
|
exit: { y: "100%" },
|
|
3420
3756
|
transition: { duration: 0.25, ease: EASE_OUT_EXPO },
|
|
3421
3757
|
children: [
|
|
3422
|
-
/* @__PURE__ */ (0,
|
|
3758
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3423
3759
|
"button",
|
|
3424
3760
|
{
|
|
3425
3761
|
className: "navbar__drawer-lang-back",
|
|
3426
3762
|
onClick: () => setMobileLangOpen(false),
|
|
3427
3763
|
"aria-label": "Back to menu",
|
|
3428
|
-
children: /* @__PURE__ */ (0,
|
|
3764
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronLeftIcon, {})
|
|
3429
3765
|
}
|
|
3430
3766
|
),
|
|
3431
|
-
/* @__PURE__ */ (0,
|
|
3767
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "navbar__drawer-lang-grid", children: languageItems.map((lang) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
3432
3768
|
"button",
|
|
3433
3769
|
{
|
|
3434
3770
|
className: [
|
|
@@ -3452,7 +3788,7 @@ var Navbar = ({
|
|
|
3452
3788
|
};
|
|
3453
3789
|
|
|
3454
3790
|
// templates/DayNightTransition/DayNightTransition.tsx
|
|
3455
|
-
var
|
|
3791
|
+
var import_react17 = require("react");
|
|
3456
3792
|
var import_framer_motion3 = require("framer-motion");
|
|
3457
3793
|
|
|
3458
3794
|
// templates/DayNightTransition/webflowDayNightV2Ix.ts
|
|
@@ -3529,7 +3865,7 @@ function webflowV2DayClipPercent(t, media) {
|
|
|
3529
3865
|
}
|
|
3530
3866
|
|
|
3531
3867
|
// templates/DayNightTransition/DayNightTransition.tsx
|
|
3532
|
-
var
|
|
3868
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
3533
3869
|
var SPRING2 = { stiffness: 80, damping: 30, restDelta: 1e-3 };
|
|
3534
3870
|
var FADE_START = 0.35;
|
|
3535
3871
|
var FADE_END = 0.65;
|
|
@@ -3561,13 +3897,13 @@ var DayNightTransition = ({
|
|
|
3561
3897
|
className,
|
|
3562
3898
|
...props
|
|
3563
3899
|
}) => {
|
|
3564
|
-
const wrapperRef = (0,
|
|
3565
|
-
const dayWordRef = (0,
|
|
3566
|
-
const [nightMarginStart, setNightMarginStart] = (0,
|
|
3567
|
-
const [nightMarginEnd, setNightMarginEnd] = (0,
|
|
3568
|
-
const [ixMedia, setIxMedia] = (0,
|
|
3900
|
+
const wrapperRef = (0, import_react17.useRef)(null);
|
|
3901
|
+
const dayWordRef = (0, import_react17.useRef)(null);
|
|
3902
|
+
const [nightMarginStart, setNightMarginStart] = (0, import_react17.useState)("0px");
|
|
3903
|
+
const [nightMarginEnd, setNightMarginEnd] = (0, import_react17.useState)("0px");
|
|
3904
|
+
const [ixMedia, setIxMedia] = (0, import_react17.useState)("desktop");
|
|
3569
3905
|
const webflowV2 = scrollPreset === "webflow-day-night-v2";
|
|
3570
|
-
(0,
|
|
3906
|
+
(0, import_react17.useEffect)(() => {
|
|
3571
3907
|
const mq = window.matchMedia("(max-width: 991px)");
|
|
3572
3908
|
const sync = () => setIxMedia(mq.matches ? "mobile" : "desktop");
|
|
3573
3909
|
sync();
|
|
@@ -3575,7 +3911,7 @@ var DayNightTransition = ({
|
|
|
3575
3911
|
return () => mq.removeEventListener("change", sync);
|
|
3576
3912
|
}, []);
|
|
3577
3913
|
const MotionHeadline = headlineLevel === "h1" ? import_framer_motion3.motion.h1 : import_framer_motion3.motion.h2;
|
|
3578
|
-
(0,
|
|
3914
|
+
(0, import_react17.useLayoutEffect)(() => {
|
|
3579
3915
|
if (!inlineDayNightHeadline) return;
|
|
3580
3916
|
const syncNightPull = () => {
|
|
3581
3917
|
const dayEl = dayWordRef.current;
|
|
@@ -3666,15 +4002,15 @@ var DayNightTransition = ({
|
|
|
3666
4002
|
descriptionLevel === "body-lg" && "dnt--desc-body-lg",
|
|
3667
4003
|
className
|
|
3668
4004
|
].filter(Boolean).join(" ");
|
|
3669
|
-
return /* @__PURE__ */ (0,
|
|
4005
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3670
4006
|
"div",
|
|
3671
4007
|
{
|
|
3672
4008
|
ref: wrapperRef,
|
|
3673
4009
|
className: rootClass,
|
|
3674
4010
|
...props,
|
|
3675
4011
|
children: [
|
|
3676
|
-
webflowV2 && /* @__PURE__ */ (0,
|
|
3677
|
-
/* @__PURE__ */ (0,
|
|
4012
|
+
webflowV2 && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "dnt__v2-background-wrapper", "aria-hidden": "true", children: [
|
|
4013
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3678
4014
|
import_framer_motion3.motion.div,
|
|
3679
4015
|
{
|
|
3680
4016
|
className: "dnt__v2-bg-day trade-day-night_background-day is-alternative",
|
|
@@ -3684,7 +4020,7 @@ var DayNightTransition = ({
|
|
|
3684
4020
|
}
|
|
3685
4021
|
}
|
|
3686
4022
|
),
|
|
3687
|
-
/* @__PURE__ */ (0,
|
|
4023
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3688
4024
|
"div",
|
|
3689
4025
|
{
|
|
3690
4026
|
className: "dnt__v2-bg-night trade-day-night_background-night is-alternative",
|
|
@@ -3692,9 +4028,9 @@ var DayNightTransition = ({
|
|
|
3692
4028
|
}
|
|
3693
4029
|
)
|
|
3694
4030
|
] }),
|
|
3695
|
-
/* @__PURE__ */ (0,
|
|
3696
|
-
!webflowV2 && /* @__PURE__ */ (0,
|
|
3697
|
-
/* @__PURE__ */ (0,
|
|
4031
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: webflowV2 ? "dnt__sticky dnt__sticky--webflow-v2" : "dnt__sticky", children: [
|
|
4032
|
+
!webflowV2 && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
|
|
4033
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3698
4034
|
"img",
|
|
3699
4035
|
{
|
|
3700
4036
|
className: "dnt__bg dnt__bg--day",
|
|
@@ -3704,7 +4040,7 @@ var DayNightTransition = ({
|
|
|
3704
4040
|
draggable: false
|
|
3705
4041
|
}
|
|
3706
4042
|
),
|
|
3707
|
-
/* @__PURE__ */ (0,
|
|
4043
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3708
4044
|
import_framer_motion3.motion.img,
|
|
3709
4045
|
{
|
|
3710
4046
|
className: "dnt__bg dnt__bg--night",
|
|
@@ -3716,17 +4052,17 @@ var DayNightTransition = ({
|
|
|
3716
4052
|
}
|
|
3717
4053
|
)
|
|
3718
4054
|
] }),
|
|
3719
|
-
/* @__PURE__ */ (0,
|
|
3720
|
-
useInlineHeadline && inlineDayNightHeadline ? /* @__PURE__ */ (0,
|
|
4055
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "dnt__content", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "dnt__inner", children: webflowV2 ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "dnt__text-wrap", children: [
|
|
4056
|
+
useInlineHeadline && inlineDayNightHeadline ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3721
4057
|
MotionHeadline,
|
|
3722
4058
|
{
|
|
3723
4059
|
className: "dnt__headline dnt__headline--inline-day-night",
|
|
3724
4060
|
style: { color: v2TitleColor },
|
|
3725
4061
|
"aria-label": `${inlineDayNightHeadline.prefix}${inlineDayNightHeadline.dayWord} / ${inlineDayNightHeadline.prefix}${inlineDayNightHeadline.nightWord}`,
|
|
3726
4062
|
children: [
|
|
3727
|
-
/* @__PURE__ */ (0,
|
|
3728
|
-
/* @__PURE__ */ (0,
|
|
3729
|
-
/* @__PURE__ */ (0,
|
|
4063
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "dnt__headline-prefix", children: inlineDayNightHeadline.prefix }),
|
|
4064
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "dnt__headline-pair", children: [
|
|
4065
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3730
4066
|
import_framer_motion3.motion.span,
|
|
3731
4067
|
{
|
|
3732
4068
|
ref: dayWordRef,
|
|
@@ -3735,7 +4071,7 @@ var DayNightTransition = ({
|
|
|
3735
4071
|
children: inlineDayNightHeadline.dayWord
|
|
3736
4072
|
}
|
|
3737
4073
|
),
|
|
3738
|
-
/* @__PURE__ */ (0,
|
|
4074
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3739
4075
|
import_framer_motion3.motion.span,
|
|
3740
4076
|
{
|
|
3741
4077
|
className: "dnt__headline-wnight",
|
|
@@ -3750,8 +4086,8 @@ var DayNightTransition = ({
|
|
|
3750
4086
|
] })
|
|
3751
4087
|
]
|
|
3752
4088
|
}
|
|
3753
|
-
) : /* @__PURE__ */ (0,
|
|
3754
|
-
/* @__PURE__ */ (0,
|
|
4089
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "dnt__crossfade-wrap", children: [
|
|
4090
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3755
4091
|
MotionHeadline,
|
|
3756
4092
|
{
|
|
3757
4093
|
className: "dnt__headline",
|
|
@@ -3759,7 +4095,7 @@ var DayNightTransition = ({
|
|
|
3759
4095
|
children: dayHeadline
|
|
3760
4096
|
}
|
|
3761
4097
|
),
|
|
3762
|
-
/* @__PURE__ */ (0,
|
|
4098
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3763
4099
|
MotionHeadline,
|
|
3764
4100
|
{
|
|
3765
4101
|
className: "dnt__headline",
|
|
@@ -3769,8 +4105,8 @@ var DayNightTransition = ({
|
|
|
3769
4105
|
}
|
|
3770
4106
|
)
|
|
3771
4107
|
] }),
|
|
3772
|
-
hasDescription && /* @__PURE__ */ (0,
|
|
3773
|
-
/* @__PURE__ */ (0,
|
|
4108
|
+
hasDescription && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "dnt__crossfade-wrap", children: [
|
|
4109
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3774
4110
|
import_framer_motion3.motion.p,
|
|
3775
4111
|
{
|
|
3776
4112
|
className: "dnt__description",
|
|
@@ -3781,7 +4117,7 @@ var DayNightTransition = ({
|
|
|
3781
4117
|
children: dayDescription ?? ""
|
|
3782
4118
|
}
|
|
3783
4119
|
),
|
|
3784
|
-
/* @__PURE__ */ (0,
|
|
4120
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3785
4121
|
import_framer_motion3.motion.p,
|
|
3786
4122
|
{
|
|
3787
4123
|
className: "dnt__description",
|
|
@@ -3794,22 +4130,22 @@ var DayNightTransition = ({
|
|
|
3794
4130
|
}
|
|
3795
4131
|
)
|
|
3796
4132
|
] }),
|
|
3797
|
-
!hideCta && /* @__PURE__ */ (0,
|
|
3798
|
-
] }) : /* @__PURE__ */ (0,
|
|
4133
|
+
!hideCta && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("a", { href: ctaHref, className: "dnt__btn", children: ctaLabel })
|
|
4134
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3799
4135
|
import_framer_motion3.motion.div,
|
|
3800
4136
|
{
|
|
3801
4137
|
className: "dnt__text-wrap",
|
|
3802
4138
|
style: { color: textColor },
|
|
3803
4139
|
children: [
|
|
3804
|
-
useInlineHeadline && inlineDayNightHeadline ? /* @__PURE__ */ (0,
|
|
4140
|
+
useInlineHeadline && inlineDayNightHeadline ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3805
4141
|
MotionHeadline,
|
|
3806
4142
|
{
|
|
3807
4143
|
className: "dnt__headline dnt__headline--inline-day-night",
|
|
3808
4144
|
"aria-label": `${inlineDayNightHeadline.prefix}${inlineDayNightHeadline.dayWord} / ${inlineDayNightHeadline.prefix}${inlineDayNightHeadline.nightWord}`,
|
|
3809
4145
|
children: [
|
|
3810
|
-
/* @__PURE__ */ (0,
|
|
3811
|
-
/* @__PURE__ */ (0,
|
|
3812
|
-
/* @__PURE__ */ (0,
|
|
4146
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "dnt__headline-prefix", children: inlineDayNightHeadline.prefix }),
|
|
4147
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "dnt__headline-pair", children: [
|
|
4148
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3813
4149
|
import_framer_motion3.motion.span,
|
|
3814
4150
|
{
|
|
3815
4151
|
ref: dayWordRef,
|
|
@@ -3818,7 +4154,7 @@ var DayNightTransition = ({
|
|
|
3818
4154
|
children: inlineDayNightHeadline.dayWord
|
|
3819
4155
|
}
|
|
3820
4156
|
),
|
|
3821
|
-
/* @__PURE__ */ (0,
|
|
4157
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3822
4158
|
import_framer_motion3.motion.span,
|
|
3823
4159
|
{
|
|
3824
4160
|
className: "dnt__headline-wnight",
|
|
@@ -3833,8 +4169,8 @@ var DayNightTransition = ({
|
|
|
3833
4169
|
] })
|
|
3834
4170
|
]
|
|
3835
4171
|
}
|
|
3836
|
-
) : /* @__PURE__ */ (0,
|
|
3837
|
-
/* @__PURE__ */ (0,
|
|
4172
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "dnt__crossfade-wrap", children: [
|
|
4173
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3838
4174
|
MotionHeadline,
|
|
3839
4175
|
{
|
|
3840
4176
|
className: "dnt__headline",
|
|
@@ -3842,7 +4178,7 @@ var DayNightTransition = ({
|
|
|
3842
4178
|
children: dayHeadline
|
|
3843
4179
|
}
|
|
3844
4180
|
),
|
|
3845
|
-
/* @__PURE__ */ (0,
|
|
4181
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3846
4182
|
MotionHeadline,
|
|
3847
4183
|
{
|
|
3848
4184
|
className: "dnt__headline",
|
|
@@ -3852,8 +4188,8 @@ var DayNightTransition = ({
|
|
|
3852
4188
|
}
|
|
3853
4189
|
)
|
|
3854
4190
|
] }),
|
|
3855
|
-
hasDescription && /* @__PURE__ */ (0,
|
|
3856
|
-
/* @__PURE__ */ (0,
|
|
4191
|
+
hasDescription && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "dnt__crossfade-wrap", children: [
|
|
4192
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3857
4193
|
import_framer_motion3.motion.p,
|
|
3858
4194
|
{
|
|
3859
4195
|
className: "dnt__description",
|
|
@@ -3861,7 +4197,7 @@ var DayNightTransition = ({
|
|
|
3861
4197
|
children: dayDescription ?? ""
|
|
3862
4198
|
}
|
|
3863
4199
|
),
|
|
3864
|
-
/* @__PURE__ */ (0,
|
|
4200
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3865
4201
|
import_framer_motion3.motion.p,
|
|
3866
4202
|
{
|
|
3867
4203
|
className: "dnt__description",
|
|
@@ -3871,7 +4207,7 @@ var DayNightTransition = ({
|
|
|
3871
4207
|
}
|
|
3872
4208
|
)
|
|
3873
4209
|
] }),
|
|
3874
|
-
!hideCta && /* @__PURE__ */ (0,
|
|
4210
|
+
!hideCta && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("a", { href: ctaHref, className: "dnt__btn", children: ctaLabel })
|
|
3875
4211
|
]
|
|
3876
4212
|
}
|
|
3877
4213
|
) }) })
|
|
@@ -3896,9 +4232,9 @@ var dayNightTransitionV2Preset = {
|
|
|
3896
4232
|
};
|
|
3897
4233
|
|
|
3898
4234
|
// templates/LogoMarquee/LogoMarquee.tsx
|
|
3899
|
-
var
|
|
4235
|
+
var import_react18 = require("react");
|
|
3900
4236
|
var import_framer_motion4 = require("framer-motion");
|
|
3901
|
-
var
|
|
4237
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
3902
4238
|
function modWrap(min, max, v) {
|
|
3903
4239
|
const range = max - min;
|
|
3904
4240
|
return ((v - min) % range + range) % range + min;
|
|
@@ -3955,8 +4291,8 @@ var LogoMarquee = ({
|
|
|
3955
4291
|
const scrollVelocity = (0, import_framer_motion4.useVelocity)(scrollY);
|
|
3956
4292
|
const col1Y = (0, import_framer_motion4.useMotionValue)(0);
|
|
3957
4293
|
const col2Y = (0, import_framer_motion4.useMotionValue)(0);
|
|
3958
|
-
const col1Ref = (0,
|
|
3959
|
-
const col2Ref = (0,
|
|
4294
|
+
const col1Ref = (0, import_react18.useRef)(null);
|
|
4295
|
+
const col2Ref = (0, import_react18.useRef)(null);
|
|
3960
4296
|
(0, import_framer_motion4.useAnimationFrame)((_, delta) => {
|
|
3961
4297
|
const raw = scrollVelocity.get();
|
|
3962
4298
|
if (Math.abs(raw) < DEADZONE) return;
|
|
@@ -3969,21 +4305,21 @@ var LogoMarquee = ({
|
|
|
3969
4305
|
});
|
|
3970
4306
|
const track1 = [...col1Logos, ...col1Logos];
|
|
3971
4307
|
const track2 = [...col2Logos, ...col2Logos];
|
|
3972
|
-
return /* @__PURE__ */ (0,
|
|
4308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3973
4309
|
"section",
|
|
3974
4310
|
{
|
|
3975
4311
|
className: ["lm", className].filter(Boolean).join(" "),
|
|
3976
4312
|
...props,
|
|
3977
|
-
children: /* @__PURE__ */ (0,
|
|
3978
|
-
/* @__PURE__ */ (0,
|
|
3979
|
-
/* @__PURE__ */ (0,
|
|
3980
|
-
/* @__PURE__ */ (0,
|
|
4313
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "lm__inner", children: [
|
|
4314
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "lm__media", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "lm__carousel", children: [
|
|
4315
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "lm__fade lm__fade--top", "aria-hidden": "true" }),
|
|
4316
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3981
4317
|
import_framer_motion4.motion.div,
|
|
3982
4318
|
{
|
|
3983
4319
|
ref: col1Ref,
|
|
3984
4320
|
className: "lm__col",
|
|
3985
4321
|
style: { y: col1Y },
|
|
3986
|
-
children: track1.map((logo, i) => /* @__PURE__ */ (0,
|
|
4322
|
+
children: track1.map((logo, i) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "lm__card", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3987
4323
|
"img",
|
|
3988
4324
|
{
|
|
3989
4325
|
src: logo.url,
|
|
@@ -3994,13 +4330,13 @@ var LogoMarquee = ({
|
|
|
3994
4330
|
) }) }, `c1-${i}`))
|
|
3995
4331
|
}
|
|
3996
4332
|
),
|
|
3997
|
-
/* @__PURE__ */ (0,
|
|
4333
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3998
4334
|
import_framer_motion4.motion.div,
|
|
3999
4335
|
{
|
|
4000
4336
|
ref: col2Ref,
|
|
4001
4337
|
className: "lm__col",
|
|
4002
4338
|
style: { y: col2Y },
|
|
4003
|
-
children: track2.map((logo, i) => /* @__PURE__ */ (0,
|
|
4339
|
+
children: track2.map((logo, i) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "lm__card", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
4004
4340
|
"img",
|
|
4005
4341
|
{
|
|
4006
4342
|
src: logo.url,
|
|
@@ -4011,17 +4347,17 @@ var LogoMarquee = ({
|
|
|
4011
4347
|
) }) }, `c2-${i}`))
|
|
4012
4348
|
}
|
|
4013
4349
|
),
|
|
4014
|
-
/* @__PURE__ */ (0,
|
|
4350
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "lm__fade lm__fade--bottom", "aria-hidden": "true" })
|
|
4015
4351
|
] }) }),
|
|
4016
|
-
/* @__PURE__ */ (0,
|
|
4017
|
-
/* @__PURE__ */ (0,
|
|
4018
|
-
/* @__PURE__ */ (0,
|
|
4019
|
-
/* @__PURE__ */ (0,
|
|
4020
|
-
/* @__PURE__ */ (0,
|
|
4352
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "lm__content", children: [
|
|
4353
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("h2", { className: "lm__headline", children: headline }),
|
|
4354
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "lm__text-group", children: [
|
|
4355
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "lm__body", children: body }),
|
|
4356
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "lm__disclaimer", children: disclaimer })
|
|
4021
4357
|
] }),
|
|
4022
|
-
/* @__PURE__ */ (0,
|
|
4358
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("a", { href: ctaHref, className: "lm__link", children: [
|
|
4023
4359
|
ctaLabel,
|
|
4024
|
-
/* @__PURE__ */ (0,
|
|
4360
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "lm__link-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("path", { d: "M3 8H13M13 8L9 4M13 8L9 12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) })
|
|
4025
4361
|
] })
|
|
4026
4362
|
] })
|
|
4027
4363
|
] })
|
|
@@ -4072,7 +4408,7 @@ var appstore_linux_dark_default = "./appstore-linux-dark-RVH7CBM4.svg";
|
|
|
4072
4408
|
var appstore_browser_dark_default = "./appstore-browser-dark-2E6TK6JH.svg";
|
|
4073
4409
|
|
|
4074
4410
|
// primitives/DownloadBadge/DownloadBadge.tsx
|
|
4075
|
-
var
|
|
4411
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
4076
4412
|
var BADGE_ASSETS = {
|
|
4077
4413
|
light: {
|
|
4078
4414
|
googleplay: { src: appstore_googleplay_light_default, alt: "Get it on Google Play" },
|
|
@@ -4101,7 +4437,7 @@ var DownloadBadge = ({
|
|
|
4101
4437
|
...props
|
|
4102
4438
|
}) => {
|
|
4103
4439
|
const { src, alt } = BADGE_ASSETS[colorScheme][platform];
|
|
4104
|
-
return /* @__PURE__ */ (0,
|
|
4440
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
4105
4441
|
"a",
|
|
4106
4442
|
{
|
|
4107
4443
|
className: [
|
|
@@ -4114,13 +4450,13 @@ var DownloadBadge = ({
|
|
|
4114
4450
|
target: "_blank",
|
|
4115
4451
|
rel: "noopener noreferrer",
|
|
4116
4452
|
...props,
|
|
4117
|
-
children: /* @__PURE__ */ (0,
|
|
4453
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { className: "download-badge__img", src, alt })
|
|
4118
4454
|
}
|
|
4119
4455
|
);
|
|
4120
4456
|
};
|
|
4121
4457
|
|
|
4122
4458
|
// templates/Steps/Steps.tsx
|
|
4123
|
-
var
|
|
4459
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
4124
4460
|
var Steps = ({
|
|
4125
4461
|
title,
|
|
4126
4462
|
steps,
|
|
@@ -4132,8 +4468,8 @@ var Steps = ({
|
|
|
4132
4468
|
"steps__container",
|
|
4133
4469
|
imagePosition === "right" ? "steps__container--image-right" : ""
|
|
4134
4470
|
].filter(Boolean).join(" ");
|
|
4135
|
-
return /* @__PURE__ */ (0,
|
|
4136
|
-
image && /* @__PURE__ */ (0,
|
|
4471
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("section", { className: "steps", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: containerClass, children: [
|
|
4472
|
+
image && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "steps__image-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4137
4473
|
"img",
|
|
4138
4474
|
{
|
|
4139
4475
|
src: image,
|
|
@@ -4141,13 +4477,13 @@ var Steps = ({
|
|
|
4141
4477
|
className: "steps__image"
|
|
4142
4478
|
}
|
|
4143
4479
|
) }),
|
|
4144
|
-
/* @__PURE__ */ (0,
|
|
4145
|
-
/* @__PURE__ */ (0,
|
|
4146
|
-
/* @__PURE__ */ (0,
|
|
4147
|
-
/* @__PURE__ */ (0,
|
|
4148
|
-
/* @__PURE__ */ (0,
|
|
4149
|
-
/* @__PURE__ */ (0,
|
|
4150
|
-
/* @__PURE__ */ (0,
|
|
4480
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "steps__content", children: [
|
|
4481
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("h2", { className: "steps__title", children: title }),
|
|
4482
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("ol", { className: "steps__list", children: steps.map((step, index) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("li", { className: "steps__item", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "steps__item-inner", children: [
|
|
4483
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "steps__number", "aria-hidden": "true", children: index + 1 }),
|
|
4484
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "steps__item-body", children: [
|
|
4485
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("h3", { className: "steps__item-title", children: step.title }),
|
|
4486
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "steps__item-description", children: step.description })
|
|
4151
4487
|
] })
|
|
4152
4488
|
] }) }, index)) })
|
|
4153
4489
|
] })
|
|
@@ -4155,7 +4491,7 @@ var Steps = ({
|
|
|
4155
4491
|
};
|
|
4156
4492
|
|
|
4157
4493
|
// templates/DownloadBanner/DownloadBanner.tsx
|
|
4158
|
-
var
|
|
4494
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
4159
4495
|
var DownloadBanner = ({
|
|
4160
4496
|
style = "light-2",
|
|
4161
4497
|
qrCodeImage,
|
|
@@ -4180,9 +4516,9 @@ var DownloadBanner = ({
|
|
|
4180
4516
|
disclaimer
|
|
4181
4517
|
}) => {
|
|
4182
4518
|
const colorScheme = style === "dark" ? "dark" : "light";
|
|
4183
|
-
return /* @__PURE__ */ (0,
|
|
4184
|
-
/* @__PURE__ */ (0,
|
|
4185
|
-
qrCodeImage && /* @__PURE__ */ (0,
|
|
4519
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("section", { className: `db-section db-section--${style}`, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "db-container", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "db-card", children: [
|
|
4520
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "db-qr-block", children: [
|
|
4521
|
+
qrCodeImage && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
4186
4522
|
"img",
|
|
4187
4523
|
{
|
|
4188
4524
|
className: "db-qr-image",
|
|
@@ -4190,36 +4526,36 @@ var DownloadBanner = ({
|
|
|
4190
4526
|
alt: qrCodeAlt
|
|
4191
4527
|
}
|
|
4192
4528
|
),
|
|
4193
|
-
/* @__PURE__ */ (0,
|
|
4194
|
-
/* @__PURE__ */ (0,
|
|
4195
|
-
/* @__PURE__ */ (0,
|
|
4196
|
-
/* @__PURE__ */ (0,
|
|
4197
|
-
disclaimer && /* @__PURE__ */ (0,
|
|
4529
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "db-qr-text", children: [
|
|
4530
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "db-qr-text__title db-qr-text__title--desktop", children: qrTitle }),
|
|
4531
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("h2", { className: "db-qr-text__subtitle db-qr-text__subtitle--desktop", children: qrSubtitle }),
|
|
4532
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "db-qr-text__title db-qr-text__title--mobile", children: mobileTitle }),
|
|
4533
|
+
disclaimer && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "db-disclaimer", children: disclaimer })
|
|
4198
4534
|
] })
|
|
4199
4535
|
] }),
|
|
4200
|
-
/* @__PURE__ */ (0,
|
|
4201
|
-
showGooglePlay && /* @__PURE__ */ (0,
|
|
4202
|
-
showAppGallery && /* @__PURE__ */ (0,
|
|
4203
|
-
showMacOS && /* @__PURE__ */ (0,
|
|
4204
|
-
showWindows && /* @__PURE__ */ (0,
|
|
4205
|
-
showLinux && /* @__PURE__ */ (0,
|
|
4206
|
-
showAppStore && /* @__PURE__ */ (0,
|
|
4207
|
-
showWeb && /* @__PURE__ */ (0,
|
|
4536
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "db-badges", children: [
|
|
4537
|
+
showGooglePlay && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DownloadBadge, { platform: "googleplay", colorScheme, href: googlePlayHref }),
|
|
4538
|
+
showAppGallery && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DownloadBadge, { platform: "appgallery", colorScheme, href: appGalleryHref }),
|
|
4539
|
+
showMacOS && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DownloadBadge, { platform: "macos", colorScheme, href: macOSHref }),
|
|
4540
|
+
showWindows && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DownloadBadge, { platform: "windows", colorScheme, href: windowsHref }),
|
|
4541
|
+
showLinux && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DownloadBadge, { platform: "linux", colorScheme, href: linuxHref }),
|
|
4542
|
+
showAppStore && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DownloadBadge, { platform: "appstore", colorScheme, href: appStoreHref }),
|
|
4543
|
+
showWeb && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DownloadBadge, { platform: "web", colorScheme, href: webHref })
|
|
4208
4544
|
] })
|
|
4209
4545
|
] }) }) });
|
|
4210
4546
|
};
|
|
4211
4547
|
|
|
4212
4548
|
// templates/TextScroll/TextScroll.tsx
|
|
4213
|
-
var
|
|
4549
|
+
var import_react19 = require("react");
|
|
4214
4550
|
var import_gsap = require("gsap");
|
|
4215
4551
|
var import_ScrollTrigger = require("gsap/ScrollTrigger");
|
|
4216
|
-
var
|
|
4552
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
4217
4553
|
import_gsap.gsap.registerPlugin(import_ScrollTrigger.ScrollTrigger);
|
|
4218
4554
|
var TextScroll = ({ text, className }) => {
|
|
4219
|
-
const sectionRef = (0,
|
|
4220
|
-
const wordsRef = (0,
|
|
4555
|
+
const sectionRef = (0, import_react19.useRef)(null);
|
|
4556
|
+
const wordsRef = (0, import_react19.useRef)([]);
|
|
4221
4557
|
const words = text.split(/\s+/).filter(Boolean);
|
|
4222
|
-
(0,
|
|
4558
|
+
(0, import_react19.useEffect)(() => {
|
|
4223
4559
|
const section = sectionRef.current;
|
|
4224
4560
|
const wordEls = wordsRef.current.filter(Boolean);
|
|
4225
4561
|
if (!section || wordEls.length === 0) return;
|
|
@@ -4253,12 +4589,12 @@ var TextScroll = ({ text, className }) => {
|
|
|
4253
4589
|
import_gsap.gsap.set(wordEls, { clearProps: "opacity" });
|
|
4254
4590
|
};
|
|
4255
4591
|
}, [text]);
|
|
4256
|
-
return /* @__PURE__ */ (0,
|
|
4592
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
4257
4593
|
"section",
|
|
4258
4594
|
{
|
|
4259
4595
|
ref: sectionRef,
|
|
4260
4596
|
className: ["ts", className].filter(Boolean).join(" "),
|
|
4261
|
-
children: /* @__PURE__ */ (0,
|
|
4597
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "ts__inner", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "ts__text", "aria-label": text, children: words.map((word, i) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
4262
4598
|
"span",
|
|
4263
4599
|
{
|
|
4264
4600
|
ref: (el) => {
|
|
@@ -4278,8 +4614,8 @@ var TextScroll = ({ text, className }) => {
|
|
|
4278
4614
|
};
|
|
4279
4615
|
|
|
4280
4616
|
// templates/StickyMarketCards/StickyMarketCards.tsx
|
|
4281
|
-
var
|
|
4282
|
-
var
|
|
4617
|
+
var import_react20 = require("react");
|
|
4618
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
4283
4619
|
var PLACEHOLDER_IMAGE3 = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69b9309379ac08e59ca8210a_1f3f555da9a5cbb13a6fe1bf0d5fe1b6_placeholder-image.webp";
|
|
4284
4620
|
var StickyMarketCards = ({
|
|
4285
4621
|
sectionTitle,
|
|
@@ -4288,9 +4624,9 @@ var StickyMarketCards = ({
|
|
|
4288
4624
|
className,
|
|
4289
4625
|
...props
|
|
4290
4626
|
}) => {
|
|
4291
|
-
const cardRefs = (0,
|
|
4292
|
-
const cardInnerRefs = (0,
|
|
4293
|
-
(0,
|
|
4627
|
+
const cardRefs = (0, import_react20.useRef)([]);
|
|
4628
|
+
const cardInnerRefs = (0, import_react20.useRef)([]);
|
|
4629
|
+
(0, import_react20.useEffect)(() => {
|
|
4294
4630
|
if (typeof window === "undefined") return;
|
|
4295
4631
|
let rafId = 0;
|
|
4296
4632
|
const update = () => {
|
|
@@ -4331,7 +4667,7 @@ var StickyMarketCards = ({
|
|
|
4331
4667
|
cancelAnimationFrame(rafId);
|
|
4332
4668
|
};
|
|
4333
4669
|
}, [items.length]);
|
|
4334
|
-
(0,
|
|
4670
|
+
(0, import_react20.useEffect)(() => {
|
|
4335
4671
|
if (typeof window === "undefined") return;
|
|
4336
4672
|
const syncHeights = () => {
|
|
4337
4673
|
const inners = cardInnerRefs.current.filter(Boolean);
|
|
@@ -4360,20 +4696,20 @@ var StickyMarketCards = ({
|
|
|
4360
4696
|
const n = items.length;
|
|
4361
4697
|
const maxStack = 4;
|
|
4362
4698
|
const baseIndex = Math.max(0, n - maxStack);
|
|
4363
|
-
return /* @__PURE__ */ (0,
|
|
4699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
4364
4700
|
"section",
|
|
4365
4701
|
{
|
|
4366
4702
|
className: ["smc", className].filter(Boolean).join(" "),
|
|
4367
4703
|
...props,
|
|
4368
|
-
children: /* @__PURE__ */ (0,
|
|
4369
|
-
/* @__PURE__ */ (0,
|
|
4370
|
-
/* @__PURE__ */ (0,
|
|
4371
|
-
sectionDescription && /* @__PURE__ */ (0,
|
|
4704
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "smc__inner", children: [
|
|
4705
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "smc__header-wrap", children: [
|
|
4706
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("h2", { className: "smc__header", children: sectionTitle }),
|
|
4707
|
+
sectionDescription && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "smc__description", children: sectionDescription })
|
|
4372
4708
|
] }),
|
|
4373
|
-
/* @__PURE__ */ (0,
|
|
4709
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "smc__track", children: items.map((item, i) => {
|
|
4374
4710
|
const theme = item.theme ?? "dark";
|
|
4375
4711
|
const offsetMultiplier = Math.max(0, i - baseIndex);
|
|
4376
|
-
return /* @__PURE__ */ (0,
|
|
4712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
4377
4713
|
"div",
|
|
4378
4714
|
{
|
|
4379
4715
|
ref: (el) => {
|
|
@@ -4384,7 +4720,7 @@ var StickyMarketCards = ({
|
|
|
4384
4720
|
["--smc-card-index"]: String(offsetMultiplier),
|
|
4385
4721
|
zIndex: i + 1
|
|
4386
4722
|
},
|
|
4387
|
-
children: /* @__PURE__ */ (0,
|
|
4723
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
4388
4724
|
"div",
|
|
4389
4725
|
{
|
|
4390
4726
|
ref: (el) => {
|
|
@@ -4395,8 +4731,8 @@ var StickyMarketCards = ({
|
|
|
4395
4731
|
`smc__card-inner--${theme}`
|
|
4396
4732
|
].join(" "),
|
|
4397
4733
|
children: [
|
|
4398
|
-
/* @__PURE__ */ (0,
|
|
4399
|
-
/* @__PURE__ */ (0,
|
|
4734
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "smc__card-bg", children: [
|
|
4735
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
4400
4736
|
"img",
|
|
4401
4737
|
{
|
|
4402
4738
|
src: item.imageUrl ?? PLACEHOLDER_IMAGE3,
|
|
@@ -4405,7 +4741,7 @@ var StickyMarketCards = ({
|
|
|
4405
4741
|
loading: i === 0 ? "eager" : "lazy"
|
|
4406
4742
|
}
|
|
4407
4743
|
),
|
|
4408
|
-
/* @__PURE__ */ (0,
|
|
4744
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
4409
4745
|
"div",
|
|
4410
4746
|
{
|
|
4411
4747
|
className: [
|
|
@@ -4415,9 +4751,9 @@ var StickyMarketCards = ({
|
|
|
4415
4751
|
}
|
|
4416
4752
|
)
|
|
4417
4753
|
] }),
|
|
4418
|
-
/* @__PURE__ */ (0,
|
|
4419
|
-
/* @__PURE__ */ (0,
|
|
4420
|
-
/* @__PURE__ */ (0,
|
|
4754
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "smc__card-content", children: [
|
|
4755
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "smc__card-title-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("h3", { className: "smc__card-title", children: item.title }) }),
|
|
4756
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "smc__card-desc-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "smc__card-desc", children: item.description }) })
|
|
4421
4757
|
] })
|
|
4422
4758
|
]
|
|
4423
4759
|
}
|
|
@@ -4432,12 +4768,12 @@ var StickyMarketCards = ({
|
|
|
4432
4768
|
};
|
|
4433
4769
|
|
|
4434
4770
|
// templates/Table/Table.tsx
|
|
4435
|
-
var
|
|
4436
|
-
var
|
|
4437
|
-
var InfoIcon = ({ className }) => /* @__PURE__ */ (0,
|
|
4438
|
-
/* @__PURE__ */ (0,
|
|
4439
|
-
/* @__PURE__ */ (0,
|
|
4440
|
-
/* @__PURE__ */ (0,
|
|
4771
|
+
var import_react21 = require("react");
|
|
4772
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
4773
|
+
var InfoIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", className, children: [
|
|
4774
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "1.5" }),
|
|
4775
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("path", { d: "M12 16V12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }),
|
|
4776
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("circle", { cx: "12", cy: "8", r: "1", fill: "currentColor", stroke: "currentColor", strokeWidth: "1" })
|
|
4441
4777
|
] });
|
|
4442
4778
|
var Table = ({
|
|
4443
4779
|
sectionTitle,
|
|
@@ -4450,11 +4786,11 @@ var Table = ({
|
|
|
4450
4786
|
className,
|
|
4451
4787
|
...props
|
|
4452
4788
|
}) => {
|
|
4453
|
-
const [search, setSearch] = (0,
|
|
4454
|
-
const [page, setPage] = (0,
|
|
4455
|
-
const [tooltip, setTooltip] = (0,
|
|
4789
|
+
const [search, setSearch] = (0, import_react21.useState)("");
|
|
4790
|
+
const [page, setPage] = (0, import_react21.useState)(1);
|
|
4791
|
+
const [tooltip, setTooltip] = (0, import_react21.useState)({ visible: false, heading: "", description: "", x: 0, y: 0, arrowOffset: 0 });
|
|
4456
4792
|
const mainKey = mainColumnKey ?? columns.find((c) => c.width === "main")?.key ?? columns[0]?.key;
|
|
4457
|
-
const filtered = (0,
|
|
4793
|
+
const filtered = (0, import_react21.useMemo)(() => {
|
|
4458
4794
|
const q = search.trim().toLowerCase();
|
|
4459
4795
|
if (!q) return rows;
|
|
4460
4796
|
return rows.filter(
|
|
@@ -4474,12 +4810,12 @@ var Table = ({
|
|
|
4474
4810
|
setSearch("");
|
|
4475
4811
|
setPage(1);
|
|
4476
4812
|
};
|
|
4477
|
-
return /* @__PURE__ */ (0,
|
|
4478
|
-
sectionTitle && /* @__PURE__ */ (0,
|
|
4479
|
-
/* @__PURE__ */ (0,
|
|
4480
|
-
/* @__PURE__ */ (0,
|
|
4481
|
-
/* @__PURE__ */ (0,
|
|
4482
|
-
/* @__PURE__ */ (0,
|
|
4813
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("section", { className: ["tbl-section", className].filter(Boolean).join(" "), ...props, children: [
|
|
4814
|
+
sectionTitle && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "tbl-section__header", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("h2", { className: "tbl-section__title", children: sectionTitle }) }),
|
|
4815
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "tbl-section__content", children: [
|
|
4816
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "tbl", children: [
|
|
4817
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "tbl__topbar", children: [
|
|
4818
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "tbl__search-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
4483
4819
|
SearchField,
|
|
4484
4820
|
{
|
|
4485
4821
|
placeholder: searchPlaceholder,
|
|
@@ -4490,7 +4826,7 @@ var Table = ({
|
|
|
4490
4826
|
"aria-label": searchPlaceholder
|
|
4491
4827
|
}
|
|
4492
4828
|
) }),
|
|
4493
|
-
/* @__PURE__ */ (0,
|
|
4829
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "tbl__summary", children: filtered.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
|
|
4494
4830
|
"Showing ",
|
|
4495
4831
|
startIdx + 1,
|
|
4496
4832
|
"- ",
|
|
@@ -4499,12 +4835,12 @@ var Table = ({
|
|
|
4499
4835
|
filtered.length
|
|
4500
4836
|
] }) : "No results" })
|
|
4501
4837
|
] }),
|
|
4502
|
-
/* @__PURE__ */ (0,
|
|
4503
|
-
/* @__PURE__ */ (0,
|
|
4838
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "tbl__scroll-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("table", { className: "tbl__table", children: [
|
|
4839
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("tr", { className: "tbl__tr", children: columns.map((col, colIdx) => {
|
|
4504
4840
|
const isFirst = colIdx === 0;
|
|
4505
4841
|
const isLast = colIdx === columns.length - 1;
|
|
4506
4842
|
const isMain = col.width === "main" || col.key === mainKey;
|
|
4507
|
-
return /* @__PURE__ */ (0,
|
|
4843
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
4508
4844
|
"th",
|
|
4509
4845
|
{
|
|
4510
4846
|
className: [
|
|
@@ -4512,7 +4848,7 @@ var Table = ({
|
|
|
4512
4848
|
isMain ? "tbl__th--main" : "",
|
|
4513
4849
|
col.width === "big" ? "tbl__th--big" : ""
|
|
4514
4850
|
].filter(Boolean).join(" "),
|
|
4515
|
-
children: /* @__PURE__ */ (0,
|
|
4851
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
4516
4852
|
"div",
|
|
4517
4853
|
{
|
|
4518
4854
|
className: "tbl__th-inner",
|
|
@@ -4542,9 +4878,9 @@ var Table = ({
|
|
|
4542
4878
|
setTooltip((prev) => ({ ...prev, visible: false }));
|
|
4543
4879
|
}
|
|
4544
4880
|
},
|
|
4545
|
-
children: /* @__PURE__ */ (0,
|
|
4881
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.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_runtime38.jsxs)("span", { children: [
|
|
4546
4882
|
line,
|
|
4547
|
-
li < col.header.length - 1 && /* @__PURE__ */ (0,
|
|
4883
|
+
li < col.header.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("br", {})
|
|
4548
4884
|
] }, li)) : col.header })
|
|
4549
4885
|
}
|
|
4550
4886
|
)
|
|
@@ -4552,10 +4888,10 @@ var Table = ({
|
|
|
4552
4888
|
col.key
|
|
4553
4889
|
);
|
|
4554
4890
|
}) }) }),
|
|
4555
|
-
/* @__PURE__ */ (0,
|
|
4891
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("tbody", { className: "tbl__tbody", children: visible.length > 0 ? visible.map((row, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("tr", { className: "tbl__tr", children: columns.map((col) => {
|
|
4556
4892
|
const isMain = col.width === "main" || col.key === mainKey;
|
|
4557
4893
|
const iconUrl = row[`${col.key}_iconUrl`];
|
|
4558
|
-
return /* @__PURE__ */ (0,
|
|
4894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
4559
4895
|
"td",
|
|
4560
4896
|
{
|
|
4561
4897
|
className: [
|
|
@@ -4563,8 +4899,8 @@ var Table = ({
|
|
|
4563
4899
|
isMain ? "tbl__td--main" : "",
|
|
4564
4900
|
col.width === "big" ? "tbl__td--big" : ""
|
|
4565
4901
|
].filter(Boolean).join(" "),
|
|
4566
|
-
children: isMain ? /* @__PURE__ */ (0,
|
|
4567
|
-
iconUrl && /* @__PURE__ */ (0,
|
|
4902
|
+
children: isMain ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "tbl__cell-inner", children: [
|
|
4903
|
+
iconUrl && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
4568
4904
|
"img",
|
|
4569
4905
|
{
|
|
4570
4906
|
src: iconUrl,
|
|
@@ -4576,18 +4912,18 @@ var Table = ({
|
|
|
4576
4912
|
height: "24"
|
|
4577
4913
|
}
|
|
4578
4914
|
),
|
|
4579
|
-
/* @__PURE__ */ (0,
|
|
4580
|
-
] }) : /* @__PURE__ */ (0,
|
|
4915
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "tbl__cell-text tbl__cell-text--bold", children: row[col.key] ?? "" })
|
|
4916
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "tbl__cell-text", children: row[col.key] ?? "" })
|
|
4581
4917
|
},
|
|
4582
4918
|
col.key
|
|
4583
4919
|
);
|
|
4584
|
-
}) }, rowIdx)) : /* @__PURE__ */ (0,
|
|
4920
|
+
}) }, rowIdx)) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("tr", { className: "tbl__tr", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("td", { colSpan: columns.length, className: "tbl__empty-cell", children: [
|
|
4585
4921
|
'No results found for "',
|
|
4586
4922
|
search,
|
|
4587
4923
|
'"'
|
|
4588
4924
|
] }) }) })
|
|
4589
4925
|
] }) }),
|
|
4590
|
-
totalPages > 1 && /* @__PURE__ */ (0,
|
|
4926
|
+
totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "tbl__footer", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "tbl__pagination-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
4591
4927
|
Pagination,
|
|
4592
4928
|
{
|
|
4593
4929
|
currentPage,
|
|
@@ -4596,19 +4932,19 @@ var Table = ({
|
|
|
4596
4932
|
}
|
|
4597
4933
|
) }) })
|
|
4598
4934
|
] }),
|
|
4599
|
-
infoText && /* @__PURE__ */ (0,
|
|
4600
|
-
/* @__PURE__ */ (0,
|
|
4601
|
-
/* @__PURE__ */ (0,
|
|
4935
|
+
infoText && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "tbl-section__info-box", children: [
|
|
4936
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(InfoIcon, { className: "tbl-section__info-icon" }),
|
|
4937
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "tbl-section__info-text", children: infoText })
|
|
4602
4938
|
] })
|
|
4603
4939
|
] }),
|
|
4604
|
-
/* @__PURE__ */ (0,
|
|
4940
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
4605
4941
|
"div",
|
|
4606
4942
|
{
|
|
4607
4943
|
className: ["tbl__global-hint", tooltip.visible ? "tbl__global-hint--visible" : ""].filter(Boolean).join(" "),
|
|
4608
4944
|
style: { left: tooltip.x, top: tooltip.y - 8 },
|
|
4609
4945
|
children: [
|
|
4610
|
-
/* @__PURE__ */ (0,
|
|
4611
|
-
/* @__PURE__ */ (0,
|
|
4946
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "tbl__global-hint-desc", children: tooltip.description }),
|
|
4947
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
4612
4948
|
"div",
|
|
4613
4949
|
{
|
|
4614
4950
|
className: "tbl__global-hint-arrow",
|
|
@@ -4622,41 +4958,41 @@ var Table = ({
|
|
|
4622
4958
|
};
|
|
4623
4959
|
|
|
4624
4960
|
// templates/Leaders/Leaders.tsx
|
|
4625
|
-
var
|
|
4626
|
-
var
|
|
4627
|
-
var
|
|
4628
|
-
var
|
|
4629
|
-
var
|
|
4630
|
-
|
|
4631
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "leaders__image-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
4961
|
+
var import_react22 = require("react");
|
|
4962
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
4963
|
+
var ChevronDownIcon4 = () => /* @__PURE__ */ (0, import_jsx_runtime39.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_runtime39.jsx)("path", { d: "M4 6L8 10L12 6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
4964
|
+
var ChevronUpIcon = () => /* @__PURE__ */ (0, import_jsx_runtime39.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_runtime39.jsx)("path", { d: "M12 10L8 6L4 10", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
4965
|
+
var CardContent = ({ item }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
4966
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "avatar-grid__image-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4632
4967
|
"img",
|
|
4633
4968
|
{
|
|
4634
4969
|
src: item.imageUrl,
|
|
4635
4970
|
alt: item.name,
|
|
4636
|
-
className: "
|
|
4971
|
+
className: "avatar-grid__image",
|
|
4637
4972
|
loading: "lazy"
|
|
4638
4973
|
}
|
|
4639
4974
|
) }),
|
|
4640
|
-
/* @__PURE__ */ (0,
|
|
4641
|
-
/* @__PURE__ */ (0,
|
|
4642
|
-
/* @__PURE__ */ (0,
|
|
4975
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "avatar-grid__content", children: [
|
|
4976
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("h3", { className: "avatar-grid__name", children: item.name }),
|
|
4977
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "avatar-grid__role", children: item.role })
|
|
4643
4978
|
] }),
|
|
4644
|
-
item.
|
|
4979
|
+
item.linkUrl && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4645
4980
|
Link,
|
|
4646
4981
|
{
|
|
4647
|
-
href: item.
|
|
4982
|
+
href: item.linkUrl,
|
|
4648
4983
|
target: "_blank",
|
|
4649
4984
|
rel: "noopener noreferrer",
|
|
4650
|
-
icon:
|
|
4651
|
-
label: "
|
|
4985
|
+
icon: item.linkIcon,
|
|
4986
|
+
label: item.linkLabel ?? "Profile",
|
|
4652
4987
|
colorScheme: "black",
|
|
4653
4988
|
showChevron: false,
|
|
4654
|
-
className: "
|
|
4989
|
+
className: "avatar-grid__link"
|
|
4655
4990
|
}
|
|
4656
4991
|
)
|
|
4657
4992
|
] });
|
|
4658
|
-
var
|
|
4659
|
-
title
|
|
4993
|
+
var AvatarGrid = ({
|
|
4994
|
+
title,
|
|
4995
|
+
description,
|
|
4660
4996
|
items,
|
|
4661
4997
|
initialVisibleCount = 4,
|
|
4662
4998
|
expandText = "View all",
|
|
@@ -4664,57 +5000,258 @@ var Leaders = ({
|
|
|
4664
5000
|
className,
|
|
4665
5001
|
...props
|
|
4666
5002
|
}) => {
|
|
4667
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
5003
|
+
const [isExpanded, setIsExpanded] = (0, import_react22.useState)(false);
|
|
4668
5004
|
const hasMore = items.length > initialVisibleCount;
|
|
4669
5005
|
const visibleItems = items.slice(0, initialVisibleCount);
|
|
4670
5006
|
const extraItems = items.slice(initialVisibleCount);
|
|
4671
|
-
return /* @__PURE__ */ (0,
|
|
4672
|
-
title
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
5007
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("section", { className: ["avatar-grid", className].filter(Boolean).join(" "), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "avatar-grid__container", children: [
|
|
5008
|
+
(title || description) && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "avatar-grid__header", children: [
|
|
5009
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("h2", { className: "avatar-grid__title", children: title }),
|
|
5010
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "avatar-grid__description", children: description })
|
|
5011
|
+
] }),
|
|
5012
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "avatar-grid__grid-wrapper", children: [
|
|
5013
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "avatar-grid__grid", children: visibleItems.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "avatar-grid__card", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(CardContent, { item }) }, i)) }),
|
|
5014
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4676
5015
|
"div",
|
|
4677
5016
|
{
|
|
4678
5017
|
className: [
|
|
4679
|
-
"
|
|
4680
|
-
isExpanded ? "
|
|
5018
|
+
"avatar-grid__extra-cards",
|
|
5019
|
+
isExpanded ? "avatar-grid__extra-cards--open" : ""
|
|
4681
5020
|
].join(" "),
|
|
4682
5021
|
"aria-hidden": !isExpanded,
|
|
4683
|
-
children: /* @__PURE__ */ (0,
|
|
5022
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "avatar-grid__extra-grid", children: extraItems.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4684
5023
|
"div",
|
|
4685
5024
|
{
|
|
4686
5025
|
className: [
|
|
4687
|
-
"
|
|
4688
|
-
"
|
|
4689
|
-
isExpanded ? "
|
|
5026
|
+
"avatar-grid__card",
|
|
5027
|
+
"avatar-grid__extra-card",
|
|
5028
|
+
isExpanded ? "avatar-grid__extra-card--visible" : ""
|
|
4690
5029
|
].join(" "),
|
|
4691
5030
|
style: {
|
|
4692
5031
|
transitionDelay: isExpanded ? `${i * 70 + 120}ms` : "0ms"
|
|
4693
5032
|
},
|
|
4694
|
-
children: /* @__PURE__ */ (0,
|
|
5033
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(CardContent, { item })
|
|
4695
5034
|
},
|
|
4696
5035
|
i
|
|
4697
5036
|
)) })
|
|
4698
5037
|
}
|
|
4699
5038
|
)
|
|
4700
5039
|
] }),
|
|
4701
|
-
hasMore && /* @__PURE__ */ (0,
|
|
5040
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "avatar-grid__actions", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
4702
5041
|
Button,
|
|
4703
5042
|
{
|
|
4704
5043
|
variant: "secondary",
|
|
4705
5044
|
colorScheme: "black",
|
|
4706
5045
|
onClick: () => setIsExpanded(!isExpanded),
|
|
4707
5046
|
iconPosition: "icon-right",
|
|
4708
|
-
icon: isExpanded ? /* @__PURE__ */ (0,
|
|
5047
|
+
icon: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronUpIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronDownIcon4, {}),
|
|
5048
|
+
fullWidth: true,
|
|
4709
5049
|
children: isExpanded ? collapseText : expandText
|
|
4710
5050
|
}
|
|
4711
5051
|
) })
|
|
4712
5052
|
] }) });
|
|
4713
5053
|
};
|
|
5054
|
+
var PeopleGrid = AvatarGrid;
|
|
5055
|
+
var Leaders = AvatarGrid;
|
|
5056
|
+
|
|
5057
|
+
// templates/ImageBanner/ImageBanner.tsx
|
|
5058
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
5059
|
+
var ImageBanner = ({
|
|
5060
|
+
variant = "split",
|
|
5061
|
+
title = "Join our global community",
|
|
5062
|
+
description = "Connect with traders around the world to exchange insights, explore portfolios, and gain valuable expertise.",
|
|
5063
|
+
ctaLabel = "Trader's Hub",
|
|
5064
|
+
ctaHref,
|
|
5065
|
+
onCtaClick,
|
|
5066
|
+
imageUrl,
|
|
5067
|
+
imageAlt = "",
|
|
5068
|
+
className,
|
|
5069
|
+
...props
|
|
5070
|
+
}) => {
|
|
5071
|
+
const isFullBg = variant === "full-bg";
|
|
5072
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5073
|
+
"section",
|
|
5074
|
+
{
|
|
5075
|
+
className: ["image-banner", className].filter(Boolean).join(" "),
|
|
5076
|
+
...props,
|
|
5077
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
5078
|
+
"div",
|
|
5079
|
+
{
|
|
5080
|
+
className: [
|
|
5081
|
+
"image-banner__inner",
|
|
5082
|
+
`image-banner__inner--${variant}`
|
|
5083
|
+
].join(" "),
|
|
5084
|
+
children: [
|
|
5085
|
+
isFullBg && imageUrl && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "image-banner__bg-image-wrapper", children: [
|
|
5086
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5087
|
+
"img",
|
|
5088
|
+
{
|
|
5089
|
+
src: imageUrl,
|
|
5090
|
+
alt: imageAlt,
|
|
5091
|
+
className: "image-banner__bg-image",
|
|
5092
|
+
loading: "lazy"
|
|
5093
|
+
}
|
|
5094
|
+
),
|
|
5095
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "image-banner__bg-overlay", "aria-hidden": "true" })
|
|
5096
|
+
] }),
|
|
5097
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "image-banner__content", children: [
|
|
5098
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("h2", { className: "image-banner__title", children: title }),
|
|
5099
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "image-banner__description", children: description }),
|
|
5100
|
+
ctaLabel && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "image-banner__actions", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5101
|
+
Link,
|
|
5102
|
+
{
|
|
5103
|
+
colorScheme: "coral",
|
|
5104
|
+
label: ctaLabel,
|
|
5105
|
+
href: ctaHref,
|
|
5106
|
+
onClick: onCtaClick,
|
|
5107
|
+
showChevron: true,
|
|
5108
|
+
className: "image-banner__cta-link"
|
|
5109
|
+
}
|
|
5110
|
+
) })
|
|
5111
|
+
] }),
|
|
5112
|
+
!isFullBg && imageUrl && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "image-banner__image-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
5113
|
+
"img",
|
|
5114
|
+
{
|
|
5115
|
+
src: imageUrl,
|
|
5116
|
+
alt: imageAlt,
|
|
5117
|
+
className: "image-banner__image",
|
|
5118
|
+
loading: "lazy"
|
|
5119
|
+
}
|
|
5120
|
+
) })
|
|
5121
|
+
]
|
|
5122
|
+
}
|
|
5123
|
+
)
|
|
5124
|
+
}
|
|
5125
|
+
);
|
|
5126
|
+
};
|
|
5127
|
+
|
|
5128
|
+
// templates/Testimonial/Testimonial.tsx
|
|
5129
|
+
var import_react23 = require("react");
|
|
5130
|
+
|
|
5131
|
+
// assets/quote-left.webp
|
|
5132
|
+
var quote_left_default = "./quote-left-63QMW5NQ.webp";
|
|
5133
|
+
|
|
5134
|
+
// assets/quote-right.webp
|
|
5135
|
+
var quote_right_default = "./quote-right-W6AS4YHN.webp";
|
|
5136
|
+
|
|
5137
|
+
// templates/Testimonial/Testimonial.tsx
|
|
5138
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
5139
|
+
var Testimonial = ({
|
|
5140
|
+
title,
|
|
5141
|
+
items,
|
|
5142
|
+
className,
|
|
5143
|
+
...props
|
|
5144
|
+
}) => {
|
|
5145
|
+
const [activeIndex, setActiveIndex] = (0, import_react23.useState)(0);
|
|
5146
|
+
const [phase, setPhase] = (0, import_react23.useState)("idle");
|
|
5147
|
+
const pendingIndex = (0, import_react23.useRef)(null);
|
|
5148
|
+
const autoRef = (0, import_react23.useRef)(null);
|
|
5149
|
+
const goTo = (next) => {
|
|
5150
|
+
if (next === activeIndex || phase !== "idle") return;
|
|
5151
|
+
pendingIndex.current = next;
|
|
5152
|
+
setPhase("exiting");
|
|
5153
|
+
};
|
|
5154
|
+
(0, import_react23.useEffect)(() => {
|
|
5155
|
+
if (phase === "exiting") {
|
|
5156
|
+
const t = setTimeout(() => {
|
|
5157
|
+
setActiveIndex(pendingIndex.current ?? activeIndex);
|
|
5158
|
+
setPhase("idle");
|
|
5159
|
+
}, 200);
|
|
5160
|
+
return () => clearTimeout(t);
|
|
5161
|
+
}
|
|
5162
|
+
}, [phase, activeIndex]);
|
|
5163
|
+
(0, import_react23.useEffect)(() => {
|
|
5164
|
+
if (items.length <= 1) return;
|
|
5165
|
+
autoRef.current = setTimeout(() => {
|
|
5166
|
+
const next = (activeIndex + 1) % items.length;
|
|
5167
|
+
pendingIndex.current = next;
|
|
5168
|
+
setPhase("exiting");
|
|
5169
|
+
}, 5e3);
|
|
5170
|
+
return () => {
|
|
5171
|
+
if (autoRef.current) clearTimeout(autoRef.current);
|
|
5172
|
+
};
|
|
5173
|
+
}, [activeIndex, items.length]);
|
|
5174
|
+
if (!items || items.length === 0) return null;
|
|
5175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5176
|
+
"section",
|
|
5177
|
+
{
|
|
5178
|
+
className: ["testimonial", className].filter(Boolean).join(" "),
|
|
5179
|
+
...props,
|
|
5180
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "testimonial__container", children: [
|
|
5181
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("h2", { className: "testimonial__title", children: title }),
|
|
5182
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "testimonial__carousel", children: [
|
|
5183
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "testimonial__slides", children: items.map((item, i) => {
|
|
5184
|
+
const isActive = i === activeIndex;
|
|
5185
|
+
const isExiting = isActive && phase === "exiting";
|
|
5186
|
+
const slideClass = [
|
|
5187
|
+
"testimonial__slide",
|
|
5188
|
+
isActive && !isExiting ? "testimonial__slide--active" : "",
|
|
5189
|
+
isExiting ? "testimonial__slide--exiting" : ""
|
|
5190
|
+
].filter(Boolean).join(" ");
|
|
5191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5192
|
+
"div",
|
|
5193
|
+
{
|
|
5194
|
+
className: slideClass,
|
|
5195
|
+
role: "region",
|
|
5196
|
+
"aria-label": `Testimonial ${i + 1} of ${items.length}`,
|
|
5197
|
+
"aria-hidden": !isActive,
|
|
5198
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "testimonial__card", children: [
|
|
5199
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "testimonial__quotemark testimonial__quotemark--open", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("img", { src: quote_left_default, alt: "", className: "testimonial__quotemark-img" }) }),
|
|
5200
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "testimonial__quote", children: item.quote }),
|
|
5201
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "testimonial__author", children: [
|
|
5202
|
+
item.avatarUrl && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5203
|
+
"img",
|
|
5204
|
+
{
|
|
5205
|
+
src: item.avatarUrl,
|
|
5206
|
+
alt: item.authorName,
|
|
5207
|
+
className: "testimonial__author-avatar",
|
|
5208
|
+
loading: "lazy"
|
|
5209
|
+
}
|
|
5210
|
+
),
|
|
5211
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "testimonial__author-name", children: item.authorName }),
|
|
5212
|
+
item.authorLocation && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "testimonial__author-location", children: item.authorLocation })
|
|
5213
|
+
] }),
|
|
5214
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "testimonial__quotemark testimonial__quotemark--close", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("img", { src: quote_right_default, alt: "", className: "testimonial__quotemark-img" }) })
|
|
5215
|
+
] })
|
|
5216
|
+
},
|
|
5217
|
+
i
|
|
5218
|
+
);
|
|
5219
|
+
}) }),
|
|
5220
|
+
items.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5221
|
+
"div",
|
|
5222
|
+
{
|
|
5223
|
+
className: "testimonial__dots",
|
|
5224
|
+
role: "tablist",
|
|
5225
|
+
"aria-label": "Testimonial navigation",
|
|
5226
|
+
children: items.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5227
|
+
"button",
|
|
5228
|
+
{
|
|
5229
|
+
role: "tab",
|
|
5230
|
+
"aria-selected": i === activeIndex,
|
|
5231
|
+
"aria-label": `Go to testimonial ${i + 1}`,
|
|
5232
|
+
className: [
|
|
5233
|
+
"testimonial__dot",
|
|
5234
|
+
i === activeIndex ? "testimonial__dot--active" : ""
|
|
5235
|
+
].filter(Boolean).join(" "),
|
|
5236
|
+
onClick: () => {
|
|
5237
|
+
if (autoRef.current) clearTimeout(autoRef.current);
|
|
5238
|
+
goTo(i);
|
|
5239
|
+
}
|
|
5240
|
+
},
|
|
5241
|
+
i
|
|
5242
|
+
))
|
|
5243
|
+
}
|
|
5244
|
+
)
|
|
5245
|
+
] })
|
|
5246
|
+
] })
|
|
5247
|
+
}
|
|
5248
|
+
);
|
|
5249
|
+
};
|
|
4714
5250
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4715
5251
|
0 && (module.exports = {
|
|
4716
5252
|
AVATAR_DATA,
|
|
4717
5253
|
Accordion,
|
|
5254
|
+
AvatarGrid,
|
|
4718
5255
|
BottomSheet,
|
|
4719
5256
|
Breadcrumb,
|
|
4720
5257
|
Button,
|
|
@@ -4737,14 +5274,17 @@ var Leaders = ({
|
|
|
4737
5274
|
Footer,
|
|
4738
5275
|
Header,
|
|
4739
5276
|
Hero,
|
|
5277
|
+
ImageBanner,
|
|
4740
5278
|
Leaders,
|
|
4741
5279
|
Link,
|
|
4742
5280
|
LogoMarquee,
|
|
4743
5281
|
Navbar,
|
|
4744
5282
|
Pagination,
|
|
5283
|
+
PeopleGrid,
|
|
4745
5284
|
STEPS_DATA,
|
|
4746
5285
|
SearchField,
|
|
4747
5286
|
Stats,
|
|
5287
|
+
StatsSimple,
|
|
4748
5288
|
Steps,
|
|
4749
5289
|
StickyMarketCards,
|
|
4750
5290
|
StickyStackedCards,
|
|
@@ -4752,6 +5292,7 @@ var Leaders = ({
|
|
|
4752
5292
|
Table,
|
|
4753
5293
|
Tabs,
|
|
4754
5294
|
Tag,
|
|
5295
|
+
Testimonial,
|
|
4755
5296
|
TextField,
|
|
4756
5297
|
TextScroll,
|
|
4757
5298
|
dayNightTransitionV2Preset
|