@nextworks/blocks-templates 0.2.0-alpha.11 → 0.2.0-alpha.12
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/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/templates/aiworkflow/Page.d.ts +2 -0
- package/dist/templates/aiworkflow/Page.d.ts.map +1 -0
- package/dist/templates/aiworkflow/Page.jsx +41 -0
- package/dist/templates/aiworkflow/PresetThemeVars.d.ts +7 -0
- package/dist/templates/aiworkflow/PresetThemeVars.d.ts.map +1 -0
- package/dist/templates/aiworkflow/PresetThemeVars.jsx +9 -0
- package/dist/templates/aiworkflow/components/CTA.d.ts +2 -0
- package/dist/templates/aiworkflow/components/CTA.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/CTA.jsx +25 -0
- package/dist/templates/aiworkflow/components/Contact.d.ts +3 -0
- package/dist/templates/aiworkflow/components/Contact.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/Contact.jsx +67 -0
- package/dist/templates/aiworkflow/components/FAQ.d.ts +2 -0
- package/dist/templates/aiworkflow/components/FAQ.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/FAQ.jsx +40 -0
- package/dist/templates/aiworkflow/components/Features.d.ts +2 -0
- package/dist/templates/aiworkflow/components/Features.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/Features.jsx +39 -0
- package/dist/templates/aiworkflow/components/Footer.d.ts +2 -0
- package/dist/templates/aiworkflow/components/Footer.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/Footer.jsx +81 -0
- package/dist/templates/aiworkflow/components/Hero.d.ts +2 -0
- package/dist/templates/aiworkflow/components/Hero.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/Hero.jsx +594 -0
- package/dist/templates/aiworkflow/components/Navbar.d.ts +7 -0
- package/dist/templates/aiworkflow/components/Navbar.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/Navbar.jsx +74 -0
- package/dist/templates/aiworkflow/components/Pricing.d.ts +2 -0
- package/dist/templates/aiworkflow/components/Pricing.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/Pricing.jsx +63 -0
- package/dist/templates/aiworkflow/components/ProcessTimeline.d.ts +2 -0
- package/dist/templates/aiworkflow/components/ProcessTimeline.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/ProcessTimeline.jsx +58 -0
- package/dist/templates/aiworkflow/components/Testimonials.d.ts +2 -0
- package/dist/templates/aiworkflow/components/Testimonials.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/Testimonials.jsx +33 -0
- package/dist/templates/aiworkflow/components/TrustBadges.d.ts +2 -0
- package/dist/templates/aiworkflow/components/TrustBadges.d.ts.map +1 -0
- package/dist/templates/aiworkflow/components/TrustBadges.jsx +38 -0
- package/dist/templates/digitalagency/Page.d.ts +3 -0
- package/dist/templates/digitalagency/Page.d.ts.map +1 -1
- package/dist/templates/digitalagency/Page.jsx +19 -16
- package/dist/templates/digitalagency/PresetThemeVars.d.ts.map +1 -1
- package/dist/templates/digitalagency/PresetThemeVars.jsx +4 -2
- package/dist/templates/digitalagency/components/About.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/About.jsx +2 -0
- package/dist/templates/digitalagency/components/CTA.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/CTA.jsx +6 -8
- package/dist/templates/digitalagency/components/Contact.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Contact.jsx +5 -2
- package/dist/templates/digitalagency/components/Footer.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Footer.jsx +3 -1
- package/dist/templates/digitalagency/components/Hero.d.ts +1 -2
- package/dist/templates/digitalagency/components/Hero.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Hero.jsx +12 -19
- package/dist/templates/digitalagency/components/Navbar.d.ts +4 -2
- package/dist/templates/digitalagency/components/Navbar.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Navbar.jsx +3 -1
- package/dist/templates/digitalagency/components/NetworkPattern.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/NetworkPattern.jsx +111 -116
- package/dist/templates/digitalagency/components/Portfolio.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Portfolio.jsx +11 -3
- package/dist/templates/digitalagency/components/Pricing.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Pricing.jsx +86 -0
- package/dist/templates/digitalagency/components/Process.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Process.jsx +42 -0
- package/dist/templates/digitalagency/components/Services.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Services.jsx +38 -0
- package/dist/templates/digitalagency/components/Team.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Team.jsx +16 -0
- package/dist/templates/digitalagency/components/Testimonials.d.ts.map +1 -1
- package/dist/templates/digitalagency/components/Testimonials.jsx +42 -0
- package/dist/templates/gallery/Page.d.ts +2 -0
- package/dist/templates/gallery/PresetThemeVars.d.ts +1 -2
- package/dist/templates/gallery/PresetThemeVars.d.ts.map +1 -1
- package/dist/templates/gallery/PresetThemeVars.jsx +5 -4
- package/dist/templates/gallery/page.d.ts.map +1 -1
- package/dist/templates/gallery/page.jsx +88 -70
- package/dist/templates/productlaunch/Page.d.ts.map +1 -1
- package/dist/templates/productlaunch/Page.jsx +44 -0
- package/dist/templates/productlaunch/PresetThemeVars.d.ts +17 -0
- package/dist/templates/productlaunch/PresetThemeVars.d.ts.map +1 -1
- package/dist/templates/productlaunch/PresetThemeVars.jsx +5 -2
- package/dist/templates/productlaunch/components/About.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/About.jsx +2 -0
- package/dist/templates/productlaunch/components/CTA.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/CTA.jsx +5 -5
- package/dist/templates/productlaunch/components/Contact.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Contact.jsx +4 -0
- package/dist/templates/productlaunch/components/FAQ.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/FAQ.jsx +5 -1
- package/dist/templates/productlaunch/components/Features.d.ts +1 -1
- package/dist/templates/productlaunch/components/Features.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Features.jsx +3 -1
- package/dist/templates/productlaunch/components/Footer.d.ts +1 -1
- package/dist/templates/productlaunch/components/Footer.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Footer.jsx +3 -1
- package/dist/templates/productlaunch/components/Hero.d.ts +1 -1
- package/dist/templates/productlaunch/components/Hero.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Hero.jsx +6 -4
- package/dist/templates/productlaunch/components/Navbar.d.ts +1 -1
- package/dist/templates/productlaunch/components/Navbar.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Navbar.jsx +78 -79
- package/dist/templates/productlaunch/components/Pricing.d.ts +1 -1
- package/dist/templates/productlaunch/components/Pricing.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Pricing.jsx +3 -1
- package/dist/templates/productlaunch/components/ProcessTimeline.d.ts +1 -1
- package/dist/templates/productlaunch/components/ProcessTimeline.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/ProcessTimeline.jsx +3 -1
- package/dist/templates/productlaunch/components/ServicesGrid.d.ts +1 -1
- package/dist/templates/productlaunch/components/ServicesGrid.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/ServicesGrid.jsx +3 -1
- package/dist/templates/productlaunch/components/Team.d.ts +1 -1
- package/dist/templates/productlaunch/components/Team.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Team.jsx +3 -1
- package/dist/templates/productlaunch/components/Testimonials.d.ts +2 -1
- package/dist/templates/productlaunch/components/Testimonials.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/Testimonials.jsx +4 -1
- package/dist/templates/productlaunch/components/TrustBadges.d.ts +1 -1
- package/dist/templates/productlaunch/components/TrustBadges.d.ts.map +1 -1
- package/dist/templates/productlaunch/components/TrustBadges.jsx +3 -1
- package/dist/templates/saasdashboard/Page.d.ts +2 -0
- package/dist/templates/saasdashboard/Page.d.ts.map +1 -1
- package/dist/templates/saasdashboard/Page.jsx +37 -0
- package/dist/templates/saasdashboard/PresetThemeVars.d.ts.map +1 -1
- package/dist/templates/saasdashboard/PresetThemeVars.jsx +4 -2
- package/dist/templates/saasdashboard/components/Contact.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Contact.jsx +10 -7
- package/dist/templates/saasdashboard/components/Dashboard.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Dashboard.jsx +88 -86
- package/dist/templates/saasdashboard/components/FAQ.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/FAQ.jsx +36 -0
- package/dist/templates/saasdashboard/components/Features.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Features.jsx +3 -3
- package/dist/templates/saasdashboard/components/Footer.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Footer.jsx +2 -0
- package/dist/templates/saasdashboard/components/Hero.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Hero.jsx +8 -6
- package/dist/templates/saasdashboard/components/Hero_mask.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Hero_mask.jsx +15 -13
- 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 +6 -4
- package/dist/templates/saasdashboard/components/Pricing.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Pricing.jsx +2 -0
- package/dist/templates/saasdashboard/components/SmoothScroll.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/SmoothScroll.jsx +3 -2
- package/dist/templates/saasdashboard/components/Testimonials.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/Testimonials.jsx +7 -5
- package/dist/templates/saasdashboard/components/TrustBadges.d.ts.map +1 -1
- package/dist/templates/saasdashboard/components/TrustBadges.jsx +2 -0
- package/package.json +3 -3
|
@@ -1,49 +1,51 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import React, { useEffect, useRef, useState } from "react";
|
|
3
5
|
export function Dashboard({ stats, projects, floatingCards, activeTab = "Analytics", navItems = ["Analytics", "Projects", "Team"], }) {
|
|
4
|
-
return (<div className="relative isolate">
|
|
5
|
-
<DashboardMockup stats={stats} projects={projects} activeTab={activeTab} navItems={navItems}/>
|
|
6
|
-
|
|
7
|
-
{floatingCards.map(({ position, icon, text }) => (<FloatingCard key={position} position={position} icon={icon} text={text}/>))}
|
|
8
|
-
|
|
9
|
-
<style>{`
|
|
10
|
-
.dashboard-mockup {
|
|
11
|
-
transform: perspective(1000px) rotateY(-5deg) rotateX(5deg);
|
|
12
|
-
transition: transform 0.3s ease;
|
|
13
|
-
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
|
|
14
|
-
}
|
|
15
|
-
.dashboard-mockup:hover {
|
|
16
|
-
transform: perspective(1000px) rotateY(-2deg) rotateX(2deg);
|
|
17
|
-
}
|
|
18
|
-
.trend-line {
|
|
19
|
-
clip-path: polygon(
|
|
20
|
-
0 100%,
|
|
21
|
-
20% 80%,
|
|
22
|
-
40% 85%,
|
|
23
|
-
60% 60%,
|
|
24
|
-
80% 50%,
|
|
25
|
-
100% 20%
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
@keyframes growUp {
|
|
29
|
-
0% {
|
|
30
|
-
height: 0;
|
|
31
|
-
opacity: 0;
|
|
32
|
-
}
|
|
33
|
-
100% {
|
|
34
|
-
opacity: 1;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
@keyframes floatAnim {
|
|
38
|
-
0%,
|
|
39
|
-
100% {
|
|
40
|
-
transform: translateY(0px);
|
|
41
|
-
}
|
|
42
|
-
50% {
|
|
43
|
-
transform: translateY(-20px);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
`}</style>
|
|
6
|
+
return (<div className="relative isolate">
|
|
7
|
+
<DashboardMockup stats={stats} projects={projects} activeTab={activeTab} navItems={navItems}/>
|
|
8
|
+
|
|
9
|
+
{floatingCards.map(({ position, icon, text }) => (<FloatingCard key={position} position={position} icon={icon} text={text}/>))}
|
|
10
|
+
|
|
11
|
+
<style>{`
|
|
12
|
+
.dashboard-mockup {
|
|
13
|
+
transform: perspective(1000px) rotateY(-5deg) rotateX(5deg);
|
|
14
|
+
transition: transform 0.3s ease;
|
|
15
|
+
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
|
|
16
|
+
}
|
|
17
|
+
.dashboard-mockup:hover {
|
|
18
|
+
transform: perspective(1000px) rotateY(-2deg) rotateX(2deg);
|
|
19
|
+
}
|
|
20
|
+
.trend-line {
|
|
21
|
+
clip-path: polygon(
|
|
22
|
+
0 100%,
|
|
23
|
+
20% 80%,
|
|
24
|
+
40% 85%,
|
|
25
|
+
60% 60%,
|
|
26
|
+
80% 50%,
|
|
27
|
+
100% 20%
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
@keyframes growUp {
|
|
31
|
+
0% {
|
|
32
|
+
height: 0;
|
|
33
|
+
opacity: 0;
|
|
34
|
+
}
|
|
35
|
+
100% {
|
|
36
|
+
opacity: 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
@keyframes floatAnim {
|
|
40
|
+
0%,
|
|
41
|
+
100% {
|
|
42
|
+
transform: translateY(0px);
|
|
43
|
+
}
|
|
44
|
+
50% {
|
|
45
|
+
transform: translateY(-20px);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
`}</style>
|
|
47
49
|
</div>);
|
|
48
50
|
}
|
|
49
51
|
function DashboardMockup({ stats, projects, activeTab, navItems, }) {
|
|
@@ -82,70 +84,70 @@ function DashboardMockup({ stats, projects, activeTab, navItems, }) {
|
|
|
82
84
|
"bg-slate-900/80 dark:bg-slate-900/80"} style={{
|
|
83
85
|
willChange: "transform",
|
|
84
86
|
transform: `perspective(1000px) rotateX(${tilt.rx}deg) rotateY(${tilt.ry}deg)`,
|
|
85
|
-
}} onMouseMove={handleMove} onMouseLeave={handleLeave}>
|
|
86
|
-
<DashboardHeader activeTab={activeTab} navItems={navItems}/>
|
|
87
|
-
<DashboardGrid stats={stats} projects={projects}/>
|
|
87
|
+
}} onMouseMove={handleMove} onMouseLeave={handleLeave}>
|
|
88
|
+
<DashboardHeader activeTab={activeTab} navItems={navItems}/>
|
|
89
|
+
<DashboardGrid stats={stats} projects={projects}/>
|
|
88
90
|
</div>);
|
|
89
91
|
}
|
|
90
92
|
function DashboardHeader({ activeTab = "Analytics", navItems = ["Analytics", "Projects", "Team"], }) {
|
|
91
|
-
return (<div className="mb-6 flex items-center justify-between border-b border-blue-500/10 pb-4">
|
|
92
|
-
<div className="text-[1.1rem] font-semibold text-slate-200">
|
|
93
|
-
Business Overview
|
|
94
|
-
</div>
|
|
95
|
-
<div className="hidden gap-3 md:flex">
|
|
93
|
+
return (<div className="mb-6 flex items-center justify-between border-b border-blue-500/10 pb-4">
|
|
94
|
+
<div className="text-[1.1rem] font-semibold text-slate-200">
|
|
95
|
+
Business Overview
|
|
96
|
+
</div>
|
|
97
|
+
<div className="hidden gap-3 md:flex">
|
|
96
98
|
{navItems.map((item) => (<div key={item} className={"rounded-md px-3 py-2 text-sm " +
|
|
97
99
|
(item === activeTab
|
|
98
100
|
? "bg-gradient-to-br from-blue-500 to-purple-500 text-white"
|
|
99
|
-
: "bg-blue-500/10 text-blue-400")}>
|
|
100
|
-
{item}
|
|
101
|
-
</div>))}
|
|
102
|
-
</div>
|
|
101
|
+
: "bg-blue-500/10 text-blue-400")}>
|
|
102
|
+
{item}
|
|
103
|
+
</div>))}
|
|
104
|
+
</div>
|
|
103
105
|
</div>);
|
|
104
106
|
}
|
|
105
107
|
function DashboardGrid({ stats, projects, }) {
|
|
106
|
-
return (<div className="mb-4 grid grid-cols-[2fr_1fr] gap-4">
|
|
107
|
-
<ChartArea />
|
|
108
|
-
<StatsPanel stats={stats}/>
|
|
109
|
-
<ProjectList projects={projects}/>
|
|
108
|
+
return (<div className="mb-4 grid grid-cols-[2fr_1fr] gap-4">
|
|
109
|
+
<ChartArea />
|
|
110
|
+
<StatsPanel stats={stats}/>
|
|
111
|
+
<ProjectList projects={projects}/>
|
|
110
112
|
</div>);
|
|
111
113
|
}
|
|
112
114
|
function ChartArea() {
|
|
113
115
|
const barHeights = [30, 45, 35, 60, 55, 75, 70, 85, 90, 100];
|
|
114
|
-
return (<div className="relative overflow-hidden rounded-lg border border-blue-500/10 bg-slate-900/50 p-4">
|
|
115
|
-
<div className="mb-2 text-sm text-slate-300">Revenue Growth</div>
|
|
116
|
+
return (<div className="relative overflow-hidden rounded-lg border border-blue-500/10 bg-slate-900/50 p-4">
|
|
117
|
+
<div className="mb-2 text-sm text-slate-300">Revenue Growth</div>
|
|
116
118
|
<div className="relative h-32 overflow-hidden rounded-md" style={{
|
|
117
119
|
background: "linear-gradient(45deg, transparent 20%, rgba(59,130,246,0.1) 20%, rgba(59,130,246,0.1) 40%, transparent 40%, transparent 60%, rgba(139,92,246,0.1) 60%, rgba(139,92,246,0.1) 80%, transparent 80%)",
|
|
118
|
-
}}>
|
|
119
|
-
<div className="absolute inset-[10px] flex items-end gap-[3px]">
|
|
120
|
+
}}>
|
|
121
|
+
<div className="absolute inset-[10px] flex items-end gap-[3px]">
|
|
120
122
|
{barHeights.map((h, i) => (<div key={i} className="flex-1 rounded-t bg-gradient-to-b from-blue-500 to-purple-500" style={{
|
|
121
123
|
minHeight: "20px",
|
|
122
124
|
height: `${h}%`,
|
|
123
125
|
animation: "growUp 2s ease-out both",
|
|
124
126
|
animationDelay: `${(i + 1) * 0.1}s`,
|
|
125
|
-
}}/>))}
|
|
126
|
-
</div>
|
|
127
|
-
<div className="trend-line absolute top-5 right-[5%] left-[5%] h-[2px] rounded bg-gradient-to-r from-emerald-500 to-blue-500 opacity-80"/>
|
|
128
|
-
</div>
|
|
127
|
+
}}/>))}
|
|
128
|
+
</div>
|
|
129
|
+
<div className="trend-line absolute top-5 right-[5%] left-[5%] h-[2px] rounded bg-gradient-to-r from-emerald-500 to-blue-500 opacity-80"/>
|
|
130
|
+
</div>
|
|
129
131
|
</div>);
|
|
130
132
|
}
|
|
131
133
|
function StatsPanel({ stats }) {
|
|
132
|
-
return (<div className="flex flex-col gap-2">
|
|
133
|
-
{stats.map((s, i) => (<div key={i} className="rounded-lg border border-blue-500/10 bg-slate-900/50 p-3">
|
|
134
|
-
<div className="text-lg font-bold text-blue-500">{s.value}</div>
|
|
135
|
-
<div className="text-[0.7rem] text-slate-400 uppercase">
|
|
136
|
-
{s.label}
|
|
137
|
-
</div>
|
|
138
|
-
</div>))}
|
|
134
|
+
return (<div className="flex flex-col gap-2">
|
|
135
|
+
{stats.map((s, i) => (<div key={i} className="rounded-lg border border-blue-500/10 bg-slate-900/50 p-3">
|
|
136
|
+
<div className="text-lg font-bold text-blue-500">{s.value}</div>
|
|
137
|
+
<div className="text-[0.7rem] text-slate-400 uppercase">
|
|
138
|
+
{s.label}
|
|
139
|
+
</div>
|
|
140
|
+
</div>))}
|
|
139
141
|
</div>);
|
|
140
142
|
}
|
|
141
143
|
function ProjectList({ projects }) {
|
|
142
|
-
return (<div className="col-span-2 rounded-lg border border-blue-500/10 bg-slate-900/50 p-4">
|
|
143
|
-
<div className="mb-2 text-sm text-slate-300">Active Projects</div>
|
|
144
|
-
<div className="flex flex-wrap gap-2">
|
|
145
|
-
{projects.map((p, i) => (<div key={i} className="rounded border border-blue-500/30 bg-gradient-to-br from-blue-500/20 to-purple-500/10 px-2 py-2 text-[0.8rem] text-slate-200">
|
|
146
|
-
{p}
|
|
147
|
-
</div>))}
|
|
148
|
-
</div>
|
|
144
|
+
return (<div className="col-span-2 rounded-lg border border-blue-500/10 bg-slate-900/50 p-4">
|
|
145
|
+
<div className="mb-2 text-sm text-slate-300">Active Projects</div>
|
|
146
|
+
<div className="flex flex-wrap gap-2">
|
|
147
|
+
{projects.map((p, i) => (<div key={i} className="rounded border border-blue-500/30 bg-gradient-to-br from-blue-500/20 to-purple-500/10 px-2 py-2 text-[0.8rem] text-slate-200">
|
|
148
|
+
{p}
|
|
149
|
+
</div>))}
|
|
150
|
+
</div>
|
|
149
151
|
</div>);
|
|
150
152
|
}
|
|
151
153
|
function FloatingCard({ position, icon, text }) {
|
|
@@ -159,10 +161,10 @@ function FloatingCard({ position, icon, text }) {
|
|
|
159
161
|
"animate-[floatAnim_6s_ease-in-out_infinite]",
|
|
160
162
|
"bg-slate-800 dark:bg-slate-900",
|
|
161
163
|
positionClasses,
|
|
162
|
-
].join(" ")} style={{ willChange: "transform" }}>
|
|
163
|
-
<div className="mb-2 flex h-[30px] w-[30px] items-center justify-center rounded-md bg-gradient-to-br from-blue-500 to-purple-500 text-sm text-white">
|
|
164
|
-
{icon}
|
|
165
|
-
</div>
|
|
166
|
-
<div className="text-sm text-slate-300">{text}</div>
|
|
164
|
+
].join(" ")} style={{ willChange: "transform" }}>
|
|
165
|
+
<div className="mb-2 flex h-[30px] w-[30px] items-center justify-center rounded-md bg-gradient-to-br from-blue-500 to-purple-500 text-sm text-white">
|
|
166
|
+
{icon}
|
|
167
|
+
</div>
|
|
168
|
+
<div className="text-sm text-slate-300">{text}</div>
|
|
167
169
|
</div>);
|
|
168
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FAQ.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/FAQ.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FAQ.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/FAQ.tsx"],"names":[],"mappings":"AAgCA,wBAAgB,GAAG,gCAyBlB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
3
|
+
"use client";
|
|
4
|
+
import { FAQ as SharedFAQ } from "@nextworks/blocks-sections";
|
|
5
|
+
const defaultFAQArray = [
|
|
6
|
+
{
|
|
7
|
+
question: "Can I migrate from other tools?",
|
|
8
|
+
answer: "Yes, we help with data import.",
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
question: "What integrations are available?",
|
|
12
|
+
answer: "50+ apps including Slack, Google, Zapier.",
|
|
13
|
+
},
|
|
14
|
+
{ question: "How long does setup take?", answer: "Less than 15 minutes." },
|
|
15
|
+
{
|
|
16
|
+
question: "Is there a free trial?",
|
|
17
|
+
answer: "Yes — start a 14-day free trial with no credit card required.",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: "What support do you offer?",
|
|
21
|
+
answer: "Email, chat, and dedicated onboarding for paid plans.",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: "Are there discounts for teams or annual billing?",
|
|
25
|
+
answer: "Yes — we offer team pricing and discounts for annual subscriptions.",
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
export function FAQ() {
|
|
29
|
+
return (<SharedFAQ faqData={defaultFAQArray} faqSectionHeaderText="Frequently Asked Questions" section={{ className: "py-10 px-5 bg-background text-[var(--card-fg)]" }} heading={{
|
|
30
|
+
className: "text-3xl font-bold font-inter text-center mb-6 text-[var(--heading-fg)]",
|
|
31
|
+
}} grid={{ className: "grid grid-cols-2 gap-4" }} item={{ className: "mb-0" }} questionButton={{
|
|
32
|
+
className: "p-5 rounded-lg transition-all duration-200 flex items-center justify-between cursor-pointer shadow-lg hover:shadow-xl hover:-translate-y-0.5 font-inter bg-gradient-to-r from-sky-600 to-sky-700 hover:from-sky-700 hover:to-sky-800 text-white [--btn-ring:theme(colors.sky.500)] dark:[--btn-ring:theme(colors.sky.400)] [--btn-border:theme(colors.sky.500)] dark:[--btn-border:theme(colors.sky.400)]",
|
|
33
|
+
}} questionText={{ className: "font-inter font-semibold text-base" }} answer={{
|
|
34
|
+
className: "mt-1 rounded-lg bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)]",
|
|
35
|
+
}} answerText={{ className: "font-inter text-base text-[var(--card-fg)]" }} allowMultipleOpen={true}/>);
|
|
36
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Features.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Features.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Features.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Features.tsx"],"names":[],"mappings":"AAgCA,wBAAgB,QAAQ,gCA4DvB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import { Features as SharedFeatures } from "@nextworks/blocks-sections";
|
|
3
5
|
import { cn } from "@nextworks/blocks-core";
|
|
@@ -38,9 +40,7 @@ export function Features() {
|
|
|
38
40
|
className: cn("font-inter mb-3 text-xl leading-tight font-semibold text-[var(--card-title-fg)] md:text-2xl"),
|
|
39
41
|
}} cardSubheading={{
|
|
40
42
|
className: cn("font-inter text-sm leading-relaxed text-[var(--card-muted-fg)] md:text-base"),
|
|
41
|
-
}}
|
|
42
|
-
// Motion config showcasing upgraded API
|
|
43
|
-
motionConfig={{
|
|
43
|
+
}} motionConfig={{
|
|
44
44
|
initial: { opacity: 0, y: 12 },
|
|
45
45
|
whileInView: { opacity: 1, y: 0 },
|
|
46
46
|
viewport: { once: true, amount: 0.2 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Footer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Footer.tsx"],"names":[],"mappings":"AAsCA,wBAAgB,MAAM,gCAyCrB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import { Footer as SharedFooter } from "@nextworks/blocks-sections";
|
|
3
5
|
import { cn } from "@nextworks/blocks-core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Hero.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Hero.tsx"],"names":[],"mappings":"AAyBA,wBAAgB,IAAI,gCAiFnB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import { HeroSplit as SharedHeroSplit } from "@nextworks/blocks-sections";
|
|
3
5
|
import { Dashboard } from "./Dashboard";
|
|
@@ -15,7 +17,7 @@ const floatingCards = [
|
|
|
15
17
|
const activeTab = "Analytics";
|
|
16
18
|
const navItems = ["Analytics", "Projects", "Team"];
|
|
17
19
|
export function Hero() {
|
|
18
|
-
return (<div className="relative">
|
|
20
|
+
return (<div className="relative">
|
|
19
21
|
<SharedHeroSplit className={cn("relative")} heading={{
|
|
20
22
|
text: "Manage Your Entire Business From One Powerful Dashboard",
|
|
21
23
|
className: "text-3xl md:text-4xl lg:text-5xl font-bold leading-tight font-inter text-[var(--heading-fg)]",
|
|
@@ -52,10 +54,10 @@ export function Hero() {
|
|
|
52
54
|
"dark:hover:[--btn-hover-bg:theme(colors.sky.950)]",
|
|
53
55
|
"dark:hover:[--btn-hover-fg:theme(colors.sky.500)]",
|
|
54
56
|
].join(" "),
|
|
55
|
-
}} image={{ src: undefined, alt: "Dashboard preview" }} imageLayout="padded" fallback={<div className="flex h-full w-full items-center justify-center">
|
|
56
|
-
<div className="relative w-[min(100%,720px)] overflow-hidden rounded-xl bg-white p-0 p-1 opacity-100 md:pt-8 lg:pt-1 dark:bg-blue-950">
|
|
57
|
-
<Dashboard stats={stats} projects={projects} floatingCards={floatingCards} navItems={navItems} activeTab={activeTab}/>
|
|
58
|
-
</div>
|
|
57
|
+
}} image={{ src: undefined, alt: "Dashboard preview" }} imageLayout="padded" fallback={<div className="flex h-full w-full items-center justify-center">
|
|
58
|
+
<div className="relative w-[min(100%,720px)] overflow-hidden rounded-xl bg-white p-0 p-1 opacity-100 md:pt-8 lg:pt-1 dark:bg-blue-950">
|
|
59
|
+
<Dashboard stats={stats} projects={projects} floatingCards={floatingCards} navItems={navItems} activeTab={activeTab}/>
|
|
60
|
+
</div>
|
|
59
61
|
</div>} imageContainer={{
|
|
60
62
|
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
63
|
}} textContainer={{ className: "flex-1 p-5 lg:p-8" }} buttonsContainer={{
|
|
@@ -64,6 +66,6 @@ export function Hero() {
|
|
|
64
66
|
"[--btn-ring:theme(colors.sky.500)]",
|
|
65
67
|
"dark:[--btn-ring:theme(colors.sky.400)]",
|
|
66
68
|
].join(" "),
|
|
67
|
-
}} textAlign="center" ariaLabel="DashFlow hero section"/>
|
|
69
|
+
}} textAlign="center" ariaLabel="DashFlow hero section"/>
|
|
68
70
|
</div>);
|
|
69
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hero_mask.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Hero_mask.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Hero_mask.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Hero_mask.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,wBAAgB,IAAI,sBAsGnB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import React from "react";
|
|
3
5
|
import { HeroSplit as SharedHeroSplit } from "@nextworks/blocks-sections";
|
|
@@ -43,13 +45,13 @@ export function Hero() {
|
|
|
43
45
|
window.removeEventListener("resize", measure);
|
|
44
46
|
};
|
|
45
47
|
}, []);
|
|
46
|
-
return (<div className="relative">
|
|
47
|
-
{/* Ambient gradient blobs behind hero */}
|
|
48
|
-
<div className="pointer-events-none absolute inset-0 -z-20 overflow-hidden">
|
|
49
|
-
<div className="absolute -top-10 -left-10 h-72 w-72 rounded-full bg-blue-500/20 blur-3xl"/>
|
|
50
|
-
<div className="absolute right-0 bottom-0 h-72 w-72 rounded-full bg-purple-500/20 blur-3xl"/>
|
|
51
|
-
</div>
|
|
52
|
-
<div ref={sectionRef} className="relative before:absolute before:inset-0 before:-z-10 before:bg-gradient-to-br before:from-white before:via-blue-50 before:to-white before:[mask-image:linear-gradient(#000,#000),linear-gradient(#000,#000)] before:[mask-composite:exclude] before:[mask-size:auto,var(--hole-w)_var(--hole-h)] before:[mask-position:0_0,var(--hole-x)_var(--hole-y)] before:[mask-repeat:no-repeat] before:content-[''] before:[-webkit-mask-composite:xor] dark:before:from-gray-900 dark:before:via-blue-950/20 dark:before:to-gray-900">
|
|
48
|
+
return (<div className="relative">
|
|
49
|
+
{/* Ambient gradient blobs behind hero */}
|
|
50
|
+
<div className="pointer-events-none absolute inset-0 -z-20 overflow-hidden">
|
|
51
|
+
<div className="absolute -top-10 -left-10 h-72 w-72 rounded-full bg-blue-500/20 blur-3xl"/>
|
|
52
|
+
<div className="absolute right-0 bottom-0 h-72 w-72 rounded-full bg-purple-500/20 blur-3xl"/>
|
|
53
|
+
</div>
|
|
54
|
+
<div ref={sectionRef} className="relative before:absolute before:inset-0 before:-z-10 before:bg-gradient-to-br before:from-white before:via-blue-50 before:to-white before:[mask-image:linear-gradient(#000,#000),linear-gradient(#000,#000)] before:[mask-composite:exclude] before:[mask-size:auto,var(--hole-w)_var(--hole-h)] before:[mask-position:0_0,var(--hole-x)_var(--hole-y)] before:[mask-repeat:no-repeat] before:content-[''] before:[-webkit-mask-composite:xor] dark:before:from-gray-900 dark:before:via-blue-950/20 dark:before:to-gray-900">
|
|
53
55
|
<SharedHeroSplit className={cn("relative")} heading={{
|
|
54
56
|
text: "Manage Your Entire Business From One Powerful Dashboard",
|
|
55
57
|
className: "text-3xl md:text-4xl lg:text-5xl font-bold leading-tight text-black dark:text-white font-inter",
|
|
@@ -70,15 +72,15 @@ export function Hero() {
|
|
|
70
72
|
variant: "outline",
|
|
71
73
|
size: "lg",
|
|
72
74
|
className: "border-blue-600 text-blue-600 hover:bg-blue-50 dark:border-blue-500 dark:text-blue-500 dark:hover:bg-blue-950 text-base font-semibold font-inter shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
|
|
73
|
-
}} image={{ src: undefined, alt: "Dashboard preview" }} imageLayout="padded" fallback={<div ref={dashRef} className="relative z-10 flex h-full w-full items-center justify-center pl-0">
|
|
74
|
-
<div className="relative h-full w-[min(100%,720px)] overflow-hidden p-2">
|
|
75
|
-
<Dashboard stats={stats} projects={projects} floatingCards={floatingCards} navItems={navItems} activeTab={activeTab}/>
|
|
76
|
-
</div>
|
|
75
|
+
}} image={{ src: undefined, alt: "Dashboard preview" }} imageLayout="padded" fallback={<div ref={dashRef} className="relative z-10 flex h-full w-full items-center justify-center pl-0">
|
|
76
|
+
<div className="relative h-full w-[min(100%,720px)] overflow-hidden p-2">
|
|
77
|
+
<Dashboard stats={stats} projects={projects} floatingCards={floatingCards} navItems={navItems} activeTab={activeTab}/>
|
|
78
|
+
</div>
|
|
77
79
|
</div>} imageContainer={{
|
|
78
80
|
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
81
|
}} textContainer={{ className: "flex-1 p-5 lg:p-8" }} buttonsContainer={{
|
|
80
82
|
className: "flex flex-col sm:flex-row gap-4 mt-8 justify-center lg:justify-start",
|
|
81
|
-
}} textAlign="center" ariaLabel="DashFlow hero section"/>
|
|
82
|
-
</div>
|
|
83
|
+
}} textAlign="center" ariaLabel="DashFlow hero section"/>
|
|
84
|
+
</div>
|
|
83
85
|
</div>);
|
|
84
86
|
}
|
|
@@ -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
|
|
12
|
+
* This preset exposes the Shared Navbar API, allowing full customization of any prop or slot.
|
|
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":"
|
|
1
|
+
{"version":3,"file":"Navbar.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Navbar.tsx"],"names":[],"mappings":"AAKA,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;AAoFlD,wBAAgB,MAAM,CAAC,SAAS,GAAE,eAAoB,+BAQrD"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import { Navbar as SharedNavbar } from "@nextworks/blocks-sections";
|
|
3
5
|
const defaultProps = {
|
|
4
6
|
brand: "DashFlow",
|
|
5
|
-
//
|
|
6
|
-
brandNode: (<div className="flex h-8 w-8 items-center justify-center rounded-md bg-gradient-to-br from-blue-600 to-purple-600 font-bold text-white shadow-sm ring-1 ring-white/40">
|
|
7
|
-
DF
|
|
7
|
+
// Gradient logo block
|
|
8
|
+
brandNode: (<div className="flex h-8 w-8 items-center justify-center rounded-md bg-gradient-to-br from-blue-600 to-purple-600 font-bold text-white shadow-sm ring-1 ring-white/40">
|
|
9
|
+
DF
|
|
8
10
|
</div>),
|
|
9
11
|
menuItems: [
|
|
10
12
|
{ label: "Home", href: "#home" },
|
|
@@ -62,7 +64,7 @@ const defaultProps = {
|
|
|
62
64
|
colorModeWrapper: {
|
|
63
65
|
className: "ml-2",
|
|
64
66
|
},
|
|
65
|
-
//
|
|
67
|
+
// ThemeToggle reads the CSS vars defined in `nav.className`; override via `themeToggle` if needed.
|
|
66
68
|
// themeToggle: { ... }
|
|
67
69
|
ctaButtonWrapper: {
|
|
68
70
|
className: "ml-2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pricing.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Pricing.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Pricing.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Pricing.tsx"],"names":[],"mappings":"AAiDA,wBAAgB,OAAO,gCA2CtB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import { Pricing as SharedPricing } from "@nextworks/blocks-sections";
|
|
3
5
|
import { cn } from "@nextworks/blocks-core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmoothScroll.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/SmoothScroll.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SmoothScroll.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/SmoothScroll.tsx"],"names":[],"mappings":"AAQA,wBAAgB,YAAY,SA0F3B"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import { useEffect } from "react";
|
|
3
5
|
// Smoothly scrolls to section links with a faster duration
|
|
@@ -12,7 +14,7 @@ export function SmoothScroll() {
|
|
|
12
14
|
const start = window.scrollY;
|
|
13
15
|
const targetTop = el.getBoundingClientRect().top + window.scrollY - navbarOffsetPx;
|
|
14
16
|
const distance = targetTop - start;
|
|
15
|
-
const duration = 300;
|
|
17
|
+
const duration = 300; // ms
|
|
16
18
|
const startTime = performance.now();
|
|
17
19
|
const easeOutQuart = (t) => 1 - Math.pow(1 - t, 4);
|
|
18
20
|
const step = (now) => {
|
|
@@ -33,7 +35,6 @@ export function SmoothScroll() {
|
|
|
33
35
|
const href = target.getAttribute("href");
|
|
34
36
|
if (!href || !href.startsWith("#"))
|
|
35
37
|
return;
|
|
36
|
-
// Only primary button, no modifiers
|
|
37
38
|
if (ev.button !== 0 ||
|
|
38
39
|
ev.metaKey ||
|
|
39
40
|
ev.ctrlKey ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Testimonials.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Testimonials.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Testimonials.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/Testimonials.tsx"],"names":[],"mappings":"AAQA,wBAAgB,YAAY,gCAkE3B"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import { Testimonials as SharedTestimonials } from "@nextworks/blocks-sections";
|
|
3
5
|
import { cn } from "@nextworks/blocks-core";
|
|
4
6
|
export function Testimonials() {
|
|
5
|
-
return (<div className="relative">
|
|
6
|
-
{/* Gradient mesh
|
|
7
|
-
<div aria-hidden className="pointer-events-none absolute inset-0 -z-10 [background-image:radial-gradient(60rem_60rem_at_0%_0%,rgba(59,130,246,0.08),transparent_40%),radial-gradient(50rem_50rem_at_100%_100%,rgba(168,85,247,0.06),transparent_40%)] opacity-20"/>
|
|
8
|
-
<div aria-hidden className="pointer-events-none absolute inset-0 -z-10 [background-image:radial-gradient(rgba(255,255,255,0.07)_1px,transparent_1px)] [background-size:14px_14px] opacity-[0.05]"/>
|
|
7
|
+
return (<div className="relative">
|
|
8
|
+
{/* Gradient mesh and fine noise overlays for depth */}
|
|
9
|
+
<div aria-hidden className="pointer-events-none absolute inset-0 -z-10 [background-image:radial-gradient(60rem_60rem_at_0%_0%,rgba(59,130,246,0.08),transparent_40%),radial-gradient(50rem_50rem_at_100%_100%,rgba(168,85,247,0.06),transparent_40%)] opacity-20"/>
|
|
10
|
+
<div aria-hidden className="pointer-events-none absolute inset-0 -z-10 [background-image:radial-gradient(rgba(255,255,255,0.07)_1px,transparent_1px)] [background-size:14px_14px] opacity-[0.05]"/>
|
|
9
11
|
<SharedTestimonials testimonials={[
|
|
10
12
|
{
|
|
11
13
|
testimonialText: "DashFlow replaced 6 different tools for us. Our team productivity increased 40% in the first month.",
|
|
@@ -34,6 +36,6 @@ export function Testimonials() {
|
|
|
34
36
|
className: "text-sm font-medium font-inter text-[var(--card-muted-fg)]",
|
|
35
37
|
}} avatar={{
|
|
36
38
|
className: "w-12 h-12 rounded-full flex items-center justify-center text-lg font-bold bg-[var(--badge-bg)] text-[var(--badge-fg)] border-[var(--badge-border)]",
|
|
37
|
-
}} avatarText={{ className: "font-bold" }} ariaLabel="Customer testimonials"/>
|
|
39
|
+
}} avatarText={{ className: "font-bold" }} ariaLabel="Customer testimonials"/>
|
|
38
40
|
</div>);
|
|
39
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrustBadges.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/TrustBadges.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TrustBadges.d.ts","sourceRoot":"","sources":["../../../../src/templates/saasdashboard/components/TrustBadges.tsx"],"names":[],"mappings":"AA+BA,wBAAgB,WAAW,gCAwB1B"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// AUTO-GENERATED from cli/kits/blocks by scripts/sync-kit-to-packages.mjs
|
|
2
|
+
// Do not edit this file directly. Edit the kit source instead.
|
|
1
3
|
"use client";
|
|
2
4
|
import { TrustBadges as SharedTrustBadges } from "@nextworks/blocks-sections";
|
|
3
5
|
import { cn } from "@nextworks/blocks-core";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nextworks/blocks-templates",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.12",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"build": "npx tsc -p tsconfig.json"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@nextworks/blocks-core": "0.2.0-alpha.
|
|
20
|
-
"@nextworks/blocks-sections": "0.2.0-alpha.
|
|
19
|
+
"@nextworks/blocks-core": "0.2.0-alpha.12",
|
|
20
|
+
"@nextworks/blocks-sections": "0.2.0-alpha.12",
|
|
21
21
|
"lucide-react": "^0.542.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|