@deriv-web-design/ui 0.0.14 → 0.0.15
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 +185 -139
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +27 -10
- package/dist/index.d.ts +27 -10
- package/dist/index.js +378 -278
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +322 -223
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/tokens.css +17 -0
package/dist/index.mjs
CHANGED
|
@@ -1793,11 +1793,76 @@ var Stats = ({
|
|
|
1793
1793
|
);
|
|
1794
1794
|
};
|
|
1795
1795
|
|
|
1796
|
-
// templates/
|
|
1796
|
+
// templates/FeatureScroll/FeatureScroll.tsx
|
|
1797
|
+
import { useLayoutEffect, useRef as useRef6, useState as useState8 } from "react";
|
|
1798
|
+
|
|
1799
|
+
// components/DotLottieInView/DotLottieInView.tsx
|
|
1797
1800
|
import { useEffect as useEffect5, useRef as useRef5, useState as useState7 } from "react";
|
|
1798
1801
|
import { DotLottieReact } from "@lottiefiles/dotlottie-react";
|
|
1799
|
-
import { jsx as jsx21
|
|
1800
|
-
|
|
1802
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1803
|
+
function DotLottieInView({
|
|
1804
|
+
enabled = true,
|
|
1805
|
+
rootMargin = "0px",
|
|
1806
|
+
threshold = 0.2,
|
|
1807
|
+
className,
|
|
1808
|
+
style,
|
|
1809
|
+
...dotProps
|
|
1810
|
+
}) {
|
|
1811
|
+
const wrapRef = useRef5(null);
|
|
1812
|
+
const [inView, setInView] = useState7(false);
|
|
1813
|
+
const [dotLottie, setDotLottie] = useState7(null);
|
|
1814
|
+
useEffect5(() => {
|
|
1815
|
+
const el = wrapRef.current;
|
|
1816
|
+
if (!el) return;
|
|
1817
|
+
const observer = new IntersectionObserver(
|
|
1818
|
+
([entry]) => {
|
|
1819
|
+
setInView(entry.isIntersecting);
|
|
1820
|
+
},
|
|
1821
|
+
{ root: null, rootMargin, threshold }
|
|
1822
|
+
);
|
|
1823
|
+
observer.observe(el);
|
|
1824
|
+
return () => observer.disconnect();
|
|
1825
|
+
}, [rootMargin, threshold]);
|
|
1826
|
+
useEffect5(() => {
|
|
1827
|
+
if (!dotLottie) return;
|
|
1828
|
+
if (!enabled || !inView) {
|
|
1829
|
+
dotLottie.stop();
|
|
1830
|
+
return;
|
|
1831
|
+
}
|
|
1832
|
+
dotLottie.stop();
|
|
1833
|
+
dotLottie.play();
|
|
1834
|
+
}, [dotLottie, enabled, inView]);
|
|
1835
|
+
return /* @__PURE__ */ jsx21(
|
|
1836
|
+
"div",
|
|
1837
|
+
{
|
|
1838
|
+
ref: wrapRef,
|
|
1839
|
+
className,
|
|
1840
|
+
style: {
|
|
1841
|
+
width: "100%",
|
|
1842
|
+
height: "100%",
|
|
1843
|
+
minHeight: 0,
|
|
1844
|
+
display: "flex",
|
|
1845
|
+
alignItems: "center",
|
|
1846
|
+
justifyContent: "center",
|
|
1847
|
+
backgroundColor: "transparent",
|
|
1848
|
+
...style
|
|
1849
|
+
},
|
|
1850
|
+
children: /* @__PURE__ */ jsx21(
|
|
1851
|
+
DotLottieReact,
|
|
1852
|
+
{
|
|
1853
|
+
...dotProps,
|
|
1854
|
+
loop: false,
|
|
1855
|
+
autoplay: false,
|
|
1856
|
+
dotLottieRefCallback: setDotLottie
|
|
1857
|
+
}
|
|
1858
|
+
)
|
|
1859
|
+
}
|
|
1860
|
+
);
|
|
1861
|
+
}
|
|
1862
|
+
|
|
1863
|
+
// templates/FeatureScroll/FeatureScroll.tsx
|
|
1864
|
+
import { jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1865
|
+
var FEATURE_SCROLL_DATA = [
|
|
1801
1866
|
{
|
|
1802
1867
|
title: "Forex",
|
|
1803
1868
|
description: "Trade the most popular currency pairs with high leverage, tight spreads, and fast execution.",
|
|
@@ -1841,16 +1906,16 @@ var SCROLLYTELLING_DATA = [
|
|
|
1841
1906
|
mediaUrl: "https://cdn.prod.website-files.com/66fbaad381fa6866fa4991f3/675a9064f2c16e4e0732abfb_Stock%20Indices.lottie"
|
|
1842
1907
|
}
|
|
1843
1908
|
];
|
|
1844
|
-
var ChevronRight2 = () => /* @__PURE__ */
|
|
1909
|
+
var ChevronRight2 = () => /* @__PURE__ */ jsx22(
|
|
1845
1910
|
"svg",
|
|
1846
1911
|
{
|
|
1847
|
-
className: "
|
|
1912
|
+
className: "fs__item-link-icon",
|
|
1848
1913
|
width: "16",
|
|
1849
1914
|
height: "16",
|
|
1850
1915
|
viewBox: "0 0 16 16",
|
|
1851
1916
|
fill: "none",
|
|
1852
1917
|
"aria-hidden": "true",
|
|
1853
|
-
children: /* @__PURE__ */
|
|
1918
|
+
children: /* @__PURE__ */ jsx22(
|
|
1854
1919
|
"path",
|
|
1855
1920
|
{
|
|
1856
1921
|
d: "M6 3l5 5-5 5",
|
|
@@ -1868,16 +1933,15 @@ function resolveMediaType(item) {
|
|
|
1868
1933
|
}
|
|
1869
1934
|
var MediaRenderer = ({ item, active }) => {
|
|
1870
1935
|
if (resolveMediaType(item) === "lottie") {
|
|
1871
|
-
return /* @__PURE__ */
|
|
1872
|
-
|
|
1936
|
+
return /* @__PURE__ */ jsx22(
|
|
1937
|
+
DotLottieInView,
|
|
1873
1938
|
{
|
|
1874
1939
|
src: item.mediaUrl,
|
|
1875
|
-
|
|
1876
|
-
autoplay: active
|
|
1940
|
+
enabled: active
|
|
1877
1941
|
}
|
|
1878
1942
|
);
|
|
1879
1943
|
}
|
|
1880
|
-
return /* @__PURE__ */
|
|
1944
|
+
return /* @__PURE__ */ jsx22(
|
|
1881
1945
|
"img",
|
|
1882
1946
|
{
|
|
1883
1947
|
src: item.mediaUrl,
|
|
@@ -1886,87 +1950,121 @@ var MediaRenderer = ({ item, active }) => {
|
|
|
1886
1950
|
}
|
|
1887
1951
|
);
|
|
1888
1952
|
};
|
|
1889
|
-
var
|
|
1953
|
+
var FeatureScroll = ({
|
|
1890
1954
|
header,
|
|
1891
1955
|
items,
|
|
1892
1956
|
variant = "media-right",
|
|
1893
1957
|
className,
|
|
1894
1958
|
...props
|
|
1895
1959
|
}) => {
|
|
1896
|
-
const [activeIndex, setActiveIndex] =
|
|
1897
|
-
const
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
if (
|
|
1901
|
-
const
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1960
|
+
const [activeIndex, setActiveIndex] = useState8(0);
|
|
1961
|
+
const titleRefs = useRef6([]);
|
|
1962
|
+
const mediaColRef = useRef6(null);
|
|
1963
|
+
useLayoutEffect(() => {
|
|
1964
|
+
if (items.length === 0) return;
|
|
1965
|
+
const readThresholdPx = () => {
|
|
1966
|
+
const col = mediaColRef.current;
|
|
1967
|
+
if (!col) return 80;
|
|
1968
|
+
const top = getComputedStyle(col).top;
|
|
1969
|
+
const px = parseFloat(top);
|
|
1970
|
+
return Number.isFinite(px) ? px : 80;
|
|
1971
|
+
};
|
|
1972
|
+
let rafId = 0;
|
|
1973
|
+
const tick = () => {
|
|
1974
|
+
rafId = 0;
|
|
1975
|
+
if (typeof window === "undefined") return;
|
|
1976
|
+
if (!window.matchMedia("(min-width: 992px)").matches) return;
|
|
1977
|
+
const threshold = readThresholdPx();
|
|
1978
|
+
const refs = titleRefs.current;
|
|
1979
|
+
let pinned = -1;
|
|
1980
|
+
for (let i = 0; i < items.length; i++) {
|
|
1981
|
+
const el = refs[i];
|
|
1982
|
+
if (!el) continue;
|
|
1983
|
+
if (el.getBoundingClientRect().top <= threshold) pinned = i;
|
|
1919
1984
|
}
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1985
|
+
const mediaIndex = Math.min(
|
|
1986
|
+
items.length - 1,
|
|
1987
|
+
pinned + 1
|
|
1988
|
+
);
|
|
1989
|
+
setActiveIndex(
|
|
1990
|
+
(prev) => prev === mediaIndex ? prev : mediaIndex
|
|
1991
|
+
);
|
|
1992
|
+
};
|
|
1993
|
+
const schedule = () => {
|
|
1994
|
+
if (rafId !== 0) return;
|
|
1995
|
+
rafId = window.requestAnimationFrame(tick);
|
|
1996
|
+
};
|
|
1997
|
+
tick();
|
|
1998
|
+
window.addEventListener("scroll", schedule, { passive: true });
|
|
1999
|
+
window.addEventListener("resize", schedule, { passive: true });
|
|
2000
|
+
const mq = window.matchMedia("(min-width: 992px)");
|
|
2001
|
+
mq.addEventListener("change", schedule);
|
|
2002
|
+
return () => {
|
|
2003
|
+
window.removeEventListener("scroll", schedule);
|
|
2004
|
+
window.removeEventListener("resize", schedule);
|
|
2005
|
+
mq.removeEventListener("change", schedule);
|
|
2006
|
+
if (rafId !== 0) window.cancelAnimationFrame(rafId);
|
|
2007
|
+
};
|
|
1923
2008
|
}, [items.length]);
|
|
1924
2009
|
const rootClass = [
|
|
1925
|
-
"
|
|
1926
|
-
`
|
|
2010
|
+
"fs",
|
|
2011
|
+
`fs--${variant}`,
|
|
1927
2012
|
className
|
|
1928
2013
|
].filter(Boolean).join(" ");
|
|
1929
|
-
|
|
1930
|
-
/* @__PURE__ */
|
|
1931
|
-
|
|
1932
|
-
|
|
2014
|
+
if (items.length === 0) {
|
|
2015
|
+
return /* @__PURE__ */ jsx22("section", { className: rootClass, ...props, children: /* @__PURE__ */ jsx22("div", { className: "fs__inner", children: /* @__PURE__ */ jsx22("h2", { className: "fs__header", children: header }) }) });
|
|
2016
|
+
}
|
|
2017
|
+
return /* @__PURE__ */ jsx22("section", { className: rootClass, ...props, children: /* @__PURE__ */ jsxs20("div", { className: "fs__inner", children: [
|
|
2018
|
+
/* @__PURE__ */ jsx22("h2", { className: "fs__header", children: header }),
|
|
2019
|
+
/* @__PURE__ */ jsxs20("div", { className: "fs__layout", children: [
|
|
2020
|
+
/* @__PURE__ */ jsx22("div", { className: "fs__media-col", "aria-hidden": "true", children: /* @__PURE__ */ jsx22(
|
|
1933
2021
|
"div",
|
|
1934
2022
|
{
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
children: /* @__PURE__ */ jsx21(
|
|
1940
|
-
MediaRenderer,
|
|
2023
|
+
ref: mediaColRef,
|
|
2024
|
+
className: "fs__media-sticky",
|
|
2025
|
+
children: /* @__PURE__ */ jsx22("div", { className: "fs__media-wrap", children: items.map((item, i) => /* @__PURE__ */ jsx22(
|
|
2026
|
+
"div",
|
|
1941
2027
|
{
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
2028
|
+
className: [
|
|
2029
|
+
"fs__media-item",
|
|
2030
|
+
i === activeIndex ? "fs__media-item--active" : ""
|
|
2031
|
+
].filter(Boolean).join(" "),
|
|
2032
|
+
children: /* @__PURE__ */ jsx22(
|
|
2033
|
+
MediaRenderer,
|
|
2034
|
+
{
|
|
2035
|
+
item,
|
|
2036
|
+
active: i === activeIndex
|
|
2037
|
+
}
|
|
2038
|
+
)
|
|
2039
|
+
},
|
|
2040
|
+
i
|
|
2041
|
+
)) })
|
|
2042
|
+
}
|
|
2043
|
+
) }),
|
|
2044
|
+
/* @__PURE__ */ jsx22("div", { className: "fs__content-col", children: items.map((item, i) => /* @__PURE__ */ jsxs20(
|
|
1950
2045
|
"div",
|
|
1951
2046
|
{
|
|
1952
|
-
|
|
1953
|
-
itemRefs.current[i] = el;
|
|
1954
|
-
},
|
|
1955
|
-
className: [
|
|
1956
|
-
"scrolly__item",
|
|
1957
|
-
i === activeIndex ? "scrolly__item--active" : "scrolly__item--inactive"
|
|
1958
|
-
].join(" "),
|
|
2047
|
+
className: "fs__item",
|
|
1959
2048
|
children: [
|
|
1960
|
-
/* @__PURE__ */
|
|
1961
|
-
|
|
2049
|
+
/* @__PURE__ */ jsx22(
|
|
2050
|
+
"h3",
|
|
2051
|
+
{
|
|
2052
|
+
ref: (el) => {
|
|
2053
|
+
titleRefs.current[i] = el;
|
|
2054
|
+
},
|
|
2055
|
+
className: "fs__item-title",
|
|
2056
|
+
children: item.title
|
|
2057
|
+
}
|
|
2058
|
+
),
|
|
2059
|
+
/* @__PURE__ */ jsx22("p", { className: "fs__item-desc", children: item.description }),
|
|
1962
2060
|
/* @__PURE__ */ jsxs20(
|
|
1963
2061
|
"a",
|
|
1964
2062
|
{
|
|
1965
2063
|
href: item.link,
|
|
1966
|
-
className: "
|
|
2064
|
+
className: "fs__item-link",
|
|
1967
2065
|
children: [
|
|
1968
|
-
/* @__PURE__ */
|
|
1969
|
-
/* @__PURE__ */
|
|
2066
|
+
/* @__PURE__ */ jsx22("span", { children: item.linkLabel }),
|
|
2067
|
+
/* @__PURE__ */ jsx22(ChevronRight2, {})
|
|
1970
2068
|
]
|
|
1971
2069
|
}
|
|
1972
2070
|
)
|
|
@@ -1975,28 +2073,28 @@ var Scrollytelling = ({
|
|
|
1975
2073
|
i
|
|
1976
2074
|
)) })
|
|
1977
2075
|
] }),
|
|
1978
|
-
/* @__PURE__ */
|
|
1979
|
-
/* @__PURE__ */
|
|
1980
|
-
/* @__PURE__ */
|
|
2076
|
+
/* @__PURE__ */ jsx22("div", { className: "fs__mobile-list", children: items.map((item, i) => /* @__PURE__ */ jsxs20("div", { className: "fs__mobile-item", children: [
|
|
2077
|
+
/* @__PURE__ */ jsx22("h3", { className: "fs__item-title", children: item.title }),
|
|
2078
|
+
/* @__PURE__ */ jsx22("div", { className: "fs__mobile-media", children: /* @__PURE__ */ jsx22(MediaRenderer, { item, active: true }) }),
|
|
2079
|
+
/* @__PURE__ */ jsx22("p", { className: "fs__item-desc", children: item.description }),
|
|
1981
2080
|
/* @__PURE__ */ jsxs20(
|
|
1982
2081
|
"a",
|
|
1983
2082
|
{
|
|
1984
2083
|
href: item.link,
|
|
1985
|
-
className: "
|
|
2084
|
+
className: "fs__item-link",
|
|
1986
2085
|
children: [
|
|
1987
|
-
/* @__PURE__ */
|
|
1988
|
-
/* @__PURE__ */
|
|
2086
|
+
/* @__PURE__ */ jsx22("span", { children: item.linkLabel }),
|
|
2087
|
+
/* @__PURE__ */ jsx22(ChevronRight2, {})
|
|
1989
2088
|
]
|
|
1990
2089
|
}
|
|
1991
|
-
)
|
|
1992
|
-
/* @__PURE__ */ jsx21("div", { className: "scrolly__mobile-media", children: /* @__PURE__ */ jsx21(MediaRenderer, { item, active: true }) })
|
|
2090
|
+
)
|
|
1993
2091
|
] }, i)) })
|
|
1994
2092
|
] }) });
|
|
1995
2093
|
};
|
|
1996
2094
|
|
|
1997
2095
|
// templates/StickyStackedCards/StickyStackedCards.tsx
|
|
1998
|
-
import { useEffect as useEffect6, useRef as
|
|
1999
|
-
import { jsx as
|
|
2096
|
+
import { useEffect as useEffect6, useRef as useRef7 } from "react";
|
|
2097
|
+
import { jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2000
2098
|
var PLACEHOLDER_IMAGE = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69b9309379ac08e59ca8210a_1f3f555da9a5cbb13a6fe1bf0d5fe1b6_placeholder-image.webp";
|
|
2001
2099
|
var STEPS_DATA = [
|
|
2002
2100
|
{
|
|
@@ -2025,7 +2123,7 @@ var StickyStackedCards = ({
|
|
|
2025
2123
|
className,
|
|
2026
2124
|
...props
|
|
2027
2125
|
}) => {
|
|
2028
|
-
const cardRefs =
|
|
2126
|
+
const cardRefs = useRef7([]);
|
|
2029
2127
|
useEffect6(() => {
|
|
2030
2128
|
if (typeof window === "undefined") return;
|
|
2031
2129
|
let rafId = 0;
|
|
@@ -2060,14 +2158,14 @@ var StickyStackedCards = ({
|
|
|
2060
2158
|
cancelAnimationFrame(rafId);
|
|
2061
2159
|
};
|
|
2062
2160
|
}, [items.length]);
|
|
2063
|
-
return /* @__PURE__ */
|
|
2161
|
+
return /* @__PURE__ */ jsx23(
|
|
2064
2162
|
"section",
|
|
2065
2163
|
{
|
|
2066
2164
|
className: ["ssc", className].filter(Boolean).join(" "),
|
|
2067
2165
|
...props,
|
|
2068
2166
|
children: /* @__PURE__ */ jsxs21("div", { className: "ssc__inner", children: [
|
|
2069
|
-
/* @__PURE__ */
|
|
2070
|
-
/* @__PURE__ */
|
|
2167
|
+
/* @__PURE__ */ jsx23("h2", { className: "ssc__header", children: header }),
|
|
2168
|
+
/* @__PURE__ */ jsx23("div", { className: "ssc__track", children: items.map((item, i) => /* @__PURE__ */ jsxs21(
|
|
2071
2169
|
"div",
|
|
2072
2170
|
{
|
|
2073
2171
|
ref: (el) => {
|
|
@@ -2094,10 +2192,10 @@ var StickyStackedCards = ({
|
|
|
2094
2192
|
},
|
|
2095
2193
|
children: [
|
|
2096
2194
|
/* @__PURE__ */ jsxs21("div", { className: "ssc__card-content", children: [
|
|
2097
|
-
/* @__PURE__ */
|
|
2098
|
-
/* @__PURE__ */
|
|
2195
|
+
/* @__PURE__ */ jsx23("h3", { className: "ssc__card-title", children: item.title }),
|
|
2196
|
+
/* @__PURE__ */ jsx23("p", { className: "ssc__card-desc", children: item.description })
|
|
2099
2197
|
] }),
|
|
2100
|
-
/* @__PURE__ */
|
|
2198
|
+
/* @__PURE__ */ jsx23("div", { className: "ssc__card-image", children: /* @__PURE__ */ jsx23(
|
|
2101
2199
|
"img",
|
|
2102
2200
|
{
|
|
2103
2201
|
src: item.imageUrl,
|
|
@@ -2115,7 +2213,7 @@ var StickyStackedCards = ({
|
|
|
2115
2213
|
};
|
|
2116
2214
|
|
|
2117
2215
|
// templates/CTABanner/CTABanner.tsx
|
|
2118
|
-
import { useRef as
|
|
2216
|
+
import { useRef as useRef8 } from "react";
|
|
2119
2217
|
import {
|
|
2120
2218
|
motion,
|
|
2121
2219
|
useScroll,
|
|
@@ -2123,7 +2221,7 @@ import {
|
|
|
2123
2221
|
useTransform,
|
|
2124
2222
|
useMotionTemplate
|
|
2125
2223
|
} from "framer-motion";
|
|
2126
|
-
import { jsx as
|
|
2224
|
+
import { jsx as jsx24, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2127
2225
|
var ENTRANCE = {
|
|
2128
2226
|
near: 80,
|
|
2129
2227
|
mid: 130,
|
|
@@ -2369,7 +2467,7 @@ var CTABanner = ({
|
|
|
2369
2467
|
...props
|
|
2370
2468
|
}) => {
|
|
2371
2469
|
const resolvedAvatars = avatars ?? (variant === "compact" ? COMPACT_AVATAR_DATA : AVATAR_DATA);
|
|
2372
|
-
const sectionRef =
|
|
2470
|
+
const sectionRef = useRef8(null);
|
|
2373
2471
|
const { scrollYProgress } = useScroll({
|
|
2374
2472
|
target: sectionRef,
|
|
2375
2473
|
offset: ["start end", "end start"]
|
|
@@ -2394,7 +2492,7 @@ var CTABanner = ({
|
|
|
2394
2492
|
className: ["ctab", variant === "compact" ? "ctab--compact" : "", className].filter(Boolean).join(" "),
|
|
2395
2493
|
...props,
|
|
2396
2494
|
children: [
|
|
2397
|
-
/* @__PURE__ */
|
|
2495
|
+
/* @__PURE__ */ jsx24(
|
|
2398
2496
|
motion.div,
|
|
2399
2497
|
{
|
|
2400
2498
|
className: "ctab__grid",
|
|
@@ -2402,7 +2500,7 @@ var CTABanner = ({
|
|
|
2402
2500
|
"aria-hidden": "true"
|
|
2403
2501
|
}
|
|
2404
2502
|
),
|
|
2405
|
-
/* @__PURE__ */
|
|
2503
|
+
/* @__PURE__ */ jsx24("div", { className: "ctab__inner", children: /* @__PURE__ */ jsxs22("div", { className: "ctab__stage", children: [
|
|
2406
2504
|
resolvedAvatars.map((avatar, index) => {
|
|
2407
2505
|
const posStyle = {};
|
|
2408
2506
|
if (avatar.desktopPos.left) posStyle["--av-d-left"] = avatar.desktopPos.left;
|
|
@@ -2411,7 +2509,7 @@ var CTABanner = ({
|
|
|
2411
2509
|
if (avatar.mobilePos?.left) posStyle["--av-m-left"] = avatar.mobilePos.left;
|
|
2412
2510
|
if (avatar.mobilePos?.right) posStyle["--av-m-right"] = avatar.mobilePos.right;
|
|
2413
2511
|
if (avatar.mobilePos?.top) posStyle["--av-m-top"] = avatar.mobilePos.top;
|
|
2414
|
-
return /* @__PURE__ */
|
|
2512
|
+
return /* @__PURE__ */ jsx24(
|
|
2415
2513
|
motion.div,
|
|
2416
2514
|
{
|
|
2417
2515
|
className: [
|
|
@@ -2425,7 +2523,7 @@ var CTABanner = ({
|
|
|
2425
2523
|
opacity: avatarOpacity,
|
|
2426
2524
|
filter: avatarFilter
|
|
2427
2525
|
},
|
|
2428
|
-
children: /* @__PURE__ */
|
|
2526
|
+
children: /* @__PURE__ */ jsx24(
|
|
2429
2527
|
"img",
|
|
2430
2528
|
{
|
|
2431
2529
|
src: avatar.imageUrl,
|
|
@@ -2444,8 +2542,8 @@ var CTABanner = ({
|
|
|
2444
2542
|
className: "ctab__hero",
|
|
2445
2543
|
style: { y: heroY, opacity: heroOpacity },
|
|
2446
2544
|
children: [
|
|
2447
|
-
/* @__PURE__ */
|
|
2448
|
-
/* @__PURE__ */
|
|
2545
|
+
/* @__PURE__ */ jsx24("h2", { className: "ctab__headline", children: headline }),
|
|
2546
|
+
/* @__PURE__ */ jsx24("a", { href: ctaHref, children: /* @__PURE__ */ jsx24(Button, { colorScheme: "black", variant: "primary", label: ctaLabel }) })
|
|
2449
2547
|
]
|
|
2450
2548
|
}
|
|
2451
2549
|
)
|
|
@@ -2456,14 +2554,14 @@ var CTABanner = ({
|
|
|
2456
2554
|
};
|
|
2457
2555
|
|
|
2458
2556
|
// components/Navbar/Navbar.tsx
|
|
2459
|
-
import { useRef as
|
|
2557
|
+
import { useRef as useRef9, useState as useState9, useEffect as useEffect7, useCallback as useCallback2 } from "react";
|
|
2460
2558
|
import { motion as motion2, AnimatePresence } from "framer-motion";
|
|
2461
2559
|
|
|
2462
2560
|
// assets/icon-globe.svg
|
|
2463
2561
|
var icon_globe_default = "./icon-globe-S54WYYEK.svg";
|
|
2464
2562
|
|
|
2465
2563
|
// components/Navbar/Navbar.tsx
|
|
2466
|
-
import { jsx as
|
|
2564
|
+
import { jsx as jsx25, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2467
2565
|
var EASE_OUT_EXPO = [0.16, 1, 0.3, 1];
|
|
2468
2566
|
var dropdownVariants = {
|
|
2469
2567
|
hidden: { opacity: 0, scale: 0.96, y: -8 },
|
|
@@ -2477,7 +2575,7 @@ var accordionVariants = {
|
|
|
2477
2575
|
hidden: { height: 0, opacity: 0 },
|
|
2478
2576
|
visible: { height: "auto", opacity: 1 }
|
|
2479
2577
|
};
|
|
2480
|
-
var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */
|
|
2578
|
+
var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ jsx25(
|
|
2481
2579
|
"svg",
|
|
2482
2580
|
{
|
|
2483
2581
|
className,
|
|
@@ -2486,7 +2584,7 @@ var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ jsx24(
|
|
|
2486
2584
|
viewBox: "0 0 14 14",
|
|
2487
2585
|
fill: "none",
|
|
2488
2586
|
"aria-hidden": "true",
|
|
2489
|
-
children: /* @__PURE__ */
|
|
2587
|
+
children: /* @__PURE__ */ jsx25(
|
|
2490
2588
|
"path",
|
|
2491
2589
|
{
|
|
2492
2590
|
d: "M2.625 4.8125L7 9.1875L11.375 4.8125",
|
|
@@ -2498,7 +2596,7 @@ var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ jsx24(
|
|
|
2498
2596
|
)
|
|
2499
2597
|
}
|
|
2500
2598
|
);
|
|
2501
|
-
var ArrowRightIcon = () => /* @__PURE__ */
|
|
2599
|
+
var ArrowRightIcon = () => /* @__PURE__ */ jsx25("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx25(
|
|
2502
2600
|
"path",
|
|
2503
2601
|
{
|
|
2504
2602
|
d: "M2.625 7H11.375M11.375 7L7.875 3.5M11.375 7L7.875 10.5",
|
|
@@ -2508,7 +2606,7 @@ var ArrowRightIcon = () => /* @__PURE__ */ jsx24("svg", { width: "14", height: "
|
|
|
2508
2606
|
strokeLinejoin: "round"
|
|
2509
2607
|
}
|
|
2510
2608
|
) });
|
|
2511
|
-
var ArrowUpRightIcon = () => /* @__PURE__ */
|
|
2609
|
+
var ArrowUpRightIcon = () => /* @__PURE__ */ jsx25("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx25(
|
|
2512
2610
|
"path",
|
|
2513
2611
|
{
|
|
2514
2612
|
d: "M4.5 11.5L11.5 4.5M11.5 4.5H5.5M11.5 4.5V10.5",
|
|
@@ -2518,7 +2616,7 @@ var ArrowUpRightIcon = () => /* @__PURE__ */ jsx24("svg", { width: "16", height:
|
|
|
2518
2616
|
strokeLinejoin: "round"
|
|
2519
2617
|
}
|
|
2520
2618
|
) });
|
|
2521
|
-
var BarsIcon = () => /* @__PURE__ */
|
|
2619
|
+
var BarsIcon = () => /* @__PURE__ */ jsx25("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx25(
|
|
2522
2620
|
"path",
|
|
2523
2621
|
{
|
|
2524
2622
|
d: "M2.5 5H17.5M2.5 10H17.5M2.5 15H17.5",
|
|
@@ -2527,7 +2625,7 @@ var BarsIcon = () => /* @__PURE__ */ jsx24("svg", { width: "20", height: "20", v
|
|
|
2527
2625
|
strokeLinecap: "round"
|
|
2528
2626
|
}
|
|
2529
2627
|
) });
|
|
2530
|
-
var XMarkIcon2 = () => /* @__PURE__ */
|
|
2628
|
+
var XMarkIcon2 = () => /* @__PURE__ */ jsx25("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx25(
|
|
2531
2629
|
"path",
|
|
2532
2630
|
{
|
|
2533
2631
|
d: "M15 5L5 15M5 5L15 15",
|
|
@@ -2536,7 +2634,7 @@ var XMarkIcon2 = () => /* @__PURE__ */ jsx24("svg", { width: "20", height: "20",
|
|
|
2536
2634
|
strokeLinecap: "round"
|
|
2537
2635
|
}
|
|
2538
2636
|
) });
|
|
2539
|
-
var ChevronLeftIcon = ({ className }) => /* @__PURE__ */
|
|
2637
|
+
var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ jsx25(
|
|
2540
2638
|
"svg",
|
|
2541
2639
|
{
|
|
2542
2640
|
className,
|
|
@@ -2545,7 +2643,7 @@ var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ jsx24(
|
|
|
2545
2643
|
viewBox: "0 0 24 24",
|
|
2546
2644
|
fill: "none",
|
|
2547
2645
|
"aria-hidden": "true",
|
|
2548
|
-
children: /* @__PURE__ */
|
|
2646
|
+
children: /* @__PURE__ */ jsx25(
|
|
2549
2647
|
"path",
|
|
2550
2648
|
{
|
|
2551
2649
|
d: "M15 18L9 12L15 6",
|
|
@@ -2557,11 +2655,11 @@ var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ jsx24(
|
|
|
2557
2655
|
)
|
|
2558
2656
|
}
|
|
2559
2657
|
);
|
|
2560
|
-
var GlobeIcon = ({ className }) => /* @__PURE__ */
|
|
2658
|
+
var GlobeIcon = ({ className }) => /* @__PURE__ */ jsx25("img", { src: icon_globe_default, alt: "", "aria-hidden": "true", width: "20", height: "20", className });
|
|
2561
2659
|
var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
|
|
2562
2660
|
const { dropdown } = item;
|
|
2563
2661
|
if (!dropdown) return null;
|
|
2564
|
-
return /* @__PURE__ */
|
|
2662
|
+
return /* @__PURE__ */ jsx25(
|
|
2565
2663
|
motion2.div,
|
|
2566
2664
|
{
|
|
2567
2665
|
className: "navbar__dropdown",
|
|
@@ -2573,8 +2671,8 @@ var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
|
|
|
2573
2671
|
onMouseEnter,
|
|
2574
2672
|
onMouseLeave,
|
|
2575
2673
|
children: /* @__PURE__ */ jsxs23("div", { className: "navbar__dropdown-inner", children: [
|
|
2576
|
-
/* @__PURE__ */
|
|
2577
|
-
/* @__PURE__ */
|
|
2674
|
+
/* @__PURE__ */ jsx25("div", { className: "navbar__dropdown-left", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ jsx25("div", { className: "navbar__dropdown-col", children: col.sections.map((section) => /* @__PURE__ */ jsxs23("div", { className: "navbar__dropdown-col-list", children: [
|
|
2675
|
+
/* @__PURE__ */ jsx25("p", { className: "navbar__dropdown-col-title", children: section.title }),
|
|
2578
2676
|
section.items.map((link) => /* @__PURE__ */ jsxs23(
|
|
2579
2677
|
"a",
|
|
2580
2678
|
{
|
|
@@ -2584,13 +2682,13 @@ var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
|
|
|
2584
2682
|
rel: link.external ? "noopener noreferrer" : void 0,
|
|
2585
2683
|
children: [
|
|
2586
2684
|
link.label,
|
|
2587
|
-
link.external ? /* @__PURE__ */
|
|
2685
|
+
link.external ? /* @__PURE__ */ jsx25(ArrowUpRightIcon, {}) : /* @__PURE__ */ jsx25(ArrowRightIcon, {})
|
|
2588
2686
|
]
|
|
2589
2687
|
},
|
|
2590
2688
|
link.href
|
|
2591
2689
|
))
|
|
2592
2690
|
] }, section.title)) }, colIdx)) }),
|
|
2593
|
-
dropdown.feature && /* @__PURE__ */
|
|
2691
|
+
dropdown.feature && /* @__PURE__ */ jsx25("div", { className: "navbar__dropdown-right", children: /* @__PURE__ */ jsx25(FeatureCard, { feature: dropdown.feature }) })
|
|
2594
2692
|
] })
|
|
2595
2693
|
}
|
|
2596
2694
|
);
|
|
@@ -2601,7 +2699,7 @@ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs23(
|
|
|
2601
2699
|
className: mobile ? "navbar__drawer-feature" : "navbar__dropdown-feature",
|
|
2602
2700
|
style: feature.backgroundImageUrl ? { backgroundImage: `url(${feature.backgroundImageUrl})` } : void 0,
|
|
2603
2701
|
children: [
|
|
2604
|
-
feature.backgroundImageUrl && /* @__PURE__ */
|
|
2702
|
+
feature.backgroundImageUrl && /* @__PURE__ */ jsx25(
|
|
2605
2703
|
"img",
|
|
2606
2704
|
{
|
|
2607
2705
|
src: feature.backgroundImageUrl,
|
|
@@ -2610,11 +2708,11 @@ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs23(
|
|
|
2610
2708
|
"aria-hidden": "true"
|
|
2611
2709
|
}
|
|
2612
2710
|
),
|
|
2613
|
-
/* @__PURE__ */
|
|
2711
|
+
/* @__PURE__ */ jsx25("div", { className: mobile ? "navbar__drawer-feature-overlay" : "navbar__dropdown-feature-overlay", "aria-hidden": "true" }),
|
|
2614
2712
|
/* @__PURE__ */ jsxs23("div", { className: mobile ? "navbar__drawer-feature-content" : "navbar__dropdown-feature-content", children: [
|
|
2615
2713
|
/* @__PURE__ */ jsxs23("div", { children: [
|
|
2616
|
-
/* @__PURE__ */
|
|
2617
|
-
/* @__PURE__ */
|
|
2714
|
+
/* @__PURE__ */ jsx25("p", { className: mobile ? "navbar__drawer-feature-title" : "navbar__dropdown-feature-title", children: feature.title }),
|
|
2715
|
+
/* @__PURE__ */ jsx25("p", { className: mobile ? "navbar__drawer-feature-desc" : "navbar__dropdown-feature-desc", children: feature.description })
|
|
2618
2716
|
] }),
|
|
2619
2717
|
/* @__PURE__ */ jsxs23(
|
|
2620
2718
|
"a",
|
|
@@ -2623,7 +2721,7 @@ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs23(
|
|
|
2623
2721
|
className: mobile ? "navbar__drawer-feature-cta" : "navbar__dropdown-feature-cta",
|
|
2624
2722
|
children: [
|
|
2625
2723
|
feature.ctaLabel,
|
|
2626
|
-
/* @__PURE__ */
|
|
2724
|
+
/* @__PURE__ */ jsx25(ArrowRightIcon, {})
|
|
2627
2725
|
]
|
|
2628
2726
|
}
|
|
2629
2727
|
)
|
|
@@ -2642,11 +2740,11 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
|
2642
2740
|
"aria-expanded": isOpen,
|
|
2643
2741
|
children: [
|
|
2644
2742
|
item.label,
|
|
2645
|
-
/* @__PURE__ */
|
|
2743
|
+
/* @__PURE__ */ jsx25(ChevronDownIcon3, { className: "navbar__drawer-trigger__chevron" })
|
|
2646
2744
|
]
|
|
2647
2745
|
}
|
|
2648
2746
|
),
|
|
2649
|
-
/* @__PURE__ */
|
|
2747
|
+
/* @__PURE__ */ jsx25(AnimatePresence, { initial: false, children: isOpen && dropdown && /* @__PURE__ */ jsx25(
|
|
2650
2748
|
motion2.div,
|
|
2651
2749
|
{
|
|
2652
2750
|
className: "navbar__drawer-panel",
|
|
@@ -2656,9 +2754,9 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
|
2656
2754
|
exit: "hidden",
|
|
2657
2755
|
transition: { duration: 0.22, ease: EASE_OUT_EXPO },
|
|
2658
2756
|
children: /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-panel-inner", children: [
|
|
2659
|
-
/* @__PURE__ */
|
|
2660
|
-
/* @__PURE__ */
|
|
2661
|
-
/* @__PURE__ */
|
|
2757
|
+
/* @__PURE__ */ jsx25("div", { className: "navbar__drawer-panel-cols", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ jsx25("div", { className: "navbar__drawer-panel-col", children: col.sections.map((section) => /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-col-section", children: [
|
|
2758
|
+
/* @__PURE__ */ jsx25("p", { className: "navbar__drawer-col-title", children: section.title }),
|
|
2759
|
+
/* @__PURE__ */ jsx25("div", { className: "navbar__drawer-col-links", children: section.items.map((link) => /* @__PURE__ */ jsx25(
|
|
2662
2760
|
"a",
|
|
2663
2761
|
{
|
|
2664
2762
|
href: link.href,
|
|
@@ -2670,7 +2768,7 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
|
2670
2768
|
link.href
|
|
2671
2769
|
)) })
|
|
2672
2770
|
] }, section.title)) }, colIdx)) }),
|
|
2673
|
-
dropdown.feature && /* @__PURE__ */
|
|
2771
|
+
dropdown.feature && /* @__PURE__ */ jsx25(FeatureCard, { feature: dropdown.feature, mobile: true })
|
|
2674
2772
|
] })
|
|
2675
2773
|
}
|
|
2676
2774
|
) })
|
|
@@ -2694,16 +2792,16 @@ var Navbar = ({
|
|
|
2694
2792
|
className,
|
|
2695
2793
|
...props
|
|
2696
2794
|
}) => {
|
|
2697
|
-
const [openDropdown, setOpenDropdown] =
|
|
2698
|
-
const [mobileOpen, setMobileOpen] =
|
|
2699
|
-
const [mobileExpanded, setMobileExpanded] =
|
|
2700
|
-
const [scrolled, setScrolled] =
|
|
2701
|
-
const [langDropdownOpen, setLangDropdownOpen] =
|
|
2702
|
-
const [mobileLangOpen, setMobileLangOpen] =
|
|
2703
|
-
const hoverTimeoutRef =
|
|
2704
|
-
const langHoverTimeoutRef =
|
|
2705
|
-
const pillAreaRef =
|
|
2706
|
-
const langBtnRef =
|
|
2795
|
+
const [openDropdown, setOpenDropdown] = useState9(null);
|
|
2796
|
+
const [mobileOpen, setMobileOpen] = useState9(false);
|
|
2797
|
+
const [mobileExpanded, setMobileExpanded] = useState9(null);
|
|
2798
|
+
const [scrolled, setScrolled] = useState9(false);
|
|
2799
|
+
const [langDropdownOpen, setLangDropdownOpen] = useState9(false);
|
|
2800
|
+
const [mobileLangOpen, setMobileLangOpen] = useState9(false);
|
|
2801
|
+
const hoverTimeoutRef = useRef9(null);
|
|
2802
|
+
const langHoverTimeoutRef = useRef9(null);
|
|
2803
|
+
const pillAreaRef = useRef9(null);
|
|
2804
|
+
const langBtnRef = useRef9(null);
|
|
2707
2805
|
const hasLangDropdown = Boolean(languageItems && languageItems.length > 0);
|
|
2708
2806
|
const resolvedLogo = theme === "light" ? logoSrcDark ?? logoSrc : logoSrc;
|
|
2709
2807
|
useEffect7(() => {
|
|
@@ -2782,9 +2880,9 @@ var Navbar = ({
|
|
|
2782
2880
|
...props,
|
|
2783
2881
|
children: [
|
|
2784
2882
|
/* @__PURE__ */ jsxs23("div", { className: "navbar__bar", children: [
|
|
2785
|
-
/* @__PURE__ */
|
|
2786
|
-
/* @__PURE__ */
|
|
2787
|
-
/* @__PURE__ */
|
|
2883
|
+
/* @__PURE__ */ jsx25("a", { href: logoHref, className: "navbar__logo", "aria-label": "Home", children: /* @__PURE__ */ jsx25("img", { src: resolvedLogo, alt: "Logo" }) }),
|
|
2884
|
+
/* @__PURE__ */ jsx25("div", { className: "navbar__nav-center", ref: pillAreaRef, children: /* @__PURE__ */ jsxs23("div", { className: "navbar__pill", children: [
|
|
2885
|
+
/* @__PURE__ */ jsx25("a", { href: logoHref, className: "navbar__pill-logo", "aria-label": "Home", children: /* @__PURE__ */ jsx25("img", { src: logoSrcDark ?? logoSrc, alt: "Logo" }) }),
|
|
2788
2886
|
/* @__PURE__ */ jsxs23("div", { className: "navbar__nav-group", children: [
|
|
2789
2887
|
navItems.map((item) => {
|
|
2790
2888
|
if (item.external) {
|
|
@@ -2797,7 +2895,7 @@ var Navbar = ({
|
|
|
2797
2895
|
rel: "noopener noreferrer",
|
|
2798
2896
|
children: [
|
|
2799
2897
|
item.label,
|
|
2800
|
-
/* @__PURE__ */
|
|
2898
|
+
/* @__PURE__ */ jsx25(ArrowUpRightIcon, {})
|
|
2801
2899
|
]
|
|
2802
2900
|
},
|
|
2803
2901
|
item.label
|
|
@@ -2817,15 +2915,15 @@ var Navbar = ({
|
|
|
2817
2915
|
"aria-haspopup": "true",
|
|
2818
2916
|
children: [
|
|
2819
2917
|
item.label,
|
|
2820
|
-
/* @__PURE__ */
|
|
2918
|
+
/* @__PURE__ */ jsx25(ChevronDownIcon3, { className: "navbar__nav-item__chevron" })
|
|
2821
2919
|
]
|
|
2822
2920
|
},
|
|
2823
2921
|
item.label
|
|
2824
2922
|
);
|
|
2825
2923
|
}
|
|
2826
|
-
return /* @__PURE__ */
|
|
2924
|
+
return /* @__PURE__ */ jsx25("a", { href: item.href, className: "navbar__nav-item", children: item.label }, item.label);
|
|
2827
2925
|
}),
|
|
2828
|
-
languageLabel && /* @__PURE__ */
|
|
2926
|
+
languageLabel && /* @__PURE__ */ jsx25(
|
|
2829
2927
|
"div",
|
|
2830
2928
|
{
|
|
2831
2929
|
className: "navbar__lang-wrapper",
|
|
@@ -2840,7 +2938,7 @@ var Navbar = ({
|
|
|
2840
2938
|
"aria-haspopup": hasLangDropdown ? "true" : void 0,
|
|
2841
2939
|
"aria-expanded": hasLangDropdown ? langDropdownOpen : void 0,
|
|
2842
2940
|
children: [
|
|
2843
|
-
/* @__PURE__ */
|
|
2941
|
+
/* @__PURE__ */ jsx25(GlobeIcon, { className: "navbar__lang-globe" }),
|
|
2844
2942
|
languageLabel
|
|
2845
2943
|
]
|
|
2846
2944
|
}
|
|
@@ -2849,11 +2947,11 @@ var Navbar = ({
|
|
|
2849
2947
|
)
|
|
2850
2948
|
] }),
|
|
2851
2949
|
/* @__PURE__ */ jsxs23("div", { className: "navbar__pill-actions", children: [
|
|
2852
|
-
loginHref && /* @__PURE__ */
|
|
2853
|
-
ctaHref && /* @__PURE__ */
|
|
2950
|
+
loginHref && /* @__PURE__ */ jsx25("a", { href: loginHref, children: /* @__PURE__ */ jsx25(Button, { colorScheme: "black", variant: "secondary", label: loginLabel }) }),
|
|
2951
|
+
ctaHref && /* @__PURE__ */ jsx25("a", { href: ctaHref, children: /* @__PURE__ */ jsx25(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
|
|
2854
2952
|
] })
|
|
2855
2953
|
] }) }),
|
|
2856
|
-
/* @__PURE__ */
|
|
2954
|
+
/* @__PURE__ */ jsx25(AnimatePresence, { children: openDropdown && activeDropdownItem?.dropdown && /* @__PURE__ */ jsx25(
|
|
2857
2955
|
DropdownPanel,
|
|
2858
2956
|
{
|
|
2859
2957
|
item: activeDropdownItem,
|
|
@@ -2862,7 +2960,7 @@ var Navbar = ({
|
|
|
2862
2960
|
},
|
|
2863
2961
|
"dropdown"
|
|
2864
2962
|
) }),
|
|
2865
|
-
/* @__PURE__ */
|
|
2963
|
+
/* @__PURE__ */ jsx25(AnimatePresence, { children: hasLangDropdown && langDropdownOpen && /* @__PURE__ */ jsx25(
|
|
2866
2964
|
motion2.div,
|
|
2867
2965
|
{
|
|
2868
2966
|
className: "navbar__lang-dropdown",
|
|
@@ -2873,12 +2971,12 @@ var Navbar = ({
|
|
|
2873
2971
|
transition: { duration: 0.18, ease: EASE_OUT_EXPO },
|
|
2874
2972
|
onMouseEnter: clearLangHoverTimeout,
|
|
2875
2973
|
onMouseLeave: handleLangLeave,
|
|
2876
|
-
children: /* @__PURE__ */
|
|
2974
|
+
children: /* @__PURE__ */ jsx25(
|
|
2877
2975
|
"div",
|
|
2878
2976
|
{
|
|
2879
2977
|
className: "navbar__lang-dropdown-grid",
|
|
2880
2978
|
style: { "--lang-rows": Math.ceil(languageItems.length / 3) },
|
|
2881
|
-
children: languageItems.map((lang) => /* @__PURE__ */
|
|
2979
|
+
children: languageItems.map((lang) => /* @__PURE__ */ jsx25(
|
|
2882
2980
|
"button",
|
|
2883
2981
|
{
|
|
2884
2982
|
className: [
|
|
@@ -2895,7 +2993,7 @@ var Navbar = ({
|
|
|
2895
2993
|
}
|
|
2896
2994
|
) }),
|
|
2897
2995
|
/* @__PURE__ */ jsxs23("div", { className: "navbar__actions", children: [
|
|
2898
|
-
loginHref && /* @__PURE__ */
|
|
2996
|
+
loginHref && /* @__PURE__ */ jsx25("a", { href: loginHref, className: "navbar__actions-login", children: /* @__PURE__ */ jsx25(
|
|
2899
2997
|
Button,
|
|
2900
2998
|
{
|
|
2901
2999
|
colorScheme: theme === "dark" ? "white" : "black",
|
|
@@ -2903,10 +3001,10 @@ var Navbar = ({
|
|
|
2903
3001
|
label: loginLabel
|
|
2904
3002
|
}
|
|
2905
3003
|
) }),
|
|
2906
|
-
ctaHref && /* @__PURE__ */
|
|
3004
|
+
ctaHref && /* @__PURE__ */ jsx25("a", { href: ctaHref, children: /* @__PURE__ */ jsx25(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
|
|
2907
3005
|
] }),
|
|
2908
3006
|
/* @__PURE__ */ jsxs23("div", { className: "navbar__mobile-actions", children: [
|
|
2909
|
-
loginHref && /* @__PURE__ */
|
|
3007
|
+
loginHref && /* @__PURE__ */ jsx25("a", { href: loginHref, children: /* @__PURE__ */ jsx25(
|
|
2910
3008
|
Button,
|
|
2911
3009
|
{
|
|
2912
3010
|
colorScheme: scrolled || theme === "light" ? "black" : "white",
|
|
@@ -2914,18 +3012,18 @@ var Navbar = ({
|
|
|
2914
3012
|
label: loginLabel
|
|
2915
3013
|
}
|
|
2916
3014
|
) }),
|
|
2917
|
-
/* @__PURE__ */
|
|
3015
|
+
/* @__PURE__ */ jsx25(
|
|
2918
3016
|
"button",
|
|
2919
3017
|
{
|
|
2920
3018
|
className: "navbar__mobile-trigger",
|
|
2921
3019
|
onClick: () => setMobileOpen((o) => !o),
|
|
2922
3020
|
"aria-label": mobileOpen ? "Close navigation menu" : "Open navigation menu",
|
|
2923
|
-
children: mobileOpen ? /* @__PURE__ */
|
|
3021
|
+
children: mobileOpen ? /* @__PURE__ */ jsx25(XMarkIcon2, {}) : /* @__PURE__ */ jsx25(BarsIcon, {})
|
|
2924
3022
|
}
|
|
2925
3023
|
)
|
|
2926
3024
|
] })
|
|
2927
3025
|
] }),
|
|
2928
|
-
/* @__PURE__ */
|
|
3026
|
+
/* @__PURE__ */ jsx25("div", { className: "navbar__drawer-clip", children: /* @__PURE__ */ jsx25(AnimatePresence, { children: mobileOpen && /* @__PURE__ */ jsxs23(
|
|
2929
3027
|
motion2.div,
|
|
2930
3028
|
{
|
|
2931
3029
|
className: "navbar__drawer",
|
|
@@ -2941,7 +3039,7 @@ var Navbar = ({
|
|
|
2941
3039
|
/* @__PURE__ */ jsxs23("nav", { className: "navbar__drawer-nav", children: [
|
|
2942
3040
|
navItems.map((item) => {
|
|
2943
3041
|
if (item.dropdown) {
|
|
2944
|
-
return /* @__PURE__ */
|
|
3042
|
+
return /* @__PURE__ */ jsx25(
|
|
2945
3043
|
DrawerAccordion,
|
|
2946
3044
|
{
|
|
2947
3045
|
item,
|
|
@@ -2962,14 +3060,14 @@ var Navbar = ({
|
|
|
2962
3060
|
rel: item.external ? "noopener noreferrer" : void 0,
|
|
2963
3061
|
children: [
|
|
2964
3062
|
item.label,
|
|
2965
|
-
item.external && /* @__PURE__ */
|
|
3063
|
+
item.external && /* @__PURE__ */ jsx25(ArrowUpRightIcon, {})
|
|
2966
3064
|
]
|
|
2967
3065
|
},
|
|
2968
3066
|
item.label
|
|
2969
3067
|
);
|
|
2970
3068
|
}),
|
|
2971
3069
|
languageLabel && !hasLangDropdown && /* @__PURE__ */ jsxs23("button", { className: "navbar__drawer-lang", onClick: onLanguageClick, children: [
|
|
2972
|
-
/* @__PURE__ */
|
|
3070
|
+
/* @__PURE__ */ jsx25(GlobeIcon, { className: "navbar__lang-globe" }),
|
|
2973
3071
|
languageLabel
|
|
2974
3072
|
] }),
|
|
2975
3073
|
languageLabel && hasLangDropdown && /* @__PURE__ */ jsxs23(
|
|
@@ -2978,14 +3076,14 @@ var Navbar = ({
|
|
|
2978
3076
|
className: "navbar__drawer-lang",
|
|
2979
3077
|
onClick: () => setMobileLangOpen(true),
|
|
2980
3078
|
children: [
|
|
2981
|
-
/* @__PURE__ */
|
|
3079
|
+
/* @__PURE__ */ jsx25(GlobeIcon, { className: "navbar__lang-globe" }),
|
|
2982
3080
|
languageLabel
|
|
2983
3081
|
]
|
|
2984
3082
|
}
|
|
2985
3083
|
)
|
|
2986
3084
|
] }),
|
|
2987
3085
|
!mobileLangOpen && /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-footer", children: [
|
|
2988
|
-
loginHref && /* @__PURE__ */
|
|
3086
|
+
loginHref && /* @__PURE__ */ jsx25("a", { href: loginHref, style: { display: "block" }, children: /* @__PURE__ */ jsx25(
|
|
2989
3087
|
Button,
|
|
2990
3088
|
{
|
|
2991
3089
|
colorScheme: "black",
|
|
@@ -2994,7 +3092,7 @@ var Navbar = ({
|
|
|
2994
3092
|
fullWidth: true
|
|
2995
3093
|
}
|
|
2996
3094
|
) }),
|
|
2997
|
-
ctaHref && /* @__PURE__ */
|
|
3095
|
+
ctaHref && /* @__PURE__ */ jsx25("a", { href: ctaHref, style: { display: "block" }, children: /* @__PURE__ */ jsx25(
|
|
2998
3096
|
Button,
|
|
2999
3097
|
{
|
|
3000
3098
|
colorScheme: "coral",
|
|
@@ -3004,7 +3102,7 @@ var Navbar = ({
|
|
|
3004
3102
|
}
|
|
3005
3103
|
) })
|
|
3006
3104
|
] }),
|
|
3007
|
-
/* @__PURE__ */
|
|
3105
|
+
/* @__PURE__ */ jsx25(AnimatePresence, { children: hasLangDropdown && mobileLangOpen && /* @__PURE__ */ jsxs23(
|
|
3008
3106
|
motion2.div,
|
|
3009
3107
|
{
|
|
3010
3108
|
className: "navbar__drawer-lang-panel",
|
|
@@ -3013,16 +3111,16 @@ var Navbar = ({
|
|
|
3013
3111
|
exit: { y: "100%" },
|
|
3014
3112
|
transition: { duration: 0.25, ease: EASE_OUT_EXPO },
|
|
3015
3113
|
children: [
|
|
3016
|
-
/* @__PURE__ */
|
|
3114
|
+
/* @__PURE__ */ jsx25(
|
|
3017
3115
|
"button",
|
|
3018
3116
|
{
|
|
3019
3117
|
className: "navbar__drawer-lang-back",
|
|
3020
3118
|
onClick: () => setMobileLangOpen(false),
|
|
3021
3119
|
"aria-label": "Back to menu",
|
|
3022
|
-
children: /* @__PURE__ */
|
|
3120
|
+
children: /* @__PURE__ */ jsx25(ChevronLeftIcon, {})
|
|
3023
3121
|
}
|
|
3024
3122
|
),
|
|
3025
|
-
/* @__PURE__ */
|
|
3123
|
+
/* @__PURE__ */ jsx25("div", { className: "navbar__drawer-lang-grid", children: languageItems.map((lang) => /* @__PURE__ */ jsx25(
|
|
3026
3124
|
"button",
|
|
3027
3125
|
{
|
|
3028
3126
|
className: [
|
|
@@ -3046,7 +3144,7 @@ var Navbar = ({
|
|
|
3046
3144
|
};
|
|
3047
3145
|
|
|
3048
3146
|
// templates/DayNightTransition/DayNightTransition.tsx
|
|
3049
|
-
import { useRef as
|
|
3147
|
+
import { useRef as useRef10 } from "react";
|
|
3050
3148
|
import {
|
|
3051
3149
|
motion as motion3,
|
|
3052
3150
|
useScroll as useScroll2,
|
|
@@ -3054,7 +3152,7 @@ import {
|
|
|
3054
3152
|
useTransform as useTransform2,
|
|
3055
3153
|
useMotionTemplate as useMotionTemplate2
|
|
3056
3154
|
} from "framer-motion";
|
|
3057
|
-
import { jsx as
|
|
3155
|
+
import { jsx as jsx26, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3058
3156
|
var SPRING2 = { stiffness: 80, damping: 30, restDelta: 1e-3 };
|
|
3059
3157
|
var FADE_START = 0.35;
|
|
3060
3158
|
var FADE_END = 0.65;
|
|
@@ -3065,16 +3163,16 @@ var TEXT_CHANNEL_NIGHT = 255;
|
|
|
3065
3163
|
var DayNightTransition = ({
|
|
3066
3164
|
dayImageUrl,
|
|
3067
3165
|
nightImageUrl,
|
|
3068
|
-
dayHeadline = "
|
|
3069
|
-
nightHeadline = "
|
|
3070
|
-
dayDescription,
|
|
3071
|
-
nightDescription,
|
|
3166
|
+
dayHeadline = "Medium length section title goes here",
|
|
3167
|
+
nightHeadline = "Medium length section title goes here",
|
|
3168
|
+
dayDescription = "Description goes here. Description goes here. Description goes here.",
|
|
3169
|
+
nightDescription = "Description goes here. Description goes here. Description goes here.",
|
|
3072
3170
|
ctaLabel = "Get started",
|
|
3073
3171
|
ctaHref = "#",
|
|
3074
3172
|
className,
|
|
3075
3173
|
...props
|
|
3076
3174
|
}) => {
|
|
3077
|
-
const wrapperRef =
|
|
3175
|
+
const wrapperRef = useRef10(null);
|
|
3078
3176
|
const { scrollYProgress } = useScroll2({
|
|
3079
3177
|
target: wrapperRef,
|
|
3080
3178
|
offset: ["start end", "end start"]
|
|
@@ -3086,14 +3184,14 @@ var DayNightTransition = ({
|
|
|
3086
3184
|
const dayOpacity = useTransform2(smooth, [WORD_START, WORD_END], [1, 0]);
|
|
3087
3185
|
const nightOpacity2 = useTransform2(smooth, [WORD_START, WORD_END], [0, 1]);
|
|
3088
3186
|
const hasDescription = Boolean(dayDescription || nightDescription);
|
|
3089
|
-
return /* @__PURE__ */
|
|
3187
|
+
return /* @__PURE__ */ jsx26(
|
|
3090
3188
|
"div",
|
|
3091
3189
|
{
|
|
3092
3190
|
ref: wrapperRef,
|
|
3093
3191
|
className: ["dnt", className].filter(Boolean).join(" "),
|
|
3094
3192
|
...props,
|
|
3095
3193
|
children: /* @__PURE__ */ jsxs24("div", { className: "dnt__sticky", children: [
|
|
3096
|
-
/* @__PURE__ */
|
|
3194
|
+
/* @__PURE__ */ jsx26(
|
|
3097
3195
|
"img",
|
|
3098
3196
|
{
|
|
3099
3197
|
className: "dnt__bg dnt__bg--day",
|
|
@@ -3103,7 +3201,7 @@ var DayNightTransition = ({
|
|
|
3103
3201
|
draggable: false
|
|
3104
3202
|
}
|
|
3105
3203
|
),
|
|
3106
|
-
/* @__PURE__ */
|
|
3204
|
+
/* @__PURE__ */ jsx26(
|
|
3107
3205
|
motion3.img,
|
|
3108
3206
|
{
|
|
3109
3207
|
className: "dnt__bg dnt__bg--night",
|
|
@@ -3114,14 +3212,14 @@ var DayNightTransition = ({
|
|
|
3114
3212
|
style: { opacity: nightOpacity }
|
|
3115
3213
|
}
|
|
3116
3214
|
),
|
|
3117
|
-
/* @__PURE__ */
|
|
3215
|
+
/* @__PURE__ */ jsx26("div", { className: "dnt__content", children: /* @__PURE__ */ jsx26("div", { className: "dnt__inner", children: /* @__PURE__ */ jsxs24(
|
|
3118
3216
|
motion3.div,
|
|
3119
3217
|
{
|
|
3120
3218
|
className: "dnt__text-wrap",
|
|
3121
3219
|
style: { color: textColor },
|
|
3122
3220
|
children: [
|
|
3123
3221
|
/* @__PURE__ */ jsxs24("div", { className: "dnt__crossfade-wrap", children: [
|
|
3124
|
-
/* @__PURE__ */
|
|
3222
|
+
/* @__PURE__ */ jsx26(
|
|
3125
3223
|
motion3.h2,
|
|
3126
3224
|
{
|
|
3127
3225
|
className: "dnt__headline",
|
|
@@ -3129,7 +3227,7 @@ var DayNightTransition = ({
|
|
|
3129
3227
|
children: dayHeadline
|
|
3130
3228
|
}
|
|
3131
3229
|
),
|
|
3132
|
-
/* @__PURE__ */
|
|
3230
|
+
/* @__PURE__ */ jsx26(
|
|
3133
3231
|
motion3.h2,
|
|
3134
3232
|
{
|
|
3135
3233
|
className: "dnt__headline",
|
|
@@ -3140,7 +3238,7 @@ var DayNightTransition = ({
|
|
|
3140
3238
|
)
|
|
3141
3239
|
] }),
|
|
3142
3240
|
hasDescription && /* @__PURE__ */ jsxs24("div", { className: "dnt__crossfade-wrap", children: [
|
|
3143
|
-
/* @__PURE__ */
|
|
3241
|
+
/* @__PURE__ */ jsx26(
|
|
3144
3242
|
motion3.p,
|
|
3145
3243
|
{
|
|
3146
3244
|
className: "dnt__description",
|
|
@@ -3148,7 +3246,7 @@ var DayNightTransition = ({
|
|
|
3148
3246
|
children: dayDescription ?? ""
|
|
3149
3247
|
}
|
|
3150
3248
|
),
|
|
3151
|
-
/* @__PURE__ */
|
|
3249
|
+
/* @__PURE__ */ jsx26(
|
|
3152
3250
|
motion3.p,
|
|
3153
3251
|
{
|
|
3154
3252
|
className: "dnt__description",
|
|
@@ -3158,17 +3256,17 @@ var DayNightTransition = ({
|
|
|
3158
3256
|
}
|
|
3159
3257
|
)
|
|
3160
3258
|
] }),
|
|
3161
|
-
/* @__PURE__ */
|
|
3259
|
+
/* @__PURE__ */ jsx26("a", { href: ctaHref, className: "dnt__btn", children: ctaLabel })
|
|
3162
3260
|
]
|
|
3163
3261
|
}
|
|
3164
|
-
) })
|
|
3262
|
+
) }) })
|
|
3165
3263
|
] })
|
|
3166
3264
|
}
|
|
3167
3265
|
);
|
|
3168
3266
|
};
|
|
3169
3267
|
|
|
3170
3268
|
// templates/LogoMarquee/LogoMarquee.tsx
|
|
3171
|
-
import { useRef as
|
|
3269
|
+
import { useRef as useRef11 } from "react";
|
|
3172
3270
|
import {
|
|
3173
3271
|
motion as motion4,
|
|
3174
3272
|
useScroll as useScroll3,
|
|
@@ -3176,7 +3274,7 @@ import {
|
|
|
3176
3274
|
useAnimationFrame,
|
|
3177
3275
|
useMotionValue
|
|
3178
3276
|
} from "framer-motion";
|
|
3179
|
-
import { jsx as
|
|
3277
|
+
import { jsx as jsx27, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3180
3278
|
function modWrap(min, max, v) {
|
|
3181
3279
|
const range = max - min;
|
|
3182
3280
|
return ((v - min) % range + range) % range + min;
|
|
@@ -3233,8 +3331,8 @@ var LogoMarquee = ({
|
|
|
3233
3331
|
const scrollVelocity = useVelocity(scrollY);
|
|
3234
3332
|
const col1Y = useMotionValue(0);
|
|
3235
3333
|
const col2Y = useMotionValue(0);
|
|
3236
|
-
const col1Ref =
|
|
3237
|
-
const col2Ref =
|
|
3334
|
+
const col1Ref = useRef11(null);
|
|
3335
|
+
const col2Ref = useRef11(null);
|
|
3238
3336
|
useAnimationFrame((_, delta) => {
|
|
3239
3337
|
const raw = scrollVelocity.get();
|
|
3240
3338
|
if (Math.abs(raw) < DEADZONE) return;
|
|
@@ -3247,21 +3345,21 @@ var LogoMarquee = ({
|
|
|
3247
3345
|
});
|
|
3248
3346
|
const track1 = [...col1Logos, ...col1Logos];
|
|
3249
3347
|
const track2 = [...col2Logos, ...col2Logos];
|
|
3250
|
-
return /* @__PURE__ */
|
|
3348
|
+
return /* @__PURE__ */ jsx27(
|
|
3251
3349
|
"section",
|
|
3252
3350
|
{
|
|
3253
3351
|
className: ["lm", className].filter(Boolean).join(" "),
|
|
3254
3352
|
...props,
|
|
3255
3353
|
children: /* @__PURE__ */ jsxs25("div", { className: "lm__inner", children: [
|
|
3256
|
-
/* @__PURE__ */
|
|
3257
|
-
/* @__PURE__ */
|
|
3258
|
-
/* @__PURE__ */
|
|
3354
|
+
/* @__PURE__ */ jsx27("div", { className: "lm__media", children: /* @__PURE__ */ jsxs25("div", { className: "lm__carousel", children: [
|
|
3355
|
+
/* @__PURE__ */ jsx27("div", { className: "lm__fade lm__fade--top", "aria-hidden": "true" }),
|
|
3356
|
+
/* @__PURE__ */ jsx27(
|
|
3259
3357
|
motion4.div,
|
|
3260
3358
|
{
|
|
3261
3359
|
ref: col1Ref,
|
|
3262
3360
|
className: "lm__col",
|
|
3263
3361
|
style: { y: col1Y },
|
|
3264
|
-
children: track1.map((logo, i) => /* @__PURE__ */
|
|
3362
|
+
children: track1.map((logo, i) => /* @__PURE__ */ jsx27("div", { className: "lm__card", children: /* @__PURE__ */ jsx27("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ jsx27(
|
|
3265
3363
|
"img",
|
|
3266
3364
|
{
|
|
3267
3365
|
src: logo.url,
|
|
@@ -3272,13 +3370,13 @@ var LogoMarquee = ({
|
|
|
3272
3370
|
) }) }, `c1-${i}`))
|
|
3273
3371
|
}
|
|
3274
3372
|
),
|
|
3275
|
-
/* @__PURE__ */
|
|
3373
|
+
/* @__PURE__ */ jsx27(
|
|
3276
3374
|
motion4.div,
|
|
3277
3375
|
{
|
|
3278
3376
|
ref: col2Ref,
|
|
3279
3377
|
className: "lm__col",
|
|
3280
3378
|
style: { y: col2Y },
|
|
3281
|
-
children: track2.map((logo, i) => /* @__PURE__ */
|
|
3379
|
+
children: track2.map((logo, i) => /* @__PURE__ */ jsx27("div", { className: "lm__card", children: /* @__PURE__ */ jsx27("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ jsx27(
|
|
3282
3380
|
"img",
|
|
3283
3381
|
{
|
|
3284
3382
|
src: logo.url,
|
|
@@ -3289,17 +3387,17 @@ var LogoMarquee = ({
|
|
|
3289
3387
|
) }) }, `c2-${i}`))
|
|
3290
3388
|
}
|
|
3291
3389
|
),
|
|
3292
|
-
/* @__PURE__ */
|
|
3390
|
+
/* @__PURE__ */ jsx27("div", { className: "lm__fade lm__fade--bottom", "aria-hidden": "true" })
|
|
3293
3391
|
] }) }),
|
|
3294
3392
|
/* @__PURE__ */ jsxs25("div", { className: "lm__content", children: [
|
|
3295
|
-
/* @__PURE__ */
|
|
3393
|
+
/* @__PURE__ */ jsx27("h2", { className: "lm__headline", children: headline }),
|
|
3296
3394
|
/* @__PURE__ */ jsxs25("div", { className: "lm__text-group", children: [
|
|
3297
|
-
/* @__PURE__ */
|
|
3298
|
-
/* @__PURE__ */
|
|
3395
|
+
/* @__PURE__ */ jsx27("p", { className: "lm__body", children: body }),
|
|
3396
|
+
/* @__PURE__ */ jsx27("p", { className: "lm__disclaimer", children: disclaimer })
|
|
3299
3397
|
] }),
|
|
3300
3398
|
/* @__PURE__ */ jsxs25("a", { href: ctaHref, className: "lm__link", children: [
|
|
3301
3399
|
ctaLabel,
|
|
3302
|
-
/* @__PURE__ */
|
|
3400
|
+
/* @__PURE__ */ jsx27("span", { className: "lm__link-icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx27("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx27("path", { d: "M3 8H13M13 8L9 4M13 8L9 12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) })
|
|
3303
3401
|
] })
|
|
3304
3402
|
] })
|
|
3305
3403
|
] })
|
|
@@ -3350,7 +3448,7 @@ var appstore_linux_dark_default = "./appstore-linux-dark-RVH7CBM4.svg";
|
|
|
3350
3448
|
var appstore_browser_dark_default = "./appstore-browser-dark-2E6TK6JH.svg";
|
|
3351
3449
|
|
|
3352
3450
|
// primitives/DownloadBadge/DownloadBadge.tsx
|
|
3353
|
-
import { jsx as
|
|
3451
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
3354
3452
|
var BADGE_ASSETS = {
|
|
3355
3453
|
light: {
|
|
3356
3454
|
googleplay: { src: appstore_googleplay_light_default, alt: "Get it on Google Play" },
|
|
@@ -3379,7 +3477,7 @@ var DownloadBadge = ({
|
|
|
3379
3477
|
...props
|
|
3380
3478
|
}) => {
|
|
3381
3479
|
const { src, alt } = BADGE_ASSETS[colorScheme][platform];
|
|
3382
|
-
return /* @__PURE__ */
|
|
3480
|
+
return /* @__PURE__ */ jsx28(
|
|
3383
3481
|
"a",
|
|
3384
3482
|
{
|
|
3385
3483
|
className: [
|
|
@@ -3392,13 +3490,13 @@ var DownloadBadge = ({
|
|
|
3392
3490
|
target: "_blank",
|
|
3393
3491
|
rel: "noopener noreferrer",
|
|
3394
3492
|
...props,
|
|
3395
|
-
children: /* @__PURE__ */
|
|
3493
|
+
children: /* @__PURE__ */ jsx28("img", { className: "download-badge__img", src, alt })
|
|
3396
3494
|
}
|
|
3397
3495
|
);
|
|
3398
3496
|
};
|
|
3399
3497
|
|
|
3400
3498
|
// templates/Steps/Steps.tsx
|
|
3401
|
-
import { jsx as
|
|
3499
|
+
import { jsx as jsx29, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3402
3500
|
var Steps = ({
|
|
3403
3501
|
title,
|
|
3404
3502
|
steps,
|
|
@@ -3410,8 +3508,8 @@ var Steps = ({
|
|
|
3410
3508
|
"steps__container",
|
|
3411
3509
|
imagePosition === "right" ? "steps__container--image-right" : ""
|
|
3412
3510
|
].filter(Boolean).join(" ");
|
|
3413
|
-
return /* @__PURE__ */
|
|
3414
|
-
image && /* @__PURE__ */
|
|
3511
|
+
return /* @__PURE__ */ jsx29("section", { className: "steps", children: /* @__PURE__ */ jsxs26("div", { className: containerClass, children: [
|
|
3512
|
+
image && /* @__PURE__ */ jsx29("div", { className: "steps__image-wrapper", children: /* @__PURE__ */ jsx29(
|
|
3415
3513
|
"img",
|
|
3416
3514
|
{
|
|
3417
3515
|
src: image,
|
|
@@ -3420,12 +3518,12 @@ var Steps = ({
|
|
|
3420
3518
|
}
|
|
3421
3519
|
) }),
|
|
3422
3520
|
/* @__PURE__ */ jsxs26("div", { className: "steps__content", children: [
|
|
3423
|
-
/* @__PURE__ */
|
|
3424
|
-
/* @__PURE__ */
|
|
3425
|
-
/* @__PURE__ */
|
|
3521
|
+
/* @__PURE__ */ jsx29("h2", { className: "steps__title", children: title }),
|
|
3522
|
+
/* @__PURE__ */ jsx29("ol", { className: "steps__list", children: steps.map((step, index) => /* @__PURE__ */ jsx29("li", { className: "steps__item", children: /* @__PURE__ */ jsxs26("div", { className: "steps__item-inner", children: [
|
|
3523
|
+
/* @__PURE__ */ jsx29("span", { className: "steps__number", "aria-hidden": "true", children: index + 1 }),
|
|
3426
3524
|
/* @__PURE__ */ jsxs26("div", { className: "steps__item-body", children: [
|
|
3427
|
-
/* @__PURE__ */
|
|
3428
|
-
/* @__PURE__ */
|
|
3525
|
+
/* @__PURE__ */ jsx29("h3", { className: "steps__item-title", children: step.title }),
|
|
3526
|
+
/* @__PURE__ */ jsx29("p", { className: "steps__item-description", children: step.description })
|
|
3429
3527
|
] })
|
|
3430
3528
|
] }) }, index)) })
|
|
3431
3529
|
] })
|
|
@@ -3433,7 +3531,7 @@ var Steps = ({
|
|
|
3433
3531
|
};
|
|
3434
3532
|
|
|
3435
3533
|
// templates/DownloadBanner/DownloadBanner.tsx
|
|
3436
|
-
import { jsx as
|
|
3534
|
+
import { jsx as jsx30, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3437
3535
|
var DownloadBanner = ({
|
|
3438
3536
|
style = "light-2",
|
|
3439
3537
|
qrCodeImage,
|
|
@@ -3458,9 +3556,9 @@ var DownloadBanner = ({
|
|
|
3458
3556
|
disclaimer
|
|
3459
3557
|
}) => {
|
|
3460
3558
|
const colorScheme = style === "dark" ? "dark" : "light";
|
|
3461
|
-
return /* @__PURE__ */
|
|
3559
|
+
return /* @__PURE__ */ jsx30("section", { className: `db-section db-section--${style}`, children: /* @__PURE__ */ jsx30("div", { className: "db-container", children: /* @__PURE__ */ jsxs27("div", { className: "db-card", children: [
|
|
3462
3560
|
/* @__PURE__ */ jsxs27("div", { className: "db-qr-block", children: [
|
|
3463
|
-
qrCodeImage && /* @__PURE__ */
|
|
3561
|
+
qrCodeImage && /* @__PURE__ */ jsx30(
|
|
3464
3562
|
"img",
|
|
3465
3563
|
{
|
|
3466
3564
|
className: "db-qr-image",
|
|
@@ -3469,20 +3567,20 @@ var DownloadBanner = ({
|
|
|
3469
3567
|
}
|
|
3470
3568
|
),
|
|
3471
3569
|
/* @__PURE__ */ jsxs27("div", { className: "db-qr-text", children: [
|
|
3472
|
-
/* @__PURE__ */
|
|
3473
|
-
/* @__PURE__ */
|
|
3474
|
-
/* @__PURE__ */
|
|
3475
|
-
disclaimer && /* @__PURE__ */
|
|
3570
|
+
/* @__PURE__ */ jsx30("span", { className: "db-qr-text__title db-qr-text__title--desktop", children: qrTitle }),
|
|
3571
|
+
/* @__PURE__ */ jsx30("h2", { className: "db-qr-text__subtitle db-qr-text__subtitle--desktop", children: qrSubtitle }),
|
|
3572
|
+
/* @__PURE__ */ jsx30("span", { className: "db-qr-text__title db-qr-text__title--mobile", children: mobileTitle }),
|
|
3573
|
+
disclaimer && /* @__PURE__ */ jsx30("span", { className: "db-disclaimer", children: disclaimer })
|
|
3476
3574
|
] })
|
|
3477
3575
|
] }),
|
|
3478
3576
|
/* @__PURE__ */ jsxs27("div", { className: "db-badges", children: [
|
|
3479
|
-
showGooglePlay && /* @__PURE__ */
|
|
3480
|
-
showAppGallery && /* @__PURE__ */
|
|
3481
|
-
showMacOS && /* @__PURE__ */
|
|
3482
|
-
showWindows && /* @__PURE__ */
|
|
3483
|
-
showLinux && /* @__PURE__ */
|
|
3484
|
-
showAppStore && /* @__PURE__ */
|
|
3485
|
-
showWeb && /* @__PURE__ */
|
|
3577
|
+
showGooglePlay && /* @__PURE__ */ jsx30(DownloadBadge, { platform: "googleplay", colorScheme, href: googlePlayHref }),
|
|
3578
|
+
showAppGallery && /* @__PURE__ */ jsx30(DownloadBadge, { platform: "appgallery", colorScheme, href: appGalleryHref }),
|
|
3579
|
+
showMacOS && /* @__PURE__ */ jsx30(DownloadBadge, { platform: "macos", colorScheme, href: macOSHref }),
|
|
3580
|
+
showWindows && /* @__PURE__ */ jsx30(DownloadBadge, { platform: "windows", colorScheme, href: windowsHref }),
|
|
3581
|
+
showLinux && /* @__PURE__ */ jsx30(DownloadBadge, { platform: "linux", colorScheme, href: linuxHref }),
|
|
3582
|
+
showAppStore && /* @__PURE__ */ jsx30(DownloadBadge, { platform: "appstore", colorScheme, href: appStoreHref }),
|
|
3583
|
+
showWeb && /* @__PURE__ */ jsx30(DownloadBadge, { platform: "web", colorScheme, href: webHref })
|
|
3486
3584
|
] })
|
|
3487
3585
|
] }) }) });
|
|
3488
3586
|
};
|
|
@@ -3499,19 +3597,20 @@ export {
|
|
|
3499
3597
|
Chip,
|
|
3500
3598
|
ChipDropdown,
|
|
3501
3599
|
DayNightTransition,
|
|
3600
|
+
DotLottieInView,
|
|
3502
3601
|
DownloadBadge,
|
|
3503
3602
|
DownloadBanner,
|
|
3603
|
+
FEATURE_SCROLL_DATA,
|
|
3504
3604
|
FeatureCards,
|
|
3505
3605
|
FeatureCardsSecondary,
|
|
3606
|
+
FeatureScroll,
|
|
3506
3607
|
Footer,
|
|
3507
3608
|
Hero,
|
|
3508
3609
|
Link,
|
|
3509
3610
|
LogoMarquee,
|
|
3510
3611
|
Navbar,
|
|
3511
3612
|
Pagination,
|
|
3512
|
-
SCROLLYTELLING_DATA,
|
|
3513
3613
|
STEPS_DATA,
|
|
3514
|
-
Scrollytelling,
|
|
3515
3614
|
SearchField,
|
|
3516
3615
|
Stats,
|
|
3517
3616
|
Steps,
|