ui_components 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 (64) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/CODE_OF_CONDUCT.md +132 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +43 -0
  6. data/Rakefile +4 -0
  7. data/app/assets/javascripts/ui_components/controllers/clipboard_controller.js +22 -0
  8. data/app/components/documentation/body/example_preview_component.rb +24 -0
  9. data/app/components/documentation/body_component.html.erb +26 -0
  10. data/app/components/documentation/body_component.rb +41 -0
  11. data/app/components/documentation_component.rb +20 -0
  12. data/app/components/ui_components/daisy_ui/action/button_component.rb +83 -0
  13. data/app/components/ui_components/daisy_ui/action/dropdown/anchor_component.rb +35 -0
  14. data/app/components/ui_components/daisy_ui/action/dropdown/card_component.rb +41 -0
  15. data/app/components/ui_components/daisy_ui/action/dropdown/card_item_component.rb +29 -0
  16. data/app/components/ui_components/daisy_ui/action/dropdown/list_item_component.rb +30 -0
  17. data/app/components/ui_components/daisy_ui/action/dropdown/menu_component.rb +40 -0
  18. data/app/components/ui_components/daisy_ui/action/dropdown_component.rb +79 -0
  19. data/app/components/ui_components/daisy_ui/action/modal/anchor_component.rb +43 -0
  20. data/app/components/ui_components/daisy_ui/action/modal/dialog/box/action/item_component.rb +33 -0
  21. data/app/components/ui_components/daisy_ui/action/modal/dialog/box/action_component.rb +42 -0
  22. data/app/components/ui_components/daisy_ui/action/modal/dialog/box/body_component.rb +31 -0
  23. data/app/components/ui_components/daisy_ui/action/modal/dialog/box/close_component.rb +33 -0
  24. data/app/components/ui_components/daisy_ui/action/modal/dialog/box/title_component.rb +31 -0
  25. data/app/components/ui_components/daisy_ui/action/modal/dialog/box_component.rb +54 -0
  26. data/app/components/ui_components/daisy_ui/action/modal/dialog_component.rb +58 -0
  27. data/app/components/ui_components/daisy_ui/action/modal_component.rb +33 -0
  28. data/app/components/ui_components/daisy_ui/action/swap/off_component.rb +27 -0
  29. data/app/components/ui_components/daisy_ui/action/swap/on_component.rb +27 -0
  30. data/app/components/ui_components/daisy_ui/action/swap_component.rb +59 -0
  31. data/app/components/ui_components/daisy_ui/base_component.rb +41 -0
  32. data/app/components/ui_components/daisy_ui/data_display/accordion/anchor_component.rb +27 -0
  33. data/app/components/ui_components/daisy_ui/data_display/accordion/body_component.rb +27 -0
  34. data/app/components/ui_components/daisy_ui/data_display/accordion/item_component.rb +69 -0
  35. data/app/components/ui_components/daisy_ui/data_display/accordion_component.rb +32 -0
  36. data/app/components/ui_components/daisy_ui/data_display/avatar/box_component.rb +61 -0
  37. data/app/components/ui_components/daisy_ui/data_display/avatar/item_component.rb +62 -0
  38. data/app/components/ui_components/daisy_ui/data_display/avatar_component.rb +21 -0
  39. data/app/components/ui_components/daisy_ui/data_display/badge_component.rb +58 -0
  40. data/app/controllers/ui_components/daisy_ui/action_components_controller.rb +15 -0
  41. data/app/controllers/ui_components/daisy_ui/application_controller.rb +9 -0
  42. data/app/controllers/ui_components/daisy_ui/data_display_components_controller.rb +13 -0
  43. data/app/controllers/ui_components/daisy_ui/home_controller.rb +9 -0
  44. data/app/helpers/action/button_helper.rb +18 -0
  45. data/app/helpers/action/dropdown_helper.rb +19 -0
  46. data/app/helpers/data_display/badge_helper.rb +26 -0
  47. data/app/views/ui_components/daisy_ui/action_components/button.html.erb +114 -0
  48. data/app/views/ui_components/daisy_ui/action_components/dropdown.html.erb +117 -0
  49. data/app/views/ui_components/daisy_ui/action_components/modal.html.erb +73 -0
  50. data/app/views/ui_components/daisy_ui/action_components/swap.html.erb +97 -0
  51. data/app/views/ui_components/daisy_ui/data_display_components/accordion.html.erb +205 -0
  52. data/app/views/ui_components/daisy_ui/data_display_components/avatar.html.erb +261 -0
  53. data/app/views/ui_components/daisy_ui/data_display_components/badge.html.erb +150 -0
  54. data/app/views/ui_components/daisy_ui/home/index.html.erb +20 -0
  55. data/config/routes.rb +22 -0
  56. data/lib/tasks/ui_components_tasks.rake +55 -0
  57. data/lib/ui_components/config/daisy_ui_class_names.rb +33 -0
  58. data/lib/ui_components/config/tailwind_class_names.rb +44 -0
  59. data/lib/ui_components/config.rb +52 -0
  60. data/lib/ui_components/engine.rb +12 -0
  61. data/lib/ui_components/version.rb +5 -0
  62. data/lib/ui_components.rb +9 -0
  63. data/sig/ui_components.rbs +4 -0
  64. metadata +155 -0
@@ -0,0 +1,150 @@
1
+ <% component = UiComponents::DaisyUi::DataDisplay::BadgeComponent %>
2
+
3
+ <div class="grid grid-cols gap-16 p-2 mt-6 mb-36">
4
+ <div class="mb-2">
5
+ <h1 class="font-bold mb-2"># Data display > Badge</h1>
6
+ <ul class="bg-base-100 rounded-box shadow-md p-2">
7
+ <%= link_to "< Avatar", daisy_ui_avatar_path, class: "link link-primary m-2" %>
8
+ <%= link_to "Home", daisy_ui_path, class: "link link-primary m-2" %>
9
+ </ul>
10
+ </div>
11
+
12
+ <%= render DocumentationComponent.new do |document| %>
13
+ <%= document.with_header { "# Badge" } %>
14
+ <%= document.with_body do |body| %>
15
+ <%= body.with_preview_example(
16
+ source: <<~ERB
17
+ <$= render #{component}.new do $>
18
+ Default
19
+ <$ end $>
20
+ ERB
21
+ ) %>
22
+ <% end %>
23
+ <% end %>
24
+
25
+ <% sizes = { 'xs' => 'Xsmall', 'sm' => 'Small', 'md' => 'Medium', 'lg' => 'Large', 'xl' => 'Xlarge' } %>
26
+
27
+ <%= render DocumentationComponent.new do |document| %>
28
+ <%= document.with_header { "# Badge sizes" } %>
29
+ <%= document.with_body do |body| %>
30
+ <% sizes.each do |key, value| %>
31
+ <%= body.with_preview_example(
32
+ source: <<~ERB
33
+ <$= render #{component}.new(size: "#{key}") do $>
34
+ #{value}
35
+ <$ end $>
36
+ ERB
37
+ ) %>
38
+ <% end %>
39
+ <% end %>
40
+ <% end %>
41
+
42
+ <% colors = { 'primary' => 'Primary', 'secondary' => 'Secondary', 'accent' => 'Accent', 'info' => 'Info', 'success' => 'Success', 'warning' => 'Warning', 'error' => 'Error' } %>
43
+
44
+ <%= render DocumentationComponent.new do |document| %>
45
+ <%= document.with_header { "# Badge with colors" } %>
46
+ <%= document.with_body do |body| %>
47
+ <% colors.each do |key, value| %>
48
+ <%= body.with_preview_example(
49
+ source: <<~ERB
50
+ <$= render #{component}.new(color: "#{key}") do $>
51
+ #{value}
52
+ <$ end $>
53
+ ERB
54
+ ) %>
55
+ <% end %>
56
+ <% end %>
57
+ <% end %>
58
+
59
+ <% kinds = { 'soft' => 'Soft', 'outline' => 'Outline', 'dash' => 'Dash', 'ghost' => 'Ghost' } %>
60
+
61
+ <% kinds.each do |kind_key, kind_value| %>
62
+ <%= render DocumentationComponent.new do |document| %>
63
+ <%= document.with_header { "# #{kind_value} #{kind_key == "ghost" ? 'badge' : 'badges'}" } %>
64
+ <%= document.with_body do |body| %>
65
+ <% colors.each do |color_key, value| %>
66
+
67
+ <% next if data_display_badge_skip_kind(kind_key:, color_key:) %>
68
+
69
+ <%= body.with_preview_example(
70
+ source: <<~ERB
71
+ <$= render #{component}.new(#{data_display_badge_handle_component_params(kind_key:, color_key:)}) do $>
72
+ #{kind_key == "ghost" ? kind_value : value}
73
+ <$ end $>
74
+ ERB
75
+ ) %>
76
+ <% end %>
77
+ <% end %>
78
+ <% end %>
79
+ <% end %>
80
+
81
+ <%= render DocumentationComponent.new do |document| %>
82
+ <%= document.with_header { "# Empty badge" } %>
83
+ <%= document.with_body do |body| %>
84
+ <% sizes.keys.reverse.each do |key| %>
85
+ <%= body.with_preview_example(
86
+ source: <<~ERB
87
+ <$= render #{component}.new(size: "#{key}", color: "primary") $>
88
+ ERB
89
+ ) %>
90
+ <% end %>
91
+ <% end %>
92
+ <% end %>
93
+
94
+ <% badge_with_icon_colors = { 'info' => 'Info', 'success' => 'Success', 'warning' => 'Warning', 'error' => 'Error' } %>
95
+
96
+ <%= render DocumentationComponent.new do |document| %>
97
+ <%= document.with_header { "# Badge with icon" } %>
98
+ <%= document.with_body do |body| %>
99
+ <% badge_with_icon_colors.each do |key, value| %>
100
+ <%= body.with_preview_example(
101
+ source: <<~ERB
102
+ <$= render #{component}.new(color: "#{key}") do $>
103
+ #{data_display_badge_icons[key]}
104
+ #{value}
105
+ <$ end $>
106
+ ERB
107
+ ) %>
108
+ <% end %>
109
+ <% end %>
110
+ <% end %>
111
+
112
+
113
+ <%= render DocumentationComponent.new do |document| %>
114
+ <%= document.with_header { "# Badge in a text" } %>
115
+ <%= document.with_body do |body| %>
116
+ <% sizes.keys.reverse.each_with_index do |key, index| %>
117
+ <%= body.with_preview_example(
118
+ source: <<~ERB
119
+ <h1 class="text-#{key == "md" ? "base" : key} font-semibold">
120
+ Heading #{index+1}
121
+ <$= render #{component}.new(size: "#{key}") do $>
122
+ Badge
123
+ <$ end $>
124
+ </h1>
125
+ ERB
126
+ ) %>
127
+ <% end %>
128
+ <% end %>
129
+ <% end %>
130
+
131
+ <% badge_with_button_colors = ["", "secondary"] %>
132
+
133
+ <%= render DocumentationComponent.new do |document| %>
134
+ <%= document.with_header { "# Badge in a button" } %>
135
+ <%= document.with_body do |body| %>
136
+ <% badge_with_button_colors.each do |key| %>
137
+ <%= body.with_preview_example(
138
+ source: <<~ERB
139
+ <$= render UiComponents::DaisyUi::Action::ButtonComponent.new do $>
140
+ Inbox
141
+ <$= render #{component}.new(size: "sm"#{", color: \"#{key}\"" if key.present?}) do $>
142
+ +99
143
+ <$ end $>
144
+ <$ end $>
145
+ ERB
146
+ ) %>
147
+ <% end %>
148
+ <% end %>
149
+ <% end %>
150
+ </div>
@@ -0,0 +1,20 @@
1
+ <div class="grid grid-cols gap-16 p-2 mt-6 mb-36">
2
+ <div class="mb-2">
3
+ <h1 class="font-bold mb-2"># Actions</h1>
4
+ <ul class="bg-base-100 rounded-box shadow-md p-2">
5
+ <%= link_to "Button", daisy_ui_button_path, class: "link link-primary m-2" %>
6
+ <%= link_to "Dropdown", daisy_ui_dropdown_path, class: "link link-primary m-2" %>
7
+ <%= link_to "Modal", daisy_ui_modal_path, class: "link link-primary m-2" %>
8
+ <%= link_to "Swap", daisy_ui_swap_path, class: "link link-primary m-2" %>
9
+ </ul>
10
+ </div>
11
+
12
+ <div class="mb-2">
13
+ <h1 class="font-bold mb-2"># Data display</h1>
14
+ <ul class="bg-base-100 rounded-box shadow-md p-2">
15
+ <%= link_to "Accordion", daisy_ui_accordion_path, class: "link link-primary m-2" %>
16
+ <%= link_to "Avatar", daisy_ui_avatar_path, class: "link link-primary m-2" %>
17
+ <%= link_to "Badge", daisy_ui_badge_path, class: "link link-primary m-2" %>
18
+ </ul>
19
+ </div>
20
+ </div>
data/config/routes.rb ADDED
@@ -0,0 +1,22 @@
1
+ UiComponents::Engine.routes.draw do
2
+ scope '/ui_components' do
3
+ namespace :daisy_ui do
4
+ get '/', to: "home#index"
5
+
6
+ # Actions
7
+ scope controller: :action_components do
8
+ get "button"
9
+ get "dropdown"
10
+ get "modal"
11
+ get "swap"
12
+ end
13
+
14
+ # Dara Display
15
+ scope controller: :data_display_components do
16
+ get "accordion"
17
+ get "avatar"
18
+ get "badge"
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,55 @@
1
+ namespace :ui_components do
2
+ desc "Initial UiComponents settings"
3
+ task setup: :environment do
4
+ # Set config default rails tailwindcss
5
+ Rake::Task["tailwindcss:install"].invoke
6
+
7
+ # Inject data into Procfile.dev file
8
+ UiComponents::Config.inject_into_file(file_path: Rails.root.join("Procfile.dev"),
9
+ file_data: "trigger: bin/rails ui_components:trigger")
10
+
11
+ # Add DaisyUI
12
+ system("yarn add daisyui")
13
+
14
+ # Inject data into app/assets/tailwind/application.css file
15
+ UiComponents::Config.inject_into_file(file_path: Rails.root.join("app/assets/tailwind/application.css"),
16
+ file_data: '@plugin "daisyui";')
17
+
18
+ # Creating mandatory tailwindcss classes
19
+ UiComponents::Config.safelist!
20
+
21
+ # Inject data into .gitignore file
22
+ UiComponents::Config.inject_into_file(file_path: Rails.root.join(".gitignore"),
23
+ file_data: "safelist.txt")
24
+
25
+ # Building tailwindcss assets
26
+ # Rake::Task["tailwindcss:build"].invoke
27
+
28
+ # Add engine for routes.rb
29
+ UiComponents::Config.inject_into_routes(file_path: Rails.root.join("config/routes.rb"),
30
+ route_line: 'mount UiComponents::Engine, at: "/"')
31
+
32
+ # Inject data into config/importmap.rb file
33
+ UiComponents::Config.inject_into_file(
34
+ file_path: Rails.root.join("config/importmap.rb"),
35
+ file_data: %(pin_all_from UiComponents::Config.js_controllers_path, under: "ui_components/controllers")
36
+ )
37
+
38
+ # Inject data into app/javascript/controllers/index.js file
39
+ UiComponents::Config.inject_into_file(
40
+ file_path: Rails.root.join("app/javascript/controllers/index.js"),
41
+ file_data: %(eagerLoadControllersFrom("ui_components/controllers", application))
42
+ )
43
+ end
44
+
45
+ desc "Trigger UiComponents tailwindcss classes"
46
+ task trigger: :environment do
47
+ sleep 2
48
+
49
+ UiComponents::Config.safelist!
50
+
51
+ loop do
52
+ sleep 3600
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module UiComponents
4
+ module Config
5
+ module DaisyUiClassNames
6
+ DAISY_UI_COMPONENTS = {
7
+ action: %w[button dropdown modal swap],
8
+ data_display: %w[accordion avatar badge]
9
+ }.freeze
10
+
11
+ class << self
12
+ def all
13
+ (
14
+ DAISY_UI_COMPONENTS.filter_map { |scope, components| get_component_classes(scope:, components:) }.flatten +
15
+ other_class_names
16
+ ).uniq
17
+ end
18
+
19
+ private
20
+
21
+ def other_class_names
22
+ %w[link link-primary join join-vertical avatar-group -space-x-6 text-info]
23
+ end
24
+
25
+ def get_component_classes(scope:, components:)
26
+ components.filter_map { |component|
27
+ "UiComponents::DaisyUi::#{scope.to_s.capitalize.classify}::#{component.to_s.capitalize}Component::CSS_CLASSES".safe_constantize
28
+ }.flatten
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module UiComponents
4
+ module Config
5
+ module TailwindClassNames
6
+ class << self
7
+ def all
8
+ flexbox_and_grid +
9
+ spacing +
10
+ sizing +
11
+ typography +
12
+ borders +
13
+ svg
14
+ end
15
+
16
+ private
17
+
18
+ def flexbox_and_grid
19
+ %w[grid grid-cols gap-16]
20
+ end
21
+
22
+ def spacing
23
+ %w[p-2 m-2 mt-6 mb-36]
24
+ end
25
+
26
+ def sizing
27
+ %w[w-8 w-10 w-12 w-16 w-20 w-32 h-10]
28
+ end
29
+
30
+ def typography
31
+ %w[text-xl font-semibold text-center]
32
+ end
33
+
34
+ def borders
35
+ %w[rounded rounded-xl rounded-full]
36
+ end
37
+
38
+ def svg
39
+ %w[fill-current]
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "config/tailwind_class_names"
4
+ require_relative "config/daisy_ui_class_names"
5
+ module UiComponents
6
+ module Config
7
+ class << self
8
+ def inject_into_file(file_path:, file_data:)
9
+ return unless File.exist?(file_path)
10
+
11
+ file_content = File.read(file_path)
12
+
13
+ return if file_content.include?(file_data)
14
+
15
+ File.open(file_path, "a") do |file|
16
+ file.puts file_data
17
+ end
18
+ end
19
+
20
+ def inject_into_routes(file_path:, route_line:)
21
+ return unless File.exist?(file_path)
22
+
23
+ file_content = File.read(file_path)
24
+
25
+ return if file_content.include?(route_line.strip)
26
+
27
+ updated_content = file_content.gsub(
28
+ /Rails\.application\.routes\.draw do\n/,
29
+ "Rails.application.routes.draw do\n #{route_line}\n"
30
+ )
31
+
32
+ File.open(file_path, "w") { |file| file.write(updated_content) }
33
+ end
34
+
35
+ def js_controllers_path
36
+ UiComponents::Engine.root.join("app/assets/javascripts/ui_components/controllers")
37
+ end
38
+
39
+ def safelist!
40
+ file_content =(
41
+ UiComponents::Config::DaisyUiClassNames.all +
42
+ UiComponents::Config::TailwindClassNames.all +
43
+ DocumentationComponent::CSS_CLASSES
44
+ ).uniq.sort.join(" ")
45
+
46
+ File.write(Rails.root.join("safelist.txt"), file_content)
47
+
48
+ file_content
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/engine"
4
+ require "view_component"
5
+ require "tailwindcss-rails"
6
+ module UiComponents
7
+ class Engine < ::Rails::Engine
8
+ isolate_namespace UiComponents
9
+
10
+ config.autoload_paths << File.expand_path("app/components", root)
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module UiComponents
4
+ VERSION = "0.1.0"
5
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "ui_components/version"
4
+ require_relative "ui_components/engine"
5
+ require_relative "ui_components/config"
6
+
7
+ module UiComponents
8
+ class Error < StandardError; end
9
+ end
@@ -0,0 +1,4 @@
1
+ module UiComponents
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ui_components
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - jannilsonn
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 2025-03-29 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rails
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 8.0.0
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: 8.0.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.21'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.21'
40
+ - !ruby/object:Gem::Dependency
41
+ name: tailwindcss-rails
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '4.2'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '4.2'
54
+ - !ruby/object:Gem::Dependency
55
+ name: tailwind_merge
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.1'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.1'
68
+ executables: []
69
+ extensions: []
70
+ extra_rdoc_files: []
71
+ files:
72
+ - CHANGELOG.md
73
+ - CODE_OF_CONDUCT.md
74
+ - LICENSE.txt
75
+ - README.md
76
+ - Rakefile
77
+ - app/assets/javascripts/ui_components/controllers/clipboard_controller.js
78
+ - app/components/documentation/body/example_preview_component.rb
79
+ - app/components/documentation/body_component.html.erb
80
+ - app/components/documentation/body_component.rb
81
+ - app/components/documentation_component.rb
82
+ - app/components/ui_components/daisy_ui/action/button_component.rb
83
+ - app/components/ui_components/daisy_ui/action/dropdown/anchor_component.rb
84
+ - app/components/ui_components/daisy_ui/action/dropdown/card_component.rb
85
+ - app/components/ui_components/daisy_ui/action/dropdown/card_item_component.rb
86
+ - app/components/ui_components/daisy_ui/action/dropdown/list_item_component.rb
87
+ - app/components/ui_components/daisy_ui/action/dropdown/menu_component.rb
88
+ - app/components/ui_components/daisy_ui/action/dropdown_component.rb
89
+ - app/components/ui_components/daisy_ui/action/modal/anchor_component.rb
90
+ - app/components/ui_components/daisy_ui/action/modal/dialog/box/action/item_component.rb
91
+ - app/components/ui_components/daisy_ui/action/modal/dialog/box/action_component.rb
92
+ - app/components/ui_components/daisy_ui/action/modal/dialog/box/body_component.rb
93
+ - app/components/ui_components/daisy_ui/action/modal/dialog/box/close_component.rb
94
+ - app/components/ui_components/daisy_ui/action/modal/dialog/box/title_component.rb
95
+ - app/components/ui_components/daisy_ui/action/modal/dialog/box_component.rb
96
+ - app/components/ui_components/daisy_ui/action/modal/dialog_component.rb
97
+ - app/components/ui_components/daisy_ui/action/modal_component.rb
98
+ - app/components/ui_components/daisy_ui/action/swap/off_component.rb
99
+ - app/components/ui_components/daisy_ui/action/swap/on_component.rb
100
+ - app/components/ui_components/daisy_ui/action/swap_component.rb
101
+ - app/components/ui_components/daisy_ui/base_component.rb
102
+ - app/components/ui_components/daisy_ui/data_display/accordion/anchor_component.rb
103
+ - app/components/ui_components/daisy_ui/data_display/accordion/body_component.rb
104
+ - app/components/ui_components/daisy_ui/data_display/accordion/item_component.rb
105
+ - app/components/ui_components/daisy_ui/data_display/accordion_component.rb
106
+ - app/components/ui_components/daisy_ui/data_display/avatar/box_component.rb
107
+ - app/components/ui_components/daisy_ui/data_display/avatar/item_component.rb
108
+ - app/components/ui_components/daisy_ui/data_display/avatar_component.rb
109
+ - app/components/ui_components/daisy_ui/data_display/badge_component.rb
110
+ - app/controllers/ui_components/daisy_ui/action_components_controller.rb
111
+ - app/controllers/ui_components/daisy_ui/application_controller.rb
112
+ - app/controllers/ui_components/daisy_ui/data_display_components_controller.rb
113
+ - app/controllers/ui_components/daisy_ui/home_controller.rb
114
+ - app/helpers/action/button_helper.rb
115
+ - app/helpers/action/dropdown_helper.rb
116
+ - app/helpers/data_display/badge_helper.rb
117
+ - app/views/ui_components/daisy_ui/action_components/button.html.erb
118
+ - app/views/ui_components/daisy_ui/action_components/dropdown.html.erb
119
+ - app/views/ui_components/daisy_ui/action_components/modal.html.erb
120
+ - app/views/ui_components/daisy_ui/action_components/swap.html.erb
121
+ - app/views/ui_components/daisy_ui/data_display_components/accordion.html.erb
122
+ - app/views/ui_components/daisy_ui/data_display_components/avatar.html.erb
123
+ - app/views/ui_components/daisy_ui/data_display_components/badge.html.erb
124
+ - app/views/ui_components/daisy_ui/home/index.html.erb
125
+ - config/routes.rb
126
+ - lib/tasks/ui_components_tasks.rake
127
+ - lib/ui_components.rb
128
+ - lib/ui_components/config.rb
129
+ - lib/ui_components/config/daisy_ui_class_names.rb
130
+ - lib/ui_components/config/tailwind_class_names.rb
131
+ - lib/ui_components/engine.rb
132
+ - lib/ui_components/version.rb
133
+ - sig/ui_components.rbs
134
+ licenses:
135
+ - MIT
136
+ metadata: {}
137
+ rdoc_options: []
138
+ require_paths:
139
+ - lib
140
+ - app
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: 3.1.0
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ requirements: []
152
+ rubygems_version: 3.6.6
153
+ specification_version: 4
154
+ summary: UI kit with ViewComponent and DaisyUI
155
+ test_files: []