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.
- package/README.md +283 -282
- package/dist/cli_manifests/blocks_manifest.json +198 -175
- package/dist/kits/blocks/.nextworks/docs/BLOCKS_QUICKSTART.md +101 -100
- package/dist/kits/blocks/.nextworks/docs/BLOCKS_README.md +105 -104
- package/dist/kits/blocks/.nextworks/docs/THEME_GUIDE.md +1 -1
- package/dist/kits/blocks/app/templates/aiworkflow/PresetThemeVars.tsx +58 -0
- package/dist/kits/blocks/app/templates/aiworkflow/README.md +46 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/CTA.tsx +44 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Contact.tsx +105 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/FAQ.tsx +63 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Features.tsx +65 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Footer.tsx +109 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Hero.tsx +636 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Navbar.tsx +90 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Pricing.tsx +86 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/ProcessTimeline.tsx +103 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Testimonials.tsx +56 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/TrustBadges.tsx +59 -0
- package/dist/kits/blocks/app/templates/aiworkflow/page.tsx +43 -0
- package/dist/kits/blocks/app/templates/digitalagency/PresetThemeVars.tsx +80 -80
- package/dist/kits/blocks/app/templates/digitalagency/README.md +42 -42
- 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 +84 -84
- package/dist/kits/blocks/app/templates/productlaunch/PresetThemeVars.tsx +75 -75
- package/dist/kits/blocks/app/templates/productlaunch/README.md +62 -62
- package/dist/kits/blocks/app/templates/productlaunch/components/About.tsx +84 -84
- package/dist/kits/blocks/app/templates/productlaunch/components/CTA.tsx +50 -50
- package/dist/kits/blocks/app/templates/productlaunch/components/Contact.tsx +231 -231
- package/dist/kits/blocks/app/templates/productlaunch/components/FAQ.tsx +86 -86
- package/dist/kits/blocks/app/templates/productlaunch/components/Features.tsx +83 -83
- package/dist/kits/blocks/app/templates/productlaunch/components/Footer.tsx +132 -132
- package/dist/kits/blocks/app/templates/productlaunch/components/Hero.tsx +88 -88
- package/dist/kits/blocks/app/templates/productlaunch/components/Navbar.tsx +116 -116
- 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 -90
- 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 -44
- package/dist/kits/blocks/app/templates/saasdashboard/components/Contact.tsx +129 -129
- 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 -90
- package/dist/kits/blocks/app/templates/saasdashboard/components/Footer.tsx +77 -77
- package/dist/kits/blocks/app/templates/saasdashboard/components/Hero.tsx +104 -104
- package/dist/kits/blocks/app/templates/saasdashboard/components/Hero_mask.tsx +126 -126
- package/dist/kits/blocks/app/templates/saasdashboard/components/Navbar.tsx +117 -117
- package/dist/kits/blocks/app/templates/saasdashboard/components/Pricing.tsx +90 -90
- package/dist/kits/blocks/app/templates/saasdashboard/components/SmoothScroll.tsx +96 -96
- 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 -195
- 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 -257
- package/dist/kits/blocks/components/sections/Contact.tsx +267 -267
- package/dist/kits/blocks/components/sections/FAQ.tsx +214 -214
- package/dist/kits/blocks/components/sections/Features.tsx +268 -268
- 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 +236 -0
- package/dist/kits/blocks/components/sections/HeroSplit.tsx +352 -352
- package/dist/kits/blocks/components/sections/Navbar.tsx +350 -350
- package/dist/kits/blocks/components/sections/PortfolioSimple.tsx +549 -549
- 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/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 +125 -0
- package/dist/kits/blocks/components/sections/product-demo/DemoStage.tsx +397 -0
- package/dist/kits/blocks/components/sections/product-demo/DemoWindow.tsx +128 -0
- package/dist/kits/blocks/components/sections/product-demo/KnowledgePanel.tsx +127 -0
- package/dist/kits/blocks/components/sections/product-demo/RunConsolePanel.tsx +150 -0
- package/dist/kits/blocks/components/sections/product-demo/WorkflowStudioPanel.tsx +191 -0
- package/dist/kits/blocks/components/sections/product-demo/types.ts +193 -0
- package/dist/kits/blocks/components/theme-provider.tsx +1 -1
- 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 -243
- 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 -6
- package/dist/kits/blocks/package-deps.json +3 -3
- 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
|
+
}
|