@opensite/ui 0.1.2 → 0.1.4

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.
Files changed (105) hide show
  1. package/dist/components.cjs +1511 -3
  2. package/dist/components.cjs.map +1 -1
  3. package/dist/components.d.cts +13 -0
  4. package/dist/components.d.ts +13 -0
  5. package/dist/components.js +1499 -4
  6. package/dist/components.js.map +1 -1
  7. package/dist/footer-animated-social.cjs +272 -0
  8. package/dist/footer-animated-social.cjs.map +1 -0
  9. package/dist/footer-animated-social.d.cts +41 -0
  10. package/dist/footer-animated-social.d.ts +41 -0
  11. package/dist/footer-animated-social.js +250 -0
  12. package/dist/footer-animated-social.js.map +1 -0
  13. package/dist/footer-background-card.cjs +149 -0
  14. package/dist/footer-background-card.cjs.map +1 -0
  15. package/dist/footer-background-card.d.cts +74 -0
  16. package/dist/footer-background-card.d.ts +74 -0
  17. package/dist/footer-background-card.js +147 -0
  18. package/dist/footer-background-card.js.map +1 -0
  19. package/dist/footer-brand-description.cjs +244 -0
  20. package/dist/footer-brand-description.cjs.map +1 -0
  21. package/dist/footer-brand-description.d.cts +65 -0
  22. package/dist/footer-brand-description.d.ts +65 -0
  23. package/dist/footer-brand-description.js +222 -0
  24. package/dist/footer-brand-description.js.map +1 -0
  25. package/dist/footer-contact-card.cjs +238 -0
  26. package/dist/footer-contact-card.cjs.map +1 -0
  27. package/dist/footer-contact-card.d.cts +65 -0
  28. package/dist/footer-contact-card.d.ts +65 -0
  29. package/dist/footer-contact-card.js +216 -0
  30. package/dist/footer-contact-card.js.map +1 -0
  31. package/dist/footer-cta-banner.cjs +282 -0
  32. package/dist/footer-cta-banner.cjs.map +1 -0
  33. package/dist/footer-cta-banner.d.cts +77 -0
  34. package/dist/footer-cta-banner.d.ts +77 -0
  35. package/dist/footer-cta-banner.js +260 -0
  36. package/dist/footer-cta-banner.js.map +1 -0
  37. package/dist/footer-cta-social.cjs +221 -0
  38. package/dist/footer-cta-social.cjs.map +1 -0
  39. package/dist/footer-cta-social.d.cts +45 -0
  40. package/dist/footer-cta-social.d.ts +45 -0
  41. package/dist/footer-cta-social.js +199 -0
  42. package/dist/footer-cta-social.js.map +1 -0
  43. package/dist/footer-links-grid.cjs +119 -0
  44. package/dist/footer-links-grid.cjs.map +1 -0
  45. package/dist/footer-links-grid.d.cts +54 -0
  46. package/dist/footer-links-grid.d.ts +54 -0
  47. package/dist/footer-links-grid.js +117 -0
  48. package/dist/footer-links-grid.js.map +1 -0
  49. package/dist/footer-nav-social.cjs +273 -0
  50. package/dist/footer-nav-social.cjs.map +1 -0
  51. package/dist/footer-nav-social.d.cts +72 -0
  52. package/dist/footer-nav-social.d.ts +72 -0
  53. package/dist/footer-nav-social.js +251 -0
  54. package/dist/footer-nav-social.js.map +1 -0
  55. package/dist/footer-newsletter-grid.cjs +271 -0
  56. package/dist/footer-newsletter-grid.cjs.map +1 -0
  57. package/dist/footer-newsletter-grid.d.cts +74 -0
  58. package/dist/footer-newsletter-grid.d.ts +74 -0
  59. package/dist/footer-newsletter-grid.js +249 -0
  60. package/dist/footer-newsletter-grid.js.map +1 -0
  61. package/dist/footer-newsletter-minimal.cjs +271 -0
  62. package/dist/footer-newsletter-minimal.cjs.map +1 -0
  63. package/dist/footer-newsletter-minimal.d.cts +57 -0
  64. package/dist/footer-newsletter-minimal.d.ts +57 -0
  65. package/dist/footer-newsletter-minimal.js +249 -0
  66. package/dist/footer-newsletter-minimal.js.map +1 -0
  67. package/dist/footer-simple-centered.cjs +101 -0
  68. package/dist/footer-simple-centered.cjs.map +1 -0
  69. package/dist/footer-simple-centered.d.cts +52 -0
  70. package/dist/footer-simple-centered.d.ts +52 -0
  71. package/dist/footer-simple-centered.js +99 -0
  72. package/dist/footer-simple-centered.js.map +1 -0
  73. package/dist/footer-social-apps.cjs +247 -0
  74. package/dist/footer-social-apps.cjs.map +1 -0
  75. package/dist/footer-social-apps.d.cts +75 -0
  76. package/dist/footer-social-apps.d.ts +75 -0
  77. package/dist/footer-social-apps.js +225 -0
  78. package/dist/footer-social-apps.js.map +1 -0
  79. package/dist/footer-social-newsletter.cjs +267 -0
  80. package/dist/footer-social-newsletter.cjs.map +1 -0
  81. package/dist/footer-social-newsletter.d.cts +68 -0
  82. package/dist/footer-social-newsletter.d.ts +68 -0
  83. package/dist/footer-social-newsletter.js +245 -0
  84. package/dist/footer-social-newsletter.js.map +1 -0
  85. package/dist/index.cjs +1511 -3
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.d.cts +13 -0
  88. package/dist/index.d.ts +13 -0
  89. package/dist/index.js +1499 -4
  90. package/dist/index.js.map +1 -1
  91. package/dist/pressable.cjs +10 -3
  92. package/dist/pressable.cjs.map +1 -1
  93. package/dist/pressable.js +10 -3
  94. package/dist/pressable.js.map +1 -1
  95. package/dist/registry.cjs +1971 -1
  96. package/dist/registry.cjs.map +1 -1
  97. package/dist/registry.js +1971 -1
  98. package/dist/registry.js.map +1 -1
  99. package/dist/team-media-showcase.cjs +182 -0
  100. package/dist/team-media-showcase.cjs.map +1 -0
  101. package/dist/team-media-showcase.d.cts +145 -0
  102. package/dist/team-media-showcase.d.ts +145 -0
  103. package/dist/team-media-showcase.js +160 -0
  104. package/dist/team-media-showcase.js.map +1 -0
  105. package/package.json +71 -1
package/dist/index.cjs CHANGED
@@ -953,15 +953,22 @@ var Pressable = React4__namespace.forwardRef(
953
953
  shouldApplyButtonStyles && buttonVariants({ variant, size }),
954
954
  className
955
955
  );
956
+ const dataProps = Object.fromEntries(
957
+ Object.entries(props).filter(([key]) => key.startsWith("data-"))
958
+ );
959
+ const buttonDataAttributes = shouldApplyButtonStyles ? {
960
+ "data-slot": "button",
961
+ "data-variant": variant ?? "default",
962
+ "data-size": size ?? "default"
963
+ } : {};
956
964
  const commonProps = {
957
965
  className: combinedClassName,
958
966
  onClick: handleClick,
959
967
  "aria-label": ariaLabel,
960
968
  "aria-describedby": ariaDescribedby,
961
969
  id,
962
- ...Object.fromEntries(
963
- Object.entries(props).filter(([key]) => key.startsWith("data-"))
964
- )
970
+ ...dataProps,
971
+ ...buttonDataAttributes
965
972
  };
966
973
  if (finalComponentType === "a" && shouldRenderLink) {
967
974
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -1110,6 +1117,1494 @@ function MediaHoverCtas(props) {
1110
1117
  }
1111
1118
  ) });
1112
1119
  }
1120
+ var defaultMenuItems = [
1121
+ {
1122
+ title: "Product",
1123
+ links: [
1124
+ { text: "Overview", url: "#" },
1125
+ { text: "Pricing", url: "#" },
1126
+ { text: "Marketplace", url: "#" },
1127
+ { text: "Features", url: "#" },
1128
+ { text: "Integrations", url: "#" }
1129
+ ]
1130
+ },
1131
+ {
1132
+ title: "Company",
1133
+ links: [
1134
+ { text: "About", url: "#" },
1135
+ { text: "Team", url: "#" },
1136
+ { text: "Blog", url: "#" },
1137
+ { text: "Careers", url: "#" },
1138
+ { text: "Contact", url: "#" }
1139
+ ]
1140
+ },
1141
+ {
1142
+ title: "Resources",
1143
+ links: [
1144
+ { text: "Help", url: "#" },
1145
+ { text: "Sales", url: "#" },
1146
+ { text: "Advertise", url: "#" }
1147
+ ]
1148
+ },
1149
+ {
1150
+ title: "Social",
1151
+ links: [
1152
+ { text: "Twitter", url: "#" },
1153
+ { text: "Instagram", url: "#" },
1154
+ { text: "LinkedIn", url: "#" }
1155
+ ]
1156
+ }
1157
+ ];
1158
+ var defaultBottomLinks = [
1159
+ { text: "Terms and Conditions", url: "#" },
1160
+ { text: "Privacy Policy", url: "#" }
1161
+ ];
1162
+ function FooterLinksGrid({
1163
+ logo = {
1164
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1165
+ alt: "Opensite AI",
1166
+ title: "Opensite AI",
1167
+ url: "https://opensite.ai"
1168
+ },
1169
+ className,
1170
+ tagline = "Components made easy.",
1171
+ menuItems = defaultMenuItems,
1172
+ copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
1173
+ bottomLinks = defaultBottomLinks,
1174
+ optixFlowConfig
1175
+ }) {
1176
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1177
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8 lg:grid-cols-6", children: [
1178
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 mb-8 lg:mb-0", children: [
1179
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 lg:justify-start", children: /* @__PURE__ */ jsxRuntime.jsxs("a", { href: logo.url, className: "flex items-center gap-2", children: [
1180
+ /* @__PURE__ */ jsxRuntime.jsx(
1181
+ img.Img,
1182
+ {
1183
+ src: logo.src,
1184
+ alt: logo.alt,
1185
+ className: "h-10 dark:invert",
1186
+ optixFlowConfig
1187
+ }
1188
+ ),
1189
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
1190
+ ] }) }),
1191
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 font-bold", children: tagline })
1192
+ ] }),
1193
+ menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1194
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
1195
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
1196
+ "li",
1197
+ {
1198
+ className: "font-medium hover:text-primary",
1199
+ children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.url, children: link.text })
1200
+ },
1201
+ linkIdx
1202
+ )) })
1203
+ ] }, sectionIdx))
1204
+ ] }),
1205
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground md:flex-row md:items-center", children: [
1206
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
1207
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
1208
+ /* @__PURE__ */ jsxRuntime.jsx(
1209
+ "a",
1210
+ {
1211
+ href: "https://opensite.ai",
1212
+ className: "hover:text-primary",
1213
+ target: "_blank",
1214
+ rel: "noopener noreferrer",
1215
+ children: "AI Website and Automation Platform by Opensite"
1216
+ }
1217
+ )
1218
+ ] }),
1219
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.url, children: link.text }) }, linkIdx)) })
1220
+ ] })
1221
+ ] }) }) });
1222
+ }
1223
+ var defaultSections = [
1224
+ {
1225
+ title: "Product",
1226
+ links: [
1227
+ { name: "Overview", href: "#" },
1228
+ { name: "Pricing", href: "#" },
1229
+ { name: "Marketplace", href: "#" },
1230
+ { name: "Features", href: "#" },
1231
+ { name: "Integrations", href: "#" }
1232
+ ]
1233
+ },
1234
+ {
1235
+ title: "Company",
1236
+ links: [
1237
+ { name: "About", href: "#" },
1238
+ { name: "Team", href: "#" },
1239
+ { name: "Blog", href: "#" },
1240
+ { name: "Careers", href: "#" },
1241
+ { name: "Contact", href: "#" }
1242
+ ]
1243
+ },
1244
+ {
1245
+ title: "Resources",
1246
+ links: [
1247
+ { name: "Help", href: "#" },
1248
+ { name: "Sales", href: "#" },
1249
+ { name: "Advertise", href: "#" }
1250
+ ]
1251
+ }
1252
+ ];
1253
+ var defaultSocialLinks = [
1254
+ { icon: "simple-icons/discord", href: "#", label: "Discord" },
1255
+ { icon: "simple-icons/reddit", href: "#", label: "Reddit" },
1256
+ { icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
1257
+ { icon: "simple-icons/telegram", href: "#", label: "Telegram" },
1258
+ { icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
1259
+ ];
1260
+ function FooterSocialNewsletter({
1261
+ logo = {
1262
+ url: "https://opensite.ai",
1263
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1264
+ alt: "Opensite AI",
1265
+ title: "Opensite AI"
1266
+ },
1267
+ className,
1268
+ sections = defaultSections,
1269
+ socialLinks = defaultSocialLinks,
1270
+ newsletterLabel = "Subscribe to our newsletter",
1271
+ newsletterPlaceholder = "Email",
1272
+ newsletterButtonText = "Subscribe",
1273
+ privacyLinkText = "Privacy Policy",
1274
+ privacyLinkUrl = "#",
1275
+ copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
1276
+ optixFlowConfig
1277
+ }) {
1278
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1279
+ /* @__PURE__ */ jsxRuntime.jsxs("a", { href: logo.url, className: "flex items-center gap-2", children: [
1280
+ /* @__PURE__ */ jsxRuntime.jsx(
1281
+ img.Img,
1282
+ {
1283
+ src: logo.src,
1284
+ alt: logo.alt,
1285
+ className: "h-10",
1286
+ optixFlowConfig
1287
+ }
1288
+ ),
1289
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
1290
+ ] }),
1291
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4", children: [
1292
+ sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1293
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
1294
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
1295
+ "li",
1296
+ {
1297
+ className: "font-medium hover:text-primary",
1298
+ children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, children: link.name })
1299
+ },
1300
+ linkIdx
1301
+ )) })
1302
+ ] }, sectionIdx)),
1303
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-2 xl:col-span-1", children: [
1304
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "mb-10 flex items-center gap-2 text-muted-foreground", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) }),
1305
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-full max-w-sm items-center gap-1.5", children: [
1306
+ /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: "newsletter-email", className: "text-sm font-medium", children: newsletterLabel }),
1307
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
1308
+ /* @__PURE__ */ jsxRuntime.jsx(
1309
+ "input",
1310
+ {
1311
+ type: "email",
1312
+ id: "newsletter-email",
1313
+ placeholder: newsletterPlaceholder,
1314
+ className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
1315
+ }
1316
+ ),
1317
+ /* @__PURE__ */ jsxRuntime.jsx(
1318
+ "button",
1319
+ {
1320
+ type: "submit",
1321
+ className: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
1322
+ children: newsletterButtonText
1323
+ }
1324
+ )
1325
+ ] }),
1326
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-xs text-muted-foreground", children: [
1327
+ "By submitting, you agree to our",
1328
+ /* @__PURE__ */ jsxRuntime.jsx("a", { href: privacyLinkUrl, className: "ml-1 text-primary hover:underline", children: privacyLinkText })
1329
+ ] })
1330
+ ] })
1331
+ ] })
1332
+ ] }),
1333
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground md:flex-row md:items-center", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
1334
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
1335
+ /* @__PURE__ */ jsxRuntime.jsx(
1336
+ "a",
1337
+ {
1338
+ href: "https://opensite.ai",
1339
+ className: "hover:text-primary",
1340
+ target: "_blank",
1341
+ rel: "noopener noreferrer",
1342
+ children: "AI Website and Automation Platform by Opensite"
1343
+ }
1344
+ )
1345
+ ] }) })
1346
+ ] }) }) });
1347
+ }
1348
+ var defaultSections2 = [
1349
+ {
1350
+ title: "Product",
1351
+ links: [
1352
+ { name: "Overview", href: "#" },
1353
+ { name: "Pricing", href: "#" },
1354
+ { name: "Marketplace", href: "#" },
1355
+ { name: "Features", href: "#" }
1356
+ ]
1357
+ },
1358
+ {
1359
+ title: "Company",
1360
+ links: [
1361
+ { name: "About", href: "#" },
1362
+ { name: "Team", href: "#" },
1363
+ { name: "Blog", href: "#" },
1364
+ { name: "Careers", href: "#" }
1365
+ ]
1366
+ },
1367
+ {
1368
+ title: "Resources",
1369
+ links: [
1370
+ { name: "Help", href: "#" },
1371
+ { name: "Sales", href: "#" },
1372
+ { name: "Advertise", href: "#" }
1373
+ ]
1374
+ }
1375
+ ];
1376
+ var defaultSocialLinks2 = [
1377
+ { icon: "simple-icons/discord", href: "#", label: "Discord" },
1378
+ { icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
1379
+ { icon: "simple-icons/instagram", href: "#", label: "Instagram" },
1380
+ { icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
1381
+ ];
1382
+ var defaultAppLinks = [
1383
+ { icon: "mdi/android", href: "#", label: "Android" },
1384
+ { icon: "mdi/apple", href: "#", label: "iOS" }
1385
+ ];
1386
+ function FooterSocialApps({
1387
+ logo = {
1388
+ url: "https://opensite.ai",
1389
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1390
+ alt: "Opensite AI",
1391
+ title: "Opensite AI"
1392
+ },
1393
+ className,
1394
+ sections = defaultSections2,
1395
+ socialLinks = defaultSocialLinks2,
1396
+ appLinks = defaultAppLinks,
1397
+ socialLabel = "Follow Us",
1398
+ appLabel = "Mobile App",
1399
+ copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
1400
+ optixFlowConfig
1401
+ }) {
1402
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1403
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-10 lg:flex-row lg:gap-20", children: [
1404
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ jsxRuntime.jsxs("a", { href: logo.url, className: "flex items-center gap-2", children: [
1405
+ /* @__PURE__ */ jsxRuntime.jsx(
1406
+ img.Img,
1407
+ {
1408
+ src: logo.src,
1409
+ alt: logo.alt,
1410
+ className: "h-10",
1411
+ optixFlowConfig
1412
+ }
1413
+ ),
1414
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
1415
+ ] }) }),
1416
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid flex-1 gap-8 sm:grid-cols-2 md:grid-cols-3", children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1417
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
1418
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
1419
+ "li",
1420
+ {
1421
+ className: "font-medium hover:text-primary",
1422
+ children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, children: link.name })
1423
+ },
1424
+ linkIdx
1425
+ )) })
1426
+ ] }, sectionIdx)) }),
1427
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
1428
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1429
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 font-bold", children: socialLabel }),
1430
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) })
1431
+ ] }),
1432
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1433
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 font-bold", children: appLabel }),
1434
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: appLinks.map((app, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: app.href, "aria-label": app.label, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: app.icon, size: 24 }) }) }) }, idx)) })
1435
+ ] })
1436
+ ] })
1437
+ ] }),
1438
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-24 border-t pt-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-4 text-center text-sm font-medium text-muted-foreground md:flex-row md:text-left", children: [
1439
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
1440
+ /* @__PURE__ */ jsxRuntime.jsx(
1441
+ "a",
1442
+ {
1443
+ href: "https://opensite.ai",
1444
+ className: "hover:text-primary",
1445
+ target: "_blank",
1446
+ rel: "noopener noreferrer",
1447
+ children: "AI Website and Automation Platform by Opensite"
1448
+ }
1449
+ )
1450
+ ] }) })
1451
+ ] }) }) });
1452
+ }
1453
+ var defaultSitemap = [
1454
+ {
1455
+ title: "Company",
1456
+ links: [
1457
+ { title: "About Us", href: "#" },
1458
+ { title: "Careers", href: "#" },
1459
+ { title: "Contact", href: "#" },
1460
+ { title: "Press", href: "#" }
1461
+ ]
1462
+ },
1463
+ {
1464
+ title: "Support",
1465
+ links: [
1466
+ { title: "Help Center", href: "#" },
1467
+ { title: "Community", href: "#" },
1468
+ { title: "Status", href: "#" },
1469
+ { title: "API Docs", href: "#" }
1470
+ ]
1471
+ }
1472
+ ];
1473
+ var defaultBottomLinks2 = [
1474
+ { text: "Terms & Conditions", href: "#" },
1475
+ { text: "Privacy Policy", href: "#" }
1476
+ ];
1477
+ function FooterSimpleCentered({
1478
+ logo = {
1479
+ url: "https://opensite.ai",
1480
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1481
+ alt: "Opensite AI",
1482
+ title: "Opensite AI"
1483
+ },
1484
+ className,
1485
+ tagline = "Components made easy.",
1486
+ sitemap = defaultSitemap,
1487
+ copyright = `\xA9 Opensite AI ${(/* @__PURE__ */ new Date()).getFullYear()}`,
1488
+ bottomLinks = defaultBottomLinks2,
1489
+ optixFlowConfig
1490
+ }) {
1491
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-16", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1492
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative mb-8 flex w-full flex-col gap-x-28 gap-y-8 md:flex-row md:justify-between md:gap-y-0", children: [
1493
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-96", children: [
1494
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6 flex items-center gap-3", children: [
1495
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-12 items-center justify-center rounded-lg border border-border bg-accent p-2", children: /* @__PURE__ */ jsxRuntime.jsx(
1496
+ img.Img,
1497
+ {
1498
+ src: logo.src,
1499
+ alt: logo.alt,
1500
+ className: "size-12 h-full w-full object-contain object-center",
1501
+ optixFlowConfig
1502
+ }
1503
+ ) }),
1504
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-bold", children: logo.title })
1505
+ ] }),
1506
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base font-medium text-muted-foreground", children: tagline })
1507
+ ] }),
1508
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-start gap-x-20 gap-y-14 xl:flex-row", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-grid w-fit grid-cols-1 gap-x-20 gap-y-14 sm:grid-cols-2", children: sitemap.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-fit w-min", children: [
1509
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "mb-6 text-base font-semibold whitespace-nowrap", children: section.title }),
1510
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3 text-base font-medium text-muted-foreground", children: section.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
1511
+ "a",
1512
+ {
1513
+ href: link.href,
1514
+ className: "text-base whitespace-nowrap hover:text-accent-foreground",
1515
+ children: link.title
1516
+ }
1517
+ ) }, link.title)) })
1518
+ ] }, section.title)) }) })
1519
+ ] }),
1520
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-baseline justify-between gap-8 border-t border-border pt-8 md:flex-row md:gap-16", children: [
1521
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 text-xs text-muted-foreground sm:flex-row sm:items-center sm:gap-4 sm:text-sm", children: [
1522
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: copyright }),
1523
+ /* @__PURE__ */ jsxRuntime.jsx(
1524
+ "a",
1525
+ {
1526
+ href: "https://opensite.ai",
1527
+ className: "hover:text-accent-foreground",
1528
+ target: "_blank",
1529
+ rel: "noopener noreferrer",
1530
+ children: "AI Website and Automation Platform by Opensite"
1531
+ }
1532
+ )
1533
+ ] }),
1534
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-start gap-4 text-xs text-muted-foreground sm:text-sm md:flex-row lg:items-center", children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, className: "hover:text-accent-foreground", children: link.text }, idx)) })
1535
+ ] })
1536
+ ] }) }) });
1537
+ }
1538
+ var defaultSections3 = [
1539
+ {
1540
+ title: "Product",
1541
+ links: [
1542
+ { name: "Overview", href: "#" },
1543
+ { name: "Pricing", href: "#" },
1544
+ { name: "Marketplace", href: "#" },
1545
+ { name: "Features", href: "#" }
1546
+ ]
1547
+ },
1548
+ {
1549
+ title: "Company",
1550
+ links: [
1551
+ { name: "About", href: "#" },
1552
+ { name: "Team", href: "#" },
1553
+ { name: "Blog", href: "#" },
1554
+ { name: "Careers", href: "#" }
1555
+ ]
1556
+ },
1557
+ {
1558
+ title: "Resources",
1559
+ links: [
1560
+ { name: "Help", href: "#" },
1561
+ { name: "Sales", href: "#" },
1562
+ { name: "Advertise", href: "#" },
1563
+ { name: "Privacy", href: "#" }
1564
+ ]
1565
+ }
1566
+ ];
1567
+ var defaultSocialLinks3 = [
1568
+ { icon: "simple-icons/instagram", href: "#", label: "Instagram" },
1569
+ { icon: "simple-icons/facebook", href: "#", label: "Facebook" },
1570
+ { icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
1571
+ { icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
1572
+ ];
1573
+ var defaultLegalLinks = [
1574
+ { name: "Terms and Conditions", href: "#" },
1575
+ { name: "Privacy Policy", href: "#" }
1576
+ ];
1577
+ function FooterBrandDescription({
1578
+ logo = {
1579
+ url: "https://opensite.ai",
1580
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1581
+ alt: "Opensite AI",
1582
+ title: "Opensite AI"
1583
+ },
1584
+ className,
1585
+ sections = defaultSections3,
1586
+ description = "A collection of components for your startup business or side project.",
1587
+ socialLinks = defaultSocialLinks3,
1588
+ copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
1589
+ legalLinks = defaultLegalLinks,
1590
+ optixFlowConfig
1591
+ }) {
1592
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container", children: [
1593
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col justify-between gap-10 lg:flex-row lg:items-start lg:text-left", children: [
1594
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col justify-between gap-6 lg:items-start", children: [
1595
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 lg:justify-start", children: [
1596
+ /* @__PURE__ */ jsxRuntime.jsx("a", { href: logo.url, children: /* @__PURE__ */ jsxRuntime.jsx(
1597
+ img.Img,
1598
+ {
1599
+ src: logo.src,
1600
+ alt: logo.alt,
1601
+ className: "h-8",
1602
+ optixFlowConfig
1603
+ }
1604
+ ) }),
1605
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold", children: logo.title })
1606
+ ] }),
1607
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "max-w-[70%] text-sm text-muted-foreground", children: description }),
1608
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center space-x-6 text-muted-foreground", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 20 }) }) }, idx)) })
1609
+ ] }),
1610
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid w-full gap-6 md:grid-cols-3 lg:gap-20", children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1611
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
1612
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
1613
+ "li",
1614
+ {
1615
+ className: "font-medium hover:text-primary",
1616
+ children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, children: link.name })
1617
+ },
1618
+ linkIdx
1619
+ )) })
1620
+ ] }, sectionIdx)) })
1621
+ ] }),
1622
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 flex flex-col justify-between gap-4 border-t py-8 text-xs font-medium text-muted-foreground md:flex-row md:items-center md:text-left", children: [
1623
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "order-2 flex flex-col gap-2 lg:order-1 lg:flex-row lg:items-center lg:gap-4", children: [
1624
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
1625
+ /* @__PURE__ */ jsxRuntime.jsx(
1626
+ "a",
1627
+ {
1628
+ href: "https://opensite.ai",
1629
+ className: "hover:text-primary",
1630
+ target: "_blank",
1631
+ rel: "noopener noreferrer",
1632
+ children: "AI Website and Automation Platform by Opensite"
1633
+ }
1634
+ )
1635
+ ] }),
1636
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "order-1 flex flex-col gap-2 md:order-2 md:flex-row", children: legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, children: link.name }) }, idx)) })
1637
+ ] })
1638
+ ] }) });
1639
+ }
1640
+ var defaultSections4 = [
1641
+ {
1642
+ title: "Product",
1643
+ links: [
1644
+ { name: "Overview", href: "#" },
1645
+ { name: "Pricing", href: "#" },
1646
+ { name: "Marketplace", href: "#" },
1647
+ { name: "Features", href: "#" },
1648
+ { name: "Integrations", href: "#" },
1649
+ { name: "Marketing", href: "#" }
1650
+ ]
1651
+ },
1652
+ {
1653
+ title: "Company",
1654
+ links: [
1655
+ { name: "About", href: "#" },
1656
+ { name: "Team", href: "#" },
1657
+ { name: "Blog", href: "#" },
1658
+ { name: "Careers", href: "#" },
1659
+ { name: "Contact", href: "#" }
1660
+ ]
1661
+ }
1662
+ ];
1663
+ var defaultSocialLinks4 = [
1664
+ { icon: "simple-icons/instagram", href: "#", label: "Instagram" },
1665
+ { icon: "simple-icons/facebook", href: "#", label: "Facebook" },
1666
+ { icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
1667
+ { icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
1668
+ ];
1669
+ function FooterNewsletterGrid({
1670
+ logo = {
1671
+ url: "https://opensite.ai",
1672
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1673
+ alt: "Opensite AI",
1674
+ title: "Opensite AI"
1675
+ },
1676
+ className,
1677
+ description = "A collection of 100+ responsive HTML templates for your startup business or side project.",
1678
+ sections = defaultSections4,
1679
+ socialLinks = defaultSocialLinks4,
1680
+ newsletterTitle = "Newsletter",
1681
+ newsletterPlaceholder = "Email",
1682
+ newsletterButtonText = "Subscribe",
1683
+ privacyText = "By submitting, you agree to our",
1684
+ privacyLinkText = "Privacy Policy",
1685
+ privacyLinkUrl = "#",
1686
+ copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
1687
+ optixFlowConfig
1688
+ }) {
1689
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1690
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-4 justify-between gap-10 lg:grid-cols-6 lg:text-left", children: [
1691
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-4 flex w-full flex-col gap-6 lg:col-span-2", children: [
1692
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 lg:justify-start", children: [
1693
+ /* @__PURE__ */ jsxRuntime.jsx("a", { href: logo.url, children: /* @__PURE__ */ jsxRuntime.jsx(
1694
+ img.Img,
1695
+ {
1696
+ src: logo.src,
1697
+ alt: logo.alt,
1698
+ className: "h-8",
1699
+ optixFlowConfig
1700
+ }
1701
+ ) }),
1702
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold", children: logo.title })
1703
+ ] }),
1704
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: description }),
1705
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center space-x-6", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx(
1706
+ "li",
1707
+ {
1708
+ className: "font-medium duration-200 hover:scale-110 hover:text-muted-foreground",
1709
+ children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 24 }) })
1710
+ },
1711
+ idx
1712
+ )) })
1713
+ ] }),
1714
+ sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 md:col-span-1", children: [
1715
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-5 font-medium", children: section.title }),
1716
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
1717
+ "li",
1718
+ {
1719
+ className: "font-medium hover:text-primary",
1720
+ children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, children: link.name })
1721
+ },
1722
+ linkIdx
1723
+ )) })
1724
+ ] }, sectionIdx)),
1725
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-4 md:col-span-2", children: [
1726
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-5 font-medium", children: newsletterTitle }),
1727
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1.5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center space-x-2", children: [
1728
+ /* @__PURE__ */ jsxRuntime.jsx(
1729
+ "input",
1730
+ {
1731
+ type: "email",
1732
+ placeholder: newsletterPlaceholder,
1733
+ className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
1734
+ }
1735
+ ),
1736
+ /* @__PURE__ */ jsxRuntime.jsx(
1737
+ "button",
1738
+ {
1739
+ type: "submit",
1740
+ className: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
1741
+ children: newsletterButtonText
1742
+ }
1743
+ )
1744
+ ] }) }),
1745
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-xs font-medium text-muted-foreground", children: [
1746
+ privacyText,
1747
+ /* @__PURE__ */ jsxRuntime.jsx("a", { href: privacyLinkUrl, className: "ml-1 text-primary hover:underline", children: privacyLinkText })
1748
+ ] })
1749
+ ] })
1750
+ ] }),
1751
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground lg:flex-row lg:items-center lg:text-left", children: [
1752
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 lg:flex-row lg:items-center lg:gap-4", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1753
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mr-1 font-bold text-primary", children: "Opensite AI" }),
1754
+ copyright
1755
+ ] }) }),
1756
+ /* @__PURE__ */ jsxRuntime.jsx(
1757
+ "a",
1758
+ {
1759
+ href: "https://opensite.ai",
1760
+ className: "hover:text-primary",
1761
+ target: "_blank",
1762
+ rel: "noopener noreferrer",
1763
+ children: "AI Website and Automation Platform by Opensite"
1764
+ }
1765
+ )
1766
+ ] })
1767
+ ] }) }) });
1768
+ }
1769
+ var defaultSections5 = [
1770
+ {
1771
+ title: "Product",
1772
+ links: [
1773
+ { name: "Overview", href: "#" },
1774
+ { name: "Pricing", href: "#" },
1775
+ { name: "Marketplace", href: "#" },
1776
+ { name: "Features", href: "#" }
1777
+ ]
1778
+ },
1779
+ {
1780
+ title: "Company",
1781
+ links: [
1782
+ { name: "About", href: "#" },
1783
+ { name: "Team", href: "#" },
1784
+ { name: "Blog", href: "#" },
1785
+ { name: "Careers", href: "#" }
1786
+ ]
1787
+ },
1788
+ {
1789
+ title: "Resources",
1790
+ links: [
1791
+ { name: "Help", href: "#" },
1792
+ { name: "Sales", href: "#" },
1793
+ { name: "Advertise", href: "#" }
1794
+ ]
1795
+ }
1796
+ ];
1797
+ var defaultSocialLinks5 = [
1798
+ { icon: "simple-icons/instagram", href: "#", label: "Instagram" },
1799
+ { icon: "simple-icons/facebook", href: "#", label: "Facebook" },
1800
+ { icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
1801
+ { icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
1802
+ ];
1803
+ var defaultLegalLinks2 = [
1804
+ { name: "Terms and Conditions", href: "#" },
1805
+ { name: "Privacy Policy", href: "#" }
1806
+ ];
1807
+ function FooterCtaBanner({
1808
+ logo = {
1809
+ url: "https://opensite.ai",
1810
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1811
+ alt: "Opensite AI",
1812
+ title: "Opensite AI"
1813
+ },
1814
+ className,
1815
+ ctaHeading = "Ready to get started?",
1816
+ ctaDescription = "Join thousands of satisfied customers using our platform to build amazing websites.",
1817
+ ctaButtonText = "Get Started",
1818
+ ctaButtonUrl = "#",
1819
+ sections = defaultSections5,
1820
+ socialLinks = defaultSocialLinks5,
1821
+ newsletterLabel = "Subscribe to our newsletter",
1822
+ newsletterPlaceholder = "Enter your email",
1823
+ newsletterButtonText = "Subscribe",
1824
+ copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
1825
+ legalLinks = defaultLegalLinks2,
1826
+ optixFlowConfig
1827
+ }) {
1828
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("dark bg-background py-16 text-foreground", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1829
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-16 rounded-lg bg-primary/10 p-8 text-center md:p-12", children: [
1830
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-4 text-3xl font-bold md:text-4xl", children: ctaHeading }),
1831
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mx-auto mb-6 max-w-2xl text-muted-foreground", children: ctaDescription }),
1832
+ /* @__PURE__ */ jsxRuntime.jsx(
1833
+ "a",
1834
+ {
1835
+ href: ctaButtonUrl,
1836
+ className: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-11 px-8",
1837
+ children: ctaButtonText
1838
+ }
1839
+ )
1840
+ ] }),
1841
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-5", children: [
1842
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-2", children: [
1843
+ /* @__PURE__ */ jsxRuntime.jsxs("a", { href: logo.url, className: "mb-6 flex items-center gap-2", children: [
1844
+ /* @__PURE__ */ jsxRuntime.jsx(
1845
+ img.Img,
1846
+ {
1847
+ src: logo.src,
1848
+ alt: logo.alt,
1849
+ className: "h-8 invert",
1850
+ optixFlowConfig
1851
+ }
1852
+ ),
1853
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
1854
+ ] }),
1855
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6", children: [
1856
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-sm font-medium", children: newsletterLabel }),
1857
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-w-sm gap-2", children: [
1858
+ /* @__PURE__ */ jsxRuntime.jsx(
1859
+ "input",
1860
+ {
1861
+ type: "email",
1862
+ placeholder: newsletterPlaceholder,
1863
+ className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
1864
+ }
1865
+ ),
1866
+ /* @__PURE__ */ jsxRuntime.jsx(
1867
+ "button",
1868
+ {
1869
+ type: "submit",
1870
+ className: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
1871
+ children: newsletterButtonText
1872
+ }
1873
+ )
1874
+ ] })
1875
+ ] }),
1876
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-4", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
1877
+ "a",
1878
+ {
1879
+ href: social.href,
1880
+ "aria-label": social.label,
1881
+ className: "text-muted-foreground transition-colors hover:text-foreground",
1882
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 20 })
1883
+ }
1884
+ ) }, idx)) })
1885
+ ] }),
1886
+ sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1887
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-semibold", children: section.title }),
1888
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, className: "hover:text-foreground", children: link.name }) }, linkIdx)) })
1889
+ ] }, sectionIdx))
1890
+ ] }),
1891
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-16 flex flex-col justify-between gap-4 border-t border-border pt-8 text-sm text-muted-foreground md:flex-row md:items-center", children: [
1892
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
1893
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
1894
+ /* @__PURE__ */ jsxRuntime.jsx(
1895
+ "a",
1896
+ {
1897
+ href: "https://opensite.ai",
1898
+ className: "hover:text-foreground",
1899
+ target: "_blank",
1900
+ rel: "noopener noreferrer",
1901
+ children: "AI Website and Automation Platform by Opensite"
1902
+ }
1903
+ )
1904
+ ] }),
1905
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, className: "hover:text-foreground", children: link.name }) }, idx)) })
1906
+ ] })
1907
+ ] }) }) });
1908
+ }
1909
+ var defaultSocialLinks6 = [
1910
+ { icon: "simple-icons/instagram", href: "#", label: "Instagram" },
1911
+ { icon: "simple-icons/facebook", href: "#", label: "Facebook" },
1912
+ { icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
1913
+ { icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
1914
+ ];
1915
+ var defaultNavLinks = [
1916
+ { name: "Home", href: "#" },
1917
+ { name: "About", href: "#" },
1918
+ { name: "Services", href: "#" },
1919
+ { name: "Contact", href: "#" }
1920
+ ];
1921
+ function FooterContactCard({
1922
+ logo = {
1923
+ url: "https://opensite.ai",
1924
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1925
+ alt: "Opensite AI",
1926
+ title: "Opensite AI"
1927
+ },
1928
+ className,
1929
+ heading = "Let's work together",
1930
+ email = "hello@opensite.ai",
1931
+ phone = "+1 (555) 123-4567",
1932
+ address = "123 Main Street, San Francisco, CA 94102",
1933
+ socialLinks = defaultSocialLinks6,
1934
+ navLinks = defaultNavLinks,
1935
+ location = "San Francisco",
1936
+ copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
1937
+ optixFlowConfig
1938
+ }) {
1939
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1940
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-12 lg:grid-cols-2", children: [
1941
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1942
+ /* @__PURE__ */ jsxRuntime.jsxs("a", { href: logo.url, className: "mb-8 flex items-center gap-2", children: [
1943
+ /* @__PURE__ */ jsxRuntime.jsx(
1944
+ img.Img,
1945
+ {
1946
+ src: logo.src,
1947
+ alt: logo.alt,
1948
+ className: "h-10",
1949
+ optixFlowConfig
1950
+ }
1951
+ ),
1952
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
1953
+ ] }),
1954
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", children: heading }),
1955
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 text-muted-foreground", children: [
1956
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${email}`, className: "hover:text-primary", children: email }) }),
1957
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: `tel:${phone}`, className: "hover:text-primary", children: phone }) }),
1958
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: address })
1959
+ ] })
1960
+ ] }),
1961
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between", children: [
1962
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1963
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 font-medium", children: "Follow Us" }),
1964
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-4", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
1965
+ "a",
1966
+ {
1967
+ href: social.href,
1968
+ "aria-label": social.label,
1969
+ className: "flex size-12 items-center justify-center rounded-full bg-muted text-muted-foreground transition-colors hover:bg-primary hover:text-primary-foreground",
1970
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 20 })
1971
+ }
1972
+ ) }, idx)) })
1973
+ ] }),
1974
+ /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "mt-8", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
1975
+ "a",
1976
+ {
1977
+ href: link.href,
1978
+ className: "text-muted-foreground hover:text-primary",
1979
+ children: link.name
1980
+ }
1981
+ ) }, idx)) }) })
1982
+ ] })
1983
+ ] }),
1984
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm text-muted-foreground md:flex-row md:items-center", children: [
1985
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
1986
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
1987
+ /* @__PURE__ */ jsxRuntime.jsx(
1988
+ "a",
1989
+ {
1990
+ href: "https://opensite.ai",
1991
+ className: "hover:text-primary",
1992
+ target: "_blank",
1993
+ rel: "noopener noreferrer",
1994
+ children: "AI Website and Automation Platform by Opensite"
1995
+ }
1996
+ )
1997
+ ] }),
1998
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1999
+ "Designed in ",
2000
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: location })
2001
+ ] })
2002
+ ] })
2003
+ ] }) }) });
2004
+ }
2005
+ var defaultMenuItems2 = [
2006
+ {
2007
+ title: "Portfolio",
2008
+ links: [
2009
+ { text: "Overview", url: "#" },
2010
+ { text: "Projects", url: "#" },
2011
+ { text: "Pricing", url: "#" },
2012
+ { text: "About", url: "#" }
2013
+ ]
2014
+ },
2015
+ {
2016
+ title: "Social",
2017
+ links: [
2018
+ { text: "Twitter", url: "#" },
2019
+ { text: "Instagram", url: "#" },
2020
+ { text: "LinkedIn", url: "#" }
2021
+ ]
2022
+ }
2023
+ ];
2024
+ var defaultContact = {
2025
+ phone: "+1 (555) 123-4567",
2026
+ email: "hello@opensite.ai",
2027
+ location: "NYC",
2028
+ timezone: "EST"
2029
+ };
2030
+ var defaultBottomLinks3 = [
2031
+ { text: "Terms and Conditions", url: "#" },
2032
+ { text: "Privacy Policy", url: "#" }
2033
+ ];
2034
+ function FooterBackgroundCard({
2035
+ logo = {
2036
+ url: "https://opensite.ai",
2037
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2038
+ alt: "Opensite AI",
2039
+ title: "Opensite AI"
2040
+ },
2041
+ className,
2042
+ backgroundImage = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=80",
2043
+ profileImage = "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=200&q=80",
2044
+ tagline = "Let's Connect",
2045
+ personalMessage = "I'm passionate about creating beautiful, functional components that make your projects shine. Let's work together to bring your vision to life.",
2046
+ ctaText = "Schedule a call",
2047
+ ctaUrl = "#",
2048
+ contact = defaultContact,
2049
+ menuItems = defaultMenuItems2,
2050
+ copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
2051
+ bottomLinks = defaultBottomLinks3,
2052
+ optixFlowConfig
2053
+ }) {
2054
+ return /* @__PURE__ */ jsxRuntime.jsx(
2055
+ "section",
2056
+ {
2057
+ className: cn("bg-cover bg-center bg-no-repeat py-32", className),
2058
+ style: {
2059
+ backgroundImage: `url('${backgroundImage}')`
2060
+ },
2061
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-7xl rounded-lg bg-background p-8 shadow-lg md:p-12", children: [
2062
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12", children: [
2063
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-1", children: [
2064
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
2065
+ /* @__PURE__ */ jsxRuntime.jsx(
2066
+ img.Img,
2067
+ {
2068
+ src: profileImage,
2069
+ alt: "Profile",
2070
+ className: "h-16 w-16 rounded-full object-cover",
2071
+ optixFlowConfig
2072
+ }
2073
+ ),
2074
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-medium", children: tagline })
2075
+ ] }),
2076
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-6 text-sm leading-relaxed text-muted-foreground", children: personalMessage }),
2077
+ /* @__PURE__ */ jsxRuntime.jsx(
2078
+ "a",
2079
+ {
2080
+ href: ctaUrl,
2081
+ className: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
2082
+ children: ctaText
2083
+ }
2084
+ )
2085
+ ] }),
2086
+ menuItems.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2087
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-sm font-medium tracking-wider text-primary uppercase", children: menu.title }),
2088
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
2089
+ "a",
2090
+ {
2091
+ href: link.url,
2092
+ className: "border-b border-transparent text-muted-foreground transition-all duration-300 ease-in-out hover:border-primary hover:text-primary",
2093
+ children: link.text
2094
+ }
2095
+ ) }, index)) })
2096
+ ] }, idx)),
2097
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2098
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-sm font-medium tracking-wider text-primary uppercase", children: "Contact" }),
2099
+ /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
2100
+ /* @__PURE__ */ jsxRuntime.jsx("li", { className: "text-muted-foreground", children: contact.phone }),
2101
+ /* @__PURE__ */ jsxRuntime.jsx("li", { className: "text-muted-foreground", children: contact.email }),
2102
+ /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "text-muted-foreground", children: [
2103
+ contact.location,
2104
+ " \u2022 ",
2105
+ contact.timezone
2106
+ ] })
2107
+ ] })
2108
+ ] })
2109
+ ] }),
2110
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-12 flex flex-col items-center justify-between gap-4 border-t border-border pt-8 md:flex-row", children: [
2111
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 text-sm text-muted-foreground md:flex-row md:items-center md:gap-4", children: [
2112
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
2113
+ /* @__PURE__ */ jsxRuntime.jsx(
2114
+ "a",
2115
+ {
2116
+ href: "https://opensite.ai",
2117
+ className: "hover:text-primary",
2118
+ target: "_blank",
2119
+ rel: "noopener noreferrer",
2120
+ children: "AI Website and Automation Platform by Opensite"
2121
+ }
2122
+ )
2123
+ ] }),
2124
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4", children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
2125
+ "a",
2126
+ {
2127
+ href: link.url,
2128
+ className: "text-sm text-muted-foreground transition-colors hover:text-primary",
2129
+ children: link.text
2130
+ },
2131
+ idx
2132
+ )) })
2133
+ ] })
2134
+ ] }) })
2135
+ }
2136
+ );
2137
+ }
2138
+ var defaultSocialLinks7 = [
2139
+ { name: "Instagram", href: "#" },
2140
+ { name: "X (Twitter)", href: "#" }
2141
+ ];
2142
+ var containerVariants = {
2143
+ hidden: { opacity: 0 },
2144
+ visible: {
2145
+ opacity: 1,
2146
+ transition: {
2147
+ duration: 0.6,
2148
+ staggerChildren: 0.1
2149
+ }
2150
+ }
2151
+ };
2152
+ var itemVariants = {
2153
+ hidden: { opacity: 0, y: 20 },
2154
+ visible: {
2155
+ opacity: 1,
2156
+ y: 0,
2157
+ transition: { duration: 0.5 }
2158
+ }
2159
+ };
2160
+ function FooterAnimatedSocial({
2161
+ className,
2162
+ heading = "Connect with Me",
2163
+ description = "No commitments. Just a quick chat to see if we click.",
2164
+ ctaText = "Get in Touch",
2165
+ ctaUrl = "#",
2166
+ socialLinks = defaultSocialLinks7,
2167
+ copyright = `\xA9 Copyright ${(/* @__PURE__ */ new Date()).getFullYear()}. All rights Reserved.`
2168
+ }) {
2169
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsx("footer", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2170
+ /* @__PURE__ */ jsxRuntime.jsxs(
2171
+ framerMotion.motion.div,
2172
+ {
2173
+ variants: containerVariants,
2174
+ initial: "hidden",
2175
+ whileInView: "visible",
2176
+ viewport: { once: true },
2177
+ className: "flex flex-col justify-between md:flex-row md:items-center",
2178
+ children: [
2179
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-8", children: [
2180
+ /* @__PURE__ */ jsxRuntime.jsxs(framerMotion.motion.div, { variants: itemVariants, className: "space-y-6", children: [
2181
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-4xl leading-tight font-bold text-foreground lg:text-5xl", children: heading }),
2182
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "max-w-md text-lg leading-relaxed text-muted-foreground", children: description })
2183
+ ] }),
2184
+ /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx(
2185
+ "a",
2186
+ {
2187
+ href: ctaUrl,
2188
+ className: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-11 px-8",
2189
+ children: ctaText
2190
+ }
2191
+ ) })
2192
+ ] }),
2193
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-5 space-y-8 md:mt-0", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children: socialLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
2194
+ framerMotion.motion.div,
2195
+ {
2196
+ variants: itemVariants,
2197
+ whileHover: { x: 4 },
2198
+ transition: {
2199
+ type: "spring",
2200
+ stiffness: 300,
2201
+ damping: 20
2202
+ },
2203
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
2204
+ "a",
2205
+ {
2206
+ href: link.href,
2207
+ className: "group flex items-center gap-2 py-2 text-foreground transition-colors hover:text-foreground/80",
2208
+ children: [
2209
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-medium", children: link.name }),
2210
+ /* @__PURE__ */ jsxRuntime.jsx(
2211
+ DynamicIcon,
2212
+ {
2213
+ name: "lucide/arrow-up-right",
2214
+ size: 24,
2215
+ className: "transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5"
2216
+ }
2217
+ )
2218
+ ]
2219
+ }
2220
+ )
2221
+ },
2222
+ link.name
2223
+ )) }) }) })
2224
+ ]
2225
+ }
2226
+ ),
2227
+ /* @__PURE__ */ jsxRuntime.jsxs(
2228
+ framerMotion.motion.div,
2229
+ {
2230
+ variants: containerVariants,
2231
+ initial: "hidden",
2232
+ whileInView: "visible",
2233
+ viewport: { once: true },
2234
+ className: "mt-16",
2235
+ children: [
2236
+ /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 h-px w-full bg-border" }) }),
2237
+ /* @__PURE__ */ jsxRuntime.jsxs(
2238
+ framerMotion.motion.div,
2239
+ {
2240
+ variants: itemVariants,
2241
+ className: "flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center",
2242
+ children: [
2243
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: copyright }),
2244
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-6 text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(
2245
+ framerMotion.motion.a,
2246
+ {
2247
+ href: "https://opensite.ai",
2248
+ className: "underline underline-offset-4 transition-colors hover:text-foreground",
2249
+ whileHover: { scale: 1.05 },
2250
+ transition: {
2251
+ type: "spring",
2252
+ stiffness: 300,
2253
+ damping: 20
2254
+ },
2255
+ target: "_blank",
2256
+ rel: "noopener noreferrer",
2257
+ children: "AI Website and Automation Platform by Opensite"
2258
+ }
2259
+ ) }) })
2260
+ ]
2261
+ }
2262
+ )
2263
+ ]
2264
+ }
2265
+ )
2266
+ ] }) }) }) });
2267
+ }
2268
+ var defaultNavLinks2 = [
2269
+ { label: "Home", href: "#" },
2270
+ { label: "Collection", href: "#" },
2271
+ { label: "Projects", href: "#" },
2272
+ { label: "Pricing", href: "#" },
2273
+ { label: "Login", href: "#" }
2274
+ ];
2275
+ var defaultSocialLinks8 = [
2276
+ { label: "Linkedin", href: "#" },
2277
+ { label: "Twitter", href: "#" },
2278
+ { label: "Facebook", href: "#" }
2279
+ ];
2280
+ var defaultFooterLinks = [
2281
+ { label: "Privacy Policy", href: "#" },
2282
+ { label: "Terms & Conditions", href: "#" }
2283
+ ];
2284
+ function FooterNewsletterMinimal({
2285
+ className,
2286
+ heading = "Unlock 800+ blocks now",
2287
+ supportEmail = "hi@opensite.ai",
2288
+ navLinks = defaultNavLinks2,
2289
+ socialLinks = defaultSocialLinks8,
2290
+ footerLinks = defaultFooterLinks,
2291
+ newsletterLabel = "Sign up for newsletter :",
2292
+ newsletterPlaceholder = "Name*",
2293
+ location = "San Francisco, CA"
2294
+ }) {
2295
+ return /* @__PURE__ */ jsxRuntime.jsx(
2296
+ "section",
2297
+ {
2298
+ className: cn("dark bg-background py-32 text-foreground", className),
2299
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container", children: [
2300
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-15 lg:flex-row", children: [
2301
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-10", children: [
2302
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "relative text-4xl font-medium tracking-tight lg:text-5xl", children: heading }),
2303
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1 text-sm font-light tracking-tight lg:text-base", children: [
2304
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Get Support : " }),
2305
+ /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${supportEmail}`, children: supportEmail })
2306
+ ] })
2307
+ ] }),
2308
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-full max-w-xs grid-cols-2 gap-10 text-sm font-light lg:text-base", children: [
2309
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-1", children: navLinks.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
2310
+ "a",
2311
+ {
2312
+ href: item.href,
2313
+ className: "tracking-tight text-foreground hover:text-foreground/30",
2314
+ children: item.label
2315
+ }
2316
+ ) }, item.label)) }),
2317
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-1", children: socialLinks.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsxs(
2318
+ "a",
2319
+ {
2320
+ href: item.href,
2321
+ className: "group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30",
2322
+ children: [
2323
+ item.label,
2324
+ " ",
2325
+ /* @__PURE__ */ jsxRuntime.jsx(
2326
+ DynamicIcon,
2327
+ {
2328
+ name: "lucide/arrow-up-right",
2329
+ size: 14,
2330
+ className: "text-foreground group-hover:text-muted-foreground/50"
2331
+ }
2332
+ )
2333
+ ]
2334
+ }
2335
+ ) }, item.label)) })
2336
+ ] })
2337
+ ] }),
2338
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-20 flex flex-col justify-between gap-15 lg:flex-row", children: [
2339
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full max-w-md flex-col gap-10", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1 text-sm font-light tracking-tight lg:text-base", children: [
2340
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: newsletterLabel }),
2341
+ /* @__PURE__ */ jsxRuntime.jsxs("form", { className: "flex w-full items-end border-b border-b-foreground/10", children: [
2342
+ /* @__PURE__ */ jsxRuntime.jsx(
2343
+ "input",
2344
+ {
2345
+ type: "text",
2346
+ placeholder: newsletterPlaceholder,
2347
+ className: "mt-10 w-full rounded-none border-0 bg-transparent p-0 uppercase shadow-none placeholder:text-foreground/20 focus:outline-none focus:ring-0 lg:text-base"
2348
+ }
2349
+ ),
2350
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "submit", className: "p-2 hover:bg-muted/20", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 20 }) })
2351
+ ] })
2352
+ ] }) }),
2353
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-full max-w-xs grid-cols-2 gap-10 text-sm font-light lg:text-base", children: [
2354
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-32", children: location }),
2355
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-1", children: footerLinks.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
2356
+ "a",
2357
+ {
2358
+ href: item.href,
2359
+ className: "group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30",
2360
+ children: item.label
2361
+ }
2362
+ ) }, item.label)) })
2363
+ ] })
2364
+ ] }),
2365
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-20 w-full lg:mt-32", children: /* @__PURE__ */ jsxRuntime.jsx(
2366
+ framerMotion.motion.div,
2367
+ {
2368
+ initial: { opacity: 0, y: 20 },
2369
+ whileInView: { opacity: 1, y: 0 },
2370
+ viewport: { once: true },
2371
+ transition: { duration: 0.6 },
2372
+ className: "text-center",
2373
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-6xl font-bold tracking-tighter md:text-8xl lg:text-9xl", children: "OPENSITE" })
2374
+ }
2375
+ ) }),
2376
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 text-center text-sm text-muted-foreground", children: [
2377
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
2378
+ "\xA9 ",
2379
+ (/* @__PURE__ */ new Date()).getFullYear(),
2380
+ " Opensite AI. All rights reserved."
2381
+ ] }),
2382
+ /* @__PURE__ */ jsxRuntime.jsx(
2383
+ "a",
2384
+ {
2385
+ href: "https://opensite.ai",
2386
+ className: "mt-2 inline-block hover:text-foreground",
2387
+ target: "_blank",
2388
+ rel: "noopener noreferrer",
2389
+ children: "AI Website and Automation Platform by Opensite"
2390
+ }
2391
+ )
2392
+ ] })
2393
+ ] })
2394
+ }
2395
+ );
2396
+ }
2397
+ var defaultSocialLinks9 = [
2398
+ { icon: "lucide/twitter", url: "#", label: "Twitter" },
2399
+ { icon: "lucide/instagram", url: "#", label: "Instagram" },
2400
+ { icon: "lucide/facebook", url: "#", label: "Facebook" }
2401
+ ];
2402
+ function FooterCtaSocial({
2403
+ className,
2404
+ preHeading = "Let's connect",
2405
+ heading = "You want to scale faster? Try Opensite today.",
2406
+ description = "Join thousands of companies already using our platform to scale their operations",
2407
+ buttonText = "Get Started Now",
2408
+ buttonUrl = "#",
2409
+ email = "hello@opensite.ai",
2410
+ socialLinks = defaultSocialLinks9
2411
+ }) {
2412
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("relative py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10 container", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex max-w-3xl flex-col items-center gap-2 text-center", children: [
2413
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center gap-4", children: [
2414
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-px flex-1 bg-[linear-gradient(270deg,var(--primary,rgb(255,255,255))_0%,var(--secondary,rgb(0,0,0))_100%)] opacity-50" }),
2415
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground italic md:text-base", children: preHeading }),
2416
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-px flex-1 bg-[linear-gradient(270deg,var(--secondary,rgb(0,0,0))_0%,var(--primary,rgb(255,255,255))_100%)] opacity-50" })
2417
+ ] }),
2418
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "py-6 text-5xl font-bold md:text-6xl", children: heading }),
2419
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "max-w-2xl text-base text-muted-foreground md:text-lg", children: description }),
2420
+ /* @__PURE__ */ jsxRuntime.jsxs(
2421
+ "a",
2422
+ {
2423
+ href: buttonUrl,
2424
+ className: "group relative mt-4 inline-flex items-center gap-2 rounded-lg border bg-background px-8 py-4 text-base font-medium transition-all hover:bg-muted",
2425
+ children: [
2426
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: buttonText }),
2427
+ /* @__PURE__ */ jsxRuntime.jsx(
2428
+ DynamicIcon,
2429
+ {
2430
+ name: "lucide/arrow-up-right",
2431
+ size: 16,
2432
+ className: "transition-transform group-hover:translate-x-1 group-hover:-translate-y-1"
2433
+ }
2434
+ )
2435
+ ]
2436
+ }
2437
+ ),
2438
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-6 pt-8", children: socialLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React4__namespace.Fragment, { children: [
2439
+ /* @__PURE__ */ jsxRuntime.jsx(
2440
+ "a",
2441
+ {
2442
+ href: link.url,
2443
+ className: "text-muted-foreground transition-colors hover:text-foreground",
2444
+ "aria-label": link.label,
2445
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: link.icon, size: 20 })
2446
+ }
2447
+ ),
2448
+ idx < socialLinks.length - 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-px bg-border" })
2449
+ ] }, idx)) }),
2450
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "pt-2 text-sm text-muted-foreground md:text-base", children: /* @__PURE__ */ jsxRuntime.jsx(
2451
+ "a",
2452
+ {
2453
+ href: `mailto:${email}`,
2454
+ className: "transition-colors hover:text-foreground",
2455
+ children: email
2456
+ }
2457
+ ) }),
2458
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 border-t pt-8 text-sm text-muted-foreground", children: [
2459
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
2460
+ "\xA9 ",
2461
+ (/* @__PURE__ */ new Date()).getFullYear(),
2462
+ " Opensite AI. All rights reserved."
2463
+ ] }),
2464
+ /* @__PURE__ */ jsxRuntime.jsx(
2465
+ "a",
2466
+ {
2467
+ href: "https://opensite.ai",
2468
+ className: "mt-2 inline-block hover:text-foreground",
2469
+ target: "_blank",
2470
+ rel: "noopener noreferrer",
2471
+ children: "AI Website and Automation Platform by Opensite"
2472
+ }
2473
+ )
2474
+ ] })
2475
+ ] }) }) });
2476
+ }
2477
+ var defaultSections6 = [
2478
+ {
2479
+ title: "Product",
2480
+ links: [
2481
+ { name: "Overview", href: "#" },
2482
+ { name: "Pricing", href: "#" },
2483
+ { name: "Marketplace", href: "#" },
2484
+ { name: "Features", href: "#" }
2485
+ ]
2486
+ },
2487
+ {
2488
+ title: "Company",
2489
+ links: [
2490
+ { name: "About", href: "#" },
2491
+ { name: "Team", href: "#" },
2492
+ { name: "Blog", href: "#" },
2493
+ { name: "Careers", href: "#" }
2494
+ ]
2495
+ },
2496
+ {
2497
+ title: "Resources",
2498
+ links: [
2499
+ { name: "Help", href: "#" },
2500
+ { name: "Sales", href: "#" },
2501
+ { name: "Advertise", href: "#" }
2502
+ ]
2503
+ }
2504
+ ];
2505
+ var defaultSocialLinks10 = [
2506
+ { icon: "simple-icons/instagram", href: "#", label: "Instagram" },
2507
+ { icon: "simple-icons/facebook", href: "#", label: "Facebook" },
2508
+ { icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
2509
+ { icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
2510
+ ];
2511
+ var defaultLegalLinks3 = [
2512
+ { name: "Terms and Conditions", href: "#" },
2513
+ { name: "Privacy Policy", href: "#" }
2514
+ ];
2515
+ function FooterNavSocial({
2516
+ logo = {
2517
+ url: "https://opensite.ai",
2518
+ src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2519
+ alt: "Opensite AI",
2520
+ title: "Opensite AI"
2521
+ },
2522
+ className,
2523
+ sections = defaultSections6,
2524
+ socialLinks = defaultSocialLinks10,
2525
+ newsletterHeading = "Stay Updated",
2526
+ newsletterDescription = "Subscribe to our newsletter for the latest updates and news.",
2527
+ newsletterPlaceholder = "Enter your email",
2528
+ newsletterButtonText = "Subscribe",
2529
+ copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
2530
+ legalLinks = defaultLegalLinks3,
2531
+ optixFlowConfig
2532
+ }) {
2533
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
2534
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-2", children: [
2535
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2536
+ /* @__PURE__ */ jsxRuntime.jsxs("a", { href: logo.url, className: "mb-8 flex items-center gap-2", children: [
2537
+ /* @__PURE__ */ jsxRuntime.jsx(
2538
+ img.Img,
2539
+ {
2540
+ src: logo.src,
2541
+ alt: logo.alt,
2542
+ className: "h-10",
2543
+ optixFlowConfig
2544
+ }
2545
+ ),
2546
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
2547
+ ] }),
2548
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-8 sm:grid-cols-3", children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2549
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-semibold", children: section.title }),
2550
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, className: "hover:text-primary", children: link.name }) }, linkIdx)) })
2551
+ ] }, sectionIdx)) })
2552
+ ] }),
2553
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between", children: [
2554
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-8", children: [
2555
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-lg font-semibold", children: newsletterHeading }),
2556
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 text-sm text-muted-foreground", children: newsletterDescription }),
2557
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-w-md gap-2", children: [
2558
+ /* @__PURE__ */ jsxRuntime.jsx(
2559
+ "input",
2560
+ {
2561
+ type: "email",
2562
+ placeholder: newsletterPlaceholder,
2563
+ className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
2564
+ }
2565
+ ),
2566
+ /* @__PURE__ */ jsxRuntime.jsx(
2567
+ "button",
2568
+ {
2569
+ type: "submit",
2570
+ className: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
2571
+ children: newsletterButtonText
2572
+ }
2573
+ )
2574
+ ] })
2575
+ ] }),
2576
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2577
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 font-medium", children: "Follow Us" }),
2578
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-4", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
2579
+ "a",
2580
+ {
2581
+ href: social.href,
2582
+ "aria-label": social.label,
2583
+ className: "text-muted-foreground transition-colors hover:text-primary",
2584
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 20 })
2585
+ }
2586
+ ) }, idx)) })
2587
+ ] })
2588
+ ] })
2589
+ ] }),
2590
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm text-muted-foreground md:flex-row md:items-center", children: [
2591
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
2592
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
2593
+ /* @__PURE__ */ jsxRuntime.jsx(
2594
+ "a",
2595
+ {
2596
+ href: "https://opensite.ai",
2597
+ className: "hover:text-primary",
2598
+ target: "_blank",
2599
+ rel: "noopener noreferrer",
2600
+ children: "AI Website and Automation Platform by Opensite"
2601
+ }
2602
+ )
2603
+ ] }),
2604
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, className: "hover:text-primary", children: link.name }) }, idx)) })
2605
+ ] })
2606
+ ] }) }) });
2607
+ }
1113
2608
 
1114
2609
  exports.AlternatingBlocks = AlternatingBlocks;
1115
2610
  exports.AnimatedDialog = AnimatedDialog;
@@ -1123,6 +2618,19 @@ exports.CardHeader = CardHeader;
1123
2618
  exports.CardTitle = CardTitle;
1124
2619
  exports.Container = Container;
1125
2620
  exports.DynamicIcon = DynamicIcon;
2621
+ exports.FooterAnimatedSocial = FooterAnimatedSocial;
2622
+ exports.FooterBackgroundCard = FooterBackgroundCard;
2623
+ exports.FooterBrandDescription = FooterBrandDescription;
2624
+ exports.FooterContactCard = FooterContactCard;
2625
+ exports.FooterCtaBanner = FooterCtaBanner;
2626
+ exports.FooterCtaSocial = FooterCtaSocial;
2627
+ exports.FooterLinksGrid = FooterLinksGrid;
2628
+ exports.FooterNavSocial = FooterNavSocial;
2629
+ exports.FooterNewsletterGrid = FooterNewsletterGrid;
2630
+ exports.FooterNewsletterMinimal = FooterNewsletterMinimal;
2631
+ exports.FooterSimpleCentered = FooterSimpleCentered;
2632
+ exports.FooterSocialApps = FooterSocialApps;
2633
+ exports.FooterSocialNewsletter = FooterSocialNewsletter;
1126
2634
  exports.MediaHoverCtas = MediaHoverCtas;
1127
2635
  exports.PageHeroBanner = PageHeroBanner;
1128
2636
  exports.Popover = Popover;