@nextworks/blocks-templates 0.1.0-alpha.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/README.md +42 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/templates/digitalagency/Page.d.ts +3 -0
- package/dist/templates/digitalagency/Page.d.ts.map +1 -0
- package/dist/templates/digitalagency/Page.js +18 -0
- package/dist/templates/digitalagency/Page.jsx +33 -0
- package/dist/templates/digitalagency/PresetThemeVars.d.ts +11 -0
- package/dist/templates/digitalagency/PresetThemeVars.d.ts.map +1 -0
- package/dist/templates/digitalagency/PresetThemeVars.js +29 -0
- package/dist/templates/digitalagency/PresetThemeVars.jsx +31 -0
- package/dist/templates/digitalagency/components/About.d.ts +3 -0
- package/dist/templates/digitalagency/components/About.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/About.js +45 -0
- package/dist/templates/digitalagency/components/About.jsx +43 -0
- package/dist/templates/digitalagency/components/CTA.d.ts +3 -0
- package/dist/templates/digitalagency/components/CTA.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/CTA.js +33 -0
- package/dist/templates/digitalagency/components/CTA.jsx +31 -0
- package/dist/templates/digitalagency/components/Contact.d.ts +3 -0
- package/dist/templates/digitalagency/components/Contact.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Contact.js +91 -0
- package/dist/templates/digitalagency/components/Contact.jsx +91 -0
- package/dist/templates/digitalagency/components/Footer.d.ts +8 -0
- package/dist/templates/digitalagency/components/Footer.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Footer.js +58 -0
- package/dist/templates/digitalagency/components/Footer.jsx +58 -0
- package/dist/templates/digitalagency/components/Hero.d.ts +7 -0
- package/dist/templates/digitalagency/components/Hero.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Hero.js +69 -0
- package/dist/templates/digitalagency/components/Hero.jsx +71 -0
- package/dist/templates/digitalagency/components/Navbar.d.ts +21 -0
- package/dist/templates/digitalagency/components/Navbar.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Navbar.js +86 -0
- package/dist/templates/digitalagency/components/Navbar.jsx +85 -0
- package/dist/templates/digitalagency/components/NetworkPattern.d.ts +8 -0
- package/dist/templates/digitalagency/components/NetworkPattern.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/NetworkPattern.js +38 -0
- package/dist/templates/digitalagency/components/NetworkPattern.jsx +128 -0
- package/dist/templates/digitalagency/components/Portfolio.d.ts +3 -0
- package/dist/templates/digitalagency/components/Portfolio.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Portfolio.js +108 -0
- package/dist/templates/digitalagency/components/Portfolio.jsx +110 -0
- package/dist/templates/digitalagency/components/Pricing.d.ts +3 -0
- package/dist/templates/digitalagency/components/Pricing.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Pricing.js +82 -0
- package/dist/templates/digitalagency/components/Pricing.jsx +84 -0
- package/dist/templates/digitalagency/components/Process.d.ts +3 -0
- package/dist/templates/digitalagency/components/Process.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Process.js +38 -0
- package/dist/templates/digitalagency/components/Process.jsx +40 -0
- package/dist/templates/digitalagency/components/Services.d.ts +3 -0
- package/dist/templates/digitalagency/components/Services.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Services.js +34 -0
- package/dist/templates/digitalagency/components/Services.jsx +36 -0
- package/dist/templates/digitalagency/components/Team.d.ts +3 -0
- package/dist/templates/digitalagency/components/Team.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Team.js +14 -0
- package/dist/templates/digitalagency/components/Team.jsx +14 -0
- package/dist/templates/digitalagency/components/Testimonials.d.ts +3 -0
- package/dist/templates/digitalagency/components/Testimonials.d.ts.map +1 -0
- package/dist/templates/digitalagency/components/Testimonials.js +38 -0
- package/dist/templates/digitalagency/components/Testimonials.jsx +40 -0
- package/dist/templates/gallery/PresetThemeVars.d.ts +15 -0
- package/dist/templates/gallery/PresetThemeVars.d.ts.map +1 -0
- package/dist/templates/gallery/PresetThemeVars.js +31 -0
- package/dist/templates/gallery/PresetThemeVars.jsx +33 -0
- package/dist/templates/gallery/page.d.ts +2 -0
- package/dist/templates/gallery/page.d.ts.map +1 -0
- package/dist/templates/gallery/page.js +151 -0
- package/dist/templates/gallery/page.jsx +216 -0
- package/dist/templates/productlaunch/Page.d.ts +2 -0
- package/dist/templates/productlaunch/Page.d.ts.map +1 -0
- package/dist/templates/productlaunch/Page.js +20 -0
- package/dist/templates/productlaunch/Page.jsx +42 -0
- package/dist/templates/productlaunch/PresetThemeVars.d.ts +16 -0
- package/dist/templates/productlaunch/PresetThemeVars.d.ts.map +1 -0
- package/dist/templates/productlaunch/PresetThemeVars.js +28 -0
- package/dist/templates/productlaunch/PresetThemeVars.jsx +30 -0
- package/dist/templates/productlaunch/components/About.d.ts +15 -0
- package/dist/templates/productlaunch/components/About.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/About.js +59 -0
- package/dist/templates/productlaunch/components/About.jsx +57 -0
- package/dist/templates/productlaunch/components/CTA.d.ts +3 -0
- package/dist/templates/productlaunch/components/CTA.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/CTA.js +39 -0
- package/dist/templates/productlaunch/components/CTA.jsx +37 -0
- package/dist/templates/productlaunch/components/Contact.d.ts +3 -0
- package/dist/templates/productlaunch/components/Contact.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/Contact.js +93 -0
- package/dist/templates/productlaunch/components/Contact.jsx +93 -0
- package/dist/templates/productlaunch/components/FAQ.d.ts +7 -0
- package/dist/templates/productlaunch/components/FAQ.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/FAQ.js +64 -0
- package/dist/templates/productlaunch/components/FAQ.jsx +63 -0
- package/dist/templates/productlaunch/components/Features.d.ts +6 -0
- package/dist/templates/productlaunch/components/Features.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/Features.js +52 -0
- package/dist/templates/productlaunch/components/Features.jsx +51 -0
- package/dist/templates/productlaunch/components/Footer.d.ts +5 -0
- package/dist/templates/productlaunch/components/Footer.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/Footer.js +103 -0
- package/dist/templates/productlaunch/components/Footer.jsx +102 -0
- package/dist/templates/productlaunch/components/Hero.d.ts +6 -0
- package/dist/templates/productlaunch/components/Hero.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/Hero.js +70 -0
- package/dist/templates/productlaunch/components/Hero.jsx +69 -0
- package/dist/templates/productlaunch/components/Navbar.d.ts +25 -0
- package/dist/templates/productlaunch/components/Navbar.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/Navbar.js +82 -0
- package/dist/templates/productlaunch/components/Navbar.jsx +81 -0
- package/dist/templates/productlaunch/components/Pricing.d.ts +5 -0
- package/dist/templates/productlaunch/components/Pricing.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/Pricing.js +77 -0
- package/dist/templates/productlaunch/components/Pricing.jsx +76 -0
- package/dist/templates/productlaunch/components/ProcessTimeline.d.ts +5 -0
- package/dist/templates/productlaunch/components/ProcessTimeline.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/ProcessTimeline.js +63 -0
- package/dist/templates/productlaunch/components/ProcessTimeline.jsx +62 -0
- package/dist/templates/productlaunch/components/ServicesGrid.d.ts +5 -0
- package/dist/templates/productlaunch/components/ServicesGrid.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/ServicesGrid.js +41 -0
- package/dist/templates/productlaunch/components/ServicesGrid.jsx +40 -0
- package/dist/templates/productlaunch/components/Team.d.ts +5 -0
- package/dist/templates/productlaunch/components/Team.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/Team.js +72 -0
- package/dist/templates/productlaunch/components/Team.jsx +71 -0
- package/dist/templates/productlaunch/components/Testimonials.d.ts +5 -0
- package/dist/templates/productlaunch/components/Testimonials.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/Testimonials.js +55 -0
- package/dist/templates/productlaunch/components/Testimonials.jsx +54 -0
- package/dist/templates/productlaunch/components/TrustBadges.d.ts +5 -0
- package/dist/templates/productlaunch/components/TrustBadges.d.ts.map +1 -0
- package/dist/templates/productlaunch/components/TrustBadges.js +50 -0
- package/dist/templates/productlaunch/components/TrustBadges.jsx +49 -0
- package/dist/templates/saasdashboard/Page.d.ts +2 -0
- package/dist/templates/saasdashboard/Page.d.ts.map +1 -0
- package/dist/templates/saasdashboard/Page.js +15 -0
- package/dist/templates/saasdashboard/Page.jsx +35 -0
- package/dist/templates/saasdashboard/PresetThemeVars.d.ts +11 -0
- package/dist/templates/saasdashboard/PresetThemeVars.d.ts.map +1 -0
- package/dist/templates/saasdashboard/PresetThemeVars.js +27 -0
- package/dist/templates/saasdashboard/PresetThemeVars.jsx +29 -0
- package/dist/templates/saasdashboard/components/Contact.d.ts +3 -0
- package/dist/templates/saasdashboard/components/Contact.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/Contact.js +83 -0
- package/dist/templates/saasdashboard/components/Contact.jsx +90 -0
- package/dist/templates/saasdashboard/components/Dashboard.d.ts +21 -0
- package/dist/templates/saasdashboard/components/Dashboard.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/Dashboard.js +120 -0
- package/dist/templates/saasdashboard/components/Dashboard.jsx +168 -0
- package/dist/templates/saasdashboard/components/FAQ.d.ts +2 -0
- package/dist/templates/saasdashboard/components/FAQ.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/FAQ.js +35 -0
- package/dist/templates/saasdashboard/components/FAQ.jsx +34 -0
- package/dist/templates/saasdashboard/components/Features.d.ts +2 -0
- package/dist/templates/saasdashboard/components/Features.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/Features.js +55 -0
- package/dist/templates/saasdashboard/components/Features.jsx +54 -0
- package/dist/templates/saasdashboard/components/Footer.d.ts +2 -0
- package/dist/templates/saasdashboard/components/Footer.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/Footer.js +52 -0
- package/dist/templates/saasdashboard/components/Footer.jsx +51 -0
- package/dist/templates/saasdashboard/components/Hero.d.ts +2 -0
- package/dist/templates/saasdashboard/components/Hero.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/Hero.js +65 -0
- package/dist/templates/saasdashboard/components/Hero.jsx +70 -0
- package/dist/templates/saasdashboard/components/Hero_mask.d.ts +3 -0
- package/dist/templates/saasdashboard/components/Hero_mask.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/Hero_mask.js +73 -0
- package/dist/templates/saasdashboard/components/Hero_mask.jsx +85 -0
- package/dist/templates/saasdashboard/components/Navbar.d.ts +25 -0
- package/dist/templates/saasdashboard/components/Navbar.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/Navbar.js +83 -0
- package/dist/templates/saasdashboard/components/Navbar.jsx +84 -0
- package/dist/templates/saasdashboard/components/Pricing.d.ts +2 -0
- package/dist/templates/saasdashboard/components/Pricing.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/Pricing.js +65 -0
- package/dist/templates/saasdashboard/components/Pricing.jsx +64 -0
- package/dist/templates/saasdashboard/components/SmoothScroll.d.ts +2 -0
- package/dist/templates/saasdashboard/components/SmoothScroll.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/SmoothScroll.js +87 -0
- package/dist/templates/saasdashboard/components/SmoothScroll.jsx +87 -0
- package/dist/templates/saasdashboard/components/Testimonials.d.ts +2 -0
- package/dist/templates/saasdashboard/components/Testimonials.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/Testimonials.js +35 -0
- package/dist/templates/saasdashboard/components/Testimonials.jsx +39 -0
- package/dist/templates/saasdashboard/components/TrustBadges.d.ts +2 -0
- package/dist/templates/saasdashboard/components/TrustBadges.d.ts.map +1 -0
- package/dist/templates/saasdashboard/components/TrustBadges.js +37 -0
- package/dist/templates/saasdashboard/components/TrustBadges.jsx +36 -0
- package/package.json +27 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Footer as SharedFooter } from "@nextworks/blocks-sections";
|
|
3
|
+
import { Twitter, Linkedin, Github, Youtube, Mail } from "lucide-react";
|
|
4
|
+
/**
|
|
5
|
+
* Upgraded preset Footer for the Product Launch template wired to the upgraded shared Footer
|
|
6
|
+
*/
|
|
7
|
+
export function Footer() {
|
|
8
|
+
return (<SharedFooter id="footer" footerBrandName="IntelliOpAI" footerNavLinks={[
|
|
9
|
+
{
|
|
10
|
+
heading: "Product",
|
|
11
|
+
links: [
|
|
12
|
+
{ name: "Features", href: "#features" },
|
|
13
|
+
{ name: "Pricing", href: "#pricing" },
|
|
14
|
+
{ name: "API Documentation", href: "#api-docs" },
|
|
15
|
+
{ name: "FAQ", href: "#faq" },
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
heading: "Company",
|
|
20
|
+
links: [
|
|
21
|
+
{ name: "About", href: "#about" },
|
|
22
|
+
{ name: "Careers", href: "#careers" },
|
|
23
|
+
{ name: "Blog", href: "#blog" },
|
|
24
|
+
{ name: "Contact", href: "#contact" },
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
heading: "Resources",
|
|
29
|
+
links: [
|
|
30
|
+
{ name: "Help Center", href: "#help" },
|
|
31
|
+
{ name: "Terms of Service", href: "#terms" },
|
|
32
|
+
{ name: "Privacy Policy", href: "#privacy" },
|
|
33
|
+
{ name: "System Status", href: "#status" },
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
heading: "Developers",
|
|
38
|
+
links: [
|
|
39
|
+
{ name: "API Reference", href: "#api" },
|
|
40
|
+
{ name: "SDKs", href: "#sdk" },
|
|
41
|
+
{ name: "GitHub", href: "https://github.com", external: true },
|
|
42
|
+
{ name: "Community", href: "#community" },
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
]} footerSocialLinks={[
|
|
46
|
+
{
|
|
47
|
+
name: "Twitter",
|
|
48
|
+
icon: Twitter,
|
|
49
|
+
url: "https://twitter.com/intelliopai",
|
|
50
|
+
external: true,
|
|
51
|
+
label: "Follow IntelliOpAI on Twitter",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "LinkedIn",
|
|
55
|
+
icon: Linkedin,
|
|
56
|
+
url: "https://linkedin.com/company/intelliopai",
|
|
57
|
+
external: true,
|
|
58
|
+
label: "Connect with IntelliOpAI on LinkedIn",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "GitHub",
|
|
62
|
+
icon: Github,
|
|
63
|
+
url: "https://github.com/intelliopai",
|
|
64
|
+
external: true,
|
|
65
|
+
label: "View IntelliOpAI on GitHub",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "YouTube",
|
|
69
|
+
icon: Youtube,
|
|
70
|
+
url: "https://youtube.com/@intelliopai",
|
|
71
|
+
external: true,
|
|
72
|
+
label: "Watch IntelliOpAI on YouTube",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "Email",
|
|
76
|
+
icon: Mail,
|
|
77
|
+
url: "mailto:hello@intelliopai.com",
|
|
78
|
+
external: true,
|
|
79
|
+
label: "Contact IntelliOpAI via email",
|
|
80
|
+
},
|
|
81
|
+
]} section={{
|
|
82
|
+
className: "w-full bg-white dark:bg-black text-gray-800 dark:text-white border-t border-gray-200 dark:border-gray-800",
|
|
83
|
+
}} container={{ className: "max-w-7xl mx-auto px-6" }} brand={{
|
|
84
|
+
className: "text-xl md:text-2xl font-bold text-purple-600 dark:text-purple-400 font-outfit",
|
|
85
|
+
}} brandWrapper={{
|
|
86
|
+
className: "flex flex-col items-start text-left lg:pr-8",
|
|
87
|
+
}} navSection={{
|
|
88
|
+
className: "flex flex-col lg:flex-row items-start justify-between gap-8 lg:gap-12 pt-10.5 pb-12",
|
|
89
|
+
}} navGroup={{
|
|
90
|
+
className: "flex flex-col items-start text-left min-w-[150px] pt-1.5",
|
|
91
|
+
}} navHeading={{
|
|
92
|
+
className: "font-semibold text-gray-800 dark:text-white mb-4 text-sm uppercase tracking-wider font-inter",
|
|
93
|
+
}} navLink={{
|
|
94
|
+
className: "text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors duration-200 text-sm mb-3 font-inter block",
|
|
95
|
+
}} socialSection={{
|
|
96
|
+
className: "flex items-center justify-center gap-6 py-8 border-t border-gray-200 dark:border-gray-800",
|
|
97
|
+
}} socialLink={{
|
|
98
|
+
className: "text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-all duration-200 p-3 rounded-lg hover:bg-purple-50 dark:hover:bg-purple-900/20 hover:scale-110",
|
|
99
|
+
}} socialIcon={{ className: "h-6 w-6" }} copyright={{
|
|
100
|
+
className: "text-center text-sm text-gray-500 dark:text-gray-400 py-6 border-t border-gray-200 dark:border-gray-800 font-inter",
|
|
101
|
+
}} ariaLabel="IntelliOpAI footer"/>);
|
|
102
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Hero.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,IAAI,gCAgFnB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { HeroSplit as SharedHeroSplit } from "@nextworks/blocks-sections";
|
|
4
|
+
/**
|
|
5
|
+
* Product Launch preset for Hero, wired to the upgraded shared HeroSplit component
|
|
6
|
+
* using the slots + cn API.
|
|
7
|
+
*/
|
|
8
|
+
export function Hero() {
|
|
9
|
+
return (_jsx(SharedHeroSplit, { heading: {
|
|
10
|
+
text: "Revolutionize Your Workflow with AI",
|
|
11
|
+
className: "text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-bold leading-tight text-black dark:text-white font-outfit mx-auto",
|
|
12
|
+
}, subheading: {
|
|
13
|
+
text: "Transform your business operations with our cutting-edge AI solutions. Streamline processes, boost productivity, and unlock new possibilities for growth.",
|
|
14
|
+
className: "text-base md:text-lg lg:text-xl text-gray-700 dark:text-gray-100 mt-6 mb-8 max-w-2xl font-inter leading-relaxed mx-auto",
|
|
15
|
+
}, section: {
|
|
16
|
+
className: "bg-gradient-to-br from-white via-purple-50 to-white dark:from-gray-900 dark:via-purple-950/20 dark:to-gray-900 pt-16 px-8 pb-8",
|
|
17
|
+
}, cta1: {
|
|
18
|
+
label: "Get Started",
|
|
19
|
+
href: "#contact",
|
|
20
|
+
variant: "default",
|
|
21
|
+
size: "lg",
|
|
22
|
+
className: [
|
|
23
|
+
"text-base font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
|
|
24
|
+
"[--btn-bg:theme(colors.purple.600)]",
|
|
25
|
+
"hover:[--btn-hover-bg:theme(colors.purple.700)]",
|
|
26
|
+
"[--btn-fg:theme(colors.white)]",
|
|
27
|
+
"hover:[--btn-hover-fg:theme(colors.white)]",
|
|
28
|
+
].join(" "),
|
|
29
|
+
}, cta2: {
|
|
30
|
+
label: "Learn More",
|
|
31
|
+
href: "#features",
|
|
32
|
+
variant: "outline",
|
|
33
|
+
size: "lg",
|
|
34
|
+
className: [
|
|
35
|
+
// layout/typography/shadow/transitions
|
|
36
|
+
"text-base font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
|
|
37
|
+
// base colors (ensure outline has transparent bg instead of token background)
|
|
38
|
+
"[--btn-bg:transparent]",
|
|
39
|
+
// CSS variable overrides to control colors while keeping the outline variant structure
|
|
40
|
+
"[--btn-fg:theme(colors.purple.600)]",
|
|
41
|
+
"[--btn-border:theme(colors.purple.600)]",
|
|
42
|
+
"hover:[--btn-hover-bg:theme(colors.purple.50)]",
|
|
43
|
+
"hover:[--btn-hover-fg:theme(colors.purple.600)]",
|
|
44
|
+
// dark mode
|
|
45
|
+
"dark:[--btn-bg:transparent]",
|
|
46
|
+
"dark:[--btn-fg:theme(colors.purple.500)]",
|
|
47
|
+
"dark:[--btn-border:theme(colors.purple.500)]",
|
|
48
|
+
"dark:hover:[--btn-hover-bg:theme(colors.purple.950)]",
|
|
49
|
+
"dark:hover:[--btn-hover-fg:theme(colors.purple.500)]",
|
|
50
|
+
// ensure hover text stays the intended color in light mode
|
|
51
|
+
"hover:[--btn-hover-fg:theme(colors.purple.600)]",
|
|
52
|
+
// ensure a border width is present for the outline variant override cases
|
|
53
|
+
"border",
|
|
54
|
+
].join(" "),
|
|
55
|
+
}, image: {
|
|
56
|
+
src: "/placeholders/product_launch/hero.png",
|
|
57
|
+
alt: "AI-powered workflow illustration",
|
|
58
|
+
className: "object-contain",
|
|
59
|
+
}, imageLayout: "padded", imageContainer: {
|
|
60
|
+
className: "md:h-80 lg:h-96 md:w-1/2",
|
|
61
|
+
}, textContainer: {
|
|
62
|
+
className: " flex-1 p-5 lg:p-8 text-center lg:text-left",
|
|
63
|
+
}, buttonsContainer: {
|
|
64
|
+
className: [
|
|
65
|
+
"flex flex-col sm:flex-row gap-4 mt-8 justify-center lg:justify-start",
|
|
66
|
+
"[--btn-ring:theme(colors.purple.500)]",
|
|
67
|
+
"dark:[--btn-ring:theme(colors.purple.400)]",
|
|
68
|
+
].join(" "),
|
|
69
|
+
}, textAlign: "center", ariaLabel: "Revolutionize your workflow with AI hero section" }));
|
|
70
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { HeroSplit as SharedHeroSplit } from "@nextworks/blocks-sections";
|
|
3
|
+
/**
|
|
4
|
+
* Product Launch preset for Hero, wired to the upgraded shared HeroSplit component
|
|
5
|
+
* using the slots + cn API.
|
|
6
|
+
*/
|
|
7
|
+
export function Hero() {
|
|
8
|
+
return (<SharedHeroSplit heading={{
|
|
9
|
+
text: "Revolutionize Your Workflow with AI",
|
|
10
|
+
className: "text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-bold leading-tight text-black dark:text-white font-outfit mx-auto",
|
|
11
|
+
}} subheading={{
|
|
12
|
+
text: "Transform your business operations with our cutting-edge AI solutions. Streamline processes, boost productivity, and unlock new possibilities for growth.",
|
|
13
|
+
className: "text-base md:text-lg lg:text-xl text-gray-700 dark:text-gray-100 mt-6 mb-8 max-w-2xl font-inter leading-relaxed mx-auto",
|
|
14
|
+
}} section={{
|
|
15
|
+
className: "bg-gradient-to-br from-white via-purple-50 to-white dark:from-gray-900 dark:via-purple-950/20 dark:to-gray-900 pt-16 px-8 pb-8",
|
|
16
|
+
}} cta1={{
|
|
17
|
+
label: "Get Started",
|
|
18
|
+
href: "#contact",
|
|
19
|
+
variant: "default",
|
|
20
|
+
size: "lg",
|
|
21
|
+
className: [
|
|
22
|
+
"text-base font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
|
|
23
|
+
"[--btn-bg:theme(colors.purple.600)]",
|
|
24
|
+
"hover:[--btn-hover-bg:theme(colors.purple.700)]",
|
|
25
|
+
"[--btn-fg:theme(colors.white)]",
|
|
26
|
+
"hover:[--btn-hover-fg:theme(colors.white)]",
|
|
27
|
+
].join(" "),
|
|
28
|
+
}} cta2={{
|
|
29
|
+
label: "Learn More",
|
|
30
|
+
href: "#features",
|
|
31
|
+
variant: "outline",
|
|
32
|
+
size: "lg",
|
|
33
|
+
className: [
|
|
34
|
+
// layout/typography/shadow/transitions
|
|
35
|
+
"text-base font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
|
|
36
|
+
// base colors (ensure outline has transparent bg instead of token background)
|
|
37
|
+
"[--btn-bg:transparent]",
|
|
38
|
+
// CSS variable overrides to control colors while keeping the outline variant structure
|
|
39
|
+
"[--btn-fg:theme(colors.purple.600)]",
|
|
40
|
+
"[--btn-border:theme(colors.purple.600)]",
|
|
41
|
+
"hover:[--btn-hover-bg:theme(colors.purple.50)]",
|
|
42
|
+
"hover:[--btn-hover-fg:theme(colors.purple.600)]",
|
|
43
|
+
// dark mode
|
|
44
|
+
"dark:[--btn-bg:transparent]",
|
|
45
|
+
"dark:[--btn-fg:theme(colors.purple.500)]",
|
|
46
|
+
"dark:[--btn-border:theme(colors.purple.500)]",
|
|
47
|
+
"dark:hover:[--btn-hover-bg:theme(colors.purple.950)]",
|
|
48
|
+
"dark:hover:[--btn-hover-fg:theme(colors.purple.500)]",
|
|
49
|
+
// ensure hover text stays the intended color in light mode
|
|
50
|
+
"hover:[--btn-hover-fg:theme(colors.purple.600)]",
|
|
51
|
+
// ensure a border width is present for the outline variant override cases
|
|
52
|
+
"border",
|
|
53
|
+
].join(" "),
|
|
54
|
+
}} image={{
|
|
55
|
+
src: "/placeholders/product_launch/hero.png",
|
|
56
|
+
alt: "AI-powered workflow illustration",
|
|
57
|
+
className: "object-contain",
|
|
58
|
+
}} imageLayout="padded" imageContainer={{
|
|
59
|
+
className: "md:h-80 lg:h-96 md:w-1/2",
|
|
60
|
+
}} textContainer={{
|
|
61
|
+
className: " flex-1 p-5 lg:p-8 text-center lg:text-left",
|
|
62
|
+
}} buttonsContainer={{
|
|
63
|
+
className: [
|
|
64
|
+
"flex flex-col sm:flex-row gap-4 mt-8 justify-center lg:justify-start",
|
|
65
|
+
"[--btn-ring:theme(colors.purple.500)]",
|
|
66
|
+
"dark:[--btn-ring:theme(colors.purple.400)]",
|
|
67
|
+
].join(" "),
|
|
68
|
+
}} textAlign="center" ariaLabel="Revolutionize your workflow with AI hero section"/>);
|
|
69
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
import { Navbar as SharedNavbar } from "@nextworks/blocks-sections";
|
|
3
|
+
/**
|
|
4
|
+
* Product Launch preset Navbar
|
|
5
|
+
*
|
|
6
|
+
* - IntelliOpAI branding with purple color scheme
|
|
7
|
+
* - Custom font families (Outfit for brand, Inter for links)
|
|
8
|
+
* - No CTA button (ctaButton = null)
|
|
9
|
+
* - Purple hover states for links and theme toggle
|
|
10
|
+
* - Clean white background with dark mode support
|
|
11
|
+
*
|
|
12
|
+
* This preset exposes the Shared Navbar API so devs can override any prop/slot:
|
|
13
|
+
*
|
|
14
|
+
* Example:
|
|
15
|
+
* <Navbar
|
|
16
|
+
* brand="My Brand"
|
|
17
|
+
* links={{ className: "hover:text-emerald-600" }}
|
|
18
|
+
* container={{ className: "max-w-6xl mx-auto" }}
|
|
19
|
+
* />
|
|
20
|
+
*/
|
|
21
|
+
type SharedNavbarProps = ComponentProps<typeof SharedNavbar>;
|
|
22
|
+
type PresetOverrides = Partial<SharedNavbarProps>;
|
|
23
|
+
export declare function Navbar(overrides?: PresetOverrides): import("react").JSX.Element;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=Navbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Navbar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,KAAK,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAgFlD,wBAAgB,MAAM,CAAC,SAAS,GAAE,eAAoB,+BASrD"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// app/templates/productlaunch/components/Navbar.tsx
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Navbar as SharedNavbar } from "@nextworks/blocks-sections";
|
|
5
|
+
const defaultProps = {
|
|
6
|
+
brand: "IntelliOpAI",
|
|
7
|
+
menuItems: [
|
|
8
|
+
{ label: "Home", href: "#home" },
|
|
9
|
+
{ label: "Features", href: "#features" },
|
|
10
|
+
{ label: "Pricing", href: "#pricing" },
|
|
11
|
+
{ label: "FAQ", href: "#faq" },
|
|
12
|
+
{ label: "Contact", href: "#contact" },
|
|
13
|
+
],
|
|
14
|
+
ctaButton: null,
|
|
15
|
+
showColorModeToggle: true,
|
|
16
|
+
navHeight: "h-16",
|
|
17
|
+
sticky: true,
|
|
18
|
+
ariaLabel: "IntelliOpAI main navigation",
|
|
19
|
+
// Top-level className is left empty so page-level overrides can add layout constraints if needed.
|
|
20
|
+
className: "",
|
|
21
|
+
// Style slots tuned for the purple theme
|
|
22
|
+
nav: {
|
|
23
|
+
className: "bg-white dark:bg-gray-900 text-gray-800 dark:text-white border-b border-gray-200 dark:border-gray-800 " +
|
|
24
|
+
// Accent variables for this preset (read by toggle, links, mobile links)
|
|
25
|
+
"[--navbar-accent:theme(colors.purple.600)] dark:[--navbar-accent:theme(colors.purple.400)] " +
|
|
26
|
+
"[--navbar-toggle-bg:theme(colors.white)] dark:[--navbar-toggle-bg:theme(colors.gray.900)] " +
|
|
27
|
+
"[--navbar-hover-bg:theme(colors.purple.50)] dark:[--navbar-hover-bg:color-mix(in oklab,oklch(0.17 0.05 324) 20%, transparent)] " +
|
|
28
|
+
"[--navbar-ring:theme(colors.purple.500)] dark:[--navbar-ring:theme(colors.purple.400)] " +
|
|
29
|
+
"[--navbar-border:theme(colors.gray.200)] dark:[--navbar-border:theme(colors.gray.800)]",
|
|
30
|
+
},
|
|
31
|
+
brandText: {
|
|
32
|
+
className: "text-xl md:text-2xl font-bold font-outfit text-purple-700 dark:text-purple-500",
|
|
33
|
+
},
|
|
34
|
+
links: {
|
|
35
|
+
className: "text-sm font-medium font-inter text-gray-800 dark:text-white hover:text-purple-700 dark:hover:text-purple-500 " +
|
|
36
|
+
"focus:ring-[var(--navbar-ring)]",
|
|
37
|
+
},
|
|
38
|
+
// Preset keeps CTA hidden; if you enable it, these defaults give a subtle lift effect
|
|
39
|
+
ctaButtonStyle: {
|
|
40
|
+
variant: "default",
|
|
41
|
+
size: "default",
|
|
42
|
+
className: "shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5",
|
|
43
|
+
},
|
|
44
|
+
mobileMenu: {
|
|
45
|
+
className: "border-t border-gray-200 dark:border-gray-800",
|
|
46
|
+
},
|
|
47
|
+
container: {
|
|
48
|
+
className: "max-w-7xl mx-auto",
|
|
49
|
+
},
|
|
50
|
+
brandWrapper: {
|
|
51
|
+
className: "", // base layout is provided by SharedNavbar; override here if needed
|
|
52
|
+
},
|
|
53
|
+
desktopMenu: {
|
|
54
|
+
className: "hidden items-center space-x-1 md:flex lg:space-x-6",
|
|
55
|
+
},
|
|
56
|
+
toggleButton: {
|
|
57
|
+
className: "md:hidden flex items-center justify-center rounded-md p-2 transition-colors " +
|
|
58
|
+
"hover:bg-purple-50 dark:hover:bg-purple-900/20 " +
|
|
59
|
+
"focus:outline-none focus:ring-2 focus:ring-purple-500 dark:focus:ring-purple-400",
|
|
60
|
+
},
|
|
61
|
+
colorModeWrapper: {
|
|
62
|
+
className: "ml-2",
|
|
63
|
+
},
|
|
64
|
+
// With variables above, ThemeToggle can rely on them; explicit override optional
|
|
65
|
+
// themeToggle: { ... }
|
|
66
|
+
ctaButtonWrapper: {
|
|
67
|
+
className: "ml-2",
|
|
68
|
+
},
|
|
69
|
+
mobileMenuInner: {
|
|
70
|
+
className: "space-y-2 px-4 pt-2 pb-4",
|
|
71
|
+
},
|
|
72
|
+
// Mobile links will read --navbar-hover-bg; explicit class optional
|
|
73
|
+
mobileLinks: {
|
|
74
|
+
className: "hover:bg-[var(--navbar-hover-bg)]",
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
export function Navbar(overrides = {}) {
|
|
78
|
+
// Shallow-merge: passing a style-slot object (e.g., links, nav, etc.)
|
|
79
|
+
// replaces the default for that slot. This keeps the API simple and predictable.
|
|
80
|
+
const props = Object.assign(Object.assign({}, defaultProps), overrides);
|
|
81
|
+
return _jsx(SharedNavbar, Object.assign({}, props));
|
|
82
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// app/templates/productlaunch/components/Navbar.tsx
|
|
2
|
+
"use client";
|
|
3
|
+
import { Navbar as SharedNavbar } from "@nextworks/blocks-sections";
|
|
4
|
+
const defaultProps = {
|
|
5
|
+
brand: "IntelliOpAI",
|
|
6
|
+
menuItems: [
|
|
7
|
+
{ label: "Home", href: "#home" },
|
|
8
|
+
{ label: "Features", href: "#features" },
|
|
9
|
+
{ label: "Pricing", href: "#pricing" },
|
|
10
|
+
{ label: "FAQ", href: "#faq" },
|
|
11
|
+
{ label: "Contact", href: "#contact" },
|
|
12
|
+
],
|
|
13
|
+
ctaButton: null,
|
|
14
|
+
showColorModeToggle: true,
|
|
15
|
+
navHeight: "h-16",
|
|
16
|
+
sticky: true,
|
|
17
|
+
ariaLabel: "IntelliOpAI main navigation",
|
|
18
|
+
// Top-level className is left empty so page-level overrides can add layout constraints if needed.
|
|
19
|
+
className: "",
|
|
20
|
+
// Style slots tuned for the purple theme
|
|
21
|
+
nav: {
|
|
22
|
+
className: "bg-white dark:bg-gray-900 text-gray-800 dark:text-white border-b border-gray-200 dark:border-gray-800 " +
|
|
23
|
+
// Accent variables for this preset (read by toggle, links, mobile links)
|
|
24
|
+
"[--navbar-accent:theme(colors.purple.600)] dark:[--navbar-accent:theme(colors.purple.400)] " +
|
|
25
|
+
"[--navbar-toggle-bg:theme(colors.white)] dark:[--navbar-toggle-bg:theme(colors.gray.900)] " +
|
|
26
|
+
"[--navbar-hover-bg:theme(colors.purple.50)] dark:[--navbar-hover-bg:color-mix(in oklab,oklch(0.17 0.05 324) 20%, transparent)] " +
|
|
27
|
+
"[--navbar-ring:theme(colors.purple.500)] dark:[--navbar-ring:theme(colors.purple.400)] " +
|
|
28
|
+
"[--navbar-border:theme(colors.gray.200)] dark:[--navbar-border:theme(colors.gray.800)]",
|
|
29
|
+
},
|
|
30
|
+
brandText: {
|
|
31
|
+
className: "text-xl md:text-2xl font-bold font-outfit text-purple-700 dark:text-purple-500",
|
|
32
|
+
},
|
|
33
|
+
links: {
|
|
34
|
+
className: "text-sm font-medium font-inter text-gray-800 dark:text-white hover:text-purple-700 dark:hover:text-purple-500 " +
|
|
35
|
+
"focus:ring-[var(--navbar-ring)]",
|
|
36
|
+
},
|
|
37
|
+
// Preset keeps CTA hidden; if you enable it, these defaults give a subtle lift effect
|
|
38
|
+
ctaButtonStyle: {
|
|
39
|
+
variant: "default",
|
|
40
|
+
size: "default",
|
|
41
|
+
className: "shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5",
|
|
42
|
+
},
|
|
43
|
+
mobileMenu: {
|
|
44
|
+
className: "border-t border-gray-200 dark:border-gray-800",
|
|
45
|
+
},
|
|
46
|
+
container: {
|
|
47
|
+
className: "max-w-7xl mx-auto",
|
|
48
|
+
},
|
|
49
|
+
brandWrapper: {
|
|
50
|
+
className: "", // base layout is provided by SharedNavbar; override here if needed
|
|
51
|
+
},
|
|
52
|
+
desktopMenu: {
|
|
53
|
+
className: "hidden items-center space-x-1 md:flex lg:space-x-6",
|
|
54
|
+
},
|
|
55
|
+
toggleButton: {
|
|
56
|
+
className: "md:hidden flex items-center justify-center rounded-md p-2 transition-colors " +
|
|
57
|
+
"hover:bg-purple-50 dark:hover:bg-purple-900/20 " +
|
|
58
|
+
"focus:outline-none focus:ring-2 focus:ring-purple-500 dark:focus:ring-purple-400",
|
|
59
|
+
},
|
|
60
|
+
colorModeWrapper: {
|
|
61
|
+
className: "ml-2",
|
|
62
|
+
},
|
|
63
|
+
// With variables above, ThemeToggle can rely on them; explicit override optional
|
|
64
|
+
// themeToggle: { ... }
|
|
65
|
+
ctaButtonWrapper: {
|
|
66
|
+
className: "ml-2",
|
|
67
|
+
},
|
|
68
|
+
mobileMenuInner: {
|
|
69
|
+
className: "space-y-2 px-4 pt-2 pb-4",
|
|
70
|
+
},
|
|
71
|
+
// Mobile links will read --navbar-hover-bg; explicit class optional
|
|
72
|
+
mobileLinks: {
|
|
73
|
+
className: "hover:bg-[var(--navbar-hover-bg)]",
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
export function Navbar(overrides = {}) {
|
|
77
|
+
// Shallow-merge: passing a style-slot object (e.g., links, nav, etc.)
|
|
78
|
+
// replaces the default for that slot. This keeps the API simple and predictable.
|
|
79
|
+
const props = Object.assign(Object.assign({}, defaultProps), overrides);
|
|
80
|
+
return <SharedNavbar {...props}/>;
|
|
81
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pricing.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Pricing.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,OAAO,gCAkGtB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Pricing as SharedPricing } from "@nextworks/blocks-sections";
|
|
4
|
+
/**
|
|
5
|
+
* Product Launch preset for Pricing wired to the upgraded shared Pricing component
|
|
6
|
+
*/
|
|
7
|
+
export function Pricing() {
|
|
8
|
+
return (_jsx(SharedPricing, { id: "pricing", pricingHeadingText: "Choose Your AI Plan", pricingPlans: [
|
|
9
|
+
{
|
|
10
|
+
pricingPlanHeaderText: "Starter",
|
|
11
|
+
pricingPlanPrice: "$29",
|
|
12
|
+
pricingPlanFeatures: [
|
|
13
|
+
"Up to 1,000 AI requests/month",
|
|
14
|
+
"Basic AI models access",
|
|
15
|
+
"Email support",
|
|
16
|
+
"Standard analytics",
|
|
17
|
+
"API access",
|
|
18
|
+
],
|
|
19
|
+
pricingPlanCTALabel: "Get Started",
|
|
20
|
+
pricingPlanCTAHref: "#contact",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
pricingPlanHeaderText: "Professional",
|
|
24
|
+
pricingPlanPrice: "$99",
|
|
25
|
+
pricingPlanFeatures: [
|
|
26
|
+
"Up to 10,000 AI requests/month",
|
|
27
|
+
"Advanced AI models access",
|
|
28
|
+
"Priority support",
|
|
29
|
+
"Advanced analytics & insights",
|
|
30
|
+
"Full API access",
|
|
31
|
+
"Custom integrations",
|
|
32
|
+
"Team collaboration tools",
|
|
33
|
+
],
|
|
34
|
+
pricingPlanCTALabel: "Start Free Trial",
|
|
35
|
+
pricingPlanCTAHref: "#contact",
|
|
36
|
+
isPopular: true,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
pricingPlanHeaderText: "Enterprise",
|
|
40
|
+
pricingPlanPrice: "Custom",
|
|
41
|
+
pricingPlanFeatures: [
|
|
42
|
+
"Unlimited AI requests",
|
|
43
|
+
"Premium AI models access",
|
|
44
|
+
"24/7 dedicated support",
|
|
45
|
+
"Custom analytics dashboard",
|
|
46
|
+
"White-label solutions",
|
|
47
|
+
"Custom model training",
|
|
48
|
+
"SLA guarantee",
|
|
49
|
+
"On-premise deployment",
|
|
50
|
+
],
|
|
51
|
+
pricingPlanCTALabel: "Contact Sales",
|
|
52
|
+
pricingPlanCTAHref: "#contact",
|
|
53
|
+
},
|
|
54
|
+
], section: {
|
|
55
|
+
className: "pt-20 pb-16 bg-gray-50 dark:bg-gray-900 text-gray-800 dark:text-white",
|
|
56
|
+
}, container: { className: "max-w-7xl mx-auto px-6" }, heading: {
|
|
57
|
+
className: "text-3xl md:text-4xl lg:text-5xl font-bold text-center text-gray-800 dark:text-white mb-4 font-outfit",
|
|
58
|
+
}, grid: {
|
|
59
|
+
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mt-12",
|
|
60
|
+
}, card: {
|
|
61
|
+
className: "relative bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-2xl shadow-lg hover:shadow-2xl hover:shadow-purple-500/20 transition-all duration-300 hover:-translate-y-2 hover:border-purple-300 dark:hover:border-purple-600",
|
|
62
|
+
}, header: {
|
|
63
|
+
className: "p-8 text-center border-b border-gray-200 dark:border-gray-700",
|
|
64
|
+
}, title: {
|
|
65
|
+
className: "text-xl md:text-2xl font-bold text-gray-800 dark:text-white mb-3 font-outfit",
|
|
66
|
+
}, price: {
|
|
67
|
+
className: "text-3xl md:text-4xl font-bold text-purple-600 dark:text-purple-400 mb-6 font-outfit",
|
|
68
|
+
}, features: { className: "p-8 space-y-4" }, featureItem: {
|
|
69
|
+
className: "flex items-center text-gray-600 dark:text-gray-300 text-sm md:text-base font-inter",
|
|
70
|
+
}, cta: {
|
|
71
|
+
variant: "default",
|
|
72
|
+
size: "lg",
|
|
73
|
+
className: "w-full font-semibold text-base shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 border-0 [--btn-bg:theme(colors.purple.600)] hover:[--btn-hover-bg:theme(colors.purple.700)] [--btn-fg:white] hover:[--btn-hover-fg:white] [--btn-border:transparent]",
|
|
74
|
+
}, popularBadge: {
|
|
75
|
+
className: "absolute -top-4 left-1/2 transform -translate-x-1/2 bg-purple-600 text-white px-6 py-2 rounded-full text-sm font-medium font-inter shadow-lg",
|
|
76
|
+
}, ariaLabel: "IntelliOpAI pricing plans" }));
|
|
77
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Pricing as SharedPricing } from "@nextworks/blocks-sections";
|
|
3
|
+
/**
|
|
4
|
+
* Product Launch preset for Pricing wired to the upgraded shared Pricing component
|
|
5
|
+
*/
|
|
6
|
+
export function Pricing() {
|
|
7
|
+
return (<SharedPricing id="pricing" pricingHeadingText="Choose Your AI Plan" pricingPlans={[
|
|
8
|
+
{
|
|
9
|
+
pricingPlanHeaderText: "Starter",
|
|
10
|
+
pricingPlanPrice: "$29",
|
|
11
|
+
pricingPlanFeatures: [
|
|
12
|
+
"Up to 1,000 AI requests/month",
|
|
13
|
+
"Basic AI models access",
|
|
14
|
+
"Email support",
|
|
15
|
+
"Standard analytics",
|
|
16
|
+
"API access",
|
|
17
|
+
],
|
|
18
|
+
pricingPlanCTALabel: "Get Started",
|
|
19
|
+
pricingPlanCTAHref: "#contact",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
pricingPlanHeaderText: "Professional",
|
|
23
|
+
pricingPlanPrice: "$99",
|
|
24
|
+
pricingPlanFeatures: [
|
|
25
|
+
"Up to 10,000 AI requests/month",
|
|
26
|
+
"Advanced AI models access",
|
|
27
|
+
"Priority support",
|
|
28
|
+
"Advanced analytics & insights",
|
|
29
|
+
"Full API access",
|
|
30
|
+
"Custom integrations",
|
|
31
|
+
"Team collaboration tools",
|
|
32
|
+
],
|
|
33
|
+
pricingPlanCTALabel: "Start Free Trial",
|
|
34
|
+
pricingPlanCTAHref: "#contact",
|
|
35
|
+
isPopular: true,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
pricingPlanHeaderText: "Enterprise",
|
|
39
|
+
pricingPlanPrice: "Custom",
|
|
40
|
+
pricingPlanFeatures: [
|
|
41
|
+
"Unlimited AI requests",
|
|
42
|
+
"Premium AI models access",
|
|
43
|
+
"24/7 dedicated support",
|
|
44
|
+
"Custom analytics dashboard",
|
|
45
|
+
"White-label solutions",
|
|
46
|
+
"Custom model training",
|
|
47
|
+
"SLA guarantee",
|
|
48
|
+
"On-premise deployment",
|
|
49
|
+
],
|
|
50
|
+
pricingPlanCTALabel: "Contact Sales",
|
|
51
|
+
pricingPlanCTAHref: "#contact",
|
|
52
|
+
},
|
|
53
|
+
]} section={{
|
|
54
|
+
className: "pt-20 pb-16 bg-gray-50 dark:bg-gray-900 text-gray-800 dark:text-white",
|
|
55
|
+
}} container={{ className: "max-w-7xl mx-auto px-6" }} heading={{
|
|
56
|
+
className: "text-3xl md:text-4xl lg:text-5xl font-bold text-center text-gray-800 dark:text-white mb-4 font-outfit",
|
|
57
|
+
}} grid={{
|
|
58
|
+
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mt-12",
|
|
59
|
+
}} card={{
|
|
60
|
+
className: "relative bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-2xl shadow-lg hover:shadow-2xl hover:shadow-purple-500/20 transition-all duration-300 hover:-translate-y-2 hover:border-purple-300 dark:hover:border-purple-600",
|
|
61
|
+
}} header={{
|
|
62
|
+
className: "p-8 text-center border-b border-gray-200 dark:border-gray-700",
|
|
63
|
+
}} title={{
|
|
64
|
+
className: "text-xl md:text-2xl font-bold text-gray-800 dark:text-white mb-3 font-outfit",
|
|
65
|
+
}} price={{
|
|
66
|
+
className: "text-3xl md:text-4xl font-bold text-purple-600 dark:text-purple-400 mb-6 font-outfit",
|
|
67
|
+
}} features={{ className: "p-8 space-y-4" }} featureItem={{
|
|
68
|
+
className: "flex items-center text-gray-600 dark:text-gray-300 text-sm md:text-base font-inter",
|
|
69
|
+
}} cta={{
|
|
70
|
+
variant: "default",
|
|
71
|
+
size: "lg",
|
|
72
|
+
className: "w-full font-semibold text-base shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 border-0 [--btn-bg:theme(colors.purple.600)] hover:[--btn-hover-bg:theme(colors.purple.700)] [--btn-fg:white] hover:[--btn-hover-fg:white] [--btn-border:transparent]",
|
|
73
|
+
}} popularBadge={{
|
|
74
|
+
className: "absolute -top-4 left-1/2 transform -translate-x-1/2 bg-purple-600 text-white px-6 py-2 rounded-full text-sm font-medium font-inter shadow-lg",
|
|
75
|
+
}} ariaLabel="IntelliOpAI pricing plans"/>);
|
|
76
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessTimeline.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/ProcessTimeline.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,eAAe,gCAsG9B"}
|