nextworks 0.2.0-alpha.2 → 0.2.0-alpha.20

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,227 +1,123 @@
1
- // app/templates/digitalagency/componets/Contact.tsx
2
-
3
- "use client";
4
-
5
- import React from "react";
6
- import {
7
- Contact as SharedContact,
8
- ContactField,
9
- } from "@/components/sections/Contact";
10
-
11
- const agencyContactFormData: ContactField[] = [
12
- {
13
- id: "name",
14
- label: "Your Full Name",
15
- placeholder: "John Smith",
16
- required: true,
17
- type: "text",
18
- },
19
- {
20
- id: "email",
21
- label: "Email Address",
22
- placeholder: "john@yourcompany.com",
23
- required: true,
24
- type: "email",
25
- },
26
- {
27
- id: "phone",
28
- label: "Phone Number",
29
- placeholder: "+1 (555) 123-4567",
30
- required: false,
31
- type: "tel",
32
- },
33
- {
34
- id: "company",
35
- label: "Company Name",
36
- placeholder: "Your Company LLC",
37
- required: false,
38
- type: "text",
39
- },
40
- {
41
- id: "projectType",
42
- label: "Service Interested In",
43
- placeholder: "e.g. Web Design, SEO, E-commerce, Branding",
44
- required: false,
45
- type: "text",
46
- },
47
- {
48
- id: "budget",
49
- label: "Project Budget (Optional)",
50
- placeholder: "e.g. $3,000 - $6,000",
51
- required: false,
52
- type: "text",
53
- },
54
- {
55
- id: "message",
56
- label: "Project Details",
57
- placeholder:
58
- "Tell us about your project goals, timeline, and any specific requirements...",
59
- required: true,
60
- type: "textarea",
61
- },
62
- ];
63
-
64
- export function Contact() {
65
- const handleFormSubmit = (e: React.FormEvent<HTMLFormElement>) => {
66
- e.preventDefault();
67
- const data = Object.fromEntries(new FormData(e.currentTarget).entries());
68
- console.log("Contact form submitted:", data);
69
- };
70
-
71
- return (
72
- <SharedContact
73
- id="contact"
74
- fields={agencyContactFormData}
75
- contactHeaderText="Let’s Talk Strategy"
76
- contactSubHeaderText="We’re here to help you grow — tell us how!"
77
- // Root and layout
78
- className="w-full"
79
- section={{ className: "py-16 px-4 bg-fuchsia-600 dark:bg-fuchsia-600" }}
80
- container={{ className: "mx-auto max-w-4xl" }}
81
- // Header slots (new)
82
- headerWrapper={{ className: "mb-8 text-center" }}
83
- headerText={{
84
- className:
85
- "text-4xl md:text-5xl font-bold font-poppins text-white tracking-tight",
86
- }}
87
- subheaderText={{
88
- className:
89
- "mt-3 text-lg md:text-xl font-inter text-white/90 px-4 md:px-14",
90
- }}
91
- // Form container
92
- form={{
93
- className:
94
- "bg-card p-8 rounded-lg shadow-md border border-border bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)]",
95
- }}
96
- // Fields wrapper and field item (new)
97
- fieldsWrapper={{ className: "space-y-4" }}
98
- field={{ className: "space-y-2" }}
99
- // Label + inputs (new)
100
- label={{
101
- className:
102
- "text-card-foreground text-sm font-medium font-poppins block",
103
- }}
104
- input={{
105
- className:
106
- "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)]",
107
- }}
108
- textarea={{
109
- className:
110
- "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)]",
111
- }}
112
- // Submit button (new split between wrapper/style/text)
113
- submitButtonWrapper={{ className: "pt-2" }}
114
- submitButtonStyle={{
115
- variant: "default",
116
- size: "lg",
117
- className:
118
- "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",
119
- }}
120
- submitButtonText="Schedule Free Consultation"
121
- onSubmit={handleFormSubmit}
122
- ariaLabel="Agency contact section"
123
- />
124
- );
125
- }
126
-
127
- // "use client";
128
-
129
- // import React from "react";
130
- // import {
131
- // Contact as SharedContact,
132
- // ContactField,
133
- // } from "@/components/sections/Contact";
134
-
135
- // const agencyContactFormData: ContactField[] = [
136
- // {
137
- // id: "name",
138
- // label: "Your Full Name",
139
- // placeholder: "John Smith",
140
- // required: true,
141
- // type: "text",
142
- // },
143
- // {
144
- // id: "email",
145
- // label: "Email Address",
146
- // placeholder: "john@yourcompany.com",
147
- // required: true,
148
- // type: "email",
149
- // },
150
- // {
151
- // id: "phone",
152
- // label: "Phone Number",
153
- // placeholder: "+1 (555) 123-4567",
154
- // required: false,
155
- // type: "tel",
156
- // },
157
- // {
158
- // id: "company",
159
- // label: "Company Name",
160
- // placeholder: "Your Company LLC",
161
- // required: false,
162
- // type: "text",
163
- // },
164
- // {
165
- // id: "projectType",
166
- // label: "Service Interested In",
167
- // placeholder: "e.g. Web Design, SEO, E-commerce, Branding",
168
- // required: false,
169
- // type: "text",
170
- // },
171
- // {
172
- // id: "budget",
173
- // label: "Project Budget (Optional)",
174
- // placeholder: "e.g. $3,000 - $6,000",
175
- // required: false,
176
- // type: "text",
177
- // },
178
- // {
179
- // id: "message",
180
- // label: "Project Details",
181
- // placeholder:
182
- // "Tell us about your project goals, timeline, and any specific requirements...",
183
- // required: true,
184
- // type: "textarea",
185
- // },
186
- // ];
187
-
188
- // export function Contact() {
189
- // const handleFormSubmit = (e: React.FormEvent<HTMLFormElement>) => {
190
- // e.preventDefault();
191
- // const data = Object.fromEntries(new FormData(e.currentTarget).entries());
192
- // console.log("Contact form submitted:", data);
193
- // };
194
-
195
- // return (
196
- // <section id="contact">
197
- // <SharedContact
198
- // fields={agencyContactFormData}
199
- // contactHeaderText="Let’s Talk Strategy"
200
- // contactSubHeaderText="We’re here to help you grow — tell us how!"
201
- // section={{ className: "py-16 px-4 bg-fuchsia-600 dark:bg-fuchsia-600" }}
202
- // container={{ className: "max-w-4xl mx-auto" }}
203
- // header={{
204
- // className:
205
- // "text-4xl md:text-5xl font-bold text-white text-center mb-4",
206
- // }}
207
- // subheader={{
208
- // className:
209
- // "text-xl md:text-2xl font-inter text-white text-center mb-8 px-6",
210
- // }}
211
- // form={{
212
- // className: "bg-white dark:bg-gray-800 p-8 rounded-lg shadow-md",
213
- // }}
214
- // submitButton={{
215
- // text: "Schedule Free Consultation",
216
- // variant: "default",
217
- // size: "lg",
218
- // className:
219
- // "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",
220
- // }}
221
- // onSubmit={handleFormSubmit}
222
- // />
223
- // </section>
224
- // );
225
- // }
226
-
227
- // export default Contact;
1
+ "use client";
2
+
3
+ import React from "react";
4
+ import {
5
+ Contact as SharedContact,
6
+ ContactField,
7
+ } from "@/components/sections/Contact";
8
+
9
+ const agencyContactFormData: ContactField[] = [
10
+ {
11
+ id: "name",
12
+ label: "Your Full Name",
13
+ placeholder: "John Smith",
14
+ required: true,
15
+ type: "text",
16
+ },
17
+ {
18
+ id: "email",
19
+ label: "Email Address",
20
+ placeholder: "john@yourcompany.com",
21
+ required: true,
22
+ type: "email",
23
+ },
24
+ {
25
+ id: "phone",
26
+ label: "Phone Number",
27
+ placeholder: "+1 (555) 123-4567",
28
+ required: false,
29
+ type: "tel",
30
+ },
31
+ {
32
+ id: "company",
33
+ label: "Company Name",
34
+ placeholder: "Your Company LLC",
35
+ required: false,
36
+ type: "text",
37
+ },
38
+ {
39
+ id: "projectType",
40
+ label: "Service Interested In",
41
+ placeholder: "e.g. Web Design, SEO, E-commerce, Branding",
42
+ required: false,
43
+ type: "text",
44
+ },
45
+ {
46
+ id: "budget",
47
+ label: "Project Budget (Optional)",
48
+ placeholder: "e.g. $3,000 - $6,000",
49
+ required: false,
50
+ type: "text",
51
+ },
52
+ {
53
+ id: "message",
54
+ label: "Project Details",
55
+ placeholder:
56
+ "Tell us about your project goals, timeline, and any specific requirements...",
57
+ required: true,
58
+ type: "textarea",
59
+ },
60
+ ];
61
+
62
+ export function Contact() {
63
+ const handleFormSubmit = (e: React.FormEvent<HTMLFormElement>) => {
64
+ e.preventDefault();
65
+ const data = Object.fromEntries(new FormData(e.currentTarget).entries());
66
+ console.log("Contact form submitted:", data);
67
+ };
68
+
69
+ return (
70
+ <SharedContact
71
+ id="contact"
72
+ fields={agencyContactFormData}
73
+ contactHeaderText="Let’s Talk Strategy"
74
+ contactSubHeaderText="We’re here to help you grow — tell us how!"
75
+ // Root and layout
76
+ className="w-full"
77
+ section={{ className: "py-16 px-4 bg-fuchsia-600 dark:bg-fuchsia-600" }}
78
+ container={{ className: "mx-auto max-w-4xl" }}
79
+ // Header slots
80
+ headerWrapper={{ className: "mb-8 text-center" }}
81
+ headerText={{
82
+ className:
83
+ "text-4xl md:text-5xl font-bold font-poppins text-white tracking-tight",
84
+ }}
85
+ subheaderText={{
86
+ className:
87
+ "mt-3 text-lg md:text-xl font-inter text-white/90 px-4 md:px-14",
88
+ }}
89
+ // Form container
90
+ form={{
91
+ className:
92
+ "bg-card p-8 rounded-lg shadow-md border border-border bg-[var(--card-bg)] text-[var(--card-fg)] border-[var(--card-border)]",
93
+ }}
94
+ // Fields wrapper and field item
95
+ fieldsWrapper={{ className: "space-y-4" }}
96
+ field={{ className: "space-y-2" }}
97
+ // Label + inputs
98
+ label={{
99
+ className:
100
+ "text-card-foreground text-sm font-medium font-poppins block",
101
+ }}
102
+ input={{
103
+ className:
104
+ "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)]",
105
+ }}
106
+ textarea={{
107
+ className:
108
+ "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)]",
109
+ }}
110
+ // Submit button
111
+ submitButtonWrapper={{ className: "pt-2" }}
112
+ submitButtonStyle={{
113
+ variant: "default",
114
+ size: "lg",
115
+ className:
116
+ "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",
117
+ }}
118
+ submitButtonText="Schedule Free Consultation"
119
+ onSubmit={handleFormSubmit}
120
+ ariaLabel="Agency contact section"
121
+ />
122
+ );
123
+ }
@@ -1,89 +1,89 @@
1
- "use client";
2
-
3
- import React from "react";
4
- import {
5
- Footer as SharedFooter,
6
- NavLinkGroup,
7
- } from "@/components/sections/Footer";
8
-
9
- const agencyNavLinks: NavLinkGroup[] = [
10
- {
11
- heading: "Services",
12
- links: [
13
- { name: "Web Design & Development", href: "#services" },
14
- { name: "SEO & Digital Marketing", href: "#services" },
15
- { name: "E-commerce Solutions", href: "#services" },
16
- { name: "Brand Identity & Design", href: "#services" },
17
- ],
18
- },
19
- {
20
- heading: "Company",
21
- links: [
22
- { name: "About Us", href: "#about" },
23
- { name: "Our Work", href: "#portfolio" },
24
- { name: "Process", href: "#process" },
25
- { name: "Contact", href: "#contact" },
26
- ],
27
- },
28
- {
29
- heading: "Resources",
30
- links: [
31
- { name: "Free Consultation", href: "#contact" },
32
- { name: "Case Studies", href: "#portfolio" },
33
- { name: "Get Quote", href: "#pricing" },
34
- { name: "Privacy Policy", href: "#privacy" },
35
- ],
36
- },
37
- ];
38
-
39
- /**
40
- * Upgraded preset Footer for the Digital Agency template
41
- * - Uses the shared Footer slot API
42
- * - Keeps brand distinct, flush-left; aligns top with nav headers
43
- */
44
- export function Footer() {
45
- return (
46
- <SharedFooter
47
- footerBrandName="Nexus Digital"
48
- footerNavLinks={agencyNavLinks}
49
- ariaLabel="Footer section"
50
- section={{
51
- className:
52
- "w-full bg-gray-100 dark:bg-gray-900 text-gray-800 dark:text-white",
53
- }}
54
- container={{ className: "max-w-7xl mx-auto px-6" }}
55
- brand={{
56
- className:
57
- "text-2xl font-bold font-poppins text-fuchsia-600 dark:text-fuchsia-400",
58
- }}
59
- brandWrapper={{
60
- className: "flex flex-col items-start text-left lg:pr-8",
61
- }}
62
- navSection={{
63
- className:
64
- "flex flex-col lg:flex-row items-start justify-center gap-8 lg:gap-12 pt-6.5 pb-8",
65
- }}
66
- navGroup={{ className: "flex flex-col items-start text-left pt-1.5" }}
67
- navHeading={{
68
- className:
69
- "font-bold font-poppins text-gray-800 dark:text-white mb-3 text-sm uppercase tracking-wider",
70
- }}
71
- navLink={{
72
- className:
73
- "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",
74
- }}
75
- socialSection={{
76
- className: "flex items-center justify-center gap-4 py-4",
77
- }}
78
- socialLink={{
79
- className:
80
- "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",
81
- }}
82
- socialIcon={{ className: "h-5 w-5" }}
83
- copyright={{
84
- className:
85
- "text-center text-xs text-gray-600 dark:text-gray-400 py-4 border-t border-gray-200 dark:border-gray-800 font-inter",
86
- }}
87
- />
88
- );
89
- }
1
+ "use client";
2
+
3
+ import React from "react";
4
+ import {
5
+ Footer as SharedFooter,
6
+ NavLinkGroup,
7
+ } from "@/components/sections/Footer";
8
+
9
+ const agencyNavLinks: NavLinkGroup[] = [
10
+ {
11
+ heading: "Services",
12
+ links: [
13
+ { name: "Web Design & Development", href: "#services" },
14
+ { name: "SEO & Digital Marketing", href: "#services" },
15
+ { name: "E-commerce Solutions", href: "#services" },
16
+ { name: "Brand Identity & Design", href: "#services" },
17
+ ],
18
+ },
19
+ {
20
+ heading: "Company",
21
+ links: [
22
+ { name: "About Us", href: "#about" },
23
+ { name: "Our Work", href: "#portfolio" },
24
+ { name: "Process", href: "#process" },
25
+ { name: "Contact", href: "#contact" },
26
+ ],
27
+ },
28
+ {
29
+ heading: "Resources",
30
+ links: [
31
+ { name: "Free Consultation", href: "#contact" },
32
+ { name: "Case Studies", href: "#portfolio" },
33
+ { name: "Get Quote", href: "#pricing" },
34
+ { name: "Privacy Policy", href: "#privacy" },
35
+ ],
36
+ },
37
+ ];
38
+
39
+ /**
40
+ * Preset Footer for the Digital Agency template
41
+ * - Uses the shared Footer slot API
42
+ * - Keeps brand distinct, flush-left; aligns top with nav headers
43
+ */
44
+ export function Footer() {
45
+ return (
46
+ <SharedFooter
47
+ footerBrandName="Nexus Digital"
48
+ footerNavLinks={agencyNavLinks}
49
+ ariaLabel="Footer section"
50
+ section={{
51
+ className:
52
+ "w-full bg-gray-100 dark:bg-gray-900 text-gray-800 dark:text-white",
53
+ }}
54
+ container={{ className: "max-w-7xl mx-auto px-6" }}
55
+ brand={{
56
+ className:
57
+ "text-2xl font-bold font-poppins text-fuchsia-600 dark:text-fuchsia-400",
58
+ }}
59
+ brandWrapper={{
60
+ className: "flex flex-col items-start text-left lg:pr-8",
61
+ }}
62
+ navSection={{
63
+ className:
64
+ "flex flex-col lg:flex-row items-start justify-center gap-8 lg:gap-12 pt-6.5 pb-8",
65
+ }}
66
+ navGroup={{ className: "flex flex-col items-start text-left pt-1.5" }}
67
+ navHeading={{
68
+ className:
69
+ "font-bold font-poppins text-gray-800 dark:text-white mb-3 text-sm uppercase tracking-wider",
70
+ }}
71
+ navLink={{
72
+ className:
73
+ "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",
74
+ }}
75
+ socialSection={{
76
+ className: "flex items-center justify-center gap-4 py-4",
77
+ }}
78
+ socialLink={{
79
+ className:
80
+ "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",
81
+ }}
82
+ socialIcon={{ className: "h-5 w-5" }}
83
+ copyright={{
84
+ className:
85
+ "text-center text-xs text-gray-600 dark:text-gray-400 py-4 border-t border-gray-200 dark:border-gray-800 font-inter",
86
+ }}
87
+ />
88
+ );
89
+ }