@xbg.solutions/create-frontend 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/bin/xbg-frontend.cjs +32 -0
  2. package/package.json +17 -3
  3. package/src/commands/add.cjs +470 -0
  4. package/src/commands/generate.cjs +24 -0
  5. package/src/manifest.json +1578 -0
  6. package/src/registry/advanced/ChartWrapper.svelte +587 -0
  7. package/src/registry/advanced/DataTable.svelte +645 -0
  8. package/src/registry/advanced/FormWizard.svelte +546 -0
  9. package/src/registry/advanced/ImageUpload.svelte +663 -0
  10. package/src/registry/advanced/index.ts +33 -0
  11. package/src/registry/atoms/calendar/Calendar.svelte +181 -0
  12. package/src/registry/atoms/calendar/index.ts +1 -0
  13. package/src/registry/atoms/dialog/Dialog.svelte +179 -0
  14. package/src/registry/atoms/dialog/DialogDescription.svelte +16 -0
  15. package/src/registry/atoms/dialog/DialogFooter.svelte +16 -0
  16. package/src/registry/atoms/dialog/DialogHeader.svelte +16 -0
  17. package/src/registry/atoms/dialog/DialogTitle.svelte +16 -0
  18. package/src/registry/atoms/dialog/index.ts +10 -0
  19. package/src/registry/atoms/icon/BrandIcon.svelte +47 -0
  20. package/src/registry/atoms/icon/DynamicIcon.svelte +49 -0
  21. package/src/registry/atoms/icon/index.ts +2 -0
  22. package/src/registry/atoms/legend/Legend.svelte +32 -0
  23. package/src/registry/atoms/legend/index.ts +1 -0
  24. package/src/registry/atoms/menu/MenuItem.svelte +85 -0
  25. package/src/registry/atoms/menu/index.ts +1 -0
  26. package/src/registry/atoms/message/Message.svelte +62 -0
  27. package/src/registry/atoms/message/index.ts +1 -0
  28. package/src/registry/atoms/nav/NavItem.svelte +67 -0
  29. package/src/registry/atoms/nav/index.ts +1 -0
  30. package/src/registry/atoms/notification-badge/NotificationBadge.svelte +30 -0
  31. package/src/registry/atoms/notification-badge/index.ts +1 -0
  32. package/src/registry/atoms/otp-input/OtpInput.svelte +108 -0
  33. package/src/registry/atoms/otp-input/index.ts +1 -0
  34. package/src/registry/atoms/select/Select.svelte +216 -0
  35. package/src/registry/atoms/select/index.ts +6 -0
  36. package/src/registry/atoms/settings-card/SettingsCard.svelte +48 -0
  37. package/src/registry/atoms/settings-card/index.ts +1 -0
  38. package/src/registry/atoms/sidebar-item/SidebarItem.svelte +90 -0
  39. package/src/registry/atoms/sidebar-item/index.ts +1 -0
  40. package/src/registry/atoms/statistic-card/StatisticCard.svelte +53 -0
  41. package/src/registry/atoms/statistic-card/index.ts +1 -0
  42. package/src/registry/atoms/text-editor/TextEditor.svelte +77 -0
  43. package/src/registry/atoms/text-editor/index.ts +1 -0
  44. package/src/registry/atoms/uploader/Uploader.svelte +102 -0
  45. package/src/registry/atoms/uploader/index.ts +1 -0
  46. package/src/registry/atoms/user-item/UserItem.svelte +39 -0
  47. package/src/registry/atoms/user-item/index.ts +1 -0
  48. package/src/registry/blocks/account-section/AccountSection01.svelte +112 -0
  49. package/src/registry/blocks/account-section/AccountSection02.svelte +190 -0
  50. package/src/registry/blocks/account-section/AccountSection03.svelte +161 -0
  51. package/src/registry/blocks/account-section/AccountSection04.svelte +164 -0
  52. package/src/registry/blocks/account-section/AccountSection05.svelte +76 -0
  53. package/src/registry/blocks/account-section/index.ts +5 -0
  54. package/src/registry/blocks/app-shell/AppShell01.svelte +74 -0
  55. package/src/registry/blocks/app-shell/AppShell02.svelte +87 -0
  56. package/src/registry/blocks/app-shell/AppShell03.svelte +79 -0
  57. package/src/registry/blocks/app-shell/AppShell04.svelte +177 -0
  58. package/src/registry/blocks/app-shell/index.ts +4 -0
  59. package/src/registry/blocks/auth/AuthSplitScreen.svelte +132 -0
  60. package/src/registry/blocks/auth/LoginBlock01.svelte +94 -0
  61. package/src/registry/blocks/auth/LoginBlock02.svelte +103 -0
  62. package/src/registry/blocks/auth/LoginBlock03.svelte +53 -0
  63. package/src/registry/blocks/auth/LoginBlock04.svelte +99 -0
  64. package/src/registry/blocks/auth/LoginBlock05.svelte +101 -0
  65. package/src/registry/blocks/auth/OtpBlock01.svelte +115 -0
  66. package/src/registry/blocks/auth/OtpBlock02.svelte +113 -0
  67. package/src/registry/blocks/auth/OtpBlock03.svelte +143 -0
  68. package/src/registry/blocks/auth/OtpBlock04.svelte +122 -0
  69. package/src/registry/blocks/auth/OtpBlock05.svelte +81 -0
  70. package/src/registry/blocks/auth/SignupBlock01.svelte +103 -0
  71. package/src/registry/blocks/auth/SignupBlock02.svelte +94 -0
  72. package/src/registry/blocks/auth/SignupBlock03.svelte +120 -0
  73. package/src/registry/blocks/auth/SignupBlock04.svelte +112 -0
  74. package/src/registry/blocks/auth/SignupBlock05.svelte +77 -0
  75. package/src/registry/blocks/auth/index.ts +31 -0
  76. package/src/registry/blocks/banner/Banner01.svelte +67 -0
  77. package/src/registry/blocks/banner/Banner02.svelte +61 -0
  78. package/src/registry/blocks/banner/Banner03.svelte +54 -0
  79. package/src/registry/blocks/banner/Banner04.svelte +49 -0
  80. package/src/registry/blocks/banner/Banner05.svelte +47 -0
  81. package/src/registry/blocks/banner/index.ts +5 -0
  82. package/src/registry/blocks/bento-grid/BentoGrid01.svelte +92 -0
  83. package/src/registry/blocks/bento-grid/BentoGrid02.svelte +79 -0
  84. package/src/registry/blocks/bento-grid/BentoGrid03.svelte +79 -0
  85. package/src/registry/blocks/bento-grid/BentoGrid04.svelte +58 -0
  86. package/src/registry/blocks/bento-grid/BentoGrid05.svelte +92 -0
  87. package/src/registry/blocks/bento-grid/BentoGrid06.svelte +42 -0
  88. package/src/registry/blocks/bento-grid/index.ts +14 -0
  89. package/src/registry/blocks/blog-section/BlogSection01.svelte +100 -0
  90. package/src/registry/blocks/blog-section/BlogSection02.svelte +93 -0
  91. package/src/registry/blocks/blog-section/BlogSection03.svelte +92 -0
  92. package/src/registry/blocks/blog-section/BlogSection04.svelte +97 -0
  93. package/src/registry/blocks/blog-section/BlogSection05.svelte +120 -0
  94. package/src/registry/blocks/blog-section/index.ts +15 -0
  95. package/src/registry/blocks/buttons/ButtonBookmark.svelte +37 -0
  96. package/src/registry/blocks/buttons/ButtonLike.svelte +37 -0
  97. package/src/registry/blocks/buttons/ButtonMenu.svelte +37 -0
  98. package/src/registry/blocks/buttons/ButtonSplitDropdown.svelte +46 -0
  99. package/src/registry/blocks/buttons/ButtonStepper.svelte +55 -0
  100. package/src/registry/blocks/buttons/ButtonSteps.svelte +73 -0
  101. package/src/registry/blocks/buttons/ButtonToggleGroup.svelte +35 -0
  102. package/src/registry/blocks/buttons/ButtonsGroup.svelte +63 -0
  103. package/src/registry/blocks/buttons/SocialButtonsHorizontal.svelte +41 -0
  104. package/src/registry/blocks/buttons/SocialButtonsVertical.svelte +53 -0
  105. package/src/registry/blocks/buttons/index.ts +10 -0
  106. package/src/registry/blocks/calendar/CalendarBlock01.svelte +169 -0
  107. package/src/registry/blocks/calendar/CalendarBlock02.svelte +133 -0
  108. package/src/registry/blocks/calendar/CalendarBlock03.svelte +194 -0
  109. package/src/registry/blocks/calendar/CalendarBlock04.svelte +96 -0
  110. package/src/registry/blocks/calendar/CalendarBlock05.svelte +97 -0
  111. package/src/registry/blocks/calendar/CalendarBlock06.svelte +98 -0
  112. package/src/registry/blocks/calendar/CalendarBlock07.svelte +109 -0
  113. package/src/registry/blocks/calendar/CalendarBlock08.svelte +71 -0
  114. package/src/registry/blocks/calendar/CalendarBlock09.svelte +99 -0
  115. package/src/registry/blocks/calendar/CalendarBlock10.svelte +88 -0
  116. package/src/registry/blocks/calendar/CalendarBlock11.svelte +99 -0
  117. package/src/registry/blocks/calendar/CalendarBlock12.svelte +121 -0
  118. package/src/registry/blocks/calendar/CalendarBlock13.svelte +92 -0
  119. package/src/registry/blocks/calendar/CalendarBlock14.svelte +71 -0
  120. package/src/registry/blocks/calendar/CalendarBlock15.svelte +96 -0
  121. package/src/registry/blocks/calendar/CalendarBlock16.svelte +98 -0
  122. package/src/registry/blocks/calendar/CalendarBlock17.svelte +88 -0
  123. package/src/registry/blocks/calendar/CalendarBlock18.svelte +84 -0
  124. package/src/registry/blocks/calendar/CalendarBlock19.svelte +105 -0
  125. package/src/registry/blocks/calendar/CalendarBlock20.svelte +78 -0
  126. package/src/registry/blocks/calendar/CalendarBlock21.svelte +115 -0
  127. package/src/registry/blocks/calendar/CalendarBlock22.svelte +136 -0
  128. package/src/registry/blocks/calendar/CalendarBlock23.svelte +112 -0
  129. package/src/registry/blocks/calendar/CalendarBlock24.svelte +116 -0
  130. package/src/registry/blocks/calendar/CalendarBlock25.svelte +144 -0
  131. package/src/registry/blocks/calendar/CalendarBlock26.svelte +163 -0
  132. package/src/registry/blocks/calendar/CalendarBlock27.svelte +112 -0
  133. package/src/registry/blocks/calendar/CalendarBlock28.svelte +109 -0
  134. package/src/registry/blocks/calendar/CalendarBlock29.svelte +126 -0
  135. package/src/registry/blocks/calendar/CalendarBlock30.svelte +122 -0
  136. package/src/registry/blocks/calendar/CalendarBlock31.svelte +161 -0
  137. package/src/registry/blocks/calendar/CalendarBlock32.svelte +154 -0
  138. package/src/registry/blocks/calendar/index.ts +32 -0
  139. package/src/registry/blocks/card/Card01.svelte +69 -0
  140. package/src/registry/blocks/card/Card02.svelte +50 -0
  141. package/src/registry/blocks/card/Card03.svelte +60 -0
  142. package/src/registry/blocks/card/Card04.svelte +89 -0
  143. package/src/registry/blocks/card/Card05.svelte +51 -0
  144. package/src/registry/blocks/card/Card06.svelte +77 -0
  145. package/src/registry/blocks/card/Card07.svelte +35 -0
  146. package/src/registry/blocks/card/Card08.svelte +36 -0
  147. package/src/registry/blocks/card/index.ts +8 -0
  148. package/src/registry/blocks/cart/Cart01.svelte +183 -0
  149. package/src/registry/blocks/cart/Cart02.svelte +103 -0
  150. package/src/registry/blocks/cart/Cart03.svelte +38 -0
  151. package/src/registry/blocks/cart/Cart04.svelte +174 -0
  152. package/src/registry/blocks/cart/index.ts +4 -0
  153. package/src/registry/blocks/checkout/Checkout01.svelte +237 -0
  154. package/src/registry/blocks/checkout/Checkout02.svelte +205 -0
  155. package/src/registry/blocks/checkout/Checkout03.svelte +189 -0
  156. package/src/registry/blocks/checkout/Checkout04.svelte +109 -0
  157. package/src/registry/blocks/checkout/index.ts +4 -0
  158. package/src/registry/blocks/comparison-section/ComparisonSection01.svelte +116 -0
  159. package/src/registry/blocks/comparison-section/ComparisonSection02.svelte +98 -0
  160. package/src/registry/blocks/comparison-section/ComparisonSection03.svelte +93 -0
  161. package/src/registry/blocks/comparison-section/ComparisonSection04.svelte +98 -0
  162. package/src/registry/blocks/comparison-section/ComparisonSection05.svelte +119 -0
  163. package/src/registry/blocks/comparison-section/ComparisonSection06.svelte +154 -0
  164. package/src/registry/blocks/comparison-section/index.ts +6 -0
  165. package/src/registry/blocks/contact-section/ContactSection01.svelte +64 -0
  166. package/src/registry/blocks/contact-section/ContactSection02.svelte +108 -0
  167. package/src/registry/blocks/contact-section/ContactSection03.svelte +64 -0
  168. package/src/registry/blocks/contact-section/ContactSection04.svelte +30 -0
  169. package/src/registry/blocks/contact-section/ContactSection05.svelte +71 -0
  170. package/src/registry/blocks/contact-section/ContactSection06.svelte +88 -0
  171. package/src/registry/blocks/contact-section/index.ts +6 -0
  172. package/src/registry/blocks/cta/CTA01.svelte +44 -0
  173. package/src/registry/blocks/cta/CTA02.svelte +48 -0
  174. package/src/registry/blocks/cta/CTA03.svelte +53 -0
  175. package/src/registry/blocks/cta/CTA04.svelte +60 -0
  176. package/src/registry/blocks/cta/CTA05.svelte +53 -0
  177. package/src/registry/blocks/cta/CTA06.svelte +44 -0
  178. package/src/registry/blocks/cta/CTA07.svelte +39 -0
  179. package/src/registry/blocks/cta/index.ts +7 -0
  180. package/src/registry/blocks/dashboard/ChartsBlock01.svelte +275 -0
  181. package/src/registry/blocks/dashboard/DashboardBlock01.svelte +207 -0
  182. package/src/registry/blocks/dashboard/DashboardBlock02.svelte +259 -0
  183. package/src/registry/blocks/dashboard/DashboardBlock03.svelte +315 -0
  184. package/src/registry/blocks/dashboard/DashboardBlock04.svelte +220 -0
  185. package/src/registry/blocks/dashboard/DashboardBlock05.svelte +158 -0
  186. package/src/registry/blocks/dashboard/DashboardBlock06.svelte +173 -0
  187. package/src/registry/blocks/dashboard/DashboardBlock07.svelte +103 -0
  188. package/src/registry/blocks/dashboard/index.ts +16 -0
  189. package/src/registry/blocks/description-list/DescriptionList01.svelte +75 -0
  190. package/src/registry/blocks/description-list/DescriptionList02.svelte +50 -0
  191. package/src/registry/blocks/description-list/DescriptionList03.svelte +74 -0
  192. package/src/registry/blocks/description-list/DescriptionList04.svelte +88 -0
  193. package/src/registry/blocks/description-list/index.ts +4 -0
  194. package/src/registry/blocks/empty-lp/EmptyLP01.svelte +46 -0
  195. package/src/registry/blocks/empty-lp/EmptyLP02.svelte +49 -0
  196. package/src/registry/blocks/empty-lp/EmptyLP03.svelte +61 -0
  197. package/src/registry/blocks/empty-lp/EmptyLP04.svelte +37 -0
  198. package/src/registry/blocks/empty-lp/index.ts +4 -0
  199. package/src/registry/blocks/empty-section/EmptySection01.svelte +47 -0
  200. package/src/registry/blocks/empty-section/EmptySection02.svelte +93 -0
  201. package/src/registry/blocks/empty-section/EmptySection03.svelte +101 -0
  202. package/src/registry/blocks/empty-section/EmptySection04.svelte +76 -0
  203. package/src/registry/blocks/empty-section/index.ts +4 -0
  204. package/src/registry/blocks/faq-section/FaqSection01.svelte +114 -0
  205. package/src/registry/blocks/faq-section/FaqSection02.svelte +137 -0
  206. package/src/registry/blocks/faq-section/FaqSection03.svelte +107 -0
  207. package/src/registry/blocks/faq-section/FaqSection04.svelte +74 -0
  208. package/src/registry/blocks/faq-section/FaqSection05.svelte +69 -0
  209. package/src/registry/blocks/faq-section/index.ts +11 -0
  210. package/src/registry/blocks/feature-section/FeatureSection01.svelte +94 -0
  211. package/src/registry/blocks/feature-section/FeatureSection02.svelte +61 -0
  212. package/src/registry/blocks/feature-section/FeatureSection03.svelte +85 -0
  213. package/src/registry/blocks/feature-section/FeatureSection04.svelte +67 -0
  214. package/src/registry/blocks/feature-section/FeatureSection05.svelte +61 -0
  215. package/src/registry/blocks/feature-section/FeatureSection06.svelte +58 -0
  216. package/src/registry/blocks/feature-section/FeatureSection07.svelte +79 -0
  217. package/src/registry/blocks/feature-section/FeatureSection08.svelte +92 -0
  218. package/src/registry/blocks/feature-section/FeatureSection09.svelte +58 -0
  219. package/src/registry/blocks/feature-section/FeatureSection10.svelte +87 -0
  220. package/src/registry/blocks/feature-section/FeatureSection11.svelte +118 -0
  221. package/src/registry/blocks/feature-section/FeatureSection12.svelte +76 -0
  222. package/src/registry/blocks/feature-section/FeatureSection13.svelte +88 -0
  223. package/src/registry/blocks/feature-section/FeatureSection14.svelte +119 -0
  224. package/src/registry/blocks/feature-section/FeatureSection15.svelte +122 -0
  225. package/src/registry/blocks/feature-section/FeatureSection16.svelte +113 -0
  226. package/src/registry/blocks/feature-section/FeatureSection17.svelte +93 -0
  227. package/src/registry/blocks/feature-section/FeatureSection18.svelte +97 -0
  228. package/src/registry/blocks/feature-section/FeatureSection19.svelte +74 -0
  229. package/src/registry/blocks/feature-section/FeatureSection20.svelte +69 -0
  230. package/src/registry/blocks/feature-section/index.ts +20 -0
  231. package/src/registry/blocks/footer/Footer01.svelte +62 -0
  232. package/src/registry/blocks/footer/Footer02.svelte +67 -0
  233. package/src/registry/blocks/footer/Footer03.svelte +87 -0
  234. package/src/registry/blocks/footer/Footer04.svelte +67 -0
  235. package/src/registry/blocks/footer/Footer05.svelte +20 -0
  236. package/src/registry/blocks/footer/Footer06.svelte +107 -0
  237. package/src/registry/blocks/footer/Footer07.svelte +88 -0
  238. package/src/registry/blocks/footer/Footer08.svelte +84 -0
  239. package/src/registry/blocks/footer/Footer09.svelte +65 -0
  240. package/src/registry/blocks/footer/index.ts +19 -0
  241. package/src/registry/blocks/forms/SettingsBlock.svelte +329 -0
  242. package/src/registry/blocks/forms/index.ts +1 -0
  243. package/src/registry/blocks/gallery-section/GallerySection01.svelte +43 -0
  244. package/src/registry/blocks/gallery-section/GallerySection02.svelte +45 -0
  245. package/src/registry/blocks/gallery-section/GallerySection03.svelte +43 -0
  246. package/src/registry/blocks/gallery-section/GallerySection04.svelte +49 -0
  247. package/src/registry/blocks/gallery-section/GallerySection05.svelte +45 -0
  248. package/src/registry/blocks/gallery-section/GallerySection06.svelte +49 -0
  249. package/src/registry/blocks/gallery-section/GallerySection07.svelte +48 -0
  250. package/src/registry/blocks/gallery-section/GallerySection08.svelte +43 -0
  251. package/src/registry/blocks/gallery-section/GallerySection09.svelte +55 -0
  252. package/src/registry/blocks/gallery-section/GallerySection10.svelte +43 -0
  253. package/src/registry/blocks/gallery-section/GallerySection11.svelte +75 -0
  254. package/src/registry/blocks/gallery-section/GallerySection12.svelte +76 -0
  255. package/src/registry/blocks/gallery-section/index.ts +12 -0
  256. package/src/registry/blocks/header-section/HeaderSection01.svelte +53 -0
  257. package/src/registry/blocks/header-section/HeaderSection02.svelte +53 -0
  258. package/src/registry/blocks/header-section/HeaderSection03.svelte +61 -0
  259. package/src/registry/blocks/header-section/HeaderSection04.svelte +63 -0
  260. package/src/registry/blocks/header-section/HeaderSection05.svelte +53 -0
  261. package/src/registry/blocks/header-section/HeaderSection06.svelte +70 -0
  262. package/src/registry/blocks/header-section/HeaderSection07.svelte +97 -0
  263. package/src/registry/blocks/header-section/HeaderSection08.svelte +61 -0
  264. package/src/registry/blocks/header-section/HeaderSection09.svelte +53 -0
  265. package/src/registry/blocks/header-section/HeaderSection10.svelte +63 -0
  266. package/src/registry/blocks/header-section/HeaderSection11.svelte +68 -0
  267. package/src/registry/blocks/header-section/HeaderSection12.svelte +60 -0
  268. package/src/registry/blocks/header-section/HeaderSection13.svelte +92 -0
  269. package/src/registry/blocks/header-section/HeaderSection14.svelte +77 -0
  270. package/src/registry/blocks/header-section/HeaderSection15.svelte +49 -0
  271. package/src/registry/blocks/header-section/HeaderSection16.svelte +74 -0
  272. package/src/registry/blocks/header-section/HeaderSection17.svelte +58 -0
  273. package/src/registry/blocks/header-section/HeaderSection18.svelte +66 -0
  274. package/src/registry/blocks/header-section/HeaderSection19.svelte +47 -0
  275. package/src/registry/blocks/header-section/HeaderSection20.svelte +53 -0
  276. package/src/registry/blocks/header-section/index.ts +20 -0
  277. package/src/registry/blocks/hero-section/HeroSection01.svelte +69 -0
  278. package/src/registry/blocks/hero-section/HeroSection02.svelte +47 -0
  279. package/src/registry/blocks/hero-section/HeroSection03.svelte +56 -0
  280. package/src/registry/blocks/hero-section/HeroSection04.svelte +69 -0
  281. package/src/registry/blocks/hero-section/HeroSection05.svelte +73 -0
  282. package/src/registry/blocks/hero-section/HeroSection06.svelte +78 -0
  283. package/src/registry/blocks/hero-section/HeroSection07.svelte +48 -0
  284. package/src/registry/blocks/hero-section/HeroSection08.svelte +73 -0
  285. package/src/registry/blocks/hero-section/HeroSection09.svelte +51 -0
  286. package/src/registry/blocks/hero-section/HeroSection10.svelte +47 -0
  287. package/src/registry/blocks/hero-section/HeroSection11.svelte +60 -0
  288. package/src/registry/blocks/hero-section/HeroSection12.svelte +74 -0
  289. package/src/registry/blocks/hero-section/HeroSection13.svelte +86 -0
  290. package/src/registry/blocks/hero-section/HeroSection14.svelte +116 -0
  291. package/src/registry/blocks/hero-section/HeroSection15.svelte +75 -0
  292. package/src/registry/blocks/hero-section/HeroSection16.svelte +92 -0
  293. package/src/registry/blocks/hero-section/HeroSection17.svelte +78 -0
  294. package/src/registry/blocks/hero-section/HeroSection18.svelte +82 -0
  295. package/src/registry/blocks/hero-section/HeroSection19.svelte +72 -0
  296. package/src/registry/blocks/hero-section/HeroSection20.svelte +79 -0
  297. package/src/registry/blocks/hero-section/HeroSection21.svelte +75 -0
  298. package/src/registry/blocks/hero-section/HeroSection22.svelte +103 -0
  299. package/src/registry/blocks/hero-section/index.ts +22 -0
  300. package/src/registry/blocks/logo-section/LogoSection01.svelte +54 -0
  301. package/src/registry/blocks/logo-section/LogoSection02.svelte +56 -0
  302. package/src/registry/blocks/logo-section/LogoSection03.svelte +58 -0
  303. package/src/registry/blocks/logo-section/LogoSection04.svelte +58 -0
  304. package/src/registry/blocks/logo-section/LogoSection05.svelte +43 -0
  305. package/src/registry/blocks/logo-section/LogoSection06.svelte +43 -0
  306. package/src/registry/blocks/logo-section/LogoSection07.svelte +56 -0
  307. package/src/registry/blocks/logo-section/index.ts +7 -0
  308. package/src/registry/blocks/lp-navbar/LPNavbar01.svelte +94 -0
  309. package/src/registry/blocks/lp-navbar/LPNavbar02.svelte +96 -0
  310. package/src/registry/blocks/lp-navbar/LPNavbar03.svelte +97 -0
  311. package/src/registry/blocks/lp-navbar/LPNavbar04.svelte +103 -0
  312. package/src/registry/blocks/lp-navbar/LPNavbar05.svelte +173 -0
  313. package/src/registry/blocks/lp-navbar/LPNavbar06.svelte +200 -0
  314. package/src/registry/blocks/lp-navbar/LPNavbar07.svelte +202 -0
  315. package/src/registry/blocks/lp-navbar/index.ts +7 -0
  316. package/src/registry/blocks/mail/MailBlock.svelte +321 -0
  317. package/src/registry/blocks/mail/index.ts +2 -0
  318. package/src/registry/blocks/music/MusicBlock.svelte +239 -0
  319. package/src/registry/blocks/music/index.ts +1 -0
  320. package/src/registry/blocks/navbar/Navbar01.svelte +234 -0
  321. package/src/registry/blocks/navbar/Navbar02.svelte +111 -0
  322. package/src/registry/blocks/navbar/Navbar03.svelte +88 -0
  323. package/src/registry/blocks/navbar/index.ts +3 -0
  324. package/src/registry/blocks/not-found/NotFound01.svelte +29 -0
  325. package/src/registry/blocks/not-found/NotFound02.svelte +28 -0
  326. package/src/registry/blocks/not-found/NotFound03.svelte +25 -0
  327. package/src/registry/blocks/not-found/index.ts +3 -0
  328. package/src/registry/blocks/order-history/OrderHistory01.svelte +208 -0
  329. package/src/registry/blocks/order-history/OrderHistory02.svelte +131 -0
  330. package/src/registry/blocks/order-history/OrderHistory03.svelte +133 -0
  331. package/src/registry/blocks/order-history/index.ts +3 -0
  332. package/src/registry/blocks/page-header/PageHeader01.svelte +39 -0
  333. package/src/registry/blocks/page-header/PageHeader02.svelte +58 -0
  334. package/src/registry/blocks/page-header/PageHeader03.svelte +64 -0
  335. package/src/registry/blocks/page-header/PageHeader04.svelte +49 -0
  336. package/src/registry/blocks/page-header/PageHeader05.svelte +49 -0
  337. package/src/registry/blocks/page-header/PageHeader06.svelte +58 -0
  338. package/src/registry/blocks/page-header/PageHeader07.svelte +64 -0
  339. package/src/registry/blocks/page-header/PageHeader08.svelte +68 -0
  340. package/src/registry/blocks/page-header/index.ts +8 -0
  341. package/src/registry/blocks/playground/PlaygroundBlock01.svelte +162 -0
  342. package/src/registry/blocks/playground/PlaygroundBlock02.svelte +156 -0
  343. package/src/registry/blocks/playground/index.ts +2 -0
  344. package/src/registry/blocks/pricing-section/PricingSection01.svelte +109 -0
  345. package/src/registry/blocks/pricing-section/PricingSection02.svelte +145 -0
  346. package/src/registry/blocks/pricing-section/PricingSection03.svelte +94 -0
  347. package/src/registry/blocks/pricing-section/PricingSection04.svelte +103 -0
  348. package/src/registry/blocks/pricing-section/PricingSection05.svelte +128 -0
  349. package/src/registry/blocks/pricing-section/index.ts +20 -0
  350. package/src/registry/blocks/product-card/ProductCard01.svelte +74 -0
  351. package/src/registry/blocks/product-card/ProductCard02.svelte +108 -0
  352. package/src/registry/blocks/product-card/ProductCard03.svelte +80 -0
  353. package/src/registry/blocks/product-card/ProductCard04.svelte +50 -0
  354. package/src/registry/blocks/product-card/ProductCard05.svelte +107 -0
  355. package/src/registry/blocks/product-card/index.ts +5 -0
  356. package/src/registry/blocks/product-detail/ProductDetail01.svelte +174 -0
  357. package/src/registry/blocks/product-detail/ProductDetail02.svelte +170 -0
  358. package/src/registry/blocks/product-detail/ProductDetail03.svelte +159 -0
  359. package/src/registry/blocks/product-detail/ProductDetail04.svelte +106 -0
  360. package/src/registry/blocks/product-detail/ProductDetail05.svelte +181 -0
  361. package/src/registry/blocks/product-detail/index.ts +5 -0
  362. package/src/registry/blocks/product-listing/ProductListing01.svelte +194 -0
  363. package/src/registry/blocks/product-listing/ProductListing02.svelte +163 -0
  364. package/src/registry/blocks/product-listing/ProductListing03.svelte +173 -0
  365. package/src/registry/blocks/product-listing/ProductListing04.svelte +179 -0
  366. package/src/registry/blocks/product-listing/ProductListing05.svelte +126 -0
  367. package/src/registry/blocks/product-listing/index.ts +5 -0
  368. package/src/registry/blocks/product-reviews/ProductReviews01.svelte +156 -0
  369. package/src/registry/blocks/product-reviews/ProductReviews02.svelte +139 -0
  370. package/src/registry/blocks/product-reviews/ProductReviews03.svelte +137 -0
  371. package/src/registry/blocks/product-reviews/ProductReviews04.svelte +129 -0
  372. package/src/registry/blocks/product-reviews/index.ts +4 -0
  373. package/src/registry/blocks/promo-section/PromoSection01.svelte +72 -0
  374. package/src/registry/blocks/promo-section/PromoSection02.svelte +61 -0
  375. package/src/registry/blocks/promo-section/PromoSection03.svelte +110 -0
  376. package/src/registry/blocks/promo-section/PromoSection04.svelte +103 -0
  377. package/src/registry/blocks/promo-section/index.ts +4 -0
  378. package/src/registry/blocks/rich-text/RichText01.svelte +30 -0
  379. package/src/registry/blocks/rich-text/RichText02.svelte +72 -0
  380. package/src/registry/blocks/rich-text/RichText03.svelte +52 -0
  381. package/src/registry/blocks/rich-text/RichText04.svelte +44 -0
  382. package/src/registry/blocks/rich-text/RichText05.svelte +56 -0
  383. package/src/registry/blocks/rich-text/index.ts +5 -0
  384. package/src/registry/blocks/section/Section01.svelte +38 -0
  385. package/src/registry/blocks/section/Section02.svelte +90 -0
  386. package/src/registry/blocks/section/Section03.svelte +95 -0
  387. package/src/registry/blocks/section/Section04.svelte +117 -0
  388. package/src/registry/blocks/section/index.ts +4 -0
  389. package/src/registry/blocks/section-footer/SectionFooter01.svelte +39 -0
  390. package/src/registry/blocks/section-footer/SectionFooter02.svelte +33 -0
  391. package/src/registry/blocks/section-footer/SectionFooter03.svelte +33 -0
  392. package/src/registry/blocks/section-footer/SectionFooter04.svelte +34 -0
  393. package/src/registry/blocks/section-footer/SectionFooter05.svelte +69 -0
  394. package/src/registry/blocks/section-footer/index.ts +5 -0
  395. package/src/registry/blocks/section-header/SectionHeader01.svelte +39 -0
  396. package/src/registry/blocks/section-header/SectionHeader02.svelte +58 -0
  397. package/src/registry/blocks/section-header/SectionHeader03.svelte +88 -0
  398. package/src/registry/blocks/section-header/SectionHeader04.svelte +45 -0
  399. package/src/registry/blocks/section-header/SectionHeader05.svelte +64 -0
  400. package/src/registry/blocks/section-header/index.ts +5 -0
  401. package/src/registry/blocks/settings/Settings01.svelte +202 -0
  402. package/src/registry/blocks/settings/Settings02.svelte +201 -0
  403. package/src/registry/blocks/settings/Settings03.svelte +156 -0
  404. package/src/registry/blocks/settings/Settings04.svelte +175 -0
  405. package/src/registry/blocks/settings/Settings05.svelte +248 -0
  406. package/src/registry/blocks/settings/Settings06.svelte +120 -0
  407. package/src/registry/blocks/settings/Settings07.svelte +136 -0
  408. package/src/registry/blocks/settings/index.ts +7 -0
  409. package/src/registry/blocks/sidebar/SidebarLayout01.svelte +108 -0
  410. package/src/registry/blocks/sidebar/SidebarLayout02.svelte +75 -0
  411. package/src/registry/blocks/sidebar/SidebarLayout03.svelte +108 -0
  412. package/src/registry/blocks/sidebar/SidebarLayout04.svelte +111 -0
  413. package/src/registry/blocks/sidebar/SidebarLayout05.svelte +103 -0
  414. package/src/registry/blocks/sidebar/SidebarLayout06.svelte +122 -0
  415. package/src/registry/blocks/sidebar/SidebarLayout07.svelte +183 -0
  416. package/src/registry/blocks/sidebar/SidebarLayout08.svelte +162 -0
  417. package/src/registry/blocks/sidebar/SidebarLayout09.svelte +167 -0
  418. package/src/registry/blocks/sidebar/SidebarLayout10.svelte +159 -0
  419. package/src/registry/blocks/sidebar/SidebarLayout11.svelte +135 -0
  420. package/src/registry/blocks/sidebar/SidebarLayout12.svelte +159 -0
  421. package/src/registry/blocks/sidebar/SidebarLayout13.svelte +103 -0
  422. package/src/registry/blocks/sidebar/SidebarLayout14.svelte +87 -0
  423. package/src/registry/blocks/sidebar/SidebarLayout15.svelte +228 -0
  424. package/src/registry/blocks/sidebar/index.ts +15 -0
  425. package/src/registry/blocks/sign-in/SignIn01.svelte +140 -0
  426. package/src/registry/blocks/sign-in/SignIn02.svelte +155 -0
  427. package/src/registry/blocks/sign-in/SignIn03.svelte +214 -0
  428. package/src/registry/blocks/sign-in/SignIn04.svelte +163 -0
  429. package/src/registry/blocks/sign-in/SignIn05.svelte +209 -0
  430. package/src/registry/blocks/sign-in/SignIn06.svelte +233 -0
  431. package/src/registry/blocks/sign-in/SignIn07.svelte +268 -0
  432. package/src/registry/blocks/sign-in/SignIn08.svelte +125 -0
  433. package/src/registry/blocks/sign-in/SignIn09.svelte +93 -0
  434. package/src/registry/blocks/sign-in/SignIn10.svelte +74 -0
  435. package/src/registry/blocks/sign-in/index.ts +10 -0
  436. package/src/registry/blocks/sign-up/SignUp01.svelte +124 -0
  437. package/src/registry/blocks/sign-up/SignUp02.svelte +110 -0
  438. package/src/registry/blocks/sign-up/SignUp03.svelte +182 -0
  439. package/src/registry/blocks/sign-up/SignUp04.svelte +126 -0
  440. package/src/registry/blocks/sign-up/SignUp05.svelte +182 -0
  441. package/src/registry/blocks/sign-up/SignUp06.svelte +221 -0
  442. package/src/registry/blocks/sign-up/SignUp07.svelte +98 -0
  443. package/src/registry/blocks/sign-up/index.ts +7 -0
  444. package/src/registry/blocks/stats-section/StatsSection01.svelte +66 -0
  445. package/src/registry/blocks/stats-section/StatsSection02.svelte +60 -0
  446. package/src/registry/blocks/stats-section/StatsSection03.svelte +66 -0
  447. package/src/registry/blocks/stats-section/StatsSection04.svelte +66 -0
  448. package/src/registry/blocks/stats-section/StatsSection05.svelte +60 -0
  449. package/src/registry/blocks/stats-section/StatsSection06.svelte +48 -0
  450. package/src/registry/blocks/stats-section/StatsSection07.svelte +66 -0
  451. package/src/registry/blocks/stats-section/index.ts +7 -0
  452. package/src/registry/blocks/store-navbar/StoreNavbar01.svelte +101 -0
  453. package/src/registry/blocks/store-navbar/StoreNavbar02.svelte +65 -0
  454. package/src/registry/blocks/store-navbar/StoreNavbar03.svelte +83 -0
  455. package/src/registry/blocks/store-navbar/StoreNavbar04.svelte +110 -0
  456. package/src/registry/blocks/store-navbar/StoreNavbar05.svelte +80 -0
  457. package/src/registry/blocks/store-navbar/index.ts +5 -0
  458. package/src/registry/blocks/table-header/TableHeader01.svelte +96 -0
  459. package/src/registry/blocks/table-header/TableHeader02.svelte +86 -0
  460. package/src/registry/blocks/table-header/TableHeader03.svelte +99 -0
  461. package/src/registry/blocks/table-header/TableHeader04.svelte +107 -0
  462. package/src/registry/blocks/table-header/index.ts +4 -0
  463. package/src/registry/blocks/tasks/TasksBlock.svelte +286 -0
  464. package/src/registry/blocks/tasks/index.ts +1 -0
  465. package/src/registry/blocks/team-section/TeamSection01.svelte +80 -0
  466. package/src/registry/blocks/team-section/TeamSection02.svelte +102 -0
  467. package/src/registry/blocks/team-section/TeamSection03.svelte +76 -0
  468. package/src/registry/blocks/team-section/TeamSection04.svelte +106 -0
  469. package/src/registry/blocks/team-section/index.ts +13 -0
  470. package/src/registry/blocks/testimonials/Testimonial01.svelte +74 -0
  471. package/src/registry/blocks/testimonials/Testimonial02.svelte +74 -0
  472. package/src/registry/blocks/testimonials/Testimonial03.svelte +79 -0
  473. package/src/registry/blocks/testimonials/Testimonial04.svelte +113 -0
  474. package/src/registry/blocks/testimonials/Testimonial05.svelte +74 -0
  475. package/src/registry/blocks/testimonials/Testimonial06.svelte +114 -0
  476. package/src/registry/blocks/testimonials/Testimonial07.svelte +131 -0
  477. package/src/registry/blocks/testimonials/Testimonials01.svelte +60 -0
  478. package/src/registry/blocks/testimonials/Testimonials02.svelte +61 -0
  479. package/src/registry/blocks/testimonials/Testimonials03.svelte +79 -0
  480. package/src/registry/blocks/testimonials/Testimonials04.svelte +74 -0
  481. package/src/registry/blocks/testimonials/Testimonials05.svelte +68 -0
  482. package/src/registry/blocks/testimonials/Testimonials06.svelte +82 -0
  483. package/src/registry/blocks/testimonials/Testimonials07.svelte +98 -0
  484. package/src/registry/blocks/testimonials/index.ts +16 -0
  485. package/src/registry/templates/cn.ts +42 -0
  486. package/src/index.ts +0 -2
  487. package/tsconfig.json +0 -20
  488. /package/src/{generate-component.cjs → commands/generate-component.cjs} +0 -0
  489. /package/src/{generate-route.cjs → commands/generate-route.cjs} +0 -0
  490. /package/src/{generate-service.cjs → commands/generate-service.cjs} +0 -0
  491. /package/src/{manage-auth-users.cjs → commands/manage-auth-users.cjs} +0 -0
  492. /package/src/{setup.cjs → commands/setup.cjs} +0 -0
  493. /package/src/{validate-setup.cjs → commands/validate.cjs} +0 -0
@@ -0,0 +1,60 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Testimonial {
5
+ quote: string;
6
+ author: string;
7
+ role?: string;
8
+ company?: string;
9
+ avatarUrl?: string;
10
+ rating?: number;
11
+ }
12
+
13
+ const defaultTestimonials: Testimonial[] = [
14
+ {
15
+ quote: '"Shadcn UI Kit for Figma has completely transformed our design process. It\'s incredibly intuitive and saves us so much time. The components are beautifully crafted and customizable."',
16
+ author: 'Lando Norris',
17
+ role: 'CEO',
18
+ company: 'Acme Inc.',
19
+ rating: 5,
20
+ },
21
+ {
22
+ quote: '"We absolutely love how the Shadcn UI Kit blends functionality and aesthetics seamlessly. It fits perfectly into our design workflow and gives us the flexibility to create stunning, professional and high-quality designs effortlessly."',
23
+ author: 'Lando Norris',
24
+ role: 'CEO',
25
+ company: 'Acme Inc.',
26
+ rating: 5,
27
+ },
28
+ {
29
+ quote: '"This UI kit has been a game changer for our team. The quality is outstanding and the time savings are incredible."',
30
+ author: 'Jane Smith',
31
+ role: 'Founder',
32
+ company: 'Acme Inc.',
33
+ rating: 5,
34
+ },
35
+ ];
36
+
37
+ let { class: className, testimonial = defaultTestimonials[0] } = $props();
38
+ </script>
39
+
40
+ <section class={cn('w-full bg-background py-16 px-4 sm:py-24', className)}>
41
+ <div class="mx-auto max-w-2xl text-center">
42
+ <blockquote class="text-xl sm:text-2xl font-medium leading-relaxed">
43
+ {testimonial.quote}
44
+ </blockquote>
45
+
46
+ <div class="mt-8 flex flex-col items-center gap-2">
47
+ <div class="h-12 w-12 rounded-full bg-muted overflow-hidden">
48
+ <div class="h-full w-full bg-gradient-to-br from-muted-foreground/20 to-muted-foreground/10"></div>
49
+ </div>
50
+ <div class="font-medium text-sm">
51
+ {testimonial.author}
52
+ {#if testimonial.role || testimonial.company}
53
+ <span class="text-muted-foreground">
54
+ · {testimonial.role}{testimonial.role && testimonial.company ? ',' : ''} {testimonial.company}
55
+ </span>
56
+ {/if}
57
+ </div>
58
+ </div>
59
+ </div>
60
+ </section>
@@ -0,0 +1,61 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Testimonial {
5
+ quote: string;
6
+ author: string;
7
+ role?: string;
8
+ company?: string;
9
+ avatarUrl?: string;
10
+ rating?: number;
11
+ }
12
+
13
+ const defaultTestimonials: Testimonial[] = [
14
+ {
15
+ quote: '"Shadcn UI Kit for Figma has completely transformed our design process. It\'s incredibly intuitive and saves us so much time. The components are beautifully crafted and customizable."',
16
+ author: 'Lando Norris',
17
+ role: 'CEO',
18
+ company: 'Acme Inc.',
19
+ rating: 5,
20
+ },
21
+ {
22
+ quote: '"We absolutely love how the Shadcn UI Kit blends functionality and aesthetics seamlessly. It fits perfectly into our design workflow and gives us the flexibility to create stunning, professional and high-quality designs effortlessly."',
23
+ author: 'Lando Norris',
24
+ role: 'CEO',
25
+ company: 'Acme Inc.',
26
+ rating: 5,
27
+ },
28
+ {
29
+ quote: '"This UI kit has been a game changer for our team. The quality is outstanding and the time savings are incredible."',
30
+ author: 'Jane Smith',
31
+ role: 'Founder',
32
+ company: 'Acme Inc.',
33
+ rating: 5,
34
+ },
35
+ ];
36
+
37
+ let { class: className, testimonials = defaultTestimonials.slice(0, 2) } = $props();
38
+ </script>
39
+
40
+ <section class={cn('w-full bg-background py-16 px-4', className)}>
41
+ <div class="mx-auto max-w-5xl grid grid-cols-1 gap-6 sm:grid-cols-2">
42
+ {#each testimonials as t}
43
+ <div class="flex flex-col items-center text-center p-6">
44
+ <blockquote class="text-base font-medium">
45
+ {t.quote}
46
+ </blockquote>
47
+ <div class="mt-6 h-12 w-12 rounded-full bg-muted overflow-hidden">
48
+ <div class="h-full w-full bg-gradient-to-br from-muted-foreground/20 to-muted-foreground/10"></div>
49
+ </div>
50
+ <div class="mt-2 font-medium text-sm">
51
+ {t.author}
52
+ </div>
53
+ {#if t.role || t.company}
54
+ <div class="text-xs text-muted-foreground">
55
+ {t.role}{t.role && t.company ? ', ' : ''}{t.company}
56
+ </div>
57
+ {/if}
58
+ </div>
59
+ {/each}
60
+ </div>
61
+ </section>
@@ -0,0 +1,79 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Testimonial {
5
+ quote: string;
6
+ author: string;
7
+ role?: string;
8
+ company?: string;
9
+ avatarUrl?: string;
10
+ rating?: number;
11
+ }
12
+
13
+ const defaultTestimonials: Testimonial[] = [
14
+ {
15
+ quote: '"Shadcn UI Kit for Figma has completely transformed our design process. It\'s incredibly intuitive and saves us so much time. The components are beautifully crafted and customizable."',
16
+ author: 'Lando Norris',
17
+ role: 'CEO',
18
+ company: 'Acme Inc.',
19
+ rating: 5,
20
+ },
21
+ {
22
+ quote: '"We absolutely love how the Shadcn UI Kit blends functionality and aesthetics seamlessly. It fits perfectly into our design workflow and gives us the flexibility to create stunning, professional and high-quality designs effortlessly."',
23
+ author: 'Lando Norris',
24
+ role: 'CEO',
25
+ company: 'Acme Inc.',
26
+ rating: 5,
27
+ },
28
+ {
29
+ quote: '"This UI kit has been a game changer for our team. The quality is outstanding and the time savings are incredible."',
30
+ author: 'Jane Smith',
31
+ role: 'Founder',
32
+ company: 'Acme Inc.',
33
+ rating: 5,
34
+ },
35
+ ];
36
+
37
+ let { class: className, testimonial = defaultTestimonials[0], imageUrl } = $props();
38
+ </script>
39
+
40
+ <section class={cn('w-full bg-background py-16 px-4', className)}>
41
+ <div class="mx-auto max-w-5xl grid grid-cols-1 gap-8 sm:grid-cols-2 sm:items-center">
42
+ <div>
43
+ {#if imageUrl}
44
+ <img src={imageUrl} alt="Testimonial" class="aspect-[4/3] w-full rounded-xl object-cover" />
45
+ {:else}
46
+ <div class="aspect-[4/3] w-full rounded-xl bg-muted flex items-center justify-center">
47
+ <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" class="text-muted-foreground">
48
+ <rect x="3" y="3" width="18" height="18" rx="2" />
49
+ <circle cx="8.5" cy="8.5" r="1.5" />
50
+ <polyline points="21 15 16 10 5 21" />
51
+ </svg>
52
+ </div>
53
+ {/if}
54
+ </div>
55
+
56
+ <div>
57
+ <div class="flex gap-1 mb-4">
58
+ {#each Array(5) as _, i}
59
+ <svg class="{i < (testimonial.rating ?? 5) ? 'text-yellow-400' : 'text-muted'}" width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
60
+ <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
61
+ </svg>
62
+ {/each}
63
+ </div>
64
+
65
+ <blockquote class="text-lg font-medium mb-4">
66
+ {testimonial.quote}
67
+ </blockquote>
68
+
69
+ <div class="font-medium text-sm">
70
+ {testimonial.author}
71
+ </div>
72
+ {#if testimonial.role || testimonial.company}
73
+ <div class="text-xs text-muted-foreground">
74
+ {testimonial.role}{testimonial.role && testimonial.company ? ', ' : ''}{testimonial.company}
75
+ </div>
76
+ {/if}
77
+ </div>
78
+ </div>
79
+ </section>
@@ -0,0 +1,74 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Testimonial {
5
+ quote: string;
6
+ author: string;
7
+ role?: string;
8
+ company?: string;
9
+ avatarUrl?: string;
10
+ rating?: number;
11
+ }
12
+
13
+ const defaultTestimonials: Testimonial[] = [
14
+ {
15
+ quote: '"Shadcn UI Kit for Figma has completely transformed our design process. It\'s incredibly intuitive and saves us so much time. The components are beautifully crafted and customizable."',
16
+ author: 'Lando Norris',
17
+ role: 'CEO',
18
+ company: 'Acme Inc.',
19
+ rating: 5,
20
+ },
21
+ {
22
+ quote: '"We absolutely love how the Shadcn UI Kit blends functionality and aesthetics seamlessly. It fits perfectly into our design workflow and gives us the flexibility to create stunning, professional and high-quality designs effortlessly."',
23
+ author: 'Lando Norris',
24
+ role: 'CEO',
25
+ company: 'Acme Inc.',
26
+ rating: 5,
27
+ },
28
+ {
29
+ quote: '"This UI kit has been a game changer for our team. The quality is outstanding and the time savings are incredible."',
30
+ author: 'Jane Smith',
31
+ role: 'Founder',
32
+ company: 'Acme Inc.',
33
+ rating: 5,
34
+ },
35
+ ];
36
+
37
+ let { class: className, testimonials = defaultTestimonials } = $props();
38
+ </script>
39
+
40
+ <section class={cn('w-full bg-background py-16 px-4', className)}>
41
+ <div class="mx-auto max-w-6xl grid grid-cols-1 gap-6 sm:grid-cols-3">
42
+ {#each testimonials as t}
43
+ <div class="rounded-lg border bg-background p-6">
44
+ <div class="flex gap-1 mb-4">
45
+ {#each Array(5) as _, i}
46
+ <svg class="{i < (t.rating ?? 5) ? 'text-yellow-400' : 'text-muted'}" width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
47
+ <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
48
+ </svg>
49
+ {/each}
50
+ </div>
51
+
52
+ <blockquote class="text-sm font-medium mb-4 line-clamp-3">
53
+ {t.quote}
54
+ </blockquote>
55
+
56
+ <div class="flex items-center gap-3">
57
+ <div class="h-10 w-10 rounded-full bg-muted overflow-hidden flex-shrink-0">
58
+ <div class="h-full w-full bg-gradient-to-br from-muted-foreground/20 to-muted-foreground/10"></div>
59
+ </div>
60
+ <div>
61
+ <div class="font-medium text-sm">
62
+ {t.author}
63
+ </div>
64
+ {#if t.role || t.company}
65
+ <div class="text-xs text-muted-foreground">
66
+ {t.role}{t.role && t.company ? ', ' : ''}{t.company}
67
+ </div>
68
+ {/if}
69
+ </div>
70
+ </div>
71
+ </div>
72
+ {/each}
73
+ </div>
74
+ </section>
@@ -0,0 +1,68 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Testimonial {
5
+ quote: string;
6
+ author: string;
7
+ role?: string;
8
+ company?: string;
9
+ avatarUrl?: string;
10
+ rating?: number;
11
+ }
12
+
13
+ const defaultTestimonials: Testimonial[] = [
14
+ {
15
+ quote: '"Shadcn UI Kit for Figma has completely transformed our design process. It\'s incredibly intuitive and saves us so much time. The components are beautifully crafted and customizable."',
16
+ author: 'Lando Norris',
17
+ role: 'CEO',
18
+ company: 'Acme Inc.',
19
+ rating: 5,
20
+ },
21
+ {
22
+ quote: '"We absolutely love how the Shadcn UI Kit blends functionality and aesthetics seamlessly. It fits perfectly into our design workflow and gives us the flexibility to create stunning, professional and high-quality designs effortlessly."',
23
+ author: 'Lando Norris',
24
+ role: 'CEO',
25
+ company: 'Acme Inc.',
26
+ rating: 5,
27
+ },
28
+ {
29
+ quote: '"This UI kit has been a game changer for our team. The quality is outstanding and the time savings are incredible."',
30
+ author: 'Jane Smith',
31
+ role: 'Founder',
32
+ company: 'Acme Inc.',
33
+ rating: 5,
34
+ },
35
+ ];
36
+
37
+ let { class: className, testimonial = defaultTestimonials[0] } = $props();
38
+ </script>
39
+
40
+ <section class={cn('w-full bg-foreground text-background py-16 px-4 sm:py-24', className)}>
41
+ <div class="mx-auto max-w-2xl text-center">
42
+ <div class="flex gap-1 mb-6 justify-center">
43
+ {#each Array(5) as _, i}
44
+ <svg class="{i < (testimonial.rating ?? 5) ? 'text-yellow-400' : 'text-muted'}" width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
45
+ <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
46
+ </svg>
47
+ {/each}
48
+ </div>
49
+
50
+ <blockquote class="text-xl sm:text-2xl font-medium leading-relaxed">
51
+ {testimonial.quote}
52
+ </blockquote>
53
+
54
+ <div class="mt-8 flex flex-col items-center gap-2">
55
+ <div class="h-12 w-12 rounded-full bg-background/20 overflow-hidden">
56
+ <div class="h-full w-full bg-gradient-to-br from-background/40 to-background/20"></div>
57
+ </div>
58
+ <div class="font-medium text-sm">
59
+ {testimonial.author}
60
+ {#if testimonial.company}
61
+ <span class="text-background/80">
62
+ · {testimonial.company}
63
+ </span>
64
+ {/if}
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </section>
@@ -0,0 +1,82 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Testimonial {
5
+ quote: string;
6
+ author: string;
7
+ role?: string;
8
+ company?: string;
9
+ avatarUrl?: string;
10
+ rating?: number;
11
+ }
12
+
13
+ const defaultTestimonials: Testimonial[] = [
14
+ {
15
+ quote: '"Shadcn UI Kit for Figma has completely transformed our design process. It\'s incredibly intuitive and saves us so much time. The components are beautifully crafted and customizable."',
16
+ author: 'Lando Norris',
17
+ role: 'CEO',
18
+ company: 'Acme Inc.',
19
+ rating: 5,
20
+ },
21
+ {
22
+ quote: '"We absolutely love how the Shadcn UI Kit blends functionality and aesthetics seamlessly. It fits perfectly into our design workflow and gives us the flexibility to create stunning, professional and high-quality designs effortlessly."',
23
+ author: 'Lando Norris',
24
+ role: 'CEO',
25
+ company: 'Acme Inc.',
26
+ rating: 5,
27
+ },
28
+ {
29
+ quote: '"This UI kit has been a game changer for our team. The quality is outstanding and the time savings are incredible."',
30
+ author: 'Jane Smith',
31
+ role: 'Founder',
32
+ company: 'Acme Inc.',
33
+ rating: 5,
34
+ },
35
+ ];
36
+
37
+ let { class: className, title = 'What our customers say', description = 'Our customers love using our products', testimonials = defaultTestimonials } = $props();
38
+ </script>
39
+
40
+ <section class={cn('w-full bg-background py-16 px-4', className)}>
41
+ <div class="mx-auto max-w-6xl">
42
+ <div class="text-center mb-12">
43
+ <p class="text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2">Testimonials Section</p>
44
+ <h2 class="text-2xl sm:text-3xl font-bold mb-4">{title}</h2>
45
+ <p class="text-muted-foreground max-w-2xl mx-auto">{description}</p>
46
+ </div>
47
+
48
+ <div class="grid grid-cols-1 gap-6 sm:grid-cols-3">
49
+ {#each testimonials as t}
50
+ <div class="rounded-lg border bg-background p-6">
51
+ <div class="flex gap-1 mb-4">
52
+ {#each Array(5) as _, i}
53
+ <svg class="{i < (t.rating ?? 5) ? 'text-yellow-400' : 'text-muted'}" width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
54
+ <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
55
+ </svg>
56
+ {/each}
57
+ </div>
58
+
59
+ <blockquote class="text-sm font-medium mb-4 line-clamp-3">
60
+ {t.quote}
61
+ </blockquote>
62
+
63
+ <div class="flex items-center gap-3">
64
+ <div class="h-10 w-10 rounded-full bg-muted overflow-hidden flex-shrink-0">
65
+ <div class="h-full w-full bg-gradient-to-br from-muted-foreground/20 to-muted-foreground/10"></div>
66
+ </div>
67
+ <div>
68
+ <div class="font-medium text-sm">
69
+ {t.author}
70
+ </div>
71
+ {#if t.role || t.company}
72
+ <div class="text-xs text-muted-foreground">
73
+ {t.role}{t.role && t.company ? ', ' : ''}{t.company}
74
+ </div>
75
+ {/if}
76
+ </div>
77
+ </div>
78
+ </div>
79
+ {/each}
80
+ </div>
81
+ </div>
82
+ </section>
@@ -0,0 +1,98 @@
1
+ <script lang="ts">
2
+ import { cn } from '$lib/utils/cn';
3
+
4
+ interface Testimonial {
5
+ quote: string;
6
+ author: string;
7
+ role?: string;
8
+ company?: string;
9
+ avatarUrl?: string;
10
+ rating?: number;
11
+ }
12
+
13
+ const defaultTestimonials: Testimonial[] = [
14
+ {
15
+ quote: '"Shadcn UI Kit for Figma has completely transformed our design process. It\'s incredibly intuitive and saves us so much time. The components are beautifully crafted and customizable."',
16
+ author: 'Lando Norris',
17
+ role: 'CEO',
18
+ company: 'Acme Inc.',
19
+ rating: 5,
20
+ },
21
+ {
22
+ quote: '"We absolutely love how the Shadcn UI Kit blends functionality and aesthetics seamlessly. It fits perfectly into our design workflow and gives us the flexibility to create stunning, professional and high-quality designs effortlessly."',
23
+ author: 'Lando Norris',
24
+ role: 'CEO',
25
+ company: 'Acme Inc.',
26
+ rating: 5,
27
+ },
28
+ {
29
+ quote: '"This UI kit has been a game changer for our team. The quality is outstanding and the time savings are incredible."',
30
+ author: 'Jane Smith',
31
+ role: 'Founder',
32
+ company: 'Acme Inc.',
33
+ rating: 5,
34
+ },
35
+ ];
36
+
37
+ let { class: className, testimonials = defaultTestimonials } = $props();
38
+ </script>
39
+
40
+ <section class={cn('w-full bg-background py-16 px-4', className)}>
41
+ <div class="mx-auto max-w-6xl grid grid-cols-1 gap-6 sm:grid-cols-[2fr_1fr]">
42
+ {#if testimonials[0]}
43
+ <div class="rounded-xl border bg-muted/30 p-8">
44
+ <div class="flex gap-1 mb-4">
45
+ {#each Array(5) as _, i}
46
+ <svg class="{i < (testimonials[0].rating ?? 5) ? 'text-yellow-400' : 'text-muted'}" width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
47
+ <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
48
+ </svg>
49
+ {/each}
50
+ </div>
51
+
52
+ <blockquote class="text-lg font-medium mb-6 leading-relaxed">
53
+ {testimonials[0].quote}
54
+ </blockquote>
55
+
56
+ <div>
57
+ <div class="font-medium text-sm">
58
+ {testimonials[0].author}
59
+ </div>
60
+ {#if testimonials[0].role || testimonials[0].company}
61
+ <div class="text-xs text-muted-foreground">
62
+ {testimonials[0].role}{testimonials[0].role && testimonials[0].company ? ', ' : ''}{testimonials[0].company}
63
+ </div>
64
+ {/if}
65
+ </div>
66
+ </div>
67
+ {/if}
68
+
69
+ <div class="flex flex-col gap-6">
70
+ {#each testimonials.slice(1, 3) as t}
71
+ <div class="rounded-lg border bg-background p-6">
72
+ <div class="flex gap-1 mb-3">
73
+ {#each Array(5) as _, i}
74
+ <svg class="{i < (t.rating ?? 5) ? 'text-yellow-400' : 'text-muted'}" width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
75
+ <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
76
+ </svg>
77
+ {/each}
78
+ </div>
79
+
80
+ <blockquote class="text-sm font-medium mb-3 line-clamp-2">
81
+ {t.quote}
82
+ </blockquote>
83
+
84
+ <div>
85
+ <div class="font-medium text-xs">
86
+ {t.author}
87
+ </div>
88
+ {#if t.role || t.company}
89
+ <div class="text-xs text-muted-foreground">
90
+ {t.role}{t.role && t.company ? ', ' : ''}{t.company}
91
+ </div>
92
+ {/if}
93
+ </div>
94
+ </div>
95
+ {/each}
96
+ </div>
97
+ </div>
98
+ </section>
@@ -0,0 +1,16 @@
1
+ export { default as Testimonials01 } from './Testimonials01.svelte';
2
+ export { default as Testimonials02 } from './Testimonials02.svelte';
3
+ export { default as Testimonials03 } from './Testimonials03.svelte';
4
+ export { default as Testimonials04 } from './Testimonials04.svelte';
5
+ export { default as Testimonials05 } from './Testimonials05.svelte';
6
+ export { default as Testimonials06 } from './Testimonials06.svelte';
7
+ export { default as Testimonials07 } from './Testimonials07.svelte';
8
+
9
+ export interface Testimonial {
10
+ quote: string;
11
+ author: string;
12
+ role?: string;
13
+ company?: string;
14
+ avatarUrl?: string;
15
+ rating?: number;
16
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * src/lib/utils/cn.ts
3
+ * Class Name Utility
4
+ *
5
+ * Utility function for merging Tailwind CSS classes with class-variance-authority.
6
+ * This is the standard utility used by shadcn-svelte components.
7
+ *
8
+ * AI SYSTEMS: Use this utility for all conditional class name construction.
9
+ * Example: cn("base-class", condition && "conditional-class", className)
10
+ */
11
+
12
+ import { clsx, type ClassValue } from 'clsx';
13
+ import { twMerge } from 'tailwind-merge';
14
+
15
+ /**
16
+ * Merge classes with tailwind-merge and clsx
17
+ *
18
+ * @param inputs - Class values to merge
19
+ * @returns Merged class string
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * import { cn } from '$lib/utils/cn';
24
+ *
25
+ * // Basic usage
26
+ * cn('px-4 py-2', 'bg-blue-500')
27
+ * // → 'px-4 py-2 bg-blue-500'
28
+ *
29
+ * // With conditionals
30
+ * cn('base-class', isActive && 'active-class', className)
31
+ *
32
+ * // Tailwind conflict resolution
33
+ * cn('px-4 px-6')
34
+ * // → 'px-6' (later class wins)
35
+ * ```
36
+ */
37
+ export function cn(...inputs: ClassValue[]) {
38
+ return twMerge(clsx(inputs));
39
+ }
40
+
41
+ // Export type for use in components
42
+ export type { ClassValue };
package/src/index.ts DELETED
@@ -1,2 +0,0 @@
1
- // create-frontend is a CLI tool package with .js/.cjs scripts.
2
- // No TypeScript modules to re-export.
package/tsconfig.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2020",
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "declaration": true,
7
- "declarationMap": true,
8
- "sourceMap": true,
9
- "outDir": "lib",
10
- "rootDir": "src",
11
- "strict": true,
12
- "esModuleInterop": true,
13
- "skipLibCheck": true,
14
- "forceConsistentCasingInFileNames": true,
15
- "resolveJsonModule": true,
16
- "isolatedModules": true
17
- },
18
- "include": ["src/**/*.ts"],
19
- "exclude": ["node_modules", "lib"]
20
- }
File without changes