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.
Files changed (145) hide show
  1. package/README.md +280 -228
  2. package/dist/cli_manifests/blocks_manifest.json +193 -194
  3. package/dist/commands/blocks.d.ts +3 -0
  4. package/dist/commands/blocks.d.ts.map +1 -1
  5. package/dist/commands/blocks.js +128 -19
  6. package/dist/commands/blocks.js.map +1 -1
  7. package/dist/commands/doctor.d.ts +136 -0
  8. package/dist/commands/doctor.d.ts.map +1 -0
  9. package/dist/commands/doctor.js +696 -0
  10. package/dist/commands/doctor.js.map +1 -0
  11. package/dist/commands/remove-blocks.d.ts +4 -1
  12. package/dist/commands/remove-blocks.d.ts.map +1 -1
  13. package/dist/commands/remove-blocks.js +24 -6
  14. package/dist/commands/remove-blocks.js.map +1 -1
  15. package/dist/index.js +125 -4
  16. package/dist/index.js.map +1 -1
  17. package/dist/kits/blocks/.nextworks/docs/BLOCKS_QUICKSTART.md +104 -194
  18. package/dist/kits/blocks/.nextworks/docs/BLOCKS_README.md +115 -75
  19. package/dist/kits/blocks/.nextworks/docs/THEME_GUIDE.md +269 -251
  20. package/dist/kits/blocks/app/templates/digitalagency/PresetThemeVars.tsx +80 -80
  21. package/dist/kits/blocks/app/templates/digitalagency/README.md +42 -36
  22. package/dist/kits/blocks/app/templates/digitalagency/components/About.tsx +71 -99
  23. package/dist/kits/blocks/app/templates/digitalagency/components/CTA.tsx +40 -74
  24. package/dist/kits/blocks/app/templates/digitalagency/components/Contact.tsx +123 -227
  25. package/dist/kits/blocks/app/templates/digitalagency/components/Footer.tsx +89 -89
  26. package/dist/kits/blocks/app/templates/digitalagency/components/Hero.tsx +83 -90
  27. package/dist/kits/blocks/app/templates/digitalagency/components/Navbar.tsx +121 -168
  28. package/dist/kits/blocks/app/templates/digitalagency/components/NetworkPattern.tsx +288 -297
  29. package/dist/kits/blocks/app/templates/digitalagency/components/Portfolio.tsx +157 -157
  30. package/dist/kits/blocks/app/templates/digitalagency/components/Pricing.tsx +114 -114
  31. package/dist/kits/blocks/app/templates/digitalagency/components/Process.tsx +59 -59
  32. package/dist/kits/blocks/app/templates/digitalagency/components/Services.tsx +55 -55
  33. package/dist/kits/blocks/app/templates/digitalagency/components/Team.tsx +28 -28
  34. package/dist/kits/blocks/app/templates/digitalagency/components/Testimonials.tsx +65 -65
  35. package/dist/kits/blocks/app/templates/digitalagency/page.tsx +38 -38
  36. package/dist/kits/blocks/app/templates/gallery/PresetThemeVars.tsx +130 -85
  37. package/dist/kits/blocks/app/templates/gallery/page.tsx +357 -303
  38. package/dist/kits/blocks/app/templates/productlaunch/PresetThemeVars.tsx +75 -74
  39. package/dist/kits/blocks/app/templates/productlaunch/README.md +62 -55
  40. package/dist/kits/blocks/app/templates/productlaunch/components/About.tsx +84 -178
  41. package/dist/kits/blocks/app/templates/productlaunch/components/CTA.tsx +50 -93
  42. package/dist/kits/blocks/app/templates/productlaunch/components/Contact.tsx +231 -231
  43. package/dist/kits/blocks/app/templates/productlaunch/components/FAQ.tsx +86 -93
  44. package/dist/kits/blocks/app/templates/productlaunch/components/Features.tsx +83 -84
  45. package/dist/kits/blocks/app/templates/productlaunch/components/Footer.tsx +132 -132
  46. package/dist/kits/blocks/app/templates/productlaunch/components/Hero.tsx +88 -89
  47. package/dist/kits/blocks/app/templates/productlaunch/components/Navbar.tsx +116 -162
  48. package/dist/kits/blocks/app/templates/productlaunch/components/Pricing.tsx +106 -106
  49. package/dist/kits/blocks/app/templates/productlaunch/components/ProcessTimeline.tsx +110 -110
  50. package/dist/kits/blocks/app/templates/productlaunch/components/ServicesGrid.tsx +68 -68
  51. package/dist/kits/blocks/app/templates/productlaunch/components/Team.tsx +104 -104
  52. package/dist/kits/blocks/app/templates/productlaunch/components/Testimonials.tsx +90 -89
  53. package/dist/kits/blocks/app/templates/productlaunch/components/TrustBadges.tsx +76 -76
  54. package/dist/kits/blocks/app/templates/productlaunch/page.tsx +43 -43
  55. package/dist/kits/blocks/app/templates/saasdashboard/PresetThemeVars.tsx +80 -80
  56. package/dist/kits/blocks/app/templates/saasdashboard/README.md +44 -38
  57. package/dist/kits/blocks/app/templates/saasdashboard/components/Contact.tsx +129 -176
  58. package/dist/kits/blocks/app/templates/saasdashboard/components/Dashboard.tsx +293 -293
  59. package/dist/kits/blocks/app/templates/saasdashboard/components/FAQ.tsx +55 -55
  60. package/dist/kits/blocks/app/templates/saasdashboard/components/Features.tsx +90 -91
  61. package/dist/kits/blocks/app/templates/saasdashboard/components/Footer.tsx +77 -77
  62. package/dist/kits/blocks/app/templates/saasdashboard/components/Hero.tsx +104 -105
  63. package/dist/kits/blocks/app/templates/saasdashboard/components/Hero_mask.tsx +126 -127
  64. package/dist/kits/blocks/app/templates/saasdashboard/components/Navbar.tsx +117 -159
  65. package/dist/kits/blocks/app/templates/saasdashboard/components/Pricing.tsx +90 -90
  66. package/dist/kits/blocks/app/templates/saasdashboard/components/SmoothScroll.tsx +96 -97
  67. package/dist/kits/blocks/app/templates/saasdashboard/components/Testimonials.tsx +72 -72
  68. package/dist/kits/blocks/app/templates/saasdashboard/components/TrustBadges.tsx +53 -53
  69. package/dist/kits/blocks/app/templates/saasdashboard/page.tsx +39 -39
  70. package/dist/kits/blocks/components/enhanced-theme-provider.tsx +195 -183
  71. package/dist/kits/blocks/components/providers/BlocksAppProviders.tsx +27 -27
  72. package/dist/kits/blocks/components/sections/About.tsx +291 -291
  73. package/dist/kits/blocks/components/sections/CTA.tsx +257 -258
  74. package/dist/kits/blocks/components/sections/CommandShowcase.tsx +517 -0
  75. package/dist/kits/blocks/components/sections/Contact.tsx +267 -267
  76. package/dist/kits/blocks/components/sections/FAQ.tsx +214 -225
  77. package/dist/kits/blocks/components/sections/FeaturedProjectShowcase.tsx +687 -0
  78. package/dist/kits/blocks/components/sections/Features.tsx +268 -270
  79. package/dist/kits/blocks/components/sections/Footer.tsx +302 -302
  80. package/dist/kits/blocks/components/sections/HeroMotion.tsx +308 -308
  81. package/dist/kits/blocks/components/sections/HeroOverlay.tsx +358 -358
  82. package/dist/kits/blocks/components/sections/HeroProductDemo.tsx +246 -0
  83. package/dist/kits/blocks/components/sections/HeroSplit.tsx +352 -352
  84. package/dist/kits/blocks/components/sections/HeroWithVideo.tsx +495 -0
  85. package/dist/kits/blocks/components/sections/Navbar.tsx +352 -353
  86. package/dist/kits/blocks/components/sections/PortfolioSimple.tsx +549 -550
  87. package/dist/kits/blocks/components/sections/Pricing.tsx +264 -264
  88. package/dist/kits/blocks/components/sections/ProcessTimeline.tsx +325 -325
  89. package/dist/kits/blocks/components/sections/ProjectDeepDive.tsx +805 -0
  90. package/dist/kits/blocks/components/sections/SelectedWorkRail.tsx +485 -0
  91. package/dist/kits/blocks/components/sections/ServicesGrid.tsx +210 -210
  92. package/dist/kits/blocks/components/sections/Team.tsx +309 -309
  93. package/dist/kits/blocks/components/sections/Testimonials.tsx +158 -158
  94. package/dist/kits/blocks/components/sections/TrustBadges.tsx +162 -162
  95. package/dist/kits/blocks/components/sections/product-demo/ApprovalInboxPanel.tsx +128 -0
  96. package/dist/kits/blocks/components/sections/product-demo/DemoStage.tsx +519 -0
  97. package/dist/kits/blocks/components/sections/product-demo/DemoWindow.tsx +140 -0
  98. package/dist/kits/blocks/components/sections/product-demo/KnowledgePanel.tsx +130 -0
  99. package/dist/kits/blocks/components/sections/product-demo/RunConsolePanel.tsx +430 -0
  100. package/dist/kits/blocks/components/sections/product-demo/TaskListPanel.tsx +302 -0
  101. package/dist/kits/blocks/components/sections/product-demo/WorkflowStudioPanel.tsx +744 -0
  102. package/dist/kits/blocks/components/sections/product-demo/types.ts +262 -0
  103. package/dist/kits/blocks/components/theme-provider.tsx +1 -34
  104. package/dist/kits/blocks/components/ui/alert-dialog.tsx +134 -134
  105. package/dist/kits/blocks/components/ui/brand-node.tsx +121 -121
  106. package/dist/kits/blocks/components/ui/button.tsx +122 -122
  107. package/dist/kits/blocks/components/ui/card.tsx +95 -95
  108. package/dist/kits/blocks/components/ui/checkbox.tsx +30 -30
  109. package/dist/kits/blocks/components/ui/cta-button.tsx +125 -125
  110. package/dist/kits/blocks/components/ui/dropdown-menu.tsx +201 -201
  111. package/dist/kits/blocks/components/ui/feature-card.tsx +91 -91
  112. package/dist/kits/blocks/components/ui/input.tsx +27 -27
  113. package/dist/kits/blocks/components/ui/label.tsx +29 -29
  114. package/dist/kits/blocks/components/ui/pricing-card.tsx +120 -120
  115. package/dist/kits/blocks/components/ui/select.tsx +25 -25
  116. package/dist/kits/blocks/components/ui/skeleton.tsx +13 -13
  117. package/dist/kits/blocks/components/ui/table.tsx +98 -98
  118. package/dist/kits/blocks/components/ui/testimonial-card.tsx +108 -108
  119. package/dist/kits/blocks/components/ui/textarea.tsx +26 -26
  120. package/dist/kits/blocks/components/ui/theme-selector.tsx +243 -247
  121. package/dist/kits/blocks/components/ui/theme-toggle.tsx +74 -74
  122. package/dist/kits/blocks/components/ui/toaster.tsx +7 -7
  123. package/dist/kits/blocks/lib/themes.ts +400 -400
  124. package/dist/kits/blocks/lib/utils.ts +6 -9
  125. package/dist/kits/blocks/package-deps.json +40 -28
  126. package/dist/kits/blocks/tsconfig.json +11 -0
  127. package/dist/kits/blocks/tsconfig.tsbuildinfo +1 -0
  128. package/dist/utils/file-operations.d.ts +3 -1
  129. package/dist/utils/file-operations.d.ts.map +1 -1
  130. package/dist/utils/file-operations.js +84 -12
  131. package/dist/utils/file-operations.js.map +1 -1
  132. package/dist/utils/installation-tracker.d.ts +2 -2
  133. package/dist/utils/installation-tracker.d.ts.map +1 -1
  134. package/dist/utils/installation-tracker.js +11 -11
  135. package/dist/utils/installation-tracker.js.map +1 -1
  136. package/dist/utils/package-manager.d.ts +6 -0
  137. package/dist/utils/package-manager.d.ts.map +1 -0
  138. package/dist/utils/package-manager.js +58 -0
  139. package/dist/utils/package-manager.js.map +1 -0
  140. package/dist/utils/yarn-pnp.d.ts +6 -0
  141. package/dist/utils/yarn-pnp.d.ts.map +1 -0
  142. package/dist/utils/yarn-pnp.js +39 -0
  143. package/dist/utils/yarn-pnp.js.map +1 -0
  144. package/package.json +5 -2
  145. 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 mapped to ctaButton + ctaButtonStyle
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 using outline style
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
- // Preserve the previous top margin on the heading
47
- spacing={{ topMargin: "mt-[17vh]" }}
48
- ariaLabel="Join the product launch call to action"
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
+ // }