react-shadcn-kit 0.1.1 → 0.2.1

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 (337) hide show
  1. package/README.md +145 -71
  2. package/dist/assets/global.css +1 -1
  3. package/dist/components/composites/ComponentSearch.d.ts +43 -0
  4. package/dist/components/composites/ComponentSearch.js +141 -0
  5. package/dist/components/composites/ComponentSearch.js.map +1 -0
  6. package/dist/components/composites/action-button.d.ts +16 -0
  7. package/dist/components/composites/action-button.js +71 -0
  8. package/dist/components/composites/action-button.js.map +1 -0
  9. package/dist/components/composites/index.d.ts +9 -0
  10. package/dist/components/composites/sidebar-wrapper.d.ts +27 -0
  11. package/dist/components/composites/sidebar-wrapper.js +21 -0
  12. package/dist/components/composites/sidebar-wrapper.js.map +1 -0
  13. package/dist/{molecules → components/composites}/theme-toggle.js +3 -3
  14. package/dist/components/composites/theme-toggle.js.map +1 -0
  15. package/dist/{molecules → components/composites}/user-menu.js +4 -4
  16. package/dist/components/composites/user-menu.js.map +1 -0
  17. package/dist/components/marketing/hero.d.ts +12 -0
  18. package/dist/components/marketing/hero.js +87 -0
  19. package/dist/components/marketing/hero.js.map +1 -0
  20. package/dist/components/marketing/index.d.ts +6 -0
  21. package/dist/components/marketing/social-proof.d.ts +10 -0
  22. package/dist/components/marketing/social-proof.js +21 -0
  23. package/dist/components/marketing/social-proof.js.map +1 -0
  24. package/dist/components/marketing/value-props.d.ts +14 -0
  25. package/dist/components/marketing/value-props.js +25 -0
  26. package/dist/components/marketing/value-props.js.map +1 -0
  27. package/dist/{atoms → components/primitives}/accordion.js +1 -1
  28. package/dist/components/primitives/accordion.js.map +1 -0
  29. package/dist/{atoms → components/primitives}/alert-dialog.js +2 -2
  30. package/dist/components/primitives/alert-dialog.js.map +1 -0
  31. package/dist/{atoms → components/primitives}/alert.js +1 -1
  32. package/dist/components/primitives/alert.js.map +1 -0
  33. package/dist/components/primitives/aspect-ratio.js.map +1 -0
  34. package/dist/{atoms → components/primitives}/avatar.js +1 -1
  35. package/dist/components/primitives/avatar.js.map +1 -0
  36. package/dist/components/primitives/badge-variants.d.ts +3 -0
  37. package/dist/{atoms/badge.js → components/primitives/badge-variants.js} +7 -19
  38. package/dist/components/primitives/badge-variants.js.map +1 -0
  39. package/dist/components/primitives/badge.d.ts +9 -0
  40. package/dist/components/primitives/badge.js +21 -0
  41. package/dist/components/primitives/badge.js.map +1 -0
  42. package/dist/{atoms → components/primitives}/breadcrumb.js +1 -1
  43. package/dist/components/primitives/breadcrumb.js.map +1 -0
  44. package/dist/components/primitives/button-group-variants.d.ts +3 -0
  45. package/dist/components/primitives/button-group-variants.js +19 -0
  46. package/dist/components/primitives/button-group-variants.js.map +1 -0
  47. package/dist/components/primitives/button-group.d.ts +13 -0
  48. package/dist/components/primitives/button-group.js +52 -0
  49. package/dist/components/primitives/button-group.js.map +1 -0
  50. package/dist/components/primitives/button-variants.d.ts +4 -0
  51. package/dist/{atoms/button.js → components/primitives/button-variants.js} +8 -28
  52. package/dist/components/primitives/button-variants.js.map +1 -0
  53. package/dist/components/primitives/button.d.ts +9 -0
  54. package/dist/components/primitives/button.js +21 -0
  55. package/dist/components/primitives/button.js.map +1 -0
  56. package/dist/{atoms → components/primitives}/calendar.d.ts +1 -1
  57. package/dist/{atoms → components/primitives}/calendar.js +5 -4
  58. package/dist/components/primitives/calendar.js.map +1 -0
  59. package/dist/{atoms → components/primitives}/card.js +1 -1
  60. package/dist/components/primitives/card.js.map +1 -0
  61. package/dist/{atoms → components/primitives}/carousel.d.ts +1 -1
  62. package/dist/{atoms → components/primitives}/carousel.js +1 -1
  63. package/dist/components/primitives/carousel.js.map +1 -0
  64. package/dist/{atoms → components/primitives}/chart.js +1 -1
  65. package/dist/components/primitives/chart.js.map +1 -0
  66. package/dist/{atoms → components/primitives}/checkbox.js +1 -1
  67. package/dist/components/primitives/checkbox.js.map +1 -0
  68. package/dist/components/primitives/collapsible.js.map +1 -0
  69. package/dist/{atoms → components/primitives}/command.d.ts +1 -1
  70. package/dist/{atoms → components/primitives}/command.js +1 -1
  71. package/dist/components/primitives/command.js.map +1 -0
  72. package/dist/{atoms → components/primitives}/context-menu.js +1 -1
  73. package/dist/components/primitives/context-menu.js.map +1 -0
  74. package/dist/components/primitives/custom-button-variants.d.ts +5 -0
  75. package/dist/components/primitives/custom-button-variants.js +38 -0
  76. package/dist/components/primitives/custom-button-variants.js.map +1 -0
  77. package/dist/components/primitives/custom-button.d.ts +22 -0
  78. package/dist/components/primitives/custom-button.js +64 -0
  79. package/dist/components/primitives/custom-button.js.map +1 -0
  80. package/dist/{atoms → components/primitives}/dialog.js +8 -8
  81. package/dist/components/primitives/dialog.js.map +1 -0
  82. package/dist/{atoms → components/primitives}/drawer.js +1 -1
  83. package/dist/components/primitives/drawer.js.map +1 -0
  84. package/dist/{atoms → components/primitives}/dropdown-menu.js +1 -1
  85. package/dist/components/primitives/dropdown-menu.js.map +1 -0
  86. package/dist/{atoms → components/primitives}/empty.js +1 -1
  87. package/dist/components/primitives/empty.js.map +1 -0
  88. package/dist/{atoms → components/primitives}/field.d.ts +1 -1
  89. package/dist/{atoms → components/primitives}/field.js +1 -1
  90. package/dist/components/primitives/field.js.map +1 -0
  91. package/dist/components/primitives/form-context.d.ts +23 -0
  92. package/dist/components/primitives/form-context.js +26 -0
  93. package/dist/components/primitives/form-context.js.map +1 -0
  94. package/dist/components/primitives/form.d.ts +11 -0
  95. package/dist/components/primitives/form.js +85 -0
  96. package/dist/components/primitives/form.js.map +1 -0
  97. package/dist/{atoms → components/primitives}/hover-card.js +1 -1
  98. package/dist/components/primitives/hover-card.js.map +1 -0
  99. package/dist/components/primitives/index.d.ts +116 -0
  100. package/dist/{atoms → components/primitives}/input-group.d.ts +2 -2
  101. package/dist/{atoms → components/primitives}/input-group.js +1 -1
  102. package/dist/components/primitives/input-group.js.map +1 -0
  103. package/dist/{atoms → components/primitives}/input-otp.js +1 -1
  104. package/dist/components/primitives/input-otp.js.map +1 -0
  105. package/dist/{atoms → components/primitives}/input.js +1 -1
  106. package/dist/components/primitives/input.js.map +1 -0
  107. package/dist/{atoms → components/primitives}/item.d.ts +2 -2
  108. package/dist/{atoms → components/primitives}/item.js +1 -1
  109. package/dist/components/primitives/item.js.map +1 -0
  110. package/dist/{atoms → components/primitives}/kbd.js +1 -1
  111. package/dist/components/primitives/kbd.js.map +1 -0
  112. package/dist/{atoms → components/primitives}/label.js +1 -1
  113. package/dist/components/primitives/label.js.map +1 -0
  114. package/dist/components/primitives/loading-swap.d.ts +8 -0
  115. package/dist/components/primitives/loading-swap.js +25 -0
  116. package/dist/components/primitives/loading-swap.js.map +1 -0
  117. package/dist/{atoms → components/primitives}/menubar.js +1 -1
  118. package/dist/components/primitives/menubar.js.map +1 -0
  119. package/dist/components/primitives/navigation-menu-variants.d.ts +1 -0
  120. package/dist/components/primitives/navigation-menu-variants.js +8 -0
  121. package/dist/components/primitives/navigation-menu-variants.js.map +1 -0
  122. package/dist/components/primitives/navigation-menu.d.ts +13 -0
  123. package/dist/components/primitives/navigation-menu.js +102 -0
  124. package/dist/components/primitives/navigation-menu.js.map +1 -0
  125. package/dist/{atoms → components/primitives}/pagination.d.ts +1 -1
  126. package/dist/{atoms → components/primitives}/pagination.js +2 -2
  127. package/dist/components/primitives/pagination.js.map +1 -0
  128. package/dist/{atoms → components/primitives}/popover.js +1 -1
  129. package/dist/components/primitives/popover.js.map +1 -0
  130. package/dist/{atoms → components/primitives}/progress.js +1 -1
  131. package/dist/components/primitives/progress.js.map +1 -0
  132. package/dist/{atoms → components/primitives}/radio-group.js +1 -1
  133. package/dist/components/primitives/radio-group.js.map +1 -0
  134. package/dist/{atoms → components/primitives}/resizable.js +1 -1
  135. package/dist/components/primitives/resizable.js.map +1 -0
  136. package/dist/{atoms → components/primitives}/scroll-area.js +1 -1
  137. package/dist/components/primitives/scroll-area.js.map +1 -0
  138. package/dist/{atoms → components/primitives}/select.js +1 -1
  139. package/dist/components/primitives/select.js.map +1 -0
  140. package/dist/{atoms → components/primitives}/separator.js +1 -1
  141. package/dist/components/primitives/separator.js.map +1 -0
  142. package/dist/{atoms → components/primitives}/sheet.js +5 -5
  143. package/dist/components/primitives/sheet.js.map +1 -0
  144. package/dist/components/primitives/sidebar-context.d.ts +12 -0
  145. package/dist/components/primitives/sidebar-context.js +13 -0
  146. package/dist/components/primitives/sidebar-context.js.map +1 -0
  147. package/dist/components/primitives/sidebar-variants.d.ts +4 -0
  148. package/dist/components/primitives/sidebar-variants.js +25 -0
  149. package/dist/components/primitives/sidebar-variants.js.map +1 -0
  150. package/dist/components/primitives/sidebar.d.ts +56 -0
  151. package/dist/components/primitives/sidebar.js +542 -0
  152. package/dist/components/primitives/sidebar.js.map +1 -0
  153. package/dist/{atoms → components/primitives}/skeleton.js +1 -1
  154. package/dist/components/primitives/skeleton.js.map +1 -0
  155. package/dist/{atoms → components/primitives}/slider.js +1 -1
  156. package/dist/components/primitives/slider.js.map +1 -0
  157. package/dist/components/primitives/sonner.js.map +1 -0
  158. package/dist/{atoms → components/primitives}/spinner.js +1 -1
  159. package/dist/components/primitives/spinner.js.map +1 -0
  160. package/dist/{atoms → components/primitives}/switch.js +1 -1
  161. package/dist/components/primitives/switch.js.map +1 -0
  162. package/dist/{atoms → components/primitives}/table.js +1 -1
  163. package/dist/components/primitives/table.js.map +1 -0
  164. package/dist/{atoms → components/primitives}/tabs.js +1 -1
  165. package/dist/components/primitives/tabs.js.map +1 -0
  166. package/dist/{atoms → components/primitives}/textarea.js +1 -1
  167. package/dist/components/primitives/textarea.js.map +1 -0
  168. package/dist/components/primitives/theme-provider.js.map +1 -0
  169. package/dist/{atoms → components/primitives}/toggle-group.d.ts +1 -1
  170. package/dist/{atoms → components/primitives}/toggle-group.js +2 -2
  171. package/dist/components/primitives/toggle-group.js.map +1 -0
  172. package/dist/components/primitives/toggle-variants.d.ts +4 -0
  173. package/dist/{atoms/toggle.js → components/primitives/toggle-variants.js} +5 -24
  174. package/dist/components/primitives/toggle-variants.js.map +1 -0
  175. package/dist/components/primitives/toggle.d.ts +9 -0
  176. package/dist/components/primitives/toggle.js +21 -0
  177. package/dist/components/primitives/toggle.js.map +1 -0
  178. package/dist/{atoms → components/primitives}/tooltip.js +1 -1
  179. package/dist/components/primitives/tooltip.js.map +1 -0
  180. package/dist/composites/index.js +13 -0
  181. package/dist/{organisms → composites}/index.js.map +1 -1
  182. package/dist/hooks/index.d.ts +7 -0
  183. package/dist/hooks/index.js +8 -2
  184. package/dist/hooks/index.js.map +1 -1
  185. package/dist/hooks/use-aria-live.d.ts +22 -0
  186. package/dist/hooks/use-aria-live.js +18 -0
  187. package/dist/hooks/use-aria-live.js.map +1 -0
  188. package/dist/hooks/use-focus-visible.d.ts +15 -0
  189. package/dist/hooks/use-focus-visible.js +16 -0
  190. package/dist/hooks/use-focus-visible.js.map +1 -0
  191. package/dist/hooks/use-screen-reader-only.d.ts +14 -0
  192. package/dist/hooks/use-screen-reader-only.js +10 -0
  193. package/dist/hooks/use-screen-reader-only.js.map +1 -0
  194. package/dist/index.d.ts +10 -58
  195. package/dist/index.js +372 -343
  196. package/dist/index.js.map +1 -1
  197. package/dist/lib/index.d.ts +3 -0
  198. package/dist/lib/index.js +8 -2
  199. package/dist/lib/index.js.map +1 -1
  200. package/dist/lib/utils-enhanced.d.ts +27 -0
  201. package/dist/lib/utils-enhanced.js +28 -0
  202. package/dist/lib/utils-enhanced.js.map +1 -0
  203. package/dist/lib/utils-enhanced.test.d.ts +1 -0
  204. package/dist/marketing/index.js +9 -0
  205. package/dist/primitives/index.js +345 -0
  206. package/dist/{atoms → primitives}/index.js.map +1 -1
  207. package/package.json +24 -27
  208. package/dist/atoms/accordion.js.map +0 -1
  209. package/dist/atoms/alert-dialog.js.map +0 -1
  210. package/dist/atoms/alert.js.map +0 -1
  211. package/dist/atoms/aspect-ratio.js.map +0 -1
  212. package/dist/atoms/avatar.js.map +0 -1
  213. package/dist/atoms/badge.d.ts +0 -9
  214. package/dist/atoms/badge.js.map +0 -1
  215. package/dist/atoms/breadcrumb.js.map +0 -1
  216. package/dist/atoms/button-group.d.ts +0 -11
  217. package/dist/atoms/button-group.js +0 -76
  218. package/dist/atoms/button-group.js.map +0 -1
  219. package/dist/atoms/button.d.ts +0 -10
  220. package/dist/atoms/button.js.map +0 -1
  221. package/dist/atoms/calendar.js.map +0 -1
  222. package/dist/atoms/card.js.map +0 -1
  223. package/dist/atoms/carousel.js.map +0 -1
  224. package/dist/atoms/chart.js.map +0 -1
  225. package/dist/atoms/checkbox.js.map +0 -1
  226. package/dist/atoms/collapsible.js.map +0 -1
  227. package/dist/atoms/command.js.map +0 -1
  228. package/dist/atoms/context-menu.js.map +0 -1
  229. package/dist/atoms/dialog.js.map +0 -1
  230. package/dist/atoms/drawer.js.map +0 -1
  231. package/dist/atoms/dropdown-menu.js.map +0 -1
  232. package/dist/atoms/empty.js.map +0 -1
  233. package/dist/atoms/field.js.map +0 -1
  234. package/dist/atoms/form.d.ts +0 -24
  235. package/dist/atoms/form.js +0 -88
  236. package/dist/atoms/form.js.map +0 -1
  237. package/dist/atoms/hover-card.js.map +0 -1
  238. package/dist/atoms/index.d.ts +0 -54
  239. package/dist/atoms/index.js +0 -342
  240. package/dist/atoms/input-group.js.map +0 -1
  241. package/dist/atoms/input-otp.js.map +0 -1
  242. package/dist/atoms/input.js.map +0 -1
  243. package/dist/atoms/item.js.map +0 -1
  244. package/dist/atoms/kbd.js.map +0 -1
  245. package/dist/atoms/label.js.map +0 -1
  246. package/dist/atoms/menubar.js.map +0 -1
  247. package/dist/atoms/navigation-menu.d.ts +0 -14
  248. package/dist/atoms/navigation-menu.js +0 -160
  249. package/dist/atoms/navigation-menu.js.map +0 -1
  250. package/dist/atoms/pagination.js.map +0 -1
  251. package/dist/atoms/popover.js.map +0 -1
  252. package/dist/atoms/progress.js.map +0 -1
  253. package/dist/atoms/radio-group.js.map +0 -1
  254. package/dist/atoms/resizable.js.map +0 -1
  255. package/dist/atoms/scroll-area.js.map +0 -1
  256. package/dist/atoms/select.js.map +0 -1
  257. package/dist/atoms/separator.js.map +0 -1
  258. package/dist/atoms/sheet.js.map +0 -1
  259. package/dist/atoms/sidebar.d.ts +0 -70
  260. package/dist/atoms/sidebar.js +0 -573
  261. package/dist/atoms/sidebar.js.map +0 -1
  262. package/dist/atoms/skeleton.js.map +0 -1
  263. package/dist/atoms/slider.js.map +0 -1
  264. package/dist/atoms/sonner.js.map +0 -1
  265. package/dist/atoms/spinner.js.map +0 -1
  266. package/dist/atoms/switch.js.map +0 -1
  267. package/dist/atoms/table.js.map +0 -1
  268. package/dist/atoms/tabs.js.map +0 -1
  269. package/dist/atoms/textarea.js.map +0 -1
  270. package/dist/atoms/theme-provider.js.map +0 -1
  271. package/dist/atoms/toggle-group.js.map +0 -1
  272. package/dist/atoms/toggle.d.ts +0 -9
  273. package/dist/atoms/toggle.js.map +0 -1
  274. package/dist/atoms/tooltip.js.map +0 -1
  275. package/dist/default-layout.js +0 -114
  276. package/dist/default-layout.js.map +0 -1
  277. package/dist/molecules/index.d.ts +0 -3
  278. package/dist/molecules/index.js +0 -9
  279. package/dist/molecules/sidebar-theme-toggle.d.ts +0 -5
  280. package/dist/molecules/sidebar-theme-toggle.js +0 -39
  281. package/dist/molecules/sidebar-theme-toggle.js.map +0 -1
  282. package/dist/molecules/theme-toggle.js.map +0 -1
  283. package/dist/molecules/user-menu.js.map +0 -1
  284. package/dist/organisms/app-navbar.d.ts +0 -73
  285. package/dist/organisms/app-navbar.js +0 -142
  286. package/dist/organisms/app-navbar.js.map +0 -1
  287. package/dist/organisms/app-sidebar.d.ts +0 -67
  288. package/dist/organisms/app-sidebar.js +0 -161
  289. package/dist/organisms/app-sidebar.js.map +0 -1
  290. package/dist/organisms/index.d.ts +0 -2
  291. package/dist/organisms/index.js +0 -7
  292. /package/dist/{molecules → components/composites}/theme-toggle.d.ts +0 -0
  293. /package/dist/{molecules → components/composites}/user-menu.d.ts +0 -0
  294. /package/dist/{atoms → components/primitives}/accordion.d.ts +0 -0
  295. /package/dist/{atoms → components/primitives}/alert-dialog.d.ts +0 -0
  296. /package/dist/{atoms → components/primitives}/alert.d.ts +0 -0
  297. /package/dist/{atoms → components/primitives}/aspect-ratio.d.ts +0 -0
  298. /package/dist/{atoms → components/primitives}/aspect-ratio.js +0 -0
  299. /package/dist/{atoms → components/primitives}/avatar.d.ts +0 -0
  300. /package/dist/{atoms → components/primitives}/breadcrumb.d.ts +0 -0
  301. /package/dist/{atoms → components/primitives}/card.d.ts +0 -0
  302. /package/dist/{atoms → components/primitives}/chart.d.ts +0 -0
  303. /package/dist/{atoms → components/primitives}/checkbox.d.ts +0 -0
  304. /package/dist/{atoms → components/primitives}/collapsible.d.ts +0 -0
  305. /package/dist/{atoms → components/primitives}/collapsible.js +0 -0
  306. /package/dist/{atoms → components/primitives}/context-menu.d.ts +0 -0
  307. /package/dist/{atoms → components/primitives}/dialog.d.ts +0 -0
  308. /package/dist/{atoms → components/primitives}/drawer.d.ts +0 -0
  309. /package/dist/{atoms → components/primitives}/dropdown-menu.d.ts +0 -0
  310. /package/dist/{atoms → components/primitives}/empty.d.ts +0 -0
  311. /package/dist/{atoms → components/primitives}/hover-card.d.ts +0 -0
  312. /package/dist/{atoms → components/primitives}/input-otp.d.ts +0 -0
  313. /package/dist/{atoms → components/primitives}/input.d.ts +0 -0
  314. /package/dist/{atoms → components/primitives}/kbd.d.ts +0 -0
  315. /package/dist/{atoms → components/primitives}/label.d.ts +0 -0
  316. /package/dist/{atoms → components/primitives}/menubar.d.ts +0 -0
  317. /package/dist/{atoms → components/primitives}/popover.d.ts +0 -0
  318. /package/dist/{atoms → components/primitives}/progress.d.ts +0 -0
  319. /package/dist/{atoms → components/primitives}/radio-group.d.ts +0 -0
  320. /package/dist/{atoms → components/primitives}/resizable.d.ts +0 -0
  321. /package/dist/{atoms → components/primitives}/scroll-area.d.ts +0 -0
  322. /package/dist/{atoms → components/primitives}/select.d.ts +0 -0
  323. /package/dist/{atoms → components/primitives}/separator.d.ts +0 -0
  324. /package/dist/{atoms → components/primitives}/sheet.d.ts +0 -0
  325. /package/dist/{atoms → components/primitives}/skeleton.d.ts +0 -0
  326. /package/dist/{atoms → components/primitives}/slider.d.ts +0 -0
  327. /package/dist/{atoms → components/primitives}/sonner.d.ts +0 -0
  328. /package/dist/{atoms → components/primitives}/sonner.js +0 -0
  329. /package/dist/{atoms → components/primitives}/spinner.d.ts +0 -0
  330. /package/dist/{atoms → components/primitives}/switch.d.ts +0 -0
  331. /package/dist/{atoms → components/primitives}/table.d.ts +0 -0
  332. /package/dist/{atoms → components/primitives}/tabs.d.ts +0 -0
  333. /package/dist/{atoms → components/primitives}/textarea.d.ts +0 -0
  334. /package/dist/{atoms → components/primitives}/theme-provider.d.ts +0 -0
  335. /package/dist/{atoms → components/primitives}/theme-provider.js +0 -0
  336. /package/dist/{atoms → components/primitives}/tooltip.d.ts +0 -0
  337. /package/dist/{molecules → marketing}/index.js.map +0 -0
package/README.md CHANGED
@@ -1,113 +1,187 @@
1
- # React Shadcn Kit Component Library
1
+ # React Shadcn Kit Premium
2
2
 
3
- A comprehensive, atomic design-based component library built with React, TypeScript, Tailwind CSS v4, and shadcn/ui.
3
+ A state-of-the-art, high-performance UI library built with **React 19**, **Tailwind CSS v4**, and **shadcn/ui**. This kit provides a structured, type-safe foundation for building premium web applications and marketing sites with ease.
4
4
 
5
- ## Features
5
+ ## ✨ Key Features
6
6
 
7
- - **Atomic Design Structure**: Components organized into atoms, molecules, and organisms.
8
- - **Configurable Navigation**: `AppSidebar` and `AppNavbar` driven by JSON configuration.
9
- - **Responsive Layout**: Built-in `Layout` component handling mobile and desktop views.
10
- - **Theming**: Integrated dark mode support.
11
- - **TypeScript Support**: Fully typed components and configurations.
7
+ - **🚀 Premium Aesthetics**: Modern design system with vibrant colors, glassmorphism, and smooth animations.
8
+ - **🏗️ Atomic Architecture**: Organized into `primitives`, `composites`, and `marketing` layers for maximum reusability.
9
+ - **⚡ Performance First**: Zero Tailwind runtime overhead, optimized build pipeline, and light-weight exports.
10
+ - **🛡️ Type Safety**: Full TypeScript support with strict mode and exported types for every component.
11
+ - **🌟 Interactive Elements**: Advanced components like `ActionButton` with built-in transitions and `CustomButton` with rich hover effects.
12
+ - **📊 Data Components**: Production-ready `Kanban` board with drag-and-drop and `DataTable` with sorting, filtering, and pagination.
13
+ - **📣 Accessibility**: Built-in ARIA hooks and screen-reader utilities.
12
14
 
13
- ## Installation
15
+ ## 📦 Installation
14
16
 
15
17
  ```bash
16
18
  npm install react-shadcn-kit
17
- # or
18
- yarn add react-shadcn-kit
19
19
  ```
20
20
 
21
- ## Usage
21
+ ## 📂 Library Structure
22
22
 
23
- ### Basic Layout
23
+ We follow a modular structure to keep your bundle small:
24
24
 
25
- Wrap your application with the `Layout` component to get the sidebar and navbar structure automatically.
25
+ - `react-shadcn-kit/primitives`: Core UI building blocks (Button, Input, LoadingSwap, etc.)
26
+ - `react-shadcn-kit/composites`: Complex interactive units (ActionButton, SidebarWrapper, UserMenu)
27
+ - `react-shadcn-kit/marketing`: high-impact landing page sections (HeroSection, SocialProof, ValueProps)
28
+ - `react-shadcn-kit/hooks`: Useful React hooks (useIsMobile, useAriaLive, useFocusVisible)
29
+ - `react-shadcn-kit/lib`: Essential utilities (cn, date formatting, slug generation)
30
+
31
+ ## 🚀 Usage
32
+
33
+ ### 🎨 Marketing Hero Section
26
34
 
27
35
  ```tsx
28
- import { Layout } from "react-shadcn-kit";
36
+ import { HeroSection } from "react-shadcn-kit/marketing";
29
37
 
30
- export default function App() {
38
+ export default function Landing() {
31
39
  return (
32
- <Layout>
33
- <div className="p-4">
34
- <h1>My App Content</h1>
35
- </div>
36
- </Layout>
40
+ <HeroSection
41
+ title="Create something stunning"
42
+ subtitle="Better design, faster development, premium results."
43
+ ctaText="Get Started"
44
+ badge="v0.1.1 is now live!"
45
+ />
37
46
  );
38
47
  }
39
48
  ```
40
49
 
41
- ### Configuration
50
+ ### 🔘 Interactive Action Button
42
51
 
43
- The navigation components are highly configurable. You can pass a `config` prop to `AppSidebar` and `AppNavbar` (via `Layout` props if exposed, or by using them directly).
52
+ Handles async states, loading indicators, and confirmation dialogs automatically.
44
53
 
45
- #### Sidebar Configuration (`SidebarConfig`)
54
+ ```tsx
55
+ import { ActionButton } from "react-shadcn-kit/composites";
56
+
57
+ async function deleteProject() {
58
+ // Your async logic
59
+ return { error: false, message: "Project deleted successfully" };
60
+ }
61
+
62
+ <ActionButton
63
+ variant="destructive"
64
+ action={deleteProject}
65
+ requireAreYouSure
66
+ areYouSureDescription="This will permanently delete your project data."
67
+ >
68
+ Delete Project
69
+ </ActionButton>;
70
+ ```
71
+
72
+ ### 🛠️ Enhanced Utilities
46
73
 
47
74
  ```tsx
48
- import { AppSidebar } from "react-shadcn-kit";
49
- import { LayoutDashboard, Settings } from "lucide-react";
50
-
51
- const sidebarConfig = {
52
- branding: {
53
- name: "My App",
54
- logo: LayoutDashboard,
55
- href: "/",
56
- },
57
- fixed: true, // Set to false to make sidebar scroll with page
58
- groups: [
59
- {
60
- label: "Platform",
61
- items: [
62
- { label: "Dashboard", href: "/dashboard", icon: LayoutDashboard },
63
- { label: "Settings", href: "/settings", icon: Settings },
64
- ],
65
- },
66
- ],
67
- user: {
68
- name: "John Doe",
69
- email: "john@example.com",
70
- avatar: "https://github.com/shadcn.png",
71
- },
72
- userMenuItems: [
73
- { label: "Profile", href: "/profile" },
74
- { label: "Log out", onClick: () => console.log("Logout") },
75
- ],
76
- };
75
+ import { formatDate, generateSlug } from "react-shadcn-kit/lib";
77
76
 
78
- <AppSidebar config={sidebarConfig} />;
77
+ const date = formatDate(new Date()); // "Oct 24, 2023"
78
+ const slug = generateSlug("Hello World!"); // "hello-world"
79
79
  ```
80
80
 
81
- #### Navbar Configuration (`NavbarConfig`)
81
+ ### 📋 Kanban Board
82
+
83
+ Build interactive task boards with drag-and-drop functionality.
82
84
 
83
85
  ```tsx
84
- import { AppNavbar } from "react-shadcn-kit";
85
-
86
- const navbarConfig = {
87
- items: [
88
- { label: "Overview", href: "/overview" },
89
- { label: "Docs", href: "/docs" },
90
- ],
91
- searchPlaceholder: "Search docs...",
92
- userMenuItems: [
93
- { label: "Profile", href: "/profile" },
94
- { label: "Settings", href: "/settings" },
95
- ],
86
+ import { Kanban, type KanbanItem, type KanbanColumnDef } from "react-shadcn-kit/composites";
87
+
88
+ interface Task extends KanbanItem {
89
+ title: string;
90
+ description?: string;
91
+ }
92
+
93
+ const columns: KanbanColumnDef[] = [
94
+ { id: "todo", title: "To Do" },
95
+ { id: "in-progress", title: "In Progress" },
96
+ { id: "done", title: "Done" },
97
+ ];
98
+
99
+ const tasks: Task[] = [
100
+ { id: "1", status: "todo", title: "Design homepage", description: "Create mockups" },
101
+ { id: "2", status: "in-progress", title: "Build API", description: "REST endpoints" },
102
+ ];
103
+
104
+ <Kanban
105
+ items={tasks}
106
+ columns={columns}
107
+ onItemUpdate={(itemId, newStatus) => {
108
+ // Handle status update
109
+ console.log(`Task ${itemId} moved to ${newStatus}`);
110
+ }}
111
+ onItemClick={(item) => {
112
+ // Handle card click
113
+ console.log("Clicked:", item);
114
+ }}
115
+ />;
116
+ ```
117
+
118
+ ### 📊 Data Table
119
+
120
+ Advanced data tables with sorting, filtering, and pagination.
121
+
122
+ ```tsx
123
+ import { DataTable, DataTableColumnHeader } from "react-shadcn-kit/composites";
124
+ import { ColumnDef } from "@tanstack/react-table";
125
+
126
+ type Payment = {
127
+ id: string;
128
+ amount: number;
129
+ status: "pending" | "processing" | "success" | "failed";
130
+ email: string;
96
131
  };
97
132
 
98
- <AppNavbar config={navbarConfig} />;
133
+ const columns: ColumnDef<Payment>[] = [
134
+ {
135
+ accessorKey: "email",
136
+ header: ({ column }) => <DataTableColumnHeader column={column} title="Email" />,
137
+ },
138
+ {
139
+ accessorKey: "amount",
140
+ header: "Amount",
141
+ cell: ({ row }) => {
142
+ const amount = parseFloat(row.getValue("amount"));
143
+ return new Intl.NumberFormat("en-US", {
144
+ style: "currency",
145
+ currency: "USD",
146
+ }).format(amount);
147
+ },
148
+ },
149
+ ];
150
+
151
+ const data: Payment[] = [{ id: "1", amount: 100, status: "success", email: "user@example.com" }];
152
+
153
+ <DataTable
154
+ columns={columns}
155
+ data={data}
156
+ searchKey="email"
157
+ facetedFilters={[
158
+ {
159
+ columnId: "status",
160
+ title: "Status",
161
+ options: [
162
+ { label: "Success", value: "success" },
163
+ { label: "Pending", value: "pending" },
164
+ ],
165
+ },
166
+ ]}
167
+ />;
99
168
  ```
100
169
 
101
- ## Development
170
+ ## 🛠️ Development
102
171
 
103
- To run the local development application:
172
+ Run the playground locally:
104
173
 
105
174
  ```bash
106
175
  npm run dev
107
176
  ```
108
177
 
109
- To build the library:
178
+ Validate exports and build:
110
179
 
111
180
  ```bash
181
+ npm run test:exports
112
182
  npm run build
113
183
  ```
184
+
185
+ ## 📄 License
186
+
187
+ MIT © [Tushar Yadav](https://github.com/tusharyadav21)