better_ui 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +225 -119
  4. data/app/assets/stylesheets/better_ui/application.css +0 -356
  5. data/app/components/better_ui/application/card/component.html.erb +20 -0
  6. data/app/components/better_ui/application/card/component.rb +214 -0
  7. data/app/components/better_ui/application/main/component.html.erb +9 -0
  8. data/app/components/better_ui/application/main/component.rb +123 -0
  9. data/app/components/better_ui/application/navbar/component.html.erb +92 -0
  10. data/app/components/better_ui/application/navbar/component.rb +136 -0
  11. data/app/components/better_ui/application/sidebar/component.html.erb +190 -0
  12. data/app/components/better_ui/application/sidebar/component.rb +129 -0
  13. data/app/components/better_ui/general/alert/component.html.erb +32 -0
  14. data/app/components/better_ui/general/alert/component.rb +242 -0
  15. data/app/components/better_ui/general/avatar/component.html.erb +20 -0
  16. data/app/components/better_ui/general/avatar/component.rb +301 -0
  17. data/app/components/better_ui/general/badge/component.html.erb +23 -0
  18. data/app/components/better_ui/general/badge/component.rb +248 -0
  19. data/app/components/better_ui/general/breadcrumb/component.html.erb +15 -0
  20. data/app/components/better_ui/general/breadcrumb/component.rb +187 -0
  21. data/app/components/better_ui/general/button/component.html.erb +34 -0
  22. data/app/components/better_ui/general/button/component.rb +214 -0
  23. data/app/components/better_ui/general/divider/component.html.erb +10 -0
  24. data/app/components/better_ui/general/divider/component.rb +226 -0
  25. data/app/components/better_ui/general/field/component.html.erb +27 -0
  26. data/app/components/better_ui/general/field/component.rb +37 -0
  27. data/app/components/better_ui/general/heading/component.html.erb +22 -0
  28. data/app/components/better_ui/general/heading/component.rb +257 -0
  29. data/app/components/better_ui/general/icon/component.html.erb +7 -0
  30. data/app/components/better_ui/general/icon/component.rb +239 -0
  31. data/app/components/better_ui/general/input/checkbox/component.html.erb +5 -0
  32. data/app/components/better_ui/general/input/checkbox/component.rb +238 -0
  33. data/app/components/better_ui/general/input/datetime/component.html.erb +5 -0
  34. data/app/components/better_ui/general/input/datetime/component.rb +223 -0
  35. data/app/components/better_ui/general/input/radio/component.html.erb +5 -0
  36. data/app/components/better_ui/general/input/radio/component.rb +230 -0
  37. data/app/components/better_ui/general/input/select/component.html.erb +16 -0
  38. data/app/components/better_ui/general/input/select/component.rb +184 -0
  39. data/app/components/better_ui/general/input/select/select_component.html.erb +5 -0
  40. data/app/components/better_ui/general/input/select/select_component.rb +37 -0
  41. data/app/components/better_ui/general/input/text/component.html.erb +5 -0
  42. data/app/components/better_ui/general/input/text/component.rb +171 -0
  43. data/app/components/better_ui/general/input/textarea/component.html.erb +5 -0
  44. data/app/components/better_ui/general/input/textarea/component.rb +166 -0
  45. data/app/components/better_ui/general/link/component.html.erb +18 -0
  46. data/app/components/better_ui/general/link/component.rb +258 -0
  47. data/app/components/better_ui/general/panel/component.html.erb +28 -0
  48. data/app/components/better_ui/general/panel/component.rb +249 -0
  49. data/app/components/better_ui/general/progress/component.html.erb +11 -0
  50. data/app/components/better_ui/general/progress/component.rb +160 -0
  51. data/app/components/better_ui/general/spinner/component.html.erb +35 -0
  52. data/app/components/better_ui/general/spinner/component.rb +93 -0
  53. data/app/components/better_ui/general/table/component.html.erb +5 -0
  54. data/app/components/better_ui/general/table/component.rb +217 -0
  55. data/app/components/better_ui/general/table/tbody_component.html.erb +3 -0
  56. data/app/components/better_ui/general/table/tbody_component.rb +30 -0
  57. data/app/components/better_ui/general/table/td_component.html.erb +3 -0
  58. data/app/components/better_ui/general/table/td_component.rb +44 -0
  59. data/app/components/better_ui/general/table/tfoot_component.html.erb +3 -0
  60. data/app/components/better_ui/general/table/tfoot_component.rb +28 -0
  61. data/app/components/better_ui/general/table/th_component.html.erb +6 -0
  62. data/app/components/better_ui/general/table/th_component.rb +51 -0
  63. data/app/components/better_ui/general/table/thead_component.html.erb +3 -0
  64. data/app/components/better_ui/general/table/thead_component.rb +28 -0
  65. data/app/components/better_ui/general/table/tr_component.html.erb +3 -0
  66. data/app/components/better_ui/general/table/tr_component.rb +30 -0
  67. data/app/components/better_ui/general/tag/component.html.erb +3 -0
  68. data/app/components/better_ui/general/tag/component.rb +104 -0
  69. data/app/components/better_ui/general/tooltip/component.html.erb +7 -0
  70. data/app/components/better_ui/general/tooltip/component.rb +239 -0
  71. data/app/helpers/better_ui/application/components/card/card_helper.rb +96 -0
  72. data/app/helpers/better_ui/application/components/card.rb +11 -0
  73. data/app/helpers/better_ui/application/components/main/main_helper.rb +64 -0
  74. data/app/helpers/better_ui/application/components/navbar/navbar_helper.rb +77 -0
  75. data/app/helpers/better_ui/application/components/sidebar/sidebar_helper.rb +51 -0
  76. data/app/helpers/better_ui/application_helper.rb +42 -179
  77. data/app/helpers/better_ui/general/components/alert/alert_helper.rb +57 -0
  78. data/app/helpers/better_ui/general/components/avatar/avatar_helper.rb +29 -0
  79. data/app/helpers/better_ui/general/components/badge/badge_helper.rb +53 -0
  80. data/app/helpers/better_ui/general/components/breadcrumb/breadcrumb_helper.rb +37 -0
  81. data/app/helpers/better_ui/general/components/button/button_helper.rb +65 -0
  82. data/app/helpers/better_ui/general/components/container/container_helper.rb +60 -0
  83. data/app/helpers/better_ui/general/components/divider/divider_helper.rb +63 -0
  84. data/app/helpers/better_ui/general/components/field/field_helper.rb +26 -0
  85. data/app/helpers/better_ui/general/components/heading/heading_helper.rb +72 -0
  86. data/app/helpers/better_ui/general/components/icon/icon_helper.rb +16 -0
  87. data/app/helpers/better_ui/general/components/input/checkbox/checkbox_helper.rb +81 -0
  88. data/app/helpers/better_ui/general/components/input/datetime/datetime_helper.rb +91 -0
  89. data/app/helpers/better_ui/general/components/input/radio/radio_helper.rb +79 -0
  90. data/app/helpers/better_ui/general/components/input/radio_group/radio_group_helper.rb +124 -0
  91. data/app/helpers/better_ui/general/components/input/select/select_helper.rb +70 -0
  92. data/app/helpers/better_ui/general/components/input/text/text_helper.rb +138 -0
  93. data/app/helpers/better_ui/general/components/input/textarea/textarea_helper.rb +73 -0
  94. data/app/helpers/better_ui/general/components/link/link_helper.rb +89 -0
  95. data/app/helpers/better_ui/general/components/panel/panel_helper.rb +83 -0
  96. data/app/helpers/better_ui/general/components/progress/progress_helper.rb +53 -0
  97. data/app/helpers/better_ui/general/components/spinner/spinner_helper.rb +19 -0
  98. data/app/helpers/better_ui/general/components/table/table_helper.rb +53 -0
  99. data/app/helpers/better_ui/general/components/table/tbody_helper.rb +13 -0
  100. data/app/helpers/better_ui/general/components/table/td_helper.rb +19 -0
  101. data/app/helpers/better_ui/general/components/table/tfoot_helper.rb +13 -0
  102. data/app/helpers/better_ui/general/components/table/th_helper.rb +19 -0
  103. data/app/helpers/better_ui/general/components/table/thead_helper.rb +13 -0
  104. data/app/helpers/better_ui/general/components/table/tr_helper.rb +13 -0
  105. data/app/helpers/better_ui/general/components/tag/tag_helper.rb +26 -0
  106. data/app/helpers/better_ui/general/components/tooltip/tooltip_helper.rb +60 -0
  107. data/app/views/layouts/better_ui/application.html.erb +6 -124
  108. data/config/initializers/lookbook.rb +23 -0
  109. data/config/routes.rb +0 -8
  110. data/lib/better_ui/engine.rb +5 -19
  111. data/lib/better_ui/railtie.rb +20 -0
  112. data/lib/better_ui/version.rb +1 -1
  113. data/lib/better_ui.rb +4 -20
  114. metadata +131 -28
  115. data/app/controllers/better_ui/docs_controller.rb +0 -41
  116. data/app/views/better_ui/docs/component.html.erb +0 -365
  117. data/app/views/better_ui/docs/index.html.erb +0 -100
  118. data/app/views/better_ui/docs/show.html.erb +0 -60
@@ -0,0 +1,60 @@
1
+ module BetterUi
2
+ module General
3
+ module Components
4
+ module Tooltip
5
+ module TooltipHelper
6
+ # Genera un tooltip usando BetterUi::General::Tooltip::Component
7
+ #
8
+ # @param text [String] testo del tooltip
9
+ # @param theme [Symbol] tema del colore (:default, :white, :red, etc.)
10
+ # @param position [Symbol] posizione del tooltip (:top, :right, :bottom, :left)
11
+ # @param size [Symbol] dimensione del tooltip (:small, :medium, :large)
12
+ # @param style [Symbol] stile del tooltip (:filled, :outline)
13
+ # @param html_options [Hash] opzioni HTML aggiuntive
14
+ # @param block [Block] contenuto dell'elemento trigger
15
+ # @return [String] HTML del tooltip renderizzato
16
+ #
17
+ # @example Uso base
18
+ # bui_tooltip("Questo è un tooltip") do
19
+ # bui_button(label: "Hover me")
20
+ # end
21
+ #
22
+ # @example Tooltip con posizione specifica
23
+ # bui_tooltip("Messaggio importante", position: :right, theme: :red) do
24
+ # link_to "Info", "#", class: "text-blue-500"
25
+ # end
26
+ #
27
+ # @example Tooltip con stili avanzati
28
+ # bui_tooltip(
29
+ # "Tooltip grande con outline",
30
+ # theme: :blue,
31
+ # position: :bottom,
32
+ # size: :large,
33
+ # style: :outline,
34
+ # id: "custom-tooltip"
35
+ # ) do
36
+ # content_tag(:span, "Trigger personalizzato", class: "custom-trigger")
37
+ # end
38
+ def bui_tooltip(
39
+ text,
40
+ theme: :white,
41
+ position: :top,
42
+ size: :medium,
43
+ style: :filled,
44
+ **html_options,
45
+ &block
46
+ )
47
+ render BetterUi::General::Tooltip::Component.new(
48
+ text: text,
49
+ theme: theme,
50
+ position: position,
51
+ size: size,
52
+ style: style,
53
+ **html_options
54
+ ), &block
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -1,135 +1,17 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>BetterUI - <%= yield(:title) || 'Componenti UI per Rails' %></title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
4
+ <title>Better ui</title>
6
5
  <%= csrf_meta_tags %>
7
6
  <%= csp_meta_tag %>
8
7
 
9
- <%= stylesheet_link_tag "better_ui/application" %>
8
+ <%= yield :head %>
10
9
 
11
- <style>
12
- body {
13
- font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
14
- line-height: 1.5;
15
- color: #333;
16
- margin: 0;
17
- padding: 0;
18
- }
19
-
20
- .better-ui-container {
21
- width: 100%;
22
- max-width: 1200px;
23
- margin: 0 auto;
24
- padding: 1rem;
25
- }
26
-
27
- .better-ui-sidebar {
28
- width: 250px;
29
- padding: 1rem;
30
- background-color: #f5f5f5;
31
- border-right: 1px solid #e0e0e0;
32
- position: fixed;
33
- top: 0;
34
- left: 0;
35
- bottom: 0;
36
- overflow-y: auto;
37
- }
38
-
39
- .better-ui-content {
40
- margin-left: 250px;
41
- padding: 2rem;
42
- }
43
-
44
- .better-ui-nav-title {
45
- font-size: 1.25rem;
46
- font-weight: 600;
47
- margin-bottom: 1rem;
48
- }
49
-
50
- .better-ui-nav-list {
51
- list-style: none;
52
- padding: 0;
53
- margin: 0;
54
- }
55
-
56
- .better-ui-nav-item {
57
- margin-bottom: 0.5rem;
58
- }
59
-
60
- .better-ui-nav-link {
61
- color: #333;
62
- text-decoration: none;
63
- padding: 0.5rem;
64
- display: block;
65
- border-radius: 4px;
66
- }
67
-
68
- .better-ui-nav-link:hover {
69
- background-color: #e0e0e0;
70
- }
71
-
72
- .better-ui-nav-link.active {
73
- background-color: #007bff;
74
- color: white;
75
- }
76
- </style>
10
+ <%= stylesheet_link_tag "better_ui/application", media: "all" %>
77
11
  </head>
12
+ <body style="padding: 10px;">
13
+
14
+ <%= yield %>
78
15
 
79
- <body>
80
- <div class="better-ui-container">
81
- <div class="better-ui-sidebar">
82
- <div class="better-ui-nav-title">BetterUI</div>
83
- <nav>
84
- <div class="better-ui-nav-section">
85
- <h3>Documentazione</h3>
86
- <ul class="better-ui-nav-list">
87
- <li class="better-ui-nav-item">
88
- <%= link_to "Guida all'installazione", better_ui.docs_page_path('installation'), class: "better-ui-nav-link" %>
89
- </li>
90
- <li class="better-ui-nav-item">
91
- <%= link_to "Personalizzazione", better_ui.docs_page_path('customization'), class: "better-ui-nav-link" %>
92
- </li>
93
- </ul>
94
- </div>
95
-
96
- <div class="better-ui-nav-section">
97
- <h3>Componenti</h3>
98
- <ul class="better-ui-nav-list">
99
- <% if @components %>
100
- <% @components.each do |component| %>
101
- <li class="better-ui-nav-item">
102
- <%= link_to component[:name], component[:path], class: "better-ui-nav-link" %>
103
- </li>
104
- <% end %>
105
- <% else %>
106
- <li class="better-ui-nav-item">
107
- <%= link_to "Button", better_ui.docs_component_path('button'), class: "better-ui-nav-link" %>
108
- </li>
109
- <li class="better-ui-nav-item">
110
- <%= link_to "Alert", better_ui.docs_component_path('alert'), class: "better-ui-nav-link" %>
111
- </li>
112
- <li class="better-ui-nav-item">
113
- <%= link_to "Card", better_ui.docs_component_path('card'), class: "better-ui-nav-link" %>
114
- </li>
115
- <li class="better-ui-nav-item">
116
- <%= link_to "Modal", better_ui.docs_component_path('modal'), class: "better-ui-nav-link" %>
117
- </li>
118
- <li class="better-ui-nav-item">
119
- <%= link_to "Tabs", better_ui.docs_component_path('tabs'), class: "better-ui-nav-link" %>
120
- </li>
121
- <li class="better-ui-nav-item">
122
- <%= link_to "Form Elements", better_ui.docs_component_path('form_elements'), class: "better-ui-nav-link" %>
123
- </li>
124
- <% end %>
125
- </ul>
126
- </div>
127
- </nav>
128
- </div>
129
-
130
- <div class="better-ui-content">
131
- <%= yield %>
132
- </div>
133
- </div>
134
16
  </body>
135
17
  </html>
@@ -0,0 +1,23 @@
1
+ if defined?(Lookbook)
2
+ Lookbook.configure do |config|
3
+ # Configura la directory delle preview dei componenti
4
+ config.preview_paths << BetterUi::Engine.root.join("test/components/previews")
5
+
6
+ # Configura il titolo della pagina Lookbook
7
+ config.page_title = "BetterUI - Catalogo Componenti"
8
+
9
+ # Configura i tag principali
10
+ config.preview_display_names = {
11
+ "BetterUi::General" => "Componenti Generali",
12
+ "BetterUi::Application" => "Componenti Applicazione",
13
+ "BetterUi::Website" => "Componenti Sito Web"
14
+ }
15
+
16
+ # Per supportare i componenti ViewComponent
17
+ config.listen_for_changes = {
18
+ component: "app/components/**/*.rb",
19
+ preview: "test/components/previews/**/*_preview.rb",
20
+ template: "app/components/**/*.erb"
21
+ }
22
+ end
23
+ end
data/config/routes.rb CHANGED
@@ -1,10 +1,2 @@
1
1
  BetterUi::Engine.routes.draw do
2
- # Route principale per la documentazione
3
- root to: 'docs#index'
4
-
5
- # Route per le pagine di documentazione generiche
6
- get 'docs/:page', to: 'docs#show', as: :docs_page
7
-
8
- # Route per la documentazione dei componenti specifici
9
- get 'docs/components/:component', to: 'docs#component', as: :docs_component
10
2
  end
@@ -1,29 +1,15 @@
1
- require 'view_component'
2
- require 'redcarpet'
3
- require 'tailwindcss-rails'
4
-
5
1
  module BetterUi
6
2
  class Engine < ::Rails::Engine
7
3
  isolate_namespace BetterUi
8
-
9
- # Configurazione per rendere disponibili gli assets all'applicazione host
10
- initializer 'better_ui.assets' do |app|
11
- app.config.assets.paths << root.join('app', 'assets', 'stylesheets')
12
- app.config.assets.paths << root.join('app', 'assets', 'images')
13
- end
14
-
15
- # Configurazione per rendere disponibili i componenti all'applicazione host
16
- initializer 'better_ui.view_helpers' do
4
+
5
+ initializer "better_ui.view_helpers" do
17
6
  ActiveSupport.on_load :action_controller do
18
- helper BetterUi::ApplicationHelper
7
+ helper BetterUi::ApplicationHelper if defined?(BetterUi::ApplicationHelper)
19
8
  end
20
-
9
+
21
10
  ActiveSupport.on_load :action_view do
22
- include BetterUi::ApplicationHelper
11
+ include BetterUi::ApplicationHelper if defined?(BetterUi::ApplicationHelper)
23
12
  end
24
13
  end
25
-
26
- # Configurazione per ViewComponent
27
- config.view_component.preview_paths << root.join('spec', 'components', 'previews')
28
14
  end
29
15
  end
@@ -0,0 +1,20 @@
1
+ module BetterUi
2
+ class Railtie < ::Rails::Railtie
3
+ config.after_initialize do
4
+ # Configure Lookbook to include BetterUI previews if Lookbook is available
5
+ if defined?(Lookbook)
6
+ # Get the gem's root path
7
+ gem_root = Gem.loaded_specs["better_ui"]&.gem_dir
8
+
9
+ if gem_root
10
+ # Add the gem's preview path to Lookbook
11
+ preview_path = File.join(gem_root, "spec", "components", "previews")
12
+
13
+ if File.directory?(preview_path)
14
+ Lookbook.config.preview_paths << preview_path
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,3 +1,3 @@
1
1
  module BetterUi
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/better_ui.rb CHANGED
@@ -1,25 +1,9 @@
1
1
  require "better_ui/version"
2
2
  require "better_ui/engine"
3
+ require "better_ui/railtie"
4
+
5
+ require "font-awesome-sass"
3
6
 
4
7
  module BetterUi
5
- class Configuration
6
- attr_accessor :button_defaults, :alert_defaults, :card_defaults, :tabs_defaults
7
-
8
- def initialize
9
- @button_defaults = {}
10
- @alert_defaults = {}
11
- @card_defaults = {}
12
- @tabs_defaults = {}
13
- end
14
- end
15
-
16
- class << self
17
- def configuration
18
- @configuration ||= Configuration.new
19
- end
20
-
21
- def configure
22
- yield(configuration) if block_given?
23
- end
24
- end
8
+ # Your code goes here...
25
9
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - alessiobussolari
8
+ - umberto_peserico
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2025-05-01 00:00:00.000000000 Z
12
+ date: 2025-06-01 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rails
@@ -28,16 +29,16 @@ dependencies:
28
29
  name: view_component
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - ">="
32
+ - - "~>"
32
33
  - !ruby/object:Gem::Version
33
- version: 3.0.0
34
+ version: '3.22'
34
35
  type: :runtime
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - ">="
39
+ - - "~>"
39
40
  - !ruby/object:Gem::Version
40
- version: 3.0.0
41
+ version: '3.22'
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: redcarpet
43
44
  requirement: !ruby/object:Gem::Requirement
@@ -53,51 +54,53 @@ dependencies:
53
54
  - !ruby/object:Gem::Version
54
55
  version: '3.6'
55
56
  - !ruby/object:Gem::Dependency
56
- name: tailwindcss-rails
57
+ name: coderay
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
60
  - - "~>"
60
61
  - !ruby/object:Gem::Version
61
- version: '2.0'
62
+ version: '1.1'
62
63
  type: :runtime
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
67
  - - "~>"
67
68
  - !ruby/object:Gem::Version
68
- version: '2.0'
69
+ version: '1.1'
69
70
  - !ruby/object:Gem::Dependency
70
- name: sqlite3
71
+ name: lookbook
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
- - - ">="
74
+ - - "~>"
74
75
  - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
76
+ version: '2.3'
77
+ type: :runtime
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
- - - ">="
81
+ - - "~>"
81
82
  - !ruby/object:Gem::Version
82
- version: '0'
83
+ version: '2.3'
83
84
  - !ruby/object:Gem::Dependency
84
- name: puma
85
+ name: font-awesome-sass
85
86
  requirement: !ruby/object:Gem::Requirement
86
87
  requirements:
87
- - - ">="
88
+ - - "~>"
88
89
  - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
90
+ version: '6.5'
91
+ type: :runtime
91
92
  prerelease: false
92
93
  version_requirements: !ruby/object:Gem::Requirement
93
94
  requirements:
94
- - - ">="
95
+ - - "~>"
95
96
  - !ruby/object:Gem::Version
96
- version: '0'
97
- description: Una gem Rails che funziona come engine montabile contenente componenti
98
- UI riutilizzabili e pagine di documentazione
97
+ version: '6.5'
98
+ description: Better UI is a Rails gem that works as a mountable engine containing
99
+ reusable UI components, built with ViewComponent and Tailwind CSS, following the
100
+ BEM methodology. It includes documentation and interactive previews with Lookbook.
99
101
  email:
100
102
  - alessio.bussolari@pandev.it
103
+ - umberto.peserico@pandev.it
101
104
  executables: []
102
105
  extensions: []
103
106
  extra_rdoc_files: []
@@ -106,19 +109,118 @@ files:
106
109
  - README.md
107
110
  - Rakefile
108
111
  - app/assets/stylesheets/better_ui/application.css
112
+ - app/components/better_ui/application/card/component.html.erb
113
+ - app/components/better_ui/application/card/component.rb
114
+ - app/components/better_ui/application/main/component.html.erb
115
+ - app/components/better_ui/application/main/component.rb
116
+ - app/components/better_ui/application/navbar/component.html.erb
117
+ - app/components/better_ui/application/navbar/component.rb
118
+ - app/components/better_ui/application/sidebar/component.html.erb
119
+ - app/components/better_ui/application/sidebar/component.rb
120
+ - app/components/better_ui/general/alert/component.html.erb
121
+ - app/components/better_ui/general/alert/component.rb
122
+ - app/components/better_ui/general/avatar/component.html.erb
123
+ - app/components/better_ui/general/avatar/component.rb
124
+ - app/components/better_ui/general/badge/component.html.erb
125
+ - app/components/better_ui/general/badge/component.rb
126
+ - app/components/better_ui/general/breadcrumb/component.html.erb
127
+ - app/components/better_ui/general/breadcrumb/component.rb
128
+ - app/components/better_ui/general/button/component.html.erb
129
+ - app/components/better_ui/general/button/component.rb
130
+ - app/components/better_ui/general/divider/component.html.erb
131
+ - app/components/better_ui/general/divider/component.rb
132
+ - app/components/better_ui/general/field/component.html.erb
133
+ - app/components/better_ui/general/field/component.rb
134
+ - app/components/better_ui/general/heading/component.html.erb
135
+ - app/components/better_ui/general/heading/component.rb
136
+ - app/components/better_ui/general/icon/component.html.erb
137
+ - app/components/better_ui/general/icon/component.rb
138
+ - app/components/better_ui/general/input/checkbox/component.html.erb
139
+ - app/components/better_ui/general/input/checkbox/component.rb
140
+ - app/components/better_ui/general/input/datetime/component.html.erb
141
+ - app/components/better_ui/general/input/datetime/component.rb
142
+ - app/components/better_ui/general/input/radio/component.html.erb
143
+ - app/components/better_ui/general/input/radio/component.rb
144
+ - app/components/better_ui/general/input/select/component.html.erb
145
+ - app/components/better_ui/general/input/select/component.rb
146
+ - app/components/better_ui/general/input/select/select_component.html.erb
147
+ - app/components/better_ui/general/input/select/select_component.rb
148
+ - app/components/better_ui/general/input/text/component.html.erb
149
+ - app/components/better_ui/general/input/text/component.rb
150
+ - app/components/better_ui/general/input/textarea/component.html.erb
151
+ - app/components/better_ui/general/input/textarea/component.rb
152
+ - app/components/better_ui/general/link/component.html.erb
153
+ - app/components/better_ui/general/link/component.rb
154
+ - app/components/better_ui/general/panel/component.html.erb
155
+ - app/components/better_ui/general/panel/component.rb
156
+ - app/components/better_ui/general/progress/component.html.erb
157
+ - app/components/better_ui/general/progress/component.rb
158
+ - app/components/better_ui/general/spinner/component.html.erb
159
+ - app/components/better_ui/general/spinner/component.rb
160
+ - app/components/better_ui/general/table/component.html.erb
161
+ - app/components/better_ui/general/table/component.rb
162
+ - app/components/better_ui/general/table/tbody_component.html.erb
163
+ - app/components/better_ui/general/table/tbody_component.rb
164
+ - app/components/better_ui/general/table/td_component.html.erb
165
+ - app/components/better_ui/general/table/td_component.rb
166
+ - app/components/better_ui/general/table/tfoot_component.html.erb
167
+ - app/components/better_ui/general/table/tfoot_component.rb
168
+ - app/components/better_ui/general/table/th_component.html.erb
169
+ - app/components/better_ui/general/table/th_component.rb
170
+ - app/components/better_ui/general/table/thead_component.html.erb
171
+ - app/components/better_ui/general/table/thead_component.rb
172
+ - app/components/better_ui/general/table/tr_component.html.erb
173
+ - app/components/better_ui/general/table/tr_component.rb
174
+ - app/components/better_ui/general/tag/component.html.erb
175
+ - app/components/better_ui/general/tag/component.rb
176
+ - app/components/better_ui/general/tooltip/component.html.erb
177
+ - app/components/better_ui/general/tooltip/component.rb
109
178
  - app/controllers/better_ui/application_controller.rb
110
- - app/controllers/better_ui/docs_controller.rb
179
+ - app/helpers/better_ui/application/components/card.rb
180
+ - app/helpers/better_ui/application/components/card/card_helper.rb
181
+ - app/helpers/better_ui/application/components/main/main_helper.rb
182
+ - app/helpers/better_ui/application/components/navbar/navbar_helper.rb
183
+ - app/helpers/better_ui/application/components/sidebar/sidebar_helper.rb
111
184
  - app/helpers/better_ui/application_helper.rb
185
+ - app/helpers/better_ui/general/components/alert/alert_helper.rb
186
+ - app/helpers/better_ui/general/components/avatar/avatar_helper.rb
187
+ - app/helpers/better_ui/general/components/badge/badge_helper.rb
188
+ - app/helpers/better_ui/general/components/breadcrumb/breadcrumb_helper.rb
189
+ - app/helpers/better_ui/general/components/button/button_helper.rb
190
+ - app/helpers/better_ui/general/components/container/container_helper.rb
191
+ - app/helpers/better_ui/general/components/divider/divider_helper.rb
192
+ - app/helpers/better_ui/general/components/field/field_helper.rb
193
+ - app/helpers/better_ui/general/components/heading/heading_helper.rb
194
+ - app/helpers/better_ui/general/components/icon/icon_helper.rb
195
+ - app/helpers/better_ui/general/components/input/checkbox/checkbox_helper.rb
196
+ - app/helpers/better_ui/general/components/input/datetime/datetime_helper.rb
197
+ - app/helpers/better_ui/general/components/input/radio/radio_helper.rb
198
+ - app/helpers/better_ui/general/components/input/radio_group/radio_group_helper.rb
199
+ - app/helpers/better_ui/general/components/input/select/select_helper.rb
200
+ - app/helpers/better_ui/general/components/input/text/text_helper.rb
201
+ - app/helpers/better_ui/general/components/input/textarea/textarea_helper.rb
202
+ - app/helpers/better_ui/general/components/link/link_helper.rb
203
+ - app/helpers/better_ui/general/components/panel/panel_helper.rb
204
+ - app/helpers/better_ui/general/components/progress/progress_helper.rb
205
+ - app/helpers/better_ui/general/components/spinner/spinner_helper.rb
206
+ - app/helpers/better_ui/general/components/table/table_helper.rb
207
+ - app/helpers/better_ui/general/components/table/tbody_helper.rb
208
+ - app/helpers/better_ui/general/components/table/td_helper.rb
209
+ - app/helpers/better_ui/general/components/table/tfoot_helper.rb
210
+ - app/helpers/better_ui/general/components/table/th_helper.rb
211
+ - app/helpers/better_ui/general/components/table/thead_helper.rb
212
+ - app/helpers/better_ui/general/components/table/tr_helper.rb
213
+ - app/helpers/better_ui/general/components/tag/tag_helper.rb
214
+ - app/helpers/better_ui/general/components/tooltip/tooltip_helper.rb
112
215
  - app/jobs/better_ui/application_job.rb
113
216
  - app/mailers/better_ui/application_mailer.rb
114
217
  - app/models/better_ui/application_record.rb
115
- - app/views/better_ui/docs/component.html.erb
116
- - app/views/better_ui/docs/index.html.erb
117
- - app/views/better_ui/docs/show.html.erb
118
218
  - app/views/layouts/better_ui/application.html.erb
219
+ - config/initializers/lookbook.rb
119
220
  - config/routes.rb
120
221
  - lib/better_ui.rb
121
222
  - lib/better_ui/engine.rb
223
+ - lib/better_ui/railtie.rb
122
224
  - lib/better_ui/version.rb
123
225
  - lib/tasks/better_ui_tasks.rake
124
226
  homepage: https://github.com/alessiobussolari/better_ui
@@ -129,6 +231,7 @@ metadata:
129
231
  homepage_uri: https://github.com/alessiobussolari/better_ui
130
232
  source_code_uri: https://github.com/alessiobussolari/better_ui
131
233
  changelog_uri: https://github.com/alessiobussolari/better_ui/blob/main/CHANGELOG.md
234
+ rubygems_mfa_required: 'true'
132
235
  post_install_message:
133
236
  rdoc_options: []
134
237
  require_paths:
@@ -147,5 +250,5 @@ requirements: []
147
250
  rubygems_version: 3.5.11
148
251
  signing_key:
149
252
  specification_version: 4
150
- summary: Componenti UI riutilizzabili per Rails con documentazione integrata
253
+ summary: Elegant and reusable UI components for Rails with integrated documentation
151
254
  test_files: []
@@ -1,41 +0,0 @@
1
- module BetterUi
2
- class DocsController < ApplicationController
3
- def index
4
- @components = [
5
- { name: 'Button', path: better_ui.docs_component_path('button') },
6
- { name: 'Alert', path: better_ui.docs_component_path('alert') },
7
- { name: 'Card', path: better_ui.docs_component_path('card') },
8
- { name: 'Modal', path: better_ui.docs_component_path('modal') },
9
- { name: 'Tabs', path: better_ui.docs_component_path('tabs') },
10
- { name: 'Form Elements', path: better_ui.docs_component_path('form_elements') }
11
- ]
12
- end
13
-
14
- def show
15
- doc_file = Rails.root.join('docs', "#{params[:page]}.md")
16
-
17
- if File.exist?(doc_file)
18
- @content = File.read(doc_file)
19
- else
20
- @content = "# Documentazione non trovata\nLa pagina richiesta non è stata trovata."
21
- end
22
- end
23
-
24
- def component
25
- component_name = params[:component]
26
-
27
- # Percorso relativo ai file di documentazione dei componenti
28
- doc_file = BetterUi::Engine.root.join('docs', 'components', "#{component_name}.md")
29
-
30
- if File.exist?(doc_file)
31
- @content = File.read(doc_file)
32
- else
33
- @content = "# Componente non trovato\nLa documentazione per il componente '#{component_name}' non è stata trovata."
34
- end
35
-
36
- # Decidere quali esempi mostrare in base al componente
37
- @component_name = component_name
38
- render :component
39
- end
40
- end
41
- end