@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Product Launch preset for ProcessTimeline wired to the
|
|
2
|
+
* Product Launch preset for ProcessTimeline wired to the shared ProcessTimeline component
|
|
3
3
|
*/
|
|
4
4
|
export declare function ProcessTimeline(): import("react").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=ProcessTimeline.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { ProcessTimeline as SharedProcessTimeline } from "@nextworks/blocks-sections";
|
|
3
3
|
/**
|
|
4
|
-
* Product Launch preset for ProcessTimeline wired to the
|
|
4
|
+
* Product Launch preset for ProcessTimeline wired to the shared ProcessTimeline component
|
|
5
5
|
*/
|
|
6
6
|
export function ProcessTimeline() {
|
|
7
7
|
const steps = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Product Launch preset for ServicesGrid wired to the
|
|
2
|
+
* Product Launch preset for ServicesGrid wired to the shared ServicesGrid component
|
|
3
3
|
*/
|
|
4
4
|
export declare function ServicesGrid(): import("react").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=ServicesGrid.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { ServicesGrid as SharedServicesGrid } from "@nextworks/blocks-sections";
|
|
3
3
|
/**
|
|
4
|
-
* Product Launch preset for ServicesGrid wired to the
|
|
4
|
+
* Product Launch preset for ServicesGrid wired to the shared ServicesGrid component
|
|
5
5
|
*/
|
|
6
6
|
export function ServicesGrid() {
|
|
7
7
|
const servicesData = [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Team as SharedTeam } from "@nextworks/blocks-sections";
|
|
3
3
|
/**
|
|
4
|
-
* Product Launch preset for Team wired to the
|
|
4
|
+
* Product Launch preset for Team wired to the shared Team component
|
|
5
5
|
*/
|
|
6
6
|
export function Team() {
|
|
7
7
|
const teamMembers = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Product Launch preset for Testimonials wired to the
|
|
2
|
+
* Product Launch preset for Testimonials wired to the shared Testimonials component
|
|
3
3
|
*/
|
|
4
4
|
export declare function Testimonials(): import("react").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=Testimonials.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Testimonials as SharedTestimonials } from "@nextworks/blocks-sections";
|
|
3
3
|
/**
|
|
4
|
-
* Product Launch preset for Testimonials wired to the
|
|
4
|
+
* Product Launch preset for Testimonials wired to the shared Testimonials component
|
|
5
5
|
*/
|
|
6
6
|
export function Testimonials() {
|
|
7
7
|
const testimonials = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Product Launch preset for TrustBadges wired to the
|
|
2
|
+
* Product Launch preset for TrustBadges wired to the shared TrustBadges component
|
|
3
3
|
*/
|
|
4
4
|
export declare function TrustBadges(): import("react").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=TrustBadges.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { TrustBadges as SharedTrustBadges } from "@nextworks/blocks-sections";
|
|
3
3
|
/**
|
|
4
|
-
* Product Launch preset for TrustBadges wired to the
|
|
4
|
+
* Product Launch preset for TrustBadges wired to the shared TrustBadges component
|
|
5
5
|
*/
|
|
6
6
|
export function TrustBadges() {
|
|
7
7
|
const badges = [
|
|
@@ -63,8 +63,8 @@ function DashboardMockup({ stats, projects, activeTab, navItems, }) {
|
|
|
63
63
|
const rect = e.currentTarget.getBoundingClientRect();
|
|
64
64
|
const x = e.clientX - rect.left;
|
|
65
65
|
const y = e.clientY - rect.top;
|
|
66
|
-
const rx = (y / rect.height - 0.5) * -6;
|
|
67
|
-
const ry = (x / rect.width - 0.5) * 6;
|
|
66
|
+
const rx = (y / rect.height - 0.5) * -6;
|
|
67
|
+
const ry = (x / rect.width - 0.5) * 6;
|
|
68
68
|
targetTilt.current = { rx, ry };
|
|
69
69
|
if (rafId.current == null)
|
|
70
70
|
rafId.current = requestAnimationFrame(animate);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Hero.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Hero.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,IAAI,gCAiFnB"}
|
|
@@ -58,7 +58,6 @@ export function Hero() {
|
|
|
58
58
|
</div>
|
|
59
59
|
</div>} imageContainer={{
|
|
60
60
|
className: "pl-0 relative self-start md:self-start md:flex-none md:shrink-0 w-full h-[24rem] sm:h-[32rem] md:h-[34rem] lg:h-[33rem] md:w-1/2 mb-0 md:mb-0 lg:mb-0 opacity-100",
|
|
61
|
-
// "relative self-start md:self-start md:flex-none md:shrink-0 w-full h-[24rem] sm:h-[26rem] md:h-[28rem] md:w-1/2 mb-6 md:mb-0",
|
|
62
61
|
}} textContainer={{ className: "flex-1 p-5 lg:p-8" }} buttonsContainer={{
|
|
63
62
|
className: [
|
|
64
63
|
"flex flex-col sm:flex-row gap-4 mt-8 justify-center lg:justify-start",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hero_mask.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Hero_mask.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,wBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"Hero_mask.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Hero_mask.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,wBAAgB,IAAI,sBAsGnB"}
|
|
@@ -76,7 +76,6 @@ export function Hero() {
|
|
|
76
76
|
</div>
|
|
77
77
|
</div>} imageContainer={{
|
|
78
78
|
className: "relative self-start md:self-start md:flex-none md:shrink-0 w-full h-[24rem] sm:h-[26rem] md:h-[31rem] md:w-1/2 mb-6 md:mb-0",
|
|
79
|
-
// "relative self-start md:self-start md:flex-none md:shrink-0 w-full h-[24rem] sm:h-[26rem] md:h-[28rem] md:w-1/2 mb-6 md:mb-0",
|
|
80
79
|
}} textContainer={{ className: "flex-1 p-5 lg:p-8" }} buttonsContainer={{
|
|
81
80
|
className: "flex flex-col sm:flex-row gap-4 mt-8 justify-center lg:justify-start",
|
|
82
81
|
}} textAlign="center" ariaLabel="DashFlow hero section"/>
|
|
@@ -9,7 +9,7 @@ import { Navbar as SharedNavbar } from "@nextworks/blocks-sections";
|
|
|
9
9
|
* - Blue hover states for links and theme toggle
|
|
10
10
|
* - Glassy background with backdrop blur (light/dark)
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Navbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,KAAK,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Navbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,KAAK,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAqFlD,wBAAgB,MAAM,CAAC,SAAS,GAAE,eAAoB,+BAQrD"}
|
|
@@ -42,7 +42,6 @@ const defaultProps = {
|
|
|
42
42
|
size: "default",
|
|
43
43
|
className: "shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5",
|
|
44
44
|
},
|
|
45
|
-
// Additional slots that weren't styled before, now aligned to the theme
|
|
46
45
|
mobileMenu: {
|
|
47
46
|
className: "border-t border-gray-200/80 dark:border-gray-800/80",
|
|
48
47
|
},
|
|
@@ -78,7 +77,7 @@ const defaultProps = {
|
|
|
78
77
|
};
|
|
79
78
|
export function Navbar(overrides = {}) {
|
|
80
79
|
// Shallow-merge: passing a style-slot object (e.g., links, nav, etc.)
|
|
81
|
-
// replaces the default for that slot.
|
|
80
|
+
// replaces the default for that slot.
|
|
82
81
|
const props = Object.assign(Object.assign({}, defaultProps), overrides);
|
|
83
82
|
return <SharedNavbar {...props}/>;
|
|
84
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmoothScroll.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/SmoothScroll.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"SmoothScroll.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/SmoothScroll.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,SA0F3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useEffect } from "react";
|
|
3
|
-
// Smoothly scrolls to
|
|
3
|
+
// Smoothly scrolls to section links with a faster duration
|
|
4
4
|
export function SmoothScroll() {
|
|
5
5
|
useEffect(() => {
|
|
6
6
|
let suppressClick = false;
|
|
@@ -8,13 +8,12 @@ export function SmoothScroll() {
|
|
|
8
8
|
const el = document.querySelector(href);
|
|
9
9
|
if (!el)
|
|
10
10
|
return;
|
|
11
|
-
const navbarOffsetPx = 64;
|
|
11
|
+
const navbarOffsetPx = 64;
|
|
12
12
|
const start = window.scrollY;
|
|
13
13
|
const targetTop = el.getBoundingClientRect().top + window.scrollY - navbarOffsetPx;
|
|
14
14
|
const distance = targetTop - start;
|
|
15
|
-
const duration = 300;
|
|
15
|
+
const duration = 300;
|
|
16
16
|
const startTime = performance.now();
|
|
17
|
-
// iOS-like easing
|
|
18
17
|
const easeOutQuart = (t) => 1 - Math.pow(1 - t, 4);
|
|
19
18
|
const step = (now) => {
|
|
20
19
|
const elapsed = now - startTime;
|
package/package.json
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@nextworks/blocks-templates",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"private": false,
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"files": [
|
|
8
|
-
"dist",
|
|
9
|
-
"package.json",
|
|
10
|
-
"README.md"
|
|
11
|
-
],
|
|
12
|
-
"repository": "github:jblh/nextworks-cli",
|
|
13
|
-
"bugs": "https://github.com/jblh/nextworks-cli/issues",
|
|
14
|
-
"homepage": "https://github.com/jblh/nextworks-cli#readme",
|
|
15
|
-
"scripts": {
|
|
16
|
-
"build": "npx tsc -p tsconfig.json"
|
|
17
|
-
},
|
|
18
|
-
"dependencies": {
|
|
19
|
-
"@nextworks/blocks-core": "0.
|
|
20
|
-
"@nextworks/blocks-sections": "0.
|
|
21
|
-
"lucide-react": "^0.542.0"
|
|
22
|
-
},
|
|
23
|
-
"devDependencies": {
|
|
24
|
-
"typescript": "^5.9.3",
|
|
25
|
-
"@types/node": "^20",
|
|
26
|
-
"@types/react": "^19",
|
|
27
|
-
"@types/react-dom": "^19"
|
|
28
|
-
},
|
|
29
|
-
"peerDependencies": {
|
|
30
|
-
"react": "^19.0.0",
|
|
31
|
-
"react-dom": "^19.0.0",
|
|
32
|
-
"next": "^15.0.0 || ^16.0.0"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@nextworks/blocks-templates",
|
|
3
|
+
"version": "0.2.0-alpha.10",
|
|
4
|
+
"private": false,
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"package.json",
|
|
10
|
+
"README.md"
|
|
11
|
+
],
|
|
12
|
+
"repository": "github:jblh/nextworks-cli",
|
|
13
|
+
"bugs": "https://github.com/jblh/nextworks-cli/issues",
|
|
14
|
+
"homepage": "https://github.com/jblh/nextworks-cli#readme",
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "npx tsc -p tsconfig.json"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@nextworks/blocks-core": "0.2.0-alpha.10",
|
|
20
|
+
"@nextworks/blocks-sections": "0.2.0-alpha.10",
|
|
21
|
+
"lucide-react": "^0.542.0"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"typescript": "^5.9.3",
|
|
25
|
+
"@types/node": "^20",
|
|
26
|
+
"@types/react": "^19",
|
|
27
|
+
"@types/react-dom": "^19"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"react": "^19.0.0",
|
|
31
|
+
"react-dom": "^19.0.0",
|
|
32
|
+
"next": "^15.0.0 || ^16.0.0"
|
|
33
|
+
}
|
|
34
|
+
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * as ProductLaunch from "./templates/productlaunch/Page";
|
|
2
|
-
export * as SaaSDashboard from "./templates/saasdashboard/Page";
|
|
3
|
-
export * as DigitalAgency from "./templates/digitalagency/Page";
|
|
4
|
-
export * as GalleryTemplate from "./templates/gallery/page";
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Navbar } from "./components/Navbar";
|
|
4
|
-
import { Hero } from "./components/Hero";
|
|
5
|
-
import { Services } from "./components/Services";
|
|
6
|
-
import { Testimonials } from "./components/Testimonials";
|
|
7
|
-
import { Process } from "./components/Process";
|
|
8
|
-
import { Portfolio } from "./components/Portfolio";
|
|
9
|
-
import { About } from "./components/About";
|
|
10
|
-
import { Team } from "./components/Team";
|
|
11
|
-
import { Pricing } from "./components/Pricing";
|
|
12
|
-
import { CTA } from "./components/CTA";
|
|
13
|
-
import { Contact } from "./components/Contact";
|
|
14
|
-
import { Footer } from "./components/Footer";
|
|
15
|
-
import { PresetThemeVars } from "./PresetThemeVars";
|
|
16
|
-
export function DigitalAgency() {
|
|
17
|
-
return (_jsx(PresetThemeVars, { children: _jsxs("main", { children: [_jsx(Navbar, {}), _jsx(Hero, {}), _jsx(Services, {}), _jsx(Portfolio, {}), _jsx(Testimonials, {}), _jsx(Process, {}), _jsx(About, {}), _jsx(Team, {}), _jsx(Pricing, {}), _jsx(CTA, {}), _jsx(Contact, {}), _jsx(Footer, {})] }) }));
|
|
18
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
type Props = React.PropsWithChildren<{
|
|
3
|
-
className?: string;
|
|
4
|
-
}>;
|
|
5
|
-
/**
|
|
6
|
-
* DigitalAgency template theme variables wrapper.
|
|
7
|
-
* Emerald-leaning palette; adjust to match your preset exactly.
|
|
8
|
-
*/
|
|
9
|
-
export declare function PresetThemeVars({ className, children }: Props): React.JSX.Element;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=PresetThemeVars.d.ts.map
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "@nextworks/blocks-core";
|
|
3
|
-
/**
|
|
4
|
-
* DigitalAgency template theme variables wrapper.
|
|
5
|
-
* Emerald-leaning palette; adjust to match your preset exactly.
|
|
6
|
-
*/
|
|
7
|
-
export function PresetThemeVars({ className, children }) {
|
|
8
|
-
return (_jsx("div", { className: cn(
|
|
9
|
-
// Shared button ring
|
|
10
|
-
"[--btn-ring:theme(colors.emerald.500)] dark:[--btn-ring:theme(colors.emerald.400)]",
|
|
11
|
-
// Inputs
|
|
12
|
-
"[--input-bg:theme(colors.white)] dark:[--input-bg:theme(colors.gray.900)]", "[--input-fg:theme(colors.gray.900)] dark:[--input-fg:theme(colors.gray.100)]", "[--input-placeholder:theme(colors.gray.400)] dark:[--input-placeholder:theme(colors.gray.500)]", "[--input-border:theme(colors.emerald.200)] dark:[--input-border:theme(colors.emerald.700)]", "[--input-focus-ring:theme(colors.emerald.500)] dark:[--input-focus-ring:theme(colors.emerald.400)]", "[--input-ring-offset:theme(colors.white)] dark:[--input-ring-offset:theme(colors.gray.900)]",
|
|
13
|
-
// Cards
|
|
14
|
-
"[--card-bg:theme(colors.white)] dark:[--card-bg:theme(colors.gray.900)]", "[--card-fg:theme(colors.gray.900)] dark:[--card-fg:theme(colors.gray.100)]", "[--card-title-fg:theme(colors.gray.900)] dark:[--card-title-fg:theme(colors.gray.100)]", "[--card-muted-fg:theme(colors.gray.500)] dark:[--card-muted-fg:theme(colors.gray.400)]", "[--card-border:theme(colors.gray.200)] dark:[--card-border:theme(colors.gray.800)]", "[--card-shadow:0_6px_20px_rgba(0,0,0,0.06)]",
|
|
15
|
-
// Badges/Chips
|
|
16
|
-
"[--badge-bg:theme(colors.emerald.50)] dark:[--badge-bg:theme(colors.emerald.950)]", "[--badge-fg:theme(colors.emerald.700)] dark:[--badge-fg:theme(colors.emerald.300)]", "[--badge-border:theme(colors.emerald.200)] dark:[--badge-border:theme(colors.emerald.800)]", "[--badge-active-bg:theme(colors.emerald.600)] dark:[--badge-active-bg:theme(colors.emerald.500)]", "[--badge-active-fg:theme(colors.white)] dark:[--badge-active-fg:theme(colors.white)]", "[--badge-active-border:theme(colors.emerald.700)] dark:[--badge-active-border:theme(colors.emerald.400)]",
|
|
17
|
-
// Headings/Subheadings
|
|
18
|
-
"[--heading-fg:theme(colors.gray.900)] dark:[--heading-fg:theme(colors.gray.100)]", "[--subheading-fg:theme(colors.gray.600)] dark:[--subheading-fg:theme(colors.gray.300)]", "[--description-fg:theme(colors.gray.700)] dark:[--description-fg:theme(colors.gray.200)]",
|
|
19
|
-
// Process timeline
|
|
20
|
-
"[--process-step-bg:theme(colors.fuchsia.600)] dark:[--process-step-bg:theme(colors.fuchsia.500)]", "[--process-step-fg:theme(colors.white)] dark:[--process-step-fg:theme(colors.white)]", "[--process-connector:theme(colors.gray.300)] dark:[--process-connector:theme(colors.gray.600)]",
|
|
21
|
-
// Portfolio metrics color
|
|
22
|
-
"[--metric-fg:theme(colors.fuchsia.600)] dark:[--metric-fg:theme(colors.fuchsia.400)]",
|
|
23
|
-
// Footer
|
|
24
|
-
"[--footer-bg:transparent] dark:[--footer-bg:transparent]", "[--footer-fg:theme(colors.gray.800)] dark:[--footer-fg:theme(colors.gray.100)]", "[--footer-heading-fg:theme(colors.gray.900)] dark:[--footer-heading-fg:theme(colors.gray.100)]", "[--footer-link-fg:theme(colors.gray.700)] dark:[--footer-link-fg:theme(colors.gray.300)]", "[--footer-link-hover-fg:theme(colors.emerald.700)] dark:[--footer-link-hover-fg:theme(colors.emerald.400)]", "[--footer-link-hover-bg:theme(colors.emerald.50)] dark:[--footer-link-hover-bg:color-mix(in_oklab,oklch(0.17_0.05_152)_20%,transparent)]", "[--footer-muted-fg:theme(colors.gray.500)] dark:[--footer-muted-fg:theme(colors.gray.400)]", "[--footer-border:theme(colors.gray.200)] dark:[--footer-border:theme(colors.gray.800)]",
|
|
25
|
-
// Table (optional)
|
|
26
|
-
"[--table-fg:inherit]", "[--table-muted-fg:theme(colors.gray.500)] dark:[--table-muted-fg:theme(colors.gray.400)]", "[--table-head-fg:theme(colors.gray.700)] dark:[--table-head-fg:theme(colors.gray.300)]", "[--table-border:theme(colors.gray.200)] dark:[--table-border:theme(colors.gray.800)]", "[--table-row-hover-bg:theme(colors.gray.50)] dark:[--table-row-hover-bg:theme(colors.gray.900)]",
|
|
27
|
-
// About section accent
|
|
28
|
-
"[--about-accent:theme(colors.fuchsia.600)] dark:[--about-accent:theme(colors.fuchsia.400)]", className), children: children }));
|
|
29
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { About as SharedAbout } from "@nextworks/blocks-sections";
|
|
4
|
-
export function About() {
|
|
5
|
-
return (_jsx(SharedAbout
|
|
6
|
-
// Content
|
|
7
|
-
, {
|
|
8
|
-
// Content
|
|
9
|
-
aboutSubheadingText: "About Us", aboutHeadingText: "Your Success Is Our Mission", aboutContentText: "With 50+ successful projects and 5 years of experience, we specialize in creating digital solutions that drive real business growth. Our team combines creative design with data-driven strategy.", aboutTextAlign: "center",
|
|
10
|
-
// Stats
|
|
11
|
-
showStats: true, animateStats: true, aboutStats: [
|
|
12
|
-
{ value: "2.5", suffix: "k+", label: "Leads Generated" },
|
|
13
|
-
{ value: "4.8", suffix: "%", label: "Avg. CTR" },
|
|
14
|
-
{ value: "92", suffix: "%", label: "Client Retention" },
|
|
15
|
-
{ value: "12", suffix: "M", label: "Ad Spend Managed" },
|
|
16
|
-
],
|
|
17
|
-
// Slots / styling
|
|
18
|
-
section: {
|
|
19
|
-
className: "py-16 md:py-20 lg:py-24 bg-white dark:bg-gray-800",
|
|
20
|
-
}, container: {
|
|
21
|
-
className: "max-w-7xl mx-auto px-6",
|
|
22
|
-
}, inner: {
|
|
23
|
-
className: "flex flex-col gap-12",
|
|
24
|
-
}, contentContainer: {
|
|
25
|
-
className: "max-w-4xl mx-auto",
|
|
26
|
-
}, contentStack: {
|
|
27
|
-
className: "flex flex-col gap-6",
|
|
28
|
-
}, subheading: {
|
|
29
|
-
className: "text-sm font-semibold font-poppins uppercase tracking-wider text-[var(--about-accent)]",
|
|
30
|
-
}, heading: {
|
|
31
|
-
className: "text-4xl md:text-5xl lg:text-6xl font-bold leading-tight text-[var(--heading-fg)]",
|
|
32
|
-
}, content: {
|
|
33
|
-
className: "text-xl md:text-2xl max-w-3xl mx-auto leading-relaxed text-[var(--subheading-fg)]",
|
|
34
|
-
}, statsSection: {
|
|
35
|
-
className: "bg-card p-8 rounded-xl shadow-lg mx-auto max-w-5xl w-full border border-border bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)]",
|
|
36
|
-
}, statsGrid: {
|
|
37
|
-
className: "grid grid-cols-2 md:grid-cols-4 gap-8 justify-items-center",
|
|
38
|
-
}, statItem: {
|
|
39
|
-
className: "flex flex-col items-center gap-2",
|
|
40
|
-
}, statNumber: {
|
|
41
|
-
className: "text-4xl md:text-5xl font-bold font-poppins leading-none text-[var(--about-accent)]",
|
|
42
|
-
}, statLabel: {
|
|
43
|
-
className: "text-sm font-medium font-inter text-center text-[var(--card-muted-fg)]",
|
|
44
|
-
} }));
|
|
45
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { CTA as SharedCTA } from "@nextworks/blocks-sections";
|
|
4
|
-
export function CTA() {
|
|
5
|
-
return (_jsx(SharedCTA
|
|
6
|
-
// Background colors moved to the section slot
|
|
7
|
-
, {
|
|
8
|
-
// Background colors moved to the section slot
|
|
9
|
-
section: {
|
|
10
|
-
className: "bg-sky-50 dark:bg-gray-900 text-foreground [--heading-fg:rgb(17,24,39)] dark:[--heading-fg:white] [--subheading-fg:rgba(17,24,39,0.8)] dark:[--subheading-fg:rgba(255,255,255,0.85)] [--description-fg:rgba(17,24,39,0.75)] dark:[--description-fg:rgba(255,255,255,0.75)]",
|
|
11
|
-
},
|
|
12
|
-
// Layout/height/centering handled by the container slot
|
|
13
|
-
container: {
|
|
14
|
-
className: "mx-auto flex h-[32vh] w-full max-w-6xl flex-col items-center justify-center overflow-hidden px-4 pb-8",
|
|
15
|
-
},
|
|
16
|
-
// Heading mapped to the new headingText slot
|
|
17
|
-
headingText: {
|
|
18
|
-
text: "Ready To Transform Your Business?",
|
|
19
|
-
className: "text-4xl md:text-5xl lg:text-6xl font-bold font-poppins leading-tight",
|
|
20
|
-
},
|
|
21
|
-
// Use actionsWrapper for spacing instead of margin on the button
|
|
22
|
-
actionsWrapper: {
|
|
23
|
-
className: "mt-6 flex flex-col items-center gap-3 sm:flex-row [--btn-ring:rgba(192,38,211,0.35)] dark:[--btn-ring:rgba(192,38,211,0.45)]",
|
|
24
|
-
},
|
|
25
|
-
// Primary CTA mapped to ctaButton + ctaButtonStyle
|
|
26
|
-
ctaButton: { label: "Get Your Free Quote", href: "#contact" }, ctaButtonStyle: {
|
|
27
|
-
variant: "default",
|
|
28
|
-
size: "lg",
|
|
29
|
-
className: "font-poppins shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 [--btn-bg:#c026d3] dark:[--btn-bg:#c026d3] [--btn-hover-bg:#a21caf] dark:[--btn-hover-bg:#a21caf] [--btn-fg:#ffffff] dark:[--btn-fg:#ffffff] hover:[--btn-hover-fg:#ffffff] dark:hover:[--btn-hover-fg:#ffffff] [--btn-border:transparent]",
|
|
30
|
-
},
|
|
31
|
-
// Preserve the previous top margin on the heading
|
|
32
|
-
spacing: { topMargin: "mt-[8vh]" } }));
|
|
33
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
// app/templates/digitalagency/componets/Contact.tsx
|
|
2
|
-
"use client";
|
|
3
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
import { Contact as SharedContact, } from "@nextworks/blocks-sections";
|
|
5
|
-
const agencyContactFormData = [
|
|
6
|
-
{
|
|
7
|
-
id: "name",
|
|
8
|
-
label: "Your Full Name",
|
|
9
|
-
placeholder: "John Smith",
|
|
10
|
-
required: true,
|
|
11
|
-
type: "text",
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
id: "email",
|
|
15
|
-
label: "Email Address",
|
|
16
|
-
placeholder: "john@yourcompany.com",
|
|
17
|
-
required: true,
|
|
18
|
-
type: "email",
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
id: "phone",
|
|
22
|
-
label: "Phone Number",
|
|
23
|
-
placeholder: "+1 (555) 123-4567",
|
|
24
|
-
required: false,
|
|
25
|
-
type: "tel",
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
id: "company",
|
|
29
|
-
label: "Company Name",
|
|
30
|
-
placeholder: "Your Company LLC",
|
|
31
|
-
required: false,
|
|
32
|
-
type: "text",
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
id: "projectType",
|
|
36
|
-
label: "Service Interested In",
|
|
37
|
-
placeholder: "e.g. Web Design, SEO, E-commerce, Branding",
|
|
38
|
-
required: false,
|
|
39
|
-
type: "text",
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
id: "budget",
|
|
43
|
-
label: "Project Budget (Optional)",
|
|
44
|
-
placeholder: "e.g. $3,000 - $6,000",
|
|
45
|
-
required: false,
|
|
46
|
-
type: "text",
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
id: "message",
|
|
50
|
-
label: "Project Details",
|
|
51
|
-
placeholder: "Tell us about your project goals, timeline, and any specific requirements...",
|
|
52
|
-
required: true,
|
|
53
|
-
type: "textarea",
|
|
54
|
-
},
|
|
55
|
-
];
|
|
56
|
-
export function Contact() {
|
|
57
|
-
const handleFormSubmit = (e) => {
|
|
58
|
-
e.preventDefault();
|
|
59
|
-
const data = Object.fromEntries(new FormData(e.currentTarget).entries());
|
|
60
|
-
console.log("Contact form submitted:", data);
|
|
61
|
-
};
|
|
62
|
-
return (_jsx(SharedContact, { id: "contact", fields: agencyContactFormData, contactHeaderText: "Let\u2019s Talk Strategy", contactSubHeaderText: "We\u2019re here to help you grow \u2014 tell us how!",
|
|
63
|
-
// Root and layout
|
|
64
|
-
className: "w-full", section: { className: "py-16 px-4 bg-fuchsia-600 dark:bg-fuchsia-600" }, container: { className: "mx-auto max-w-4xl" },
|
|
65
|
-
// Header slots (new)
|
|
66
|
-
headerWrapper: { className: "mb-8 text-center" }, headerText: {
|
|
67
|
-
className: "text-4xl md:text-5xl font-bold font-poppins text-white tracking-tight",
|
|
68
|
-
}, subheaderText: {
|
|
69
|
-
className: "mt-3 text-lg md:text-xl font-inter text-white/90 px-4 md:px-14",
|
|
70
|
-
},
|
|
71
|
-
// Form container
|
|
72
|
-
form: {
|
|
73
|
-
className: "bg-card p-8 rounded-lg shadow-md border border-border bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)]",
|
|
74
|
-
},
|
|
75
|
-
// Fields wrapper and field item (new)
|
|
76
|
-
fieldsWrapper: { className: "space-y-4" }, field: { className: "space-y-2" },
|
|
77
|
-
// Label + inputs (new)
|
|
78
|
-
label: {
|
|
79
|
-
className: "text-card-foreground text-sm font-medium font-poppins block",
|
|
80
|
-
}, input: {
|
|
81
|
-
className: "w-full p-3 rounded-md 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)]",
|
|
82
|
-
}, textarea: {
|
|
83
|
-
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)]",
|
|
84
|
-
},
|
|
85
|
-
// Submit button (new split between wrapper/style/text)
|
|
86
|
-
submitButtonWrapper: { className: "pt-2" }, submitButtonStyle: {
|
|
87
|
-
variant: "default",
|
|
88
|
-
size: "lg",
|
|
89
|
-
className: "w-full bg-fuchsia-700 hover:bg-fuchsia-800 text-white font-poppins font-medium shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5",
|
|
90
|
-
}, submitButtonText: "Schedule Free Consultation", onSubmit: handleFormSubmit, ariaLabel: "Agency contact section" }));
|
|
91
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { Footer as SharedFooter } from "@nextworks/blocks-sections";
|
|
4
|
-
const agencyNavLinks = [
|
|
5
|
-
{
|
|
6
|
-
heading: "Services",
|
|
7
|
-
links: [
|
|
8
|
-
{ name: "Web Design & Development", href: "#services" },
|
|
9
|
-
{ name: "SEO & Digital Marketing", href: "#services" },
|
|
10
|
-
{ name: "E-commerce Solutions", href: "#services" },
|
|
11
|
-
{ name: "Brand Identity & Design", href: "#services" },
|
|
12
|
-
],
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
heading: "Company",
|
|
16
|
-
links: [
|
|
17
|
-
{ name: "About Us", href: "#about" },
|
|
18
|
-
{ name: "Our Work", href: "#portfolio" },
|
|
19
|
-
{ name: "Process", href: "#process" },
|
|
20
|
-
{ name: "Contact", href: "#contact" },
|
|
21
|
-
],
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
heading: "Resources",
|
|
25
|
-
links: [
|
|
26
|
-
{ name: "Free Consultation", href: "#contact" },
|
|
27
|
-
{ name: "Case Studies", href: "#portfolio" },
|
|
28
|
-
{ name: "Get Quote", href: "#pricing" },
|
|
29
|
-
{ name: "Privacy Policy", href: "#privacy" },
|
|
30
|
-
],
|
|
31
|
-
},
|
|
32
|
-
];
|
|
33
|
-
/**
|
|
34
|
-
* Upgraded preset Footer for the Digital Agency template
|
|
35
|
-
* - Uses the shared Footer slot API
|
|
36
|
-
* - Keeps brand distinct, flush-left; aligns top with nav headers
|
|
37
|
-
*/
|
|
38
|
-
export function Footer() {
|
|
39
|
-
return (_jsx(SharedFooter, { footerBrandName: "Nexus Digital", footerNavLinks: agencyNavLinks, ariaLabel: "Footer section", section: {
|
|
40
|
-
className: "w-full bg-gray-100 dark:bg-gray-900 text-gray-800 dark:text-white",
|
|
41
|
-
}, container: { className: "max-w-7xl mx-auto px-6" }, brand: {
|
|
42
|
-
className: "text-2xl font-bold font-poppins text-fuchsia-600 dark:text-fuchsia-400",
|
|
43
|
-
}, brandWrapper: {
|
|
44
|
-
className: "flex flex-col items-start text-left lg:pr-8",
|
|
45
|
-
}, navSection: {
|
|
46
|
-
className: "flex flex-col lg:flex-row items-start justify-center gap-8 lg:gap-12 pt-6.5 pb-8",
|
|
47
|
-
}, navGroup: { className: "flex flex-col items-start text-left pt-1.5" }, navHeading: {
|
|
48
|
-
className: "font-bold font-poppins text-gray-800 dark:text-white mb-3 text-sm uppercase tracking-wider",
|
|
49
|
-
}, navLink: {
|
|
50
|
-
className: "text-gray-600 dark:text-gray-400 hover:text-fuchsia-600 dark:hover:text-fuchsia-400 transition-colors duration-200 text-sm mb-2 block font-inter",
|
|
51
|
-
}, socialSection: {
|
|
52
|
-
className: "flex items-center justify-center gap-4 py-4",
|
|
53
|
-
}, socialLink: {
|
|
54
|
-
className: "text-gray-600 dark:text-gray-400 hover:text-fuchsia-600 dark:hover:text-fuchsia-400 transition-colors duration-200 p-2 rounded-md hover:bg-gray-200 dark:hover:bg-gray-800",
|
|
55
|
-
}, socialIcon: { className: "h-5 w-5" }, copyright: {
|
|
56
|
-
className: "text-center text-xs text-gray-600 dark:text-gray-400 py-4 border-t border-gray-200 dark:border-gray-800 font-inter",
|
|
57
|
-
} }));
|
|
58
|
-
}
|