nextworks 0.2.0-alpha.2 → 0.2.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +280 -228
  2. package/dist/cli_manifests/blocks_manifest.json +193 -194
  3. package/dist/commands/blocks.d.ts +3 -0
  4. package/dist/commands/blocks.d.ts.map +1 -1
  5. package/dist/commands/blocks.js +128 -19
  6. package/dist/commands/blocks.js.map +1 -1
  7. package/dist/commands/doctor.d.ts +136 -0
  8. package/dist/commands/doctor.d.ts.map +1 -0
  9. package/dist/commands/doctor.js +696 -0
  10. package/dist/commands/doctor.js.map +1 -0
  11. package/dist/commands/remove-blocks.d.ts +4 -1
  12. package/dist/commands/remove-blocks.d.ts.map +1 -1
  13. package/dist/commands/remove-blocks.js +24 -6
  14. package/dist/commands/remove-blocks.js.map +1 -1
  15. package/dist/index.js +125 -4
  16. package/dist/index.js.map +1 -1
  17. package/dist/kits/blocks/.nextworks/docs/BLOCKS_QUICKSTART.md +104 -194
  18. package/dist/kits/blocks/.nextworks/docs/BLOCKS_README.md +115 -75
  19. package/dist/kits/blocks/.nextworks/docs/THEME_GUIDE.md +269 -251
  20. package/dist/kits/blocks/app/templates/digitalagency/PresetThemeVars.tsx +80 -80
  21. package/dist/kits/blocks/app/templates/digitalagency/README.md +42 -36
  22. package/dist/kits/blocks/app/templates/digitalagency/components/About.tsx +71 -99
  23. package/dist/kits/blocks/app/templates/digitalagency/components/CTA.tsx +40 -74
  24. package/dist/kits/blocks/app/templates/digitalagency/components/Contact.tsx +123 -227
  25. package/dist/kits/blocks/app/templates/digitalagency/components/Footer.tsx +89 -89
  26. package/dist/kits/blocks/app/templates/digitalagency/components/Hero.tsx +83 -90
  27. package/dist/kits/blocks/app/templates/digitalagency/components/Navbar.tsx +121 -168
  28. package/dist/kits/blocks/app/templates/digitalagency/components/NetworkPattern.tsx +288 -297
  29. package/dist/kits/blocks/app/templates/digitalagency/components/Portfolio.tsx +157 -157
  30. package/dist/kits/blocks/app/templates/digitalagency/components/Pricing.tsx +114 -114
  31. package/dist/kits/blocks/app/templates/digitalagency/components/Process.tsx +59 -59
  32. package/dist/kits/blocks/app/templates/digitalagency/components/Services.tsx +55 -55
  33. package/dist/kits/blocks/app/templates/digitalagency/components/Team.tsx +28 -28
  34. package/dist/kits/blocks/app/templates/digitalagency/components/Testimonials.tsx +65 -65
  35. package/dist/kits/blocks/app/templates/digitalagency/page.tsx +38 -38
  36. package/dist/kits/blocks/app/templates/gallery/PresetThemeVars.tsx +130 -85
  37. package/dist/kits/blocks/app/templates/gallery/page.tsx +357 -303
  38. package/dist/kits/blocks/app/templates/productlaunch/PresetThemeVars.tsx +75 -74
  39. package/dist/kits/blocks/app/templates/productlaunch/README.md +62 -55
  40. package/dist/kits/blocks/app/templates/productlaunch/components/About.tsx +84 -178
  41. package/dist/kits/blocks/app/templates/productlaunch/components/CTA.tsx +50 -93
  42. package/dist/kits/blocks/app/templates/productlaunch/components/Contact.tsx +231 -231
  43. package/dist/kits/blocks/app/templates/productlaunch/components/FAQ.tsx +86 -93
  44. package/dist/kits/blocks/app/templates/productlaunch/components/Features.tsx +83 -84
  45. package/dist/kits/blocks/app/templates/productlaunch/components/Footer.tsx +132 -132
  46. package/dist/kits/blocks/app/templates/productlaunch/components/Hero.tsx +88 -89
  47. package/dist/kits/blocks/app/templates/productlaunch/components/Navbar.tsx +116 -162
  48. package/dist/kits/blocks/app/templates/productlaunch/components/Pricing.tsx +106 -106
  49. package/dist/kits/blocks/app/templates/productlaunch/components/ProcessTimeline.tsx +110 -110
  50. package/dist/kits/blocks/app/templates/productlaunch/components/ServicesGrid.tsx +68 -68
  51. package/dist/kits/blocks/app/templates/productlaunch/components/Team.tsx +104 -104
  52. package/dist/kits/blocks/app/templates/productlaunch/components/Testimonials.tsx +90 -89
  53. package/dist/kits/blocks/app/templates/productlaunch/components/TrustBadges.tsx +76 -76
  54. package/dist/kits/blocks/app/templates/productlaunch/page.tsx +43 -43
  55. package/dist/kits/blocks/app/templates/saasdashboard/PresetThemeVars.tsx +80 -80
  56. package/dist/kits/blocks/app/templates/saasdashboard/README.md +44 -38
  57. package/dist/kits/blocks/app/templates/saasdashboard/components/Contact.tsx +129 -176
  58. package/dist/kits/blocks/app/templates/saasdashboard/components/Dashboard.tsx +293 -293
  59. package/dist/kits/blocks/app/templates/saasdashboard/components/FAQ.tsx +55 -55
  60. package/dist/kits/blocks/app/templates/saasdashboard/components/Features.tsx +90 -91
  61. package/dist/kits/blocks/app/templates/saasdashboard/components/Footer.tsx +77 -77
  62. package/dist/kits/blocks/app/templates/saasdashboard/components/Hero.tsx +104 -105
  63. package/dist/kits/blocks/app/templates/saasdashboard/components/Hero_mask.tsx +126 -127
  64. package/dist/kits/blocks/app/templates/saasdashboard/components/Navbar.tsx +117 -159
  65. package/dist/kits/blocks/app/templates/saasdashboard/components/Pricing.tsx +90 -90
  66. package/dist/kits/blocks/app/templates/saasdashboard/components/SmoothScroll.tsx +96 -97
  67. package/dist/kits/blocks/app/templates/saasdashboard/components/Testimonials.tsx +72 -72
  68. package/dist/kits/blocks/app/templates/saasdashboard/components/TrustBadges.tsx +53 -53
  69. package/dist/kits/blocks/app/templates/saasdashboard/page.tsx +39 -39
  70. package/dist/kits/blocks/components/enhanced-theme-provider.tsx +195 -183
  71. package/dist/kits/blocks/components/providers/BlocksAppProviders.tsx +27 -27
  72. package/dist/kits/blocks/components/sections/About.tsx +291 -291
  73. package/dist/kits/blocks/components/sections/CTA.tsx +257 -258
  74. package/dist/kits/blocks/components/sections/CommandShowcase.tsx +517 -0
  75. package/dist/kits/blocks/components/sections/Contact.tsx +267 -267
  76. package/dist/kits/blocks/components/sections/FAQ.tsx +214 -225
  77. package/dist/kits/blocks/components/sections/FeaturedProjectShowcase.tsx +687 -0
  78. package/dist/kits/blocks/components/sections/Features.tsx +268 -270
  79. package/dist/kits/blocks/components/sections/Footer.tsx +302 -302
  80. package/dist/kits/blocks/components/sections/HeroMotion.tsx +308 -308
  81. package/dist/kits/blocks/components/sections/HeroOverlay.tsx +358 -358
  82. package/dist/kits/blocks/components/sections/HeroProductDemo.tsx +246 -0
  83. package/dist/kits/blocks/components/sections/HeroSplit.tsx +352 -352
  84. package/dist/kits/blocks/components/sections/HeroWithVideo.tsx +495 -0
  85. package/dist/kits/blocks/components/sections/Navbar.tsx +352 -353
  86. package/dist/kits/blocks/components/sections/PortfolioSimple.tsx +549 -550
  87. package/dist/kits/blocks/components/sections/Pricing.tsx +264 -264
  88. package/dist/kits/blocks/components/sections/ProcessTimeline.tsx +325 -325
  89. package/dist/kits/blocks/components/sections/ProjectDeepDive.tsx +805 -0
  90. package/dist/kits/blocks/components/sections/SelectedWorkRail.tsx +485 -0
  91. package/dist/kits/blocks/components/sections/ServicesGrid.tsx +210 -210
  92. package/dist/kits/blocks/components/sections/Team.tsx +309 -309
  93. package/dist/kits/blocks/components/sections/Testimonials.tsx +158 -158
  94. package/dist/kits/blocks/components/sections/TrustBadges.tsx +162 -162
  95. package/dist/kits/blocks/components/sections/product-demo/ApprovalInboxPanel.tsx +128 -0
  96. package/dist/kits/blocks/components/sections/product-demo/DemoStage.tsx +519 -0
  97. package/dist/kits/blocks/components/sections/product-demo/DemoWindow.tsx +140 -0
  98. package/dist/kits/blocks/components/sections/product-demo/KnowledgePanel.tsx +130 -0
  99. package/dist/kits/blocks/components/sections/product-demo/RunConsolePanel.tsx +430 -0
  100. package/dist/kits/blocks/components/sections/product-demo/TaskListPanel.tsx +302 -0
  101. package/dist/kits/blocks/components/sections/product-demo/WorkflowStudioPanel.tsx +744 -0
  102. package/dist/kits/blocks/components/sections/product-demo/types.ts +262 -0
  103. package/dist/kits/blocks/components/theme-provider.tsx +1 -34
  104. package/dist/kits/blocks/components/ui/alert-dialog.tsx +134 -134
  105. package/dist/kits/blocks/components/ui/brand-node.tsx +121 -121
  106. package/dist/kits/blocks/components/ui/button.tsx +122 -122
  107. package/dist/kits/blocks/components/ui/card.tsx +95 -95
  108. package/dist/kits/blocks/components/ui/checkbox.tsx +30 -30
  109. package/dist/kits/blocks/components/ui/cta-button.tsx +125 -125
  110. package/dist/kits/blocks/components/ui/dropdown-menu.tsx +201 -201
  111. package/dist/kits/blocks/components/ui/feature-card.tsx +91 -91
  112. package/dist/kits/blocks/components/ui/input.tsx +27 -27
  113. package/dist/kits/blocks/components/ui/label.tsx +29 -29
  114. package/dist/kits/blocks/components/ui/pricing-card.tsx +120 -120
  115. package/dist/kits/blocks/components/ui/select.tsx +25 -25
  116. package/dist/kits/blocks/components/ui/skeleton.tsx +13 -13
  117. package/dist/kits/blocks/components/ui/table.tsx +98 -98
  118. package/dist/kits/blocks/components/ui/testimonial-card.tsx +108 -108
  119. package/dist/kits/blocks/components/ui/textarea.tsx +26 -26
  120. package/dist/kits/blocks/components/ui/theme-selector.tsx +243 -247
  121. package/dist/kits/blocks/components/ui/theme-toggle.tsx +74 -74
  122. package/dist/kits/blocks/components/ui/toaster.tsx +7 -7
  123. package/dist/kits/blocks/lib/themes.ts +400 -400
  124. package/dist/kits/blocks/lib/utils.ts +6 -9
  125. package/dist/kits/blocks/package-deps.json +40 -28
  126. package/dist/kits/blocks/tsconfig.json +11 -0
  127. package/dist/kits/blocks/tsconfig.tsbuildinfo +1 -0
  128. package/dist/utils/file-operations.d.ts +3 -1
  129. package/dist/utils/file-operations.d.ts.map +1 -1
  130. package/dist/utils/file-operations.js +84 -12
  131. package/dist/utils/file-operations.js.map +1 -1
  132. package/dist/utils/installation-tracker.d.ts +2 -2
  133. package/dist/utils/installation-tracker.d.ts.map +1 -1
  134. package/dist/utils/installation-tracker.js +11 -11
  135. package/dist/utils/installation-tracker.js.map +1 -1
  136. package/dist/utils/package-manager.d.ts +6 -0
  137. package/dist/utils/package-manager.d.ts.map +1 -0
  138. package/dist/utils/package-manager.js +58 -0
  139. package/dist/utils/package-manager.js.map +1 -0
  140. package/dist/utils/yarn-pnp.d.ts +6 -0
  141. package/dist/utils/yarn-pnp.d.ts.map +1 -0
  142. package/dist/utils/yarn-pnp.js +39 -0
  143. package/dist/utils/yarn-pnp.js.map +1 -0
  144. package/package.json +5 -2
  145. package/dist/kits/blocks/notes/THEME_GUIDE.md +0 -29
@@ -1,55 +1,55 @@
1
- "use client";
2
-
3
- import { FAQ as SharedFAQ } from "@/components/sections/FAQ";
4
-
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:
26
- "Yes — we offer team pricing and discounts for annual subscriptions.",
27
- },
28
- ];
29
-
30
- export function FAQ() {
31
- return (
32
- <SharedFAQ
33
- faqData={defaultFAQArray}
34
- faqSectionHeaderText="Frequently Asked Questions"
35
- section={{ className: "py-10 px-5 bg-background text-[var(--card-fg)]" }}
36
- heading={{
37
- className:
38
- "text-3xl font-bold font-inter text-center mb-6 text-[var(--heading-fg)]",
39
- }}
40
- grid={{ className: "grid grid-cols-2 gap-4" }}
41
- item={{ className: "mb-0" }}
42
- questionButton={{
43
- className:
44
- "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)]",
45
- }}
46
- questionText={{ className: "font-inter font-semibold text-base" }}
47
- answer={{
48
- className:
49
- "mt-1 rounded-lg bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)]",
50
- }}
51
- answerText={{ className: "font-inter text-base text-[var(--card-fg)]" }}
52
- allowMultipleOpen={true}
53
- />
54
- );
55
- }
1
+ "use client";
2
+
3
+ import { FAQ as SharedFAQ } from "@/components/sections/FAQ";
4
+
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:
26
+ "Yes — we offer team pricing and discounts for annual subscriptions.",
27
+ },
28
+ ];
29
+
30
+ export function FAQ() {
31
+ return (
32
+ <SharedFAQ
33
+ faqData={defaultFAQArray}
34
+ faqSectionHeaderText="Frequently Asked Questions"
35
+ section={{ className: "py-10 px-5 bg-background text-[var(--card-fg)]" }}
36
+ heading={{
37
+ className:
38
+ "text-3xl font-bold font-inter text-center mb-6 text-[var(--heading-fg)]",
39
+ }}
40
+ grid={{ className: "grid grid-cols-2 gap-4" }}
41
+ item={{ className: "mb-0" }}
42
+ questionButton={{
43
+ className:
44
+ "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)]",
45
+ }}
46
+ questionText={{ className: "font-inter font-semibold text-base" }}
47
+ answer={{
48
+ className:
49
+ "mt-1 rounded-lg bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)]",
50
+ }}
51
+ answerText={{ className: "font-inter text-base text-[var(--card-fg)]" }}
52
+ allowMultipleOpen={true}
53
+ />
54
+ );
55
+ }
@@ -1,91 +1,90 @@
1
- "use client";
2
-
3
- import { Features as SharedFeatures } from "@/components/sections/Features";
4
- import { cn } from "@/lib/utils";
5
-
6
- const defaultFeaturesData = [
7
- {
8
- imageSrc: "/placeholders/saas_dashboard/projectBoard.png",
9
- imageAlt: "Project Management Dashboard",
10
- headingText: "Track Every Project",
11
- subheadingText:
12
- "Kanban boards, Gantt charts, and timeline views keep your team aligned and deadlines met",
13
- },
14
- {
15
- imageSrc: "/placeholders/saas_dashboard/analytics.png",
16
- imageAlt: "Analytics Dashboard",
17
- headingText: "Data-Driven Insights",
18
- subheadingText:
19
- "Real-time metrics, custom reports, and forecasting tools to make smarter business decisions",
20
- },
21
- {
22
- imageSrc: "/placeholders/saas_dashboard/chat.png",
23
- imageAlt: "Team Collaboration Tools",
24
- headingText: "Seamless Teamwork",
25
- subheadingText:
26
- "Built-in chat, file sharing, and @mentions keep everyone connected and productive",
27
- },
28
- ];
29
-
30
- export function Features() {
31
- return (
32
- <SharedFeatures
33
- sectionHeading="Everything You Need to Run Your Business"
34
- sectionSubheading="Powerful tools and insights to streamline your workflow and boost productivity"
35
- featuresData={defaultFeaturesData}
36
- className={cn("relative")}
37
- section={{ className: "py-16 md:py-20 lg:py-24 bg-background" }}
38
- container={{ className: "max-w-7xl mx-auto px-4 md:px-6 lg:px-8" }}
39
- header={{ className: "text-center mb-12 md:mb-16" }}
40
- heading={{
41
- className: cn(
42
- "font-inter mb-4 text-3xl font-bold text-[var(--heading-fg)] md:text-4xl lg:text-5xl",
43
- ),
44
- }}
45
- subheading={{
46
- className: cn(
47
- "font-inter mx-auto max-w-3xl text-lg leading-relaxed text-[var(--subheading-fg)] md:text-xl",
48
- ),
49
- }}
50
- grid={{
51
- className:
52
- "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 md:gap-8",
53
- }}
54
- cardWrapper={{
55
- className:
56
- "group motion-reduce:transform-none motion-reduce:transition-none",
57
- }}
58
- card={{
59
- className:
60
- "h-full transition-all duration-300 hover:-translate-y-2 hover:shadow-xl bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)] rounded-lg shadow-md overflow-hidden",
61
- }}
62
- image={{
63
- className:
64
- "w-full h-48 md:h-56 object-cover transition-transform duration-300 group-hover:scale-[1.03]",
65
- }}
66
- cardHeading={{
67
- className: cn(
68
- "font-inter mb-3 text-xl leading-tight font-semibold text-[var(--card-title-fg)] md:text-2xl",
69
- ),
70
- }}
71
- cardSubheading={{
72
- className: cn(
73
- "font-inter text-sm leading-relaxed text-[var(--card-muted-fg)] md:text-base",
74
- ),
75
- }}
76
- // Motion config showcasing upgraded API
77
- motionConfig={{
78
- initial: { opacity: 0, y: 12 },
79
- whileInView: { opacity: 1, y: 0 },
80
- viewport: { once: true, amount: 0.2 },
81
- transition: {
82
- type: "spring",
83
- stiffness: 125,
84
- damping: 50,
85
- delay: 0.12,
86
- },
87
- }}
88
- ariaLabel="Features section"
89
- />
90
- );
91
- }
1
+ "use client";
2
+
3
+ import { Features as SharedFeatures } from "@/components/sections/Features";
4
+ import { cn } from "@/lib/utils";
5
+
6
+ const defaultFeaturesData = [
7
+ {
8
+ imageSrc: "/placeholders/saas_dashboard/projectBoard.png",
9
+ imageAlt: "Project Management Dashboard",
10
+ headingText: "Track Every Project",
11
+ subheadingText:
12
+ "Kanban boards, Gantt charts, and timeline views keep your team aligned and deadlines met",
13
+ },
14
+ {
15
+ imageSrc: "/placeholders/saas_dashboard/analytics.png",
16
+ imageAlt: "Analytics Dashboard",
17
+ headingText: "Data-Driven Insights",
18
+ subheadingText:
19
+ "Real-time metrics, custom reports, and forecasting tools to make smarter business decisions",
20
+ },
21
+ {
22
+ imageSrc: "/placeholders/saas_dashboard/chat.png",
23
+ imageAlt: "Team Collaboration Tools",
24
+ headingText: "Seamless Teamwork",
25
+ subheadingText:
26
+ "Built-in chat, file sharing, and @mentions keep everyone connected and productive",
27
+ },
28
+ ];
29
+
30
+ export function Features() {
31
+ return (
32
+ <SharedFeatures
33
+ sectionHeading="Everything You Need to Run Your Business"
34
+ sectionSubheading="Powerful tools and insights to streamline your workflow and boost productivity"
35
+ featuresData={defaultFeaturesData}
36
+ className={cn("relative")}
37
+ section={{ className: "py-16 md:py-20 lg:py-24 bg-background" }}
38
+ container={{ className: "max-w-7xl mx-auto px-4 md:px-6 lg:px-8" }}
39
+ header={{ className: "text-center mb-12 md:mb-16" }}
40
+ heading={{
41
+ className: cn(
42
+ "font-inter mb-4 text-3xl font-bold text-[var(--heading-fg)] md:text-4xl lg:text-5xl",
43
+ ),
44
+ }}
45
+ subheading={{
46
+ className: cn(
47
+ "font-inter mx-auto max-w-3xl text-lg leading-relaxed text-[var(--subheading-fg)] md:text-xl",
48
+ ),
49
+ }}
50
+ grid={{
51
+ className:
52
+ "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 md:gap-8",
53
+ }}
54
+ cardWrapper={{
55
+ className:
56
+ "group motion-reduce:transform-none motion-reduce:transition-none",
57
+ }}
58
+ card={{
59
+ className:
60
+ "h-full transition-all duration-300 hover:-translate-y-2 hover:shadow-xl bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)] rounded-lg shadow-md overflow-hidden",
61
+ }}
62
+ image={{
63
+ className:
64
+ "w-full h-48 md:h-56 object-cover transition-transform duration-300 group-hover:scale-[1.03]",
65
+ }}
66
+ cardHeading={{
67
+ className: cn(
68
+ "font-inter mb-3 text-xl leading-tight font-semibold text-[var(--card-title-fg)] md:text-2xl",
69
+ ),
70
+ }}
71
+ cardSubheading={{
72
+ className: cn(
73
+ "font-inter text-sm leading-relaxed text-[var(--card-muted-fg)] md:text-base",
74
+ ),
75
+ }}
76
+ motionConfig={{
77
+ initial: { opacity: 0, y: 12 },
78
+ whileInView: { opacity: 1, y: 0 },
79
+ viewport: { once: true, amount: 0.2 },
80
+ transition: {
81
+ type: "spring",
82
+ stiffness: 125,
83
+ damping: 50,
84
+ delay: 0.12,
85
+ },
86
+ }}
87
+ ariaLabel="Features section"
88
+ />
89
+ );
90
+ }
@@ -1,77 +1,77 @@
1
- "use client";
2
-
3
- import { Footer as SharedFooter } from "@/components/sections/Footer";
4
- import { cn } from "@/lib/utils";
5
-
6
- const defaultNavLinks = [
7
- {
8
- heading: "Product",
9
- links: [
10
- { name: "Features", href: "#features" },
11
- { name: "Pricing", href: "#pricing" },
12
- { name: "Documentation", href: "#documentation" },
13
- { name: "FAQ", href: "#faq" },
14
- ],
15
- },
16
- {
17
- heading: "Company",
18
- links: [
19
- { name: "About", href: "#about" },
20
- { name: "Careers", href: "#careers" },
21
- { name: "Blog", href: "#blog" },
22
- { name: "Contact", href: "#contact" },
23
- ],
24
- },
25
- {
26
- heading: "Resources",
27
- links: [
28
- { name: "Help Center", href: "#help" },
29
- { name: "Terms of Service", href: "#terms" },
30
- { name: "Privacy Policy", href: "#privacy" },
31
- { name: "Status", href: "#status" },
32
- ],
33
- },
34
- ];
35
-
36
- export function Footer() {
37
- return (
38
- <SharedFooter
39
- footerBrandName="Dash Flow"
40
- footerNavLinks={defaultNavLinks}
41
- className={cn("w-full")}
42
- section={{
43
- className:
44
- "w-full bg-blue-50 dark:bg-gray-900 text-gray-800 dark:text-white",
45
- }}
46
- container={{ className: "max-w-7xl mx-auto px-6" }}
47
- brand={{
48
- className:
49
- "text-xl font-bold text-blue-600 dark:text-blue-400 font-outfit",
50
- }}
51
- brandWrapper={{
52
- className: "flex flex-col items-start text-left lg:pr-8",
53
- }}
54
- navSection={{
55
- className:
56
- "flex flex-col lg:flex-row items-start lg:items-start justify-center gap-8 lg:gap-12 pt-6.5 pb-8",
57
- }}
58
- navGroup={{ className: "flex flex-col items-start text-left pt-1.5" }}
59
- navHeading={{
60
- className:
61
- "font-semibold text-gray-800 dark:text-white mb-3 text-xs uppercase tracking-wider font-inter",
62
- }}
63
- navLink={{
64
- className:
65
- "text-gray-600 dark:text-gray-300 hover:text-blue-500 dark:hover:text-blue-400 transition-colors duration-200 text-xs mb-2 block font-inter",
66
- }}
67
- socialSection={{
68
- className: "flex items-center justify-center gap-4 py-4",
69
- }}
70
- copyright={{
71
- className:
72
- "text-center text-xs text-gray-500 dark:text-gray-400 py-4 border-t border-gray-200 dark:border-gray-700 font-inter",
73
- }}
74
- ariaLabel="Footer section"
75
- />
76
- );
77
- }
1
+ "use client";
2
+
3
+ import { Footer as SharedFooter } from "@/components/sections/Footer";
4
+ import { cn } from "@/lib/utils";
5
+
6
+ const defaultNavLinks = [
7
+ {
8
+ heading: "Product",
9
+ links: [
10
+ { name: "Features", href: "#features" },
11
+ { name: "Pricing", href: "#pricing" },
12
+ { name: "Documentation", href: "#documentation" },
13
+ { name: "FAQ", href: "#faq" },
14
+ ],
15
+ },
16
+ {
17
+ heading: "Company",
18
+ links: [
19
+ { name: "About", href: "#about" },
20
+ { name: "Careers", href: "#careers" },
21
+ { name: "Blog", href: "#blog" },
22
+ { name: "Contact", href: "#contact" },
23
+ ],
24
+ },
25
+ {
26
+ heading: "Resources",
27
+ links: [
28
+ { name: "Help Center", href: "#help" },
29
+ { name: "Terms of Service", href: "#terms" },
30
+ { name: "Privacy Policy", href: "#privacy" },
31
+ { name: "Status", href: "#status" },
32
+ ],
33
+ },
34
+ ];
35
+
36
+ export function Footer() {
37
+ return (
38
+ <SharedFooter
39
+ footerBrandName="Dash Flow"
40
+ footerNavLinks={defaultNavLinks}
41
+ className={cn("w-full")}
42
+ section={{
43
+ className:
44
+ "w-full bg-blue-50 dark:bg-gray-900 text-gray-800 dark:text-white",
45
+ }}
46
+ container={{ className: "max-w-7xl mx-auto px-6" }}
47
+ brand={{
48
+ className:
49
+ "text-xl font-bold text-blue-600 dark:text-blue-400 font-outfit",
50
+ }}
51
+ brandWrapper={{
52
+ className: "flex flex-col items-start text-left lg:pr-8",
53
+ }}
54
+ navSection={{
55
+ className:
56
+ "flex flex-col lg:flex-row items-start lg:items-start justify-center gap-8 lg:gap-12 pt-6.5 pb-8",
57
+ }}
58
+ navGroup={{ className: "flex flex-col items-start text-left pt-1.5" }}
59
+ navHeading={{
60
+ className:
61
+ "font-semibold text-gray-800 dark:text-white mb-3 text-xs uppercase tracking-wider font-inter",
62
+ }}
63
+ navLink={{
64
+ className:
65
+ "text-gray-600 dark:text-gray-300 hover:text-blue-500 dark:hover:text-blue-400 transition-colors duration-200 text-xs mb-2 block font-inter",
66
+ }}
67
+ socialSection={{
68
+ className: "flex items-center justify-center gap-4 py-4",
69
+ }}
70
+ copyright={{
71
+ className:
72
+ "text-center text-xs text-gray-500 dark:text-gray-400 py-4 border-t border-gray-200 dark:border-gray-700 font-inter",
73
+ }}
74
+ ariaLabel="Footer section"
75
+ />
76
+ );
77
+ }
@@ -1,105 +1,104 @@
1
- "use client";
2
-
3
- import { HeroSplit as SharedHeroSplit } from "@/components/sections/HeroSplit";
4
- import { Dashboard } from "./Dashboard";
5
- import { cn } from "@/lib/utils";
6
-
7
- const stats = [
8
- { value: "$124K", label: "Monthly Revenue" },
9
- { value: "+23%", label: "Growth Rate" },
10
- { value: "847", label: "Active Users" },
11
- ];
12
-
13
- const projects = ["Website Redesign", "Mobile App v2.0", "Marketing Campaign"];
14
-
15
- const floatingCards = [
16
- { position: "card-1", icon: "📊", text: "Real-time Analytics" },
17
- { position: "card-2", icon: "👥", text: "Team Collaboration" },
18
- ];
19
-
20
- const activeTab = "Analytics";
21
- const navItems = ["Analytics", "Projects", "Team"];
22
-
23
- export function Hero() {
24
- return (
25
- <div className="relative">
26
- <SharedHeroSplit
27
- className={cn("relative")}
28
- heading={{
29
- text: "Manage Your Entire Business From One Powerful Dashboard",
30
- className:
31
- "text-3xl md:text-4xl lg:text-5xl font-bold leading-tight font-inter text-[var(--heading-fg)]",
32
- }}
33
- subheading={{
34
- text: "Stop switching between 12 different apps. DashFlow combines project management, analytics, team chat, and customer insights in one beautiful interface.",
35
- className:
36
- "text-base md:text-lg mt-6 mb-8 max-w-2xl font-inter font-normal text-[var(--subheading-fg)]",
37
- }}
38
- section={{
39
- className:
40
- "relative pt-1 px-8 pb-8 bg-[var(--hero-bg)] dark:bg-[var(--hero-bg)]",
41
- }}
42
- cta1={{
43
- label: "Start Free Trial",
44
- href: "#contact",
45
- variant: "default",
46
- size: "lg",
47
- className: [
48
- "text-base font-semibold font-inter shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
49
- "[--btn-bg:theme(colors.sky.600)]",
50
- "hover:[--btn-hover-bg:theme(colors.sky.700)]",
51
- "[--btn-fg:theme(colors.white)]",
52
- "hover:[--btn-hover-fg:theme(colors.white)]",
53
- ].join(" "),
54
- }}
55
- cta2={{
56
- label: "Watch demo",
57
- href: "#demo",
58
- variant: "outline",
59
- size: "lg",
60
- className: [
61
- "text-base font-semibold font-inter shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
62
- "[--btn-fg:theme(colors.sky.600)]",
63
- "[--btn-border:theme(colors.sky.600)]",
64
- "hover:[--btn-hover-bg:theme(colors.sky.50)]",
65
- "hover:[--btn-hover-fg:theme(colors.sky.600)]",
66
- "dark:[--btn-fg:theme(colors.sky.500)]",
67
- "dark:[--btn-border:theme(colors.sky.500)]",
68
- "dark:hover:[--btn-hover-bg:theme(colors.sky.950)]",
69
- "dark:hover:[--btn-hover-fg:theme(colors.sky.500)]",
70
- ].join(" "),
71
- }}
72
- image={{ src: undefined, alt: "Dashboard preview" }}
73
- imageLayout="padded"
74
- fallback={
75
- <div className="flex h-full w-full items-center justify-center">
76
- <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">
77
- <Dashboard
78
- stats={stats}
79
- projects={projects}
80
- floatingCards={floatingCards}
81
- navItems={navItems}
82
- activeTab={activeTab}
83
- />
84
- </div>
85
- </div>
86
- }
87
- imageContainer={{
88
- className:
89
- "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",
90
- // "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",
91
- }}
92
- textContainer={{ className: "flex-1 p-5 lg:p-8" }}
93
- buttonsContainer={{
94
- className: [
95
- "flex flex-col sm:flex-row gap-4 mt-8 justify-center lg:justify-start",
96
- "[--btn-ring:theme(colors.sky.500)]",
97
- "dark:[--btn-ring:theme(colors.sky.400)]",
98
- ].join(" "),
99
- }}
100
- textAlign="center"
101
- ariaLabel="DashFlow hero section"
102
- />
103
- </div>
104
- );
105
- }
1
+ "use client";
2
+
3
+ import { HeroSplit as SharedHeroSplit } from "@/components/sections/HeroSplit";
4
+ import { Dashboard } from "./Dashboard";
5
+ import { cn } from "@/lib/utils";
6
+
7
+ const stats = [
8
+ { value: "$124K", label: "Monthly Revenue" },
9
+ { value: "+23%", label: "Growth Rate" },
10
+ { value: "847", label: "Active Users" },
11
+ ];
12
+
13
+ const projects = ["Website Redesign", "Mobile App v2.0", "Marketing Campaign"];
14
+
15
+ const floatingCards = [
16
+ { position: "card-1", icon: "📊", text: "Real-time Analytics" },
17
+ { position: "card-2", icon: "👥", text: "Team Collaboration" },
18
+ ];
19
+
20
+ const activeTab = "Analytics";
21
+ const navItems = ["Analytics", "Projects", "Team"];
22
+
23
+ export function Hero() {
24
+ return (
25
+ <div className="relative">
26
+ <SharedHeroSplit
27
+ className={cn("relative")}
28
+ heading={{
29
+ text: "Manage Your Entire Business From One Powerful Dashboard",
30
+ className:
31
+ "text-3xl md:text-4xl lg:text-5xl font-bold leading-tight font-inter text-[var(--heading-fg)]",
32
+ }}
33
+ subheading={{
34
+ text: "Stop switching between 12 different apps. DashFlow combines project management, analytics, team chat, and customer insights in one beautiful interface.",
35
+ className:
36
+ "text-base md:text-lg mt-6 mb-8 max-w-2xl font-inter font-normal text-[var(--subheading-fg)]",
37
+ }}
38
+ section={{
39
+ className:
40
+ "relative pt-1 px-8 pb-8 bg-[var(--hero-bg)] dark:bg-[var(--hero-bg)]",
41
+ }}
42
+ cta1={{
43
+ label: "Start Free Trial",
44
+ href: "#contact",
45
+ variant: "default",
46
+ size: "lg",
47
+ className: [
48
+ "text-base font-semibold font-inter shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
49
+ "[--btn-bg:theme(colors.sky.600)]",
50
+ "hover:[--btn-hover-bg:theme(colors.sky.700)]",
51
+ "[--btn-fg:theme(colors.white)]",
52
+ "hover:[--btn-hover-fg:theme(colors.white)]",
53
+ ].join(" "),
54
+ }}
55
+ cta2={{
56
+ label: "Watch demo",
57
+ href: "#demo",
58
+ variant: "outline",
59
+ size: "lg",
60
+ className: [
61
+ "text-base font-semibold font-inter shadow-lg hover:shadow-xl hover:-translate-y-0.5 transition-all duration-200 px-8 py-3",
62
+ "[--btn-fg:theme(colors.sky.600)]",
63
+ "[--btn-border:theme(colors.sky.600)]",
64
+ "hover:[--btn-hover-bg:theme(colors.sky.50)]",
65
+ "hover:[--btn-hover-fg:theme(colors.sky.600)]",
66
+ "dark:[--btn-fg:theme(colors.sky.500)]",
67
+ "dark:[--btn-border:theme(colors.sky.500)]",
68
+ "dark:hover:[--btn-hover-bg:theme(colors.sky.950)]",
69
+ "dark:hover:[--btn-hover-fg:theme(colors.sky.500)]",
70
+ ].join(" "),
71
+ }}
72
+ image={{ src: undefined, alt: "Dashboard preview" }}
73
+ imageLayout="padded"
74
+ fallback={
75
+ <div className="flex h-full w-full items-center justify-center">
76
+ <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">
77
+ <Dashboard
78
+ stats={stats}
79
+ projects={projects}
80
+ floatingCards={floatingCards}
81
+ navItems={navItems}
82
+ activeTab={activeTab}
83
+ />
84
+ </div>
85
+ </div>
86
+ }
87
+ imageContainer={{
88
+ className:
89
+ "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",
90
+ }}
91
+ textContainer={{ className: "flex-1 p-5 lg:p-8" }}
92
+ buttonsContainer={{
93
+ className: [
94
+ "flex flex-col sm:flex-row gap-4 mt-8 justify-center lg:justify-start",
95
+ "[--btn-ring:theme(colors.sky.500)]",
96
+ "dark:[--btn-ring:theme(colors.sky.400)]",
97
+ ].join(" "),
98
+ }}
99
+ textAlign="center"
100
+ ariaLabel="DashFlow hero section"
101
+ />
102
+ </div>
103
+ );
104
+ }