@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.
- package/dist/components.cjs +1511 -3
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.cts +13 -0
- package/dist/components.d.ts +13 -0
- package/dist/components.js +1499 -4
- package/dist/components.js.map +1 -1
- package/dist/footer-animated-social.cjs +272 -0
- package/dist/footer-animated-social.cjs.map +1 -0
- package/dist/footer-animated-social.d.cts +41 -0
- package/dist/footer-animated-social.d.ts +41 -0
- package/dist/footer-animated-social.js +250 -0
- package/dist/footer-animated-social.js.map +1 -0
- package/dist/footer-background-card.cjs +149 -0
- package/dist/footer-background-card.cjs.map +1 -0
- package/dist/footer-background-card.d.cts +74 -0
- package/dist/footer-background-card.d.ts +74 -0
- package/dist/footer-background-card.js +147 -0
- package/dist/footer-background-card.js.map +1 -0
- package/dist/footer-brand-description.cjs +244 -0
- package/dist/footer-brand-description.cjs.map +1 -0
- package/dist/footer-brand-description.d.cts +65 -0
- package/dist/footer-brand-description.d.ts +65 -0
- package/dist/footer-brand-description.js +222 -0
- package/dist/footer-brand-description.js.map +1 -0
- package/dist/footer-contact-card.cjs +238 -0
- package/dist/footer-contact-card.cjs.map +1 -0
- package/dist/footer-contact-card.d.cts +65 -0
- package/dist/footer-contact-card.d.ts +65 -0
- package/dist/footer-contact-card.js +216 -0
- package/dist/footer-contact-card.js.map +1 -0
- package/dist/footer-cta-banner.cjs +282 -0
- package/dist/footer-cta-banner.cjs.map +1 -0
- package/dist/footer-cta-banner.d.cts +77 -0
- package/dist/footer-cta-banner.d.ts +77 -0
- package/dist/footer-cta-banner.js +260 -0
- package/dist/footer-cta-banner.js.map +1 -0
- package/dist/footer-cta-social.cjs +221 -0
- package/dist/footer-cta-social.cjs.map +1 -0
- package/dist/footer-cta-social.d.cts +45 -0
- package/dist/footer-cta-social.d.ts +45 -0
- package/dist/footer-cta-social.js +199 -0
- package/dist/footer-cta-social.js.map +1 -0
- package/dist/footer-links-grid.cjs +119 -0
- package/dist/footer-links-grid.cjs.map +1 -0
- package/dist/footer-links-grid.d.cts +54 -0
- package/dist/footer-links-grid.d.ts +54 -0
- package/dist/footer-links-grid.js +117 -0
- package/dist/footer-links-grid.js.map +1 -0
- package/dist/footer-nav-social.cjs +273 -0
- package/dist/footer-nav-social.cjs.map +1 -0
- package/dist/footer-nav-social.d.cts +72 -0
- package/dist/footer-nav-social.d.ts +72 -0
- package/dist/footer-nav-social.js +251 -0
- package/dist/footer-nav-social.js.map +1 -0
- package/dist/footer-newsletter-grid.cjs +271 -0
- package/dist/footer-newsletter-grid.cjs.map +1 -0
- package/dist/footer-newsletter-grid.d.cts +74 -0
- package/dist/footer-newsletter-grid.d.ts +74 -0
- package/dist/footer-newsletter-grid.js +249 -0
- package/dist/footer-newsletter-grid.js.map +1 -0
- package/dist/footer-newsletter-minimal.cjs +271 -0
- package/dist/footer-newsletter-minimal.cjs.map +1 -0
- package/dist/footer-newsletter-minimal.d.cts +57 -0
- package/dist/footer-newsletter-minimal.d.ts +57 -0
- package/dist/footer-newsletter-minimal.js +249 -0
- package/dist/footer-newsletter-minimal.js.map +1 -0
- package/dist/footer-simple-centered.cjs +101 -0
- package/dist/footer-simple-centered.cjs.map +1 -0
- package/dist/footer-simple-centered.d.cts +52 -0
- package/dist/footer-simple-centered.d.ts +52 -0
- package/dist/footer-simple-centered.js +99 -0
- package/dist/footer-simple-centered.js.map +1 -0
- package/dist/footer-social-apps.cjs +247 -0
- package/dist/footer-social-apps.cjs.map +1 -0
- package/dist/footer-social-apps.d.cts +75 -0
- package/dist/footer-social-apps.d.ts +75 -0
- package/dist/footer-social-apps.js +225 -0
- package/dist/footer-social-apps.js.map +1 -0
- package/dist/footer-social-newsletter.cjs +267 -0
- package/dist/footer-social-newsletter.cjs.map +1 -0
- package/dist/footer-social-newsletter.d.cts +68 -0
- package/dist/footer-social-newsletter.d.ts +68 -0
- package/dist/footer-social-newsletter.js +245 -0
- package/dist/footer-social-newsletter.js.map +1 -0
- package/dist/index.cjs +1511 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +1499 -4
- package/dist/index.js.map +1 -1
- package/dist/pressable.cjs +10 -3
- package/dist/pressable.cjs.map +1 -1
- package/dist/pressable.js +10 -3
- package/dist/pressable.js.map +1 -1
- package/dist/registry.cjs +1971 -1
- package/dist/registry.cjs.map +1 -1
- package/dist/registry.js +1971 -1
- package/dist/registry.js.map +1 -1
- package/dist/team-media-showcase.cjs +182 -0
- package/dist/team-media-showcase.cjs.map +1 -0
- package/dist/team-media-showcase.d.cts +145 -0
- package/dist/team-media-showcase.d.ts +145 -0
- package/dist/team-media-showcase.js +160 -0
- package/dist/team-media-showcase.js.map +1 -0
- package/package.json +71 -1
package/dist/registry.js
CHANGED
|
@@ -7,6 +7,7 @@ import { Img } from '@page-speed/img';
|
|
|
7
7
|
import useEmblaCarousel from 'embla-carousel-react';
|
|
8
8
|
import { Slot } from '@radix-ui/react-slot';
|
|
9
9
|
import { cva } from 'class-variance-authority';
|
|
10
|
+
import { motion } from 'framer-motion';
|
|
10
11
|
|
|
11
12
|
// lib/utils.ts
|
|
12
13
|
function cn(...inputs) {
|
|
@@ -739,6 +740,1559 @@ function FeatureShowcase({
|
|
|
739
740
|
] })
|
|
740
741
|
] });
|
|
741
742
|
}
|
|
743
|
+
var TeamMemberBackgroundImageCard = React4.forwardRef(({ className, imageUrl, imageAlt, children, optixFlowConfig, ...props }, ref) => {
|
|
744
|
+
return /* @__PURE__ */ jsxs(
|
|
745
|
+
"div",
|
|
746
|
+
{
|
|
747
|
+
ref,
|
|
748
|
+
className: cn(
|
|
749
|
+
"group h-[400px] relative w-full max-w-sm overflow-hidden rounded-xl border border-border bg-card shadow-lg",
|
|
750
|
+
"transition-all duration-300 ease-in-out",
|
|
751
|
+
className
|
|
752
|
+
),
|
|
753
|
+
...props,
|
|
754
|
+
children: [
|
|
755
|
+
/* @__PURE__ */ jsx(
|
|
756
|
+
Img,
|
|
757
|
+
{
|
|
758
|
+
src: imageUrl,
|
|
759
|
+
alt: imageAlt,
|
|
760
|
+
className: "absolute inset-0 h-full w-full object-cover transition-transform duration-500 ease-in-out group-hover:scale-110",
|
|
761
|
+
optixFlowConfig
|
|
762
|
+
}
|
|
763
|
+
),
|
|
764
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent" }),
|
|
765
|
+
children
|
|
766
|
+
]
|
|
767
|
+
}
|
|
768
|
+
);
|
|
769
|
+
});
|
|
770
|
+
TeamMemberBackgroundImageCard.displayName = "TeamMemberBackgroundImageCard";
|
|
771
|
+
function TeamMediaShowcase({
|
|
772
|
+
items,
|
|
773
|
+
children,
|
|
774
|
+
listEyebrow,
|
|
775
|
+
background = "white",
|
|
776
|
+
verticalMargin = "lg",
|
|
777
|
+
gridClassName = "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",
|
|
778
|
+
className,
|
|
779
|
+
optixFlowConfig
|
|
780
|
+
}) {
|
|
781
|
+
return /* @__PURE__ */ jsx(Section, { background, spacing: verticalMargin, className, children: /* @__PURE__ */ jsxs(Container, { children: [
|
|
782
|
+
children,
|
|
783
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-12", children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
784
|
+
listEyebrow && typeof listEyebrow === "string" && listEyebrow.trim() !== "" && /* @__PURE__ */ jsx("div", { className: "text-md pt-8 uppercase text-dark-charcoal/70 tracking-[0.2em] font-semibold", children: listEyebrow }),
|
|
785
|
+
/* @__PURE__ */ jsx("div", { className: gridClassName, children: items.map((member, idx) => {
|
|
786
|
+
const imageAlt = member.imageAlt || (member.name && typeof member.name === "string" && member.name.trim() !== "" ? member.name : `member-${idx}`);
|
|
787
|
+
return /* @__PURE__ */ jsx(
|
|
788
|
+
TeamMemberBackgroundImageCard,
|
|
789
|
+
{
|
|
790
|
+
imageUrl: member.imageSrc,
|
|
791
|
+
imageAlt,
|
|
792
|
+
className: member.cardClassName,
|
|
793
|
+
optixFlowConfig,
|
|
794
|
+
children: /* @__PURE__ */ jsxs("div", { className: "relative flex h-full flex-col justify-end p-6 text-card-foreground", children: [
|
|
795
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-4 transition-transform duration-500 ease-in-out group-hover:-translate-y-12", children: /* @__PURE__ */ jsxs("div", { children: [
|
|
796
|
+
member.name && typeof member.name === "string" && member.name.trim() !== "" && /* @__PURE__ */ jsx("h4", { className: "text-3xl font-bold text-white", children: member.name }),
|
|
797
|
+
member.role && typeof member.role === "string" && member.role.trim() !== "" && /* @__PURE__ */ jsx("p", { className: "text-sm text-white/80", children: member.role })
|
|
798
|
+
] }) }),
|
|
799
|
+
member.action ? /* @__PURE__ */ jsx("div", { className: "absolute -bottom-20 left-0 w-full pt-2 p-6 opacity-0 transition-all duration-500 ease-in-out group-hover:bottom-0 group-hover:opacity-100", children: member.action }) : null
|
|
800
|
+
] })
|
|
801
|
+
},
|
|
802
|
+
idx
|
|
803
|
+
);
|
|
804
|
+
}) })
|
|
805
|
+
] }) })
|
|
806
|
+
] }) });
|
|
807
|
+
}
|
|
808
|
+
var defaultMenuItems = [
|
|
809
|
+
{
|
|
810
|
+
title: "Product",
|
|
811
|
+
links: [
|
|
812
|
+
{ text: "Overview", url: "#" },
|
|
813
|
+
{ text: "Pricing", url: "#" },
|
|
814
|
+
{ text: "Marketplace", url: "#" },
|
|
815
|
+
{ text: "Features", url: "#" },
|
|
816
|
+
{ text: "Integrations", url: "#" }
|
|
817
|
+
]
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
title: "Company",
|
|
821
|
+
links: [
|
|
822
|
+
{ text: "About", url: "#" },
|
|
823
|
+
{ text: "Team", url: "#" },
|
|
824
|
+
{ text: "Blog", url: "#" },
|
|
825
|
+
{ text: "Careers", url: "#" },
|
|
826
|
+
{ text: "Contact", url: "#" }
|
|
827
|
+
]
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
title: "Resources",
|
|
831
|
+
links: [
|
|
832
|
+
{ text: "Help", url: "#" },
|
|
833
|
+
{ text: "Sales", url: "#" },
|
|
834
|
+
{ text: "Advertise", url: "#" }
|
|
835
|
+
]
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
title: "Social",
|
|
839
|
+
links: [
|
|
840
|
+
{ text: "Twitter", url: "#" },
|
|
841
|
+
{ text: "Instagram", url: "#" },
|
|
842
|
+
{ text: "LinkedIn", url: "#" }
|
|
843
|
+
]
|
|
844
|
+
}
|
|
845
|
+
];
|
|
846
|
+
var defaultBottomLinks = [
|
|
847
|
+
{ text: "Terms and Conditions", url: "#" },
|
|
848
|
+
{ text: "Privacy Policy", url: "#" }
|
|
849
|
+
];
|
|
850
|
+
function FooterLinksGrid({
|
|
851
|
+
logo = {
|
|
852
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
853
|
+
alt: "Opensite AI",
|
|
854
|
+
title: "Opensite AI",
|
|
855
|
+
url: "https://opensite.ai"
|
|
856
|
+
},
|
|
857
|
+
className,
|
|
858
|
+
tagline = "Components made easy.",
|
|
859
|
+
menuItems = defaultMenuItems,
|
|
860
|
+
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
|
|
861
|
+
bottomLinks = defaultBottomLinks,
|
|
862
|
+
optixFlowConfig
|
|
863
|
+
}) {
|
|
864
|
+
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
865
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8 lg:grid-cols-6", children: [
|
|
866
|
+
/* @__PURE__ */ jsxs("div", { className: "col-span-2 mb-8 lg:mb-0", children: [
|
|
867
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 lg:justify-start", children: /* @__PURE__ */ jsxs("a", { href: logo.url, className: "flex items-center gap-2", children: [
|
|
868
|
+
/* @__PURE__ */ jsx(
|
|
869
|
+
Img,
|
|
870
|
+
{
|
|
871
|
+
src: logo.src,
|
|
872
|
+
alt: logo.alt,
|
|
873
|
+
className: "h-10 dark:invert",
|
|
874
|
+
optixFlowConfig
|
|
875
|
+
}
|
|
876
|
+
),
|
|
877
|
+
/* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
|
|
878
|
+
] }) }),
|
|
879
|
+
/* @__PURE__ */ jsx("p", { className: "mt-4 font-bold", children: tagline })
|
|
880
|
+
] }),
|
|
881
|
+
menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
882
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
883
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
|
|
884
|
+
"li",
|
|
885
|
+
{
|
|
886
|
+
className: "font-medium hover:text-primary",
|
|
887
|
+
children: /* @__PURE__ */ jsx("a", { href: link.url, children: link.text })
|
|
888
|
+
},
|
|
889
|
+
linkIdx
|
|
890
|
+
)) })
|
|
891
|
+
] }, sectionIdx))
|
|
892
|
+
] }),
|
|
893
|
+
/* @__PURE__ */ 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: [
|
|
894
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
|
|
895
|
+
/* @__PURE__ */ jsx("p", { children: copyright }),
|
|
896
|
+
/* @__PURE__ */ jsx(
|
|
897
|
+
"a",
|
|
898
|
+
{
|
|
899
|
+
href: "https://opensite.ai",
|
|
900
|
+
className: "hover:text-primary",
|
|
901
|
+
target: "_blank",
|
|
902
|
+
rel: "noopener noreferrer",
|
|
903
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
904
|
+
}
|
|
905
|
+
)
|
|
906
|
+
] }),
|
|
907
|
+
/* @__PURE__ */ jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "underline hover:text-primary", children: /* @__PURE__ */ jsx("a", { href: link.url, children: link.text }) }, linkIdx)) })
|
|
908
|
+
] })
|
|
909
|
+
] }) }) });
|
|
910
|
+
}
|
|
911
|
+
var defaultSections = [
|
|
912
|
+
{
|
|
913
|
+
title: "Product",
|
|
914
|
+
links: [
|
|
915
|
+
{ name: "Overview", href: "#" },
|
|
916
|
+
{ name: "Pricing", href: "#" },
|
|
917
|
+
{ name: "Marketplace", href: "#" },
|
|
918
|
+
{ name: "Features", href: "#" },
|
|
919
|
+
{ name: "Integrations", href: "#" }
|
|
920
|
+
]
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
title: "Company",
|
|
924
|
+
links: [
|
|
925
|
+
{ name: "About", href: "#" },
|
|
926
|
+
{ name: "Team", href: "#" },
|
|
927
|
+
{ name: "Blog", href: "#" },
|
|
928
|
+
{ name: "Careers", href: "#" },
|
|
929
|
+
{ name: "Contact", href: "#" }
|
|
930
|
+
]
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
title: "Resources",
|
|
934
|
+
links: [
|
|
935
|
+
{ name: "Help", href: "#" },
|
|
936
|
+
{ name: "Sales", href: "#" },
|
|
937
|
+
{ name: "Advertise", href: "#" }
|
|
938
|
+
]
|
|
939
|
+
}
|
|
940
|
+
];
|
|
941
|
+
var defaultSocialLinks = [
|
|
942
|
+
{ icon: "simple-icons/discord", href: "#", label: "Discord" },
|
|
943
|
+
{ icon: "simple-icons/reddit", href: "#", label: "Reddit" },
|
|
944
|
+
{ icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
|
|
945
|
+
{ icon: "simple-icons/telegram", href: "#", label: "Telegram" },
|
|
946
|
+
{ icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
|
|
947
|
+
];
|
|
948
|
+
function FooterSocialNewsletter({
|
|
949
|
+
logo = {
|
|
950
|
+
url: "https://opensite.ai",
|
|
951
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
952
|
+
alt: "Opensite AI",
|
|
953
|
+
title: "Opensite AI"
|
|
954
|
+
},
|
|
955
|
+
className,
|
|
956
|
+
sections = defaultSections,
|
|
957
|
+
socialLinks = defaultSocialLinks,
|
|
958
|
+
newsletterLabel = "Subscribe to our newsletter",
|
|
959
|
+
newsletterPlaceholder = "Email",
|
|
960
|
+
newsletterButtonText = "Subscribe",
|
|
961
|
+
privacyLinkText = "Privacy Policy",
|
|
962
|
+
privacyLinkUrl = "#",
|
|
963
|
+
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
|
|
964
|
+
optixFlowConfig
|
|
965
|
+
}) {
|
|
966
|
+
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
967
|
+
/* @__PURE__ */ jsxs("a", { href: logo.url, className: "flex items-center gap-2", children: [
|
|
968
|
+
/* @__PURE__ */ jsx(
|
|
969
|
+
Img,
|
|
970
|
+
{
|
|
971
|
+
src: logo.src,
|
|
972
|
+
alt: logo.alt,
|
|
973
|
+
className: "h-10",
|
|
974
|
+
optixFlowConfig
|
|
975
|
+
}
|
|
976
|
+
),
|
|
977
|
+
/* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
|
|
978
|
+
] }),
|
|
979
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4", children: [
|
|
980
|
+
sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
981
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
982
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
|
|
983
|
+
"li",
|
|
984
|
+
{
|
|
985
|
+
className: "font-medium hover:text-primary",
|
|
986
|
+
children: /* @__PURE__ */ jsx("a", { href: link.href, children: link.name })
|
|
987
|
+
},
|
|
988
|
+
linkIdx
|
|
989
|
+
)) })
|
|
990
|
+
] }, sectionIdx)),
|
|
991
|
+
/* @__PURE__ */ jsxs("div", { className: "lg:col-span-2 xl:col-span-1", children: [
|
|
992
|
+
/* @__PURE__ */ jsx("ul", { className: "mb-10 flex items-center gap-2 text-muted-foreground", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx("a", { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) }),
|
|
993
|
+
/* @__PURE__ */ jsxs("div", { className: "grid w-full max-w-sm items-center gap-1.5", children: [
|
|
994
|
+
/* @__PURE__ */ jsx("label", { htmlFor: "newsletter-email", className: "text-sm font-medium", children: newsletterLabel }),
|
|
995
|
+
/* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
|
|
996
|
+
/* @__PURE__ */ jsx(
|
|
997
|
+
"input",
|
|
998
|
+
{
|
|
999
|
+
type: "email",
|
|
1000
|
+
id: "newsletter-email",
|
|
1001
|
+
placeholder: newsletterPlaceholder,
|
|
1002
|
+
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"
|
|
1003
|
+
}
|
|
1004
|
+
),
|
|
1005
|
+
/* @__PURE__ */ jsx(
|
|
1006
|
+
"button",
|
|
1007
|
+
{
|
|
1008
|
+
type: "submit",
|
|
1009
|
+
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",
|
|
1010
|
+
children: newsletterButtonText
|
|
1011
|
+
}
|
|
1012
|
+
)
|
|
1013
|
+
] }),
|
|
1014
|
+
/* @__PURE__ */ jsxs("p", { className: "mt-1 text-xs text-muted-foreground", children: [
|
|
1015
|
+
"By submitting, you agree to our",
|
|
1016
|
+
/* @__PURE__ */ jsx("a", { href: privacyLinkUrl, className: "ml-1 text-primary hover:underline", children: privacyLinkText })
|
|
1017
|
+
] })
|
|
1018
|
+
] })
|
|
1019
|
+
] })
|
|
1020
|
+
] }),
|
|
1021
|
+
/* @__PURE__ */ 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__ */ jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
|
|
1022
|
+
/* @__PURE__ */ jsx("p", { children: copyright }),
|
|
1023
|
+
/* @__PURE__ */ jsx(
|
|
1024
|
+
"a",
|
|
1025
|
+
{
|
|
1026
|
+
href: "https://opensite.ai",
|
|
1027
|
+
className: "hover:text-primary",
|
|
1028
|
+
target: "_blank",
|
|
1029
|
+
rel: "noopener noreferrer",
|
|
1030
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
1031
|
+
}
|
|
1032
|
+
)
|
|
1033
|
+
] }) })
|
|
1034
|
+
] }) }) });
|
|
1035
|
+
}
|
|
1036
|
+
var defaultSections2 = [
|
|
1037
|
+
{
|
|
1038
|
+
title: "Product",
|
|
1039
|
+
links: [
|
|
1040
|
+
{ name: "Overview", href: "#" },
|
|
1041
|
+
{ name: "Pricing", href: "#" },
|
|
1042
|
+
{ name: "Marketplace", href: "#" },
|
|
1043
|
+
{ name: "Features", href: "#" }
|
|
1044
|
+
]
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
title: "Company",
|
|
1048
|
+
links: [
|
|
1049
|
+
{ name: "About", href: "#" },
|
|
1050
|
+
{ name: "Team", href: "#" },
|
|
1051
|
+
{ name: "Blog", href: "#" },
|
|
1052
|
+
{ name: "Careers", href: "#" }
|
|
1053
|
+
]
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
title: "Resources",
|
|
1057
|
+
links: [
|
|
1058
|
+
{ name: "Help", href: "#" },
|
|
1059
|
+
{ name: "Sales", href: "#" },
|
|
1060
|
+
{ name: "Advertise", href: "#" }
|
|
1061
|
+
]
|
|
1062
|
+
}
|
|
1063
|
+
];
|
|
1064
|
+
var defaultSocialLinks2 = [
|
|
1065
|
+
{ icon: "simple-icons/discord", href: "#", label: "Discord" },
|
|
1066
|
+
{ icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
|
|
1067
|
+
{ icon: "simple-icons/instagram", href: "#", label: "Instagram" },
|
|
1068
|
+
{ icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
|
|
1069
|
+
];
|
|
1070
|
+
var defaultAppLinks = [
|
|
1071
|
+
{ icon: "mdi/android", href: "#", label: "Android" },
|
|
1072
|
+
{ icon: "mdi/apple", href: "#", label: "iOS" }
|
|
1073
|
+
];
|
|
1074
|
+
function FooterSocialApps({
|
|
1075
|
+
logo = {
|
|
1076
|
+
url: "https://opensite.ai",
|
|
1077
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
1078
|
+
alt: "Opensite AI",
|
|
1079
|
+
title: "Opensite AI"
|
|
1080
|
+
},
|
|
1081
|
+
className,
|
|
1082
|
+
sections = defaultSections2,
|
|
1083
|
+
socialLinks = defaultSocialLinks2,
|
|
1084
|
+
appLinks = defaultAppLinks,
|
|
1085
|
+
socialLabel = "Follow Us",
|
|
1086
|
+
appLabel = "Mobile App",
|
|
1087
|
+
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
|
|
1088
|
+
optixFlowConfig
|
|
1089
|
+
}) {
|
|
1090
|
+
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
1091
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-10 lg:flex-row lg:gap-20", children: [
|
|
1092
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ jsxs("a", { href: logo.url, className: "flex items-center gap-2", children: [
|
|
1093
|
+
/* @__PURE__ */ jsx(
|
|
1094
|
+
Img,
|
|
1095
|
+
{
|
|
1096
|
+
src: logo.src,
|
|
1097
|
+
alt: logo.alt,
|
|
1098
|
+
className: "h-10",
|
|
1099
|
+
optixFlowConfig
|
|
1100
|
+
}
|
|
1101
|
+
),
|
|
1102
|
+
/* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
|
|
1103
|
+
] }) }),
|
|
1104
|
+
/* @__PURE__ */ jsx("div", { className: "grid flex-1 gap-8 sm:grid-cols-2 md:grid-cols-3", children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
1105
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
1106
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
|
|
1107
|
+
"li",
|
|
1108
|
+
{
|
|
1109
|
+
className: "font-medium hover:text-primary",
|
|
1110
|
+
children: /* @__PURE__ */ jsx("a", { href: link.href, children: link.name })
|
|
1111
|
+
},
|
|
1112
|
+
linkIdx
|
|
1113
|
+
)) })
|
|
1114
|
+
] }, sectionIdx)) }),
|
|
1115
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
1116
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
1117
|
+
/* @__PURE__ */ jsx("p", { className: "mb-3 font-bold", children: socialLabel }),
|
|
1118
|
+
/* @__PURE__ */ jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx("a", { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) })
|
|
1119
|
+
] }),
|
|
1120
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
1121
|
+
/* @__PURE__ */ jsx("p", { className: "mb-3 font-bold", children: appLabel }),
|
|
1122
|
+
/* @__PURE__ */ jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: appLinks.map((app, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx("a", { href: app.href, "aria-label": app.label, children: /* @__PURE__ */ jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsx(DynamicIcon, { name: app.icon, size: 24 }) }) }) }, idx)) })
|
|
1123
|
+
] })
|
|
1124
|
+
] })
|
|
1125
|
+
] }),
|
|
1126
|
+
/* @__PURE__ */ jsx("div", { className: "mt-24 border-t pt-8", children: /* @__PURE__ */ 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: [
|
|
1127
|
+
/* @__PURE__ */ jsx("p", { children: copyright }),
|
|
1128
|
+
/* @__PURE__ */ jsx(
|
|
1129
|
+
"a",
|
|
1130
|
+
{
|
|
1131
|
+
href: "https://opensite.ai",
|
|
1132
|
+
className: "hover:text-primary",
|
|
1133
|
+
target: "_blank",
|
|
1134
|
+
rel: "noopener noreferrer",
|
|
1135
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
1136
|
+
}
|
|
1137
|
+
)
|
|
1138
|
+
] }) })
|
|
1139
|
+
] }) }) });
|
|
1140
|
+
}
|
|
1141
|
+
var defaultSitemap = [
|
|
1142
|
+
{
|
|
1143
|
+
title: "Company",
|
|
1144
|
+
links: [
|
|
1145
|
+
{ title: "About Us", href: "#" },
|
|
1146
|
+
{ title: "Careers", href: "#" },
|
|
1147
|
+
{ title: "Contact", href: "#" },
|
|
1148
|
+
{ title: "Press", href: "#" }
|
|
1149
|
+
]
|
|
1150
|
+
},
|
|
1151
|
+
{
|
|
1152
|
+
title: "Support",
|
|
1153
|
+
links: [
|
|
1154
|
+
{ title: "Help Center", href: "#" },
|
|
1155
|
+
{ title: "Community", href: "#" },
|
|
1156
|
+
{ title: "Status", href: "#" },
|
|
1157
|
+
{ title: "API Docs", href: "#" }
|
|
1158
|
+
]
|
|
1159
|
+
}
|
|
1160
|
+
];
|
|
1161
|
+
var defaultBottomLinks2 = [
|
|
1162
|
+
{ text: "Terms & Conditions", href: "#" },
|
|
1163
|
+
{ text: "Privacy Policy", href: "#" }
|
|
1164
|
+
];
|
|
1165
|
+
function FooterSimpleCentered({
|
|
1166
|
+
logo = {
|
|
1167
|
+
url: "https://opensite.ai",
|
|
1168
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
1169
|
+
alt: "Opensite AI",
|
|
1170
|
+
title: "Opensite AI"
|
|
1171
|
+
},
|
|
1172
|
+
className,
|
|
1173
|
+
tagline = "Components made easy.",
|
|
1174
|
+
sitemap = defaultSitemap,
|
|
1175
|
+
copyright = `\xA9 Opensite AI ${(/* @__PURE__ */ new Date()).getFullYear()}`,
|
|
1176
|
+
bottomLinks = defaultBottomLinks2,
|
|
1177
|
+
optixFlowConfig
|
|
1178
|
+
}) {
|
|
1179
|
+
return /* @__PURE__ */ jsx("section", { className: cn("py-16", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
1180
|
+
/* @__PURE__ */ 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: [
|
|
1181
|
+
/* @__PURE__ */ jsxs("div", { className: "max-w-96", children: [
|
|
1182
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-6 flex items-center gap-3", children: [
|
|
1183
|
+
/* @__PURE__ */ jsx("div", { className: "flex size-12 items-center justify-center rounded-lg border border-border bg-accent p-2", children: /* @__PURE__ */ jsx(
|
|
1184
|
+
Img,
|
|
1185
|
+
{
|
|
1186
|
+
src: logo.src,
|
|
1187
|
+
alt: logo.alt,
|
|
1188
|
+
className: "size-12 h-full w-full object-contain object-center",
|
|
1189
|
+
optixFlowConfig
|
|
1190
|
+
}
|
|
1191
|
+
) }),
|
|
1192
|
+
/* @__PURE__ */ jsx("h3", { className: "text-xl font-bold", children: logo.title })
|
|
1193
|
+
] }),
|
|
1194
|
+
/* @__PURE__ */ jsx("p", { className: "text-base font-medium text-muted-foreground", children: tagline })
|
|
1195
|
+
] }),
|
|
1196
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col items-start gap-x-20 gap-y-14 xl:flex-row", children: /* @__PURE__ */ 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__ */ jsxs("div", { className: "h-fit w-min", children: [
|
|
1197
|
+
/* @__PURE__ */ jsx("h4", { className: "mb-6 text-base font-semibold whitespace-nowrap", children: section.title }),
|
|
1198
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-3 text-base font-medium text-muted-foreground", children: section.links.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1199
|
+
"a",
|
|
1200
|
+
{
|
|
1201
|
+
href: link.href,
|
|
1202
|
+
className: "text-base whitespace-nowrap hover:text-accent-foreground",
|
|
1203
|
+
children: link.title
|
|
1204
|
+
}
|
|
1205
|
+
) }, link.title)) })
|
|
1206
|
+
] }, section.title)) }) })
|
|
1207
|
+
] }),
|
|
1208
|
+
/* @__PURE__ */ 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: [
|
|
1209
|
+
/* @__PURE__ */ 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: [
|
|
1210
|
+
/* @__PURE__ */ jsx("span", { children: copyright }),
|
|
1211
|
+
/* @__PURE__ */ jsx(
|
|
1212
|
+
"a",
|
|
1213
|
+
{
|
|
1214
|
+
href: "https://opensite.ai",
|
|
1215
|
+
className: "hover:text-accent-foreground",
|
|
1216
|
+
target: "_blank",
|
|
1217
|
+
rel: "noopener noreferrer",
|
|
1218
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
1219
|
+
}
|
|
1220
|
+
)
|
|
1221
|
+
] }),
|
|
1222
|
+
/* @__PURE__ */ 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__ */ jsx("a", { href: link.href, className: "hover:text-accent-foreground", children: link.text }, idx)) })
|
|
1223
|
+
] })
|
|
1224
|
+
] }) }) });
|
|
1225
|
+
}
|
|
1226
|
+
var defaultSections3 = [
|
|
1227
|
+
{
|
|
1228
|
+
title: "Product",
|
|
1229
|
+
links: [
|
|
1230
|
+
{ name: "Overview", href: "#" },
|
|
1231
|
+
{ name: "Pricing", href: "#" },
|
|
1232
|
+
{ name: "Marketplace", href: "#" },
|
|
1233
|
+
{ name: "Features", href: "#" }
|
|
1234
|
+
]
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
title: "Company",
|
|
1238
|
+
links: [
|
|
1239
|
+
{ name: "About", href: "#" },
|
|
1240
|
+
{ name: "Team", href: "#" },
|
|
1241
|
+
{ name: "Blog", href: "#" },
|
|
1242
|
+
{ name: "Careers", href: "#" }
|
|
1243
|
+
]
|
|
1244
|
+
},
|
|
1245
|
+
{
|
|
1246
|
+
title: "Resources",
|
|
1247
|
+
links: [
|
|
1248
|
+
{ name: "Help", href: "#" },
|
|
1249
|
+
{ name: "Sales", href: "#" },
|
|
1250
|
+
{ name: "Advertise", href: "#" },
|
|
1251
|
+
{ name: "Privacy", href: "#" }
|
|
1252
|
+
]
|
|
1253
|
+
}
|
|
1254
|
+
];
|
|
1255
|
+
var defaultSocialLinks3 = [
|
|
1256
|
+
{ icon: "simple-icons/instagram", href: "#", label: "Instagram" },
|
|
1257
|
+
{ icon: "simple-icons/facebook", href: "#", label: "Facebook" },
|
|
1258
|
+
{ icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
|
|
1259
|
+
{ icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
|
|
1260
|
+
];
|
|
1261
|
+
var defaultLegalLinks = [
|
|
1262
|
+
{ name: "Terms and Conditions", href: "#" },
|
|
1263
|
+
{ name: "Privacy Policy", href: "#" }
|
|
1264
|
+
];
|
|
1265
|
+
function FooterBrandDescription({
|
|
1266
|
+
logo = {
|
|
1267
|
+
url: "https://opensite.ai",
|
|
1268
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
1269
|
+
alt: "Opensite AI",
|
|
1270
|
+
title: "Opensite AI"
|
|
1271
|
+
},
|
|
1272
|
+
className,
|
|
1273
|
+
sections = defaultSections3,
|
|
1274
|
+
description = "A collection of components for your startup business or side project.",
|
|
1275
|
+
socialLinks = defaultSocialLinks3,
|
|
1276
|
+
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
|
|
1277
|
+
legalLinks = defaultLegalLinks,
|
|
1278
|
+
optixFlowConfig
|
|
1279
|
+
}) {
|
|
1280
|
+
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
|
|
1281
|
+
/* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col justify-between gap-10 lg:flex-row lg:items-start lg:text-left", children: [
|
|
1282
|
+
/* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col justify-between gap-6 lg:items-start", children: [
|
|
1283
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 lg:justify-start", children: [
|
|
1284
|
+
/* @__PURE__ */ jsx("a", { href: logo.url, children: /* @__PURE__ */ jsx(
|
|
1285
|
+
Img,
|
|
1286
|
+
{
|
|
1287
|
+
src: logo.src,
|
|
1288
|
+
alt: logo.alt,
|
|
1289
|
+
className: "h-8",
|
|
1290
|
+
optixFlowConfig
|
|
1291
|
+
}
|
|
1292
|
+
) }),
|
|
1293
|
+
/* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold", children: logo.title })
|
|
1294
|
+
] }),
|
|
1295
|
+
/* @__PURE__ */ jsx("p", { className: "max-w-[70%] text-sm text-muted-foreground", children: description }),
|
|
1296
|
+
/* @__PURE__ */ jsx("ul", { className: "flex items-center space-x-6 text-muted-foreground", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium hover:text-primary", children: /* @__PURE__ */ jsx("a", { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 20 }) }) }, idx)) })
|
|
1297
|
+
] }),
|
|
1298
|
+
/* @__PURE__ */ jsx("div", { className: "grid w-full gap-6 md:grid-cols-3 lg:gap-20", children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
1299
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
1300
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-3 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
|
|
1301
|
+
"li",
|
|
1302
|
+
{
|
|
1303
|
+
className: "font-medium hover:text-primary",
|
|
1304
|
+
children: /* @__PURE__ */ jsx("a", { href: link.href, children: link.name })
|
|
1305
|
+
},
|
|
1306
|
+
linkIdx
|
|
1307
|
+
)) })
|
|
1308
|
+
] }, sectionIdx)) })
|
|
1309
|
+
] }),
|
|
1310
|
+
/* @__PURE__ */ 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: [
|
|
1311
|
+
/* @__PURE__ */ jsxs("div", { className: "order-2 flex flex-col gap-2 lg:order-1 lg:flex-row lg:items-center lg:gap-4", children: [
|
|
1312
|
+
/* @__PURE__ */ jsx("p", { children: copyright }),
|
|
1313
|
+
/* @__PURE__ */ jsx(
|
|
1314
|
+
"a",
|
|
1315
|
+
{
|
|
1316
|
+
href: "https://opensite.ai",
|
|
1317
|
+
className: "hover:text-primary",
|
|
1318
|
+
target: "_blank",
|
|
1319
|
+
rel: "noopener noreferrer",
|
|
1320
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
1321
|
+
}
|
|
1322
|
+
)
|
|
1323
|
+
] }),
|
|
1324
|
+
/* @__PURE__ */ jsx("ul", { className: "order-1 flex flex-col gap-2 md:order-2 md:flex-row", children: legalLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { className: "hover:text-primary", children: /* @__PURE__ */ jsx("a", { href: link.href, children: link.name }) }, idx)) })
|
|
1325
|
+
] })
|
|
1326
|
+
] }) });
|
|
1327
|
+
}
|
|
1328
|
+
var defaultSections4 = [
|
|
1329
|
+
{
|
|
1330
|
+
title: "Product",
|
|
1331
|
+
links: [
|
|
1332
|
+
{ name: "Overview", href: "#" },
|
|
1333
|
+
{ name: "Pricing", href: "#" },
|
|
1334
|
+
{ name: "Marketplace", href: "#" },
|
|
1335
|
+
{ name: "Features", href: "#" },
|
|
1336
|
+
{ name: "Integrations", href: "#" },
|
|
1337
|
+
{ name: "Marketing", href: "#" }
|
|
1338
|
+
]
|
|
1339
|
+
},
|
|
1340
|
+
{
|
|
1341
|
+
title: "Company",
|
|
1342
|
+
links: [
|
|
1343
|
+
{ name: "About", href: "#" },
|
|
1344
|
+
{ name: "Team", href: "#" },
|
|
1345
|
+
{ name: "Blog", href: "#" },
|
|
1346
|
+
{ name: "Careers", href: "#" },
|
|
1347
|
+
{ name: "Contact", href: "#" }
|
|
1348
|
+
]
|
|
1349
|
+
}
|
|
1350
|
+
];
|
|
1351
|
+
var defaultSocialLinks4 = [
|
|
1352
|
+
{ icon: "simple-icons/instagram", href: "#", label: "Instagram" },
|
|
1353
|
+
{ icon: "simple-icons/facebook", href: "#", label: "Facebook" },
|
|
1354
|
+
{ icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
|
|
1355
|
+
{ icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
|
|
1356
|
+
];
|
|
1357
|
+
function FooterNewsletterGrid({
|
|
1358
|
+
logo = {
|
|
1359
|
+
url: "https://opensite.ai",
|
|
1360
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
1361
|
+
alt: "Opensite AI",
|
|
1362
|
+
title: "Opensite AI"
|
|
1363
|
+
},
|
|
1364
|
+
className,
|
|
1365
|
+
description = "A collection of 100+ responsive HTML templates for your startup business or side project.",
|
|
1366
|
+
sections = defaultSections4,
|
|
1367
|
+
socialLinks = defaultSocialLinks4,
|
|
1368
|
+
newsletterTitle = "Newsletter",
|
|
1369
|
+
newsletterPlaceholder = "Email",
|
|
1370
|
+
newsletterButtonText = "Subscribe",
|
|
1371
|
+
privacyText = "By submitting, you agree to our",
|
|
1372
|
+
privacyLinkText = "Privacy Policy",
|
|
1373
|
+
privacyLinkUrl = "#",
|
|
1374
|
+
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
|
|
1375
|
+
optixFlowConfig
|
|
1376
|
+
}) {
|
|
1377
|
+
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
1378
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-4 justify-between gap-10 lg:grid-cols-6 lg:text-left", children: [
|
|
1379
|
+
/* @__PURE__ */ jsxs("div", { className: "col-span-4 flex w-full flex-col gap-6 lg:col-span-2", children: [
|
|
1380
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 lg:justify-start", children: [
|
|
1381
|
+
/* @__PURE__ */ jsx("a", { href: logo.url, children: /* @__PURE__ */ jsx(
|
|
1382
|
+
Img,
|
|
1383
|
+
{
|
|
1384
|
+
src: logo.src,
|
|
1385
|
+
alt: logo.alt,
|
|
1386
|
+
className: "h-8",
|
|
1387
|
+
optixFlowConfig
|
|
1388
|
+
}
|
|
1389
|
+
) }),
|
|
1390
|
+
/* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold", children: logo.title })
|
|
1391
|
+
] }),
|
|
1392
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: description }),
|
|
1393
|
+
/* @__PURE__ */ jsx("ul", { className: "flex items-center space-x-6", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx(
|
|
1394
|
+
"li",
|
|
1395
|
+
{
|
|
1396
|
+
className: "font-medium duration-200 hover:scale-110 hover:text-muted-foreground",
|
|
1397
|
+
children: /* @__PURE__ */ jsx("a", { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 24 }) })
|
|
1398
|
+
},
|
|
1399
|
+
idx
|
|
1400
|
+
)) })
|
|
1401
|
+
] }),
|
|
1402
|
+
sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: "col-span-2 md:col-span-1", children: [
|
|
1403
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-5 font-medium", children: section.title }),
|
|
1404
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-4 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
|
|
1405
|
+
"li",
|
|
1406
|
+
{
|
|
1407
|
+
className: "font-medium hover:text-primary",
|
|
1408
|
+
children: /* @__PURE__ */ jsx("a", { href: link.href, children: link.name })
|
|
1409
|
+
},
|
|
1410
|
+
linkIdx
|
|
1411
|
+
)) })
|
|
1412
|
+
] }, sectionIdx)),
|
|
1413
|
+
/* @__PURE__ */ jsxs("div", { className: "col-span-4 md:col-span-2", children: [
|
|
1414
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-5 font-medium", children: newsletterTitle }),
|
|
1415
|
+
/* @__PURE__ */ jsx("div", { className: "grid gap-1.5", children: /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center space-x-2", children: [
|
|
1416
|
+
/* @__PURE__ */ jsx(
|
|
1417
|
+
"input",
|
|
1418
|
+
{
|
|
1419
|
+
type: "email",
|
|
1420
|
+
placeholder: newsletterPlaceholder,
|
|
1421
|
+
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"
|
|
1422
|
+
}
|
|
1423
|
+
),
|
|
1424
|
+
/* @__PURE__ */ jsx(
|
|
1425
|
+
"button",
|
|
1426
|
+
{
|
|
1427
|
+
type: "submit",
|
|
1428
|
+
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",
|
|
1429
|
+
children: newsletterButtonText
|
|
1430
|
+
}
|
|
1431
|
+
)
|
|
1432
|
+
] }) }),
|
|
1433
|
+
/* @__PURE__ */ jsxs("p", { className: "mt-1 text-xs font-medium text-muted-foreground", children: [
|
|
1434
|
+
privacyText,
|
|
1435
|
+
/* @__PURE__ */ jsx("a", { href: privacyLinkUrl, className: "ml-1 text-primary hover:underline", children: privacyLinkText })
|
|
1436
|
+
] })
|
|
1437
|
+
] })
|
|
1438
|
+
] }),
|
|
1439
|
+
/* @__PURE__ */ 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: [
|
|
1440
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2 lg:flex-row lg:items-center lg:gap-4", children: /* @__PURE__ */ jsxs("p", { children: [
|
|
1441
|
+
/* @__PURE__ */ jsx("span", { className: "mr-1 font-bold text-primary", children: "Opensite AI" }),
|
|
1442
|
+
copyright
|
|
1443
|
+
] }) }),
|
|
1444
|
+
/* @__PURE__ */ jsx(
|
|
1445
|
+
"a",
|
|
1446
|
+
{
|
|
1447
|
+
href: "https://opensite.ai",
|
|
1448
|
+
className: "hover:text-primary",
|
|
1449
|
+
target: "_blank",
|
|
1450
|
+
rel: "noopener noreferrer",
|
|
1451
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
1452
|
+
}
|
|
1453
|
+
)
|
|
1454
|
+
] })
|
|
1455
|
+
] }) }) });
|
|
1456
|
+
}
|
|
1457
|
+
var defaultSections5 = [
|
|
1458
|
+
{
|
|
1459
|
+
title: "Product",
|
|
1460
|
+
links: [
|
|
1461
|
+
{ name: "Overview", href: "#" },
|
|
1462
|
+
{ name: "Pricing", href: "#" },
|
|
1463
|
+
{ name: "Marketplace", href: "#" },
|
|
1464
|
+
{ name: "Features", href: "#" }
|
|
1465
|
+
]
|
|
1466
|
+
},
|
|
1467
|
+
{
|
|
1468
|
+
title: "Company",
|
|
1469
|
+
links: [
|
|
1470
|
+
{ name: "About", href: "#" },
|
|
1471
|
+
{ name: "Team", href: "#" },
|
|
1472
|
+
{ name: "Blog", href: "#" },
|
|
1473
|
+
{ name: "Careers", href: "#" }
|
|
1474
|
+
]
|
|
1475
|
+
},
|
|
1476
|
+
{
|
|
1477
|
+
title: "Resources",
|
|
1478
|
+
links: [
|
|
1479
|
+
{ name: "Help", href: "#" },
|
|
1480
|
+
{ name: "Sales", href: "#" },
|
|
1481
|
+
{ name: "Advertise", href: "#" }
|
|
1482
|
+
]
|
|
1483
|
+
}
|
|
1484
|
+
];
|
|
1485
|
+
var defaultSocialLinks5 = [
|
|
1486
|
+
{ icon: "simple-icons/instagram", href: "#", label: "Instagram" },
|
|
1487
|
+
{ icon: "simple-icons/facebook", href: "#", label: "Facebook" },
|
|
1488
|
+
{ icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
|
|
1489
|
+
{ icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
|
|
1490
|
+
];
|
|
1491
|
+
var defaultLegalLinks2 = [
|
|
1492
|
+
{ name: "Terms and Conditions", href: "#" },
|
|
1493
|
+
{ name: "Privacy Policy", href: "#" }
|
|
1494
|
+
];
|
|
1495
|
+
function FooterCtaBanner({
|
|
1496
|
+
logo = {
|
|
1497
|
+
url: "https://opensite.ai",
|
|
1498
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
1499
|
+
alt: "Opensite AI",
|
|
1500
|
+
title: "Opensite AI"
|
|
1501
|
+
},
|
|
1502
|
+
className,
|
|
1503
|
+
ctaHeading = "Ready to get started?",
|
|
1504
|
+
ctaDescription = "Join thousands of satisfied customers using our platform to build amazing websites.",
|
|
1505
|
+
ctaButtonText = "Get Started",
|
|
1506
|
+
ctaButtonUrl = "#",
|
|
1507
|
+
sections = defaultSections5,
|
|
1508
|
+
socialLinks = defaultSocialLinks5,
|
|
1509
|
+
newsletterLabel = "Subscribe to our newsletter",
|
|
1510
|
+
newsletterPlaceholder = "Enter your email",
|
|
1511
|
+
newsletterButtonText = "Subscribe",
|
|
1512
|
+
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
|
|
1513
|
+
legalLinks = defaultLegalLinks2,
|
|
1514
|
+
optixFlowConfig
|
|
1515
|
+
}) {
|
|
1516
|
+
return /* @__PURE__ */ jsx("section", { className: cn("dark bg-background py-16 text-foreground", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
1517
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-16 rounded-lg bg-primary/10 p-8 text-center md:p-12", children: [
|
|
1518
|
+
/* @__PURE__ */ jsx("h2", { className: "mb-4 text-3xl font-bold md:text-4xl", children: ctaHeading }),
|
|
1519
|
+
/* @__PURE__ */ jsx("p", { className: "mx-auto mb-6 max-w-2xl text-muted-foreground", children: ctaDescription }),
|
|
1520
|
+
/* @__PURE__ */ jsx(
|
|
1521
|
+
"a",
|
|
1522
|
+
{
|
|
1523
|
+
href: ctaButtonUrl,
|
|
1524
|
+
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",
|
|
1525
|
+
children: ctaButtonText
|
|
1526
|
+
}
|
|
1527
|
+
)
|
|
1528
|
+
] }),
|
|
1529
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-10 lg:grid-cols-5", children: [
|
|
1530
|
+
/* @__PURE__ */ jsxs("div", { className: "lg:col-span-2", children: [
|
|
1531
|
+
/* @__PURE__ */ jsxs("a", { href: logo.url, className: "mb-6 flex items-center gap-2", children: [
|
|
1532
|
+
/* @__PURE__ */ jsx(
|
|
1533
|
+
Img,
|
|
1534
|
+
{
|
|
1535
|
+
src: logo.src,
|
|
1536
|
+
alt: logo.alt,
|
|
1537
|
+
className: "h-8 invert",
|
|
1538
|
+
optixFlowConfig
|
|
1539
|
+
}
|
|
1540
|
+
),
|
|
1541
|
+
/* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
|
|
1542
|
+
] }),
|
|
1543
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-6", children: [
|
|
1544
|
+
/* @__PURE__ */ jsx("p", { className: "mb-2 text-sm font-medium", children: newsletterLabel }),
|
|
1545
|
+
/* @__PURE__ */ jsxs("div", { className: "flex max-w-sm gap-2", children: [
|
|
1546
|
+
/* @__PURE__ */ jsx(
|
|
1547
|
+
"input",
|
|
1548
|
+
{
|
|
1549
|
+
type: "email",
|
|
1550
|
+
placeholder: newsletterPlaceholder,
|
|
1551
|
+
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"
|
|
1552
|
+
}
|
|
1553
|
+
),
|
|
1554
|
+
/* @__PURE__ */ jsx(
|
|
1555
|
+
"button",
|
|
1556
|
+
{
|
|
1557
|
+
type: "submit",
|
|
1558
|
+
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",
|
|
1559
|
+
children: newsletterButtonText
|
|
1560
|
+
}
|
|
1561
|
+
)
|
|
1562
|
+
] })
|
|
1563
|
+
] }),
|
|
1564
|
+
/* @__PURE__ */ jsx("ul", { className: "flex items-center gap-4", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1565
|
+
"a",
|
|
1566
|
+
{
|
|
1567
|
+
href: social.href,
|
|
1568
|
+
"aria-label": social.label,
|
|
1569
|
+
className: "text-muted-foreground transition-colors hover:text-foreground",
|
|
1570
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 20 })
|
|
1571
|
+
}
|
|
1572
|
+
) }, idx)) })
|
|
1573
|
+
] }),
|
|
1574
|
+
sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
1575
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-4 font-semibold", children: section.title }),
|
|
1576
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-3 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", { href: link.href, className: "hover:text-foreground", children: link.name }) }, linkIdx)) })
|
|
1577
|
+
] }, sectionIdx))
|
|
1578
|
+
] }),
|
|
1579
|
+
/* @__PURE__ */ 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: [
|
|
1580
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
|
|
1581
|
+
/* @__PURE__ */ jsx("p", { children: copyright }),
|
|
1582
|
+
/* @__PURE__ */ jsx(
|
|
1583
|
+
"a",
|
|
1584
|
+
{
|
|
1585
|
+
href: "https://opensite.ai",
|
|
1586
|
+
className: "hover:text-foreground",
|
|
1587
|
+
target: "_blank",
|
|
1588
|
+
rel: "noopener noreferrer",
|
|
1589
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
1590
|
+
}
|
|
1591
|
+
)
|
|
1592
|
+
] }),
|
|
1593
|
+
/* @__PURE__ */ jsx("ul", { className: "flex gap-4", children: legalLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", { href: link.href, className: "hover:text-foreground", children: link.name }) }, idx)) })
|
|
1594
|
+
] })
|
|
1595
|
+
] }) }) });
|
|
1596
|
+
}
|
|
1597
|
+
var defaultSocialLinks6 = [
|
|
1598
|
+
{ icon: "simple-icons/instagram", href: "#", label: "Instagram" },
|
|
1599
|
+
{ icon: "simple-icons/facebook", href: "#", label: "Facebook" },
|
|
1600
|
+
{ icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
|
|
1601
|
+
{ icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
|
|
1602
|
+
];
|
|
1603
|
+
var defaultNavLinks = [
|
|
1604
|
+
{ name: "Home", href: "#" },
|
|
1605
|
+
{ name: "About", href: "#" },
|
|
1606
|
+
{ name: "Services", href: "#" },
|
|
1607
|
+
{ name: "Contact", href: "#" }
|
|
1608
|
+
];
|
|
1609
|
+
function FooterContactCard({
|
|
1610
|
+
logo = {
|
|
1611
|
+
url: "https://opensite.ai",
|
|
1612
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
1613
|
+
alt: "Opensite AI",
|
|
1614
|
+
title: "Opensite AI"
|
|
1615
|
+
},
|
|
1616
|
+
className,
|
|
1617
|
+
heading = "Let's work together",
|
|
1618
|
+
email = "hello@opensite.ai",
|
|
1619
|
+
phone = "+1 (555) 123-4567",
|
|
1620
|
+
address = "123 Main Street, San Francisco, CA 94102",
|
|
1621
|
+
socialLinks = defaultSocialLinks6,
|
|
1622
|
+
navLinks = defaultNavLinks,
|
|
1623
|
+
location = "San Francisco",
|
|
1624
|
+
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
|
|
1625
|
+
optixFlowConfig
|
|
1626
|
+
}) {
|
|
1627
|
+
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
1628
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-12 lg:grid-cols-2", children: [
|
|
1629
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
1630
|
+
/* @__PURE__ */ jsxs("a", { href: logo.url, className: "mb-8 flex items-center gap-2", children: [
|
|
1631
|
+
/* @__PURE__ */ jsx(
|
|
1632
|
+
Img,
|
|
1633
|
+
{
|
|
1634
|
+
src: logo.src,
|
|
1635
|
+
alt: logo.alt,
|
|
1636
|
+
className: "h-10",
|
|
1637
|
+
optixFlowConfig
|
|
1638
|
+
}
|
|
1639
|
+
),
|
|
1640
|
+
/* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
|
|
1641
|
+
] }),
|
|
1642
|
+
/* @__PURE__ */ jsx("h2", { className: "mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", children: heading }),
|
|
1643
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-4 text-muted-foreground", children: [
|
|
1644
|
+
/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("a", { href: `mailto:${email}`, className: "hover:text-primary", children: email }) }),
|
|
1645
|
+
/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("a", { href: `tel:${phone}`, className: "hover:text-primary", children: phone }) }),
|
|
1646
|
+
/* @__PURE__ */ jsx("p", { children: address })
|
|
1647
|
+
] })
|
|
1648
|
+
] }),
|
|
1649
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between", children: [
|
|
1650
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
1651
|
+
/* @__PURE__ */ jsx("p", { className: "mb-4 font-medium", children: "Follow Us" }),
|
|
1652
|
+
/* @__PURE__ */ jsx("ul", { className: "flex items-center gap-4", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1653
|
+
"a",
|
|
1654
|
+
{
|
|
1655
|
+
href: social.href,
|
|
1656
|
+
"aria-label": social.label,
|
|
1657
|
+
className: "flex size-12 items-center justify-center rounded-full bg-muted text-muted-foreground transition-colors hover:bg-primary hover:text-primary-foreground",
|
|
1658
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 20 })
|
|
1659
|
+
}
|
|
1660
|
+
) }, idx)) })
|
|
1661
|
+
] }),
|
|
1662
|
+
/* @__PURE__ */ jsx("nav", { className: "mt-8", children: /* @__PURE__ */ jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1663
|
+
"a",
|
|
1664
|
+
{
|
|
1665
|
+
href: link.href,
|
|
1666
|
+
className: "text-muted-foreground hover:text-primary",
|
|
1667
|
+
children: link.name
|
|
1668
|
+
}
|
|
1669
|
+
) }, idx)) }) })
|
|
1670
|
+
] })
|
|
1671
|
+
] }),
|
|
1672
|
+
/* @__PURE__ */ 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: [
|
|
1673
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
|
|
1674
|
+
/* @__PURE__ */ jsx("p", { children: copyright }),
|
|
1675
|
+
/* @__PURE__ */ jsx(
|
|
1676
|
+
"a",
|
|
1677
|
+
{
|
|
1678
|
+
href: "https://opensite.ai",
|
|
1679
|
+
className: "hover:text-primary",
|
|
1680
|
+
target: "_blank",
|
|
1681
|
+
rel: "noopener noreferrer",
|
|
1682
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
1683
|
+
}
|
|
1684
|
+
)
|
|
1685
|
+
] }),
|
|
1686
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
1687
|
+
"Designed in ",
|
|
1688
|
+
/* @__PURE__ */ jsx("strong", { children: location })
|
|
1689
|
+
] })
|
|
1690
|
+
] })
|
|
1691
|
+
] }) }) });
|
|
1692
|
+
}
|
|
1693
|
+
var defaultMenuItems2 = [
|
|
1694
|
+
{
|
|
1695
|
+
title: "Portfolio",
|
|
1696
|
+
links: [
|
|
1697
|
+
{ text: "Overview", url: "#" },
|
|
1698
|
+
{ text: "Projects", url: "#" },
|
|
1699
|
+
{ text: "Pricing", url: "#" },
|
|
1700
|
+
{ text: "About", url: "#" }
|
|
1701
|
+
]
|
|
1702
|
+
},
|
|
1703
|
+
{
|
|
1704
|
+
title: "Social",
|
|
1705
|
+
links: [
|
|
1706
|
+
{ text: "Twitter", url: "#" },
|
|
1707
|
+
{ text: "Instagram", url: "#" },
|
|
1708
|
+
{ text: "LinkedIn", url: "#" }
|
|
1709
|
+
]
|
|
1710
|
+
}
|
|
1711
|
+
];
|
|
1712
|
+
var defaultContact = {
|
|
1713
|
+
phone: "+1 (555) 123-4567",
|
|
1714
|
+
email: "hello@opensite.ai",
|
|
1715
|
+
location: "NYC",
|
|
1716
|
+
timezone: "EST"
|
|
1717
|
+
};
|
|
1718
|
+
var defaultBottomLinks3 = [
|
|
1719
|
+
{ text: "Terms and Conditions", url: "#" },
|
|
1720
|
+
{ text: "Privacy Policy", url: "#" }
|
|
1721
|
+
];
|
|
1722
|
+
function FooterBackgroundCard({
|
|
1723
|
+
logo = {
|
|
1724
|
+
url: "https://opensite.ai",
|
|
1725
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
1726
|
+
alt: "Opensite AI",
|
|
1727
|
+
title: "Opensite AI"
|
|
1728
|
+
},
|
|
1729
|
+
className,
|
|
1730
|
+
backgroundImage = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=80",
|
|
1731
|
+
profileImage = "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=200&q=80",
|
|
1732
|
+
tagline = "Let's Connect",
|
|
1733
|
+
personalMessage = "I'm passionate about creating beautiful, functional components that make your projects shine. Let's work together to bring your vision to life.",
|
|
1734
|
+
ctaText = "Schedule a call",
|
|
1735
|
+
ctaUrl = "#",
|
|
1736
|
+
contact = defaultContact,
|
|
1737
|
+
menuItems = defaultMenuItems2,
|
|
1738
|
+
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
|
|
1739
|
+
bottomLinks = defaultBottomLinks3,
|
|
1740
|
+
optixFlowConfig
|
|
1741
|
+
}) {
|
|
1742
|
+
return /* @__PURE__ */ jsx(
|
|
1743
|
+
"section",
|
|
1744
|
+
{
|
|
1745
|
+
className: cn("bg-cover bg-center bg-no-repeat py-32", className),
|
|
1746
|
+
style: {
|
|
1747
|
+
backgroundImage: `url('${backgroundImage}')`
|
|
1748
|
+
},
|
|
1749
|
+
children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-7xl rounded-lg bg-background p-8 shadow-lg md:p-12", children: [
|
|
1750
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12", children: [
|
|
1751
|
+
/* @__PURE__ */ jsxs("div", { className: "lg:col-span-1", children: [
|
|
1752
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
|
|
1753
|
+
/* @__PURE__ */ jsx(
|
|
1754
|
+
Img,
|
|
1755
|
+
{
|
|
1756
|
+
src: profileImage,
|
|
1757
|
+
alt: "Profile",
|
|
1758
|
+
className: "h-16 w-16 rounded-full object-cover",
|
|
1759
|
+
optixFlowConfig
|
|
1760
|
+
}
|
|
1761
|
+
),
|
|
1762
|
+
/* @__PURE__ */ jsx("h3", { className: "text-2xl font-medium", children: tagline })
|
|
1763
|
+
] }),
|
|
1764
|
+
/* @__PURE__ */ jsx("p", { className: "mb-6 text-sm leading-relaxed text-muted-foreground", children: personalMessage }),
|
|
1765
|
+
/* @__PURE__ */ jsx(
|
|
1766
|
+
"a",
|
|
1767
|
+
{
|
|
1768
|
+
href: ctaUrl,
|
|
1769
|
+
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",
|
|
1770
|
+
children: ctaText
|
|
1771
|
+
}
|
|
1772
|
+
)
|
|
1773
|
+
] }),
|
|
1774
|
+
menuItems.map((menu, idx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
1775
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-4 text-sm font-medium tracking-wider text-primary uppercase", children: menu.title }),
|
|
1776
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1777
|
+
"a",
|
|
1778
|
+
{
|
|
1779
|
+
href: link.url,
|
|
1780
|
+
className: "border-b border-transparent text-muted-foreground transition-all duration-300 ease-in-out hover:border-primary hover:text-primary",
|
|
1781
|
+
children: link.text
|
|
1782
|
+
}
|
|
1783
|
+
) }, index)) })
|
|
1784
|
+
] }, idx)),
|
|
1785
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
1786
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-4 text-sm font-medium tracking-wider text-primary uppercase", children: "Contact" }),
|
|
1787
|
+
/* @__PURE__ */ jsxs("ul", { className: "space-y-3", children: [
|
|
1788
|
+
/* @__PURE__ */ jsx("li", { className: "text-muted-foreground", children: contact.phone }),
|
|
1789
|
+
/* @__PURE__ */ jsx("li", { className: "text-muted-foreground", children: contact.email }),
|
|
1790
|
+
/* @__PURE__ */ jsxs("li", { className: "text-muted-foreground", children: [
|
|
1791
|
+
contact.location,
|
|
1792
|
+
" \u2022 ",
|
|
1793
|
+
contact.timezone
|
|
1794
|
+
] })
|
|
1795
|
+
] })
|
|
1796
|
+
] })
|
|
1797
|
+
] }),
|
|
1798
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-12 flex flex-col items-center justify-between gap-4 border-t border-border pt-8 md:flex-row", children: [
|
|
1799
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 text-sm text-muted-foreground md:flex-row md:items-center md:gap-4", children: [
|
|
1800
|
+
/* @__PURE__ */ jsx("p", { children: copyright }),
|
|
1801
|
+
/* @__PURE__ */ jsx(
|
|
1802
|
+
"a",
|
|
1803
|
+
{
|
|
1804
|
+
href: "https://opensite.ai",
|
|
1805
|
+
className: "hover:text-primary",
|
|
1806
|
+
target: "_blank",
|
|
1807
|
+
rel: "noopener noreferrer",
|
|
1808
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
1809
|
+
}
|
|
1810
|
+
)
|
|
1811
|
+
] }),
|
|
1812
|
+
/* @__PURE__ */ jsx("div", { className: "flex gap-4", children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(
|
|
1813
|
+
"a",
|
|
1814
|
+
{
|
|
1815
|
+
href: link.url,
|
|
1816
|
+
className: "text-sm text-muted-foreground transition-colors hover:text-primary",
|
|
1817
|
+
children: link.text
|
|
1818
|
+
},
|
|
1819
|
+
idx
|
|
1820
|
+
)) })
|
|
1821
|
+
] })
|
|
1822
|
+
] }) })
|
|
1823
|
+
}
|
|
1824
|
+
);
|
|
1825
|
+
}
|
|
1826
|
+
var defaultSocialLinks7 = [
|
|
1827
|
+
{ name: "Instagram", href: "#" },
|
|
1828
|
+
{ name: "X (Twitter)", href: "#" }
|
|
1829
|
+
];
|
|
1830
|
+
var containerVariants = {
|
|
1831
|
+
hidden: { opacity: 0 },
|
|
1832
|
+
visible: {
|
|
1833
|
+
opacity: 1,
|
|
1834
|
+
transition: {
|
|
1835
|
+
duration: 0.6,
|
|
1836
|
+
staggerChildren: 0.1
|
|
1837
|
+
}
|
|
1838
|
+
}
|
|
1839
|
+
};
|
|
1840
|
+
var itemVariants = {
|
|
1841
|
+
hidden: { opacity: 0, y: 20 },
|
|
1842
|
+
visible: {
|
|
1843
|
+
opacity: 1,
|
|
1844
|
+
y: 0,
|
|
1845
|
+
transition: { duration: 0.5 }
|
|
1846
|
+
}
|
|
1847
|
+
};
|
|
1848
|
+
function FooterAnimatedSocial({
|
|
1849
|
+
className,
|
|
1850
|
+
heading = "Connect with Me",
|
|
1851
|
+
description = "No commitments. Just a quick chat to see if we click.",
|
|
1852
|
+
ctaText = "Get in Touch",
|
|
1853
|
+
ctaUrl = "#",
|
|
1854
|
+
socialLinks = defaultSocialLinks7,
|
|
1855
|
+
copyright = `\xA9 Copyright ${(/* @__PURE__ */ new Date()).getFullYear()}. All rights Reserved.`
|
|
1856
|
+
}) {
|
|
1857
|
+
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsx("footer", { children: /* @__PURE__ */ jsxs("div", { children: [
|
|
1858
|
+
/* @__PURE__ */ jsxs(
|
|
1859
|
+
motion.div,
|
|
1860
|
+
{
|
|
1861
|
+
variants: containerVariants,
|
|
1862
|
+
initial: "hidden",
|
|
1863
|
+
whileInView: "visible",
|
|
1864
|
+
viewport: { once: true },
|
|
1865
|
+
className: "flex flex-col justify-between md:flex-row md:items-center",
|
|
1866
|
+
children: [
|
|
1867
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-8", children: [
|
|
1868
|
+
/* @__PURE__ */ jsxs(motion.div, { variants: itemVariants, className: "space-y-6", children: [
|
|
1869
|
+
/* @__PURE__ */ jsx("h2", { className: "text-4xl leading-tight font-bold text-foreground lg:text-5xl", children: heading }),
|
|
1870
|
+
/* @__PURE__ */ jsx("p", { className: "max-w-md text-lg leading-relaxed text-muted-foreground", children: description })
|
|
1871
|
+
] }),
|
|
1872
|
+
/* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
|
|
1873
|
+
"a",
|
|
1874
|
+
{
|
|
1875
|
+
href: ctaUrl,
|
|
1876
|
+
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",
|
|
1877
|
+
children: ctaText
|
|
1878
|
+
}
|
|
1879
|
+
) })
|
|
1880
|
+
] }),
|
|
1881
|
+
/* @__PURE__ */ jsx("div", { className: "mt-5 space-y-8 md:mt-0", children: /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx("div", { className: "space-y-6", children: socialLinks.map((link) => /* @__PURE__ */ jsx(
|
|
1882
|
+
motion.div,
|
|
1883
|
+
{
|
|
1884
|
+
variants: itemVariants,
|
|
1885
|
+
whileHover: { x: 4 },
|
|
1886
|
+
transition: {
|
|
1887
|
+
type: "spring",
|
|
1888
|
+
stiffness: 300,
|
|
1889
|
+
damping: 20
|
|
1890
|
+
},
|
|
1891
|
+
children: /* @__PURE__ */ jsxs(
|
|
1892
|
+
"a",
|
|
1893
|
+
{
|
|
1894
|
+
href: link.href,
|
|
1895
|
+
className: "group flex items-center gap-2 py-2 text-foreground transition-colors hover:text-foreground/80",
|
|
1896
|
+
children: [
|
|
1897
|
+
/* @__PURE__ */ jsx("span", { className: "text-xl font-medium", children: link.name }),
|
|
1898
|
+
/* @__PURE__ */ jsx(
|
|
1899
|
+
DynamicIcon,
|
|
1900
|
+
{
|
|
1901
|
+
name: "lucide/arrow-up-right",
|
|
1902
|
+
size: 24,
|
|
1903
|
+
className: "transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5"
|
|
1904
|
+
}
|
|
1905
|
+
)
|
|
1906
|
+
]
|
|
1907
|
+
}
|
|
1908
|
+
)
|
|
1909
|
+
},
|
|
1910
|
+
link.name
|
|
1911
|
+
)) }) }) })
|
|
1912
|
+
]
|
|
1913
|
+
}
|
|
1914
|
+
),
|
|
1915
|
+
/* @__PURE__ */ jsxs(
|
|
1916
|
+
motion.div,
|
|
1917
|
+
{
|
|
1918
|
+
variants: containerVariants,
|
|
1919
|
+
initial: "hidden",
|
|
1920
|
+
whileInView: "visible",
|
|
1921
|
+
viewport: { once: true },
|
|
1922
|
+
className: "mt-16",
|
|
1923
|
+
children: [
|
|
1924
|
+
/* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx("div", { className: "mb-8 h-px w-full bg-border" }) }),
|
|
1925
|
+
/* @__PURE__ */ jsxs(
|
|
1926
|
+
motion.div,
|
|
1927
|
+
{
|
|
1928
|
+
variants: itemVariants,
|
|
1929
|
+
className: "flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center",
|
|
1930
|
+
children: [
|
|
1931
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: copyright }),
|
|
1932
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-6 text-sm", children: /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: /* @__PURE__ */ jsx(
|
|
1933
|
+
motion.a,
|
|
1934
|
+
{
|
|
1935
|
+
href: "https://opensite.ai",
|
|
1936
|
+
className: "underline underline-offset-4 transition-colors hover:text-foreground",
|
|
1937
|
+
whileHover: { scale: 1.05 },
|
|
1938
|
+
transition: {
|
|
1939
|
+
type: "spring",
|
|
1940
|
+
stiffness: 300,
|
|
1941
|
+
damping: 20
|
|
1942
|
+
},
|
|
1943
|
+
target: "_blank",
|
|
1944
|
+
rel: "noopener noreferrer",
|
|
1945
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
1946
|
+
}
|
|
1947
|
+
) }) })
|
|
1948
|
+
]
|
|
1949
|
+
}
|
|
1950
|
+
)
|
|
1951
|
+
]
|
|
1952
|
+
}
|
|
1953
|
+
)
|
|
1954
|
+
] }) }) }) });
|
|
1955
|
+
}
|
|
1956
|
+
var defaultNavLinks2 = [
|
|
1957
|
+
{ label: "Home", href: "#" },
|
|
1958
|
+
{ label: "Collection", href: "#" },
|
|
1959
|
+
{ label: "Projects", href: "#" },
|
|
1960
|
+
{ label: "Pricing", href: "#" },
|
|
1961
|
+
{ label: "Login", href: "#" }
|
|
1962
|
+
];
|
|
1963
|
+
var defaultSocialLinks8 = [
|
|
1964
|
+
{ label: "Linkedin", href: "#" },
|
|
1965
|
+
{ label: "Twitter", href: "#" },
|
|
1966
|
+
{ label: "Facebook", href: "#" }
|
|
1967
|
+
];
|
|
1968
|
+
var defaultFooterLinks = [
|
|
1969
|
+
{ label: "Privacy Policy", href: "#" },
|
|
1970
|
+
{ label: "Terms & Conditions", href: "#" }
|
|
1971
|
+
];
|
|
1972
|
+
function FooterNewsletterMinimal({
|
|
1973
|
+
className,
|
|
1974
|
+
heading = "Unlock 800+ blocks now",
|
|
1975
|
+
supportEmail = "hi@opensite.ai",
|
|
1976
|
+
navLinks = defaultNavLinks2,
|
|
1977
|
+
socialLinks = defaultSocialLinks8,
|
|
1978
|
+
footerLinks = defaultFooterLinks,
|
|
1979
|
+
newsletterLabel = "Sign up for newsletter :",
|
|
1980
|
+
newsletterPlaceholder = "Name*",
|
|
1981
|
+
location = "San Francisco, CA"
|
|
1982
|
+
}) {
|
|
1983
|
+
return /* @__PURE__ */ jsx(
|
|
1984
|
+
"section",
|
|
1985
|
+
{
|
|
1986
|
+
className: cn("dark bg-background py-32 text-foreground", className),
|
|
1987
|
+
children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
|
|
1988
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-15 lg:flex-row", children: [
|
|
1989
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-10", children: [
|
|
1990
|
+
/* @__PURE__ */ jsx("p", { className: "relative text-4xl font-medium tracking-tight lg:text-5xl", children: heading }),
|
|
1991
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1 text-sm font-light tracking-tight lg:text-base", children: [
|
|
1992
|
+
/* @__PURE__ */ jsx("p", { children: "Get Support : " }),
|
|
1993
|
+
/* @__PURE__ */ jsx("a", { href: `mailto:${supportEmail}`, children: supportEmail })
|
|
1994
|
+
] })
|
|
1995
|
+
] }),
|
|
1996
|
+
/* @__PURE__ */ jsxs("div", { className: "grid w-full max-w-xs grid-cols-2 gap-10 text-sm font-light lg:text-base", children: [
|
|
1997
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-1", children: navLinks.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1998
|
+
"a",
|
|
1999
|
+
{
|
|
2000
|
+
href: item.href,
|
|
2001
|
+
className: "tracking-tight text-foreground hover:text-foreground/30",
|
|
2002
|
+
children: item.label
|
|
2003
|
+
}
|
|
2004
|
+
) }, item.label)) }),
|
|
2005
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-1", children: socialLinks.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
|
|
2006
|
+
"a",
|
|
2007
|
+
{
|
|
2008
|
+
href: item.href,
|
|
2009
|
+
className: "group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30",
|
|
2010
|
+
children: [
|
|
2011
|
+
item.label,
|
|
2012
|
+
" ",
|
|
2013
|
+
/* @__PURE__ */ jsx(
|
|
2014
|
+
DynamicIcon,
|
|
2015
|
+
{
|
|
2016
|
+
name: "lucide/arrow-up-right",
|
|
2017
|
+
size: 14,
|
|
2018
|
+
className: "text-foreground group-hover:text-muted-foreground/50"
|
|
2019
|
+
}
|
|
2020
|
+
)
|
|
2021
|
+
]
|
|
2022
|
+
}
|
|
2023
|
+
) }, item.label)) })
|
|
2024
|
+
] })
|
|
2025
|
+
] }),
|
|
2026
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-20 flex flex-col justify-between gap-15 lg:flex-row", children: [
|
|
2027
|
+
/* @__PURE__ */ jsx("div", { className: "flex w-full max-w-md flex-col gap-10", children: /* @__PURE__ */ jsxs("div", { className: "space-y-1 text-sm font-light tracking-tight lg:text-base", children: [
|
|
2028
|
+
/* @__PURE__ */ jsx("p", { children: newsletterLabel }),
|
|
2029
|
+
/* @__PURE__ */ jsxs("form", { className: "flex w-full items-end border-b border-b-foreground/10", children: [
|
|
2030
|
+
/* @__PURE__ */ jsx(
|
|
2031
|
+
"input",
|
|
2032
|
+
{
|
|
2033
|
+
type: "text",
|
|
2034
|
+
placeholder: newsletterPlaceholder,
|
|
2035
|
+
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"
|
|
2036
|
+
}
|
|
2037
|
+
),
|
|
2038
|
+
/* @__PURE__ */ jsx("button", { type: "submit", className: "p-2 hover:bg-muted/20", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 20 }) })
|
|
2039
|
+
] })
|
|
2040
|
+
] }) }),
|
|
2041
|
+
/* @__PURE__ */ jsxs("div", { className: "grid w-full max-w-xs grid-cols-2 gap-10 text-sm font-light lg:text-base", children: [
|
|
2042
|
+
/* @__PURE__ */ jsx("div", { className: "w-32", children: location }),
|
|
2043
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-1", children: footerLinks.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2044
|
+
"a",
|
|
2045
|
+
{
|
|
2046
|
+
href: item.href,
|
|
2047
|
+
className: "group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30",
|
|
2048
|
+
children: item.label
|
|
2049
|
+
}
|
|
2050
|
+
) }, item.label)) })
|
|
2051
|
+
] })
|
|
2052
|
+
] }),
|
|
2053
|
+
/* @__PURE__ */ jsx("div", { className: "mt-20 w-full lg:mt-32", children: /* @__PURE__ */ jsx(
|
|
2054
|
+
motion.div,
|
|
2055
|
+
{
|
|
2056
|
+
initial: { opacity: 0, y: 20 },
|
|
2057
|
+
whileInView: { opacity: 1, y: 0 },
|
|
2058
|
+
viewport: { once: true },
|
|
2059
|
+
transition: { duration: 0.6 },
|
|
2060
|
+
className: "text-center",
|
|
2061
|
+
children: /* @__PURE__ */ jsx("span", { className: "text-6xl font-bold tracking-tighter md:text-8xl lg:text-9xl", children: "OPENSITE" })
|
|
2062
|
+
}
|
|
2063
|
+
) }),
|
|
2064
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-8 text-center text-sm text-muted-foreground", children: [
|
|
2065
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
2066
|
+
"\xA9 ",
|
|
2067
|
+
(/* @__PURE__ */ new Date()).getFullYear(),
|
|
2068
|
+
" Opensite AI. All rights reserved."
|
|
2069
|
+
] }),
|
|
2070
|
+
/* @__PURE__ */ jsx(
|
|
2071
|
+
"a",
|
|
2072
|
+
{
|
|
2073
|
+
href: "https://opensite.ai",
|
|
2074
|
+
className: "mt-2 inline-block hover:text-foreground",
|
|
2075
|
+
target: "_blank",
|
|
2076
|
+
rel: "noopener noreferrer",
|
|
2077
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
2078
|
+
}
|
|
2079
|
+
)
|
|
2080
|
+
] })
|
|
2081
|
+
] })
|
|
2082
|
+
}
|
|
2083
|
+
);
|
|
2084
|
+
}
|
|
2085
|
+
var defaultSocialLinks9 = [
|
|
2086
|
+
{ icon: "lucide/twitter", url: "#", label: "Twitter" },
|
|
2087
|
+
{ icon: "lucide/instagram", url: "#", label: "Instagram" },
|
|
2088
|
+
{ icon: "lucide/facebook", url: "#", label: "Facebook" }
|
|
2089
|
+
];
|
|
2090
|
+
function FooterCtaSocial({
|
|
2091
|
+
className,
|
|
2092
|
+
preHeading = "Let's connect",
|
|
2093
|
+
heading = "You want to scale faster? Try Opensite today.",
|
|
2094
|
+
description = "Join thousands of companies already using our platform to scale their operations",
|
|
2095
|
+
buttonText = "Get Started Now",
|
|
2096
|
+
buttonUrl = "#",
|
|
2097
|
+
email = "hello@opensite.ai",
|
|
2098
|
+
socialLinks = defaultSocialLinks9
|
|
2099
|
+
}) {
|
|
2100
|
+
return /* @__PURE__ */ jsx("section", { className: cn("relative py-32", className), children: /* @__PURE__ */ jsx("div", { className: "relative z-10 container", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto flex max-w-3xl flex-col items-center gap-2 text-center", children: [
|
|
2101
|
+
/* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-4", children: [
|
|
2102
|
+
/* @__PURE__ */ 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" }),
|
|
2103
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground italic md:text-base", children: preHeading }),
|
|
2104
|
+
/* @__PURE__ */ 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" })
|
|
2105
|
+
] }),
|
|
2106
|
+
/* @__PURE__ */ jsx("h2", { className: "py-6 text-5xl font-bold md:text-6xl", children: heading }),
|
|
2107
|
+
/* @__PURE__ */ jsx("p", { className: "max-w-2xl text-base text-muted-foreground md:text-lg", children: description }),
|
|
2108
|
+
/* @__PURE__ */ jsxs(
|
|
2109
|
+
"a",
|
|
2110
|
+
{
|
|
2111
|
+
href: buttonUrl,
|
|
2112
|
+
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",
|
|
2113
|
+
children: [
|
|
2114
|
+
/* @__PURE__ */ jsx("span", { children: buttonText }),
|
|
2115
|
+
/* @__PURE__ */ jsx(
|
|
2116
|
+
DynamicIcon,
|
|
2117
|
+
{
|
|
2118
|
+
name: "lucide/arrow-up-right",
|
|
2119
|
+
size: 16,
|
|
2120
|
+
className: "transition-transform group-hover:translate-x-1 group-hover:-translate-y-1"
|
|
2121
|
+
}
|
|
2122
|
+
)
|
|
2123
|
+
]
|
|
2124
|
+
}
|
|
2125
|
+
),
|
|
2126
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-6 pt-8", children: socialLinks.map((link, idx) => /* @__PURE__ */ jsxs(React4.Fragment, { children: [
|
|
2127
|
+
/* @__PURE__ */ jsx(
|
|
2128
|
+
"a",
|
|
2129
|
+
{
|
|
2130
|
+
href: link.url,
|
|
2131
|
+
className: "text-muted-foreground transition-colors hover:text-foreground",
|
|
2132
|
+
"aria-label": link.label,
|
|
2133
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 20 })
|
|
2134
|
+
}
|
|
2135
|
+
),
|
|
2136
|
+
idx < socialLinks.length - 1 && /* @__PURE__ */ jsx("div", { className: "h-4 w-px bg-border" })
|
|
2137
|
+
] }, idx)) }),
|
|
2138
|
+
/* @__PURE__ */ jsx("p", { className: "pt-2 text-sm text-muted-foreground md:text-base", children: /* @__PURE__ */ jsx(
|
|
2139
|
+
"a",
|
|
2140
|
+
{
|
|
2141
|
+
href: `mailto:${email}`,
|
|
2142
|
+
className: "transition-colors hover:text-foreground",
|
|
2143
|
+
children: email
|
|
2144
|
+
}
|
|
2145
|
+
) }),
|
|
2146
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-8 border-t pt-8 text-sm text-muted-foreground", children: [
|
|
2147
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
2148
|
+
"\xA9 ",
|
|
2149
|
+
(/* @__PURE__ */ new Date()).getFullYear(),
|
|
2150
|
+
" Opensite AI. All rights reserved."
|
|
2151
|
+
] }),
|
|
2152
|
+
/* @__PURE__ */ jsx(
|
|
2153
|
+
"a",
|
|
2154
|
+
{
|
|
2155
|
+
href: "https://opensite.ai",
|
|
2156
|
+
className: "mt-2 inline-block hover:text-foreground",
|
|
2157
|
+
target: "_blank",
|
|
2158
|
+
rel: "noopener noreferrer",
|
|
2159
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
2160
|
+
}
|
|
2161
|
+
)
|
|
2162
|
+
] })
|
|
2163
|
+
] }) }) });
|
|
2164
|
+
}
|
|
2165
|
+
var defaultSections6 = [
|
|
2166
|
+
{
|
|
2167
|
+
title: "Product",
|
|
2168
|
+
links: [
|
|
2169
|
+
{ name: "Overview", href: "#" },
|
|
2170
|
+
{ name: "Pricing", href: "#" },
|
|
2171
|
+
{ name: "Marketplace", href: "#" },
|
|
2172
|
+
{ name: "Features", href: "#" }
|
|
2173
|
+
]
|
|
2174
|
+
},
|
|
2175
|
+
{
|
|
2176
|
+
title: "Company",
|
|
2177
|
+
links: [
|
|
2178
|
+
{ name: "About", href: "#" },
|
|
2179
|
+
{ name: "Team", href: "#" },
|
|
2180
|
+
{ name: "Blog", href: "#" },
|
|
2181
|
+
{ name: "Careers", href: "#" }
|
|
2182
|
+
]
|
|
2183
|
+
},
|
|
2184
|
+
{
|
|
2185
|
+
title: "Resources",
|
|
2186
|
+
links: [
|
|
2187
|
+
{ name: "Help", href: "#" },
|
|
2188
|
+
{ name: "Sales", href: "#" },
|
|
2189
|
+
{ name: "Advertise", href: "#" }
|
|
2190
|
+
]
|
|
2191
|
+
}
|
|
2192
|
+
];
|
|
2193
|
+
var defaultSocialLinks10 = [
|
|
2194
|
+
{ icon: "simple-icons/instagram", href: "#", label: "Instagram" },
|
|
2195
|
+
{ icon: "simple-icons/facebook", href: "#", label: "Facebook" },
|
|
2196
|
+
{ icon: "simple-icons/x", href: "#", label: "X (Twitter)" },
|
|
2197
|
+
{ icon: "simple-icons/linkedin", href: "#", label: "LinkedIn" }
|
|
2198
|
+
];
|
|
2199
|
+
var defaultLegalLinks3 = [
|
|
2200
|
+
{ name: "Terms and Conditions", href: "#" },
|
|
2201
|
+
{ name: "Privacy Policy", href: "#" }
|
|
2202
|
+
];
|
|
2203
|
+
function FooterNavSocial({
|
|
2204
|
+
logo = {
|
|
2205
|
+
url: "https://opensite.ai",
|
|
2206
|
+
src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
|
|
2207
|
+
alt: "Opensite AI",
|
|
2208
|
+
title: "Opensite AI"
|
|
2209
|
+
},
|
|
2210
|
+
className,
|
|
2211
|
+
sections = defaultSections6,
|
|
2212
|
+
socialLinks = defaultSocialLinks10,
|
|
2213
|
+
newsletterHeading = "Stay Updated",
|
|
2214
|
+
newsletterDescription = "Subscribe to our newsletter for the latest updates and news.",
|
|
2215
|
+
newsletterPlaceholder = "Enter your email",
|
|
2216
|
+
newsletterButtonText = "Subscribe",
|
|
2217
|
+
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Opensite AI. All rights reserved.`,
|
|
2218
|
+
legalLinks = defaultLegalLinks3,
|
|
2219
|
+
optixFlowConfig
|
|
2220
|
+
}) {
|
|
2221
|
+
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
2222
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-10 lg:grid-cols-2", children: [
|
|
2223
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
2224
|
+
/* @__PURE__ */ jsxs("a", { href: logo.url, className: "mb-8 flex items-center gap-2", children: [
|
|
2225
|
+
/* @__PURE__ */ jsx(
|
|
2226
|
+
Img,
|
|
2227
|
+
{
|
|
2228
|
+
src: logo.src,
|
|
2229
|
+
alt: logo.alt,
|
|
2230
|
+
className: "h-10",
|
|
2231
|
+
optixFlowConfig
|
|
2232
|
+
}
|
|
2233
|
+
),
|
|
2234
|
+
/* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
|
|
2235
|
+
] }),
|
|
2236
|
+
/* @__PURE__ */ jsx("div", { className: "grid gap-8 sm:grid-cols-3", children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
2237
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-4 font-semibold", children: section.title }),
|
|
2238
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-3 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", { href: link.href, className: "hover:text-primary", children: link.name }) }, linkIdx)) })
|
|
2239
|
+
] }, sectionIdx)) })
|
|
2240
|
+
] }),
|
|
2241
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between", children: [
|
|
2242
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-8", children: [
|
|
2243
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-2 text-lg font-semibold", children: newsletterHeading }),
|
|
2244
|
+
/* @__PURE__ */ jsx("p", { className: "mb-4 text-sm text-muted-foreground", children: newsletterDescription }),
|
|
2245
|
+
/* @__PURE__ */ jsxs("div", { className: "flex max-w-md gap-2", children: [
|
|
2246
|
+
/* @__PURE__ */ jsx(
|
|
2247
|
+
"input",
|
|
2248
|
+
{
|
|
2249
|
+
type: "email",
|
|
2250
|
+
placeholder: newsletterPlaceholder,
|
|
2251
|
+
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"
|
|
2252
|
+
}
|
|
2253
|
+
),
|
|
2254
|
+
/* @__PURE__ */ jsx(
|
|
2255
|
+
"button",
|
|
2256
|
+
{
|
|
2257
|
+
type: "submit",
|
|
2258
|
+
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",
|
|
2259
|
+
children: newsletterButtonText
|
|
2260
|
+
}
|
|
2261
|
+
)
|
|
2262
|
+
] })
|
|
2263
|
+
] }),
|
|
2264
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
2265
|
+
/* @__PURE__ */ jsx("p", { className: "mb-4 font-medium", children: "Follow Us" }),
|
|
2266
|
+
/* @__PURE__ */ jsx("ul", { className: "flex items-center gap-4", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2267
|
+
"a",
|
|
2268
|
+
{
|
|
2269
|
+
href: social.href,
|
|
2270
|
+
"aria-label": social.label,
|
|
2271
|
+
className: "text-muted-foreground transition-colors hover:text-primary",
|
|
2272
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 20 })
|
|
2273
|
+
}
|
|
2274
|
+
) }, idx)) })
|
|
2275
|
+
] })
|
|
2276
|
+
] })
|
|
2277
|
+
] }),
|
|
2278
|
+
/* @__PURE__ */ 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: [
|
|
2279
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
|
|
2280
|
+
/* @__PURE__ */ jsx("p", { children: copyright }),
|
|
2281
|
+
/* @__PURE__ */ jsx(
|
|
2282
|
+
"a",
|
|
2283
|
+
{
|
|
2284
|
+
href: "https://opensite.ai",
|
|
2285
|
+
className: "hover:text-primary",
|
|
2286
|
+
target: "_blank",
|
|
2287
|
+
rel: "noopener noreferrer",
|
|
2288
|
+
children: "AI Website and Automation Platform by Opensite"
|
|
2289
|
+
}
|
|
2290
|
+
)
|
|
2291
|
+
] }),
|
|
2292
|
+
/* @__PURE__ */ jsx("ul", { className: "flex gap-4", children: legalLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", { href: link.href, className: "hover:text-primary", children: link.name }) }, idx)) })
|
|
2293
|
+
] })
|
|
2294
|
+
] }) }) });
|
|
2295
|
+
}
|
|
742
2296
|
|
|
743
2297
|
// src/registry/blocks.ts
|
|
744
2298
|
var BLOCK_REGISTRY = {
|
|
@@ -902,10 +2456,426 @@ var BLOCK_REGISTRY = {
|
|
|
902
2456
|
mediaComponent: <img src="..." alt="Integrations" className="rounded-lg" />
|
|
903
2457
|
}
|
|
904
2458
|
]}
|
|
2459
|
+
/>
|
|
2460
|
+
`.trim()
|
|
2461
|
+
},
|
|
2462
|
+
"team-media-showcase": {
|
|
2463
|
+
id: "team-media-showcase",
|
|
2464
|
+
name: "Team Media Showcase",
|
|
2465
|
+
description: "Display team members in a responsive grid with full-bleed background images and hover effects. Each card shows the member's name and role with an optional action element that appears on hover. Ideal for team pages, about sections, or leadership showcases.",
|
|
2466
|
+
semanticTags: [
|
|
2467
|
+
"team",
|
|
2468
|
+
"members",
|
|
2469
|
+
"staff",
|
|
2470
|
+
"people",
|
|
2471
|
+
"leadership",
|
|
2472
|
+
"about",
|
|
2473
|
+
"grid",
|
|
2474
|
+
"cards",
|
|
2475
|
+
"hover",
|
|
2476
|
+
"image-background",
|
|
2477
|
+
"profiles"
|
|
2478
|
+
],
|
|
2479
|
+
category: "team",
|
|
2480
|
+
component: TeamMediaShowcase,
|
|
2481
|
+
props: "TeamMediaShowcaseProps",
|
|
2482
|
+
exampleUsage: `
|
|
2483
|
+
<TeamMediaShowcase
|
|
2484
|
+
listEyebrow="Our Team"
|
|
2485
|
+
background="white"
|
|
2486
|
+
verticalMargin="lg"
|
|
2487
|
+
items={[
|
|
2488
|
+
{
|
|
2489
|
+
imageSrc: "/team/john-doe.jpg",
|
|
2490
|
+
name: "John Doe",
|
|
2491
|
+
role: "CEO & Founder",
|
|
2492
|
+
action: (
|
|
2493
|
+
<Button variant="outline" className="text-white border-white">
|
|
2494
|
+
View Profile
|
|
2495
|
+
</Button>
|
|
2496
|
+
)
|
|
2497
|
+
},
|
|
2498
|
+
{
|
|
2499
|
+
imageSrc: "/team/jane-smith.jpg",
|
|
2500
|
+
name: "Jane Smith",
|
|
2501
|
+
role: "CTO"
|
|
2502
|
+
},
|
|
2503
|
+
{
|
|
2504
|
+
imageSrc: "/team/bob-wilson.jpg",
|
|
2505
|
+
name: "Bob Wilson",
|
|
2506
|
+
role: "Head of Design"
|
|
2507
|
+
}
|
|
2508
|
+
]}
|
|
2509
|
+
/>
|
|
2510
|
+
`.trim()
|
|
2511
|
+
},
|
|
2512
|
+
// Footer blocks
|
|
2513
|
+
"footer-links-grid": {
|
|
2514
|
+
id: "footer-links-grid",
|
|
2515
|
+
name: "Footer Links Grid",
|
|
2516
|
+
description: "A multi-column footer with logo, navigation links, and legal information. Features a responsive grid layout with customizable navigation sections, company branding, and bottom legal links. Ideal for corporate websites, SaaS products, and marketing sites that need organized footer navigation.",
|
|
2517
|
+
semanticTags: [
|
|
2518
|
+
"footer",
|
|
2519
|
+
"navigation",
|
|
2520
|
+
"links",
|
|
2521
|
+
"multi-column",
|
|
2522
|
+
"grid",
|
|
2523
|
+
"corporate",
|
|
2524
|
+
"legal",
|
|
2525
|
+
"sitemap",
|
|
2526
|
+
"branding"
|
|
2527
|
+
],
|
|
2528
|
+
category: "footer",
|
|
2529
|
+
component: FooterLinksGrid,
|
|
2530
|
+
props: "FooterLinksGridProps",
|
|
2531
|
+
exampleUsage: `
|
|
2532
|
+
<FooterLinksGrid
|
|
2533
|
+
logo={{
|
|
2534
|
+
src: "https://example.com/logo.png",
|
|
2535
|
+
alt: "Company Logo",
|
|
2536
|
+
title: "Company Name",
|
|
2537
|
+
url: "/"
|
|
2538
|
+
}}
|
|
2539
|
+
tagline="Components made easy."
|
|
2540
|
+
menuItems={[
|
|
2541
|
+
{
|
|
2542
|
+
title: "Product",
|
|
2543
|
+
links: [
|
|
2544
|
+
{ text: "Overview", url: "#" },
|
|
2545
|
+
{ text: "Pricing", url: "#" }
|
|
2546
|
+
]
|
|
2547
|
+
}
|
|
2548
|
+
]}
|
|
2549
|
+
/>
|
|
2550
|
+
`.trim()
|
|
2551
|
+
},
|
|
2552
|
+
"footer-social-newsletter": {
|
|
2553
|
+
id: "footer-social-newsletter",
|
|
2554
|
+
name: "Footer Social Newsletter",
|
|
2555
|
+
description: "A footer with social icons, navigation links, and newsletter signup. Features prominent social media icons in circular buttons, multi-column navigation, and an email newsletter subscription form. Ideal for community-focused products, SaaS platforms, and businesses that prioritize social engagement and email marketing.",
|
|
2556
|
+
semanticTags: [
|
|
2557
|
+
"footer",
|
|
2558
|
+
"social",
|
|
2559
|
+
"newsletter",
|
|
2560
|
+
"subscription",
|
|
2561
|
+
"email",
|
|
2562
|
+
"community",
|
|
2563
|
+
"icons",
|
|
2564
|
+
"navigation"
|
|
2565
|
+
],
|
|
2566
|
+
category: "footer",
|
|
2567
|
+
component: FooterSocialNewsletter,
|
|
2568
|
+
props: "FooterSocialNewsletterProps",
|
|
2569
|
+
exampleUsage: `
|
|
2570
|
+
<FooterSocialNewsletter
|
|
2571
|
+
socialLinks={[
|
|
2572
|
+
{ icon: "simple-icons/discord", href: "#", label: "Discord" },
|
|
2573
|
+
{ icon: "simple-icons/x", href: "#", label: "X (Twitter)" }
|
|
2574
|
+
]}
|
|
2575
|
+
newsletterLabel="Subscribe to our newsletter"
|
|
2576
|
+
/>
|
|
2577
|
+
`.trim()
|
|
2578
|
+
},
|
|
2579
|
+
"footer-social-apps": {
|
|
2580
|
+
id: "footer-social-apps",
|
|
2581
|
+
name: "Footer Social Apps",
|
|
2582
|
+
description: "A footer with social icons, navigation links, and mobile app download links. Features prominent social media icons and mobile app store links in circular buttons, along with multi-column navigation. Ideal for products with mobile apps, community-focused platforms, and businesses that want to highlight their cross-platform presence.",
|
|
2583
|
+
semanticTags: [
|
|
2584
|
+
"footer",
|
|
2585
|
+
"social",
|
|
2586
|
+
"mobile",
|
|
2587
|
+
"apps",
|
|
2588
|
+
"download",
|
|
2589
|
+
"android",
|
|
2590
|
+
"ios",
|
|
2591
|
+
"app-store",
|
|
2592
|
+
"navigation"
|
|
2593
|
+
],
|
|
2594
|
+
category: "footer",
|
|
2595
|
+
component: FooterSocialApps,
|
|
2596
|
+
props: "FooterSocialAppsProps",
|
|
2597
|
+
exampleUsage: `
|
|
2598
|
+
<FooterSocialApps
|
|
2599
|
+
socialLinks={[
|
|
2600
|
+
{ icon: "simple-icons/discord", href: "#", label: "Discord" }
|
|
2601
|
+
]}
|
|
2602
|
+
appLinks={[
|
|
2603
|
+
{ icon: "mdi/android", href: "#", label: "Android" },
|
|
2604
|
+
{ icon: "mdi/apple", href: "#", label: "iOS" }
|
|
2605
|
+
]}
|
|
2606
|
+
/>
|
|
2607
|
+
`.trim()
|
|
2608
|
+
},
|
|
2609
|
+
"footer-simple-centered": {
|
|
2610
|
+
id: "footer-simple-centered",
|
|
2611
|
+
name: "Footer Simple Centered",
|
|
2612
|
+
description: "A clean, minimal footer with logo, sitemap, and legal links. Features a simple two-column sitemap layout with company branding and bottom legal links. Ideal for corporate websites, landing pages, and products that prefer a clean, uncluttered footer design without social media or newsletter elements.",
|
|
2613
|
+
semanticTags: [
|
|
2614
|
+
"footer",
|
|
2615
|
+
"minimal",
|
|
2616
|
+
"simple",
|
|
2617
|
+
"clean",
|
|
2618
|
+
"sitemap",
|
|
2619
|
+
"corporate",
|
|
2620
|
+
"legal",
|
|
2621
|
+
"centered"
|
|
2622
|
+
],
|
|
2623
|
+
category: "footer",
|
|
2624
|
+
component: FooterSimpleCentered,
|
|
2625
|
+
props: "FooterSimpleCenteredProps",
|
|
2626
|
+
exampleUsage: `
|
|
2627
|
+
<FooterSimpleCentered
|
|
2628
|
+
tagline="Components made easy."
|
|
2629
|
+
sitemap={[
|
|
2630
|
+
{
|
|
2631
|
+
title: "Company",
|
|
2632
|
+
links: [
|
|
2633
|
+
{ title: "About Us", href: "#" },
|
|
2634
|
+
{ title: "Careers", href: "#" }
|
|
2635
|
+
]
|
|
2636
|
+
}
|
|
2637
|
+
]}
|
|
2638
|
+
/>
|
|
2639
|
+
`.trim()
|
|
2640
|
+
},
|
|
2641
|
+
"footer-brand-description": {
|
|
2642
|
+
id: "footer-brand-description",
|
|
2643
|
+
name: "Footer Brand Description",
|
|
2644
|
+
description: "A footer with logo, description, social icons, and navigation. Features a prominent brand section with logo, description, and social links on the left, with multi-column navigation on the right. Ideal for brand-focused websites, startups, and businesses that want to emphasize their identity and social presence in the footer.",
|
|
2645
|
+
semanticTags: [
|
|
2646
|
+
"footer",
|
|
2647
|
+
"brand",
|
|
2648
|
+
"description",
|
|
2649
|
+
"social",
|
|
2650
|
+
"identity",
|
|
2651
|
+
"startup",
|
|
2652
|
+
"navigation",
|
|
2653
|
+
"about"
|
|
2654
|
+
],
|
|
2655
|
+
category: "footer",
|
|
2656
|
+
component: FooterBrandDescription,
|
|
2657
|
+
props: "FooterBrandDescriptionProps",
|
|
2658
|
+
exampleUsage: `
|
|
2659
|
+
<FooterBrandDescription
|
|
2660
|
+
description="A collection of components for your startup business or side project."
|
|
2661
|
+
socialLinks={[
|
|
2662
|
+
{ icon: "simple-icons/instagram", href: "#", label: "Instagram" }
|
|
2663
|
+
]}
|
|
2664
|
+
/>
|
|
2665
|
+
`.trim()
|
|
2666
|
+
},
|
|
2667
|
+
"footer-newsletter-grid": {
|
|
2668
|
+
id: "footer-newsletter-grid",
|
|
2669
|
+
name: "Footer Newsletter Grid",
|
|
2670
|
+
description: "A comprehensive footer with logo, social icons, navigation, and newsletter. Features a full-width grid layout with brand section (logo, description, social icons), multi-column navigation, and a prominent newsletter signup form. Ideal for content-heavy websites, SaaS products, and businesses that prioritize email marketing and social engagement.",
|
|
2671
|
+
semanticTags: [
|
|
2672
|
+
"footer",
|
|
2673
|
+
"newsletter",
|
|
2674
|
+
"grid",
|
|
2675
|
+
"social",
|
|
2676
|
+
"comprehensive",
|
|
2677
|
+
"email",
|
|
2678
|
+
"marketing",
|
|
2679
|
+
"subscription"
|
|
2680
|
+
],
|
|
2681
|
+
category: "footer",
|
|
2682
|
+
component: FooterNewsletterGrid,
|
|
2683
|
+
props: "FooterNewsletterGridProps",
|
|
2684
|
+
exampleUsage: `
|
|
2685
|
+
<FooterNewsletterGrid
|
|
2686
|
+
description="A collection of 100+ responsive HTML templates."
|
|
2687
|
+
newsletterTitle="Newsletter"
|
|
2688
|
+
newsletterPlaceholder="Email"
|
|
2689
|
+
/>
|
|
2690
|
+
`.trim()
|
|
2691
|
+
},
|
|
2692
|
+
"footer-cta-banner": {
|
|
2693
|
+
id: "footer-cta-banner",
|
|
2694
|
+
name: "Footer CTA Banner",
|
|
2695
|
+
description: "A dark-themed footer with prominent CTA banner, navigation, and newsletter. Features a full-width call-to-action banner at the top with heading, description, and button, followed by multi-column navigation, newsletter signup, and social links. Ideal for SaaS products, marketing sites, and businesses that want to drive conversions directly from the footer.",
|
|
2696
|
+
semanticTags: [
|
|
2697
|
+
"footer",
|
|
2698
|
+
"cta",
|
|
2699
|
+
"banner",
|
|
2700
|
+
"dark",
|
|
2701
|
+
"conversion",
|
|
2702
|
+
"marketing",
|
|
2703
|
+
"newsletter",
|
|
2704
|
+
"call-to-action"
|
|
2705
|
+
],
|
|
2706
|
+
category: "footer",
|
|
2707
|
+
component: FooterCtaBanner,
|
|
2708
|
+
props: "FooterCtaBannerProps",
|
|
2709
|
+
exampleUsage: `
|
|
2710
|
+
<FooterCtaBanner
|
|
2711
|
+
ctaHeading="Ready to get started?"
|
|
2712
|
+
ctaDescription="Join thousands of satisfied customers."
|
|
2713
|
+
ctaButtonText="Get Started"
|
|
2714
|
+
/>
|
|
2715
|
+
`.trim()
|
|
2716
|
+
},
|
|
2717
|
+
"footer-contact-card": {
|
|
2718
|
+
id: "footer-contact-card",
|
|
2719
|
+
name: "Footer Contact Card",
|
|
2720
|
+
description: "A footer with large heading, contact information, and social links. Features a prominent heading, contact details (email, phone, address), social media icons, and horizontal navigation. Ideal for service businesses, agencies, and professional websites that want to emphasize contact information and make it easy for visitors to get in touch.",
|
|
2721
|
+
semanticTags: [
|
|
2722
|
+
"footer",
|
|
2723
|
+
"contact",
|
|
2724
|
+
"card",
|
|
2725
|
+
"email",
|
|
2726
|
+
"phone",
|
|
2727
|
+
"address",
|
|
2728
|
+
"social",
|
|
2729
|
+
"professional",
|
|
2730
|
+
"agency"
|
|
2731
|
+
],
|
|
2732
|
+
category: "footer",
|
|
2733
|
+
component: FooterContactCard,
|
|
2734
|
+
props: "FooterContactCardProps",
|
|
2735
|
+
exampleUsage: `
|
|
2736
|
+
<FooterContactCard
|
|
2737
|
+
heading="Let's work together"
|
|
2738
|
+
email="hello@example.com"
|
|
2739
|
+
phone="+1 (555) 123-4567"
|
|
2740
|
+
address="123 Main Street, San Francisco, CA"
|
|
2741
|
+
/>
|
|
2742
|
+
`.trim()
|
|
2743
|
+
},
|
|
2744
|
+
"footer-background-card": {
|
|
2745
|
+
id: "footer-background-card",
|
|
2746
|
+
name: "Footer Background Card",
|
|
2747
|
+
description: "A footer with background image and floating contact card. Features a full-width background image with a floating card containing profile image, personal message, CTA button, navigation links, and contact information. Ideal for creative professionals, agencies, portfolios, and businesses that want a visually striking footer with a personal touch.",
|
|
2748
|
+
semanticTags: [
|
|
2749
|
+
"footer",
|
|
2750
|
+
"background",
|
|
2751
|
+
"image",
|
|
2752
|
+
"card",
|
|
2753
|
+
"creative",
|
|
2754
|
+
"portfolio",
|
|
2755
|
+
"agency",
|
|
2756
|
+
"personal",
|
|
2757
|
+
"visual"
|
|
2758
|
+
],
|
|
2759
|
+
category: "footer",
|
|
2760
|
+
component: FooterBackgroundCard,
|
|
2761
|
+
props: "FooterBackgroundCardProps",
|
|
2762
|
+
exampleUsage: `
|
|
2763
|
+
<FooterBackgroundCard
|
|
2764
|
+
backgroundImage="https://example.com/bg.jpg"
|
|
2765
|
+
profileImage="https://example.com/profile.jpg"
|
|
2766
|
+
tagline="Let's Connect"
|
|
2767
|
+
personalMessage="I'm passionate about creating beautiful components."
|
|
2768
|
+
ctaText="Schedule a call"
|
|
2769
|
+
/>
|
|
2770
|
+
`.trim()
|
|
2771
|
+
},
|
|
2772
|
+
"footer-animated-social": {
|
|
2773
|
+
id: "footer-animated-social",
|
|
2774
|
+
name: "Footer Animated Social",
|
|
2775
|
+
description: "An animated footer with Framer Motion effects and social links. Features smooth entrance animations, a prominent heading with CTA button, animated social links with hover effects, and a clean separator. Ideal for modern websites, portfolios, and creative projects that want to add visual polish and interactivity to their footer.",
|
|
2776
|
+
semanticTags: [
|
|
2777
|
+
"footer",
|
|
2778
|
+
"animated",
|
|
2779
|
+
"motion",
|
|
2780
|
+
"social",
|
|
2781
|
+
"modern",
|
|
2782
|
+
"interactive",
|
|
2783
|
+
"creative",
|
|
2784
|
+
"portfolio"
|
|
2785
|
+
],
|
|
2786
|
+
category: "footer",
|
|
2787
|
+
component: FooterAnimatedSocial,
|
|
2788
|
+
props: "FooterAnimatedSocialProps",
|
|
2789
|
+
exampleUsage: `
|
|
2790
|
+
<FooterAnimatedSocial
|
|
2791
|
+
heading="Connect with Me"
|
|
2792
|
+
description="No commitments. Just a quick chat to see if we click."
|
|
2793
|
+
ctaText="Get in Touch"
|
|
2794
|
+
socialLinks={[
|
|
2795
|
+
{ name: "Instagram", href: "#" },
|
|
2796
|
+
{ name: "X (Twitter)", href: "#" }
|
|
2797
|
+
]}
|
|
2798
|
+
/>
|
|
2799
|
+
`.trim()
|
|
2800
|
+
},
|
|
2801
|
+
"footer-newsletter-minimal": {
|
|
2802
|
+
id: "footer-newsletter-minimal",
|
|
2803
|
+
name: "Footer Newsletter Minimal",
|
|
2804
|
+
description: "A dark-themed minimal footer with newsletter and animated logo. Features a clean layout with main heading, support email, navigation columns, newsletter signup form, and a large animated brand logo. Ideal for modern SaaS products, creative agencies, and businesses that want a sophisticated, dark-themed footer with strong visual branding.",
|
|
2805
|
+
semanticTags: [
|
|
2806
|
+
"footer",
|
|
2807
|
+
"newsletter",
|
|
2808
|
+
"minimal",
|
|
2809
|
+
"dark",
|
|
2810
|
+
"animated",
|
|
2811
|
+
"logo",
|
|
2812
|
+
"saas",
|
|
2813
|
+
"sophisticated"
|
|
2814
|
+
],
|
|
2815
|
+
category: "footer",
|
|
2816
|
+
component: FooterNewsletterMinimal,
|
|
2817
|
+
props: "FooterNewsletterMinimalProps",
|
|
2818
|
+
exampleUsage: `
|
|
2819
|
+
<FooterNewsletterMinimal
|
|
2820
|
+
heading="Unlock 800+ blocks now"
|
|
2821
|
+
supportEmail="hi@example.com"
|
|
2822
|
+
newsletterLabel="Sign up for newsletter :"
|
|
2823
|
+
/>
|
|
2824
|
+
`.trim()
|
|
2825
|
+
},
|
|
2826
|
+
"footer-cta-social": {
|
|
2827
|
+
id: "footer-cta-social",
|
|
2828
|
+
name: "Footer CTA Social",
|
|
2829
|
+
description: "A centered CTA footer with decorative lines and social icons. Features a centered layout with decorative gradient lines, pre-heading text, large heading, description, prominent CTA button, social media icons, and contact email. Ideal for landing pages, marketing sites, and businesses that want a conversion-focused footer with strong visual appeal.",
|
|
2830
|
+
semanticTags: [
|
|
2831
|
+
"footer",
|
|
2832
|
+
"cta",
|
|
2833
|
+
"social",
|
|
2834
|
+
"centered",
|
|
2835
|
+
"conversion",
|
|
2836
|
+
"landing",
|
|
2837
|
+
"marketing",
|
|
2838
|
+
"decorative"
|
|
2839
|
+
],
|
|
2840
|
+
category: "footer",
|
|
2841
|
+
component: FooterCtaSocial,
|
|
2842
|
+
props: "FooterCtaSocialProps",
|
|
2843
|
+
exampleUsage: `
|
|
2844
|
+
<FooterCtaSocial
|
|
2845
|
+
preHeading="Let's connect"
|
|
2846
|
+
heading="You want to scale faster? Try Opensite today."
|
|
2847
|
+
description="Join thousands of companies already using our platform."
|
|
2848
|
+
buttonText="Get Started Now"
|
|
2849
|
+
/>
|
|
2850
|
+
`.trim()
|
|
2851
|
+
},
|
|
2852
|
+
"footer-nav-social": {
|
|
2853
|
+
id: "footer-nav-social",
|
|
2854
|
+
name: "Footer Nav Social",
|
|
2855
|
+
description: "A comprehensive footer with logo, navigation, newsletter, and social links. Features a logo with navigation sections, a newsletter signup form with heading and description, social media icons, and legal links. Ideal for SaaS products, corporate websites, and businesses that want a complete footer with all essential elements organized in a clean, professional layout.",
|
|
2856
|
+
semanticTags: [
|
|
2857
|
+
"footer",
|
|
2858
|
+
"navigation",
|
|
2859
|
+
"social",
|
|
2860
|
+
"newsletter",
|
|
2861
|
+
"comprehensive",
|
|
2862
|
+
"professional",
|
|
2863
|
+
"corporate",
|
|
2864
|
+
"complete"
|
|
2865
|
+
],
|
|
2866
|
+
category: "footer",
|
|
2867
|
+
component: FooterNavSocial,
|
|
2868
|
+
props: "FooterNavSocialProps",
|
|
2869
|
+
exampleUsage: `
|
|
2870
|
+
<FooterNavSocial
|
|
2871
|
+
newsletterHeading="Stay Updated"
|
|
2872
|
+
newsletterDescription="Subscribe to our newsletter for the latest updates."
|
|
2873
|
+
socialLinks={[
|
|
2874
|
+
{ icon: "simple-icons/instagram", href: "#", label: "Instagram" }
|
|
2875
|
+
]}
|
|
905
2876
|
/>
|
|
906
2877
|
`.trim()
|
|
907
2878
|
}
|
|
908
|
-
// Add more blocks here following this pattern
|
|
909
2879
|
};
|
|
910
2880
|
function getBlocksBySemanticTag(tag) {
|
|
911
2881
|
return Object.values(BLOCK_REGISTRY).filter(
|