railsui 3.1.5 → 3.2.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 (533) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/settings.local.json +10 -0
  3. data/Gemfile.lock +29 -27
  4. data/README.md +1 -1
  5. data/app/assets/images/tailwind-corgie-thumbnail.jpg +0 -0
  6. data/app/assets/stylesheets/railsui/railsui.css +18 -0
  7. data/app/helpers/railsui/application_helper.rb +22 -17
  8. data/app/helpers/railsui/host_route_fallback_helper.rb +18 -0
  9. data/app/javascript/controllers/alert_controller.js +0 -0
  10. data/app/models/railsui/default.rb +28 -109
  11. data/app/views/railsui/admin/fields/_color.html.erb +6 -1
  12. data/app/views/railsui/admin/fields/_theme.html.erb +16 -8
  13. data/app/views/railsui/shared/_flash_messages.html.erb +2 -2
  14. data/app/views/railsui/shared/_full_access_cta.html.erb +27 -0
  15. data/app/views/railsui/shared/_preview.html.erb +1 -1
  16. data/app/views/railsui/shared/_rui_email_preview.html.erb +60 -3
  17. data/app/views/railsui/systems/forms/form_builder.html.erb +171 -0
  18. data/app/views/railsui/themes/corgie/_components.html.erb +7 -0
  19. data/app/views/railsui/themes/corgie/_content.html.erb +9 -0
  20. data/app/views/railsui/themes/corgie/_fonts.html.erb +0 -0
  21. data/app/views/railsui/themes/corgie/_forms.html.erb +19 -0
  22. data/app/views/railsui/themes/corgie/_icons.html.erb +125 -0
  23. data/app/views/railsui/themes/corgie/_nav.html.erb +166 -0
  24. data/app/views/railsui/themes/corgie/_scaffolds.html.erb +42 -0
  25. data/app/views/railsui/themes/corgie/authentication/_overview.html.erb +5 -0
  26. data/app/views/railsui/themes/corgie/authentication/devise/_change_password.html.erb +74 -0
  27. data/app/views/railsui/themes/corgie/authentication/devise/_confirmation.html.erb +63 -0
  28. data/app/views/railsui/themes/corgie/authentication/devise/_edit.html.erb +103 -0
  29. data/app/views/railsui/themes/corgie/authentication/devise/_overview.html.erb +225 -0
  30. data/app/views/railsui/themes/corgie/authentication/devise/_reset_password.html.erb +60 -0
  31. data/app/views/railsui/themes/corgie/authentication/devise/_signin.html.erb +93 -0
  32. data/app/views/railsui/themes/corgie/authentication/devise/_signup.html.erb +98 -0
  33. data/app/views/railsui/themes/corgie/authentication/devise/_unlocks.html.erb +60 -0
  34. data/app/views/railsui/themes/corgie/authentication/static/_change_password.html.erb +67 -0
  35. data/app/views/railsui/themes/corgie/authentication/static/_confirmation.html.erb +58 -0
  36. data/app/views/railsui/themes/corgie/authentication/static/_overview.html.erb +204 -0
  37. data/app/views/railsui/themes/corgie/authentication/static/_reset_password.html.erb +59 -0
  38. data/app/views/railsui/themes/corgie/authentication/static/_signin.html.erb +102 -0
  39. data/app/views/railsui/themes/corgie/authentication/static/_signup.html.erb +108 -0
  40. data/app/views/railsui/themes/corgie/authentication/static/_unlocks.html.erb +60 -0
  41. data/app/views/railsui/themes/corgie/components/_accordion.html.erb +17 -0
  42. data/app/views/railsui/themes/corgie/components/_alert.html.erb +23 -0
  43. data/app/views/railsui/themes/corgie/components/_avatar.html.erb +13 -0
  44. data/app/views/railsui/themes/corgie/components/_badge.html.erb +20 -0
  45. data/app/views/railsui/themes/corgie/components/_breadcrumb.html.erb +14 -0
  46. data/app/views/railsui/themes/corgie/components/_button.html.erb +16 -0
  47. data/app/views/railsui/themes/corgie/components/_card.html.erb +23 -0
  48. data/app/views/railsui/themes/corgie/components/_combobox.html.erb +11 -0
  49. data/app/views/railsui/themes/corgie/components/_dropdown.html.erb +22 -0
  50. data/app/views/railsui/themes/corgie/components/_flash.html.erb +17 -0
  51. data/app/views/railsui/themes/corgie/components/_modal.html.erb +27 -0
  52. data/app/views/railsui/themes/corgie/components/_navigation.html.erb +7 -0
  53. data/app/views/railsui/themes/corgie/components/_pagination.html.erb +15 -0
  54. data/app/views/railsui/themes/corgie/components/_tab.html.erb +23 -0
  55. data/app/views/railsui/themes/corgie/components/_toast.html.erb +75 -0
  56. data/app/views/railsui/themes/corgie/components/_tooltip.html.erb +77 -0
  57. data/app/views/railsui/themes/corgie/components/accordion/_contained.html.erb +90 -0
  58. data/app/views/railsui/themes/corgie/components/accordion/_flush.html.erb +92 -0
  59. data/app/views/railsui/themes/corgie/components/alert/_dismissable.html.erb +45 -0
  60. data/app/views/railsui/themes/corgie/components/alert/_with_accent_border.html.erb +32 -0
  61. data/app/views/railsui/themes/corgie/components/alert/_with_actions.html.erb +57 -0
  62. data/app/views/railsui/themes/corgie/components/alert/_with_description.html.erb +41 -0
  63. data/app/views/railsui/themes/corgie/components/alert/_with_list.html.erb +46 -0
  64. data/app/views/railsui/themes/corgie/components/avatar/_circle.html.erb +53 -0
  65. data/app/views/railsui/themes/corgie/components/avatar/_rounded.html.erb +53 -0
  66. data/app/views/railsui/themes/corgie/components/badge/_basic.html.erb +70 -0
  67. data/app/views/railsui/themes/corgie/components/badge/_outline.html.erb +67 -0
  68. data/app/views/railsui/themes/corgie/components/badge/_pill.html.erb +67 -0
  69. data/app/views/railsui/themes/corgie/components/badge/_tag.html.erb +277 -0
  70. data/app/views/railsui/themes/corgie/components/breadcrumb/_article.html.erb +88 -0
  71. data/app/views/railsui/themes/corgie/components/breadcrumb/_base.html.erb +77 -0
  72. data/app/views/railsui/themes/corgie/components/button/_base.html.erb +38 -0
  73. data/app/views/railsui/themes/corgie/components/button/_expanded.html.erb +24 -0
  74. data/app/views/railsui/themes/corgie/components/button/_sizes.html.erb +31 -0
  75. data/app/views/railsui/themes/corgie/components/card/_article.html.erb +119 -0
  76. data/app/views/railsui/themes/corgie/components/card/_base.html.erb +34 -0
  77. data/app/views/railsui/themes/corgie/components/card/_feature.html.erb +54 -0
  78. data/app/views/railsui/themes/corgie/components/card/_team_member.html.erb +60 -0
  79. data/app/views/railsui/themes/corgie/components/card/_value.html.erb +54 -0
  80. data/app/views/railsui/themes/corgie/components/combobox/_base.html.erb +250 -0
  81. data/app/views/railsui/themes/corgie/components/dropdown/_base.html.erb +61 -0
  82. data/app/views/railsui/themes/corgie/components/dropdown/_dropdown.html.erb +24 -0
  83. data/app/views/railsui/themes/corgie/components/dropdown/_dropdown_w_icon.html.erb +27 -0
  84. data/app/views/railsui/themes/corgie/components/dropdown/_right_aligned.html.erb +82 -0
  85. data/app/views/railsui/themes/corgie/components/dropdown/_with_dividers.html.erb +93 -0
  86. data/app/views/railsui/themes/corgie/components/dropdown/_with_icons.html.erb +85 -0
  87. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_1.html.erb +44 -0
  88. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_2.html.erb +16 -0
  89. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_3.html.erb +16 -0
  90. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_4.html.erb +27 -0
  91. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_dependencies.html.erb +3 -0
  92. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_tutorial.html.erb +25 -0
  93. data/app/views/railsui/themes/corgie/components/flash/_alert.html.erb +29 -0
  94. data/app/views/railsui/themes/corgie/components/flash/_dynamic.html.erb +46 -0
  95. data/app/views/railsui/themes/corgie/components/flash/_notice.html.erb +29 -0
  96. data/app/views/railsui/themes/corgie/components/modal/_base.html.erb +110 -0
  97. data/app/views/railsui/themes/corgie/components/modal/_centered_dual_action.html.erb +124 -0
  98. data/app/views/railsui/themes/corgie/components/modal/_dismiss_icon.html.erb +124 -0
  99. data/app/views/railsui/themes/corgie/components/modal/_settings.html.erb +201 -0
  100. data/app/views/railsui/themes/corgie/components/modal/_single_action.html.erb +119 -0
  101. data/app/views/railsui/themes/corgie/components/modal/_with_form.html.erb +148 -0
  102. data/app/views/railsui/themes/corgie/components/navigation/_base.html.erb +215 -0
  103. data/app/views/railsui/themes/corgie/components/navigation/_chat.html.erb +194 -0
  104. data/app/views/railsui/themes/corgie/components/navigation/_nav_preview.html.erb +9 -0
  105. data/app/views/railsui/themes/corgie/components/pagination/_contained.html.erb +131 -0
  106. data/app/views/railsui/themes/corgie/components/pagination/_pagy.html.erb +97 -0
  107. data/app/views/railsui/themes/corgie/components/pagination/_simple.html.erb +114 -0
  108. data/app/views/railsui/themes/corgie/components/tab/_base.html.erb +101 -0
  109. data/app/views/railsui/themes/corgie/components/tab/_pills.html.erb +102 -0
  110. data/app/views/railsui/themes/corgie/components/tab/_rounded.html.erb +104 -0
  111. data/app/views/railsui/themes/corgie/components/tab/_vertical.html.erb +145 -0
  112. data/app/views/railsui/themes/corgie/components/tab/_with_icons.html.erb +138 -0
  113. data/app/views/railsui/themes/corgie/components/toast/_base.html.erb +98 -0
  114. data/app/views/railsui/themes/corgie/components/tooltip/_base.html.erb +51 -0
  115. data/app/views/railsui/themes/corgie/content/_image.html.erb +31 -0
  116. data/app/views/railsui/themes/corgie/content/_table.html.erb +21 -0
  117. data/app/views/railsui/themes/corgie/content/_typography.html.erb +47 -0
  118. data/app/views/railsui/themes/corgie/content/image/_object_contain.html.erb +31 -0
  119. data/app/views/railsui/themes/corgie/content/image/_object_cover.html.erb +32 -0
  120. data/app/views/railsui/themes/corgie/content/image/_object_fill.html.erb +32 -0
  121. data/app/views/railsui/themes/corgie/content/image/_object_scale_down.html.erb +34 -0
  122. data/app/views/railsui/themes/corgie/content/image/_responsive.html.erb +24 -0
  123. data/app/views/railsui/themes/corgie/content/table/_bordered.html.erb +93 -0
  124. data/app/views/railsui/themes/corgie/content/table/_borderless.html.erb +92 -0
  125. data/app/views/railsui/themes/corgie/content/table/_comparison.html.erb +494 -0
  126. data/app/views/railsui/themes/corgie/content/typography/_blockquote.html.erb +41 -0
  127. data/app/views/railsui/themes/corgie/content/typography/_display_headings.html.erb +70 -0
  128. data/app/views/railsui/themes/corgie/content/typography/_fonts.html.erb +30 -0
  129. data/app/views/railsui/themes/corgie/content/typography/_headings.html.erb +88 -0
  130. data/app/views/railsui/themes/corgie/content/typography/_inline_formatting.html.erb +44 -0
  131. data/app/views/railsui/themes/corgie/content/typography/_lead_paragraph.html.erb +26 -0
  132. data/app/views/railsui/themes/corgie/content/typography/_lists.html.erb +82 -0
  133. data/app/views/railsui/themes/corgie/content/typography/_paragraphs.html.erb +33 -0
  134. data/app/views/railsui/themes/corgie/forms/_action_text.html.erb +54 -0
  135. data/app/views/railsui/themes/corgie/forms/_checkbox.html.erb +60 -0
  136. data/app/views/railsui/themes/corgie/forms/_form_builder.html.erb +487 -0
  137. data/app/views/railsui/themes/corgie/forms/_input.html.erb +378 -0
  138. data/app/views/railsui/themes/corgie/forms/_input_group.html.erb +485 -0
  139. data/app/views/railsui/themes/corgie/forms/_radio.html.erb +92 -0
  140. data/app/views/railsui/themes/corgie/forms/_select.html.erb +118 -0
  141. data/app/views/railsui/themes/corgie/forms/_switch.html.erb +60 -0
  142. data/app/views/railsui/themes/corgie/forms/_validation.html.erb +52 -0
  143. data/app/views/railsui/themes/corgie/mailers/_devise.html.erb +44 -0
  144. data/app/views/railsui/themes/corgie/mailers/_layout.html.erb +536 -0
  145. data/app/views/railsui/themes/corgie/mailers/_mailer_preview.html.erb +523 -0
  146. data/app/views/railsui/themes/corgie/mailers/_minimal.html.erb +63 -0
  147. data/app/views/railsui/themes/corgie/mailers/_promotion.html.erb +62 -0
  148. data/app/views/railsui/themes/corgie/mailers/_transactional.html.erb +133 -0
  149. data/app/views/railsui/themes/corgie/mailers/devise/_confirmation_instructions.html.erb +34 -0
  150. data/app/views/railsui/themes/corgie/mailers/devise/_email_changed.html.erb +32 -0
  151. data/app/views/railsui/themes/corgie/mailers/devise/_password_changed.html.erb +25 -0
  152. data/app/views/railsui/themes/corgie/mailers/devise/_reset_password_instructions.html.erb +33 -0
  153. data/app/views/railsui/themes/corgie/mailers/devise/_unlock_instructions.html.erb +32 -0
  154. data/app/views/railsui/themes/corgie/scaffolds/_edit.html.erb +88 -0
  155. data/app/views/railsui/themes/corgie/scaffolds/_index.html.erb +88 -0
  156. data/app/views/railsui/themes/corgie/scaffolds/_new.html.erb +80 -0
  157. data/app/views/railsui/themes/corgie/scaffolds/_partial.html.erb +56 -0
  158. data/app/views/railsui/themes/corgie/scaffolds/_show.html.erb +85 -0
  159. data/app/views/railsui/themes/hound/_forms.html.erb +2 -0
  160. data/app/views/railsui/themes/hound/_nav.html.erb +2 -0
  161. data/app/views/railsui/themes/hound/authentication/devise/_change_password.html.erb +1 -27
  162. data/app/views/railsui/themes/hound/authentication/devise/_confirmation.html.erb +1 -20
  163. data/app/views/railsui/themes/hound/authentication/devise/_edit.html.erb +1 -44
  164. data/app/views/railsui/themes/hound/authentication/devise/_overview.html.erb +3 -51
  165. data/app/views/railsui/themes/hound/authentication/devise/_reset_password.html.erb +1 -17
  166. data/app/views/railsui/themes/hound/authentication/devise/_signin.html.erb +1 -30
  167. data/app/views/railsui/themes/hound/authentication/devise/_signup.html.erb +1 -31
  168. data/app/views/railsui/themes/hound/authentication/devise/_unlocks.html.erb +1 -17
  169. data/app/views/railsui/themes/hound/authentication/static/_change_password.html.erb +1 -32
  170. data/app/views/railsui/themes/hound/authentication/static/_confirmation.html.erb +1 -23
  171. data/app/views/railsui/themes/hound/authentication/static/_edit.html.erb +1 -39
  172. data/app/views/railsui/themes/hound/authentication/static/_overview.html.erb +2 -40
  173. data/app/views/railsui/themes/hound/authentication/static/_reset_password.html.erb +1 -22
  174. data/app/views/railsui/themes/hound/authentication/static/_signin.html.erb +1 -35
  175. data/app/views/railsui/themes/hound/authentication/static/_signup.html.erb +1 -31
  176. data/app/views/railsui/themes/hound/authentication/static/_unlocks.html.erb +1 -20
  177. data/app/views/railsui/themes/hound/components/_toast.html.erb +0 -3
  178. data/app/views/railsui/themes/hound/components/accordion/_contained.html.erb +0 -27
  179. data/app/views/railsui/themes/hound/components/accordion/_flush.html.erb +0 -27
  180. data/app/views/railsui/themes/hound/components/alert/_dismissable.html.erb +0 -8
  181. data/app/views/railsui/themes/hound/components/alert/_with_accent_border.html.erb +0 -7
  182. data/app/views/railsui/themes/hound/components/alert/_with_actions.html.erb +0 -11
  183. data/app/views/railsui/themes/hound/components/alert/_with_description.html.erb +0 -7
  184. data/app/views/railsui/themes/hound/components/alert/_with_list.html.erb +0 -8
  185. data/app/views/railsui/themes/hound/components/avatar/_circle.html.erb +0 -12
  186. data/app/views/railsui/themes/hound/components/avatar/_rounded.html.erb +0 -12
  187. data/app/views/railsui/themes/hound/components/badge/_basic.html.erb +0 -22
  188. data/app/views/railsui/themes/hound/components/badge/_outline.html.erb +0 -22
  189. data/app/views/railsui/themes/hound/components/badge/_pill.html.erb +0 -22
  190. data/app/views/railsui/themes/hound/components/badge/_tag.html.erb +0 -52
  191. data/app/views/railsui/themes/hound/components/breadcrumb/_base.html.erb +0 -14
  192. data/app/views/railsui/themes/hound/components/breadcrumb/_contained.html.erb +0 -14
  193. data/app/views/railsui/themes/hound/components/button/_base.html.erb +0 -10
  194. data/app/views/railsui/themes/hound/components/button/_expanded.html.erb +0 -3
  195. data/app/views/railsui/themes/hound/components/button/_sizes.html.erb +0 -5
  196. data/app/views/railsui/themes/hound/components/card/_base.html.erb +0 -6
  197. data/app/views/railsui/themes/hound/components/card/_user_card.html.erb +0 -13
  198. data/app/views/railsui/themes/hound/components/card/_user_card_dropdown.html.erb +0 -20
  199. data/app/views/railsui/themes/hound/components/card/_user_card_with_actions.html.erb +0 -18
  200. data/app/views/railsui/themes/hound/components/card/_with_action.html.erb +0 -13
  201. data/app/views/railsui/themes/hound/components/card/_with_header.html.erb +0 -43
  202. data/app/views/railsui/themes/hound/components/combobox/_base.html.erb +0 -40
  203. data/app/views/railsui/themes/hound/components/dropdown/_base.html.erb +0 -10
  204. data/app/views/railsui/themes/hound/components/dropdown/_right_aligned.html.erb +0 -14
  205. data/app/views/railsui/themes/hound/components/dropdown/_with_dividers.html.erb +0 -14
  206. data/app/views/railsui/themes/hound/components/dropdown/_with_icons.html.erb +0 -20
  207. data/app/views/railsui/themes/hound/components/flash/_alert.html.erb +0 -5
  208. data/app/views/railsui/themes/hound/components/flash/_dynamic.html.erb +0 -5
  209. data/app/views/railsui/themes/hound/components/flash/_notice.html.erb +0 -5
  210. data/app/views/railsui/themes/hound/components/modal/_base.html.erb +0 -13
  211. data/app/views/railsui/themes/hound/components/modal/_centered_dual_action.html.erb +0 -16
  212. data/app/views/railsui/themes/hound/components/modal/_dismiss_icon.html.erb +0 -20
  213. data/app/views/railsui/themes/hound/components/modal/_single_action.html.erb +0 -15
  214. data/app/views/railsui/themes/hound/components/modal/_with_form.html.erb +0 -23
  215. data/app/views/railsui/themes/hound/components/navigation/_base.html.erb +1 -41
  216. data/app/views/railsui/themes/hound/components/navigation/_with_action.html.erb +1 -38
  217. data/app/views/railsui/themes/hound/components/navigation/_with_dropdowns.html.erb +1 -105
  218. data/app/views/railsui/themes/hound/components/navigation/_with_search.html.erb +1 -41
  219. data/app/views/railsui/themes/hound/components/pagination/_contained.html.erb +0 -31
  220. data/app/views/railsui/themes/hound/components/pagination/_minimal.html.erb +0 -27
  221. data/app/views/railsui/themes/hound/components/pagination/_pagy.html.erb +47 -72
  222. data/app/views/railsui/themes/hound/components/tab/_base.html.erb +1 -18
  223. data/app/views/railsui/themes/hound/components/tab/_pills.html.erb +1 -18
  224. data/app/views/railsui/themes/hound/components/tab/_rounded.html.erb +1 -18
  225. data/app/views/railsui/themes/hound/components/tab/_with_icons.html.erb +1 -26
  226. data/app/views/railsui/themes/hound/components/toast/_base.html.erb +0 -16
  227. data/app/views/railsui/themes/hound/components/tooltip/_base.html.erb +0 -3
  228. data/app/views/railsui/themes/hound/content/image/_object_contain.html.erb +0 -5
  229. data/app/views/railsui/themes/hound/content/image/_object_cover.html.erb +0 -5
  230. data/app/views/railsui/themes/hound/content/image/_object_fill.html.erb +0 -5
  231. data/app/views/railsui/themes/hound/content/image/_object_scale_down.html.erb +0 -5
  232. data/app/views/railsui/themes/hound/content/image/_responsive.html.erb +0 -4
  233. data/app/views/railsui/themes/hound/content/table/_bordered.html.erb +0 -21
  234. data/app/views/railsui/themes/hound/content/table/_borderless.html.erb +0 -21
  235. data/app/views/railsui/themes/hound/content/typography/_blockquote.html.erb +0 -9
  236. data/app/views/railsui/themes/hound/content/typography/_display_headings.html.erb +0 -9
  237. data/app/views/railsui/themes/hound/content/typography/_headings.html.erb +0 -12
  238. data/app/views/railsui/themes/hound/content/typography/_inline_formatting.html.erb +0 -20
  239. data/app/views/railsui/themes/hound/content/typography/_lead_paragraph.html.erb +0 -5
  240. data/app/views/railsui/themes/hound/content/typography/_lists.html.erb +0 -17
  241. data/app/views/railsui/themes/hound/content/typography/_paragraphs.html.erb +0 -4
  242. data/app/views/railsui/themes/hound/forms/_action_text.html.erb +0 -6
  243. data/app/views/railsui/themes/hound/forms/_checkbox.html.erb +0 -9
  244. data/app/views/railsui/themes/hound/forms/_form_builder.html.erb +487 -0
  245. data/app/views/railsui/themes/hound/forms/_input.html.erb +0 -93
  246. data/app/views/railsui/themes/hound/forms/_input_group.html.erb +0 -83
  247. data/app/views/railsui/themes/hound/forms/_radio.html.erb +0 -13
  248. data/app/views/railsui/themes/hound/forms/_select.html.erb +0 -16
  249. data/app/views/railsui/themes/hound/forms/_switch.html.erb +0 -9
  250. data/app/views/railsui/themes/hound/forms/_validation.html.erb +0 -15
  251. data/app/views/railsui/themes/hound/mailers/_layout.html.erb +1 -432
  252. data/app/views/railsui/themes/hound/mailers/_minimal.html.erb +1 -16
  253. data/app/views/railsui/themes/hound/mailers/_promotion.html.erb +1 -20
  254. data/app/views/railsui/themes/hound/mailers/_transactional.html.erb +1 -43
  255. data/app/views/railsui/themes/hound/mailers/devise/_confirmation_instructions.html.erb +1 -9
  256. data/app/views/railsui/themes/hound/mailers/devise/_email_changed.html.erb +1 -13
  257. data/app/views/railsui/themes/hound/mailers/devise/_password_changed.html.erb +1 -7
  258. data/app/views/railsui/themes/hound/mailers/devise/_reset_password_instructions.html.erb +1 -9
  259. data/app/views/railsui/themes/hound/mailers/devise/_unlock_instructions.html.erb +1 -9
  260. data/app/views/railsui/themes/hound/scaffolds/_edit.html.erb +1 -19
  261. data/app/views/railsui/themes/hound/scaffolds/_index.html.erb +1 -14
  262. data/app/views/railsui/themes/hound/scaffolds/_new.html.erb +1 -17
  263. data/app/views/railsui/themes/hound/scaffolds/_partial.html.erb +1 -17
  264. data/app/views/railsui/themes/hound/scaffolds/_show.html.erb +1 -20
  265. data/app/views/railsui/themes/shepherd/_forms.html.erb +5 -3
  266. data/app/views/railsui/themes/shepherd/_nav.html.erb +2 -0
  267. data/app/views/railsui/themes/shepherd/authentication/devise/_change_password.html.erb +1 -23
  268. data/app/views/railsui/themes/shepherd/authentication/devise/_confirmation.html.erb +1 -12
  269. data/app/views/railsui/themes/shepherd/authentication/devise/_edit.html.erb +1 -74
  270. data/app/views/railsui/themes/shepherd/authentication/devise/_overview.html.erb +2 -57
  271. data/app/views/railsui/themes/shepherd/authentication/devise/_reset_password.html.erb +1 -12
  272. data/app/views/railsui/themes/shepherd/authentication/devise/_signin.html.erb +1 -25
  273. data/app/views/railsui/themes/shepherd/authentication/devise/_signup.html.erb +1 -26
  274. data/app/views/railsui/themes/shepherd/authentication/devise/_unlocks.html.erb +1 -12
  275. data/app/views/railsui/themes/shepherd/authentication/static/_change_password.html.erb +1 -23
  276. data/app/views/railsui/themes/shepherd/authentication/static/_confirmation.html.erb +1 -12
  277. data/app/views/railsui/themes/shepherd/authentication/static/_edit.html.erb +1 -67
  278. data/app/views/railsui/themes/shepherd/authentication/static/_overview.html.erb +1 -56
  279. data/app/views/railsui/themes/shepherd/authentication/static/_reset_password.html.erb +1 -12
  280. data/app/views/railsui/themes/shepherd/authentication/static/_signin.html.erb +1 -24
  281. data/app/views/railsui/themes/shepherd/authentication/static/_signup.html.erb +1 -26
  282. data/app/views/railsui/themes/shepherd/authentication/static/_unlocks.html.erb +1 -16
  283. data/app/views/railsui/themes/shepherd/components/_toast.html.erb +0 -3
  284. data/app/views/railsui/themes/shepherd/components/accordion/_contained.html.erb +0 -28
  285. data/app/views/railsui/themes/shepherd/components/accordion/_flush.html.erb +0 -27
  286. data/app/views/railsui/themes/shepherd/components/alert/_dismissable.html.erb +0 -8
  287. data/app/views/railsui/themes/shepherd/components/alert/_with_accent_border.html.erb +0 -6
  288. data/app/views/railsui/themes/shepherd/components/alert/_with_actions.html.erb +0 -11
  289. data/app/views/railsui/themes/shepherd/components/alert/_with_description.html.erb +0 -7
  290. data/app/views/railsui/themes/shepherd/components/alert/_with_list.html.erb +0 -8
  291. data/app/views/railsui/themes/shepherd/components/avatar/_circle.html.erb +0 -12
  292. data/app/views/railsui/themes/shepherd/components/avatar/_rounded.html.erb +0 -12
  293. data/app/views/railsui/themes/shepherd/components/badge/_basic.html.erb +0 -22
  294. data/app/views/railsui/themes/shepherd/components/badge/_outline.html.erb +0 -22
  295. data/app/views/railsui/themes/shepherd/components/badge/_pill.html.erb +0 -22
  296. data/app/views/railsui/themes/shepherd/components/badge/_tag.html.erb +0 -52
  297. data/app/views/railsui/themes/shepherd/components/breadcrumb/_base.html.erb +0 -14
  298. data/app/views/railsui/themes/shepherd/components/breadcrumb/_contained.html.erb +0 -14
  299. data/app/views/railsui/themes/shepherd/components/button/_base.html.erb +0 -17
  300. data/app/views/railsui/themes/shepherd/components/button/_expanded.html.erb +0 -3
  301. data/app/views/railsui/themes/shepherd/components/button/_sizes.html.erb +0 -5
  302. data/app/views/railsui/themes/shepherd/components/card/_base.html.erb +0 -6
  303. data/app/views/railsui/themes/shepherd/components/card/_property_card.html.erb +0 -28
  304. data/app/views/railsui/themes/shepherd/components/card/_property_user_card.html.erb +0 -14
  305. data/app/views/railsui/themes/shepherd/components/card/_user_card_with_actions.html.erb +0 -12
  306. data/app/views/railsui/themes/shepherd/components/card/_with_action.html.erb +0 -7
  307. data/app/views/railsui/themes/shepherd/components/card/_with_header.html.erb +0 -7
  308. data/app/views/railsui/themes/shepherd/components/combobox/_base.html.erb +0 -40
  309. data/app/views/railsui/themes/shepherd/components/datalist/_booking_list.html.erb +0 -45
  310. data/app/views/railsui/themes/shepherd/components/datalist/_property_list.html.erb +0 -47
  311. data/app/views/railsui/themes/shepherd/components/dropdown/_base.html.erb +0 -10
  312. data/app/views/railsui/themes/shepherd/components/dropdown/_right_aligned.html.erb +0 -13
  313. data/app/views/railsui/themes/shepherd/components/dropdown/_with_dividers.html.erb +0 -14
  314. data/app/views/railsui/themes/shepherd/components/dropdown/_with_menu_icons.html.erb +0 -16
  315. data/app/views/railsui/themes/shepherd/components/flash/_alert.html.erb +0 -5
  316. data/app/views/railsui/themes/shepherd/components/flash/_dynamic.html.erb +0 -5
  317. data/app/views/railsui/themes/shepherd/components/flash/_notice.html.erb +0 -5
  318. data/app/views/railsui/themes/shepherd/components/modal/_base.html.erb +0 -12
  319. data/app/views/railsui/themes/shepherd/components/modal/_centered_dual_action.html.erb +0 -16
  320. data/app/views/railsui/themes/shepherd/components/modal/_dismiss_icon.html.erb +0 -23
  321. data/app/views/railsui/themes/shepherd/components/modal/_single_action.html.erb +0 -14
  322. data/app/views/railsui/themes/shepherd/components/modal/_with_form.html.erb +0 -23
  323. data/app/views/railsui/themes/shepherd/components/navigation/_base.html.erb +0 -81
  324. data/app/views/railsui/themes/shepherd/components/navigation/_logged_out.html.erb +0 -22
  325. data/app/views/railsui/themes/shepherd/components/navigation/_with_dropdowns.html.erb +0 -88
  326. data/app/views/railsui/themes/shepherd/components/navigation/_with_search.html.erb +1 -83
  327. data/app/views/railsui/themes/shepherd/components/pagination/_contained.html.erb +0 -31
  328. data/app/views/railsui/themes/shepherd/components/pagination/_dark.html.erb +0 -31
  329. data/app/views/railsui/themes/shepherd/components/pagination/_pagy.html.erb +53 -98
  330. data/app/views/railsui/themes/shepherd/components/pagination/_simple.html.erb +0 -27
  331. data/app/views/railsui/themes/shepherd/components/tab/_base.html.erb +1 -18
  332. data/app/views/railsui/themes/shepherd/components/tab/_pills.html.erb +1 -18
  333. data/app/views/railsui/themes/shepherd/components/tab/_rounded.html.erb +1 -18
  334. data/app/views/railsui/themes/shepherd/components/tab/_with_icons.html.erb +1 -26
  335. data/app/views/railsui/themes/shepherd/components/toast/_base.html.erb +0 -16
  336. data/app/views/railsui/themes/shepherd/components/tooltip/_base.html.erb +0 -3
  337. data/app/views/railsui/themes/shepherd/content/_image_old.html.erb +0 -20
  338. data/app/views/railsui/themes/shepherd/content/image/_object_contain.html.erb +0 -5
  339. data/app/views/railsui/themes/shepherd/content/image/_object_cover.html.erb +0 -5
  340. data/app/views/railsui/themes/shepherd/content/image/_object_fill.html.erb +0 -5
  341. data/app/views/railsui/themes/shepherd/content/image/_object_scale_down.html.erb +0 -5
  342. data/app/views/railsui/themes/shepherd/content/image/_responsive.html.erb +0 -4
  343. data/app/views/railsui/themes/shepherd/content/table/_bordered.html.erb +0 -21
  344. data/app/views/railsui/themes/shepherd/content/table/_borderless.html.erb +0 -21
  345. data/app/views/railsui/themes/shepherd/content/typography/_blockquote.html.erb +0 -9
  346. data/app/views/railsui/themes/shepherd/content/typography/_display_headings.html.erb +0 -9
  347. data/app/views/railsui/themes/shepherd/content/typography/_headings.html.erb +0 -15
  348. data/app/views/railsui/themes/shepherd/content/typography/_inline_formatting.html.erb +0 -21
  349. data/app/views/railsui/themes/shepherd/content/typography/_lead_paragraph.html.erb +0 -5
  350. data/app/views/railsui/themes/shepherd/content/typography/_lists.html.erb +0 -17
  351. data/app/views/railsui/themes/shepherd/content/typography/_paragraphs.html.erb +0 -4
  352. data/app/views/railsui/themes/shepherd/forms/_action_text.html.erb +0 -6
  353. data/app/views/railsui/themes/shepherd/forms/_checkbox.html.erb +0 -9
  354. data/app/views/railsui/themes/shepherd/forms/_form_builder.html.erb +487 -0
  355. data/app/views/railsui/themes/shepherd/forms/_input.html.erb +0 -119
  356. data/app/views/railsui/themes/shepherd/forms/_input_group.html.erb +0 -81
  357. data/app/views/railsui/themes/shepherd/forms/_radio.html.erb +0 -13
  358. data/app/views/railsui/themes/shepherd/forms/_select.html.erb +0 -16
  359. data/app/views/railsui/themes/shepherd/forms/_switch.html.erb +0 -9
  360. data/app/views/railsui/themes/shepherd/forms/_validation.html.erb +0 -11
  361. data/app/views/railsui/themes/shepherd/mailers/_layout.html.erb +1 -493
  362. data/app/views/railsui/themes/shepherd/mailers/_minimal.html.erb +1 -16
  363. data/app/views/railsui/themes/shepherd/mailers/_promotion.html.erb +1 -20
  364. data/app/views/railsui/themes/shepherd/mailers/_transactional.html.erb +1 -43
  365. data/app/views/railsui/themes/shepherd/mailers/devise/_confirmation_instructions.html.erb +1 -9
  366. data/app/views/railsui/themes/shepherd/mailers/devise/_email_changed.html.erb +1 -12
  367. data/app/views/railsui/themes/shepherd/mailers/devise/_password_changed.html.erb +1 -7
  368. data/app/views/railsui/themes/shepherd/mailers/devise/_reset_password_instructions.html.erb +1 -9
  369. data/app/views/railsui/themes/shepherd/mailers/devise/_unlock_instructions.html.erb +1 -9
  370. data/app/views/railsui/themes/shepherd/scaffolds/_edit.html.erb +1 -19
  371. data/app/views/railsui/themes/shepherd/scaffolds/_index.html.erb +1 -11
  372. data/app/views/railsui/themes/shepherd/scaffolds/_new.html.erb +1 -17
  373. data/app/views/railsui/themes/shepherd/scaffolds/_partial.html.erb +1 -17
  374. data/app/views/railsui/themes/shepherd/scaffolds/_show.html.erb +1 -18
  375. data/config/pages.yml +103 -0
  376. data/config/routes.rb +6 -5
  377. data/config/theme.yml +2 -0
  378. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/auth-bg.jpg +0 -0
  379. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog-feature.jpg +0 -0
  380. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog1.jpg +0 -0
  381. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog2.jpg +0 -0
  382. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog3.jpg +0 -0
  383. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog4.jpg +0 -0
  384. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog5.jpg +0 -0
  385. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog6.jpg +0 -0
  386. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog7.jpg +0 -0
  387. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog8.jpg +0 -0
  388. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog9.jpg +0 -0
  389. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/copy.svg +6 -0
  390. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/pencil.svg +1 -0
  391. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/scroll-text.svg +9 -0
  392. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/facebook.svg +1 -0
  393. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/github.svg +1 -0
  394. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/google.svg +1 -0
  395. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/instagram.svg +1 -0
  396. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/linkedin.svg +1 -0
  397. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/twitter.svg +1 -0
  398. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/x.svg +1 -0
  399. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/youtube.svg +1 -0
  400. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/stethoscope.svg +8 -0
  401. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/test-tubes.svg +11 -0
  402. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/logo.svg +10 -0
  403. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/android-chrome-192x192.png +0 -0
  404. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/android-chrome-512x512.png +0 -0
  405. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/apple-touch-icon.png +0 -0
  406. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon-16x16.png +0 -0
  407. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon-32x32.png +0 -0
  408. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon.ico +0 -0
  409. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon.svg +20 -0
  410. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/opengraph-mark.jpg +0 -0
  411. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/opengraph.jpg +0 -0
  412. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/site.webmanifest +19 -0
  413. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/railsui.svg +3 -0
  414. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/character_count_controller.js +134 -0
  415. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/chat_controller.js +45 -0
  416. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/help_search_controller.js +333 -0
  417. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/highlight_controller.js +13 -0
  418. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/markdown_controller.js +106 -0
  419. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/search_controller.js +311 -0
  420. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/sidebar_controller.js +105 -0
  421. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/snippet_controller.js +223 -0
  422. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/minimal.html.erb +21 -0
  423. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/minimal.text.erb +9 -0
  424. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/promotion.html.erb +23 -0
  425. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/promotion.text.erb +9 -0
  426. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/transactional.html.erb +55 -0
  427. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/transactional.text.erb +22 -0
  428. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/actiontext.css +173 -0
  429. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/blog.css +29 -0
  430. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/buttons.css +49 -0
  431. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/card.css +9 -0
  432. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/chat.css +27 -0
  433. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/code.css +233 -0
  434. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/dropdown.css +9 -0
  435. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/forms.css +321 -0
  436. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/sidebar.css +15 -0
  437. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/tailwind.config.js +24 -0
  438. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/theme.css +77 -0
  439. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/typography.css +47 -0
  440. data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui.html.erb +31 -0
  441. data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui_admin.html.erb +30 -0
  442. data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui_auth.html.erb +50 -0
  443. data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui_mailer.html.erb +503 -0
  444. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/about.html.erb +278 -0
  445. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/blog.html.erb +258 -0
  446. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/blog_category.html.erb +261 -0
  447. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/blog_show.html.erb +429 -0
  448. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/chat_new.html.erb +68 -0
  449. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/chat_show.html.erb +152 -0
  450. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/features.html.erb +356 -0
  451. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/help.html.erb +123 -0
  452. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/home.html.erb +252 -0
  453. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/pricing.html.erb +397 -0
  454. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/privacy.html.erb +140 -0
  455. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/signin.html.erb +38 -0
  456. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/signup.html.erb +48 -0
  457. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/terms.html.erb +182 -0
  458. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_account_dropdown.html.erb +46 -0
  459. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_email_action.html.erb +15 -0
  460. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_email_callout.html.erb +7 -0
  461. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_email_spacer.html.erb +7 -0
  462. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_error_messages.html.erb +10 -0
  463. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_faq.html.erb +9 -0
  464. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_flash.html.erb +11 -0
  465. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_fonts.html.erb +7 -0
  466. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_footer.html.erb +72 -0
  467. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_header.html.erb +15 -0
  468. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_meta.html.erb +90 -0
  469. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_nav.html.erb +3 -0
  470. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_railsui_head.html.erb +4 -0
  471. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_search.html.erb +32 -0
  472. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_sidebar.html.erb +7 -0
  473. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_waves.html.erb +47 -0
  474. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/blog/_article.html.erb +39 -0
  475. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/blog/_pagination.html.erb +21 -0
  476. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_disclaimer.html.erb +4 -0
  477. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_form.html.erb +62 -0
  478. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_header.html.erb +47 -0
  479. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_history.html.erb +36 -0
  480. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_key_legend.html.erb +11 -0
  481. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_link.html.erb +17 -0
  482. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_message.html.erb +69 -0
  483. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_model_select.html.erb +55 -0
  484. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_cta_section.html.erb +16 -0
  485. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_feature_card.html.erb +23 -0
  486. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_feature_check_item.html.erb +6 -0
  487. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_social_auth_buttons.html.erb +22 -0
  488. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/help/_categories.html.erb +82 -0
  489. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/help/_faq.html.erb +45 -0
  490. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/help/_quick_actions.html.erb +46 -0
  491. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/marketing/_career.html.erb +9 -0
  492. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/marketing/_nav.html.erb +57 -0
  493. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/marketing/_team_member_card.html.erb +16 -0
  494. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/_modal.html.erb +84 -0
  495. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/_nav_item.html.erb +14 -0
  496. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_billing.html.erb +120 -0
  497. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_data_controls.html.erb +69 -0
  498. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_general.html.erb +92 -0
  499. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_notifications.html.erb +102 -0
  500. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_personalization.html.erb +100 -0
  501. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_security.html.erb +98 -0
  502. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_title.html.erb +5 -0
  503. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_actions.html.erb +39 -0
  504. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_header.html.erb +40 -0
  505. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_history.html.erb +36 -0
  506. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_link.html.erb +23 -0
  507. data/lib/generators/railsui/install/templates/themes/hound/stylesheets/railsui/forms.css +18 -4
  508. data/lib/generators/railsui/install/templates/themes/hound/stylesheets/railsui/theme.css +3 -2
  509. data/lib/generators/railsui/install/templates/themes/shepherd/stylesheets/railsui/forms.css +12 -2
  510. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/_form.html.erb.tt +52 -0
  511. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/edit.html.erb.tt +25 -0
  512. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/index.html.erb.tt +12 -0
  513. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/new.html.erb.tt +22 -0
  514. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/partial.html.erb.tt +22 -0
  515. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/show.html.erb.tt +24 -0
  516. data/lib/generators/railsui/scaffold/templates/themes/hound/views/_form.html.erb.tt +29 -24
  517. data/lib/generators/railsui/scaffold/templates/themes/shepherd/views/_form.html.erb.tt +28 -26
  518. data/lib/railsui/configuration.rb +22 -21
  519. data/lib/railsui/engine.rb +26 -20
  520. data/lib/railsui/form_builder.rb +307 -0
  521. data/lib/railsui/pages.rb +14 -3
  522. data/lib/railsui/theme_helper.rb +8 -8
  523. data/lib/railsui/theme_setup.rb +83 -49
  524. data/lib/railsui/themes.rb +3 -4
  525. data/lib/railsui/version.rb +1 -1
  526. data/lib/railsui.rb +9 -6
  527. data/lib/tasks/install.rake +1 -1
  528. data/lib/tasks/pages.rake +1 -1
  529. data/lib/tasks/stimulus.rake +1 -1
  530. metadata +287 -5
  531. data/.standard.yml +0 -3
  532. data/CHANGELOG.md +0 -9
  533. data/config/colors.yml +0 -50
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 73cda896180c2a0065e8c6e57a8a5cf30208d4105b646210bbf4c6a5b0b8e875
4
- data.tar.gz: 1ce88c1c03184bd46cce71baa93285ad7091ab483066c2da8347450f9a66f744
3
+ metadata.gz: ed0afed04a31c3601fa28d627139cf9beeeae1f6942145d7fc5afe13c45b5a52
4
+ data.tar.gz: 398a15d566a2ab1475163dfc4c1a1556224275844851470507630a565ce378a2
5
5
  SHA512:
6
- metadata.gz: beee179f8afdf42c9db104e989cbdaeaef6472edb1bd0b5c667e07cf3f6c4a01f4d89898268c607b38a3f3c7996eb95eaa3eacb4f71b3293e9cd7be6bec509d8
7
- data.tar.gz: 38dd6ca8c1bb3847bbf655b181da031e31913238e631ff87b73210ff76e5d30713b499edf9985db80f0a78aaac93eb1fc32c361d928b6ea316fb3bd5ac6f934a
6
+ metadata.gz: d84dc75043ce4fd499160a50e5ca49920b9f6ee89218e507f5db1c154528eb3a58adb4b5ff3ae026ab249dbedd116ff6729a66540043a2fb777865f189a51078
7
+ data.tar.gz: 140bb54f5d6485de25014c7a443382cb13abe6ce86596f9262944c5a75afd410fa8d6a3c1356903b08f9dd2a6b93a19d4136945c3dfeea61da8e967d5f6140d8
@@ -0,0 +1,10 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(find:*)",
5
+ "Bash(grep:*)"
6
+ ],
7
+ "deny": [],
8
+ "ask": []
9
+ }
10
+ }
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- railsui (3.1.5)
4
+ railsui (3.2.0)
5
5
  meta-tags
6
6
  psych
7
7
  rails (>= 7.0)
@@ -80,7 +80,7 @@ GEM
80
80
  minitest (>= 5.1)
81
81
  securerandom (>= 0.3)
82
82
  tzinfo (~> 2.0, >= 2.0.5)
83
- ast (2.4.2)
83
+ ast (2.4.3)
84
84
  base64 (0.2.0)
85
85
  bigdecimal (3.1.8)
86
86
  builder (3.3.0)
@@ -100,8 +100,8 @@ GEM
100
100
  irb (1.14.0)
101
101
  rdoc (>= 4.0.0)
102
102
  reline (>= 0.4.2)
103
- json (2.7.2)
104
- language_server-protocol (3.17.0.3)
103
+ json (2.13.2)
104
+ language_server-protocol (3.17.0.5)
105
105
  lint_roller (1.1.0)
106
106
  logger (1.6.1)
107
107
  loofah (2.22.0)
@@ -133,10 +133,11 @@ GEM
133
133
  racc (~> 1.4)
134
134
  nokogiri (1.18.2-x86_64-linux-gnu)
135
135
  racc (~> 1.4)
136
- parallel (1.26.3)
137
- parser (3.3.4.2)
136
+ parallel (1.27.0)
137
+ parser (3.3.9.0)
138
138
  ast (~> 2.4.1)
139
139
  racc
140
+ prism (1.4.0)
140
141
  psych (5.1.2)
141
142
  stringio
142
143
  racc (1.8.1)
@@ -183,50 +184,51 @@ GEM
183
184
  rake (13.2.1)
184
185
  rdoc (6.7.0)
185
186
  psych (>= 4.0.0)
186
- regexp_parser (2.9.2)
187
+ regexp_parser (2.10.0)
187
188
  reline (0.5.10)
188
189
  io-console (~> 0.5)
189
- rexml (3.3.5)
190
- strscan
191
- rubocop (1.65.1)
190
+ rubocop (1.75.8)
192
191
  json (~> 2.3)
193
- language_server-protocol (>= 3.17.0)
192
+ language_server-protocol (~> 3.17.0.2)
193
+ lint_roller (~> 1.1.0)
194
194
  parallel (~> 1.10)
195
195
  parser (>= 3.3.0.2)
196
196
  rainbow (>= 2.2.2, < 4.0)
197
- regexp_parser (>= 2.4, < 3.0)
198
- rexml (>= 3.2.5, < 4.0)
199
- rubocop-ast (>= 1.31.1, < 2.0)
197
+ regexp_parser (>= 2.9.3, < 3.0)
198
+ rubocop-ast (>= 1.44.0, < 2.0)
200
199
  ruby-progressbar (~> 1.7)
201
- unicode-display_width (>= 2.4.0, < 3.0)
202
- rubocop-ast (1.32.1)
203
- parser (>= 3.3.1.0)
204
- rubocop-performance (1.21.1)
205
- rubocop (>= 1.48.1, < 2.0)
206
- rubocop-ast (>= 1.31.1, < 2.0)
200
+ unicode-display_width (>= 2.4.0, < 4.0)
201
+ rubocop-ast (1.46.0)
202
+ parser (>= 3.3.7.2)
203
+ prism (~> 1.4)
204
+ rubocop-performance (1.25.0)
205
+ lint_roller (~> 1.1)
206
+ rubocop (>= 1.75.0, < 2.0)
207
+ rubocop-ast (>= 1.38.0, < 2.0)
207
208
  ruby-progressbar (1.13.0)
208
209
  securerandom (0.3.1)
209
- standard (1.40.0)
210
+ standard (1.50.0)
210
211
  language_server-protocol (~> 3.17.0.2)
211
212
  lint_roller (~> 1.0)
212
- rubocop (~> 1.65.0)
213
+ rubocop (~> 1.75.5)
213
214
  standard-custom (~> 1.0.0)
214
- standard-performance (~> 1.4)
215
+ standard-performance (~> 1.8)
215
216
  standard-custom (1.0.2)
216
217
  lint_roller (~> 1.0)
217
218
  rubocop (~> 1.50)
218
- standard-performance (1.4.0)
219
+ standard-performance (1.8.0)
219
220
  lint_roller (~> 1.1)
220
- rubocop-performance (~> 1.21.0)
221
+ rubocop-performance (~> 1.25.0)
221
222
  stimulus-rails (1.3.4)
222
223
  railties (>= 6.0.0)
223
224
  stringio (3.1.1)
224
- strscan (3.1.0)
225
225
  thor (1.3.2)
226
226
  timeout (0.4.1)
227
227
  tzinfo (2.0.6)
228
228
  concurrent-ruby (~> 1.0)
229
- unicode-display_width (2.5.0)
229
+ unicode-display_width (3.1.4)
230
+ unicode-emoji (~> 4.0, >= 4.0.4)
231
+ unicode-emoji (4.0.4)
230
232
  useragent (0.16.10)
231
233
  webrick (1.8.1)
232
234
  websocket-driver (0.7.6)
data/README.md CHANGED
@@ -28,7 +28,7 @@ rails new app_name -c tailwind -j esbuild
28
28
 
29
29
  It's recommended to use the `-j` flag to one of the bundling solutions from the [`jsbundling-rails`](https://github.com/rails/jsbundling-rails) gem (bun, esbuild rollup, webpack) for max compatibility.
30
30
 
31
- Support for [importmaps](https://github.com/rails/importmap-rails) or [propshaft](https://github.com/rails/propshaft) is untested at this time.
31
+ Support for [importmaps](https://github.com/rails/importmap-rails) or [propshaft](https://github.com/rails/propshaft) is not available at this time.
32
32
 
33
33
  ### Existing applications
34
34
 
@@ -295,3 +295,21 @@
295
295
  .animate-toast-from-left {
296
296
  animation: toast-from-left 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55);
297
297
  }
298
+
299
+ .railsui .flash {
300
+ padding: 1rem;
301
+ text-align: center;
302
+ font-size: 1rem;
303
+ font-weight: 500;
304
+ border-radius: 0.5rem;
305
+ margin-bottom: 1rem;
306
+ color: white;
307
+ }
308
+
309
+ .railsui .flash-notice {
310
+ background-color: navy;
311
+ }
312
+
313
+ .railsui .flash-alert {
314
+ background-color: red;
315
+ }
@@ -13,7 +13,8 @@ module Railsui
13
13
  active_class = html_options.delete(:active_class) || "nav-link-active"
14
14
  inactive_class = html_options.delete(:inactive_class) || ""
15
15
 
16
- active = if (paths = Array.wrap(starts_with)) && paths.present?
16
+ active =
17
+ if (paths = Array.wrap(starts_with)) && paths.present?
17
18
  paths.any? { |path| request.path.start_with?(path) }
18
19
  else
19
20
  request.path == url
@@ -82,8 +83,9 @@ module Railsui
82
83
  content_tag tag.to_sym, text, id: id, class: "#{classes} tracking-[-0.025em]"
83
84
  end
84
85
 
85
- def email_viewer(subject="A sample subject", &block)
86
- render "railsui/shared/rui_email_preview", subject: subject, block: block, flush: true
86
+ def email_viewer(subject="A sample subject", variant: nil, &block)
87
+ variant ||= "gray" # Default to gray if no variant specified
88
+ render "railsui/shared/rui_email_preview", subject: subject, variant: variant, block: block, flush: true
87
89
  end
88
90
 
89
91
  def box_label_classes(options={})
@@ -98,7 +100,7 @@ module Railsui
98
100
  dark:ring-transparent"
99
101
  end
100
102
 
101
- def help_text &block
103
+ def help_text
102
104
  content_tag :div, class: "prose prose-sm prose-neutral dark:prose-invert max-w-full" do
103
105
  yield
104
106
  end
@@ -206,7 +208,8 @@ module Railsui
206
208
  end
207
209
 
208
210
  def rui_badge(label, variant: :blue)
209
- variant_class = case variant
211
+ variant_class =
212
+ case variant
210
213
  when :blue
211
214
  "bg-blue-500 text-white"
212
215
  when :green
@@ -217,7 +220,7 @@ module Railsui
217
220
  "bg-yellow-500 text-black"
218
221
  when :gray
219
222
  "bg-neutral-200 text-neutral-700"
220
- end
223
+ end
221
224
  content_tag :div, label, class: "#{variant_class} rounded-full px-2 py-1 text-xs font-semibold inline-flex my-0"
222
225
  end
223
226
 
@@ -232,16 +235,18 @@ module Railsui
232
235
  def button_classes(variant: "black", size: "md")
233
236
  base_classes = "rounded-md px-3 py-[5px] ring-4 ring-transparent text-base transition-colors ease-in-out duration-300 disabled:opacity-50 disabled:pointer-events-none disabled:cursor-not-allowed text-center text-[14.5px] font-semibold inline-flex gap-2 items-center justify-center"
234
237
 
235
- size_classes = case size
236
- when "lg"
237
- "py-3 px-6 text-lg"
238
- when "sm"
239
- "py-0.5 px-3 text-[13.5px]"
240
- else # md
241
- "py-[5px] px-3 text-[14.5px]"
242
- end
243
-
244
- variant_classes = case variant
238
+ size_classes =
239
+ case size
240
+ when "lg"
241
+ "py-3 px-6 text-lg"
242
+ when "sm"
243
+ "py-0.5 px-3 text-[13.5px]"
244
+ else # md
245
+ "py-[5px] px-3 text-[14.5px]"
246
+ end
247
+
248
+ variant_classes =
249
+ case variant
245
250
  when "white"
246
251
  "bg-white hover:bg-neutral-50/50 hover:shadow-none shadow-xs text-neutral-800/80 border border-neutral-300 shadow-neutral-300/20 focus:ring-4 hover:border-neutral-600/40 focus:ring-neutral-100/70 focus:border-neutral-300/90 dark:bg-neutral-700/60 dark:text-white dark:border-neutral-500/30 dark:shadow-neutral-950/40 dark:hover:bg-neutral-800/90 dark:focus:ring-neutral-700/80 dark:focus:border-neutral-500/80"
247
252
  when "offwhite"
@@ -257,7 +262,7 @@ module Railsui
257
262
 
258
263
 
259
264
  def snippet_classes(variant: "active")
260
- case variant_classes = variant
265
+ case variant
261
266
  when "active"
262
267
  "bg-white px-3 py-1.5 rounded-md shadow flex items-center justify-center gap-2 text-[13px] font-semibold focus:ring-4 focus:ring-blue-600 group dark:bg-neutral-800/90 dark:text-neutral-100 dark:focus:ring-blue-600/50 dark:text-neutral-300"
263
268
  when "inactive"
@@ -0,0 +1,18 @@
1
+ module Railsui
2
+ module HostRouteFallbackHelper
3
+ def main_app
4
+ Rails.application.routes.url_helpers
5
+ end
6
+
7
+ def method_missing(name, *args, &blk)
8
+ if name.to_s.end_with?('_path', '_url') && main_app.respond_to?(name)
9
+ return main_app.public_send(name, *args, &blk)
10
+ end
11
+ super
12
+ end
13
+
14
+ def respond_to_missing?(name, include_private = false)
15
+ (name.to_s.end_with?('_path', '_url') && main_app.respond_to?(name)) || super
16
+ end
17
+ end
18
+ end
File without changes
@@ -2,125 +2,44 @@ module Railsui
2
2
  class Default
3
3
  THEMES = {
4
4
  hound: {
5
- name: "Hound",
6
- preview_link: "https://hound.railsui.com/",
7
- thumbnail: "tailwind-hound-thumbnail.jpg"
5
+ name: 'Hound',
6
+ preview_link: 'https://hound.railsui.com/',
7
+ thumbnail: 'tailwind-hound-thumbnail.jpg',
8
+ category: 'CRM/Project Management'
8
9
  },
9
10
  shepherd: {
10
- name: "Shepherd",
11
- preview_link: "https://shepherd-a4r.pages.dev/",
12
- thumbnail: "tailwind-shepherd-thumbnail.jpg"
13
- }
14
- }
15
-
16
- THEME_COLORS = {
17
- "default" => {
18
- primary: {
19
- "50": "#eef2ff",
20
- "100": "#e0e7ff",
21
- "200": "#c7d2fe",
22
- "300": "#a5b4fc",
23
- "400": "#818cf8",
24
- "500": "#6366f1",
25
- "600": "#4f46e5",
26
- "700": "#4338ca",
27
- "800": "#3730a3",
28
- "900": "#312e81",
29
- "950": "#1e1b4b"
30
- },
31
- secondary: {
32
- "50": "#f8fafc",
33
- "100": "#f1f5f9",
34
- "200": "#e2e8f0",
35
- "300": "#cbd5e1",
36
- "400": "#94a3b8",
37
- "500": "#64748b",
38
- "600": "#475569",
39
- "700": "#334155",
40
- "800": "#1e293b",
41
- "900": "#0f172a",
42
- "950": "#020617"
43
- },
11
+ name: 'Shepherd',
12
+ preview_link: 'https://shepherd.railsui.com/',
13
+ thumbnail: 'tailwind-shepherd-thumbnail.jpg',
14
+ category: 'Property Management SaaS'
44
15
  },
45
- "hound" => {
46
- primary: {
47
- "50": "#eef2ff",
48
- "100": "#e0e7ff",
49
- "200": "#c7d2fe",
50
- "300": "#a5b4fc",
51
- "400": "#818cf8",
52
- "500": "#6366f1",
53
- "600": "#4f46e5",
54
- "700": "#4338ca",
55
- "800": "#3730a3",
56
- "900": "#312e81",
57
- "950": "#1e1b4b"
58
- },
59
- secondary: {
60
- "50": "#f8fafc",
61
- "100": "#f1f5f9",
62
- "200": "#e2e8f0",
63
- "300": "#cbd5e1",
64
- "400": "#94a3b8",
65
- "500": "#64748b",
66
- "600": "#475569",
67
- "700": "#334155",
68
- "800": "#1e293b",
69
- "900": "#0f172a",
70
- "950": "#020617"
71
- },
72
- },
73
- "shepherd" => {
74
- primary: {
75
- "50": "#fff1f2",
76
- "100": "#ffe4e6",
77
- "200": "#fecdd3",
78
- "300": "#fda4af",
79
- "400": "#fb7185",
80
- "500": "#f43f5e",
81
- "600": "#e11d48",
82
- "700": "#be123c",
83
- "800": "#9f1239",
84
- "900": "#881337",
85
- "950": "#4c0519",
86
- },
87
- secondary: {
88
- "50": "#eaf6fc",
89
- "100": "#c1e3f7",
90
- "200": "#98d1f2",
91
- "300": "#6FBFED",
92
- "400": "#46ACE7",
93
- "500": "#1D9AE2",
94
- "600": "#187eb9",
95
- "700": "#126290",
96
- "800": "#0D4667",
97
- "900": "#082a3e",
98
- "950": "#030E15",
99
- }
16
+ corgie: {
17
+ name: 'Corgie',
18
+ preview_link: 'https://corgie.railsui.com/',
19
+ thumbnail: 'tailwind-corgie-thumbnail.jpg',
20
+ category: 'Artificial Intelligence'
100
21
  }
101
22
  }
102
23
 
103
24
  THEME_PAGES = {
104
- default: ["about", "activity", "assignments", "billing",
105
- "calendar", "dashboard", "integrations", "message",
106
- "messages", "notifications", "people", "pricing",
107
- "profile", "project", "projects", "settings", "team"],
108
- hound: ["about", "activity", "assignments", "billing",
109
- "calendar", "dashboard", "integrations", "message",
110
- "messages", "notifications", "people", "pricing",
111
- "profile", "project", "projects", "settings", "team"],
112
- shepherd: ["about", "account_notifications" "account_payment_methods", "account_payouts", "account_preferences", "api", "booking", "bookings", "calendar", "changelog", "contact", "dashboard","edit_booking", "help_center", "inbox", "insights", "new_booking", "pricing", "privacy_policy", "properties", "terms"]
25
+ default: %w[about activity assignments billing
26
+ calendar dashboard integrations message
27
+ messages notifications people pricing
28
+ profile project projects settings team],
29
+ hound: %w[about activity assignments billing
30
+ calendar dashboard integrations message
31
+ messages notifications people pricing
32
+ profile project projects settings team],
33
+ shepherd: %w[about account_notifications account_payment_methods account_payouts account_preferences api booking
34
+ bookings calendar changelog contact dashboard edit_booking help_center inbox insights new_booking pricing privacy_policy properties terms],
35
+ corgie: %w[home pricing features blog blog_show blog_category about terms privacy_policy signup signin help chat_new chat_show]
113
36
  }
114
37
 
115
38
  BODY_CLASSES = {
116
- default: "antialiased h-full bg-slate-50 dark:bg-slate-900 dark:text-slate-100 text-slate-800",
117
- hound: "antialiased h-full bg-slate-50 dark:bg-slate-900 dark:text-slate-100 text-slate-800",
118
- shepherd: "h-full antialiased text-zinc-800 leading-normal selection:bg-primary-100 selection:text-primary-700 dark:bg-zinc-900 bg-white dark:text-zinc-50 dark:selection:bg-zinc-500/40 dark:selection:text-zinc-200"
39
+ default: 'antialiased h-full bg-slate-50 dark:bg-slate-900 dark:text-slate-100 text-slate-800',
40
+ hound: 'antialiased h-full bg-slate-50 dark:bg-slate-900 dark:text-slate-100 text-slate-800',
41
+ shepherd: 'h-full antialiased text-zinc-800 leading-normal selection:bg-primary-100 selection:text-primary-700 dark:bg-zinc-900 bg-white dark:text-zinc-50 dark:selection:bg-zinc-500/40 dark:selection:text-zinc-200',
42
+ corgie: 'h-screen antialiased text-neutral-800 dark:text-neutral-50 dark:bg-neutral-900 bg-neutral-50'
119
43
  }
120
-
121
- def self.theme_colors(theme)
122
- theme_key = theme.to_s.downcase
123
- THEME_COLORS[theme_key.to_s] || THEME_COLORS["default"]
124
- end
125
44
  end
126
45
  end
@@ -5,7 +5,12 @@
5
5
  </div>
6
6
 
7
7
  <div class="mb-6 max-w-full prose prose-neutral dark:prose-invert">
8
- <p>Rails UI includes two custom colors in addtion to Tailwind CSS 4's color palette: <code>primary</code> and <code>secondary</code>.</p>
8
+
9
+ <% if Railsui.config.theme == "corgie" %>
10
+ <p><strong>Corgie</strong> uses default Tailwind colors for its brand. You can add more custom colors inside <code>@theme</code> if necessary. Read the <%= link_to "Tailwind CSS documentation", "https://tailwindcss.com/docs/theme", target: :_blank %> for examples.</p>
11
+ <% else %>
12
+ <p>Rails UI includes two custom colors in addtion to Tailwind CSS 4's color palette: <code>primary</code> and <code>secondary</code>.</p>
13
+ <% end %>
9
14
 
10
15
  <% if File.exist?("#{Rails.root}/app/assets/stylesheets/railsui/theme.css") %>
11
16
  <h3 class="mb-0">theme.css</h3>
@@ -17,7 +17,7 @@
17
17
  peer-checked:before:absolute
18
18
  peer-checked:before:top-0
19
19
  peer-checked:before:left-0
20
- peer-checked:before:bg-black/95
20
+ peer-checked:before:bg-green-500/95
21
21
  dark:peer-checked:before:bg-amber-300
22
22
  dark:peer-checked:before:text-neutral-950
23
23
  dark:peer-checked:ring-amber-300
@@ -31,18 +31,26 @@
31
31
  peer-checked:shadow-black/10">
32
32
  <%= image_tag theme[:thumbnail], alt: "#{theme[:name]} theme" %>
33
33
  </label>
34
- <div class="mt-4 flex items-center justify-between gap-2">
35
- <p class="font-semibold text-base my-2">
36
- <%= theme[:name] %>
37
- </p>
38
- <%= link_to theme[:preview_link], target: :_blank, class: "inline-flex text-sm items-center gap-2 font-medium text-sm py-1 px-2 rounded-md border border-neutral-300 dark:border-neutral-600 hover:shadow-sm" do %>
39
- <span>Preview</span>
40
- <% end %>
34
+ <div class="mt-4">
35
+ <div class="flex flex-col gap-1">
36
+ <p class="font-semibold text-base mb-1">
37
+ <%= theme[:name] %>
38
+ </p>
39
+ <p class="text-sm text-neutral-500 dark:text-neutral-400 mb-2">
40
+ <%= theme[:category] %>
41
+ </p>
42
+ <%= link_to theme[:preview_link], target: :_blank, class: "text-sm font-medium hover:underline flex items-center gap-1.5" do %>
43
+ <p>Preview</p>
44
+ <%= icon "arrow-up-right", class: "size-3 stroke-neutral-400" %>
45
+ <% end %>
46
+ </div>
41
47
  </div>
42
48
  </li>
43
49
  <% end %>
44
50
  </ul>
45
51
 
52
+ <%= render "railsui/shared/full_access_cta" %>
53
+
46
54
  <p class="pt-4 tracking-wide text-neutral-500 dark:text-white">Theme FAQs</p>
47
55
 
48
56
  <div class="divide-y divide-gray-200 dark:divide-neutral-700">
@@ -1,11 +1,11 @@
1
1
  <% if notice %>
2
- <div class="bg-gradient-to-br from-indigo-700 to-indigo-600 text-white text-center py-1.5 z-50 relative rounded-lg mb-3" role="alert" data-controller="railsui-flash">
2
+ <div class="flash flash-notice" role="alert" data-controller="railsui-flash">
3
3
  <p><%= sanitize notice %></p>
4
4
  </div>
5
5
  <% end %>
6
6
 
7
7
  <% if alert %>
8
- <div class="bg-gradient-to-br from-red-600 to-red-400 text-white text-center py-1.5 z-50 relative rounded-lg mb-3" role="alert" data-controller="railsui-flash">
8
+ <div class="flash flash-alert" role="alert" data-controller="railsui-flash">
9
9
  <p><%= sanitize alert %></p>
10
10
  </div>
11
11
  <% end %>
@@ -0,0 +1,27 @@
1
+ <div class="relative">
2
+ <div class="rounded-full absolute z-0 w-full top-0 blur-lg opacity-10 dark:opacity-10 overflow-hidden bottom-0 inset-x-auto">
3
+ <div class="w-full h-4 bg-pink-400"></div>
4
+ <div class="w-full h-4 bg-indigo-400"></div>
5
+ <div class="w-full h-4 bg-purple-400"></div>
6
+ </div>
7
+ <div class="rounded-4xl bg-white/80 border-dashed border-neutral-300/60 dark:bg-neutral-950/90 backdrop-blur-sm dark:border-neutral-700/80 p-8 border text-center flex flex-col items-center gap-4 mb-10 shadow-sm relative z-10 overflow-hidden">
8
+
9
+ <svg class="absolute inset-0 h-full w-full z-10 text-neutral-300/60 dark:text-neutral-400/70 opacity-25 [mask-image:linear-gradient(to_top,white,transparent)]" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid-pattern" width="32" height="32" patternUnits="userSpaceOnUse" x="50%" y="100%" patternTransform="translate(0 -1)"><path d="M0 32V.5H32" fill="none" stroke="currentColor"></path></pattern></defs><rect width="100%" height="100%" fill="url(#grid-pattern)"></rect></svg>
10
+
11
+ <div class="absolute -inset-x-4 -top-4 h-px bg-neutral-900/10 [mask-image:linear-gradient(to_right,transparent,white_4rem,white_calc(100%-4rem),transparent)] lg:block hidden dark:bg-neutral-700/60"></div>
12
+
13
+ <div class="absolute -inset-x-4 -bottom-4 h-px bg-neutral-900/10 [mask-image:linear-gradient(to_right,transparent,white_4rem,white_calc(100%-4rem),transparent)] lg:block hidden dark:bg-neutral-700/60"></div>
14
+
15
+ <svg class="size-8 fill-current text-neutral-900 dark:text-neutral-100" width="333" height="325" viewBox="0 0 333 325" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
16
+ <path d="M332.64 279.04L326.88 273.28L316.32 281.44C306.08 271.52 297.76 257.28 291.36 238.72C282.72 213.44 276 196.64 271.2 188.32C259.36 168.8 241.28 151.68 216.96 136.96L284.16 88.96L259.68 55.36C251.04 43.52 243.2 32.96 236.16 23.68C229.44 14.4 223.52 6.55999 218.4 0.159975L132.96 56.8C131.36 40.48 125.76 27.36 116.16 17.44C106.56 7.19998 93.6 2.07998 77.28 2.07998C55.2 2.07998 34.72 10.08 15.84 26.08V32.32C29.28 28.8 39.52 27.04 46.56 27.04C73.12 27.04 86.24 41.92 85.92 71.68L85.44 92.32L7.68 150.4C60.48 176.32 86.88 209.92 86.88 251.2C51.36 262.08 22.4 282.4 0 312.16L0.48 314.56C36.96 300.8 68 293.92 93.6 293.92C96.8 293.92 99.84 294.08 102.72 294.4C105.92 294.4 108.8 294.56 111.36 294.88C125.12 296.48 138.72 300.96 152.16 308.32C154.72 309.92 158.24 312 162.72 314.56C167.2 317.12 172.64 320.32 179.04 324.16L228 274.72L221.76 268.48L211.68 277.6C197.92 269.6 183.2 262.88 167.52 257.44V174.4C189.92 174.4 207.52 184.16 220.32 203.68C224.8 210.4 234.08 231.04 248.16 265.6C259.04 292.48 271.04 311.04 284.16 321.28H288.96L332.64 279.04ZM236.64 111.04L167.52 161.92V45.28L182.4 35.2L236.64 111.04ZM157.44 254.08C150.72 252.16 143.52 251.2 135.84 251.2V67.36L157.44 52.96V254.08ZM84.96 158.08L48.96 129.28L84.96 105.28V158.08Z"/></svg>
17
+
18
+ <div class="relative z-20">
19
+ <p class="mb-6 text-neutral-600 dark:text-neutral-300">Unlock more themes and components with full access.</p>
20
+
21
+ <%= link_to "https://railsui.com/pricing", target: :_blank, class: "rounded-md px-3 py-[5px] ring-4 ring-transparent text-sm transition-colors ease-in-out duration-300 disabled:opacity-50 disabled:pointer-events-none disabled:cursor-not-allowed text-center text-[14.5px] font-semibold inline-flex gap-2 items-center justify-center py-[5px] px-3 text-[14.5px] bg-neutral-950 text-neutral-100 focus:ring-neutral-100/70 hover:text-neutral-50 hover:ring-4 hover:ring-black/10 focus:outline focus:outline-neutral-200/80 dark:focus:outline-neutral-700/80 dark:bg-neutral-50 dark:text-neutral-950 dark:hover:bg-neutral-100/80 dark:hover:text-neutral-950 dark:focus:ring-neutral-700/30 md:w-auto w-full whitespace-nowrap" do %>
22
+ Get full access
23
+ <%= icon "arrow-up-right", class: "size-3" %>
24
+ <% end %>
25
+ </div>
26
+ </div>
27
+ </div>
@@ -1,3 +1,3 @@
1
- <div class="bg-white dark:bg-neutral-800 p-4 md:p-8 border border-neutral-200 rounded-xl dark:border-neutral-700 min-h-[240px]">
1
+ <div class="bg-white dark:bg-neutral-900 p-4 md:p-8 border border-neutral-200 rounded-xl dark:border-neutral-700 min-h-[240px]">
2
2
  <%= yield %>
3
3
  </div>
@@ -1,5 +1,62 @@
1
- <div class="relative my-10 bg-white border rounded-lg border-gray-200/80 dark:border-gray-700/80 dark:bg-gray-900">
2
- <div class="flex px-6 py-4 space-x-2 text-sm text-gray-700 border-b rounded-t-lg border-gray-200/80 dark:text-white dark:border-gray-700/80">
1
+ <%
2
+ # Map variant to color scheme
3
+ variant_color = local_assigns[:variant] || "gray"
4
+
5
+ # Define color classes based on variant
6
+ color_classes = case variant_color
7
+ when "neutral"
8
+ {
9
+ bg: "bg-white dark:bg-neutral-900",
10
+ border: "border-neutral-200/80 dark:border-neutral-700/80",
11
+ text: "text-neutral-700 dark:text-white",
12
+ badge_bg: "bg-neutral-300",
13
+ badge_text: "text-neutral-800"
14
+ }
15
+ when "gray"
16
+ {
17
+ bg: "bg-white dark:bg-gray-900",
18
+ border: "border-gray-200/80 dark:border-gray-700/80",
19
+ text: "text-gray-700 dark:text-white",
20
+ badge_bg: "bg-gray-300",
21
+ badge_text: "text-neutral-800"
22
+ }
23
+ when "stone"
24
+ {
25
+ bg: "bg-white dark:bg-stone-900",
26
+ border: "border-stone-200/80 dark:border-stone-700/80",
27
+ text: "text-stone-700 dark:text-white",
28
+ badge_bg: "bg-stone-300",
29
+ badge_text: "text-stone-800"
30
+ }
31
+ when "zinc"
32
+ {
33
+ bg: "bg-white dark:bg-zinc-900",
34
+ border: "border-zinc-200/80 dark:border-zinc-700/80",
35
+ text: "text-zinc-700 dark:text-white",
36
+ badge_bg: "bg-zinc-300",
37
+ badge_text: "text-zinc-800"
38
+ }
39
+ when "slate"
40
+ {
41
+ bg: "bg-white dark:bg-slate-900",
42
+ border: "border-slate-200/80 dark:border-slate-700/80",
43
+ text: "text-slate-700 dark:text-white",
44
+ badge_bg: "bg-slate-300",
45
+ badge_text: "text-slate-800"
46
+ }
47
+ else # Default to gray
48
+ {
49
+ bg: "bg-white dark:bg-gray-900",
50
+ border: "border-gray-200/80 dark:border-gray-700/80",
51
+ text: "text-gray-700 dark:text-white",
52
+ badge_bg: "bg-gray-300",
53
+ badge_text: "text-neutral-800"
54
+ }
55
+ end
56
+ %>
57
+
58
+ <div class="relative my-10 <%= color_classes[:bg] %> border rounded-lg <%= color_classes[:border] %>">
59
+ <div class="flex px-6 py-4 space-x-2 text-sm <%= color_classes[:text] %> border-b rounded-t-lg <%= color_classes[:border] %>">
3
60
  <ul class="text-right">
4
61
  <li>From:</li>
5
62
  <li>To:</li>
@@ -15,7 +72,7 @@
15
72
  </div>
16
73
 
17
74
  <div class="rui-mailer p-3 pb-10 min-h-[600px]">
18
- <div class="absolute inline-block px-3 py-1 text-xs font-semibold bg-gray-300 rounded-full text-neutral-800 top-4 right-4">Email preview</div>
75
+ <div class="absolute inline-block px-3 py-1 text-xs font-semibold <%= color_classes[:badge_bg] %> rounded-full <%= color_classes[:badge_text] %> top-4 right-4">Email preview</div>
19
76
 
20
77
  <%= capture(&block) %>
21
78
  </div>