@deriv-web-design/ui 0.1.28 → 0.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/block-registry.json +9 -41
- package/components.manifest.json +1 -17
- package/dist/index.css +0 -116
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +3 -26
- package/dist/index.d.ts +3 -26
- package/dist/index.js +20 -121
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +93 -194
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4945,92 +4945,18 @@ var TextScroll = ({ text, className }) => {
|
|
|
4945
4945
|
};
|
|
4946
4946
|
|
|
4947
4947
|
// templates/StickyMarketCards/StickyMarketCards.tsx
|
|
4948
|
-
import { useEffect as useEffect12, useRef as useRef15
|
|
4949
|
-
import {
|
|
4948
|
+
import { useEffect as useEffect12, useRef as useRef15 } from "react";
|
|
4949
|
+
import { jsx as jsx39, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
4950
4950
|
var PLACEHOLDER_IMAGE3 = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69b9309379ac08e59ca8210a_1f3f555da9a5cbb13a6fe1bf0d5fe1b6_placeholder-image.webp";
|
|
4951
|
-
function safeHref(value) {
|
|
4952
|
-
if (!value) return null;
|
|
4953
|
-
if (value.startsWith("/") && !value.startsWith("//")) return value;
|
|
4954
|
-
try {
|
|
4955
|
-
const url = new URL(value);
|
|
4956
|
-
return url.protocol === "https:" ? value : null;
|
|
4957
|
-
} catch {
|
|
4958
|
-
return null;
|
|
4959
|
-
}
|
|
4960
|
-
}
|
|
4961
|
-
function safeLottieSrc(value) {
|
|
4962
|
-
const href = safeHref(value);
|
|
4963
|
-
if (!href || !isLottieSrc(href)) return null;
|
|
4964
|
-
return href;
|
|
4965
|
-
}
|
|
4966
|
-
function PlaybackGlyph({ playing }) {
|
|
4967
|
-
return /* @__PURE__ */ jsxs35("svg", { className: "smc__control-icon", viewBox: "0 0 64 64", "aria-hidden": "true", children: [
|
|
4968
|
-
/* @__PURE__ */ jsx39("circle", { className: "smc__control-disc", cx: "32", cy: "32", r: "32" }),
|
|
4969
|
-
playing ? /* @__PURE__ */ jsxs35(Fragment6, { children: [
|
|
4970
|
-
/* @__PURE__ */ jsx39("rect", { className: "smc__control-glyph", x: "23", y: "21", width: "6", height: "22", rx: "2" }),
|
|
4971
|
-
/* @__PURE__ */ jsx39("rect", { className: "smc__control-glyph", x: "35", y: "21", width: "6", height: "22", rx: "2" })
|
|
4972
|
-
] }) : /* @__PURE__ */ jsx39(
|
|
4973
|
-
"path",
|
|
4974
|
-
{
|
|
4975
|
-
className: "smc__control-glyph",
|
|
4976
|
-
d: "M26.5058 19.9527L42.7058 29.8527C43.4933 30.359 43.9996 31.259 43.9996 32.159C43.9996 33.1152 43.4933 34.0152 42.7058 34.4652L26.5058 44.3652C25.6621 44.8715 24.5933 44.9277 23.7496 44.4215C22.9058 43.9715 22.3996 43.0715 22.3996 42.059V22.259C22.3996 21.3027 22.9058 20.4027 23.7496 19.9527C24.5933 19.4465 25.6621 19.4465 26.5058 19.9527Z"
|
|
4977
|
-
}
|
|
4978
|
-
)
|
|
4979
|
-
] });
|
|
4980
|
-
}
|
|
4981
|
-
function LottiePanel({ item, index, playing, onToggle }) {
|
|
4982
|
-
const src = safeLottieSrc(item.lottieSrc);
|
|
4983
|
-
const posterSrc = safeHref(item.lottiePosterUrl);
|
|
4984
|
-
const controlId = `smc-lottie-${index}-${item.title}`.replace(/[^a-zA-Z0-9_-]/g, "-").slice(0, 80);
|
|
4985
|
-
return /* @__PURE__ */ jsxs35("div", { className: "smc__lottie", children: [
|
|
4986
|
-
/* @__PURE__ */ jsx39("div", { id: controlId, className: "smc__lottie-media", "aria-hidden": "true", children: src ? /* @__PURE__ */ jsx39(
|
|
4987
|
-
DotLottieInView,
|
|
4988
|
-
{
|
|
4989
|
-
src,
|
|
4990
|
-
enabled: playing,
|
|
4991
|
-
loop: true,
|
|
4992
|
-
className: "smc__lottie-player",
|
|
4993
|
-
style: { alignItems: "stretch", justifyContent: "stretch" },
|
|
4994
|
-
poster: posterSrc ? /* @__PURE__ */ jsx39("img", { src: posterSrc, alt: "", loading: "lazy", decoding: "async" }) : void 0
|
|
4995
|
-
}
|
|
4996
|
-
) : null }),
|
|
4997
|
-
posterSrc && !playing ? /* @__PURE__ */ jsx39(
|
|
4998
|
-
"img",
|
|
4999
|
-
{
|
|
5000
|
-
className: "smc__lottie-poster",
|
|
5001
|
-
src: posterSrc,
|
|
5002
|
-
alt: "",
|
|
5003
|
-
"aria-hidden": "true",
|
|
5004
|
-
loading: "lazy",
|
|
5005
|
-
decoding: "async"
|
|
5006
|
-
}
|
|
5007
|
-
) : null,
|
|
5008
|
-
src ? /* @__PURE__ */ jsx39(
|
|
5009
|
-
"button",
|
|
5010
|
-
{
|
|
5011
|
-
type: "button",
|
|
5012
|
-
className: `smc__playback-toggle${playing ? " smc__playback-toggle--playing" : ""}`,
|
|
5013
|
-
"aria-controls": controlId,
|
|
5014
|
-
"aria-pressed": playing,
|
|
5015
|
-
"aria-label": `${playing ? "Pause" : "Play"} ${item.title} animation`,
|
|
5016
|
-
onClick: onToggle,
|
|
5017
|
-
children: /* @__PURE__ */ jsx39(PlaybackGlyph, { playing })
|
|
5018
|
-
}
|
|
5019
|
-
) : null
|
|
5020
|
-
] });
|
|
5021
|
-
}
|
|
5022
4951
|
var StickyMarketCards = ({
|
|
5023
4952
|
sectionTitle,
|
|
5024
4953
|
sectionDescription,
|
|
5025
|
-
variant = "default",
|
|
5026
4954
|
items,
|
|
5027
4955
|
className,
|
|
5028
4956
|
...props
|
|
5029
4957
|
}) => {
|
|
5030
4958
|
const cardRefs = useRef15([]);
|
|
5031
4959
|
const cardInnerRefs = useRef15([]);
|
|
5032
|
-
const [playing, setPlaying] = useState13({});
|
|
5033
|
-
const isLottie = variant === "lottie";
|
|
5034
4960
|
useEffect12(() => {
|
|
5035
4961
|
if (typeof window === "undefined") return;
|
|
5036
4962
|
let rafId = 0;
|
|
@@ -5097,14 +5023,14 @@ var StickyMarketCards = ({
|
|
|
5097
5023
|
return () => {
|
|
5098
5024
|
window.removeEventListener("resize", syncHeights);
|
|
5099
5025
|
};
|
|
5100
|
-
}, [items.length
|
|
5026
|
+
}, [items.length]);
|
|
5101
5027
|
const n = items.length;
|
|
5102
5028
|
const maxStack = 4;
|
|
5103
5029
|
const baseIndex = Math.max(0, n - maxStack);
|
|
5104
5030
|
return /* @__PURE__ */ jsx39(
|
|
5105
5031
|
"section",
|
|
5106
5032
|
{
|
|
5107
|
-
className: ["smc",
|
|
5033
|
+
className: ["smc", className].filter(Boolean).join(" "),
|
|
5108
5034
|
...props,
|
|
5109
5035
|
children: /* @__PURE__ */ jsxs35("div", { className: "smc__inner", children: [
|
|
5110
5036
|
/* @__PURE__ */ jsxs35("div", { className: "smc__header-wrap", children: [
|
|
@@ -5133,11 +5059,10 @@ var StickyMarketCards = ({
|
|
|
5133
5059
|
},
|
|
5134
5060
|
className: [
|
|
5135
5061
|
"smc__card-inner",
|
|
5136
|
-
`smc__card-inner--${theme}
|
|
5137
|
-
|
|
5138
|
-
].filter(Boolean).join(" "),
|
|
5062
|
+
`smc__card-inner--${theme}`
|
|
5063
|
+
].join(" "),
|
|
5139
5064
|
children: [
|
|
5140
|
-
|
|
5065
|
+
/* @__PURE__ */ jsxs35("div", { className: "smc__card-bg", children: [
|
|
5141
5066
|
/* @__PURE__ */ jsx39(
|
|
5142
5067
|
"img",
|
|
5143
5068
|
{
|
|
@@ -5156,37 +5081,11 @@ var StickyMarketCards = ({
|
|
|
5156
5081
|
].join(" ")
|
|
5157
5082
|
}
|
|
5158
5083
|
)
|
|
5159
|
-
] })
|
|
5160
|
-
/* @__PURE__ */
|
|
5161
|
-
"div",
|
|
5162
|
-
{
|
|
5163
|
-
|
|
5164
|
-
"smc__card-content",
|
|
5165
|
-
isLottie ? "smc__card-content--lottie" : null
|
|
5166
|
-
].filter(Boolean).join(" "),
|
|
5167
|
-
children: isLottie ? /* @__PURE__ */ jsxs35(Fragment6, { children: [
|
|
5168
|
-
/* @__PURE__ */ jsx39(
|
|
5169
|
-
LottiePanel,
|
|
5170
|
-
{
|
|
5171
|
-
item,
|
|
5172
|
-
index: i,
|
|
5173
|
-
playing: Boolean(playing[i]),
|
|
5174
|
-
onToggle: () => setPlaying((prev) => ({
|
|
5175
|
-
...prev,
|
|
5176
|
-
[i]: !prev[i]
|
|
5177
|
-
}))
|
|
5178
|
-
}
|
|
5179
|
-
),
|
|
5180
|
-
/* @__PURE__ */ jsxs35("div", { className: "smc__card-text", children: [
|
|
5181
|
-
/* @__PURE__ */ jsx39("h3", { className: "smc__card-title", children: item.title }),
|
|
5182
|
-
/* @__PURE__ */ jsx39("p", { className: "smc__card-desc", children: item.description })
|
|
5183
|
-
] })
|
|
5184
|
-
] }) : /* @__PURE__ */ jsxs35(Fragment6, { children: [
|
|
5185
|
-
/* @__PURE__ */ jsx39("div", { className: "smc__card-title-wrap", children: /* @__PURE__ */ jsx39("h3", { className: "smc__card-title", children: item.title }) }),
|
|
5186
|
-
/* @__PURE__ */ jsx39("div", { className: "smc__card-desc-wrap", children: /* @__PURE__ */ jsx39("p", { className: "smc__card-desc", children: item.description }) })
|
|
5187
|
-
] })
|
|
5188
|
-
}
|
|
5189
|
-
)
|
|
5084
|
+
] }),
|
|
5085
|
+
/* @__PURE__ */ jsxs35("div", { className: "smc__card-content", children: [
|
|
5086
|
+
/* @__PURE__ */ jsx39("div", { className: "smc__card-title-wrap", children: /* @__PURE__ */ jsx39("h3", { className: "smc__card-title", children: item.title }) }),
|
|
5087
|
+
/* @__PURE__ */ jsx39("div", { className: "smc__card-desc-wrap", children: /* @__PURE__ */ jsx39("p", { className: "smc__card-desc", children: item.description }) })
|
|
5088
|
+
] })
|
|
5190
5089
|
]
|
|
5191
5090
|
}
|
|
5192
5091
|
)
|
|
@@ -5200,8 +5099,8 @@ var StickyMarketCards = ({
|
|
|
5200
5099
|
};
|
|
5201
5100
|
|
|
5202
5101
|
// templates/Table/Table.tsx
|
|
5203
|
-
import { useState as
|
|
5204
|
-
import { Fragment as
|
|
5102
|
+
import { useState as useState13, useMemo as useMemo2 } from "react";
|
|
5103
|
+
import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
5205
5104
|
var InfoIcon = ({ className }) => /* @__PURE__ */ jsxs36("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", className, children: [
|
|
5206
5105
|
/* @__PURE__ */ jsx40("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "1.5" }),
|
|
5207
5106
|
/* @__PURE__ */ jsx40("path", { d: "M12 16V12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }),
|
|
@@ -5218,9 +5117,9 @@ var Table = ({
|
|
|
5218
5117
|
className,
|
|
5219
5118
|
...props
|
|
5220
5119
|
}) => {
|
|
5221
|
-
const [search, setSearch] =
|
|
5222
|
-
const [page, setPage] =
|
|
5223
|
-
const [tooltip, setTooltip] =
|
|
5120
|
+
const [search, setSearch] = useState13("");
|
|
5121
|
+
const [page, setPage] = useState13(1);
|
|
5122
|
+
const [tooltip, setTooltip] = useState13({ visible: false, heading: "", description: "", x: 0, y: 0, arrowOffset: 0 });
|
|
5224
5123
|
const mainKey = mainColumnKey ?? columns.find((c) => c.width === "main")?.key ?? columns[0]?.key;
|
|
5225
5124
|
const filtered = useMemo2(() => {
|
|
5226
5125
|
const q = search.trim().toLowerCase();
|
|
@@ -5258,7 +5157,7 @@ var Table = ({
|
|
|
5258
5157
|
"aria-label": searchPlaceholder
|
|
5259
5158
|
}
|
|
5260
5159
|
) }),
|
|
5261
|
-
/* @__PURE__ */ jsx40("div", { className: "tbl__summary", children: filtered.length > 0 ? /* @__PURE__ */ jsxs36(
|
|
5160
|
+
/* @__PURE__ */ jsx40("div", { className: "tbl__summary", children: filtered.length > 0 ? /* @__PURE__ */ jsxs36(Fragment6, { children: [
|
|
5262
5161
|
"Showing ",
|
|
5263
5162
|
startIdx + 1,
|
|
5264
5163
|
"- ",
|
|
@@ -5451,11 +5350,11 @@ var DynamicTable = ({
|
|
|
5451
5350
|
};
|
|
5452
5351
|
|
|
5453
5352
|
// templates/Leaders/Leaders.tsx
|
|
5454
|
-
import { useState as
|
|
5455
|
-
import { Fragment as
|
|
5353
|
+
import { useState as useState14 } from "react";
|
|
5354
|
+
import { Fragment as Fragment7, jsx as jsx42, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
5456
5355
|
var ChevronDownIcon4 = () => /* @__PURE__ */ jsx42("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ jsx42("path", { d: "M4 6L8 10L12 6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
5457
5356
|
var ChevronUpIcon = () => /* @__PURE__ */ jsx42("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ jsx42("path", { d: "M12 10L8 6L4 10", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
5458
|
-
var CardContent = ({ item }) => /* @__PURE__ */ jsxs38(
|
|
5357
|
+
var CardContent = ({ item }) => /* @__PURE__ */ jsxs38(Fragment7, { children: [
|
|
5459
5358
|
/* @__PURE__ */ jsx42("div", { className: "avatar-grid__image-wrapper", children: /* @__PURE__ */ jsx42(
|
|
5460
5359
|
"img",
|
|
5461
5360
|
{
|
|
@@ -5493,7 +5392,7 @@ var AvatarGrid = ({
|
|
|
5493
5392
|
className,
|
|
5494
5393
|
...props
|
|
5495
5394
|
}) => {
|
|
5496
|
-
const [isExpanded, setIsExpanded] =
|
|
5395
|
+
const [isExpanded, setIsExpanded] = useState14(false);
|
|
5497
5396
|
const hasMore = items.length > initialVisibleCount;
|
|
5498
5397
|
const visibleItems = items.slice(0, initialVisibleCount);
|
|
5499
5398
|
const extraItems = items.slice(initialVisibleCount);
|
|
@@ -5669,7 +5568,7 @@ var ImageBanner = ({
|
|
|
5669
5568
|
};
|
|
5670
5569
|
|
|
5671
5570
|
// templates/Testimonial/Testimonial.tsx
|
|
5672
|
-
import { useCallback as useCallback3, useEffect as useEffect13, useId as useId3, useRef as useRef16, useState as
|
|
5571
|
+
import { useCallback as useCallback3, useEffect as useEffect13, useId as useId3, useRef as useRef16, useState as useState15 } from "react";
|
|
5673
5572
|
|
|
5674
5573
|
// assets/quote-left.webp
|
|
5675
5574
|
var quote_left_default = "data:image/webp;base64,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";
|
|
@@ -5748,8 +5647,8 @@ var TrustpilotTestimonial = ({
|
|
|
5748
5647
|
...props
|
|
5749
5648
|
}) => {
|
|
5750
5649
|
const trackRef = useRef16(null);
|
|
5751
|
-
const [canPrev, setCanPrev] =
|
|
5752
|
-
const [canNext, setCanNext] =
|
|
5650
|
+
const [canPrev, setCanPrev] = useState15(false);
|
|
5651
|
+
const [canNext, setCanNext] = useState15(true);
|
|
5753
5652
|
const syncScrollState = useCallback3(() => {
|
|
5754
5653
|
const next = readScrollState(trackRef.current);
|
|
5755
5654
|
setCanPrev(next.canPrev);
|
|
@@ -5859,8 +5758,8 @@ var DefaultTestimonial = ({
|
|
|
5859
5758
|
className,
|
|
5860
5759
|
...props
|
|
5861
5760
|
}) => {
|
|
5862
|
-
const [activeIndex, setActiveIndex] =
|
|
5863
|
-
const [phase, setPhase] =
|
|
5761
|
+
const [activeIndex, setActiveIndex] = useState15(0);
|
|
5762
|
+
const [phase, setPhase] = useState15("idle");
|
|
5864
5763
|
const pendingIndex = useRef16(null);
|
|
5865
5764
|
const autoRef = useRef16(null);
|
|
5866
5765
|
const goTo = (next) => {
|
|
@@ -6075,7 +5974,7 @@ var ArticleHero = ({
|
|
|
6075
5974
|
};
|
|
6076
5975
|
|
|
6077
5976
|
// templates/ArticleSection/ArticleSection.tsx
|
|
6078
|
-
import { Fragment as
|
|
5977
|
+
import { Fragment as Fragment8, jsx as jsx46, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
6079
5978
|
var ArticleSection = ({
|
|
6080
5979
|
variant = "featured",
|
|
6081
5980
|
sectionTitle,
|
|
@@ -6097,7 +5996,7 @@ var ArticleSection = ({
|
|
|
6097
5996
|
linkText && /* @__PURE__ */ jsx46(Link, { colorScheme: "coral", label: linkText, onClick: onLinkClick })
|
|
6098
5997
|
] }),
|
|
6099
5998
|
/* @__PURE__ */ jsxs42("div", { className: "as-desktop", children: [
|
|
6100
|
-
!isShowcase && !isGrid && featured && /* @__PURE__ */ jsxs42(
|
|
5999
|
+
!isShowcase && !isGrid && featured && /* @__PURE__ */ jsxs42(Fragment8, { children: [
|
|
6101
6000
|
/* @__PURE__ */ jsx46("div", { className: "as-featuredRow", children: /* @__PURE__ */ jsx46(
|
|
6102
6001
|
Card,
|
|
6103
6002
|
{
|
|
@@ -6252,7 +6151,7 @@ var ArticleSection = ({
|
|
|
6252
6151
|
};
|
|
6253
6152
|
|
|
6254
6153
|
// templates/CoralBanner/CoralBanner.tsx
|
|
6255
|
-
import { useCallback as useCallback4, useEffect as useEffect14, useRef as useRef17, useState as
|
|
6154
|
+
import { useCallback as useCallback4, useEffect as useEffect14, useRef as useRef17, useState as useState16 } from "react";
|
|
6256
6155
|
import { jsx as jsx47, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
6257
6156
|
var DEFAULT_SLIDES = [
|
|
6258
6157
|
{
|
|
@@ -6366,7 +6265,7 @@ var CoralBanner = ({
|
|
|
6366
6265
|
const resolvedSlides = slides && slides.length > 0 ? slides : DEFAULT_SLIDES;
|
|
6367
6266
|
const count = resolvedSlides.length;
|
|
6368
6267
|
const isCarousel = variant === "carousel" && count > 1;
|
|
6369
|
-
const [activeIndex, setActiveIndex] =
|
|
6268
|
+
const [activeIndex, setActiveIndex] = useState16(0);
|
|
6370
6269
|
const autoplayTimer = useRef17(null);
|
|
6371
6270
|
const dragState = useRef17(null);
|
|
6372
6271
|
const goTo = useCallback4(
|
|
@@ -6657,7 +6556,7 @@ var FeatureBlog = ({
|
|
|
6657
6556
|
};
|
|
6658
6557
|
|
|
6659
6558
|
// templates/FeatureBlogCategories/FeatureBlogCategories.tsx
|
|
6660
|
-
import { useMemo as useMemo3, useState as
|
|
6559
|
+
import { useMemo as useMemo3, useState as useState17 } from "react";
|
|
6661
6560
|
import { jsx as jsx50, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
6662
6561
|
var isExternalUrl = (href) => Boolean(href && /^https?:\/\//i.test(href));
|
|
6663
6562
|
var FEATURE_BLOG_CATEGORIES_TEXT_CONTENT = {
|
|
@@ -6721,8 +6620,8 @@ var FeatureBlogCategories = ({
|
|
|
6721
6620
|
className,
|
|
6722
6621
|
...props
|
|
6723
6622
|
}) => {
|
|
6724
|
-
const [search, setSearch] =
|
|
6725
|
-
const [internalActiveId, setInternalActiveId] =
|
|
6623
|
+
const [search, setSearch] = useState17("");
|
|
6624
|
+
const [internalActiveId, setInternalActiveId] = useState17(defaultActiveCategoryId ?? allCategoryId);
|
|
6726
6625
|
const isControlled = activeCategoryId !== void 0;
|
|
6727
6626
|
const activeId = isControlled ? activeCategoryId : internalActiveId;
|
|
6728
6627
|
const tabs = useMemo3(
|
|
@@ -6781,9 +6680,9 @@ var FeatureBlogCategories = ({
|
|
|
6781
6680
|
};
|
|
6782
6681
|
|
|
6783
6682
|
// templates/HelpCentreCategories/HelpCentreCategories.tsx
|
|
6784
|
-
import { Fragment as
|
|
6683
|
+
import { Fragment as Fragment9, jsx as jsx51, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
6785
6684
|
var externalLinkRel3 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6786
|
-
var CategoryTileContent = ({ category }) => /* @__PURE__ */ jsxs47(
|
|
6685
|
+
var CategoryTileContent = ({ category }) => /* @__PURE__ */ jsxs47(Fragment9, { children: [
|
|
6787
6686
|
category.icon && /* @__PURE__ */ jsx51("span", { className: "hcc-tile-icon", children: typeof category.icon === "string" ? /* @__PURE__ */ jsx51(
|
|
6788
6687
|
"img",
|
|
6789
6688
|
{
|
|
@@ -6830,7 +6729,7 @@ var HelpCentreCategories = ({
|
|
|
6830
6729
|
};
|
|
6831
6730
|
|
|
6832
6731
|
// templates/HelpCentreSubCategories/HelpCentreSubCategories.tsx
|
|
6833
|
-
import { useMemo as useMemo4, useState as
|
|
6732
|
+
import { useMemo as useMemo4, useState as useState18 } from "react";
|
|
6834
6733
|
import { jsx as jsx52, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
6835
6734
|
var externalLinkRel4 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6836
6735
|
var QuestionCard = ({ item }) => {
|
|
@@ -6847,7 +6746,7 @@ var HelpCentreSubCategories = ({
|
|
|
6847
6746
|
noResultsText = 'No results found for "{query}"',
|
|
6848
6747
|
onSearchChange
|
|
6849
6748
|
}) => {
|
|
6850
|
-
const [search, setSearch] =
|
|
6749
|
+
const [search, setSearch] = useState18("");
|
|
6851
6750
|
const filtered = useMemo4(() => {
|
|
6852
6751
|
const q = search.trim().toLowerCase();
|
|
6853
6752
|
if (!q) return items;
|
|
@@ -6879,7 +6778,7 @@ var HelpCentreSubCategories = ({
|
|
|
6879
6778
|
};
|
|
6880
6779
|
|
|
6881
6780
|
// templates/HelpCenterPage/HelpCenterPage.tsx
|
|
6882
|
-
import { useMemo as useMemo5, useState as
|
|
6781
|
+
import { useMemo as useMemo5, useState as useState19 } from "react";
|
|
6883
6782
|
import { jsx as jsx53, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
6884
6783
|
var externalLinkRel5 = (href) => href && /^https?:\/\//i.test(href) ? "noopener noreferrer" : void 0;
|
|
6885
6784
|
var ChevronDownIcon5 = () => /* @__PURE__ */ jsx53("svg", { "aria-hidden": "true", fill: "none", height: "16", viewBox: "0 0 16 16", width: "16", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx53("path", { d: "M4 6l4 4 4-4", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" }) });
|
|
@@ -6945,9 +6844,9 @@ var HelpCenterPage = ({
|
|
|
6945
6844
|
articlesSheetTitle = "Articles in this section",
|
|
6946
6845
|
className
|
|
6947
6846
|
}) => {
|
|
6948
|
-
const [search, setSearch] =
|
|
6949
|
-
const [internalActiveId, setInternalActiveId] =
|
|
6950
|
-
const [sheetOpen, setSheetOpen] =
|
|
6847
|
+
const [search, setSearch] = useState19("");
|
|
6848
|
+
const [internalActiveId, setInternalActiveId] = useState19(defaultActiveQuestionId ?? questions[0]?.id);
|
|
6849
|
+
const [sheetOpen, setSheetOpen] = useState19(false);
|
|
6951
6850
|
const isControlled = activeQuestionId !== void 0;
|
|
6952
6851
|
const activeId = isControlled ? activeQuestionId : internalActiveId;
|
|
6953
6852
|
const activeItem = questions.find((item) => item.id === activeId);
|
|
@@ -7014,7 +6913,7 @@ var HelpCenterPage = ({
|
|
|
7014
6913
|
};
|
|
7015
6914
|
|
|
7016
6915
|
// templates/FeatureBlogPage/FeatureBlogPage.tsx
|
|
7017
|
-
import { useEffect as useEffect15, useMemo as useMemo6, useState as
|
|
6916
|
+
import { useEffect as useEffect15, useMemo as useMemo6, useState as useState20 } from "react";
|
|
7018
6917
|
|
|
7019
6918
|
// assets/share-link.png
|
|
7020
6919
|
var share_link_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABYklEQVR4AezVgU3DMBAFUMRAzMEQzMEQzMEQzMFE+FX5kuNGF4cgIVWp8us73/n/76vaPj/98+sycE3gmsBDTuCl/bQELayfv5zAW5P6avgYwEzb2n7OGBiJGYjK9xLoYWhJ75ffGCCUm2bF/N7e4HVZxS28Pc7cgvHtiAG3ITiSZd+tIRrizyXRs4TrZdYAgowyxG4IcqyjMXupOS+/w4wBh3txoojsqUVky0D20uPcCnsGCBByCEnEe2JjVtOj3wpiEKcuXmHPwJZ4SBEhloM8kPdnmUxttVYGeoLcfHV4SJiBUbw8WxkI/+ieSGo+CoL29IkPGa8MIIvQuBKz1xvQf0gcQWXArfQgtvZgoK8zAnrUyrFrCmYMIAZnmBEDEWAECAd6p1AZ6MkI+hU0YjEQIMwE9P1qU6gMIAgpITlkT3waewYIEHRDfzIgB7XTmDFwWqQiuAxcE3j8CVTfALUfAAAA//85/ClxAAAABklEQVQDABFpTkF24Li2AAAAAElFTkSuQmCC";
|
|
@@ -7071,7 +6970,7 @@ var TocCard = ({
|
|
|
7071
6970
|
idSuffix,
|
|
7072
6971
|
collapsible
|
|
7073
6972
|
}) => {
|
|
7074
|
-
const [open, setOpen] =
|
|
6973
|
+
const [open, setOpen] = useState20(defaultOpen);
|
|
7075
6974
|
const panelId = `fbp-toc-panel-${idSuffix}`;
|
|
7076
6975
|
const isOpen = collapsible ? open : true;
|
|
7077
6976
|
const list = /* @__PURE__ */ jsx54("ol", { className: "fbp-tocList", id: panelId, children: headings.map((heading) => /* @__PURE__ */ jsx54("li", { className: "fbp-tocItem", children: /* @__PURE__ */ jsx54(
|
|
@@ -7113,7 +7012,7 @@ var ShareRow = ({
|
|
|
7113
7012
|
onShare,
|
|
7114
7013
|
copiedLabel
|
|
7115
7014
|
}) => {
|
|
7116
|
-
const [copied, setCopied] =
|
|
7015
|
+
const [copied, setCopied] = useState20(false);
|
|
7117
7016
|
const handleCopy = async () => {
|
|
7118
7017
|
onShare?.("copy");
|
|
7119
7018
|
try {
|
|
@@ -7223,7 +7122,7 @@ var FeatureBlogPage = ({
|
|
|
7223
7122
|
).map(({ block, i }) => ({ id: headingIds.get(i), text: block.text ?? "" })),
|
|
7224
7123
|
[content, headingIds]
|
|
7225
7124
|
);
|
|
7226
|
-
const [activeId, setActiveId] =
|
|
7125
|
+
const [activeId, setActiveId] = useState20(null);
|
|
7227
7126
|
useEffect15(() => {
|
|
7228
7127
|
if (typeof IntersectionObserver === "undefined" || headings.length === 0) return;
|
|
7229
7128
|
const elements = headings.map((heading) => document.getElementById(heading.id)).filter((el) => el !== null);
|
|
@@ -7438,8 +7337,8 @@ var ParallaxBanner = ({
|
|
|
7438
7337
|
};
|
|
7439
7338
|
|
|
7440
7339
|
// templates/TradingCalculator/TradingCalculator.tsx
|
|
7441
|
-
import { useCallback as useCallback5, useEffect as useEffect16, useId as useId4, useMemo as useMemo7, useRef as useRef19, useState as
|
|
7442
|
-
import { Fragment as
|
|
7340
|
+
import { useCallback as useCallback5, useEffect as useEffect16, useId as useId4, useMemo as useMemo7, useRef as useRef19, useState as useState21 } from "react";
|
|
7341
|
+
import { Fragment as Fragment10, jsx as jsx56, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
7443
7342
|
var DEFAULT_SYMBOLS_ENDPOINT = "https://deriv-static-pricingfeedv2.firebaseio.com/n8n/row/prod/dynamic_trading_specs.json";
|
|
7444
7343
|
var DEFAULT_EXCHANGE_RATE_WS_URL = "wss://ws.derivws.com/websockets/v3?app_id=1089";
|
|
7445
7344
|
var USD = "USD";
|
|
@@ -7552,10 +7451,10 @@ function useExchangeRates(wsUrl) {
|
|
|
7552
7451
|
return getRates;
|
|
7553
7452
|
}
|
|
7554
7453
|
function useSymbols(symbolsProp, endpoint) {
|
|
7555
|
-
const [state, setState] =
|
|
7454
|
+
const [state, setState] = useState21(
|
|
7556
7455
|
symbolsProp ? { status: "ready", data: symbolsProp } : { status: "loading" }
|
|
7557
7456
|
);
|
|
7558
|
-
const [retryToken, setRetryToken] =
|
|
7457
|
+
const [retryToken, setRetryToken] = useState21(0);
|
|
7559
7458
|
useEffect16(() => {
|
|
7560
7459
|
if (symbolsProp) {
|
|
7561
7460
|
setState({ status: "ready", data: symbolsProp });
|
|
@@ -7600,9 +7499,9 @@ function groupByAssetClass(symbols) {
|
|
|
7600
7499
|
return [...groups.entries()];
|
|
7601
7500
|
}
|
|
7602
7501
|
var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputId }) => {
|
|
7603
|
-
const [query, setQuery] =
|
|
7604
|
-
const [isOpen, setIsOpen] =
|
|
7605
|
-
const [activeIndex, setActiveIndex] =
|
|
7502
|
+
const [query, setQuery] = useState21("");
|
|
7503
|
+
const [isOpen, setIsOpen] = useState21(false);
|
|
7504
|
+
const [activeIndex, setActiveIndex] = useState21(-1);
|
|
7606
7505
|
const wrapperRef = useRef19(null);
|
|
7607
7506
|
const listboxId = useId4();
|
|
7608
7507
|
const isLoading = symbolsState.status === "loading";
|
|
@@ -7656,7 +7555,7 @@ var SymbolCombobox = ({ symbolsState, onRetry, selected, onSelect, error, inputI
|
|
|
7656
7555
|
SearchField,
|
|
7657
7556
|
{
|
|
7658
7557
|
id: inputId,
|
|
7659
|
-
label: /* @__PURE__ */ jsxs52(
|
|
7558
|
+
label: /* @__PURE__ */ jsxs52(Fragment10, { children: [
|
|
7660
7559
|
"Symbols ",
|
|
7661
7560
|
/* @__PURE__ */ jsx56("span", { className: "tcalc-required", children: "*" })
|
|
7662
7561
|
] }),
|
|
@@ -7759,13 +7658,13 @@ var TradingCalculator = ({
|
|
|
7759
7658
|
const showTradeVolume = variant === "main";
|
|
7760
7659
|
const [symbolsState, retrySymbols] = useSymbols(symbolsProp, symbolsEndpoint);
|
|
7761
7660
|
const getRates = useExchangeRates(exchangeRateWsUrl);
|
|
7762
|
-
const [selectedSymbol, setSelectedSymbol] =
|
|
7763
|
-
const [volumeInLots, setVolumeInLots] =
|
|
7764
|
-
const [assetPrice, setAssetPrice] =
|
|
7765
|
-
const [errors, setErrors] =
|
|
7766
|
-
const [results, setResults] =
|
|
7767
|
-
const [isCalculating, setIsCalculating] =
|
|
7768
|
-
const [calcError, setCalcError] =
|
|
7661
|
+
const [selectedSymbol, setSelectedSymbol] = useState21(null);
|
|
7662
|
+
const [volumeInLots, setVolumeInLots] = useState21("");
|
|
7663
|
+
const [assetPrice, setAssetPrice] = useState21("");
|
|
7664
|
+
const [errors, setErrors] = useState21({});
|
|
7665
|
+
const [results, setResults] = useState21(null);
|
|
7666
|
+
const [isCalculating, setIsCalculating] = useState21(false);
|
|
7667
|
+
const [calcError, setCalcError] = useState21(null);
|
|
7769
7668
|
const didPreselect = useRef19(false);
|
|
7770
7669
|
useEffect16(() => {
|
|
7771
7670
|
if (didPreselect.current || !defaultSymbol || symbolsState.status !== "ready") return;
|
|
@@ -7856,7 +7755,7 @@ var TradingCalculator = ({
|
|
|
7856
7755
|
{
|
|
7857
7756
|
id: volumeInputId,
|
|
7858
7757
|
className: "tcalc-numberField",
|
|
7859
|
-
label: /* @__PURE__ */ jsxs52(
|
|
7758
|
+
label: /* @__PURE__ */ jsxs52(Fragment10, { children: [
|
|
7860
7759
|
"Volume in Lots ",
|
|
7861
7760
|
/* @__PURE__ */ jsx56("span", { className: "tcalc-required", children: "*" })
|
|
7862
7761
|
] }),
|
|
@@ -7891,7 +7790,7 @@ var TradingCalculator = ({
|
|
|
7891
7790
|
{
|
|
7892
7791
|
id: priceInputId,
|
|
7893
7792
|
className: "tcalc-numberField",
|
|
7894
|
-
label: /* @__PURE__ */ jsxs52(
|
|
7793
|
+
label: /* @__PURE__ */ jsxs52(Fragment10, { children: [
|
|
7895
7794
|
"Asset price ",
|
|
7896
7795
|
/* @__PURE__ */ jsx56("span", { className: "tcalc-required", children: "*" })
|
|
7897
7796
|
] }),
|
|
@@ -7957,7 +7856,7 @@ var TradingCalculator = ({
|
|
|
7957
7856
|
" ",
|
|
7958
7857
|
calcError
|
|
7959
7858
|
] }),
|
|
7960
|
-
showSwap && /* @__PURE__ */ jsxs52(
|
|
7859
|
+
showSwap && /* @__PURE__ */ jsxs52(Fragment10, { children: [
|
|
7961
7860
|
/* @__PURE__ */ jsxs52("div", { className: "tcalc-infoGrid", children: [
|
|
7962
7861
|
/* @__PURE__ */ jsx56(InfoRow, { label: "Swap long rate", value: selectedSymbol ? String(selectedSymbol.swap_rate_long) : "-" }),
|
|
7963
7862
|
/* @__PURE__ */ jsx56(InfoRow, { label: "Swap short rate", value: selectedSymbol ? String(selectedSymbol.swap_rate_short) : "-" })
|
|
@@ -7971,8 +7870,8 @@ var TradingCalculator = ({
|
|
|
7971
7870
|
};
|
|
7972
7871
|
|
|
7973
7872
|
// templates/TradingCalculatorHowTo/TradingCalculatorHowTo.tsx
|
|
7974
|
-
import { Fragment as
|
|
7975
|
-
import { Fragment as
|
|
7873
|
+
import { Fragment as Fragment11, useEffect as useEffect17, useLayoutEffect as useLayoutEffect3, useRef as useRef20, useState as useState22 } from "react";
|
|
7874
|
+
import { Fragment as Fragment12, jsx as jsx57, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
7976
7875
|
var MARGIN_CONTENT = {
|
|
7977
7876
|
title: "How to calculate margin requirements",
|
|
7978
7877
|
description: "Use this formula to calculate how much margin is required based on your lot size, leverage ratio, and the current market price.",
|
|
@@ -8146,7 +8045,7 @@ var ConnectorArrow = () => /* @__PURE__ */ jsxs53("svg", { width: "8", height: "
|
|
|
8146
8045
|
var CalculationStrip = ({ tokens }) => {
|
|
8147
8046
|
const wrapperRef = useRef20(null);
|
|
8148
8047
|
const stripRef = useRef20(null);
|
|
8149
|
-
const [fit, setFit] =
|
|
8048
|
+
const [fit, setFit] = useState22({ scale: 1, naturalHeight: 0 });
|
|
8150
8049
|
useIsomorphicLayoutEffect(() => {
|
|
8151
8050
|
const wrapper = wrapperRef.current;
|
|
8152
8051
|
const strip = stripRef.current;
|
|
@@ -8183,7 +8082,7 @@ var CalculationStrip = ({ tokens }) => {
|
|
|
8183
8082
|
style: isShrunk ? { transform: `scale(${fit.scale})` } : void 0,
|
|
8184
8083
|
role: "img",
|
|
8185
8084
|
"aria-label": tokens.map((token) => token.text).join(" "),
|
|
8186
|
-
children: tokens.map((token, i) => /* @__PURE__ */ jsxs53(
|
|
8085
|
+
children: tokens.map((token, i) => /* @__PURE__ */ jsxs53(Fragment11, { children: [
|
|
8187
8086
|
/* @__PURE__ */ jsx57(
|
|
8188
8087
|
"span",
|
|
8189
8088
|
{
|
|
@@ -8201,7 +8100,7 @@ var CalculationStrip = ({ tokens }) => {
|
|
|
8201
8100
|
)
|
|
8202
8101
|
}
|
|
8203
8102
|
),
|
|
8204
|
-
/* @__PURE__ */ jsx57("span", { className: "tchow-stripCaption", "aria-hidden": "true", children: token.label && /* @__PURE__ */ jsxs53(
|
|
8103
|
+
/* @__PURE__ */ jsx57("span", { className: "tchow-stripCaption", "aria-hidden": "true", children: token.label && /* @__PURE__ */ jsxs53(Fragment12, { children: [
|
|
8205
8104
|
/* @__PURE__ */ jsx57(ConnectorArrow, {}),
|
|
8206
8105
|
/* @__PURE__ */ jsx57(
|
|
8207
8106
|
"span",
|
|
@@ -8228,7 +8127,7 @@ var TradingCalculatorHowTo = ({
|
|
|
8228
8127
|
...props
|
|
8229
8128
|
}) => {
|
|
8230
8129
|
const isSwap = variant === "swap-points" || variant === "swap-percentage";
|
|
8231
|
-
const [swapTab, setSwapTab] =
|
|
8130
|
+
const [swapTab, setSwapTab] = useState22(() => swapModeForVariant(variant));
|
|
8232
8131
|
useEffect17(() => {
|
|
8233
8132
|
setSwapTab(swapModeForVariant(variant));
|
|
8234
8133
|
}, [variant]);
|
|
@@ -8267,7 +8166,7 @@ var TradingCalculatorHowTo = ({
|
|
|
8267
8166
|
};
|
|
8268
8167
|
|
|
8269
8168
|
// templates/FeatureOffices/FeatureOffices.tsx
|
|
8270
|
-
import { useMemo as useMemo8, useState as
|
|
8169
|
+
import { useMemo as useMemo8, useState as useState23 } from "react";
|
|
8271
8170
|
import { jsx as jsx58, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
8272
8171
|
var isExternalUrl2 = (href) => Boolean(href && /^https?:\/\//i.test(href));
|
|
8273
8172
|
var FEATURE_OFFICES_TEXT_CONTENT = {
|
|
@@ -8321,7 +8220,7 @@ var FeatureOffices = ({
|
|
|
8321
8220
|
className,
|
|
8322
8221
|
...props
|
|
8323
8222
|
}) => {
|
|
8324
|
-
const [internalActiveId, setInternalActiveId] =
|
|
8223
|
+
const [internalActiveId, setInternalActiveId] = useState23(
|
|
8325
8224
|
defaultActiveRegionId ?? regions[0]?.id
|
|
8326
8225
|
);
|
|
8327
8226
|
const isControlled = activeRegionId !== void 0;
|
|
@@ -8588,9 +8487,9 @@ import {
|
|
|
8588
8487
|
useEffect as useEffect18,
|
|
8589
8488
|
useId as useId5,
|
|
8590
8489
|
useRef as useRef21,
|
|
8591
|
-
useState as
|
|
8490
|
+
useState as useState24
|
|
8592
8491
|
} from "react";
|
|
8593
|
-
import { Fragment as
|
|
8492
|
+
import { Fragment as Fragment13, jsx as jsx63, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
8594
8493
|
var OPTIONS_TYPES_PLACEHOLDER_ITEMS = [
|
|
8595
8494
|
{
|
|
8596
8495
|
id: "option-type",
|
|
@@ -8601,7 +8500,7 @@ var OPTIONS_TYPES_PLACEHOLDER_ITEMS = [
|
|
|
8601
8500
|
platforms: [{ label: "Platform" }]
|
|
8602
8501
|
}
|
|
8603
8502
|
];
|
|
8604
|
-
function
|
|
8503
|
+
function safeHref(value) {
|
|
8605
8504
|
if (!value) return null;
|
|
8606
8505
|
if (value.startsWith("/") && !value.startsWith("//")) return value;
|
|
8607
8506
|
try {
|
|
@@ -8611,8 +8510,8 @@ function safeHref2(value) {
|
|
|
8611
8510
|
return null;
|
|
8612
8511
|
}
|
|
8613
8512
|
}
|
|
8614
|
-
function
|
|
8615
|
-
const href =
|
|
8513
|
+
function safeLottieSrc(value) {
|
|
8514
|
+
const href = safeHref(value);
|
|
8616
8515
|
if (!href) return null;
|
|
8617
8516
|
try {
|
|
8618
8517
|
const pathname = href.startsWith("/") ? href : new URL(href).pathname;
|
|
@@ -8644,7 +8543,7 @@ var iconPaths = {
|
|
|
8644
8543
|
]
|
|
8645
8544
|
};
|
|
8646
8545
|
function MetaIcon({ icon, iconUrl }) {
|
|
8647
|
-
const imageSrc =
|
|
8546
|
+
const imageSrc = safeHref(iconUrl);
|
|
8648
8547
|
if (imageSrc) {
|
|
8649
8548
|
return /* @__PURE__ */ jsx63(
|
|
8650
8549
|
"img",
|
|
@@ -8668,18 +8567,18 @@ function MetaIcon({ icon, iconUrl }) {
|
|
|
8668
8567
|
}
|
|
8669
8568
|
function MetaList({ items = [] }) {
|
|
8670
8569
|
return /* @__PURE__ */ jsx63("ul", { className: "ot__meta-list", children: items.map((item, index) => {
|
|
8671
|
-
const href =
|
|
8672
|
-
const content = /* @__PURE__ */ jsxs59(
|
|
8570
|
+
const href = safeHref(item.href);
|
|
8571
|
+
const content = /* @__PURE__ */ jsxs59(Fragment13, { children: [
|
|
8673
8572
|
/* @__PURE__ */ jsx63(MetaIcon, { icon: item.icon, iconUrl: item.iconUrl }),
|
|
8674
8573
|
/* @__PURE__ */ jsx63("span", { children: item.label })
|
|
8675
8574
|
] });
|
|
8676
8575
|
return /* @__PURE__ */ jsx63("li", { children: href ? /* @__PURE__ */ jsx63("a", { href, children: content }) : /* @__PURE__ */ jsx63("span", { children: content }) }, `${item.label}-${index}`);
|
|
8677
8576
|
}) });
|
|
8678
8577
|
}
|
|
8679
|
-
function
|
|
8578
|
+
function PlaybackGlyph({ playing }) {
|
|
8680
8579
|
return /* @__PURE__ */ jsxs59("svg", { className: "ot__control-icon", viewBox: "0 0 64 64", "aria-hidden": "true", children: [
|
|
8681
8580
|
/* @__PURE__ */ jsx63("circle", { className: "ot__control-disc", cx: "32", cy: "32", r: "32" }),
|
|
8682
|
-
playing ? /* @__PURE__ */ jsxs59(
|
|
8581
|
+
playing ? /* @__PURE__ */ jsxs59(Fragment13, { children: [
|
|
8683
8582
|
/* @__PURE__ */ jsx63("rect", { className: "ot__control-glyph", x: "23", y: "21", width: "6", height: "22", rx: "2" }),
|
|
8684
8583
|
/* @__PURE__ */ jsx63("rect", { className: "ot__control-glyph", x: "35", y: "21", width: "6", height: "22", rx: "2" })
|
|
8685
8584
|
] }) : /* @__PURE__ */ jsx63(
|
|
@@ -8697,8 +8596,8 @@ function AnimationCard({
|
|
|
8697
8596
|
playing,
|
|
8698
8597
|
onToggle
|
|
8699
8598
|
}) {
|
|
8700
|
-
const src =
|
|
8701
|
-
const posterSrc =
|
|
8599
|
+
const src = safeLottieSrc(animation.src);
|
|
8600
|
+
const posterSrc = safeHref(animation.posterUrl);
|
|
8702
8601
|
const controlId = `ot-animation-${itemId}-${animation.id ?? animation.label}`.replace(/[^a-zA-Z0-9_-]/g, "-");
|
|
8703
8602
|
return /* @__PURE__ */ jsxs59("div", { className: "ot__animation-card", children: [
|
|
8704
8603
|
/* @__PURE__ */ jsx63("div", { id: controlId, className: "ot__animation-media", "aria-hidden": "true", children: src ? /* @__PURE__ */ jsx63(
|
|
@@ -8730,7 +8629,7 @@ function AnimationCard({
|
|
|
8730
8629
|
"aria-pressed": playing,
|
|
8731
8630
|
"aria-label": `${playing ? "Pause" : "Play"} ${animation.label} animation`,
|
|
8732
8631
|
onClick: onToggle,
|
|
8733
|
-
children: /* @__PURE__ */ jsx63(
|
|
8632
|
+
children: /* @__PURE__ */ jsx63(PlaybackGlyph, { playing })
|
|
8734
8633
|
}
|
|
8735
8634
|
) : null
|
|
8736
8635
|
] });
|
|
@@ -8796,7 +8695,7 @@ function TogglePanel({
|
|
|
8796
8695
|
setPlaying
|
|
8797
8696
|
}) {
|
|
8798
8697
|
const animations = item.animations;
|
|
8799
|
-
const [activeIndex, setActiveIndex] =
|
|
8698
|
+
const [activeIndex, setActiveIndex] = useState24(0);
|
|
8800
8699
|
const switchRefs = useRef21([]);
|
|
8801
8700
|
const safeIndex = Math.min(activeIndex, Math.max(animations.length - 1, 0));
|
|
8802
8701
|
useEffect18(() => {
|
|
@@ -8859,7 +8758,7 @@ function TogglePanel({
|
|
|
8859
8758
|
onKeyDown: onSwitchKeyDown,
|
|
8860
8759
|
children: animations.map((animation, index) => {
|
|
8861
8760
|
const isActive = index === safeIndex;
|
|
8862
|
-
const iconUrl =
|
|
8761
|
+
const iconUrl = safeHref(animation.iconUrl);
|
|
8863
8762
|
return /* @__PURE__ */ jsx63(
|
|
8864
8763
|
"button",
|
|
8865
8764
|
{
|
|
@@ -8922,11 +8821,11 @@ function OptionsTypes({
|
|
|
8922
8821
|
...props
|
|
8923
8822
|
}) {
|
|
8924
8823
|
const usableItems = Array.isArray(items) ? items.filter((item) => item?.id) : [];
|
|
8925
|
-
const [internalActiveId, setInternalActiveId] =
|
|
8824
|
+
const [internalActiveId, setInternalActiveId] = useState24(
|
|
8926
8825
|
defaultActiveId ?? usableItems[0]?.id ?? ""
|
|
8927
8826
|
);
|
|
8928
8827
|
const selectedId = usableItems.find((item) => item.id === activeId)?.id ?? usableItems.find((item) => item.id === internalActiveId)?.id ?? usableItems[0]?.id ?? "";
|
|
8929
|
-
const [playing, setPlaying] =
|
|
8828
|
+
const [playing, setPlaying] = useState24({});
|
|
8930
8829
|
const generatedId = useId5().replace(/:/g, "");
|
|
8931
8830
|
const tabPrefix = `options-types-${generatedId}`;
|
|
8932
8831
|
const Heading = headingLevel;
|
|
@@ -9346,7 +9245,7 @@ var CountryLinkGrid = ({
|
|
|
9346
9245
|
};
|
|
9347
9246
|
|
|
9348
9247
|
// templates/DocumentChips/DocumentChips.tsx
|
|
9349
|
-
import { useState as
|
|
9248
|
+
import { useState as useState25 } from "react";
|
|
9350
9249
|
import { jsx as jsx66, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
9351
9250
|
var DEFAULT_GROUPS = [
|
|
9352
9251
|
{
|
|
@@ -9450,7 +9349,7 @@ var DocumentChips = ({
|
|
|
9450
9349
|
}) => {
|
|
9451
9350
|
const resolvedGroups = groups && groups.length > 0 ? groups : DEFAULT_GROUPS;
|
|
9452
9351
|
const groupKeys = resolvedGroups.map((group, i) => String(group.id ?? i));
|
|
9453
|
-
const [openKeys, setOpenKeys] =
|
|
9352
|
+
const [openKeys, setOpenKeys] = useState25(void 0);
|
|
9454
9353
|
const resolvedOpenKeys = openKeys === void 0 ? groupKeys.slice(0, 1) : openKeys;
|
|
9455
9354
|
const handleToggle = (key, next) => {
|
|
9456
9355
|
setOpenKeys((current) => {
|
|
@@ -9714,7 +9613,7 @@ var LanguageSelectModal = ({
|
|
|
9714
9613
|
};
|
|
9715
9614
|
|
|
9716
9615
|
// templates/AffiliatesSlider/AffiliatesSlider.tsx
|
|
9717
|
-
import { useCallback as useCallback7, useMemo as useMemo9, useState as
|
|
9616
|
+
import { useCallback as useCallback7, useMemo as useMemo9, useState as useState26 } from "react";
|
|
9718
9617
|
import { jsx as jsx69, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
9719
9618
|
var ArrowIcon2 = () => /* @__PURE__ */ jsx69(
|
|
9720
9619
|
"svg",
|
|
@@ -9799,7 +9698,7 @@ var AffiliatesSlider = ({
|
|
|
9799
9698
|
className,
|
|
9800
9699
|
...props
|
|
9801
9700
|
}) => {
|
|
9802
|
-
const [internalValue, setInternalValue] =
|
|
9701
|
+
const [internalValue, setInternalValue] = useState26(defaultValue);
|
|
9803
9702
|
const currentValue = value ?? internalValue;
|
|
9804
9703
|
const handleChange = useCallback7(
|
|
9805
9704
|
(next) => {
|