railsui 3.1.5 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,140 @@
1
+
2
+ <%= render "rui/shared/marketing/nav" %>
3
+
4
+ <div class="min-h-screen bg-neutral-50 dark:bg-neutral-900">
5
+ <div class="max-w-4xl px-6 py-16 mx-auto">
6
+ <div class="prose prose-neutral dark:prose-invert max-w-none">
7
+
8
+ <h1>Privacy Policy</h1>
9
+
10
+ <p class="mb-8 text-xl text-neutral-600 dark:text-neutral-300">
11
+ Last updated: <%= Date.today.strftime("%B %d, %Y") %>
12
+ </p>
13
+
14
+ <p>
15
+ This Privacy Policy describes how Corgi AI ("we," "our," or "us") collects, uses, and protects your information
16
+ when you use our AI conversation service.
17
+ </p>
18
+
19
+ <h2>Information We Collect</h2>
20
+
21
+ <h3>Personal Information</h3>
22
+ <p>
23
+ We may collect personal information that you provide directly to us, including:
24
+ </p>
25
+ <ul>
26
+ <li>Name and email address when you create an account</li>
27
+ <li>Payment information when you subscribe to our services</li>
28
+ <li>Profile information and preferences</li>
29
+ <li>Communication preferences and settings</li>
30
+ </ul>
31
+
32
+ <h3>Usage Information</h3>
33
+ <p>
34
+ We automatically collect information about how you use our service:
35
+ </p>
36
+ <ul>
37
+ <li>Conversation history and interactions with our AI</li>
38
+ <li>Files and documents you upload for processing</li>
39
+ <li>Device information and IP address</li>
40
+ <li>Usage patterns and feature engagement</li>
41
+ </ul>
42
+
43
+ <h2>How We Use Your Information</h2>
44
+
45
+ <p>
46
+ We use the information we collect to:
47
+ </p>
48
+ <ul>
49
+ <li>Provide and improve our AI conversation services</li>
50
+ <li>Personalize your experience and recommendations</li>
51
+ <li>Process payments and manage your account</li>
52
+ <li>Communicate with you about updates and features</li>
53
+ <li>Ensure the security and integrity of our service</li>
54
+ <li>Comply with legal obligations and resolve disputes</li>
55
+ </ul>
56
+
57
+ <h2>Information Sharing</h2>
58
+
59
+ <p>
60
+ We do not sell, trade, or rent your personal information to third parties. We may share your information only in
61
+ the following circumstances:
62
+ </p>
63
+ <ul>
64
+ <li>With your explicit consent</li>
65
+ <li>To comply with legal requirements or court orders</li>
66
+ <li>To protect our rights, safety, or property</li>
67
+ <li>With service providers who assist in our operations</li>
68
+ </ul>
69
+
70
+ <h2>Data Security</h2>
71
+
72
+ <p>
73
+ We implement appropriate technical and organizational security measures to protect your personal information
74
+ against unauthorized access, alteration, disclosure, or destruction. These measures include:
75
+ </p>
76
+ <ul>
77
+ <li>Encryption of data in transit and at rest</li>
78
+ <li>Regular security audits and vulnerability assessments</li>
79
+ <li>Access controls and authentication requirements</li>
80
+ <li>Employee training on data protection practices</li>
81
+ </ul>
82
+
83
+ <h2>Data Retention</h2>
84
+
85
+ <p>
86
+ We retain your personal information only for as long as necessary to provide our services and fulfill the
87
+ purposes outlined in this Privacy Policy. We will delete or anonymize your information when it is no longer
88
+ needed, except where we are required by law to retain it.
89
+ </p>
90
+
91
+ <h2>Your Rights</h2>
92
+
93
+ <p>
94
+ You have the right to:
95
+ </p>
96
+ <ul>
97
+ <li>Access and review your personal information</li>
98
+ <li>Request corrections to inaccurate information</li>
99
+ <li>Delete your account and associated data</li>
100
+ <li>Export your conversation history</li>
101
+ <li>Opt out of marketing communications</li>
102
+ </ul>
103
+
104
+ <h2>International Data Transfers</h2>
105
+
106
+ <p>
107
+ If you are located outside the United States, please note that we may transfer your information to the United
108
+ States and other countries where we operate. We ensure appropriate safeguards are in place to protect your
109
+ information in accordance with applicable data protection laws.
110
+ </p>
111
+
112
+ <h2>Children's Privacy</h2>
113
+
114
+ <p>
115
+ Our service is not intended for children under 13 years of age. We do not knowingly collect personal information
116
+ from children under 13. If you believe we have collected information from a child under 13, please contact us
117
+ immediately.
118
+ </p>
119
+
120
+ <h2>Changes to This Privacy Policy</h2>
121
+
122
+ <p>
123
+ We may update this Privacy Policy from time to time. We will notify you of any material changes by posting the
124
+ new Privacy Policy on this page and updating the "Last updated" date. We encourage you to review this Privacy
125
+ Policy periodically.
126
+ </p>
127
+
128
+ <h2>Contact Us</h2>
129
+
130
+ <p>
131
+ If you have any questions about this Privacy Policy or our data practices, please contact us at:
132
+ </p>
133
+ <ul>
134
+ <li>Email: <a href="#">privacy@corgi.com</a></li>
135
+ <li>Address: <a href="#">123 AI Street, Tech City, TC 12345</a></li>
136
+ <li>Phone: <a href="#">+1 (555) 123-4567</a></li>
137
+ </ul>
138
+ </div>
139
+ </div>
140
+ </div>
@@ -0,0 +1,38 @@
1
+ <%= render "rui/shared/common/social_auth_buttons" %>
2
+
3
+ <!-- Email Form -->
4
+ <form>
5
+ <div class="form-group">
6
+ <label for="email" class="form-label form-label-required">
7
+ Email address
8
+ </label>
9
+ <input id="email" name="email" type="email" autocomplete="email" required class="form-input" placeholder="Enter your email">
10
+ </div>
11
+
12
+ <div class="form-group">
13
+ <label for="password" class="form-label form-label-required">
14
+ Password
15
+ </label>
16
+ <input id="password" name="password" type="password" autocomplete="new-password" required class="form-input" placeholder="Create a password">
17
+ <p class="text-xs form-help">Must be at least 8 characters long</p>
18
+ </div>
19
+
20
+ <div class="flex items-center form-group">
21
+ <input id="persist_login" name="persist_login" type="checkbox" class="form-input-checkbox">
22
+ <label for="persist_login" class="ml-3 text-sm text-neutral-600 dark:text-neutral-400">
23
+ Keep me signed in
24
+ </label>
25
+ </div>
26
+
27
+ <button type="submit" class="w-full btn btn-lg btn-primary">
28
+ Create account
29
+ </button>
30
+ </form>
31
+
32
+ <!-- Sign in link -->
33
+ <div class="text-center">
34
+ <p class="text-sm text-neutral-600 dark:text-neutral-400">
35
+ Don't have an account?
36
+ <%= link_to "Sign up", rui_signup_path, class: "font-medium underline text-neutral-900 dark:text-white hover:text-neutral-700 dark:hover:text-neutral-200" %>
37
+ </p>
38
+ </div>
@@ -0,0 +1,48 @@
1
+ <%= render "rui/shared/common/social_auth_buttons" %>
2
+
3
+ <!-- Email Form -->
4
+ <form>
5
+ <div class="form-group">
6
+ <label for="email" class="form-label form-label-required">
7
+ Email address
8
+ </label>
9
+ <input id="email" name="email" type="email" autocomplete="email" required class="form-input" placeholder="Enter your email">
10
+ </div>
11
+
12
+ <div class="form-group">
13
+ <label for="password" class="form-label form-label-required">
14
+ Password
15
+ </label>
16
+ <input id="password" name="password" type="password" autocomplete="new-password" required class="form-input" placeholder="Create a password">
17
+ <p class="text-xs form-help">Must be at least 8 characters long</p>
18
+ </div>
19
+
20
+ <div class="form-group">
21
+ <label for="password_confirmation" class="form-label form-label-required">
22
+ Confirm password
23
+ </label>
24
+ <input id="password_confirmation" name="password_confirmation" type="password" autocomplete="new-password" required class="form-input" placeholder="Confirm your password">
25
+ </div>
26
+
27
+ <div class="flex items-center form-group">
28
+ <input id="terms" name="terms" type="checkbox" required class="form-input-checkbox">
29
+ <label for="terms" class="ml-3 text-sm text-neutral-600 dark:text-neutral-400">
30
+ I agree to the
31
+ <%= link_to "Terms", rui_terms_path, class: "font-medium underline text-neutral-900 dark:text-white hover:text-neutral-700 dark:hover:text-neutral-200" %>
32
+ and
33
+ <%= link_to "Privacy Policy", rui_privacy_policy_path, class: "font-medium underline text-neutral-900 dark:text-white hover:text-neutral-700 dark:hover:text-neutral-200" %>
34
+ </label>
35
+ </div>
36
+
37
+ <button type="submit" class="w-full btn btn-lg btn-primary">
38
+ Create account
39
+ </button>
40
+ </form>
41
+
42
+ <!-- Sign in link -->
43
+ <div class="text-center">
44
+ <p class="text-sm text-neutral-600 dark:text-neutral-400">
45
+ Already have an account?
46
+ <%= link_to "Sign in", rui_signin_path, class: "font-medium underline text-neutral-900 dark:text-white hover:text-neutral-700 dark:hover:text-neutral-200" %>
47
+ </p>
48
+ </div>
@@ -0,0 +1,182 @@
1
+ <%= render "rui/shared/marketing/nav" %>
2
+
3
+ <div class="min-h-screen bg-neutral-50 dark:bg-neutral-900">
4
+ <div class="max-w-4xl px-6 py-16 mx-auto">
5
+ <div class="prose prose-neutral dark:prose-invert max-w-none">
6
+
7
+ <h1>Terms of Service</h1>
8
+
9
+ <p class="mb-8 text-xl text-neutral-600 dark:text-neutral-300">
10
+ Last updated: <%= Date.today.strftime('%B %d, %Y') %>
11
+ </p>
12
+
13
+ <p>
14
+ Welcome to Corgi AI. These Terms of Service ("Terms") govern your use of our AI conversation service and
15
+ website. By accessing or using our service, you agree to be bound by these Terms.
16
+ </p>
17
+
18
+ <h2>1. Acceptance of Terms</h2>
19
+
20
+ <p>
21
+ By creating an account or using our service, you acknowledge that you have read, understood, and agree to be
22
+ bound by these Terms and our <%= link_to "Privacy Policy", rui_privacy_path %>. If you do not agree to these Terms, please do not
23
+ use our service.
24
+ </p>
25
+
26
+ <h2>2. Description of Service</h2>
27
+
28
+ <p>
29
+ Corgi AI provides an AI-powered conversation platform that enables users to engage in intelligent dialogue,
30
+ process files, and receive assistance with various tasks. Our service includes:
31
+ </p>
32
+ <ul>
33
+ <li>Natural language conversation with AI</li>
34
+ <li>File upload and processing capabilities</li>
35
+ <li>Contextual understanding and reasoning</li>
36
+ <li>Personalized assistance and recommendations</li>
37
+ </ul>
38
+
39
+ <h2>3. User Accounts</h2>
40
+
41
+ <h3>Account Creation</h3>
42
+ <p>
43
+ To access our service, you must create an account and provide accurate, complete information. You are
44
+ responsible for maintaining the confidentiality of your account credentials and for all activities that occur
45
+ under your account.
46
+ </p>
47
+
48
+ <h3>Account Responsibilities</h3>
49
+ <p>
50
+ You agree to:
51
+ </p>
52
+ <ul>
53
+ <li>Provide accurate and up-to-date information</li>
54
+ <li>Keep your password secure and confidential</li>
55
+ <li>Notify us immediately of any unauthorized use</li>
56
+ <li>Use the service only for lawful purposes</li>
57
+ </ul>
58
+
59
+ <h2>4. Acceptable Use</h2>
60
+
61
+ <p>
62
+ You may use our service only for lawful purposes and in accordance with these Terms. You agree not to use the
63
+ service:
64
+ </p>
65
+ <ul>
66
+ <li>To violate any applicable laws or regulations</li>
67
+ <li>To transmit harmful, offensive, or inappropriate content</li>
68
+ <li>To impersonate others or provide false information</li>
69
+ <li>To interfere with or disrupt the service</li>
70
+ <li>To attempt to gain unauthorized access to our systems</li>
71
+ <li>To use the service for competitive intelligence or reverse engineering</li>
72
+ </ul>
73
+
74
+ <h2>5. Content and Intellectual Property</h2>
75
+
76
+ <h3>Your Content</h3>
77
+ <p>
78
+ You retain ownership of any content you submit to our service. However, you grant us a limited license to use,
79
+ process, and store your content solely to provide our service. We do not claim ownership of your conversations
80
+ or uploaded files.
81
+ </p>
82
+
83
+ <h3>Our Content</h3>
84
+ <p>
85
+ The service and its original content, features, and functionality are owned by Corgi AI and are protected by
86
+ copyright, trademark, and other intellectual property laws.
87
+ </p>
88
+
89
+ <h2>6. Privacy and Data Protection</h2>
90
+
91
+ <p>
92
+ Your privacy is important to us. Our collection and use of personal information is governed by our <%= link_to "Privacy Policy", rui_privacy_path %>. By using our service, you consent to the collection and use of your information
93
+ as described in our Privacy Policy.
94
+ </p>
95
+
96
+ <h2>7. Subscription and Payment</h2>
97
+
98
+ <h3>Subscription Plans</h3>
99
+ <p>
100
+ We offer various subscription plans with different features and usage limits. Current pricing and plan details
101
+ are available on our <%= link_to "pricing page", rui_pricing_path %>.
102
+ </p>
103
+
104
+ <h3>Payment Terms</h3>
105
+ <p>
106
+ Subscription fees are billed in advance on a recurring basis. You authorize us to charge your payment method for
107
+ all applicable fees. Fees are non-refundable except as required by law.
108
+ </p>
109
+
110
+ <h3>Cancellation</h3>
111
+ <p>
112
+ You may cancel your subscription at any time through your account settings. Cancellation will take effect at the
113
+ end of your current billing period.
114
+ </p>
115
+
116
+ <h2>8. Service Availability</h2>
117
+
118
+ <p>
119
+ We strive to maintain high service availability, but we cannot guarantee uninterrupted access. We may
120
+ temporarily suspend or restrict access for maintenance, updates, or other operational reasons.
121
+ </p>
122
+
123
+ <h2>9. Limitation of Liability</h2>
124
+
125
+ <p>
126
+ To the fullest extent permitted by law, Corgi AI shall not be liable for any indirect, incidental, special,
127
+ consequential, or punitive damages arising from your use of the service, including but not limited to loss of
128
+ data, profits, or business opportunities.
129
+ </p>
130
+
131
+ <h2>10. Disclaimers</h2>
132
+
133
+ <p>
134
+ Our service is provided "as is" without warranties of any kind. We do not warrant that the service will be
135
+ error-free, secure, or continuously available. AI responses are generated based on training data and may not
136
+ always be accurate or appropriate.
137
+ </p>
138
+
139
+ <h2>11. Indemnification</h2>
140
+
141
+ <p>
142
+ You agree to indemnify and hold harmless Corgi AI from any claims, damages, or expenses arising from your use of
143
+ the service, violation of these Terms, or infringement of any third-party rights.
144
+ </p>
145
+
146
+ <h2>12. Termination</h2>
147
+
148
+ <p>
149
+ We may terminate or suspend your account and access to the service at our sole discretion, without notice, for
150
+ any reason, including if you breach these Terms. Upon termination, your right to use the service will cease
151
+ immediately.
152
+ </p>
153
+
154
+ <h2>13. Changes to Terms</h2>
155
+
156
+ <p>
157
+ We reserve the right to modify these Terms at any time. We will notify you of significant changes by posting the
158
+ updated Terms on our website and updating the "Last updated" date. Your continued use of the service after
159
+ changes constitutes acceptance of the new Terms.
160
+ </p>
161
+
162
+ <h2>14. Governing Law</h2>
163
+
164
+ <p>
165
+ These Terms are governed by and construed in accordance with the laws of the State of California, without regard
166
+ to its conflict of law principles. Any disputes will be resolved in the courts of California.
167
+ </p>
168
+
169
+ <h2>15. Contact Information</h2>
170
+
171
+ <p>
172
+ If you have any questions about these Terms, please contact us at:
173
+ </p>
174
+ <ul>
175
+ <li>Email: <a href="#">legal@corgi-ai.com</a></li>
176
+ <li>Address: <a href="#">123 AI Street, Tech City, TC 12345</a></li>
177
+ <li>Phone: <a href="#">+1 (555) 123-4567</a></li>
178
+ </ul>
179
+
180
+ </div>
181
+ </div>
182
+ </div>
@@ -0,0 +1,46 @@
1
+ <!-- User Profile Dropdown -->
2
+ <div class="relative top-1" data-controller="railsui-dropdown">
3
+ <button type="button"
4
+ class="size-7 focus:ring-4 focus:ring-neutral-200/80 dark:focus:ring-neutral-500/80 transition-colors ease-in-out duration-100 rounded-full overflow-hidden"
5
+ data-action="click->railsui-dropdown#toggle click@window->railsui-dropdown#hide">
6
+ <%= image_tag demo_avatar_url(id: 32, variant: :men), alt: "John Doe", class: "size-7 object-cover select-none" %>
7
+ </button>
8
+
9
+ <!-- Dropdown Menu -->
10
+ <div class="absolute right-0 dropdown-menu top-10 md:w-[250px]" data-railsui-dropdown-target="menu"
11
+ data-transition-enter="transition-all duration-200 ease-out"
12
+ data-transition-enter-from="opacity-0 scale-95 transform" data-transition-enter-to="opacity-100 scale-100 transform"
13
+ data-transition-leave="transition-all duration-150 ease-in"
14
+ data-transition-leave-from="opacity-100 scale-100 transform"
15
+ data-transition-leave-to="opacity-0 scale-95 transform">
16
+ <!-- Menu Items -->
17
+ <div class="p-1">
18
+ <button type="button" class="dropdown-item w-full"
19
+ data-action="click->railsui-modal#open">
20
+ <%= icon "user-circle", class: "size-5 text-neutral-600 dark:text-neutral-300" %>
21
+ andy@example.com
22
+ </button>
23
+ <button type="button" class="dropdown-item w-full"
24
+ data-action="click->railsui-modal#open">
25
+ <%= icon "credit-card", class: "size-5 text-neutral-600 dark:text-neutral-300" %>
26
+ Billing
27
+ </button>
28
+ <button type="button" class="dropdown-item w-full"
29
+ data-action="click->railsui-modal#open">
30
+ <%= icon "cog-6-tooth", class: "size-5 text-neutral-600 dark:text-neutral-300" %>
31
+ Settings
32
+ </button>
33
+ <hr class="my-1 -mx-1.5 dark:border-neutral-600/90" />
34
+
35
+ <%= link_to rui_help_path, class: "dropdown-item #{"bg-neutral-50" if current_page?(rui_help_path) }" do %>
36
+ <%= icon "question-mark-circle", class: "size-5 text-neutral-600 dark:text-neutral-300" %>
37
+ Help & Support
38
+ <% end %>
39
+
40
+ <%= button_to "#", class: "w-full dropdown-item text-left" do %>
41
+ <%= icon "arrow-right-on-rectangle", class: "size-5 text-neutral-600 dark:text-neutral-300" %>
42
+ Sign out
43
+ <% end %>
44
+ </div>
45
+ </div>
46
+ </div>
@@ -0,0 +1,15 @@
1
+ <%# locals: (align: "center", url: root_url, action:, theme: "primary", fullwidth: false) %>
2
+
3
+ <table class="action" align="<%= align %>">
4
+ <tr>
5
+ <td align="<%= align %>">
6
+ <a href="<%= url %>" class="action__link action__link--<%= theme %> <%= fullwidth == true ? "action__link--expanded" : nil %>" target="_blank"><%= action %></a>
7
+ <div itemscope itemtype="http://schema.org/EmailMessage">
8
+ <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction">
9
+ <link itemprop="target" href="<%= url %>"/>
10
+ <meta itemprop="name" content="<%= action %>"/>
11
+ </div>
12
+ </div>
13
+ </td>
14
+ </tr>
15
+ </table>
@@ -0,0 +1,7 @@
1
+ <table class="callout">
2
+ <tbody>
3
+ <td>
4
+ <%= capture(&block) %>
5
+ </td>
6
+ </tbody>
7
+ </table>
@@ -0,0 +1,7 @@
1
+ <table class="spacer">
2
+ <tbody>
3
+ <tr>
4
+ <td height="<%= amount %>" style="font-size:<%= amount %>px;line-height:<%= amount %>px;">&nbsp;</td>
5
+ </tr>
6
+ </tbody>
7
+ </table>
@@ -0,0 +1,10 @@
1
+ <% if resource.errors.any? %>
2
+ <div class="bg-neutral-50 text-neutral-700 px-6 py-4 rounded-2xl mb-6 dark:bg-neutral-400/10 dark:border dark:border-neutral-400/20 dark:text-neutral-50 text-sm" role="alert">
3
+ <p class="font-semibold"><%= pluralize(resource.errors.count, "error") %> prohibited this <%= resource.class.name.downcase %> from being saved:</p>
4
+ <ul class="list-disc mt-3 ml-4">
5
+ <% resource.errors.each do |error| %>
6
+ <li><%= error.full_message %></li>
7
+ <% end %>
8
+ </ul>
9
+ </div>
10
+ <% end %>
@@ -0,0 +1,9 @@
1
+ <%# locals:(title: "Faq title") %>
2
+ <div class="card">
3
+ <h3 class="mb-3 h6">
4
+ <%= title %>
5
+ </h3>
6
+ <div class="prose prose-netural dark:prose-invert [text-wrap:pretty] max-w-3xl">
7
+ <%= yield %>
8
+ </div>
9
+ </div>
@@ -0,0 +1,11 @@
1
+ <% if notice %>
2
+ <div class="bg-neutral-800 text-white text-center p-4" role="alert">
3
+ <p><%= sanitize notice %></p>
4
+ </div>
5
+ <% end %>
6
+
7
+ <% if alert %>
8
+ <div class="bg-red-600 text-white text-center p-4" role="alert">
9
+ <p><%= sanitize alert %></p>
10
+ </div>
11
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <!-- Body: TikTok Sans -->
2
+ <link rel="preconnect" href="https://fonts.googleapis.com">
3
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
4
+ <link href="https://fonts.googleapis.com/css2?family=TikTok+Sans:opsz,wght@12..36,300..900&display=swap" rel="stylesheet">
5
+
6
+ <!-- Monospace: IBM Plex Mono -->
7
+ <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" rel="stylesheet">
@@ -0,0 +1,72 @@
1
+ <footer class="px-6 py-20 border-t border-neutral-200 dark:border-neutral-700/90">
2
+ <div class="max-w-6xl mx-auto">
3
+ <div class="grid gap-12 md:grid-cols-4">
4
+ <div class="md:col-span-1">
5
+ <%= link_to root_path, class: "flex items-center mb-6 gap-2" do %>
6
+ <%= icon "logo.svg", custom_path: "/railsui/logo.svg", class: "size-6 shrink-0 fill-current dark:fill-neutral-100" %>
7
+ <span class="text-xl font-semibold text-neutral-900 dark:text-neutral-100"><%= Railsui.config.application_name || "Corgie" %></span>
8
+ <% end %>
9
+ <p class="leading-relaxed text-neutral-600 dark:text-neutral-400">
10
+ AI assistance that understands and adapts to how you work.
11
+ </p>
12
+ </div>
13
+
14
+ <div>
15
+ <h4 class="mb-4 font-semibold text-neutral-900 dark:text-white">Product</h4>
16
+ <ul class="space-y-3">
17
+ <li>
18
+ <%= link_to "Chat", rui_chat_new_path, class: "transition-colors text-neutral-600 hover:text-neutral-900 dark:text-neutral-400" %>
19
+ </li>
20
+ <li>
21
+ <%= link_to "Features", rui_features_path, class: "transition-colors text-neutral-600 hover:text-neutral-900 dark:text-neutral-400" %>
22
+ </li>
23
+ <li>
24
+ <%= link_to "Pricing", rui_pricing_path, class: "transition-colors text-neutral-600 hover:text-neutral-900 dark:text-neutral-400" %>
25
+ </li>
26
+ </ul>
27
+ </div>
28
+
29
+ <div>
30
+ <h4 class="mb-4 font-semibold text-neutral-900 dark:text-white">Company</h4>
31
+ <ul class="space-y-3">
32
+ <li>
33
+ <%= link_to "About", rui_about_path, class: "transition-colors text-neutral-600 hover:text-neutral-900 dark:text-neutral-400" %>
34
+ </li>
35
+ <li>
36
+ <%= link_to "Blog", rui_blog_path, class: "transition-colors text-neutral-600 hover:text-neutral-900 dark:text-neutral-400" %>
37
+ </li>
38
+ <li>
39
+ <%= link_to "Careers", "#", class: "transition-colors text-neutral-600 hover:text-neutral-900 dark:text-neutral-400" %>
40
+ </li>
41
+ </ul>
42
+ </div>
43
+
44
+ <div>
45
+ <h4 class="mb-4 font-semibold text-neutral-900 dark:text-white">Support</h4>
46
+ <ul class="space-y-3">
47
+ <li>
48
+ <%= link_to "Help", rui_help_path, class: "transition-colors text-neutral-600 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-500" %>
49
+ </li>
50
+ <li>
51
+ <%= link_to "Docs", "#", class: "transition-colors text-neutral-600 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-500" %>
52
+ </li>
53
+ <li>
54
+ <%= link_to "Contact", "#", class: "transition-colors text-neutral-600 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-500" %>
55
+ </li>
56
+ </ul>
57
+ </div>
58
+ </div>
59
+
60
+ <div
61
+ class="flex flex-col items-center justify-between pt-8 mt-16 border-t border-neutral-200 md:flex-row dark:border-neutral-700/90">
62
+ <p class="text-sm text-neutral-500">
63
+ &copy; <%= Date.today.year %> <%= Railsui.config.application_name || "Corgie" %>. All rights reserved.
64
+ </p>
65
+ <div class="flex items-center mt-4 space-x-6 md:mt-0">
66
+ <%= link_to "Privacy", rui_privacy_policy_path, class: "text-sm transition-colors text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-500" %>
67
+ <%= link_to "Terms", rui_terms_path, class: "text-sm transition-colors text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-500" %>
68
+ <%= link_to "Security", "#", class: "text-sm transition-colors text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-500" %>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </footer>
@@ -0,0 +1,15 @@
1
+ <%# locals:(title:) %>
2
+ <header class="px-6 py-3">
3
+ <div class="max-w-4xl mx-auto flex items-center justify-between">
4
+ <div class="flex items-center space-x-3 md:-ml-12">
5
+ <%= link_to root_path, class: "btn btn-ghost btn-sm flex items-center gap-3 size-8" do %>
6
+ <%= icon "arrow-left", class: "size-5 shrink-0" %>
7
+ <span class="sr-only">Back to Chat</span>
8
+ <% end %>
9
+ <h1 class="text-xl font-semibold text-neutral-900 dark:text-neutral-100"><%= title %></h1>
10
+ </div>
11
+ <div class="flex items-center gap-2">
12
+ <%= render "rui/shared/account_dropdown" %>
13
+ </div>
14
+ </div>
15
+ </header>