@deriv-web-design/ui 0.1.17 → 0.1.18
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/components.manifest.json +16 -1
- package/dist/index.d.mts +45 -2
- package/dist/index.d.ts +45 -2
- package/dist/index.js +139 -27
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +169 -61
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2527,22 +2527,32 @@ var StatsSimple = ({
|
|
|
2527
2527
|
};
|
|
2528
2528
|
|
|
2529
2529
|
// templates/FeatureScroll/FeatureScroll.tsx
|
|
2530
|
-
import { useLayoutEffect, useRef as useRef7, useState as useState10 } from "react";
|
|
2530
|
+
import { useEffect as useEffect7, useLayoutEffect, useRef as useRef7, useState as useState10 } from "react";
|
|
2531
2531
|
|
|
2532
2532
|
// components/DotLottieInView/DotLottieInView.tsx
|
|
2533
|
-
import {
|
|
2534
|
-
|
|
2533
|
+
import {
|
|
2534
|
+
lazy,
|
|
2535
|
+
Suspense,
|
|
2536
|
+
useEffect as useEffect6,
|
|
2537
|
+
useRef as useRef6,
|
|
2538
|
+
useState as useState9
|
|
2539
|
+
} from "react";
|
|
2535
2540
|
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2541
|
+
var DotLottiePlayer = lazy(
|
|
2542
|
+
() => import("@lottiefiles/dotlottie-react").then((m) => ({ default: m.DotLottieReact }))
|
|
2543
|
+
);
|
|
2536
2544
|
function DotLottieInView({
|
|
2537
2545
|
enabled = true,
|
|
2538
2546
|
rootMargin = "0px",
|
|
2539
2547
|
threshold = 0.2,
|
|
2540
2548
|
className,
|
|
2541
2549
|
style,
|
|
2550
|
+
poster,
|
|
2542
2551
|
...dotProps
|
|
2543
2552
|
}) {
|
|
2544
2553
|
const wrapRef = useRef6(null);
|
|
2545
2554
|
const [inView, setInView] = useState9(false);
|
|
2555
|
+
const [mounted, setMounted] = useState9(false);
|
|
2546
2556
|
const [dotLottie, setDotLottie] = useState9(null);
|
|
2547
2557
|
useEffect6(() => {
|
|
2548
2558
|
const el = wrapRef.current;
|
|
@@ -2556,6 +2566,24 @@ function DotLottieInView({
|
|
|
2556
2566
|
observer.observe(el);
|
|
2557
2567
|
return () => observer.disconnect();
|
|
2558
2568
|
}, [rootMargin, threshold]);
|
|
2569
|
+
useEffect6(() => {
|
|
2570
|
+
if (mounted) return;
|
|
2571
|
+
if (!(inView && enabled)) return;
|
|
2572
|
+
if (typeof window === "undefined") return;
|
|
2573
|
+
let cancelled = false;
|
|
2574
|
+
const commit = () => {
|
|
2575
|
+
if (!cancelled) setMounted(true);
|
|
2576
|
+
};
|
|
2577
|
+
const idleId = typeof window.requestIdleCallback === "function" ? window.requestIdleCallback(commit, { timeout: 400 }) : null;
|
|
2578
|
+
const timerId = idleId === null ? window.setTimeout(commit, 0) : null;
|
|
2579
|
+
return () => {
|
|
2580
|
+
cancelled = true;
|
|
2581
|
+
if (idleId !== null && typeof window.cancelIdleCallback === "function") {
|
|
2582
|
+
window.cancelIdleCallback(idleId);
|
|
2583
|
+
}
|
|
2584
|
+
if (timerId !== null) window.clearTimeout(timerId);
|
|
2585
|
+
};
|
|
2586
|
+
}, [inView, enabled, mounted]);
|
|
2559
2587
|
useEffect6(() => {
|
|
2560
2588
|
if (!dotLottie) return;
|
|
2561
2589
|
if (!enabled || !inView) {
|
|
@@ -2580,15 +2608,15 @@ function DotLottieInView({
|
|
|
2580
2608
|
backgroundColor: "transparent",
|
|
2581
2609
|
...style
|
|
2582
2610
|
},
|
|
2583
|
-
children: /* @__PURE__ */ jsx27(
|
|
2584
|
-
|
|
2611
|
+
children: mounted ? /* @__PURE__ */ jsx27(Suspense, { fallback: poster ?? null, children: /* @__PURE__ */ jsx27(
|
|
2612
|
+
DotLottiePlayer,
|
|
2585
2613
|
{
|
|
2586
2614
|
...dotProps,
|
|
2587
2615
|
loop: false,
|
|
2588
2616
|
autoplay: false,
|
|
2589
2617
|
dotLottieRefCallback: setDotLottie
|
|
2590
2618
|
}
|
|
2591
|
-
)
|
|
2619
|
+
) }) : poster ?? null
|
|
2592
2620
|
}
|
|
2593
2621
|
);
|
|
2594
2622
|
}
|
|
@@ -2660,26 +2688,45 @@ var ChevronRight2 = () => /* @__PURE__ */ jsx28(
|
|
|
2660
2688
|
)
|
|
2661
2689
|
}
|
|
2662
2690
|
);
|
|
2691
|
+
function mediaSrc(item) {
|
|
2692
|
+
return typeof item.mediaUrl === "string" && item.mediaUrl !== "" ? item.mediaUrl : null;
|
|
2693
|
+
}
|
|
2663
2694
|
function resolveMediaType(item) {
|
|
2664
2695
|
if (item.mediaType) return item.mediaType;
|
|
2665
|
-
|
|
2696
|
+
const src = mediaSrc(item);
|
|
2697
|
+
return src?.split("?")[0].endsWith(".lottie") ? "lottie" : "image";
|
|
2666
2698
|
}
|
|
2667
|
-
var MediaRenderer = ({ item, active }) => {
|
|
2699
|
+
var MediaRenderer = ({ item, active, rootMargin, threshold }) => {
|
|
2700
|
+
const src = mediaSrc(item);
|
|
2701
|
+
if (!src) return null;
|
|
2668
2702
|
if (resolveMediaType(item) === "lottie") {
|
|
2669
2703
|
return /* @__PURE__ */ jsx28(
|
|
2670
2704
|
DotLottieInView,
|
|
2671
2705
|
{
|
|
2672
|
-
src
|
|
2673
|
-
enabled: active
|
|
2706
|
+
src,
|
|
2707
|
+
enabled: active,
|
|
2708
|
+
rootMargin,
|
|
2709
|
+
threshold,
|
|
2710
|
+
poster: item.posterUrl ? /* @__PURE__ */ jsx28(
|
|
2711
|
+
"img",
|
|
2712
|
+
{
|
|
2713
|
+
src: item.posterUrl,
|
|
2714
|
+
alt: "",
|
|
2715
|
+
"aria-hidden": "true",
|
|
2716
|
+
loading: "lazy",
|
|
2717
|
+
decoding: "async"
|
|
2718
|
+
}
|
|
2719
|
+
) : void 0
|
|
2674
2720
|
}
|
|
2675
2721
|
);
|
|
2676
2722
|
}
|
|
2677
2723
|
return /* @__PURE__ */ jsx28(
|
|
2678
2724
|
"img",
|
|
2679
2725
|
{
|
|
2680
|
-
src
|
|
2726
|
+
src,
|
|
2681
2727
|
alt: item.title,
|
|
2682
|
-
loading: "lazy"
|
|
2728
|
+
loading: "lazy",
|
|
2729
|
+
decoding: "async"
|
|
2683
2730
|
}
|
|
2684
2731
|
);
|
|
2685
2732
|
};
|
|
@@ -2688,10 +2735,16 @@ var FeatureScroll = ({
|
|
|
2688
2735
|
items,
|
|
2689
2736
|
variant = "media-right",
|
|
2690
2737
|
className,
|
|
2738
|
+
// Destructured, not spread: `...props` lands on the <section>, and an
|
|
2739
|
+
// unknown attribute there is a React DOM warning at best.
|
|
2740
|
+
mediaRootMargin,
|
|
2741
|
+
mediaThreshold,
|
|
2691
2742
|
...props
|
|
2692
2743
|
}) => {
|
|
2693
2744
|
const [activeIndex, setActiveIndex] = useState10(0);
|
|
2745
|
+
const [mobileActiveIndex, setMobileActiveIndex] = useState10(0);
|
|
2694
2746
|
const titleRefs = useRef7([]);
|
|
2747
|
+
const mobileItemRefs = useRef7([]);
|
|
2695
2748
|
const mediaColRef = useRef7(null);
|
|
2696
2749
|
useLayoutEffect(() => {
|
|
2697
2750
|
if (items.length === 0) return;
|
|
@@ -2739,6 +2792,40 @@ var FeatureScroll = ({
|
|
|
2739
2792
|
if (rafId !== 0) window.cancelAnimationFrame(rafId);
|
|
2740
2793
|
};
|
|
2741
2794
|
}, [items.length]);
|
|
2795
|
+
useEffect7(() => {
|
|
2796
|
+
if (items.length === 0) return;
|
|
2797
|
+
if (typeof window === "undefined") return;
|
|
2798
|
+
const ratios = /* @__PURE__ */ new Map();
|
|
2799
|
+
const observer = new IntersectionObserver(
|
|
2800
|
+
(entries) => {
|
|
2801
|
+
if (window.matchMedia("(min-width: 992px)").matches) return;
|
|
2802
|
+
for (const entry of entries) {
|
|
2803
|
+
const idx = Number(entry.target.getAttribute("data-fs-mobile-idx"));
|
|
2804
|
+
if (!Number.isFinite(idx)) continue;
|
|
2805
|
+
ratios.set(idx, entry.isIntersecting ? entry.intersectionRatio : 0);
|
|
2806
|
+
}
|
|
2807
|
+
let best = 0;
|
|
2808
|
+
let bestRatio = -1;
|
|
2809
|
+
for (const [idx, ratio] of ratios) {
|
|
2810
|
+
if (ratio > bestRatio) {
|
|
2811
|
+
bestRatio = ratio;
|
|
2812
|
+
best = idx;
|
|
2813
|
+
}
|
|
2814
|
+
}
|
|
2815
|
+
if (bestRatio <= 0) return;
|
|
2816
|
+
setMobileActiveIndex((prev) => prev === best ? prev : best);
|
|
2817
|
+
},
|
|
2818
|
+
{
|
|
2819
|
+
root: null,
|
|
2820
|
+
rootMargin: "-28% 0px -28% 0px",
|
|
2821
|
+
threshold: [0, 0.15, 0.3, 0.5, 0.75, 1]
|
|
2822
|
+
}
|
|
2823
|
+
);
|
|
2824
|
+
for (const el of mobileItemRefs.current) {
|
|
2825
|
+
if (el) observer.observe(el);
|
|
2826
|
+
}
|
|
2827
|
+
return () => observer.disconnect();
|
|
2828
|
+
}, [items.length]);
|
|
2742
2829
|
const rootClass = [
|
|
2743
2830
|
"fs",
|
|
2744
2831
|
`fs--${variant}`,
|
|
@@ -2766,7 +2853,9 @@ var FeatureScroll = ({
|
|
|
2766
2853
|
MediaRenderer,
|
|
2767
2854
|
{
|
|
2768
2855
|
item,
|
|
2769
|
-
active: i === activeIndex
|
|
2856
|
+
active: i === activeIndex,
|
|
2857
|
+
rootMargin: mediaRootMargin,
|
|
2858
|
+
threshold: mediaThreshold
|
|
2770
2859
|
}
|
|
2771
2860
|
)
|
|
2772
2861
|
},
|
|
@@ -2806,22 +2895,41 @@ var FeatureScroll = ({
|
|
|
2806
2895
|
i
|
|
2807
2896
|
)) })
|
|
2808
2897
|
] }),
|
|
2809
|
-
/* @__PURE__ */ jsx28("div", { className: "fs__mobile-list", children: items.map((item, i) => /* @__PURE__ */ jsxs25(
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
children:
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2898
|
+
/* @__PURE__ */ jsx28("div", { className: "fs__mobile-list", children: items.map((item, i) => /* @__PURE__ */ jsxs25(
|
|
2899
|
+
"div",
|
|
2900
|
+
{
|
|
2901
|
+
className: "fs__mobile-item",
|
|
2902
|
+
"data-fs-mobile-idx": i,
|
|
2903
|
+
ref: (el) => {
|
|
2904
|
+
mobileItemRefs.current[i] = el;
|
|
2905
|
+
},
|
|
2906
|
+
children: [
|
|
2907
|
+
/* @__PURE__ */ jsx28("h3", { className: "fs__item-title", children: item.title }),
|
|
2908
|
+
/* @__PURE__ */ jsx28("div", { className: "fs__mobile-media", children: /* @__PURE__ */ jsx28(
|
|
2909
|
+
MediaRenderer,
|
|
2910
|
+
{
|
|
2911
|
+
item,
|
|
2912
|
+
active: i === mobileActiveIndex,
|
|
2913
|
+
rootMargin: mediaRootMargin,
|
|
2914
|
+
threshold: mediaThreshold
|
|
2915
|
+
}
|
|
2916
|
+
) }),
|
|
2917
|
+
/* @__PURE__ */ jsx28("p", { className: "fs__item-desc", children: item.description }),
|
|
2918
|
+
/* @__PURE__ */ jsxs25(
|
|
2919
|
+
"a",
|
|
2920
|
+
{
|
|
2921
|
+
href: item.link,
|
|
2922
|
+
className: "fs__item-link",
|
|
2923
|
+
children: [
|
|
2924
|
+
/* @__PURE__ */ jsx28("span", { children: item.linkLabel }),
|
|
2925
|
+
/* @__PURE__ */ jsx28(ChevronRight2, {})
|
|
2926
|
+
]
|
|
2927
|
+
}
|
|
2928
|
+
)
|
|
2929
|
+
]
|
|
2930
|
+
},
|
|
2931
|
+
i
|
|
2932
|
+
)) })
|
|
2825
2933
|
] }) });
|
|
2826
2934
|
};
|
|
2827
2935
|
|
|
@@ -2872,7 +2980,7 @@ var FeatureSplit = ({
|
|
|
2872
2980
|
};
|
|
2873
2981
|
|
|
2874
2982
|
// templates/StickyStackedCards/StickyStackedCards.tsx
|
|
2875
|
-
import { useEffect as
|
|
2983
|
+
import { useEffect as useEffect8, useRef as useRef8 } from "react";
|
|
2876
2984
|
import { jsx as jsx30, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2877
2985
|
var PLACEHOLDER_IMAGE = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69b9309379ac08e59ca8210a_1f3f555da9a5cbb13a6fe1bf0d5fe1b6_placeholder-image.webp";
|
|
2878
2986
|
var STEPS_DATA = [
|
|
@@ -2903,7 +3011,7 @@ var StickyStackedCards = ({
|
|
|
2903
3011
|
...props
|
|
2904
3012
|
}) => {
|
|
2905
3013
|
const cardRefs = useRef8([]);
|
|
2906
|
-
|
|
3014
|
+
useEffect8(() => {
|
|
2907
3015
|
if (typeof window === "undefined") return;
|
|
2908
3016
|
let rafId = 0;
|
|
2909
3017
|
const update = () => {
|
|
@@ -3333,7 +3441,7 @@ var CTABanner = ({
|
|
|
3333
3441
|
};
|
|
3334
3442
|
|
|
3335
3443
|
// components/Navbar/Navbar.tsx
|
|
3336
|
-
import { useRef as useRef10, useState as useState11, useEffect as
|
|
3444
|
+
import { useRef as useRef10, useState as useState11, useEffect as useEffect9, useCallback as useCallback2 } from "react";
|
|
3337
3445
|
import { motion as motion2, AnimatePresence } from "framer-motion";
|
|
3338
3446
|
|
|
3339
3447
|
// assets/icon-globe.svg
|
|
@@ -3583,20 +3691,20 @@ var Navbar = ({
|
|
|
3583
3691
|
const langBtnRef = useRef10(null);
|
|
3584
3692
|
const hasLangDropdown = Boolean(languageItems && languageItems.length > 0);
|
|
3585
3693
|
const resolvedLogo = theme === "light" ? logoSrcDark ?? logoSrc : logoSrc;
|
|
3586
|
-
|
|
3694
|
+
useEffect9(() => {
|
|
3587
3695
|
if (process.env.NODE_ENV !== "production" && !logoSrcDark) {
|
|
3588
3696
|
console.warn(
|
|
3589
3697
|
"[Navbar] `logoSrcDark` was not provided. The condensed pill logo (shown once the page is scrolled) falls back to `logoSrc`, which is typically the light-coloured logo \u2014 it will be invisible against the pill's white/near-white scrolled background. Pass `logoSrcDark` to fix this."
|
|
3590
3698
|
);
|
|
3591
3699
|
}
|
|
3592
3700
|
}, [logoSrcDark]);
|
|
3593
|
-
|
|
3701
|
+
useEffect9(() => {
|
|
3594
3702
|
const onScroll = () => setScrolled(window.scrollY > 0);
|
|
3595
3703
|
onScroll();
|
|
3596
3704
|
window.addEventListener("scroll", onScroll, { passive: true });
|
|
3597
3705
|
return () => window.removeEventListener("scroll", onScroll);
|
|
3598
3706
|
}, []);
|
|
3599
|
-
|
|
3707
|
+
useEffect9(() => {
|
|
3600
3708
|
const onKey = (e) => {
|
|
3601
3709
|
if (e.key === "Escape") {
|
|
3602
3710
|
setOpenDropdown(null);
|
|
@@ -3607,16 +3715,16 @@ var Navbar = ({
|
|
|
3607
3715
|
document.addEventListener("keydown", onKey);
|
|
3608
3716
|
return () => document.removeEventListener("keydown", onKey);
|
|
3609
3717
|
}, []);
|
|
3610
|
-
|
|
3718
|
+
useEffect9(() => {
|
|
3611
3719
|
if (!mobileOpen) setMobileLangOpen(false);
|
|
3612
3720
|
}, [mobileOpen]);
|
|
3613
|
-
|
|
3721
|
+
useEffect9(() => {
|
|
3614
3722
|
document.body.style.overflow = mobileOpen ? "hidden" : "";
|
|
3615
3723
|
return () => {
|
|
3616
3724
|
document.body.style.overflow = "";
|
|
3617
3725
|
};
|
|
3618
3726
|
}, [mobileOpen]);
|
|
3619
|
-
|
|
3727
|
+
useEffect9(() => {
|
|
3620
3728
|
if (!openDropdown) return;
|
|
3621
3729
|
const onPointerDown = (e) => {
|
|
3622
3730
|
if (pillAreaRef.current && !pillAreaRef.current.contains(e.target)) {
|
|
@@ -3935,7 +4043,7 @@ var Navbar = ({
|
|
|
3935
4043
|
};
|
|
3936
4044
|
|
|
3937
4045
|
// templates/DayNightTransition/DayNightTransition.tsx
|
|
3938
|
-
import { useEffect as
|
|
4046
|
+
import { useEffect as useEffect10, useLayoutEffect as useLayoutEffect2, useRef as useRef11, useState as useState12 } from "react";
|
|
3939
4047
|
import {
|
|
3940
4048
|
motion as motion3,
|
|
3941
4049
|
useScroll as useScroll2,
|
|
@@ -4056,7 +4164,7 @@ var DayNightTransition = ({
|
|
|
4056
4164
|
const [nightMarginEnd, setNightMarginEnd] = useState12("0px");
|
|
4057
4165
|
const [ixMedia, setIxMedia] = useState12("desktop");
|
|
4058
4166
|
const webflowV2 = scrollPreset === "webflow-day-night-v2";
|
|
4059
|
-
|
|
4167
|
+
useEffect10(() => {
|
|
4060
4168
|
const mq = window.matchMedia("(max-width: 991px)");
|
|
4061
4169
|
const sync = () => setIxMedia(mq.matches ? "mobile" : "desktop");
|
|
4062
4170
|
sync();
|
|
@@ -4709,7 +4817,7 @@ var DownloadBanner = ({
|
|
|
4709
4817
|
};
|
|
4710
4818
|
|
|
4711
4819
|
// templates/TextScroll/TextScroll.tsx
|
|
4712
|
-
import { useEffect as
|
|
4820
|
+
import { useEffect as useEffect11, useRef as useRef13 } from "react";
|
|
4713
4821
|
import { gsap } from "gsap";
|
|
4714
4822
|
import { ScrollTrigger } from "gsap/ScrollTrigger";
|
|
4715
4823
|
import { jsx as jsx38, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
@@ -4718,7 +4826,7 @@ var TextScroll = ({ text, className }) => {
|
|
|
4718
4826
|
const sectionRef = useRef13(null);
|
|
4719
4827
|
const wordsRef = useRef13([]);
|
|
4720
4828
|
const words = text.split(/\s+/).filter(Boolean);
|
|
4721
|
-
|
|
4829
|
+
useEffect11(() => {
|
|
4722
4830
|
const section = sectionRef.current;
|
|
4723
4831
|
const wordEls = wordsRef.current.filter(Boolean);
|
|
4724
4832
|
if (!section || wordEls.length === 0) return;
|
|
@@ -4777,7 +4885,7 @@ var TextScroll = ({ text, className }) => {
|
|
|
4777
4885
|
};
|
|
4778
4886
|
|
|
4779
4887
|
// templates/StickyMarketCards/StickyMarketCards.tsx
|
|
4780
|
-
import { useEffect as
|
|
4888
|
+
import { useEffect as useEffect12, useRef as useRef14 } from "react";
|
|
4781
4889
|
import { jsx as jsx39, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
4782
4890
|
var PLACEHOLDER_IMAGE3 = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69b9309379ac08e59ca8210a_1f3f555da9a5cbb13a6fe1bf0d5fe1b6_placeholder-image.webp";
|
|
4783
4891
|
var StickyMarketCards = ({
|
|
@@ -4789,7 +4897,7 @@ var StickyMarketCards = ({
|
|
|
4789
4897
|
}) => {
|
|
4790
4898
|
const cardRefs = useRef14([]);
|
|
4791
4899
|
const cardInnerRefs = useRef14([]);
|
|
4792
|
-
|
|
4900
|
+
useEffect12(() => {
|
|
4793
4901
|
if (typeof window === "undefined") return;
|
|
4794
4902
|
let rafId = 0;
|
|
4795
4903
|
const update = () => {
|
|
@@ -4830,7 +4938,7 @@ var StickyMarketCards = ({
|
|
|
4830
4938
|
cancelAnimationFrame(rafId);
|
|
4831
4939
|
};
|
|
4832
4940
|
}, [items.length]);
|
|
4833
|
-
|
|
4941
|
+
useEffect12(() => {
|
|
4834
4942
|
if (typeof window === "undefined") return;
|
|
4835
4943
|
const syncHeights = () => {
|
|
4836
4944
|
const inners = cardInnerRefs.current.filter(Boolean);
|
|
@@ -5400,7 +5508,7 @@ var ImageBanner = ({
|
|
|
5400
5508
|
};
|
|
5401
5509
|
|
|
5402
5510
|
// templates/Testimonial/Testimonial.tsx
|
|
5403
|
-
import { useCallback as useCallback3, useEffect as
|
|
5511
|
+
import { useCallback as useCallback3, useEffect as useEffect13, useId as useId2, useRef as useRef15, useState as useState15 } from "react";
|
|
5404
5512
|
|
|
5405
5513
|
// assets/quote-left.webp
|
|
5406
5514
|
var quote_left_default = "data:image/webp;base64,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";
|
|
@@ -5486,7 +5594,7 @@ var TrustpilotTestimonial = ({
|
|
|
5486
5594
|
setCanPrev(next.canPrev);
|
|
5487
5595
|
setCanNext(next.canNext);
|
|
5488
5596
|
}, []);
|
|
5489
|
-
|
|
5597
|
+
useEffect13(() => {
|
|
5490
5598
|
const el = trackRef.current;
|
|
5491
5599
|
if (!el) return;
|
|
5492
5600
|
syncScrollState();
|
|
@@ -5599,7 +5707,7 @@ var DefaultTestimonial = ({
|
|
|
5599
5707
|
pendingIndex.current = next;
|
|
5600
5708
|
setPhase("exiting");
|
|
5601
5709
|
};
|
|
5602
|
-
|
|
5710
|
+
useEffect13(() => {
|
|
5603
5711
|
if (phase === "exiting") {
|
|
5604
5712
|
const t = setTimeout(() => {
|
|
5605
5713
|
setActiveIndex(pendingIndex.current ?? activeIndex);
|
|
@@ -5608,7 +5716,7 @@ var DefaultTestimonial = ({
|
|
|
5608
5716
|
return () => clearTimeout(t);
|
|
5609
5717
|
}
|
|
5610
5718
|
}, [phase, activeIndex]);
|
|
5611
|
-
|
|
5719
|
+
useEffect13(() => {
|
|
5612
5720
|
if (items.length <= 1) return;
|
|
5613
5721
|
autoRef.current = setTimeout(() => {
|
|
5614
5722
|
const next = (activeIndex + 1) % items.length;
|
|
@@ -5983,7 +6091,7 @@ var ArticleSection = ({
|
|
|
5983
6091
|
};
|
|
5984
6092
|
|
|
5985
6093
|
// templates/CoralBanner/CoralBanner.tsx
|
|
5986
|
-
import { useCallback as useCallback4, useEffect as
|
|
6094
|
+
import { useCallback as useCallback4, useEffect as useEffect14, useRef as useRef16, useState as useState16 } from "react";
|
|
5987
6095
|
import { jsx as jsx47, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
5988
6096
|
var DEFAULT_SLIDES = [
|
|
5989
6097
|
{
|
|
@@ -6113,7 +6221,7 @@ var CoralBanner = ({
|
|
|
6113
6221
|
const resetAutoplay = () => {
|
|
6114
6222
|
if (autoplayTimer.current) clearTimeout(autoplayTimer.current);
|
|
6115
6223
|
};
|
|
6116
|
-
|
|
6224
|
+
useEffect14(() => {
|
|
6117
6225
|
if (!isCarousel || !autoplay) return;
|
|
6118
6226
|
autoplayTimer.current = setTimeout(() => {
|
|
6119
6227
|
goTo(activeIndex + 1);
|
|
@@ -6745,7 +6853,7 @@ var HelpCenterPage = ({
|
|
|
6745
6853
|
};
|
|
6746
6854
|
|
|
6747
6855
|
// templates/FeatureBlogPage/FeatureBlogPage.tsx
|
|
6748
|
-
import { useEffect as
|
|
6856
|
+
import { useEffect as useEffect15, useMemo as useMemo6, useState as useState20 } from "react";
|
|
6749
6857
|
|
|
6750
6858
|
// assets/share-link.png
|
|
6751
6859
|
var share_link_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABYklEQVR4AezVgU3DMBAFUMRAzMEQzMEQzMEQzMFE+FX5kuNGF4cgIVWp8us73/n/76vaPj/98+sycE3gmsBDTuCl/bQELayfv5zAW5P6avgYwEzb2n7OGBiJGYjK9xLoYWhJ75ffGCCUm2bF/N7e4HVZxS28Pc7cgvHtiAG3ITiSZd+tIRrizyXRs4TrZdYAgowyxG4IcqyjMXupOS+/w4wBh3txoojsqUVky0D20uPcCnsGCBByCEnEe2JjVtOj3wpiEKcuXmHPwJZ4SBEhloM8kPdnmUxttVYGeoLcfHV4SJiBUbw8WxkI/+ieSGo+CoL29IkPGa8MIIvQuBKz1xvQf0gcQWXArfQgtvZgoK8zAnrUyrFrCmYMIAZnmBEDEWAECAd6p1AZ6MkI+hU0YjEQIMwE9P1qU6gMIAgpITlkT3waewYIEHRDfzIgB7XTmDFwWqQiuAxcE3j8CVTfALUfAAAA//85/ClxAAAABklEQVQDABFpTkF24Li2AAAAAElFTkSuQmCC";
|
|
@@ -6955,7 +7063,7 @@ var FeatureBlogPage = ({
|
|
|
6955
7063
|
[content, headingIds]
|
|
6956
7064
|
);
|
|
6957
7065
|
const [activeId, setActiveId] = useState20(null);
|
|
6958
|
-
|
|
7066
|
+
useEffect15(() => {
|
|
6959
7067
|
if (typeof IntersectionObserver === "undefined" || headings.length === 0) return;
|
|
6960
7068
|
const elements = headings.map((heading) => document.getElementById(heading.id)).filter((el) => el !== null);
|
|
6961
7069
|
if (elements.length === 0) return;
|
|
@@ -7169,7 +7277,7 @@ var ParallaxBanner = ({
|
|
|
7169
7277
|
};
|
|
7170
7278
|
|
|
7171
7279
|
// templates/TradingCalculator/TradingCalculator.tsx
|
|
7172
|
-
import { useCallback as useCallback5, useEffect as
|
|
7280
|
+
import { useCallback as useCallback5, useEffect as useEffect16, useId as useId3, useMemo as useMemo7, useRef as useRef18, useState as useState21 } from "react";
|
|
7173
7281
|
import { Fragment as Fragment10, jsx as jsx56, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
7174
7282
|
var DEFAULT_SYMBOLS_ENDPOINT = "https://deriv-static-pricingfeedv2.firebaseio.com/n8n/row/prod/dynamic_trading_specs.json";
|
|
7175
7283
|
var DEFAULT_EXCHANGE_RATE_WS_URL = "wss://ws.derivws.com/websockets/v3?app_id=1089";
|
|
@@ -7212,7 +7320,7 @@ function useExchangeRates(wsUrl) {
|
|
|
7212
7320
|
/* @__PURE__ */ new Map()
|
|
7213
7321
|
);
|
|
7214
7322
|
const cacheRef = useRef18(/* @__PURE__ */ new Map());
|
|
7215
|
-
|
|
7323
|
+
useEffect16(() => {
|
|
7216
7324
|
const pending = pendingRef.current;
|
|
7217
7325
|
return () => {
|
|
7218
7326
|
socketRef.current?.close();
|
|
@@ -7287,7 +7395,7 @@ function useSymbols(symbolsProp, endpoint) {
|
|
|
7287
7395
|
symbolsProp ? { status: "ready", data: symbolsProp } : { status: "loading" }
|
|
7288
7396
|
);
|
|
7289
7397
|
const [retryToken, setRetryToken] = useState21(0);
|
|
7290
|
-
|
|
7398
|
+
useEffect16(() => {
|
|
7291
7399
|
if (symbolsProp) {
|
|
7292
7400
|
setState({ status: "ready", data: symbolsProp });
|
|
7293
7401
|
return;
|
|
@@ -7348,7 +7456,7 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7348
7456
|
}, [allSymbols, query]);
|
|
7349
7457
|
const grouped = useMemo7(() => groupByAssetClass(filtered), [filtered]);
|
|
7350
7458
|
const flatOptions = useMemo7(() => grouped.flatMap(([, items]) => items), [grouped]);
|
|
7351
|
-
|
|
7459
|
+
useEffect16(() => {
|
|
7352
7460
|
if (!isOpen) return;
|
|
7353
7461
|
const handlePointerDown = (event) => {
|
|
7354
7462
|
if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {
|
|
@@ -7498,7 +7606,7 @@ var TradingCalculator = ({
|
|
|
7498
7606
|
const [isCalculating, setIsCalculating] = useState21(false);
|
|
7499
7607
|
const [calcError, setCalcError] = useState21(null);
|
|
7500
7608
|
const didPreselect = useRef18(false);
|
|
7501
|
-
|
|
7609
|
+
useEffect16(() => {
|
|
7502
7610
|
if (didPreselect.current || !defaultSymbol || symbolsState.status !== "ready") return;
|
|
7503
7611
|
const match = symbolsState.data.find((item) => item.symbol === defaultSymbol);
|
|
7504
7612
|
if (match) {
|
|
@@ -7702,7 +7810,7 @@ var TradingCalculator = ({
|
|
|
7702
7810
|
};
|
|
7703
7811
|
|
|
7704
7812
|
// templates/TradingCalculatorHowTo/TradingCalculatorHowTo.tsx
|
|
7705
|
-
import { Fragment as Fragment11, useEffect as
|
|
7813
|
+
import { Fragment as Fragment11, useEffect as useEffect17, useLayoutEffect as useLayoutEffect3, useRef as useRef19, useState as useState22 } from "react";
|
|
7706
7814
|
import { Fragment as Fragment12, jsx as jsx57, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
7707
7815
|
var MARGIN_CONTENT = {
|
|
7708
7816
|
title: "How to calculate margin requirements",
|
|
@@ -7853,7 +7961,7 @@ var SWAP_TABS = [
|
|
|
7853
7961
|
{ id: "percentage", label: "Swap calculation (In percentage)" }
|
|
7854
7962
|
];
|
|
7855
7963
|
var swapModeForVariant = (variant) => variant === "swap-percentage" ? "percentage" : "points";
|
|
7856
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect3 :
|
|
7964
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect3 : useEffect17;
|
|
7857
7965
|
var FormulaBlockView = ({ block }) => {
|
|
7858
7966
|
if (block.type === "footnote") {
|
|
7859
7967
|
return /* @__PURE__ */ jsx57("p", { className: "tchow-footnote", children: block.content });
|
|
@@ -7960,7 +8068,7 @@ var TradingCalculatorHowTo = ({
|
|
|
7960
8068
|
}) => {
|
|
7961
8069
|
const isSwap = variant === "swap-points" || variant === "swap-percentage";
|
|
7962
8070
|
const [swapTab, setSwapTab] = useState22(() => swapModeForVariant(variant));
|
|
7963
|
-
|
|
8071
|
+
useEffect17(() => {
|
|
7964
8072
|
setSwapTab(swapModeForVariant(variant));
|
|
7965
8073
|
}, [variant]);
|
|
7966
8074
|
const content = variant === "pip" ? PIP_CONTENT : isSwap ? swapTab === "percentage" ? SWAP_PERCENTAGE_CONTENT : SWAP_POINTS_CONTENT : MARGIN_CONTENT;
|