shadcn-rails 0.1.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 (315) hide show
  1. checksums.yaml +7 -0
  2. data/.dockerignore +40 -0
  3. data/CHANGELOG.md +54 -0
  4. data/CLAUDE.md +463 -0
  5. data/PROGRESS.md +485 -0
  6. data/README.md +1483 -0
  7. data/Rakefile +29 -0
  8. data/__tests__/controllers/__snapshots__/calendar_controller.test.js.snap +13 -0
  9. data/__tests__/controllers/__snapshots__/popover_controller.test.js.snap +46 -0
  10. data/__tests__/controllers/__snapshots__/sheet_controller.test.js.snap +111 -0
  11. data/__tests__/controllers/__snapshots__/tabs_controller.test.js.snap +27 -0
  12. data/__tests__/controllers/accordion_controller.test.js +904 -0
  13. data/__tests__/controllers/calendar_controller.test.js +1370 -0
  14. data/__tests__/controllers/carousel_controller.test.js +912 -0
  15. data/__tests__/controllers/checkbox_controller.test.js +454 -0
  16. data/__tests__/controllers/collapsible_controller.test.js +407 -0
  17. data/__tests__/controllers/combobox_controller.test.js +966 -0
  18. data/__tests__/controllers/context_menu_controller.test.js +627 -0
  19. data/__tests__/controllers/date_picker_controller.test.js +636 -0
  20. data/__tests__/controllers/dialog_controller.test.js +878 -0
  21. data/__tests__/controllers/drawer_controller.test.js +995 -0
  22. data/__tests__/controllers/menubar_controller.test.js +736 -0
  23. data/__tests__/controllers/navigation_menu_controller.test.js +598 -0
  24. data/__tests__/controllers/popover_controller.test.js +1007 -0
  25. data/__tests__/controllers/radio_group_controller.test.js +640 -0
  26. data/__tests__/controllers/resizable_controller.test.js +680 -0
  27. data/__tests__/controllers/select_controller.test.js +674 -0
  28. data/__tests__/controllers/sheet_controller.test.js +986 -0
  29. data/__tests__/controllers/slider_controller.test.js +1036 -0
  30. data/__tests__/controllers/switch_controller.test.js +424 -0
  31. data/__tests__/controllers/tabs_controller.test.js +907 -0
  32. data/__tests__/controllers/toggle_group_controller.test.js +839 -0
  33. data/__tests__/controllers/tooltip_controller.test.js +808 -0
  34. data/__tests__/helpers/stimulus-test-helper.js +203 -0
  35. data/app/assets/config/manifest.js +1 -0
  36. data/app/assets/javascripts/shadcn/controllers/accordion_controller.d.ts +53 -0
  37. data/app/assets/javascripts/shadcn/controllers/accordion_controller.js +140 -0
  38. data/app/assets/javascripts/shadcn/controllers/avatar_controller.d.ts +22 -0
  39. data/app/assets/javascripts/shadcn/controllers/avatar_controller.js +26 -0
  40. data/app/assets/javascripts/shadcn/controllers/calendar_controller.js +592 -0
  41. data/app/assets/javascripts/shadcn/controllers/carousel_controller.js +263 -0
  42. data/app/assets/javascripts/shadcn/controllers/checkbox_controller.d.ts +31 -0
  43. data/app/assets/javascripts/shadcn/controllers/checkbox_controller.js +48 -0
  44. data/app/assets/javascripts/shadcn/controllers/collapsible_controller.d.ts +43 -0
  45. data/app/assets/javascripts/shadcn/controllers/collapsible_controller.js +73 -0
  46. data/app/assets/javascripts/shadcn/controllers/combobox_controller.js +234 -0
  47. data/app/assets/javascripts/shadcn/controllers/command_controller.js +141 -0
  48. data/app/assets/javascripts/shadcn/controllers/command_dialog_controller.js +162 -0
  49. data/app/assets/javascripts/shadcn/controllers/context_menu_controller.js +202 -0
  50. data/app/assets/javascripts/shadcn/controllers/date_picker_controller.js +282 -0
  51. data/app/assets/javascripts/shadcn/controllers/dialog_controller.d.ts +67 -0
  52. data/app/assets/javascripts/shadcn/controllers/dialog_controller.js +187 -0
  53. data/app/assets/javascripts/shadcn/controllers/drawer_controller.d.ts +58 -0
  54. data/app/assets/javascripts/shadcn/controllers/drawer_controller.js +112 -0
  55. data/app/assets/javascripts/shadcn/controllers/dropdown_controller.d.ts +83 -0
  56. data/app/assets/javascripts/shadcn/controllers/dropdown_controller.js +225 -0
  57. data/app/assets/javascripts/shadcn/controllers/hover_card_controller.d.ts +59 -0
  58. data/app/assets/javascripts/shadcn/controllers/hover_card_controller.js +143 -0
  59. data/app/assets/javascripts/shadcn/controllers/input_otp_controller.d.ts +44 -0
  60. data/app/assets/javascripts/shadcn/controllers/input_otp_controller.js +206 -0
  61. data/app/assets/javascripts/shadcn/controllers/menubar_controller.js +323 -0
  62. data/app/assets/javascripts/shadcn/controllers/navigation_menu_controller.js +251 -0
  63. data/app/assets/javascripts/shadcn/controllers/popover_controller.d.ts +56 -0
  64. data/app/assets/javascripts/shadcn/controllers/popover_controller.js +141 -0
  65. data/app/assets/javascripts/shadcn/controllers/radio_group_controller.d.ts +47 -0
  66. data/app/assets/javascripts/shadcn/controllers/radio_group_controller.js +108 -0
  67. data/app/assets/javascripts/shadcn/controllers/resizable_controller.js +272 -0
  68. data/app/assets/javascripts/shadcn/controllers/scroll_area_controller.d.ts +44 -0
  69. data/app/assets/javascripts/shadcn/controllers/scroll_area_controller.js +74 -0
  70. data/app/assets/javascripts/shadcn/controllers/select_controller.d.ts +84 -0
  71. data/app/assets/javascripts/shadcn/controllers/select_controller.js +222 -0
  72. data/app/assets/javascripts/shadcn/controllers/sheet_controller.d.ts +60 -0
  73. data/app/assets/javascripts/shadcn/controllers/sheet_controller.js +151 -0
  74. data/app/assets/javascripts/shadcn/controllers/sidebar_controller.js +148 -0
  75. data/app/assets/javascripts/shadcn/controllers/slider_controller.d.ts +102 -0
  76. data/app/assets/javascripts/shadcn/controllers/slider_controller.js +364 -0
  77. data/app/assets/javascripts/shadcn/controllers/switch_controller.d.ts +46 -0
  78. data/app/assets/javascripts/shadcn/controllers/switch_controller.js +78 -0
  79. data/app/assets/javascripts/shadcn/controllers/tabs_controller.d.ts +51 -0
  80. data/app/assets/javascripts/shadcn/controllers/tabs_controller.js +126 -0
  81. data/app/assets/javascripts/shadcn/controllers/toast_controller.d.ts +37 -0
  82. data/app/assets/javascripts/shadcn/controllers/toast_controller.js +58 -0
  83. data/app/assets/javascripts/shadcn/controllers/toggle_controller.d.ts +27 -0
  84. data/app/assets/javascripts/shadcn/controllers/toggle_controller.js +42 -0
  85. data/app/assets/javascripts/shadcn/controllers/toggle_group_controller.d.ts +44 -0
  86. data/app/assets/javascripts/shadcn/controllers/toggle_group_controller.js +68 -0
  87. data/app/assets/javascripts/shadcn/controllers/tooltip_controller.d.ts +56 -0
  88. data/app/assets/javascripts/shadcn/controllers/tooltip_controller.js +117 -0
  89. data/app/assets/javascripts/shadcn/index.d.ts +74 -0
  90. data/app/assets/javascripts/shadcn/index.js +133 -0
  91. data/app/assets/stylesheets/.keep +0 -0
  92. data/app/assets/stylesheets/shadcn/base.css +445 -0
  93. data/app/assets/stylesheets/shadcn/components.css +513 -0
  94. data/app/assets/stylesheets/shadcn/index.css +18 -0
  95. data/app/assets/stylesheets/shadcn/themes/gray.css +68 -0
  96. data/app/assets/stylesheets/shadcn/themes/slate.css +68 -0
  97. data/app/assets/stylesheets/shadcn/themes/stone.css +68 -0
  98. data/app/assets/stylesheets/shadcn/themes/zinc.css +68 -0
  99. data/app/components/shadcn/accordion_component.rb +63 -0
  100. data/app/components/shadcn/accordion_content_component.rb +29 -0
  101. data/app/components/shadcn/accordion_item_component.rb +40 -0
  102. data/app/components/shadcn/accordion_trigger_component.rb +49 -0
  103. data/app/components/shadcn/alert_component.rb +75 -0
  104. data/app/components/shadcn/alert_description_component.rb +12 -0
  105. data/app/components/shadcn/alert_dialog_action_component.rb +24 -0
  106. data/app/components/shadcn/alert_dialog_cancel_component.rb +24 -0
  107. data/app/components/shadcn/alert_dialog_component.rb +71 -0
  108. data/app/components/shadcn/alert_dialog_content_component.rb +57 -0
  109. data/app/components/shadcn/alert_dialog_description_component.rb +12 -0
  110. data/app/components/shadcn/alert_dialog_footer_component.rb +19 -0
  111. data/app/components/shadcn/alert_dialog_header_component.rb +19 -0
  112. data/app/components/shadcn/alert_dialog_title_component.rb +12 -0
  113. data/app/components/shadcn/alert_title_component.rb +12 -0
  114. data/app/components/shadcn/aspect_ratio_component.rb +49 -0
  115. data/app/components/shadcn/avatar_component.rb +107 -0
  116. data/app/components/shadcn/avatar_fallback_component.rb +17 -0
  117. data/app/components/shadcn/badge_component.rb +49 -0
  118. data/app/components/shadcn/base_component.rb +100 -0
  119. data/app/components/shadcn/breadcrumb_component.rb +70 -0
  120. data/app/components/shadcn/breadcrumb_item_component.rb +50 -0
  121. data/app/components/shadcn/button_component.rb +141 -0
  122. data/app/components/shadcn/button_group_component.rb +69 -0
  123. data/app/components/shadcn/calendar_component.rb +337 -0
  124. data/app/components/shadcn/card_action_component.rb +10 -0
  125. data/app/components/shadcn/card_component.rb +63 -0
  126. data/app/components/shadcn/card_content_component.rb +19 -0
  127. data/app/components/shadcn/card_description_component.rb +12 -0
  128. data/app/components/shadcn/card_footer_component.rb +12 -0
  129. data/app/components/shadcn/card_header_component.rb +24 -0
  130. data/app/components/shadcn/card_title_component.rb +18 -0
  131. data/app/components/shadcn/carousel_component.rb +275 -0
  132. data/app/components/shadcn/checkbox_component.rb +103 -0
  133. data/app/components/shadcn/collapsible_component.rb +66 -0
  134. data/app/components/shadcn/collapsible_content_component.rb +28 -0
  135. data/app/components/shadcn/combobox_component.rb +322 -0
  136. data/app/components/shadcn/command_component.rb +52 -0
  137. data/app/components/shadcn/command_dialog_component.rb +76 -0
  138. data/app/components/shadcn/command_empty_component.rb +12 -0
  139. data/app/components/shadcn/command_group_component.rb +34 -0
  140. data/app/components/shadcn/command_input_component.rb +59 -0
  141. data/app/components/shadcn/command_item_component.rb +48 -0
  142. data/app/components/shadcn/command_list_component.rb +38 -0
  143. data/app/components/shadcn/command_separator_component.rb +12 -0
  144. data/app/components/shadcn/command_shortcut_component.rb +12 -0
  145. data/app/components/shadcn/context_menu_component.rb +64 -0
  146. data/app/components/shadcn/context_menu_content_component.rb +44 -0
  147. data/app/components/shadcn/context_menu_item_component.rb +63 -0
  148. data/app/components/shadcn/context_menu_label_component.rb +18 -0
  149. data/app/components/shadcn/context_menu_separator_component.rb +12 -0
  150. data/app/components/shadcn/context_menu_shortcut_component.rb +12 -0
  151. data/app/components/shadcn/date_picker_component.rb +368 -0
  152. data/app/components/shadcn/dialog_component.rb +77 -0
  153. data/app/components/shadcn/dialog_content_component.rb +91 -0
  154. data/app/components/shadcn/dialog_description_component.rb +12 -0
  155. data/app/components/shadcn/dialog_footer_component.rb +12 -0
  156. data/app/components/shadcn/dialog_header_component.rb +19 -0
  157. data/app/components/shadcn/dialog_title_component.rb +12 -0
  158. data/app/components/shadcn/drawer_component.rb +72 -0
  159. data/app/components/shadcn/drawer_content_component.rb +76 -0
  160. data/app/components/shadcn/drawer_description_component.rb +12 -0
  161. data/app/components/shadcn/drawer_footer_component.rb +12 -0
  162. data/app/components/shadcn/drawer_header_component.rb +19 -0
  163. data/app/components/shadcn/drawer_title_component.rb +12 -0
  164. data/app/components/shadcn/dropdown_menu_component.rb +75 -0
  165. data/app/components/shadcn/dropdown_menu_content_component.rb +49 -0
  166. data/app/components/shadcn/dropdown_menu_group_component.rb +10 -0
  167. data/app/components/shadcn/dropdown_menu_item_component.rb +63 -0
  168. data/app/components/shadcn/dropdown_menu_label_component.rb +18 -0
  169. data/app/components/shadcn/dropdown_menu_separator_component.rb +12 -0
  170. data/app/components/shadcn/dropdown_menu_shortcut_component.rb +12 -0
  171. data/app/components/shadcn/empty_component.rb +48 -0
  172. data/app/components/shadcn/empty_content_component.rb +12 -0
  173. data/app/components/shadcn/empty_description_component.rb +12 -0
  174. data/app/components/shadcn/empty_header_component.rb +29 -0
  175. data/app/components/shadcn/empty_media_component.rb +21 -0
  176. data/app/components/shadcn/empty_title_component.rb +12 -0
  177. data/app/components/shadcn/field_component.rb +113 -0
  178. data/app/components/shadcn/hover_card_component.rb +64 -0
  179. data/app/components/shadcn/hover_card_content_component.rb +36 -0
  180. data/app/components/shadcn/input_component.rb +108 -0
  181. data/app/components/shadcn/input_group_component.rb +70 -0
  182. data/app/components/shadcn/input_otp_component.rb +183 -0
  183. data/app/components/shadcn/item_actions_component.rb +12 -0
  184. data/app/components/shadcn/item_component.rb +98 -0
  185. data/app/components/shadcn/item_content_component.rb +24 -0
  186. data/app/components/shadcn/item_description_component.rb +12 -0
  187. data/app/components/shadcn/item_footer_component.rb +12 -0
  188. data/app/components/shadcn/item_group_component.rb +24 -0
  189. data/app/components/shadcn/item_header_component.rb +12 -0
  190. data/app/components/shadcn/item_media_component.rb +22 -0
  191. data/app/components/shadcn/item_separator_component.rb +12 -0
  192. data/app/components/shadcn/item_title_component.rb +12 -0
  193. data/app/components/shadcn/kbd_component.rb +36 -0
  194. data/app/components/shadcn/label_component.rb +49 -0
  195. data/app/components/shadcn/menubar_checkbox_item_component.rb +76 -0
  196. data/app/components/shadcn/menubar_component.rb +56 -0
  197. data/app/components/shadcn/menubar_content_component.rb +64 -0
  198. data/app/components/shadcn/menubar_item_component.rb +65 -0
  199. data/app/components/shadcn/menubar_label_component.rb +27 -0
  200. data/app/components/shadcn/menubar_menu_component.rb +34 -0
  201. data/app/components/shadcn/menubar_radio_group_component.rb +42 -0
  202. data/app/components/shadcn/menubar_radio_item_component.rb +76 -0
  203. data/app/components/shadcn/menubar_separator_component.rb +22 -0
  204. data/app/components/shadcn/menubar_shortcut_component.rb +21 -0
  205. data/app/components/shadcn/menubar_sub_component.rb +38 -0
  206. data/app/components/shadcn/menubar_sub_content_component.rb +45 -0
  207. data/app/components/shadcn/menubar_sub_trigger_component.rb +59 -0
  208. data/app/components/shadcn/menubar_trigger_component.rb +31 -0
  209. data/app/components/shadcn/native_select_component.rb +150 -0
  210. data/app/components/shadcn/navigation_menu_component.rb +76 -0
  211. data/app/components/shadcn/navigation_menu_content_component.rb +30 -0
  212. data/app/components/shadcn/navigation_menu_item_component.rb +39 -0
  213. data/app/components/shadcn/navigation_menu_link_component.rb +38 -0
  214. data/app/components/shadcn/navigation_menu_list_component.rb +29 -0
  215. data/app/components/shadcn/navigation_menu_trigger_component.rb +59 -0
  216. data/app/components/shadcn/pagination_component.rb +195 -0
  217. data/app/components/shadcn/pagination_content_component.rb +47 -0
  218. data/app/components/shadcn/pagination_ellipsis_component.rb +30 -0
  219. data/app/components/shadcn/pagination_item_component.rb +53 -0
  220. data/app/components/shadcn/pagination_next_component.rb +48 -0
  221. data/app/components/shadcn/pagination_previous_component.rb +48 -0
  222. data/app/components/shadcn/popover_component.rb +76 -0
  223. data/app/components/shadcn/popover_content_component.rb +25 -0
  224. data/app/components/shadcn/progress_component.rb +77 -0
  225. data/app/components/shadcn/radio_group_component.rb +129 -0
  226. data/app/components/shadcn/radio_group_item_component.rb +109 -0
  227. data/app/components/shadcn/resizable_handle_component.rb +98 -0
  228. data/app/components/shadcn/resizable_panel_component.rb +56 -0
  229. data/app/components/shadcn/resizable_panel_group_component.rb +94 -0
  230. data/app/components/shadcn/scroll_area_component.rb +110 -0
  231. data/app/components/shadcn/select_component.rb +151 -0
  232. data/app/components/shadcn/select_group_component.rb +32 -0
  233. data/app/components/shadcn/select_item_component.rb +59 -0
  234. data/app/components/shadcn/select_separator_component.rb +12 -0
  235. data/app/components/shadcn/separator_component.rb +54 -0
  236. data/app/components/shadcn/sheet_component.rb +82 -0
  237. data/app/components/shadcn/sheet_content_component.rb +95 -0
  238. data/app/components/shadcn/sheet_description_component.rb +12 -0
  239. data/app/components/shadcn/sheet_footer_component.rb +12 -0
  240. data/app/components/shadcn/sheet_header_component.rb +19 -0
  241. data/app/components/shadcn/sheet_title_component.rb +12 -0
  242. data/app/components/shadcn/sidebar_component.rb +180 -0
  243. data/app/components/shadcn/sidebar_content_component.rb +32 -0
  244. data/app/components/shadcn/sidebar_footer_component.rb +24 -0
  245. data/app/components/shadcn/sidebar_group_action_component.rb +26 -0
  246. data/app/components/shadcn/sidebar_group_component.rb +38 -0
  247. data/app/components/shadcn/sidebar_group_content_component.rb +32 -0
  248. data/app/components/shadcn/sidebar_group_label_component.rb +25 -0
  249. data/app/components/shadcn/sidebar_header_component.rb +24 -0
  250. data/app/components/shadcn/sidebar_inset_component.rb +25 -0
  251. data/app/components/shadcn/sidebar_menu_action_component.rb +37 -0
  252. data/app/components/shadcn/sidebar_menu_badge_component.rb +25 -0
  253. data/app/components/shadcn/sidebar_menu_button_component.rb +52 -0
  254. data/app/components/shadcn/sidebar_menu_component.rb +32 -0
  255. data/app/components/shadcn/sidebar_menu_item_component.rb +41 -0
  256. data/app/components/shadcn/sidebar_menu_skeleton_component.rb +46 -0
  257. data/app/components/shadcn/sidebar_menu_sub_button_component.rb +43 -0
  258. data/app/components/shadcn/sidebar_menu_sub_component.rb +33 -0
  259. data/app/components/shadcn/sidebar_menu_sub_item_component.rb +30 -0
  260. data/app/components/shadcn/sidebar_provider_component.rb +57 -0
  261. data/app/components/shadcn/sidebar_rail_component.rb +30 -0
  262. data/app/components/shadcn/sidebar_separator_component.rb +24 -0
  263. data/app/components/shadcn/sidebar_trigger_component.rb +51 -0
  264. data/app/components/shadcn/skeleton_component.rb +29 -0
  265. data/app/components/shadcn/slider_component.rb +76 -0
  266. data/app/components/shadcn/spinner_component.rb +67 -0
  267. data/app/components/shadcn/switch_component.rb +147 -0
  268. data/app/components/shadcn/table_body_component.rb +16 -0
  269. data/app/components/shadcn/table_caption_component.rb +12 -0
  270. data/app/components/shadcn/table_cell_component.rb +12 -0
  271. data/app/components/shadcn/table_component.rb +57 -0
  272. data/app/components/shadcn/table_footer_component.rb +16 -0
  273. data/app/components/shadcn/table_head_component.rb +12 -0
  274. data/app/components/shadcn/table_header_component.rb +16 -0
  275. data/app/components/shadcn/table_row_component.rb +40 -0
  276. data/app/components/shadcn/tabs_component.rb +78 -0
  277. data/app/components/shadcn/tabs_content_component.rb +32 -0
  278. data/app/components/shadcn/tabs_list_component.rb +30 -0
  279. data/app/components/shadcn/tabs_trigger_component.rb +37 -0
  280. data/app/components/shadcn/textarea_component.rb +84 -0
  281. data/app/components/shadcn/toast_action_component.rb +18 -0
  282. data/app/components/shadcn/toast_component.rb +114 -0
  283. data/app/components/shadcn/toast_description_component.rb +12 -0
  284. data/app/components/shadcn/toast_title_component.rb +12 -0
  285. data/app/components/shadcn/toast_viewport_component.rb +12 -0
  286. data/app/components/shadcn/toggle_component.rb +77 -0
  287. data/app/components/shadcn/toggle_group_component.rb +96 -0
  288. data/app/components/shadcn/toggle_group_item_component.rb +62 -0
  289. data/app/components/shadcn/tooltip_component.rb +89 -0
  290. data/app/components/shadcn/typography_component.rb +112 -0
  291. data/babel.config.cjs +5 -0
  292. data/bin/console +11 -0
  293. data/bin/setup +8 -0
  294. data/config/importmap.rb +5 -0
  295. data/fly.toml +26 -0
  296. data/jest.config.js +19 -0
  297. data/jest.setup.js +8 -0
  298. data/lib/generators/shadcn/component/component_generator.rb +188 -0
  299. data/lib/generators/shadcn/install/install_generator.rb +140 -0
  300. data/lib/generators/shadcn/install/templates/initializer.rb.tt +35 -0
  301. data/lib/generators/shadcn/install/templates/shadcn.yml.tt +35 -0
  302. data/lib/generators/shadcn/theme/theme_generator.rb +128 -0
  303. data/lib/shadcn/rails/class_merger.rb +228 -0
  304. data/lib/shadcn/rails/configuration.rb +341 -0
  305. data/lib/shadcn/rails/engine.rb +59 -0
  306. data/lib/shadcn/rails/helpers/class_name_helper.rb +35 -0
  307. data/lib/shadcn/rails/helpers/component_helper.rb +60 -0
  308. data/lib/shadcn/rails/helpers/pagination_helper.rb +187 -0
  309. data/lib/shadcn/rails/version.rb +7 -0
  310. data/lib/shadcn/rails.rb +179 -0
  311. data/package-lock.json +7415 -0
  312. data/package.json +68 -0
  313. data/rollup.config.js +29 -0
  314. data/sig/shadcn/rails.rbs +6 -0
  315. metadata +526 -0
data/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "shadcn-rails-stimulus",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "Stimulus controllers for shadcn-rails ViewComponents",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.esm.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.esm.js",
12
+ "require": "./dist/index.js",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./controllers": {
16
+ "import": "./dist/controllers/index.esm.js",
17
+ "require": "./dist/controllers/index.js"
18
+ },
19
+ "./controllers/*": {
20
+ "import": "./app/assets/javascripts/shadcn/controllers/*.js"
21
+ }
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "app/assets/javascripts/shadcn"
26
+ ],
27
+ "scripts": {
28
+ "build": "rollup -c",
29
+ "watch": "rollup -c -w",
30
+ "test": "NODE_OPTIONS='--experimental-vm-modules' jest",
31
+ "test:watch": "NODE_OPTIONS='--experimental-vm-modules' jest --watch",
32
+ "test:coverage": "NODE_OPTIONS='--experimental-vm-modules' jest --coverage",
33
+ "prepublishOnly": "npm run build"
34
+ },
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/iheanyi/shadcn-rails.git"
38
+ },
39
+ "keywords": [
40
+ "shadcn",
41
+ "rails",
42
+ "stimulus",
43
+ "viewcomponent",
44
+ "tailwindcss",
45
+ "ui"
46
+ ],
47
+ "author": "Iheanyi Ekechukwu",
48
+ "license": "MIT",
49
+ "homepage": "https://github.com/iheanyi/shadcn-rails#readme",
50
+ "bugs": {
51
+ "url": "https://github.com/iheanyi/shadcn-rails/issues"
52
+ },
53
+ "peerDependencies": {
54
+ "@hotwired/stimulus": "^3.0.0"
55
+ },
56
+ "devDependencies": {
57
+ "@babel/core": "^7.28.5",
58
+ "@babel/preset-env": "^7.28.5",
59
+ "@hotwired/stimulus": "^3.2.2",
60
+ "@rollup/plugin-node-resolve": "^15.0.0",
61
+ "@testing-library/dom": "^10.4.1",
62
+ "@testing-library/jest-dom": "^6.9.1",
63
+ "babel-jest": "^30.2.0",
64
+ "jest": "^30.2.0",
65
+ "jest-environment-jsdom": "^30.2.0",
66
+ "rollup": "^4.0.0"
67
+ }
68
+ }
data/rollup.config.js ADDED
@@ -0,0 +1,29 @@
1
+ import resolve from "@rollup/plugin-node-resolve"
2
+
3
+ const input = "app/assets/javascripts/shadcn/index.js"
4
+
5
+ export default [
6
+ // ESM build
7
+ {
8
+ input,
9
+ output: {
10
+ file: "dist/index.esm.js",
11
+ format: "esm",
12
+ sourcemap: true
13
+ },
14
+ external: ["@hotwired/stimulus"],
15
+ plugins: [resolve()]
16
+ },
17
+ // CommonJS build
18
+ {
19
+ input,
20
+ output: {
21
+ file: "dist/index.js",
22
+ format: "cjs",
23
+ sourcemap: true,
24
+ exports: "named"
25
+ },
26
+ external: ["@hotwired/stimulus"],
27
+ plugins: [resolve()]
28
+ }
29
+ ]
@@ -0,0 +1,6 @@
1
+ module Shadcn
2
+ module Rails
3
+ VERSION: String
4
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
5
+ end
6
+ end
metadata ADDED
@@ -0,0 +1,526 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shadcn-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Iheanyi Ekechukwu
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: railties
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '7.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '7.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: view_component
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '3.0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: stimulus-rails
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '1.0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '1.0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: turbo-rails
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '1.0'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '1.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: tailwind_merge
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0.10'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0.10'
82
+ - !ruby/object:Gem::Dependency
83
+ name: rake
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '13.0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '13.0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: minitest
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '5.0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '5.0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: minitest-reporters
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.6'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.6'
124
+ - !ruby/object:Gem::Dependency
125
+ name: capybara
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '3.0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '3.0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: cuprite
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '0.15'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0.15'
152
+ - !ruby/object:Gem::Dependency
153
+ name: lookbook
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '2.0'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '2.0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: tailwindcss-rails
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '3.0'
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '3.0'
180
+ description: A Rails port of shadcn/ui - a collection of beautifully designed, accessible
181
+ components built with ViewComponents, Stimulus, and Tailwind CSS. Includes theming
182
+ support, dark mode, and full component parity with the original library.
183
+ email:
184
+ - iekechukwu@gmail.com
185
+ executables: []
186
+ extensions: []
187
+ extra_rdoc_files: []
188
+ files:
189
+ - ".dockerignore"
190
+ - CHANGELOG.md
191
+ - CLAUDE.md
192
+ - PROGRESS.md
193
+ - README.md
194
+ - Rakefile
195
+ - __tests__/controllers/__snapshots__/calendar_controller.test.js.snap
196
+ - __tests__/controllers/__snapshots__/popover_controller.test.js.snap
197
+ - __tests__/controllers/__snapshots__/sheet_controller.test.js.snap
198
+ - __tests__/controllers/__snapshots__/tabs_controller.test.js.snap
199
+ - __tests__/controllers/accordion_controller.test.js
200
+ - __tests__/controllers/calendar_controller.test.js
201
+ - __tests__/controllers/carousel_controller.test.js
202
+ - __tests__/controllers/checkbox_controller.test.js
203
+ - __tests__/controllers/collapsible_controller.test.js
204
+ - __tests__/controllers/combobox_controller.test.js
205
+ - __tests__/controllers/context_menu_controller.test.js
206
+ - __tests__/controllers/date_picker_controller.test.js
207
+ - __tests__/controllers/dialog_controller.test.js
208
+ - __tests__/controllers/drawer_controller.test.js
209
+ - __tests__/controllers/menubar_controller.test.js
210
+ - __tests__/controllers/navigation_menu_controller.test.js
211
+ - __tests__/controllers/popover_controller.test.js
212
+ - __tests__/controllers/radio_group_controller.test.js
213
+ - __tests__/controllers/resizable_controller.test.js
214
+ - __tests__/controllers/select_controller.test.js
215
+ - __tests__/controllers/sheet_controller.test.js
216
+ - __tests__/controllers/slider_controller.test.js
217
+ - __tests__/controllers/switch_controller.test.js
218
+ - __tests__/controllers/tabs_controller.test.js
219
+ - __tests__/controllers/toggle_group_controller.test.js
220
+ - __tests__/controllers/tooltip_controller.test.js
221
+ - __tests__/helpers/stimulus-test-helper.js
222
+ - app/assets/config/manifest.js
223
+ - app/assets/javascripts/shadcn/controllers/accordion_controller.d.ts
224
+ - app/assets/javascripts/shadcn/controllers/accordion_controller.js
225
+ - app/assets/javascripts/shadcn/controllers/avatar_controller.d.ts
226
+ - app/assets/javascripts/shadcn/controllers/avatar_controller.js
227
+ - app/assets/javascripts/shadcn/controllers/calendar_controller.js
228
+ - app/assets/javascripts/shadcn/controllers/carousel_controller.js
229
+ - app/assets/javascripts/shadcn/controllers/checkbox_controller.d.ts
230
+ - app/assets/javascripts/shadcn/controllers/checkbox_controller.js
231
+ - app/assets/javascripts/shadcn/controllers/collapsible_controller.d.ts
232
+ - app/assets/javascripts/shadcn/controllers/collapsible_controller.js
233
+ - app/assets/javascripts/shadcn/controllers/combobox_controller.js
234
+ - app/assets/javascripts/shadcn/controllers/command_controller.js
235
+ - app/assets/javascripts/shadcn/controllers/command_dialog_controller.js
236
+ - app/assets/javascripts/shadcn/controllers/context_menu_controller.js
237
+ - app/assets/javascripts/shadcn/controllers/date_picker_controller.js
238
+ - app/assets/javascripts/shadcn/controllers/dialog_controller.d.ts
239
+ - app/assets/javascripts/shadcn/controllers/dialog_controller.js
240
+ - app/assets/javascripts/shadcn/controllers/drawer_controller.d.ts
241
+ - app/assets/javascripts/shadcn/controllers/drawer_controller.js
242
+ - app/assets/javascripts/shadcn/controllers/dropdown_controller.d.ts
243
+ - app/assets/javascripts/shadcn/controllers/dropdown_controller.js
244
+ - app/assets/javascripts/shadcn/controllers/hover_card_controller.d.ts
245
+ - app/assets/javascripts/shadcn/controllers/hover_card_controller.js
246
+ - app/assets/javascripts/shadcn/controllers/input_otp_controller.d.ts
247
+ - app/assets/javascripts/shadcn/controllers/input_otp_controller.js
248
+ - app/assets/javascripts/shadcn/controllers/menubar_controller.js
249
+ - app/assets/javascripts/shadcn/controllers/navigation_menu_controller.js
250
+ - app/assets/javascripts/shadcn/controllers/popover_controller.d.ts
251
+ - app/assets/javascripts/shadcn/controllers/popover_controller.js
252
+ - app/assets/javascripts/shadcn/controllers/radio_group_controller.d.ts
253
+ - app/assets/javascripts/shadcn/controllers/radio_group_controller.js
254
+ - app/assets/javascripts/shadcn/controllers/resizable_controller.js
255
+ - app/assets/javascripts/shadcn/controllers/scroll_area_controller.d.ts
256
+ - app/assets/javascripts/shadcn/controllers/scroll_area_controller.js
257
+ - app/assets/javascripts/shadcn/controllers/select_controller.d.ts
258
+ - app/assets/javascripts/shadcn/controllers/select_controller.js
259
+ - app/assets/javascripts/shadcn/controllers/sheet_controller.d.ts
260
+ - app/assets/javascripts/shadcn/controllers/sheet_controller.js
261
+ - app/assets/javascripts/shadcn/controllers/sidebar_controller.js
262
+ - app/assets/javascripts/shadcn/controllers/slider_controller.d.ts
263
+ - app/assets/javascripts/shadcn/controllers/slider_controller.js
264
+ - app/assets/javascripts/shadcn/controllers/switch_controller.d.ts
265
+ - app/assets/javascripts/shadcn/controllers/switch_controller.js
266
+ - app/assets/javascripts/shadcn/controllers/tabs_controller.d.ts
267
+ - app/assets/javascripts/shadcn/controllers/tabs_controller.js
268
+ - app/assets/javascripts/shadcn/controllers/toast_controller.d.ts
269
+ - app/assets/javascripts/shadcn/controllers/toast_controller.js
270
+ - app/assets/javascripts/shadcn/controllers/toggle_controller.d.ts
271
+ - app/assets/javascripts/shadcn/controllers/toggle_controller.js
272
+ - app/assets/javascripts/shadcn/controllers/toggle_group_controller.d.ts
273
+ - app/assets/javascripts/shadcn/controllers/toggle_group_controller.js
274
+ - app/assets/javascripts/shadcn/controllers/tooltip_controller.d.ts
275
+ - app/assets/javascripts/shadcn/controllers/tooltip_controller.js
276
+ - app/assets/javascripts/shadcn/index.d.ts
277
+ - app/assets/javascripts/shadcn/index.js
278
+ - app/assets/stylesheets/.keep
279
+ - app/assets/stylesheets/shadcn/base.css
280
+ - app/assets/stylesheets/shadcn/components.css
281
+ - app/assets/stylesheets/shadcn/index.css
282
+ - app/assets/stylesheets/shadcn/themes/gray.css
283
+ - app/assets/stylesheets/shadcn/themes/slate.css
284
+ - app/assets/stylesheets/shadcn/themes/stone.css
285
+ - app/assets/stylesheets/shadcn/themes/zinc.css
286
+ - app/components/shadcn/accordion_component.rb
287
+ - app/components/shadcn/accordion_content_component.rb
288
+ - app/components/shadcn/accordion_item_component.rb
289
+ - app/components/shadcn/accordion_trigger_component.rb
290
+ - app/components/shadcn/alert_component.rb
291
+ - app/components/shadcn/alert_description_component.rb
292
+ - app/components/shadcn/alert_dialog_action_component.rb
293
+ - app/components/shadcn/alert_dialog_cancel_component.rb
294
+ - app/components/shadcn/alert_dialog_component.rb
295
+ - app/components/shadcn/alert_dialog_content_component.rb
296
+ - app/components/shadcn/alert_dialog_description_component.rb
297
+ - app/components/shadcn/alert_dialog_footer_component.rb
298
+ - app/components/shadcn/alert_dialog_header_component.rb
299
+ - app/components/shadcn/alert_dialog_title_component.rb
300
+ - app/components/shadcn/alert_title_component.rb
301
+ - app/components/shadcn/aspect_ratio_component.rb
302
+ - app/components/shadcn/avatar_component.rb
303
+ - app/components/shadcn/avatar_fallback_component.rb
304
+ - app/components/shadcn/badge_component.rb
305
+ - app/components/shadcn/base_component.rb
306
+ - app/components/shadcn/breadcrumb_component.rb
307
+ - app/components/shadcn/breadcrumb_item_component.rb
308
+ - app/components/shadcn/button_component.rb
309
+ - app/components/shadcn/button_group_component.rb
310
+ - app/components/shadcn/calendar_component.rb
311
+ - app/components/shadcn/card_action_component.rb
312
+ - app/components/shadcn/card_component.rb
313
+ - app/components/shadcn/card_content_component.rb
314
+ - app/components/shadcn/card_description_component.rb
315
+ - app/components/shadcn/card_footer_component.rb
316
+ - app/components/shadcn/card_header_component.rb
317
+ - app/components/shadcn/card_title_component.rb
318
+ - app/components/shadcn/carousel_component.rb
319
+ - app/components/shadcn/checkbox_component.rb
320
+ - app/components/shadcn/collapsible_component.rb
321
+ - app/components/shadcn/collapsible_content_component.rb
322
+ - app/components/shadcn/combobox_component.rb
323
+ - app/components/shadcn/command_component.rb
324
+ - app/components/shadcn/command_dialog_component.rb
325
+ - app/components/shadcn/command_empty_component.rb
326
+ - app/components/shadcn/command_group_component.rb
327
+ - app/components/shadcn/command_input_component.rb
328
+ - app/components/shadcn/command_item_component.rb
329
+ - app/components/shadcn/command_list_component.rb
330
+ - app/components/shadcn/command_separator_component.rb
331
+ - app/components/shadcn/command_shortcut_component.rb
332
+ - app/components/shadcn/context_menu_component.rb
333
+ - app/components/shadcn/context_menu_content_component.rb
334
+ - app/components/shadcn/context_menu_item_component.rb
335
+ - app/components/shadcn/context_menu_label_component.rb
336
+ - app/components/shadcn/context_menu_separator_component.rb
337
+ - app/components/shadcn/context_menu_shortcut_component.rb
338
+ - app/components/shadcn/date_picker_component.rb
339
+ - app/components/shadcn/dialog_component.rb
340
+ - app/components/shadcn/dialog_content_component.rb
341
+ - app/components/shadcn/dialog_description_component.rb
342
+ - app/components/shadcn/dialog_footer_component.rb
343
+ - app/components/shadcn/dialog_header_component.rb
344
+ - app/components/shadcn/dialog_title_component.rb
345
+ - app/components/shadcn/drawer_component.rb
346
+ - app/components/shadcn/drawer_content_component.rb
347
+ - app/components/shadcn/drawer_description_component.rb
348
+ - app/components/shadcn/drawer_footer_component.rb
349
+ - app/components/shadcn/drawer_header_component.rb
350
+ - app/components/shadcn/drawer_title_component.rb
351
+ - app/components/shadcn/dropdown_menu_component.rb
352
+ - app/components/shadcn/dropdown_menu_content_component.rb
353
+ - app/components/shadcn/dropdown_menu_group_component.rb
354
+ - app/components/shadcn/dropdown_menu_item_component.rb
355
+ - app/components/shadcn/dropdown_menu_label_component.rb
356
+ - app/components/shadcn/dropdown_menu_separator_component.rb
357
+ - app/components/shadcn/dropdown_menu_shortcut_component.rb
358
+ - app/components/shadcn/empty_component.rb
359
+ - app/components/shadcn/empty_content_component.rb
360
+ - app/components/shadcn/empty_description_component.rb
361
+ - app/components/shadcn/empty_header_component.rb
362
+ - app/components/shadcn/empty_media_component.rb
363
+ - app/components/shadcn/empty_title_component.rb
364
+ - app/components/shadcn/field_component.rb
365
+ - app/components/shadcn/hover_card_component.rb
366
+ - app/components/shadcn/hover_card_content_component.rb
367
+ - app/components/shadcn/input_component.rb
368
+ - app/components/shadcn/input_group_component.rb
369
+ - app/components/shadcn/input_otp_component.rb
370
+ - app/components/shadcn/item_actions_component.rb
371
+ - app/components/shadcn/item_component.rb
372
+ - app/components/shadcn/item_content_component.rb
373
+ - app/components/shadcn/item_description_component.rb
374
+ - app/components/shadcn/item_footer_component.rb
375
+ - app/components/shadcn/item_group_component.rb
376
+ - app/components/shadcn/item_header_component.rb
377
+ - app/components/shadcn/item_media_component.rb
378
+ - app/components/shadcn/item_separator_component.rb
379
+ - app/components/shadcn/item_title_component.rb
380
+ - app/components/shadcn/kbd_component.rb
381
+ - app/components/shadcn/label_component.rb
382
+ - app/components/shadcn/menubar_checkbox_item_component.rb
383
+ - app/components/shadcn/menubar_component.rb
384
+ - app/components/shadcn/menubar_content_component.rb
385
+ - app/components/shadcn/menubar_item_component.rb
386
+ - app/components/shadcn/menubar_label_component.rb
387
+ - app/components/shadcn/menubar_menu_component.rb
388
+ - app/components/shadcn/menubar_radio_group_component.rb
389
+ - app/components/shadcn/menubar_radio_item_component.rb
390
+ - app/components/shadcn/menubar_separator_component.rb
391
+ - app/components/shadcn/menubar_shortcut_component.rb
392
+ - app/components/shadcn/menubar_sub_component.rb
393
+ - app/components/shadcn/menubar_sub_content_component.rb
394
+ - app/components/shadcn/menubar_sub_trigger_component.rb
395
+ - app/components/shadcn/menubar_trigger_component.rb
396
+ - app/components/shadcn/native_select_component.rb
397
+ - app/components/shadcn/navigation_menu_component.rb
398
+ - app/components/shadcn/navigation_menu_content_component.rb
399
+ - app/components/shadcn/navigation_menu_item_component.rb
400
+ - app/components/shadcn/navigation_menu_link_component.rb
401
+ - app/components/shadcn/navigation_menu_list_component.rb
402
+ - app/components/shadcn/navigation_menu_trigger_component.rb
403
+ - app/components/shadcn/pagination_component.rb
404
+ - app/components/shadcn/pagination_content_component.rb
405
+ - app/components/shadcn/pagination_ellipsis_component.rb
406
+ - app/components/shadcn/pagination_item_component.rb
407
+ - app/components/shadcn/pagination_next_component.rb
408
+ - app/components/shadcn/pagination_previous_component.rb
409
+ - app/components/shadcn/popover_component.rb
410
+ - app/components/shadcn/popover_content_component.rb
411
+ - app/components/shadcn/progress_component.rb
412
+ - app/components/shadcn/radio_group_component.rb
413
+ - app/components/shadcn/radio_group_item_component.rb
414
+ - app/components/shadcn/resizable_handle_component.rb
415
+ - app/components/shadcn/resizable_panel_component.rb
416
+ - app/components/shadcn/resizable_panel_group_component.rb
417
+ - app/components/shadcn/scroll_area_component.rb
418
+ - app/components/shadcn/select_component.rb
419
+ - app/components/shadcn/select_group_component.rb
420
+ - app/components/shadcn/select_item_component.rb
421
+ - app/components/shadcn/select_separator_component.rb
422
+ - app/components/shadcn/separator_component.rb
423
+ - app/components/shadcn/sheet_component.rb
424
+ - app/components/shadcn/sheet_content_component.rb
425
+ - app/components/shadcn/sheet_description_component.rb
426
+ - app/components/shadcn/sheet_footer_component.rb
427
+ - app/components/shadcn/sheet_header_component.rb
428
+ - app/components/shadcn/sheet_title_component.rb
429
+ - app/components/shadcn/sidebar_component.rb
430
+ - app/components/shadcn/sidebar_content_component.rb
431
+ - app/components/shadcn/sidebar_footer_component.rb
432
+ - app/components/shadcn/sidebar_group_action_component.rb
433
+ - app/components/shadcn/sidebar_group_component.rb
434
+ - app/components/shadcn/sidebar_group_content_component.rb
435
+ - app/components/shadcn/sidebar_group_label_component.rb
436
+ - app/components/shadcn/sidebar_header_component.rb
437
+ - app/components/shadcn/sidebar_inset_component.rb
438
+ - app/components/shadcn/sidebar_menu_action_component.rb
439
+ - app/components/shadcn/sidebar_menu_badge_component.rb
440
+ - app/components/shadcn/sidebar_menu_button_component.rb
441
+ - app/components/shadcn/sidebar_menu_component.rb
442
+ - app/components/shadcn/sidebar_menu_item_component.rb
443
+ - app/components/shadcn/sidebar_menu_skeleton_component.rb
444
+ - app/components/shadcn/sidebar_menu_sub_button_component.rb
445
+ - app/components/shadcn/sidebar_menu_sub_component.rb
446
+ - app/components/shadcn/sidebar_menu_sub_item_component.rb
447
+ - app/components/shadcn/sidebar_provider_component.rb
448
+ - app/components/shadcn/sidebar_rail_component.rb
449
+ - app/components/shadcn/sidebar_separator_component.rb
450
+ - app/components/shadcn/sidebar_trigger_component.rb
451
+ - app/components/shadcn/skeleton_component.rb
452
+ - app/components/shadcn/slider_component.rb
453
+ - app/components/shadcn/spinner_component.rb
454
+ - app/components/shadcn/switch_component.rb
455
+ - app/components/shadcn/table_body_component.rb
456
+ - app/components/shadcn/table_caption_component.rb
457
+ - app/components/shadcn/table_cell_component.rb
458
+ - app/components/shadcn/table_component.rb
459
+ - app/components/shadcn/table_footer_component.rb
460
+ - app/components/shadcn/table_head_component.rb
461
+ - app/components/shadcn/table_header_component.rb
462
+ - app/components/shadcn/table_row_component.rb
463
+ - app/components/shadcn/tabs_component.rb
464
+ - app/components/shadcn/tabs_content_component.rb
465
+ - app/components/shadcn/tabs_list_component.rb
466
+ - app/components/shadcn/tabs_trigger_component.rb
467
+ - app/components/shadcn/textarea_component.rb
468
+ - app/components/shadcn/toast_action_component.rb
469
+ - app/components/shadcn/toast_component.rb
470
+ - app/components/shadcn/toast_description_component.rb
471
+ - app/components/shadcn/toast_title_component.rb
472
+ - app/components/shadcn/toast_viewport_component.rb
473
+ - app/components/shadcn/toggle_component.rb
474
+ - app/components/shadcn/toggle_group_component.rb
475
+ - app/components/shadcn/toggle_group_item_component.rb
476
+ - app/components/shadcn/tooltip_component.rb
477
+ - app/components/shadcn/typography_component.rb
478
+ - babel.config.cjs
479
+ - bin/console
480
+ - bin/setup
481
+ - config/importmap.rb
482
+ - fly.toml
483
+ - jest.config.js
484
+ - jest.setup.js
485
+ - lib/generators/shadcn/component/component_generator.rb
486
+ - lib/generators/shadcn/install/install_generator.rb
487
+ - lib/generators/shadcn/install/templates/initializer.rb.tt
488
+ - lib/generators/shadcn/install/templates/shadcn.yml.tt
489
+ - lib/generators/shadcn/theme/theme_generator.rb
490
+ - lib/shadcn/rails.rb
491
+ - lib/shadcn/rails/class_merger.rb
492
+ - lib/shadcn/rails/configuration.rb
493
+ - lib/shadcn/rails/engine.rb
494
+ - lib/shadcn/rails/helpers/class_name_helper.rb
495
+ - lib/shadcn/rails/helpers/component_helper.rb
496
+ - lib/shadcn/rails/helpers/pagination_helper.rb
497
+ - lib/shadcn/rails/version.rb
498
+ - package-lock.json
499
+ - package.json
500
+ - rollup.config.js
501
+ - sig/shadcn/rails.rbs
502
+ homepage: https://github.com/iheanyi/shadcn-rails
503
+ licenses:
504
+ - MIT
505
+ metadata:
506
+ homepage_uri: https://github.com/iheanyi/shadcn-rails
507
+ source_code_uri: https://github.com/iheanyi/shadcn-rails
508
+ changelog_uri: https://github.com/iheanyi/shadcn-rails/blob/main/CHANGELOG.md
509
+ rdoc_options: []
510
+ require_paths:
511
+ - lib
512
+ required_ruby_version: !ruby/object:Gem::Requirement
513
+ requirements:
514
+ - - ">="
515
+ - !ruby/object:Gem::Version
516
+ version: 3.1.0
517
+ required_rubygems_version: !ruby/object:Gem::Requirement
518
+ requirements:
519
+ - - ">="
520
+ - !ruby/object:Gem::Version
521
+ version: '0'
522
+ requirements: []
523
+ rubygems_version: 3.7.2
524
+ specification_version: 4
525
+ summary: Beautiful, accessible UI components for Rails using ViewComponents and Stimulus
526
+ test_files: []