shadcn-ui 0.0.1 → 0.0.2
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.
- checksums.yaml +4 -4
- data/.prettierrc.json +6 -0
- data/README.md +260 -0
- data/app/assets/stylesheets/application.tailwind.css +101 -0
- data/app/controllers/components_controller.rb +1 -1
- data/app/controllers/documentation_controller.rb +9 -0
- data/app/helpers/application_helper.rb +19 -0
- data/app/helpers/components/card_helper.rb +1 -1
- data/app/helpers/components/filter_helper.rb +12 -0
- data/app/helpers/components/input_helper.rb +21 -0
- data/app/helpers/components/label_helper.rb +5 -0
- data/app/helpers/components/list_helper.rb +15 -0
- data/app/helpers/components/progress_helper.rb +5 -0
- data/app/helpers/components/sheet_helper.rb +20 -0
- data/app/helpers/components/skeleton_helper.rb +5 -0
- data/app/helpers/components/slider_helper.rb +5 -0
- data/app/helpers/documentation_helper.rb +2 -0
- data/app/javascript/controllers/theme_controller.js +25 -0
- data/app/javascript/controllers/ui/dialog_controller.js +3 -1
- data/app/javascript/controllers/ui/dropdown_controller.js +2 -22
- data/app/javascript/controllers/ui/filter_controller.js +20 -0
- data/app/javascript/controllers/ui/popover_controller.js +29 -1
- data/app/javascript/controllers/ui/sheet_controller.js +33 -0
- data/app/javascript/controllers/ui/slider_controller.js +14 -0
- data/app/javascript/controllers/ui/tooltip_controller.js +1 -1
- data/app/views/application/index.html.erb +122 -0
- data/app/views/components/ui/_alert_dialog.html.erb +1 -1
- data/app/views/components/ui/_card.html.erb +2 -2
- data/app/views/components/ui/_checkbox.html.erb +1 -6
- data/app/views/components/ui/_command.html.erb +0 -0
- data/app/views/components/ui/_dialog.html.erb +1 -1
- data/app/views/components/ui/_filter.html.erb +14 -0
- data/app/views/components/ui/_input.html.erb +8 -0
- data/app/views/components/ui/_label.html.erb +3 -0
- data/app/views/components/ui/_list.html.erb +5 -0
- data/app/views/components/ui/_progress.html.erb +15 -0
- data/app/views/components/ui/_sheet.html.erb +44 -0
- data/app/views/components/ui/_skeleton.html.erb +1 -0
- data/app/views/components/ui/_slider.html.erb +2 -0
- data/app/views/components/ui/_textarea.html.erb +1 -1
- data/app/views/components/ui/shared/{_dialog_background.html.erb → _backdrop.html.erb} +1 -0
- data/app/views/components/ui/svg/_check.html.erb +11 -0
- data/app/views/documentation/about.html.md +20 -0
- data/app/views/documentation/index.html.erb.bak +70 -0
- data/app/views/documentation/index.html.md +15 -0
- data/app/views/documentation/installation.html.md +249 -0
- data/app/views/examples/components/filter.html.erb +25 -0
- data/app/views/examples/components/input.html.erb +18 -0
- data/app/views/examples/components/label.html.erb +13 -0
- data/app/views/examples/components/progress.html.erb +12 -0
- data/app/views/examples/components/sheet.html.erb +19 -0
- data/app/views/examples/components/skeleton.html.erb +12 -0
- data/app/views/examples/components/slider.html.erb +12 -0
- data/app/views/layouts/application.html.erb +2 -3
- data/app/views/layouts/component.html.erb +2 -2
- data/app/views/layouts/documentation.html.erb +39 -0
- data/app/views/layouts/shared/_components.html.erb +61 -0
- data/app/views/layouts/shared/_header.html.erb +25 -33
- data/app/views/layouts/shared/_sidebar.html.erb +10 -0
- data/config/application.rb +2 -1
- data/config/importmap.rb +6 -6
- data/config/initializers/markdown.rb +24 -0
- data/config/routes.rb +7 -1
- data/lib/components.json +301 -0
- data/lib/generators/shadcn_ui_generator.rb +64 -15
- data/lib/shadcn-ui/version.rb +1 -1
- data/public/accordion.png +0 -0
- metadata +44 -4
- data/app/views/layouts/_sidebar.html.erb +0 -270
@@ -0,0 +1,24 @@
|
|
1
|
+
require "redcarpet"
|
2
|
+
require "rouge"
|
3
|
+
require "rouge/plugins/redcarpet"
|
4
|
+
|
5
|
+
class HTML < Redcarpet::Render::HTML
|
6
|
+
include Rouge::Plugins::Redcarpet # yep, that's it.
|
7
|
+
end
|
8
|
+
|
9
|
+
# config/initializers/markdown.rb
|
10
|
+
|
11
|
+
# We define a module that can parse markdown to HTML with its `call` method
|
12
|
+
module MarkdownHandler
|
13
|
+
def self.erb
|
14
|
+
@erb ||= ActionView::Template.registered_template_handler(:erb)
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.call(template, source)
|
18
|
+
compiled_source = erb.call(template, source)
|
19
|
+
"Redcarpet::Markdown.new(Redcarpet::Render::HTML.new(with_toc_data: true), extensions = {fenced_code_blocks: true}).render(begin;#{compiled_source};end).html_safe"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# Now we tell Rails to process any files with the `.md` extension using our new MarkdownHandler
|
24
|
+
ActionView::Template.register_template_handler :md, MarkdownHandler
|
data/config/routes.rb
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
2
|
# Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html
|
3
|
+
|
3
4
|
get "/examples/:example", to: "application#examples", as: :example
|
4
|
-
get "/docs
|
5
|
+
get "/docs/components/:component", to: "components#show", as: :component
|
6
|
+
get "/docs/components", to: redirect("/docs/components/accordion")
|
7
|
+
get "/components", to: redirect("/docs/components/accordion"), as: :components
|
8
|
+
get "/docs/:id" => "documentation#show", :as => :documentation, :format => false
|
9
|
+
get "/docs", to: "documentation#index", as: :documentation_index
|
10
|
+
|
5
11
|
# Defines the root path route ("/")
|
6
12
|
root "application#index"
|
7
13
|
end
|
data/lib/components.json
ADDED
@@ -0,0 +1,301 @@
|
|
1
|
+
{
|
2
|
+
"accordion": {
|
3
|
+
"name": "accordion",
|
4
|
+
"type": "components:ui",
|
5
|
+
"files": [
|
6
|
+
"app/helpers/components/accordion_helper.rb",
|
7
|
+
"app/views/components/ui/_accordion.html.erb",
|
8
|
+
"app/javascript/controllers/ui/accordion_controller.js"
|
9
|
+
]
|
10
|
+
},
|
11
|
+
"alert": {
|
12
|
+
"name": "alert",
|
13
|
+
"type": "components:ui",
|
14
|
+
"files": [
|
15
|
+
"app/helpers/components/alert_helper.rb",
|
16
|
+
"app/views/components/ui/_alert.html.erb",
|
17
|
+
"app/javascript/controllers/ui/alert_controller.js"
|
18
|
+
]
|
19
|
+
},
|
20
|
+
"alert-dialog": {
|
21
|
+
"name": "alert-dialog",
|
22
|
+
"type": "components:ui",
|
23
|
+
"files": [
|
24
|
+
"app/helpers/components/alert-dialog_helper.rb",
|
25
|
+
"app/views/components/ui/_alert-dialog.html.erb",
|
26
|
+
"app/javascript/controllers/ui/alert-dialog_controller.js"
|
27
|
+
]
|
28
|
+
},
|
29
|
+
"badge": {
|
30
|
+
"name": "badge",
|
31
|
+
"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
|
+
]
|
37
|
+
},
|
38
|
+
"button": {
|
39
|
+
"name": "button",
|
40
|
+
"type": "components:ui",
|
41
|
+
"files": [
|
42
|
+
"app/helpers/components/button_helper.rb",
|
43
|
+
"app/views/components/ui/_button.html.erb",
|
44
|
+
"app/javascript/controllers/ui/button_controller.js"
|
45
|
+
]
|
46
|
+
},
|
47
|
+
"card": {
|
48
|
+
"name": "card",
|
49
|
+
"type": "components:ui",
|
50
|
+
"files": [
|
51
|
+
"app/helpers/components/card_helper.rb",
|
52
|
+
"app/views/components/ui/_card.html.erb",
|
53
|
+
"app/javascript/controllers/ui/card_controller.js"
|
54
|
+
]
|
55
|
+
},
|
56
|
+
"checkbox": {
|
57
|
+
"name": "checkbox",
|
58
|
+
"type": "components:ui",
|
59
|
+
"files": [
|
60
|
+
"app/helpers/components/checkbox_helper.rb",
|
61
|
+
"app/views/components/ui/_checkbox.html.erb",
|
62
|
+
"app/javascript/controllers/ui/checkbox_controller.js"
|
63
|
+
]
|
64
|
+
},
|
65
|
+
"collapsible": {
|
66
|
+
"name": "collapsible",
|
67
|
+
"type": "components:ui",
|
68
|
+
"files": [
|
69
|
+
"app/helpers/components/collapsible_helper.rb",
|
70
|
+
"app/views/components/ui/_collapsible.html.erb",
|
71
|
+
"app/javascript/controllers/ui/collapsible_controller.js"
|
72
|
+
]
|
73
|
+
},
|
74
|
+
"command": {
|
75
|
+
"name": "command",
|
76
|
+
"type": "components:ui",
|
77
|
+
"files": [
|
78
|
+
"app/helpers/components/command_helper.rb",
|
79
|
+
"app/views/components/ui/_command.html.erb",
|
80
|
+
"app/javascript/controllers/ui/command_controller.js"
|
81
|
+
]
|
82
|
+
},
|
83
|
+
"context-menu": {
|
84
|
+
"name": "context-menu",
|
85
|
+
"type": "components:ui",
|
86
|
+
"files": [
|
87
|
+
"app/helpers/components/context-menu_helper.rb",
|
88
|
+
"app/views/components/ui/_context-menu.html.erb",
|
89
|
+
"app/javascript/controllers/ui/context-menu_controller.js"
|
90
|
+
]
|
91
|
+
},
|
92
|
+
"dialog": {
|
93
|
+
"name": "dialog",
|
94
|
+
"type": "components:ui",
|
95
|
+
"files": [
|
96
|
+
"app/helpers/components/dialog_helper.rb",
|
97
|
+
"app/views/components/ui/_dialog.html.erb",
|
98
|
+
"app/javascript/controllers/ui/dialog_controller.js"
|
99
|
+
]
|
100
|
+
},
|
101
|
+
"dropdown-menu": {
|
102
|
+
"name": "dropdown-menu",
|
103
|
+
"type": "components:ui",
|
104
|
+
"files": [
|
105
|
+
"app/helpers/components/dropdown-menu_helper.rb",
|
106
|
+
"app/views/components/ui/_dropdown-menu.html.erb",
|
107
|
+
"app/javascript/controllers/ui/dropdown-menu_controller.js"
|
108
|
+
]
|
109
|
+
},
|
110
|
+
"hover-card": {
|
111
|
+
"name": "hover-card",
|
112
|
+
"type": "components:ui",
|
113
|
+
"files": [
|
114
|
+
"app/helpers/components/hover-card_helper.rb",
|
115
|
+
"app/views/components/ui/_hover-card.html.erb",
|
116
|
+
"app/javascript/controllers/ui/hover-card_controller.js"
|
117
|
+
]
|
118
|
+
},
|
119
|
+
"input": {
|
120
|
+
"name": "input",
|
121
|
+
"type": "components:ui",
|
122
|
+
"files": [
|
123
|
+
"app/helpers/components/input_helper.rb",
|
124
|
+
"app/views/components/ui/_input.html.erb",
|
125
|
+
"app/javascript/controllers/ui/input_controller.js"
|
126
|
+
]
|
127
|
+
},
|
128
|
+
"label": {
|
129
|
+
"name": "label",
|
130
|
+
"type": "components:ui",
|
131
|
+
"files": [
|
132
|
+
"app/helpers/components/label_helper.rb",
|
133
|
+
"app/views/components/ui/_label.html.erb",
|
134
|
+
"app/javascript/controllers/ui/label_controller.js"
|
135
|
+
]
|
136
|
+
},
|
137
|
+
"menubar": {
|
138
|
+
"name": "menubar",
|
139
|
+
"type": "components:ui",
|
140
|
+
"files": [
|
141
|
+
"app/helpers/components/menubar_helper.rb",
|
142
|
+
"app/views/components/ui/_menubar.html.erb",
|
143
|
+
"app/javascript/controllers/ui/menubar_controller.js"
|
144
|
+
]
|
145
|
+
},
|
146
|
+
"navigation-menu": {
|
147
|
+
"name": "navigation-menu",
|
148
|
+
"type": "components:ui",
|
149
|
+
"files": [
|
150
|
+
"app/helpers/components/navigation-menu_helper.rb",
|
151
|
+
"app/views/components/ui/_navigation-menu.html.erb",
|
152
|
+
"app/javascript/controllers/ui/navigation-menu_controller.js"
|
153
|
+
]
|
154
|
+
},
|
155
|
+
"popover": {
|
156
|
+
"name": "popover",
|
157
|
+
"type": "components:ui",
|
158
|
+
"files": [
|
159
|
+
"app/helpers/components/popover_helper.rb",
|
160
|
+
"app/views/components/ui/_popover.html.erb",
|
161
|
+
"app/javascript/controllers/ui/popover_controller.js"
|
162
|
+
]
|
163
|
+
},
|
164
|
+
"progress": {
|
165
|
+
"name": "progress",
|
166
|
+
"type": "components:ui",
|
167
|
+
"files": [
|
168
|
+
"app/helpers/components/progress_helper.rb",
|
169
|
+
"app/views/components/ui/_progress.html.erb",
|
170
|
+
"app/javascript/controllers/ui/progress_controller.js"
|
171
|
+
]
|
172
|
+
},
|
173
|
+
"radio-group": {
|
174
|
+
"name": "radio-group",
|
175
|
+
"type": "components:ui",
|
176
|
+
"files": [
|
177
|
+
"app/helpers/components/radio-group_helper.rb",
|
178
|
+
"app/views/components/ui/_radio-group.html.erb",
|
179
|
+
"app/javascript/controllers/ui/radio-group_controller.js"
|
180
|
+
]
|
181
|
+
},
|
182
|
+
"scroll-area": {
|
183
|
+
"name": "scroll-area",
|
184
|
+
"type": "components:ui",
|
185
|
+
"files": [
|
186
|
+
"app/helpers/components/scroll-area_helper.rb",
|
187
|
+
"app/views/components/ui/_scroll-area.html.erb",
|
188
|
+
"app/javascript/controllers/ui/scroll-area_controller.js"
|
189
|
+
]
|
190
|
+
},
|
191
|
+
"select": {
|
192
|
+
"name": "select",
|
193
|
+
"type": "components:ui",
|
194
|
+
"files": [
|
195
|
+
"app/helpers/components/select_helper.rb",
|
196
|
+
"app/views/components/ui/_select.html.erb",
|
197
|
+
"app/javascript/controllers/ui/select_controller.js"
|
198
|
+
]
|
199
|
+
},
|
200
|
+
"separator": {
|
201
|
+
"name": "separator",
|
202
|
+
"type": "components:ui",
|
203
|
+
"files": [
|
204
|
+
"app/helpers/components/separator_helper.rb",
|
205
|
+
"app/views/components/ui/_separator.html.erb",
|
206
|
+
"app/javascript/controllers/ui/separator_controller.js"
|
207
|
+
]
|
208
|
+
},
|
209
|
+
"sheet": {
|
210
|
+
"name": "sheet",
|
211
|
+
"type": "components:ui",
|
212
|
+
"files": [
|
213
|
+
"app/helpers/components/sheet_helper.rb",
|
214
|
+
"app/views/components/ui/_sheet.html.erb",
|
215
|
+
"app/javascript/controllers/ui/sheet_controller.js"
|
216
|
+
]
|
217
|
+
},
|
218
|
+
"skeleton": {
|
219
|
+
"name": "skeleton",
|
220
|
+
"type": "components:ui",
|
221
|
+
"files": [
|
222
|
+
"app/helpers/components/skeleton_helper.rb",
|
223
|
+
"app/views/components/ui/_skeleton.html.erb",
|
224
|
+
"app/javascript/controllers/ui/skeleton_controller.js"
|
225
|
+
]
|
226
|
+
},
|
227
|
+
"slider": {
|
228
|
+
"name": "slider",
|
229
|
+
"type": "components:ui",
|
230
|
+
"files": [
|
231
|
+
"app/helpers/components/slider_helper.rb",
|
232
|
+
"app/views/components/ui/_slider.html.erb",
|
233
|
+
"app/javascript/controllers/ui/slider_controller.js"
|
234
|
+
]
|
235
|
+
},
|
236
|
+
"switch": {
|
237
|
+
"name": "switch",
|
238
|
+
"type": "components:ui",
|
239
|
+
"files": [
|
240
|
+
"app/helpers/components/switch_helper.rb",
|
241
|
+
"app/views/components/ui/_switch.html.erb",
|
242
|
+
"app/javascript/controllers/ui/switch_controller.js"
|
243
|
+
]
|
244
|
+
},
|
245
|
+
"table": {
|
246
|
+
"name": "table",
|
247
|
+
"type": "components:ui",
|
248
|
+
"files": [
|
249
|
+
"app/helpers/components/table_helper.rb",
|
250
|
+
"app/views/components/ui/_table.html.erb",
|
251
|
+
"app/javascript/controllers/ui/table_controller.js"
|
252
|
+
]
|
253
|
+
},
|
254
|
+
"tabs": {
|
255
|
+
"name": "tabs",
|
256
|
+
"type": "components:ui",
|
257
|
+
"files": [
|
258
|
+
"app/helpers/components/tabs_helper.rb",
|
259
|
+
"app/views/components/ui/_tabs.html.erb",
|
260
|
+
"app/javascript/controllers/ui/tabs_controller.js"
|
261
|
+
]
|
262
|
+
},
|
263
|
+
"textarea": {
|
264
|
+
"name": "textarea",
|
265
|
+
"type": "components:ui",
|
266
|
+
"files": [
|
267
|
+
"app/helpers/components/textarea_helper.rb",
|
268
|
+
"app/views/components/ui/_textarea.html.erb",
|
269
|
+
"app/javascript/controllers/ui/textarea_controller.js"
|
270
|
+
]
|
271
|
+
},
|
272
|
+
"toast": {
|
273
|
+
"name": "toast",
|
274
|
+
"type": "components:ui",
|
275
|
+
"files": [
|
276
|
+
"app/helpers/components/toast_helper.rb",
|
277
|
+
"app/views/components/ui/_toast.html.erb",
|
278
|
+
"app/javascript/controllers/ui/toast_controller.js",
|
279
|
+
"app/javascript/controllers/ui/use-toast.js",
|
280
|
+
"app/javascript/controllers/ui/toaster.js"
|
281
|
+
]
|
282
|
+
},
|
283
|
+
"toggle": {
|
284
|
+
"name": "toggle",
|
285
|
+
"type": "components:ui",
|
286
|
+
"files": [
|
287
|
+
"app/helpers/components/toggle_helper.rb",
|
288
|
+
"app/views/components/ui/_toggle.html.erb",
|
289
|
+
"app/javascript/controllers/ui/toggle_controller.js"
|
290
|
+
]
|
291
|
+
},
|
292
|
+
"tooltip": {
|
293
|
+
"name": "tooltip",
|
294
|
+
"type": "components:ui",
|
295
|
+
"files": [
|
296
|
+
"app/helpers/components/tooltip_helper.rb",
|
297
|
+
"app/views/components/ui/_tooltip.html.erb",
|
298
|
+
"app/javascript/controllers/ui/tooltip_controller.js"
|
299
|
+
]
|
300
|
+
}
|
301
|
+
}
|
@@ -1,32 +1,81 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require "json"
|
3
2
|
require "rails/generators/base"
|
4
3
|
|
5
4
|
class ShadcnUiGenerator < Rails::Generators::Base
|
6
|
-
|
5
|
+
attr_reader :component_name, :target_rails_root, :options
|
7
6
|
|
8
|
-
argument :component, required:
|
9
|
-
|
7
|
+
argument :component, required: false, desc: "The name of the component to install"
|
8
|
+
argument :rails_root, required: false, desc: "Path to the Rails root directory"
|
10
9
|
|
11
|
-
def
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
def self.banner
|
11
|
+
"rails generate shadcn_ui <component_name>[:install] [--remove] [rails_root_path]"
|
12
|
+
end
|
13
|
+
|
14
|
+
def initialize(args, *options)
|
15
|
+
super
|
16
|
+
|
17
|
+
@component_name = component
|
18
|
+
@target_rails_root = rails_root || Rails.root
|
19
|
+
@options = options.first
|
20
|
+
start
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def start
|
26
|
+
if component_valid?
|
15
27
|
copy_files
|
28
|
+
else
|
29
|
+
display_available_components
|
16
30
|
end
|
17
31
|
end
|
18
32
|
|
19
|
-
|
33
|
+
def available_components
|
34
|
+
if !@available_components
|
35
|
+
gem_lib_path = File.expand_path("../../lib", __dir__)
|
36
|
+
components_file = File.read(File.join(gem_lib_path, "components.json"))
|
37
|
+
@available_components = JSON.parse(components_file)
|
38
|
+
else
|
39
|
+
@available_components
|
40
|
+
end
|
41
|
+
end
|
20
42
|
|
21
|
-
def
|
22
|
-
|
43
|
+
def display_available_components
|
44
|
+
puts self.class.banner
|
45
|
+
puts "\nAvailable components:"
|
46
|
+
|
47
|
+
available_components.each do |component, _|
|
48
|
+
description = "# A #{component} component"
|
49
|
+
banner_line = "rails g shadcn_ui #{component}:install #{" " * (20 - component.length)} #{description}"
|
50
|
+
puts banner_line
|
51
|
+
end
|
23
52
|
end
|
24
53
|
|
25
|
-
def
|
26
|
-
|
54
|
+
def copy_files
|
55
|
+
if component_valid?
|
56
|
+
component_data["files"].each do |file|
|
57
|
+
source_path = File.expand_path(File.join("../../", file), __dir__)
|
58
|
+
destination_path = File.expand_path(File.join(target_rails_root, file))
|
59
|
+
|
60
|
+
FileUtils.mkdir_p(File.dirname(destination_path))
|
61
|
+
FileUtils.cp(source_path, destination_path)
|
62
|
+
end
|
63
|
+
end
|
27
64
|
end
|
28
65
|
|
29
66
|
def destination_file_path
|
30
|
-
"app/views/components
|
67
|
+
File.join(@rails_root, "app/views/components/ui/_#{component}.html.erb")
|
68
|
+
end
|
69
|
+
|
70
|
+
def controller_file_path
|
71
|
+
File.join(@rails_root, "app/javascript/controllers/ui/#{component}_controller.js")
|
72
|
+
end
|
73
|
+
|
74
|
+
def component_data
|
75
|
+
@component_data ||= available_components[component]
|
76
|
+
end
|
77
|
+
|
78
|
+
def component_valid?
|
79
|
+
component.present? && available_components.key?(component) && component_data
|
31
80
|
end
|
32
81
|
end
|
data/lib/shadcn-ui/version.rb
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shadcn-ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
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-
|
11
|
+
date: 2023-07-12 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: This gem is a documentation site and gem that will copy components from
|
14
14
|
the shadcn-ui library into a Ruby on Rails application.
|
@@ -41,6 +41,7 @@ files:
|
|
41
41
|
- app/controllers/application_controller.rb
|
42
42
|
- app/controllers/components_controller.rb
|
43
43
|
- app/controllers/concerns/.keep
|
44
|
+
- app/controllers/documentation_controller.rb
|
44
45
|
- app/helpers/application_helper.rb
|
45
46
|
- app/helpers/components/accordion_helper.rb
|
46
47
|
- app/helpers/components/alert_dialog_helper.rb
|
@@ -52,14 +53,23 @@ files:
|
|
52
53
|
- app/helpers/components/collapsible_helper.rb
|
53
54
|
- app/helpers/components/dialog_helper.rb
|
54
55
|
- app/helpers/components/dropdown_menu_helper.rb
|
56
|
+
- app/helpers/components/filter_helper.rb
|
55
57
|
- app/helpers/components/hover_card_helper.rb
|
58
|
+
- app/helpers/components/input_helper.rb
|
59
|
+
- app/helpers/components/label_helper.rb
|
60
|
+
- app/helpers/components/list_helper.rb
|
56
61
|
- app/helpers/components/popover_helper.rb
|
62
|
+
- app/helpers/components/progress_helper.rb
|
57
63
|
- app/helpers/components/seperator_helper.rb
|
64
|
+
- app/helpers/components/sheet_helper.rb
|
65
|
+
- app/helpers/components/skeleton_helper.rb
|
66
|
+
- app/helpers/components/slider_helper.rb
|
58
67
|
- app/helpers/components/textarea_helper.rb
|
59
68
|
- app/helpers/components/toast_helper.rb
|
60
69
|
- app/helpers/components/toggle_helper.rb
|
61
70
|
- app/helpers/components/tooltip_helper.rb
|
62
71
|
- app/helpers/components_helper.rb
|
72
|
+
- app/helpers/documentation_helper.rb
|
63
73
|
- app/helpers/examples_helper.rb
|
64
74
|
- app/javascript/application.js
|
65
75
|
- app/javascript/controllers/application.js
|
@@ -67,13 +77,17 @@ files:
|
|
67
77
|
- app/javascript/controllers/highlight_controller.js
|
68
78
|
- app/javascript/controllers/index.js
|
69
79
|
- app/javascript/controllers/tabs_controller.js
|
80
|
+
- app/javascript/controllers/theme_controller.js
|
70
81
|
- app/javascript/controllers/ui/accordion_controller.js
|
71
82
|
- app/javascript/controllers/ui/checkbox_controller.js
|
72
83
|
- app/javascript/controllers/ui/collapsible_controller.js
|
73
84
|
- app/javascript/controllers/ui/dialog_controller.js
|
74
85
|
- app/javascript/controllers/ui/dropdown_controller.js
|
86
|
+
- app/javascript/controllers/ui/filter_controller.js
|
75
87
|
- app/javascript/controllers/ui/hover-card_controller.js
|
76
88
|
- app/javascript/controllers/ui/popover_controller.js
|
89
|
+
- app/javascript/controllers/ui/sheet_controller.js
|
90
|
+
- app/javascript/controllers/ui/slider_controller.js
|
77
91
|
- app/javascript/controllers/ui/toast_controller.js
|
78
92
|
- app/javascript/controllers/ui/toggle_controller.js
|
79
93
|
- app/javascript/controllers/ui/tooltip_controller.js
|
@@ -91,17 +105,31 @@ files:
|
|
91
105
|
- app/views/components/ui/_card.html.erb
|
92
106
|
- app/views/components/ui/_checkbox.html.erb
|
93
107
|
- app/views/components/ui/_collapsible.html.erb
|
108
|
+
- app/views/components/ui/_command.html.erb
|
94
109
|
- app/views/components/ui/_dialog.html.erb
|
95
110
|
- app/views/components/ui/_dropdown_menu.html.erb
|
111
|
+
- app/views/components/ui/_filter.html.erb
|
96
112
|
- app/views/components/ui/_hover_card.html.erb
|
113
|
+
- app/views/components/ui/_input.html.erb
|
114
|
+
- app/views/components/ui/_label.html.erb
|
115
|
+
- app/views/components/ui/_list.html.erb
|
97
116
|
- app/views/components/ui/_popover.html.erb
|
117
|
+
- app/views/components/ui/_progress.html.erb
|
98
118
|
- app/views/components/ui/_separator.html.erb
|
119
|
+
- app/views/components/ui/_sheet.html.erb
|
120
|
+
- app/views/components/ui/_skeleton.html.erb
|
121
|
+
- app/views/components/ui/_slider.html.erb
|
99
122
|
- app/views/components/ui/_textarea.html.erb
|
100
123
|
- app/views/components/ui/_toast.html.erb
|
101
124
|
- app/views/components/ui/_toggle.html.erb
|
102
125
|
- app/views/components/ui/_tooltip.html.erb
|
103
|
-
- app/views/components/ui/shared/
|
126
|
+
- app/views/components/ui/shared/_backdrop.html.erb
|
104
127
|
- app/views/components/ui/shared/_menu_item.html.erb
|
128
|
+
- app/views/components/ui/svg/_check.html.erb
|
129
|
+
- app/views/documentation/about.html.md
|
130
|
+
- app/views/documentation/index.html.erb.bak
|
131
|
+
- app/views/documentation/index.html.md
|
132
|
+
- app/views/documentation/installation.html.md
|
105
133
|
- app/views/examples/authentication/index.html.erb
|
106
134
|
- app/views/examples/components/accordion.html.erb
|
107
135
|
- app/views/examples/components/alert-dialog.html.erb
|
@@ -118,23 +146,32 @@ files:
|
|
118
146
|
- app/views/examples/components/dialog/code/preview.erb
|
119
147
|
- app/views/examples/components/dialog/code/usage.erb
|
120
148
|
- app/views/examples/components/dropdown-menu.html.erb
|
149
|
+
- app/views/examples/components/filter.html.erb
|
121
150
|
- app/views/examples/components/hover-card.html.erb
|
151
|
+
- app/views/examples/components/input.html.erb
|
152
|
+
- app/views/examples/components/label.html.erb
|
122
153
|
- app/views/examples/components/popover.html.erb
|
154
|
+
- app/views/examples/components/progress.html.erb
|
123
155
|
- app/views/examples/components/separator.html.erb
|
156
|
+
- app/views/examples/components/sheet.html.erb
|
157
|
+
- app/views/examples/components/skeleton.html.erb
|
158
|
+
- app/views/examples/components/slider.html.erb
|
124
159
|
- app/views/examples/components/textarea.html.erb
|
125
160
|
- app/views/examples/components/toast.html.erb
|
126
161
|
- app/views/examples/components/toggle.html.erb
|
127
162
|
- app/views/examples/components/tooltip.html.erb
|
128
|
-
- app/views/layouts/_sidebar.html.erb
|
129
163
|
- app/views/layouts/application.html.erb
|
130
164
|
- app/views/layouts/component.html.erb
|
165
|
+
- app/views/layouts/documentation.html.erb
|
131
166
|
- app/views/layouts/documentation/_breadcrumb.html.erb
|
132
167
|
- app/views/layouts/documentation/_component_header.html.erb
|
133
168
|
- app/views/layouts/documentation/_examples.html.erb
|
134
169
|
- app/views/layouts/documentation/_preview.html.erb
|
135
170
|
- app/views/layouts/mailer.html.erb
|
136
171
|
- app/views/layouts/mailer.text.erb
|
172
|
+
- app/views/layouts/shared/_components.html.erb
|
137
173
|
- app/views/layouts/shared/_header.html.erb
|
174
|
+
- app/views/layouts/shared/_sidebar.html.erb
|
138
175
|
- config.ru
|
139
176
|
- config/application.rb
|
140
177
|
- config/boot.rb
|
@@ -150,6 +187,7 @@ files:
|
|
150
187
|
- config/initializers/content_security_policy.rb
|
151
188
|
- config/initializers/filter_parameter_logging.rb
|
152
189
|
- config/initializers/inflections.rb
|
190
|
+
- config/initializers/markdown.rb
|
153
191
|
- config/initializers/permissions_policy.rb
|
154
192
|
- config/locales/en.yml
|
155
193
|
- config/puma.rb
|
@@ -159,6 +197,7 @@ files:
|
|
159
197
|
- config/tailwind.config.js
|
160
198
|
- db/seeds.rb
|
161
199
|
- lib/assets/.keep
|
200
|
+
- lib/components.json
|
162
201
|
- lib/generators/shadcn_ui_generator.rb
|
163
202
|
- lib/shadcn-ui/shadcn-ui.rb
|
164
203
|
- lib/shadcn-ui/version.rb
|
@@ -169,6 +208,7 @@ files:
|
|
169
208
|
- public/404.html
|
170
209
|
- public/422.html
|
171
210
|
- public/500.html
|
211
|
+
- public/accordion.png
|
172
212
|
- public/android-chrome-192x192.png
|
173
213
|
- public/android-chrome-512x512.png
|
174
214
|
- public/apple-touch-icon-precomposed.png
|