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