@xbg.solutions/create-frontend 1.1.1 → 1.2.0

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 (493) hide show
  1. package/bin/xbg-frontend.cjs +32 -0
  2. package/package.json +17 -3
  3. package/src/commands/add.cjs +470 -0
  4. package/src/commands/generate.cjs +24 -0
  5. package/src/manifest.json +1578 -0
  6. package/src/registry/advanced/ChartWrapper.svelte +587 -0
  7. package/src/registry/advanced/DataTable.svelte +645 -0
  8. package/src/registry/advanced/FormWizard.svelte +546 -0
  9. package/src/registry/advanced/ImageUpload.svelte +663 -0
  10. package/src/registry/advanced/index.ts +33 -0
  11. package/src/registry/atoms/calendar/Calendar.svelte +181 -0
  12. package/src/registry/atoms/calendar/index.ts +1 -0
  13. package/src/registry/atoms/dialog/Dialog.svelte +179 -0
  14. package/src/registry/atoms/dialog/DialogDescription.svelte +16 -0
  15. package/src/registry/atoms/dialog/DialogFooter.svelte +16 -0
  16. package/src/registry/atoms/dialog/DialogHeader.svelte +16 -0
  17. package/src/registry/atoms/dialog/DialogTitle.svelte +16 -0
  18. package/src/registry/atoms/dialog/index.ts +10 -0
  19. package/src/registry/atoms/icon/BrandIcon.svelte +47 -0
  20. package/src/registry/atoms/icon/DynamicIcon.svelte +49 -0
  21. package/src/registry/atoms/icon/index.ts +2 -0
  22. package/src/registry/atoms/legend/Legend.svelte +32 -0
  23. package/src/registry/atoms/legend/index.ts +1 -0
  24. package/src/registry/atoms/menu/MenuItem.svelte +85 -0
  25. package/src/registry/atoms/menu/index.ts +1 -0
  26. package/src/registry/atoms/message/Message.svelte +62 -0
  27. package/src/registry/atoms/message/index.ts +1 -0
  28. package/src/registry/atoms/nav/NavItem.svelte +67 -0
  29. package/src/registry/atoms/nav/index.ts +1 -0
  30. package/src/registry/atoms/notification-badge/NotificationBadge.svelte +30 -0
  31. package/src/registry/atoms/notification-badge/index.ts +1 -0
  32. package/src/registry/atoms/otp-input/OtpInput.svelte +108 -0
  33. package/src/registry/atoms/otp-input/index.ts +1 -0
  34. package/src/registry/atoms/select/Select.svelte +216 -0
  35. package/src/registry/atoms/select/index.ts +6 -0
  36. package/src/registry/atoms/settings-card/SettingsCard.svelte +48 -0
  37. package/src/registry/atoms/settings-card/index.ts +1 -0
  38. package/src/registry/atoms/sidebar-item/SidebarItem.svelte +90 -0
  39. package/src/registry/atoms/sidebar-item/index.ts +1 -0
  40. package/src/registry/atoms/statistic-card/StatisticCard.svelte +53 -0
  41. package/src/registry/atoms/statistic-card/index.ts +1 -0
  42. package/src/registry/atoms/text-editor/TextEditor.svelte +77 -0
  43. package/src/registry/atoms/text-editor/index.ts +1 -0
  44. package/src/registry/atoms/uploader/Uploader.svelte +102 -0
  45. package/src/registry/atoms/uploader/index.ts +1 -0
  46. package/src/registry/atoms/user-item/UserItem.svelte +39 -0
  47. package/src/registry/atoms/user-item/index.ts +1 -0
  48. package/src/registry/blocks/account-section/AccountSection01.svelte +112 -0
  49. package/src/registry/blocks/account-section/AccountSection02.svelte +190 -0
  50. package/src/registry/blocks/account-section/AccountSection03.svelte +161 -0
  51. package/src/registry/blocks/account-section/AccountSection04.svelte +164 -0
  52. package/src/registry/blocks/account-section/AccountSection05.svelte +76 -0
  53. package/src/registry/blocks/account-section/index.ts +5 -0
  54. package/src/registry/blocks/app-shell/AppShell01.svelte +74 -0
  55. package/src/registry/blocks/app-shell/AppShell02.svelte +87 -0
  56. package/src/registry/blocks/app-shell/AppShell03.svelte +79 -0
  57. package/src/registry/blocks/app-shell/AppShell04.svelte +177 -0
  58. package/src/registry/blocks/app-shell/index.ts +4 -0
  59. package/src/registry/blocks/auth/AuthSplitScreen.svelte +132 -0
  60. package/src/registry/blocks/auth/LoginBlock01.svelte +94 -0
  61. package/src/registry/blocks/auth/LoginBlock02.svelte +103 -0
  62. package/src/registry/blocks/auth/LoginBlock03.svelte +53 -0
  63. package/src/registry/blocks/auth/LoginBlock04.svelte +99 -0
  64. package/src/registry/blocks/auth/LoginBlock05.svelte +101 -0
  65. package/src/registry/blocks/auth/OtpBlock01.svelte +115 -0
  66. package/src/registry/blocks/auth/OtpBlock02.svelte +113 -0
  67. package/src/registry/blocks/auth/OtpBlock03.svelte +143 -0
  68. package/src/registry/blocks/auth/OtpBlock04.svelte +122 -0
  69. package/src/registry/blocks/auth/OtpBlock05.svelte +81 -0
  70. package/src/registry/blocks/auth/SignupBlock01.svelte +103 -0
  71. package/src/registry/blocks/auth/SignupBlock02.svelte +94 -0
  72. package/src/registry/blocks/auth/SignupBlock03.svelte +120 -0
  73. package/src/registry/blocks/auth/SignupBlock04.svelte +112 -0
  74. package/src/registry/blocks/auth/SignupBlock05.svelte +77 -0
  75. package/src/registry/blocks/auth/index.ts +31 -0
  76. package/src/registry/blocks/banner/Banner01.svelte +67 -0
  77. package/src/registry/blocks/banner/Banner02.svelte +61 -0
  78. package/src/registry/blocks/banner/Banner03.svelte +54 -0
  79. package/src/registry/blocks/banner/Banner04.svelte +49 -0
  80. package/src/registry/blocks/banner/Banner05.svelte +47 -0
  81. package/src/registry/blocks/banner/index.ts +5 -0
  82. package/src/registry/blocks/bento-grid/BentoGrid01.svelte +92 -0
  83. package/src/registry/blocks/bento-grid/BentoGrid02.svelte +79 -0
  84. package/src/registry/blocks/bento-grid/BentoGrid03.svelte +79 -0
  85. package/src/registry/blocks/bento-grid/BentoGrid04.svelte +58 -0
  86. package/src/registry/blocks/bento-grid/BentoGrid05.svelte +92 -0
  87. package/src/registry/blocks/bento-grid/BentoGrid06.svelte +42 -0
  88. package/src/registry/blocks/bento-grid/index.ts +14 -0
  89. package/src/registry/blocks/blog-section/BlogSection01.svelte +100 -0
  90. package/src/registry/blocks/blog-section/BlogSection02.svelte +93 -0
  91. package/src/registry/blocks/blog-section/BlogSection03.svelte +92 -0
  92. package/src/registry/blocks/blog-section/BlogSection04.svelte +97 -0
  93. package/src/registry/blocks/blog-section/BlogSection05.svelte +120 -0
  94. package/src/registry/blocks/blog-section/index.ts +15 -0
  95. package/src/registry/blocks/buttons/ButtonBookmark.svelte +37 -0
  96. package/src/registry/blocks/buttons/ButtonLike.svelte +37 -0
  97. package/src/registry/blocks/buttons/ButtonMenu.svelte +37 -0
  98. package/src/registry/blocks/buttons/ButtonSplitDropdown.svelte +46 -0
  99. package/src/registry/blocks/buttons/ButtonStepper.svelte +55 -0
  100. package/src/registry/blocks/buttons/ButtonSteps.svelte +73 -0
  101. package/src/registry/blocks/buttons/ButtonToggleGroup.svelte +35 -0
  102. package/src/registry/blocks/buttons/ButtonsGroup.svelte +63 -0
  103. package/src/registry/blocks/buttons/SocialButtonsHorizontal.svelte +41 -0
  104. package/src/registry/blocks/buttons/SocialButtonsVertical.svelte +53 -0
  105. package/src/registry/blocks/buttons/index.ts +10 -0
  106. package/src/registry/blocks/calendar/CalendarBlock01.svelte +169 -0
  107. package/src/registry/blocks/calendar/CalendarBlock02.svelte +133 -0
  108. package/src/registry/blocks/calendar/CalendarBlock03.svelte +194 -0
  109. package/src/registry/blocks/calendar/CalendarBlock04.svelte +96 -0
  110. package/src/registry/blocks/calendar/CalendarBlock05.svelte +97 -0
  111. package/src/registry/blocks/calendar/CalendarBlock06.svelte +98 -0
  112. package/src/registry/blocks/calendar/CalendarBlock07.svelte +109 -0
  113. package/src/registry/blocks/calendar/CalendarBlock08.svelte +71 -0
  114. package/src/registry/blocks/calendar/CalendarBlock09.svelte +99 -0
  115. package/src/registry/blocks/calendar/CalendarBlock10.svelte +88 -0
  116. package/src/registry/blocks/calendar/CalendarBlock11.svelte +99 -0
  117. package/src/registry/blocks/calendar/CalendarBlock12.svelte +121 -0
  118. package/src/registry/blocks/calendar/CalendarBlock13.svelte +92 -0
  119. package/src/registry/blocks/calendar/CalendarBlock14.svelte +71 -0
  120. package/src/registry/blocks/calendar/CalendarBlock15.svelte +96 -0
  121. package/src/registry/blocks/calendar/CalendarBlock16.svelte +98 -0
  122. package/src/registry/blocks/calendar/CalendarBlock17.svelte +88 -0
  123. package/src/registry/blocks/calendar/CalendarBlock18.svelte +84 -0
  124. package/src/registry/blocks/calendar/CalendarBlock19.svelte +105 -0
  125. package/src/registry/blocks/calendar/CalendarBlock20.svelte +78 -0
  126. package/src/registry/blocks/calendar/CalendarBlock21.svelte +115 -0
  127. package/src/registry/blocks/calendar/CalendarBlock22.svelte +136 -0
  128. package/src/registry/blocks/calendar/CalendarBlock23.svelte +112 -0
  129. package/src/registry/blocks/calendar/CalendarBlock24.svelte +116 -0
  130. package/src/registry/blocks/calendar/CalendarBlock25.svelte +144 -0
  131. package/src/registry/blocks/calendar/CalendarBlock26.svelte +163 -0
  132. package/src/registry/blocks/calendar/CalendarBlock27.svelte +112 -0
  133. package/src/registry/blocks/calendar/CalendarBlock28.svelte +109 -0
  134. package/src/registry/blocks/calendar/CalendarBlock29.svelte +126 -0
  135. package/src/registry/blocks/calendar/CalendarBlock30.svelte +122 -0
  136. package/src/registry/blocks/calendar/CalendarBlock31.svelte +161 -0
  137. package/src/registry/blocks/calendar/CalendarBlock32.svelte +154 -0
  138. package/src/registry/blocks/calendar/index.ts +32 -0
  139. package/src/registry/blocks/card/Card01.svelte +69 -0
  140. package/src/registry/blocks/card/Card02.svelte +50 -0
  141. package/src/registry/blocks/card/Card03.svelte +60 -0
  142. package/src/registry/blocks/card/Card04.svelte +89 -0
  143. package/src/registry/blocks/card/Card05.svelte +51 -0
  144. package/src/registry/blocks/card/Card06.svelte +77 -0
  145. package/src/registry/blocks/card/Card07.svelte +35 -0
  146. package/src/registry/blocks/card/Card08.svelte +36 -0
  147. package/src/registry/blocks/card/index.ts +8 -0
  148. package/src/registry/blocks/cart/Cart01.svelte +183 -0
  149. package/src/registry/blocks/cart/Cart02.svelte +103 -0
  150. package/src/registry/blocks/cart/Cart03.svelte +38 -0
  151. package/src/registry/blocks/cart/Cart04.svelte +174 -0
  152. package/src/registry/blocks/cart/index.ts +4 -0
  153. package/src/registry/blocks/checkout/Checkout01.svelte +237 -0
  154. package/src/registry/blocks/checkout/Checkout02.svelte +205 -0
  155. package/src/registry/blocks/checkout/Checkout03.svelte +189 -0
  156. package/src/registry/blocks/checkout/Checkout04.svelte +109 -0
  157. package/src/registry/blocks/checkout/index.ts +4 -0
  158. package/src/registry/blocks/comparison-section/ComparisonSection01.svelte +116 -0
  159. package/src/registry/blocks/comparison-section/ComparisonSection02.svelte +98 -0
  160. package/src/registry/blocks/comparison-section/ComparisonSection03.svelte +93 -0
  161. package/src/registry/blocks/comparison-section/ComparisonSection04.svelte +98 -0
  162. package/src/registry/blocks/comparison-section/ComparisonSection05.svelte +119 -0
  163. package/src/registry/blocks/comparison-section/ComparisonSection06.svelte +154 -0
  164. package/src/registry/blocks/comparison-section/index.ts +6 -0
  165. package/src/registry/blocks/contact-section/ContactSection01.svelte +64 -0
  166. package/src/registry/blocks/contact-section/ContactSection02.svelte +108 -0
  167. package/src/registry/blocks/contact-section/ContactSection03.svelte +64 -0
  168. package/src/registry/blocks/contact-section/ContactSection04.svelte +30 -0
  169. package/src/registry/blocks/contact-section/ContactSection05.svelte +71 -0
  170. package/src/registry/blocks/contact-section/ContactSection06.svelte +88 -0
  171. package/src/registry/blocks/contact-section/index.ts +6 -0
  172. package/src/registry/blocks/cta/CTA01.svelte +44 -0
  173. package/src/registry/blocks/cta/CTA02.svelte +48 -0
  174. package/src/registry/blocks/cta/CTA03.svelte +53 -0
  175. package/src/registry/blocks/cta/CTA04.svelte +60 -0
  176. package/src/registry/blocks/cta/CTA05.svelte +53 -0
  177. package/src/registry/blocks/cta/CTA06.svelte +44 -0
  178. package/src/registry/blocks/cta/CTA07.svelte +39 -0
  179. package/src/registry/blocks/cta/index.ts +7 -0
  180. package/src/registry/blocks/dashboard/ChartsBlock01.svelte +275 -0
  181. package/src/registry/blocks/dashboard/DashboardBlock01.svelte +207 -0
  182. package/src/registry/blocks/dashboard/DashboardBlock02.svelte +259 -0
  183. package/src/registry/blocks/dashboard/DashboardBlock03.svelte +315 -0
  184. package/src/registry/blocks/dashboard/DashboardBlock04.svelte +220 -0
  185. package/src/registry/blocks/dashboard/DashboardBlock05.svelte +158 -0
  186. package/src/registry/blocks/dashboard/DashboardBlock06.svelte +173 -0
  187. package/src/registry/blocks/dashboard/DashboardBlock07.svelte +103 -0
  188. package/src/registry/blocks/dashboard/index.ts +16 -0
  189. package/src/registry/blocks/description-list/DescriptionList01.svelte +75 -0
  190. package/src/registry/blocks/description-list/DescriptionList02.svelte +50 -0
  191. package/src/registry/blocks/description-list/DescriptionList03.svelte +74 -0
  192. package/src/registry/blocks/description-list/DescriptionList04.svelte +88 -0
  193. package/src/registry/blocks/description-list/index.ts +4 -0
  194. package/src/registry/blocks/empty-lp/EmptyLP01.svelte +46 -0
  195. package/src/registry/blocks/empty-lp/EmptyLP02.svelte +49 -0
  196. package/src/registry/blocks/empty-lp/EmptyLP03.svelte +61 -0
  197. package/src/registry/blocks/empty-lp/EmptyLP04.svelte +37 -0
  198. package/src/registry/blocks/empty-lp/index.ts +4 -0
  199. package/src/registry/blocks/empty-section/EmptySection01.svelte +47 -0
  200. package/src/registry/blocks/empty-section/EmptySection02.svelte +93 -0
  201. package/src/registry/blocks/empty-section/EmptySection03.svelte +101 -0
  202. package/src/registry/blocks/empty-section/EmptySection04.svelte +76 -0
  203. package/src/registry/blocks/empty-section/index.ts +4 -0
  204. package/src/registry/blocks/faq-section/FaqSection01.svelte +114 -0
  205. package/src/registry/blocks/faq-section/FaqSection02.svelte +137 -0
  206. package/src/registry/blocks/faq-section/FaqSection03.svelte +107 -0
  207. package/src/registry/blocks/faq-section/FaqSection04.svelte +74 -0
  208. package/src/registry/blocks/faq-section/FaqSection05.svelte +69 -0
  209. package/src/registry/blocks/faq-section/index.ts +11 -0
  210. package/src/registry/blocks/feature-section/FeatureSection01.svelte +94 -0
  211. package/src/registry/blocks/feature-section/FeatureSection02.svelte +61 -0
  212. package/src/registry/blocks/feature-section/FeatureSection03.svelte +85 -0
  213. package/src/registry/blocks/feature-section/FeatureSection04.svelte +67 -0
  214. package/src/registry/blocks/feature-section/FeatureSection05.svelte +61 -0
  215. package/src/registry/blocks/feature-section/FeatureSection06.svelte +58 -0
  216. package/src/registry/blocks/feature-section/FeatureSection07.svelte +79 -0
  217. package/src/registry/blocks/feature-section/FeatureSection08.svelte +92 -0
  218. package/src/registry/blocks/feature-section/FeatureSection09.svelte +58 -0
  219. package/src/registry/blocks/feature-section/FeatureSection10.svelte +87 -0
  220. package/src/registry/blocks/feature-section/FeatureSection11.svelte +118 -0
  221. package/src/registry/blocks/feature-section/FeatureSection12.svelte +76 -0
  222. package/src/registry/blocks/feature-section/FeatureSection13.svelte +88 -0
  223. package/src/registry/blocks/feature-section/FeatureSection14.svelte +119 -0
  224. package/src/registry/blocks/feature-section/FeatureSection15.svelte +122 -0
  225. package/src/registry/blocks/feature-section/FeatureSection16.svelte +113 -0
  226. package/src/registry/blocks/feature-section/FeatureSection17.svelte +93 -0
  227. package/src/registry/blocks/feature-section/FeatureSection18.svelte +97 -0
  228. package/src/registry/blocks/feature-section/FeatureSection19.svelte +74 -0
  229. package/src/registry/blocks/feature-section/FeatureSection20.svelte +69 -0
  230. package/src/registry/blocks/feature-section/index.ts +20 -0
  231. package/src/registry/blocks/footer/Footer01.svelte +62 -0
  232. package/src/registry/blocks/footer/Footer02.svelte +67 -0
  233. package/src/registry/blocks/footer/Footer03.svelte +87 -0
  234. package/src/registry/blocks/footer/Footer04.svelte +67 -0
  235. package/src/registry/blocks/footer/Footer05.svelte +20 -0
  236. package/src/registry/blocks/footer/Footer06.svelte +107 -0
  237. package/src/registry/blocks/footer/Footer07.svelte +88 -0
  238. package/src/registry/blocks/footer/Footer08.svelte +84 -0
  239. package/src/registry/blocks/footer/Footer09.svelte +65 -0
  240. package/src/registry/blocks/footer/index.ts +19 -0
  241. package/src/registry/blocks/forms/SettingsBlock.svelte +329 -0
  242. package/src/registry/blocks/forms/index.ts +1 -0
  243. package/src/registry/blocks/gallery-section/GallerySection01.svelte +43 -0
  244. package/src/registry/blocks/gallery-section/GallerySection02.svelte +45 -0
  245. package/src/registry/blocks/gallery-section/GallerySection03.svelte +43 -0
  246. package/src/registry/blocks/gallery-section/GallerySection04.svelte +49 -0
  247. package/src/registry/blocks/gallery-section/GallerySection05.svelte +45 -0
  248. package/src/registry/blocks/gallery-section/GallerySection06.svelte +49 -0
  249. package/src/registry/blocks/gallery-section/GallerySection07.svelte +48 -0
  250. package/src/registry/blocks/gallery-section/GallerySection08.svelte +43 -0
  251. package/src/registry/blocks/gallery-section/GallerySection09.svelte +55 -0
  252. package/src/registry/blocks/gallery-section/GallerySection10.svelte +43 -0
  253. package/src/registry/blocks/gallery-section/GallerySection11.svelte +75 -0
  254. package/src/registry/blocks/gallery-section/GallerySection12.svelte +76 -0
  255. package/src/registry/blocks/gallery-section/index.ts +12 -0
  256. package/src/registry/blocks/header-section/HeaderSection01.svelte +53 -0
  257. package/src/registry/blocks/header-section/HeaderSection02.svelte +53 -0
  258. package/src/registry/blocks/header-section/HeaderSection03.svelte +61 -0
  259. package/src/registry/blocks/header-section/HeaderSection04.svelte +63 -0
  260. package/src/registry/blocks/header-section/HeaderSection05.svelte +53 -0
  261. package/src/registry/blocks/header-section/HeaderSection06.svelte +70 -0
  262. package/src/registry/blocks/header-section/HeaderSection07.svelte +97 -0
  263. package/src/registry/blocks/header-section/HeaderSection08.svelte +61 -0
  264. package/src/registry/blocks/header-section/HeaderSection09.svelte +53 -0
  265. package/src/registry/blocks/header-section/HeaderSection10.svelte +63 -0
  266. package/src/registry/blocks/header-section/HeaderSection11.svelte +68 -0
  267. package/src/registry/blocks/header-section/HeaderSection12.svelte +60 -0
  268. package/src/registry/blocks/header-section/HeaderSection13.svelte +92 -0
  269. package/src/registry/blocks/header-section/HeaderSection14.svelte +77 -0
  270. package/src/registry/blocks/header-section/HeaderSection15.svelte +49 -0
  271. package/src/registry/blocks/header-section/HeaderSection16.svelte +74 -0
  272. package/src/registry/blocks/header-section/HeaderSection17.svelte +58 -0
  273. package/src/registry/blocks/header-section/HeaderSection18.svelte +66 -0
  274. package/src/registry/blocks/header-section/HeaderSection19.svelte +47 -0
  275. package/src/registry/blocks/header-section/HeaderSection20.svelte +53 -0
  276. package/src/registry/blocks/header-section/index.ts +20 -0
  277. package/src/registry/blocks/hero-section/HeroSection01.svelte +69 -0
  278. package/src/registry/blocks/hero-section/HeroSection02.svelte +47 -0
  279. package/src/registry/blocks/hero-section/HeroSection03.svelte +56 -0
  280. package/src/registry/blocks/hero-section/HeroSection04.svelte +69 -0
  281. package/src/registry/blocks/hero-section/HeroSection05.svelte +73 -0
  282. package/src/registry/blocks/hero-section/HeroSection06.svelte +78 -0
  283. package/src/registry/blocks/hero-section/HeroSection07.svelte +48 -0
  284. package/src/registry/blocks/hero-section/HeroSection08.svelte +73 -0
  285. package/src/registry/blocks/hero-section/HeroSection09.svelte +51 -0
  286. package/src/registry/blocks/hero-section/HeroSection10.svelte +47 -0
  287. package/src/registry/blocks/hero-section/HeroSection11.svelte +60 -0
  288. package/src/registry/blocks/hero-section/HeroSection12.svelte +74 -0
  289. package/src/registry/blocks/hero-section/HeroSection13.svelte +86 -0
  290. package/src/registry/blocks/hero-section/HeroSection14.svelte +116 -0
  291. package/src/registry/blocks/hero-section/HeroSection15.svelte +75 -0
  292. package/src/registry/blocks/hero-section/HeroSection16.svelte +92 -0
  293. package/src/registry/blocks/hero-section/HeroSection17.svelte +78 -0
  294. package/src/registry/blocks/hero-section/HeroSection18.svelte +82 -0
  295. package/src/registry/blocks/hero-section/HeroSection19.svelte +72 -0
  296. package/src/registry/blocks/hero-section/HeroSection20.svelte +79 -0
  297. package/src/registry/blocks/hero-section/HeroSection21.svelte +75 -0
  298. package/src/registry/blocks/hero-section/HeroSection22.svelte +103 -0
  299. package/src/registry/blocks/hero-section/index.ts +22 -0
  300. package/src/registry/blocks/logo-section/LogoSection01.svelte +54 -0
  301. package/src/registry/blocks/logo-section/LogoSection02.svelte +56 -0
  302. package/src/registry/blocks/logo-section/LogoSection03.svelte +58 -0
  303. package/src/registry/blocks/logo-section/LogoSection04.svelte +58 -0
  304. package/src/registry/blocks/logo-section/LogoSection05.svelte +43 -0
  305. package/src/registry/blocks/logo-section/LogoSection06.svelte +43 -0
  306. package/src/registry/blocks/logo-section/LogoSection07.svelte +56 -0
  307. package/src/registry/blocks/logo-section/index.ts +7 -0
  308. package/src/registry/blocks/lp-navbar/LPNavbar01.svelte +94 -0
  309. package/src/registry/blocks/lp-navbar/LPNavbar02.svelte +96 -0
  310. package/src/registry/blocks/lp-navbar/LPNavbar03.svelte +97 -0
  311. package/src/registry/blocks/lp-navbar/LPNavbar04.svelte +103 -0
  312. package/src/registry/blocks/lp-navbar/LPNavbar05.svelte +173 -0
  313. package/src/registry/blocks/lp-navbar/LPNavbar06.svelte +200 -0
  314. package/src/registry/blocks/lp-navbar/LPNavbar07.svelte +202 -0
  315. package/src/registry/blocks/lp-navbar/index.ts +7 -0
  316. package/src/registry/blocks/mail/MailBlock.svelte +321 -0
  317. package/src/registry/blocks/mail/index.ts +2 -0
  318. package/src/registry/blocks/music/MusicBlock.svelte +239 -0
  319. package/src/registry/blocks/music/index.ts +1 -0
  320. package/src/registry/blocks/navbar/Navbar01.svelte +234 -0
  321. package/src/registry/blocks/navbar/Navbar02.svelte +111 -0
  322. package/src/registry/blocks/navbar/Navbar03.svelte +88 -0
  323. package/src/registry/blocks/navbar/index.ts +3 -0
  324. package/src/registry/blocks/not-found/NotFound01.svelte +29 -0
  325. package/src/registry/blocks/not-found/NotFound02.svelte +28 -0
  326. package/src/registry/blocks/not-found/NotFound03.svelte +25 -0
  327. package/src/registry/blocks/not-found/index.ts +3 -0
  328. package/src/registry/blocks/order-history/OrderHistory01.svelte +208 -0
  329. package/src/registry/blocks/order-history/OrderHistory02.svelte +131 -0
  330. package/src/registry/blocks/order-history/OrderHistory03.svelte +133 -0
  331. package/src/registry/blocks/order-history/index.ts +3 -0
  332. package/src/registry/blocks/page-header/PageHeader01.svelte +39 -0
  333. package/src/registry/blocks/page-header/PageHeader02.svelte +58 -0
  334. package/src/registry/blocks/page-header/PageHeader03.svelte +64 -0
  335. package/src/registry/blocks/page-header/PageHeader04.svelte +49 -0
  336. package/src/registry/blocks/page-header/PageHeader05.svelte +49 -0
  337. package/src/registry/blocks/page-header/PageHeader06.svelte +58 -0
  338. package/src/registry/blocks/page-header/PageHeader07.svelte +64 -0
  339. package/src/registry/blocks/page-header/PageHeader08.svelte +68 -0
  340. package/src/registry/blocks/page-header/index.ts +8 -0
  341. package/src/registry/blocks/playground/PlaygroundBlock01.svelte +162 -0
  342. package/src/registry/blocks/playground/PlaygroundBlock02.svelte +156 -0
  343. package/src/registry/blocks/playground/index.ts +2 -0
  344. package/src/registry/blocks/pricing-section/PricingSection01.svelte +109 -0
  345. package/src/registry/blocks/pricing-section/PricingSection02.svelte +145 -0
  346. package/src/registry/blocks/pricing-section/PricingSection03.svelte +94 -0
  347. package/src/registry/blocks/pricing-section/PricingSection04.svelte +103 -0
  348. package/src/registry/blocks/pricing-section/PricingSection05.svelte +128 -0
  349. package/src/registry/blocks/pricing-section/index.ts +20 -0
  350. package/src/registry/blocks/product-card/ProductCard01.svelte +74 -0
  351. package/src/registry/blocks/product-card/ProductCard02.svelte +108 -0
  352. package/src/registry/blocks/product-card/ProductCard03.svelte +80 -0
  353. package/src/registry/blocks/product-card/ProductCard04.svelte +50 -0
  354. package/src/registry/blocks/product-card/ProductCard05.svelte +107 -0
  355. package/src/registry/blocks/product-card/index.ts +5 -0
  356. package/src/registry/blocks/product-detail/ProductDetail01.svelte +174 -0
  357. package/src/registry/blocks/product-detail/ProductDetail02.svelte +170 -0
  358. package/src/registry/blocks/product-detail/ProductDetail03.svelte +159 -0
  359. package/src/registry/blocks/product-detail/ProductDetail04.svelte +106 -0
  360. package/src/registry/blocks/product-detail/ProductDetail05.svelte +181 -0
  361. package/src/registry/blocks/product-detail/index.ts +5 -0
  362. package/src/registry/blocks/product-listing/ProductListing01.svelte +194 -0
  363. package/src/registry/blocks/product-listing/ProductListing02.svelte +163 -0
  364. package/src/registry/blocks/product-listing/ProductListing03.svelte +173 -0
  365. package/src/registry/blocks/product-listing/ProductListing04.svelte +179 -0
  366. package/src/registry/blocks/product-listing/ProductListing05.svelte +126 -0
  367. package/src/registry/blocks/product-listing/index.ts +5 -0
  368. package/src/registry/blocks/product-reviews/ProductReviews01.svelte +156 -0
  369. package/src/registry/blocks/product-reviews/ProductReviews02.svelte +139 -0
  370. package/src/registry/blocks/product-reviews/ProductReviews03.svelte +137 -0
  371. package/src/registry/blocks/product-reviews/ProductReviews04.svelte +129 -0
  372. package/src/registry/blocks/product-reviews/index.ts +4 -0
  373. package/src/registry/blocks/promo-section/PromoSection01.svelte +72 -0
  374. package/src/registry/blocks/promo-section/PromoSection02.svelte +61 -0
  375. package/src/registry/blocks/promo-section/PromoSection03.svelte +110 -0
  376. package/src/registry/blocks/promo-section/PromoSection04.svelte +103 -0
  377. package/src/registry/blocks/promo-section/index.ts +4 -0
  378. package/src/registry/blocks/rich-text/RichText01.svelte +30 -0
  379. package/src/registry/blocks/rich-text/RichText02.svelte +72 -0
  380. package/src/registry/blocks/rich-text/RichText03.svelte +52 -0
  381. package/src/registry/blocks/rich-text/RichText04.svelte +44 -0
  382. package/src/registry/blocks/rich-text/RichText05.svelte +56 -0
  383. package/src/registry/blocks/rich-text/index.ts +5 -0
  384. package/src/registry/blocks/section/Section01.svelte +38 -0
  385. package/src/registry/blocks/section/Section02.svelte +90 -0
  386. package/src/registry/blocks/section/Section03.svelte +95 -0
  387. package/src/registry/blocks/section/Section04.svelte +117 -0
  388. package/src/registry/blocks/section/index.ts +4 -0
  389. package/src/registry/blocks/section-footer/SectionFooter01.svelte +39 -0
  390. package/src/registry/blocks/section-footer/SectionFooter02.svelte +33 -0
  391. package/src/registry/blocks/section-footer/SectionFooter03.svelte +33 -0
  392. package/src/registry/blocks/section-footer/SectionFooter04.svelte +34 -0
  393. package/src/registry/blocks/section-footer/SectionFooter05.svelte +69 -0
  394. package/src/registry/blocks/section-footer/index.ts +5 -0
  395. package/src/registry/blocks/section-header/SectionHeader01.svelte +39 -0
  396. package/src/registry/blocks/section-header/SectionHeader02.svelte +58 -0
  397. package/src/registry/blocks/section-header/SectionHeader03.svelte +88 -0
  398. package/src/registry/blocks/section-header/SectionHeader04.svelte +45 -0
  399. package/src/registry/blocks/section-header/SectionHeader05.svelte +64 -0
  400. package/src/registry/blocks/section-header/index.ts +5 -0
  401. package/src/registry/blocks/settings/Settings01.svelte +202 -0
  402. package/src/registry/blocks/settings/Settings02.svelte +201 -0
  403. package/src/registry/blocks/settings/Settings03.svelte +156 -0
  404. package/src/registry/blocks/settings/Settings04.svelte +175 -0
  405. package/src/registry/blocks/settings/Settings05.svelte +248 -0
  406. package/src/registry/blocks/settings/Settings06.svelte +120 -0
  407. package/src/registry/blocks/settings/Settings07.svelte +136 -0
  408. package/src/registry/blocks/settings/index.ts +7 -0
  409. package/src/registry/blocks/sidebar/SidebarLayout01.svelte +108 -0
  410. package/src/registry/blocks/sidebar/SidebarLayout02.svelte +75 -0
  411. package/src/registry/blocks/sidebar/SidebarLayout03.svelte +108 -0
  412. package/src/registry/blocks/sidebar/SidebarLayout04.svelte +111 -0
  413. package/src/registry/blocks/sidebar/SidebarLayout05.svelte +103 -0
  414. package/src/registry/blocks/sidebar/SidebarLayout06.svelte +122 -0
  415. package/src/registry/blocks/sidebar/SidebarLayout07.svelte +183 -0
  416. package/src/registry/blocks/sidebar/SidebarLayout08.svelte +162 -0
  417. package/src/registry/blocks/sidebar/SidebarLayout09.svelte +167 -0
  418. package/src/registry/blocks/sidebar/SidebarLayout10.svelte +159 -0
  419. package/src/registry/blocks/sidebar/SidebarLayout11.svelte +135 -0
  420. package/src/registry/blocks/sidebar/SidebarLayout12.svelte +159 -0
  421. package/src/registry/blocks/sidebar/SidebarLayout13.svelte +103 -0
  422. package/src/registry/blocks/sidebar/SidebarLayout14.svelte +87 -0
  423. package/src/registry/blocks/sidebar/SidebarLayout15.svelte +228 -0
  424. package/src/registry/blocks/sidebar/index.ts +15 -0
  425. package/src/registry/blocks/sign-in/SignIn01.svelte +140 -0
  426. package/src/registry/blocks/sign-in/SignIn02.svelte +155 -0
  427. package/src/registry/blocks/sign-in/SignIn03.svelte +214 -0
  428. package/src/registry/blocks/sign-in/SignIn04.svelte +163 -0
  429. package/src/registry/blocks/sign-in/SignIn05.svelte +209 -0
  430. package/src/registry/blocks/sign-in/SignIn06.svelte +233 -0
  431. package/src/registry/blocks/sign-in/SignIn07.svelte +268 -0
  432. package/src/registry/blocks/sign-in/SignIn08.svelte +125 -0
  433. package/src/registry/blocks/sign-in/SignIn09.svelte +93 -0
  434. package/src/registry/blocks/sign-in/SignIn10.svelte +74 -0
  435. package/src/registry/blocks/sign-in/index.ts +10 -0
  436. package/src/registry/blocks/sign-up/SignUp01.svelte +124 -0
  437. package/src/registry/blocks/sign-up/SignUp02.svelte +110 -0
  438. package/src/registry/blocks/sign-up/SignUp03.svelte +182 -0
  439. package/src/registry/blocks/sign-up/SignUp04.svelte +126 -0
  440. package/src/registry/blocks/sign-up/SignUp05.svelte +182 -0
  441. package/src/registry/blocks/sign-up/SignUp06.svelte +221 -0
  442. package/src/registry/blocks/sign-up/SignUp07.svelte +98 -0
  443. package/src/registry/blocks/sign-up/index.ts +7 -0
  444. package/src/registry/blocks/stats-section/StatsSection01.svelte +66 -0
  445. package/src/registry/blocks/stats-section/StatsSection02.svelte +60 -0
  446. package/src/registry/blocks/stats-section/StatsSection03.svelte +66 -0
  447. package/src/registry/blocks/stats-section/StatsSection04.svelte +66 -0
  448. package/src/registry/blocks/stats-section/StatsSection05.svelte +60 -0
  449. package/src/registry/blocks/stats-section/StatsSection06.svelte +48 -0
  450. package/src/registry/blocks/stats-section/StatsSection07.svelte +66 -0
  451. package/src/registry/blocks/stats-section/index.ts +7 -0
  452. package/src/registry/blocks/store-navbar/StoreNavbar01.svelte +101 -0
  453. package/src/registry/blocks/store-navbar/StoreNavbar02.svelte +65 -0
  454. package/src/registry/blocks/store-navbar/StoreNavbar03.svelte +83 -0
  455. package/src/registry/blocks/store-navbar/StoreNavbar04.svelte +110 -0
  456. package/src/registry/blocks/store-navbar/StoreNavbar05.svelte +80 -0
  457. package/src/registry/blocks/store-navbar/index.ts +5 -0
  458. package/src/registry/blocks/table-header/TableHeader01.svelte +96 -0
  459. package/src/registry/blocks/table-header/TableHeader02.svelte +86 -0
  460. package/src/registry/blocks/table-header/TableHeader03.svelte +99 -0
  461. package/src/registry/blocks/table-header/TableHeader04.svelte +107 -0
  462. package/src/registry/blocks/table-header/index.ts +4 -0
  463. package/src/registry/blocks/tasks/TasksBlock.svelte +286 -0
  464. package/src/registry/blocks/tasks/index.ts +1 -0
  465. package/src/registry/blocks/team-section/TeamSection01.svelte +80 -0
  466. package/src/registry/blocks/team-section/TeamSection02.svelte +102 -0
  467. package/src/registry/blocks/team-section/TeamSection03.svelte +76 -0
  468. package/src/registry/blocks/team-section/TeamSection04.svelte +106 -0
  469. package/src/registry/blocks/team-section/index.ts +13 -0
  470. package/src/registry/blocks/testimonials/Testimonial01.svelte +74 -0
  471. package/src/registry/blocks/testimonials/Testimonial02.svelte +74 -0
  472. package/src/registry/blocks/testimonials/Testimonial03.svelte +79 -0
  473. package/src/registry/blocks/testimonials/Testimonial04.svelte +113 -0
  474. package/src/registry/blocks/testimonials/Testimonial05.svelte +74 -0
  475. package/src/registry/blocks/testimonials/Testimonial06.svelte +114 -0
  476. package/src/registry/blocks/testimonials/Testimonial07.svelte +131 -0
  477. package/src/registry/blocks/testimonials/Testimonials01.svelte +60 -0
  478. package/src/registry/blocks/testimonials/Testimonials02.svelte +61 -0
  479. package/src/registry/blocks/testimonials/Testimonials03.svelte +79 -0
  480. package/src/registry/blocks/testimonials/Testimonials04.svelte +74 -0
  481. package/src/registry/blocks/testimonials/Testimonials05.svelte +68 -0
  482. package/src/registry/blocks/testimonials/Testimonials06.svelte +82 -0
  483. package/src/registry/blocks/testimonials/Testimonials07.svelte +98 -0
  484. package/src/registry/blocks/testimonials/index.ts +16 -0
  485. package/src/registry/templates/cn.ts +42 -0
  486. package/src/index.ts +0 -2
  487. package/tsconfig.json +0 -20
  488. /package/src/{generate-component.cjs → commands/generate-component.cjs} +0 -0
  489. /package/src/{generate-route.cjs → commands/generate-route.cjs} +0 -0
  490. /package/src/{generate-service.cjs → commands/generate-service.cjs} +0 -0
  491. /package/src/{manage-auth-users.cjs → commands/manage-auth-users.cjs} +0 -0
  492. /package/src/{setup.cjs → commands/setup.cjs} +0 -0
  493. /package/src/{validate-setup.cjs → commands/validate.cjs} +0 -0
@@ -0,0 +1,78 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Props {
6
+ class?: string;
7
+ title?: string;
8
+ subtitle?: string;
9
+ primaryLabel?: string;
10
+ secondaryLabel?: string;
11
+ onPrimary?: () => void;
12
+ onSecondary?: () => void;
13
+ onPlay?: () => void;
14
+ videoUrl?: string;
15
+ }
16
+
17
+ let {
18
+ class: className,
19
+ title = 'Build your next big idea faster',
20
+ subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
21
+ primaryLabel = 'Get started',
22
+ secondaryLabel = 'Learn more',
23
+ onPrimary,
24
+ onSecondary,
25
+ onPlay,
26
+ videoUrl,
27
+ }: Props = $props();
28
+ </script>
29
+
30
+ <section class={cn('w-full bg-background px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
31
+ <div class="mx-auto max-w-6xl">
32
+ <div class="text-center">
33
+ <h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight">
34
+ {title}
35
+ </h1>
36
+ <p class="mt-4 text-lg text-muted-foreground max-w-2xl mx-auto">
37
+ {subtitle}
38
+ </p>
39
+ <div class="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
40
+ <Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
41
+ <Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
42
+ </div>
43
+ </div>
44
+
45
+ <div class="mt-16 relative">
46
+ <div class="mx-auto max-w-4xl">
47
+ <div class="relative aspect-video w-full rounded-xl bg-muted flex items-center justify-center shadow-2xl overflow-hidden">
48
+ {#if videoUrl}
49
+ <video
50
+ src={videoUrl}
51
+ class="w-full h-full object-cover"
52
+ controls
53
+ ></video>
54
+ {:else}
55
+ <div class="absolute inset-0 bg-muted"></div>
56
+ {/if}
57
+
58
+ <button
59
+ onclick={onPlay}
60
+ class="absolute inset-0 flex items-center justify-center hover:opacity-80 transition-opacity"
61
+ >
62
+ <div class="h-16 w-16 rounded-full bg-background/90 flex items-center justify-center shadow-lg hover:bg-background transition-colors">
63
+ <svg
64
+ width="24"
65
+ height="24"
66
+ viewBox="0 0 24 24"
67
+ fill="currentColor"
68
+ class="text-foreground ml-1"
69
+ >
70
+ <polygon points="5 3 19 12 5 21 5 3" />
71
+ </svg>
72
+ </div>
73
+ </button>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </section>
@@ -0,0 +1,48 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Props {
6
+ class?: string;
7
+ title?: string;
8
+ subtitle?: string;
9
+ primaryLabel?: string;
10
+ secondaryLabel?: string;
11
+ onPrimary?: () => void;
12
+ onSecondary?: () => void;
13
+ }
14
+
15
+ let {
16
+ class: className,
17
+ title = 'Build your next big idea faster',
18
+ subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
19
+ primaryLabel = 'Get started',
20
+ secondaryLabel = 'Learn more',
21
+ onPrimary,
22
+ onSecondary,
23
+ }: Props = $props();
24
+ </script>
25
+
26
+ <section
27
+ class={cn(
28
+ 'w-full bg-gradient-to-br from-background via-background to-muted px-4 py-20 sm:py-28 sm:px-6 lg:px-8',
29
+ className
30
+ )}
31
+ >
32
+ <div class="mx-auto max-w-6xl">
33
+ <div class="text-center">
34
+ <h1
35
+ class="bg-gradient-to-r from-foreground to-foreground/60 bg-clip-text text-transparent text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight"
36
+ >
37
+ {title}
38
+ </h1>
39
+ <p class="mt-4 text-lg text-muted-foreground max-w-2xl mx-auto">
40
+ {subtitle}
41
+ </p>
42
+ <div class="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
43
+ <Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
44
+ <Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </section>
@@ -0,0 +1,73 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Props {
6
+ class?: string;
7
+ title?: string;
8
+ subtitle?: string;
9
+ primaryLabel?: string;
10
+ secondaryLabel?: string;
11
+ onPrimary?: () => void;
12
+ onSecondary?: () => void;
13
+ imageUrl?: string;
14
+ }
15
+
16
+ let {
17
+ class: className,
18
+ title = 'Build your next big idea faster',
19
+ subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
20
+ primaryLabel = 'Get started',
21
+ secondaryLabel = 'Learn more',
22
+ onPrimary,
23
+ onSecondary,
24
+ imageUrl,
25
+ }: Props = $props();
26
+ </script>
27
+
28
+ <section class={cn('w-full bg-background px-0 py-0 sm:px-0 lg:px-0', className)}>
29
+ <div class="grid grid-cols-1 sm:grid-cols-2 min-h-[600px]">
30
+ <div class="bg-foreground text-background p-12 flex flex-col justify-center">
31
+ <h1 class="text-4xl sm:text-5xl font-bold tracking-tight">
32
+ {title}
33
+ </h1>
34
+ <p class="mt-4 text-lg text-background/80">
35
+ {subtitle}
36
+ </p>
37
+ </div>
38
+
39
+ <div class="bg-background p-12 flex flex-col justify-center">
40
+ <div class="space-y-4 mb-8">
41
+ <p class="text-muted-foreground">
42
+ {subtitle}
43
+ </p>
44
+ </div>
45
+ <div class="flex flex-col gap-3">
46
+ <Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
47
+ <Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
48
+ </div>
49
+
50
+ {#if imageUrl}
51
+ <img src={imageUrl} alt="Hero" class="mt-8 w-full rounded-lg" />
52
+ {:else}
53
+ <div
54
+ class="mt-8 aspect-video w-full rounded-lg bg-muted flex items-center justify-center"
55
+ >
56
+ <svg
57
+ width="32"
58
+ height="32"
59
+ viewBox="0 0 24 24"
60
+ fill="none"
61
+ stroke="currentColor"
62
+ stroke-width="1"
63
+ class="text-muted-foreground/40"
64
+ >
65
+ <rect x="3" y="3" width="18" height="18" rx="2" />
66
+ <circle cx="8.5" cy="8.5" r="1.5" />
67
+ <polyline points="21 15 16 10 5 21" />
68
+ </svg>
69
+ </div>
70
+ {/if}
71
+ </div>
72
+ </div>
73
+ </section>
@@ -0,0 +1,51 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Props {
6
+ class?: string;
7
+ title?: string;
8
+ subtitle?: string;
9
+ primaryLabel?: string;
10
+ secondaryLabel?: string;
11
+ onPrimary?: () => void;
12
+ onSecondary?: () => void;
13
+ companies?: string[];
14
+ }
15
+
16
+ let {
17
+ class: className,
18
+ title = 'Build your next big idea faster',
19
+ subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
20
+ primaryLabel = 'Get started',
21
+ secondaryLabel = 'Learn more',
22
+ onPrimary,
23
+ onSecondary,
24
+ companies = ['TechCorp', 'StartupAI', 'CloudScale', 'DataHub', 'DevTools'],
25
+ }: Props = $props();
26
+ </script>
27
+
28
+ <section class={cn('w-full bg-background px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
29
+ <div class="mx-auto max-w-6xl">
30
+ <div class="text-center">
31
+ <h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight">
32
+ {title}
33
+ </h1>
34
+ <p class="mt-4 text-lg text-muted-foreground max-w-2xl mx-auto">
35
+ {subtitle}
36
+ </p>
37
+ <div class="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
38
+ <Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
39
+ <Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
40
+ </div>
41
+ </div>
42
+
43
+ <div class="mt-12 flex flex-wrap justify-center gap-6 opacity-50">
44
+ {#each companies as company}
45
+ <div class="text-sm font-semibold text-muted-foreground whitespace-nowrap">
46
+ {company}
47
+ </div>
48
+ {/each}
49
+ </div>
50
+ </div>
51
+ </section>
@@ -0,0 +1,47 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Props {
6
+ class?: string;
7
+ title?: string;
8
+ subtitle?: string;
9
+ primaryLabel?: string;
10
+ secondaryLabel?: string;
11
+ onPrimary?: () => void;
12
+ onSecondary?: () => void;
13
+ }
14
+
15
+ let {
16
+ class: className,
17
+ title = 'Build your next big idea faster',
18
+ subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
19
+ primaryLabel = 'Get started',
20
+ secondaryLabel = 'Learn more',
21
+ onPrimary,
22
+ onSecondary,
23
+ }: Props = $props();
24
+ </script>
25
+
26
+ <section
27
+ class={cn(
28
+ 'w-full min-h-screen bg-background px-4 pb-20 flex flex-col justify-end sm:px-6 lg:px-8',
29
+ className
30
+ )}
31
+ style="background-image: radial-gradient(#e5e7eb 1px, transparent 1px); background-size: 20px 20px;"
32
+ >
33
+ <div class="mx-auto max-w-6xl w-full">
34
+ <div>
35
+ <h1 class="text-5xl sm:text-7xl font-black tracking-tight">
36
+ {title}
37
+ </h1>
38
+ <p class="mt-4 text-lg text-muted-foreground max-w-2xl">
39
+ {subtitle}
40
+ </p>
41
+ <div class="mt-8 flex flex-col sm:flex-row gap-3">
42
+ <Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
43
+ <Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </section>
@@ -0,0 +1,60 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Props {
6
+ class?: string;
7
+ title?: string;
8
+ subtitle?: string;
9
+ primaryLabel?: string;
10
+ secondaryLabel?: string;
11
+ onPrimary?: () => void;
12
+ onSecondary?: () => void;
13
+ imageUrl?: string;
14
+ }
15
+
16
+ let {
17
+ class: className,
18
+ title = 'Build your next big idea faster',
19
+ subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
20
+ primaryLabel = 'Get started',
21
+ secondaryLabel = 'Learn more',
22
+ onPrimary,
23
+ onSecondary,
24
+ imageUrl,
25
+ }: Props = $props();
26
+ </script>
27
+
28
+ <section
29
+ class={cn('relative w-full min-h-[600px] bg-foreground overflow-hidden flex items-center px-4 py-20 sm:px-6 lg:px-8', className)}
30
+ >
31
+ <div class="absolute inset-0 bg-foreground/70"></div>
32
+
33
+ {#if imageUrl}
34
+ <img src={imageUrl} alt="Hero background" class="absolute inset-0 w-full h-full object-cover" />
35
+ {:else}
36
+ <div class="absolute inset-0 bg-muted"></div>
37
+ {/if}
38
+
39
+ <div class="relative z-10 mx-auto max-w-6xl w-full">
40
+ <div class="text-center">
41
+ <h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight text-background">
42
+ {title}
43
+ </h1>
44
+ <p class="mt-4 text-lg text-background/90 max-w-2xl mx-auto">
45
+ {subtitle}
46
+ </p>
47
+ <div class="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
48
+ <Button size="lg" variant="secondary" onclick={onPrimary}>{primaryLabel}</Button>
49
+ <Button
50
+ size="lg"
51
+ variant="outline"
52
+ onclick={onSecondary}
53
+ class="border-background/30 text-background hover:bg-background/10"
54
+ >
55
+ {secondaryLabel}
56
+ </Button>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ </section>
@@ -0,0 +1,74 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Props {
6
+ class?: string;
7
+ title?: string;
8
+ subtitle?: string;
9
+ primaryLabel?: string;
10
+ secondaryLabel?: string;
11
+ onPrimary?: () => void;
12
+ onSecondary?: () => void;
13
+ features?: Array<{ title: string; description: string }>;
14
+ }
15
+
16
+ let {
17
+ class: className,
18
+ title = 'Build your next big idea faster',
19
+ subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
20
+ primaryLabel = 'Get started',
21
+ secondaryLabel = 'Learn more',
22
+ onPrimary,
23
+ onSecondary,
24
+ features = [
25
+ { title: 'Fast Performance', description: 'Lightning-quick load times' },
26
+ { title: 'Secure by Design', description: 'Enterprise-grade security' },
27
+ { title: 'Fully Documented', description: 'Comprehensive guides and API docs' },
28
+ { title: 'Active Support', description: '24/7 community and professional support' },
29
+ ],
30
+ }: Props = $props();
31
+ </script>
32
+
33
+ <section class={cn('w-full bg-background px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
34
+ <div class="mx-auto max-w-6xl">
35
+ <div class="grid grid-cols-1 gap-12 sm:grid-cols-2 sm:items-center">
36
+ <div>
37
+ <h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight">
38
+ {title}
39
+ </h1>
40
+ <p class="mt-4 text-lg text-muted-foreground">
41
+ {subtitle}
42
+ </p>
43
+ <div class="mt-8 flex flex-col sm:flex-row gap-3">
44
+ <Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
45
+ <Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
46
+ </div>
47
+ </div>
48
+
49
+ <div class="grid grid-cols-2 gap-4">
50
+ {#each features as feature, i}
51
+ <div>
52
+ <div
53
+ class="flex h-10 w-10 items-center justify-center rounded-lg bg-emerald-100 dark:bg-emerald-900/30 mb-3"
54
+ >
55
+ <svg
56
+ width="20"
57
+ height="20"
58
+ viewBox="0 0 24 24"
59
+ fill="none"
60
+ stroke="currentColor"
61
+ stroke-width="2"
62
+ class="text-emerald-600 dark:text-emerald-400"
63
+ >
64
+ <polyline points="20 6 9 17 4 12" />
65
+ </svg>
66
+ </div>
67
+ <h3 class="font-semibold text-foreground">{feature.title}</h3>
68
+ <p class="text-sm text-muted-foreground mt-1">{feature.description}</p>
69
+ </div>
70
+ {/each}
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </section>
@@ -0,0 +1,86 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Props {
6
+ class?: string;
7
+ announcementText?: string;
8
+ title?: string;
9
+ subtitle?: string;
10
+ primaryLabel?: string;
11
+ secondaryLabel?: string;
12
+ onPrimary?: () => void;
13
+ onSecondary?: () => void;
14
+ }
15
+
16
+ let {
17
+ class: className,
18
+ announcementText = 'New: AI-powered features →',
19
+ title = 'Announce Your Latest Feature',
20
+ subtitle = 'Capture attention with a sleek dark hero that highlights your newest innovation. Perfect for product launches and feature announcements.',
21
+ primaryLabel = 'Get started',
22
+ secondaryLabel = 'Learn more',
23
+ onPrimary,
24
+ onSecondary,
25
+ }: Props = $props();
26
+ </script>
27
+
28
+ <section class={cn('w-full bg-gray-950 px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
29
+ <div class="mx-auto max-w-6xl">
30
+ <div class="text-center">
31
+ <!-- Announcement Pill -->
32
+ <div class="mb-6 inline-flex items-center gap-2 rounded-full border border-gray-800 bg-gray-900 px-4 py-2">
33
+ <span class="text-sm font-medium text-white">✨ {announcementText}</span>
34
+ </div>
35
+
36
+ <!-- Headline -->
37
+ <h1 class="text-5xl sm:text-6xl lg:text-7xl font-bold tracking-tight text-white">
38
+ {title}
39
+ </h1>
40
+
41
+ <!-- Subtitle -->
42
+ <p class="mt-6 text-lg text-gray-400 max-w-2xl mx-auto">
43
+ {subtitle}
44
+ </p>
45
+
46
+ <!-- CTA Buttons -->
47
+ <div class="mt-10 flex flex-col sm:flex-row gap-4 justify-center">
48
+ <Button size="lg" onclick={onPrimary} class="bg-white text-black hover:bg-gray-100">
49
+ {primaryLabel}
50
+ </Button>
51
+ <Button
52
+ variant="outline"
53
+ size="lg"
54
+ onclick={onSecondary}
55
+ class="border-gray-700 text-white hover:bg-gray-900"
56
+ >
57
+ {secondaryLabel}
58
+ </Button>
59
+ </div>
60
+ </div>
61
+
62
+ <!-- Screenshot Mockup -->
63
+ <div class="mt-16 relative">
64
+ <div class="mx-auto max-w-5xl">
65
+ <div
66
+ class="relative aspect-video w-full rounded-2xl bg-gray-800 flex items-center justify-center shadow-2xl border border-gray-700 overflow-hidden"
67
+ >
68
+ <div class="absolute inset-0 bg-gradient-to-b from-gray-700/20 to-transparent" />
69
+ <svg
70
+ width="64"
71
+ height="64"
72
+ viewBox="0 0 24 24"
73
+ fill="none"
74
+ stroke="currentColor"
75
+ stroke-width="1"
76
+ class="text-gray-600 relative z-10"
77
+ >
78
+ <rect x="3" y="3" width="18" height="18" rx="2" />
79
+ <circle cx="8.5" cy="8.5" r="1.5" />
80
+ <polyline points="21 15 16 10 5 21" />
81
+ </svg>
82
+ </div>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </section>
@@ -0,0 +1,116 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Props {
6
+ class?: string;
7
+ eyebrow?: string;
8
+ title?: string;
9
+ subtitle?: string;
10
+ primaryLabel?: string;
11
+ onPrimary?: () => void;
12
+ userCount?: string;
13
+ }
14
+
15
+ let {
16
+ class: className,
17
+ eyebrow = 'Trusted by Industry Leaders',
18
+ title = 'Capture Leads with Ease',
19
+ subtitle = 'Build trust and convert visitors into customers with our streamlined lead capture form.',
20
+ primaryLabel = 'Submit',
21
+ onPrimary,
22
+ userCount = '10,000+',
23
+ }: Props = $props();
24
+
25
+ let formName = $state('');
26
+ let formEmail = $state('');
27
+ let formCompany = $state('');
28
+
29
+ function handleSubmit() {
30
+ onPrimary?.();
31
+ formName = '';
32
+ formEmail = '';
33
+ formCompany = '';
34
+ }
35
+ </script>
36
+
37
+ <section class={cn('w-full bg-white px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
38
+ <div class="mx-auto max-w-7xl">
39
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
40
+ <!-- Left Content -->
41
+ <div>
42
+ <p class="text-sm font-semibold text-blue-600 uppercase tracking-wide">{eyebrow}</p>
43
+ <h1 class="mt-4 text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight text-gray-900">
44
+ {title}
45
+ </h1>
46
+ <p class="mt-6 text-lg text-gray-600 max-w-xl">
47
+ {subtitle}
48
+ </p>
49
+
50
+ <!-- Trust Signals -->
51
+ <div class="mt-8 flex items-center gap-4">
52
+ <div class="flex -space-x-2">
53
+ <div class="w-10 h-10 rounded-full bg-blue-500 border-2 border-white flex items-center justify-center text-white text-sm font-bold">
54
+ A
55
+ </div>
56
+ <div class="w-10 h-10 rounded-full bg-purple-500 border-2 border-white flex items-center justify-center text-white text-sm font-bold">
57
+ B
58
+ </div>
59
+ <div class="w-10 h-10 rounded-full bg-pink-500 border-2 border-white flex items-center justify-center text-white text-sm font-bold">
60
+ C
61
+ </div>
62
+ </div>
63
+ <p class="text-sm text-gray-700">
64
+ <strong>{userCount}</strong> users already trust us
65
+ </p>
66
+ </div>
67
+ </div>
68
+
69
+ <!-- Right Form Card -->
70
+ <div class="bg-white rounded-2xl shadow-xl border border-gray-200 p-8">
71
+ <h2 class="text-2xl font-bold text-gray-900 mb-6">Get Started Today</h2>
72
+ <form onsubmit={(e) => { e.preventDefault(); handleSubmit(); }} class="space-y-4">
73
+ <div>
74
+ <label for="name" class="block text-sm font-medium text-gray-900 mb-2">Full Name</label>
75
+ <input
76
+ type="text"
77
+ id="name"
78
+ placeholder="John Doe"
79
+ bind:value={formName}
80
+ class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500"
81
+ required
82
+ />
83
+ </div>
84
+ <div>
85
+ <label for="email" class="block text-sm font-medium text-gray-900 mb-2">Email</label>
86
+ <input
87
+ type="email"
88
+ id="email"
89
+ placeholder="john@example.com"
90
+ bind:value={formEmail}
91
+ class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500"
92
+ required
93
+ />
94
+ </div>
95
+ <div>
96
+ <label for="company" class="block text-sm font-medium text-gray-900 mb-2">Company</label>
97
+ <input
98
+ type="text"
99
+ id="company"
100
+ placeholder="Acme Inc."
101
+ bind:value={formCompany}
102
+ class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500"
103
+ required
104
+ />
105
+ </div>
106
+ <Button size="lg" class="w-full" onclick={handleSubmit}>
107
+ {primaryLabel}
108
+ </Button>
109
+ </form>
110
+ <p class="mt-4 text-xs text-gray-500 text-center">
111
+ We respect your privacy. Unsubscribe at any time.
112
+ </p>
113
+ </div>
114
+ </div>
115
+ </div>
116
+ </section>