@mdxui/named 6.4.0 → 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/index.js CHANGED
@@ -599,73 +599,13 @@ function FAQ({ heading = "FAQs", faqs = defaultFaqs, backgroundColor = "bg-backg
599
599
  ] }) });
600
600
  }
601
601
 
602
- // src/components/problem/problem.tsx
603
- import { FaInbox, FaCalendarAlt, FaListUl, FaFileAlt, FaRocket, FaProjectDiagram, FaBug, FaLightbulb } from "react-icons/fa";
604
- import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
605
- var defaultWorkflows = [
606
- { icon: FaInbox, label: "Issue triage" },
607
- { icon: FaCalendarAlt, label: "Sprint planning" },
608
- { icon: FaListUl, label: "Backlog grooming" },
609
- { icon: FaFileAlt, label: "Status updates" },
610
- { icon: FaRocket, label: "Release planning" },
611
- { icon: FaProjectDiagram, label: "Dependency tracking" },
612
- { icon: FaBug, label: "Bug prioritization" },
613
- { icon: FaLightbulb, label: "Feature requests" }
614
- ];
615
- function Problem({
616
- heading = "Product managers <strong>spend 15+ hours</strong> per week on busywork",
617
- workflows = defaultWorkflows,
618
- subheading = "What if all of that just... ",
619
- subheadingHighlight = "happened automatically?",
620
- highlightColor = "bg-primary/20",
621
- marqueeDuration = "30s",
622
- marqueeGap = "0.5rem",
623
- backgroundColor = "bg-background",
624
- className
625
- }) {
626
- 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: [
627
- /* @__PURE__ */ jsx10(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsx10(
628
- "h2",
629
- {
630
- className: "font-normal text-[clamp(36px,4vw,40px)] leading-tight text-foreground",
631
- dangerouslySetInnerHTML: { __html: heading }
632
- }
633
- ) }),
634
- /* @__PURE__ */ jsx10(ScrollReveal, { direction: "none", delay: 0.2, children: /* @__PURE__ */ jsxs7("div", { className: "relative py-6", children: [
635
- /* @__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" }),
636
- /* @__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" }),
637
- /* @__PURE__ */ jsx10(
638
- Marquee,
639
- {
640
- className: "[--duration:30s] [--gap:0.5rem]",
641
- style: {
642
- "--duration": marqueeDuration,
643
- "--gap": marqueeGap
644
- },
645
- 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: [
646
- /* @__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" }) }),
647
- /* @__PURE__ */ jsx10("span", { className: "text-sm text-foreground whitespace-nowrap", children: workflow.label })
648
- ] }, index))
649
- }
650
- )
651
- ] }) }),
652
- /* @__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: [
653
- subheading,
654
- /* @__PURE__ */ jsxs7("span", { className: "relative inline-block", children: [
655
- /* @__PURE__ */ jsx10("span", { className: "relative z-10", children: subheadingHighlight }),
656
- /* @__PURE__ */ jsx10("span", { className: `absolute bottom-1 left-0 w-full h-3 ${highlightColor} opacity-30 -rotate-1` })
657
- ] })
658
- ] }) }) })
659
- ] }) }) });
660
- }
661
-
662
602
  // src/components/navigation/navigation.tsx
663
603
  import { useState, useEffect } from "react";
664
604
  import Link from "next/link";
665
605
  import { Menu, X } from "lucide-react";
666
606
  import { motion as motion2, AnimatePresence } from "motion/react";
667
607
  import { Button as Button5 } from "@mdxui/primitives";
668
- import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
608
+ import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
669
609
  function Navigation({
670
610
  logo = "Priya",
671
611
  logoHref = "/",
@@ -705,7 +645,7 @@ function Navigation({
705
645
  "7xl": "max-w-7xl",
706
646
  full: "max-w-full"
707
647
  }[maxWidth];
708
- return /* @__PURE__ */ jsx11(
648
+ return /* @__PURE__ */ jsx10(
709
649
  "nav",
710
650
  {
711
651
  className: cn(
@@ -714,14 +654,14 @@ function Navigation({
714
654
  showScrollEffect && isScrolled ? "bg-background/95 backdrop-blur-md" : "bg-background",
715
655
  className
716
656
  ),
717
- children: /* @__PURE__ */ jsxs8("div", { className: cn(maxWidthClass, "mx-auto px-6 lg:px-12 py-4"), children: [
718
- /* @__PURE__ */ jsxs8("div", { className: "flex items-center justify-between", children: [
719
- /* @__PURE__ */ jsx11("div", { className: "flex items-center", children: /* @__PURE__ */ jsx11(Link, { href: logoHref, className: "flex items-center", children: typeof logo === "string" ? /* @__PURE__ */ jsx11("span", { className: "text-3xl font-base text-foreground", children: logo }) : logo }) }),
720
- links && links.length > 0 && /* @__PURE__ */ jsx11("div", { className: "hidden lg:flex items-center gap-8", children: links.map((link) => /* @__PURE__ */ jsx11("a", { href: link.href, className: "text-sm text-foreground hover:opacity-60 transition-opacity", children: link.label }, link.href)) }),
721
- ctaText && ctaHref && /* @__PURE__ */ jsx11("div", { className: "hidden lg:flex items-center", children: /* @__PURE__ */ jsx11(Button5, { asChild: true, variant: ctaVariant, children: /* @__PURE__ */ jsx11("a", { href: ctaHref, children: ctaText }) }) }),
722
- /* @__PURE__ */ jsx11("button", { className: "lg:hidden p-2 text-foreground", onClick: () => setMobileMenuOpen(!mobileMenuOpen), "aria-label": "Toggle menu", children: mobileMenuOpen ? /* @__PURE__ */ jsx11(X, { className: "w-6 h-6" }) : /* @__PURE__ */ jsx11(Menu, { className: "w-6 h-6" }) })
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" }) })
723
663
  ] }),
724
- /* @__PURE__ */ jsx11(AnimatePresence, { children: mobileMenuOpen && /* @__PURE__ */ jsx11(
664
+ /* @__PURE__ */ jsx10(AnimatePresence, { children: mobileMenuOpen && /* @__PURE__ */ jsx10(
725
665
  motion2.div,
726
666
  {
727
667
  initial: { opacity: 0, height: 0 },
@@ -729,9 +669,9 @@ function Navigation({
729
669
  exit: { opacity: 0, height: 0 },
730
670
  transition: { duration: 0.3, ease: "easeInOut" },
731
671
  className: "lg:hidden overflow-hidden",
732
- children: /* @__PURE__ */ jsx11("div", { className: "mt-4 py-4 rounded-xl bg-card", children: /* @__PURE__ */ jsxs8("div", { className: "flex flex-col gap-4 px-6", children: [
733
- links.map((link) => /* @__PURE__ */ jsx11("a", { href: link.href, className: "py-2 text-foreground hover:opacity-70 transition-colors", onClick: () => setMobileMenuOpen(false), children: link.label }, link.href)),
734
- ctaText && ctaHref && /* @__PURE__ */ jsx11(Button5, { asChild: true, variant: ctaVariant, className: "mt-2", onClick: () => setMobileMenuOpen(false), children: /* @__PURE__ */ jsx11("a", { href: ctaHref, children: ctaText }) })
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 }) })
735
675
  ] }) })
736
676
  }
737
677
  ) })
@@ -746,7 +686,7 @@ import { FaGithub, FaXTwitter } from "react-icons/fa6";
746
686
  import { SiNpm } from "react-icons/si";
747
687
  import { FaArrowRight } from "react-icons/fa6";
748
688
  import { Input } from "@mdxui/primitives";
749
- import { jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
689
+ import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
750
690
  function Footer({
751
691
  logo = "Priya",
752
692
  description = "Your AI Product Manager for GitHub. Automate issue triage, sprint planning, and backlog grooming.",
@@ -776,14 +716,14 @@ function Footer({
776
716
  }
777
717
  form.reset();
778
718
  };
779
- return /* @__PURE__ */ jsx12("footer", { className: cn("py-16 px-6 lg:px-12 bg-card text-card-foreground", className), children: /* @__PURE__ */ jsxs9("div", { className: "max-w-7xl mx-auto", children: [
780
- /* @__PURE__ */ jsxs9("div", { className: "grid md:grid-cols-5 gap-12 mb-12", children: [
781
- /* @__PURE__ */ jsxs9("div", { className: "md:col-span-2", children: [
782
- /* @__PURE__ */ jsx12(Link2, { href: "/", className: "inline-block mb-4", children: /* @__PURE__ */ jsx12("div", { className: "text-3xl font-base text-card-foreground", children: logo }) }),
783
- /* @__PURE__ */ jsx12("p", { className: "max-w-md text-sm leading-relaxed text-muted-foreground mb-6", children: description }),
784
- /* @__PURE__ */ jsx12("div", { className: "flex items-center gap-4", children: socialLinks.map((link) => {
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) => {
785
725
  const Icon = link.icon;
786
- return /* @__PURE__ */ jsx12(
726
+ return /* @__PURE__ */ jsx11(
787
727
  Link2,
788
728
  {
789
729
  href: link.href,
@@ -791,20 +731,20 @@ function Footer({
791
731
  rel: "noopener noreferrer",
792
732
  className: "text-muted-foreground transition-colors hover:text-card-foreground",
793
733
  "aria-label": link.label,
794
- children: /* @__PURE__ */ jsx12(Icon, { className: "w-5 h-5" })
734
+ children: /* @__PURE__ */ jsx11(Icon, { className: "w-5 h-5" })
795
735
  },
796
736
  link.label
797
737
  );
798
738
  }) })
799
739
  ] }),
800
- /* @__PURE__ */ jsxs9("div", { children: [
801
- /* @__PURE__ */ jsx12("h3", { className: "font-semibold text-base mb-4 text-card-foreground", children: "Quick Links" }),
802
- /* @__PURE__ */ jsx12("ul", { className: "space-y-2", children: quickLinks.map((link) => /* @__PURE__ */ jsx12("li", { children: /* @__PURE__ */ jsx12(Link2, { href: link.href, className: "text-sm text-muted-foreground transition-colors hover:text-card-foreground", children: link.label }) }, link.label)) })
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)) })
803
743
  ] }),
804
- /* @__PURE__ */ jsx12("div", { className: "w-full md:col-span-2 md:flex md:flex-col md:items-end", children: /* @__PURE__ */ jsxs9("div", { className: "w-full md:max-w-sm", children: [
805
- /* @__PURE__ */ jsx12("h3", { className: "font-semibold text-base mb-4 text-card-foreground", children: contactTitle }),
806
- /* @__PURE__ */ jsxs9("form", { onSubmit: handleEmailSubmit, className: "relative", children: [
807
- /* @__PURE__ */ jsx12(
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(
808
748
  Input,
809
749
  {
810
750
  type: "email",
@@ -814,118 +754,26 @@ function Footer({
814
754
  className: "w-full bg-muted border-border text-card-foreground placeholder:text-muted-foreground pr-12"
815
755
  }
816
756
  ),
817
- /* @__PURE__ */ jsx12(
757
+ /* @__PURE__ */ jsx11(
818
758
  "button",
819
759
  {
820
760
  type: "submit",
821
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",
822
762
  "aria-label": "Submit email",
823
- children: /* @__PURE__ */ jsx12(FaArrowRight, { className: "w-3 h-3" })
763
+ children: /* @__PURE__ */ jsx11(FaArrowRight, { className: "w-3 h-3" })
824
764
  }
825
765
  )
826
766
  ] })
827
767
  ] }) })
828
768
  ] }),
829
- /* @__PURE__ */ jsx12("div", { className: "border-t border-border pt-8", children: /* @__PURE__ */ jsx12("div", { className: "flex flex-col md:flex-row justify-between items-center gap-4", children: /* @__PURE__ */ jsx12("p", { className: "text-sm text-muted-foreground", children: copyrightText }) }) })
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 }) }) })
830
770
  ] }) });
831
771
  }
832
772
 
833
- // src/components/contact/contact.tsx
834
- import { useState as useState2 } from "react";
835
- import { Button as Button6, Input as Input2, Label, Textarea } from "@mdxui/primitives";
836
- import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
837
- var defaultFields = [
838
- {
839
- id: "name",
840
- label: "Name",
841
- type: "text",
842
- required: true
843
- },
844
- {
845
- id: "email",
846
- label: "Company Email",
847
- type: "email",
848
- required: true
849
- },
850
- {
851
- id: "message",
852
- label: "Message",
853
- type: "textarea",
854
- placeholder: "Tell us about your use case, team size, or any other questions you may have.",
855
- required: true
856
- }
857
- ];
858
- function Contact({
859
- heading = "Get in touch",
860
- subheading = "Have questions about use cases, pricing, or anything else? Let's chat!",
861
- fields = defaultFields,
862
- submitButtonText = "Submit",
863
- successMessage = "Thanks for reaching out! I'll get back to you within 24 hours.",
864
- errorMessage = "Hmm, something went wrong. Mind trying again?",
865
- onSubmit,
866
- backgroundColor = "bg-background",
867
- className
868
- }) {
869
- const [isSubmitting, setIsSubmitting] = useState2(false);
870
- const [formData, setFormData] = useState2({});
871
- const [submitStatus, setSubmitStatus] = useState2("idle");
872
- const handleSubmit = async (e) => {
873
- e.preventDefault();
874
- setIsSubmitting(true);
875
- setSubmitStatus("idle");
876
- try {
877
- if (onSubmit) {
878
- await onSubmit(formData);
879
- }
880
- setSubmitStatus("success");
881
- setFormData({});
882
- e.target.reset();
883
- } catch {
884
- setSubmitStatus("error");
885
- } finally {
886
- setIsSubmitting(false);
887
- }
888
- };
889
- const handleChange = (e) => {
890
- setFormData((prev) => ({
891
- ...prev,
892
- [e.target.id]: e.target.value
893
- }));
894
- };
895
- 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: [
896
- /* @__PURE__ */ jsx13(ScrollReveal, { direction: "up", delay: 0.1, children: /* @__PURE__ */ jsxs10("div", { className: "mb-14 text-center", children: [
897
- /* @__PURE__ */ jsx13("h1", { className: "font-normal text-[clamp(32px,4vw,40px)] leading-tight text-foreground mb-4", children: heading }),
898
- /* @__PURE__ */ jsx13("p", { className: "text-base text-muted-foreground max-w-2xl mx-auto", children: subheading })
899
- ] }) }),
900
- /* @__PURE__ */ jsx13(ScrollReveal, { direction: "up", delay: 0.2, children: /* @__PURE__ */ jsxs10(
901
- "form",
902
- {
903
- onSubmit: handleSubmit,
904
- 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",
905
- children: [
906
- fields.map((field) => /* @__PURE__ */ jsxs10("div", { className: "grid w-full items-center gap-2", children: [
907
- /* @__PURE__ */ jsxs10(Label, { htmlFor: field.id, className: "text-foreground", children: [
908
- field.label,
909
- field.required && /* @__PURE__ */ jsx13("span", { className: "text-destructive ml-1", children: "*" })
910
- ] }),
911
- 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 })
912
- ] }, field.id)),
913
- /* @__PURE__ */ jsx13(Button6, { type: "submit", className: "w-full", disabled: isSubmitting, children: isSubmitting ? "Submitting..." : submitButtonText }),
914
- submitStatus === "success" && /* @__PURE__ */ jsx13("p", { className: "text-primary text-sm text-center", children: successMessage }),
915
- submitStatus === "error" && /* @__PURE__ */ jsx13("p", { className: "text-destructive text-sm text-center", children: errorMessage })
916
- ]
917
- }
918
- ) })
919
- ] }) });
920
- }
921
-
922
- // src/components/integration/integration.tsx
923
- import { forwardRef, useRef, useEffect as useEffect3, useState as useState4 } from "react";
924
-
925
773
  // src/shared/animated-beam/animated-beam.tsx
926
- import { useEffect as useEffect2, useId, useState as useState3 } from "react";
774
+ import { useEffect as useEffect2, useId, useState as useState2 } from "react";
927
775
  import { motion as motion3 } from "motion/react";
928
- import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
776
+ import { jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
929
777
  function AnimatedBeam({
930
778
  className,
931
779
  containerRef,
@@ -946,8 +794,8 @@ function AnimatedBeam({
946
794
  endYOffset = 0
947
795
  }) {
948
796
  const id = useId();
949
- const [pathD, setPathD] = useState3("");
950
- const [svgDimensions, setSvgDimensions] = useState3({ width: 0, height: 0 });
797
+ const [pathD, setPathD] = useState2("");
798
+ const [svgDimensions, setSvgDimensions] = useState2({ width: 0, height: 0 });
951
799
  const gradientCoordinates = reverse ? {
952
800
  x1: ["90%", "-10%"],
953
801
  x2: ["100%", "0%"],
@@ -988,7 +836,7 @@ function AnimatedBeam({
988
836
  resizeObserver.disconnect();
989
837
  };
990
838
  }, [containerRef, fromRef, toRef, curvature, startXOffset, startYOffset, endXOffset, endYOffset]);
991
- return /* @__PURE__ */ jsxs11(
839
+ return /* @__PURE__ */ jsxs9(
992
840
  "svg",
993
841
  {
994
842
  fill: "none",
@@ -998,9 +846,9 @@ function AnimatedBeam({
998
846
  className: cn("pointer-events-none absolute top-0 left-0 transform-gpu stroke-2", className),
999
847
  viewBox: `0 0 ${svgDimensions.width} ${svgDimensions.height}`,
1000
848
  children: [
1001
- /* @__PURE__ */ jsx14("path", { d: pathD, stroke: pathColor, strokeWidth: pathWidth, strokeOpacity: pathOpacity, strokeLinecap: "round" }),
1002
- /* @__PURE__ */ jsx14("path", { d: pathD, strokeWidth: pathWidth, stroke: `url(#${id})`, strokeOpacity: "1", strokeLinecap: "round" }),
1003
- /* @__PURE__ */ jsx14("defs", { children: /* @__PURE__ */ jsxs11(
849
+ /* @__PURE__ */ jsx12("path", { d: pathD, stroke: pathColor, strokeWidth: pathWidth, strokeOpacity: pathOpacity, strokeLinecap: "round" }),
850
+ /* @__PURE__ */ jsx12("path", { d: pathD, strokeWidth: pathWidth, stroke: `url(#${id})`, strokeOpacity: "1", strokeLinecap: "round" }),
851
+ /* @__PURE__ */ jsx12("defs", { children: /* @__PURE__ */ jsxs9(
1004
852
  motion3.linearGradient,
1005
853
  {
1006
854
  className: "transform-gpu",
@@ -1026,10 +874,10 @@ function AnimatedBeam({
1026
874
  repeatDelay: 0
1027
875
  },
1028
876
  children: [
1029
- /* @__PURE__ */ jsx14("stop", { stopColor: gradientStartColor, stopOpacity: "0" }),
1030
- /* @__PURE__ */ jsx14("stop", { stopColor: gradientStartColor }),
1031
- /* @__PURE__ */ jsx14("stop", { offset: "32.5%", stopColor: gradientStopColor }),
1032
- /* @__PURE__ */ jsx14("stop", { offset: "100%", stopColor: gradientStopColor, stopOpacity: "0" })
877
+ /* @__PURE__ */ jsx12("stop", { stopColor: gradientStartColor, stopOpacity: "0" }),
878
+ /* @__PURE__ */ jsx12("stop", { stopColor: gradientStartColor }),
879
+ /* @__PURE__ */ jsx12("stop", { offset: "32.5%", stopColor: gradientStopColor }),
880
+ /* @__PURE__ */ jsx12("stop", { offset: "100%", stopColor: gradientStopColor, stopOpacity: "0" })
1033
881
  ]
1034
882
  }
1035
883
  ) })
@@ -1040,7 +888,7 @@ function AnimatedBeam({
1040
888
 
1041
889
  // src/shared/grid-pattern/grid-pattern.tsx
1042
890
  import { useId as useId2 } from "react";
1043
- import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
891
+ import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
1044
892
  function GridPattern({
1045
893
  width = 40,
1046
894
  height = 40,
@@ -1052,157 +900,33 @@ function GridPattern({
1052
900
  ...props
1053
901
  }) {
1054
902
  const id = useId2();
1055
- return /* @__PURE__ */ jsxs12(
903
+ return /* @__PURE__ */ jsxs10(
1056
904
  "svg",
1057
905
  {
1058
906
  "aria-hidden": "true",
1059
907
  className: cn("pointer-events-none absolute inset-0 h-full w-full fill-muted-foreground/20 stroke-muted-foreground/20", className),
1060
908
  ...props,
1061
909
  children: [
1062
- /* @__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 }) }) }),
1063
- /* @__PURE__ */ jsx15("rect", { width: "100%", height: "100%", strokeWidth: 0, fill: `url(#${id})` }),
1064
- 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}`)) })
910
+ /* @__PURE__ */ jsx13("defs", { children: /* @__PURE__ */ jsx13("pattern", { id, width, height, patternUnits: "userSpaceOnUse", x, y, children: /* @__PURE__ */ jsx13("path", { d: `M.5 ${height}V.5H${width}`, fill: "none", strokeDasharray }) }) }),
911
+ /* @__PURE__ */ jsx13("rect", { width: "100%", height: "100%", strokeWidth: 0, fill: `url(#${id})` }),
912
+ squares && /* @__PURE__ */ jsx13("svg", { x, y, className: "overflow-visible", children: squares.map(([sx, sy]) => /* @__PURE__ */ jsx13("rect", { strokeWidth: "0", width: width - 1, height: height - 1, x: sx * width + 1, y: sy * height + 1 }, `${sx}-${sy}`)) })
1065
913
  ]
1066
914
  }
1067
915
  );
1068
916
  }
1069
-
1070
- // src/components/integration/integration.tsx
1071
- import Image3 from "next/image";
1072
- import { Button as Button7 } from "@mdxui/primitives";
1073
- import { Fragment as Fragment2, jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
1074
- var Square = forwardRef(({ className, children }, ref) => {
1075
- return /* @__PURE__ */ jsx16(
1076
- "div",
1077
- {
1078
- ref,
1079
- className: cn("z-10 flex size-16 items-center justify-center rounded-lg bg-card border border-border p-3 integration-square-shadow", className),
1080
- children
1081
- }
1082
- );
1083
- });
1084
- Square.displayName = "Square";
1085
- function Integration({
1086
- title = "Connect in Seconds",
1087
- description = "Just connect your account and get started immediately \u2013 no configuration, no setup, no hassle.",
1088
- buttonText = "Get Started",
1089
- buttonHref = "#pricing",
1090
- leftNode,
1091
- rightNode,
1092
- beamAnimations = [
1093
- { startYOffset: 10, endYOffset: 10, curvature: -20, duration: 3 },
1094
- { startYOffset: -10, endYOffset: -10, curvature: 20, duration: 3, reverse: true }
1095
- ],
1096
- gridPatternWidth = 30,
1097
- gridPatternHeight = 30,
1098
- maxWidth = "5xl",
1099
- className,
1100
- contentOrder = "left"
1101
- }) {
1102
- const containerRef = useRef(null);
1103
- const leftRef = useRef(null);
1104
- const rightRef = useRef(null);
1105
- const [isDark, setIsDark] = useState4(false);
1106
- useEffect3(() => {
1107
- const checkDarkMode = () => {
1108
- const isDarkMode = document.documentElement.classList.contains("dark") || window.matchMedia("(prefers-color-scheme: dark)").matches;
1109
- setIsDark(isDarkMode);
1110
- };
1111
- checkDarkMode();
1112
- const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
1113
- const observer = new MutationObserver(checkDarkMode);
1114
- mediaQuery.addEventListener("change", checkDarkMode);
1115
- observer.observe(document.documentElement, {
1116
- attributes: true,
1117
- attributeFilter: ["class"]
1118
- });
1119
- return () => {
1120
- mediaQuery.removeEventListener("change", checkDarkMode);
1121
- observer.disconnect();
1122
- };
1123
- }, []);
1124
- const renderNode = (node, ref) => {
1125
- const squareContent = (() => {
1126
- if (node.type === "image" && typeof node.content === "string") {
1127
- 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" }) });
1128
- }
1129
- if (node.type === "icon" && typeof node.content === "string") {
1130
- return /* @__PURE__ */ jsx16("div", { className: cn("text-foreground", node.className), children: node.content });
1131
- }
1132
- return node.content;
1133
- })();
1134
- return /* @__PURE__ */ jsx16(Square, { ref, className: cn("size-20", node.type === "image" ? "p-0" : "", node.className), children: squareContent });
1135
- };
1136
- const maxWidthClasses = {
1137
- sm: "max-w-sm",
1138
- md: "max-w-md",
1139
- lg: "max-w-lg",
1140
- xl: "max-w-xl",
1141
- "2xl": "max-w-2xl",
1142
- "3xl": "max-w-3xl",
1143
- "4xl": "max-w-4xl",
1144
- "5xl": "max-w-5xl",
1145
- "6xl": "max-w-6xl",
1146
- "7xl": "max-w-7xl"
1147
- };
1148
- const content = /* @__PURE__ */ jsxs13("div", { className: "space-y-6", children: [
1149
- /* @__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 }) }),
1150
- /* @__PURE__ */ jsx16(ScrollReveal, { direction: "up", delay: 0.2, children: /* @__PURE__ */ jsx16("p", { className: "text-base text-muted-foreground max-w-lg", children: description }) }),
1151
- 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 }) }) })
1152
- ] });
1153
- 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: [
1154
- /* @__PURE__ */ jsx16(
1155
- GridPattern,
1156
- {
1157
- width: gridPatternWidth,
1158
- height: gridPatternHeight,
1159
- className: "opacity-30 mask-[radial-gradient(ellipse_at_center,black_40%,transparent_85%)] dark:mask-[radial-gradient(ellipse_at_center,white_40%,transparent_85%)]"
1160
- }
1161
- ),
1162
- /* @__PURE__ */ jsxs13("div", { className: "flex size-full flex-row items-center justify-center gap-20 relative z-10", children: [
1163
- /* @__PURE__ */ jsx16("div", { className: "flex flex-col justify-center", children: renderNode(leftNode, leftRef) }),
1164
- /* @__PURE__ */ jsx16("div", { className: "flex flex-col justify-center", children: renderNode(rightNode, rightRef) })
1165
- ] }),
1166
- beamAnimations.map((config, index) => /* @__PURE__ */ jsx16(
1167
- AnimatedBeam,
1168
- {
1169
- containerRef,
1170
- fromRef: leftRef,
1171
- toRef: rightRef,
1172
- startYOffset: config.startYOffset,
1173
- endYOffset: config.endYOffset,
1174
- curvature: config.curvature,
1175
- duration: config.duration,
1176
- reverse: config.reverse,
1177
- pathColor: isDark ? "rgba(255, 255, 255, 0.2)" : "rgba(0, 0, 0, 0.2)"
1178
- },
1179
- index
1180
- ))
1181
- ] }) });
1182
- 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: [
1183
- content,
1184
- animation
1185
- ] }) : /* @__PURE__ */ jsxs13(Fragment2, { children: [
1186
- animation,
1187
- content
1188
- ] }) }) }) });
1189
- }
1190
917
  export {
1191
918
  AnimatedBeam,
1192
919
  CTA,
1193
920
  CodeWindow,
1194
- Contact,
1195
921
  FAQ,
1196
922
  Features,
1197
923
  Footer,
1198
924
  GridPattern,
1199
925
  Hero,
1200
- Integration,
1201
926
  Marquee,
1202
927
  Navigation,
1203
928
  Pricing,
1204
929
  PricingTiers,
1205
- Problem,
1206
930
  ScrollReveal,
1207
931
  cn
1208
932
  };