@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,69 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface FaqItem {
5
+ question: string;
6
+ answer: string;
7
+ category?: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ title?: string;
13
+ description?: string;
14
+ items?: FaqItem[];
15
+ eyebrow?: string;
16
+ }
17
+
18
+ const defaultFaqs: FaqItem[] = [
19
+ {
20
+ question: 'What is shadcn/ui?',
21
+ answer:
22
+ 'Shadcn/ui is a popular, open-source UI component library for React that focuses on flexibility and customization. It provides a set of accessible, customizable components that you can use to build modern web applications.'
23
+ },
24
+ {
25
+ question: 'What is shadcn/ui kit for Figma?',
26
+ answer:
27
+ 'The shadcn/ui kit for Figma is our comprehensive design kit that brings the shadcn/ui components into the Figma environment.'
28
+ },
29
+ {
30
+ question: "I'm not familiar with shadcn/ui. Can I still use this kit?",
31
+ answer:
32
+ 'Absolutely! Our kit is intuitive and comes with documentation to help you get started, regardless of your familiarity with Figma or shadcn/ui.'
33
+ },
34
+ {
35
+ question: 'Can I create multi-brand design systems with this UI kit?',
36
+ answer:
37
+ 'Yes! Our kit is designed with multi-brand support in mind. You can easily create and manage multiple styles for different brands within a single design system using Figma variables.'
38
+ },
39
+ {
40
+ question: 'How will this kit save me time?',
41
+ answer:
42
+ 'By providing pre-built, customizable components and templates, you can skip the repetitive setup work and focus on the unique aspects of your design.'
43
+ },
44
+ {
45
+ question: 'How does this improve my collaboration with developers?',
46
+ answer:
47
+ 'Our components are built to closely match the shadcn/ui library, significantly reducing misinterpretations and implementation errors.'
48
+ }
49
+ ];
50
+
51
+ let { class: className, title = 'Frequently Asked Questions', description = 'Get answers to your questions.', items = defaultFaqs, eyebrow = 'FAQ Section' }: Props = $props();
52
+ </script>
53
+
54
+ <section class={cn('w-full bg-background py-16 px-4 sm:px-6 lg:px-8', className)}>
55
+ <div class="mx-auto max-w-6xl text-center">
56
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">{eyebrow}</p>
57
+ <h2 class="mt-2 text-3xl sm:text-4xl font-bold tracking-tight">{title}</h2>
58
+ <p class="mt-3 text-muted-foreground">{description}</p>
59
+ </div>
60
+
61
+ <div class="mt-10 mx-auto max-w-2xl flex flex-col gap-6">
62
+ {#each items as item (item.question)}
63
+ <div class="rounded-lg border p-6">
64
+ <h3 class="font-semibold text-sm">{item.question}</h3>
65
+ <p class="mt-2 text-sm text-muted-foreground">{item.answer}</p>
66
+ </div>
67
+ {/each}
68
+ </div>
69
+ </section>
@@ -0,0 +1,11 @@
1
+ export { default as FaqSection01 } from './FaqSection01.svelte';
2
+ export { default as FaqSection02 } from './FaqSection02.svelte';
3
+ export { default as FaqSection03 } from './FaqSection03.svelte';
4
+ export { default as FaqSection04 } from './FaqSection04.svelte';
5
+ export { default as FaqSection05 } from './FaqSection05.svelte';
6
+
7
+ export interface FaqItem {
8
+ question: string;
9
+ answer: string;
10
+ category?: string;
11
+ }
@@ -0,0 +1,94 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Feature {
5
+ icon?: string;
6
+ title: string;
7
+ description: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ title?: string;
13
+ description?: string;
14
+ features?: Feature[];
15
+ }
16
+
17
+ const defaultFeatures: Feature[] = [
18
+ { title: 'Lightning Fast', description: 'Built for performance with optimized components that load instantly.' },
19
+ { title: 'Fully Customizable', description: 'Every component can be tailored to match your brand perfectly.' },
20
+ { title: 'Dark Mode Ready', description: 'Beautiful light and dark modes out of the box.' },
21
+ { title: 'TypeScript Native', description: 'Full TypeScript support with complete type definitions.' },
22
+ { title: 'Accessible', description: 'WCAG 2.1 compliant with keyboard navigation and screen reader support.' },
23
+ { title: 'Open Source', description: 'MIT licensed and free to use in any project, personal or commercial.' },
24
+ ];
25
+
26
+ let {
27
+ class: className,
28
+ title = 'Everything you need to ship faster',
29
+ description = 'A comprehensive set of tools and components to accelerate your development workflow.',
30
+ features = defaultFeatures,
31
+ }: Props = $props();
32
+
33
+ const iconComponents: Record<string, { viewBox: string; path: string }> = {
34
+ lightning: {
35
+ viewBox: '0 0 24 24',
36
+ path: 'm13 2-2 6.5h5l-7 13.5 2-6.5H6l7-13.5z',
37
+ },
38
+ settings: {
39
+ viewBox: '0 0 24 24',
40
+ path: 'M3 12a9 9 0 0 0 9 9M12 3a9 9 0 0 0-9 9M19.07 4.93a10 10 0 0 0-14.14 0M4.93 19.07a10 10 0 0 0 14.14 0',
41
+ },
42
+ moon: {
43
+ viewBox: '0 0 24 24',
44
+ path: 'M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z',
45
+ },
46
+ code: {
47
+ viewBox: '0 0 24 24',
48
+ path: 'M16 18 22 12 16 6M8 6 2 12 8 18',
49
+ },
50
+ shield: {
51
+ viewBox: '0 0 24 24',
52
+ path: 'M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z',
53
+ },
54
+ lock: {
55
+ viewBox: '0 0 24 24',
56
+ path: 'M3 11h18v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V11zM7 11V7a5 5 0 0 1 10 0v4',
57
+ },
58
+ };
59
+ </script>
60
+
61
+ <section class={cn('w-full bg-background py-16 px-4 sm:px-6 lg:px-8', className)}>
62
+ <div class="mx-auto max-w-6xl">
63
+ <div class="text-center mb-12">
64
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Feature Section</p>
65
+ <h2 class="mt-2 text-3xl sm:text-4xl font-bold tracking-tight">
66
+ {title}
67
+ </h2>
68
+ <p class="mt-3 text-lg text-muted-foreground max-w-2xl mx-auto">
69
+ {description}
70
+ </p>
71
+ </div>
72
+
73
+ <div class="mt-10 grid grid-cols-1 gap-8 sm:grid-cols-3">
74
+ {#each features as feature}
75
+ <div>
76
+ <div class="flex h-10 w-10 items-center justify-center rounded-lg bg-muted mb-4">
77
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="text-foreground">
78
+ {#if feature.icon && iconComponents[feature.icon]}
79
+ <g>
80
+ {@html `<path d="${iconComponents[feature.icon].path}" />`}
81
+ </g>
82
+ {:else}
83
+ <circle cx="12" cy="12" r="3" />
84
+ <path d="M19.07 4.93a10 10 0 0 0-14.14 0M4.93 19.07a10 10 0 0 0 14.14 0" />
85
+ {/if}
86
+ </svg>
87
+ </div>
88
+ <h3 class="text-lg font-semibold text-foreground">{feature.title}</h3>
89
+ <p class="mt-2 text-muted-foreground text-sm">{feature.description}</p>
90
+ </div>
91
+ {/each}
92
+ </div>
93
+ </div>
94
+ </section>
@@ -0,0 +1,61 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Feature {
5
+ icon?: string;
6
+ title: string;
7
+ description: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ title?: string;
13
+ description?: string;
14
+ features?: Feature[];
15
+ }
16
+
17
+ const defaultFeatures: Feature[] = [
18
+ { title: 'Lightning Fast', description: 'Built for performance with optimized components that load instantly.' },
19
+ { title: 'Fully Customizable', description: 'Every component can be tailored to match your brand perfectly.' },
20
+ { title: 'Dark Mode Ready', description: 'Beautiful light and dark modes out of the box.' },
21
+ { title: 'TypeScript Native', description: 'Full TypeScript support with complete type definitions.' },
22
+ { title: 'Accessible', description: 'WCAG 2.1 compliant with keyboard navigation and screen reader support.' },
23
+ { title: 'Open Source', description: 'MIT licensed and free to use in any project, personal or commercial.' },
24
+ ];
25
+
26
+ let {
27
+ class: className,
28
+ title = 'Everything you need to ship faster',
29
+ description = 'A comprehensive set of tools and components to accelerate your development workflow.',
30
+ features = defaultFeatures,
31
+ }: Props = $props();
32
+ </script>
33
+
34
+ <section class={cn('w-full bg-background py-16 px-4 sm:px-6 lg:px-8', className)}>
35
+ <div class="mx-auto max-w-6xl">
36
+ <div class="mb-12">
37
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Feature Section</p>
38
+ <h2 class="mt-2 text-3xl sm:text-4xl font-bold tracking-tight">
39
+ {title}
40
+ </h2>
41
+ <p class="mt-3 text-lg text-muted-foreground max-w-2xl">
42
+ {description}
43
+ </p>
44
+ </div>
45
+
46
+ <div class="mt-10 grid grid-cols-1 gap-8 sm:grid-cols-3">
47
+ {#each features as feature}
48
+ <div>
49
+ <div class="flex h-10 w-10 items-center justify-center rounded-lg bg-muted mb-4">
50
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="text-foreground">
51
+ <circle cx="12" cy="12" r="3" />
52
+ <path d="M19.07 4.93a10 10 0 0 0-14.14 0M4.93 19.07a10 10 0 0 0 14.14 0" />
53
+ </svg>
54
+ </div>
55
+ <h3 class="text-lg font-semibold text-foreground">{feature.title}</h3>
56
+ <p class="mt-2 text-muted-foreground text-sm">{feature.description}</p>
57
+ </div>
58
+ {/each}
59
+ </div>
60
+ </div>
61
+ </section>
@@ -0,0 +1,85 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Feature {
5
+ icon?: string;
6
+ title: string;
7
+ description: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ title?: string;
13
+ description?: string;
14
+ features?: Feature[];
15
+ }
16
+
17
+ const defaultFeatures: Feature[] = [
18
+ { title: 'Lightning Fast', description: 'Built for performance with optimized components that load instantly.' },
19
+ { title: 'Fully Customizable', description: 'Every component can be tailored to match your brand perfectly.' },
20
+ { title: 'Dark Mode Ready', description: 'Beautiful light and dark modes out of the box.' },
21
+ ];
22
+
23
+ let {
24
+ class: className,
25
+ title = 'Everything you need to ship faster',
26
+ description = 'A comprehensive set of tools and components to accelerate your development workflow.',
27
+ features = defaultFeatures,
28
+ }: Props = $props();
29
+ </script>
30
+
31
+ <section class={cn('w-full bg-background py-16 px-4 sm:px-6 lg:px-8', className)}>
32
+ <div class="mx-auto max-w-6xl">
33
+ <div class="text-center mb-12">
34
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Feature Section</p>
35
+ <h2 class="mt-2 text-3xl sm:text-4xl font-bold tracking-tight">
36
+ {title}
37
+ </h2>
38
+ <p class="mt-3 text-lg text-muted-foreground max-w-2xl mx-auto">
39
+ {description}
40
+ </p>
41
+ </div>
42
+
43
+ <div class="mt-10 space-y-16">
44
+ {#each features as feature, i}
45
+ <div class="grid grid-cols-1 gap-12 sm:grid-cols-2 sm:items-center {i % 2 === 1 ? 'sm:flex-row-reverse' : ''}">
46
+ <div class={i % 2 === 1 ? 'sm:order-2' : ''}>
47
+ <p class="text-xs uppercase tracking-widest text-muted-foreground font-medium">Feature</p>
48
+ <h3 class="mt-2 text-2xl sm:text-3xl font-bold text-foreground">{feature.title}</h3>
49
+ <p class="mt-4 text-muted-foreground">{feature.description}</p>
50
+ <a
51
+ href="#"
52
+ class="mt-6 inline-flex items-center gap-2 text-sm font-medium text-foreground hover:underline"
53
+ >
54
+ Learn more
55
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
56
+ <line x1="5" y1="12" x2="19" y2="12" />
57
+ <polyline points="12 5 19 12 12 19" />
58
+ </svg>
59
+ </a>
60
+ </div>
61
+
62
+ <div class={i % 2 === 1 ? 'sm:order-1' : ''}>
63
+ <div
64
+ class="aspect-video w-full rounded-xl bg-muted flex items-center justify-center"
65
+ >
66
+ <svg
67
+ width="32"
68
+ height="32"
69
+ viewBox="0 0 24 24"
70
+ fill="none"
71
+ stroke="currentColor"
72
+ stroke-width="1"
73
+ class="text-muted-foreground/40"
74
+ >
75
+ <rect x="3" y="3" width="18" height="18" rx="2" />
76
+ <circle cx="8.5" cy="8.5" r="1.5" />
77
+ <polyline points="21 15 16 10 5 21" />
78
+ </svg>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ {/each}
83
+ </div>
84
+ </div>
85
+ </section>
@@ -0,0 +1,67 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Feature {
5
+ icon?: string;
6
+ title: string;
7
+ description: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ title?: string;
13
+ description?: string;
14
+ features?: Feature[];
15
+ }
16
+
17
+ const defaultFeatures: Feature[] = [
18
+ { title: 'Lightning Fast', description: 'Built for performance with optimized components that load instantly.' },
19
+ { title: 'Fully Customizable', description: 'Every component can be tailored to match your brand perfectly.' },
20
+ { title: 'Dark Mode Ready', description: 'Beautiful light and dark modes out of the box.' },
21
+ { title: 'TypeScript Native', description: 'Full TypeScript support with complete type definitions.' },
22
+ { title: 'Accessible', description: 'WCAG 2.1 compliant with keyboard navigation and screen reader support.' },
23
+ { title: 'Open Source', description: 'MIT licensed and free to use in any project, personal or commercial.' },
24
+ { title: 'Well Documented', description: 'Comprehensive docs with examples and code snippets.' },
25
+ { title: '24/7 Support', description: 'Get help anytime from our dedicated support team.' },
26
+ ];
27
+
28
+ let {
29
+ class: className,
30
+ title = 'Everything you need to ship faster',
31
+ description = 'A comprehensive set of tools and components to accelerate your development workflow.',
32
+ features = defaultFeatures,
33
+ }: Props = $props();
34
+ </script>
35
+
36
+ <section class={cn('w-full bg-background py-16 px-4 sm:px-6 lg:px-8', className)}>
37
+ <div class="mx-auto max-w-6xl">
38
+ <div class="text-center mb-12">
39
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Feature Section</p>
40
+ <h2 class="mt-2 text-3xl sm:text-4xl font-bold tracking-tight">
41
+ {title}
42
+ </h2>
43
+ <p class="mt-3 text-lg text-muted-foreground max-w-2xl mx-auto">
44
+ {description}
45
+ </p>
46
+ </div>
47
+
48
+ <div class="mt-10 grid grid-cols-1 gap-6 sm:grid-cols-2">
49
+ {#each features as feature}
50
+ <div class="flex gap-4">
51
+ <div class="flex-shrink-0">
52
+ <div class="flex h-10 w-10 items-center justify-center rounded-lg bg-muted">
53
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="text-foreground">
54
+ <circle cx="12" cy="12" r="3" />
55
+ <path d="M19.07 4.93a10 10 0 0 0-14.14 0M4.93 19.07a10 10 0 0 0 14.14 0" />
56
+ </svg>
57
+ </div>
58
+ </div>
59
+ <div class="flex-1">
60
+ <h3 class="font-semibold text-foreground">{feature.title}</h3>
61
+ <p class="mt-1 text-sm text-muted-foreground">{feature.description}</p>
62
+ </div>
63
+ </div>
64
+ {/each}
65
+ </div>
66
+ </div>
67
+ </section>
@@ -0,0 +1,61 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Feature {
5
+ icon?: string;
6
+ title: string;
7
+ description: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ title?: string;
13
+ description?: string;
14
+ features?: Feature[];
15
+ }
16
+
17
+ const defaultFeatures: Feature[] = [
18
+ { title: 'Lightning Fast', description: 'Built for performance with optimized components that load instantly.' },
19
+ { title: 'Fully Customizable', description: 'Every component can be tailored to match your brand perfectly.' },
20
+ { title: 'Dark Mode Ready', description: 'Beautiful light and dark modes out of the box.' },
21
+ { title: 'TypeScript Native', description: 'Full TypeScript support with complete type definitions.' },
22
+ { title: 'Accessible', description: 'WCAG 2.1 compliant with keyboard navigation and screen reader support.' },
23
+ { title: 'Open Source', description: 'MIT licensed and free to use in any project, personal or commercial.' },
24
+ ];
25
+
26
+ let {
27
+ class: className,
28
+ title = 'Everything you need to ship faster',
29
+ description = 'A comprehensive set of tools and components to accelerate your development workflow.',
30
+ features = defaultFeatures,
31
+ }: Props = $props();
32
+ </script>
33
+
34
+ <section class={cn('w-full bg-foreground text-background py-16 px-4 sm:px-6 lg:px-8', className)}>
35
+ <div class="mx-auto max-w-6xl">
36
+ <div class="text-center mb-12">
37
+ <p class="text-xs uppercase tracking-widest text-background/60">Feature Section</p>
38
+ <h2 class="mt-2 text-3xl sm:text-4xl font-bold tracking-tight">
39
+ {title}
40
+ </h2>
41
+ <p class="mt-3 text-lg text-background/80 max-w-2xl mx-auto">
42
+ {description}
43
+ </p>
44
+ </div>
45
+
46
+ <div class="mt-10 grid grid-cols-1 gap-8 sm:grid-cols-3">
47
+ {#each features as feature}
48
+ <div>
49
+ <div class="flex h-10 w-10 items-center justify-center rounded-lg bg-background/10 mb-4">
50
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="text-background">
51
+ <circle cx="12" cy="12" r="3" />
52
+ <path d="M19.07 4.93a10 10 0 0 0-14.14 0M4.93 19.07a10 10 0 0 0 14.14 0" />
53
+ </svg>
54
+ </div>
55
+ <h3 class="text-lg font-semibold text-background">{feature.title}</h3>
56
+ <p class="mt-2 text-background/80 text-sm">{feature.description}</p>
57
+ </div>
58
+ {/each}
59
+ </div>
60
+ </div>
61
+ </section>
@@ -0,0 +1,58 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Feature {
5
+ icon?: string;
6
+ title: string;
7
+ description: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ title?: string;
13
+ description?: string;
14
+ features?: Feature[];
15
+ }
16
+
17
+ const defaultFeatures: Feature[] = [
18
+ { title: 'Lightning Fast', description: 'Built for performance with optimized components that load instantly.' },
19
+ { title: 'Fully Customizable', description: 'Every component can be tailored to match your brand perfectly.' },
20
+ { title: 'Dark Mode Ready', description: 'Beautiful light and dark modes out of the box.' },
21
+ { title: 'TypeScript Native', description: 'Full TypeScript support with complete type definitions.' },
22
+ ];
23
+
24
+ let {
25
+ class: className,
26
+ title = 'Everything you need to ship faster',
27
+ description = 'A comprehensive set of tools and components to accelerate your development workflow.',
28
+ features = defaultFeatures,
29
+ }: Props = $props();
30
+ </script>
31
+
32
+ <section class={cn('w-full bg-background py-16 px-4 sm:px-6 lg:px-8', className)}>
33
+ <div class="mx-auto max-w-6xl">
34
+ <div class="text-center mb-12">
35
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Feature Section</p>
36
+ <h2 class="mt-2 text-3xl sm:text-4xl font-bold tracking-tight">
37
+ {title}
38
+ </h2>
39
+ <p class="mt-3 text-lg text-muted-foreground max-w-2xl mx-auto">
40
+ {description}
41
+ </p>
42
+ </div>
43
+
44
+ <div class="mt-10 grid grid-cols-2 gap-4 sm:grid-cols-4">
45
+ {#each features as feature}
46
+ <div class="text-center">
47
+ <div class="flex h-12 w-12 items-center justify-center rounded-lg bg-muted mx-auto mb-3">
48
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="text-foreground">
49
+ <circle cx="12" cy="12" r="3" />
50
+ <path d="M19.07 4.93a10 10 0 0 0-14.14 0M4.93 19.07a10 10 0 0 0 14.14 0" />
51
+ </svg>
52
+ </div>
53
+ <h3 class="font-semibold text-foreground text-sm">{feature.title}</h3>
54
+ </div>
55
+ {/each}
56
+ </div>
57
+ </div>
58
+ </section>
@@ -0,0 +1,79 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Feature {
5
+ icon?: string;
6
+ title: string;
7
+ description: string;
8
+ }
9
+
10
+ interface Props {
11
+ class?: string;
12
+ title?: string;
13
+ description?: string;
14
+ features?: Feature[];
15
+ }
16
+
17
+ const defaultFeatures: Feature[] = [
18
+ { title: 'Lightning Fast', description: 'Built for performance with optimized components that load instantly.' },
19
+ { title: 'Fully Customizable', description: 'Every component can be tailored to match your brand perfectly.' },
20
+ { title: 'Dark Mode Ready', description: 'Beautiful light and dark modes out of the box.' },
21
+ { title: 'TypeScript Native', description: 'Full TypeScript support with complete type definitions.' },
22
+ ];
23
+
24
+ let {
25
+ class: className,
26
+ title = 'Everything you need to ship faster',
27
+ description = 'A comprehensive set of tools and components to accelerate your development workflow.',
28
+ features = defaultFeatures,
29
+ }: Props = $props();
30
+ </script>
31
+
32
+ <section class={cn('w-full bg-background py-16 px-4 sm:px-6 lg:px-8', className)}>
33
+ <div class="mx-auto max-w-6xl">
34
+ <div class="text-center mb-12">
35
+ <p class="text-xs uppercase tracking-widest text-muted-foreground">Feature Section</p>
36
+ <h2 class="mt-2 text-3xl sm:text-4xl font-bold tracking-tight">
37
+ {title}
38
+ </h2>
39
+ <p class="mt-3 text-lg text-muted-foreground max-w-2xl mx-auto">
40
+ {description}
41
+ </p>
42
+ </div>
43
+
44
+ <div class="mt-10 grid grid-cols-1 gap-6 sm:grid-cols-[3fr_2fr]">
45
+ <div class="rounded-xl border p-8 bg-muted/30">
46
+ <div
47
+ class="aspect-video w-full rounded-lg bg-muted flex items-center justify-center mb-6"
48
+ >
49
+ <svg
50
+ width="32"
51
+ height="32"
52
+ viewBox="0 0 24 24"
53
+ fill="none"
54
+ stroke="currentColor"
55
+ stroke-width="1"
56
+ class="text-muted-foreground/40"
57
+ >
58
+ <rect x="3" y="3" width="18" height="18" rx="2" />
59
+ <circle cx="8.5" cy="8.5" r="1.5" />
60
+ <polyline points="21 15 16 10 5 21" />
61
+ </svg>
62
+ </div>
63
+ {#if features[0]}
64
+ <h3 class="text-xl font-semibold text-foreground">{features[0].title}</h3>
65
+ <p class="mt-2 text-muted-foreground">{features[0].description}</p>
66
+ {/if}
67
+ </div>
68
+
69
+ <div class="flex flex-col gap-4">
70
+ {#each features.slice(1, 4) as feature}
71
+ <div class="rounded-lg border p-4 bg-muted/30">
72
+ <h3 class="font-semibold text-foreground text-sm">{feature.title}</h3>
73
+ <p class="mt-1 text-muted-foreground text-xs">{feature.description}</p>
74
+ </div>
75
+ {/each}
76
+ </div>
77
+ </div>
78
+ </div>
79
+ </section>