better_ui 0.3.0 → 0.5.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.

Potentially problematic release.


This version of better_ui might be problematic. Click here for more details.

Files changed (231) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +140 -230
  4. data/app/assets/stylesheets/better_ui/_base.scss +9 -0
  5. data/app/assets/stylesheets/better_ui/_components.scss +2 -0
  6. data/app/assets/stylesheets/better_ui/_utilities.scss +14 -0
  7. data/app/assets/stylesheets/better_ui/application.css +32 -0
  8. data/app/assets/stylesheets/better_ui/components/_avatar.scss +200 -0
  9. data/app/assets/stylesheets/better_ui/components/_badge.scss +154 -0
  10. data/app/assets/stylesheets/better_ui/components/_breadcrumb.scss +106 -0
  11. data/app/assets/stylesheets/better_ui/components/_button.scss +105 -0
  12. data/app/assets/stylesheets/better_ui/components/_card.scss +60 -0
  13. data/app/assets/stylesheets/better_ui/components/_heading.scss +81 -0
  14. data/app/assets/stylesheets/better_ui/components/_icon.scss +134 -0
  15. data/app/assets/stylesheets/better_ui/components/_index.scss +17 -0
  16. data/app/assets/stylesheets/better_ui/components/_link.scss +100 -0
  17. data/app/assets/stylesheets/better_ui/components/_panel.scss +104 -0
  18. data/app/assets/stylesheets/better_ui/components/_spinner.scss +129 -0
  19. data/app/assets/stylesheets/better_ui/components/_table.scss +156 -0
  20. data/app/assets/stylesheets/better_ui/components/_variables.scss +1 -0
  21. data/app/assets/stylesheets/better_ui.scss +4 -0
  22. data/app/components/better_ui/application/alert_component.html.erb +27 -0
  23. data/app/components/better_ui/application/alert_component.rb +202 -0
  24. data/app/components/better_ui/application/card_component.html.erb +24 -0
  25. data/app/components/better_ui/application/card_component.rb +53 -0
  26. data/app/components/better_ui/application/card_container_component.html.erb +8 -0
  27. data/app/components/better_ui/application/card_container_component.rb +14 -0
  28. data/app/components/better_ui/application/header_component.html.erb +88 -0
  29. data/app/components/better_ui/application/header_component.rb +188 -0
  30. data/app/components/better_ui/application/navbar_component.html.erb +294 -0
  31. data/app/components/better_ui/application/navbar_component.rb +249 -0
  32. data/app/components/better_ui/application/sidebar_component.html.erb +207 -0
  33. data/app/components/better_ui/application/sidebar_component.rb +318 -0
  34. data/app/components/better_ui/application/toast_component.html.erb +35 -0
  35. data/app/components/better_ui/application/toast_component.rb +223 -0
  36. data/app/components/better_ui/general/avatar_component.html.erb +19 -0
  37. data/app/components/better_ui/general/avatar_component.rb +171 -0
  38. data/app/components/better_ui/general/{badge/component.html.erb → badge_component.html.erb} +2 -6
  39. data/app/components/better_ui/general/badge_component.rb +135 -0
  40. data/app/components/better_ui/general/{breadcrumb/component.html.erb → breadcrumb_component.html.erb} +4 -4
  41. data/app/components/better_ui/general/breadcrumb_component.rb +130 -0
  42. data/app/components/better_ui/general/{button/component.html.erb → button_component.html.erb} +7 -7
  43. data/app/components/better_ui/general/button_component.rb +160 -0
  44. data/app/components/better_ui/general/heading_component.html.erb +1 -0
  45. data/app/components/better_ui/general/heading_component.rb +49 -0
  46. data/app/components/better_ui/general/icon_component.html.erb +2 -0
  47. data/app/components/better_ui/general/icon_component.rb +77 -0
  48. data/app/components/better_ui/general/link_component.html.erb +17 -0
  49. data/app/components/better_ui/general/link_component.rb +132 -0
  50. data/app/components/better_ui/general/panel_component.html.erb +27 -0
  51. data/app/components/better_ui/general/panel_component.rb +92 -0
  52. data/app/components/better_ui/general/spinner_component.html.erb +15 -0
  53. data/app/components/better_ui/general/spinner_component.rb +79 -0
  54. data/app/components/better_ui/general/table_component.html.erb +73 -0
  55. data/app/components/better_ui/general/table_component.rb +143 -0
  56. data/app/controllers/better_ui/application_controller.rb +1 -0
  57. data/app/helpers/better_ui/general/components/avatar_helper.rb +17 -0
  58. data/app/helpers/better_ui/general/components/badge_helper.rb +17 -0
  59. data/app/helpers/better_ui/general/components/breadcrumb_helper.rb +17 -0
  60. data/app/helpers/better_ui/general/components/button_helper.rb +17 -0
  61. data/app/helpers/better_ui/general/components/heading_helper.rb +17 -0
  62. data/app/helpers/better_ui/general/components/icon_helper.rb +17 -0
  63. data/app/helpers/better_ui/general/components/link_helper.rb +17 -0
  64. data/app/helpers/better_ui/general/components/panel_helper.rb +16 -0
  65. data/app/helpers/better_ui/general/components/spinner_helper.rb +17 -0
  66. data/app/helpers/better_ui/general/components/table_helper.rb +17 -0
  67. data/app/helpers/better_ui/general_helper.rb +15 -0
  68. data/app/helpers/better_ui_helper.rb +12 -0
  69. data/app/views/components/better_ui/general/table/_custom_body_row.html.erb +17 -0
  70. data/app/views/components/better_ui/general/table/_custom_footer_rows.html.erb +17 -0
  71. data/app/views/components/better_ui/general/table/_custom_header_rows.html.erb +12 -0
  72. data/app/views/layouts/component_preview.html.erb +32 -0
  73. data/config/initializers/lookbook.rb +12 -12
  74. data/config/routes.rb +2 -0
  75. data/lib/better_ui/engine.rb +92 -5
  76. data/lib/better_ui/version.rb +1 -1
  77. data/lib/better_ui.rb +32 -4
  78. data/lib/generators/better_ui/install_generator.rb +103 -0
  79. data/lib/generators/better_ui/stylesheet_generator.rb +159 -0
  80. data/lib/generators/better_ui/templates/README +125 -0
  81. data/lib/generators/better_ui/templates/components/_avatar.scss +200 -0
  82. data/lib/generators/better_ui/templates/components/_badge.scss +154 -0
  83. data/lib/generators/better_ui/templates/components/_breadcrumb.scss +106 -0
  84. data/lib/generators/better_ui/templates/components/_button.scss +109 -0
  85. data/lib/generators/better_ui/templates/components/_card.scss +60 -0
  86. data/lib/generators/better_ui/templates/components/_heading.scss +81 -0
  87. data/lib/generators/better_ui/templates/components/_icon.scss +134 -0
  88. data/lib/generators/better_ui/templates/components/_index.scss +17 -0
  89. data/lib/generators/better_ui/templates/components/_link.scss +100 -0
  90. data/lib/generators/better_ui/templates/components/_panel.scss +104 -0
  91. data/lib/generators/better_ui/templates/components/_spinner.scss +129 -0
  92. data/lib/generators/better_ui/templates/components/_table.scss +156 -0
  93. data/lib/generators/better_ui/templates/components/_variables.scss +0 -0
  94. data/lib/generators/better_ui/templates/components_stylesheet.scss +35 -0
  95. data/lib/generators/better_ui/templates/index.scss +18 -0
  96. data/lib/generators/better_ui/templates/initializer.rb +41 -0
  97. metadata +178 -147
  98. data/app/components/better_ui/application/card/component.html.erb +0 -20
  99. data/app/components/better_ui/application/card/component.rb +0 -214
  100. data/app/components/better_ui/application/main/component.html.erb +0 -9
  101. data/app/components/better_ui/application/main/component.rb +0 -123
  102. data/app/components/better_ui/application/navbar/component.html.erb +0 -92
  103. data/app/components/better_ui/application/navbar/component.rb +0 -136
  104. data/app/components/better_ui/application/sidebar/component.html.erb +0 -227
  105. data/app/components/better_ui/application/sidebar/component.rb +0 -130
  106. data/app/components/better_ui/general/accordion/component.html.erb +0 -5
  107. data/app/components/better_ui/general/accordion/component.rb +0 -92
  108. data/app/components/better_ui/general/accordion/item_component.html.erb +0 -12
  109. data/app/components/better_ui/general/accordion/item_component.rb +0 -176
  110. data/app/components/better_ui/general/alert/component.html.erb +0 -32
  111. data/app/components/better_ui/general/alert/component.rb +0 -242
  112. data/app/components/better_ui/general/avatar/component.html.erb +0 -20
  113. data/app/components/better_ui/general/avatar/component.rb +0 -301
  114. data/app/components/better_ui/general/badge/component.rb +0 -248
  115. data/app/components/better_ui/general/breadcrumb/component.rb +0 -187
  116. data/app/components/better_ui/general/button/component.rb +0 -214
  117. data/app/components/better_ui/general/divider/component.html.erb +0 -10
  118. data/app/components/better_ui/general/divider/component.rb +0 -226
  119. data/app/components/better_ui/general/dropdown/component.html.erb +0 -25
  120. data/app/components/better_ui/general/dropdown/component.rb +0 -170
  121. data/app/components/better_ui/general/dropdown/divider_component.html.erb +0 -1
  122. data/app/components/better_ui/general/dropdown/divider_component.rb +0 -41
  123. data/app/components/better_ui/general/dropdown/item_component.html.erb +0 -6
  124. data/app/components/better_ui/general/dropdown/item_component.rb +0 -119
  125. data/app/components/better_ui/general/field/component.html.erb +0 -27
  126. data/app/components/better_ui/general/field/component.rb +0 -37
  127. data/app/components/better_ui/general/heading/component.html.erb +0 -22
  128. data/app/components/better_ui/general/heading/component.rb +0 -257
  129. data/app/components/better_ui/general/icon/component.html.erb +0 -7
  130. data/app/components/better_ui/general/icon/component.rb +0 -239
  131. data/app/components/better_ui/general/input/checkbox/component.html.erb +0 -5
  132. data/app/components/better_ui/general/input/checkbox/component.rb +0 -238
  133. data/app/components/better_ui/general/input/datetime/component.html.erb +0 -5
  134. data/app/components/better_ui/general/input/datetime/component.rb +0 -223
  135. data/app/components/better_ui/general/input/radio/component.html.erb +0 -5
  136. data/app/components/better_ui/general/input/radio/component.rb +0 -230
  137. data/app/components/better_ui/general/input/select/component.html.erb +0 -16
  138. data/app/components/better_ui/general/input/select/component.rb +0 -184
  139. data/app/components/better_ui/general/input/select/select_component.html.erb +0 -5
  140. data/app/components/better_ui/general/input/select/select_component.rb +0 -37
  141. data/app/components/better_ui/general/input/text/component.html.erb +0 -5
  142. data/app/components/better_ui/general/input/text/component.rb +0 -171
  143. data/app/components/better_ui/general/input/textarea/component.html.erb +0 -5
  144. data/app/components/better_ui/general/input/textarea/component.rb +0 -166
  145. data/app/components/better_ui/general/link/component.html.erb +0 -18
  146. data/app/components/better_ui/general/link/component.rb +0 -258
  147. data/app/components/better_ui/general/modal/component.html.erb +0 -5
  148. data/app/components/better_ui/general/modal/component.rb +0 -47
  149. data/app/components/better_ui/general/modal/modal_component.html.erb +0 -52
  150. data/app/components/better_ui/general/modal/modal_component.rb +0 -160
  151. data/app/components/better_ui/general/pagination/component.html.erb +0 -85
  152. data/app/components/better_ui/general/pagination/component.rb +0 -216
  153. data/app/components/better_ui/general/panel/component.html.erb +0 -28
  154. data/app/components/better_ui/general/panel/component.rb +0 -249
  155. data/app/components/better_ui/general/progress/component.html.erb +0 -11
  156. data/app/components/better_ui/general/progress/component.rb +0 -160
  157. data/app/components/better_ui/general/spinner/component.html.erb +0 -35
  158. data/app/components/better_ui/general/spinner/component.rb +0 -93
  159. data/app/components/better_ui/general/table/component.html.erb +0 -5
  160. data/app/components/better_ui/general/table/component.rb +0 -217
  161. data/app/components/better_ui/general/table/tbody_component.html.erb +0 -3
  162. data/app/components/better_ui/general/table/tbody_component.rb +0 -30
  163. data/app/components/better_ui/general/table/td_component.html.erb +0 -3
  164. data/app/components/better_ui/general/table/td_component.rb +0 -44
  165. data/app/components/better_ui/general/table/tfoot_component.html.erb +0 -3
  166. data/app/components/better_ui/general/table/tfoot_component.rb +0 -28
  167. data/app/components/better_ui/general/table/th_component.html.erb +0 -6
  168. data/app/components/better_ui/general/table/th_component.rb +0 -51
  169. data/app/components/better_ui/general/table/thead_component.html.erb +0 -3
  170. data/app/components/better_ui/general/table/thead_component.rb +0 -28
  171. data/app/components/better_ui/general/table/tr_component.html.erb +0 -3
  172. data/app/components/better_ui/general/table/tr_component.rb +0 -30
  173. data/app/components/better_ui/general/tabs/component.html.erb +0 -11
  174. data/app/components/better_ui/general/tabs/component.rb +0 -120
  175. data/app/components/better_ui/general/tabs/panel_component.html.erb +0 -3
  176. data/app/components/better_ui/general/tabs/panel_component.rb +0 -37
  177. data/app/components/better_ui/general/tabs/tab_component.html.erb +0 -13
  178. data/app/components/better_ui/general/tabs/tab_component.rb +0 -111
  179. data/app/components/better_ui/general/tag/component.html.erb +0 -3
  180. data/app/components/better_ui/general/tag/component.rb +0 -104
  181. data/app/components/better_ui/general/tooltip/component.html.erb +0 -7
  182. data/app/components/better_ui/general/tooltip/component.rb +0 -239
  183. data/app/helpers/better_ui/application/components/card/card_helper.rb +0 -96
  184. data/app/helpers/better_ui/application/components/card.rb +0 -11
  185. data/app/helpers/better_ui/application/components/main/main_helper.rb +0 -64
  186. data/app/helpers/better_ui/application/components/navbar/navbar_helper.rb +0 -77
  187. data/app/helpers/better_ui/application/components/sidebar/sidebar_helper.rb +0 -51
  188. data/app/helpers/better_ui/application_helper.rb +0 -55
  189. data/app/helpers/better_ui/general/components/accordion/accordion_helper.rb +0 -73
  190. data/app/helpers/better_ui/general/components/accordion.rb +0 -11
  191. data/app/helpers/better_ui/general/components/alert/alert_helper.rb +0 -57
  192. data/app/helpers/better_ui/general/components/avatar/avatar_helper.rb +0 -29
  193. data/app/helpers/better_ui/general/components/badge/badge_helper.rb +0 -53
  194. data/app/helpers/better_ui/general/components/breadcrumb/breadcrumb_helper.rb +0 -37
  195. data/app/helpers/better_ui/general/components/button/button_helper.rb +0 -65
  196. data/app/helpers/better_ui/general/components/container/container_helper.rb +0 -60
  197. data/app/helpers/better_ui/general/components/divider/divider_helper.rb +0 -63
  198. data/app/helpers/better_ui/general/components/dropdown/divider_helper.rb +0 -32
  199. data/app/helpers/better_ui/general/components/dropdown/dropdown_helper.rb +0 -79
  200. data/app/helpers/better_ui/general/components/dropdown/item_helper.rb +0 -62
  201. data/app/helpers/better_ui/general/components/field/field_helper.rb +0 -26
  202. data/app/helpers/better_ui/general/components/heading/heading_helper.rb +0 -72
  203. data/app/helpers/better_ui/general/components/icon/icon_helper.rb +0 -16
  204. data/app/helpers/better_ui/general/components/input/checkbox/checkbox_helper.rb +0 -81
  205. data/app/helpers/better_ui/general/components/input/datetime/datetime_helper.rb +0 -91
  206. data/app/helpers/better_ui/general/components/input/radio/radio_helper.rb +0 -79
  207. data/app/helpers/better_ui/general/components/input/radio_group/radio_group_helper.rb +0 -124
  208. data/app/helpers/better_ui/general/components/input/select/select_helper.rb +0 -70
  209. data/app/helpers/better_ui/general/components/input/text/text_helper.rb +0 -138
  210. data/app/helpers/better_ui/general/components/input/textarea/textarea_helper.rb +0 -73
  211. data/app/helpers/better_ui/general/components/link/link_helper.rb +0 -89
  212. data/app/helpers/better_ui/general/components/modal/modal_helper.rb +0 -85
  213. data/app/helpers/better_ui/general/components/modal.rb +0 -11
  214. data/app/helpers/better_ui/general/components/pagination/pagination_helper.rb +0 -82
  215. data/app/helpers/better_ui/general/components/panel/panel_helper.rb +0 -83
  216. data/app/helpers/better_ui/general/components/progress/progress_helper.rb +0 -53
  217. data/app/helpers/better_ui/general/components/spinner/spinner_helper.rb +0 -19
  218. data/app/helpers/better_ui/general/components/table/table_helper.rb +0 -53
  219. data/app/helpers/better_ui/general/components/table/tbody_helper.rb +0 -13
  220. data/app/helpers/better_ui/general/components/table/td_helper.rb +0 -19
  221. data/app/helpers/better_ui/general/components/table/tfoot_helper.rb +0 -13
  222. data/app/helpers/better_ui/general/components/table/th_helper.rb +0 -19
  223. data/app/helpers/better_ui/general/components/table/thead_helper.rb +0 -13
  224. data/app/helpers/better_ui/general/components/table/tr_helper.rb +0 -13
  225. data/app/helpers/better_ui/general/components/tabs/panel_helper.rb +0 -62
  226. data/app/helpers/better_ui/general/components/tabs/tab_helper.rb +0 -55
  227. data/app/helpers/better_ui/general/components/tabs/tabs_helper.rb +0 -95
  228. data/app/helpers/better_ui/general/components/tag/tag_helper.rb +0 -26
  229. data/app/helpers/better_ui/general/components/tooltip/tooltip_helper.rb +0 -60
  230. data/app/views/layouts/better_ui/application.html.erb +0 -17
  231. data/lib/better_ui/railtie.rb +0 -20
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Configurazione di Better UI
4
+ # Questo file contiene le impostazioni predefinite per i componenti di Better UI.
5
+ # Puoi modificare queste impostazioni in base alle tue necessità.
6
+
7
+ BetterUi.configure do |config|
8
+ # Configurazione predefinita per i bottoni
9
+ # Queste impostazioni verranno applicate a tutti i bottoni a meno che non vengano sovrascritte
10
+ config.button_defaults = {
11
+ type: :default, # Tipo di bottone (:default, :white, :red, :green, ecc.)
12
+ size: :medium, # Dimensione del bottone (:small, :medium, :large)
13
+ rounded: :small, # Arrotondamento (:none, :small, :medium, :large, :full)
14
+ full_width: false, # Se il bottone deve occupare tutta la larghezza disponibile
15
+ disabled: false # Se il bottone è disabilitato di default
16
+ }
17
+
18
+ # Configurazione predefinita per gli alert
19
+ config.alert_defaults = {
20
+ theme: :default, # Tema dell'alert (:default, :success, :warning, :danger, :info)
21
+ dismissible: true, # Se l'alert può essere chiuso dall'utente
22
+ icon: true # Se mostrare l'icona associata al tema
23
+ }
24
+
25
+ # Configurazione predefinita per le card
26
+ config.card_defaults = {
27
+ theme: :default, # Tema della card (:default, :outline, :elevated)
28
+ padding: :medium, # Padding interno (:small, :medium, :large)
29
+ rounded: :medium, # Arrotondamento (:none, :small, :medium, :large)
30
+ shadow: :medium # Ombreggiatura (:none, :small, :medium, :large)
31
+ }
32
+
33
+ # Configurazione predefinita per i tab
34
+ config.tabs_defaults = {
35
+ theme: :default, # Tema dei tab (:default, :pills, :underline)
36
+ size: :medium, # Dimensione (:small, :medium, :large)
37
+ alignment: :left # Allineamento (:left, :center, :right, :justified)
38
+ }
39
+
40
+ # Puoi aggiungere altre configurazioni predefinite per i tuoi componenti qui
41
+ end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - alessiobussolari
8
- - umberto_peserico
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2025-06-03 00:00:00.000000000 Z
11
+ date: 2025-05-05 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
@@ -39,6 +38,20 @@ dependencies:
39
38
  - - "~>"
40
39
  - !ruby/object:Gem::Version
41
40
  version: '3.22'
41
+ - !ruby/object:Gem::Dependency
42
+ name: tailwindcss-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '4.0'
42
55
  - !ruby/object:Gem::Dependency
43
56
  name: redcarpet
44
57
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +80,20 @@ dependencies:
67
80
  - - "~>"
68
81
  - !ruby/object:Gem::Version
69
82
  version: '1.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: font-awesome-sass
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '6.5'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '6.5'
70
97
  - !ruby/object:Gem::Dependency
71
98
  name: lookbook
72
99
  requirement: !ruby/object:Gem::Requirement
@@ -74,7 +101,7 @@ dependencies:
74
101
  - - "~>"
75
102
  - !ruby/object:Gem::Version
76
103
  version: '2.3'
77
- type: :runtime
104
+ type: :development
78
105
  prerelease: false
79
106
  version_requirements: !ruby/object:Gem::Requirement
80
107
  requirements:
@@ -82,25 +109,80 @@ dependencies:
82
109
  - !ruby/object:Gem::Version
83
110
  version: '2.3'
84
111
  - !ruby/object:Gem::Dependency
85
- name: font-awesome-sass
112
+ name: listen
86
113
  requirement: !ruby/object:Gem::Requirement
87
114
  requirements:
88
115
  - - "~>"
89
116
  - !ruby/object:Gem::Version
90
- version: '6.5'
91
- type: :runtime
117
+ version: '3.9'
118
+ type: :development
92
119
  prerelease: false
93
120
  version_requirements: !ruby/object:Gem::Requirement
94
121
  requirements:
95
122
  - - "~>"
96
123
  - !ruby/object:Gem::Version
97
- version: '6.5'
124
+ version: '3.9'
125
+ - !ruby/object:Gem::Dependency
126
+ name: sqlite3
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.6'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.6'
139
+ - !ruby/object:Gem::Dependency
140
+ name: puma
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '6.4'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '6.4'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec-rails
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '6.1'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '6.1'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rubocop
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '1.59'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '1.59'
98
181
  description: Better UI is a Rails gem that works as a mountable engine containing
99
182
  reusable UI components, built with ViewComponent and Tailwind CSS, following the
100
183
  BEM methodology. It includes documentation and interactive previews with Lookbook.
101
184
  email:
102
185
  - alessio.bussolari@pandev.it
103
- - umberto.peserico@pandev.it
104
186
  executables: []
105
187
  extensions: []
106
188
  extra_rdoc_files: []
@@ -108,153 +190,102 @@ files:
108
190
  - MIT-LICENSE
109
191
  - README.md
110
192
  - Rakefile
193
+ - app/assets/stylesheets/better_ui.scss
194
+ - app/assets/stylesheets/better_ui/_base.scss
195
+ - app/assets/stylesheets/better_ui/_components.scss
196
+ - app/assets/stylesheets/better_ui/_utilities.scss
111
197
  - 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/accordion/component.html.erb
121
- - app/components/better_ui/general/accordion/component.rb
122
- - app/components/better_ui/general/accordion/item_component.html.erb
123
- - app/components/better_ui/general/accordion/item_component.rb
124
- - app/components/better_ui/general/alert/component.html.erb
125
- - app/components/better_ui/general/alert/component.rb
126
- - app/components/better_ui/general/avatar/component.html.erb
127
- - app/components/better_ui/general/avatar/component.rb
128
- - app/components/better_ui/general/badge/component.html.erb
129
- - app/components/better_ui/general/badge/component.rb
130
- - app/components/better_ui/general/breadcrumb/component.html.erb
131
- - app/components/better_ui/general/breadcrumb/component.rb
132
- - app/components/better_ui/general/button/component.html.erb
133
- - app/components/better_ui/general/button/component.rb
134
- - app/components/better_ui/general/divider/component.html.erb
135
- - app/components/better_ui/general/divider/component.rb
136
- - app/components/better_ui/general/dropdown/component.html.erb
137
- - app/components/better_ui/general/dropdown/component.rb
138
- - app/components/better_ui/general/dropdown/divider_component.html.erb
139
- - app/components/better_ui/general/dropdown/divider_component.rb
140
- - app/components/better_ui/general/dropdown/item_component.html.erb
141
- - app/components/better_ui/general/dropdown/item_component.rb
142
- - app/components/better_ui/general/field/component.html.erb
143
- - app/components/better_ui/general/field/component.rb
144
- - app/components/better_ui/general/heading/component.html.erb
145
- - app/components/better_ui/general/heading/component.rb
146
- - app/components/better_ui/general/icon/component.html.erb
147
- - app/components/better_ui/general/icon/component.rb
148
- - app/components/better_ui/general/input/checkbox/component.html.erb
149
- - app/components/better_ui/general/input/checkbox/component.rb
150
- - app/components/better_ui/general/input/datetime/component.html.erb
151
- - app/components/better_ui/general/input/datetime/component.rb
152
- - app/components/better_ui/general/input/radio/component.html.erb
153
- - app/components/better_ui/general/input/radio/component.rb
154
- - app/components/better_ui/general/input/select/component.html.erb
155
- - app/components/better_ui/general/input/select/component.rb
156
- - app/components/better_ui/general/input/select/select_component.html.erb
157
- - app/components/better_ui/general/input/select/select_component.rb
158
- - app/components/better_ui/general/input/text/component.html.erb
159
- - app/components/better_ui/general/input/text/component.rb
160
- - app/components/better_ui/general/input/textarea/component.html.erb
161
- - app/components/better_ui/general/input/textarea/component.rb
162
- - app/components/better_ui/general/link/component.html.erb
163
- - app/components/better_ui/general/link/component.rb
164
- - app/components/better_ui/general/modal/component.html.erb
165
- - app/components/better_ui/general/modal/component.rb
166
- - app/components/better_ui/general/modal/modal_component.html.erb
167
- - app/components/better_ui/general/modal/modal_component.rb
168
- - app/components/better_ui/general/pagination/component.html.erb
169
- - app/components/better_ui/general/pagination/component.rb
170
- - app/components/better_ui/general/panel/component.html.erb
171
- - app/components/better_ui/general/panel/component.rb
172
- - app/components/better_ui/general/progress/component.html.erb
173
- - app/components/better_ui/general/progress/component.rb
174
- - app/components/better_ui/general/spinner/component.html.erb
175
- - app/components/better_ui/general/spinner/component.rb
176
- - app/components/better_ui/general/table/component.html.erb
177
- - app/components/better_ui/general/table/component.rb
178
- - app/components/better_ui/general/table/tbody_component.html.erb
179
- - app/components/better_ui/general/table/tbody_component.rb
180
- - app/components/better_ui/general/table/td_component.html.erb
181
- - app/components/better_ui/general/table/td_component.rb
182
- - app/components/better_ui/general/table/tfoot_component.html.erb
183
- - app/components/better_ui/general/table/tfoot_component.rb
184
- - app/components/better_ui/general/table/th_component.html.erb
185
- - app/components/better_ui/general/table/th_component.rb
186
- - app/components/better_ui/general/table/thead_component.html.erb
187
- - app/components/better_ui/general/table/thead_component.rb
188
- - app/components/better_ui/general/table/tr_component.html.erb
189
- - app/components/better_ui/general/table/tr_component.rb
190
- - app/components/better_ui/general/tabs/component.html.erb
191
- - app/components/better_ui/general/tabs/component.rb
192
- - app/components/better_ui/general/tabs/panel_component.html.erb
193
- - app/components/better_ui/general/tabs/panel_component.rb
194
- - app/components/better_ui/general/tabs/tab_component.html.erb
195
- - app/components/better_ui/general/tabs/tab_component.rb
196
- - app/components/better_ui/general/tag/component.html.erb
197
- - app/components/better_ui/general/tag/component.rb
198
- - app/components/better_ui/general/tooltip/component.html.erb
199
- - app/components/better_ui/general/tooltip/component.rb
198
+ - app/assets/stylesheets/better_ui/components/_avatar.scss
199
+ - app/assets/stylesheets/better_ui/components/_badge.scss
200
+ - app/assets/stylesheets/better_ui/components/_breadcrumb.scss
201
+ - app/assets/stylesheets/better_ui/components/_button.scss
202
+ - app/assets/stylesheets/better_ui/components/_card.scss
203
+ - app/assets/stylesheets/better_ui/components/_heading.scss
204
+ - app/assets/stylesheets/better_ui/components/_icon.scss
205
+ - app/assets/stylesheets/better_ui/components/_index.scss
206
+ - app/assets/stylesheets/better_ui/components/_link.scss
207
+ - app/assets/stylesheets/better_ui/components/_panel.scss
208
+ - app/assets/stylesheets/better_ui/components/_spinner.scss
209
+ - app/assets/stylesheets/better_ui/components/_table.scss
210
+ - app/assets/stylesheets/better_ui/components/_variables.scss
211
+ - app/components/better_ui/application/alert_component.html.erb
212
+ - app/components/better_ui/application/alert_component.rb
213
+ - app/components/better_ui/application/card_component.html.erb
214
+ - app/components/better_ui/application/card_component.rb
215
+ - app/components/better_ui/application/card_container_component.html.erb
216
+ - app/components/better_ui/application/card_container_component.rb
217
+ - app/components/better_ui/application/header_component.html.erb
218
+ - app/components/better_ui/application/header_component.rb
219
+ - app/components/better_ui/application/navbar_component.html.erb
220
+ - app/components/better_ui/application/navbar_component.rb
221
+ - app/components/better_ui/application/sidebar_component.html.erb
222
+ - app/components/better_ui/application/sidebar_component.rb
223
+ - app/components/better_ui/application/toast_component.html.erb
224
+ - app/components/better_ui/application/toast_component.rb
225
+ - app/components/better_ui/general/avatar_component.html.erb
226
+ - app/components/better_ui/general/avatar_component.rb
227
+ - app/components/better_ui/general/badge_component.html.erb
228
+ - app/components/better_ui/general/badge_component.rb
229
+ - app/components/better_ui/general/breadcrumb_component.html.erb
230
+ - app/components/better_ui/general/breadcrumb_component.rb
231
+ - app/components/better_ui/general/button_component.html.erb
232
+ - app/components/better_ui/general/button_component.rb
233
+ - app/components/better_ui/general/heading_component.html.erb
234
+ - app/components/better_ui/general/heading_component.rb
235
+ - app/components/better_ui/general/icon_component.html.erb
236
+ - app/components/better_ui/general/icon_component.rb
237
+ - app/components/better_ui/general/link_component.html.erb
238
+ - app/components/better_ui/general/link_component.rb
239
+ - app/components/better_ui/general/panel_component.html.erb
240
+ - app/components/better_ui/general/panel_component.rb
241
+ - app/components/better_ui/general/spinner_component.html.erb
242
+ - app/components/better_ui/general/spinner_component.rb
243
+ - app/components/better_ui/general/table_component.html.erb
244
+ - app/components/better_ui/general/table_component.rb
200
245
  - app/controllers/better_ui/application_controller.rb
201
- - app/helpers/better_ui/application/components/card.rb
202
- - app/helpers/better_ui/application/components/card/card_helper.rb
203
- - app/helpers/better_ui/application/components/main/main_helper.rb
204
- - app/helpers/better_ui/application/components/navbar/navbar_helper.rb
205
- - app/helpers/better_ui/application/components/sidebar/sidebar_helper.rb
206
- - app/helpers/better_ui/application_helper.rb
207
- - app/helpers/better_ui/general/components/accordion.rb
208
- - app/helpers/better_ui/general/components/accordion/accordion_helper.rb
209
- - app/helpers/better_ui/general/components/alert/alert_helper.rb
210
- - app/helpers/better_ui/general/components/avatar/avatar_helper.rb
211
- - app/helpers/better_ui/general/components/badge/badge_helper.rb
212
- - app/helpers/better_ui/general/components/breadcrumb/breadcrumb_helper.rb
213
- - app/helpers/better_ui/general/components/button/button_helper.rb
214
- - app/helpers/better_ui/general/components/container/container_helper.rb
215
- - app/helpers/better_ui/general/components/divider/divider_helper.rb
216
- - app/helpers/better_ui/general/components/dropdown/divider_helper.rb
217
- - app/helpers/better_ui/general/components/dropdown/dropdown_helper.rb
218
- - app/helpers/better_ui/general/components/dropdown/item_helper.rb
219
- - app/helpers/better_ui/general/components/field/field_helper.rb
220
- - app/helpers/better_ui/general/components/heading/heading_helper.rb
221
- - app/helpers/better_ui/general/components/icon/icon_helper.rb
222
- - app/helpers/better_ui/general/components/input/checkbox/checkbox_helper.rb
223
- - app/helpers/better_ui/general/components/input/datetime/datetime_helper.rb
224
- - app/helpers/better_ui/general/components/input/radio/radio_helper.rb
225
- - app/helpers/better_ui/general/components/input/radio_group/radio_group_helper.rb
226
- - app/helpers/better_ui/general/components/input/select/select_helper.rb
227
- - app/helpers/better_ui/general/components/input/text/text_helper.rb
228
- - app/helpers/better_ui/general/components/input/textarea/textarea_helper.rb
229
- - app/helpers/better_ui/general/components/link/link_helper.rb
230
- - app/helpers/better_ui/general/components/modal.rb
231
- - app/helpers/better_ui/general/components/modal/modal_helper.rb
232
- - app/helpers/better_ui/general/components/pagination/pagination_helper.rb
233
- - app/helpers/better_ui/general/components/panel/panel_helper.rb
234
- - app/helpers/better_ui/general/components/progress/progress_helper.rb
235
- - app/helpers/better_ui/general/components/spinner/spinner_helper.rb
236
- - app/helpers/better_ui/general/components/table/table_helper.rb
237
- - app/helpers/better_ui/general/components/table/tbody_helper.rb
238
- - app/helpers/better_ui/general/components/table/td_helper.rb
239
- - app/helpers/better_ui/general/components/table/tfoot_helper.rb
240
- - app/helpers/better_ui/general/components/table/th_helper.rb
241
- - app/helpers/better_ui/general/components/table/thead_helper.rb
242
- - app/helpers/better_ui/general/components/table/tr_helper.rb
243
- - app/helpers/better_ui/general/components/tabs/panel_helper.rb
244
- - app/helpers/better_ui/general/components/tabs/tab_helper.rb
245
- - app/helpers/better_ui/general/components/tabs/tabs_helper.rb
246
- - app/helpers/better_ui/general/components/tag/tag_helper.rb
247
- - app/helpers/better_ui/general/components/tooltip/tooltip_helper.rb
246
+ - app/helpers/better_ui/general/components/avatar_helper.rb
247
+ - app/helpers/better_ui/general/components/badge_helper.rb
248
+ - app/helpers/better_ui/general/components/breadcrumb_helper.rb
249
+ - app/helpers/better_ui/general/components/button_helper.rb
250
+ - app/helpers/better_ui/general/components/heading_helper.rb
251
+ - app/helpers/better_ui/general/components/icon_helper.rb
252
+ - app/helpers/better_ui/general/components/link_helper.rb
253
+ - app/helpers/better_ui/general/components/panel_helper.rb
254
+ - app/helpers/better_ui/general/components/spinner_helper.rb
255
+ - app/helpers/better_ui/general/components/table_helper.rb
256
+ - app/helpers/better_ui/general_helper.rb
257
+ - app/helpers/better_ui_helper.rb
248
258
  - app/jobs/better_ui/application_job.rb
249
259
  - app/mailers/better_ui/application_mailer.rb
250
260
  - app/models/better_ui/application_record.rb
251
- - app/views/layouts/better_ui/application.html.erb
261
+ - app/views/components/better_ui/general/table/_custom_body_row.html.erb
262
+ - app/views/components/better_ui/general/table/_custom_footer_rows.html.erb
263
+ - app/views/components/better_ui/general/table/_custom_header_rows.html.erb
264
+ - app/views/layouts/component_preview.html.erb
252
265
  - config/initializers/lookbook.rb
253
266
  - config/routes.rb
254
267
  - lib/better_ui.rb
255
268
  - lib/better_ui/engine.rb
256
- - lib/better_ui/railtie.rb
257
269
  - lib/better_ui/version.rb
270
+ - lib/generators/better_ui/install_generator.rb
271
+ - lib/generators/better_ui/stylesheet_generator.rb
272
+ - lib/generators/better_ui/templates/README
273
+ - lib/generators/better_ui/templates/components/_avatar.scss
274
+ - lib/generators/better_ui/templates/components/_badge.scss
275
+ - lib/generators/better_ui/templates/components/_breadcrumb.scss
276
+ - lib/generators/better_ui/templates/components/_button.scss
277
+ - lib/generators/better_ui/templates/components/_card.scss
278
+ - lib/generators/better_ui/templates/components/_heading.scss
279
+ - lib/generators/better_ui/templates/components/_icon.scss
280
+ - lib/generators/better_ui/templates/components/_index.scss
281
+ - lib/generators/better_ui/templates/components/_link.scss
282
+ - lib/generators/better_ui/templates/components/_panel.scss
283
+ - lib/generators/better_ui/templates/components/_spinner.scss
284
+ - lib/generators/better_ui/templates/components/_table.scss
285
+ - lib/generators/better_ui/templates/components/_variables.scss
286
+ - lib/generators/better_ui/templates/components_stylesheet.scss
287
+ - lib/generators/better_ui/templates/index.scss
288
+ - lib/generators/better_ui/templates/initializer.rb
258
289
  - lib/tasks/better_ui_tasks.rake
259
290
  homepage: https://github.com/alessiobussolari/better_ui
260
291
  licenses:
@@ -273,7 +304,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
273
304
  requirements:
274
305
  - - ">="
275
306
  - !ruby/object:Gem::Version
276
- version: '0'
307
+ version: '3.0'
277
308
  required_rubygems_version: !ruby/object:Gem::Requirement
278
309
  requirements:
279
310
  - - ">="
@@ -1,20 +0,0 @@
1
- <div class="<%= card_classes %>" <%= options.map { |k, v| "#{k}=\"#{v}\"" }.join(' ').html_safe %>>
2
- <p class="<%= title_classes %>"><%= title %></p>
3
- <div class="mt-2 flex items-baseline justify-between">
4
- <p class="<%= value_classes %>"><%= value %></p>
5
- <% if show_trend? %>
6
- <span class="<%= trend_classes %>">
7
- <% if trend_up? %>
8
- <svg xmlns="http://www.w3.org/2000/svg" class="<%= trend_icon_size %>" fill="none" viewBox="0 0 24 24" stroke="currentColor">
9
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18" />
10
- </svg>
11
- <% else %>
12
- <svg xmlns="http://www.w3.org/2000/svg" class="<%= trend_icon_size %>" fill="none" viewBox="0 0 24 24" stroke="currentColor">
13
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3" />
14
- </svg>
15
- <% end %>
16
- <%= change %>
17
- </span>
18
- <% end %>
19
- </div>
20
- </div>