shadcn-ui 0.0.4 → 0.0.8

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -314
  3. data/Rakefile +90 -0
  4. data/app/assets/stylesheets/shadcn.css +9 -1
  5. data/app/controllers/components_controller.rb +1 -0
  6. data/app/controllers/users_controller.rb +19 -0
  7. data/app/form_builders/shadcn_form_builder.rb +43 -0
  8. data/app/helpers/application_helper.rb +5 -0
  9. data/app/helpers/components/alert_dialog_helper.rb +19 -3
  10. data/app/helpers/components/alert_helper.rb +7 -3
  11. data/app/helpers/components/badge_helper.rb +4 -1
  12. data/app/helpers/components/combobox_helper.rb +10 -0
  13. data/app/helpers/components/forms_helper.rb +13 -0
  14. data/app/helpers/components/input_helper.rb +14 -4
  15. data/app/helpers/components/{seperator_helper.rb → separator_helper.rb} +1 -1
  16. data/app/helpers/components/slider_helper.rb +1 -1
  17. data/app/helpers/components/switch_helper.rb +5 -0
  18. data/app/helpers/components/tabs_helper.rb +29 -0
  19. data/app/helpers/components/toast_helper.rb +4 -1
  20. data/app/helpers/components_helper.rb +11 -5
  21. data/app/javascript/controllers/ui/dialog_controller.js +1 -1
  22. data/app/javascript/controllers/ui/dropdown_controller.js +1 -1
  23. data/app/javascript/controllers/ui/hover-card_controller.js +2 -3
  24. data/app/javascript/controllers/ui/popover_controller.js +2 -2
  25. data/app/javascript/controllers/ui/sheet_controller.js +1 -1
  26. data/app/javascript/controllers/ui/switch_controller.js +25 -0
  27. data/app/javascript/controllers/{tabs_controller.js → ui/tabs_controller.js} +2 -2
  28. data/app/javascript/controllers/ui/toast_controller.js +50 -23
  29. data/app/javascript/controllers/ui/transition_controller.js +1 -1
  30. data/app/models/user.rb +9 -0
  31. data/app/views/application/index.html.erb +1 -1
  32. data/app/views/components/ui/_alert_dialog.html.erb +10 -6
  33. data/app/views/components/ui/_combobox.html.erb +11 -0
  34. data/app/views/components/ui/_dialog.html.erb +0 -26
  35. data/app/views/components/ui/_filter.html.erb +1 -1
  36. data/app/views/components/ui/_input.html.erb +3 -0
  37. data/app/views/components/ui/_label.html.erb +1 -1
  38. data/app/views/components/ui/_popover.html.erb +1 -1
  39. data/app/views/components/ui/_slider.html.erb +5 -1
  40. data/app/views/components/ui/_switch.html.erb +25 -0
  41. data/app/views/components/ui/_tabs.html.erb +13 -0
  42. data/app/views/components/ui/_toast.html.erb +8 -4
  43. data/app/views/components/ui/tabs/_panel.html.erb +8 -0
  44. data/app/views/components/ui/tabs/_tab.html.erb +10 -0
  45. data/app/views/documentation/installation.html.md +1 -1
  46. data/app/views/examples/components/accordion/code/_preview.erb +11 -3
  47. data/app/views/examples/components/accordion/code/_usage.erb +2 -2
  48. data/app/views/examples/components/alert/code/_no_icon.erb +1 -1
  49. data/app/views/examples/components/alert-dialog/_usage.html.erb +24 -0
  50. data/app/views/examples/components/alert-dialog/code/_preview.erb +22 -6
  51. data/app/views/examples/components/alert-dialog/code/_usage.erb +13 -0
  52. data/app/views/examples/components/alert-dialog.html.erb +7 -1
  53. data/app/views/examples/components/card/code/_usage.erb +1 -1
  54. data/app/views/examples/components/combobox/_usage.html.erb +11 -0
  55. data/app/views/examples/components/combobox/code/_preview.erb +7 -0
  56. data/app/views/examples/components/combobox/code/_usage.erb +4 -0
  57. data/app/views/examples/components/combobox.html.erb +27 -0
  58. data/app/views/examples/components/forms/_usage.html.erb +28 -0
  59. data/app/views/examples/components/forms/code/_preview.erb +13 -0
  60. data/app/views/examples/components/forms/code/_usage.erb +6 -0
  61. data/app/views/examples/components/forms.html.erb +23 -0
  62. data/app/views/examples/components/slider/code/_preview.erb +2 -1
  63. data/app/views/examples/components/switch/_usage.html.erb +11 -0
  64. data/app/views/examples/components/switch/code/_preview.erb +4 -0
  65. data/app/views/examples/components/switch/code/_usage.erb +1 -0
  66. data/app/views/examples/components/switch.html.erb +27 -0
  67. data/app/views/examples/components/tabs/_usage.html.erb +15 -0
  68. data/app/views/examples/components/tabs/code/_account.html.erb +32 -0
  69. data/app/views/examples/components/tabs/code/_password.html.erb +19 -0
  70. data/app/views/examples/components/tabs/code/_preview.erb +14 -0
  71. data/app/views/examples/components/tabs/code/_usage.erb +12 -0
  72. data/app/views/examples/components/tabs.html.erb +27 -0
  73. data/app/views/examples/components/toast/code/_destructive.erb +6 -0
  74. data/app/views/examples/components/toast/code/_preview.erb +4 -3
  75. data/app/views/examples/components/toast.html.erb +17 -2
  76. data/app/views/layouts/application.html.erb +26 -4
  77. data/app/views/layouts/documentation/_component_header.html.erb +5 -4
  78. data/app/views/layouts/documentation/_examples.html.erb +7 -9
  79. data/app/views/layouts/documentation/_preview.html.erb +5 -5
  80. data/app/views/layouts/shared/_components.html.erb +6 -6
  81. data/config/routes.rb +3 -0
  82. data/lib/components.json +28 -13
  83. data/lib/generators/shadcn-ui_generator.rb +1 -1
  84. data/lib/shadcn-ui/version.rb +1 -1
  85. metadata +53 -9
  86. data/.env +0 -1
  87. data/app/views/components/ui/_badge.html.erb +0 -1
  88. data/app/views/components/ui/_separator.html.erb +0 -4
data/config/routes.rb CHANGED
@@ -8,6 +8,9 @@ Rails.application.routes.draw do
8
8
  get "/docs/:id" => "documentation#show", :as => :documentation, :format => false
9
9
  get "/docs", to: "documentation#index", as: :documentation_index
10
10
 
11
+ # This is just for the forms component
12
+ resources :users
13
+
11
14
  # Defines the root path route ("/")
12
15
  root "application#index"
13
16
  end
data/lib/components.json CHANGED
@@ -24,16 +24,13 @@
24
24
  "app/helpers/components/alert-dialog_helper.rb",
25
25
  "app/views/components/ui/_alert-dialog.html.erb",
26
26
  "app/javascript/controllers/ui/alert-dialog_controller.js"
27
- ]
27
+ ],
28
+ "dependencies": [{ "component": "dialog" }]
28
29
  },
29
30
  "badge": {
30
31
  "name": "badge",
31
32
  "type": "components:ui",
32
- "files": [
33
- "app/helpers/components/badge_helper.rb",
34
- "app/views/components/ui/_badge.html.erb",
35
- "app/javascript/controllers/ui/badge_controller.js"
36
- ]
33
+ "files": ["app/helpers/components/badge_helper.rb"]
37
34
  },
38
35
  "button": {
39
36
  "name": "button",
@@ -71,6 +68,15 @@
71
68
  "app/javascript/controllers/ui/collapsible_controller.js"
72
69
  ]
73
70
  },
71
+ "combobox": {
72
+ "name": "combobox",
73
+ "type": "components:ui",
74
+ "files": [
75
+ "app/helpers/components/combobox_helper.rb",
76
+ "app/views/components/ui/_combobox.html.erb"
77
+ ],
78
+ "dependencies": [{ "component": "popover" }, { "component": "filter" }]
79
+ },
74
80
  "command": {
75
81
  "name": "command",
76
82
  "type": "components:ui",
@@ -111,12 +117,23 @@
111
117
  "app/views/components/ui/shared/_menu_item.html.erb"
112
118
  ]
113
119
  },
120
+ "forms": {
121
+ "name": "forms",
122
+ "type": "components:ui",
123
+ "files": ["app/helpers/components/forms_helper.rb", "app/form_builders/shadcn_form_builder.rb"],
124
+ "dependencies": [
125
+ { "component": "input" },
126
+ { "component": "label" },
127
+ { "component": "textarea" },
128
+ { "component": "button" }
129
+ ]
130
+ },
114
131
  "hover-card": {
115
132
  "name": "hover-card",
116
133
  "type": "components:ui",
117
134
  "files": [
118
- "app/helpers/components/hover-card_helper.rb",
119
- "app/views/components/ui/_hover-card.html.erb",
135
+ "app/helpers/components/hover_card_helper.rb",
136
+ "app/views/components/ui/_hover_card.html.erb",
120
137
  "app/javascript/controllers/ui/hover-card_controller.js"
121
138
  ]
122
139
  },
@@ -204,11 +221,7 @@
204
221
  "separator": {
205
222
  "name": "separator",
206
223
  "type": "components:ui",
207
- "files": [
208
- "app/helpers/components/separator_helper.rb",
209
- "app/views/components/ui/_separator.html.erb",
210
- "app/javascript/controllers/ui/separator_controller.js"
211
- ]
224
+ "files": ["app/helpers/components/separator_helper.rb"]
212
225
  },
213
226
  "sheet": {
214
227
  "name": "sheet",
@@ -261,6 +274,8 @@
261
274
  "files": [
262
275
  "app/helpers/components/tabs_helper.rb",
263
276
  "app/views/components/ui/_tabs.html.erb",
277
+ "app/views/components/ui/tabs/_tab.html.erb",
278
+ "app/views/components/ui/tabs/_panel.html.erb",
264
279
  "app/javascript/controllers/ui/tabs_controller.js"
265
280
  ]
266
281
  },
@@ -67,7 +67,7 @@ class ShadcnUiGenerator < Rails::Generators::Base
67
67
 
68
68
  available_components.each do |component, _|
69
69
  description = "# A #{component} component"
70
- banner_line = "rails g shadcn_ui #{component}:install #{" " * (20 - component.length)} #{description}"
70
+ banner_line = "rails generate shadcn-ui #{component} #{" " * (20 - component.length)} #{description}"
71
71
  puts banner_line
72
72
  end
73
73
  end
@@ -1,3 +1,3 @@
1
1
  module ShadcnUi
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shadcn-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Avi Flombaum
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-18 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2023-08-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: tailwind_merge
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.7'
13
27
  description: This gem is a documentation site and gem that will copy components from
14
28
  the shadcn-ui library into a Ruby on Rails application.
15
29
  email:
@@ -19,7 +33,6 @@ extensions: []
19
33
  extra_rdoc_files: []
20
34
  files:
21
35
  - ".editorconfig"
22
- - ".env"
23
36
  - ".prettierignore"
24
37
  - ".prettierrc.json"
25
38
  - ".rspec"
@@ -44,6 +57,8 @@ files:
44
57
  - app/controllers/components_controller.rb
45
58
  - app/controllers/concerns/.keep
46
59
  - app/controllers/documentation_controller.rb
60
+ - app/controllers/users_controller.rb
61
+ - app/form_builders/shadcn_form_builder.rb
47
62
  - app/helpers/application_helper.rb
48
63
  - app/helpers/components/accordion_helper.rb
49
64
  - app/helpers/components/alert_dialog_helper.rb
@@ -53,19 +68,23 @@ files:
53
68
  - app/helpers/components/card_helper.rb
54
69
  - app/helpers/components/checkbox_helper.rb
55
70
  - app/helpers/components/collapsible_helper.rb
71
+ - app/helpers/components/combobox_helper.rb
56
72
  - app/helpers/components/dialog_helper.rb
57
73
  - app/helpers/components/dropdown_menu_helper.rb
58
74
  - app/helpers/components/filter_helper.rb
75
+ - app/helpers/components/forms_helper.rb
59
76
  - app/helpers/components/hover_card_helper.rb
60
77
  - app/helpers/components/input_helper.rb
61
78
  - app/helpers/components/label_helper.rb
62
79
  - app/helpers/components/list_helper.rb
63
80
  - app/helpers/components/popover_helper.rb
64
81
  - app/helpers/components/progress_helper.rb
65
- - app/helpers/components/seperator_helper.rb
82
+ - app/helpers/components/separator_helper.rb
66
83
  - app/helpers/components/sheet_helper.rb
67
84
  - app/helpers/components/skeleton_helper.rb
68
85
  - app/helpers/components/slider_helper.rb
86
+ - app/helpers/components/switch_helper.rb
87
+ - app/helpers/components/tabs_helper.rb
69
88
  - app/helpers/components/textarea_helper.rb
70
89
  - app/helpers/components/toast_helper.rb
71
90
  - app/helpers/components/toggle_helper.rb
@@ -78,7 +97,6 @@ files:
78
97
  - app/javascript/controllers/hello_controller.js
79
98
  - app/javascript/controllers/highlight_controller.js
80
99
  - app/javascript/controllers/index.js
81
- - app/javascript/controllers/tabs_controller.js
82
100
  - app/javascript/controllers/theme_controller.js
83
101
  - app/javascript/controllers/ui/accordion_controller.js
84
102
  - app/javascript/controllers/ui/checkbox_controller.js
@@ -90,6 +108,8 @@ files:
90
108
  - app/javascript/controllers/ui/popover_controller.js
91
109
  - app/javascript/controllers/ui/sheet_controller.js
92
110
  - app/javascript/controllers/ui/slider_controller.js
111
+ - app/javascript/controllers/ui/switch_controller.js
112
+ - app/javascript/controllers/ui/tabs_controller.js
93
113
  - app/javascript/controllers/ui/toast_controller.js
94
114
  - app/javascript/controllers/ui/toggle_controller.js
95
115
  - app/javascript/controllers/ui/tooltip_controller.js
@@ -98,15 +118,16 @@ files:
98
118
  - app/mailers/application_mailer.rb
99
119
  - app/models/application_record.rb
100
120
  - app/models/concerns/.keep
121
+ - app/models/user.rb
101
122
  - app/views/application/index.html.erb
102
123
  - app/views/components/ui/_accordion.html.erb
103
124
  - app/views/components/ui/_alert.html.erb
104
125
  - app/views/components/ui/_alert_dialog.html.erb
105
- - app/views/components/ui/_badge.html.erb
106
126
  - app/views/components/ui/_button.html.erb
107
127
  - app/views/components/ui/_card.html.erb
108
128
  - app/views/components/ui/_checkbox.html.erb
109
129
  - app/views/components/ui/_collapsible.html.erb
130
+ - app/views/components/ui/_combobox.html.erb
110
131
  - app/views/components/ui/_command.html.erb
111
132
  - app/views/components/ui/_dialog.html.erb
112
133
  - app/views/components/ui/_dropdown_menu.html.erb
@@ -117,10 +138,11 @@ files:
117
138
  - app/views/components/ui/_list.html.erb
118
139
  - app/views/components/ui/_popover.html.erb
119
140
  - app/views/components/ui/_progress.html.erb
120
- - app/views/components/ui/_separator.html.erb
121
141
  - app/views/components/ui/_sheet.html.erb
122
142
  - app/views/components/ui/_skeleton.html.erb
123
143
  - app/views/components/ui/_slider.html.erb
144
+ - app/views/components/ui/_switch.html.erb
145
+ - app/views/components/ui/_tabs.html.erb
124
146
  - app/views/components/ui/_textarea.html.erb
125
147
  - app/views/components/ui/_toast.html.erb
126
148
  - app/views/components/ui/_toggle.html.erb
@@ -128,6 +150,8 @@ files:
128
150
  - app/views/components/ui/shared/_backdrop.html.erb
129
151
  - app/views/components/ui/shared/_menu_item.html.erb
130
152
  - app/views/components/ui/svg/_check.html.erb
153
+ - app/views/components/ui/tabs/_panel.html.erb
154
+ - app/views/components/ui/tabs/_tab.html.erb
131
155
  - app/views/documentation/about.html.md
132
156
  - app/views/documentation/generators.html.md
133
157
  - app/views/documentation/helpers.html.md
@@ -143,6 +167,7 @@ files:
143
167
  - app/views/examples/components/accordion/code/_preview.erb
144
168
  - app/views/examples/components/accordion/code/_usage.erb
145
169
  - app/views/examples/components/alert-dialog.html.erb
170
+ - app/views/examples/components/alert-dialog/_usage.html.erb
146
171
  - app/views/examples/components/alert-dialog/code/_preview.erb
147
172
  - app/views/examples/components/alert-dialog/code/_usage.erb
148
173
  - app/views/examples/components/alert.html.erb
@@ -176,6 +201,10 @@ files:
176
201
  - app/views/examples/components/collapsible/_usage.html.erb
177
202
  - app/views/examples/components/collapsible/code/_preview.erb
178
203
  - app/views/examples/components/collapsible/code/_usage.erb
204
+ - app/views/examples/components/combobox.html.erb
205
+ - app/views/examples/components/combobox/_usage.html.erb
206
+ - app/views/examples/components/combobox/code/_preview.erb
207
+ - app/views/examples/components/combobox/code/_usage.erb
179
208
  - app/views/examples/components/dialog.html.erb
180
209
  - app/views/examples/components/dialog/_usage.html.erb
181
210
  - app/views/examples/components/dialog/code/_form.erb
@@ -191,6 +220,10 @@ files:
191
220
  - app/views/examples/components/filter/code/_icon.html.erb
192
221
  - app/views/examples/components/filter/code/_preview.erb
193
222
  - app/views/examples/components/filter/code/_usage.erb
223
+ - app/views/examples/components/forms.html.erb
224
+ - app/views/examples/components/forms/_usage.html.erb
225
+ - app/views/examples/components/forms/code/_preview.erb
226
+ - app/views/examples/components/forms/code/_usage.erb
194
227
  - app/views/examples/components/hover-card.html.erb
195
228
  - app/views/examples/components/hover-card/_usage.html.erb
196
229
  - app/views/examples/components/hover-card/code/_preview.erb
@@ -231,12 +264,23 @@ files:
231
264
  - app/views/examples/components/slider/_usage.html.erb
232
265
  - app/views/examples/components/slider/code/_preview.erb
233
266
  - app/views/examples/components/slider/code/_usage.erb
267
+ - app/views/examples/components/switch.html.erb
268
+ - app/views/examples/components/switch/_usage.html.erb
269
+ - app/views/examples/components/switch/code/_preview.erb
270
+ - app/views/examples/components/switch/code/_usage.erb
271
+ - app/views/examples/components/tabs.html.erb
272
+ - app/views/examples/components/tabs/_usage.html.erb
273
+ - app/views/examples/components/tabs/code/_account.html.erb
274
+ - app/views/examples/components/tabs/code/_password.html.erb
275
+ - app/views/examples/components/tabs/code/_preview.erb
276
+ - app/views/examples/components/tabs/code/_usage.erb
234
277
  - app/views/examples/components/textarea.html.erb
235
278
  - app/views/examples/components/textarea/_usage.html.erb
236
279
  - app/views/examples/components/textarea/code/_preview.erb
237
280
  - app/views/examples/components/textarea/code/_usage.erb
238
281
  - app/views/examples/components/toast.html.erb
239
282
  - app/views/examples/components/toast/_usage.html.erb
283
+ - app/views/examples/components/toast/code/_destructive.erb
240
284
  - app/views/examples/components/toast/code/_preview.erb
241
285
  - app/views/examples/components/toast/code/_usage.erb
242
286
  - app/views/examples/components/toggle.html.erb
@@ -335,7 +379,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
335
379
  - !ruby/object:Gem::Version
336
380
  version: '0'
337
381
  requirements: []
338
- rubygems_version: 3.4.15
382
+ rubygems_version: 3.4.10
339
383
  signing_key:
340
384
  specification_version: 4
341
385
  summary: Provides the shadcn-ui component library to a Ruby on Rails application.
data/.env DELETED
@@ -1 +0,0 @@
1
- RAILS_MASTER_KEY=1b9d0e6b785b2a5e2648a484f41295cd
@@ -1 +0,0 @@
1
- <div class="<%= badge_classes %>"><%= text %></div>
@@ -1,4 +0,0 @@
1
- <div
2
- data-orientation="horizontal"
3
- role="none"
4
- class="shrink-0 bg-border h-[1px] w-full my-4"></div>