@mdxui/named 6.3.2 → 7.0.0
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/index.d.ts +1 -51
- package/dist/components/index.js +43 -463
- package/dist/components/index.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +59 -334
- package/dist/index.js.map +1 -1
- package/dist/schemas/index.d.ts +2 -10
- package/dist/schemas/index.js +1 -72
- package/dist/schemas/index.js.map +1 -1
- package/dist/styles.css +319 -0
- package/dist/view/index.d.ts +3 -55
- package/dist/view/index.js +22 -499
- package/dist/view/index.js.map +1 -1
- package/package.json +8 -5
- package/dist/problem-B2-XszSB.d.ts +0 -22
package/dist/components/index.js
CHANGED
|
@@ -175,7 +175,7 @@ function Hero({
|
|
|
175
175
|
]
|
|
176
176
|
}
|
|
177
177
|
) }) }),
|
|
178
|
-
/* @__PURE__ */ jsx3(ScrollReveal, { direction: "up", delay: 0.2, children: /* @__PURE__ */ jsx3("h1", { className: "font-normal text-[clamp(56px,6vw,72px)] leading-tight tracking-tight text-foreground", children: heading }) }),
|
|
178
|
+
/* @__PURE__ */ jsx3(ScrollReveal, { direction: "up", delay: 0.2, children: /* @__PURE__ */ jsx3("h1", { className: "font-halant font-normal text-[clamp(56px,6vw,72px)] leading-tight tracking-tight text-foreground", children: heading }) }),
|
|
179
179
|
/* @__PURE__ */ jsx3(ScrollReveal, { direction: "up", delay: 0.3, children: /* @__PURE__ */ jsx3("p", { className: "text-lg leading-relaxed max-w-lg", children: description }) }),
|
|
180
180
|
/* @__PURE__ */ jsx3(ScrollReveal, { direction: "up", delay: 0.4, trigger: "mount", children: /* @__PURE__ */ jsx3("div", { className: "flex flex-col sm:flex-row gap-3 pt-4", children: /* @__PURE__ */ jsx3(Button, { asChild: true, variant: ctaVariant, children: /* @__PURE__ */ jsxs("a", { href: ctaHref, children: [
|
|
181
181
|
ctaText,
|
|
@@ -188,7 +188,8 @@ function Hero({
|
|
|
188
188
|
src: rightImageSrc,
|
|
189
189
|
alt: rightImageAlt,
|
|
190
190
|
fill: true,
|
|
191
|
-
className: "object-cover object-left-center
|
|
191
|
+
className: "object-cover object-left-center",
|
|
192
|
+
style: { borderRadius: "var(--radius-image, 1rem)" },
|
|
192
193
|
priority: true,
|
|
193
194
|
sizes: rightImageSizes
|
|
194
195
|
}
|
|
@@ -361,13 +362,13 @@ $.Priya.statusReport({
|
|
|
361
362
|
}
|
|
362
363
|
];
|
|
363
364
|
function Features({ heading = "How It Works", description = "Priya handles the repetitive work so you can focus on what matters. Here's how she automates your entire product workflow.", features = defaultFeatures, className }) {
|
|
364
|
-
return /* @__PURE__ */ jsx5("section", { id: "features", className: cn("flex justify-center items-center pb-0 md:pb-10 bg-background", className), children: /* @__PURE__ */ jsxs2("div", { className: "features-gradient flex flex-col items-center w-full relative overflow-visible
|
|
365
|
+
return /* @__PURE__ */ jsx5("section", { id: "features", className: cn("flex justify-center items-center pb-0 md:pb-10 bg-background", className), children: /* @__PURE__ */ jsxs2("div", { className: "features-gradient flex flex-col items-center w-full relative overflow-visible gap-16 h-min max-w-[1400px] py-10 sm:py-20", style: { borderRadius: "var(--radius-section, 36px)" }, children: [
|
|
365
366
|
/* @__PURE__ */ jsx5(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsxs2("div", { className: "text-center w-full px-4 md:px-6 space-y-4", children: [
|
|
366
|
-
/* @__PURE__ */ jsx5("h2", { className: "font-normal text-[clamp(32px,4vw,40px)] leading-tight text-foreground", children: heading }),
|
|
367
|
+
/* @__PURE__ */ jsx5("h2", { className: "font-halant font-normal text-[clamp(32px,4vw,40px)] leading-tight text-foreground", children: heading }),
|
|
367
368
|
/* @__PURE__ */ jsx5("p", { className: "text-base md:text-lg text-muted-foreground max-w-2xl mx-auto", children: description })
|
|
368
369
|
] }) }),
|
|
369
370
|
/* @__PURE__ */ jsx5("div", { className: "w-full px-4 lg:px-18 space-y-10", children: features.map((feature, index) => /* @__PURE__ */ jsx5(ScrollReveal, { direction: "up", delay: index * 0.1, children: /* @__PURE__ */ jsxs2("div", { className: "grid md:grid-cols-2 overflow-hidden bg-card w-full rounded-3xl feature-card-shadow opacity-100 border border-border", children: [
|
|
370
|
-
/* @__PURE__ */ jsxs2("div", { className: "flex flex-col px-
|
|
371
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex flex-col px-4 py-8 lg:px-8 lg:py-12 xl:px-12 xl:py-20", children: [
|
|
371
372
|
/* @__PURE__ */ jsx5("div", { className: "mb-4", children: /* @__PURE__ */ jsx5("span", { className: "inline-flex size-10 items-center justify-center rounded-lg font-mono text-sm font-medium bg-card dark:bg-muted border border-border dark:border-border text-foreground", children: feature.badge }) }),
|
|
372
373
|
/* @__PURE__ */ jsx5("h3", { className: "mb-3 text-2xl font-medium sm:mb-5 md:text-3xl text-foreground", children: feature.title }),
|
|
373
374
|
/* @__PURE__ */ jsx5("div", { className: "mb-8 text-sm sm:mb-10 md:text-base text-muted-foreground", children: feature.description }),
|
|
@@ -412,7 +413,7 @@ function Pricing({
|
|
|
412
413
|
}) {
|
|
413
414
|
return /* @__PURE__ */ jsx6("section", { id: "pricing", className: cn(`pt-12 md:pt-16 pb-10 sm:pb-20 ${backgroundColor}`, className), children: /* @__PURE__ */ jsxs3("div", { className: "max-w-7xl mx-auto p-6 sm:p-16 rounded-none sm:rounded-3xl pricing-gradient", children: [
|
|
414
415
|
/* @__PURE__ */ jsx6(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsxs3("div", { className: "text-center my-16 sm:my-12", children: [
|
|
415
|
-
/* @__PURE__ */ jsx6("h2", { className: "font-normal text-[clamp(32px,4vw,40px)] leading-tight text-foreground mb-4", children: heading }),
|
|
416
|
+
/* @__PURE__ */ jsx6("h2", { className: "font-halant font-normal text-[clamp(32px,4vw,40px)] leading-tight text-foreground mb-4", children: heading }),
|
|
416
417
|
/* @__PURE__ */ jsx6("p", { className: "text-base text-muted-foreground max-w-2xl mx-auto", children: subheading })
|
|
417
418
|
] }) }),
|
|
418
419
|
/* @__PURE__ */ jsx6(ScrollReveal, { direction: "up", delay: 0.2, children: /* @__PURE__ */ jsxs3("div", { className: "bg-card mx-auto flex w-full md:max-w-md lg:max-w-3xl flex-col rounded-3xl border border-border feature-card-shadow p-6 md:p-8 px-6", children: [
|
|
@@ -488,7 +489,7 @@ function PricingTiers({
|
|
|
488
489
|
}) {
|
|
489
490
|
return /* @__PURE__ */ jsx7("section", { id: "pricing", className: cn(`pt-12 md:pt-16 pb-10 sm:pb-20 ${backgroundColor}`, className), children: /* @__PURE__ */ jsxs4("div", { className: "max-w-7xl mx-auto p-6 sm:p-16 rounded-none sm:rounded-3xl pricing-gradient", children: [
|
|
490
491
|
/* @__PURE__ */ jsx7(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsxs4("div", { className: "text-center my-16 sm:my-12", children: [
|
|
491
|
-
/* @__PURE__ */ jsx7("h2", { className: "font-normal text-[clamp(32px,4vw,52px)] leading-tight text-foreground mb-4", children: heading }),
|
|
492
|
+
/* @__PURE__ */ jsx7("h2", { className: "font-halant font-normal text-[clamp(32px,4vw,52px)] leading-tight text-foreground mb-4", children: heading }),
|
|
492
493
|
/* @__PURE__ */ jsx7("p", { className: "text-base text-muted-foreground max-w-2xl mx-auto", children: subheading })
|
|
493
494
|
] }) }),
|
|
494
495
|
/* @__PURE__ */ jsx7("ul", { className: "grid gap-6 lg:grid-cols-3 lg:items-stretch", children: tiers.map((tier, index) => /* @__PURE__ */ jsx7("li", { className: tier.featured ? "lg:col-span-2 flex" : "lg:col-span-1 flex", children: /* @__PURE__ */ jsx7(ScrollReveal, { direction: "up", delay: 0.2 + index * 0.1, className: "w-full", children: /* @__PURE__ */ jsx7(
|
|
@@ -550,7 +551,7 @@ var defaultButtons = [
|
|
|
550
551
|
function CTA({ heading = "Ready to Save 15 Hours Per Week?", subheading = "Setup with Github \u2013 takes 5 minutes.", buttons = defaultButtons, backgroundColor: _backgroundColor, className }) {
|
|
551
552
|
const bgClass = "bg-card";
|
|
552
553
|
return /* @__PURE__ */ jsx8("section", { className: cn(`py-20 md:py-32 px-4 md:px-6 ${bgClass}`, className), children: /* @__PURE__ */ jsx8("div", { className: "max-w-3xl mx-auto text-center", children: /* @__PURE__ */ jsx8(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsxs5("div", { className: "space-y-6", children: [
|
|
553
|
-
/* @__PURE__ */ jsx8("h2", { className: "font-normal text-foreground text-[clamp(32px,5vw,52px)] leading-tight tracking-tight", children: heading }),
|
|
554
|
+
/* @__PURE__ */ jsx8("h2", { className: "font-halant font-normal text-foreground text-[clamp(32px,5vw,52px)] leading-tight tracking-tight", children: heading }),
|
|
554
555
|
/* @__PURE__ */ jsx8("p", { className: "max-w-2xl mx-auto text-[clamp(16px,2vw,18px)] leading-relaxed text-muted-foreground", children: subheading }),
|
|
555
556
|
/* @__PURE__ */ jsx8("div", { className: "flex flex-col sm:flex-row gap-3 justify-center items-center pt-4", children: buttons.map((button, index) => /* @__PURE__ */ jsx8(Button4, { asChild: true, variant: button.variant === "primary" ? "default" : "secondary", children: /* @__PURE__ */ jsxs5("a", { href: button.href, children: [
|
|
556
557
|
button.text,
|
|
@@ -590,81 +591,21 @@ var defaultFaqs = [
|
|
|
590
591
|
];
|
|
591
592
|
function FAQ({ heading = "FAQs", faqs = defaultFaqs, backgroundColor = "bg-background", className }) {
|
|
592
593
|
return /* @__PURE__ */ jsx9("section", { id: "faq", className: cn(`py-20 px-6 lg:px-12 ${backgroundColor}`, className), children: /* @__PURE__ */ jsxs6("div", { className: "max-w-4xl mx-auto", children: [
|
|
593
|
-
/* @__PURE__ */ jsx9(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsx9("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsx9("h2", { className: "font-normal text-[clamp(32px,4vw,52px)] leading-tight text-foreground mb-4", children: heading }) }) }),
|
|
594
|
-
/* @__PURE__ */ jsx9(Accordion, { type: "single", collapsible: true, className: "space-y-4", children: faqs.map((faq, index) => /* @__PURE__ */ jsx9(ScrollReveal, { direction: "up", delay: 0.15 + index * 0.05, children: /* @__PURE__ */ jsxs6(AccordionItem, { value: `item-${index}`, className: "rounded-xl px-6 border border-border bg-card shadow-sm", children: [
|
|
594
|
+
/* @__PURE__ */ jsx9(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsx9("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsx9("h2", { className: "font-halant font-normal text-[clamp(32px,4vw,52px)] leading-tight text-foreground mb-4", children: heading }) }) }),
|
|
595
|
+
/* @__PURE__ */ jsx9(Accordion, { type: "single", collapsible: true, className: "space-y-4", children: faqs.map((faq, index) => /* @__PURE__ */ jsx9(ScrollReveal, { direction: "up", delay: 0.15 + index * 0.05, children: /* @__PURE__ */ jsxs6(AccordionItem, { value: `item-${index}`, className: "rounded-xl px-4 sm:px-6 border border-border bg-card shadow-sm", children: [
|
|
595
596
|
/* @__PURE__ */ jsx9(AccordionTrigger, { className: "hover:no-underline py-5 text-base font-medium text-foreground", children: faq.question }),
|
|
596
597
|
/* @__PURE__ */ jsx9(AccordionContent, { className: "pb-5 text-sm text-muted-foreground leading-relaxed", children: faq.answer })
|
|
597
598
|
] }) }, index)) })
|
|
598
599
|
] }) });
|
|
599
600
|
}
|
|
600
601
|
|
|
601
|
-
// src/components/problem/problem.tsx
|
|
602
|
-
import { FaInbox, FaCalendarAlt, FaListUl, FaFileAlt, FaRocket, FaProjectDiagram, FaBug, FaLightbulb } from "react-icons/fa";
|
|
603
|
-
import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
604
|
-
var defaultWorkflows = [
|
|
605
|
-
{ icon: FaInbox, label: "Issue triage" },
|
|
606
|
-
{ icon: FaCalendarAlt, label: "Sprint planning" },
|
|
607
|
-
{ icon: FaListUl, label: "Backlog grooming" },
|
|
608
|
-
{ icon: FaFileAlt, label: "Status updates" },
|
|
609
|
-
{ icon: FaRocket, label: "Release planning" },
|
|
610
|
-
{ icon: FaProjectDiagram, label: "Dependency tracking" },
|
|
611
|
-
{ icon: FaBug, label: "Bug prioritization" },
|
|
612
|
-
{ icon: FaLightbulb, label: "Feature requests" }
|
|
613
|
-
];
|
|
614
|
-
function Problem({
|
|
615
|
-
heading = "Product managers <strong>spend 15+ hours</strong> per week on busywork",
|
|
616
|
-
workflows = defaultWorkflows,
|
|
617
|
-
subheading = "What if all of that just... ",
|
|
618
|
-
subheadingHighlight = "happened automatically?",
|
|
619
|
-
highlightColor = "bg-primary/20",
|
|
620
|
-
marqueeDuration = "30s",
|
|
621
|
-
marqueeGap = "0.5rem",
|
|
622
|
-
backgroundColor = "bg-background",
|
|
623
|
-
className
|
|
624
|
-
}) {
|
|
625
|
-
return /* @__PURE__ */ jsx10("section", { id: "problem", className: cn(`py-20 md:pb-32 px-6 lg:px-12 ${backgroundColor}`, className), children: /* @__PURE__ */ jsx10("div", { className: "max-w-4xl mx-auto", children: /* @__PURE__ */ jsxs7("div", { className: "text-center space-y-8", children: [
|
|
626
|
-
/* @__PURE__ */ jsx10(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsx10(
|
|
627
|
-
"h2",
|
|
628
|
-
{
|
|
629
|
-
className: "font-normal text-[clamp(36px,4vw,40px)] leading-tight text-foreground",
|
|
630
|
-
dangerouslySetInnerHTML: { __html: heading }
|
|
631
|
-
}
|
|
632
|
-
) }),
|
|
633
|
-
/* @__PURE__ */ jsx10(ScrollReveal, { direction: "none", delay: 0.2, children: /* @__PURE__ */ jsxs7("div", { className: "relative py-6", children: [
|
|
634
|
-
/* @__PURE__ */ jsx10("div", { className: "absolute left-0 top-0 bottom-0 w-32 bg-gradient-to-r from-background to-transparent z-10 pointer-events-none" }),
|
|
635
|
-
/* @__PURE__ */ jsx10("div", { className: "absolute right-0 top-0 bottom-0 w-32 bg-gradient-to-l from-background to-transparent z-10 pointer-events-none" }),
|
|
636
|
-
/* @__PURE__ */ jsx10(
|
|
637
|
-
Marquee,
|
|
638
|
-
{
|
|
639
|
-
className: "[--duration:30s] [--gap:0.5rem]",
|
|
640
|
-
style: {
|
|
641
|
-
"--duration": marqueeDuration,
|
|
642
|
-
"--gap": marqueeGap
|
|
643
|
-
},
|
|
644
|
-
children: workflows.map((workflow, index) => /* @__PURE__ */ jsxs7("div", { className: "flex items-center gap-2.5 pl-1.5 pr-3.5 py-1.5 bg-card border border-border rounded-full", children: [
|
|
645
|
-
/* @__PURE__ */ jsx10("div", { className: "flex items-center justify-center w-7 h-7 rounded-full bg-background", children: /* @__PURE__ */ jsx10(workflow.icon, { className: "w-3.5 h-3.5 text-foreground" }) }),
|
|
646
|
-
/* @__PURE__ */ jsx10("span", { className: "text-sm text-foreground whitespace-nowrap", children: workflow.label })
|
|
647
|
-
] }, index))
|
|
648
|
-
}
|
|
649
|
-
)
|
|
650
|
-
] }) }),
|
|
651
|
-
/* @__PURE__ */ jsx10(ScrollReveal, { direction: "up", delay: 0.3, children: /* @__PURE__ */ jsx10("div", { className: "pt-2 md:pt-4", children: /* @__PURE__ */ jsxs7("h3", { className: "font-normal text-[clamp(26px,3.5vw,32px)] leading-tight text-foreground", children: [
|
|
652
|
-
subheading,
|
|
653
|
-
/* @__PURE__ */ jsxs7("span", { className: "relative inline-block", children: [
|
|
654
|
-
/* @__PURE__ */ jsx10("span", { className: "relative z-10", children: subheadingHighlight }),
|
|
655
|
-
/* @__PURE__ */ jsx10("span", { className: `absolute bottom-1 left-0 w-full h-3 ${highlightColor} opacity-30 -rotate-1` })
|
|
656
|
-
] })
|
|
657
|
-
] }) }) })
|
|
658
|
-
] }) }) });
|
|
659
|
-
}
|
|
660
|
-
|
|
661
602
|
// src/components/navigation/navigation.tsx
|
|
662
603
|
import { useState, useEffect } from "react";
|
|
663
604
|
import Link from "next/link";
|
|
664
605
|
import { Menu, X } from "lucide-react";
|
|
665
606
|
import { motion as motion2, AnimatePresence } from "motion/react";
|
|
666
607
|
import { Button as Button5 } from "@mdxui/primitives";
|
|
667
|
-
import { jsx as
|
|
608
|
+
import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
668
609
|
function Navigation({
|
|
669
610
|
logo = "Priya",
|
|
670
611
|
logoHref = "/",
|
|
@@ -704,7 +645,7 @@ function Navigation({
|
|
|
704
645
|
"7xl": "max-w-7xl",
|
|
705
646
|
full: "max-w-full"
|
|
706
647
|
}[maxWidth];
|
|
707
|
-
return /* @__PURE__ */
|
|
648
|
+
return /* @__PURE__ */ jsx10(
|
|
708
649
|
"nav",
|
|
709
650
|
{
|
|
710
651
|
className: cn(
|
|
@@ -713,14 +654,14 @@ function Navigation({
|
|
|
713
654
|
showScrollEffect && isScrolled ? "bg-background/95 backdrop-blur-md" : "bg-background",
|
|
714
655
|
className
|
|
715
656
|
),
|
|
716
|
-
children: /* @__PURE__ */
|
|
717
|
-
/* @__PURE__ */
|
|
718
|
-
/* @__PURE__ */
|
|
719
|
-
links && links.length > 0 && /* @__PURE__ */
|
|
720
|
-
ctaText && ctaHref && /* @__PURE__ */
|
|
721
|
-
/* @__PURE__ */
|
|
657
|
+
children: /* @__PURE__ */ jsxs7("div", { className: cn(maxWidthClass, "mx-auto px-6 lg:px-12 py-4"), children: [
|
|
658
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex items-center justify-between", children: [
|
|
659
|
+
/* @__PURE__ */ jsx10("div", { className: "flex items-center", children: /* @__PURE__ */ jsx10(Link, { href: logoHref, className: "flex items-center", children: typeof logo === "string" ? /* @__PURE__ */ jsx10("span", { className: "text-3xl font-base text-foreground", children: logo }) : logo }) }),
|
|
660
|
+
links && links.length > 0 && /* @__PURE__ */ jsx10("div", { className: "hidden lg:flex items-center gap-8", children: links.map((link) => /* @__PURE__ */ jsx10("a", { href: link.href, className: "text-sm text-foreground hover:opacity-60 transition-opacity", children: link.label }, link.href)) }),
|
|
661
|
+
ctaText && ctaHref && /* @__PURE__ */ jsx10("div", { className: "hidden lg:flex items-center", children: /* @__PURE__ */ jsx10(Button5, { asChild: true, variant: ctaVariant, children: /* @__PURE__ */ jsx10("a", { href: ctaHref, children: ctaText }) }) }),
|
|
662
|
+
/* @__PURE__ */ jsx10("button", { className: "lg:hidden p-2 text-foreground", onClick: () => setMobileMenuOpen(!mobileMenuOpen), "aria-label": "Toggle menu", children: mobileMenuOpen ? /* @__PURE__ */ jsx10(X, { className: "w-6 h-6" }) : /* @__PURE__ */ jsx10(Menu, { className: "w-6 h-6" }) })
|
|
722
663
|
] }),
|
|
723
|
-
/* @__PURE__ */
|
|
664
|
+
/* @__PURE__ */ jsx10(AnimatePresence, { children: mobileMenuOpen && /* @__PURE__ */ jsx10(
|
|
724
665
|
motion2.div,
|
|
725
666
|
{
|
|
726
667
|
initial: { opacity: 0, height: 0 },
|
|
@@ -728,9 +669,9 @@ function Navigation({
|
|
|
728
669
|
exit: { opacity: 0, height: 0 },
|
|
729
670
|
transition: { duration: 0.3, ease: "easeInOut" },
|
|
730
671
|
className: "lg:hidden overflow-hidden",
|
|
731
|
-
children: /* @__PURE__ */
|
|
732
|
-
links.map((link) => /* @__PURE__ */
|
|
733
|
-
ctaText && ctaHref && /* @__PURE__ */
|
|
672
|
+
children: /* @__PURE__ */ jsx10("div", { className: "mt-4 py-4 rounded-xl bg-card", children: /* @__PURE__ */ jsxs7("div", { className: "flex flex-col gap-4 px-6", children: [
|
|
673
|
+
links.map((link) => /* @__PURE__ */ jsx10("a", { href: link.href, className: "py-2 text-foreground hover:opacity-70 transition-colors", onClick: () => setMobileMenuOpen(false), children: link.label }, link.href)),
|
|
674
|
+
ctaText && ctaHref && /* @__PURE__ */ jsx10(Button5, { asChild: true, variant: ctaVariant, className: "mt-2", onClick: () => setMobileMenuOpen(false), children: /* @__PURE__ */ jsx10("a", { href: ctaHref, children: ctaText }) })
|
|
734
675
|
] }) })
|
|
735
676
|
}
|
|
736
677
|
) })
|
|
@@ -745,7 +686,7 @@ import { FaGithub, FaXTwitter } from "react-icons/fa6";
|
|
|
745
686
|
import { SiNpm } from "react-icons/si";
|
|
746
687
|
import { FaArrowRight } from "react-icons/fa6";
|
|
747
688
|
import { Input } from "@mdxui/primitives";
|
|
748
|
-
import { jsx as
|
|
689
|
+
import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
749
690
|
function Footer({
|
|
750
691
|
logo = "Priya",
|
|
751
692
|
description = "Your AI Product Manager for GitHub. Automate issue triage, sprint planning, and backlog grooming.",
|
|
@@ -775,14 +716,14 @@ function Footer({
|
|
|
775
716
|
}
|
|
776
717
|
form.reset();
|
|
777
718
|
};
|
|
778
|
-
return /* @__PURE__ */
|
|
779
|
-
/* @__PURE__ */
|
|
780
|
-
/* @__PURE__ */
|
|
781
|
-
/* @__PURE__ */
|
|
782
|
-
/* @__PURE__ */
|
|
783
|
-
/* @__PURE__ */
|
|
719
|
+
return /* @__PURE__ */ jsx11("footer", { className: cn("py-16 px-6 lg:px-12 bg-card text-card-foreground", className), children: /* @__PURE__ */ jsxs8("div", { className: "max-w-7xl mx-auto", children: [
|
|
720
|
+
/* @__PURE__ */ jsxs8("div", { className: "grid md:grid-cols-5 gap-12 mb-12", children: [
|
|
721
|
+
/* @__PURE__ */ jsxs8("div", { className: "md:col-span-2", children: [
|
|
722
|
+
/* @__PURE__ */ jsx11(Link2, { href: "/", className: "inline-block mb-4", children: /* @__PURE__ */ jsx11("div", { className: "text-3xl font-base text-card-foreground", children: logo }) }),
|
|
723
|
+
/* @__PURE__ */ jsx11("p", { className: "max-w-md text-sm leading-relaxed text-muted-foreground mb-6", children: description }),
|
|
724
|
+
/* @__PURE__ */ jsx11("div", { className: "flex items-center gap-4", children: socialLinks.map((link) => {
|
|
784
725
|
const Icon = link.icon;
|
|
785
|
-
return /* @__PURE__ */
|
|
726
|
+
return /* @__PURE__ */ jsx11(
|
|
786
727
|
Link2,
|
|
787
728
|
{
|
|
788
729
|
href: link.href,
|
|
@@ -790,20 +731,20 @@ function Footer({
|
|
|
790
731
|
rel: "noopener noreferrer",
|
|
791
732
|
className: "text-muted-foreground transition-colors hover:text-card-foreground",
|
|
792
733
|
"aria-label": link.label,
|
|
793
|
-
children: /* @__PURE__ */
|
|
734
|
+
children: /* @__PURE__ */ jsx11(Icon, { className: "w-5 h-5" })
|
|
794
735
|
},
|
|
795
736
|
link.label
|
|
796
737
|
);
|
|
797
738
|
}) })
|
|
798
739
|
] }),
|
|
799
|
-
/* @__PURE__ */
|
|
800
|
-
/* @__PURE__ */
|
|
801
|
-
/* @__PURE__ */
|
|
740
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
741
|
+
/* @__PURE__ */ jsx11("h3", { className: "font-semibold text-base mb-4 text-card-foreground", children: "Quick Links" }),
|
|
742
|
+
/* @__PURE__ */ jsx11("ul", { className: "space-y-2", children: quickLinks.map((link) => /* @__PURE__ */ jsx11("li", { children: /* @__PURE__ */ jsx11(Link2, { href: link.href, className: "text-sm text-muted-foreground transition-colors hover:text-card-foreground", children: link.label }) }, link.label)) })
|
|
802
743
|
] }),
|
|
803
|
-
/* @__PURE__ */
|
|
804
|
-
/* @__PURE__ */
|
|
805
|
-
/* @__PURE__ */
|
|
806
|
-
/* @__PURE__ */
|
|
744
|
+
/* @__PURE__ */ jsx11("div", { className: "w-full md:col-span-2 md:flex md:flex-col md:items-end", children: /* @__PURE__ */ jsxs8("div", { className: "w-full md:max-w-sm", children: [
|
|
745
|
+
/* @__PURE__ */ jsx11("h3", { className: "font-semibold text-base mb-4 text-card-foreground", children: contactTitle }),
|
|
746
|
+
/* @__PURE__ */ jsxs8("form", { onSubmit: handleEmailSubmit, className: "relative", children: [
|
|
747
|
+
/* @__PURE__ */ jsx11(
|
|
807
748
|
Input,
|
|
808
749
|
{
|
|
809
750
|
type: "email",
|
|
@@ -813,390 +754,29 @@ function Footer({
|
|
|
813
754
|
className: "w-full bg-muted border-border text-card-foreground placeholder:text-muted-foreground pr-12"
|
|
814
755
|
}
|
|
815
756
|
),
|
|
816
|
-
/* @__PURE__ */
|
|
757
|
+
/* @__PURE__ */ jsx11(
|
|
817
758
|
"button",
|
|
818
759
|
{
|
|
819
760
|
type: "submit",
|
|
820
761
|
className: "absolute right-1 top-1/2 -translate-y-1/2 bg-card text-foreground hover:bg-card active:bg-card active:text-card-foreground px-3 py-3 rounded-md transition-colors",
|
|
821
762
|
"aria-label": "Submit email",
|
|
822
|
-
children: /* @__PURE__ */
|
|
763
|
+
children: /* @__PURE__ */ jsx11(FaArrowRight, { className: "w-3 h-3" })
|
|
823
764
|
}
|
|
824
765
|
)
|
|
825
766
|
] })
|
|
826
767
|
] }) })
|
|
827
768
|
] }),
|
|
828
|
-
/* @__PURE__ */
|
|
829
|
-
] }) });
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
// src/components/contact/contact.tsx
|
|
833
|
-
import { useState as useState2 } from "react";
|
|
834
|
-
import { Button as Button6, Input as Input2, Label, Textarea } from "@mdxui/primitives";
|
|
835
|
-
import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
836
|
-
var defaultFields = [
|
|
837
|
-
{
|
|
838
|
-
id: "name",
|
|
839
|
-
label: "Name",
|
|
840
|
-
type: "text",
|
|
841
|
-
required: true
|
|
842
|
-
},
|
|
843
|
-
{
|
|
844
|
-
id: "email",
|
|
845
|
-
label: "Company Email",
|
|
846
|
-
type: "email",
|
|
847
|
-
required: true
|
|
848
|
-
},
|
|
849
|
-
{
|
|
850
|
-
id: "message",
|
|
851
|
-
label: "Message",
|
|
852
|
-
type: "textarea",
|
|
853
|
-
placeholder: "Tell us about your use case, team size, or any other questions you may have.",
|
|
854
|
-
required: true
|
|
855
|
-
}
|
|
856
|
-
];
|
|
857
|
-
function Contact({
|
|
858
|
-
heading = "Get in touch",
|
|
859
|
-
subheading = "Have questions about use cases, pricing, or anything else? Let's chat!",
|
|
860
|
-
fields = defaultFields,
|
|
861
|
-
submitButtonText = "Submit",
|
|
862
|
-
successMessage = "Thanks for reaching out! I'll get back to you within 24 hours.",
|
|
863
|
-
errorMessage = "Hmm, something went wrong. Mind trying again?",
|
|
864
|
-
onSubmit,
|
|
865
|
-
backgroundColor = "bg-background",
|
|
866
|
-
className
|
|
867
|
-
}) {
|
|
868
|
-
const [isSubmitting, setIsSubmitting] = useState2(false);
|
|
869
|
-
const [formData, setFormData] = useState2({});
|
|
870
|
-
const [submitStatus, setSubmitStatus] = useState2("idle");
|
|
871
|
-
const handleSubmit = async (e) => {
|
|
872
|
-
e.preventDefault();
|
|
873
|
-
setIsSubmitting(true);
|
|
874
|
-
setSubmitStatus("idle");
|
|
875
|
-
try {
|
|
876
|
-
if (onSubmit) {
|
|
877
|
-
await onSubmit(formData);
|
|
878
|
-
}
|
|
879
|
-
setSubmitStatus("success");
|
|
880
|
-
setFormData({});
|
|
881
|
-
e.target.reset();
|
|
882
|
-
} catch {
|
|
883
|
-
setSubmitStatus("error");
|
|
884
|
-
} finally {
|
|
885
|
-
setIsSubmitting(false);
|
|
886
|
-
}
|
|
887
|
-
};
|
|
888
|
-
const handleChange = (e) => {
|
|
889
|
-
setFormData((prev) => ({
|
|
890
|
-
...prev,
|
|
891
|
-
[e.target.id]: e.target.value
|
|
892
|
-
}));
|
|
893
|
-
};
|
|
894
|
-
return /* @__PURE__ */ jsx13("section", { className: cn(`relative py-12 md:py-32 px-6 lg:px-12 ${backgroundColor}`, className), children: /* @__PURE__ */ jsxs10("div", { className: "max-w-3xl mx-auto", children: [
|
|
895
|
-
/* @__PURE__ */ jsx13(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsxs10("div", { className: "mb-14 text-center", children: [
|
|
896
|
-
/* @__PURE__ */ jsx13("h1", { className: "font-normal text-[clamp(32px,4vw,40px)] leading-tight text-foreground mb-4", children: heading }),
|
|
897
|
-
/* @__PURE__ */ jsx13("p", { className: "text-base text-muted-foreground max-w-2xl mx-auto", children: subheading })
|
|
898
|
-
] }) }),
|
|
899
|
-
/* @__PURE__ */ jsx13(ScrollReveal, { direction: "up", delay: 0.2, children: /* @__PURE__ */ jsxs10(
|
|
900
|
-
"form",
|
|
901
|
-
{
|
|
902
|
-
onSubmit: handleSubmit,
|
|
903
|
-
className: "mx-auto flex max-w-lg flex-col gap-6 bg-card p-6 md:p-8 rounded-3xl border border-border feature-card-shadow",
|
|
904
|
-
children: [
|
|
905
|
-
fields.map((field) => /* @__PURE__ */ jsxs10("div", { className: "grid w-full items-center gap-2", children: [
|
|
906
|
-
/* @__PURE__ */ jsxs10(Label, { htmlFor: field.id, className: "text-foreground", children: [
|
|
907
|
-
field.label,
|
|
908
|
-
field.required && /* @__PURE__ */ jsx13("span", { className: "text-destructive ml-1", children: "*" })
|
|
909
|
-
] }),
|
|
910
|
-
field.type === "textarea" ? /* @__PURE__ */ jsx13(Textarea, { id: field.id, placeholder: field.placeholder, required: field.required, onChange: handleChange, className: "min-h-[120px]" }) : /* @__PURE__ */ jsx13(Input2, { type: field.type, id: field.id, placeholder: field.placeholder, required: field.required, onChange: handleChange })
|
|
911
|
-
] }, field.id)),
|
|
912
|
-
/* @__PURE__ */ jsx13(Button6, { type: "submit", className: "w-full", disabled: isSubmitting, children: isSubmitting ? "Submitting..." : submitButtonText }),
|
|
913
|
-
submitStatus === "success" && /* @__PURE__ */ jsx13("p", { className: "text-primary text-sm text-center", children: successMessage }),
|
|
914
|
-
submitStatus === "error" && /* @__PURE__ */ jsx13("p", { className: "text-destructive text-sm text-center", children: errorMessage })
|
|
915
|
-
]
|
|
916
|
-
}
|
|
917
|
-
) })
|
|
918
|
-
] }) });
|
|
919
|
-
}
|
|
920
|
-
|
|
921
|
-
// src/components/integration/integration.tsx
|
|
922
|
-
import { forwardRef, useRef, useEffect as useEffect3, useState as useState4 } from "react";
|
|
923
|
-
|
|
924
|
-
// src/shared/animated-beam/animated-beam.tsx
|
|
925
|
-
import { useEffect as useEffect2, useId, useState as useState3 } from "react";
|
|
926
|
-
import { motion as motion3 } from "motion/react";
|
|
927
|
-
import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
928
|
-
function AnimatedBeam({
|
|
929
|
-
className,
|
|
930
|
-
containerRef,
|
|
931
|
-
fromRef,
|
|
932
|
-
toRef,
|
|
933
|
-
curvature = 0,
|
|
934
|
-
reverse = false,
|
|
935
|
-
duration = Math.random() * 3 + 4,
|
|
936
|
-
delay = 0,
|
|
937
|
-
pathColor = "gray",
|
|
938
|
-
pathWidth = 2,
|
|
939
|
-
pathOpacity = 0.2,
|
|
940
|
-
gradientStartColor = "#ffaa40",
|
|
941
|
-
gradientStopColor = "#9c40ff",
|
|
942
|
-
startXOffset = 0,
|
|
943
|
-
startYOffset = 0,
|
|
944
|
-
endXOffset = 0,
|
|
945
|
-
endYOffset = 0
|
|
946
|
-
}) {
|
|
947
|
-
const id = useId();
|
|
948
|
-
const [pathD, setPathD] = useState3("");
|
|
949
|
-
const [svgDimensions, setSvgDimensions] = useState3({ width: 0, height: 0 });
|
|
950
|
-
const gradientCoordinates = reverse ? {
|
|
951
|
-
x1: ["90%", "-10%"],
|
|
952
|
-
x2: ["100%", "0%"],
|
|
953
|
-
y1: ["0%", "0%"],
|
|
954
|
-
y2: ["0%", "0%"]
|
|
955
|
-
} : {
|
|
956
|
-
x1: ["10%", "110%"],
|
|
957
|
-
x2: ["0%", "100%"],
|
|
958
|
-
y1: ["0%", "0%"],
|
|
959
|
-
y2: ["0%", "0%"]
|
|
960
|
-
};
|
|
961
|
-
useEffect2(() => {
|
|
962
|
-
const updatePath = () => {
|
|
963
|
-
if (containerRef.current && fromRef.current && toRef.current) {
|
|
964
|
-
const containerRect = containerRef.current.getBoundingClientRect();
|
|
965
|
-
const rectA = fromRef.current.getBoundingClientRect();
|
|
966
|
-
const rectB = toRef.current.getBoundingClientRect();
|
|
967
|
-
const svgWidth = containerRect.width;
|
|
968
|
-
const svgHeight = containerRect.height;
|
|
969
|
-
setSvgDimensions({ width: svgWidth, height: svgHeight });
|
|
970
|
-
const startX = rectA.left - containerRect.left + rectA.width / 2 + startXOffset;
|
|
971
|
-
const startY = rectA.top - containerRect.top + rectA.height / 2 + startYOffset;
|
|
972
|
-
const endX = rectB.left - containerRect.left + rectB.width / 2 + endXOffset;
|
|
973
|
-
const endY = rectB.top - containerRect.top + rectB.height / 2 + endYOffset;
|
|
974
|
-
const controlY = startY - curvature;
|
|
975
|
-
const d = `M ${startX},${startY} Q ${(startX + endX) / 2},${controlY} ${endX},${endY}`;
|
|
976
|
-
setPathD(d);
|
|
977
|
-
}
|
|
978
|
-
};
|
|
979
|
-
const resizeObserver = new ResizeObserver(() => {
|
|
980
|
-
updatePath();
|
|
981
|
-
});
|
|
982
|
-
if (containerRef.current) {
|
|
983
|
-
resizeObserver.observe(containerRef.current);
|
|
984
|
-
}
|
|
985
|
-
updatePath();
|
|
986
|
-
return () => {
|
|
987
|
-
resizeObserver.disconnect();
|
|
988
|
-
};
|
|
989
|
-
}, [containerRef, fromRef, toRef, curvature, startXOffset, startYOffset, endXOffset, endYOffset]);
|
|
990
|
-
return /* @__PURE__ */ jsxs11(
|
|
991
|
-
"svg",
|
|
992
|
-
{
|
|
993
|
-
fill: "none",
|
|
994
|
-
width: svgDimensions.width,
|
|
995
|
-
height: svgDimensions.height,
|
|
996
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
997
|
-
className: cn("pointer-events-none absolute top-0 left-0 transform-gpu stroke-2", className),
|
|
998
|
-
viewBox: `0 0 ${svgDimensions.width} ${svgDimensions.height}`,
|
|
999
|
-
children: [
|
|
1000
|
-
/* @__PURE__ */ jsx14("path", { d: pathD, stroke: pathColor, strokeWidth: pathWidth, strokeOpacity: pathOpacity, strokeLinecap: "round" }),
|
|
1001
|
-
/* @__PURE__ */ jsx14("path", { d: pathD, strokeWidth: pathWidth, stroke: `url(#${id})`, strokeOpacity: "1", strokeLinecap: "round" }),
|
|
1002
|
-
/* @__PURE__ */ jsx14("defs", { children: /* @__PURE__ */ jsxs11(
|
|
1003
|
-
motion3.linearGradient,
|
|
1004
|
-
{
|
|
1005
|
-
className: "transform-gpu",
|
|
1006
|
-
id,
|
|
1007
|
-
gradientUnits: "userSpaceOnUse",
|
|
1008
|
-
initial: {
|
|
1009
|
-
x1: "0%",
|
|
1010
|
-
x2: "0%",
|
|
1011
|
-
y1: "0%",
|
|
1012
|
-
y2: "0%"
|
|
1013
|
-
},
|
|
1014
|
-
animate: {
|
|
1015
|
-
x1: gradientCoordinates.x1,
|
|
1016
|
-
x2: gradientCoordinates.x2,
|
|
1017
|
-
y1: gradientCoordinates.y1,
|
|
1018
|
-
y2: gradientCoordinates.y2
|
|
1019
|
-
},
|
|
1020
|
-
transition: {
|
|
1021
|
-
delay,
|
|
1022
|
-
duration,
|
|
1023
|
-
ease: [0.16, 1, 0.3, 1],
|
|
1024
|
-
repeat: Infinity,
|
|
1025
|
-
repeatDelay: 0
|
|
1026
|
-
},
|
|
1027
|
-
children: [
|
|
1028
|
-
/* @__PURE__ */ jsx14("stop", { stopColor: gradientStartColor, stopOpacity: "0" }),
|
|
1029
|
-
/* @__PURE__ */ jsx14("stop", { stopColor: gradientStartColor }),
|
|
1030
|
-
/* @__PURE__ */ jsx14("stop", { offset: "32.5%", stopColor: gradientStopColor }),
|
|
1031
|
-
/* @__PURE__ */ jsx14("stop", { offset: "100%", stopColor: gradientStopColor, stopOpacity: "0" })
|
|
1032
|
-
]
|
|
1033
|
-
}
|
|
1034
|
-
) })
|
|
1035
|
-
]
|
|
1036
|
-
}
|
|
1037
|
-
);
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
|
-
// src/shared/grid-pattern/grid-pattern.tsx
|
|
1041
|
-
import { useId as useId2 } from "react";
|
|
1042
|
-
import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1043
|
-
function GridPattern({
|
|
1044
|
-
width = 40,
|
|
1045
|
-
height = 40,
|
|
1046
|
-
x = -1,
|
|
1047
|
-
y = -1,
|
|
1048
|
-
strokeDasharray = "0",
|
|
1049
|
-
squares,
|
|
1050
|
-
className,
|
|
1051
|
-
...props
|
|
1052
|
-
}) {
|
|
1053
|
-
const id = useId2();
|
|
1054
|
-
return /* @__PURE__ */ jsxs12(
|
|
1055
|
-
"svg",
|
|
1056
|
-
{
|
|
1057
|
-
"aria-hidden": "true",
|
|
1058
|
-
className: cn("pointer-events-none absolute inset-0 h-full w-full fill-muted-foreground/20 stroke-muted-foreground/20", className),
|
|
1059
|
-
...props,
|
|
1060
|
-
children: [
|
|
1061
|
-
/* @__PURE__ */ jsx15("defs", { children: /* @__PURE__ */ jsx15("pattern", { id, width, height, patternUnits: "userSpaceOnUse", x, y, children: /* @__PURE__ */ jsx15("path", { d: `M.5 ${height}V.5H${width}`, fill: "none", strokeDasharray }) }) }),
|
|
1062
|
-
/* @__PURE__ */ jsx15("rect", { width: "100%", height: "100%", strokeWidth: 0, fill: `url(#${id})` }),
|
|
1063
|
-
squares && /* @__PURE__ */ jsx15("svg", { x, y, className: "overflow-visible", children: squares.map(([sx, sy]) => /* @__PURE__ */ jsx15("rect", { strokeWidth: "0", width: width - 1, height: height - 1, x: sx * width + 1, y: sy * height + 1 }, `${sx}-${sy}`)) })
|
|
1064
|
-
]
|
|
1065
|
-
}
|
|
1066
|
-
);
|
|
1067
|
-
}
|
|
1068
|
-
|
|
1069
|
-
// src/components/integration/integration.tsx
|
|
1070
|
-
import Image3 from "next/image";
|
|
1071
|
-
import { Button as Button7 } from "@mdxui/primitives";
|
|
1072
|
-
import { Fragment as Fragment2, jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1073
|
-
var Square = forwardRef(({ className, children }, ref) => {
|
|
1074
|
-
return /* @__PURE__ */ jsx16(
|
|
1075
|
-
"div",
|
|
1076
|
-
{
|
|
1077
|
-
ref,
|
|
1078
|
-
className: cn("z-10 flex size-16 items-center justify-center rounded-lg bg-card border border-border p-3 integration-square-shadow", className),
|
|
1079
|
-
children
|
|
1080
|
-
}
|
|
1081
|
-
);
|
|
1082
|
-
});
|
|
1083
|
-
Square.displayName = "Square";
|
|
1084
|
-
function Integration({
|
|
1085
|
-
title = "Connect in Seconds",
|
|
1086
|
-
description = "Just connect your account and get started immediately \u2013 no configuration, no setup, no hassle.",
|
|
1087
|
-
buttonText = "Get Started",
|
|
1088
|
-
buttonHref = "#pricing",
|
|
1089
|
-
leftNode,
|
|
1090
|
-
rightNode,
|
|
1091
|
-
beamAnimations = [
|
|
1092
|
-
{ startYOffset: 10, endYOffset: 10, curvature: -20, duration: 3 },
|
|
1093
|
-
{ startYOffset: -10, endYOffset: -10, curvature: 20, duration: 3, reverse: true }
|
|
1094
|
-
],
|
|
1095
|
-
gridPatternWidth = 30,
|
|
1096
|
-
gridPatternHeight = 30,
|
|
1097
|
-
maxWidth = "5xl",
|
|
1098
|
-
className,
|
|
1099
|
-
contentOrder = "left"
|
|
1100
|
-
}) {
|
|
1101
|
-
const containerRef = useRef(null);
|
|
1102
|
-
const leftRef = useRef(null);
|
|
1103
|
-
const rightRef = useRef(null);
|
|
1104
|
-
const [isDark, setIsDark] = useState4(false);
|
|
1105
|
-
useEffect3(() => {
|
|
1106
|
-
const checkDarkMode = () => {
|
|
1107
|
-
const isDarkMode = document.documentElement.classList.contains("dark") || window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
1108
|
-
setIsDark(isDarkMode);
|
|
1109
|
-
};
|
|
1110
|
-
checkDarkMode();
|
|
1111
|
-
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
1112
|
-
const observer = new MutationObserver(checkDarkMode);
|
|
1113
|
-
mediaQuery.addEventListener("change", checkDarkMode);
|
|
1114
|
-
observer.observe(document.documentElement, {
|
|
1115
|
-
attributes: true,
|
|
1116
|
-
attributeFilter: ["class"]
|
|
1117
|
-
});
|
|
1118
|
-
return () => {
|
|
1119
|
-
mediaQuery.removeEventListener("change", checkDarkMode);
|
|
1120
|
-
observer.disconnect();
|
|
1121
|
-
};
|
|
1122
|
-
}, []);
|
|
1123
|
-
const renderNode = (node, ref) => {
|
|
1124
|
-
const squareContent = (() => {
|
|
1125
|
-
if (node.type === "image" && typeof node.content === "string") {
|
|
1126
|
-
return /* @__PURE__ */ jsx16("div", { className: "relative w-full h-full", children: /* @__PURE__ */ jsx16(Image3, { src: node.content, alt: node.alt || "Integration", fill: true, className: "object-cover rounded-lg" }) });
|
|
1127
|
-
}
|
|
1128
|
-
if (node.type === "icon" && typeof node.content === "string") {
|
|
1129
|
-
return /* @__PURE__ */ jsx16("div", { className: cn("text-foreground", node.className), children: node.content });
|
|
1130
|
-
}
|
|
1131
|
-
return node.content;
|
|
1132
|
-
})();
|
|
1133
|
-
return /* @__PURE__ */ jsx16(Square, { ref, className: cn("size-20", node.type === "image" ? "p-0" : "", node.className), children: squareContent });
|
|
1134
|
-
};
|
|
1135
|
-
const maxWidthClasses = {
|
|
1136
|
-
sm: "max-w-sm",
|
|
1137
|
-
md: "max-w-md",
|
|
1138
|
-
lg: "max-w-lg",
|
|
1139
|
-
xl: "max-w-xl",
|
|
1140
|
-
"2xl": "max-w-2xl",
|
|
1141
|
-
"3xl": "max-w-3xl",
|
|
1142
|
-
"4xl": "max-w-4xl",
|
|
1143
|
-
"5xl": "max-w-5xl",
|
|
1144
|
-
"6xl": "max-w-6xl",
|
|
1145
|
-
"7xl": "max-w-7xl"
|
|
1146
|
-
};
|
|
1147
|
-
const content = /* @__PURE__ */ jsxs13("div", { className: "space-y-6", children: [
|
|
1148
|
-
/* @__PURE__ */ jsx16(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsx16("h2", { className: "font-normal text-[clamp(32px,4vw,40px)] leading-tight text-foreground", children: title }) }),
|
|
1149
|
-
/* @__PURE__ */ jsx16(ScrollReveal, { direction: "up", delay: 0.2, children: /* @__PURE__ */ jsx16("p", { className: "text-base text-muted-foreground max-w-lg", children: description }) }),
|
|
1150
|
-
buttonText && buttonHref && /* @__PURE__ */ jsx16(ScrollReveal, { direction: "up", delay: 0.3, children: /* @__PURE__ */ jsx16(Button7, { asChild: true, variant: "default", children: /* @__PURE__ */ jsx16("a", { href: buttonHref, children: buttonText }) }) })
|
|
1151
|
-
] });
|
|
1152
|
-
const animation = /* @__PURE__ */ jsx16(ScrollReveal, { direction: contentOrder === "left" ? "right" : "left", delay: 0.2, children: /* @__PURE__ */ jsxs13("div", { className: "relative flex aspect-square max-w-md mx-auto w-full items-center justify-center overflow-hidden rounded-lg", ref: containerRef, children: [
|
|
1153
|
-
/* @__PURE__ */ jsx16(
|
|
1154
|
-
GridPattern,
|
|
1155
|
-
{
|
|
1156
|
-
width: gridPatternWidth,
|
|
1157
|
-
height: gridPatternHeight,
|
|
1158
|
-
className: "opacity-30 mask-[radial-gradient(ellipse_at_center,black_40%,transparent_85%)] dark:mask-[radial-gradient(ellipse_at_center,white_40%,transparent_85%)]"
|
|
1159
|
-
}
|
|
1160
|
-
),
|
|
1161
|
-
/* @__PURE__ */ jsxs13("div", { className: "flex size-full flex-row items-center justify-center gap-20 relative z-10", children: [
|
|
1162
|
-
/* @__PURE__ */ jsx16("div", { className: "flex flex-col justify-center", children: renderNode(leftNode, leftRef) }),
|
|
1163
|
-
/* @__PURE__ */ jsx16("div", { className: "flex flex-col justify-center", children: renderNode(rightNode, rightRef) })
|
|
1164
|
-
] }),
|
|
1165
|
-
beamAnimations.map((config, index) => /* @__PURE__ */ jsx16(
|
|
1166
|
-
AnimatedBeam,
|
|
1167
|
-
{
|
|
1168
|
-
containerRef,
|
|
1169
|
-
fromRef: leftRef,
|
|
1170
|
-
toRef: rightRef,
|
|
1171
|
-
startYOffset: config.startYOffset,
|
|
1172
|
-
endYOffset: config.endYOffset,
|
|
1173
|
-
curvature: config.curvature,
|
|
1174
|
-
duration: config.duration,
|
|
1175
|
-
reverse: config.reverse,
|
|
1176
|
-
pathColor: isDark ? "rgba(255, 255, 255, 0.2)" : "rgba(0, 0, 0, 0.2)"
|
|
1177
|
-
},
|
|
1178
|
-
index
|
|
1179
|
-
))
|
|
769
|
+
/* @__PURE__ */ jsx11("div", { className: "border-t border-border pt-8", children: /* @__PURE__ */ jsx11("div", { className: "flex flex-col md:flex-row justify-between items-center gap-4", children: /* @__PURE__ */ jsx11("p", { className: "text-sm text-muted-foreground", children: copyrightText }) }) })
|
|
1180
770
|
] }) });
|
|
1181
|
-
return /* @__PURE__ */ jsx16("section", { className: cn("pt-10 sm:pt-0 px-8 lg:px-24 bg-background", className), children: /* @__PURE__ */ jsx16("div", { className: cn(maxWidthClasses[maxWidth], "mx-auto"), children: /* @__PURE__ */ jsx16("div", { className: "grid lg:grid-cols-2 gap-1 items-center", children: contentOrder === "left" ? /* @__PURE__ */ jsxs13(Fragment2, { children: [
|
|
1182
|
-
content,
|
|
1183
|
-
animation
|
|
1184
|
-
] }) : /* @__PURE__ */ jsxs13(Fragment2, { children: [
|
|
1185
|
-
animation,
|
|
1186
|
-
content
|
|
1187
|
-
] }) }) }) });
|
|
1188
771
|
}
|
|
1189
772
|
export {
|
|
1190
773
|
CTA,
|
|
1191
|
-
Contact,
|
|
1192
774
|
FAQ,
|
|
1193
775
|
Features,
|
|
1194
776
|
Footer,
|
|
1195
777
|
Hero,
|
|
1196
|
-
Integration,
|
|
1197
778
|
Navigation,
|
|
1198
779
|
Pricing,
|
|
1199
|
-
PricingTiers
|
|
1200
|
-
Problem
|
|
780
|
+
PricingTiers
|
|
1201
781
|
};
|
|
1202
782
|
//# sourceMappingURL=index.js.map
|