@deriv-web-design/ui 0.0.12 → 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/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 jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
1036
- var ExternalLinkIcon = () => /* @__PURE__ */ jsx17(
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__ */ jsx17(
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__ */ jsx17(
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__ */ jsx17(
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__ */ jsxs16(Fragment2, { children: [
1084
- /* @__PURE__ */ jsxs16("div", { className: "footer__app-badges", children: [
1085
- googlePlayBadge && /* @__PURE__ */ jsx17(
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__ */ jsx17("img", { src: googlePlayBadge.imageSrc, alt: googlePlayBadge.imageAlt })
1133
+ children: googlePlayBadge.icon ?? /* @__PURE__ */ jsx18("img", { src: googlePlayBadge.imageSrc, alt: googlePlayBadge.imageAlt })
1094
1134
  }
1095
1135
  ),
1096
- appStoreBadge && /* @__PURE__ */ jsx17(
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__ */ jsx17("img", { src: appStoreBadge.imageSrc, alt: appStoreBadge.imageAlt })
1144
+ children: appStoreBadge.icon ?? /* @__PURE__ */ jsx18("img", { src: appStoreBadge.imageSrc, alt: appStoreBadge.imageAlt })
1105
1145
  }
1106
1146
  ),
1107
- huaweiBadge && /* @__PURE__ */ jsx17(
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__ */ jsx17("img", { src: huaweiBadge.imageSrc, alt: huaweiBadge.imageAlt })
1155
+ children: huaweiBadge.icon ?? /* @__PURE__ */ jsx18("img", { src: huaweiBadge.imageSrc, alt: huaweiBadge.imageAlt })
1116
1156
  }
1117
1157
  )
1118
1158
  ] }),
1119
- availabilityNote && /* @__PURE__ */ jsx17("p", { className: "footer__app-note", children: availabilityNote })
1159
+ availabilityNote && /* @__PURE__ */ jsx18("p", { className: "footer__app-note", children: availabilityNote })
1120
1160
  ] });
1121
- var NavLink = ({ label, href, isExternal, onClick }) => /* @__PURE__ */ jsxs16(
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__ */ jsx17(ExternalLinkIcon, {})
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__ */ jsx17(
1202
+ return /* @__PURE__ */ jsx18(
1163
1203
  "footer",
1164
1204
  {
1165
1205
  className: ["footer", className].filter(Boolean).join(" "),
1166
1206
  ...props,
1167
- children: /* @__PURE__ */ jsxs16("div", { className: "footer__inner", children: [
1168
- /* @__PURE__ */ jsxs16("div", { className: "footer__header", children: [
1169
- /* @__PURE__ */ jsx17("div", { className: "footer__logo-wrapper", children: /* @__PURE__ */ jsx17(
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__ */ jsxs16("div", { className: "footer__ai-bar footer__ai-bar--inline", children: [
1178
- /* @__PURE__ */ jsx17("span", { className: "footer__ai-bar-label", children: aiLabel }),
1179
- /* @__PURE__ */ jsx17("div", { className: "footer__ai-bar-icons", children: aiSummary.items.map((item, i) => /* @__PURE__ */ jsx17(
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__ */ jsx17("img", { className: "footer__ai-icon", src: item.imageSrc, alt: item.imageAlt })
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__ */ jsx17("div", { className: "footer__social footer__social--in-header", children: socialLinks.map((link, i) => /* @__PURE__ */ jsx17(
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__ */ jsx17("div", { className: "footer__ai-section", children: /* @__PURE__ */ jsxs16("div", { className: "footer__ai-bar footer__ai-bar--block", children: [
1205
- /* @__PURE__ */ jsx17("span", { className: "footer__ai-bar-label", children: aiLabel }),
1206
- /* @__PURE__ */ jsx17("div", { className: "footer__ai-bar-icons", children: aiSummary.items.map((item, i) => /* @__PURE__ */ jsx17(
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__ */ jsx17("img", { className: "footer__ai-icon", src: item.imageSrc, alt: item.imageAlt })
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__ */ jsxs16("div", { className: "footer__nav footer__nav--columns", children: [
1219
- navColumns.map((column, colIdx) => /* @__PURE__ */ jsx17("div", { className: "footer__column", children: column.map((section, secIdx) => /* @__PURE__ */ jsxs16("div", { className: "footer__nav-section", children: [
1220
- /* @__PURE__ */ jsx17("p", { className: "footer__nav-title", children: section.title }),
1221
- /* @__PURE__ */ jsx17("ul", { className: "footer__nav-links", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx17("li", { children: /* @__PURE__ */ jsx17(NavLink, { ...link }) }, linkIdx)) })
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__ */ jsxs16("div", { className: "footer__sidebar", children: [
1224
- investorsInPeopleSrc && /* @__PURE__ */ jsx17("div", { className: "footer__investors-card", children: /* @__PURE__ */ jsx17(
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__ */ jsxs16("div", { className: "footer__deriv-go-card", children: [
1233
- /* @__PURE__ */ jsxs16("div", { className: "footer__deriv-go-header", children: [
1234
- /* @__PURE__ */ jsx17(
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__ */ jsx17("span", { className: "footer__deriv-go-title", children: derivGo.title ?? "Deriv GO" })
1282
+ /* @__PURE__ */ jsx18("span", { className: "footer__deriv-go-title", children: derivGo.title ?? "Deriv GO" })
1243
1283
  ] }),
1244
- /* @__PURE__ */ jsx17("p", { className: "footer__deriv-go-desc", children: derivGo.description ?? "Trade multipliers on our mobile app." }),
1245
- (derivGo.qrCodeSrc || derivGo.qrCodeIcon) && /* @__PURE__ */ jsxs16("div", { className: "footer__deriv-go-qr", children: [
1246
- derivGo.qrCodeIcon ? /* @__PURE__ */ jsx17("div", { className: "footer__deriv-go-qr-icon", children: derivGo.qrCodeIcon }) : /* @__PURE__ */ jsx17(
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__ */ jsx17("span", { className: "footer__deriv-go-qr-label", children: derivGo.scanToDownloadLabel ?? "Scan to download" })
1294
+ /* @__PURE__ */ jsx18("span", { className: "footer__deriv-go-qr-label", children: derivGo.scanToDownloadLabel ?? "Scan to download" })
1255
1295
  ] }),
1256
- /* @__PURE__ */ jsx17(
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__ */ jsx17("div", { className: "footer__nav footer__nav--accordion", children: allSections.map((section, idx) => {
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__ */ jsxs16(
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__ */ jsxs16(
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__ */ jsx17("span", { className: "footer__accordion-label", children: section.title }),
1287
- /* @__PURE__ */ jsx17("span", { className: "footer__accordion-chevron", children: /* @__PURE__ */ jsx17(ChevronDownIcon2, {}) })
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__ */ jsx17("ul", { className: "footer__accordion-links", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx17("li", { children: /* @__PURE__ */ jsx17(NavLink, { ...link }) }, linkIdx)) })
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__ */ jsx17("div", { className: "footer__social footer__social--standalone", children: socialLinks.map((link, i) => /* @__PURE__ */ jsx17(
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__ */ jsxs16("div", { className: "footer__deriv-go-banner", children: [
1310
- /* @__PURE__ */ jsxs16("div", { className: "footer__deriv-go-banner-info", children: [
1311
- /* @__PURE__ */ jsxs16("div", { className: "footer__deriv-go-header", children: [
1312
- /* @__PURE__ */ jsx17(
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__ */ jsx17("span", { className: "footer__deriv-go-title", children: derivGo.title ?? "Deriv GO" })
1360
+ /* @__PURE__ */ jsx18("span", { className: "footer__deriv-go-title", children: derivGo.title ?? "Deriv GO" })
1321
1361
  ] }),
1322
- /* @__PURE__ */ jsx17("p", { className: "footer__deriv-go-desc", children: derivGo.description ?? "Trade multipliers on our mobile app." })
1362
+ /* @__PURE__ */ jsx18("p", { className: "footer__deriv-go-desc", children: derivGo.description ?? "Trade multipliers on our mobile app." })
1323
1363
  ] }),
1324
- /* @__PURE__ */ jsx17("div", { className: "footer__deriv-go-banner-badges", children: /* @__PURE__ */ jsx17(
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__ */ jsxs16("div", { className: "footer__legal-block", children: [
1335
- licenseText && /* @__PURE__ */ jsx17("div", { className: "footer__license", children: licenseText }),
1336
- riskWarningText && /* @__PURE__ */ jsx17("div", { className: "footer__risk-warning", children: /* @__PURE__ */ jsx17("p", { className: "footer__risk-warning-text", children: riskWarningText }) })
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__ */ jsx17("div", { className: "footer__investors-stacked", children: /* @__PURE__ */ jsx17(
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 { jsx as jsx18, jsxs as jsxs17 } from "react/jsx-runtime";
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__ */ jsx18("div", { className, children: typeof src === "string" ? /* @__PURE__ */ jsx18("img", { src, alt }) : src });
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 textBlock = /* @__PURE__ */ jsxs17("div", { className: "hero__text", children: [
1374
- subtitle && /* @__PURE__ */ jsx18("p", { className: "hero__subtitle", children: subtitle }),
1375
- /* @__PURE__ */ jsx18("p", { className: "hero__title", children: title }),
1376
- description && /* @__PURE__ */ jsx18("p", { className: "hero__description", children: description })
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__ */ jsxs17("div", { className: "hero__buttons", children: [
1379
- primaryButton && (primaryButton.href ? /* @__PURE__ */ jsx18("a", { href: primaryButton.href, children: /* @__PURE__ */ jsx18(
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__ */ jsx18(
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__ */ jsx18("a", { href: secondaryButton.href, children: /* @__PURE__ */ jsx18(
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__ */ jsx18(
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 === "homepage") {
1415
- return /* @__PURE__ */ jsxs17(
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
- backgroundImageSrc && /* @__PURE__ */ jsx18(
1422
- "img",
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__ */ jsx18("div", { className: "hero__overlay", "aria-hidden": "true" }),
1439
- /* @__PURE__ */ jsx18("div", { className: "hero__inner", children: /* @__PURE__ */ jsx18("div", { className: "hero__content", children: /* @__PURE__ */ jsx18("div", { className: "hero__left", children: /* @__PURE__ */ jsxs17("div", { className: "hero__body", children: [
1440
- textBlock,
1441
- buttonBlock
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 === "full-image") {
1448
- return /* @__PURE__ */ jsxs17(
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
- backgroundImageSrc && /* @__PURE__ */ jsx18(
1455
- "img",
1456
- {
1457
- src: backgroundImageSrc,
1458
- alt: "",
1459
- className: "hero__bg-image",
1460
- "aria-hidden": "true"
1461
- }
1462
- ),
1463
- /* @__PURE__ */ jsx18("div", { className: "hero__overlay", "aria-hidden": "true" }),
1464
- /* @__PURE__ */ jsx18("div", { className: "hero__inner", children: /* @__PURE__ */ jsx18("div", { className: "hero__content", children: /* @__PURE__ */ jsxs17("div", { className: "hero__body", children: [
1465
- textBlock,
1466
- buttonBlock
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
- return /* @__PURE__ */ jsxs17(
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__ */ jsx18("div", { className: "hero__grid", "aria-hidden": "true" }),
1479
- variant === "visuals" && leftVisual && /* @__PURE__ */ jsx18(
1480
- Visual,
1481
- {
1482
- src: leftVisual,
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 useEffect3, useRef as useRef3, useState as useState6 } from "react";
1507
- import { jsx as jsx19, jsxs as jsxs18 } from "react/jsx-runtime";
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__ */ jsx19("div", { className: "stats__award", children: /* @__PURE__ */ jsx19("img", { src: imageSrc, alt: imageAlt, className: "stats__award-image" }) });
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 = useRef3(null);
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
- useEffect3(() => {
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__ */ jsx19(
1752
+ return /* @__PURE__ */ jsx20(
1556
1753
  "section",
1557
1754
  {
1558
1755
  className: ["stats", className].filter(Boolean).join(" "),
1559
1756
  ...props,
1560
- children: /* @__PURE__ */ jsxs18("div", { className: "stats__inner", children: [
1561
- /* @__PURE__ */ jsxs18("div", { className: "stats__header", children: [
1562
- /* @__PURE__ */ jsx19("h2", { className: "stats__title", children: title }),
1563
- description && /* @__PURE__ */ jsx19("p", { className: "stats__description", children: description })
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__ */ jsxs18("div", { className: "stats__content", children: [
1566
- leftAwards.length > 0 && /* @__PURE__ */ jsx19("div", { className: "stats__awards-col stats__awards-col--left", children: leftAwards.map((award, i) => /* @__PURE__ */ jsx19(AwardBadge, { ...award }, i)) }),
1567
- /* @__PURE__ */ jsx19("div", { className: "stats__card", children: /* @__PURE__ */ jsxs18("div", { className: "stats__card-track", children: [
1568
- /* @__PURE__ */ jsx19("div", { className: "stats__fade stats__fade--top", "aria-hidden": "true" }),
1569
- /* @__PURE__ */ jsx19("div", { className: "stats__fade stats__fade--bottom", "aria-hidden": "true" }),
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__ */ jsxs18(
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__ */ jsx19("span", { className: "stats__stat-value", children: stat.value }),
1584
- /* @__PURE__ */ jsx19("span", { className: "stats__stat-label", children: stat.label })
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__ */ jsx19("div", { className: "stats__awards-col stats__awards-col--right", children: rightAwards.map((award, i) => /* @__PURE__ */ jsx19(AwardBadge, { ...award }, i)) }),
1592
- hasAwards && /* @__PURE__ */ jsx19("div", { className: "stats__awards-mobile", children: allAwards.map((award, i) => /* @__PURE__ */ jsx19(AwardBadge, { ...award }, i)) })
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 useEffect4, useRef as useRef4, useState as useState7 } from "react";
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 jsx20, jsxs as jsxs19 } from "react/jsx-runtime";
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__ */ jsx20(
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__ */ jsx20(
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__ */ jsx20(
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__ */ jsx20(
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 = useRef4([]);
1701
- useEffect4(() => {
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__ */ jsx20("section", { className: rootClass, ...props, children: /* @__PURE__ */ jsxs19("div", { className: "scrolly__inner", children: [
1733
- /* @__PURE__ */ jsx20("h2", { className: "scrolly__header", children: header }),
1734
- /* @__PURE__ */ jsxs19("div", { className: "scrolly__layout", children: [
1735
- /* @__PURE__ */ jsx20("div", { className: "scrolly__media-col", "aria-hidden": "true", children: /* @__PURE__ */ jsx20("div", { className: "scrolly__media-wrap", children: items.map((item, i) => /* @__PURE__ */ jsx20(
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__ */ jsx20(
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__ */ jsx20("div", { className: "scrolly__content-col", children: items.map((item, i) => /* @__PURE__ */ jsxs19(
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__ */ jsx20("h3", { className: "scrolly__item-title", children: item.title }),
1764
- /* @__PURE__ */ jsx20("p", { className: "scrolly__item-desc", children: item.description }),
1765
- /* @__PURE__ */ jsxs19(
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__ */ jsx20("span", { children: item.linkLabel }),
1772
- /* @__PURE__ */ jsx20(ChevronRight2, {})
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__ */ jsx20("div", { className: "scrolly__mobile-list", children: items.map((item, i) => /* @__PURE__ */ jsxs19("div", { className: "scrolly__mobile-item", children: [
1782
- /* @__PURE__ */ jsx20("h3", { className: "scrolly__item-title", children: item.title }),
1783
- /* @__PURE__ */ jsx20("p", { className: "scrolly__item-desc", children: item.description }),
1784
- /* @__PURE__ */ jsxs19(
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__ */ jsx20("span", { children: "Learn more" }),
1791
- /* @__PURE__ */ jsx20(ChevronRight2, {})
1987
+ /* @__PURE__ */ jsx21("span", { children: "Learn more" }),
1988
+ /* @__PURE__ */ jsx21(ChevronRight2, {})
1792
1989
  ]
1793
1990
  }
1794
1991
  ),
1795
- /* @__PURE__ */ jsx20("div", { className: "scrolly__mobile-media", children: /* @__PURE__ */ jsx20(MediaRenderer, { item, active: true }) })
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 useEffect5, useRef as useRef5 } from "react";
1802
- import { jsx as jsx21, jsxs as jsxs20 } from "react/jsx-runtime";
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: "Sign up",
1806
- description: "Sign up in minutes. Practise with a zero-risk demo account.",
1807
- imageUrl: "https://cdn.prod.website-files.com/66585fe0e1dc7e70cc75d440/677cfad9dd757e95ee7fb4d9_image%20phone.webp",
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: "Deposit",
1812
- description: "Use your favourite local payment method to fund your account.",
1813
- imageUrl: "https://cdn.prod.website-files.com/66585fe0e1dc7e70cc75d440/6757df583bf331c84b6c6a61_card-2.webp",
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: "Trade",
1818
- description: "Start your trading journey.",
1819
- imageUrl: "https://cdn.prod.website-files.com/66585fe0e1dc7e70cc75d440/6757df583bf331c84b6c6a59_card-3.webp",
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 = useRef5([]);
1831
- useEffect5(() => {
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__ */ jsx21(
2063
+ return /* @__PURE__ */ jsx22(
1866
2064
  "section",
1867
2065
  {
1868
2066
  className: ["ssc", className].filter(Boolean).join(" "),
1869
2067
  ...props,
1870
- children: /* @__PURE__ */ jsxs20("div", { className: "ssc__inner", children: [
1871
- /* @__PURE__ */ jsx21("h2", { className: "ssc__header", children: header }),
1872
- /* @__PURE__ */ jsx21("div", { className: "ssc__track", children: items.map((item, i) => /* @__PURE__ */ jsxs20(
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__ */ jsxs20("div", { className: "ssc__card-content", children: [
1899
- /* @__PURE__ */ jsx21("h3", { className: "ssc__card-title", children: item.title }),
1900
- /* @__PURE__ */ jsx21("p", { className: "ssc__card-desc", children: item.description })
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__ */ jsx21("div", { className: "ssc__card-image", children: /* @__PURE__ */ jsx21(
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 useRef6 } from "react";
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 jsx22, jsxs as jsxs21 } from "react/jsx-runtime";
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 = useRef6(null);
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__ */ jsxs21(
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__ */ jsx22(
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__ */ jsx22("div", { className: "ctab__inner", children: /* @__PURE__ */ jsxs21("div", { className: "ctab__stage", children: [
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__ */ jsx22(
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__ */ jsx22(
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__ */ jsxs21(
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__ */ jsx22("h2", { className: "ctab__headline", children: headline }),
2250
- /* @__PURE__ */ jsx22("a", { href: ctaHref, children: /* @__PURE__ */ jsx22(Button, { colorScheme: "black", variant: "primary", label: ctaLabel }) })
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 useRef7, useState as useState8, useEffect as useEffect6, useCallback as useCallback2 } from "react";
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 jsx23, jsxs as jsxs22 } from "react/jsx-runtime";
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__ */ jsx23(
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__ */ jsx23(
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__ */ jsx23("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx23(
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__ */ jsx23("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx23(
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__ */ jsx23("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx23(
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__ */ jsx23("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx23(
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,11 +2536,32 @@ var XMarkIcon2 = () => /* @__PURE__ */ jsx23("svg", { width: "20", height: "20",
2338
2536
  strokeLinecap: "round"
2339
2537
  }
2340
2538
  ) });
2341
- var GlobeIcon = ({ className }) => /* @__PURE__ */ jsx23("img", { src: icon_globe_default, alt: "", "aria-hidden": "true", width: "20", height: "20", className });
2539
+ var ChevronLeftIcon = ({ className }) => /* @__PURE__ */ jsx24(
2540
+ "svg",
2541
+ {
2542
+ className,
2543
+ width: "24",
2544
+ height: "24",
2545
+ viewBox: "0 0 24 24",
2546
+ fill: "none",
2547
+ "aria-hidden": "true",
2548
+ children: /* @__PURE__ */ jsx24(
2549
+ "path",
2550
+ {
2551
+ d: "M15 18L9 12L15 6",
2552
+ stroke: "currentColor",
2553
+ strokeWidth: "2",
2554
+ strokeLinecap: "round",
2555
+ strokeLinejoin: "round"
2556
+ }
2557
+ )
2558
+ }
2559
+ );
2560
+ var GlobeIcon = ({ className }) => /* @__PURE__ */ jsx24("img", { src: icon_globe_default, alt: "", "aria-hidden": "true", width: "20", height: "20", className });
2342
2561
  var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
2343
2562
  const { dropdown } = item;
2344
2563
  if (!dropdown) return null;
2345
- return /* @__PURE__ */ jsx23(
2564
+ return /* @__PURE__ */ jsx24(
2346
2565
  motion2.div,
2347
2566
  {
2348
2567
  className: "navbar__dropdown",
@@ -2353,10 +2572,10 @@ var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
2353
2572
  transition: { duration: 0.18, ease: EASE_OUT_EXPO },
2354
2573
  onMouseEnter,
2355
2574
  onMouseLeave,
2356
- children: /* @__PURE__ */ jsxs22("div", { className: "navbar__dropdown-inner", children: [
2357
- /* @__PURE__ */ jsx23("div", { className: "navbar__dropdown-left", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ jsx23("div", { className: "navbar__dropdown-col", children: col.sections.map((section) => /* @__PURE__ */ jsxs22("div", { className: "navbar__dropdown-col-list", children: [
2358
- /* @__PURE__ */ jsx23("p", { className: "navbar__dropdown-col-title", children: section.title }),
2359
- section.items.map((link) => /* @__PURE__ */ jsxs22(
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(
2360
2579
  "a",
2361
2580
  {
2362
2581
  href: link.href,
@@ -2365,24 +2584,24 @@ var DropdownPanel = ({ item, onMouseEnter, onMouseLeave }) => {
2365
2584
  rel: link.external ? "noopener noreferrer" : void 0,
2366
2585
  children: [
2367
2586
  link.label,
2368
- link.external ? /* @__PURE__ */ jsx23(ArrowUpRightIcon, {}) : /* @__PURE__ */ jsx23(ArrowRightIcon, {})
2587
+ link.external ? /* @__PURE__ */ jsx24(ArrowUpRightIcon, {}) : /* @__PURE__ */ jsx24(ArrowRightIcon, {})
2369
2588
  ]
2370
2589
  },
2371
2590
  link.href
2372
2591
  ))
2373
2592
  ] }, section.title)) }, colIdx)) }),
2374
- dropdown.feature && /* @__PURE__ */ jsx23("div", { className: "navbar__dropdown-right", children: /* @__PURE__ */ jsx23(FeatureCard, { feature: dropdown.feature }) })
2593
+ dropdown.feature && /* @__PURE__ */ jsx24("div", { className: "navbar__dropdown-right", children: /* @__PURE__ */ jsx24(FeatureCard, { feature: dropdown.feature }) })
2375
2594
  ] })
2376
2595
  }
2377
2596
  );
2378
2597
  };
2379
- var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs22(
2598
+ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs23(
2380
2599
  "div",
2381
2600
  {
2382
2601
  className: mobile ? "navbar__drawer-feature" : "navbar__dropdown-feature",
2383
2602
  style: feature.backgroundImageUrl ? { backgroundImage: `url(${feature.backgroundImageUrl})` } : void 0,
2384
2603
  children: [
2385
- feature.backgroundImageUrl && /* @__PURE__ */ jsx23(
2604
+ feature.backgroundImageUrl && /* @__PURE__ */ jsx24(
2386
2605
  "img",
2387
2606
  {
2388
2607
  src: feature.backgroundImageUrl,
@@ -2391,20 +2610,20 @@ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs22(
2391
2610
  "aria-hidden": "true"
2392
2611
  }
2393
2612
  ),
2394
- /* @__PURE__ */ jsx23("div", { className: mobile ? "navbar__drawer-feature-overlay" : "navbar__dropdown-feature-overlay", "aria-hidden": "true" }),
2395
- /* @__PURE__ */ jsxs22("div", { className: mobile ? "navbar__drawer-feature-content" : "navbar__dropdown-feature-content", children: [
2396
- /* @__PURE__ */ jsxs22("div", { children: [
2397
- /* @__PURE__ */ jsx23("p", { className: mobile ? "navbar__drawer-feature-title" : "navbar__dropdown-feature-title", children: feature.title }),
2398
- /* @__PURE__ */ jsx23("p", { className: mobile ? "navbar__drawer-feature-desc" : "navbar__dropdown-feature-desc", children: feature.description })
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 })
2399
2618
  ] }),
2400
- /* @__PURE__ */ jsxs22(
2619
+ /* @__PURE__ */ jsxs23(
2401
2620
  "a",
2402
2621
  {
2403
2622
  href: feature.ctaHref,
2404
2623
  className: mobile ? "navbar__drawer-feature-cta" : "navbar__dropdown-feature-cta",
2405
2624
  children: [
2406
2625
  feature.ctaLabel,
2407
- /* @__PURE__ */ jsx23(ArrowRightIcon, {})
2626
+ /* @__PURE__ */ jsx24(ArrowRightIcon, {})
2408
2627
  ]
2409
2628
  }
2410
2629
  )
@@ -2414,8 +2633,8 @@ var FeatureCard = ({ feature, mobile }) => /* @__PURE__ */ jsxs22(
2414
2633
  );
2415
2634
  var DrawerAccordion = ({ item, isOpen, onToggle }) => {
2416
2635
  const { dropdown } = item;
2417
- return /* @__PURE__ */ jsxs22("div", { className: "navbar__drawer-item", children: [
2418
- /* @__PURE__ */ jsxs22(
2636
+ return /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-item", children: [
2637
+ /* @__PURE__ */ jsxs23(
2419
2638
  "button",
2420
2639
  {
2421
2640
  className: `navbar__drawer-trigger ${isOpen ? "navbar__drawer-trigger--open" : ""}`,
@@ -2423,11 +2642,11 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
2423
2642
  "aria-expanded": isOpen,
2424
2643
  children: [
2425
2644
  item.label,
2426
- /* @__PURE__ */ jsx23(ChevronDownIcon3, { className: "navbar__drawer-trigger__chevron" })
2645
+ /* @__PURE__ */ jsx24(ChevronDownIcon3, { className: "navbar__drawer-trigger__chevron" })
2427
2646
  ]
2428
2647
  }
2429
2648
  ),
2430
- /* @__PURE__ */ jsx23(AnimatePresence, { initial: false, children: isOpen && dropdown && /* @__PURE__ */ jsx23(
2649
+ /* @__PURE__ */ jsx24(AnimatePresence, { initial: false, children: isOpen && dropdown && /* @__PURE__ */ jsx24(
2431
2650
  motion2.div,
2432
2651
  {
2433
2652
  className: "navbar__drawer-panel",
@@ -2436,10 +2655,10 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
2436
2655
  animate: "visible",
2437
2656
  exit: "hidden",
2438
2657
  transition: { duration: 0.22, ease: EASE_OUT_EXPO },
2439
- children: /* @__PURE__ */ jsxs22("div", { className: "navbar__drawer-panel-inner", children: [
2440
- /* @__PURE__ */ jsx23("div", { className: "navbar__drawer-panel-cols", children: dropdown.columns.map((col, colIdx) => /* @__PURE__ */ jsx23("div", { className: "navbar__drawer-panel-col", children: col.sections.map((section) => /* @__PURE__ */ jsxs22("div", { className: "navbar__drawer-col-section", children: [
2441
- /* @__PURE__ */ jsx23("p", { className: "navbar__drawer-col-title", children: section.title }),
2442
- /* @__PURE__ */ jsx23("div", { className: "navbar__drawer-col-links", children: section.items.map((link) => /* @__PURE__ */ jsx23(
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(
2443
2662
  "a",
2444
2663
  {
2445
2664
  href: link.href,
@@ -2451,7 +2670,7 @@ var DrawerAccordion = ({ item, isOpen, onToggle }) => {
2451
2670
  link.href
2452
2671
  )) })
2453
2672
  ] }, section.title)) }, colIdx)) }),
2454
- dropdown.feature && /* @__PURE__ */ jsx23(FeatureCard, { feature: dropdown.feature, mobile: true })
2673
+ dropdown.feature && /* @__PURE__ */ jsx24(FeatureCard, { feature: dropdown.feature, mobile: true })
2455
2674
  ] })
2456
2675
  }
2457
2676
  ) })
@@ -2469,6 +2688,9 @@ var Navbar = ({
2469
2688
  ctaHref,
2470
2689
  languageLabel,
2471
2690
  onLanguageClick,
2691
+ languageItems,
2692
+ activeLanguageCode,
2693
+ onLanguageSelect,
2472
2694
  className,
2473
2695
  ...props
2474
2696
  }) => {
@@ -2476,31 +2698,40 @@ var Navbar = ({
2476
2698
  const [mobileOpen, setMobileOpen] = useState8(false);
2477
2699
  const [mobileExpanded, setMobileExpanded] = useState8(null);
2478
2700
  const [scrolled, setScrolled] = useState8(false);
2479
- const hoverTimeoutRef = useRef7(null);
2480
- const pillAreaRef = useRef7(null);
2701
+ const [langDropdownOpen, setLangDropdownOpen] = useState8(false);
2702
+ const [mobileLangOpen, setMobileLangOpen] = useState8(false);
2703
+ const hoverTimeoutRef = useRef8(null);
2704
+ const langHoverTimeoutRef = useRef8(null);
2705
+ const pillAreaRef = useRef8(null);
2706
+ const langBtnRef = useRef8(null);
2707
+ const hasLangDropdown = Boolean(languageItems && languageItems.length > 0);
2481
2708
  const resolvedLogo = theme === "light" ? logoSrcDark ?? logoSrc : logoSrc;
2482
- useEffect6(() => {
2709
+ useEffect7(() => {
2483
2710
  const onScroll = () => setScrolled(window.scrollY > 0);
2484
2711
  window.addEventListener("scroll", onScroll, { passive: true });
2485
2712
  return () => window.removeEventListener("scroll", onScroll);
2486
2713
  }, []);
2487
- useEffect6(() => {
2714
+ useEffect7(() => {
2488
2715
  const onKey = (e) => {
2489
2716
  if (e.key === "Escape") {
2490
2717
  setOpenDropdown(null);
2491
2718
  setMobileOpen(false);
2719
+ setMobileLangOpen(false);
2492
2720
  }
2493
2721
  };
2494
2722
  document.addEventListener("keydown", onKey);
2495
2723
  return () => document.removeEventListener("keydown", onKey);
2496
2724
  }, []);
2497
- useEffect6(() => {
2725
+ useEffect7(() => {
2726
+ if (!mobileOpen) setMobileLangOpen(false);
2727
+ }, [mobileOpen]);
2728
+ useEffect7(() => {
2498
2729
  document.body.style.overflow = mobileOpen ? "hidden" : "";
2499
2730
  return () => {
2500
2731
  document.body.style.overflow = "";
2501
2732
  };
2502
2733
  }, [mobileOpen]);
2503
- useEffect6(() => {
2734
+ useEffect7(() => {
2504
2735
  if (!openDropdown) return;
2505
2736
  const onPointerDown = (e) => {
2506
2737
  if (pillAreaRef.current && !pillAreaRef.current.contains(e.target)) {
@@ -2516,6 +2747,25 @@ var Navbar = ({
2516
2747
  hoverTimeoutRef.current = null;
2517
2748
  }
2518
2749
  }, []);
2750
+ const clearLangHoverTimeout = useCallback2(() => {
2751
+ if (langHoverTimeoutRef.current) {
2752
+ clearTimeout(langHoverTimeoutRef.current);
2753
+ langHoverTimeoutRef.current = null;
2754
+ }
2755
+ }, []);
2756
+ const handleLangEnter = useCallback2(() => {
2757
+ clearLangHoverTimeout();
2758
+ setLangDropdownOpen(true);
2759
+ }, [clearLangHoverTimeout]);
2760
+ const handleLangLeave = useCallback2(() => {
2761
+ clearLangHoverTimeout();
2762
+ langHoverTimeoutRef.current = setTimeout(() => setLangDropdownOpen(false), 150);
2763
+ }, [clearLangHoverTimeout]);
2764
+ const handleLangSelect = useCallback2((code) => {
2765
+ setLangDropdownOpen(false);
2766
+ setMobileLangOpen(false);
2767
+ onLanguageSelect?.(code);
2768
+ }, [onLanguageSelect]);
2519
2769
  const handleNavEnter = useCallback2((label) => {
2520
2770
  clearHoverTimeout();
2521
2771
  setOpenDropdown(label);
@@ -2525,20 +2775,20 @@ var Navbar = ({
2525
2775
  hoverTimeoutRef.current = setTimeout(() => setOpenDropdown(null), 120);
2526
2776
  }, [clearHoverTimeout]);
2527
2777
  const activeDropdownItem = navItems.find((item) => item.label === openDropdown);
2528
- return /* @__PURE__ */ jsxs22(
2778
+ return /* @__PURE__ */ jsxs23(
2529
2779
  "nav",
2530
2780
  {
2531
2781
  className: ["navbar", `navbar--${theme}`, scrolled && "navbar--scrolled", mobileOpen && "navbar--menu-open", className].filter(Boolean).join(" "),
2532
2782
  ...props,
2533
2783
  children: [
2534
- /* @__PURE__ */ jsxs22("div", { className: "navbar__bar", children: [
2535
- /* @__PURE__ */ jsx23("a", { href: logoHref, className: "navbar__logo", "aria-label": "Home", children: /* @__PURE__ */ jsx23("img", { src: resolvedLogo, alt: "Logo" }) }),
2536
- /* @__PURE__ */ jsx23("div", { className: "navbar__nav-center", ref: pillAreaRef, children: /* @__PURE__ */ jsxs22("div", { className: "navbar__pill", children: [
2537
- /* @__PURE__ */ jsx23("a", { href: logoHref, className: "navbar__pill-logo", "aria-label": "Home", children: /* @__PURE__ */ jsx23("img", { src: logoSrcDark ?? logoSrc, alt: "Logo" }) }),
2538
- /* @__PURE__ */ jsxs22("div", { className: "navbar__nav-group", children: [
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: [
2539
2789
  navItems.map((item) => {
2540
2790
  if (item.external) {
2541
- return /* @__PURE__ */ jsxs22(
2791
+ return /* @__PURE__ */ jsxs23(
2542
2792
  "a",
2543
2793
  {
2544
2794
  href: item.href,
@@ -2547,14 +2797,14 @@ var Navbar = ({
2547
2797
  rel: "noopener noreferrer",
2548
2798
  children: [
2549
2799
  item.label,
2550
- /* @__PURE__ */ jsx23(ArrowUpRightIcon, {})
2800
+ /* @__PURE__ */ jsx24(ArrowUpRightIcon, {})
2551
2801
  ]
2552
2802
  },
2553
2803
  item.label
2554
2804
  );
2555
2805
  }
2556
2806
  if (item.dropdown) {
2557
- return /* @__PURE__ */ jsxs22(
2807
+ return /* @__PURE__ */ jsxs23(
2558
2808
  "button",
2559
2809
  {
2560
2810
  className: [
@@ -2567,25 +2817,43 @@ var Navbar = ({
2567
2817
  "aria-haspopup": "true",
2568
2818
  children: [
2569
2819
  item.label,
2570
- /* @__PURE__ */ jsx23(ChevronDownIcon3, { className: "navbar__nav-item__chevron" })
2820
+ /* @__PURE__ */ jsx24(ChevronDownIcon3, { className: "navbar__nav-item__chevron" })
2571
2821
  ]
2572
2822
  },
2573
2823
  item.label
2574
2824
  );
2575
2825
  }
2576
- return /* @__PURE__ */ jsx23("a", { href: item.href, className: "navbar__nav-item", children: item.label }, item.label);
2826
+ return /* @__PURE__ */ jsx24("a", { href: item.href, className: "navbar__nav-item", children: item.label }, item.label);
2577
2827
  }),
2578
- languageLabel && /* @__PURE__ */ jsxs22("button", { className: "navbar__nav-item navbar__lang-btn", onClick: onLanguageClick, children: [
2579
- /* @__PURE__ */ jsx23(GlobeIcon, { className: "navbar__lang-globe" }),
2580
- languageLabel
2581
- ] })
2828
+ languageLabel && /* @__PURE__ */ jsx24(
2829
+ "div",
2830
+ {
2831
+ className: "navbar__lang-wrapper",
2832
+ onMouseEnter: hasLangDropdown ? handleLangEnter : void 0,
2833
+ onMouseLeave: hasLangDropdown ? handleLangLeave : void 0,
2834
+ children: /* @__PURE__ */ jsxs23(
2835
+ "button",
2836
+ {
2837
+ ref: langBtnRef,
2838
+ className: "navbar__nav-item navbar__lang-btn",
2839
+ onClick: hasLangDropdown ? () => setLangDropdownOpen((o) => !o) : onLanguageClick,
2840
+ "aria-haspopup": hasLangDropdown ? "true" : void 0,
2841
+ "aria-expanded": hasLangDropdown ? langDropdownOpen : void 0,
2842
+ children: [
2843
+ /* @__PURE__ */ jsx24(GlobeIcon, { className: "navbar__lang-globe" }),
2844
+ languageLabel
2845
+ ]
2846
+ }
2847
+ )
2848
+ }
2849
+ )
2582
2850
  ] }),
2583
- /* @__PURE__ */ jsxs22("div", { className: "navbar__pill-actions", children: [
2584
- loginHref && /* @__PURE__ */ jsx23("a", { href: loginHref, children: /* @__PURE__ */ jsx23(Button, { colorScheme: "black", variant: "secondary", label: loginLabel }) }),
2585
- ctaHref && /* @__PURE__ */ jsx23("a", { href: ctaHref, children: /* @__PURE__ */ jsx23(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
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 }) })
2586
2854
  ] })
2587
2855
  ] }) }),
2588
- /* @__PURE__ */ jsx23(AnimatePresence, { children: openDropdown && activeDropdownItem?.dropdown && /* @__PURE__ */ jsx23(
2856
+ /* @__PURE__ */ jsx24(AnimatePresence, { children: openDropdown && activeDropdownItem?.dropdown && /* @__PURE__ */ jsx24(
2589
2857
  DropdownPanel,
2590
2858
  {
2591
2859
  item: activeDropdownItem,
@@ -2594,8 +2862,40 @@ var Navbar = ({
2594
2862
  },
2595
2863
  "dropdown"
2596
2864
  ) }),
2597
- /* @__PURE__ */ jsxs22("div", { className: "navbar__actions", children: [
2598
- loginHref && /* @__PURE__ */ jsx23("a", { href: loginHref, className: "navbar__actions-login", children: /* @__PURE__ */ jsx23(
2865
+ /* @__PURE__ */ jsx24(AnimatePresence, { children: hasLangDropdown && langDropdownOpen && /* @__PURE__ */ jsx24(
2866
+ motion2.div,
2867
+ {
2868
+ className: "navbar__lang-dropdown",
2869
+ variants: dropdownVariants,
2870
+ initial: "hidden",
2871
+ animate: "visible",
2872
+ exit: "hidden",
2873
+ transition: { duration: 0.18, ease: EASE_OUT_EXPO },
2874
+ onMouseEnter: clearLangHoverTimeout,
2875
+ onMouseLeave: handleLangLeave,
2876
+ children: /* @__PURE__ */ jsx24(
2877
+ "div",
2878
+ {
2879
+ className: "navbar__lang-dropdown-grid",
2880
+ style: { "--lang-rows": Math.ceil(languageItems.length / 3) },
2881
+ children: languageItems.map((lang) => /* @__PURE__ */ jsx24(
2882
+ "button",
2883
+ {
2884
+ className: [
2885
+ "navbar__lang-dropdown-item",
2886
+ lang.code === activeLanguageCode ? "navbar__lang-dropdown-item--active" : ""
2887
+ ].filter(Boolean).join(" "),
2888
+ onClick: () => handleLangSelect(lang.code),
2889
+ children: lang.label
2890
+ },
2891
+ lang.code
2892
+ ))
2893
+ }
2894
+ )
2895
+ }
2896
+ ) }),
2897
+ /* @__PURE__ */ jsxs23("div", { className: "navbar__actions", children: [
2898
+ loginHref && /* @__PURE__ */ jsx24("a", { href: loginHref, className: "navbar__actions-login", children: /* @__PURE__ */ jsx24(
2599
2899
  Button,
2600
2900
  {
2601
2901
  colorScheme: theme === "dark" ? "white" : "black",
@@ -2603,10 +2903,10 @@ var Navbar = ({
2603
2903
  label: loginLabel
2604
2904
  }
2605
2905
  ) }),
2606
- ctaHref && /* @__PURE__ */ jsx23("a", { href: ctaHref, children: /* @__PURE__ */ jsx23(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
2906
+ ctaHref && /* @__PURE__ */ jsx24("a", { href: ctaHref, children: /* @__PURE__ */ jsx24(Button, { colorScheme: "coral", variant: "primary", label: ctaLabel }) })
2607
2907
  ] }),
2608
- /* @__PURE__ */ jsxs22("div", { className: "navbar__mobile-actions", children: [
2609
- loginHref && /* @__PURE__ */ jsx23("a", { href: loginHref, children: /* @__PURE__ */ jsx23(
2908
+ /* @__PURE__ */ jsxs23("div", { className: "navbar__mobile-actions", children: [
2909
+ loginHref && /* @__PURE__ */ jsx24("a", { href: loginHref, children: /* @__PURE__ */ jsx24(
2610
2910
  Button,
2611
2911
  {
2612
2912
  colorScheme: scrolled || theme === "light" ? "black" : "white",
@@ -2614,18 +2914,18 @@ var Navbar = ({
2614
2914
  label: loginLabel
2615
2915
  }
2616
2916
  ) }),
2617
- /* @__PURE__ */ jsx23(
2917
+ /* @__PURE__ */ jsx24(
2618
2918
  "button",
2619
2919
  {
2620
2920
  className: "navbar__mobile-trigger",
2621
2921
  onClick: () => setMobileOpen((o) => !o),
2622
2922
  "aria-label": mobileOpen ? "Close navigation menu" : "Open navigation menu",
2623
- children: mobileOpen ? /* @__PURE__ */ jsx23(XMarkIcon2, {}) : /* @__PURE__ */ jsx23(BarsIcon, {})
2923
+ children: mobileOpen ? /* @__PURE__ */ jsx24(XMarkIcon2, {}) : /* @__PURE__ */ jsx24(BarsIcon, {})
2624
2924
  }
2625
2925
  )
2626
2926
  ] })
2627
2927
  ] }),
2628
- /* @__PURE__ */ jsx23("div", { className: "navbar__drawer-clip", children: /* @__PURE__ */ jsx23(AnimatePresence, { children: mobileOpen && /* @__PURE__ */ jsxs22(
2928
+ /* @__PURE__ */ jsx24("div", { className: "navbar__drawer-clip", children: /* @__PURE__ */ jsx24(AnimatePresence, { children: mobileOpen && /* @__PURE__ */ jsxs23(
2629
2929
  motion2.div,
2630
2930
  {
2631
2931
  className: "navbar__drawer",
@@ -2638,10 +2938,10 @@ var Navbar = ({
2638
2938
  role: "dialog",
2639
2939
  "aria-label": "Navigation menu",
2640
2940
  children: [
2641
- /* @__PURE__ */ jsxs22("nav", { className: "navbar__drawer-nav", children: [
2941
+ /* @__PURE__ */ jsxs23("nav", { className: "navbar__drawer-nav", children: [
2642
2942
  navItems.map((item) => {
2643
2943
  if (item.dropdown) {
2644
- return /* @__PURE__ */ jsx23(
2944
+ return /* @__PURE__ */ jsx24(
2645
2945
  DrawerAccordion,
2646
2946
  {
2647
2947
  item,
@@ -2653,7 +2953,7 @@ var Navbar = ({
2653
2953
  item.label
2654
2954
  );
2655
2955
  }
2656
- return /* @__PURE__ */ jsxs22(
2956
+ return /* @__PURE__ */ jsxs23(
2657
2957
  "a",
2658
2958
  {
2659
2959
  href: item.href,
@@ -2662,19 +2962,30 @@ var Navbar = ({
2662
2962
  rel: item.external ? "noopener noreferrer" : void 0,
2663
2963
  children: [
2664
2964
  item.label,
2665
- item.external && /* @__PURE__ */ jsx23(ArrowUpRightIcon, {})
2965
+ item.external && /* @__PURE__ */ jsx24(ArrowUpRightIcon, {})
2666
2966
  ]
2667
2967
  },
2668
2968
  item.label
2669
2969
  );
2670
2970
  }),
2671
- languageLabel && /* @__PURE__ */ jsxs22("button", { className: "navbar__drawer-lang", onClick: onLanguageClick, children: [
2672
- /* @__PURE__ */ jsx23(GlobeIcon, { className: "navbar__lang-globe" }),
2971
+ languageLabel && !hasLangDropdown && /* @__PURE__ */ jsxs23("button", { className: "navbar__drawer-lang", onClick: onLanguageClick, children: [
2972
+ /* @__PURE__ */ jsx24(GlobeIcon, { className: "navbar__lang-globe" }),
2673
2973
  languageLabel
2674
- ] })
2974
+ ] }),
2975
+ languageLabel && hasLangDropdown && /* @__PURE__ */ jsxs23(
2976
+ "button",
2977
+ {
2978
+ className: "navbar__drawer-lang",
2979
+ onClick: () => setMobileLangOpen(true),
2980
+ children: [
2981
+ /* @__PURE__ */ jsx24(GlobeIcon, { className: "navbar__lang-globe" }),
2982
+ languageLabel
2983
+ ]
2984
+ }
2985
+ )
2675
2986
  ] }),
2676
- /* @__PURE__ */ jsxs22("div", { className: "navbar__drawer-footer", children: [
2677
- loginHref && /* @__PURE__ */ jsx23("a", { href: loginHref, style: { display: "block" }, children: /* @__PURE__ */ jsx23(
2987
+ !mobileLangOpen && /* @__PURE__ */ jsxs23("div", { className: "navbar__drawer-footer", children: [
2988
+ loginHref && /* @__PURE__ */ jsx24("a", { href: loginHref, style: { display: "block" }, children: /* @__PURE__ */ jsx24(
2678
2989
  Button,
2679
2990
  {
2680
2991
  colorScheme: "black",
@@ -2683,7 +2994,7 @@ var Navbar = ({
2683
2994
  fullWidth: true
2684
2995
  }
2685
2996
  ) }),
2686
- ctaHref && /* @__PURE__ */ jsx23("a", { href: ctaHref, style: { display: "block" }, children: /* @__PURE__ */ jsx23(
2997
+ ctaHref && /* @__PURE__ */ jsx24("a", { href: ctaHref, style: { display: "block" }, children: /* @__PURE__ */ jsx24(
2687
2998
  Button,
2688
2999
  {
2689
3000
  colorScheme: "coral",
@@ -2692,7 +3003,40 @@ var Navbar = ({
2692
3003
  fullWidth: true
2693
3004
  }
2694
3005
  ) })
2695
- ] })
3006
+ ] }),
3007
+ /* @__PURE__ */ jsx24(AnimatePresence, { children: hasLangDropdown && mobileLangOpen && /* @__PURE__ */ jsxs23(
3008
+ motion2.div,
3009
+ {
3010
+ className: "navbar__drawer-lang-panel",
3011
+ initial: { y: "100%" },
3012
+ animate: { y: 0 },
3013
+ exit: { y: "100%" },
3014
+ transition: { duration: 0.25, ease: EASE_OUT_EXPO },
3015
+ children: [
3016
+ /* @__PURE__ */ jsx24(
3017
+ "button",
3018
+ {
3019
+ className: "navbar__drawer-lang-back",
3020
+ onClick: () => setMobileLangOpen(false),
3021
+ "aria-label": "Back to menu",
3022
+ children: /* @__PURE__ */ jsx24(ChevronLeftIcon, {})
3023
+ }
3024
+ ),
3025
+ /* @__PURE__ */ jsx24("div", { className: "navbar__drawer-lang-grid", children: languageItems.map((lang) => /* @__PURE__ */ jsx24(
3026
+ "button",
3027
+ {
3028
+ className: [
3029
+ "navbar__drawer-lang-item",
3030
+ lang.code === activeLanguageCode ? "navbar__drawer-lang-item--active" : ""
3031
+ ].filter(Boolean).join(" "),
3032
+ onClick: () => handleLangSelect(lang.code),
3033
+ children: lang.label
3034
+ },
3035
+ lang.code
3036
+ )) })
3037
+ ]
3038
+ }
3039
+ ) })
2696
3040
  ]
2697
3041
  }
2698
3042
  ) }) })
@@ -2702,7 +3046,7 @@ var Navbar = ({
2702
3046
  };
2703
3047
 
2704
3048
  // templates/DayNightTransition/DayNightTransition.tsx
2705
- import { useRef as useRef8 } from "react";
3049
+ import { useRef as useRef9 } from "react";
2706
3050
  import {
2707
3051
  motion as motion3,
2708
3052
  useScroll as useScroll2,
@@ -2710,7 +3054,7 @@ import {
2710
3054
  useTransform as useTransform2,
2711
3055
  useMotionTemplate as useMotionTemplate2
2712
3056
  } from "framer-motion";
2713
- import { jsx as jsx24, jsxs as jsxs23 } from "react/jsx-runtime";
3057
+ import { jsx as jsx25, jsxs as jsxs24 } from "react/jsx-runtime";
2714
3058
  var SPRING2 = { stiffness: 80, damping: 30, restDelta: 1e-3 };
2715
3059
  var FADE_START = 0.35;
2716
3060
  var FADE_END = 0.65;
@@ -2730,7 +3074,7 @@ var DayNightTransition = ({
2730
3074
  className,
2731
3075
  ...props
2732
3076
  }) => {
2733
- const wrapperRef = useRef8(null);
3077
+ const wrapperRef = useRef9(null);
2734
3078
  const { scrollYProgress } = useScroll2({
2735
3079
  target: wrapperRef,
2736
3080
  offset: ["start end", "end start"]
@@ -2742,14 +3086,14 @@ var DayNightTransition = ({
2742
3086
  const dayOpacity = useTransform2(smooth, [WORD_START, WORD_END], [1, 0]);
2743
3087
  const nightOpacity2 = useTransform2(smooth, [WORD_START, WORD_END], [0, 1]);
2744
3088
  const hasDescription = Boolean(dayDescription || nightDescription);
2745
- return /* @__PURE__ */ jsx24(
3089
+ return /* @__PURE__ */ jsx25(
2746
3090
  "div",
2747
3091
  {
2748
3092
  ref: wrapperRef,
2749
3093
  className: ["dnt", className].filter(Boolean).join(" "),
2750
3094
  ...props,
2751
- children: /* @__PURE__ */ jsxs23("div", { className: "dnt__sticky", children: [
2752
- /* @__PURE__ */ jsx24(
3095
+ children: /* @__PURE__ */ jsxs24("div", { className: "dnt__sticky", children: [
3096
+ /* @__PURE__ */ jsx25(
2753
3097
  "img",
2754
3098
  {
2755
3099
  className: "dnt__bg dnt__bg--day",
@@ -2759,7 +3103,7 @@ var DayNightTransition = ({
2759
3103
  draggable: false
2760
3104
  }
2761
3105
  ),
2762
- /* @__PURE__ */ jsx24(
3106
+ /* @__PURE__ */ jsx25(
2763
3107
  motion3.img,
2764
3108
  {
2765
3109
  className: "dnt__bg dnt__bg--night",
@@ -2770,14 +3114,14 @@ var DayNightTransition = ({
2770
3114
  style: { opacity: nightOpacity }
2771
3115
  }
2772
3116
  ),
2773
- /* @__PURE__ */ jsx24("div", { className: "dnt__content", children: /* @__PURE__ */ jsxs23(
3117
+ /* @__PURE__ */ jsx25("div", { className: "dnt__content", children: /* @__PURE__ */ jsxs24(
2774
3118
  motion3.div,
2775
3119
  {
2776
3120
  className: "dnt__text-wrap",
2777
3121
  style: { color: textColor },
2778
3122
  children: [
2779
- /* @__PURE__ */ jsxs23("div", { className: "dnt__crossfade-wrap", children: [
2780
- /* @__PURE__ */ jsx24(
3123
+ /* @__PURE__ */ jsxs24("div", { className: "dnt__crossfade-wrap", children: [
3124
+ /* @__PURE__ */ jsx25(
2781
3125
  motion3.h2,
2782
3126
  {
2783
3127
  className: "dnt__headline",
@@ -2785,7 +3129,7 @@ var DayNightTransition = ({
2785
3129
  children: dayHeadline
2786
3130
  }
2787
3131
  ),
2788
- /* @__PURE__ */ jsx24(
3132
+ /* @__PURE__ */ jsx25(
2789
3133
  motion3.h2,
2790
3134
  {
2791
3135
  className: "dnt__headline",
@@ -2795,8 +3139,8 @@ var DayNightTransition = ({
2795
3139
  }
2796
3140
  )
2797
3141
  ] }),
2798
- hasDescription && /* @__PURE__ */ jsxs23("div", { className: "dnt__crossfade-wrap", children: [
2799
- /* @__PURE__ */ jsx24(
3142
+ hasDescription && /* @__PURE__ */ jsxs24("div", { className: "dnt__crossfade-wrap", children: [
3143
+ /* @__PURE__ */ jsx25(
2800
3144
  motion3.p,
2801
3145
  {
2802
3146
  className: "dnt__description",
@@ -2804,7 +3148,7 @@ var DayNightTransition = ({
2804
3148
  children: dayDescription ?? ""
2805
3149
  }
2806
3150
  ),
2807
- /* @__PURE__ */ jsx24(
3151
+ /* @__PURE__ */ jsx25(
2808
3152
  motion3.p,
2809
3153
  {
2810
3154
  className: "dnt__description",
@@ -2814,7 +3158,7 @@ var DayNightTransition = ({
2814
3158
  }
2815
3159
  )
2816
3160
  ] }),
2817
- /* @__PURE__ */ jsx24("a", { href: ctaHref, className: "dnt__btn", children: ctaLabel })
3161
+ /* @__PURE__ */ jsx25("a", { href: ctaHref, className: "dnt__btn", children: ctaLabel })
2818
3162
  ]
2819
3163
  }
2820
3164
  ) })
@@ -2823,8 +3167,8 @@ var DayNightTransition = ({
2823
3167
  );
2824
3168
  };
2825
3169
 
2826
- // templates/PaymentMethods/PaymentMethods.tsx
2827
- import { useRef as useRef9 } from "react";
3170
+ // templates/LogoMarquee/LogoMarquee.tsx
3171
+ import { useRef as useRef10 } from "react";
2828
3172
  import {
2829
3173
  motion as motion4,
2830
3174
  useScroll as useScroll3,
@@ -2832,7 +3176,7 @@ import {
2832
3176
  useAnimationFrame,
2833
3177
  useMotionValue
2834
3178
  } from "framer-motion";
2835
- import { jsx as jsx25, jsxs as jsxs24 } from "react/jsx-runtime";
3179
+ import { jsx as jsx26, jsxs as jsxs25 } from "react/jsx-runtime";
2836
3180
  function modWrap(min, max, v) {
2837
3181
  const range = max - min;
2838
3182
  return ((v - min) % range + range) % range + min;
@@ -2840,41 +3184,41 @@ function modWrap(min, max, v) {
2840
3184
  var VELOCITY_FACTOR = 0.4;
2841
3185
  var MAX_SCROLL_V = 2500;
2842
3186
  var DEADZONE = 2;
2843
- var CDN = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/";
3187
+ var PLACEHOLDER_IMAGE2 = "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/69b9309379ac08e59ca8210a_1f3f555da9a5cbb13a6fe1bf0d5fe1b6_placeholder-image.webp";
2844
3188
  var COL_ONE_LOGOS = [
2845
- { name: "Mastercard", url: `${CDN}68dcd915dc1a82f278b6c061_payment%20method-mastercard.svg` },
2846
- { name: "Visa", url: `${CDN}68dcd9d10fda048e2d53a3a1_payment%20method-visa.svg` },
2847
- { name: "Visa Electron", url: `${CDN}68dcd9d10fda048e2d53a3a1_payment%20method-visa-electron.svg` },
2848
- { name: "Maestro", url: `${CDN}68dcd9d183a5dcfaa9a06587_payment%20method-maestro.svg` },
2849
- { name: "Pix", url: `${CDN}68dcd9d13461263dcd8ccf54_payment%20method-pix.svg` },
2850
- { name: "Help2Pay", url: `${CDN}68dcd9d13461263dcd8ccf54_payment%20method-help2pay.svg` },
2851
- { name: "UPI Neo", url: `${CDN}68dcd9d13461263dcd8ccf54_payment%20method-upineo.svg` },
2852
- { name: "M-Pesa", url: `${CDN}68dcd9d13461263dcd8ccf54_payment%20method-mpesa.svg` },
2853
- { name: "Ozow", url: `${CDN}68dcd9d13461263dcd8ccf54_payment%20method-ozow.svg` },
2854
- { name: "MTN", url: `${CDN}68dcd9d13461263dcd8ccf54_payment%20method-mtn.svg` },
2855
- { name: "Airtm", url: `${CDN}68dcd9d13461263dcd8ccf54_payment%20method-airtm.svg` }
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 }
2856
3200
  ];
2857
3201
  var COL_TWO_LOGOS = [
2858
- { name: "Bitcoin", url: `${CDN}68dcd9d13384aff3f072511a_payment%20method-bitcoin.svg` },
2859
- { name: "Ethereum", url: `${CDN}68dcd9d10fda048e2d53a3a1_payment%20method-ethereum.svg` },
2860
- { name: "Tron", url: `${CDN}68dcd9d109305b54383580e5_payment%20method-tron.svg` },
2861
- { name: "Skrill", url: `${CDN}68dcd9d183a5dcfaa9a06587_payment%20method-skrill.svg` },
2862
- { name: "Skrill 1-tap", url: `${CDN}68dcd9d183a5dcfaa9a06587_payment%20method-skrill-1tap.svg` },
2863
- { name: "SticPay", url: `${CDN}68dcd9d183a5dcfaa9a06587_payment%20method-sticpay.svg` },
2864
- { name: "Litecoin", url: `${CDN}68dcd9d13384aff3f072511a_payment%20method-litecoin.svg` },
2865
- { name: "USD Coin", url: `${CDN}68dcd9d13384aff3f072511a_payment%20method-usdc.svg` },
2866
- { name: "Dogecoin", url: `${CDN}68dcd9d13384aff3f072511a_payment%20method-dogecoin.svg` },
2867
- { name: "Cardano", url: `${CDN}68dcd9d13384aff3f072511a_payment%20method-cardano.svg` },
2868
- { name: "BNB", url: `${CDN}68dcd9d13384aff3f072511a_payment%20method-bnb.svg` }
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 }
2869
3213
  ];
2870
3214
  var TEXT_CONTENT = {
2871
- headline: "Your money, your way",
2872
- body: "Quick deposits, easy withdrawals, and 60+ payment options mean your money is always accessible.",
2873
- disclaimer: "*Availability of payment methods and processing speeds may vary based on location and selected payment option.",
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.",
2874
3218
  ctaLabel: "Learn more",
2875
3219
  ctaHref: "#"
2876
3220
  };
2877
- var PaymentMethods = ({
3221
+ var LogoMarquee = ({
2878
3222
  headline = TEXT_CONTENT.headline,
2879
3223
  body = TEXT_CONTENT.body,
2880
3224
  disclaimer = TEXT_CONTENT.disclaimer,
@@ -2889,8 +3233,8 @@ var PaymentMethods = ({
2889
3233
  const scrollVelocity = useVelocity(scrollY);
2890
3234
  const col1Y = useMotionValue(0);
2891
3235
  const col2Y = useMotionValue(0);
2892
- const col1Ref = useRef9(null);
2893
- const col2Ref = useRef9(null);
3236
+ const col1Ref = useRef10(null);
3237
+ const col2Ref = useRef10(null);
2894
3238
  useAnimationFrame((_, delta) => {
2895
3239
  const raw = scrollVelocity.get();
2896
3240
  if (Math.abs(raw) < DEADZONE) return;
@@ -2903,21 +3247,21 @@ var PaymentMethods = ({
2903
3247
  });
2904
3248
  const track1 = [...col1Logos, ...col1Logos];
2905
3249
  const track2 = [...col2Logos, ...col2Logos];
2906
- return /* @__PURE__ */ jsx25(
3250
+ return /* @__PURE__ */ jsx26(
2907
3251
  "section",
2908
3252
  {
2909
- className: ["pm", className].filter(Boolean).join(" "),
3253
+ className: ["lm", className].filter(Boolean).join(" "),
2910
3254
  ...props,
2911
- children: /* @__PURE__ */ jsxs24("div", { className: "pm__inner", children: [
2912
- /* @__PURE__ */ jsx25("div", { className: "pm__media", children: /* @__PURE__ */ jsxs24("div", { className: "pm__carousel", children: [
2913
- /* @__PURE__ */ jsx25("div", { className: "pm__fade pm__fade--top", "aria-hidden": "true" }),
2914
- /* @__PURE__ */ jsx25(
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(
2915
3259
  motion4.div,
2916
3260
  {
2917
3261
  ref: col1Ref,
2918
- className: "pm__col",
3262
+ className: "lm__col",
2919
3263
  style: { y: col1Y },
2920
- children: track1.map((logo, i) => /* @__PURE__ */ jsx25("div", { className: "pm__card", children: /* @__PURE__ */ jsx25("div", { className: "pm__card-img-wrap", children: /* @__PURE__ */ jsx25(
3264
+ children: track1.map((logo, i) => /* @__PURE__ */ jsx26("div", { className: "lm__card", children: /* @__PURE__ */ jsx26("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ jsx26(
2921
3265
  "img",
2922
3266
  {
2923
3267
  src: logo.url,
@@ -2928,13 +3272,13 @@ var PaymentMethods = ({
2928
3272
  ) }) }, `c1-${i}`))
2929
3273
  }
2930
3274
  ),
2931
- /* @__PURE__ */ jsx25(
3275
+ /* @__PURE__ */ jsx26(
2932
3276
  motion4.div,
2933
3277
  {
2934
3278
  ref: col2Ref,
2935
- className: "pm__col",
3279
+ className: "lm__col",
2936
3280
  style: { y: col2Y },
2937
- children: track2.map((logo, i) => /* @__PURE__ */ jsx25("div", { className: "pm__card", children: /* @__PURE__ */ jsx25("div", { className: "pm__card-img-wrap", children: /* @__PURE__ */ jsx25(
3281
+ children: track2.map((logo, i) => /* @__PURE__ */ jsx26("div", { className: "lm__card", children: /* @__PURE__ */ jsx26("div", { className: "lm__card-img-wrap", children: /* @__PURE__ */ jsx26(
2938
3282
  "img",
2939
3283
  {
2940
3284
  src: logo.url,
@@ -2945,23 +3289,203 @@ var PaymentMethods = ({
2945
3289
  ) }) }, `c2-${i}`))
2946
3290
  }
2947
3291
  ),
2948
- /* @__PURE__ */ jsx25("div", { className: "pm__fade pm__fade--bottom", "aria-hidden": "true" })
3292
+ /* @__PURE__ */ jsx26("div", { className: "lm__fade lm__fade--bottom", "aria-hidden": "true" })
2949
3293
  ] }) }),
2950
- /* @__PURE__ */ jsxs24("div", { className: "pm__content", children: [
2951
- /* @__PURE__ */ jsx25("h2", { className: "pm__headline", children: headline }),
2952
- /* @__PURE__ */ jsxs24("div", { className: "pm__text-group", children: [
2953
- /* @__PURE__ */ jsx25("p", { className: "pm__body", children: body }),
2954
- /* @__PURE__ */ jsx25("p", { className: "pm__disclaimer", children: disclaimer })
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 })
2955
3299
  ] }),
2956
- /* @__PURE__ */ jsxs24("a", { href: ctaHref, className: "pm__link", children: [
3300
+ /* @__PURE__ */ jsxs25("a", { href: ctaHref, className: "lm__link", children: [
2957
3301
  ctaLabel,
2958
- /* @__PURE__ */ jsx25("span", { "aria-hidden": "true", children: "\u2192" })
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" }) }) })
2959
3303
  ] })
2960
3304
  ] })
2961
3305
  ] })
2962
3306
  }
2963
3307
  );
2964
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
+ };
2965
3489
  export {
2966
3490
  AVATAR_DATA,
2967
3491
  Accordion,
@@ -2975,18 +3499,22 @@ export {
2975
3499
  Chip,
2976
3500
  ChipDropdown,
2977
3501
  DayNightTransition,
3502
+ DownloadBadge,
3503
+ DownloadBanner,
2978
3504
  FeatureCards,
3505
+ FeatureCardsSecondary,
2979
3506
  Footer,
2980
3507
  Hero,
2981
3508
  Link,
3509
+ LogoMarquee,
2982
3510
  Navbar,
2983
3511
  Pagination,
2984
- PaymentMethods,
2985
3512
  SCROLLYTELLING_DATA,
2986
3513
  STEPS_DATA,
2987
3514
  Scrollytelling,
2988
3515
  SearchField,
2989
3516
  Stats,
3517
+ Steps,
2990
3518
  StickyStackedCards,
2991
3519
  TEXT_CONTENT,
2992
3520
  Tag,