@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,122 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface TabContent {
5
+ label: string;
6
+ title: string;
7
+ description: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ heading?: string;
13
+ tabs?: TabContent[];
14
+ }
15
+
16
+ const defaultTabs: TabContent[] = [
17
+ {
18
+ label: 'Performance',
19
+ title: 'Lightning Speed',
20
+ description: 'Optimized performance with minimal bundle size and instant load times.',
21
+ },
22
+ {
23
+ label: 'Security',
24
+ title: 'Secure by Design',
25
+ description: 'Enterprise-grade security with encryption and compliance built-in.',
26
+ },
27
+ {
28
+ label: 'Scalability',
29
+ title: 'Grows With You',
30
+ description: 'Infrastructure designed to handle millions of requests per day.',
31
+ },
32
+ {
33
+ label: 'Developer Experience',
34
+ title: 'Easy to Use',
35
+ description: 'Clean API and comprehensive documentation for rapid development.',
36
+ },
37
+ {
38
+ label: 'Support',
39
+ title: 'Always There',
40
+ description: '24/7 support from our expert team with quick response times.',
41
+ },
42
+ ];
43
+
44
+ let {
45
+ class: className,
46
+ heading = 'Feature Highlights',
47
+ tabs = defaultTabs,
48
+ }: Props = $props();
49
+
50
+ let activeTab = $state(0);
51
+ </script>
52
+
53
+ <section class={cn('w-full bg-white py-16 px-4 sm:px-6 lg:px-8', className)}>
54
+ <div class="mx-auto max-w-6xl">
55
+ <h2 class="text-3xl sm:text-4xl font-bold tracking-tight text-gray-900 text-center mb-12">
56
+ {heading}
57
+ </h2>
58
+
59
+ <!-- Tab Buttons -->
60
+ <div class="flex flex-wrap justify-center gap-2 mb-8">
61
+ {#each tabs as tab, index}
62
+ <button
63
+ on:click={() => (activeTab = index)}
64
+ class={cn(
65
+ 'px-4 py-2 rounded-lg font-medium transition-colors duration-200',
66
+ activeTab === index
67
+ ? 'bg-blue-600 text-white'
68
+ : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
69
+ )}
70
+ >
71
+ {tab.label}
72
+ </button>
73
+ {/each}
74
+ </div>
75
+
76
+ <!-- Content Area -->
77
+ <div class="mt-8">
78
+ {#key activeTab}
79
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center animate-fade-in">
80
+ <!-- Left: Text Content -->
81
+ <div>
82
+ <h3 class="text-2xl sm:text-3xl font-bold text-gray-900 mb-4">
83
+ {tabs[activeTab].title}
84
+ </h3>
85
+ <p class="text-lg text-gray-600 mb-8">
86
+ {tabs[activeTab].description}
87
+ </p>
88
+ <button
89
+ class="inline-flex items-center px-6 py-3 bg-blue-600 text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors"
90
+ >
91
+ Learn More
92
+ <svg class="ml-2 w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
93
+ <line x1="5" y1="12" x2="19" y2="12"></line>
94
+ <polyline points="12 5 19 12 12 19"></polyline>
95
+ </svg>
96
+ </button>
97
+ </div>
98
+
99
+ <!-- Right: Screenshot Placeholder -->
100
+ <div class="w-full aspect-video bg-gradient-to-br from-gray-200 to-gray-300 rounded-lg shadow-lg"></div>
101
+ </div>
102
+ {/key}
103
+ </div>
104
+ </div>
105
+ </section>
106
+
107
+ <style>
108
+ @keyframes fadeIn {
109
+ from {
110
+ opacity: 0;
111
+ transform: translateY(10px);
112
+ }
113
+ to {
114
+ opacity: 1;
115
+ transform: translateY(0);
116
+ }
117
+ }
118
+
119
+ :global(.animate-fade-in) {
120
+ animation: fadeIn 300ms ease-out;
121
+ }
122
+ </style>
@@ -0,0 +1,113 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface BentoCard {
5
+ icon: string;
6
+ title: string;
7
+ description: string;
8
+ size: 'large' | 'medium' | 'small';
9
+ }
10
+
11
+ interface Props {
12
+ class?: string;
13
+ heading?: string;
14
+ cards?: BentoCard[];
15
+ }
16
+
17
+ const defaultCards: BentoCard[] = [
18
+ {
19
+ icon: 'zap',
20
+ title: 'Lightning Fast',
21
+ description: 'Blazing speeds with optimized performance.',
22
+ size: 'large',
23
+ },
24
+ {
25
+ icon: 'palette',
26
+ title: 'Beautiful Design',
27
+ description: 'Stunning interfaces out of the box.',
28
+ size: 'medium',
29
+ },
30
+ {
31
+ icon: 'shield',
32
+ title: 'Secure',
33
+ description: 'Enterprise security.',
34
+ size: 'medium',
35
+ },
36
+ {
37
+ icon: 'code',
38
+ title: 'Developer Friendly',
39
+ description: 'Easy to build with.',
40
+ size: 'small',
41
+ },
42
+ {
43
+ icon: 'users',
44
+ title: 'Team Tools',
45
+ description: 'Collaborate seamlessly.',
46
+ size: 'small',
47
+ },
48
+ {
49
+ icon: 'trending-up',
50
+ title: 'Scalable',
51
+ description: 'Grows with you.',
52
+ size: 'small',
53
+ },
54
+ ];
55
+
56
+ let {
57
+ class: className,
58
+ heading = 'Designed for Every Use Case',
59
+ cards = defaultCards,
60
+ }: Props = $props();
61
+
62
+ const iconPaths: Record<string, string> = {
63
+ zap: 'm13 2-2 6.5h5l-7 13.5 2-6.5H6l7-13.5z',
64
+ palette:
65
+ 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z',
66
+ shield: 'M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z',
67
+ code: 'M16 18 22 12 16 6M8 6 2 12 8 18',
68
+ users: 'M17 21h-5v-2h5v2zM16 5.76A2.5 2.5 0 0 0 13.5 3 2.5 2.5 0 0 0 11 5.5 2.5 2.5 0 0 0 13.5 8 2.5 2.5 0 0 0 16 5.76zM8 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z',
69
+ 'trending-up': 'M16 6l2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18 9 12.41l4 4 6.3-6.29L22 12v-6z',
70
+ };
71
+
72
+ function getGridClasses(size: string): string {
73
+ switch (size) {
74
+ case 'large':
75
+ return 'sm:col-span-2 sm:row-span-2';
76
+ case 'medium':
77
+ return 'sm:col-span-1';
78
+ default:
79
+ return 'sm:col-span-1';
80
+ }
81
+ }
82
+ </script>
83
+
84
+ <section class={cn('w-full bg-gray-50 py-16 px-4 sm:px-6 lg:px-8', className)}>
85
+ <div class="mx-auto max-w-6xl">
86
+ <h2 class="text-3xl sm:text-4xl font-bold tracking-tight text-gray-900 text-center mb-12">
87
+ {heading}
88
+ </h2>
89
+
90
+ <div class="grid grid-cols-1 sm:grid-cols-3 gap-6 auto-rows-max">
91
+ {#each cards as card}
92
+ <div
93
+ class={cn(
94
+ 'p-6 bg-white rounded-lg border border-gray-200 hover:shadow-lg transition-shadow',
95
+ getGridClasses(card.size)
96
+ )}
97
+ >
98
+ <div class="flex h-12 w-12 items-center justify-center rounded-lg bg-blue-100 mb-4">
99
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="text-blue-600">
100
+ {#if iconPaths[card.icon]}
101
+ <path d={iconPaths[card.icon]} />
102
+ {:else}
103
+ <circle cx="12" cy="12" r="3" />
104
+ {/if}
105
+ </svg>
106
+ </div>
107
+ <h3 class="text-lg font-semibold text-gray-900 mb-2">{card.title}</h3>
108
+ <p class="text-gray-600 text-sm">{card.description}</p>
109
+ </div>
110
+ {/each}
111
+ </div>
112
+ </div>
113
+ </section>
@@ -0,0 +1,93 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface TimelineStep {
5
+ number: number;
6
+ title: string;
7
+ description: string;
8
+ align: 'left' | 'right';
9
+ }
10
+
11
+ interface Props {
12
+ class?: string;
13
+ heading?: string;
14
+ steps?: TimelineStep[];
15
+ }
16
+
17
+ const defaultSteps: TimelineStep[] = [
18
+ {
19
+ number: 1,
20
+ title: 'Get Started',
21
+ description: 'Sign up and create your first project in minutes.',
22
+ align: 'left',
23
+ },
24
+ {
25
+ number: 2,
26
+ title: 'Configure',
27
+ description: 'Set up your preferences and integrations.',
28
+ align: 'right',
29
+ },
30
+ {
31
+ number: 3,
32
+ title: 'Build',
33
+ description: 'Create amazing products with powerful tools.',
34
+ align: 'left',
35
+ },
36
+ {
37
+ number: 4,
38
+ title: 'Deploy',
39
+ description: 'Launch to production with one click.',
40
+ align: 'right',
41
+ },
42
+ {
43
+ number: 5,
44
+ title: 'Grow',
45
+ description: 'Scale your business with confidence.',
46
+ align: 'left',
47
+ },
48
+ ];
49
+
50
+ let {
51
+ class: className,
52
+ heading = 'The Journey to Success',
53
+ steps = defaultSteps,
54
+ }: Props = $props();
55
+ </script>
56
+
57
+ <section class={cn('w-full bg-white py-16 px-4 sm:px-6 lg:px-8', className)}>
58
+ <div class="mx-auto max-w-4xl">
59
+ <h2 class="text-3xl sm:text-4xl font-bold tracking-tight text-gray-900 text-center mb-16">
60
+ {heading}
61
+ </h2>
62
+
63
+ <div class="relative">
64
+ <!-- Timeline Line -->
65
+ <div class="absolute left-1/2 top-0 bottom-0 w-1 bg-blue-200 transform -translate-x-1/2"></div>
66
+
67
+ <!-- Steps -->
68
+ <div class="space-y-12">
69
+ {#each steps as step}
70
+ <div class={cn('flex gap-8', step.align === 'right' ? 'flex-row-reverse' : 'flex-row')}>
71
+ <!-- Content -->
72
+ <div class="flex-1 pt-2">
73
+ <div class={cn('p-6 bg-gray-50 rounded-lg border border-gray-200', step.align === 'right' ? 'text-right' : '')}>
74
+ <h3 class="text-lg font-semibold text-gray-900">{step.title}</h3>
75
+ <p class="mt-2 text-gray-600 text-sm">{step.description}</p>
76
+ </div>
77
+ </div>
78
+
79
+ <!-- Timeline Circle -->
80
+ <div class="flex justify-center">
81
+ <div class="flex h-12 w-12 items-center justify-center rounded-full bg-blue-600 text-white font-bold border-4 border-white shadow-lg">
82
+ {step.number}
83
+ </div>
84
+ </div>
85
+
86
+ <!-- Empty Space -->
87
+ <div class="flex-1"></div>
88
+ </div>
89
+ {/each}
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </section>
@@ -0,0 +1,97 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface FeatureWithQuote {
5
+ icon: string;
6
+ title: string;
7
+ description: string;
8
+ quote: string;
9
+ author: string;
10
+ avatar: string;
11
+ }
12
+
13
+ interface Props {
14
+ class?: string;
15
+ heading?: string;
16
+ features?: FeatureWithQuote[];
17
+ }
18
+
19
+ const defaultFeatures: FeatureWithQuote[] = [
20
+ {
21
+ icon: 'lightning',
22
+ title: 'Lightning Fast',
23
+ description: 'Instant performance with optimized code.',
24
+ quote: 'Fastest solution we have tried.',
25
+ author: 'Sarah Chen',
26
+ avatar: 'SC',
27
+ },
28
+ {
29
+ icon: 'shield',
30
+ title: 'Enterprise Security',
31
+ description: 'Bank-level encryption and compliance.',
32
+ quote: 'Our security team approved immediately.',
33
+ author: 'Mike Johnson',
34
+ avatar: 'MJ',
35
+ },
36
+ {
37
+ icon: 'code',
38
+ title: 'Developer Joy',
39
+ description: 'Clean APIs and great documentation.',
40
+ quote: 'Best developer experience ever.',
41
+ author: 'Alex Rivera',
42
+ avatar: 'AR',
43
+ },
44
+ ];
45
+
46
+ let {
47
+ class: className,
48
+ heading = 'Trusted by Developers',
49
+ features = defaultFeatures,
50
+ }: Props = $props();
51
+
52
+ const iconPaths: Record<string, string> = {
53
+ lightning: 'm13 2-2 6.5h5l-7 13.5 2-6.5H6l7-13.5z',
54
+ shield: 'M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z',
55
+ code: 'M16 18 22 12 16 6M8 6 2 12 8 18',
56
+ };
57
+ </script>
58
+
59
+ <section class={cn('w-full bg-gray-950 py-16 px-4 sm:px-6 lg:px-8', className)}>
60
+ <div class="mx-auto max-w-6xl">
61
+ <h2 class="text-3xl sm:text-4xl font-bold tracking-tight text-white text-center mb-12">
62
+ {heading}
63
+ </h2>
64
+
65
+ <div class="grid grid-cols-1 gap-8 sm:grid-cols-3">
66
+ {#each features as feature}
67
+ <div class="p-6 rounded-lg bg-gray-900 border border-gray-800">
68
+ <!-- Icon -->
69
+ <div class="flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20 mb-4">
70
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="text-blue-400">
71
+ {#if iconPaths[feature.icon]}
72
+ <path d={iconPaths[feature.icon]} />
73
+ {:else}
74
+ <circle cx="12" cy="12" r="3" />
75
+ {/if}
76
+ </svg>
77
+ </div>
78
+
79
+ <!-- Feature Content -->
80
+ <h3 class="text-lg font-semibold text-white mb-2">{feature.title}</h3>
81
+ <p class="text-gray-400 text-sm mb-6">{feature.description}</p>
82
+
83
+ <!-- Quote -->
84
+ <div class="border-t border-gray-800 pt-6">
85
+ <p class="text-sm text-gray-300 italic mb-4">"{feature.quote}"</p>
86
+ <div class="flex items-center gap-3">
87
+ <div class="flex h-8 w-8 items-center justify-center rounded-full bg-gradient-to-br from-blue-400 to-blue-600 text-white text-xs font-bold">
88
+ {feature.avatar}
89
+ </div>
90
+ <span class="text-sm font-medium text-white">{feature.author}</span>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ {/each}
95
+ </div>
96
+ </div>
97
+ </section>
@@ -0,0 +1,74 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Stat {
5
+ number: string;
6
+ label: string;
7
+ description: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ heading?: string;
13
+ subtitle?: string;
14
+ ctaText?: string;
15
+ stats?: Stat[];
16
+ }
17
+
18
+ const defaultStats: Stat[] = [
19
+ { number: '10M+', label: 'Users Worldwide', description: 'Trusted by millions' },
20
+ { number: '99.99%', label: 'Uptime', description: 'Reliable infrastructure' },
21
+ { number: '50+', label: 'Integrations', description: 'Connect everything' },
22
+ { number: '24/7', label: 'Support', description: 'Always available' },
23
+ ];
24
+
25
+ let {
26
+ class: className,
27
+ heading = 'Trusted by the Best',
28
+ subtitle = 'Join thousands of companies succeeding with our platform.',
29
+ ctaText = 'Get Started',
30
+ stats = defaultStats,
31
+ }: Props = $props();
32
+ </script>
33
+
34
+ <section class={cn('w-full bg-white py-16 px-4 sm:px-6 lg:px-8', className)}>
35
+ <div class="mx-auto max-w-6xl">
36
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
37
+ <!-- Left Column: Content -->
38
+ <div>
39
+ <h2 class="text-3xl sm:text-4xl font-bold tracking-tight text-gray-900 mb-4">
40
+ {heading}
41
+ </h2>
42
+ <p class="text-lg text-gray-600 mb-8">
43
+ {subtitle}
44
+ </p>
45
+ <button
46
+ class="inline-flex items-center px-8 py-3 bg-blue-600 text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors"
47
+ >
48
+ {ctaText}
49
+ <svg class="ml-2 w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
50
+ <line x1="5" y1="12" x2="19" y2="12"></line>
51
+ <polyline points="12 5 19 12 12 19"></polyline>
52
+ </svg>
53
+ </button>
54
+ </div>
55
+
56
+ <!-- Right Column: Stats Grid -->
57
+ <div class="grid grid-cols-2 gap-6">
58
+ {#each stats as stat}
59
+ <div class="p-6 rounded-lg bg-gray-50 border border-gray-200 text-center">
60
+ <div class="text-3xl sm:text-4xl font-bold text-blue-600 mb-2">
61
+ {stat.number}
62
+ </div>
63
+ <div class="text-lg font-semibold text-gray-900 mb-1">
64
+ {stat.label}
65
+ </div>
66
+ <div class="text-sm text-gray-600">
67
+ {stat.description}
68
+ </div>
69
+ </div>
70
+ {/each}
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </section>
@@ -0,0 +1,69 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface FullWidthFeature {
5
+ title: string;
6
+ description: string;
7
+ imagePosition: 'left' | 'right';
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ features?: FullWidthFeature[];
13
+ }
14
+
15
+ const defaultFeatures: FullWidthFeature[] = [
16
+ {
17
+ title: 'Advanced Analytics',
18
+ description: 'Get deep insights into your data with powerful analytics tools. Track metrics in real-time and make informed decisions.',
19
+ imagePosition: 'right',
20
+ },
21
+ {
22
+ title: 'Seamless Integration',
23
+ description: 'Connect with your favorite tools and platforms effortlessly. Our API integrates with everything you use daily.',
24
+ imagePosition: 'left',
25
+ },
26
+ {
27
+ title: 'World-Class Support',
28
+ description: 'Our dedicated team is here to help you succeed. Get expert assistance whenever you need it, around the clock.',
29
+ imagePosition: 'right',
30
+ },
31
+ ];
32
+
33
+ let {
34
+ class: className,
35
+ features = defaultFeatures,
36
+ }: Props = $props();
37
+ </script>
38
+
39
+ <section class={cn('w-full bg-white', className)}>
40
+ {#each features as feature, index}
41
+ <div class={cn('min-h-screen flex items-center py-16 px-4 sm:px-6 lg:px-8', index % 2 === 1 ? 'bg-gray-50' : 'bg-white')}>
42
+ <div class="mx-auto w-full max-w-6xl">
43
+ <div class={cn('grid grid-cols-1 lg:grid-cols-2 gap-12 items-center', feature.imagePosition === 'left' ? 'lg:grid-cols-2' : '')}>
44
+ <!-- Text Content -->
45
+ <div class={cn(feature.imagePosition === 'right' ? '' : 'lg:order-2')}>
46
+ <h2 class="text-4xl sm:text-5xl font-bold tracking-tight text-gray-900 mb-6">
47
+ {feature.title}
48
+ </h2>
49
+ <p class="text-xl text-gray-600 mb-8 leading-relaxed">
50
+ {feature.description}
51
+ </p>
52
+ <button class="inline-flex items-center px-8 py-3 bg-blue-600 text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors">
53
+ Learn More
54
+ <svg class="ml-2 w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
55
+ <line x1="5" y1="12" x2="19" y2="12"></line>
56
+ <polyline points="12 5 19 12 12 19"></polyline>
57
+ </svg>
58
+ </button>
59
+ </div>
60
+
61
+ <!-- Image Placeholder -->
62
+ <div class={cn(feature.imagePosition === 'right' ? '' : 'lg:order-1')}>
63
+ <div class="w-full aspect-video bg-gradient-to-br from-gray-300 to-gray-400 rounded-xl shadow-2xl"></div>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ {/each}
69
+ </section>
@@ -0,0 +1,20 @@
1
+ export { default as FeatureSection01 } from './FeatureSection01.svelte';
2
+ export { default as FeatureSection02 } from './FeatureSection02.svelte';
3
+ export { default as FeatureSection03 } from './FeatureSection03.svelte';
4
+ export { default as FeatureSection04 } from './FeatureSection04.svelte';
5
+ export { default as FeatureSection05 } from './FeatureSection05.svelte';
6
+ export { default as FeatureSection06 } from './FeatureSection06.svelte';
7
+ export { default as FeatureSection07 } from './FeatureSection07.svelte';
8
+ export { default as FeatureSection08 } from './FeatureSection08.svelte';
9
+ export { default as FeatureSection09 } from './FeatureSection09.svelte';
10
+ export { default as FeatureSection10 } from './FeatureSection10.svelte';
11
+ export { default as FeatureSection11 } from './FeatureSection11.svelte';
12
+ export { default as FeatureSection12 } from './FeatureSection12.svelte';
13
+ export { default as FeatureSection13 } from './FeatureSection13.svelte';
14
+ export { default as FeatureSection14 } from './FeatureSection14.svelte';
15
+ export { default as FeatureSection15 } from './FeatureSection15.svelte';
16
+ export { default as FeatureSection16 } from './FeatureSection16.svelte';
17
+ export { default as FeatureSection17 } from './FeatureSection17.svelte';
18
+ export { default as FeatureSection18 } from './FeatureSection18.svelte';
19
+ export { default as FeatureSection19 } from './FeatureSection19.svelte';
20
+ export { default as FeatureSection20 } from './FeatureSection20.svelte';
@@ -0,0 +1,62 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Props {
5
+ class?: string;
6
+ }
7
+
8
+ let { class: customClass = '' }: Props = $props();
9
+
10
+ const links = ['Products', 'Docs', 'Blog', 'About'];
11
+ const twitterIcon = `<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.737-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>`;
12
+ const githubIcon = `<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"/>`;
13
+ const linkedinIcon = `<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/>`;
14
+ const logoSvg = `<path d="m9 12 2 2 4-4"/><path d="M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7z"/>`;
15
+ </script>
16
+
17
+ <footer class={cn('w-full border-t bg-background px-4 py-6 sm:px-6', customClass)}>
18
+ <div class="mx-auto max-w-7xl flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between">
19
+ <!-- Logo -->
20
+ <div class="flex items-center gap-2 font-semibold">
21
+ <div class="h-7 w-7 rounded bg-foreground flex items-center justify-center">
22
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.5">
23
+ {logoSvg}
24
+ </svg>
25
+ </div>
26
+ Acme Inc.
27
+ </div>
28
+
29
+ <!-- Links -->
30
+ <div class="flex flex-wrap gap-6 text-sm">
31
+ {#each links as link}
32
+ <a href="#" class="text-muted-foreground hover:text-foreground transition-colors">
33
+ {link}
34
+ </a>
35
+ {/each}
36
+ </div>
37
+
38
+ <!-- Social Icons -->
39
+ <div class="flex gap-4">
40
+ <a href="#" class="text-muted-foreground hover:text-foreground transition-colors">
41
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
42
+ {twitterIcon}
43
+ </svg>
44
+ </a>
45
+ <a href="#" class="text-muted-foreground hover:text-foreground transition-colors">
46
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
47
+ {githubIcon}
48
+ </svg>
49
+ </a>
50
+ <a href="#" class="text-muted-foreground hover:text-foreground transition-colors">
51
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
52
+ {linkedinIcon}
53
+ </svg>
54
+ </a>
55
+ </div>
56
+ </div>
57
+
58
+ <!-- Copyright -->
59
+ <div class="mt-6 border-t pt-6 text-center">
60
+ <p class="text-sm text-muted-foreground">© {new Date().getFullYear()} Acme Inc. All rights reserved.</p>
61
+ </div>
62
+ </footer>