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
@@ -0,0 +1,85 @@
1
+ <div id="scaffolds-show">
2
+ <%= render layout: example, locals: { heading: "Show", section: "Scaffolds" } do %>
3
+ <%= render preview('neutral') do %>
4
+ <div class="max-w-3xl mx-auto px-4 my-16 font-tiktok">
5
+ <div class="pb-6 border-b border-neutral-200/90 dark:border-neutral-700">
6
+ <nav aria-label="breadcrumb" class="my-6 font-medium flex text-neutral-500 dark:text-neutral-200 text-sm">
7
+ <ol class="flex flex-wrap items-center gap-3">
8
+ <li>
9
+ <a href="#" class="hover:underline hover:text-neutral-600 dark:hover:text-neutral-400">Posts</a>
10
+ </li>
11
+ <li class="flex gap-3">
12
+ <div class="flex items-center">
13
+ <span class="text-neutral-300 dark:text-neutral-500">/</span>
14
+ </div>
15
+ <span class="text-neutral-600 dark:text-neutral-500" aria-current="page">
16
+ #1
17
+ </span>
18
+ </li>
19
+ </ol>
20
+ </nav>
21
+ <div class="flex items-center justify-between">
22
+ <h1 class="h2 flex-1">post #1</h1>
23
+ <a href="#" class="btn btn-white">Edit</a>
24
+ </div>
25
+ </div>
26
+
27
+ <article class="font-tiktok py-6 prose dark:prose-invert">
28
+ <div>
29
+ <p class="mb-0 font-semibold">
30
+ Title
31
+ </p>
32
+ <p class="my-0">
33
+ Example post title 2
34
+ </p>
35
+ </div>
36
+ <div>
37
+ <p class="mb-0 font-semibold">
38
+ Content
39
+ </p>
40
+ <p class="my-0">
41
+ Example post content 2
42
+ </p>
43
+ </div>
44
+ <time class="text-neutral-600 dark:text-neutral-400 text-xs mt-2" datetime="February 23, 2023 12:37">Created 1 minute ago</time>
45
+ </article>
46
+ </div>
47
+ <% end %>
48
+
49
+ <% content_for :example, flush: true do %>
50
+
51
+ <%# .erb %>
52
+ <% content_for :erb, flush: true do %>
53
+ <div class="max-w-3xl mx-auto px-4 my-16">
54
+ <div class="pb-6 border-b border-neutral-200/90 dark:border-neutral-700">
55
+ <nav aria-label="breadcrumb" class="my-6 font-medium flex text-neutral-500 dark:text-neutral-200 text-sm">
56
+ <ol class="flex flex-wrap items-center gap-3">
57
+ <li>
58
+ <%%= link_to "Posts", posts_path, class: "hover:underline hover:text-neutral-600 dark:hover:text-neutral-400" %>
59
+ </li>
60
+ <li class="flex gap-3">
61
+ <div class="flex items-center">
62
+ <span class="text-neutral-300 dark:text-neutral-500">/</span>
63
+ </div>
64
+ <span class="text-neutral-600 dark:text-neutral-500" aria-current="page">
65
+ #<%%= @post.id %>
66
+ </span>
67
+ </li>
68
+ </ol>
69
+ </nav>
70
+ <div class="flex items-center justify-between">
71
+ <h1 class="h2 flex-1">post #<%%= @post.id %></h1>
72
+ <%%= link_to "Edit", edit_post_path(@post), class: "btn btn-white" %>
73
+ </div>
74
+ </div>
75
+ <%%= render @post %>
76
+ </div>
77
+ <% end %>
78
+
79
+ <% content_for :ruby do %>
80
+
81
+ <% end %>
82
+ <%= render_snippet active_tab: "erb", erb_filename: "show.html.erb" %>
83
+ <% end %>
84
+ <% end %>
85
+ </div>
@@ -1,4 +1,6 @@
1
1
  <%= render layout: "railsui/shared/linkables" do %>
2
+ <%= render "railsui/shared/linkable", path: systems_forms_form_builder_path, title: "Form Builder", description: "Automatically styled Rails forms with the Rails UI form builder." %>
3
+
2
4
  <%= render "railsui/shared/linkable", path: systems_forms_input_path, title: "Input", description: "The building blocks of any given form." %>
3
5
 
4
6
  <%= render "railsui/shared/linkable", path: systems_forms_input_group_path, title: "Input Group", description: "Group inputs together for tailored user experiences." %>
@@ -18,6 +18,8 @@
18
18
  <p class="font-medium px-3 py-2 dark:text-neutral-200 mt-4 mb-1 text-[14px]">Forms</p>
19
19
  <ul class="border-neutral-300/90 border-l dark:border-neutral-700 ml-3">
20
20
 
21
+ <%= system_nav_item(label: "Form Builder", path: systems_forms_form_builder_path) %>
22
+
21
23
  <%= system_nav_item(label: "Input", path: systems_forms_input_path) %>
22
24
 
23
25
  <%= system_nav_item(label: "Input Group", path: systems_forms_input_group_path) %>
@@ -107,34 +107,8 @@
107
107
  <%% end %>
108
108
  <% end %>
109
109
 
110
- <% content_for :haml, flush: true do %>
111
- / app/views/devise/passwords/edit.haml.erb
112
- - content_for :masthead do
113
- .text-center
114
- %h1.md:h3.h4.my-3 Change your password
115
- %p.mb-6.text-slate-700.dark:text-slate-200.max-w-sm.mx-auto Please enter a new password to update and secure your account.
116
- = render "rui/shared/error_messages", resource: resource
117
- = render "rui/devise/auth_layout" do
118
- = form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
119
- = f.hidden_field :reset_password_token
120
- .form-group
121
- = f.label :password, "New password", class: "form-label"
122
- .relative
123
- = f.password_field :password, autofocus: true, autocomplete: "new-password", class: "form-input focus:pl-10 peer transition"
124
- = icon "lock-closed", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
125
- - if @minimum_password_length
126
- %p.mt-1.text-sm.text-slate-600.dark:text-slate-400
127
- = @minimum_password_length
128
- characters minimum
129
- .form-group
130
- = f.label :password_confirmation, "Confirm new password", class: "form-label"
131
- .relative
132
- = f.password_field :password_confirmation, autocomplete: "new-password", class: "form-input focus:pl-10 peer transition"
133
- = icon "lock-closed", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
134
- = f.submit "Change password", class: "btn btn-primary hover:cursor-pointer w-full"
135
- <% end %>
136
110
 
137
- <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb", haml_filename: "new.haml.erb" %>
111
+ <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
138
112
  <% end %>
139
113
  <% end %>
140
114
 
@@ -80,27 +80,8 @@
80
80
 
81
81
  <% end %>
82
82
 
83
- <% content_for :haml, flush: true do %>
84
- / app/views/devise/confirmations/new.haml.erb
85
- - content_for :masthead do
86
- .text-center
87
- %h1.h4.my-3 Resend confirmation instuctions
88
- %p.mb-6.text-slate-700.dark:text-slate-200
89
- Not get your confirmation email?
90
- = succeed "You've" do
91
- %br.sm:block.hidden/
92
- = render "rui/shared/error_messages", resource: resource
93
- = render "devise/auth_layout" do
94
- = form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
95
- .form-group
96
- = f.label :email, class: "form-label"
97
- .relative
98
- = f.email_field :email, autofocus: true, autocomplete: "email", value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email), class: "form-input peer focus:pl-10 transition", pattern: "[^@\s]+@[^@\s]+\.[^@\s]+", title: "Invalid email address"
99
- = icon "envelope", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
100
- = f.submit "Resend confirmation instructions", class: "btn btn-primary w-full"
101
- <% end %>
102
83
 
103
- <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb", haml_filename: "new.haml.erb" %>
84
+ <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
104
85
  <% end %>
105
86
  <% end %>
106
87
 
@@ -203,51 +203,8 @@
203
203
  </div>
204
204
  <% end %>
205
205
 
206
- <% content_for :haml, flush: true do %>
207
- / app/views/devise/registrations/edit.haml.erb
208
- .max-w-4xl.mx-auto.px-4.my-10
209
- %h1.text-4xl.font-extrabold.text-slate-900.dark:text-slate-100.tracking-tight Account
210
- - if devise_mapping.confirmable? && resource.pending_reconfirmation?
211
- .text-blue-700.border-l-4.border-blue-700.py-4.pr-4.pl-6.text-sm.dark:text-blue-50.dark:border-blue-400.mt-6{class: "bg-blue-50/90 dark:bg-blue-50/10"}
212
- %p.text-blue-800.dark:text-blue-400
213
- Currently waiting on confirmation for:
214
- %span.font-semibold= resource.unconfirmed_email
215
- .my-6
216
- %h2.font-normal.text-lg.text-slate-700.dark:text-slate-200.mb-2 Profile
217
- %p.text-sm.text-slate-600.dark:text-slate-400 This information will often be displayed publically.
218
- = form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f|
219
- = render "rui/shared/error_messages", resource: resource
220
- .py-10.mt-6.border-t.border-slate-200.dark:border-slate-700
221
- %h2.font-normal.text-lg.text-slate-700.dark:text-slate-200.mb-2 Personal details
222
- %p.text-sm.text-slate-600.dark:text-slate-400 This information will not be displayed publically.
223
- .grid.grid-cols-1.sm:grid-cols-2.sm:gap-10.gap-4.items-start.form-group
224
- %div
225
- = f.label :email, class: "form-label"
226
- = f.email_field :email, autocomplete: "email", class: "form-input"
227
- %div
228
- = f.label :password, class: "form-label"
229
- = f.password_field :password, autocomplete: "new-password", class: "form-input"
230
- %p.text-xs.text-slate-700.my-1.dark:text-slate-400 Leave this blank if you don't want to change it
231
- - if @minimum_password_length
232
- %p.text-xs.text-slate-700.dark:text-slate-400
233
- = @minimum_password_length
234
- characters minimum
235
- .grid.grid-cols-1.sm:grid-cols-2.sm:gap-10.gap-4.items-start.form-group
236
- %div
237
- = f.label :password_confirmation, class: "form-label"
238
- = f.password_field :password_confirmation, autocomplete: "new-password", class: "form-input"
239
- %div
240
- = f.label :current_password, class: "form-label"
241
- = f.password_field :current_password, autocomplete: "current-password", class: "form-input"
242
- %p.text-xs.text-slate-700.my-1.dark:text-slate-400 Your current password is required to update your account.
243
- .flex.items-center.space-x-4.pt-10.border-t.mt-10.border-slate-200.dark:border-slate-700
244
- = f.submit "Update", class: "btn btn-primary"
245
- = link_to "Cancel", root_path, class: "btn btn-white", data: { turbo: false }
246
- .flex.justify-end
247
- = button_to "Cancel account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete, class: "text-slate-400 hover:text-slate-600 font-semibold text-sm relative -top-8"
248
- <% end %>
249
206
 
250
- <%= render_snippet active_tab: "erb", erb_filename: "edit.html.erb", haml_filename: "edit.haml.erb" %>
207
+ <%= render_snippet active_tab: "erb", erb_filename: "edit.html.erb" %>
251
208
 
252
209
  <% end %>
253
210
  <% end %>
@@ -81,30 +81,7 @@
81
81
  </div>
82
82
  <% end %>
83
83
 
84
- <% content_for :haml, flush: true do %>
85
- / app/views/devise/_auth_layout.html.erb
86
- .sm:h-[calc(100vh_-_52px)].pt-10.sm:pt-0.flex.flex-col.items-center.justify-center.bg-cover.bg-center.px-4{style: "background-image: url('#{asset_url('railsui/fusion.png')}')"}
87
- .sm:flex-1.flex.flex-col.justify-center.w-full{class: "sm:w-[428px]"}
88
- %div
89
- .flex.justify-center
90
- = link_to root_path do
91
- = icon "logo", custom_path: "/railsui/logo.svg", class: "w-10 h-auto"
92
- .mt-6
93
- = yield :masthead
94
- .bg-white.shadow-xs.rounded-lg.p-8.border{class: "border-slate-300/60"}
95
- = yield
96
- - if devise_mapping.omniauthable? && %w{ registrations sessions }.include?(controller_name)
97
- %hr.my-6/
98
- - resource_class.omniauth_providers.each do |provider|
99
- .my-2
100
- = button_to omniauth_authorize_path(resource_name, provider), class: "btn btn-white w-full", data: { turbo: false } do
101
- = icon "#{provider.gsub(/\s+/, '').downcase}", custom_path: "/railsui/omniauth/#{provider.gsub(/\s+/, '').downcase}.svg", class: "mr-2 size-5"
102
- %span
103
- Continue with #{OmniAuth::Utils.camelize(provider)}
104
- .mt-4
105
- = render "devise/shared/links"
106
- <% end %>
107
- <%= render_snippet(active_tab: "erb", erb_filename: "_auth_layout.html.erb", haml_filename: "_auth_layout.haml.erb") %>
84
+ <%= render_snippet(active_tab: "erb", erb_filename: "_auth_layout.html.erb") %>
108
85
 
109
86
 
110
87
 
@@ -116,9 +93,6 @@
116
93
 
117
94
  <% end %>
118
95
 
119
- <% content_for :haml, flush: true do %>
120
-
121
- <% end %>
122
96
 
123
97
  <% content_for :erb, flush: true do %>
124
98
  <%%= render "devise/auth_layout" do %>
@@ -154,17 +128,8 @@
154
128
  <%% end %>
155
129
  <% end %>
156
130
 
157
- <% content_for :haml, flush: true do %>
158
- / app/views/devise/shared/_links
159
- - if devise_mapping.confirmable? && controller_name != 'confirmations'
160
- .text-center.mb-1
161
- = link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name), class: "text-sm text-slate-600 hover:text-slate-800"
162
- - if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks'
163
- .text-center.mb-2
164
- = link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name), class: "text-sm text-slate-600 hover:text-slate-800"
165
- <% end %>
166
131
 
167
- <%= render_snippet(active_tab: "erb", erb_filename: "_links.html.erb", haml_filename: "_links.haml.erb") %>
132
+ <%= render_snippet(active_tab: "erb", erb_filename: "_links.html.erb") %>
168
133
  </div>
169
134
 
170
135
  <%= divider %>
@@ -300,21 +265,8 @@
300
265
  <%% end %>
301
266
  <% end %>
302
267
 
303
- <% content_for :haml, flush: true do %>
304
- - if resource.errors.any?
305
- .bg-rose-50.text-rose-700.sm:px-9.sm:py-6.px-6.py-6.rounded-lg.mb-6.dark:border.dark:text-rose-50.text-sm{class: "dark:bg-rose-400/10 dark:border-rose-400/20", role: "alert"}
306
- .flex.items-start.gap-4
307
- = icon "shield-exclamation", class: "size-6 text-rose-700 flex-shrink-0", variant: :solid
308
- .flex-1
309
- %p.font-bold
310
- = pluralize(resource.errors.count, "error") prohibited this post from being saved:
311
- %ul.list-disc.mt-3.ml-4
312
- - resource.errors.each do |error|
313
- %li
314
- = error.full_message
315
- <% end %>
316
268
 
317
- <%= render_snippet active_tab: "erb", erb_filename: "_error_messages.html.erb", haml_filename: "_error_messages.haml.erb" %>
269
+ <%= render_snippet active_tab: "erb", erb_filename: "_error_messages.html.erb" %>
318
270
  <% end %>
319
271
  <% end %>
320
272
  </div>
@@ -81,24 +81,8 @@
81
81
  <%% end %>
82
82
  <% end %>
83
83
 
84
- <% content_for :haml, flush: true do %>
85
- / app/views/devise/passwords/new.haml.erb
86
- - content_for :masthead do
87
- .text-center
88
- %h1.md:h3.h4.my-3 Forget your password?
89
- %p.mb-6.text-slate-700.dark:text-slate-200 Reset it in an instant
90
- = render "rui/shared/error_messages", resource: resource
91
- = render "devise/auth_layout" do
92
- = form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
93
- .form-group
94
- = f.label :email, class: "form-label"
95
- .relative
96
- = f.email_field :email, autofocus: true, autocomplete: "email", class: "form-input peer focus:pl-10 transition", pattern: "[^@\s]+@[^@\s]+\.[^@\s]+", title: "Invalid email address"
97
- = icon "envelope", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
98
- = f.submit "Send me reset password instructions", class: "btn btn-primary w-full"
99
- <% end %>
100
84
 
101
- <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb", haml_filename: "new.haml.erb" %>
85
+ <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
102
86
  <% end %>
103
87
  <% end %>
104
88
 
@@ -125,37 +125,8 @@
125
125
 
126
126
  <% end %>
127
127
 
128
- <% content_for :haml, flush: true do %>
129
- / app/views/devise/sessions/new.haml.erb
130
- - content_for :masthead do
131
- .text-center
132
- %h1.md:h3.h4.my-3 Sign in to your account
133
- %p.mb-6.text-slate-700.dark:text-slate-200
134
- Or #{link_to "sign up", new_registration_path(resource_name), class: "btn-link"} for an account
135
- = render "rui/shared/error_messages", resource: resource
136
- = render "devise/auth_layout" do
137
- = form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
138
- .form-group
139
- = f.label :email, class: "form-label"
140
- .relative
141
- = f.email_field :email, autofocus: true, autocomplete: "email", class: "form-input focus:pl-10 peer transition", pattern: "[^@\s]+@[^@\s]+\.[^@\s]+", title: "Invalid email address"
142
- = icon "envelope", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
143
- .form-group
144
- = f.label :password, class: "form-label"
145
- .relative
146
- = f.password_field :password, autocomplete: "current-password", class: "form-input focus:pl-10 peer transition"
147
- = icon "lock-closed", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
148
- .flex.flex-wrap.justify-between.items-center.form-group
149
- - if devise_mapping.rememberable?
150
- .flex.items-center
151
- = f.check_box :remember_me, class: "form-input-checkbox"
152
- = f.label :remember_me, class: "form-check-label ml-2"
153
- - if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations'
154
- = link_to "Forgot your password?", new_password_path(resource_name), class: "btn-link text-sm"
155
- = f.submit "Sign in", class: "btn btn-primary hover:cursor-pointer w-full"
156
- <% end %>
157
128
 
158
- <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb", haml_filename: "new.haml.erb" %>
129
+ <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
159
130
  <% end %>
160
131
  <% end %>
161
132
 
@@ -125,38 +125,8 @@
125
125
  <%% end %>
126
126
  <% end %>
127
127
 
128
- <% content_for :haml, flush: true do %>
129
- / app/views/devise/registrations/new.haml.erb
130
- - content_for :masthead do
131
- .text-center
132
- %h1.md:h3.h4.my-3 Sign up for an account
133
- %p.mb-6.text-slate-700.dark:text-slate-200
134
- Already have an account? #{link_to "Sign in", new_session_path(resource_name), class: "btn-link"}
135
- = render "rui/shared/error_messages", resource: resource
136
- = render "devise/auth_layout" do
137
- = form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
138
- .form-group
139
- = f.label :email, class: "form-label"
140
- .relative
141
- = f.email_field :email, autofocus: true, autocomplete: "email", class: "form-input focus:pl-10 peer transition", pattern: "[^@\s]+@[^@\s]+\.[^@\s]+", title: "Invalid email address"
142
- = icon "envelope", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
143
- .form-group
144
- = f.label :password, class: "form-label"
145
- .relative
146
- = f.password_field :password, autocomplete: "new-password", class: "form-input focus:pl-10 peer transition"
147
- = icon "lock-closed", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
148
- - if @minimum_password_length
149
- %p.text-xs.text-slate-500.dark:text-slate-400.mt-1
150
- (#{@minimum_password_length} characters minimum)
151
- .form-group
152
- = f.label :password_confirmation, class: "form-label"
153
- .relative
154
- = f.password_field :password_confirmation, autocomplete: "new-password", class: "form-input focus:pl-10 peer transition"
155
- = icon "lock-closed", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
156
- = f.submit "Sign up", class: "btn btn-primary w-full"
157
- <% end %>
158
128
 
159
- <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb", haml_filename: "new.haml.erb" %>
129
+ <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
160
130
  <% end %>
161
131
  <% end %>
162
132
 
@@ -74,24 +74,8 @@
74
74
  <%% end %>
75
75
  <% end %>
76
76
 
77
- <% content_for :haml do %>
78
- / app/views/rui/devise/unlocks/new.html.erb
79
- - content_for :masthead do
80
- .text-center
81
- %h1.md:h3.h4.my-3 Resend unlock instructions
82
- %p.mb-6.text-slate-700.dark:text-slate-200 Gain access to your existing account
83
- = render "rui/shared/error_messages", resource: resource
84
- = render "rui/devise/auth_layout" do
85
- = form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f|
86
- .form-group
87
- = f.label :email, class: "form-label"
88
- .relative
89
- = f.email_field :email, autofocus: true, autocomplete: "email", class: "form-input focus:pl-10 peer transition", pattern: "[^@\s]+@[^@\s]+\.[^@\s]+", title: "Invalid email address"
90
- = icon "envelope", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-indigo-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-indigo-400"
91
- = f.submit "Resend unlock instructions", class: "btn btn-primary w-full"
92
- <% end %>
93
77
 
94
- <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb", haml_filename: "new.haml.erb" %>
78
+ <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
95
79
  <% end %>
96
80
  <% end %>
97
81
 
@@ -172,39 +172,8 @@
172
172
  <%% end %>
173
173
  <% end %>
174
174
 
175
- <% content_for :haml, flush: true do %>
176
- / app/views/users/passwords/edit.html.erb
177
- = render "users/auth_layout" do
178
- = form_with(model: @user, method: :put) do |f|
179
- = f.hidden_field :reset_password_token
180
- .form-group
181
- = f.label :password, "New password", class: "form-label"
182
- .relative
183
- = f.password_field :password, autofocus: true, autocomplete: "new-password", class: "form-input focus:pl-10 peer transition"
184
- = icon "lock-closed", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
185
- - if @minimum_password_length
186
- %p.mt-1.text-sm.text-slate-600.dark:text-slate-400
187
- = @minimum_password_length
188
- characters minimum
189
- .form-group
190
- = f.label :password_confirmation, "Confirm new password", class: "form-label"
191
- .relative
192
- = f.password_field :password_confirmation, autocomplete: "new-password", class: "form-input focus:pl-10 peer transition"
193
- = icon "lock-closed", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
194
- = f.submit "Change password", class: "btn btn-primary hover:cursor-pointer w-full"
195
- - content_for :masthead do
196
- .text-center
197
- %h1.md:h3.h4.my-3 Change your password
198
- %p.mb-6.text-slate-700.dark:text-slate-200.max-w-sm.mx-auto Please enter a new password to update and secure your account.
199
- = render "rui/shared/error_messages", resource: @user
200
- - content_for :links do
201
- .text-center.mb-1
202
- %a.text-sm.text-slate-600.hover:text-slate-800.dark:text-slate-400.dark:hover:text-slate-500{href: "/users/confirmation/new"} Didn't receive confirmation instructions?
203
- .text-center.mb-2
204
- %a.text-sm.text-slate-600.hover:text-slate-800.dark:text-slate-400.dark:hover:text-slate-500{href: "/users/unlock/new"} Didn't receive unlock instructions?
205
- <% end %>
206
175
 
207
- <%= render_snippet active_tab: "erb", html_filename: "new.html", erb_filename: "new.html.erb", haml_filename: "new.haml.erb" %>
176
+ <%= render_snippet active_tab: "erb", html_filename: "new.html", erb_filename: "new.html.erb" %>
208
177
  <% end %>
209
178
  <% end %>
210
179
 
@@ -124,32 +124,10 @@
124
124
  <%% end %>
125
125
  <% end %>
126
126
 
127
- <% content_for :haml, flush: true do %>
128
- / app/views/users/confirmations/new.html.erb
129
- = render "users/auth_layout" do
130
- = form_with model: @user do |f|
131
- .form-group
132
- = f.label :email, class: "form-label"
133
- .relative
134
- = f.email_field :email, autofocus: true, autocomplete: "email", class: "form-input peer focus:pl-10 transition", pattern: "[^@\s]+@[^@\s]+\.[^@\s]+", title: "Invalid email address"
135
- = icon "envelope", class: "size-5 absolute translate-x-0 top-3 text-slate-300 peer-focus:text-primary-500/80 opacity-0 transition transform peer-focus:opacity-100 peer-focus:translate-x-3 dark:peer-focus:text-primary-400"
136
- = f.submit "Resend confirmation instructions", class: "btn btn-primary w-full"
137
- - content_for :masthead do
138
- .text-center
139
- %h1.h4.my-3 Resend confirmation instuctions
140
- %p.mb-6.text-slate-700.dark:text-slate-200
141
- Not get your confirmation email?
142
- = succeed "You've" do
143
- %br.sm:block.hidden/
144
- = render "rui/shared/error_messages", resource: @user
145
- - content_for :links do
146
- .text-center.mb-2
147
- %a.text-sm.text-slate-600.hover:text-slate-800.dark:text-slate-400.dark:hover:text-slate-500{href: "/users/unlock/new"} Didn't receive unlock instructions?
148
- <% end %>
149
127
 
150
128
 
151
129
 
152
- <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb", haml_filename: "new.haml.erb" %>
130
+ <%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
153
131
  <% end %>
154
132
  <% end %>
155
133
 
@@ -197,46 +197,8 @@
197
197
  </div>
198
198
  <% end %>
199
199
 
200
- <% content_for :haml, flush: true do %>
201
- / app/views/users/registrations/edit.html.erb
202
- .max-w-4xl.mx-auto.px-4.my-10
203
- %h1.h2 Account
204
- .my-6
205
- %h2.font-normal.text-lg.text-slate-700.dark:text-slate-200.mb-2 Profile
206
- %p.text-sm.text-slate-600.dark:text-slate-400 This information will often be displayed publically.
207
- = form_with model: @user, method: :put do |f|
208
- = render "rui/shared/error_messages", resource: resource
209
- .py-10.mt-6.border-t.border-slate-200.dark:border-slate-700
210
- %h2.font-normal.text-lg.text-slate-700.dark:text-slate-200.mb-2 Personal details
211
- %p.text-sm.text-slate-600.dark:text-slate-400 This information will not be displayed publically.
212
- .grid.grid-cols-1.sm:grid-cols-2.sm:gap-10.gap-4.items-start.form-group
213
- %div
214
- = f.label :email, class: "form-label"
215
- = f.email_field :email, autocomplete: "email", class: "form-input"
216
- %div
217
- = f.label :password, class: "form-label"
218
- = f.password_field :password, autocomplete: "new-password", class: "form-input"
219
- %p.text-xs.text-slate-700.my-1.dark:text-slate-400 Leave this blank if you don't want to change it
220
- - if @minimum_password_length
221
- %p.text-xs.text-slate-700.dark:text-slate-400
222
- = @minimum_password_length
223
- characters minimum
224
- .grid.grid-cols-1.sm:grid-cols-2.sm:gap-10.gap-4.items-start.form-group
225
- %div
226
- = f.label :password_confirmation, class: "form-label"
227
- = f.password_field :password_confirmation, autocomplete: "new-password", class: "form-input"
228
- %div
229
- = f.label :current_password, class: "form-label"
230
- = f.password_field :current_password, autocomplete: "current-password", class: "form-input"
231
- %p.text-xs.text-slate-700.my-1.dark:text-slate-400 Your current password is required to update your account.
232
- .flex.items-center.space-x-4.pt-10.border-t.mt-10.border-slate-200.dark:border-slate-700
233
- = f.submit "Update", class: "btn btn-primary"
234
- = link_to "Cancel", root_path, class: "btn btn-white", data: { turbo: false }
235
- .flex.justify-end
236
- = button_to "Cancel account", "/users", data: { confirm: "Are you sure?" }, method: :delete, class: "text-slate-400 hover:text-slate-600 font-semibold text-sm relative -top-8"
237
- <% end %>
238
200
 
239
- <%= render_snippet active_tab: "erb", erb_filename: "edit.html.erb", haml_filename: "edit.haml.erb" %>
201
+ <%= render_snippet active_tab: "erb", erb_filename: "edit.html.erb" %>
240
202
 
241
203
  <% end %>
242
204
  <% end %>
@@ -59,22 +59,7 @@
59
59
  </div>
60
60
  <% end %>
61
61
 
62
- <% content_for :haml, flush: true do %>
63
- / app/views/users/_auth_layout.html.erb
64
- .sm:h-[calc(100vh_-_52px)].pt-10.sm:pt-0.flex.flex-col.items-center.justify-center.bg-cover.bg-center.px-4{style: "background-image: url('#{asset_url('railsui/fusion.png')}')"}
65
- .sm:flex-1.flex.flex-col.justify-center.w-full{class: "sm:w-[428px]"}
66
- %div
67
- .flex.justify-center
68
- = link_to root_path do
69
- = icon "logo", custom_path: "/railsui/logo.svg", class: "w-10 h-auto"
70
- .mt-6
71
- = yield :masthead
72
- .bg-white.shadow-xs.rounded-lg.p-8.border{class: "border-slate-300/60"}
73
- = yield
74
- .mt-4
75
- = yield :links
76
- <% end %>
77
- <%= render_snippet(active_tab: "erb", erb_filename: "_auth_layout.html.erb", haml_filename: "_auth_layout.haml.erb") %>
62
+ <%= render_snippet(active_tab: "erb", erb_filename: "_auth_layout.html.erb") %>
78
63
 
79
64
 
80
65
  <div class="prose prose-neutral dark:prose-invert my-6 max-w-full">
@@ -85,16 +70,6 @@
85
70
 
86
71
  <% end %>
87
72
 
88
- <% content_for :haml, flush: true do %>
89
- = render "users/auth_layout" do
90
- / Add or yield form content here
91
-
92
- %= content_for :masthead do
93
- / Add any masthead content here
94
-
95
- %= content_for :links do
96
- / Add any links to other authentication pages here
97
- <% end %>
98
73
 
99
74
  <% content_for :erb, flush: true do %>
100
75
  <%%= render "users/auth_layout" do %>
@@ -247,21 +222,8 @@
247
222
  <%% end %>
248
223
  <% end %>
249
224
 
250
- <% content_for :haml, flush: true do %>
251
- - if resource.errors.any?
252
- .bg-rose-50.text-rose-700.sm:px-9.sm:py-6.px-6.py-6.rounded-lg.mb-6.dark:border.dark:text-rose-50.text-sm{class: "dark:bg-rose-400/10 dark:border-rose-400/20", role: "alert"}
253
- .flex.items-start.gap-4
254
- = icon "shield-exclamation", class: "size-6 text-rose-700 flex-shrink-0", variant: :solid
255
- .flex-1
256
- %p.font-bold
257
- = pluralize(resource.errors.count, "error") prohibited this post from being saved:
258
- %ul.list-disc.mt-3.ml-4
259
- - resource.errors.each do |error|
260
- %li
261
- = error.full_message
262
- <% end %>
263
225
 
264
- <%= render_snippet active_tab: "erb", erb_filename: "_error_messages.html.erb", haml_filename: "_error_messages.haml.erb" %>
226
+ <%= render_snippet active_tab: "erb", erb_filename: "_error_messages.html.erb" %>
265
227
  <% end %>
266
228
  <% end %>
267
229
  </div>