nextworks 0.2.0-alpha.11 → 0.2.0-alpha.13

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 (111) hide show
  1. package/README.md +283 -282
  2. package/dist/cli_manifests/blocks_manifest.json +198 -175
  3. package/dist/kits/blocks/.nextworks/docs/BLOCKS_QUICKSTART.md +101 -100
  4. package/dist/kits/blocks/.nextworks/docs/BLOCKS_README.md +105 -104
  5. package/dist/kits/blocks/.nextworks/docs/THEME_GUIDE.md +1 -1
  6. package/dist/kits/blocks/app/templates/aiworkflow/PresetThemeVars.tsx +58 -0
  7. package/dist/kits/blocks/app/templates/aiworkflow/README.md +46 -0
  8. package/dist/kits/blocks/app/templates/aiworkflow/components/CTA.tsx +44 -0
  9. package/dist/kits/blocks/app/templates/aiworkflow/components/Contact.tsx +105 -0
  10. package/dist/kits/blocks/app/templates/aiworkflow/components/FAQ.tsx +63 -0
  11. package/dist/kits/blocks/app/templates/aiworkflow/components/Features.tsx +65 -0
  12. package/dist/kits/blocks/app/templates/aiworkflow/components/Footer.tsx +109 -0
  13. package/dist/kits/blocks/app/templates/aiworkflow/components/Hero.tsx +636 -0
  14. package/dist/kits/blocks/app/templates/aiworkflow/components/Navbar.tsx +90 -0
  15. package/dist/kits/blocks/app/templates/aiworkflow/components/Pricing.tsx +86 -0
  16. package/dist/kits/blocks/app/templates/aiworkflow/components/ProcessTimeline.tsx +103 -0
  17. package/dist/kits/blocks/app/templates/aiworkflow/components/Testimonials.tsx +56 -0
  18. package/dist/kits/blocks/app/templates/aiworkflow/components/TrustBadges.tsx +59 -0
  19. package/dist/kits/blocks/app/templates/aiworkflow/page.tsx +43 -0
  20. package/dist/kits/blocks/app/templates/digitalagency/PresetThemeVars.tsx +80 -80
  21. package/dist/kits/blocks/app/templates/digitalagency/README.md +42 -42
  22. package/dist/kits/blocks/app/templates/digitalagency/components/Pricing.tsx +114 -114
  23. package/dist/kits/blocks/app/templates/digitalagency/components/Process.tsx +59 -59
  24. package/dist/kits/blocks/app/templates/digitalagency/components/Services.tsx +55 -55
  25. package/dist/kits/blocks/app/templates/digitalagency/components/Team.tsx +28 -28
  26. package/dist/kits/blocks/app/templates/digitalagency/components/Testimonials.tsx +65 -65
  27. package/dist/kits/blocks/app/templates/digitalagency/page.tsx +38 -38
  28. package/dist/kits/blocks/app/templates/gallery/PresetThemeVars.tsx +84 -84
  29. package/dist/kits/blocks/app/templates/productlaunch/PresetThemeVars.tsx +75 -75
  30. package/dist/kits/blocks/app/templates/productlaunch/README.md +62 -62
  31. package/dist/kits/blocks/app/templates/productlaunch/components/About.tsx +84 -84
  32. package/dist/kits/blocks/app/templates/productlaunch/components/CTA.tsx +50 -50
  33. package/dist/kits/blocks/app/templates/productlaunch/components/Contact.tsx +231 -231
  34. package/dist/kits/blocks/app/templates/productlaunch/components/FAQ.tsx +86 -86
  35. package/dist/kits/blocks/app/templates/productlaunch/components/Features.tsx +83 -83
  36. package/dist/kits/blocks/app/templates/productlaunch/components/Footer.tsx +132 -132
  37. package/dist/kits/blocks/app/templates/productlaunch/components/Hero.tsx +88 -88
  38. package/dist/kits/blocks/app/templates/productlaunch/components/Navbar.tsx +116 -116
  39. package/dist/kits/blocks/app/templates/productlaunch/components/Pricing.tsx +106 -106
  40. package/dist/kits/blocks/app/templates/productlaunch/components/ProcessTimeline.tsx +110 -110
  41. package/dist/kits/blocks/app/templates/productlaunch/components/ServicesGrid.tsx +68 -68
  42. package/dist/kits/blocks/app/templates/productlaunch/components/Team.tsx +104 -104
  43. package/dist/kits/blocks/app/templates/productlaunch/components/Testimonials.tsx +90 -90
  44. package/dist/kits/blocks/app/templates/productlaunch/components/TrustBadges.tsx +76 -76
  45. package/dist/kits/blocks/app/templates/productlaunch/page.tsx +43 -43
  46. package/dist/kits/blocks/app/templates/saasdashboard/PresetThemeVars.tsx +80 -80
  47. package/dist/kits/blocks/app/templates/saasdashboard/README.md +44 -44
  48. package/dist/kits/blocks/app/templates/saasdashboard/components/Contact.tsx +129 -129
  49. package/dist/kits/blocks/app/templates/saasdashboard/components/Dashboard.tsx +293 -293
  50. package/dist/kits/blocks/app/templates/saasdashboard/components/FAQ.tsx +55 -55
  51. package/dist/kits/blocks/app/templates/saasdashboard/components/Features.tsx +90 -90
  52. package/dist/kits/blocks/app/templates/saasdashboard/components/Footer.tsx +77 -77
  53. package/dist/kits/blocks/app/templates/saasdashboard/components/Hero.tsx +104 -104
  54. package/dist/kits/blocks/app/templates/saasdashboard/components/Hero_mask.tsx +126 -126
  55. package/dist/kits/blocks/app/templates/saasdashboard/components/Navbar.tsx +117 -117
  56. package/dist/kits/blocks/app/templates/saasdashboard/components/Pricing.tsx +90 -90
  57. package/dist/kits/blocks/app/templates/saasdashboard/components/SmoothScroll.tsx +96 -96
  58. package/dist/kits/blocks/app/templates/saasdashboard/components/Testimonials.tsx +72 -72
  59. package/dist/kits/blocks/app/templates/saasdashboard/components/TrustBadges.tsx +53 -53
  60. package/dist/kits/blocks/app/templates/saasdashboard/page.tsx +39 -39
  61. package/dist/kits/blocks/components/enhanced-theme-provider.tsx +195 -195
  62. package/dist/kits/blocks/components/providers/BlocksAppProviders.tsx +27 -27
  63. package/dist/kits/blocks/components/sections/About.tsx +291 -291
  64. package/dist/kits/blocks/components/sections/CTA.tsx +257 -257
  65. package/dist/kits/blocks/components/sections/Contact.tsx +267 -267
  66. package/dist/kits/blocks/components/sections/FAQ.tsx +214 -214
  67. package/dist/kits/blocks/components/sections/Features.tsx +268 -268
  68. package/dist/kits/blocks/components/sections/Footer.tsx +302 -302
  69. package/dist/kits/blocks/components/sections/HeroMotion.tsx +308 -308
  70. package/dist/kits/blocks/components/sections/HeroOverlay.tsx +358 -358
  71. package/dist/kits/blocks/components/sections/HeroProductDemo.tsx +236 -0
  72. package/dist/kits/blocks/components/sections/HeroSplit.tsx +352 -352
  73. package/dist/kits/blocks/components/sections/Navbar.tsx +350 -350
  74. package/dist/kits/blocks/components/sections/PortfolioSimple.tsx +549 -549
  75. package/dist/kits/blocks/components/sections/Pricing.tsx +264 -264
  76. package/dist/kits/blocks/components/sections/ProcessTimeline.tsx +325 -325
  77. package/dist/kits/blocks/components/sections/ServicesGrid.tsx +210 -210
  78. package/dist/kits/blocks/components/sections/Team.tsx +309 -309
  79. package/dist/kits/blocks/components/sections/Testimonials.tsx +158 -158
  80. package/dist/kits/blocks/components/sections/TrustBadges.tsx +162 -162
  81. package/dist/kits/blocks/components/sections/product-demo/ApprovalInboxPanel.tsx +125 -0
  82. package/dist/kits/blocks/components/sections/product-demo/DemoStage.tsx +397 -0
  83. package/dist/kits/blocks/components/sections/product-demo/DemoWindow.tsx +128 -0
  84. package/dist/kits/blocks/components/sections/product-demo/KnowledgePanel.tsx +127 -0
  85. package/dist/kits/blocks/components/sections/product-demo/RunConsolePanel.tsx +150 -0
  86. package/dist/kits/blocks/components/sections/product-demo/WorkflowStudioPanel.tsx +191 -0
  87. package/dist/kits/blocks/components/sections/product-demo/types.ts +193 -0
  88. package/dist/kits/blocks/components/theme-provider.tsx +1 -1
  89. package/dist/kits/blocks/components/ui/alert-dialog.tsx +134 -134
  90. package/dist/kits/blocks/components/ui/brand-node.tsx +121 -121
  91. package/dist/kits/blocks/components/ui/button.tsx +122 -122
  92. package/dist/kits/blocks/components/ui/card.tsx +95 -95
  93. package/dist/kits/blocks/components/ui/checkbox.tsx +30 -30
  94. package/dist/kits/blocks/components/ui/cta-button.tsx +125 -125
  95. package/dist/kits/blocks/components/ui/dropdown-menu.tsx +201 -201
  96. package/dist/kits/blocks/components/ui/feature-card.tsx +91 -91
  97. package/dist/kits/blocks/components/ui/input.tsx +27 -27
  98. package/dist/kits/blocks/components/ui/label.tsx +29 -29
  99. package/dist/kits/blocks/components/ui/pricing-card.tsx +120 -120
  100. package/dist/kits/blocks/components/ui/select.tsx +25 -25
  101. package/dist/kits/blocks/components/ui/skeleton.tsx +13 -13
  102. package/dist/kits/blocks/components/ui/table.tsx +98 -98
  103. package/dist/kits/blocks/components/ui/testimonial-card.tsx +108 -108
  104. package/dist/kits/blocks/components/ui/textarea.tsx +26 -26
  105. package/dist/kits/blocks/components/ui/theme-selector.tsx +243 -243
  106. package/dist/kits/blocks/components/ui/theme-toggle.tsx +74 -74
  107. package/dist/kits/blocks/components/ui/toaster.tsx +7 -7
  108. package/dist/kits/blocks/lib/themes.ts +400 -400
  109. package/dist/kits/blocks/lib/utils.ts +6 -6
  110. package/dist/kits/blocks/package-deps.json +3 -3
  111. package/package.json +1 -1
@@ -1,62 +1,62 @@
1
- # ProductLaunch Template Theming
2
-
3
- This template intentionally does NOT wrap the page with PresetThemeVars. It serves as the component-level styling example where individual preset components set CSS variables locally on their slots (buttons, cards, inputs, etc.).
4
-
5
- Shared components read these variables with token fallbacks, so if a var is not set, design tokens still apply safely.
6
-
7
- ## Where to look
8
-
9
- Template paths depend on your router:
10
-
11
- - App Router:
12
- - Page: `app/templates/productlaunch/page.tsx` (PresetThemeVars is commented out)
13
- - Components: `app/templates/productlaunch/components/*` (slots use Tailwind arbitrary properties like `[--btn-bg:...]` to set vars locally)
14
-
15
- - Pages Router:
16
- - Page: `pages/templates/productlaunch/index.tsx` (PresetThemeVars is commented out)
17
- - Components: `components/templates/productlaunch/components/*`
18
-
19
- ## Core variables
20
-
21
- - Buttons: `--btn-bg`, `--btn-fg`, `--btn-hover-bg`, `--btn-hover-fg`, `--btn-border`, `--btn-ring`
22
- - Inputs/Textareas: `--input-bg`, `--input-fg`, `--input-placeholder`, `--input-border`, `--input-focus-ring`, `--input-ring-offset`
23
- - Cards: `--card-bg`, `--card-fg`, `--card-title-fg`, `--card-muted-fg`, `--card-border`, `--card-shadow`
24
- - Badges/Chips: `--badge-bg`, `--badge-fg`, `--badge-border`, plus active: `--badge-active-bg`, `--badge-active-fg`, `--badge-active-border`
25
- - Headings: `--heading-fg`, `--subheading-fg`, `--description-fg`
26
- - Footer: `--footer-bg`, `--footer-fg`, `--footer-heading-fg`, `--footer-link-fg`, `--footer-link-hover-fg`, `--footer-link-hover-bg`, `--footer-muted-fg`, `--footer-border`
27
- - Table: `--table-fg`, `--table-muted-fg`, `--table-head-fg`, `--table-border`, `--table-row-hover-bg`
28
-
29
- ## Per-section overrides (examples)
30
-
31
- Because this template is component-first, most styling is set directly in the component props. You can still scope vars on a section wrapper when it’s convenient:
32
-
33
- ```tsx
34
- <section className="[--btn-ring:theme(colors.purple.600)] dark:[--btn-ring:theme(colors.purple.500)]">
35
- <CTA />
36
- </section>
37
- ```
38
-
39
- Contact input borders example:
40
-
41
- ```tsx
42
- <section className="[--input-border:theme(colors.purple.200)] dark:[--input-border:theme(colors.purple.700)]">
43
- <Contact />
44
- </section>
45
- ```
46
-
47
- ## Outline buttons
48
-
49
- When styling outline buttons, set `--btn-bg:transparent` and keep a border width class (e.g., `border` or `border-2`).
50
-
51
- ```tsx
52
- <Button
53
- variant="outline"
54
- className="border [--btn-bg:transparent] [--btn-border:theme(colors.purple.600)] [--btn-fg:theme(colors.purple.600)] hover:[--btn-hover-bg:theme(colors.purple.50)] hover:[--btn-hover-fg:theme(colors.purple.600)]"
55
- >
56
- Outline
57
- </Button>
58
- ```
59
-
60
- ## Do I need to refactor preset components?
61
-
62
- Not required. This template is intentionally left as an example of component-level styling. Over time, you can still deduplicate color classes by relying on the shared var contract while keeping structure/spacing classes.
1
+ # ProductLaunch Template Theming
2
+
3
+ This template intentionally does NOT wrap the page with PresetThemeVars. It serves as the component-level styling example where individual preset components set CSS variables locally on their slots (buttons, cards, inputs, etc.).
4
+
5
+ Shared components read these variables with token fallbacks, so if a var is not set, design tokens still apply safely.
6
+
7
+ ## Where to look
8
+
9
+ Template paths depend on your router:
10
+
11
+ - App Router:
12
+ - Page: `app/templates/productlaunch/page.tsx` (PresetThemeVars is commented out)
13
+ - Components: `app/templates/productlaunch/components/*` (slots use Tailwind arbitrary properties like `[--btn-bg:...]` to set vars locally)
14
+
15
+ - Pages Router:
16
+ - Page: `pages/templates/productlaunch/index.tsx` (PresetThemeVars is commented out)
17
+ - Components: `components/templates/productlaunch/components/*`
18
+
19
+ ## Core variables
20
+
21
+ - Buttons: `--btn-bg`, `--btn-fg`, `--btn-hover-bg`, `--btn-hover-fg`, `--btn-border`, `--btn-ring`
22
+ - Inputs/Textareas: `--input-bg`, `--input-fg`, `--input-placeholder`, `--input-border`, `--input-focus-ring`, `--input-ring-offset`
23
+ - Cards: `--card-bg`, `--card-fg`, `--card-title-fg`, `--card-muted-fg`, `--card-border`, `--card-shadow`
24
+ - Badges/Chips: `--badge-bg`, `--badge-fg`, `--badge-border`, plus active: `--badge-active-bg`, `--badge-active-fg`, `--badge-active-border`
25
+ - Headings: `--heading-fg`, `--subheading-fg`, `--description-fg`
26
+ - Footer: `--footer-bg`, `--footer-fg`, `--footer-heading-fg`, `--footer-link-fg`, `--footer-link-hover-fg`, `--footer-link-hover-bg`, `--footer-muted-fg`, `--footer-border`
27
+ - Table: `--table-fg`, `--table-muted-fg`, `--table-head-fg`, `--table-border`, `--table-row-hover-bg`
28
+
29
+ ## Per-section overrides (examples)
30
+
31
+ Because this template is component-first, most styling is set directly in the component props. You can still scope vars on a section wrapper when it’s convenient:
32
+
33
+ ```tsx
34
+ <section className="[--btn-ring:theme(colors.purple.600)] dark:[--btn-ring:theme(colors.purple.500)]">
35
+ <CTA />
36
+ </section>
37
+ ```
38
+
39
+ Contact input borders example:
40
+
41
+ ```tsx
42
+ <section className="[--input-border:theme(colors.purple.200)] dark:[--input-border:theme(colors.purple.700)]">
43
+ <Contact />
44
+ </section>
45
+ ```
46
+
47
+ ## Outline buttons
48
+
49
+ When styling outline buttons, set `--btn-bg:transparent` and keep a border width class (e.g., `border` or `border-2`).
50
+
51
+ ```tsx
52
+ <Button
53
+ variant="outline"
54
+ className="border [--btn-bg:transparent] [--btn-border:theme(colors.purple.600)] [--btn-fg:theme(colors.purple.600)] hover:[--btn-hover-bg:theme(colors.purple.50)] hover:[--btn-hover-fg:theme(colors.purple.600)]"
55
+ >
56
+ Outline
57
+ </Button>
58
+ ```
59
+
60
+ ## Do I need to refactor preset components?
61
+
62
+ Not required. This template is intentionally left as an example of component-level styling. Over time, you can still deduplicate color classes by relying on the shared var contract while keeping structure/spacing classes.
@@ -1,84 +1,84 @@
1
- "use client";
2
- import React from "react";
3
- import { About as SharedAbout } from "@/components/sections/About";
4
-
5
- /**
6
- * A preset About component customized for the product launch page,
7
- * using the shared About.tsx with predefined styles and content.
8
- *
9
- * Features:
10
- * - "About IntelliOpAI" heading with custom typography
11
- * - Purple-themed styling matching the brand
12
- * - Custom stats optimized for AI product launch
13
- * - Responsive design with proper spacing
14
- * - Dark mode support with consistent theming
15
- * - Clean, modern design with hover effects
16
- */
17
-
18
- export function About() {
19
- return (
20
- <SharedAbout
21
- // Content
22
- aboutSubheadingText="The Future of AI is Here"
23
- aboutHeadingText="About IntelliOpAI"
24
- 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."
25
- aboutTextAlign="center"
26
- // Stats
27
- showStats={true}
28
- animateStats={true}
29
- aboutStats={[
30
- { value: "10M", suffix: "+", label: "Data Points Processed" },
31
- { value: "99.7", suffix: "%", label: "AI Accuracy Rate" },
32
- { value: "500", suffix: "+", label: "Early Adopters" },
33
- { value: "24", suffix: "/7", label: "AI Innovation" },
34
- ]}
35
- // Slots / styling
36
- section={{
37
- className: "py-20 bg-white dark:bg-black text-gray-800 dark:text-white",
38
- }}
39
- container={{
40
- className: "max-w-7xl mx-auto px-6",
41
- }}
42
- inner={{
43
- className: "flex flex-col gap-12",
44
- }}
45
- contentContainer={{
46
- className: "max-w-4xl mx-auto",
47
- }}
48
- contentStack={{
49
- className: "flex flex-col gap-6",
50
- }}
51
- subheading={{
52
- className:
53
- "text-sm font-semibold text-purple-600 dark:text-purple-400 uppercase tracking-wider font-inter",
54
- }}
55
- heading={{
56
- className:
57
- "text-3xl md:text-4xl lg:text-5xl font-bold text-gray-800 dark:text-white leading-tight font-outfit",
58
- }}
59
- content={{
60
- className:
61
- "text-base md:text-lg text-gray-700 dark:text-gray-200 leading-relaxed opacity-90 max-w-3xl font-inter",
62
- }}
63
- statsSection={{
64
- className:
65
- "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",
66
- }}
67
- statsGrid={{
68
- className:
69
- "grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12 justify-items-center",
70
- }}
71
- statItem={{
72
- className: "flex flex-col items-center gap-3",
73
- }}
74
- statNumber={{
75
- className:
76
- "text-2xl md:text-3xl lg:text-4xl font-bold text-purple-600 dark:text-purple-400 leading-none font-outfit",
77
- }}
78
- statLabel={{
79
- className:
80
- "text-sm md:text-base font-medium text-gray-700 dark:text-gray-300 text-center opacity-90 font-inter",
81
- }}
82
- />
83
- );
84
- }
1
+ "use client";
2
+ import React from "react";
3
+ import { About as SharedAbout } from "@/components/sections/About";
4
+
5
+ /**
6
+ * A preset About component customized for the product launch page,
7
+ * using the shared About.tsx with predefined styles and content.
8
+ *
9
+ * Features:
10
+ * - "About IntelliOpAI" heading with custom typography
11
+ * - Purple-themed styling matching the brand
12
+ * - Custom stats optimized for AI product launch
13
+ * - Responsive design with proper spacing
14
+ * - Dark mode support with consistent theming
15
+ * - Clean, modern design with hover effects
16
+ */
17
+
18
+ export function About() {
19
+ return (
20
+ <SharedAbout
21
+ // Content
22
+ aboutSubheadingText="The Future of AI is Here"
23
+ aboutHeadingText="About IntelliOpAI"
24
+ 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."
25
+ aboutTextAlign="center"
26
+ // Stats
27
+ showStats={true}
28
+ animateStats={true}
29
+ aboutStats={[
30
+ { value: "10M", suffix: "+", label: "Data Points Processed" },
31
+ { value: "99.7", suffix: "%", label: "AI Accuracy Rate" },
32
+ { value: "500", suffix: "+", label: "Early Adopters" },
33
+ { value: "24", suffix: "/7", label: "AI Innovation" },
34
+ ]}
35
+ // Slots / styling
36
+ section={{
37
+ className: "py-20 bg-white dark:bg-black text-gray-800 dark:text-white",
38
+ }}
39
+ container={{
40
+ className: "max-w-7xl mx-auto px-6",
41
+ }}
42
+ inner={{
43
+ className: "flex flex-col gap-12",
44
+ }}
45
+ contentContainer={{
46
+ className: "max-w-4xl mx-auto",
47
+ }}
48
+ contentStack={{
49
+ className: "flex flex-col gap-6",
50
+ }}
51
+ subheading={{
52
+ className:
53
+ "text-sm font-semibold text-purple-600 dark:text-purple-400 uppercase tracking-wider font-inter",
54
+ }}
55
+ heading={{
56
+ className:
57
+ "text-3xl md:text-4xl lg:text-5xl font-bold text-gray-800 dark:text-white leading-tight font-outfit",
58
+ }}
59
+ content={{
60
+ className:
61
+ "text-base md:text-lg text-gray-700 dark:text-gray-200 leading-relaxed opacity-90 max-w-3xl font-inter",
62
+ }}
63
+ statsSection={{
64
+ className:
65
+ "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",
66
+ }}
67
+ statsGrid={{
68
+ className:
69
+ "grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12 justify-items-center",
70
+ }}
71
+ statItem={{
72
+ className: "flex flex-col items-center gap-3",
73
+ }}
74
+ statNumber={{
75
+ className:
76
+ "text-2xl md:text-3xl lg:text-4xl font-bold text-purple-600 dark:text-purple-400 leading-none font-outfit",
77
+ }}
78
+ statLabel={{
79
+ className:
80
+ "text-sm md:text-base font-medium text-gray-700 dark:text-gray-300 text-center opacity-90 font-inter",
81
+ }}
82
+ />
83
+ );
84
+ }
@@ -1,50 +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
- spacing={{ topMargin: "mt-[17vh]" }}
47
- ariaLabel="Join the product launch call to action"
48
- />
49
- );
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
+ spacing={{ topMargin: "mt-[17vh]" }}
47
+ ariaLabel="Join the product launch call to action"
48
+ />
49
+ );
50
+ }