@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.
Files changed (193) hide show
  1. package/README.md +42 -0
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +4 -0
  5. package/dist/templates/digitalagency/Page.d.ts +3 -0
  6. package/dist/templates/digitalagency/Page.d.ts.map +1 -0
  7. package/dist/templates/digitalagency/Page.js +18 -0
  8. package/dist/templates/digitalagency/Page.jsx +33 -0
  9. package/dist/templates/digitalagency/PresetThemeVars.d.ts +11 -0
  10. package/dist/templates/digitalagency/PresetThemeVars.d.ts.map +1 -0
  11. package/dist/templates/digitalagency/PresetThemeVars.js +29 -0
  12. package/dist/templates/digitalagency/PresetThemeVars.jsx +31 -0
  13. package/dist/templates/digitalagency/components/About.d.ts +3 -0
  14. package/dist/templates/digitalagency/components/About.d.ts.map +1 -0
  15. package/dist/templates/digitalagency/components/About.js +45 -0
  16. package/dist/templates/digitalagency/components/About.jsx +43 -0
  17. package/dist/templates/digitalagency/components/CTA.d.ts +3 -0
  18. package/dist/templates/digitalagency/components/CTA.d.ts.map +1 -0
  19. package/dist/templates/digitalagency/components/CTA.js +33 -0
  20. package/dist/templates/digitalagency/components/CTA.jsx +31 -0
  21. package/dist/templates/digitalagency/components/Contact.d.ts +3 -0
  22. package/dist/templates/digitalagency/components/Contact.d.ts.map +1 -0
  23. package/dist/templates/digitalagency/components/Contact.js +91 -0
  24. package/dist/templates/digitalagency/components/Contact.jsx +91 -0
  25. package/dist/templates/digitalagency/components/Footer.d.ts +8 -0
  26. package/dist/templates/digitalagency/components/Footer.d.ts.map +1 -0
  27. package/dist/templates/digitalagency/components/Footer.js +58 -0
  28. package/dist/templates/digitalagency/components/Footer.jsx +58 -0
  29. package/dist/templates/digitalagency/components/Hero.d.ts +7 -0
  30. package/dist/templates/digitalagency/components/Hero.d.ts.map +1 -0
  31. package/dist/templates/digitalagency/components/Hero.js +69 -0
  32. package/dist/templates/digitalagency/components/Hero.jsx +71 -0
  33. package/dist/templates/digitalagency/components/Navbar.d.ts +21 -0
  34. package/dist/templates/digitalagency/components/Navbar.d.ts.map +1 -0
  35. package/dist/templates/digitalagency/components/Navbar.js +86 -0
  36. package/dist/templates/digitalagency/components/Navbar.jsx +85 -0
  37. package/dist/templates/digitalagency/components/NetworkPattern.d.ts +8 -0
  38. package/dist/templates/digitalagency/components/NetworkPattern.d.ts.map +1 -0
  39. package/dist/templates/digitalagency/components/NetworkPattern.js +38 -0
  40. package/dist/templates/digitalagency/components/NetworkPattern.jsx +128 -0
  41. package/dist/templates/digitalagency/components/Portfolio.d.ts +3 -0
  42. package/dist/templates/digitalagency/components/Portfolio.d.ts.map +1 -0
  43. package/dist/templates/digitalagency/components/Portfolio.js +108 -0
  44. package/dist/templates/digitalagency/components/Portfolio.jsx +110 -0
  45. package/dist/templates/digitalagency/components/Pricing.d.ts +3 -0
  46. package/dist/templates/digitalagency/components/Pricing.d.ts.map +1 -0
  47. package/dist/templates/digitalagency/components/Pricing.js +82 -0
  48. package/dist/templates/digitalagency/components/Pricing.jsx +84 -0
  49. package/dist/templates/digitalagency/components/Process.d.ts +3 -0
  50. package/dist/templates/digitalagency/components/Process.d.ts.map +1 -0
  51. package/dist/templates/digitalagency/components/Process.js +38 -0
  52. package/dist/templates/digitalagency/components/Process.jsx +40 -0
  53. package/dist/templates/digitalagency/components/Services.d.ts +3 -0
  54. package/dist/templates/digitalagency/components/Services.d.ts.map +1 -0
  55. package/dist/templates/digitalagency/components/Services.js +34 -0
  56. package/dist/templates/digitalagency/components/Services.jsx +36 -0
  57. package/dist/templates/digitalagency/components/Team.d.ts +3 -0
  58. package/dist/templates/digitalagency/components/Team.d.ts.map +1 -0
  59. package/dist/templates/digitalagency/components/Team.js +14 -0
  60. package/dist/templates/digitalagency/components/Team.jsx +14 -0
  61. package/dist/templates/digitalagency/components/Testimonials.d.ts +3 -0
  62. package/dist/templates/digitalagency/components/Testimonials.d.ts.map +1 -0
  63. package/dist/templates/digitalagency/components/Testimonials.js +38 -0
  64. package/dist/templates/digitalagency/components/Testimonials.jsx +40 -0
  65. package/dist/templates/gallery/PresetThemeVars.d.ts +15 -0
  66. package/dist/templates/gallery/PresetThemeVars.d.ts.map +1 -0
  67. package/dist/templates/gallery/PresetThemeVars.js +31 -0
  68. package/dist/templates/gallery/PresetThemeVars.jsx +33 -0
  69. package/dist/templates/gallery/page.d.ts +2 -0
  70. package/dist/templates/gallery/page.d.ts.map +1 -0
  71. package/dist/templates/gallery/page.js +151 -0
  72. package/dist/templates/gallery/page.jsx +216 -0
  73. package/dist/templates/productlaunch/Page.d.ts +2 -0
  74. package/dist/templates/productlaunch/Page.d.ts.map +1 -0
  75. package/dist/templates/productlaunch/Page.js +20 -0
  76. package/dist/templates/productlaunch/Page.jsx +42 -0
  77. package/dist/templates/productlaunch/PresetThemeVars.d.ts +16 -0
  78. package/dist/templates/productlaunch/PresetThemeVars.d.ts.map +1 -0
  79. package/dist/templates/productlaunch/PresetThemeVars.js +28 -0
  80. package/dist/templates/productlaunch/PresetThemeVars.jsx +30 -0
  81. package/dist/templates/productlaunch/components/About.d.ts +15 -0
  82. package/dist/templates/productlaunch/components/About.d.ts.map +1 -0
  83. package/dist/templates/productlaunch/components/About.js +59 -0
  84. package/dist/templates/productlaunch/components/About.jsx +57 -0
  85. package/dist/templates/productlaunch/components/CTA.d.ts +3 -0
  86. package/dist/templates/productlaunch/components/CTA.d.ts.map +1 -0
  87. package/dist/templates/productlaunch/components/CTA.js +39 -0
  88. package/dist/templates/productlaunch/components/CTA.jsx +37 -0
  89. package/dist/templates/productlaunch/components/Contact.d.ts +3 -0
  90. package/dist/templates/productlaunch/components/Contact.d.ts.map +1 -0
  91. package/dist/templates/productlaunch/components/Contact.js +93 -0
  92. package/dist/templates/productlaunch/components/Contact.jsx +93 -0
  93. package/dist/templates/productlaunch/components/FAQ.d.ts +7 -0
  94. package/dist/templates/productlaunch/components/FAQ.d.ts.map +1 -0
  95. package/dist/templates/productlaunch/components/FAQ.js +64 -0
  96. package/dist/templates/productlaunch/components/FAQ.jsx +63 -0
  97. package/dist/templates/productlaunch/components/Features.d.ts +6 -0
  98. package/dist/templates/productlaunch/components/Features.d.ts.map +1 -0
  99. package/dist/templates/productlaunch/components/Features.js +52 -0
  100. package/dist/templates/productlaunch/components/Features.jsx +51 -0
  101. package/dist/templates/productlaunch/components/Footer.d.ts +5 -0
  102. package/dist/templates/productlaunch/components/Footer.d.ts.map +1 -0
  103. package/dist/templates/productlaunch/components/Footer.js +103 -0
  104. package/dist/templates/productlaunch/components/Footer.jsx +102 -0
  105. package/dist/templates/productlaunch/components/Hero.d.ts +6 -0
  106. package/dist/templates/productlaunch/components/Hero.d.ts.map +1 -0
  107. package/dist/templates/productlaunch/components/Hero.js +70 -0
  108. package/dist/templates/productlaunch/components/Hero.jsx +69 -0
  109. package/dist/templates/productlaunch/components/Navbar.d.ts +25 -0
  110. package/dist/templates/productlaunch/components/Navbar.d.ts.map +1 -0
  111. package/dist/templates/productlaunch/components/Navbar.js +82 -0
  112. package/dist/templates/productlaunch/components/Navbar.jsx +81 -0
  113. package/dist/templates/productlaunch/components/Pricing.d.ts +5 -0
  114. package/dist/templates/productlaunch/components/Pricing.d.ts.map +1 -0
  115. package/dist/templates/productlaunch/components/Pricing.js +77 -0
  116. package/dist/templates/productlaunch/components/Pricing.jsx +76 -0
  117. package/dist/templates/productlaunch/components/ProcessTimeline.d.ts +5 -0
  118. package/dist/templates/productlaunch/components/ProcessTimeline.d.ts.map +1 -0
  119. package/dist/templates/productlaunch/components/ProcessTimeline.js +63 -0
  120. package/dist/templates/productlaunch/components/ProcessTimeline.jsx +62 -0
  121. package/dist/templates/productlaunch/components/ServicesGrid.d.ts +5 -0
  122. package/dist/templates/productlaunch/components/ServicesGrid.d.ts.map +1 -0
  123. package/dist/templates/productlaunch/components/ServicesGrid.js +41 -0
  124. package/dist/templates/productlaunch/components/ServicesGrid.jsx +40 -0
  125. package/dist/templates/productlaunch/components/Team.d.ts +5 -0
  126. package/dist/templates/productlaunch/components/Team.d.ts.map +1 -0
  127. package/dist/templates/productlaunch/components/Team.js +72 -0
  128. package/dist/templates/productlaunch/components/Team.jsx +71 -0
  129. package/dist/templates/productlaunch/components/Testimonials.d.ts +5 -0
  130. package/dist/templates/productlaunch/components/Testimonials.d.ts.map +1 -0
  131. package/dist/templates/productlaunch/components/Testimonials.js +55 -0
  132. package/dist/templates/productlaunch/components/Testimonials.jsx +54 -0
  133. package/dist/templates/productlaunch/components/TrustBadges.d.ts +5 -0
  134. package/dist/templates/productlaunch/components/TrustBadges.d.ts.map +1 -0
  135. package/dist/templates/productlaunch/components/TrustBadges.js +50 -0
  136. package/dist/templates/productlaunch/components/TrustBadges.jsx +49 -0
  137. package/dist/templates/saasdashboard/Page.d.ts +2 -0
  138. package/dist/templates/saasdashboard/Page.d.ts.map +1 -0
  139. package/dist/templates/saasdashboard/Page.js +15 -0
  140. package/dist/templates/saasdashboard/Page.jsx +35 -0
  141. package/dist/templates/saasdashboard/PresetThemeVars.d.ts +11 -0
  142. package/dist/templates/saasdashboard/PresetThemeVars.d.ts.map +1 -0
  143. package/dist/templates/saasdashboard/PresetThemeVars.js +27 -0
  144. package/dist/templates/saasdashboard/PresetThemeVars.jsx +29 -0
  145. package/dist/templates/saasdashboard/components/Contact.d.ts +3 -0
  146. package/dist/templates/saasdashboard/components/Contact.d.ts.map +1 -0
  147. package/dist/templates/saasdashboard/components/Contact.js +83 -0
  148. package/dist/templates/saasdashboard/components/Contact.jsx +90 -0
  149. package/dist/templates/saasdashboard/components/Dashboard.d.ts +21 -0
  150. package/dist/templates/saasdashboard/components/Dashboard.d.ts.map +1 -0
  151. package/dist/templates/saasdashboard/components/Dashboard.js +120 -0
  152. package/dist/templates/saasdashboard/components/Dashboard.jsx +168 -0
  153. package/dist/templates/saasdashboard/components/FAQ.d.ts +2 -0
  154. package/dist/templates/saasdashboard/components/FAQ.d.ts.map +1 -0
  155. package/dist/templates/saasdashboard/components/FAQ.js +35 -0
  156. package/dist/templates/saasdashboard/components/FAQ.jsx +34 -0
  157. package/dist/templates/saasdashboard/components/Features.d.ts +2 -0
  158. package/dist/templates/saasdashboard/components/Features.d.ts.map +1 -0
  159. package/dist/templates/saasdashboard/components/Features.js +55 -0
  160. package/dist/templates/saasdashboard/components/Features.jsx +54 -0
  161. package/dist/templates/saasdashboard/components/Footer.d.ts +2 -0
  162. package/dist/templates/saasdashboard/components/Footer.d.ts.map +1 -0
  163. package/dist/templates/saasdashboard/components/Footer.js +52 -0
  164. package/dist/templates/saasdashboard/components/Footer.jsx +51 -0
  165. package/dist/templates/saasdashboard/components/Hero.d.ts +2 -0
  166. package/dist/templates/saasdashboard/components/Hero.d.ts.map +1 -0
  167. package/dist/templates/saasdashboard/components/Hero.js +65 -0
  168. package/dist/templates/saasdashboard/components/Hero.jsx +70 -0
  169. package/dist/templates/saasdashboard/components/Hero_mask.d.ts +3 -0
  170. package/dist/templates/saasdashboard/components/Hero_mask.d.ts.map +1 -0
  171. package/dist/templates/saasdashboard/components/Hero_mask.js +73 -0
  172. package/dist/templates/saasdashboard/components/Hero_mask.jsx +85 -0
  173. package/dist/templates/saasdashboard/components/Navbar.d.ts +25 -0
  174. package/dist/templates/saasdashboard/components/Navbar.d.ts.map +1 -0
  175. package/dist/templates/saasdashboard/components/Navbar.js +83 -0
  176. package/dist/templates/saasdashboard/components/Navbar.jsx +84 -0
  177. package/dist/templates/saasdashboard/components/Pricing.d.ts +2 -0
  178. package/dist/templates/saasdashboard/components/Pricing.d.ts.map +1 -0
  179. package/dist/templates/saasdashboard/components/Pricing.js +65 -0
  180. package/dist/templates/saasdashboard/components/Pricing.jsx +64 -0
  181. package/dist/templates/saasdashboard/components/SmoothScroll.d.ts +2 -0
  182. package/dist/templates/saasdashboard/components/SmoothScroll.d.ts.map +1 -0
  183. package/dist/templates/saasdashboard/components/SmoothScroll.js +87 -0
  184. package/dist/templates/saasdashboard/components/SmoothScroll.jsx +87 -0
  185. package/dist/templates/saasdashboard/components/Testimonials.d.ts +2 -0
  186. package/dist/templates/saasdashboard/components/Testimonials.d.ts.map +1 -0
  187. package/dist/templates/saasdashboard/components/Testimonials.js +35 -0
  188. package/dist/templates/saasdashboard/components/Testimonials.jsx +39 -0
  189. package/dist/templates/saasdashboard/components/TrustBadges.d.ts +2 -0
  190. package/dist/templates/saasdashboard/components/TrustBadges.d.ts.map +1 -0
  191. package/dist/templates/saasdashboard/components/TrustBadges.js +37 -0
  192. package/dist/templates/saasdashboard/components/TrustBadges.jsx +36 -0
  193. package/package.json +27 -0
@@ -0,0 +1,216 @@
1
+ // - /app/templates/gallery/page.tsx
2
+ "use client";
3
+ import { About, Contact, CTA, FAQ, Features, Footer, HeroMotion, HeroOverlay, HeroSplit, Navbar, Newsletter, PortfolioSimple, Pricing, ProcessTimeline, ServicesGrid, Team, Testimonials, TrustBadges, } from "@nextworks/blocks-sections";
4
+ import { ThemeSelector } from "@nextworks/blocks-core";
5
+ import { PresetThemeVars } from "./PresetThemeVars";
6
+ export default function Gallery() {
7
+ const defaultFeaturesData = [
8
+ {
9
+ imageSrc: "/placeholders/gallery/pexels-googledeepmind-25626431.jpg",
10
+ imageAlt: "Advanced Analytics Dashboard",
11
+ headingText: "Advanced Analytics",
12
+ subheadingText: "Get deep insights into your business performance with our comprehensive analytics dashboard that tracks key metrics and provides actionable recommendations.",
13
+ },
14
+ {
15
+ imageSrc: "/placeholders/gallery/pexels-googledeepmind-25626432.jpg",
16
+ imageAlt: "Real-time Collaboration Tools",
17
+ headingText: "Real-time Collaboration",
18
+ subheadingText: "Work seamlessly with your team using our real-time collaboration tools that keep everyone in sync and boost productivity across all projects.",
19
+ },
20
+ {
21
+ imageSrc: "/placeholders/gallery/pexels-googledeepmind-25626434.jpg",
22
+ imageAlt: "Secure Data Management",
23
+ headingText: "Secure Data Management",
24
+ subheadingText: "Protect your sensitive information with enterprise-grade security features including encryption, access controls, and compliance monitoring.",
25
+ },
26
+ {
27
+ imageSrc: "/placeholders/gallery/pexels-googledeepmind-25626436.jpg",
28
+ imageAlt: "Mobile-First Design",
29
+ headingText: "Mobile-First Design",
30
+ subheadingText: "Access your data and manage your workflow from anywhere with our responsive, mobile-optimized interface that works perfectly on all devices.",
31
+ },
32
+ ];
33
+ const BrandNode = (<>
34
+ <ThemeSelector ariaLabel="Demo: Color theme" label="" className="mr-2"/>
35
+
36
+ {/* <ThemeSelector /> */}
37
+ <div className="flex h-7 w-7 items-center justify-center rounded-md bg-gradient-to-br from-zinc-900 via-zinc-700 to-zinc-500 text-xs font-bold text-white shadow-sm dark:from-zinc-100 dark:via-zinc-300 dark:to-zinc-500 dark:text-zinc-900">
38
+ NW
39
+ </div>
40
+ </>);
41
+ return (<PresetThemeVars>
42
+ <div className="component-gallery">
43
+ {/* Navigation */}
44
+ <Navbar container={{ className: "max-w-7xl mx-auto" }} mobileMenu={{
45
+ className: "border-t border-border md:block lg:hidden",
46
+ }} desktopMenu={{
47
+ className: "hidden md:hidden lg:flex items-center space-x-1 lg:space-x-0",
48
+ }} id="site-navigation" brand="Nextworks" brandNode={BrandNode} menuItems={[
49
+ { label: "Hero", href: "#hero-sections" },
50
+ { label: "Trust", href: "#trust" },
51
+ { label: "Features", href: "#features" },
52
+ { label: "About", href: "#about-process" },
53
+ { label: "Work", href: "#portfolio-team" },
54
+ { label: "Testimonials", href: "#testimonials" },
55
+ { label: "Pricing", href: "#pricing" },
56
+ { label: "FAQ", href: "#faq" },
57
+ { label: "CTA", href: "#cta" },
58
+ { label: "Contact", href: "#contact" },
59
+ ]} links={{
60
+ className: "text-base font-normal text-foreground hover:text-gray-500 dark:hover:text-gray-400 transition-colors",
61
+ }} ctaButton={null}/>
62
+ {/* Hero Sections */}
63
+ <div id="hero-sections">
64
+ <HeroMotion actions={{
65
+ className: "mt-8 flex items-center justify-center gap-3 [--btn-ring:var(--ring)]",
66
+ }} primaryButtonStyle={{
67
+ size: "lg",
68
+ variant: "default",
69
+ className: "[--btn-bg:var(--primary)] [--btn-fg:var(--primary-foreground)] " +
70
+ "hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_88%,black)] " +
71
+ "hover:[--btn-hover-fg:var(--primary-foreground)]",
72
+ }} secondaryButtonStyle={{
73
+ size: "lg",
74
+ variant: "outline",
75
+ className: "border [&:where(button)]:border " +
76
+ "[--btn-bg:transparent] dark:[--btn-bg:transparent] " +
77
+ "[--btn-fg:var(--primary)] dark:[--btn-fg:var(--primary)] " +
78
+ "[--btn-border:var(--primary)] dark:[--btn-border:var(--primary)] " +
79
+ "hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_15%,transparent)] " +
80
+ "dark:hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_18%,transparent)] " +
81
+ "hover:[--btn-hover-fg:var(--primary)] dark:hover:[--btn-hover-fg:var(--primary)]",
82
+ }} primaryCta={{ label: "Get Started", href: "#hero-sections" }} secondaryCta={{ label: "See Demo", href: "#hero-sections" }}/>
83
+ <HeroOverlay heading="Forecast The Next Move" subheading="Predict demand, personalize journeys, and scale impact with AI-guided insights your team can use today." cta1={{
84
+ label: "Try It Free",
85
+ href: "#hero-sections",
86
+ className: "[--btn-bg:var(--primary)] [--btn-fg:var(--primary-foreground)] " +
87
+ "hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_88%,black)] " +
88
+ "hover:[--btn-hover-fg:var(--primary-foreground)]",
89
+ }} cta2={{
90
+ label: "See Demo",
91
+ href: "#hero-sections",
92
+ // Outline CTA should be transparent bg, primary fg/border, with subtle hover bg
93
+ className: "border [&:where(button)]:border " +
94
+ "[--btn-bg:transparent] dark:[--btn-bg:transparent] " +
95
+ "[--btn-fg:var(--primary)] dark:[--btn-fg:var(--primary)] " +
96
+ "[--btn-border:var(--primary)] dark:[--btn-border:var(--primary)] " +
97
+ "hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_15%,transparent)] " +
98
+ "dark:hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_18%,transparent)] " +
99
+ "hover:[--btn-hover-fg:var(--primary)] dark:hover:[--btn-hover-fg:var(--primary)]",
100
+ }}
101
+ // Set ring color on the CTA container so both buttons share it
102
+ ctaContainer={{
103
+ className: "flex flex-col sm:flex-row gap-4 mt-6 justify-center items-center [--btn-ring:var(--ring)]",
104
+ }} image={{
105
+ src: "/placeholders/gallery/hero-pexels-broken-9945014.avif",
106
+ }}/>
107
+ <HeroSplit heading="Confident Decisions, On Demand" subheading="Reliable data when you need it." cta1={{
108
+ label: "Start Free Trial",
109
+ href: "#hero-sections",
110
+ className: "[--btn-bg:var(--primary)] [--btn-fg:var(--primary-foreground)] " +
111
+ "hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_88%,black)] " +
112
+ "hover:[--btn-hover-fg:var(--primary-foreground)]",
113
+ }} cta2={{
114
+ label: "View Sample Report",
115
+ href: "#hero-sections",
116
+ className: "border [&:where(button)]:border " +
117
+ "[--btn-bg:transparent] dark:[--btn-bg:transparent] " +
118
+ "[--btn-fg:var(--primary)] dark:[--btn-fg:var(--primary)] " +
119
+ "[--btn-border:var(--primary)] dark:[--btn-border:var(--primary)] " +
120
+ "hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_15%,transparent)] " +
121
+ "dark:hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_18%,transparent)] " +
122
+ "hover:[--btn-hover-fg:var(--primary)] dark:hover:[--btn-hover-fg:var(--primary)]",
123
+ }} buttonsContainer={{
124
+ className: "flex flex-col md:flex-row gap-4 mt-6 [--btn-ring:var(--ring)]",
125
+ }} image={{
126
+ src: "/placeholders/gallery/hero-pexels-broken-9945014.avif",
127
+ }} imageLayout="full-bleed"/>
128
+ {/* */}
129
+ </div>
130
+ {/* Trust & Social Proof */}
131
+ <div id="trust" className="scroll-mt-16">
132
+ <TrustBadges />
133
+ </div>
134
+ {/* Features & Services */}
135
+ <div id="features" className="scroll-mt-16">
136
+ <Features featuresData={defaultFeaturesData}></Features>
137
+ <ServicesGrid />
138
+ </div>
139
+ {/* About & Process */}
140
+ <div id="about-process" className="scroll-mt-16">
141
+ <About animateStats={false}/>
142
+ <ProcessTimeline />
143
+ </div>
144
+ {/* Portfolio & Team */}
145
+ <div id="portfolio-team" className="scroll-mt-16">
146
+ <PortfolioSimple />
147
+ <Team />
148
+ </div>
149
+ {/* Testimonials */}
150
+ <div id="testimonials" className="scroll-mt-16">
151
+ <Testimonials />
152
+ </div>
153
+ {/* Pricing */}
154
+ <div id="pricing" className="scroll-mt-16">
155
+ <Pricing />
156
+ </div>
157
+ {/* FAQ */}
158
+ <div id="faq" className="scroll-mt-16">
159
+ <FAQ questionButton={{
160
+ className:
161
+ // Distinct, theme-driven gradient tile + brand ring/border
162
+ "bg-gradient-to-r " +
163
+ "from-[var(--primary)] to-[color-mix(in_oklab,var(--primary)_88%,black)] " +
164
+ "hover:from-[color-mix(in_oklab,var(--primary)_92%,black)] " +
165
+ "hover:to-[color-mix(in_oklab,var(--primary)_95%,black)] " +
166
+ "text-[var(--primary-foreground)] p-5 cursor-pointer rounded-lg " +
167
+ "transition-all duration-200 flex items-center justify-between " +
168
+ "shadow-lg hover:shadow-xl hover:-translate-y-0.5 " +
169
+ // define ring/border vars and ensure a visible border if tokens apply
170
+ "[--btn-ring:var(--ring)] [--btn-border:var(--primary)] border [&:where(button)]:border",
171
+ }} answer={{
172
+ className: "bg-gradient-to-r " +
173
+ "from-[var(--secondary)] to-[color-mix(in_oklab,var(--secondary)_90%,white)] ",
174
+ }}/>
175
+ </div>
176
+ {/* Call to Action */}
177
+ <div id="cta" className="scroll-mt-16">
178
+ <CTA ctaButton={{ label: "Sign Up Now", href: "#contact" }} actionsWrapper={{
179
+ className: "mt-6 flex flex-col items-center gap-3 sm:flex-row [--btn-ring:var(--ring)]",
180
+ }} ctaButtonStyle={{
181
+ variant: "default",
182
+ size: "default",
183
+ className: "shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 " +
184
+ "[--btn-bg:var(--primary)] [--btn-fg:var(--primary-foreground)] " +
185
+ "hover:[--btn-hover-bg:color-mix(in_oklab,var(--primary)_88%,black)] " +
186
+ "hover:[--btn-hover-fg:var(--primary-foreground)]",
187
+ }}/>
188
+ </div>
189
+ {/* Contact */}
190
+ <div id="contact" className="scroll-mt-16">
191
+ <Contact submitButtonStyle={{
192
+ variant: "default",
193
+ size: "lg",
194
+ className: "w-full shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 " +
195
+ // Match FAQ question button gradient + brand ring/border
196
+ "bg-gradient-to-r " +
197
+ "from-[var(--primary)] to-[color-mix(in_oklab,var(--primary)_88%,black)] " +
198
+ "hover:from-[color-mix(in_oklab,var(--primary)_92%,black)] " +
199
+ "hover:to-[color-mix(in_oklab,var(--primary)_95%,black)] " +
200
+ "text-[var(--primary-foreground)] " +
201
+ "[--btn-ring:var(--ring)] [--btn-border:var(--primary)] border [&:where(button)]:border",
202
+ }}/>
203
+ </div>
204
+ {/* Newsletter */}
205
+ <div id="newsletter" className="scroll-mt-16">
206
+ <Newsletter button={{
207
+ className: "!bg-[var(--primary)] hover:!bg-[color-mix(in_oklab,var(--primary)_90%,transparent)] !text-[var(--primary-foreground)] hover:!text-[var(--primary-background)]",
208
+ }}/>
209
+ </div>
210
+ {/* Footer */}
211
+ <div id="footer">
212
+ <Footer />
213
+ </div>
214
+ </div>
215
+ </PresetThemeVars>);
216
+ }
@@ -0,0 +1,2 @@
1
+ export declare function ProductLaunchPage(): import("react").JSX.Element;
2
+ //# sourceMappingURL=Page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/templates/productlaunch/Page.tsx"],"names":[],"mappings":"AAeA,wBAAgB,iBAAiB,gCA6BhC"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Navbar } from "./components/Navbar";
3
+ import { CTA } from "./components/CTA";
4
+ import { Hero } from "./components/Hero";
5
+ import { About } from "./components/About";
6
+ import { Pricing } from "./components/Pricing";
7
+ import { ProcessTimeline } from "./components/ProcessTimeline";
8
+ import { FAQ } from "./components/FAQ";
9
+ import { Contact } from "./components/Contact";
10
+ import { Footer } from "./components/Footer";
11
+ import { Testimonials } from "./components/Testimonials";
12
+ import { TrustBadges } from "./components/TrustBadges";
13
+ import { Features } from "./components/Features";
14
+ export function ProductLaunchPage() {
15
+ return (
16
+ // <PresetThemeVars>
17
+ _jsxs(_Fragment, { children: [_jsx(Navbar, {}), _jsx("section", { id: "home", children: _jsx(Hero, {}) }), _jsx(TrustBadges, {}), _jsx(About, {}), _jsxs("section", { id: "features", children: [_jsx(Features, {}), _jsx(ProcessTimeline, {})] }), _jsx(Testimonials, {}), _jsx(CTA, {}), _jsx("section", { id: "pricing", children: _jsx(Pricing, {}) }), _jsx("section", { id: "faq", children: _jsx(FAQ, {}) }), _jsx("section", { id: "contact", children: _jsx(Contact, {}) }), _jsx(Footer, {})] })
18
+ // </PresetThemeVars>
19
+ );
20
+ }
@@ -0,0 +1,42 @@
1
+ import { Navbar } from "./components/Navbar";
2
+ import { CTA } from "./components/CTA";
3
+ import { Hero } from "./components/Hero";
4
+ import { About } from "./components/About";
5
+ import { Pricing } from "./components/Pricing";
6
+ import { ProcessTimeline } from "./components/ProcessTimeline";
7
+ import { FAQ } from "./components/FAQ";
8
+ import { Contact } from "./components/Contact";
9
+ import { Footer } from "./components/Footer";
10
+ import { Testimonials } from "./components/Testimonials";
11
+ import { TrustBadges } from "./components/TrustBadges";
12
+ import { Features } from "./components/Features";
13
+ export function ProductLaunchPage() {
14
+ return (
15
+ // <PresetThemeVars>
16
+ <>
17
+ <Navbar />
18
+ <section id="home">
19
+ <Hero />
20
+ </section>
21
+ <TrustBadges />
22
+ <About />
23
+ <section id="features">
24
+ <Features />
25
+ <ProcessTimeline />
26
+ </section>
27
+ <Testimonials />
28
+ <CTA />
29
+ <section id="pricing">
30
+ <Pricing />
31
+ </section>
32
+ <section id="faq">
33
+ <FAQ />
34
+ </section>
35
+ <section id="contact">
36
+ <Contact />
37
+ </section>
38
+ <Footer />
39
+ </>
40
+ // </PresetThemeVars>
41
+ );
42
+ }
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ type Props = React.PropsWithChildren<{
3
+ className?: string;
4
+ }>;
5
+ /**
6
+ * ProductLaunch template theme variables wrapper.
7
+ *
8
+ * Sets a small CSS variable contract consumed by shared components
9
+ * (Buttons, Inputs, Cards, Badges, Footer, Table, etc.).
10
+ *
11
+ * You can override any variable per-section by re-declaring it on
12
+ * that section/container.
13
+ */
14
+ export declare function PresetThemeVars({ className, children }: Props): React.JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=PresetThemeVars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresetThemeVars.d.ts","sourceRoot":"","sources":["../../../src/templates/productlaunch/PresetThemeVars.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,KAAK,qBA2D7D"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "@nextworks/blocks-core";
3
+ /**
4
+ * ProductLaunch template theme variables wrapper.
5
+ *
6
+ * Sets a small CSS variable contract consumed by shared components
7
+ * (Buttons, Inputs, Cards, Badges, Footer, Table, etc.).
8
+ *
9
+ * You can override any variable per-section by re-declaring it on
10
+ * that section/container.
11
+ */
12
+ export function PresetThemeVars({ className, children }) {
13
+ return (_jsx("div", { className: cn(
14
+ // Button ring shared across template
15
+ "[--btn-ring:theme(colors.purple.500)] dark:[--btn-ring:theme(colors.purple.400)]",
16
+ // Inputs (Contact)
17
+ "[--input-bg:theme(colors.white)] dark:[--input-bg:theme(colors.gray.900)]", "[--input-fg:theme(colors.gray.900)] dark:[--input-fg:theme(colors.gray.100)]", "[--input-placeholder:theme(colors.gray.400)] dark:[--input-placeholder:theme(colors.gray.500)]", "[--input-border:theme(colors.purple.200)] dark:[--input-border:theme(colors.purple.700)]", "[--input-focus-ring:theme(colors.purple.500)] dark:[--input-focus-ring:theme(colors.purple.400)]", "[--input-ring-offset:theme(colors.white)] dark:[--input-ring-offset:theme(colors.gray.900)]",
18
+ // Cards (Features, ServicesGrid, Pricing, Testimonials, etc.)
19
+ "[--card-bg:theme(colors.white)] dark:[--card-bg:theme(colors.gray.900)]", "[--card-fg:theme(colors.gray.900)] dark:[--card-fg:theme(colors.gray.100)]", "[--card-title-fg:theme(colors.gray.900)] dark:[--card-title-fg:theme(colors.gray.100)]", "[--card-muted-fg:theme(colors.gray.500)] dark:[--card-muted-fg:theme(colors.gray.400)]", "[--card-border:theme(colors.gray.200)] dark:[--card-border:theme(colors.gray.800)]", "[--card-shadow:0_6px_20px_rgba(0,0,0,0.06)]",
20
+ // Badges/Chips (Portfolio filters/tags, Pricing badge, Testimonials avatar)
21
+ "[--badge-bg:theme(colors.purple.50)] dark:[--badge-bg:theme(colors.purple.950)]", "[--badge-fg:theme(colors.purple.700)] dark:[--badge-fg:theme(colors.purple.300)]", "[--badge-border:theme(colors.purple.200)] dark:[--badge-border:theme(colors.purple.800)]", "[--badge-active-bg:theme(colors.purple.600)] dark:[--badge-active-bg:theme(colors.purple.500)]", "[--badge-active-fg:theme(colors.white)] dark:[--badge-active-fg:theme(colors.white)]", "[--badge-active-border:theme(colors.purple.700)] dark:[--badge-active-border:theme(colors.purple.400)]",
22
+ // Headings/Subheadings
23
+ "[--heading-fg:theme(colors.gray.900)] dark:[--heading-fg:theme(colors.gray.100)]", "[--subheading-fg:theme(colors.gray.600)] dark:[--subheading-fg:theme(colors.gray.300)]", "[--description-fg:theme(colors.gray.700)] dark:[--description-fg:theme(colors.gray.200)]",
24
+ // Footer
25
+ "[--footer-bg:transparent] dark:[--footer-bg:transparent]", "[--footer-fg:theme(colors.gray.800)] dark:[--footer-fg:theme(colors.gray.100)]", "[--footer-heading-fg:theme(colors.gray.900)] dark:[--footer-heading-fg:theme(colors.gray.100)]", "[--footer-link-fg:theme(colors.gray.700)] dark:[--footer-link-fg:theme(colors.gray.300)]", "[--footer-link-hover-fg:theme(colors.purple.700)] dark:[--footer-link-hover-fg:theme(colors.purple.400)]", "[--footer-link-hover-bg:theme(colors.purple.50)] dark:[--footer-link-hover-bg:color-mix(in_oklab,oklch(0.17_0.05_324)_20%,transparent)]", "[--footer-muted-fg:theme(colors.gray.500)] dark:[--footer-muted-fg:theme(colors.gray.400)]", "[--footer-border:theme(colors.gray.200)] dark:[--footer-border:theme(colors.gray.800)]",
26
+ // Table (optional)
27
+ "[--table-fg:inherit]", "[--table-muted-fg:theme(colors.gray.500)] dark:[--table-muted-fg:theme(colors.gray.400)]", "[--table-head-fg:theme(colors.gray.700)] dark:[--table-head-fg:theme(colors.gray.300)]", "[--table-border:theme(colors.gray.200)] dark:[--table-border:theme(colors.gray.800)]", "[--table-row-hover-bg:theme(colors.gray.50)] dark:[--table-row-hover-bg:theme(colors.gray.900)]", className), children: children }));
28
+ }
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ import { cn } from "@nextworks/blocks-core";
3
+ /**
4
+ * ProductLaunch template theme variables wrapper.
5
+ *
6
+ * Sets a small CSS variable contract consumed by shared components
7
+ * (Buttons, Inputs, Cards, Badges, Footer, Table, etc.).
8
+ *
9
+ * You can override any variable per-section by re-declaring it on
10
+ * that section/container.
11
+ */
12
+ export function PresetThemeVars({ className, children }) {
13
+ return (<div className={cn(
14
+ // Button ring shared across template
15
+ "[--btn-ring:theme(colors.purple.500)] dark:[--btn-ring:theme(colors.purple.400)]",
16
+ // Inputs (Contact)
17
+ "[--input-bg:theme(colors.white)] dark:[--input-bg:theme(colors.gray.900)]", "[--input-fg:theme(colors.gray.900)] dark:[--input-fg:theme(colors.gray.100)]", "[--input-placeholder:theme(colors.gray.400)] dark:[--input-placeholder:theme(colors.gray.500)]", "[--input-border:theme(colors.purple.200)] dark:[--input-border:theme(colors.purple.700)]", "[--input-focus-ring:theme(colors.purple.500)] dark:[--input-focus-ring:theme(colors.purple.400)]", "[--input-ring-offset:theme(colors.white)] dark:[--input-ring-offset:theme(colors.gray.900)]",
18
+ // Cards (Features, ServicesGrid, Pricing, Testimonials, etc.)
19
+ "[--card-bg:theme(colors.white)] dark:[--card-bg:theme(colors.gray.900)]", "[--card-fg:theme(colors.gray.900)] dark:[--card-fg:theme(colors.gray.100)]", "[--card-title-fg:theme(colors.gray.900)] dark:[--card-title-fg:theme(colors.gray.100)]", "[--card-muted-fg:theme(colors.gray.500)] dark:[--card-muted-fg:theme(colors.gray.400)]", "[--card-border:theme(colors.gray.200)] dark:[--card-border:theme(colors.gray.800)]", "[--card-shadow:0_6px_20px_rgba(0,0,0,0.06)]",
20
+ // Badges/Chips (Portfolio filters/tags, Pricing badge, Testimonials avatar)
21
+ "[--badge-bg:theme(colors.purple.50)] dark:[--badge-bg:theme(colors.purple.950)]", "[--badge-fg:theme(colors.purple.700)] dark:[--badge-fg:theme(colors.purple.300)]", "[--badge-border:theme(colors.purple.200)] dark:[--badge-border:theme(colors.purple.800)]", "[--badge-active-bg:theme(colors.purple.600)] dark:[--badge-active-bg:theme(colors.purple.500)]", "[--badge-active-fg:theme(colors.white)] dark:[--badge-active-fg:theme(colors.white)]", "[--badge-active-border:theme(colors.purple.700)] dark:[--badge-active-border:theme(colors.purple.400)]",
22
+ // Headings/Subheadings
23
+ "[--heading-fg:theme(colors.gray.900)] dark:[--heading-fg:theme(colors.gray.100)]", "[--subheading-fg:theme(colors.gray.600)] dark:[--subheading-fg:theme(colors.gray.300)]", "[--description-fg:theme(colors.gray.700)] dark:[--description-fg:theme(colors.gray.200)]",
24
+ // Footer
25
+ "[--footer-bg:transparent] dark:[--footer-bg:transparent]", "[--footer-fg:theme(colors.gray.800)] dark:[--footer-fg:theme(colors.gray.100)]", "[--footer-heading-fg:theme(colors.gray.900)] dark:[--footer-heading-fg:theme(colors.gray.100)]", "[--footer-link-fg:theme(colors.gray.700)] dark:[--footer-link-fg:theme(colors.gray.300)]", "[--footer-link-hover-fg:theme(colors.purple.700)] dark:[--footer-link-hover-fg:theme(colors.purple.400)]", "[--footer-link-hover-bg:theme(colors.purple.50)] dark:[--footer-link-hover-bg:color-mix(in_oklab,oklch(0.17_0.05_324)_20%,transparent)]", "[--footer-muted-fg:theme(colors.gray.500)] dark:[--footer-muted-fg:theme(colors.gray.400)]", "[--footer-border:theme(colors.gray.200)] dark:[--footer-border:theme(colors.gray.800)]",
26
+ // Table (optional)
27
+ "[--table-fg:inherit]", "[--table-muted-fg:theme(colors.gray.500)] dark:[--table-muted-fg:theme(colors.gray.400)]", "[--table-head-fg:theme(colors.gray.700)] dark:[--table-head-fg:theme(colors.gray.300)]", "[--table-border:theme(colors.gray.200)] dark:[--table-border:theme(colors.gray.800)]", "[--table-row-hover-bg:theme(colors.gray.50)] dark:[--table-row-hover-bg:theme(colors.gray.900)]", className)}>
28
+ {children}
29
+ </div>);
30
+ }
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ /**
3
+ * A preset About component customized for the product launch page,
4
+ * using the shared About.tsx with predefined styles and content.
5
+ *
6
+ * Features:
7
+ * - "About IntelliOpAI" heading with custom typography
8
+ * - Purple-themed styling matching the brand
9
+ * - Custom stats optimized for AI product launch
10
+ * - Responsive design with proper spacing
11
+ * - Dark mode support with consistent theming
12
+ * - Clean, modern design with hover effects
13
+ */
14
+ export declare function About(): React.JSX.Element;
15
+ //# sourceMappingURL=About.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"About.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/About.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;;;;GAWG;AAEH,wBAAgB,KAAK,sBAoEpB"}
@@ -0,0 +1,59 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { About as SharedAbout } from "@nextworks/blocks-sections";
4
+ /**
5
+ * A preset About component customized for the product launch page,
6
+ * using the shared About.tsx with predefined styles and content.
7
+ *
8
+ * Features:
9
+ * - "About IntelliOpAI" heading with custom typography
10
+ * - Purple-themed styling matching the brand
11
+ * - Custom stats optimized for AI product launch
12
+ * - Responsive design with proper spacing
13
+ * - Dark mode support with consistent theming
14
+ * - Clean, modern design with hover effects
15
+ */
16
+ export function About() {
17
+ return (_jsx(SharedAbout
18
+ // Content
19
+ , {
20
+ // Content
21
+ aboutSubheadingText: "The Future of AI is Here", aboutHeadingText: "About IntelliOpAI", aboutContentText: "IntelliOpAI is pioneering the next generation of artificial intelligence solutions for modern businesses. Founded by AI researchers and industry disruptors, we're building intelligent systems that learn, adapt, and deliver results in real-time. Our breakthrough technology combines deep learning, natural language processing, and predictive analytics to create AI that actually works for your business.", aboutTextAlign: "center",
22
+ // Stats
23
+ showStats: true, animateStats: true, aboutStats: [
24
+ { value: "10M", suffix: "+", label: "Data Points Processed" },
25
+ { value: "99.7", suffix: "%", label: "AI Accuracy Rate" },
26
+ { value: "500", suffix: "+", label: "Early Adopters" },
27
+ { value: "24", suffix: "/7", label: "AI Innovation" },
28
+ ],
29
+ // Slots / styling
30
+ section: {
31
+ className: "py-20 bg-white dark:bg-black text-gray-800 dark:text-white",
32
+ }, container: {
33
+ className: "max-w-7xl mx-auto px-6",
34
+ }, inner: {
35
+ // New slot styled for this preset
36
+ className: "flex flex-col gap-12",
37
+ }, contentContainer: {
38
+ className: "max-w-4xl mx-auto",
39
+ }, contentStack: {
40
+ // New slot styled for this preset
41
+ className: "flex flex-col gap-6",
42
+ }, subheading: {
43
+ className: "text-sm font-semibold text-purple-600 dark:text-purple-400 uppercase tracking-wider font-inter",
44
+ }, heading: {
45
+ className: "text-3xl md:text-4xl lg:text-5xl font-bold text-gray-800 dark:text-white leading-tight font-outfit",
46
+ }, content: {
47
+ className: "text-base md:text-lg text-gray-700 dark:text-gray-200 leading-relaxed opacity-90 max-w-3xl font-inter",
48
+ }, statsSection: {
49
+ className: "bg-gradient-to-r from-purple-50 via-white to-purple-50 dark:from-purple-900/20 dark:via-gray-800 dark:to-purple-900/20 p-8 md:p-12 rounded-2xl shadow-xl mx-auto max-w-5xl w-full border border-purple-200 dark:border-purple-800",
50
+ }, statsGrid: {
51
+ className: "grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12 justify-items-center",
52
+ }, statItem: {
53
+ className: "flex flex-col items-center gap-3",
54
+ }, statNumber: {
55
+ className: "text-2xl md:text-3xl lg:text-4xl font-bold text-purple-600 dark:text-purple-400 leading-none font-outfit",
56
+ }, statLabel: {
57
+ className: "text-sm md:text-base font-medium text-gray-700 dark:text-gray-300 text-center opacity-90 font-inter",
58
+ } }));
59
+ }
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import React from "react";
3
+ import { About as SharedAbout } from "@nextworks/blocks-sections";
4
+ /**
5
+ * A preset About component customized for the product launch page,
6
+ * using the shared About.tsx with predefined styles and content.
7
+ *
8
+ * Features:
9
+ * - "About IntelliOpAI" heading with custom typography
10
+ * - Purple-themed styling matching the brand
11
+ * - Custom stats optimized for AI product launch
12
+ * - Responsive design with proper spacing
13
+ * - Dark mode support with consistent theming
14
+ * - Clean, modern design with hover effects
15
+ */
16
+ export function About() {
17
+ return (<SharedAbout
18
+ // Content
19
+ aboutSubheadingText="The Future of AI is Here" aboutHeadingText="About IntelliOpAI" aboutContentText="IntelliOpAI is pioneering the next generation of artificial intelligence solutions for modern businesses. Founded by AI researchers and industry disruptors, we're building intelligent systems that learn, adapt, and deliver results in real-time. Our breakthrough technology combines deep learning, natural language processing, and predictive analytics to create AI that actually works for your business." aboutTextAlign="center"
20
+ // Stats
21
+ showStats={true} animateStats={true} aboutStats={[
22
+ { value: "10M", suffix: "+", label: "Data Points Processed" },
23
+ { value: "99.7", suffix: "%", label: "AI Accuracy Rate" },
24
+ { value: "500", suffix: "+", label: "Early Adopters" },
25
+ { value: "24", suffix: "/7", label: "AI Innovation" },
26
+ ]}
27
+ // Slots / styling
28
+ section={{
29
+ className: "py-20 bg-white dark:bg-black text-gray-800 dark:text-white",
30
+ }} container={{
31
+ className: "max-w-7xl mx-auto px-6",
32
+ }} inner={{
33
+ // New slot styled for this preset
34
+ className: "flex flex-col gap-12",
35
+ }} contentContainer={{
36
+ className: "max-w-4xl mx-auto",
37
+ }} contentStack={{
38
+ // New slot styled for this preset
39
+ className: "flex flex-col gap-6",
40
+ }} subheading={{
41
+ className: "text-sm font-semibold text-purple-600 dark:text-purple-400 uppercase tracking-wider font-inter",
42
+ }} heading={{
43
+ className: "text-3xl md:text-4xl lg:text-5xl font-bold text-gray-800 dark:text-white leading-tight font-outfit",
44
+ }} content={{
45
+ className: "text-base md:text-lg text-gray-700 dark:text-gray-200 leading-relaxed opacity-90 max-w-3xl font-inter",
46
+ }} statsSection={{
47
+ className: "bg-gradient-to-r from-purple-50 via-white to-purple-50 dark:from-purple-900/20 dark:via-gray-800 dark:to-purple-900/20 p-8 md:p-12 rounded-2xl shadow-xl mx-auto max-w-5xl w-full border border-purple-200 dark:border-purple-800",
48
+ }} statsGrid={{
49
+ className: "grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12 justify-items-center",
50
+ }} statItem={{
51
+ className: "flex flex-col items-center gap-3",
52
+ }} statNumber={{
53
+ className: "text-2xl md:text-3xl lg:text-4xl font-bold text-purple-600 dark:text-purple-400 leading-none font-outfit",
54
+ }} statLabel={{
55
+ className: "text-sm md:text-base font-medium text-gray-700 dark:text-gray-300 text-center opacity-90 font-inter",
56
+ }}/>);
57
+ }
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare function CTA(): React.JSX.Element;
3
+ //# sourceMappingURL=CTA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CTA.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/CTA.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wBAAgB,GAAG,sBA6ClB"}
@@ -0,0 +1,39 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { CTA as SharedCTA } from "@nextworks/blocks-sections";
4
+ export function CTA() {
5
+ return (_jsx(SharedCTA
6
+ // Background and theme colors live on the section slot
7
+ , {
8
+ // Background and theme colors live on the section slot
9
+ section: {
10
+ className: "bg-gradient-to-br from-purple-600 via-purple-700 to-purple-800 dark:from-purple-500 dark:via-purple-600 dark:to-purple-700 [--heading-fg:white] [--subheading-fg:rgba(255,255,255,0.85)] [--description-fg:rgba(255,255,255,0.8)]",
11
+ },
12
+ // Layout, height, and centering are controlled by the container slot
13
+ container: {
14
+ className: "flex h-[45.5vh] w-full flex-col items-center overflow-hidden",
15
+ },
16
+ // Heading mapped to the new headingText slot
17
+ headingText: {
18
+ text: "Join The Launch Today!",
19
+ className: "text-xl md:text-2xl lg:text-3xl font-bold leading-tight text-white dark:text-white font-outfit",
20
+ },
21
+ // Use actionsWrapper for spacing instead of margin on the button
22
+ actionsWrapper: {
23
+ className: "mt-4 [--btn-ring:rgba(124,58,237,0.35)] dark:[--btn-ring:rgba(124,58,237,0.45)]",
24
+ },
25
+ // Primary CTA mapped to ctaButton + ctaButtonStyle
26
+ ctaButton: { label: "Sign Up Now", href: "#contact" }, ctaButtonStyle: {
27
+ variant: "secondary",
28
+ size: "lg",
29
+ className: "text-base md:text-lg font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 border-0 [--btn-bg:white] dark:[--btn-bg:white] [--btn-hover-bg:#f3f4f6] dark:[--btn-hover-bg:#e5e7eb] [--btn-fg:#7c3aed] dark:[--btn-fg:#7c3aed] hover:[--btn-hover-fg:#6d28d9] dark:hover:[--btn-hover-fg:#6d28d9] [--btn-border:transparent]",
30
+ },
31
+ // Secondary CTA using outline style
32
+ secondaryButton: { label: "Learn More", href: "#features" }, secondaryButtonStyle: {
33
+ variant: "outline",
34
+ size: "lg",
35
+ className: "text-base md:text-lg font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 border [--btn-bg:transparent] dark:[--btn-bg:transparent] [--btn-fg:white] [--btn-border:rgba(255,255,255,0.9)] dark:[--btn-border:rgba(255,255,255,0.85)] hover:[--btn-hover-bg:white] hover:[--btn-hover-fg:#7c3aed]",
36
+ },
37
+ // Preserve the previous top margin on the heading
38
+ spacing: { topMargin: "mt-[17vh]" }, ariaLabel: "Join the product launch call to action" }));
39
+ }
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import React from "react";
3
+ import { CTA as SharedCTA } from "@nextworks/blocks-sections";
4
+ export function CTA() {
5
+ return (<SharedCTA
6
+ // Background and theme colors live on the section slot
7
+ section={{
8
+ className: "bg-gradient-to-br from-purple-600 via-purple-700 to-purple-800 dark:from-purple-500 dark:via-purple-600 dark:to-purple-700 [--heading-fg:white] [--subheading-fg:rgba(255,255,255,0.85)] [--description-fg:rgba(255,255,255,0.8)]",
9
+ }}
10
+ // Layout, height, and centering are controlled by the container slot
11
+ container={{
12
+ className: "flex h-[45.5vh] w-full flex-col items-center overflow-hidden",
13
+ }}
14
+ // Heading mapped to the new headingText slot
15
+ headingText={{
16
+ text: "Join The Launch Today!",
17
+ className: "text-xl md:text-2xl lg:text-3xl font-bold leading-tight text-white dark:text-white font-outfit",
18
+ }}
19
+ // Use actionsWrapper for spacing instead of margin on the button
20
+ actionsWrapper={{
21
+ className: "mt-4 [--btn-ring:rgba(124,58,237,0.35)] dark:[--btn-ring:rgba(124,58,237,0.45)]",
22
+ }}
23
+ // Primary CTA mapped to ctaButton + ctaButtonStyle
24
+ ctaButton={{ label: "Sign Up Now", href: "#contact" }} ctaButtonStyle={{
25
+ variant: "secondary",
26
+ size: "lg",
27
+ className: "text-base md:text-lg font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 border-0 [--btn-bg:white] dark:[--btn-bg:white] [--btn-hover-bg:#f3f4f6] dark:[--btn-hover-bg:#e5e7eb] [--btn-fg:#7c3aed] dark:[--btn-fg:#7c3aed] hover:[--btn-hover-fg:#6d28d9] dark:hover:[--btn-hover-fg:#6d28d9] [--btn-border:transparent]",
28
+ }}
29
+ // Secondary CTA using outline style
30
+ secondaryButton={{ label: "Learn More", href: "#features" }} secondaryButtonStyle={{
31
+ variant: "outline",
32
+ size: "lg",
33
+ className: "text-base md:text-lg font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 border [--btn-bg:transparent] dark:[--btn-bg:transparent] [--btn-fg:white] [--btn-border:rgba(255,255,255,0.9)] dark:[--btn-border:rgba(255,255,255,0.85)] hover:[--btn-hover-bg:white] hover:[--btn-hover-fg:#7c3aed]",
34
+ }}
35
+ // Preserve the previous top margin on the heading
36
+ spacing={{ topMargin: "mt-[17vh]" }} ariaLabel="Join the product launch call to action"/>);
37
+ }
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare function Contact(): React.JSX.Element;
3
+ //# sourceMappingURL=Contact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Contact.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Contact.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAwD1B,wBAAgB,OAAO,sBAkEtB"}