@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.mjs CHANGED
@@ -1793,11 +1793,76 @@ var Stats = ({
1793
1793
  );
1794
1794
  };
1795
1795
 
1796
- // templates/Scrollytelling/Scrollytelling.tsx
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, jsxs as jsxs20 } from "react/jsx-runtime";
1800
- var SCROLLYTELLING_DATA = [
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__ */ jsx21(
1909
+ var ChevronRight2 = () => /* @__PURE__ */ jsx22(
1845
1910
  "svg",
1846
1911
  {
1847
- className: "scrolly__item-link-icon",
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__ */ jsx21(
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__ */ jsx21(
1872
- DotLottieReact,
1936
+ return /* @__PURE__ */ jsx22(
1937
+ DotLottieInView,
1873
1938
  {
1874
1939
  src: item.mediaUrl,
1875
- loop: true,
1876
- autoplay: active
1940
+ enabled: active
1877
1941
  }
1878
1942
  );
1879
1943
  }
1880
- return /* @__PURE__ */ jsx21(
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 Scrollytelling = ({
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] = useState7(0);
1897
- const itemRefs = useRef5([]);
1898
- useEffect5(() => {
1899
- const elements = itemRefs.current.filter(Boolean);
1900
- if (!elements.length) return;
1901
- const observer = new IntersectionObserver(
1902
- (entries) => {
1903
- entries.forEach((entry) => {
1904
- if (entry.isIntersecting) {
1905
- const idx = itemRefs.current.indexOf(
1906
- entry.target
1907
- );
1908
- if (idx !== -1) setActiveIndex(idx);
1909
- }
1910
- });
1911
- },
1912
- {
1913
- /* Fire when 50 % of the text block is visible.
1914
- rootMargin trims the effective viewport to its
1915
- middle third, preventing accidental fires when
1916
- items are only just entering / leaving the screen. */
1917
- threshold: 0.5,
1918
- rootMargin: "-15% 0px -15% 0px"
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
- elements.forEach((el) => observer.observe(el));
1922
- return () => observer.disconnect();
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
- "scrolly",
1926
- `scrolly--${variant}`,
2010
+ "fs",
2011
+ `fs--${variant}`,
1927
2012
  className
1928
2013
  ].filter(Boolean).join(" ");
1929
- return /* @__PURE__ */ jsx21("section", { className: rootClass, ...props, children: /* @__PURE__ */ jsxs20("div", { className: "scrolly__inner", children: [
1930
- /* @__PURE__ */ jsx21("h2", { className: "scrolly__header", children: header }),
1931
- /* @__PURE__ */ jsxs20("div", { className: "scrolly__layout", children: [
1932
- /* @__PURE__ */ jsx21("div", { className: "scrolly__media-col", "aria-hidden": "true", children: /* @__PURE__ */ jsx21("div", { className: "scrolly__media-wrap", children: items.map((item, i) => /* @__PURE__ */ jsx21(
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
- className: [
1936
- "scrolly__media-item",
1937
- i === activeIndex ? "scrolly__media-item--active" : ""
1938
- ].filter(Boolean).join(" "),
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
- item,
1943
- active: i === activeIndex
1944
- }
1945
- )
1946
- },
1947
- i
1948
- )) }) }),
1949
- /* @__PURE__ */ jsx21("div", { className: "scrolly__content-col", children: items.map((item, i) => /* @__PURE__ */ jsxs20(
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
- ref: (el) => {
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__ */ jsx21("h3", { className: "scrolly__item-title", children: item.title }),
1961
- /* @__PURE__ */ jsx21("p", { className: "scrolly__item-desc", children: item.description }),
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: "scrolly__item-link",
2064
+ className: "fs__item-link",
1967
2065
  children: [
1968
- /* @__PURE__ */ jsx21("span", { children: item.linkLabel }),
1969
- /* @__PURE__ */ jsx21(ChevronRight2, {})
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__ */ jsx21("div", { className: "scrolly__mobile-list", children: items.map((item, i) => /* @__PURE__ */ jsxs20("div", { className: "scrolly__mobile-item", children: [
1979
- /* @__PURE__ */ jsx21("h3", { className: "scrolly__item-title", children: item.title }),
1980
- /* @__PURE__ */ jsx21("p", { className: "scrolly__item-desc", children: item.description }),
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: "scrolly__item-link",
2084
+ className: "fs__item-link",
1986
2085
  children: [
1987
- /* @__PURE__ */ jsx21("span", { children: "Learn more" }),
1988
- /* @__PURE__ */ jsx21(ChevronRight2, {})
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 useRef6 } from "react";
1999
- import { jsx as jsx22, jsxs as jsxs21 } from "react/jsx-runtime";
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 = useRef6([]);
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__ */ jsx22(
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__ */ jsx22("h2", { className: "ssc__header", children: header }),
2070
- /* @__PURE__ */ jsx22("div", { className: "ssc__track", children: items.map((item, i) => /* @__PURE__ */ jsxs21(
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__ */ jsx22("h3", { className: "ssc__card-title", children: item.title }),
2098
- /* @__PURE__ */ jsx22("p", { className: "ssc__card-desc", children: item.description })
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__ */ jsx22("div", { className: "ssc__card-image", children: /* @__PURE__ */ jsx22(
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 useRef7 } from "react";
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 jsx23, jsxs as jsxs22 } from "react/jsx-runtime";
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 = useRef7(null);
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__ */ jsx23(
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__ */ jsx23("div", { className: "ctab__inner", children: /* @__PURE__ */ jsxs22("div", { className: "ctab__stage", children: [
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__ */ jsx23(
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__ */ jsx23(
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__ */ jsx23("h2", { className: "ctab__headline", children: headline }),
2448
- /* @__PURE__ */ jsx23("a", { href: ctaHref, children: /* @__PURE__ */ jsx23(Button, { colorScheme: "black", variant: "primary", label: ctaLabel }) })
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 useRef8, useState as useState8, useEffect as useEffect7, useCallback as useCallback2 } from "react";
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 jsx24, jsxs as jsxs23 } from "react/jsx-runtime";
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__ */ jsx24(
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__ */ jsx24(
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__ */ jsx24("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx24(
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__ */ jsx24("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx24(
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__ */ jsx24("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx24(
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__ */ jsx24("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx24(
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__ */ jsx24(
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__ */ jsx24(
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__ */ jsx24("img", { src: icon_globe_default, alt: "", "aria-hidden": "true", width: "20", height: "20", className });
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__ */ jsx24(
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__ */ jsx24("div", { className: "navbar__dropdown-left", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ jsx24("div", { className: "navbar__dropdown-col", children: col.sections.map((section) => /* @__PURE__ */ jsxs23("div", { className: "navbar__dropdown-col-list", children: [
2577
- /* @__PURE__ */ jsx24("p", { className: "navbar__dropdown-col-title", children: section.title }),
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__ */ jsx24(ArrowUpRightIcon, {}) : /* @__PURE__ */ jsx24(ArrowRightIcon, {})
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__ */ jsx24("div", { className: "navbar__dropdown-right", children: /* @__PURE__ */ jsx24(FeatureCard, { feature: dropdown.feature }) })
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__ */ jsx24(
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__ */ jsx24("div", { className: mobile ? "navbar__drawer-feature-overlay" : "navbar__dropdown-feature-overlay", "aria-hidden": "true" }),
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__ */ jsx24("p", { className: mobile ? "navbar__drawer-feature-title" : "navbar__dropdown-feature-title", children: feature.title }),
2617
- /* @__PURE__ */ jsx24("p", { className: mobile ? "navbar__drawer-feature-desc" : "navbar__dropdown-feature-desc", children: feature.description })
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__ */ jsx24(ArrowRightIcon, {})
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__ */ jsx24(ChevronDownIcon3, { className: "navbar__drawer-trigger__chevron" })
2743
+ /* @__PURE__ */ jsx25(ChevronDownIcon3, { className: "navbar__drawer-trigger__chevron" })
2646
2744
  ]
2647
2745
  }
2648
2746
  ),
2649
- /* @__PURE__ */ jsx24(AnimatePresence, { initial: false, children: isOpen && dropdown && /* @__PURE__ */ jsx24(
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__ */ jsx24("div", { className: "navbar__drawer-panel-cols", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ jsx24("div", { className: "navbar__drawer-panel-col", children: col.sections.map((section) => /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-col-section", children: [
2660
- /* @__PURE__ */ jsx24("p", { className: "navbar__drawer-col-title", children: section.title }),
2661
- /* @__PURE__ */ jsx24("div", { className: "navbar__drawer-col-links", children: section.items.map((link) => /* @__PURE__ */ jsx24(
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__ */ jsx24(FeatureCard, { feature: dropdown.feature, mobile: true })
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] = useState8(null);
2698
- const [mobileOpen, setMobileOpen] = useState8(false);
2699
- const [mobileExpanded, setMobileExpanded] = useState8(null);
2700
- const [scrolled, setScrolled] = useState8(false);
2701
- const [langDropdownOpen, setLangDropdownOpen] = useState8(false);
2702
- const [mobileLangOpen, setMobileLangOpen] = useState8(false);
2703
- const hoverTimeoutRef = useRef8(null);
2704
- const langHoverTimeoutRef = useRef8(null);
2705
- const pillAreaRef = useRef8(null);
2706
- const langBtnRef = useRef8(null);
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__ */ jsx24("a", { href: logoHref, className: "navbar__logo", "aria-label": "Home", children: /* @__PURE__ */ jsx24("img", { src: resolvedLogo, alt: "Logo" }) }),
2786
- /* @__PURE__ */ jsx24("div", { className: "navbar__nav-center", ref: pillAreaRef, children: /* @__PURE__ */ jsxs23("div", { className: "navbar__pill", children: [
2787
- /* @__PURE__ */ jsx24("a", { href: logoHref, className: "navbar__pill-logo", "aria-label": "Home", children: /* @__PURE__ */ jsx24("img", { src: logoSrcDark ?? logoSrc, alt: "Logo" }) }),
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__ */ jsx24(ArrowUpRightIcon, {})
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__ */ jsx24(ChevronDownIcon3, { className: "navbar__nav-item__chevron" })
2918
+ /* @__PURE__ */ jsx25(ChevronDownIcon3, { className: "navbar__nav-item__chevron" })
2821
2919
  ]
2822
2920
  },
2823
2921
  item.label
2824
2922
  );
2825
2923
  }
2826
- return /* @__PURE__ */ jsx24("a", { href: item.href, className: "navbar__nav-item", children: item.label }, item.label);
2924
+ return /* @__PURE__ */ jsx25("a", { href: item.href, className: "navbar__nav-item", children: item.label }, item.label);
2827
2925
  }),
2828
- languageLabel && /* @__PURE__ */ jsx24(
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__ */ jsx24(GlobeIcon, { className: "navbar__lang-globe" }),
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__ */ jsx24("a", { href: loginHref, children: /* @__PURE__ */ jsx24(Button, { colorScheme: "black", variant: "secondary", label: loginLabel }) }),
2853
- ctaHref && /* @__PURE__ */ jsx24("a", { href: ctaHref, children: /* @__PURE__ */ jsx24(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
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__ */ jsx24(AnimatePresence, { children: openDropdown && activeDropdownItem?.dropdown && /* @__PURE__ */ jsx24(
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__ */ jsx24(AnimatePresence, { children: hasLangDropdown && langDropdownOpen && /* @__PURE__ */ jsx24(
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__ */ jsx24(
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__ */ jsx24(
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__ */ jsx24("a", { href: loginHref, className: "navbar__actions-login", children: /* @__PURE__ */ jsx24(
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__ */ jsx24("a", { href: ctaHref, children: /* @__PURE__ */ jsx24(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
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__ */ jsx24("a", { href: loginHref, children: /* @__PURE__ */ jsx24(
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__ */ jsx24(
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__ */ jsx24(XMarkIcon2, {}) : /* @__PURE__ */ jsx24(BarsIcon, {})
3021
+ children: mobileOpen ? /* @__PURE__ */ jsx25(XMarkIcon2, {}) : /* @__PURE__ */ jsx25(BarsIcon, {})
2924
3022
  }
2925
3023
  )
2926
3024
  ] })
2927
3025
  ] }),
2928
- /* @__PURE__ */ jsx24("div", { className: "navbar__drawer-clip", children: /* @__PURE__ */ jsx24(AnimatePresence, { children: mobileOpen && /* @__PURE__ */ jsxs23(
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__ */ jsx24(
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__ */ jsx24(ArrowUpRightIcon, {})
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__ */ jsx24(GlobeIcon, { className: "navbar__lang-globe" }),
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__ */ jsx24(GlobeIcon, { className: "navbar__lang-globe" }),
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__ */ jsx24("a", { href: loginHref, style: { display: "block" }, children: /* @__PURE__ */ jsx24(
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__ */ jsx24("a", { href: ctaHref, style: { display: "block" }, children: /* @__PURE__ */ jsx24(
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__ */ jsx24(AnimatePresence, { children: hasLangDropdown && mobileLangOpen && /* @__PURE__ */ jsxs23(
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__ */ jsx24(
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__ */ jsx24(ChevronLeftIcon, {})
3120
+ children: /* @__PURE__ */ jsx25(ChevronLeftIcon, {})
3023
3121
  }
3024
3122
  ),
3025
- /* @__PURE__ */ jsx24("div", { className: "navbar__drawer-lang-grid", children: languageItems.map((lang) => /* @__PURE__ */ jsx24(
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 useRef9 } from "react";
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 jsx25, jsxs as jsxs24 } from "react/jsx-runtime";
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 = "Trade all day",
3069
- nightHeadline = "Trade all night",
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 = useRef9(null);
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__ */ jsx25(
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__ */ jsx25(
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__ */ jsx25(
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__ */ jsx25("div", { className: "dnt__content", children: /* @__PURE__ */ jsxs24(
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__ */ jsx25(
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__ */ jsx25(
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__ */ jsx25(
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__ */ jsx25(
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__ */ jsx25("a", { href: ctaHref, className: "dnt__btn", children: ctaLabel })
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 useRef10 } from "react";
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 jsx26, jsxs as jsxs25 } from "react/jsx-runtime";
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 = useRef10(null);
3237
- const col2Ref = useRef10(null);
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__ */ jsx26(
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__ */ jsx26("div", { className: "lm__media", children: /* @__PURE__ */ jsxs25("div", { className: "lm__carousel", children: [
3257
- /* @__PURE__ */ jsx26("div", { className: "lm__fade lm__fade--top", "aria-hidden": "true" }),
3258
- /* @__PURE__ */ jsx26(
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__ */ jsx26("div", { className: "lm__card", children: /* @__PURE__ */ jsx26("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ jsx26(
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__ */ jsx26(
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__ */ jsx26("div", { className: "lm__card", children: /* @__PURE__ */ jsx26("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ jsx26(
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__ */ jsx26("div", { className: "lm__fade lm__fade--bottom", "aria-hidden": "true" })
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__ */ jsx26("h2", { className: "lm__headline", children: headline }),
3393
+ /* @__PURE__ */ jsx27("h2", { className: "lm__headline", children: headline }),
3296
3394
  /* @__PURE__ */ jsxs25("div", { className: "lm__text-group", children: [
3297
- /* @__PURE__ */ jsx26("p", { className: "lm__body", children: body }),
3298
- /* @__PURE__ */ jsx26("p", { className: "lm__disclaimer", children: disclaimer })
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__ */ jsx26("span", { className: "lm__link-icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx26("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx26("path", { d: "M3 8H13M13 8L9 4M13 8L9 12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) })
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 jsx27 } from "react/jsx-runtime";
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__ */ jsx27(
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__ */ jsx27("img", { className: "download-badge__img", src, alt })
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 jsx28, jsxs as jsxs26 } from "react/jsx-runtime";
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__ */ jsx28("section", { className: "steps", children: /* @__PURE__ */ jsxs26("div", { className: containerClass, children: [
3414
- image && /* @__PURE__ */ jsx28("div", { className: "steps__image-wrapper", children: /* @__PURE__ */ jsx28(
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__ */ jsx28("h2", { className: "steps__title", children: title }),
3424
- /* @__PURE__ */ jsx28("ol", { className: "steps__list", children: steps.map((step, index) => /* @__PURE__ */ jsx28("li", { className: "steps__item", children: /* @__PURE__ */ jsxs26("div", { className: "steps__item-inner", children: [
3425
- /* @__PURE__ */ jsx28("span", { className: "steps__number", "aria-hidden": "true", children: index + 1 }),
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__ */ jsx28("h3", { className: "steps__item-title", children: step.title }),
3428
- /* @__PURE__ */ jsx28("p", { className: "steps__item-description", children: step.description })
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 jsx29, jsxs as jsxs27 } from "react/jsx-runtime";
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__ */ jsx29("section", { className: `db-section db-section--${style}`, children: /* @__PURE__ */ jsx29("div", { className: "db-container", children: /* @__PURE__ */ jsxs27("div", { className: "db-card", children: [
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__ */ jsx29(
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__ */ jsx29("span", { className: "db-qr-text__title db-qr-text__title--desktop", children: qrTitle }),
3473
- /* @__PURE__ */ jsx29("h2", { className: "db-qr-text__subtitle db-qr-text__subtitle--desktop", children: qrSubtitle }),
3474
- /* @__PURE__ */ jsx29("span", { className: "db-qr-text__title db-qr-text__title--mobile", children: mobileTitle }),
3475
- disclaimer && /* @__PURE__ */ jsx29("span", { className: "db-disclaimer", children: disclaimer })
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__ */ jsx29(DownloadBadge, { platform: "googleplay", colorScheme, href: googlePlayHref }),
3480
- showAppGallery && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "appgallery", colorScheme, href: appGalleryHref }),
3481
- showMacOS && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "macos", colorScheme, href: macOSHref }),
3482
- showWindows && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "windows", colorScheme, href: windowsHref }),
3483
- showLinux && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "linux", colorScheme, href: linuxHref }),
3484
- showAppStore && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "appstore", colorScheme, href: appStoreHref }),
3485
- showWeb && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "web", colorScheme, href: webHref })
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,