@xbg.solutions/create-frontend 1.1.2 → 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,54 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Logo {
5
+ name: string;
6
+ logoUrl?: string;
7
+ }
8
+
9
+ interface Props {
10
+ class?: string;
11
+ logos?: Logo[];
12
+ title?: string;
13
+ description?: string;
14
+ }
15
+
16
+ const defaultLogos: Logo[] = [
17
+ { name: 'Buzzsnap' },
18
+ { name: 'Dashstar' },
19
+ { name: 'Editly' },
20
+ { name: 'Geoaura' },
21
+ { name: 'Nanodea' },
22
+ { name: 'Orionbo' },
23
+ { name: 'Revahub' },
24
+ { name: 'Starlight' }
25
+ ];
26
+
27
+ let {
28
+ class: className,
29
+ logos = defaultLogos,
30
+ title = 'Customer logos that build trust',
31
+ description = 'Add logos of notable companies using your product. Include recognizable brands in grayscale to maintain visual consistency.'
32
+ }: Props = $props();
33
+ </script>
34
+
35
+ <section class={cn('w-full bg-background py-12 px-4 sm:px-6', className)}>
36
+ <div class="mx-auto max-w-6xl text-center">
37
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Logo Section</p>
38
+ <h2 class="mt-2 text-2xl sm:text-3xl font-bold text-foreground">{title}</h2>
39
+ <p class="mt-3 text-sm text-muted-foreground sm:text-base">{description}</p>
40
+
41
+ <div class="mt-8 flex flex-wrap items-center justify-center gap-x-8 gap-y-4">
42
+ {#each logos as logo (logo.name)}
43
+ <div class="flex items-center gap-2 font-semibold text-sm text-foreground">
44
+ {#if logo.logoUrl}
45
+ <img src={logo.logoUrl} alt={logo.name} class="h-5 w-5 object-contain" />
46
+ {:else}
47
+ <div class="h-5 w-5 rounded bg-foreground/80"></div>
48
+ {/if}
49
+ {logo.name}
50
+ </div>
51
+ {/each}
52
+ </div>
53
+ </div>
54
+ </section>
@@ -0,0 +1,56 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Logo {
5
+ name: string;
6
+ logoUrl?: string;
7
+ }
8
+
9
+ interface Props {
10
+ class?: string;
11
+ logos?: Logo[];
12
+ title?: string;
13
+ description?: string;
14
+ }
15
+
16
+ const defaultLogos: Logo[] = [
17
+ { name: 'Buzzsnap' },
18
+ { name: 'Dashstar' },
19
+ { name: 'Editly' },
20
+ { name: 'Geoaura' },
21
+ { name: 'Nanodea' },
22
+ { name: 'Orionbo' }
23
+ ];
24
+
25
+ let {
26
+ class: className,
27
+ logos = defaultLogos,
28
+ title = 'Customer logos that build trust',
29
+ description = 'Add logos of notable companies using your product. Include recognizable brands in grayscale to maintain visual consistency.'
30
+ }: Props = $props();
31
+ </script>
32
+
33
+ <section class={cn('w-full bg-background py-12 px-4', className)}>
34
+ <div class="mx-auto max-w-5xl flex flex-col gap-8 sm:flex-row sm:items-start">
35
+ <div class="flex-shrink-0 sm:w-1/3">
36
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Logo Section</p>
37
+ <h2 class="mt-2 text-2xl font-bold text-foreground">{title}</h2>
38
+ <p class="mt-3 text-sm text-muted-foreground">{description}</p>
39
+ </div>
40
+
41
+ <div class="sm:w-2/3">
42
+ <div class="grid grid-cols-2 gap-y-4 gap-x-8">
43
+ {#each logos as logo (logo.name)}
44
+ <div class="flex items-center gap-2 font-semibold text-sm text-foreground">
45
+ {#if logo.logoUrl}
46
+ <img src={logo.logoUrl} alt={logo.name} class="h-5 w-5 object-contain" />
47
+ {:else}
48
+ <div class="h-5 w-5 rounded bg-foreground/80"></div>
49
+ {/if}
50
+ {logo.name}
51
+ </div>
52
+ {/each}
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </section>
@@ -0,0 +1,58 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Logo {
5
+ name: string;
6
+ logoUrl?: string;
7
+ }
8
+
9
+ interface Props {
10
+ class?: string;
11
+ logos?: Logo[];
12
+ title?: string;
13
+ description?: string;
14
+ }
15
+
16
+ const defaultLogos: Logo[] = [
17
+ { name: 'Buzzsnap' },
18
+ { name: 'Dashstar' },
19
+ { name: 'Editly' },
20
+ { name: 'Geoaura' },
21
+ { name: 'Nanodea' },
22
+ { name: 'Orionbo' }
23
+ ];
24
+
25
+ let {
26
+ class: className,
27
+ logos = defaultLogos,
28
+ title = 'Customer logos that build trust',
29
+ description = 'Add logos of notable companies using your product. Include recognizable brands in grayscale to maintain visual consistency.'
30
+ }: Props = $props();
31
+ </script>
32
+
33
+ <section class={cn('w-full bg-background py-12 px-4', className)}>
34
+ <div class="mx-auto max-w-5xl flex flex-col gap-8 sm:flex-row sm:items-start">
35
+ <div class="flex-shrink-0 sm:w-1/3">
36
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Logo Section</p>
37
+ <h2 class="mt-2 text-2xl font-bold text-foreground">{title}</h2>
38
+ <p class="mt-3 text-sm text-muted-foreground">{description}</p>
39
+ </div>
40
+
41
+ <div class="sm:w-2/3">
42
+ <div class="grid grid-cols-2 divide-x divide-y border border-border">
43
+ {#each logos as logo (logo.name)}
44
+ <div class="flex items-center justify-center p-6">
45
+ <div class="flex items-center gap-2 font-semibold text-sm text-foreground">
46
+ {#if logo.logoUrl}
47
+ <img src={logo.logoUrl} alt={logo.name} class="h-5 w-5 object-contain" />
48
+ {:else}
49
+ <div class="h-5 w-5 rounded bg-foreground/80"></div>
50
+ {/if}
51
+ {logo.name}
52
+ </div>
53
+ </div>
54
+ {/each}
55
+ </div>
56
+ </div>
57
+ </div>
58
+ </section>
@@ -0,0 +1,58 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Logo {
5
+ name: string;
6
+ logoUrl?: string;
7
+ }
8
+
9
+ interface Props {
10
+ class?: string;
11
+ logos?: Logo[];
12
+ title?: string;
13
+ description?: string;
14
+ }
15
+
16
+ const defaultLogos: Logo[] = [
17
+ { name: 'Buzzsnap' },
18
+ { name: 'Dashstar' },
19
+ { name: 'Editly' },
20
+ { name: 'Geoaura' },
21
+ { name: 'Nanodea' },
22
+ { name: 'Orionbo' }
23
+ ];
24
+
25
+ let {
26
+ class: className,
27
+ logos = defaultLogos,
28
+ title = 'Customer logos that build trust',
29
+ description = 'Add logos of notable companies using your product. Include recognizable brands in grayscale to maintain visual consistency.'
30
+ }: Props = $props();
31
+ </script>
32
+
33
+ <section class={cn('w-full bg-foreground text-background py-12 px-4', className)}>
34
+ <div class="mx-auto max-w-5xl flex flex-col gap-8 sm:flex-row sm:items-start">
35
+ <div class="flex-shrink-0 sm:w-1/3">
36
+ <p class="text-xs uppercase tracking-widest text-background/70">Logo Section</p>
37
+ <h2 class="mt-2 text-2xl font-bold text-background">{title}</h2>
38
+ <p class="mt-3 text-sm text-background/70">{description}</p>
39
+ </div>
40
+
41
+ <div class="sm:w-2/3">
42
+ <div class="grid grid-cols-2 divide-x divide-y border border-background/20">
43
+ {#each logos as logo (logo.name)}
44
+ <div class="flex items-center justify-center p-6">
45
+ <div class="flex items-center gap-2 font-semibold text-sm text-background">
46
+ {#if logo.logoUrl}
47
+ <img src={logo.logoUrl} alt={logo.name} class="h-5 w-5 object-contain brightness-0 invert" />
48
+ {:else}
49
+ <div class="h-5 w-5 rounded bg-background/80"></div>
50
+ {/if}
51
+ {logo.name}
52
+ </div>
53
+ </div>
54
+ {/each}
55
+ </div>
56
+ </div>
57
+ </div>
58
+ </section>
@@ -0,0 +1,43 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Logo {
5
+ name: string;
6
+ logoUrl?: string;
7
+ }
8
+
9
+ interface Props {
10
+ class?: string;
11
+ logos?: Logo[];
12
+ }
13
+
14
+ const defaultLogos: Logo[] = [
15
+ { name: 'Buzzsnap' },
16
+ { name: 'Dashstar' },
17
+ { name: 'Editly' },
18
+ { name: 'Geoaura' },
19
+ { name: 'Nanodea' },
20
+ { name: 'Orionbo' }
21
+ ];
22
+
23
+ let { class: className, logos = defaultLogos }: Props = $props();
24
+ </script>
25
+
26
+ <section class={cn('w-full bg-background py-8 px-4', className)}>
27
+ <div class="mx-auto max-w-4xl">
28
+ <div class="grid grid-cols-2 sm:grid-cols-3 divide-x divide-y border border-border">
29
+ {#each logos as logo (logo.name)}
30
+ <div class="flex items-center justify-center p-8">
31
+ <div class="flex items-center gap-2 font-semibold text-sm text-foreground">
32
+ {#if logo.logoUrl}
33
+ <img src={logo.logoUrl} alt={logo.name} class="h-5 w-5 object-contain" />
34
+ {:else}
35
+ <div class="h-5 w-5 rounded bg-foreground/80"></div>
36
+ {/if}
37
+ {logo.name}
38
+ </div>
39
+ </div>
40
+ {/each}
41
+ </div>
42
+ </div>
43
+ </section>
@@ -0,0 +1,43 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Logo {
5
+ name: string;
6
+ logoUrl?: string;
7
+ }
8
+
9
+ interface Props {
10
+ class?: string;
11
+ logos?: Logo[];
12
+ }
13
+
14
+ const defaultLogos: Logo[] = [
15
+ { name: 'Buzzsnap' },
16
+ { name: 'Dashstar' },
17
+ { name: 'Editly' },
18
+ { name: 'Geoaura' },
19
+ { name: 'Nanodea' },
20
+ { name: 'Orionbo' }
21
+ ];
22
+
23
+ let { class: className, logos = defaultLogos }: Props = $props();
24
+ </script>
25
+
26
+ <section class={cn('w-full bg-foreground text-background py-8 px-4', className)}>
27
+ <div class="mx-auto max-w-4xl">
28
+ <div class="grid grid-cols-2 sm:grid-cols-3 divide-x divide-y border border-background/20">
29
+ {#each logos as logo (logo.name)}
30
+ <div class="flex items-center justify-center p-8">
31
+ <div class="flex items-center gap-2 font-semibold text-sm text-background">
32
+ {#if logo.logoUrl}
33
+ <img src={logo.logoUrl} alt={logo.name} class="h-5 w-5 object-contain brightness-0 invert" />
34
+ {:else}
35
+ <div class="h-5 w-5 rounded bg-background/80"></div>
36
+ {/if}
37
+ {logo.name}
38
+ </div>
39
+ </div>
40
+ {/each}
41
+ </div>
42
+ </div>
43
+ </section>
@@ -0,0 +1,56 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Logo {
5
+ name: string;
6
+ logoUrl?: string;
7
+ }
8
+
9
+ interface Props {
10
+ class?: string;
11
+ logos?: Logo[];
12
+ title?: string;
13
+ description?: string;
14
+ }
15
+
16
+ const defaultLogos: Logo[] = [
17
+ { name: 'Buzzsnap' },
18
+ { name: 'Dashstar' },
19
+ { name: 'Editly' },
20
+ { name: 'Geoaura' },
21
+ { name: 'Nanodea' },
22
+ { name: 'Orionbo' },
23
+ { name: 'Revahub' },
24
+ { name: 'Starlight' }
25
+ ];
26
+
27
+ let {
28
+ class: className,
29
+ logos = defaultLogos,
30
+ title = 'Customer logos that build trust',
31
+ description = 'Add logos of notable companies using your product. Include recognizable brands in grayscale to maintain visual consistency.'
32
+ }: Props = $props();
33
+ </script>
34
+
35
+ <section class={cn('w-full bg-background py-12 px-4', className)}>
36
+ <div class="mx-auto max-w-6xl">
37
+ <div class="text-center">
38
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Logo Section</p>
39
+ <h2 class="mt-2 text-2xl sm:text-3xl font-bold text-foreground">{title}</h2>
40
+ <p class="mt-3 text-sm text-muted-foreground sm:text-base">{description}</p>
41
+ </div>
42
+
43
+ <div class="mt-8 flex items-center gap-8 overflow-x-auto pb-2">
44
+ {#each logos as logo (logo.name)}
45
+ <div class="flex-shrink-0 flex items-center gap-2 font-semibold text-sm text-foreground">
46
+ {#if logo.logoUrl}
47
+ <img src={logo.logoUrl} alt={logo.name} class="h-5 w-5 object-contain" />
48
+ {:else}
49
+ <div class="h-5 w-5 rounded bg-foreground/80"></div>
50
+ {/if}
51
+ <span class="whitespace-nowrap">{logo.name}</span>
52
+ </div>
53
+ {/each}
54
+ </div>
55
+ </div>
56
+ </section>
@@ -0,0 +1,7 @@
1
+ export { default as LogoSection01 } from './LogoSection01.svelte';
2
+ export { default as LogoSection02 } from './LogoSection02.svelte';
3
+ export { default as LogoSection03 } from './LogoSection03.svelte';
4
+ export { default as LogoSection04 } from './LogoSection04.svelte';
5
+ export { default as LogoSection05 } from './LogoSection05.svelte';
6
+ export { default as LogoSection06 } from './LogoSection06.svelte';
7
+ export { default as LogoSection07 } from './LogoSection07.svelte';
@@ -0,0 +1,94 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Link {
6
+ label: string;
7
+ href?: string;
8
+ children?: Link[];
9
+ }
10
+
11
+ let {
12
+ class: className = '',
13
+ links = [
14
+ { label: 'Products', href: '#' },
15
+ { label: 'Use Cases', href: '#' },
16
+ { label: 'Docs', href: '#' },
17
+ { label: 'Blog', href: '#' },
18
+ { label: 'FAQ', href: '#' }
19
+ ],
20
+ onCta = () => {}
21
+ }: {
22
+ class?: string;
23
+ links?: Link[];
24
+ onCta?: () => void;
25
+ } = $props();
26
+
27
+ let isOpen = $state(false);
28
+ </script>
29
+
30
+ <header class={cn('w-full border-b bg-background', className)}>
31
+ <div class="mx-auto flex max-w-7xl items-center justify-between px-4 py-3 sm:px-6">
32
+ <!-- Logo -->
33
+ <div class="h-8 w-8 rounded bg-foreground/10 flex items-center justify-center flex-shrink-0">
34
+ <svg width="16" height="16" viewBox="0 0 20 20" fill="currentColor" class="text-foreground/60">
35
+ <path d="M2 4a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H4a2 2 0 01-2-2V4z" />
36
+ </svg>
37
+ </div>
38
+
39
+ <!-- Desktop Nav -->
40
+ <nav class="hidden sm:flex items-center gap-6">
41
+ {#each links as link}
42
+ <a
43
+ href={link.href || '#'}
44
+ class="text-sm text-muted-foreground hover:text-foreground transition-colors"
45
+ >
46
+ {link.label}
47
+ </a>
48
+ {/each}
49
+ </nav>
50
+
51
+ <!-- Desktop CTA -->
52
+ <div class="hidden sm:block">
53
+ <Button size="sm" onclick={onCta}>Get started</Button>
54
+ </div>
55
+
56
+ <!-- Mobile Menu Toggle -->
57
+ <button
58
+ onclick={() => (isOpen = !isOpen)}
59
+ class="sm:hidden p-2 hover:bg-muted rounded-md transition-colors"
60
+ >
61
+ {#if isOpen}
62
+ <svg width="20" height="20" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">
63
+ <line x1="18" y1="6" x2="6" y2="18" />
64
+ <line x1="6" y1="6" x2="18" y2="18" />
65
+ </svg>
66
+ {:else}
67
+ <svg width="20" height="20" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">
68
+ <line x1="3" y1="6" x2="21" y2="6" />
69
+ <line x1="3" y1="12" x2="21" y2="12" />
70
+ <line x1="3" y1="18" x2="21" y2="18" />
71
+ </svg>
72
+ {/if}
73
+ </button>
74
+ </div>
75
+
76
+ <!-- Mobile Menu -->
77
+ {#if isOpen}
78
+ <div class="border-t sm:hidden">
79
+ <nav class="flex flex-col py-4 px-4">
80
+ {#each links as link}
81
+ <a
82
+ href={link.href || '#'}
83
+ class="px-2 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors"
84
+ >
85
+ {link.label}
86
+ </a>
87
+ {/each}
88
+ </nav>
89
+ <div class="px-4 pb-4">
90
+ <Button size="sm" class="w-full" onclick={onCta}>Get started</Button>
91
+ </div>
92
+ </div>
93
+ {/if}
94
+ </header>
@@ -0,0 +1,96 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Link {
6
+ label: string;
7
+ href?: string;
8
+ children?: Link[];
9
+ }
10
+
11
+ let {
12
+ class: className = '',
13
+ links = [
14
+ { label: 'Products', href: '#' },
15
+ { label: 'Use Cases', href: '#' },
16
+ { label: 'Docs', href: '#' },
17
+ { label: 'Blog', href: '#' },
18
+ { label: 'FAQ', href: '#' }
19
+ ],
20
+ onCta = () => {}
21
+ }: {
22
+ class?: string;
23
+ links?: Link[];
24
+ onCta?: () => void;
25
+ } = $props();
26
+
27
+ let isOpen = $state(false);
28
+ </script>
29
+
30
+ <header class={cn('w-full border-b bg-background', className)}>
31
+ <div class="mx-auto flex max-w-7xl items-center justify-between px-4 py-3 sm:px-6">
32
+ <!-- Logo -->
33
+ <div class="h-8 w-8 rounded bg-foreground/10 flex items-center justify-center flex-shrink-0">
34
+ <svg width="16" height="16" viewBox="0 0 20 20" fill="currentColor" class="text-foreground/60">
35
+ <path d="M2 4a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H4a2 2 0 01-2-2V4z" />
36
+ </svg>
37
+ </div>
38
+
39
+ <!-- Desktop Nav - Centered -->
40
+ <div class="flex-1 flex justify-center">
41
+ <nav class="hidden sm:flex items-center gap-6">
42
+ {#each links as link}
43
+ <a
44
+ href={link.href || '#'}
45
+ class="text-sm text-muted-foreground hover:text-foreground transition-colors"
46
+ >
47
+ {link.label}
48
+ </a>
49
+ {/each}
50
+ </nav>
51
+ </div>
52
+
53
+ <!-- Desktop CTA -->
54
+ <div class="hidden sm:block">
55
+ <Button size="sm" onclick={onCta}>Get started</Button>
56
+ </div>
57
+
58
+ <!-- Mobile Menu Toggle -->
59
+ <button
60
+ onclick={() => (isOpen = !isOpen)}
61
+ class="sm:hidden p-2 hover:bg-muted rounded-md transition-colors"
62
+ >
63
+ {#if isOpen}
64
+ <svg width="20" height="20" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">
65
+ <line x1="18" y1="6" x2="6" y2="18" />
66
+ <line x1="6" y1="6" x2="18" y2="18" />
67
+ </svg>
68
+ {:else}
69
+ <svg width="20" height="20" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">
70
+ <line x1="3" y1="6" x2="21" y2="6" />
71
+ <line x1="3" y1="12" x2="21" y2="12" />
72
+ <line x1="3" y1="18" x2="21" y2="18" />
73
+ </svg>
74
+ {/if}
75
+ </button>
76
+ </div>
77
+
78
+ <!-- Mobile Menu -->
79
+ {#if isOpen}
80
+ <div class="border-t sm:hidden">
81
+ <nav class="flex flex-col py-4 px-4">
82
+ {#each links as link}
83
+ <a
84
+ href={link.href || '#'}
85
+ class="px-2 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors"
86
+ >
87
+ {link.label}
88
+ </a>
89
+ {/each}
90
+ </nav>
91
+ <div class="px-4 pb-4">
92
+ <Button size="sm" class="w-full" onclick={onCta}>Get started</Button>
93
+ </div>
94
+ </div>
95
+ {/if}
96
+ </header>
@@ -0,0 +1,97 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+ import { Button } from '$lib/components/ui';
4
+
5
+ interface Link {
6
+ label: string;
7
+ href?: string;
8
+ children?: Link[];
9
+ }
10
+
11
+ let {
12
+ class: className = '',
13
+ links = [
14
+ { label: 'Products', href: '#' },
15
+ { label: 'Use Cases', href: '#' },
16
+ { label: 'Docs', href: '#' },
17
+ { label: 'Blog', href: '#' },
18
+ { label: 'FAQ', href: '#' }
19
+ ],
20
+ onCta = () => {}
21
+ }: {
22
+ class?: string;
23
+ links?: Link[];
24
+ onCta?: () => void;
25
+ } = $props();
26
+
27
+ let isOpen = $state(false);
28
+ </script>
29
+
30
+ <header class={cn('w-full border-b bg-background', className)}>
31
+ <div class="mx-auto flex max-w-7xl items-center justify-between px-4 py-3 sm:px-6">
32
+ <!-- Logo -->
33
+ <div class="h-8 w-8 rounded bg-foreground/10 flex items-center justify-center flex-shrink-0">
34
+ <svg width="16" height="16" viewBox="0 0 20 20" fill="currentColor" class="text-foreground/60">
35
+ <path d="M2 4a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H4a2 2 0 01-2-2V4z" />
36
+ </svg>
37
+ </div>
38
+
39
+ <!-- Desktop Nav -->
40
+ <nav class="hidden sm:flex items-center gap-6">
41
+ {#each links as link}
42
+ <a
43
+ href={link.href || '#'}
44
+ class="text-sm text-muted-foreground hover:text-foreground transition-colors"
45
+ >
46
+ {link.label}
47
+ </a>
48
+ {/each}
49
+ </nav>
50
+
51
+ <!-- Desktop Auth Buttons -->
52
+ <div class="hidden sm:flex items-center gap-2">
53
+ <Button variant="ghost" size="sm" onclick={onCta}>Sign in</Button>
54
+ <Button size="sm" onclick={onCta}>Sign up</Button>
55
+ </div>
56
+
57
+ <!-- Mobile Menu Toggle -->
58
+ <button
59
+ onclick={() => (isOpen = !isOpen)}
60
+ class="sm:hidden p-2 hover:bg-muted rounded-md transition-colors"
61
+ >
62
+ {#if isOpen}
63
+ <svg width="20" height="20" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">
64
+ <line x1="18" y1="6" x2="6" y2="18" />
65
+ <line x1="6" y1="6" x2="18" y2="18" />
66
+ </svg>
67
+ {:else}
68
+ <svg width="20" height="20" viewBox="0 0 20 20" stroke="currentColor" stroke-width="2">
69
+ <line x1="3" y1="6" x2="21" y2="6" />
70
+ <line x1="3" y1="12" x2="21" y2="12" />
71
+ <line x1="3" y1="18" x2="21" y2="18" />
72
+ </svg>
73
+ {/if}
74
+ </button>
75
+ </div>
76
+
77
+ <!-- Mobile Menu -->
78
+ {#if isOpen}
79
+ <div class="border-t sm:hidden">
80
+ <nav class="flex flex-col py-4 px-4">
81
+ {#each links as link}
82
+ <a
83
+ href={link.href || '#'}
84
+ class="px-2 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors"
85
+ >
86
+ {link.label}
87
+ </a>
88
+ {/each}
89
+ </nav>
90
+ <div class="border-t my-4"></div>
91
+ <div class="px-4 pb-4 flex gap-2">
92
+ <Button variant="outline" size="sm" class="flex-1" onclick={onCta}>Sign in</Button>
93
+ <Button size="sm" class="flex-1" onclick={onCta}>Sign up</Button>
94
+ </div>
95
+ </div>
96
+ {/if}
97
+ </header>