nextworks 0.2.0-alpha.2 → 0.2.0-alpha.21
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 +280 -228
- package/dist/cli_manifests/blocks_manifest.json +193 -194
- package/dist/commands/blocks.d.ts +3 -0
- package/dist/commands/blocks.d.ts.map +1 -1
- package/dist/commands/blocks.js +128 -19
- package/dist/commands/blocks.js.map +1 -1
- package/dist/commands/doctor.d.ts +136 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +696 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/remove-blocks.d.ts +4 -1
- package/dist/commands/remove-blocks.d.ts.map +1 -1
- package/dist/commands/remove-blocks.js +24 -6
- package/dist/commands/remove-blocks.js.map +1 -1
- package/dist/index.js +125 -4
- package/dist/index.js.map +1 -1
- package/dist/kits/blocks/.nextworks/docs/BLOCKS_QUICKSTART.md +104 -194
- package/dist/kits/blocks/.nextworks/docs/BLOCKS_README.md +115 -75
- package/dist/kits/blocks/.nextworks/docs/THEME_GUIDE.md +269 -251
- package/dist/kits/blocks/app/templates/digitalagency/PresetThemeVars.tsx +80 -80
- package/dist/kits/blocks/app/templates/digitalagency/README.md +42 -36
- package/dist/kits/blocks/app/templates/digitalagency/components/About.tsx +71 -99
- package/dist/kits/blocks/app/templates/digitalagency/components/CTA.tsx +40 -74
- package/dist/kits/blocks/app/templates/digitalagency/components/Contact.tsx +123 -227
- package/dist/kits/blocks/app/templates/digitalagency/components/Footer.tsx +89 -89
- package/dist/kits/blocks/app/templates/digitalagency/components/Hero.tsx +83 -90
- package/dist/kits/blocks/app/templates/digitalagency/components/Navbar.tsx +121 -168
- package/dist/kits/blocks/app/templates/digitalagency/components/NetworkPattern.tsx +288 -297
- package/dist/kits/blocks/app/templates/digitalagency/components/Portfolio.tsx +157 -157
- package/dist/kits/blocks/app/templates/digitalagency/components/Pricing.tsx +114 -114
- package/dist/kits/blocks/app/templates/digitalagency/components/Process.tsx +59 -59
- package/dist/kits/blocks/app/templates/digitalagency/components/Services.tsx +55 -55
- package/dist/kits/blocks/app/templates/digitalagency/components/Team.tsx +28 -28
- package/dist/kits/blocks/app/templates/digitalagency/components/Testimonials.tsx +65 -65
- package/dist/kits/blocks/app/templates/digitalagency/page.tsx +38 -38
- package/dist/kits/blocks/app/templates/gallery/PresetThemeVars.tsx +130 -85
- package/dist/kits/blocks/app/templates/gallery/page.tsx +357 -303
- package/dist/kits/blocks/app/templates/productlaunch/PresetThemeVars.tsx +75 -74
- package/dist/kits/blocks/app/templates/productlaunch/README.md +62 -55
- package/dist/kits/blocks/app/templates/productlaunch/components/About.tsx +84 -178
- package/dist/kits/blocks/app/templates/productlaunch/components/CTA.tsx +50 -93
- package/dist/kits/blocks/app/templates/productlaunch/components/Contact.tsx +231 -231
- package/dist/kits/blocks/app/templates/productlaunch/components/FAQ.tsx +86 -93
- package/dist/kits/blocks/app/templates/productlaunch/components/Features.tsx +83 -84
- package/dist/kits/blocks/app/templates/productlaunch/components/Footer.tsx +132 -132
- package/dist/kits/blocks/app/templates/productlaunch/components/Hero.tsx +88 -89
- package/dist/kits/blocks/app/templates/productlaunch/components/Navbar.tsx +116 -162
- package/dist/kits/blocks/app/templates/productlaunch/components/Pricing.tsx +106 -106
- package/dist/kits/blocks/app/templates/productlaunch/components/ProcessTimeline.tsx +110 -110
- package/dist/kits/blocks/app/templates/productlaunch/components/ServicesGrid.tsx +68 -68
- package/dist/kits/blocks/app/templates/productlaunch/components/Team.tsx +104 -104
- package/dist/kits/blocks/app/templates/productlaunch/components/Testimonials.tsx +90 -89
- package/dist/kits/blocks/app/templates/productlaunch/components/TrustBadges.tsx +76 -76
- package/dist/kits/blocks/app/templates/productlaunch/page.tsx +43 -43
- package/dist/kits/blocks/app/templates/saasdashboard/PresetThemeVars.tsx +80 -80
- package/dist/kits/blocks/app/templates/saasdashboard/README.md +44 -38
- package/dist/kits/blocks/app/templates/saasdashboard/components/Contact.tsx +129 -176
- package/dist/kits/blocks/app/templates/saasdashboard/components/Dashboard.tsx +293 -293
- package/dist/kits/blocks/app/templates/saasdashboard/components/FAQ.tsx +55 -55
- package/dist/kits/blocks/app/templates/saasdashboard/components/Features.tsx +90 -91
- package/dist/kits/blocks/app/templates/saasdashboard/components/Footer.tsx +77 -77
- package/dist/kits/blocks/app/templates/saasdashboard/components/Hero.tsx +104 -105
- package/dist/kits/blocks/app/templates/saasdashboard/components/Hero_mask.tsx +126 -127
- package/dist/kits/blocks/app/templates/saasdashboard/components/Navbar.tsx +117 -159
- package/dist/kits/blocks/app/templates/saasdashboard/components/Pricing.tsx +90 -90
- package/dist/kits/blocks/app/templates/saasdashboard/components/SmoothScroll.tsx +96 -97
- package/dist/kits/blocks/app/templates/saasdashboard/components/Testimonials.tsx +72 -72
- package/dist/kits/blocks/app/templates/saasdashboard/components/TrustBadges.tsx +53 -53
- package/dist/kits/blocks/app/templates/saasdashboard/page.tsx +39 -39
- package/dist/kits/blocks/components/enhanced-theme-provider.tsx +195 -183
- package/dist/kits/blocks/components/providers/BlocksAppProviders.tsx +27 -27
- package/dist/kits/blocks/components/sections/About.tsx +291 -291
- package/dist/kits/blocks/components/sections/CTA.tsx +257 -258
- package/dist/kits/blocks/components/sections/CommandShowcase.tsx +517 -0
- package/dist/kits/blocks/components/sections/Contact.tsx +267 -267
- package/dist/kits/blocks/components/sections/FAQ.tsx +214 -225
- package/dist/kits/blocks/components/sections/FeaturedProjectShowcase.tsx +687 -0
- package/dist/kits/blocks/components/sections/Features.tsx +268 -270
- package/dist/kits/blocks/components/sections/Footer.tsx +302 -302
- package/dist/kits/blocks/components/sections/HeroMotion.tsx +308 -308
- package/dist/kits/blocks/components/sections/HeroOverlay.tsx +358 -358
- package/dist/kits/blocks/components/sections/HeroProductDemo.tsx +246 -0
- package/dist/kits/blocks/components/sections/HeroSplit.tsx +352 -352
- package/dist/kits/blocks/components/sections/HeroWithVideo.tsx +495 -0
- package/dist/kits/blocks/components/sections/Navbar.tsx +352 -353
- package/dist/kits/blocks/components/sections/PortfolioSimple.tsx +549 -550
- package/dist/kits/blocks/components/sections/Pricing.tsx +264 -264
- package/dist/kits/blocks/components/sections/ProcessTimeline.tsx +325 -325
- package/dist/kits/blocks/components/sections/ProjectDeepDive.tsx +805 -0
- package/dist/kits/blocks/components/sections/SelectedWorkRail.tsx +485 -0
- package/dist/kits/blocks/components/sections/ServicesGrid.tsx +210 -210
- package/dist/kits/blocks/components/sections/Team.tsx +309 -309
- package/dist/kits/blocks/components/sections/Testimonials.tsx +158 -158
- package/dist/kits/blocks/components/sections/TrustBadges.tsx +162 -162
- package/dist/kits/blocks/components/sections/product-demo/ApprovalInboxPanel.tsx +128 -0
- package/dist/kits/blocks/components/sections/product-demo/DemoStage.tsx +519 -0
- package/dist/kits/blocks/components/sections/product-demo/DemoWindow.tsx +140 -0
- package/dist/kits/blocks/components/sections/product-demo/KnowledgePanel.tsx +130 -0
- package/dist/kits/blocks/components/sections/product-demo/RunConsolePanel.tsx +430 -0
- package/dist/kits/blocks/components/sections/product-demo/TaskListPanel.tsx +302 -0
- package/dist/kits/blocks/components/sections/product-demo/WorkflowStudioPanel.tsx +744 -0
- package/dist/kits/blocks/components/sections/product-demo/types.ts +262 -0
- package/dist/kits/blocks/components/theme-provider.tsx +1 -34
- package/dist/kits/blocks/components/ui/alert-dialog.tsx +134 -134
- package/dist/kits/blocks/components/ui/brand-node.tsx +121 -121
- package/dist/kits/blocks/components/ui/button.tsx +122 -122
- package/dist/kits/blocks/components/ui/card.tsx +95 -95
- package/dist/kits/blocks/components/ui/checkbox.tsx +30 -30
- package/dist/kits/blocks/components/ui/cta-button.tsx +125 -125
- package/dist/kits/blocks/components/ui/dropdown-menu.tsx +201 -201
- package/dist/kits/blocks/components/ui/feature-card.tsx +91 -91
- package/dist/kits/blocks/components/ui/input.tsx +27 -27
- package/dist/kits/blocks/components/ui/label.tsx +29 -29
- package/dist/kits/blocks/components/ui/pricing-card.tsx +120 -120
- package/dist/kits/blocks/components/ui/select.tsx +25 -25
- package/dist/kits/blocks/components/ui/skeleton.tsx +13 -13
- package/dist/kits/blocks/components/ui/table.tsx +98 -98
- package/dist/kits/blocks/components/ui/testimonial-card.tsx +108 -108
- package/dist/kits/blocks/components/ui/textarea.tsx +26 -26
- package/dist/kits/blocks/components/ui/theme-selector.tsx +243 -247
- package/dist/kits/blocks/components/ui/theme-toggle.tsx +74 -74
- package/dist/kits/blocks/components/ui/toaster.tsx +7 -7
- package/dist/kits/blocks/lib/themes.ts +400 -400
- package/dist/kits/blocks/lib/utils.ts +6 -9
- package/dist/kits/blocks/package-deps.json +40 -28
- package/dist/kits/blocks/tsconfig.json +11 -0
- package/dist/kits/blocks/tsconfig.tsbuildinfo +1 -0
- package/dist/utils/file-operations.d.ts +3 -1
- package/dist/utils/file-operations.d.ts.map +1 -1
- package/dist/utils/file-operations.js +84 -12
- package/dist/utils/file-operations.js.map +1 -1
- package/dist/utils/installation-tracker.d.ts +2 -2
- package/dist/utils/installation-tracker.d.ts.map +1 -1
- package/dist/utils/installation-tracker.js +11 -11
- package/dist/utils/installation-tracker.js.map +1 -1
- package/dist/utils/package-manager.d.ts +6 -0
- package/dist/utils/package-manager.d.ts.map +1 -0
- package/dist/utils/package-manager.js +58 -0
- package/dist/utils/package-manager.js.map +1 -0
- package/dist/utils/yarn-pnp.d.ts +6 -0
- package/dist/utils/yarn-pnp.d.ts.map +1 -0
- package/dist/utils/yarn-pnp.js +39 -0
- package/dist/utils/yarn-pnp.js.map +1 -0
- package/package.json +5 -2
- package/dist/kits/blocks/notes/THEME_GUIDE.md +0 -29
|
@@ -1,93 +1,50 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { CTA as SharedCTA } from "@/components/sections/CTA";
|
|
5
|
-
|
|
6
|
-
export function CTA() {
|
|
7
|
-
return (
|
|
8
|
-
<SharedCTA
|
|
9
|
-
// Background and theme colors live on the section slot
|
|
10
|
-
section={{
|
|
11
|
-
className:
|
|
12
|
-
"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)]",
|
|
13
|
-
}}
|
|
14
|
-
// Layout, height, and centering are controlled by the container slot
|
|
15
|
-
container={{
|
|
16
|
-
className:
|
|
17
|
-
"flex h-[45.5vh] w-full flex-col items-center overflow-hidden",
|
|
18
|
-
}}
|
|
19
|
-
// Heading mapped to the new headingText slot
|
|
20
|
-
headingText={{
|
|
21
|
-
text: "Join The Launch Today!",
|
|
22
|
-
className:
|
|
23
|
-
"text-xl md:text-2xl lg:text-3xl font-bold leading-tight text-white dark:text-white font-outfit",
|
|
24
|
-
}}
|
|
25
|
-
// Use actionsWrapper for spacing instead of margin on the button
|
|
26
|
-
actionsWrapper={{
|
|
27
|
-
className:
|
|
28
|
-
"mt-4 [--btn-ring:rgba(124,58,237,0.35)] dark:[--btn-ring:rgba(124,58,237,0.45)]",
|
|
29
|
-
}}
|
|
30
|
-
// Primary CTA
|
|
31
|
-
ctaButton={{ label: "Sign Up Now", href: "#contact" }}
|
|
32
|
-
ctaButtonStyle={{
|
|
33
|
-
variant: "secondary",
|
|
34
|
-
size: "lg",
|
|
35
|
-
className:
|
|
36
|
-
"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]",
|
|
37
|
-
}}
|
|
38
|
-
// Secondary CTA
|
|
39
|
-
secondaryButton={{ label: "Learn More", href: "#features" }}
|
|
40
|
-
secondaryButtonStyle={{
|
|
41
|
-
variant: "outline",
|
|
42
|
-
size: "lg",
|
|
43
|
-
className:
|
|
44
|
-
"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]",
|
|
45
|
-
}}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// "use client";
|
|
54
|
-
|
|
55
|
-
// import { CTA as SharedCTA } from "@/components/sections/CTA";
|
|
56
|
-
|
|
57
|
-
// /**
|
|
58
|
-
// * A preset CTA (Call-To-Action) component customized for the product launch page,
|
|
59
|
-
// * using the shared CTA.tsx with predefined styles and content.
|
|
60
|
-
// *
|
|
61
|
-
// * Features:
|
|
62
|
-
// * - "Join The Launch Today!" heading with custom typography
|
|
63
|
-
// * - Purple button with hover effects and shadow
|
|
64
|
-
// * - Gray background with dark mode support
|
|
65
|
-
// * - Custom spacing and sizing
|
|
66
|
-
// */
|
|
67
|
-
// export function CTA() {
|
|
68
|
-
// return (
|
|
69
|
-
// <SharedCTA
|
|
70
|
-
// heading={{
|
|
71
|
-
// text: "Join The Launch Today!",
|
|
72
|
-
// className:
|
|
73
|
-
// "text-xl md:text-2xl lg:text-3xl font-bold leading-tight text-white dark:text-white font-outfit",
|
|
74
|
-
// }}
|
|
75
|
-
// section={{
|
|
76
|
-
// className:
|
|
77
|
-
// "flex h-[45.5vh] flex-col items-center overflow-hidden 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",
|
|
78
|
-
// }}
|
|
79
|
-
// button={{
|
|
80
|
-
// text: "Sign Up Now",
|
|
81
|
-
// href: "#contact",
|
|
82
|
-
// variant: "secondary",
|
|
83
|
-
// size: "lg",
|
|
84
|
-
// className:
|
|
85
|
-
// "mt-4 bg-white hover:bg-gray-100 text-purple-600 hover:text-purple-700 text-base md:text-lg font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 border-0",
|
|
86
|
-
// }}
|
|
87
|
-
// spacing={{
|
|
88
|
-
// topMargin: "mt-[17vh]",
|
|
89
|
-
// }}
|
|
90
|
-
// ariaLabel="Join the product launch call to action"
|
|
91
|
-
// />
|
|
92
|
-
// );
|
|
93
|
-
// }
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { CTA as SharedCTA } from "@/components/sections/CTA";
|
|
5
|
+
|
|
6
|
+
export function CTA() {
|
|
7
|
+
return (
|
|
8
|
+
<SharedCTA
|
|
9
|
+
// Background and theme colors live on the section slot
|
|
10
|
+
section={{
|
|
11
|
+
className:
|
|
12
|
+
"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)]",
|
|
13
|
+
}}
|
|
14
|
+
// Layout, height, and centering are controlled by the container slot
|
|
15
|
+
container={{
|
|
16
|
+
className:
|
|
17
|
+
"flex h-[45.5vh] w-full flex-col items-center overflow-hidden",
|
|
18
|
+
}}
|
|
19
|
+
// Heading mapped to the new headingText slot
|
|
20
|
+
headingText={{
|
|
21
|
+
text: "Join The Launch Today!",
|
|
22
|
+
className:
|
|
23
|
+
"text-xl md:text-2xl lg:text-3xl font-bold leading-tight text-white dark:text-white font-outfit",
|
|
24
|
+
}}
|
|
25
|
+
// Use actionsWrapper for spacing instead of margin on the button
|
|
26
|
+
actionsWrapper={{
|
|
27
|
+
className:
|
|
28
|
+
"mt-4 [--btn-ring:rgba(124,58,237,0.35)] dark:[--btn-ring:rgba(124,58,237,0.45)]",
|
|
29
|
+
}}
|
|
30
|
+
// Primary CTA
|
|
31
|
+
ctaButton={{ label: "Sign Up Now", href: "#contact" }}
|
|
32
|
+
ctaButtonStyle={{
|
|
33
|
+
variant: "secondary",
|
|
34
|
+
size: "lg",
|
|
35
|
+
className:
|
|
36
|
+
"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]",
|
|
37
|
+
}}
|
|
38
|
+
// Secondary CTA
|
|
39
|
+
secondaryButton={{ label: "Learn More", href: "#features" }}
|
|
40
|
+
secondaryButtonStyle={{
|
|
41
|
+
variant: "outline",
|
|
42
|
+
size: "lg",
|
|
43
|
+
className:
|
|
44
|
+
"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]",
|
|
45
|
+
}}
|
|
46
|
+
spacing={{ topMargin: "mt-[17vh]" }}
|
|
47
|
+
ariaLabel="Join the product launch call to action"
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
@@ -1,231 +1,231 @@
|
|
|
1
|
-
// app/templates/productlaunch/componnets/Contact.tsx
|
|
2
|
-
|
|
3
|
-
"use client";
|
|
4
|
-
|
|
5
|
-
import React from "react";
|
|
6
|
-
import {
|
|
7
|
-
Contact as SharedContact,
|
|
8
|
-
ContactField,
|
|
9
|
-
} from "@/components/sections/Contact";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* A preset Contact component customized for the product launch page,
|
|
13
|
-
* using the shared Contact.tsx with predefined styles and content.
|
|
14
|
-
*
|
|
15
|
-
* Features:
|
|
16
|
-
* - "Get Started with IntelliOpAI" heading with custom typography
|
|
17
|
-
* - Purple-themed styling matching the brand
|
|
18
|
-
* - Custom form fields optimized for product launch
|
|
19
|
-
* - Responsive design with proper spacing
|
|
20
|
-
* - Dark mode support with consistent theming
|
|
21
|
-
* - Clean, modern design with hover effects
|
|
22
|
-
*/
|
|
23
|
-
const productLaunchContactFormData: ContactField[] = [
|
|
24
|
-
{
|
|
25
|
-
id: "name",
|
|
26
|
-
label: "Your Full Name",
|
|
27
|
-
placeholder: "John Doe",
|
|
28
|
-
required: true,
|
|
29
|
-
type: "text",
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
id: "email",
|
|
33
|
-
label: "Email Address",
|
|
34
|
-
placeholder: "you@example.com",
|
|
35
|
-
required: true,
|
|
36
|
-
type: "email",
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
id: "company",
|
|
40
|
-
label: "Company Name",
|
|
41
|
-
placeholder: "Your Company",
|
|
42
|
-
required: false,
|
|
43
|
-
type: "text",
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
id: "phone",
|
|
47
|
-
label: "Phone Number",
|
|
48
|
-
placeholder: "+1 (555) 123-4567",
|
|
49
|
-
required: false,
|
|
50
|
-
type: "tel",
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
id: "message",
|
|
54
|
-
label: "Tell us about your project",
|
|
55
|
-
placeholder: "Describe your business needs and how we can help...",
|
|
56
|
-
required: true,
|
|
57
|
-
type: "textarea",
|
|
58
|
-
},
|
|
59
|
-
];
|
|
60
|
-
|
|
61
|
-
export function Contact() {
|
|
62
|
-
const handleFormSubmit = (e: React.FormEvent<HTMLFormElement>) => {
|
|
63
|
-
e.preventDefault();
|
|
64
|
-
const data = Object.fromEntries(new FormData(e.currentTarget).entries());
|
|
65
|
-
console.log("Contact form submitted:", data);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
return (
|
|
69
|
-
<SharedContact
|
|
70
|
-
id="contact"
|
|
71
|
-
fields={productLaunchContactFormData}
|
|
72
|
-
contactHeaderText="Get Started with IntelliOpAI"
|
|
73
|
-
contactSubHeaderText="Ready to revolutionize your workflow? Get in touch with our team to learn how our AI solutions can transform your business operations and drive growth."
|
|
74
|
-
// Root and layout
|
|
75
|
-
className="w-full"
|
|
76
|
-
section={{
|
|
77
|
-
className:
|
|
78
|
-
"py-16 px-4 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",
|
|
79
|
-
}}
|
|
80
|
-
container={{
|
|
81
|
-
className: "mx-auto max-w-4xl",
|
|
82
|
-
}}
|
|
83
|
-
// Header slots
|
|
84
|
-
headerWrapper={{ className: "mb-4 text-center" }}
|
|
85
|
-
headerText={{
|
|
86
|
-
className:
|
|
87
|
-
"text-2xl md:text-3xl lg:text-4xl font-bold font-outfit text-white dark:text-white",
|
|
88
|
-
}}
|
|
89
|
-
subheaderText={{
|
|
90
|
-
className:
|
|
91
|
-
"text-base md:text-lg text-white dark:text-gray-200 text-center mb-8 px-4 md:px-14 font-inter leading-relaxed",
|
|
92
|
-
}}
|
|
93
|
-
// Form container
|
|
94
|
-
form={{
|
|
95
|
-
className:
|
|
96
|
-
"bg-white dark:bg-gray-800 p-6 md:p-8 rounded-lg shadow-lg border border-purple-200 dark:border-purple-300",
|
|
97
|
-
}}
|
|
98
|
-
// Fields wrapper and field item
|
|
99
|
-
fieldsWrapper={{ className: "space-y-6" }}
|
|
100
|
-
field={{ className: "space-y-2" }}
|
|
101
|
-
// Label + inputs
|
|
102
|
-
label={{
|
|
103
|
-
className:
|
|
104
|
-
"text-gray-700 dark:text-white text-sm font-semibold block font-inter",
|
|
105
|
-
}}
|
|
106
|
-
input={{
|
|
107
|
-
className:
|
|
108
|
-
"w-full p-3 border border-gray-200 dark:border-gray-600 rounded-md bg-gray-50 dark:bg-gray-700 text-black dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus-visible:ring-2 focus-visible:ring-purple-500 focus-visible:ring-offset-0 focus:border-transparent transition-all duration-200",
|
|
109
|
-
}}
|
|
110
|
-
textarea={{
|
|
111
|
-
className:
|
|
112
|
-
"w-full p-3 border border-gray-200 dark:border-gray-600 rounded-md bg-gray-50 dark:bg-gray-700 text-black dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus-visible:ring-2 focus-visible:ring-purple-500 focus-visible:ring-offset-0 focus:border-transparent resize-vertical min-h-[120px] transition-all duration-200",
|
|
113
|
-
}}
|
|
114
|
-
// Submit button (split: wrapper/style/text)
|
|
115
|
-
submitButtonWrapper={{ className: "pt-2" }}
|
|
116
|
-
submitButtonStyle={{
|
|
117
|
-
variant: "default",
|
|
118
|
-
size: "lg",
|
|
119
|
-
className:
|
|
120
|
-
"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]",
|
|
121
|
-
}}
|
|
122
|
-
submitButtonText="Start Your AI Journey"
|
|
123
|
-
onSubmit={handleFormSubmit}
|
|
124
|
-
ariaLabel="Get started with IntelliOpAI contact form"
|
|
125
|
-
/>
|
|
126
|
-
);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// "use client";
|
|
130
|
-
|
|
131
|
-
// import { Contact as SharedContact } from "@/components/sections/Contact";
|
|
132
|
-
|
|
133
|
-
// /**
|
|
134
|
-
// * A preset Contact component customized for the product launch page,
|
|
135
|
-
// * using the shared Contact.tsx with predefined styles and content.
|
|
136
|
-
// *
|
|
137
|
-
// * Features:
|
|
138
|
-
// * - "Get Started with IntelliOpAI" heading with custom typography
|
|
139
|
-
// * - Purple-themed styling matching the brand
|
|
140
|
-
// * - Custom form fields optimized for product launch
|
|
141
|
-
// * - Responsive design with proper spacing
|
|
142
|
-
// * - Dark mode support with consistent theming
|
|
143
|
-
// * - Clean, modern design with hover effects
|
|
144
|
-
// */
|
|
145
|
-
// export function Contact() {
|
|
146
|
-
// return (
|
|
147
|
-
// <SharedContact
|
|
148
|
-
// contactHeaderText="Get Started with IntelliOpAI"
|
|
149
|
-
// contactSubHeaderText="Ready to revolutionize your workflow? Get in touch with our team to learn how our AI solutions can transform your business operations and drive growth."
|
|
150
|
-
// fields={[
|
|
151
|
-
// {
|
|
152
|
-
// id: "name",
|
|
153
|
-
// label: "Your Full Name",
|
|
154
|
-
// placeholder: "John Doe",
|
|
155
|
-
// required: true,
|
|
156
|
-
// type: "text",
|
|
157
|
-
// },
|
|
158
|
-
// {
|
|
159
|
-
// id: "email",
|
|
160
|
-
// label: "Email Address",
|
|
161
|
-
// placeholder: "you@example.com",
|
|
162
|
-
// required: true,
|
|
163
|
-
// type: "email",
|
|
164
|
-
// },
|
|
165
|
-
// {
|
|
166
|
-
// id: "company",
|
|
167
|
-
// label: "Company Name",
|
|
168
|
-
// placeholder: "Your Company",
|
|
169
|
-
// required: false,
|
|
170
|
-
// type: "text",
|
|
171
|
-
// },
|
|
172
|
-
// {
|
|
173
|
-
// id: "phone",
|
|
174
|
-
// label: "Phone Number",
|
|
175
|
-
// placeholder: "+1 (555) 123-4567",
|
|
176
|
-
// required: false,
|
|
177
|
-
// type: "tel",
|
|
178
|
-
// },
|
|
179
|
-
// {
|
|
180
|
-
// id: "message",
|
|
181
|
-
// label: "Tell us about your project",
|
|
182
|
-
// placeholder: "Describe your business needs and how we can help...",
|
|
183
|
-
// required: true,
|
|
184
|
-
// type: "textarea",
|
|
185
|
-
// },
|
|
186
|
-
// ]}
|
|
187
|
-
// section={{
|
|
188
|
-
// className:
|
|
189
|
-
// "py-16 px-4 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",
|
|
190
|
-
// }}
|
|
191
|
-
// container={{
|
|
192
|
-
// className: "max-w-4xl mx-auto",
|
|
193
|
-
// }}
|
|
194
|
-
// header={{
|
|
195
|
-
// className:
|
|
196
|
-
// "text-2xl md:text-3xl lg:text-4xl font-bold text-white dark:text-white text-center mb-4 font-outfit",
|
|
197
|
-
// }}
|
|
198
|
-
// subheader={{
|
|
199
|
-
// className:
|
|
200
|
-
// "text-base md:text-lg text-white dark:text-gray-200 text-center mb-8 px-4 md:px-14 font-inter leading-relaxed",
|
|
201
|
-
// }}
|
|
202
|
-
// form={{
|
|
203
|
-
// className:
|
|
204
|
-
// "bg-white dark:bg-gray-800 p-6 md:p-8 rounded-lg shadow-lg border border-purple-200 dark:border-purple-300",
|
|
205
|
-
// }}
|
|
206
|
-
// field={{
|
|
207
|
-
// className: "mb-6",
|
|
208
|
-
// }}
|
|
209
|
-
// label={{
|
|
210
|
-
// className:
|
|
211
|
-
// "text-gray-700 dark:text-white text-sm font-semibold mb-2 block font-inter",
|
|
212
|
-
// }}
|
|
213
|
-
// input={{
|
|
214
|
-
// className:
|
|
215
|
-
// "w-full p-3 border border-gray-200 dark:border-gray-600 rounded-md bg-gray-50 dark:bg-gray-700 text-black dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent transition-all duration-200",
|
|
216
|
-
// }}
|
|
217
|
-
// textarea={{
|
|
218
|
-
// className:
|
|
219
|
-
// "w-full p-3 border border-gray-200 dark:border-gray-600 rounded-md bg-gray-50 dark:bg-gray-700 text-black dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent resize-vertical min-h-[120px] transition-all duration-200",
|
|
220
|
-
// }}
|
|
221
|
-
// submitButton={{
|
|
222
|
-
// text: "Start Your AI Journey",
|
|
223
|
-
// variant: "default",
|
|
224
|
-
// size: "lg",
|
|
225
|
-
// className:
|
|
226
|
-
// "w-full bg-purple-600 hover:bg-purple-700 text-white font-semibold text-base shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 border-0",
|
|
227
|
-
// }}
|
|
228
|
-
// ariaLabel="Get started with IntelliOpAI contact form"
|
|
229
|
-
// />
|
|
230
|
-
// );
|
|
231
|
-
// }
|
|
1
|
+
// app/templates/productlaunch/componnets/Contact.tsx
|
|
2
|
+
|
|
3
|
+
"use client";
|
|
4
|
+
|
|
5
|
+
import React from "react";
|
|
6
|
+
import {
|
|
7
|
+
Contact as SharedContact,
|
|
8
|
+
ContactField,
|
|
9
|
+
} from "@/components/sections/Contact";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A preset Contact component customized for the product launch page,
|
|
13
|
+
* using the shared Contact.tsx with predefined styles and content.
|
|
14
|
+
*
|
|
15
|
+
* Features:
|
|
16
|
+
* - "Get Started with IntelliOpAI" heading with custom typography
|
|
17
|
+
* - Purple-themed styling matching the brand
|
|
18
|
+
* - Custom form fields optimized for product launch
|
|
19
|
+
* - Responsive design with proper spacing
|
|
20
|
+
* - Dark mode support with consistent theming
|
|
21
|
+
* - Clean, modern design with hover effects
|
|
22
|
+
*/
|
|
23
|
+
const productLaunchContactFormData: ContactField[] = [
|
|
24
|
+
{
|
|
25
|
+
id: "name",
|
|
26
|
+
label: "Your Full Name",
|
|
27
|
+
placeholder: "John Doe",
|
|
28
|
+
required: true,
|
|
29
|
+
type: "text",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: "email",
|
|
33
|
+
label: "Email Address",
|
|
34
|
+
placeholder: "you@example.com",
|
|
35
|
+
required: true,
|
|
36
|
+
type: "email",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "company",
|
|
40
|
+
label: "Company Name",
|
|
41
|
+
placeholder: "Your Company",
|
|
42
|
+
required: false,
|
|
43
|
+
type: "text",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: "phone",
|
|
47
|
+
label: "Phone Number",
|
|
48
|
+
placeholder: "+1 (555) 123-4567",
|
|
49
|
+
required: false,
|
|
50
|
+
type: "tel",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: "message",
|
|
54
|
+
label: "Tell us about your project",
|
|
55
|
+
placeholder: "Describe your business needs and how we can help...",
|
|
56
|
+
required: true,
|
|
57
|
+
type: "textarea",
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
export function Contact() {
|
|
62
|
+
const handleFormSubmit = (e: React.FormEvent<HTMLFormElement>) => {
|
|
63
|
+
e.preventDefault();
|
|
64
|
+
const data = Object.fromEntries(new FormData(e.currentTarget).entries());
|
|
65
|
+
console.log("Contact form submitted:", data);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
return (
|
|
69
|
+
<SharedContact
|
|
70
|
+
id="contact"
|
|
71
|
+
fields={productLaunchContactFormData}
|
|
72
|
+
contactHeaderText="Get Started with IntelliOpAI"
|
|
73
|
+
contactSubHeaderText="Ready to revolutionize your workflow? Get in touch with our team to learn how our AI solutions can transform your business operations and drive growth."
|
|
74
|
+
// Root and layout
|
|
75
|
+
className="w-full"
|
|
76
|
+
section={{
|
|
77
|
+
className:
|
|
78
|
+
"py-16 px-4 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",
|
|
79
|
+
}}
|
|
80
|
+
container={{
|
|
81
|
+
className: "mx-auto max-w-4xl",
|
|
82
|
+
}}
|
|
83
|
+
// Header slots
|
|
84
|
+
headerWrapper={{ className: "mb-4 text-center" }}
|
|
85
|
+
headerText={{
|
|
86
|
+
className:
|
|
87
|
+
"text-2xl md:text-3xl lg:text-4xl font-bold font-outfit text-white dark:text-white",
|
|
88
|
+
}}
|
|
89
|
+
subheaderText={{
|
|
90
|
+
className:
|
|
91
|
+
"text-base md:text-lg text-white dark:text-gray-200 text-center mb-8 px-4 md:px-14 font-inter leading-relaxed",
|
|
92
|
+
}}
|
|
93
|
+
// Form container
|
|
94
|
+
form={{
|
|
95
|
+
className:
|
|
96
|
+
"bg-white dark:bg-gray-800 p-6 md:p-8 rounded-lg shadow-lg border border-purple-200 dark:border-purple-300",
|
|
97
|
+
}}
|
|
98
|
+
// Fields wrapper and field item
|
|
99
|
+
fieldsWrapper={{ className: "space-y-6" }}
|
|
100
|
+
field={{ className: "space-y-2" }}
|
|
101
|
+
// Label + inputs
|
|
102
|
+
label={{
|
|
103
|
+
className:
|
|
104
|
+
"text-gray-700 dark:text-white text-sm font-semibold block font-inter",
|
|
105
|
+
}}
|
|
106
|
+
input={{
|
|
107
|
+
className:
|
|
108
|
+
"w-full p-3 border border-gray-200 dark:border-gray-600 rounded-md bg-gray-50 dark:bg-gray-700 text-black dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus-visible:ring-2 focus-visible:ring-purple-500 focus-visible:ring-offset-0 focus:border-transparent transition-all duration-200",
|
|
109
|
+
}}
|
|
110
|
+
textarea={{
|
|
111
|
+
className:
|
|
112
|
+
"w-full p-3 border border-gray-200 dark:border-gray-600 rounded-md bg-gray-50 dark:bg-gray-700 text-black dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus-visible:ring-2 focus-visible:ring-purple-500 focus-visible:ring-offset-0 focus:border-transparent resize-vertical min-h-[120px] transition-all duration-200",
|
|
113
|
+
}}
|
|
114
|
+
// Submit button (split: wrapper/style/text)
|
|
115
|
+
submitButtonWrapper={{ className: "pt-2" }}
|
|
116
|
+
submitButtonStyle={{
|
|
117
|
+
variant: "default",
|
|
118
|
+
size: "lg",
|
|
119
|
+
className:
|
|
120
|
+
"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]",
|
|
121
|
+
}}
|
|
122
|
+
submitButtonText="Start Your AI Journey"
|
|
123
|
+
onSubmit={handleFormSubmit}
|
|
124
|
+
ariaLabel="Get started with IntelliOpAI contact form"
|
|
125
|
+
/>
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// "use client";
|
|
130
|
+
|
|
131
|
+
// import { Contact as SharedContact } from "@/components/sections/Contact";
|
|
132
|
+
|
|
133
|
+
// /**
|
|
134
|
+
// * A preset Contact component customized for the product launch page,
|
|
135
|
+
// * using the shared Contact.tsx with predefined styles and content.
|
|
136
|
+
// *
|
|
137
|
+
// * Features:
|
|
138
|
+
// * - "Get Started with IntelliOpAI" heading with custom typography
|
|
139
|
+
// * - Purple-themed styling matching the brand
|
|
140
|
+
// * - Custom form fields optimized for product launch
|
|
141
|
+
// * - Responsive design with proper spacing
|
|
142
|
+
// * - Dark mode support with consistent theming
|
|
143
|
+
// * - Clean, modern design with hover effects
|
|
144
|
+
// */
|
|
145
|
+
// export function Contact() {
|
|
146
|
+
// return (
|
|
147
|
+
// <SharedContact
|
|
148
|
+
// contactHeaderText="Get Started with IntelliOpAI"
|
|
149
|
+
// contactSubHeaderText="Ready to revolutionize your workflow? Get in touch with our team to learn how our AI solutions can transform your business operations and drive growth."
|
|
150
|
+
// fields={[
|
|
151
|
+
// {
|
|
152
|
+
// id: "name",
|
|
153
|
+
// label: "Your Full Name",
|
|
154
|
+
// placeholder: "John Doe",
|
|
155
|
+
// required: true,
|
|
156
|
+
// type: "text",
|
|
157
|
+
// },
|
|
158
|
+
// {
|
|
159
|
+
// id: "email",
|
|
160
|
+
// label: "Email Address",
|
|
161
|
+
// placeholder: "you@example.com",
|
|
162
|
+
// required: true,
|
|
163
|
+
// type: "email",
|
|
164
|
+
// },
|
|
165
|
+
// {
|
|
166
|
+
// id: "company",
|
|
167
|
+
// label: "Company Name",
|
|
168
|
+
// placeholder: "Your Company",
|
|
169
|
+
// required: false,
|
|
170
|
+
// type: "text",
|
|
171
|
+
// },
|
|
172
|
+
// {
|
|
173
|
+
// id: "phone",
|
|
174
|
+
// label: "Phone Number",
|
|
175
|
+
// placeholder: "+1 (555) 123-4567",
|
|
176
|
+
// required: false,
|
|
177
|
+
// type: "tel",
|
|
178
|
+
// },
|
|
179
|
+
// {
|
|
180
|
+
// id: "message",
|
|
181
|
+
// label: "Tell us about your project",
|
|
182
|
+
// placeholder: "Describe your business needs and how we can help...",
|
|
183
|
+
// required: true,
|
|
184
|
+
// type: "textarea",
|
|
185
|
+
// },
|
|
186
|
+
// ]}
|
|
187
|
+
// section={{
|
|
188
|
+
// className:
|
|
189
|
+
// "py-16 px-4 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",
|
|
190
|
+
// }}
|
|
191
|
+
// container={{
|
|
192
|
+
// className: "max-w-4xl mx-auto",
|
|
193
|
+
// }}
|
|
194
|
+
// header={{
|
|
195
|
+
// className:
|
|
196
|
+
// "text-2xl md:text-3xl lg:text-4xl font-bold text-white dark:text-white text-center mb-4 font-outfit",
|
|
197
|
+
// }}
|
|
198
|
+
// subheader={{
|
|
199
|
+
// className:
|
|
200
|
+
// "text-base md:text-lg text-white dark:text-gray-200 text-center mb-8 px-4 md:px-14 font-inter leading-relaxed",
|
|
201
|
+
// }}
|
|
202
|
+
// form={{
|
|
203
|
+
// className:
|
|
204
|
+
// "bg-white dark:bg-gray-800 p-6 md:p-8 rounded-lg shadow-lg border border-purple-200 dark:border-purple-300",
|
|
205
|
+
// }}
|
|
206
|
+
// field={{
|
|
207
|
+
// className: "mb-6",
|
|
208
|
+
// }}
|
|
209
|
+
// label={{
|
|
210
|
+
// className:
|
|
211
|
+
// "text-gray-700 dark:text-white text-sm font-semibold mb-2 block font-inter",
|
|
212
|
+
// }}
|
|
213
|
+
// input={{
|
|
214
|
+
// className:
|
|
215
|
+
// "w-full p-3 border border-gray-200 dark:border-gray-600 rounded-md bg-gray-50 dark:bg-gray-700 text-black dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent transition-all duration-200",
|
|
216
|
+
// }}
|
|
217
|
+
// textarea={{
|
|
218
|
+
// className:
|
|
219
|
+
// "w-full p-3 border border-gray-200 dark:border-gray-600 rounded-md bg-gray-50 dark:bg-gray-700 text-black dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent resize-vertical min-h-[120px] transition-all duration-200",
|
|
220
|
+
// }}
|
|
221
|
+
// submitButton={{
|
|
222
|
+
// text: "Start Your AI Journey",
|
|
223
|
+
// variant: "default",
|
|
224
|
+
// size: "lg",
|
|
225
|
+
// className:
|
|
226
|
+
// "w-full bg-purple-600 hover:bg-purple-700 text-white font-semibold text-base shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 border-0",
|
|
227
|
+
// }}
|
|
228
|
+
// ariaLabel="Get started with IntelliOpAI contact form"
|
|
229
|
+
// />
|
|
230
|
+
// );
|
|
231
|
+
// }
|