@nextworks/blocks-templates 0.1.0-alpha.8 → 0.2.0-alpha.10
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 +25 -11
- package/dist/templates/digitalagency/Page.d.ts.map +1 -1
- package/dist/templates/digitalagency/Page.jsx +0 -1
- package/dist/templates/digitalagency/components/Contact.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Contact.jsx +3 -4
- package/dist/templates/digitalagency/components/Footer.d.ts +1 -1
- package/dist/templates/digitalagency/components/Footer.jsx +1 -1
- package/dist/templates/digitalagency/components/Hero.d.ts +1 -1
- package/dist/templates/digitalagency/components/Hero.jsx +1 -1
- package/dist/templates/digitalagency/components/Navbar.d.ts +1 -2
- package/dist/templates/digitalagency/components/Navbar.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Navbar.jsx +1 -1
- package/dist/templates/digitalagency/components/NetworkPattern.d.ts +0 -1
- package/dist/templates/digitalagency/components/NetworkPattern.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/NetworkPattern.jsx +1 -4
- package/dist/templates/digitalagency/components/Portfolio.jsx +1 -1
- package/dist/templates/gallery/PresetThemeVars.d.ts +2 -2
- package/dist/templates/gallery/PresetThemeVars.jsx +2 -2
- package/dist/templates/gallery/page.d.ts.map +1 -1
- package/dist/templates/gallery/page.jsx +1 -2
- package/dist/templates/productlaunch/components/About.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/About.jsx +0 -2
- package/dist/templates/productlaunch/components/Contact.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Contact.jsx +0 -1
- package/dist/templates/productlaunch/components/FAQ.d.ts +1 -3
- package/dist/templates/productlaunch/components/FAQ.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/FAQ.jsx +2 -10
- package/dist/templates/productlaunch/components/Features.d.ts +1 -2
- package/dist/templates/productlaunch/components/Features.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Features.jsx +1 -2
- package/dist/templates/productlaunch/components/Footer.d.ts +1 -1
- package/dist/templates/productlaunch/components/Footer.jsx +1 -1
- package/dist/templates/productlaunch/components/Hero.d.ts +1 -2
- package/dist/templates/productlaunch/components/Hero.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Hero.jsx +5 -6
- package/dist/templates/productlaunch/components/Navbar.d.ts +1 -1
- package/dist/templates/productlaunch/components/Navbar.jsx +79 -75
- package/dist/templates/productlaunch/components/Pricing.d.ts +1 -1
- package/dist/templates/productlaunch/components/Pricing.jsx +1 -1
- package/dist/templates/productlaunch/components/ProcessTimeline.d.ts +1 -1
- package/dist/templates/productlaunch/components/ProcessTimeline.jsx +1 -1
- package/dist/templates/productlaunch/components/ServicesGrid.d.ts +1 -1
- package/dist/templates/productlaunch/components/ServicesGrid.jsx +1 -1
- package/dist/templates/productlaunch/components/Team.d.ts +1 -1
- package/dist/templates/productlaunch/components/Team.jsx +1 -1
- package/dist/templates/productlaunch/components/Testimonials.d.ts +1 -1
- package/dist/templates/productlaunch/components/Testimonials.jsx +1 -1
- package/dist/templates/productlaunch/components/TrustBadges.d.ts +1 -1
- package/dist/templates/productlaunch/components/TrustBadges.jsx +1 -1
- package/dist/templates/saasdashboard/components/Dashboard.jsx +2 -2
- package/dist/templates/saasdashboard/components/Hero.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Hero.jsx +0 -1
- package/dist/templates/saasdashboard/components/Hero_mask.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Hero_mask.jsx +0 -1
- package/dist/templates/saasdashboard/components/Navbar.d.ts +1 -1
- package/dist/templates/saasdashboard/components/Navbar.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Navbar.jsx +1 -2
- package/dist/templates/saasdashboard/components/SmoothScroll.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/SmoothScroll.jsx +3 -4
- package/package.json +34 -34
- package/dist/index.d.ts +0 -5
- package/dist/index.js +0 -4
- package/dist/templates/digitalagency/Page.d.ts +0 -3
- package/dist/templates/digitalagency/Page.js +0 -18
- package/dist/templates/digitalagency/PresetThemeVars.d.ts +0 -11
- package/dist/templates/digitalagency/PresetThemeVars.js +0 -29
- package/dist/templates/digitalagency/components/About.d.ts +0 -3
- package/dist/templates/digitalagency/components/About.js +0 -45
- package/dist/templates/digitalagency/components/CTA.d.ts +0 -3
- package/dist/templates/digitalagency/components/CTA.js +0 -33
- package/dist/templates/digitalagency/components/Contact.d.ts +0 -3
- package/dist/templates/digitalagency/components/Contact.js +0 -91
- package/dist/templates/digitalagency/components/Footer.js +0 -58
- package/dist/templates/digitalagency/components/Hero.js +0 -69
- package/dist/templates/digitalagency/components/Navbar.js +0 -86
- package/dist/templates/digitalagency/components/NetworkPattern.js +0 -38
- package/dist/templates/digitalagency/components/Portfolio.d.ts +0 -3
- package/dist/templates/digitalagency/components/Portfolio.js +0 -108
- package/dist/templates/digitalagency/components/Pricing.d.ts +0 -3
- package/dist/templates/digitalagency/components/Pricing.js +0 -82
- package/dist/templates/digitalagency/components/Pricing.jsx +0 -84
- package/dist/templates/digitalagency/components/Process.d.ts +0 -3
- package/dist/templates/digitalagency/components/Process.js +0 -38
- package/dist/templates/digitalagency/components/Process.jsx +0 -40
- package/dist/templates/digitalagency/components/Services.d.ts +0 -3
- package/dist/templates/digitalagency/components/Services.js +0 -34
- package/dist/templates/digitalagency/components/Services.jsx +0 -36
- package/dist/templates/digitalagency/components/Team.d.ts +0 -3
- package/dist/templates/digitalagency/components/Team.js +0 -14
- package/dist/templates/digitalagency/components/Team.jsx +0 -14
- package/dist/templates/digitalagency/components/Testimonials.d.ts +0 -3
- package/dist/templates/digitalagency/components/Testimonials.js +0 -38
- package/dist/templates/digitalagency/components/Testimonials.jsx +0 -40
- package/dist/templates/gallery/PresetThemeVars.js +0 -31
- package/dist/templates/gallery/page.d.ts +0 -2
- package/dist/templates/gallery/page.js +0 -151
- package/dist/templates/productlaunch/Page.d.ts +0 -2
- package/dist/templates/productlaunch/Page.js +0 -20
- package/dist/templates/productlaunch/Page.jsx +0 -42
- package/dist/templates/productlaunch/PresetThemeVars.d.ts +0 -16
- package/dist/templates/productlaunch/PresetThemeVars.js +0 -28
- package/dist/templates/productlaunch/components/About.d.ts +0 -15
- package/dist/templates/productlaunch/components/About.js +0 -59
- package/dist/templates/productlaunch/components/CTA.d.ts +0 -3
- package/dist/templates/productlaunch/components/CTA.js +0 -39
- package/dist/templates/productlaunch/components/Contact.d.ts +0 -3
- package/dist/templates/productlaunch/components/Contact.js +0 -93
- package/dist/templates/productlaunch/components/FAQ.js +0 -64
- package/dist/templates/productlaunch/components/Features.js +0 -52
- package/dist/templates/productlaunch/components/Footer.js +0 -103
- package/dist/templates/productlaunch/components/Hero.js +0 -70
- package/dist/templates/productlaunch/components/Navbar.js +0 -82
- package/dist/templates/productlaunch/components/Pricing.js +0 -77
- package/dist/templates/productlaunch/components/ProcessTimeline.js +0 -63
- package/dist/templates/productlaunch/components/ServicesGrid.js +0 -41
- package/dist/templates/productlaunch/components/Team.js +0 -72
- package/dist/templates/productlaunch/components/Testimonials.js +0 -55
- package/dist/templates/productlaunch/components/TrustBadges.js +0 -50
- package/dist/templates/saasdashboard/Page.d.ts +0 -2
- package/dist/templates/saasdashboard/Page.js +0 -15
- package/dist/templates/saasdashboard/Page.jsx +0 -35
- package/dist/templates/saasdashboard/PresetThemeVars.d.ts +0 -11
- package/dist/templates/saasdashboard/PresetThemeVars.js +0 -27
- package/dist/templates/saasdashboard/components/Contact.d.ts +0 -3
- package/dist/templates/saasdashboard/components/Contact.js +0 -83
- package/dist/templates/saasdashboard/components/Dashboard.d.ts +0 -21
- package/dist/templates/saasdashboard/components/Dashboard.js +0 -120
- package/dist/templates/saasdashboard/components/FAQ.d.ts +0 -2
- package/dist/templates/saasdashboard/components/FAQ.js +0 -35
- package/dist/templates/saasdashboard/components/FAQ.jsx +0 -34
- package/dist/templates/saasdashboard/components/Features.d.ts +0 -2
- package/dist/templates/saasdashboard/components/Features.js +0 -55
- package/dist/templates/saasdashboard/components/Footer.d.ts +0 -2
- package/dist/templates/saasdashboard/components/Footer.js +0 -52
- package/dist/templates/saasdashboard/components/Hero.d.ts +0 -2
- package/dist/templates/saasdashboard/components/Hero.js +0 -65
- package/dist/templates/saasdashboard/components/Hero_mask.d.ts +0 -3
- package/dist/templates/saasdashboard/components/Hero_mask.js +0 -73
- package/dist/templates/saasdashboard/components/Navbar.js +0 -83
- package/dist/templates/saasdashboard/components/Pricing.d.ts +0 -2
- package/dist/templates/saasdashboard/components/Pricing.js +0 -65
- package/dist/templates/saasdashboard/components/SmoothScroll.d.ts +0 -2
- package/dist/templates/saasdashboard/components/SmoothScroll.js +0 -87
- package/dist/templates/saasdashboard/components/Testimonials.d.ts +0 -2
- package/dist/templates/saasdashboard/components/Testimonials.js +0 -35
- package/dist/templates/saasdashboard/components/TrustBadges.d.ts +0 -2
- package/dist/templates/saasdashboard/components/TrustBadges.js +0 -37
package/README.md
CHANGED
|
@@ -9,14 +9,22 @@ Included templates (subject to change):
|
|
|
9
9
|
- Digital agency
|
|
10
10
|
- Gallery
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## Recommended: install via the nextworks CLI
|
|
13
|
+
|
|
14
|
+
Most developers should install Blocks via the **nextworks** CLI (copy-in / shadcn-style) rather than consuming this package directly.
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npx nextworks@latest add blocks --templates
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
- npm (CLI): https://www.npmjs.com/package/nextworks
|
|
21
|
+
|
|
22
|
+
## Direct installation (advanced)
|
|
23
|
+
|
|
24
|
+
If you want to consume the compiled templates as a package:
|
|
13
25
|
|
|
14
26
|
```bash
|
|
15
27
|
npm install @nextworks/blocks-templates @nextworks/blocks-sections @nextworks/blocks-core
|
|
16
|
-
# or
|
|
17
|
-
pnpm add @nextworks/blocks-templates @nextworks/blocks-sections @nextworks/blocks-core
|
|
18
|
-
# or
|
|
19
|
-
yarn add @nextworks/blocks-templates @nextworks/blocks-sections @nextworks/blocks-core
|
|
20
28
|
```
|
|
21
29
|
|
|
22
30
|
## Usage
|
|
@@ -31,12 +39,18 @@ export default function Page() {
|
|
|
31
39
|
|
|
32
40
|
These templates assume:
|
|
33
41
|
|
|
34
|
-
- Next.js App Router
|
|
35
42
|
- Tailwind CSS
|
|
36
|
-
-
|
|
43
|
+
- Providers + global styles are set up
|
|
37
44
|
|
|
38
|
-
If you
|
|
45
|
+
If you installed via the `nextworks` CLI:
|
|
39
46
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
- Templates are copied into your app (router-native):
|
|
48
|
+
- App Router: `app/templates/<template>/**`
|
|
49
|
+
- Pages Router:
|
|
50
|
+
- route entry file: `pages/templates/<template>/index.tsx`
|
|
51
|
+
- supporting template files: `components/templates/<template>/**`
|
|
52
|
+
- The CLI patches your router entrypoint to wire up providers, fonts, and CSS.
|
|
53
|
+
|
|
54
|
+
If you consume packages directly (advanced):
|
|
55
|
+
|
|
56
|
+
- These components are primarily authored for the Next.js App Router, and you must wrap your app with the appropriate provider(s) from `@nextworks/blocks-core` and ensure global CSS is loaded.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/templates/digitalagency/Page.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/templates/digitalagency/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,wBAAgB,aAAa,sBAmB5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contact.d.ts","sourceRoot":"","sources":["../../../../src/templates/digitalagency/components/Contact.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Contact.d.ts","sourceRoot":"","sources":["../../../../src/templates/digitalagency/components/Contact.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AA2D1B,wBAAgB,OAAO,sBA4DtB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// app/templates/digitalagency/componets/Contact.tsx
|
|
2
1
|
"use client";
|
|
3
2
|
import React from "react";
|
|
4
3
|
import { Contact as SharedContact, } from "@nextworks/blocks-sections";
|
|
@@ -71,9 +70,9 @@ export function Contact() {
|
|
|
71
70
|
form={{
|
|
72
71
|
className: "bg-card p-8 rounded-lg shadow-md border border-border bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)]",
|
|
73
72
|
}}
|
|
74
|
-
// Fields wrapper and field item
|
|
73
|
+
// Fields wrapper and field item
|
|
75
74
|
fieldsWrapper={{ className: "space-y-4" }} field={{ className: "space-y-2" }}
|
|
76
|
-
// Label + inputs
|
|
75
|
+
// Label + inputs
|
|
77
76
|
label={{
|
|
78
77
|
className: "text-card-foreground text-sm font-medium font-poppins block",
|
|
79
78
|
}} input={{
|
|
@@ -81,7 +80,7 @@ export function Contact() {
|
|
|
81
80
|
}} textarea={{
|
|
82
81
|
className: "w-full p-3 rounded-md resize-vertical min-h-[120px] font-inter border-[var(--input-border)] bg-[var(--input-bg)] text-[var(--input-fg)] placeholder:text-[var(--input-placeholder)] focus-visible:ring-2 focus-visible:ring-[var(--input-focus-ring)] focus-visible:ring-offset-[var(--input-ring-offset)]",
|
|
83
82
|
}}
|
|
84
|
-
// Submit button (
|
|
83
|
+
// Submit button (split between wrapper/style/text)
|
|
85
84
|
submitButtonWrapper={{ className: "pt-2" }} submitButtonStyle={{
|
|
86
85
|
variant: "default",
|
|
87
86
|
size: "lg",
|
|
@@ -31,7 +31,7 @@ const agencyNavLinks = [
|
|
|
31
31
|
},
|
|
32
32
|
];
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Preset Footer for the Digital Agency template
|
|
35
35
|
* - Uses the shared Footer slot API
|
|
36
36
|
* - Keeps brand distinct, flush-left; aligns top with nav headers
|
|
37
37
|
*/
|
|
@@ -3,7 +3,7 @@ import React from "react";
|
|
|
3
3
|
import { HeroSplit } from "@nextworks/blocks-sections";
|
|
4
4
|
import { NetworkPattern } from "../components/NetworkPattern";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Hero preset for the digital agency template,
|
|
7
7
|
* wired to the shared HeroSplit with slots + cn API.
|
|
8
8
|
*/
|
|
9
9
|
export function Hero() {
|
|
@@ -3,10 +3,9 @@ import { Navbar as SharedNavbar } from "@nextworks/blocks-sections";
|
|
|
3
3
|
/**
|
|
4
4
|
* Digital Agency preset Navbar (Nexus Digital)
|
|
5
5
|
*
|
|
6
|
-
* - Preserves original branding, colors, and blur effect
|
|
7
6
|
* - No CTA button (ctaButton = null)
|
|
8
7
|
* - Fuchsia hover/focus accents for links and toggles
|
|
9
|
-
* - Exposes the
|
|
8
|
+
* - Exposes the Shared Navbar API via shallow-merge overrides
|
|
10
9
|
*
|
|
11
10
|
* Example overrides:
|
|
12
11
|
* <Navbar
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../../src/templates/digitalagency/components/Navbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGpE
|
|
1
|
+
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../../src/templates/digitalagency/components/Navbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGpE;;;;;;;;;;;;GAYG;AACH,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,KAAK,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AA2FlD,wBAAgB,MAAM,CAAC,SAAS,GAAE,eAAoB,+BAOrD"}
|
|
@@ -18,7 +18,7 @@ const defaultProps = {
|
|
|
18
18
|
ariaLabel: "Nexus Digital main navigation",
|
|
19
19
|
// Allow page-level layout overrides if needed
|
|
20
20
|
className: "",
|
|
21
|
-
// Style slots
|
|
21
|
+
// Style slots
|
|
22
22
|
nav: {
|
|
23
23
|
className: "bg-white/80 dark:bg-gray-900/80 backdrop-blur border-b border-gray-200 dark:border-gray-800 " +
|
|
24
24
|
"text-gray-800 dark:text-white " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkPattern.d.ts","sourceRoot":"","sources":["../../../../src/templates/digitalagency/components/NetworkPattern.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B
|
|
1
|
+
{"version":3,"file":"NetworkPattern.d.ts","sourceRoot":"","sources":["../../../../src/templates/digitalagency/components/NetworkPattern.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EA8RlC,CAAC"}
|
|
@@ -3,12 +3,9 @@ import React from "react";
|
|
|
3
3
|
/**
|
|
4
4
|
* NetworkPattern
|
|
5
5
|
* Tailwind-based animated network background for hero fallbacks.
|
|
6
|
-
* Lightweight and dependency-free (no Chakra).
|
|
7
6
|
*/
|
|
8
7
|
export const NetworkPattern = () => {
|
|
9
|
-
return (
|
|
10
|
-
// <div className="relative h-full w-full">
|
|
11
|
-
<div className="relative h-full w-full overflow-hidden">
|
|
8
|
+
return (<div className="relative h-full w-full overflow-hidden">
|
|
12
9
|
{/* Ambient gradient blobs behind the network */}
|
|
13
10
|
<div className="pointer-events-none absolute inset-0 -z-10 overflow-hidden">
|
|
14
11
|
<div className="absolute -top-16 -left-16 h-72 w-72 rounded-full bg-blue-500/25 blur-3xl"/>
|
|
@@ -78,7 +78,7 @@ const defaultFilters = [
|
|
|
78
78
|
"Local Marketing",
|
|
79
79
|
"Mobile Marketing",
|
|
80
80
|
];
|
|
81
|
-
//
|
|
81
|
+
// Portfolio Preset Component
|
|
82
82
|
export function Portfolio() {
|
|
83
83
|
return (<section id="portfolio">
|
|
84
84
|
<PortfolioSimple enableMotion={true} projects={defaultProjects} filters={defaultFilters} sectionTitle="Our Portfolio" sectionSubtitle="Discover our successful projects that have transformed businesses across various industries with innovative digital solutions." ctaTitle="Ready to Start Your Project?" ctaDescription="Let's work together to create something amazing that drives real results for your business." section={{
|
|
@@ -7,8 +7,8 @@ type Props = React.PropsWithChildren<{
|
|
|
7
7
|
*
|
|
8
8
|
* Maps component-level CSS variables (btn, input, card, etc.) to the
|
|
9
9
|
* EnhancedThemeProvider token variables applied on :root (e.g., --primary,
|
|
10
|
-
* --foreground, --card, --ring).
|
|
11
|
-
*
|
|
10
|
+
* --foreground, --card, --ring).
|
|
11
|
+
* Colors are driven by the selected Color Theme, not a fixed preset palette.
|
|
12
12
|
*/
|
|
13
13
|
export declare function PresetThemeVars({ className, children }: Props): React.JSX.Element;
|
|
14
14
|
export {};
|
|
@@ -5,8 +5,8 @@ import { cn } from "@nextworks/blocks-core";
|
|
|
5
5
|
*
|
|
6
6
|
* Maps component-level CSS variables (btn, input, card, etc.) to the
|
|
7
7
|
* EnhancedThemeProvider token variables applied on :root (e.g., --primary,
|
|
8
|
-
* --foreground, --card, --ring).
|
|
9
|
-
*
|
|
8
|
+
* --foreground, --card, --ring).
|
|
9
|
+
* Colors are driven by the selected Color Theme, not a fixed preset palette.
|
|
10
10
|
*/
|
|
11
11
|
export function PresetThemeVars({ className, children }) {
|
|
12
12
|
return (<div className={cn(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/templates/gallery/page.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/templates/gallery/page.tsx"],"names":[],"mappings":"AA2BA,MAAM,CAAC,OAAO,UAAU,OAAO,gCAqR9B"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// - /app/templates/gallery/page.tsx
|
|
2
1
|
"use client";
|
|
3
2
|
import { About, Contact, CTA, FAQ, Features, Footer, HeroMotion, HeroOverlay, HeroSplit, Navbar, Newsletter, PortfolioSimple, Pricing, ProcessTimeline, ServicesGrid, Team, Testimonials, TrustBadges, } from "@nextworks/blocks-sections";
|
|
4
3
|
import { ThemeSelector } from "@nextworks/blocks-core";
|
|
@@ -166,7 +165,7 @@ export default function Gallery() {
|
|
|
166
165
|
"text-[var(--primary-foreground)] p-5 cursor-pointer rounded-lg " +
|
|
167
166
|
"transition-all duration-200 flex items-center justify-between " +
|
|
168
167
|
"shadow-lg hover:shadow-xl hover:-translate-y-0.5 " +
|
|
169
|
-
//
|
|
168
|
+
// Define ring/border vars and ensure a visible border if tokens apply
|
|
170
169
|
"[--btn-ring:var(--ring)] [--btn-border:var(--primary)] border [&:where(button)]:border",
|
|
171
170
|
}} answer={{
|
|
172
171
|
className: "bg-gradient-to-r " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"About.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/About.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;;;;GAWG;AAEH,wBAAgB,KAAK,
|
|
1
|
+
{"version":3,"file":"About.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/About.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;;;;GAWG;AAEH,wBAAgB,KAAK,sBAkEpB"}
|
|
@@ -30,12 +30,10 @@ export function About() {
|
|
|
30
30
|
}} container={{
|
|
31
31
|
className: "max-w-7xl mx-auto px-6",
|
|
32
32
|
}} inner={{
|
|
33
|
-
// New slot styled for this preset
|
|
34
33
|
className: "flex flex-col gap-12",
|
|
35
34
|
}} contentContainer={{
|
|
36
35
|
className: "max-w-4xl mx-auto",
|
|
37
36
|
}} contentStack={{
|
|
38
|
-
// New slot styled for this preset
|
|
39
37
|
className: "flex flex-col gap-6",
|
|
40
38
|
}} subheading={{
|
|
41
39
|
className: "text-sm font-semibold text-purple-600 dark:text-purple-400 uppercase tracking-wider font-inter",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contact.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Contact.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Contact.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Contact.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAwD1B,wBAAgB,OAAO,sBAiEtB"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Now uses the new shared FAQ_new.tsx API while preserving
|
|
4
|
-
* the original styling, content, and accessibility semantics.
|
|
2
|
+
* Preset FAQ component for the product launch page.
|
|
5
3
|
*/
|
|
6
4
|
export declare function FAQ(): import("react").JSX.Element;
|
|
7
5
|
//# sourceMappingURL=FAQ.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FAQ.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/FAQ.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FAQ.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/FAQ.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,GAAG,gCA2ElB"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { FAQ as SharedFAQ } from "@nextworks/blocks-sections";
|
|
3
3
|
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
4
|
-
// - org. jsdoc in the bck folder
|
|
5
4
|
/**
|
|
6
|
-
*
|
|
7
|
-
* Now uses the new shared FAQ_new.tsx API while preserving
|
|
8
|
-
* the original styling, content, and accessibility semantics.
|
|
5
|
+
* Preset FAQ component for the product launch page.
|
|
9
6
|
*/
|
|
10
7
|
export function FAQ() {
|
|
11
8
|
return (<SharedFAQ faqSectionHeaderText="Frequently Asked Questions" faqData={[
|
|
@@ -44,14 +41,9 @@ export function FAQ() {
|
|
|
44
41
|
}} item={{
|
|
45
42
|
className: "mb-6 w-full",
|
|
46
43
|
}} questionButton={{
|
|
47
|
-
className:
|
|
48
|
-
// "bg-gradient-to-r from-purple-600 to-purple-700 hover:from-purple-700 hover:to-purple-800 text-white p-5 cursor-pointer rounded-lg transition-all duration-200 flex items-center justify-between shadow-lg hover:shadow-xl hover:shadow-purple-500/30 hover:-translate-y-0.5 font-inter ",
|
|
49
|
-
// your existing classes...
|
|
50
|
-
"bg-gradient-to-r from-purple-600 to-purple-700 hover:from-purple-700 hover:to-purple-800 text-white p-5 cursor-pointer rounded-lg transition-all duration-200 flex items-center justify-between shadow-lg hover:shadow-xl hover:shadow-purple-500/30 hover:-translate-y-0.5 font-inter " +
|
|
51
|
-
// define the ring and border CSS vars you want
|
|
44
|
+
className: "bg-gradient-to-r from-purple-600 to-purple-700 hover:from-purple-700 hover:to-purple-800 text-white p-5 cursor-pointer rounded-lg transition-all duration-200 flex items-center justify-between shadow-lg hover:shadow-xl hover:shadow-purple-500/30 hover:-translate-y-0.5 font-inter " +
|
|
52
45
|
"[--btn-ring:theme(colors.purple.500)] dark:[--btn-ring:theme(colors.purple.400)] " +
|
|
53
46
|
"[--btn-border:theme(colors.purple.500)] dark:[--btn-border:theme(colors.purple.400)] " +
|
|
54
|
-
// ensure mouse focus uses your ring color too
|
|
55
47
|
"focus:ring-[var(--btn-ring)]",
|
|
56
48
|
}}
|
|
57
49
|
// No extra styles for the question text; inherits from button
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Product Launch preset for Features, wired to the
|
|
3
|
-
* using the slots + cn API. Keeps content and styles consistent with the template.
|
|
2
|
+
* Product Launch preset for Features, wired to the shared Features component.
|
|
4
3
|
*/
|
|
5
4
|
export declare function Features(): import("react").JSX.Element;
|
|
6
5
|
//# sourceMappingURL=Features.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Features.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Features.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"Features.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Features.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,QAAQ,gCA2EvB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Features as SharedFeatures } from "@nextworks/blocks-sections";
|
|
3
3
|
/**
|
|
4
|
-
* Product Launch preset for Features, wired to the
|
|
5
|
-
* using the slots + cn API. Keeps content and styles consistent with the template.
|
|
4
|
+
* Product Launch preset for Features, wired to the shared Features component.
|
|
6
5
|
*/
|
|
7
6
|
export function Features() {
|
|
8
7
|
const featuresData = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Preset Footer for the Product Launch template wired to the shared Footer
|
|
3
3
|
*/
|
|
4
4
|
export declare function Footer(): import("react").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=Footer.d.ts.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Footer as SharedFooter } from "@nextworks/blocks-sections";
|
|
3
3
|
import { Twitter, Linkedin, Github, Youtube, Mail } from "lucide-react";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Preset Footer for the Product Launch template wired to the shared Footer
|
|
6
6
|
*/
|
|
7
7
|
export function Footer() {
|
|
8
8
|
return (<SharedFooter id="footer" footerBrandName="IntelliOpAI" footerNavLinks={[
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Product Launch preset for Hero, wired to the
|
|
3
|
-
* using the slots + cn API.
|
|
2
|
+
* Product Launch preset for Hero, wired to the shared HeroSplit component.
|
|
4
3
|
*/
|
|
5
4
|
export declare function Hero(): import("react").JSX.Element;
|
|
6
5
|
//# sourceMappingURL=Hero.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Hero.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../../../src/templates/productlaunch/components/Hero.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,IAAI,gCAgFnB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { HeroSplit as SharedHeroSplit } from "@nextworks/blocks-sections";
|
|
3
3
|
/**
|
|
4
|
-
* Product Launch preset for Hero, wired to the
|
|
5
|
-
* using the slots + cn API.
|
|
4
|
+
* Product Launch preset for Hero, wired to the shared HeroSplit component.
|
|
6
5
|
*/
|
|
7
6
|
export function Hero() {
|
|
8
7
|
return (<SharedHeroSplit heading={{
|
|
@@ -33,22 +32,22 @@ export function Hero() {
|
|
|
33
32
|
className: [
|
|
34
33
|
// layout/typography/shadow/transitions
|
|
35
34
|
"text-base font-semibold shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
|
|
36
|
-
//
|
|
35
|
+
// Base colors (ensure outline has transparent bg instead of token background)
|
|
37
36
|
"[--btn-bg:transparent]",
|
|
38
37
|
// CSS variable overrides to control colors while keeping the outline variant structure
|
|
39
38
|
"[--btn-fg:theme(colors.purple.600)]",
|
|
40
39
|
"[--btn-border:theme(colors.purple.600)]",
|
|
41
40
|
"hover:[--btn-hover-bg:theme(colors.purple.50)]",
|
|
42
41
|
"hover:[--btn-hover-fg:theme(colors.purple.600)]",
|
|
43
|
-
//
|
|
42
|
+
// Dark mode
|
|
44
43
|
"dark:[--btn-bg:transparent]",
|
|
45
44
|
"dark:[--btn-fg:theme(colors.purple.500)]",
|
|
46
45
|
"dark:[--btn-border:theme(colors.purple.500)]",
|
|
47
46
|
"dark:hover:[--btn-hover-bg:theme(colors.purple.950)]",
|
|
48
47
|
"dark:hover:[--btn-hover-fg:theme(colors.purple.500)]",
|
|
49
|
-
//
|
|
48
|
+
// Ensure hover text stays the intended color in light mode
|
|
50
49
|
"hover:[--btn-hover-fg:theme(colors.purple.600)]",
|
|
51
|
-
//
|
|
50
|
+
// Ensure a border width is present for the outline variant override cases
|
|
52
51
|
"border",
|
|
53
52
|
].join(" "),
|
|
54
53
|
}} image={{
|
|
@@ -9,7 +9,7 @@ import { Navbar as SharedNavbar } from "@nextworks/blocks-sections";
|
|
|
9
9
|
* - Purple hover states for links and theme toggle
|
|
10
10
|
* - Clean white background with dark mode support
|
|
11
11
|
*
|
|
12
|
-
* This preset exposes the Shared Navbar API so
|
|
12
|
+
* This preset exposes the Shared Navbar API so any prop/slot can be overridden:
|
|
13
13
|
*
|
|
14
14
|
* Example:
|
|
15
15
|
* <Navbar
|
|
@@ -1,81 +1,85 @@
|
|
|
1
|
-
// app/templates/productlaunch/components/Navbar.tsx
|
|
2
1
|
"use client";
|
|
3
2
|
import { Navbar as SharedNavbar } from "@nextworks/blocks-sections";
|
|
4
3
|
const defaultProps = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
4
|
+
brand: "IntelliOpAI",
|
|
5
|
+
menuItems: [
|
|
6
|
+
{ label: "Home", href: "#home" },
|
|
7
|
+
{ label: "Features", href: "#features" },
|
|
8
|
+
{ label: "Pricing", href: "#pricing" },
|
|
9
|
+
{ label: "FAQ", href: "#faq" },
|
|
10
|
+
{ label: "Contact", href: "#contact" },
|
|
11
|
+
],
|
|
12
|
+
ctaButton: null,
|
|
13
|
+
showColorModeToggle: true,
|
|
14
|
+
navHeight: "h-16",
|
|
15
|
+
sticky: true,
|
|
16
|
+
ariaLabel: "IntelliOpAI main navigation",
|
|
17
|
+
// Top-level className is left empty so page-level overrides can add layout constraints if needed.
|
|
18
|
+
className: "",
|
|
19
|
+
// Style slots tuned for the purple theme
|
|
20
|
+
nav: {
|
|
21
|
+
className:
|
|
22
|
+
"bg-white dark:bg-gray-900 text-gray-800 dark:text-white border-b border-gray-200 dark:border-gray-800 " +
|
|
23
|
+
// Accent variables for this preset (read by toggle, links, mobile links)
|
|
24
|
+
"[--navbar-accent:theme(colors.purple.600)] dark:[--navbar-accent:theme(colors.purple.400)] " +
|
|
25
|
+
"[--navbar-toggle-bg:theme(colors.white)] dark:[--navbar-toggle-bg:theme(colors.gray.900)] " +
|
|
26
|
+
"[--navbar-hover-bg:theme(colors.purple.50)] dark:[--navbar-hover-bg:color-mix(in oklab,oklch(0.17 0.05 324) 20%, transparent)] " +
|
|
27
|
+
"[--navbar-ring:theme(colors.purple.500)] dark:[--navbar-ring:theme(colors.purple.400)] " +
|
|
28
|
+
"[--navbar-border:theme(colors.gray.200)] dark:[--navbar-border:theme(colors.gray.800)]",
|
|
29
|
+
},
|
|
30
|
+
brandText: {
|
|
31
|
+
className:
|
|
32
|
+
"text-xl md:text-2xl font-bold font-outfit text-purple-700 dark:text-purple-500",
|
|
33
|
+
},
|
|
34
|
+
links: {
|
|
35
|
+
className:
|
|
36
|
+
"text-sm font-medium font-inter text-gray-800 dark:text-white hover:text-purple-700 dark:hover:text-purple-500 " +
|
|
37
|
+
"focus:ring-[var(--navbar-ring)]",
|
|
38
|
+
},
|
|
39
|
+
// Preset keeps CTA hidden; if you enable it, these defaults give a subtle lift effect
|
|
40
|
+
ctaButtonStyle: {
|
|
41
|
+
variant: "default",
|
|
42
|
+
size: "default",
|
|
43
|
+
className:
|
|
44
|
+
"shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5",
|
|
45
|
+
},
|
|
46
|
+
mobileMenu: {
|
|
47
|
+
className: "border-t border-gray-200 dark:border-gray-800",
|
|
48
|
+
},
|
|
49
|
+
container: {
|
|
50
|
+
className: "max-w-7xl mx-auto",
|
|
51
|
+
},
|
|
52
|
+
brandWrapper: {
|
|
53
|
+
className: "", // Base layout is provided by SharedNavbar; override here if needed
|
|
54
|
+
},
|
|
55
|
+
desktopMenu: {
|
|
56
|
+
className: "hidden items-center space-x-1 md:flex lg:space-x-6",
|
|
57
|
+
},
|
|
58
|
+
toggleButton: {
|
|
59
|
+
className:
|
|
60
|
+
"md:hidden flex items-center justify-center rounded-md p-2 transition-colors " +
|
|
61
|
+
"hover:bg-purple-50 dark:hover:bg-purple-900/20 " +
|
|
62
|
+
"focus:outline-none focus:ring-2 focus:ring-purple-500 dark:focus:ring-purple-400",
|
|
63
|
+
},
|
|
64
|
+
colorModeWrapper: {
|
|
65
|
+
className: "ml-2",
|
|
66
|
+
},
|
|
67
|
+
// With variables above, ThemeToggle can rely on them; explicit override optional
|
|
68
|
+
// themeToggle: { ... }
|
|
69
|
+
ctaButtonWrapper: {
|
|
70
|
+
className: "ml-2",
|
|
71
|
+
},
|
|
72
|
+
mobileMenuInner: {
|
|
73
|
+
className: "space-y-2 px-4 pt-2 pb-4",
|
|
74
|
+
},
|
|
75
|
+
// Mobile links will read --navbar-hover-bg; explicit class optional
|
|
76
|
+
mobileLinks: {
|
|
77
|
+
className: "hover:bg-[var(--navbar-hover-bg)]",
|
|
78
|
+
},
|
|
75
79
|
};
|
|
76
80
|
export function Navbar(overrides = {}) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
// Shallow-merge: passing a style-slot object (e.g., links, nav, etc.)
|
|
82
|
+
// replaces the default for that slot. This keeps the API simple and predictable.
|
|
83
|
+
const props = Object.assign(Object.assign({}, defaultProps), overrides);
|
|
84
|
+
return <SharedNavbar {...props} />;
|
|
81
85
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Product Launch preset for Pricing wired to the
|
|
2
|
+
* Product Launch preset for Pricing wired to the shared Pricing component
|
|
3
3
|
*/
|
|
4
4
|
export declare function Pricing(): import("react").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=Pricing.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Pricing as SharedPricing } from "@nextworks/blocks-sections";
|
|
3
3
|
/**
|
|
4
|
-
* Product Launch preset for Pricing wired to the
|
|
4
|
+
* Product Launch preset for Pricing wired to the shared Pricing component
|
|
5
5
|
*/
|
|
6
6
|
export function Pricing() {
|
|
7
7
|
return (<SharedPricing id="pricing" pricingHeadingText="Choose Your AI Plan" pricingPlans={[
|