@deriv-web-design/ui 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/appstore-appgallery-dark-2QPFCM4A.svg +12 -0
- package/dist/appstore-appgallery-light-VF62CF5X.svg +19 -0
- package/dist/appstore-appstore-dark-FDUROOKK.svg +24 -0
- package/dist/appstore-appstore-light-BEVC5PJZ.svg +24 -0
- package/dist/appstore-browser-dark-2E6TK6JH.svg +32 -0
- package/dist/appstore-browser-light-HBKTW4SI.svg +32 -0
- package/dist/appstore-googleplay-dark-HWTOQTL6.svg +14 -0
- package/dist/appstore-googleplay-light-W3CS6NAG.svg +14 -0
- package/dist/appstore-linux-dark-RVH7CBM4.svg +46 -0
- package/dist/appstore-linux-light-WQECAJRC.svg +46 -0
- package/dist/appstore-macos-dark-2A3UM5YI.svg +23 -0
- package/dist/appstore-macos-light-5LI6ESAV.svg +23 -0
- package/dist/appstore-windows-dark-ZDWELB42.svg +31 -0
- package/dist/appstore-windows-light-TCALZSJM.svg +31 -0
- package/dist/index.css +1030 -256
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +129 -15
- package/dist/index.d.ts +129 -15
- package/dist/index.js +761 -375
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +741 -359
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/tokens.css +9 -5
package/dist/index.mjs
CHANGED
|
@@ -1030,10 +1030,50 @@ var FeatureCards = ({
|
|
|
1030
1030
|
] }) });
|
|
1031
1031
|
};
|
|
1032
1032
|
|
|
1033
|
+
// templates/FeatureCardsSecondary/FeatureCardsSecondary.tsx
|
|
1034
|
+
import { jsx as jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1035
|
+
var FeatureCardsSecondary = ({
|
|
1036
|
+
sectionTitle,
|
|
1037
|
+
sectionDescription,
|
|
1038
|
+
showLink = false,
|
|
1039
|
+
linkText = "Learn more",
|
|
1040
|
+
onLinkClick,
|
|
1041
|
+
cards
|
|
1042
|
+
}) => {
|
|
1043
|
+
return /* @__PURE__ */ jsx17("section", { className: "fcs-section", children: /* @__PURE__ */ jsxs16("div", { className: "fcs-container", children: [
|
|
1044
|
+
/* @__PURE__ */ jsxs16("div", { className: "fcs-header", children: [
|
|
1045
|
+
/* @__PURE__ */ jsx17("h2", { className: "fcs-sectionTitle", children: sectionTitle }),
|
|
1046
|
+
sectionDescription && /* @__PURE__ */ jsx17("p", { className: "fcs-sectionDescription", children: sectionDescription }),
|
|
1047
|
+
showLink && /* @__PURE__ */ jsx17(
|
|
1048
|
+
Link,
|
|
1049
|
+
{
|
|
1050
|
+
colorScheme: "coral",
|
|
1051
|
+
label: linkText,
|
|
1052
|
+
onClick: onLinkClick
|
|
1053
|
+
}
|
|
1054
|
+
)
|
|
1055
|
+
] }),
|
|
1056
|
+
/* @__PURE__ */ jsx17("div", { className: `fcs-grid fcs-grid--${cards.length === 4 ? "4" : "3"}`, children: cards.map((card, index) => /* @__PURE__ */ jsx17(
|
|
1057
|
+
Card,
|
|
1058
|
+
{
|
|
1059
|
+
variant: "secondary",
|
|
1060
|
+
title: card.title,
|
|
1061
|
+
description: card.description,
|
|
1062
|
+
icon: card.icon,
|
|
1063
|
+
showIcon: card.showIcon,
|
|
1064
|
+
showLink: card.showLink,
|
|
1065
|
+
linkText: card.linkText,
|
|
1066
|
+
onLinkClick: card.onLinkClick
|
|
1067
|
+
},
|
|
1068
|
+
index
|
|
1069
|
+
)) })
|
|
1070
|
+
] }) });
|
|
1071
|
+
};
|
|
1072
|
+
|
|
1033
1073
|
// components/Footer/Footer.tsx
|
|
1034
1074
|
import { useState as useState5 } from "react";
|
|
1035
|
-
import { Fragment as Fragment2, jsx as
|
|
1036
|
-
var ExternalLinkIcon = () => /* @__PURE__ */
|
|
1075
|
+
import { Fragment as Fragment2, jsx as jsx18, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1076
|
+
var ExternalLinkIcon = () => /* @__PURE__ */ jsx18(
|
|
1037
1077
|
"svg",
|
|
1038
1078
|
{
|
|
1039
1079
|
width: "12",
|
|
@@ -1042,7 +1082,7 @@ var ExternalLinkIcon = () => /* @__PURE__ */ jsx17(
|
|
|
1042
1082
|
fill: "none",
|
|
1043
1083
|
"aria-hidden": "true",
|
|
1044
1084
|
focusable: "false",
|
|
1045
|
-
children: /* @__PURE__ */
|
|
1085
|
+
children: /* @__PURE__ */ jsx18(
|
|
1046
1086
|
"path",
|
|
1047
1087
|
{
|
|
1048
1088
|
d: "M2 2H10M10 2V10M10 2L2 10",
|
|
@@ -1054,7 +1094,7 @@ var ExternalLinkIcon = () => /* @__PURE__ */ jsx17(
|
|
|
1054
1094
|
)
|
|
1055
1095
|
}
|
|
1056
1096
|
);
|
|
1057
|
-
var ChevronDownIcon2 = () => /* @__PURE__ */
|
|
1097
|
+
var ChevronDownIcon2 = () => /* @__PURE__ */ jsx18(
|
|
1058
1098
|
"svg",
|
|
1059
1099
|
{
|
|
1060
1100
|
width: "12",
|
|
@@ -1063,7 +1103,7 @@ var ChevronDownIcon2 = () => /* @__PURE__ */ jsx17(
|
|
|
1063
1103
|
fill: "none",
|
|
1064
1104
|
"aria-hidden": "true",
|
|
1065
1105
|
focusable: "false",
|
|
1066
|
-
children: /* @__PURE__ */
|
|
1106
|
+
children: /* @__PURE__ */ jsx18(
|
|
1067
1107
|
"path",
|
|
1068
1108
|
{
|
|
1069
1109
|
d: "M2 4L6 8L10 4",
|
|
@@ -1080,9 +1120,9 @@ var DerivGoBadges = ({
|
|
|
1080
1120
|
appStoreBadge,
|
|
1081
1121
|
huaweiBadge,
|
|
1082
1122
|
availabilityNote
|
|
1083
|
-
}) => /* @__PURE__ */
|
|
1084
|
-
/* @__PURE__ */
|
|
1085
|
-
googlePlayBadge && /* @__PURE__ */
|
|
1123
|
+
}) => /* @__PURE__ */ jsxs17(Fragment2, { children: [
|
|
1124
|
+
/* @__PURE__ */ jsxs17("div", { className: "footer__app-badges", children: [
|
|
1125
|
+
googlePlayBadge && /* @__PURE__ */ jsx18(
|
|
1086
1126
|
"a",
|
|
1087
1127
|
{
|
|
1088
1128
|
href: googlePlayBadge.href,
|
|
@@ -1090,10 +1130,10 @@ var DerivGoBadges = ({
|
|
|
1090
1130
|
"aria-label": googlePlayBadge.imageAlt,
|
|
1091
1131
|
target: "_blank",
|
|
1092
1132
|
rel: "noopener noreferrer",
|
|
1093
|
-
children: googlePlayBadge.icon ?? /* @__PURE__ */
|
|
1133
|
+
children: googlePlayBadge.icon ?? /* @__PURE__ */ jsx18("img", { src: googlePlayBadge.imageSrc, alt: googlePlayBadge.imageAlt })
|
|
1094
1134
|
}
|
|
1095
1135
|
),
|
|
1096
|
-
appStoreBadge && /* @__PURE__ */
|
|
1136
|
+
appStoreBadge && /* @__PURE__ */ jsx18(
|
|
1097
1137
|
"a",
|
|
1098
1138
|
{
|
|
1099
1139
|
href: appStoreBadge.href,
|
|
@@ -1101,10 +1141,10 @@ var DerivGoBadges = ({
|
|
|
1101
1141
|
"aria-label": appStoreBadge.imageAlt,
|
|
1102
1142
|
target: "_blank",
|
|
1103
1143
|
rel: "noopener noreferrer",
|
|
1104
|
-
children: appStoreBadge.icon ?? /* @__PURE__ */
|
|
1144
|
+
children: appStoreBadge.icon ?? /* @__PURE__ */ jsx18("img", { src: appStoreBadge.imageSrc, alt: appStoreBadge.imageAlt })
|
|
1105
1145
|
}
|
|
1106
1146
|
),
|
|
1107
|
-
huaweiBadge && /* @__PURE__ */
|
|
1147
|
+
huaweiBadge && /* @__PURE__ */ jsx18(
|
|
1108
1148
|
"a",
|
|
1109
1149
|
{
|
|
1110
1150
|
href: huaweiBadge.href,
|
|
@@ -1112,13 +1152,13 @@ var DerivGoBadges = ({
|
|
|
1112
1152
|
"aria-label": huaweiBadge.imageAlt,
|
|
1113
1153
|
target: "_blank",
|
|
1114
1154
|
rel: "noopener noreferrer",
|
|
1115
|
-
children: huaweiBadge.icon ?? /* @__PURE__ */
|
|
1155
|
+
children: huaweiBadge.icon ?? /* @__PURE__ */ jsx18("img", { src: huaweiBadge.imageSrc, alt: huaweiBadge.imageAlt })
|
|
1116
1156
|
}
|
|
1117
1157
|
)
|
|
1118
1158
|
] }),
|
|
1119
|
-
availabilityNote && /* @__PURE__ */
|
|
1159
|
+
availabilityNote && /* @__PURE__ */ jsx18("p", { className: "footer__app-note", children: availabilityNote })
|
|
1120
1160
|
] });
|
|
1121
|
-
var NavLink = ({ label, href, isExternal, onClick }) => /* @__PURE__ */
|
|
1161
|
+
var NavLink = ({ label, href, isExternal, onClick }) => /* @__PURE__ */ jsxs17(
|
|
1122
1162
|
"a",
|
|
1123
1163
|
{
|
|
1124
1164
|
href,
|
|
@@ -1127,7 +1167,7 @@ var NavLink = ({ label, href, isExternal, onClick }) => /* @__PURE__ */ jsxs16(
|
|
|
1127
1167
|
...isExternal ? { target: "_blank", rel: "noopener noreferrer" } : {},
|
|
1128
1168
|
children: [
|
|
1129
1169
|
label,
|
|
1130
|
-
isExternal && /* @__PURE__ */
|
|
1170
|
+
isExternal && /* @__PURE__ */ jsx18(ExternalLinkIcon, {})
|
|
1131
1171
|
]
|
|
1132
1172
|
}
|
|
1133
1173
|
);
|
|
@@ -1159,14 +1199,14 @@ var Footer = ({
|
|
|
1159
1199
|
});
|
|
1160
1200
|
};
|
|
1161
1201
|
const aiLabel = aiSummary?.label ?? "Ask AI for a summary of Deriv";
|
|
1162
|
-
return /* @__PURE__ */
|
|
1202
|
+
return /* @__PURE__ */ jsx18(
|
|
1163
1203
|
"footer",
|
|
1164
1204
|
{
|
|
1165
1205
|
className: ["footer", className].filter(Boolean).join(" "),
|
|
1166
1206
|
...props,
|
|
1167
|
-
children: /* @__PURE__ */
|
|
1168
|
-
/* @__PURE__ */
|
|
1169
|
-
/* @__PURE__ */
|
|
1207
|
+
children: /* @__PURE__ */ jsxs17("div", { className: "footer__inner", children: [
|
|
1208
|
+
/* @__PURE__ */ jsxs17("div", { className: "footer__header", children: [
|
|
1209
|
+
/* @__PURE__ */ jsx18("div", { className: "footer__logo-wrapper", children: /* @__PURE__ */ jsx18(
|
|
1170
1210
|
"img",
|
|
1171
1211
|
{
|
|
1172
1212
|
src: logoSrc,
|
|
@@ -1174,21 +1214,21 @@ var Footer = ({
|
|
|
1174
1214
|
className: "footer__logo"
|
|
1175
1215
|
}
|
|
1176
1216
|
) }),
|
|
1177
|
-
aiSummary && /* @__PURE__ */
|
|
1178
|
-
/* @__PURE__ */
|
|
1179
|
-
/* @__PURE__ */
|
|
1217
|
+
aiSummary && /* @__PURE__ */ jsxs17("div", { className: "footer__ai-bar footer__ai-bar--inline", children: [
|
|
1218
|
+
/* @__PURE__ */ jsx18("span", { className: "footer__ai-bar-label", children: aiLabel }),
|
|
1219
|
+
/* @__PURE__ */ jsx18("div", { className: "footer__ai-bar-icons", children: aiSummary.items.map((item, i) => /* @__PURE__ */ jsx18(
|
|
1180
1220
|
"a",
|
|
1181
1221
|
{
|
|
1182
1222
|
href: item.href,
|
|
1183
1223
|
"aria-label": item.imageAlt,
|
|
1184
1224
|
target: "_blank",
|
|
1185
1225
|
rel: "noopener noreferrer",
|
|
1186
|
-
children: /* @__PURE__ */
|
|
1226
|
+
children: /* @__PURE__ */ jsx18("img", { className: "footer__ai-icon", src: item.imageSrc, alt: item.imageAlt })
|
|
1187
1227
|
},
|
|
1188
1228
|
i
|
|
1189
1229
|
)) })
|
|
1190
1230
|
] }),
|
|
1191
|
-
/* @__PURE__ */
|
|
1231
|
+
/* @__PURE__ */ jsx18("div", { className: "footer__social footer__social--in-header", children: socialLinks.map((link, i) => /* @__PURE__ */ jsx18(
|
|
1192
1232
|
"a",
|
|
1193
1233
|
{
|
|
1194
1234
|
href: link.href,
|
|
@@ -1201,27 +1241,27 @@ var Footer = ({
|
|
|
1201
1241
|
i
|
|
1202
1242
|
)) })
|
|
1203
1243
|
] }),
|
|
1204
|
-
aiSummary && /* @__PURE__ */
|
|
1205
|
-
/* @__PURE__ */
|
|
1206
|
-
/* @__PURE__ */
|
|
1244
|
+
aiSummary && /* @__PURE__ */ jsx18("div", { className: "footer__ai-section", children: /* @__PURE__ */ jsxs17("div", { className: "footer__ai-bar footer__ai-bar--block", children: [
|
|
1245
|
+
/* @__PURE__ */ jsx18("span", { className: "footer__ai-bar-label", children: aiLabel }),
|
|
1246
|
+
/* @__PURE__ */ jsx18("div", { className: "footer__ai-bar-icons", children: aiSummary.items.map((item, i) => /* @__PURE__ */ jsx18(
|
|
1207
1247
|
"a",
|
|
1208
1248
|
{
|
|
1209
1249
|
href: item.href,
|
|
1210
1250
|
"aria-label": item.imageAlt,
|
|
1211
1251
|
target: "_blank",
|
|
1212
1252
|
rel: "noopener noreferrer",
|
|
1213
|
-
children: /* @__PURE__ */
|
|
1253
|
+
children: /* @__PURE__ */ jsx18("img", { className: "footer__ai-icon", src: item.imageSrc, alt: item.imageAlt })
|
|
1214
1254
|
},
|
|
1215
1255
|
i
|
|
1216
1256
|
)) })
|
|
1217
1257
|
] }) }),
|
|
1218
|
-
/* @__PURE__ */
|
|
1219
|
-
navColumns.map((column, colIdx) => /* @__PURE__ */
|
|
1220
|
-
/* @__PURE__ */
|
|
1221
|
-
/* @__PURE__ */
|
|
1258
|
+
/* @__PURE__ */ jsxs17("div", { className: "footer__nav footer__nav--columns", children: [
|
|
1259
|
+
navColumns.map((column, colIdx) => /* @__PURE__ */ jsx18("div", { className: "footer__column", children: column.map((section, secIdx) => /* @__PURE__ */ jsxs17("div", { className: "footer__nav-section", children: [
|
|
1260
|
+
/* @__PURE__ */ jsx18("p", { className: "footer__nav-title", children: section.title }),
|
|
1261
|
+
/* @__PURE__ */ jsx18("ul", { className: "footer__nav-links", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx18("li", { children: /* @__PURE__ */ jsx18(NavLink, { ...link }) }, linkIdx)) })
|
|
1222
1262
|
] }, secIdx)) }, colIdx)),
|
|
1223
|
-
/* @__PURE__ */
|
|
1224
|
-
investorsInPeopleSrc && /* @__PURE__ */
|
|
1263
|
+
/* @__PURE__ */ jsxs17("div", { className: "footer__sidebar", children: [
|
|
1264
|
+
investorsInPeopleSrc && /* @__PURE__ */ jsx18("div", { className: "footer__investors-card", children: /* @__PURE__ */ jsx18(
|
|
1225
1265
|
"img",
|
|
1226
1266
|
{
|
|
1227
1267
|
src: investorsInPeopleSrc,
|
|
@@ -1229,9 +1269,9 @@ var Footer = ({
|
|
|
1229
1269
|
className: "footer__investors-img"
|
|
1230
1270
|
}
|
|
1231
1271
|
) }),
|
|
1232
|
-
derivGo && /* @__PURE__ */
|
|
1233
|
-
/* @__PURE__ */
|
|
1234
|
-
/* @__PURE__ */
|
|
1272
|
+
derivGo && /* @__PURE__ */ jsxs17("div", { className: "footer__deriv-go-card", children: [
|
|
1273
|
+
/* @__PURE__ */ jsxs17("div", { className: "footer__deriv-go-header", children: [
|
|
1274
|
+
/* @__PURE__ */ jsx18(
|
|
1235
1275
|
"img",
|
|
1236
1276
|
{
|
|
1237
1277
|
src: derivGo.logoSrc,
|
|
@@ -1239,11 +1279,11 @@ var Footer = ({
|
|
|
1239
1279
|
className: "footer__deriv-go-logo"
|
|
1240
1280
|
}
|
|
1241
1281
|
),
|
|
1242
|
-
/* @__PURE__ */
|
|
1282
|
+
/* @__PURE__ */ jsx18("span", { className: "footer__deriv-go-title", children: derivGo.title ?? "Deriv GO" })
|
|
1243
1283
|
] }),
|
|
1244
|
-
/* @__PURE__ */
|
|
1245
|
-
(derivGo.qrCodeSrc || derivGo.qrCodeIcon) && /* @__PURE__ */
|
|
1246
|
-
derivGo.qrCodeIcon ? /* @__PURE__ */
|
|
1284
|
+
/* @__PURE__ */ jsx18("p", { className: "footer__deriv-go-desc", children: derivGo.description ?? "Trade multipliers on our mobile app." }),
|
|
1285
|
+
(derivGo.qrCodeSrc || derivGo.qrCodeIcon) && /* @__PURE__ */ jsxs17("div", { className: "footer__deriv-go-qr", children: [
|
|
1286
|
+
derivGo.qrCodeIcon ? /* @__PURE__ */ jsx18("div", { className: "footer__deriv-go-qr-icon", children: derivGo.qrCodeIcon }) : /* @__PURE__ */ jsx18(
|
|
1247
1287
|
"img",
|
|
1248
1288
|
{
|
|
1249
1289
|
src: derivGo.qrCodeSrc,
|
|
@@ -1251,9 +1291,9 @@ var Footer = ({
|
|
|
1251
1291
|
className: "footer__deriv-go-qr-img"
|
|
1252
1292
|
}
|
|
1253
1293
|
),
|
|
1254
|
-
/* @__PURE__ */
|
|
1294
|
+
/* @__PURE__ */ jsx18("span", { className: "footer__deriv-go-qr-label", children: derivGo.scanToDownloadLabel ?? "Scan to download" })
|
|
1255
1295
|
] }),
|
|
1256
|
-
/* @__PURE__ */
|
|
1296
|
+
/* @__PURE__ */ jsx18(
|
|
1257
1297
|
DerivGoBadges,
|
|
1258
1298
|
{
|
|
1259
1299
|
googlePlayBadge: derivGo.googlePlayBadge,
|
|
@@ -1265,9 +1305,9 @@ var Footer = ({
|
|
|
1265
1305
|
] })
|
|
1266
1306
|
] })
|
|
1267
1307
|
] }),
|
|
1268
|
-
/* @__PURE__ */
|
|
1308
|
+
/* @__PURE__ */ jsx18("div", { className: "footer__nav footer__nav--accordion", children: allSections.map((section, idx) => {
|
|
1269
1309
|
const isOpen = openSections.has(idx);
|
|
1270
|
-
return /* @__PURE__ */
|
|
1310
|
+
return /* @__PURE__ */ jsxs17(
|
|
1271
1311
|
"div",
|
|
1272
1312
|
{
|
|
1273
1313
|
className: [
|
|
@@ -1275,7 +1315,7 @@ var Footer = ({
|
|
|
1275
1315
|
isOpen && "footer__accordion-item--open"
|
|
1276
1316
|
].filter(Boolean).join(" "),
|
|
1277
1317
|
children: [
|
|
1278
|
-
/* @__PURE__ */
|
|
1318
|
+
/* @__PURE__ */ jsxs17(
|
|
1279
1319
|
"button",
|
|
1280
1320
|
{
|
|
1281
1321
|
type: "button",
|
|
@@ -1283,18 +1323,18 @@ var Footer = ({
|
|
|
1283
1323
|
onClick: () => toggleSection(idx),
|
|
1284
1324
|
"aria-expanded": isOpen,
|
|
1285
1325
|
children: [
|
|
1286
|
-
/* @__PURE__ */
|
|
1287
|
-
/* @__PURE__ */
|
|
1326
|
+
/* @__PURE__ */ jsx18("span", { className: "footer__accordion-label", children: section.title }),
|
|
1327
|
+
/* @__PURE__ */ jsx18("span", { className: "footer__accordion-chevron", children: /* @__PURE__ */ jsx18(ChevronDownIcon2, {}) })
|
|
1288
1328
|
]
|
|
1289
1329
|
}
|
|
1290
1330
|
),
|
|
1291
|
-
isOpen && /* @__PURE__ */
|
|
1331
|
+
isOpen && /* @__PURE__ */ jsx18("ul", { className: "footer__accordion-links", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx18("li", { children: /* @__PURE__ */ jsx18(NavLink, { ...link }) }, linkIdx)) })
|
|
1292
1332
|
]
|
|
1293
1333
|
},
|
|
1294
1334
|
idx
|
|
1295
1335
|
);
|
|
1296
1336
|
}) }),
|
|
1297
|
-
socialLinks.length > 0 && /* @__PURE__ */
|
|
1337
|
+
socialLinks.length > 0 && /* @__PURE__ */ jsx18("div", { className: "footer__social footer__social--standalone", children: socialLinks.map((link, i) => /* @__PURE__ */ jsx18(
|
|
1298
1338
|
"a",
|
|
1299
1339
|
{
|
|
1300
1340
|
href: link.href,
|
|
@@ -1306,10 +1346,10 @@ var Footer = ({
|
|
|
1306
1346
|
},
|
|
1307
1347
|
i
|
|
1308
1348
|
)) }),
|
|
1309
|
-
derivGo && /* @__PURE__ */
|
|
1310
|
-
/* @__PURE__ */
|
|
1311
|
-
/* @__PURE__ */
|
|
1312
|
-
/* @__PURE__ */
|
|
1349
|
+
derivGo && /* @__PURE__ */ jsxs17("div", { className: "footer__deriv-go-banner", children: [
|
|
1350
|
+
/* @__PURE__ */ jsxs17("div", { className: "footer__deriv-go-banner-info", children: [
|
|
1351
|
+
/* @__PURE__ */ jsxs17("div", { className: "footer__deriv-go-header", children: [
|
|
1352
|
+
/* @__PURE__ */ jsx18(
|
|
1313
1353
|
"img",
|
|
1314
1354
|
{
|
|
1315
1355
|
src: derivGo.logoSrc,
|
|
@@ -1317,11 +1357,11 @@ var Footer = ({
|
|
|
1317
1357
|
className: "footer__deriv-go-logo"
|
|
1318
1358
|
}
|
|
1319
1359
|
),
|
|
1320
|
-
/* @__PURE__ */
|
|
1360
|
+
/* @__PURE__ */ jsx18("span", { className: "footer__deriv-go-title", children: derivGo.title ?? "Deriv GO" })
|
|
1321
1361
|
] }),
|
|
1322
|
-
/* @__PURE__ */
|
|
1362
|
+
/* @__PURE__ */ jsx18("p", { className: "footer__deriv-go-desc", children: derivGo.description ?? "Trade multipliers on our mobile app." })
|
|
1323
1363
|
] }),
|
|
1324
|
-
/* @__PURE__ */
|
|
1364
|
+
/* @__PURE__ */ jsx18("div", { className: "footer__deriv-go-banner-badges", children: /* @__PURE__ */ jsx18(
|
|
1325
1365
|
DerivGoBadges,
|
|
1326
1366
|
{
|
|
1327
1367
|
googlePlayBadge: derivGo.googlePlayBadge,
|
|
@@ -1331,11 +1371,11 @@ var Footer = ({
|
|
|
1331
1371
|
}
|
|
1332
1372
|
) })
|
|
1333
1373
|
] }),
|
|
1334
|
-
(licenseText || riskWarningText) && /* @__PURE__ */
|
|
1335
|
-
licenseText && /* @__PURE__ */
|
|
1336
|
-
riskWarningText && /* @__PURE__ */
|
|
1374
|
+
(licenseText || riskWarningText) && /* @__PURE__ */ jsxs17("div", { className: "footer__legal-block", children: [
|
|
1375
|
+
licenseText && /* @__PURE__ */ jsx18("div", { className: "footer__license", children: licenseText }),
|
|
1376
|
+
riskWarningText && /* @__PURE__ */ jsx18("div", { className: "footer__risk-warning", children: /* @__PURE__ */ jsx18("p", { className: "footer__risk-warning-text", children: riskWarningText }) })
|
|
1337
1377
|
] }),
|
|
1338
|
-
investorsInPeopleSrc && /* @__PURE__ */
|
|
1378
|
+
investorsInPeopleSrc && /* @__PURE__ */ jsx18("div", { className: "footer__investors-stacked", children: /* @__PURE__ */ jsx18(
|
|
1339
1379
|
"img",
|
|
1340
1380
|
{
|
|
1341
1381
|
src: investorsInPeopleSrc,
|
|
@@ -1349,12 +1389,13 @@ var Footer = ({
|
|
|
1349
1389
|
};
|
|
1350
1390
|
|
|
1351
1391
|
// templates/Hero/Hero.tsx
|
|
1352
|
-
import {
|
|
1392
|
+
import { useEffect as useEffect3, useRef as useRef3 } from "react";
|
|
1393
|
+
import { jsx as jsx19, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1353
1394
|
var Visual = ({
|
|
1354
1395
|
src,
|
|
1355
1396
|
className,
|
|
1356
1397
|
alt = ""
|
|
1357
|
-
}) => /* @__PURE__ */
|
|
1398
|
+
}) => /* @__PURE__ */ jsx19("div", { className, children: typeof src === "string" ? /* @__PURE__ */ jsx19("img", { src, alt }) : src });
|
|
1358
1399
|
var Hero = ({
|
|
1359
1400
|
variant,
|
|
1360
1401
|
subtitle,
|
|
@@ -1366,17 +1407,52 @@ var Hero = ({
|
|
|
1366
1407
|
heroImage,
|
|
1367
1408
|
leftVisual,
|
|
1368
1409
|
rightVisual,
|
|
1410
|
+
productImage,
|
|
1411
|
+
floatingImage,
|
|
1369
1412
|
className,
|
|
1370
1413
|
...props
|
|
1371
1414
|
}) => {
|
|
1372
1415
|
const variantClass = `hero--${variant}`;
|
|
1373
|
-
const
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1416
|
+
const sectionRef = useRef3(null);
|
|
1417
|
+
const leftRef = useRef3(null);
|
|
1418
|
+
const rightRef = useRef3(null);
|
|
1419
|
+
useEffect3(() => {
|
|
1420
|
+
if (variant !== "visuals") return;
|
|
1421
|
+
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
|
1422
|
+
const section = sectionRef.current;
|
|
1423
|
+
const leftEl = leftRef.current;
|
|
1424
|
+
const rightEl = rightRef.current;
|
|
1425
|
+
if (!section || !leftEl || !rightEl) return;
|
|
1426
|
+
const STRENGTH = 60;
|
|
1427
|
+
const onScroll = () => {
|
|
1428
|
+
const rect = section.getBoundingClientRect();
|
|
1429
|
+
const viewH = window.innerHeight;
|
|
1430
|
+
const progress = 1 - rect.bottom / (viewH + rect.height);
|
|
1431
|
+
const clamped = Math.max(0, Math.min(1, progress));
|
|
1432
|
+
const offset = (clamped - 0.5) * STRENGTH * 2;
|
|
1433
|
+
leftEl.style.transform = `translateY(${-offset}px)`;
|
|
1434
|
+
rightEl.style.transform = `translateY(${offset}px)`;
|
|
1435
|
+
};
|
|
1436
|
+
const scrollEl = (() => {
|
|
1437
|
+
let el = section.parentElement;
|
|
1438
|
+
while (el && el !== document.documentElement) {
|
|
1439
|
+
const { overflow, overflowY } = getComputedStyle(el);
|
|
1440
|
+
if (/auto|scroll/.test(overflow + overflowY)) return el;
|
|
1441
|
+
el = el.parentElement;
|
|
1442
|
+
}
|
|
1443
|
+
return window;
|
|
1444
|
+
})();
|
|
1445
|
+
scrollEl.addEventListener("scroll", onScroll, { passive: true });
|
|
1446
|
+
onScroll();
|
|
1447
|
+
return () => scrollEl.removeEventListener("scroll", onScroll);
|
|
1448
|
+
}, [variant]);
|
|
1449
|
+
const textBlock = /* @__PURE__ */ jsxs18("div", { className: "hero__text", children: [
|
|
1450
|
+
subtitle && /* @__PURE__ */ jsx19("p", { className: "hero__subtitle", children: subtitle }),
|
|
1451
|
+
/* @__PURE__ */ jsx19("h2", { className: "hero__title", children: title }),
|
|
1452
|
+
description && /* @__PURE__ */ jsx19("p", { className: "hero__description", children: description })
|
|
1377
1453
|
] });
|
|
1378
|
-
const buttonBlock = (primaryButton || secondaryButton) && /* @__PURE__ */
|
|
1379
|
-
primaryButton && (primaryButton.href ? /* @__PURE__ */
|
|
1454
|
+
const buttonBlock = (primaryButton || secondaryButton) && /* @__PURE__ */ jsxs18("div", { className: "hero__buttons", children: [
|
|
1455
|
+
primaryButton && (primaryButton.href ? /* @__PURE__ */ jsx19("a", { href: primaryButton.href, children: /* @__PURE__ */ jsx19(
|
|
1380
1456
|
Button,
|
|
1381
1457
|
{
|
|
1382
1458
|
colorScheme: "coral",
|
|
@@ -1384,7 +1460,7 @@ var Hero = ({
|
|
|
1384
1460
|
label: primaryButton.label,
|
|
1385
1461
|
onClick: primaryButton.onClick
|
|
1386
1462
|
}
|
|
1387
|
-
) }) : /* @__PURE__ */
|
|
1463
|
+
) }) : /* @__PURE__ */ jsx19(
|
|
1388
1464
|
Button,
|
|
1389
1465
|
{
|
|
1390
1466
|
colorScheme: "coral",
|
|
@@ -1393,7 +1469,7 @@ var Hero = ({
|
|
|
1393
1469
|
onClick: primaryButton.onClick
|
|
1394
1470
|
}
|
|
1395
1471
|
)),
|
|
1396
|
-
secondaryButton && (secondaryButton.href ? /* @__PURE__ */
|
|
1472
|
+
secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsx19("a", { href: secondaryButton.href, children: /* @__PURE__ */ jsx19(
|
|
1397
1473
|
Button,
|
|
1398
1474
|
{
|
|
1399
1475
|
colorScheme: "white",
|
|
@@ -1401,7 +1477,7 @@ var Hero = ({
|
|
|
1401
1477
|
label: secondaryButton.label,
|
|
1402
1478
|
onClick: secondaryButton.onClick
|
|
1403
1479
|
}
|
|
1404
|
-
) }) : /* @__PURE__ */
|
|
1480
|
+
) }) : /* @__PURE__ */ jsx19(
|
|
1405
1481
|
Button,
|
|
1406
1482
|
{
|
|
1407
1483
|
colorScheme: "white",
|
|
@@ -1411,23 +1487,16 @@ var Hero = ({
|
|
|
1411
1487
|
}
|
|
1412
1488
|
))
|
|
1413
1489
|
] });
|
|
1414
|
-
if (variant === "
|
|
1415
|
-
return /* @__PURE__ */
|
|
1490
|
+
if (variant === "split") {
|
|
1491
|
+
return /* @__PURE__ */ jsxs18(
|
|
1416
1492
|
"section",
|
|
1417
1493
|
{
|
|
1418
1494
|
className: ["hero", variantClass, className].filter(Boolean).join(" "),
|
|
1495
|
+
style: backgroundImageSrc ? { backgroundImage: `url(${backgroundImageSrc})` } : void 0,
|
|
1419
1496
|
...props,
|
|
1420
1497
|
children: [
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
{
|
|
1424
|
-
src: backgroundImageSrc,
|
|
1425
|
-
alt: "",
|
|
1426
|
-
className: "hero__bg-image",
|
|
1427
|
-
"aria-hidden": "true"
|
|
1428
|
-
}
|
|
1429
|
-
),
|
|
1430
|
-
heroImage && /* @__PURE__ */ jsx18(
|
|
1498
|
+
/* @__PURE__ */ jsx19("div", { className: "hero__overlay", "aria-hidden": "true" }),
|
|
1499
|
+
heroImage && /* @__PURE__ */ jsx19(
|
|
1431
1500
|
Visual,
|
|
1432
1501
|
{
|
|
1433
1502
|
src: heroImage,
|
|
@@ -1435,65 +1504,193 @@ var Hero = ({
|
|
|
1435
1504
|
alt: ""
|
|
1436
1505
|
}
|
|
1437
1506
|
),
|
|
1438
|
-
/* @__PURE__ */
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1507
|
+
/* @__PURE__ */ jsx19("div", { className: "hero__inner", children: /* @__PURE__ */ jsx19("div", { className: "hero__content", children: /* @__PURE__ */ jsx19("div", { className: "hero__left", children: /* @__PURE__ */ jsxs18("div", { className: "hero__body", children: [
|
|
1508
|
+
/* @__PURE__ */ jsxs18("div", { className: "hero__text", children: [
|
|
1509
|
+
subtitle && /* @__PURE__ */ jsx19("p", { className: "hero__subtitle", children: subtitle }),
|
|
1510
|
+
/* @__PURE__ */ jsx19("h2", { className: "hero__title", children: title }),
|
|
1511
|
+
description && /* @__PURE__ */ jsx19("p", { className: "hero__description", children: description })
|
|
1512
|
+
] }),
|
|
1513
|
+
(primaryButton || secondaryButton) && /* @__PURE__ */ jsxs18("div", { className: "hero__buttons", children: [
|
|
1514
|
+
primaryButton && (primaryButton.href ? /* @__PURE__ */ jsx19("a", { href: primaryButton.href, children: /* @__PURE__ */ jsx19(
|
|
1515
|
+
Button,
|
|
1516
|
+
{
|
|
1517
|
+
colorScheme: "coral",
|
|
1518
|
+
variant: "primary",
|
|
1519
|
+
label: primaryButton.label,
|
|
1520
|
+
onClick: primaryButton.onClick
|
|
1521
|
+
}
|
|
1522
|
+
) }) : /* @__PURE__ */ jsx19(
|
|
1523
|
+
Button,
|
|
1524
|
+
{
|
|
1525
|
+
colorScheme: "coral",
|
|
1526
|
+
variant: "primary",
|
|
1527
|
+
label: primaryButton.label,
|
|
1528
|
+
onClick: primaryButton.onClick
|
|
1529
|
+
}
|
|
1530
|
+
)),
|
|
1531
|
+
secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsx19("a", { href: secondaryButton.href, children: /* @__PURE__ */ jsx19(
|
|
1532
|
+
Button,
|
|
1533
|
+
{
|
|
1534
|
+
colorScheme: "white",
|
|
1535
|
+
variant: "secondary",
|
|
1536
|
+
label: secondaryButton.label,
|
|
1537
|
+
onClick: secondaryButton.onClick
|
|
1538
|
+
}
|
|
1539
|
+
) }) : /* @__PURE__ */ jsx19(
|
|
1540
|
+
Button,
|
|
1541
|
+
{
|
|
1542
|
+
colorScheme: "white",
|
|
1543
|
+
variant: "secondary",
|
|
1544
|
+
label: secondaryButton.label,
|
|
1545
|
+
onClick: secondaryButton.onClick
|
|
1546
|
+
}
|
|
1547
|
+
))
|
|
1548
|
+
] })
|
|
1442
1549
|
] }) }) }) })
|
|
1443
1550
|
]
|
|
1444
1551
|
}
|
|
1445
1552
|
);
|
|
1446
1553
|
}
|
|
1447
|
-
if (variant === "
|
|
1448
|
-
return /* @__PURE__ */
|
|
1554
|
+
if (variant === "centered") {
|
|
1555
|
+
return /* @__PURE__ */ jsxs18(
|
|
1449
1556
|
"section",
|
|
1450
1557
|
{
|
|
1451
1558
|
className: ["hero", variantClass, className].filter(Boolean).join(" "),
|
|
1559
|
+
style: backgroundImageSrc ? { backgroundImage: `url(${backgroundImageSrc})` } : void 0,
|
|
1452
1560
|
...props,
|
|
1453
1561
|
children: [
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
{
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
className: "
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1562
|
+
/* @__PURE__ */ jsx19("div", { className: "hero__overlay", "aria-hidden": "true" }),
|
|
1563
|
+
/* @__PURE__ */ jsx19("div", { className: "hero__inner", children: /* @__PURE__ */ jsxs18("div", { className: "hero__content", children: [
|
|
1564
|
+
/* @__PURE__ */ jsxs18("div", { className: "hero__text", children: [
|
|
1565
|
+
subtitle && /* @__PURE__ */ jsx19("p", { className: "hero__subtitle", children: subtitle }),
|
|
1566
|
+
/* @__PURE__ */ jsx19("h2", { className: "hero__title", children: title }),
|
|
1567
|
+
description && /* @__PURE__ */ jsx19("p", { className: "hero__description", children: description })
|
|
1568
|
+
] }),
|
|
1569
|
+
(primaryButton || secondaryButton) && /* @__PURE__ */ jsxs18("div", { className: "hero__buttons", children: [
|
|
1570
|
+
primaryButton && (primaryButton.href ? /* @__PURE__ */ jsx19("a", { href: primaryButton.href, children: /* @__PURE__ */ jsx19(
|
|
1571
|
+
Button,
|
|
1572
|
+
{
|
|
1573
|
+
colorScheme: "coral",
|
|
1574
|
+
variant: "primary",
|
|
1575
|
+
label: primaryButton.label,
|
|
1576
|
+
onClick: primaryButton.onClick
|
|
1577
|
+
}
|
|
1578
|
+
) }) : /* @__PURE__ */ jsx19(
|
|
1579
|
+
Button,
|
|
1580
|
+
{
|
|
1581
|
+
colorScheme: "coral",
|
|
1582
|
+
variant: "primary",
|
|
1583
|
+
label: primaryButton.label,
|
|
1584
|
+
onClick: primaryButton.onClick
|
|
1585
|
+
}
|
|
1586
|
+
)),
|
|
1587
|
+
secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsx19("a", { href: secondaryButton.href, children: /* @__PURE__ */ jsx19(
|
|
1588
|
+
Button,
|
|
1589
|
+
{
|
|
1590
|
+
colorScheme: "white",
|
|
1591
|
+
variant: "secondary",
|
|
1592
|
+
label: secondaryButton.label,
|
|
1593
|
+
onClick: secondaryButton.onClick
|
|
1594
|
+
}
|
|
1595
|
+
) }) : /* @__PURE__ */ jsx19(
|
|
1596
|
+
Button,
|
|
1597
|
+
{
|
|
1598
|
+
colorScheme: "white",
|
|
1599
|
+
variant: "secondary",
|
|
1600
|
+
label: secondaryButton.label,
|
|
1601
|
+
onClick: secondaryButton.onClick
|
|
1602
|
+
}
|
|
1603
|
+
))
|
|
1604
|
+
] })
|
|
1605
|
+
] }) })
|
|
1468
1606
|
]
|
|
1469
1607
|
}
|
|
1470
1608
|
);
|
|
1471
1609
|
}
|
|
1472
|
-
|
|
1610
|
+
if (variant === "showcase") {
|
|
1611
|
+
return /* @__PURE__ */ jsxs18(
|
|
1612
|
+
"section",
|
|
1613
|
+
{
|
|
1614
|
+
className: ["hero", variantClass, className].filter(Boolean).join(" "),
|
|
1615
|
+
style: backgroundImageSrc ? { backgroundImage: `url(${backgroundImageSrc})` } : void 0,
|
|
1616
|
+
...props,
|
|
1617
|
+
children: [
|
|
1618
|
+
/* @__PURE__ */ jsx19("div", { className: "hero__overlay", "aria-hidden": "true" }),
|
|
1619
|
+
/* @__PURE__ */ jsx19("div", { className: "hero__inner", children: /* @__PURE__ */ jsxs18("div", { className: "hero__content", children: [
|
|
1620
|
+
/* @__PURE__ */ jsxs18("div", { className: "hero__text", children: [
|
|
1621
|
+
subtitle && /* @__PURE__ */ jsx19("p", { className: "hero__subtitle", children: subtitle }),
|
|
1622
|
+
/* @__PURE__ */ jsx19("h2", { className: "hero__title", children: title }),
|
|
1623
|
+
description && /* @__PURE__ */ jsx19("p", { className: "hero__description", children: description })
|
|
1624
|
+
] }),
|
|
1625
|
+
(primaryButton || secondaryButton) && /* @__PURE__ */ jsxs18("div", { className: "hero__buttons", children: [
|
|
1626
|
+
primaryButton && (primaryButton.href ? /* @__PURE__ */ jsx19("a", { href: primaryButton.href, children: /* @__PURE__ */ jsx19(
|
|
1627
|
+
Button,
|
|
1628
|
+
{
|
|
1629
|
+
colorScheme: "coral",
|
|
1630
|
+
variant: "primary",
|
|
1631
|
+
label: primaryButton.label,
|
|
1632
|
+
onClick: primaryButton.onClick
|
|
1633
|
+
}
|
|
1634
|
+
) }) : /* @__PURE__ */ jsx19(
|
|
1635
|
+
Button,
|
|
1636
|
+
{
|
|
1637
|
+
colorScheme: "coral",
|
|
1638
|
+
variant: "primary",
|
|
1639
|
+
label: primaryButton.label,
|
|
1640
|
+
onClick: primaryButton.onClick
|
|
1641
|
+
}
|
|
1642
|
+
)),
|
|
1643
|
+
secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsx19("a", { href: secondaryButton.href, children: /* @__PURE__ */ jsx19(
|
|
1644
|
+
Button,
|
|
1645
|
+
{
|
|
1646
|
+
colorScheme: "white",
|
|
1647
|
+
variant: "secondary",
|
|
1648
|
+
label: secondaryButton.label,
|
|
1649
|
+
onClick: secondaryButton.onClick
|
|
1650
|
+
}
|
|
1651
|
+
) }) : /* @__PURE__ */ jsx19(
|
|
1652
|
+
Button,
|
|
1653
|
+
{
|
|
1654
|
+
colorScheme: "white",
|
|
1655
|
+
variant: "secondary",
|
|
1656
|
+
label: secondaryButton.label,
|
|
1657
|
+
onClick: secondaryButton.onClick
|
|
1658
|
+
}
|
|
1659
|
+
))
|
|
1660
|
+
] }),
|
|
1661
|
+
productImage && /* @__PURE__ */ jsx19(
|
|
1662
|
+
Visual,
|
|
1663
|
+
{
|
|
1664
|
+
src: productImage,
|
|
1665
|
+
className: "hero__product-image",
|
|
1666
|
+
alt: ""
|
|
1667
|
+
}
|
|
1668
|
+
),
|
|
1669
|
+
floatingImage && /* @__PURE__ */ jsx19(
|
|
1670
|
+
Visual,
|
|
1671
|
+
{
|
|
1672
|
+
src: floatingImage,
|
|
1673
|
+
className: "hero__floating-image",
|
|
1674
|
+
alt: ""
|
|
1675
|
+
}
|
|
1676
|
+
)
|
|
1677
|
+
] }) })
|
|
1678
|
+
]
|
|
1679
|
+
}
|
|
1680
|
+
);
|
|
1681
|
+
}
|
|
1682
|
+
return /* @__PURE__ */ jsxs18(
|
|
1473
1683
|
"section",
|
|
1474
1684
|
{
|
|
1685
|
+
ref: sectionRef,
|
|
1475
1686
|
className: ["hero", variantClass, className].filter(Boolean).join(" "),
|
|
1476
1687
|
...props,
|
|
1477
1688
|
children: [
|
|
1478
|
-
/* @__PURE__ */
|
|
1479
|
-
variant === "visuals" && leftVisual && /* @__PURE__ */
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
className: "hero__visual hero__visual--left",
|
|
1484
|
-
alt: ""
|
|
1485
|
-
}
|
|
1486
|
-
),
|
|
1487
|
-
variant === "visuals" && rightVisual && /* @__PURE__ */ jsx18(
|
|
1488
|
-
Visual,
|
|
1489
|
-
{
|
|
1490
|
-
src: rightVisual,
|
|
1491
|
-
className: "hero__visual hero__visual--right",
|
|
1492
|
-
alt: ""
|
|
1493
|
-
}
|
|
1494
|
-
),
|
|
1495
|
-
/* @__PURE__ */ jsx18("div", { className: "hero__overlay", "aria-hidden": "true" }),
|
|
1496
|
-
/* @__PURE__ */ jsx18("div", { className: "hero__inner", children: /* @__PURE__ */ jsx18("div", { className: "hero__content", children: /* @__PURE__ */ jsxs17("div", { className: "hero__body", children: [
|
|
1689
|
+
/* @__PURE__ */ jsx19("div", { className: "hero__grid", "aria-hidden": "true" }),
|
|
1690
|
+
variant === "visuals" && leftVisual && /* @__PURE__ */ jsx19("div", { ref: leftRef, className: "hero__visual hero__visual--left", children: typeof leftVisual === "string" ? /* @__PURE__ */ jsx19("img", { src: leftVisual, alt: "" }) : leftVisual }),
|
|
1691
|
+
variant === "visuals" && rightVisual && /* @__PURE__ */ jsx19("div", { ref: rightRef, className: "hero__visual hero__visual--right", children: typeof rightVisual === "string" ? /* @__PURE__ */ jsx19("img", { src: rightVisual, alt: "" }) : rightVisual }),
|
|
1692
|
+
/* @__PURE__ */ jsx19("div", { className: "hero__overlay", "aria-hidden": "true" }),
|
|
1693
|
+
/* @__PURE__ */ jsx19("div", { className: "hero__inner", children: /* @__PURE__ */ jsx19("div", { className: "hero__content", children: /* @__PURE__ */ jsxs18("div", { className: "hero__body", children: [
|
|
1497
1694
|
textBlock,
|
|
1498
1695
|
buttonBlock
|
|
1499
1696
|
] }) }) })
|
|
@@ -1503,8 +1700,8 @@ var Hero = ({
|
|
|
1503
1700
|
};
|
|
1504
1701
|
|
|
1505
1702
|
// templates/Stats/Stats.tsx
|
|
1506
|
-
import { useEffect as
|
|
1507
|
-
import { jsx as
|
|
1703
|
+
import { useEffect as useEffect4, useRef as useRef4, useState as useState6 } from "react";
|
|
1704
|
+
import { jsx as jsx20, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1508
1705
|
var INTERVAL_MS = 2e3;
|
|
1509
1706
|
var TRANSITION = "transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1)";
|
|
1510
1707
|
function relativePos(index, active, total) {
|
|
@@ -1528,7 +1725,7 @@ function getStatStyle(rel) {
|
|
|
1528
1725
|
transition: TRANSITION
|
|
1529
1726
|
};
|
|
1530
1727
|
}
|
|
1531
|
-
var AwardBadge = ({ imageSrc, imageAlt = "" }) => /* @__PURE__ */
|
|
1728
|
+
var AwardBadge = ({ imageSrc, imageAlt = "" }) => /* @__PURE__ */ jsx20("div", { className: "stats__award", children: /* @__PURE__ */ jsx20("img", { src: imageSrc, alt: imageAlt, className: "stats__award-image" }) });
|
|
1532
1729
|
var Stats = ({
|
|
1533
1730
|
title,
|
|
1534
1731
|
description,
|
|
@@ -1539,11 +1736,11 @@ var Stats = ({
|
|
|
1539
1736
|
...props
|
|
1540
1737
|
}) => {
|
|
1541
1738
|
const [activeIndex, setActiveIndex] = useState6(0);
|
|
1542
|
-
const intervalRef =
|
|
1739
|
+
const intervalRef = useRef4(null);
|
|
1543
1740
|
const hasAwards = leftAwards.length > 0 || rightAwards.length > 0;
|
|
1544
1741
|
const allAwards = [...leftAwards, ...rightAwards];
|
|
1545
1742
|
const total = stats.length;
|
|
1546
|
-
|
|
1743
|
+
useEffect4(() => {
|
|
1547
1744
|
if (total <= 1) return;
|
|
1548
1745
|
intervalRef.current = setInterval(() => {
|
|
1549
1746
|
setActiveIndex((prev) => (prev + 1) % total);
|
|
@@ -1552,25 +1749,25 @@ var Stats = ({
|
|
|
1552
1749
|
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
1553
1750
|
};
|
|
1554
1751
|
}, [total]);
|
|
1555
|
-
return /* @__PURE__ */
|
|
1752
|
+
return /* @__PURE__ */ jsx20(
|
|
1556
1753
|
"section",
|
|
1557
1754
|
{
|
|
1558
1755
|
className: ["stats", className].filter(Boolean).join(" "),
|
|
1559
1756
|
...props,
|
|
1560
|
-
children: /* @__PURE__ */
|
|
1561
|
-
/* @__PURE__ */
|
|
1562
|
-
/* @__PURE__ */
|
|
1563
|
-
description && /* @__PURE__ */
|
|
1757
|
+
children: /* @__PURE__ */ jsxs19("div", { className: "stats__inner", children: [
|
|
1758
|
+
/* @__PURE__ */ jsxs19("div", { className: "stats__header", children: [
|
|
1759
|
+
/* @__PURE__ */ jsx20("h2", { className: "stats__title", children: title }),
|
|
1760
|
+
description && /* @__PURE__ */ jsx20("p", { className: "stats__description", children: description })
|
|
1564
1761
|
] }),
|
|
1565
|
-
/* @__PURE__ */
|
|
1566
|
-
leftAwards.length > 0 && /* @__PURE__ */
|
|
1567
|
-
/* @__PURE__ */
|
|
1568
|
-
/* @__PURE__ */
|
|
1569
|
-
/* @__PURE__ */
|
|
1762
|
+
/* @__PURE__ */ jsxs19("div", { className: "stats__content", children: [
|
|
1763
|
+
leftAwards.length > 0 && /* @__PURE__ */ jsx20("div", { className: "stats__awards-col stats__awards-col--left", children: leftAwards.map((award, i) => /* @__PURE__ */ jsx20(AwardBadge, { ...award }, i)) }),
|
|
1764
|
+
/* @__PURE__ */ jsx20("div", { className: "stats__card", children: /* @__PURE__ */ jsxs19("div", { className: "stats__card-track", children: [
|
|
1765
|
+
/* @__PURE__ */ jsx20("div", { className: "stats__fade stats__fade--top", "aria-hidden": "true" }),
|
|
1766
|
+
/* @__PURE__ */ jsx20("div", { className: "stats__fade stats__fade--bottom", "aria-hidden": "true" }),
|
|
1570
1767
|
stats.map((stat, i) => {
|
|
1571
1768
|
const rel = relativePos(i, activeIndex, total);
|
|
1572
1769
|
const active = rel === 0;
|
|
1573
|
-
return /* @__PURE__ */
|
|
1770
|
+
return /* @__PURE__ */ jsxs19(
|
|
1574
1771
|
"div",
|
|
1575
1772
|
{
|
|
1576
1773
|
className: [
|
|
@@ -1580,16 +1777,16 @@ var Stats = ({
|
|
|
1580
1777
|
style: getStatStyle(rel),
|
|
1581
1778
|
"aria-hidden": !active,
|
|
1582
1779
|
children: [
|
|
1583
|
-
/* @__PURE__ */
|
|
1584
|
-
/* @__PURE__ */
|
|
1780
|
+
/* @__PURE__ */ jsx20("span", { className: "stats__stat-value", children: stat.value }),
|
|
1781
|
+
/* @__PURE__ */ jsx20("span", { className: "stats__stat-label", children: stat.label })
|
|
1585
1782
|
]
|
|
1586
1783
|
},
|
|
1587
1784
|
i
|
|
1588
1785
|
);
|
|
1589
1786
|
})
|
|
1590
1787
|
] }) }),
|
|
1591
|
-
rightAwards.length > 0 && /* @__PURE__ */
|
|
1592
|
-
hasAwards && /* @__PURE__ */
|
|
1788
|
+
rightAwards.length > 0 && /* @__PURE__ */ jsx20("div", { className: "stats__awards-col stats__awards-col--right", children: rightAwards.map((award, i) => /* @__PURE__ */ jsx20(AwardBadge, { ...award }, i)) }),
|
|
1789
|
+
hasAwards && /* @__PURE__ */ jsx20("div", { className: "stats__awards-mobile", children: allAwards.map((award, i) => /* @__PURE__ */ jsx20(AwardBadge, { ...award }, i)) })
|
|
1593
1790
|
] })
|
|
1594
1791
|
] })
|
|
1595
1792
|
}
|
|
@@ -1597,9 +1794,9 @@ var Stats = ({
|
|
|
1597
1794
|
};
|
|
1598
1795
|
|
|
1599
1796
|
// templates/Scrollytelling/Scrollytelling.tsx
|
|
1600
|
-
import { useEffect as
|
|
1797
|
+
import { useEffect as useEffect5, useRef as useRef5, useState as useState7 } from "react";
|
|
1601
1798
|
import { DotLottieReact } from "@lottiefiles/dotlottie-react";
|
|
1602
|
-
import { jsx as
|
|
1799
|
+
import { jsx as jsx21, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1603
1800
|
var SCROLLYTELLING_DATA = [
|
|
1604
1801
|
{
|
|
1605
1802
|
title: "Forex",
|
|
@@ -1644,7 +1841,7 @@ var SCROLLYTELLING_DATA = [
|
|
|
1644
1841
|
mediaUrl: "https://cdn.prod.website-files.com/66fbaad381fa6866fa4991f3/675a9064f2c16e4e0732abfb_Stock%20Indices.lottie"
|
|
1645
1842
|
}
|
|
1646
1843
|
];
|
|
1647
|
-
var ChevronRight2 = () => /* @__PURE__ */
|
|
1844
|
+
var ChevronRight2 = () => /* @__PURE__ */ jsx21(
|
|
1648
1845
|
"svg",
|
|
1649
1846
|
{
|
|
1650
1847
|
className: "scrolly__item-link-icon",
|
|
@@ -1653,7 +1850,7 @@ var ChevronRight2 = () => /* @__PURE__ */ jsx20(
|
|
|
1653
1850
|
viewBox: "0 0 16 16",
|
|
1654
1851
|
fill: "none",
|
|
1655
1852
|
"aria-hidden": "true",
|
|
1656
|
-
children: /* @__PURE__ */
|
|
1853
|
+
children: /* @__PURE__ */ jsx21(
|
|
1657
1854
|
"path",
|
|
1658
1855
|
{
|
|
1659
1856
|
d: "M6 3l5 5-5 5",
|
|
@@ -1671,7 +1868,7 @@ function resolveMediaType(item) {
|
|
|
1671
1868
|
}
|
|
1672
1869
|
var MediaRenderer = ({ item, active }) => {
|
|
1673
1870
|
if (resolveMediaType(item) === "lottie") {
|
|
1674
|
-
return /* @__PURE__ */
|
|
1871
|
+
return /* @__PURE__ */ jsx21(
|
|
1675
1872
|
DotLottieReact,
|
|
1676
1873
|
{
|
|
1677
1874
|
src: item.mediaUrl,
|
|
@@ -1680,7 +1877,7 @@ var MediaRenderer = ({ item, active }) => {
|
|
|
1680
1877
|
}
|
|
1681
1878
|
);
|
|
1682
1879
|
}
|
|
1683
|
-
return /* @__PURE__ */
|
|
1880
|
+
return /* @__PURE__ */ jsx21(
|
|
1684
1881
|
"img",
|
|
1685
1882
|
{
|
|
1686
1883
|
src: item.mediaUrl,
|
|
@@ -1697,8 +1894,8 @@ var Scrollytelling = ({
|
|
|
1697
1894
|
...props
|
|
1698
1895
|
}) => {
|
|
1699
1896
|
const [activeIndex, setActiveIndex] = useState7(0);
|
|
1700
|
-
const itemRefs =
|
|
1701
|
-
|
|
1897
|
+
const itemRefs = useRef5([]);
|
|
1898
|
+
useEffect5(() => {
|
|
1702
1899
|
const elements = itemRefs.current.filter(Boolean);
|
|
1703
1900
|
if (!elements.length) return;
|
|
1704
1901
|
const observer = new IntersectionObserver(
|
|
@@ -1729,17 +1926,17 @@ var Scrollytelling = ({
|
|
|
1729
1926
|
`scrolly--${variant}`,
|
|
1730
1927
|
className
|
|
1731
1928
|
].filter(Boolean).join(" ");
|
|
1732
|
-
return /* @__PURE__ */
|
|
1733
|
-
/* @__PURE__ */
|
|
1734
|
-
/* @__PURE__ */
|
|
1735
|
-
/* @__PURE__ */
|
|
1929
|
+
return /* @__PURE__ */ jsx21("section", { className: rootClass, ...props, children: /* @__PURE__ */ jsxs20("div", { className: "scrolly__inner", children: [
|
|
1930
|
+
/* @__PURE__ */ jsx21("h2", { className: "scrolly__header", children: header }),
|
|
1931
|
+
/* @__PURE__ */ jsxs20("div", { className: "scrolly__layout", children: [
|
|
1932
|
+
/* @__PURE__ */ jsx21("div", { className: "scrolly__media-col", "aria-hidden": "true", children: /* @__PURE__ */ jsx21("div", { className: "scrolly__media-wrap", children: items.map((item, i) => /* @__PURE__ */ jsx21(
|
|
1736
1933
|
"div",
|
|
1737
1934
|
{
|
|
1738
1935
|
className: [
|
|
1739
1936
|
"scrolly__media-item",
|
|
1740
1937
|
i === activeIndex ? "scrolly__media-item--active" : ""
|
|
1741
1938
|
].filter(Boolean).join(" "),
|
|
1742
|
-
children: /* @__PURE__ */
|
|
1939
|
+
children: /* @__PURE__ */ jsx21(
|
|
1743
1940
|
MediaRenderer,
|
|
1744
1941
|
{
|
|
1745
1942
|
item,
|
|
@@ -1749,7 +1946,7 @@ var Scrollytelling = ({
|
|
|
1749
1946
|
},
|
|
1750
1947
|
i
|
|
1751
1948
|
)) }) }),
|
|
1752
|
-
/* @__PURE__ */
|
|
1949
|
+
/* @__PURE__ */ jsx21("div", { className: "scrolly__content-col", children: items.map((item, i) => /* @__PURE__ */ jsxs20(
|
|
1753
1950
|
"div",
|
|
1754
1951
|
{
|
|
1755
1952
|
ref: (el) => {
|
|
@@ -1760,16 +1957,16 @@ var Scrollytelling = ({
|
|
|
1760
1957
|
i === activeIndex ? "scrolly__item--active" : "scrolly__item--inactive"
|
|
1761
1958
|
].join(" "),
|
|
1762
1959
|
children: [
|
|
1763
|
-
/* @__PURE__ */
|
|
1764
|
-
/* @__PURE__ */
|
|
1765
|
-
/* @__PURE__ */
|
|
1960
|
+
/* @__PURE__ */ jsx21("h3", { className: "scrolly__item-title", children: item.title }),
|
|
1961
|
+
/* @__PURE__ */ jsx21("p", { className: "scrolly__item-desc", children: item.description }),
|
|
1962
|
+
/* @__PURE__ */ jsxs20(
|
|
1766
1963
|
"a",
|
|
1767
1964
|
{
|
|
1768
1965
|
href: item.link,
|
|
1769
1966
|
className: "scrolly__item-link",
|
|
1770
1967
|
children: [
|
|
1771
|
-
/* @__PURE__ */
|
|
1772
|
-
/* @__PURE__ */
|
|
1968
|
+
/* @__PURE__ */ jsx21("span", { children: item.linkLabel }),
|
|
1969
|
+
/* @__PURE__ */ jsx21(ChevronRight2, {})
|
|
1773
1970
|
]
|
|
1774
1971
|
}
|
|
1775
1972
|
)
|
|
@@ -1778,45 +1975,46 @@ var Scrollytelling = ({
|
|
|
1778
1975
|
i
|
|
1779
1976
|
)) })
|
|
1780
1977
|
] }),
|
|
1781
|
-
/* @__PURE__ */
|
|
1782
|
-
/* @__PURE__ */
|
|
1783
|
-
/* @__PURE__ */
|
|
1784
|
-
/* @__PURE__ */
|
|
1978
|
+
/* @__PURE__ */ jsx21("div", { className: "scrolly__mobile-list", children: items.map((item, i) => /* @__PURE__ */ jsxs20("div", { className: "scrolly__mobile-item", children: [
|
|
1979
|
+
/* @__PURE__ */ jsx21("h3", { className: "scrolly__item-title", children: item.title }),
|
|
1980
|
+
/* @__PURE__ */ jsx21("p", { className: "scrolly__item-desc", children: item.description }),
|
|
1981
|
+
/* @__PURE__ */ jsxs20(
|
|
1785
1982
|
"a",
|
|
1786
1983
|
{
|
|
1787
1984
|
href: item.link,
|
|
1788
1985
|
className: "scrolly__item-link",
|
|
1789
1986
|
children: [
|
|
1790
|
-
/* @__PURE__ */
|
|
1791
|
-
/* @__PURE__ */
|
|
1987
|
+
/* @__PURE__ */ jsx21("span", { children: "Learn more" }),
|
|
1988
|
+
/* @__PURE__ */ jsx21(ChevronRight2, {})
|
|
1792
1989
|
]
|
|
1793
1990
|
}
|
|
1794
1991
|
),
|
|
1795
|
-
/* @__PURE__ */
|
|
1992
|
+
/* @__PURE__ */ jsx21("div", { className: "scrolly__mobile-media", children: /* @__PURE__ */ jsx21(MediaRenderer, { item, active: true }) })
|
|
1796
1993
|
] }, i)) })
|
|
1797
1994
|
] }) });
|
|
1798
1995
|
};
|
|
1799
1996
|
|
|
1800
1997
|
// templates/StickyStackedCards/StickyStackedCards.tsx
|
|
1801
|
-
import { useEffect as
|
|
1802
|
-
import { jsx as
|
|
1998
|
+
import { useEffect as useEffect6, useRef as useRef6 } from "react";
|
|
1999
|
+
import { jsx as jsx22, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2000
|
+
var PLACEHOLDER_IMAGE = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69b9309379ac08e59ca8210a_1f3f555da9a5cbb13a6fe1bf0d5fe1b6_placeholder-image.webp";
|
|
1803
2001
|
var STEPS_DATA = [
|
|
1804
2002
|
{
|
|
1805
|
-
title: "
|
|
1806
|
-
description: "
|
|
1807
|
-
imageUrl:
|
|
2003
|
+
title: "Title goes here",
|
|
2004
|
+
description: "Explain how this specific feature helps your user.",
|
|
2005
|
+
imageUrl: PLACEHOLDER_IMAGE,
|
|
1808
2006
|
theme: "light"
|
|
1809
2007
|
},
|
|
1810
2008
|
{
|
|
1811
|
-
title: "
|
|
1812
|
-
description: "
|
|
1813
|
-
imageUrl:
|
|
2009
|
+
title: "Title goes here",
|
|
2010
|
+
description: "Explain how this specific feature helps your user.",
|
|
2011
|
+
imageUrl: PLACEHOLDER_IMAGE,
|
|
1814
2012
|
theme: "coral"
|
|
1815
2013
|
},
|
|
1816
2014
|
{
|
|
1817
|
-
title: "
|
|
1818
|
-
description: "
|
|
1819
|
-
imageUrl:
|
|
2015
|
+
title: "Title goes here",
|
|
2016
|
+
description: "Explain how this specific feature helps your user.",
|
|
2017
|
+
imageUrl: PLACEHOLDER_IMAGE,
|
|
1820
2018
|
theme: "dark"
|
|
1821
2019
|
}
|
|
1822
2020
|
];
|
|
@@ -1827,8 +2025,8 @@ var StickyStackedCards = ({
|
|
|
1827
2025
|
className,
|
|
1828
2026
|
...props
|
|
1829
2027
|
}) => {
|
|
1830
|
-
const cardRefs =
|
|
1831
|
-
|
|
2028
|
+
const cardRefs = useRef6([]);
|
|
2029
|
+
useEffect6(() => {
|
|
1832
2030
|
if (typeof window === "undefined") return;
|
|
1833
2031
|
let rafId = 0;
|
|
1834
2032
|
const update = () => {
|
|
@@ -1862,14 +2060,14 @@ var StickyStackedCards = ({
|
|
|
1862
2060
|
cancelAnimationFrame(rafId);
|
|
1863
2061
|
};
|
|
1864
2062
|
}, [items.length]);
|
|
1865
|
-
return /* @__PURE__ */
|
|
2063
|
+
return /* @__PURE__ */ jsx22(
|
|
1866
2064
|
"section",
|
|
1867
2065
|
{
|
|
1868
2066
|
className: ["ssc", className].filter(Boolean).join(" "),
|
|
1869
2067
|
...props,
|
|
1870
|
-
children: /* @__PURE__ */
|
|
1871
|
-
/* @__PURE__ */
|
|
1872
|
-
/* @__PURE__ */
|
|
2068
|
+
children: /* @__PURE__ */ jsxs21("div", { className: "ssc__inner", children: [
|
|
2069
|
+
/* @__PURE__ */ jsx22("h2", { className: "ssc__header", children: header }),
|
|
2070
|
+
/* @__PURE__ */ jsx22("div", { className: "ssc__track", children: items.map((item, i) => /* @__PURE__ */ jsxs21(
|
|
1873
2071
|
"div",
|
|
1874
2072
|
{
|
|
1875
2073
|
ref: (el) => {
|
|
@@ -1895,11 +2093,11 @@ var StickyStackedCards = ({
|
|
|
1895
2093
|
top: `calc(var(--ssc-sticky-top) + ${i} * var(--ssc-peek-offset))`
|
|
1896
2094
|
},
|
|
1897
2095
|
children: [
|
|
1898
|
-
/* @__PURE__ */
|
|
1899
|
-
/* @__PURE__ */
|
|
1900
|
-
/* @__PURE__ */
|
|
2096
|
+
/* @__PURE__ */ jsxs21("div", { className: "ssc__card-content", children: [
|
|
2097
|
+
/* @__PURE__ */ jsx22("h3", { className: "ssc__card-title", children: item.title }),
|
|
2098
|
+
/* @__PURE__ */ jsx22("p", { className: "ssc__card-desc", children: item.description })
|
|
1901
2099
|
] }),
|
|
1902
|
-
/* @__PURE__ */
|
|
2100
|
+
/* @__PURE__ */ jsx22("div", { className: "ssc__card-image", children: /* @__PURE__ */ jsx22(
|
|
1903
2101
|
"img",
|
|
1904
2102
|
{
|
|
1905
2103
|
src: item.imageUrl,
|
|
@@ -1917,7 +2115,7 @@ var StickyStackedCards = ({
|
|
|
1917
2115
|
};
|
|
1918
2116
|
|
|
1919
2117
|
// templates/CTABanner/CTABanner.tsx
|
|
1920
|
-
import { useRef as
|
|
2118
|
+
import { useRef as useRef7 } from "react";
|
|
1921
2119
|
import {
|
|
1922
2120
|
motion,
|
|
1923
2121
|
useScroll,
|
|
@@ -1925,7 +2123,7 @@ import {
|
|
|
1925
2123
|
useTransform,
|
|
1926
2124
|
useMotionTemplate
|
|
1927
2125
|
} from "framer-motion";
|
|
1928
|
-
import { jsx as
|
|
2126
|
+
import { jsx as jsx23, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1929
2127
|
var ENTRANCE = {
|
|
1930
2128
|
near: 80,
|
|
1931
2129
|
mid: 130,
|
|
@@ -2171,7 +2369,7 @@ var CTABanner = ({
|
|
|
2171
2369
|
...props
|
|
2172
2370
|
}) => {
|
|
2173
2371
|
const resolvedAvatars = avatars ?? (variant === "compact" ? COMPACT_AVATAR_DATA : AVATAR_DATA);
|
|
2174
|
-
const sectionRef =
|
|
2372
|
+
const sectionRef = useRef7(null);
|
|
2175
2373
|
const { scrollYProgress } = useScroll({
|
|
2176
2374
|
target: sectionRef,
|
|
2177
2375
|
offset: ["start end", "end start"]
|
|
@@ -2189,14 +2387,14 @@ var CTABanner = ({
|
|
|
2189
2387
|
const compactXValues = useCompactAvatarXValues(smooth);
|
|
2190
2388
|
const avatarYValues = variant === "compact" ? compactYValues : standardYValues;
|
|
2191
2389
|
const avatarXValues = variant === "compact" ? compactXValues : standardXValues;
|
|
2192
|
-
return /* @__PURE__ */
|
|
2390
|
+
return /* @__PURE__ */ jsxs22(
|
|
2193
2391
|
"section",
|
|
2194
2392
|
{
|
|
2195
2393
|
ref: sectionRef,
|
|
2196
2394
|
className: ["ctab", variant === "compact" ? "ctab--compact" : "", className].filter(Boolean).join(" "),
|
|
2197
2395
|
...props,
|
|
2198
2396
|
children: [
|
|
2199
|
-
/* @__PURE__ */
|
|
2397
|
+
/* @__PURE__ */ jsx23(
|
|
2200
2398
|
motion.div,
|
|
2201
2399
|
{
|
|
2202
2400
|
className: "ctab__grid",
|
|
@@ -2204,7 +2402,7 @@ var CTABanner = ({
|
|
|
2204
2402
|
"aria-hidden": "true"
|
|
2205
2403
|
}
|
|
2206
2404
|
),
|
|
2207
|
-
/* @__PURE__ */
|
|
2405
|
+
/* @__PURE__ */ jsx23("div", { className: "ctab__inner", children: /* @__PURE__ */ jsxs22("div", { className: "ctab__stage", children: [
|
|
2208
2406
|
resolvedAvatars.map((avatar, index) => {
|
|
2209
2407
|
const posStyle = {};
|
|
2210
2408
|
if (avatar.desktopPos.left) posStyle["--av-d-left"] = avatar.desktopPos.left;
|
|
@@ -2213,7 +2411,7 @@ var CTABanner = ({
|
|
|
2213
2411
|
if (avatar.mobilePos?.left) posStyle["--av-m-left"] = avatar.mobilePos.left;
|
|
2214
2412
|
if (avatar.mobilePos?.right) posStyle["--av-m-right"] = avatar.mobilePos.right;
|
|
2215
2413
|
if (avatar.mobilePos?.top) posStyle["--av-m-top"] = avatar.mobilePos.top;
|
|
2216
|
-
return /* @__PURE__ */
|
|
2414
|
+
return /* @__PURE__ */ jsx23(
|
|
2217
2415
|
motion.div,
|
|
2218
2416
|
{
|
|
2219
2417
|
className: [
|
|
@@ -2227,7 +2425,7 @@ var CTABanner = ({
|
|
|
2227
2425
|
opacity: avatarOpacity,
|
|
2228
2426
|
filter: avatarFilter
|
|
2229
2427
|
},
|
|
2230
|
-
children: /* @__PURE__ */
|
|
2428
|
+
children: /* @__PURE__ */ jsx23(
|
|
2231
2429
|
"img",
|
|
2232
2430
|
{
|
|
2233
2431
|
src: avatar.imageUrl,
|
|
@@ -2240,14 +2438,14 @@ var CTABanner = ({
|
|
|
2240
2438
|
avatar.id
|
|
2241
2439
|
);
|
|
2242
2440
|
}),
|
|
2243
|
-
/* @__PURE__ */
|
|
2441
|
+
/* @__PURE__ */ jsxs22(
|
|
2244
2442
|
motion.div,
|
|
2245
2443
|
{
|
|
2246
2444
|
className: "ctab__hero",
|
|
2247
2445
|
style: { y: heroY, opacity: heroOpacity },
|
|
2248
2446
|
children: [
|
|
2249
|
-
/* @__PURE__ */
|
|
2250
|
-
/* @__PURE__ */
|
|
2447
|
+
/* @__PURE__ */ jsx23("h2", { className: "ctab__headline", children: headline }),
|
|
2448
|
+
/* @__PURE__ */ jsx23("a", { href: ctaHref, children: /* @__PURE__ */ jsx23(Button, { colorScheme: "black", variant: "primary", label: ctaLabel }) })
|
|
2251
2449
|
]
|
|
2252
2450
|
}
|
|
2253
2451
|
)
|
|
@@ -2258,14 +2456,14 @@ var CTABanner = ({
|
|
|
2258
2456
|
};
|
|
2259
2457
|
|
|
2260
2458
|
// components/Navbar/Navbar.tsx
|
|
2261
|
-
import { useRef as
|
|
2459
|
+
import { useRef as useRef8, useState as useState8, useEffect as useEffect7, useCallback as useCallback2 } from "react";
|
|
2262
2460
|
import { motion as motion2, AnimatePresence } from "framer-motion";
|
|
2263
2461
|
|
|
2264
2462
|
// assets/icon-globe.svg
|
|
2265
2463
|
var icon_globe_default = "./icon-globe-S54WYYEK.svg";
|
|
2266
2464
|
|
|
2267
2465
|
// components/Navbar/Navbar.tsx
|
|
2268
|
-
import { jsx as
|
|
2466
|
+
import { jsx as jsx24, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2269
2467
|
var EASE_OUT_EXPO = [0.16, 1, 0.3, 1];
|
|
2270
2468
|
var dropdownVariants = {
|
|
2271
2469
|
hidden: { opacity: 0, scale: 0.96, y: -8 },
|
|
@@ -2279,7 +2477,7 @@ var accordionVariants = {
|
|
|
2279
2477
|
hidden: { height: 0, opacity: 0 },
|
|
2280
2478
|
visible: { height: "auto", opacity: 1 }
|
|
2281
2479
|
};
|
|
2282
|
-
var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */
|
|
2480
|
+
var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ jsx24(
|
|
2283
2481
|
"svg",
|
|
2284
2482
|
{
|
|
2285
2483
|
className,
|
|
@@ -2288,7 +2486,7 @@ var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ jsx23(
|
|
|
2288
2486
|
viewBox: "0 0 14 14",
|
|
2289
2487
|
fill: "none",
|
|
2290
2488
|
"aria-hidden": "true",
|
|
2291
|
-
children: /* @__PURE__ */
|
|
2489
|
+
children: /* @__PURE__ */ jsx24(
|
|
2292
2490
|
"path",
|
|
2293
2491
|
{
|
|
2294
2492
|
d: "M2.625 4.8125L7 9.1875L11.375 4.8125",
|
|
@@ -2300,7 +2498,7 @@ var ChevronDownIcon3 = ({ className }) => /* @__PURE__ */ jsx23(
|
|
|
2300
2498
|
)
|
|
2301
2499
|
}
|
|
2302
2500
|
);
|
|
2303
|
-
var ArrowRightIcon = () => /* @__PURE__ */
|
|
2501
|
+
var ArrowRightIcon = () => /* @__PURE__ */ jsx24("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx24(
|
|
2304
2502
|
"path",
|
|
2305
2503
|
{
|
|
2306
2504
|
d: "M2.625 7H11.375M11.375 7L7.875 3.5M11.375 7L7.875 10.5",
|
|
@@ -2310,7 +2508,7 @@ var ArrowRightIcon = () => /* @__PURE__ */ jsx23("svg", { width: "14", height: "
|
|
|
2310
2508
|
strokeLinejoin: "round"
|
|
2311
2509
|
}
|
|
2312
2510
|
) });
|
|
2313
|
-
var ArrowUpRightIcon = () => /* @__PURE__ */
|
|
2511
|
+
var ArrowUpRightIcon = () => /* @__PURE__ */ jsx24("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx24(
|
|
2314
2512
|
"path",
|
|
2315
2513
|
{
|
|
2316
2514
|
d: "M4.5 11.5L11.5 4.5M11.5 4.5H5.5M11.5 4.5V10.5",
|
|
@@ -2320,7 +2518,7 @@ var ArrowUpRightIcon = () => /* @__PURE__ */ jsx23("svg", { width: "16", height:
|
|
|
2320
2518
|
strokeLinejoin: "round"
|
|
2321
2519
|
}
|
|
2322
2520
|
) });
|
|
2323
|
-
var BarsIcon = () => /* @__PURE__ */
|
|
2521
|
+
var BarsIcon = () => /* @__PURE__ */ jsx24("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx24(
|
|
2324
2522
|
"path",
|
|
2325
2523
|
{
|
|
2326
2524
|
d: "M2.5 5H17.5M2.5 10H17.5M2.5 15H17.5",
|
|
@@ -2329,7 +2527,7 @@ var BarsIcon = () => /* @__PURE__ */ jsx23("svg", { width: "20", height: "20", v
|
|
|
2329
2527
|
strokeLinecap: "round"
|
|
2330
2528
|
}
|
|
2331
2529
|
) });
|
|
2332
|
-
var XMarkIcon2 = () => /* @__PURE__ */
|
|
2530
|
+
var XMarkIcon2 = () => /* @__PURE__ */ jsx24("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx24(
|
|
2333
2531
|
"path",
|
|
2334
2532
|
{
|
|
2335
2533
|
d: "M15 5L5 15M5 5L15 15",
|
|
@@ -2338,7 +2536,7 @@ var XMarkIcon2 = () => /* @__PURE__ */ jsx23("svg", { width: "20", height: "20",
|
|
|
2338
2536
|
strokeLinecap: "round"
|
|
2339
2537
|
}
|
|
2340
2538
|
) });
|
|
2341
|
-
var ChevronLeftIcon = ({ className }) => /* @__PURE__ */
|
|
2539
|
+
var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ jsx24(
|
|
2342
2540
|
"svg",
|
|
2343
2541
|
{
|
|
2344
2542
|
className,
|
|
@@ -2347,7 +2545,7 @@ var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ jsx23(
|
|
|
2347
2545
|
viewBox: "0 0 24 24",
|
|
2348
2546
|
fill: "none",
|
|
2349
2547
|
"aria-hidden": "true",
|
|
2350
|
-
children: /* @__PURE__ */
|
|
2548
|
+
children: /* @__PURE__ */ jsx24(
|
|
2351
2549
|
"path",
|
|
2352
2550
|
{
|
|
2353
2551
|
d: "M15 18L9 12L15 6",
|
|
@@ -2359,11 +2557,11 @@ var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ jsx23(
|
|
|
2359
2557
|
)
|
|
2360
2558
|
}
|
|
2361
2559
|
);
|
|
2362
|
-
var GlobeIcon = ({ className }) => /* @__PURE__ */
|
|
2560
|
+
var GlobeIcon = ({ className }) => /* @__PURE__ */ jsx24("img", { src: icon_globe_default, alt: "", "aria-hidden": "true", width: "20", height: "20", className });
|
|
2363
2561
|
var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
|
|
2364
2562
|
const { dropdown } = item;
|
|
2365
2563
|
if (!dropdown) return null;
|
|
2366
|
-
return /* @__PURE__ */
|
|
2564
|
+
return /* @__PURE__ */ jsx24(
|
|
2367
2565
|
motion2.div,
|
|
2368
2566
|
{
|
|
2369
2567
|
className: "navbar__dropdown",
|
|
@@ -2374,10 +2572,10 @@ var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
|
|
|
2374
2572
|
transition: { duration: 0.18, ease: EASE_OUT_EXPO },
|
|
2375
2573
|
onMouseEnter,
|
|
2376
2574
|
onMouseLeave,
|
|
2377
|
-
children: /* @__PURE__ */
|
|
2378
|
-
/* @__PURE__ */
|
|
2379
|
-
/* @__PURE__ */
|
|
2380
|
-
section.items.map((link) => /* @__PURE__ */
|
|
2575
|
+
children: /* @__PURE__ */ jsxs23("div", { className: "navbar__dropdown-inner", children: [
|
|
2576
|
+
/* @__PURE__ */ jsx24("div", { className: "navbar__dropdown-left", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ jsx24("div", { className: "navbar__dropdown-col", children: col.sections.map((section) => /* @__PURE__ */ jsxs23("div", { className: "navbar__dropdown-col-list", children: [
|
|
2577
|
+
/* @__PURE__ */ jsx24("p", { className: "navbar__dropdown-col-title", children: section.title }),
|
|
2578
|
+
section.items.map((link) => /* @__PURE__ */ jsxs23(
|
|
2381
2579
|
"a",
|
|
2382
2580
|
{
|
|
2383
2581
|
href: link.href,
|
|
@@ -2386,24 +2584,24 @@ var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
|
|
|
2386
2584
|
rel: link.external ? "noopener noreferrer" : void 0,
|
|
2387
2585
|
children: [
|
|
2388
2586
|
link.label,
|
|
2389
|
-
link.external ? /* @__PURE__ */
|
|
2587
|
+
link.external ? /* @__PURE__ */ jsx24(ArrowUpRightIcon, {}) : /* @__PURE__ */ jsx24(ArrowRightIcon, {})
|
|
2390
2588
|
]
|
|
2391
2589
|
},
|
|
2392
2590
|
link.href
|
|
2393
2591
|
))
|
|
2394
2592
|
] }, section.title)) }, colIdx)) }),
|
|
2395
|
-
dropdown.feature && /* @__PURE__ */
|
|
2593
|
+
dropdown.feature && /* @__PURE__ */ jsx24("div", { className: "navbar__dropdown-right", children: /* @__PURE__ */ jsx24(FeatureCard, { feature: dropdown.feature }) })
|
|
2396
2594
|
] })
|
|
2397
2595
|
}
|
|
2398
2596
|
);
|
|
2399
2597
|
};
|
|
2400
|
-
var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */
|
|
2598
|
+
var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs23(
|
|
2401
2599
|
"div",
|
|
2402
2600
|
{
|
|
2403
2601
|
className: mobile ? "navbar__drawer-feature" : "navbar__dropdown-feature",
|
|
2404
2602
|
style: feature.backgroundImageUrl ? { backgroundImage: `url(${feature.backgroundImageUrl})` } : void 0,
|
|
2405
2603
|
children: [
|
|
2406
|
-
feature.backgroundImageUrl && /* @__PURE__ */
|
|
2604
|
+
feature.backgroundImageUrl && /* @__PURE__ */ jsx24(
|
|
2407
2605
|
"img",
|
|
2408
2606
|
{
|
|
2409
2607
|
src: feature.backgroundImageUrl,
|
|
@@ -2412,20 +2610,20 @@ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs22(
|
|
|
2412
2610
|
"aria-hidden": "true"
|
|
2413
2611
|
}
|
|
2414
2612
|
),
|
|
2415
|
-
/* @__PURE__ */
|
|
2416
|
-
/* @__PURE__ */
|
|
2417
|
-
/* @__PURE__ */
|
|
2418
|
-
/* @__PURE__ */
|
|
2419
|
-
/* @__PURE__ */
|
|
2613
|
+
/* @__PURE__ */ jsx24("div", { className: mobile ? "navbar__drawer-feature-overlay" : "navbar__dropdown-feature-overlay", "aria-hidden": "true" }),
|
|
2614
|
+
/* @__PURE__ */ jsxs23("div", { className: mobile ? "navbar__drawer-feature-content" : "navbar__dropdown-feature-content", children: [
|
|
2615
|
+
/* @__PURE__ */ jsxs23("div", { children: [
|
|
2616
|
+
/* @__PURE__ */ jsx24("p", { className: mobile ? "navbar__drawer-feature-title" : "navbar__dropdown-feature-title", children: feature.title }),
|
|
2617
|
+
/* @__PURE__ */ jsx24("p", { className: mobile ? "navbar__drawer-feature-desc" : "navbar__dropdown-feature-desc", children: feature.description })
|
|
2420
2618
|
] }),
|
|
2421
|
-
/* @__PURE__ */
|
|
2619
|
+
/* @__PURE__ */ jsxs23(
|
|
2422
2620
|
"a",
|
|
2423
2621
|
{
|
|
2424
2622
|
href: feature.ctaHref,
|
|
2425
2623
|
className: mobile ? "navbar__drawer-feature-cta" : "navbar__dropdown-feature-cta",
|
|
2426
2624
|
children: [
|
|
2427
2625
|
feature.ctaLabel,
|
|
2428
|
-
/* @__PURE__ */
|
|
2626
|
+
/* @__PURE__ */ jsx24(ArrowRightIcon, {})
|
|
2429
2627
|
]
|
|
2430
2628
|
}
|
|
2431
2629
|
)
|
|
@@ -2435,8 +2633,8 @@ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs22(
|
|
|
2435
2633
|
);
|
|
2436
2634
|
var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
2437
2635
|
const { dropdown } = item;
|
|
2438
|
-
return /* @__PURE__ */
|
|
2439
|
-
/* @__PURE__ */
|
|
2636
|
+
return /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-item", children: [
|
|
2637
|
+
/* @__PURE__ */ jsxs23(
|
|
2440
2638
|
"button",
|
|
2441
2639
|
{
|
|
2442
2640
|
className: `navbar__drawer-trigger ${isOpen ? "navbar__drawer-trigger--open" : ""}`,
|
|
@@ -2444,11 +2642,11 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
|
2444
2642
|
"aria-expanded": isOpen,
|
|
2445
2643
|
children: [
|
|
2446
2644
|
item.label,
|
|
2447
|
-
/* @__PURE__ */
|
|
2645
|
+
/* @__PURE__ */ jsx24(ChevronDownIcon3, { className: "navbar__drawer-trigger__chevron" })
|
|
2448
2646
|
]
|
|
2449
2647
|
}
|
|
2450
2648
|
),
|
|
2451
|
-
/* @__PURE__ */
|
|
2649
|
+
/* @__PURE__ */ jsx24(AnimatePresence, { initial: false, children: isOpen && dropdown && /* @__PURE__ */ jsx24(
|
|
2452
2650
|
motion2.div,
|
|
2453
2651
|
{
|
|
2454
2652
|
className: "navbar__drawer-panel",
|
|
@@ -2457,10 +2655,10 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
|
2457
2655
|
animate: "visible",
|
|
2458
2656
|
exit: "hidden",
|
|
2459
2657
|
transition: { duration: 0.22, ease: EASE_OUT_EXPO },
|
|
2460
|
-
children: /* @__PURE__ */
|
|
2461
|
-
/* @__PURE__ */
|
|
2462
|
-
/* @__PURE__ */
|
|
2463
|
-
/* @__PURE__ */
|
|
2658
|
+
children: /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-panel-inner", children: [
|
|
2659
|
+
/* @__PURE__ */ jsx24("div", { className: "navbar__drawer-panel-cols", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ jsx24("div", { className: "navbar__drawer-panel-col", children: col.sections.map((section) => /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-col-section", children: [
|
|
2660
|
+
/* @__PURE__ */ jsx24("p", { className: "navbar__drawer-col-title", children: section.title }),
|
|
2661
|
+
/* @__PURE__ */ jsx24("div", { className: "navbar__drawer-col-links", children: section.items.map((link) => /* @__PURE__ */ jsx24(
|
|
2464
2662
|
"a",
|
|
2465
2663
|
{
|
|
2466
2664
|
href: link.href,
|
|
@@ -2472,7 +2670,7 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
|
|
|
2472
2670
|
link.href
|
|
2473
2671
|
)) })
|
|
2474
2672
|
] }, section.title)) }, colIdx)) }),
|
|
2475
|
-
dropdown.feature && /* @__PURE__ */
|
|
2673
|
+
dropdown.feature && /* @__PURE__ */ jsx24(FeatureCard, { feature: dropdown.feature, mobile: true })
|
|
2476
2674
|
] })
|
|
2477
2675
|
}
|
|
2478
2676
|
) })
|
|
@@ -2502,18 +2700,18 @@ var Navbar = ({
|
|
|
2502
2700
|
const [scrolled, setScrolled] = useState8(false);
|
|
2503
2701
|
const [langDropdownOpen, setLangDropdownOpen] = useState8(false);
|
|
2504
2702
|
const [mobileLangOpen, setMobileLangOpen] = useState8(false);
|
|
2505
|
-
const hoverTimeoutRef =
|
|
2506
|
-
const langHoverTimeoutRef =
|
|
2507
|
-
const pillAreaRef =
|
|
2508
|
-
const langBtnRef =
|
|
2703
|
+
const hoverTimeoutRef = useRef8(null);
|
|
2704
|
+
const langHoverTimeoutRef = useRef8(null);
|
|
2705
|
+
const pillAreaRef = useRef8(null);
|
|
2706
|
+
const langBtnRef = useRef8(null);
|
|
2509
2707
|
const hasLangDropdown = Boolean(languageItems && languageItems.length > 0);
|
|
2510
2708
|
const resolvedLogo = theme === "light" ? logoSrcDark ?? logoSrc : logoSrc;
|
|
2511
|
-
|
|
2709
|
+
useEffect7(() => {
|
|
2512
2710
|
const onScroll = () => setScrolled(window.scrollY > 0);
|
|
2513
2711
|
window.addEventListener("scroll", onScroll, { passive: true });
|
|
2514
2712
|
return () => window.removeEventListener("scroll", onScroll);
|
|
2515
2713
|
}, []);
|
|
2516
|
-
|
|
2714
|
+
useEffect7(() => {
|
|
2517
2715
|
const onKey = (e) => {
|
|
2518
2716
|
if (e.key === "Escape") {
|
|
2519
2717
|
setOpenDropdown(null);
|
|
@@ -2524,16 +2722,16 @@ var Navbar = ({
|
|
|
2524
2722
|
document.addEventListener("keydown", onKey);
|
|
2525
2723
|
return () => document.removeEventListener("keydown", onKey);
|
|
2526
2724
|
}, []);
|
|
2527
|
-
|
|
2725
|
+
useEffect7(() => {
|
|
2528
2726
|
if (!mobileOpen) setMobileLangOpen(false);
|
|
2529
2727
|
}, [mobileOpen]);
|
|
2530
|
-
|
|
2728
|
+
useEffect7(() => {
|
|
2531
2729
|
document.body.style.overflow = mobileOpen ? "hidden" : "";
|
|
2532
2730
|
return () => {
|
|
2533
2731
|
document.body.style.overflow = "";
|
|
2534
2732
|
};
|
|
2535
2733
|
}, [mobileOpen]);
|
|
2536
|
-
|
|
2734
|
+
useEffect7(() => {
|
|
2537
2735
|
if (!openDropdown) return;
|
|
2538
2736
|
const onPointerDown = (e) => {
|
|
2539
2737
|
if (pillAreaRef.current && !pillAreaRef.current.contains(e.target)) {
|
|
@@ -2577,20 +2775,20 @@ var Navbar = ({
|
|
|
2577
2775
|
hoverTimeoutRef.current = setTimeout(() => setOpenDropdown(null), 120);
|
|
2578
2776
|
}, [clearHoverTimeout]);
|
|
2579
2777
|
const activeDropdownItem = navItems.find((item) => item.label === openDropdown);
|
|
2580
|
-
return /* @__PURE__ */
|
|
2778
|
+
return /* @__PURE__ */ jsxs23(
|
|
2581
2779
|
"nav",
|
|
2582
2780
|
{
|
|
2583
2781
|
className: ["navbar", `navbar--${theme}`, scrolled && "navbar--scrolled", mobileOpen && "navbar--menu-open", className].filter(Boolean).join(" "),
|
|
2584
2782
|
...props,
|
|
2585
2783
|
children: [
|
|
2586
|
-
/* @__PURE__ */
|
|
2587
|
-
/* @__PURE__ */
|
|
2588
|
-
/* @__PURE__ */
|
|
2589
|
-
/* @__PURE__ */
|
|
2590
|
-
/* @__PURE__ */
|
|
2784
|
+
/* @__PURE__ */ jsxs23("div", { className: "navbar__bar", children: [
|
|
2785
|
+
/* @__PURE__ */ jsx24("a", { href: logoHref, className: "navbar__logo", "aria-label": "Home", children: /* @__PURE__ */ jsx24("img", { src: resolvedLogo, alt: "Logo" }) }),
|
|
2786
|
+
/* @__PURE__ */ jsx24("div", { className: "navbar__nav-center", ref: pillAreaRef, children: /* @__PURE__ */ jsxs23("div", { className: "navbar__pill", children: [
|
|
2787
|
+
/* @__PURE__ */ jsx24("a", { href: logoHref, className: "navbar__pill-logo", "aria-label": "Home", children: /* @__PURE__ */ jsx24("img", { src: logoSrcDark ?? logoSrc, alt: "Logo" }) }),
|
|
2788
|
+
/* @__PURE__ */ jsxs23("div", { className: "navbar__nav-group", children: [
|
|
2591
2789
|
navItems.map((item) => {
|
|
2592
2790
|
if (item.external) {
|
|
2593
|
-
return /* @__PURE__ */
|
|
2791
|
+
return /* @__PURE__ */ jsxs23(
|
|
2594
2792
|
"a",
|
|
2595
2793
|
{
|
|
2596
2794
|
href: item.href,
|
|
@@ -2599,14 +2797,14 @@ var Navbar = ({
|
|
|
2599
2797
|
rel: "noopener noreferrer",
|
|
2600
2798
|
children: [
|
|
2601
2799
|
item.label,
|
|
2602
|
-
/* @__PURE__ */
|
|
2800
|
+
/* @__PURE__ */ jsx24(ArrowUpRightIcon, {})
|
|
2603
2801
|
]
|
|
2604
2802
|
},
|
|
2605
2803
|
item.label
|
|
2606
2804
|
);
|
|
2607
2805
|
}
|
|
2608
2806
|
if (item.dropdown) {
|
|
2609
|
-
return /* @__PURE__ */
|
|
2807
|
+
return /* @__PURE__ */ jsxs23(
|
|
2610
2808
|
"button",
|
|
2611
2809
|
{
|
|
2612
2810
|
className: [
|
|
@@ -2619,21 +2817,21 @@ var Navbar = ({
|
|
|
2619
2817
|
"aria-haspopup": "true",
|
|
2620
2818
|
children: [
|
|
2621
2819
|
item.label,
|
|
2622
|
-
/* @__PURE__ */
|
|
2820
|
+
/* @__PURE__ */ jsx24(ChevronDownIcon3, { className: "navbar__nav-item__chevron" })
|
|
2623
2821
|
]
|
|
2624
2822
|
},
|
|
2625
2823
|
item.label
|
|
2626
2824
|
);
|
|
2627
2825
|
}
|
|
2628
|
-
return /* @__PURE__ */
|
|
2826
|
+
return /* @__PURE__ */ jsx24("a", { href: item.href, className: "navbar__nav-item", children: item.label }, item.label);
|
|
2629
2827
|
}),
|
|
2630
|
-
languageLabel && /* @__PURE__ */
|
|
2828
|
+
languageLabel && /* @__PURE__ */ jsx24(
|
|
2631
2829
|
"div",
|
|
2632
2830
|
{
|
|
2633
2831
|
className: "navbar__lang-wrapper",
|
|
2634
2832
|
onMouseEnter: hasLangDropdown ? handleLangEnter : void 0,
|
|
2635
2833
|
onMouseLeave: hasLangDropdown ? handleLangLeave : void 0,
|
|
2636
|
-
children: /* @__PURE__ */
|
|
2834
|
+
children: /* @__PURE__ */ jsxs23(
|
|
2637
2835
|
"button",
|
|
2638
2836
|
{
|
|
2639
2837
|
ref: langBtnRef,
|
|
@@ -2642,7 +2840,7 @@ var Navbar = ({
|
|
|
2642
2840
|
"aria-haspopup": hasLangDropdown ? "true" : void 0,
|
|
2643
2841
|
"aria-expanded": hasLangDropdown ? langDropdownOpen : void 0,
|
|
2644
2842
|
children: [
|
|
2645
|
-
/* @__PURE__ */
|
|
2843
|
+
/* @__PURE__ */ jsx24(GlobeIcon, { className: "navbar__lang-globe" }),
|
|
2646
2844
|
languageLabel
|
|
2647
2845
|
]
|
|
2648
2846
|
}
|
|
@@ -2650,12 +2848,12 @@ var Navbar = ({
|
|
|
2650
2848
|
}
|
|
2651
2849
|
)
|
|
2652
2850
|
] }),
|
|
2653
|
-
/* @__PURE__ */
|
|
2654
|
-
loginHref && /* @__PURE__ */
|
|
2655
|
-
ctaHref && /* @__PURE__ */
|
|
2851
|
+
/* @__PURE__ */ jsxs23("div", { className: "navbar__pill-actions", children: [
|
|
2852
|
+
loginHref && /* @__PURE__ */ jsx24("a", { href: loginHref, children: /* @__PURE__ */ jsx24(Button, { colorScheme: "black", variant: "secondary", label: loginLabel }) }),
|
|
2853
|
+
ctaHref && /* @__PURE__ */ jsx24("a", { href: ctaHref, children: /* @__PURE__ */ jsx24(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
|
|
2656
2854
|
] })
|
|
2657
2855
|
] }) }),
|
|
2658
|
-
/* @__PURE__ */
|
|
2856
|
+
/* @__PURE__ */ jsx24(AnimatePresence, { children: openDropdown && activeDropdownItem?.dropdown && /* @__PURE__ */ jsx24(
|
|
2659
2857
|
DropdownPanel,
|
|
2660
2858
|
{
|
|
2661
2859
|
item: activeDropdownItem,
|
|
@@ -2664,7 +2862,7 @@ var Navbar = ({
|
|
|
2664
2862
|
},
|
|
2665
2863
|
"dropdown"
|
|
2666
2864
|
) }),
|
|
2667
|
-
/* @__PURE__ */
|
|
2865
|
+
/* @__PURE__ */ jsx24(AnimatePresence, { children: hasLangDropdown && langDropdownOpen && /* @__PURE__ */ jsx24(
|
|
2668
2866
|
motion2.div,
|
|
2669
2867
|
{
|
|
2670
2868
|
className: "navbar__lang-dropdown",
|
|
@@ -2675,12 +2873,12 @@ var Navbar = ({
|
|
|
2675
2873
|
transition: { duration: 0.18, ease: EASE_OUT_EXPO },
|
|
2676
2874
|
onMouseEnter: clearLangHoverTimeout,
|
|
2677
2875
|
onMouseLeave: handleLangLeave,
|
|
2678
|
-
children: /* @__PURE__ */
|
|
2876
|
+
children: /* @__PURE__ */ jsx24(
|
|
2679
2877
|
"div",
|
|
2680
2878
|
{
|
|
2681
2879
|
className: "navbar__lang-dropdown-grid",
|
|
2682
2880
|
style: { "--lang-rows": Math.ceil(languageItems.length / 3) },
|
|
2683
|
-
children: languageItems.map((lang) => /* @__PURE__ */
|
|
2881
|
+
children: languageItems.map((lang) => /* @__PURE__ */ jsx24(
|
|
2684
2882
|
"button",
|
|
2685
2883
|
{
|
|
2686
2884
|
className: [
|
|
@@ -2696,8 +2894,8 @@ var Navbar = ({
|
|
|
2696
2894
|
)
|
|
2697
2895
|
}
|
|
2698
2896
|
) }),
|
|
2699
|
-
/* @__PURE__ */
|
|
2700
|
-
loginHref && /* @__PURE__ */
|
|
2897
|
+
/* @__PURE__ */ jsxs23("div", { className: "navbar__actions", children: [
|
|
2898
|
+
loginHref && /* @__PURE__ */ jsx24("a", { href: loginHref, className: "navbar__actions-login", children: /* @__PURE__ */ jsx24(
|
|
2701
2899
|
Button,
|
|
2702
2900
|
{
|
|
2703
2901
|
colorScheme: theme === "dark" ? "white" : "black",
|
|
@@ -2705,10 +2903,10 @@ var Navbar = ({
|
|
|
2705
2903
|
label: loginLabel
|
|
2706
2904
|
}
|
|
2707
2905
|
) }),
|
|
2708
|
-
ctaHref && /* @__PURE__ */
|
|
2906
|
+
ctaHref && /* @__PURE__ */ jsx24("a", { href: ctaHref, children: /* @__PURE__ */ jsx24(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
|
|
2709
2907
|
] }),
|
|
2710
|
-
/* @__PURE__ */
|
|
2711
|
-
loginHref && /* @__PURE__ */
|
|
2908
|
+
/* @__PURE__ */ jsxs23("div", { className: "navbar__mobile-actions", children: [
|
|
2909
|
+
loginHref && /* @__PURE__ */ jsx24("a", { href: loginHref, children: /* @__PURE__ */ jsx24(
|
|
2712
2910
|
Button,
|
|
2713
2911
|
{
|
|
2714
2912
|
colorScheme: scrolled || theme === "light" ? "black" : "white",
|
|
@@ -2716,18 +2914,18 @@ var Navbar = ({
|
|
|
2716
2914
|
label: loginLabel
|
|
2717
2915
|
}
|
|
2718
2916
|
) }),
|
|
2719
|
-
/* @__PURE__ */
|
|
2917
|
+
/* @__PURE__ */ jsx24(
|
|
2720
2918
|
"button",
|
|
2721
2919
|
{
|
|
2722
2920
|
className: "navbar__mobile-trigger",
|
|
2723
2921
|
onClick: () => setMobileOpen((o) => !o),
|
|
2724
2922
|
"aria-label": mobileOpen ? "Close navigation menu" : "Open navigation menu",
|
|
2725
|
-
children: mobileOpen ? /* @__PURE__ */
|
|
2923
|
+
children: mobileOpen ? /* @__PURE__ */ jsx24(XMarkIcon2, {}) : /* @__PURE__ */ jsx24(BarsIcon, {})
|
|
2726
2924
|
}
|
|
2727
2925
|
)
|
|
2728
2926
|
] })
|
|
2729
2927
|
] }),
|
|
2730
|
-
/* @__PURE__ */
|
|
2928
|
+
/* @__PURE__ */ jsx24("div", { className: "navbar__drawer-clip", children: /* @__PURE__ */ jsx24(AnimatePresence, { children: mobileOpen && /* @__PURE__ */ jsxs23(
|
|
2731
2929
|
motion2.div,
|
|
2732
2930
|
{
|
|
2733
2931
|
className: "navbar__drawer",
|
|
@@ -2740,10 +2938,10 @@ var Navbar = ({
|
|
|
2740
2938
|
role: "dialog",
|
|
2741
2939
|
"aria-label": "Navigation menu",
|
|
2742
2940
|
children: [
|
|
2743
|
-
/* @__PURE__ */
|
|
2941
|
+
/* @__PURE__ */ jsxs23("nav", { className: "navbar__drawer-nav", children: [
|
|
2744
2942
|
navItems.map((item) => {
|
|
2745
2943
|
if (item.dropdown) {
|
|
2746
|
-
return /* @__PURE__ */
|
|
2944
|
+
return /* @__PURE__ */ jsx24(
|
|
2747
2945
|
DrawerAccordion,
|
|
2748
2946
|
{
|
|
2749
2947
|
item,
|
|
@@ -2755,7 +2953,7 @@ var Navbar = ({
|
|
|
2755
2953
|
item.label
|
|
2756
2954
|
);
|
|
2757
2955
|
}
|
|
2758
|
-
return /* @__PURE__ */
|
|
2956
|
+
return /* @__PURE__ */ jsxs23(
|
|
2759
2957
|
"a",
|
|
2760
2958
|
{
|
|
2761
2959
|
href: item.href,
|
|
@@ -2764,30 +2962,30 @@ var Navbar = ({
|
|
|
2764
2962
|
rel: item.external ? "noopener noreferrer" : void 0,
|
|
2765
2963
|
children: [
|
|
2766
2964
|
item.label,
|
|
2767
|
-
item.external && /* @__PURE__ */
|
|
2965
|
+
item.external && /* @__PURE__ */ jsx24(ArrowUpRightIcon, {})
|
|
2768
2966
|
]
|
|
2769
2967
|
},
|
|
2770
2968
|
item.label
|
|
2771
2969
|
);
|
|
2772
2970
|
}),
|
|
2773
|
-
languageLabel && !hasLangDropdown && /* @__PURE__ */
|
|
2774
|
-
/* @__PURE__ */
|
|
2971
|
+
languageLabel && !hasLangDropdown && /* @__PURE__ */ jsxs23("button", { className: "navbar__drawer-lang", onClick: onLanguageClick, children: [
|
|
2972
|
+
/* @__PURE__ */ jsx24(GlobeIcon, { className: "navbar__lang-globe" }),
|
|
2775
2973
|
languageLabel
|
|
2776
2974
|
] }),
|
|
2777
|
-
languageLabel && hasLangDropdown && /* @__PURE__ */
|
|
2975
|
+
languageLabel && hasLangDropdown && /* @__PURE__ */ jsxs23(
|
|
2778
2976
|
"button",
|
|
2779
2977
|
{
|
|
2780
2978
|
className: "navbar__drawer-lang",
|
|
2781
2979
|
onClick: () => setMobileLangOpen(true),
|
|
2782
2980
|
children: [
|
|
2783
|
-
/* @__PURE__ */
|
|
2981
|
+
/* @__PURE__ */ jsx24(GlobeIcon, { className: "navbar__lang-globe" }),
|
|
2784
2982
|
languageLabel
|
|
2785
2983
|
]
|
|
2786
2984
|
}
|
|
2787
2985
|
)
|
|
2788
2986
|
] }),
|
|
2789
|
-
!mobileLangOpen && /* @__PURE__ */
|
|
2790
|
-
loginHref && /* @__PURE__ */
|
|
2987
|
+
!mobileLangOpen && /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-footer", children: [
|
|
2988
|
+
loginHref && /* @__PURE__ */ jsx24("a", { href: loginHref, style: { display: "block" }, children: /* @__PURE__ */ jsx24(
|
|
2791
2989
|
Button,
|
|
2792
2990
|
{
|
|
2793
2991
|
colorScheme: "black",
|
|
@@ -2796,7 +2994,7 @@ var Navbar = ({
|
|
|
2796
2994
|
fullWidth: true
|
|
2797
2995
|
}
|
|
2798
2996
|
) }),
|
|
2799
|
-
ctaHref && /* @__PURE__ */
|
|
2997
|
+
ctaHref && /* @__PURE__ */ jsx24("a", { href: ctaHref, style: { display: "block" }, children: /* @__PURE__ */ jsx24(
|
|
2800
2998
|
Button,
|
|
2801
2999
|
{
|
|
2802
3000
|
colorScheme: "coral",
|
|
@@ -2806,7 +3004,7 @@ var Navbar = ({
|
|
|
2806
3004
|
}
|
|
2807
3005
|
) })
|
|
2808
3006
|
] }),
|
|
2809
|
-
/* @__PURE__ */
|
|
3007
|
+
/* @__PURE__ */ jsx24(AnimatePresence, { children: hasLangDropdown && mobileLangOpen && /* @__PURE__ */ jsxs23(
|
|
2810
3008
|
motion2.div,
|
|
2811
3009
|
{
|
|
2812
3010
|
className: "navbar__drawer-lang-panel",
|
|
@@ -2815,16 +3013,16 @@ var Navbar = ({
|
|
|
2815
3013
|
exit: { y: "100%" },
|
|
2816
3014
|
transition: { duration: 0.25, ease: EASE_OUT_EXPO },
|
|
2817
3015
|
children: [
|
|
2818
|
-
/* @__PURE__ */
|
|
3016
|
+
/* @__PURE__ */ jsx24(
|
|
2819
3017
|
"button",
|
|
2820
3018
|
{
|
|
2821
3019
|
className: "navbar__drawer-lang-back",
|
|
2822
3020
|
onClick: () => setMobileLangOpen(false),
|
|
2823
3021
|
"aria-label": "Back to menu",
|
|
2824
|
-
children: /* @__PURE__ */
|
|
3022
|
+
children: /* @__PURE__ */ jsx24(ChevronLeftIcon, {})
|
|
2825
3023
|
}
|
|
2826
3024
|
),
|
|
2827
|
-
/* @__PURE__ */
|
|
3025
|
+
/* @__PURE__ */ jsx24("div", { className: "navbar__drawer-lang-grid", children: languageItems.map((lang) => /* @__PURE__ */ jsx24(
|
|
2828
3026
|
"button",
|
|
2829
3027
|
{
|
|
2830
3028
|
className: [
|
|
@@ -2848,7 +3046,7 @@ var Navbar = ({
|
|
|
2848
3046
|
};
|
|
2849
3047
|
|
|
2850
3048
|
// templates/DayNightTransition/DayNightTransition.tsx
|
|
2851
|
-
import { useRef as
|
|
3049
|
+
import { useRef as useRef9 } from "react";
|
|
2852
3050
|
import {
|
|
2853
3051
|
motion as motion3,
|
|
2854
3052
|
useScroll as useScroll2,
|
|
@@ -2856,7 +3054,7 @@ import {
|
|
|
2856
3054
|
useTransform as useTransform2,
|
|
2857
3055
|
useMotionTemplate as useMotionTemplate2
|
|
2858
3056
|
} from "framer-motion";
|
|
2859
|
-
import { jsx as
|
|
3057
|
+
import { jsx as jsx25, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2860
3058
|
var SPRING2 = { stiffness: 80, damping: 30, restDelta: 1e-3 };
|
|
2861
3059
|
var FADE_START = 0.35;
|
|
2862
3060
|
var FADE_END = 0.65;
|
|
@@ -2876,7 +3074,7 @@ var DayNightTransition = ({
|
|
|
2876
3074
|
className,
|
|
2877
3075
|
...props
|
|
2878
3076
|
}) => {
|
|
2879
|
-
const wrapperRef =
|
|
3077
|
+
const wrapperRef = useRef9(null);
|
|
2880
3078
|
const { scrollYProgress } = useScroll2({
|
|
2881
3079
|
target: wrapperRef,
|
|
2882
3080
|
offset: ["start end", "end start"]
|
|
@@ -2888,14 +3086,14 @@ var DayNightTransition = ({
|
|
|
2888
3086
|
const dayOpacity = useTransform2(smooth, [WORD_START, WORD_END], [1, 0]);
|
|
2889
3087
|
const nightOpacity2 = useTransform2(smooth, [WORD_START, WORD_END], [0, 1]);
|
|
2890
3088
|
const hasDescription = Boolean(dayDescription || nightDescription);
|
|
2891
|
-
return /* @__PURE__ */
|
|
3089
|
+
return /* @__PURE__ */ jsx25(
|
|
2892
3090
|
"div",
|
|
2893
3091
|
{
|
|
2894
3092
|
ref: wrapperRef,
|
|
2895
3093
|
className: ["dnt", className].filter(Boolean).join(" "),
|
|
2896
3094
|
...props,
|
|
2897
|
-
children: /* @__PURE__ */
|
|
2898
|
-
/* @__PURE__ */
|
|
3095
|
+
children: /* @__PURE__ */ jsxs24("div", { className: "dnt__sticky", children: [
|
|
3096
|
+
/* @__PURE__ */ jsx25(
|
|
2899
3097
|
"img",
|
|
2900
3098
|
{
|
|
2901
3099
|
className: "dnt__bg dnt__bg--day",
|
|
@@ -2905,7 +3103,7 @@ var DayNightTransition = ({
|
|
|
2905
3103
|
draggable: false
|
|
2906
3104
|
}
|
|
2907
3105
|
),
|
|
2908
|
-
/* @__PURE__ */
|
|
3106
|
+
/* @__PURE__ */ jsx25(
|
|
2909
3107
|
motion3.img,
|
|
2910
3108
|
{
|
|
2911
3109
|
className: "dnt__bg dnt__bg--night",
|
|
@@ -2916,14 +3114,14 @@ var DayNightTransition = ({
|
|
|
2916
3114
|
style: { opacity: nightOpacity }
|
|
2917
3115
|
}
|
|
2918
3116
|
),
|
|
2919
|
-
/* @__PURE__ */
|
|
3117
|
+
/* @__PURE__ */ jsx25("div", { className: "dnt__content", children: /* @__PURE__ */ jsxs24(
|
|
2920
3118
|
motion3.div,
|
|
2921
3119
|
{
|
|
2922
3120
|
className: "dnt__text-wrap",
|
|
2923
3121
|
style: { color: textColor },
|
|
2924
3122
|
children: [
|
|
2925
|
-
/* @__PURE__ */
|
|
2926
|
-
/* @__PURE__ */
|
|
3123
|
+
/* @__PURE__ */ jsxs24("div", { className: "dnt__crossfade-wrap", children: [
|
|
3124
|
+
/* @__PURE__ */ jsx25(
|
|
2927
3125
|
motion3.h2,
|
|
2928
3126
|
{
|
|
2929
3127
|
className: "dnt__headline",
|
|
@@ -2931,7 +3129,7 @@ var DayNightTransition = ({
|
|
|
2931
3129
|
children: dayHeadline
|
|
2932
3130
|
}
|
|
2933
3131
|
),
|
|
2934
|
-
/* @__PURE__ */
|
|
3132
|
+
/* @__PURE__ */ jsx25(
|
|
2935
3133
|
motion3.h2,
|
|
2936
3134
|
{
|
|
2937
3135
|
className: "dnt__headline",
|
|
@@ -2941,8 +3139,8 @@ var DayNightTransition = ({
|
|
|
2941
3139
|
}
|
|
2942
3140
|
)
|
|
2943
3141
|
] }),
|
|
2944
|
-
hasDescription && /* @__PURE__ */
|
|
2945
|
-
/* @__PURE__ */
|
|
3142
|
+
hasDescription && /* @__PURE__ */ jsxs24("div", { className: "dnt__crossfade-wrap", children: [
|
|
3143
|
+
/* @__PURE__ */ jsx25(
|
|
2946
3144
|
motion3.p,
|
|
2947
3145
|
{
|
|
2948
3146
|
className: "dnt__description",
|
|
@@ -2950,7 +3148,7 @@ var DayNightTransition = ({
|
|
|
2950
3148
|
children: dayDescription ?? ""
|
|
2951
3149
|
}
|
|
2952
3150
|
),
|
|
2953
|
-
/* @__PURE__ */
|
|
3151
|
+
/* @__PURE__ */ jsx25(
|
|
2954
3152
|
motion3.p,
|
|
2955
3153
|
{
|
|
2956
3154
|
className: "dnt__description",
|
|
@@ -2960,7 +3158,7 @@ var DayNightTransition = ({
|
|
|
2960
3158
|
}
|
|
2961
3159
|
)
|
|
2962
3160
|
] }),
|
|
2963
|
-
/* @__PURE__ */
|
|
3161
|
+
/* @__PURE__ */ jsx25("a", { href: ctaHref, className: "dnt__btn", children: ctaLabel })
|
|
2964
3162
|
]
|
|
2965
3163
|
}
|
|
2966
3164
|
) })
|
|
@@ -2969,8 +3167,8 @@ var DayNightTransition = ({
|
|
|
2969
3167
|
);
|
|
2970
3168
|
};
|
|
2971
3169
|
|
|
2972
|
-
// templates/
|
|
2973
|
-
import { useRef as
|
|
3170
|
+
// templates/LogoMarquee/LogoMarquee.tsx
|
|
3171
|
+
import { useRef as useRef10 } from "react";
|
|
2974
3172
|
import {
|
|
2975
3173
|
motion as motion4,
|
|
2976
3174
|
useScroll as useScroll3,
|
|
@@ -2978,7 +3176,7 @@ import {
|
|
|
2978
3176
|
useAnimationFrame,
|
|
2979
3177
|
useMotionValue
|
|
2980
3178
|
} from "framer-motion";
|
|
2981
|
-
import { jsx as
|
|
3179
|
+
import { jsx as jsx26, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2982
3180
|
function modWrap(min, max, v) {
|
|
2983
3181
|
const range = max - min;
|
|
2984
3182
|
return ((v - min) % range + range) % range + min;
|
|
@@ -2986,41 +3184,41 @@ function modWrap(min, max, v) {
|
|
|
2986
3184
|
var VELOCITY_FACTOR = 0.4;
|
|
2987
3185
|
var MAX_SCROLL_V = 2500;
|
|
2988
3186
|
var DEADZONE = 2;
|
|
2989
|
-
var
|
|
3187
|
+
var PLACEHOLDER_IMAGE2 = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69b9309379ac08e59ca8210a_1f3f555da9a5cbb13a6fe1bf0d5fe1b6_placeholder-image.webp";
|
|
2990
3188
|
var COL_ONE_LOGOS = [
|
|
2991
|
-
{ name: "
|
|
2992
|
-
{ name: "
|
|
2993
|
-
{ name: "
|
|
2994
|
-
{ name: "
|
|
2995
|
-
{ name: "
|
|
2996
|
-
{ name: "
|
|
2997
|
-
{ name: "
|
|
2998
|
-
{ name: "
|
|
2999
|
-
{ name: "
|
|
3000
|
-
{ name: "
|
|
3001
|
-
{ name: "
|
|
3189
|
+
{ name: "Logo 1", url: PLACEHOLDER_IMAGE2 },
|
|
3190
|
+
{ name: "Logo 2", url: PLACEHOLDER_IMAGE2 },
|
|
3191
|
+
{ name: "Logo 3", url: PLACEHOLDER_IMAGE2 },
|
|
3192
|
+
{ name: "Logo 4", url: PLACEHOLDER_IMAGE2 },
|
|
3193
|
+
{ name: "Logo 5", url: PLACEHOLDER_IMAGE2 },
|
|
3194
|
+
{ name: "Logo 6", url: PLACEHOLDER_IMAGE2 },
|
|
3195
|
+
{ name: "Logo 7", url: PLACEHOLDER_IMAGE2 },
|
|
3196
|
+
{ name: "Logo 8", url: PLACEHOLDER_IMAGE2 },
|
|
3197
|
+
{ name: "Logo 9", url: PLACEHOLDER_IMAGE2 },
|
|
3198
|
+
{ name: "Logo 10", url: PLACEHOLDER_IMAGE2 },
|
|
3199
|
+
{ name: "Logo 11", url: PLACEHOLDER_IMAGE2 }
|
|
3002
3200
|
];
|
|
3003
3201
|
var COL_TWO_LOGOS = [
|
|
3004
|
-
{ name: "
|
|
3005
|
-
{ name: "
|
|
3006
|
-
{ name: "
|
|
3007
|
-
{ name: "
|
|
3008
|
-
{ name: "
|
|
3009
|
-
{ name: "
|
|
3010
|
-
{ name: "
|
|
3011
|
-
{ name: "
|
|
3012
|
-
{ name: "
|
|
3013
|
-
{ name: "
|
|
3014
|
-
{ name: "
|
|
3202
|
+
{ name: "Logo 1", url: PLACEHOLDER_IMAGE2 },
|
|
3203
|
+
{ name: "Logo 2", url: PLACEHOLDER_IMAGE2 },
|
|
3204
|
+
{ name: "Logo 3", url: PLACEHOLDER_IMAGE2 },
|
|
3205
|
+
{ name: "Logo 4", url: PLACEHOLDER_IMAGE2 },
|
|
3206
|
+
{ name: "Logo 5", url: PLACEHOLDER_IMAGE2 },
|
|
3207
|
+
{ name: "Logo 6", url: PLACEHOLDER_IMAGE2 },
|
|
3208
|
+
{ name: "Logo 7", url: PLACEHOLDER_IMAGE2 },
|
|
3209
|
+
{ name: "Logo 8", url: PLACEHOLDER_IMAGE2 },
|
|
3210
|
+
{ name: "Logo 9", url: PLACEHOLDER_IMAGE2 },
|
|
3211
|
+
{ name: "Logo 10", url: PLACEHOLDER_IMAGE2 },
|
|
3212
|
+
{ name: "Logo 11", url: PLACEHOLDER_IMAGE2 }
|
|
3015
3213
|
];
|
|
3016
3214
|
var TEXT_CONTENT = {
|
|
3017
|
-
headline: "
|
|
3018
|
-
body: "
|
|
3019
|
-
disclaimer: "*
|
|
3215
|
+
headline: "Section title goes here",
|
|
3216
|
+
body: "Explain how this specific feature helps your user.",
|
|
3217
|
+
disclaimer: "*Add any relevant disclaimers or legal copy here.",
|
|
3020
3218
|
ctaLabel: "Learn more",
|
|
3021
3219
|
ctaHref: "#"
|
|
3022
3220
|
};
|
|
3023
|
-
var
|
|
3221
|
+
var LogoMarquee = ({
|
|
3024
3222
|
headline = TEXT_CONTENT.headline,
|
|
3025
3223
|
body = TEXT_CONTENT.body,
|
|
3026
3224
|
disclaimer = TEXT_CONTENT.disclaimer,
|
|
@@ -3035,8 +3233,8 @@ var PaymentMethods = ({
|
|
|
3035
3233
|
const scrollVelocity = useVelocity(scrollY);
|
|
3036
3234
|
const col1Y = useMotionValue(0);
|
|
3037
3235
|
const col2Y = useMotionValue(0);
|
|
3038
|
-
const col1Ref =
|
|
3039
|
-
const col2Ref =
|
|
3236
|
+
const col1Ref = useRef10(null);
|
|
3237
|
+
const col2Ref = useRef10(null);
|
|
3040
3238
|
useAnimationFrame((_, delta) => {
|
|
3041
3239
|
const raw = scrollVelocity.get();
|
|
3042
3240
|
if (Math.abs(raw) < DEADZONE) return;
|
|
@@ -3049,21 +3247,21 @@ var PaymentMethods = ({
|
|
|
3049
3247
|
});
|
|
3050
3248
|
const track1 = [...col1Logos, ...col1Logos];
|
|
3051
3249
|
const track2 = [...col2Logos, ...col2Logos];
|
|
3052
|
-
return /* @__PURE__ */
|
|
3250
|
+
return /* @__PURE__ */ jsx26(
|
|
3053
3251
|
"section",
|
|
3054
3252
|
{
|
|
3055
|
-
className: ["
|
|
3253
|
+
className: ["lm", className].filter(Boolean).join(" "),
|
|
3056
3254
|
...props,
|
|
3057
|
-
children: /* @__PURE__ */
|
|
3058
|
-
/* @__PURE__ */
|
|
3059
|
-
/* @__PURE__ */
|
|
3060
|
-
/* @__PURE__ */
|
|
3255
|
+
children: /* @__PURE__ */ jsxs25("div", { className: "lm__inner", children: [
|
|
3256
|
+
/* @__PURE__ */ jsx26("div", { className: "lm__media", children: /* @__PURE__ */ jsxs25("div", { className: "lm__carousel", children: [
|
|
3257
|
+
/* @__PURE__ */ jsx26("div", { className: "lm__fade lm__fade--top", "aria-hidden": "true" }),
|
|
3258
|
+
/* @__PURE__ */ jsx26(
|
|
3061
3259
|
motion4.div,
|
|
3062
3260
|
{
|
|
3063
3261
|
ref: col1Ref,
|
|
3064
|
-
className: "
|
|
3262
|
+
className: "lm__col",
|
|
3065
3263
|
style: { y: col1Y },
|
|
3066
|
-
children: track1.map((logo, i) => /* @__PURE__ */
|
|
3264
|
+
children: track1.map((logo, i) => /* @__PURE__ */ jsx26("div", { className: "lm__card", children: /* @__PURE__ */ jsx26("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ jsx26(
|
|
3067
3265
|
"img",
|
|
3068
3266
|
{
|
|
3069
3267
|
src: logo.url,
|
|
@@ -3074,13 +3272,13 @@ var PaymentMethods = ({
|
|
|
3074
3272
|
) }) }, `c1-${i}`))
|
|
3075
3273
|
}
|
|
3076
3274
|
),
|
|
3077
|
-
/* @__PURE__ */
|
|
3275
|
+
/* @__PURE__ */ jsx26(
|
|
3078
3276
|
motion4.div,
|
|
3079
3277
|
{
|
|
3080
3278
|
ref: col2Ref,
|
|
3081
|
-
className: "
|
|
3279
|
+
className: "lm__col",
|
|
3082
3280
|
style: { y: col2Y },
|
|
3083
|
-
children: track2.map((logo, i) => /* @__PURE__ */
|
|
3281
|
+
children: track2.map((logo, i) => /* @__PURE__ */ jsx26("div", { className: "lm__card", children: /* @__PURE__ */ jsx26("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ jsx26(
|
|
3084
3282
|
"img",
|
|
3085
3283
|
{
|
|
3086
3284
|
src: logo.url,
|
|
@@ -3091,23 +3289,203 @@ var PaymentMethods = ({
|
|
|
3091
3289
|
) }) }, `c2-${i}`))
|
|
3092
3290
|
}
|
|
3093
3291
|
),
|
|
3094
|
-
/* @__PURE__ */
|
|
3292
|
+
/* @__PURE__ */ jsx26("div", { className: "lm__fade lm__fade--bottom", "aria-hidden": "true" })
|
|
3095
3293
|
] }) }),
|
|
3096
|
-
/* @__PURE__ */
|
|
3097
|
-
/* @__PURE__ */
|
|
3098
|
-
/* @__PURE__ */
|
|
3099
|
-
/* @__PURE__ */
|
|
3100
|
-
/* @__PURE__ */
|
|
3294
|
+
/* @__PURE__ */ jsxs25("div", { className: "lm__content", children: [
|
|
3295
|
+
/* @__PURE__ */ jsx26("h2", { className: "lm__headline", children: headline }),
|
|
3296
|
+
/* @__PURE__ */ jsxs25("div", { className: "lm__text-group", children: [
|
|
3297
|
+
/* @__PURE__ */ jsx26("p", { className: "lm__body", children: body }),
|
|
3298
|
+
/* @__PURE__ */ jsx26("p", { className: "lm__disclaimer", children: disclaimer })
|
|
3101
3299
|
] }),
|
|
3102
|
-
/* @__PURE__ */
|
|
3300
|
+
/* @__PURE__ */ jsxs25("a", { href: ctaHref, className: "lm__link", children: [
|
|
3103
3301
|
ctaLabel,
|
|
3104
|
-
/* @__PURE__ */
|
|
3302
|
+
/* @__PURE__ */ jsx26("span", { className: "lm__link-icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx26("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx26("path", { d: "M3 8H13M13 8L9 4M13 8L9 12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) })
|
|
3105
3303
|
] })
|
|
3106
3304
|
] })
|
|
3107
3305
|
] })
|
|
3108
3306
|
}
|
|
3109
3307
|
);
|
|
3110
3308
|
};
|
|
3309
|
+
|
|
3310
|
+
// assets/appstore-googleplay-light.svg
|
|
3311
|
+
var appstore_googleplay_light_default = "./appstore-googleplay-light-W3CS6NAG.svg";
|
|
3312
|
+
|
|
3313
|
+
// assets/appstore-appstore-light.svg
|
|
3314
|
+
var appstore_appstore_light_default = "./appstore-appstore-light-BEVC5PJZ.svg";
|
|
3315
|
+
|
|
3316
|
+
// assets/appstore-appgallery-light.svg
|
|
3317
|
+
var appstore_appgallery_light_default = "./appstore-appgallery-light-VF62CF5X.svg";
|
|
3318
|
+
|
|
3319
|
+
// assets/appstore-windows-light.svg
|
|
3320
|
+
var appstore_windows_light_default = "./appstore-windows-light-TCALZSJM.svg";
|
|
3321
|
+
|
|
3322
|
+
// assets/appstore-macos-light.svg
|
|
3323
|
+
var appstore_macos_light_default = "./appstore-macos-light-5LI6ESAV.svg";
|
|
3324
|
+
|
|
3325
|
+
// assets/appstore-linux-light.svg
|
|
3326
|
+
var appstore_linux_light_default = "./appstore-linux-light-WQECAJRC.svg";
|
|
3327
|
+
|
|
3328
|
+
// assets/appstore-browser-light.svg
|
|
3329
|
+
var appstore_browser_light_default = "./appstore-browser-light-HBKTW4SI.svg";
|
|
3330
|
+
|
|
3331
|
+
// assets/appstore-googleplay-dark.svg
|
|
3332
|
+
var appstore_googleplay_dark_default = "./appstore-googleplay-dark-HWTOQTL6.svg";
|
|
3333
|
+
|
|
3334
|
+
// assets/appstore-appstore-dark.svg
|
|
3335
|
+
var appstore_appstore_dark_default = "./appstore-appstore-dark-FDUROOKK.svg";
|
|
3336
|
+
|
|
3337
|
+
// assets/appstore-appgallery-dark.svg
|
|
3338
|
+
var appstore_appgallery_dark_default = "./appstore-appgallery-dark-2QPFCM4A.svg";
|
|
3339
|
+
|
|
3340
|
+
// assets/appstore-windows-dark.svg
|
|
3341
|
+
var appstore_windows_dark_default = "./appstore-windows-dark-ZDWELB42.svg";
|
|
3342
|
+
|
|
3343
|
+
// assets/appstore-macos-dark.svg
|
|
3344
|
+
var appstore_macos_dark_default = "./appstore-macos-dark-2A3UM5YI.svg";
|
|
3345
|
+
|
|
3346
|
+
// assets/appstore-linux-dark.svg
|
|
3347
|
+
var appstore_linux_dark_default = "./appstore-linux-dark-RVH7CBM4.svg";
|
|
3348
|
+
|
|
3349
|
+
// assets/appstore-browser-dark.svg
|
|
3350
|
+
var appstore_browser_dark_default = "./appstore-browser-dark-2E6TK6JH.svg";
|
|
3351
|
+
|
|
3352
|
+
// primitives/DownloadBadge/DownloadBadge.tsx
|
|
3353
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
3354
|
+
var BADGE_ASSETS = {
|
|
3355
|
+
light: {
|
|
3356
|
+
googleplay: { src: appstore_googleplay_light_default, alt: "Get it on Google Play" },
|
|
3357
|
+
appstore: { src: appstore_appstore_light_default, alt: "Download on the App Store" },
|
|
3358
|
+
appgallery: { src: appstore_appgallery_light_default, alt: "Explore it on AppGallery" },
|
|
3359
|
+
windows: { src: appstore_windows_light_default, alt: "Download for Windows" },
|
|
3360
|
+
macos: { src: appstore_macos_light_default, alt: "Download on the Mac App Store" },
|
|
3361
|
+
linux: { src: appstore_linux_light_default, alt: "Installation on Linux" },
|
|
3362
|
+
web: { src: appstore_browser_light_default, alt: "Trade on Web browser" }
|
|
3363
|
+
},
|
|
3364
|
+
dark: {
|
|
3365
|
+
googleplay: { src: appstore_googleplay_dark_default, alt: "Get it on Google Play" },
|
|
3366
|
+
appstore: { src: appstore_appstore_dark_default, alt: "Download on the App Store" },
|
|
3367
|
+
appgallery: { src: appstore_appgallery_dark_default, alt: "Explore it on AppGallery" },
|
|
3368
|
+
windows: { src: appstore_windows_dark_default, alt: "Download for Windows" },
|
|
3369
|
+
macos: { src: appstore_macos_dark_default, alt: "Download on the Mac App Store" },
|
|
3370
|
+
linux: { src: appstore_linux_dark_default, alt: "Installation on Linux" },
|
|
3371
|
+
web: { src: appstore_browser_dark_default, alt: "Trade on Web browser" }
|
|
3372
|
+
}
|
|
3373
|
+
};
|
|
3374
|
+
var DownloadBadge = ({
|
|
3375
|
+
platform,
|
|
3376
|
+
colorScheme = "light",
|
|
3377
|
+
href,
|
|
3378
|
+
className,
|
|
3379
|
+
...props
|
|
3380
|
+
}) => {
|
|
3381
|
+
const { src, alt } = BADGE_ASSETS[colorScheme][platform];
|
|
3382
|
+
return /* @__PURE__ */ jsx27(
|
|
3383
|
+
"a",
|
|
3384
|
+
{
|
|
3385
|
+
className: [
|
|
3386
|
+
"download-badge",
|
|
3387
|
+
`download-badge--${colorScheme}`,
|
|
3388
|
+
className
|
|
3389
|
+
].filter(Boolean).join(" "),
|
|
3390
|
+
href: href ?? "#",
|
|
3391
|
+
"aria-label": alt,
|
|
3392
|
+
target: "_blank",
|
|
3393
|
+
rel: "noopener noreferrer",
|
|
3394
|
+
...props,
|
|
3395
|
+
children: /* @__PURE__ */ jsx27("img", { className: "download-badge__img", src, alt })
|
|
3396
|
+
}
|
|
3397
|
+
);
|
|
3398
|
+
};
|
|
3399
|
+
|
|
3400
|
+
// templates/Steps/Steps.tsx
|
|
3401
|
+
import { jsx as jsx28, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3402
|
+
var Steps = ({
|
|
3403
|
+
title,
|
|
3404
|
+
steps,
|
|
3405
|
+
image,
|
|
3406
|
+
imageAlt = "",
|
|
3407
|
+
imagePosition = "left"
|
|
3408
|
+
}) => {
|
|
3409
|
+
const containerClass = [
|
|
3410
|
+
"steps__container",
|
|
3411
|
+
imagePosition === "right" ? "steps__container--image-right" : ""
|
|
3412
|
+
].filter(Boolean).join(" ");
|
|
3413
|
+
return /* @__PURE__ */ jsx28("section", { className: "steps", children: /* @__PURE__ */ jsxs26("div", { className: containerClass, children: [
|
|
3414
|
+
image && /* @__PURE__ */ jsx28("div", { className: "steps__image-wrapper", children: /* @__PURE__ */ jsx28(
|
|
3415
|
+
"img",
|
|
3416
|
+
{
|
|
3417
|
+
src: image,
|
|
3418
|
+
alt: imageAlt,
|
|
3419
|
+
className: "steps__image"
|
|
3420
|
+
}
|
|
3421
|
+
) }),
|
|
3422
|
+
/* @__PURE__ */ jsxs26("div", { className: "steps__content", children: [
|
|
3423
|
+
/* @__PURE__ */ jsx28("h2", { className: "steps__title", children: title }),
|
|
3424
|
+
/* @__PURE__ */ jsx28("ol", { className: "steps__list", children: steps.map((step, index) => /* @__PURE__ */ jsx28("li", { className: "steps__item", children: /* @__PURE__ */ jsxs26("div", { className: "steps__item-inner", children: [
|
|
3425
|
+
/* @__PURE__ */ jsx28("span", { className: "steps__number", "aria-hidden": "true", children: index + 1 }),
|
|
3426
|
+
/* @__PURE__ */ jsxs26("div", { className: "steps__item-body", children: [
|
|
3427
|
+
/* @__PURE__ */ jsx28("h3", { className: "steps__item-title", children: step.title }),
|
|
3428
|
+
/* @__PURE__ */ jsx28("p", { className: "steps__item-description", children: step.description })
|
|
3429
|
+
] })
|
|
3430
|
+
] }) }, index)) })
|
|
3431
|
+
] })
|
|
3432
|
+
] }) });
|
|
3433
|
+
};
|
|
3434
|
+
|
|
3435
|
+
// templates/DownloadBanner/DownloadBanner.tsx
|
|
3436
|
+
import { jsx as jsx29, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3437
|
+
var DownloadBanner = ({
|
|
3438
|
+
style = "light-2",
|
|
3439
|
+
qrCodeImage,
|
|
3440
|
+
qrCodeAlt = "QR code to download the app",
|
|
3441
|
+
qrTitle = "Scan to download",
|
|
3442
|
+
qrSubtitle = "Android & iOS",
|
|
3443
|
+
mobileTitle = "Available on",
|
|
3444
|
+
showAppStore = true,
|
|
3445
|
+
showGooglePlay = true,
|
|
3446
|
+
showAppGallery = true,
|
|
3447
|
+
showWindows = true,
|
|
3448
|
+
showMacOS = true,
|
|
3449
|
+
showLinux = true,
|
|
3450
|
+
showWeb = true,
|
|
3451
|
+
appStoreHref,
|
|
3452
|
+
googlePlayHref,
|
|
3453
|
+
appGalleryHref,
|
|
3454
|
+
windowsHref,
|
|
3455
|
+
macOSHref,
|
|
3456
|
+
linuxHref,
|
|
3457
|
+
webHref,
|
|
3458
|
+
disclaimer
|
|
3459
|
+
}) => {
|
|
3460
|
+
const colorScheme = style === "dark" ? "dark" : "light";
|
|
3461
|
+
return /* @__PURE__ */ jsx29("section", { className: `db-section db-section--${style}`, children: /* @__PURE__ */ jsx29("div", { className: "db-container", children: /* @__PURE__ */ jsxs27("div", { className: "db-card", children: [
|
|
3462
|
+
/* @__PURE__ */ jsxs27("div", { className: "db-qr-block", children: [
|
|
3463
|
+
qrCodeImage && /* @__PURE__ */ jsx29(
|
|
3464
|
+
"img",
|
|
3465
|
+
{
|
|
3466
|
+
className: "db-qr-image",
|
|
3467
|
+
src: qrCodeImage,
|
|
3468
|
+
alt: qrCodeAlt
|
|
3469
|
+
}
|
|
3470
|
+
),
|
|
3471
|
+
/* @__PURE__ */ jsxs27("div", { className: "db-qr-text", children: [
|
|
3472
|
+
/* @__PURE__ */ jsx29("span", { className: "db-qr-text__title db-qr-text__title--desktop", children: qrTitle }),
|
|
3473
|
+
/* @__PURE__ */ jsx29("h2", { className: "db-qr-text__subtitle db-qr-text__subtitle--desktop", children: qrSubtitle }),
|
|
3474
|
+
/* @__PURE__ */ jsx29("span", { className: "db-qr-text__title db-qr-text__title--mobile", children: mobileTitle }),
|
|
3475
|
+
disclaimer && /* @__PURE__ */ jsx29("span", { className: "db-disclaimer", children: disclaimer })
|
|
3476
|
+
] })
|
|
3477
|
+
] }),
|
|
3478
|
+
/* @__PURE__ */ jsxs27("div", { className: "db-badges", children: [
|
|
3479
|
+
showGooglePlay && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "googleplay", colorScheme, href: googlePlayHref }),
|
|
3480
|
+
showAppGallery && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "appgallery", colorScheme, href: appGalleryHref }),
|
|
3481
|
+
showMacOS && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "macos", colorScheme, href: macOSHref }),
|
|
3482
|
+
showWindows && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "windows", colorScheme, href: windowsHref }),
|
|
3483
|
+
showLinux && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "linux", colorScheme, href: linuxHref }),
|
|
3484
|
+
showAppStore && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "appstore", colorScheme, href: appStoreHref }),
|
|
3485
|
+
showWeb && /* @__PURE__ */ jsx29(DownloadBadge, { platform: "web", colorScheme, href: webHref })
|
|
3486
|
+
] })
|
|
3487
|
+
] }) }) });
|
|
3488
|
+
};
|
|
3111
3489
|
export {
|
|
3112
3490
|
AVATAR_DATA,
|
|
3113
3491
|
Accordion,
|
|
@@ -3121,18 +3499,22 @@ export {
|
|
|
3121
3499
|
Chip,
|
|
3122
3500
|
ChipDropdown,
|
|
3123
3501
|
DayNightTransition,
|
|
3502
|
+
DownloadBadge,
|
|
3503
|
+
DownloadBanner,
|
|
3124
3504
|
FeatureCards,
|
|
3505
|
+
FeatureCardsSecondary,
|
|
3125
3506
|
Footer,
|
|
3126
3507
|
Hero,
|
|
3127
3508
|
Link,
|
|
3509
|
+
LogoMarquee,
|
|
3128
3510
|
Navbar,
|
|
3129
3511
|
Pagination,
|
|
3130
|
-
PaymentMethods,
|
|
3131
3512
|
SCROLLYTELLING_DATA,
|
|
3132
3513
|
STEPS_DATA,
|
|
3133
3514
|
Scrollytelling,
|
|
3134
3515
|
SearchField,
|
|
3135
3516
|
Stats,
|
|
3517
|
+
Steps,
|
|
3136
3518
|
StickyStackedCards,
|
|
3137
3519
|
TEXT_CONTENT,
|
|
3138
3520
|
Tag,
|