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,110 @@
1
+ <div id="modal-base">
2
+ <%= render layout: example, locals: { heading: "Base", section: "Modal" } do %>
3
+
4
+ <div class="bg-black/80 flex items-center jusity-center p-10 rounded-t-lg dark:bg-neutral-800 dark:border-t dark:border-x dark:border-neutral-600 font-tiktok">
5
+ <div class="rounded-2xl shadow-xl max-w-lg bg-white m-1 p-8 prose origin-bottom mx-auto dark:bg-neutral-700 dark:text-neutral-200">
6
+ <h3 id="modal-title" class="h3">Hang on one sec</h3>
7
+
8
+ <div class="prose prose-neutral dark:prose-invert mt-2 mb-6">
9
+ <p>Review and accept our updated terms of service before continuing. These changes help protect you and our service.</p>
10
+ </div>
11
+
12
+ <div class="flex justify-end items-center flex-wrap gap-4">
13
+ <button class="btn btn-primary">Close</button>
14
+ </div>
15
+ </div>
16
+ </div>
17
+
18
+ <div data-controller="railsui-modal">
19
+ <div class="flex justify-center p-6 border-x border-b border-neutral-200 rounded-b-lg relative dark:bg-neutral-700 dark:border-neutral-600 dark:border-t">
20
+ <div class="absolute top-4 left-4">
21
+ <%= doc_label :demo %>
22
+ </div>
23
+ <button type="button" data-action="click->railsui-modal#open" class="btn btn-primary" tabindex="0">
24
+ Open modal
25
+ </button>
26
+ </div>
27
+
28
+ <div
29
+ aria-labelledby="modal-title"
30
+ aria-modal="true"
31
+ data-railsui-modal-target="container"
32
+ data-action="keyup@window->railsui-modal#closeWithEsc"
33
+ class="hidden fixed inset-0 z-50 overflow-y-auto"
34
+ role="dialog"
35
+ >
36
+ <div class="h-screen w-full relative flex items-center justify-center">
37
+ <div
38
+ data-railsui-modal-target="content"
39
+ data-transition-enter-active="transition ease-out duration-300"
40
+ data-transition-enter-from="transform opacity-0 scale-95"
41
+ data-transition-enter-to="transform opacity-100 scale-100"
42
+ data-transition-leave-active="transition ease-in duration-300"
43
+ data-transition-leave-from="transform opacity-100 scale-100"
44
+ data-transition-leave-to="transform opacity-0 scale-95"
45
+ class="hidden rounded-2xl shadow-xl max-w-lg bg-white m-1 p-8 prose origin-bottom mx-auto dark:bg-neutral-700 dark:text-neutral-200">
46
+ <h3 id="modal-title" class="h3">Hang on one sec</h3>
47
+
48
+ <div class="prose prose-neutral dark:prose-invert mt-2 mb-6">
49
+ <p>Review and accept our updated terms of service before continuing. These changes help protect you and our service.</p>
50
+ </div>
51
+
52
+ <div class="flex justify-end items-center flex-wrap gap-4">
53
+ <button class="btn btn-primary" data-action="click->railsui-modal#close">Close</button>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ </div>
59
+
60
+ <% content_for :example, flush: true do %>
61
+ <% content_for :html, flush: true do %>
62
+ <div data-controller="modal">
63
+ <button type="button" data-action="click->modal#open" class="btn btn-primary" tabindex="0">
64
+ Open modal
65
+ </button>
66
+
67
+ <div
68
+ aria-labelledby="modal-title"
69
+ aria-modal="true"
70
+ data-action="keyup@window->modal#closeWithEsc"
71
+ data-modal-target="container"
72
+ class="hidden fixed inset-0 z-50 overflow-y-auto"
73
+ role="dialog"
74
+ >
75
+ <div class="h-screen w-full relative flex items-center justify-center">
76
+ <div
77
+ data-modal-target="content"
78
+ data-transition-enter-active="transition ease-out duration-300"
79
+ data-transition-enter-from="transform opacity-0 scale-95"
80
+ data-transition-enter-to="transform opacity-100 scale-100"
81
+ data-transition-leave-active="transition ease-in duration-300"
82
+ data-transition-leave-from="transform opacity-100 scale-100"
83
+ data-transition-leave-to="transform opacity-0 scale-95"
84
+ class="hidden rounded-2xl shadow-xl max-w-lg bg-white m-1 p-8 prose origin-bottom mx-auto dark:bg-neutral-700 dark:text-neutral-200">
85
+ <h3 id="modal-title" class="h3">Hang on one sec</h3>
86
+
87
+ <div class="prose prose-neutral dark:prose-invert mt-2 mb-6">
88
+ <p>Review and accept our updated terms of service before continuing. These changes help protect you and our service.</p>
89
+ </div>
90
+
91
+ <div class="flex justify-end items-center flex-wrap gap-4">
92
+ <button class="btn btn-primary" data-action="click->railsui-modal#close">Close</button>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ <% end %>
99
+
100
+
101
+ <% content_for :js, flush: true do %>
102
+ import { RailsuiModal } from 'railsui-stimulus'
103
+
104
+ application.register('railsui-modal', RailsuiModal)
105
+ <% end %>
106
+
107
+ <%= render_snippet(js_filename: "index.js") %>er.js") %>
108
+ <% end %>
109
+ <% end %>
110
+ </div>
@@ -0,0 +1,124 @@
1
+ <div id="modal-centered-dual-action">
2
+ <%= render layout: example, locals: { heading: "Centered dual action", section: "Modal" } do %>
3
+
4
+ <div class="bg-black/80 flex items-center jusity-center p-10 rounded-t-lg dark:bg-neutral-800 dark:border-t dark:border-x dark:border-neutral-600">
5
+ <div class="rounded-2xl shadow-xl max-w-lg bg-white m-1 p-8 origin-bottom mx-auto dark:bg-neutral-700 dark:text-neutral-200 text-center">
6
+ <div class="flex justify-center">
7
+ <div class="w-12 h-12 rounded-full bg-emerald-50 flex items-center justify-center mb-3">
8
+ <%= icon "rocket-launch", class: "size-6 text-emerald-600 flex-shrink-0" %>
9
+ </div>
10
+ </div>
11
+ <h3 id="dual-action-modal-title" class="h3 mt-3">Time to launch</h3>
12
+
13
+ <div class="prose prose-neutral dark:prose-invert mt-2 mb-6">
14
+ <p>Are you sure you want to launch this project to production? This action cannot be undone and will be visible to all users.</p>
15
+ </div>
16
+
17
+ <div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
18
+ <button class="btn btn-white w-full sm:order-1 order-2">Cancel</button>
19
+ <button class="btn btn-primary w-full sm:order-2 order-1">Proceed to launch</button>
20
+ </div>
21
+ </div>
22
+ </div>
23
+
24
+ <div data-controller="railsui-modal">
25
+ <div class="flex justify-center p-6 border-x border-b border-neutral-200 rounded-b-lg relative dark:bg-neutral-700 dark:border-neutral-600 dark:border-t">
26
+ <div class="absolute top-4 left-4">
27
+ <%= doc_label :demo %>
28
+ </div>
29
+ <button type="button" data-action="click->railsui-modal#open:prevent" class="btn btn-primary" tabindex="0">Open centered dual action modal</button>
30
+ </div>
31
+
32
+ <div
33
+ aria-labelledby="dual-action-modal-title"
34
+ aria-modal="true"
35
+ data-action="keyup@window->railsui-modal#closeWithEsc"
36
+ data-railsui-modal-target="container"
37
+ class="hidden fixed inset-0 z-50 overflow-y-auto"
38
+ role="dialog"
39
+ >
40
+ <div class="h-screen w-full relative flex items-center justify-center">
41
+ <div
42
+ data-railsui-modal-target="content"
43
+ data-transition-enter-active="transition ease-out duration-300"
44
+ data-transition-enter-from="transform opacity-0 scale-95"
45
+ data-transition-enter-to="transform opacity-100 scale-100"
46
+ data-transition-leave-active="transition ease-in duration-300"
47
+ data-transition-leave-from="transform opacity-100 scale-100"
48
+ data-transition-leave-to="transform opacity-0 scale-95"
49
+ class="hidden rounded-2xl shadow-xl max-w-lg bg-white m-1 p-8 origin-bottom mx-auto dark:bg-neutral-700 dark:text-neutral-200 text-center">
50
+ <div class="flex justify-center">
51
+ <div class="w-12 h-12 rounded-full bg-emerald-50 flex items-center justify-center mb-3">
52
+ <%= icon "rocket-launch", class: "size-6 text-emerald-600 flex-shrink-0" %>
53
+ </div>
54
+ </div>
55
+ <h3 id="dual-action-modal-title" class="h3 mt-3">Time to launch</h3>
56
+
57
+ <div class="prose prose-neutral dark:prose-invert mt-2 mb-6">
58
+ <p>Are you sure you want to launch this project to production? This action cannot be undone and will be visible to all users.</p>
59
+ </div>
60
+
61
+ <div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
62
+ <button class="btn btn-white w-full sm:order-1 order-2" data-action="click->railsui-modal#close">Cancel</button>
63
+ <button class="btn btn-primary w-full sm:order-2 order-1">Proceed to launch</button>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </div>
69
+
70
+ <% content_for :example, flush: true do %>
71
+ <% content_for :html, flush: true do %>
72
+ <div data-controller="railsui-modal">
73
+ <button type="button" data-action="click->railsui-modal#open:prevent" class="btn btn-primary" tabindex="0">Open centered dual action modal</button>
74
+
75
+ <div
76
+ aria-labelledby="dual-action-modal-title"
77
+ aria-modal="true"
78
+ data-railsui-modal-target="container"
79
+ data-action="keyup@window->railsui-modal#closeWithEsc"
80
+ class="hidden fixed inset-0 z-50 overflow-y-auto"
81
+ role="dialog"
82
+ >
83
+ <div class="h-screen w-full relative flex items-center justify-center">
84
+ <div
85
+ data-railsui-modal-target="content"
86
+ data-transition-enter-active="transition ease-out duration-300"
87
+ data-transition-enter-from="transform opacity-0 scale-95"
88
+ data-transition-enter-to="transform opacity-100 scale-100"
89
+ data-transition-leave-active="transition ease-in duration-300"
90
+ data-transition-leave-from="transform opacity-100 scale-100"
91
+ data-transition-leave-to="transform opacity-0 scale-95"
92
+ class="hidden rounded-2xl shadow-xl max-w-lg bg-white m-1 p-8 origin-bottom mx-auto dark:bg-neutral-700 dark:text-neutral-200 text-center">
93
+ <div class="flex justify-center">
94
+ <div class="w-12 h-12 rounded-full bg-emerald-50 flex items-center justify-center mb-3">
95
+ <%%= icon "rocket-launch", class: "size-6 text-emerald-600 flex-shrink-0" %>
96
+ </div>
97
+ </div>
98
+ <h3 id="dual-action-modal-title" class="h3 mt-3">Time to launch</h3>
99
+
100
+ <div class="prose prose-neutral dark:prose-invert mt-2 mb-6">
101
+ <p>Are you sure you want to launch this project to production? This action cannot be undone and will be visible to all users.</p>
102
+ </div>
103
+
104
+ <div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
105
+ <button class="btn btn-white w-full sm:order-1 order-2" data-action="click->railsui-modal#close">Cancel</button>
106
+ <button class="btn btn-primary w-full sm:order-2 order-1">Proceed to launch</button>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </div>
112
+ <% end %>
113
+
114
+
115
+ <% content_for :js, flush: true do %>
116
+ import { RailsuiModal } from 'railsui-stimulus'
117
+
118
+ application.register('railsui-modal', RailsuiModal)
119
+ <% end %>
120
+
121
+ <%= render_snippet(js_filename: "index.js") %>
122
+ <% end %>
123
+ <% end %>
124
+ </div>
@@ -0,0 +1,124 @@
1
+ <div id="modal-with-dismiss-button">
2
+ <%= render layout: example, locals: { heading: "With dismiss button", section: "Modal" } do %>
3
+
4
+ <div class="bg-black/80 flex items-center jusity-center p-10 rounded-t-lg dark:bg-neutral-800 dark:border-t dark:border-x dark:border-neutral-600">
5
+ <div class="rounded-2xl shadow-xl max-w-lg bg-white m-1 p-8 origin-bottom mx-auto dark:bg-neutral-700 dark:text-neutral-200 relative">
6
+ <button type="button" class="absolute top-2 right-2 size-8 bg-transparent hover:bg-neutral-50 flex items-center justify-center rounded-full group dark:hover:bg-neutral-50/50" data-action="click->railsui-modal#close">
7
+ <%= icon "x-mark", class: "text-neutral-400 size-6 group-hover:text-neutral-500 pointer-events-none dark:group-hover:text-neutral-800 dark:text-neutral-400" %>
8
+ </button>
9
+ <div class="flex-1">
10
+ <h3 class="h3">Delete account</h3>
11
+
12
+ <div class="prose prose-neutral dark:prose-invert mb-6 mt-2 pr-6">
13
+ <p>Once your account is deleted it is gone for good. There is no data saved that we keep on hand. Are you sure you want to continue?</p>
14
+ </div>
15
+
16
+ <div class="flex justify-end items-center space-x-3">
17
+ <button class="btn btn-ghost">Cancel</button>
18
+ <button class="btn bg-red-600 text-white focus:ring-red-100 hover:bg-red-700 hover:shadow-sm hover:shadow-neutral-600/10">Delete</button>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ </div>
23
+
24
+ <div data-controller="railsui-modal">
25
+ <div class="flex justify-center p-6 border-x border-b border-neutral-200 rounded-b-lg relative dark:bg-neutral-700 dark:border-neutral-600 dark:border-t">
26
+ <div class="absolute top-4 left-4">
27
+ <%= doc_label :demo %>
28
+ </div>
29
+ <button type="button" data-action="click->railsui-modal#open" class="btn btn-primary" tabindex="0">
30
+ Open dismissable with icon modal
31
+ </button>
32
+ </div>
33
+ <div
34
+ aria-labelledby="dismissable-action-modal-title"
35
+ aria-modal="true"
36
+ data-railsui-modal-target="container"
37
+ class="hidden fixed inset-0 z-50 overflow-y-auto"
38
+ role="dialog"
39
+ >
40
+ <div class="h-screen w-full relative flex items-center justify-center">
41
+ <div
42
+ data-railsui-modal-target="content"
43
+ data-action="keyup@window->railsui-modal#closeWithEsc"
44
+ data-transition-enter-active="transition ease-out duration-300"
45
+ data-transition-enter-from="transform opacity-0 scale-95"
46
+ data-transition-enter-to="transform opacity-100 scale-100"
47
+ data-transition-leave-active="transition ease-in duration-300"
48
+ data-transition-leave-from="transform opacity-100 scale-100"
49
+ data-transition-leave-to="transform opacity-0 scale-95"
50
+ class="hidden rounded-2xl shadow-xl max-w-lg bg-white m-1 p-8 origin-bottom mx-auto dark:bg-neutral-700 dark:text-neutral-200 relative">
51
+
52
+ <button type="button" class="absolute top-2 right-2 size-8 bg-transparent hover:bg-neutral-50 flex items-center justify-center rounded-full group dark:hover:bg-neutral-50/50" data-action="click->railsui-modal#close">
53
+ <%= icon "x-mark", class: "text-neutral-400 size-6 group-hover:text-neutral-500 pointer-events-none dark:group-hover:text-neutral-800 dark:text-neutral-400" %>
54
+ </button>
55
+
56
+ <h3 class="h3">Delete account</h3>
57
+
58
+ <div class="prose prose-neutral dark:prose-invert mb-6 mt-2 pr-6">
59
+ <p>Once your account is deleted it is gone for good. There is no data saved that we keep on hand. Are you sure you want to continue?</p>
60
+ </div>
61
+
62
+ <div class="flex justify-end items-center space-x-3">
63
+ <button class="btn btn-ghost" data-action="click->railsui-modal#close">Cancel</button>
64
+ <button class="btn bg-red-600 text-white focus:ring-red-100 hover:bg-red-700 hover:shadow-sm hover:shadow-neutral-600/10">Delete</button>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </div>
70
+
71
+ <% content_for :example, flush: true do %>
72
+ <% content_for :html, flush: true do %>
73
+ <div data-controller="railsui-modal">
74
+ <button type="button" data-action="click->railsui-modal#open" class="btn btn-primary" tabindex="0">
75
+ Open dismissable with icon modal
76
+ </button>
77
+ <div
78
+ aria-labelledby="dismissable-action-modal-title"
79
+ aria-modal="true"
80
+ data-railsui-modal-target="container"
81
+ class="hidden fixed inset-0 z-50 overflow-y-auto"
82
+ role="dialog">
83
+ <div class="h-screen w-full relative flex items-center justify-center">
84
+ <div
85
+ data-railsui-modal-target="content"
86
+ data-action="keyup@window->railsui-modal#closeWithEsc"
87
+ data-transition-enter-active="transition ease-out duration-300"
88
+ data-transition-enter-from="transform opacity-0 scale-95"
89
+ data-transition-enter-to="transform opacity-100 scale-100"
90
+ data-transition-leave-active="transition ease-in duration-300"
91
+ data-transition-leave-from="transform opacity-100 scale-100"
92
+ data-transition-leave-to="transform opacity-0 scale-95"
93
+ class="hidden rounded-2xl shadow-xl max-w-lg bg-white m-1 p-8 origin-bottom mx-auto dark:bg-neutral-700 dark:text-neutral-200 relative">
94
+ <button type="button" class="absolute top-2 right-2 size-8 bg-transparent hover:bg-neutral-50 flex items-center justify-center rounded-full group dark:hover:bg-neutral-50/50" data-action="click->railsui-modal#close">
95
+ <%%= icon "x-mark", class: "text-neutral-400 size-6 group-hover:text-neutral-500 pointer-events-none dark:group-hover:text-neutral-800 dark:text-neutral-400" %>
96
+ </button>
97
+
98
+ <h3 class="h3">Delete account</h3>
99
+
100
+ <div class="prose prose-neutral dark:prose-invert mb-6 mt-2 pr-6">
101
+ <p>Once your account is deleted it is gone for good. There is no data saved that we keep on hand. Are you sure you want to continue?</p>
102
+ </div>
103
+
104
+ <div class="flex justify-end items-center space-x-3">
105
+ <button class="btn btn-light" data-action="click->railsui-modal#close">Cancel</button>
106
+ <button class="btn bg-red-600 text-white focus:ring-red-100 hover:bg-red-700 hover:shadow-sm hover:shadow-neutral-600/10">Delete</button>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </div>
112
+ <% end %>
113
+
114
+
115
+ <% content_for :js, flush: true do %>
116
+ import { RailsuiModal } from 'railsui-stimulus'
117
+
118
+ application.register('railsui-modal', RailsuiModal)
119
+ <% end %>
120
+
121
+ <%= render_snippet(js_filename: "index.js") %>
122
+ <% end %>
123
+ <% end %>
124
+ </div>
@@ -0,0 +1,201 @@
1
+ <div id="modal-settings">
2
+ <%= render layout: example, locals: { heading: "Base", section: "Modal" } do %>
3
+
4
+ <%= render preview('neutral') do %>
5
+ <div class="rounded-2xl shadow-xl max-w-4xl w-[600px] bg-white overflow-hidden outline-1 outline-neutral-300/90 dark:bg-neutral-900/80 dark:backdrop-blur-sm dark:outline-neutral-600/80 dark:shadow-black/90">
6
+ <div class="flex max-h-[500px] overflow-y-auto md:h-[500px]" data-controller="railsui-tabs"
7
+ data-railsui-tabs-active-tab="p-2 whitespace-nowrap flex items-center gap-3 rounded-lg bg-neutral-200/90 dark:bg-neutral-700/80 hover:bg-neutral-100 dark:hover:bg-neutral-700/80 w-full text-sm dark:backdrop-blur-sm transition-colors duration-100"
8
+ data-railsui-tabs-inactive-tab="p-2 whitespace-nowrap flex items-center gap-3 rounded-lg hover:bg-neutral-100 dark:hover:bg-neutral-700/80 dark:backdrop-blur-sm w-full text-sm transition-colors duration-100">
9
+
10
+ <!-- Sidebar Navigation -->
11
+ <div
12
+ class="flex flex-col w-full border-r bg-neutral-50 dark:bg-neutral-800/50 border-neutral-200 dark:border-neutral-700 shrink-0 md:w-45">
13
+
14
+ <!-- Close Button (Desktop) -->
15
+ <div class="md:py-3 py-2 px-2.5 md:block flex justify-end">
16
+ <button data-action="click->railsui-modal#close"
17
+ class="flex items-center justify-center rounded-full size-8 hover:bg-neutral-200 dark:hover:bg-neutral-700 focus:ring-2 focus:ring-blue-500 focus:outline-none"
18
+ aria-label="Close">
19
+ <%= icon "x-mark", class: "md:size-5 size-7 stroke-current" %>
20
+ </button>
21
+ </div>
22
+
23
+ <!-- Navigation Tabs -->
24
+ <nav
25
+ class="flex items-center px-2 pb-2 overflow-x-auto md:block md:py-0 md:space-y-1 md:flex-1 snap-x snap-mandatory shadow-transparent">
26
+ <%= render "rui/shared/settings/nav_item", nav_icon: "cog-6-tooth", label: "General" %>
27
+
28
+ <%= render "rui/shared/settings/nav_item", nav_icon: "credit-card", label: "Billing" %>
29
+
30
+ <%= render "rui/shared/settings/nav_item", nav_icon: "bell", label: "Notifications" %>
31
+
32
+ <%= render "rui/shared/settings/nav_item", nav_icon: "user-circle", label: "Personalization" %>
33
+
34
+ <%= render "rui/shared/settings/nav_item", nav_icon: "circle-stack", label: "Data controls" %>
35
+
36
+ <%= render "rui/shared/settings/nav_item", nav_icon: "lock-closed", label: "Security" %>
37
+ </nav>
38
+ </div>
39
+
40
+ <!-- Content Area -->
41
+ <div class="flex flex-col flex-1 md:overflow-hidden">
42
+ <!-- Tab Content -->
43
+ <div class="overflow-y-auto md:flex-1">
44
+
45
+ <!-- General Tab -->
46
+ <div data-railsui-tabs-target="panel" class="p-4 md:p-6">
47
+ <%= render "rui/shared/settings/panels/general" %>
48
+ </div>
49
+
50
+ <!-- Billing Tab -->
51
+ <div data-railsui-tabs-target="panel" class="p-4 md:p-6">
52
+ <%= render "rui/shared/settings/panels/billing" %>
53
+ </div>
54
+
55
+ <!-- Notifications Tab -->
56
+ <div data-railsui-tabs-target="panel" class="hidden p-4 md:p-6">
57
+ <%= render "rui/shared/settings/panels/notifications" %>
58
+ </div>
59
+
60
+ <!-- Personalization Tab -->
61
+ <div data-railsui-tabs-target="panel" class="hidden p-4 md:p-6">
62
+ <%= render "rui/shared/settings/panels/personalization" %>
63
+ </div>
64
+
65
+ <!-- Data Controls Tab -->
66
+ <div data-railsui-tabs-target="panel" class="hidden p-4 md:p-6">
67
+ <%= render "rui/shared/settings/panels/data_controls" %>
68
+ </div>
69
+
70
+ <!-- Security Tab -->
71
+ <div data-railsui-tabs-target="panel" class="hidden px-4 py-6">
72
+ <%= render "rui/shared/settings/panels/security" %>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ <% end %>
79
+
80
+ <div data-controller="railsui-modal">
81
+ <div class="flex justify-center p-6 border-x border-b border-neutral-200 rounded-b-lg relative dark:bg-neutral-700 dark:border-neutral-600 dark:border-t">
82
+ <div class="absolute top-4 left-4">
83
+ <%= doc_label :demo %>
84
+ </div>
85
+ <button type="button" data-action="click->railsui-modal#open:prevent" class="btn btn-primary" tabindex="0">
86
+ Open settings modal
87
+ </button>
88
+ </div>
89
+ <%= render "rui/shared/settings/modal" %>
90
+ </div>
91
+
92
+ <% content_for :example, flush: true do %>
93
+ <% content_for :erb, flush: true do %>
94
+ <!-- Contain element with controller and use button to launch modal -->
95
+ <div data-controller="railsui-modal">
96
+ <button type="button" data-action="click->railsui-modal#open:prevent" class="btn btn-primary" tabindex="0">
97
+ Open settings modal
98
+ </button>
99
+
100
+ <!-- app/views/rui/shared/settings/_modal.html.erb -->
101
+ <div aria-labelledby="settings" aria-modal="true" data-railsui-modal-target="container"
102
+ data-action="keyup@window->railsui-modal#closeWithEsc"
103
+ class="fixed inset-0 z-50 hidden p-4 overflow-y-auto dark:bg-black/60 backdrop-blur-sm bg-black/30">
104
+ <div class="relative flex items-center justify-center w-full h-screen">
105
+ <div data-railsui-modal-target="content" data-transition-enter-active="transition ease-out duration-300"
106
+ data-transition-enter-from="transform opacity-0 scale-95"
107
+ data-transition-enter-to="transform opacity-100 scale-100"
108
+ data-transition-leave-active="transition ease-in duration-300"
109
+ data-transition-leave-from="transform opacity-100 scale-100"
110
+ data-transition-leave-to="transform opacity-0 scale-95"
111
+ class="hidden rounded-2xl shadow-xl max-w-4xl w-[680px] bg-white overflow-hidden outline-1 outline-neutral-300/90 dark:bg-neutral-900/80 dark:backdrop-blur-sm dark:outline-neutral-600/80 dark:shadow-black/90">
112
+
113
+ <!-- Modal Content -->
114
+ <div class="md:flex max-h-[500px] overflow-y-auto md:h-[500px]" data-controller="railsui-tabs"
115
+ data-railsui-tabs-active-tab="p-2 whitespace-nowrap flex items-center gap-3 rounded-lg bg-neutral-200/90 dark:bg-neutral-700/80 hover:bg-neutral-100 dark:hover:bg-neutral-700/80 w-full text-sm dark:backdrop-blur-sm transition-colors duration-100"
116
+ data-railsui-tabs-inactive-tab="p-2 whitespace-nowrap flex items-center gap-3 rounded-lg hover:bg-neutral-100 dark:hover:bg-neutral-700/80 dark:backdrop-blur-sm w-full text-sm transition-colors duration-100">
117
+
118
+ <!-- Sidebar Navigation -->
119
+ <div
120
+ class="flex flex-col w-full border-r bg-neutral-50 dark:bg-neutral-800/50 border-neutral-200 dark:border-neutral-700 shrink-0 md:w-45 ">
121
+
122
+ <!-- Close Button (Desktop) -->
123
+ <div class="md:py-3 py-2 px-2.5 md:block flex justify-end">
124
+ <button data-action="click->railsui-modal#close"
125
+ class="flex items-center justify-center rounded-full size-8 hover:bg-neutral-200 dark:hover:bg-neutral-700 focus:ring-2 focus:ring-blue-500 focus:outline-none"
126
+ aria-label="Close">
127
+ <%%= icon "x-mark", class: "md:size-5 size-7 stroke-current" %>
128
+ </button>
129
+ </div>
130
+
131
+ <!-- Navigation Tabs -->
132
+ <nav
133
+ class="flex items-center px-2 pb-2 overflow-x-auto md:block md:py-0 md:space-y-1 md:flex-1 snap-x snap-mandatory shadow-transparent">
134
+ <%%= render "rui/shared/settings/nav_item", nav_icon: "cog-6-tooth", label: "General" %>
135
+
136
+ <%%= render "rui/shared/settings/nav_item", nav_icon: "credit-card", label: "Billing" %>
137
+
138
+ <%%= render "rui/shared/settings/nav_item", nav_icon: "bell", label: "Notifications" %>
139
+
140
+ <%%= render "rui/shared/settings/nav_item", nav_icon: "user-circle", label: "Personalization" %>
141
+
142
+ <%%= render "rui/shared/settings/nav_item", nav_icon: "circle-stack", label: "Data controls" %>
143
+
144
+ <%%= render "rui/shared/settings/nav_item", nav_icon: "lock-closed", label: "Security" %>
145
+ </nav>
146
+ </div>
147
+
148
+ <!-- Content Area -->
149
+ <div class="flex flex-col flex-1 md:overflow-hidden">
150
+ <!-- Tab Content -->
151
+ <div class="overflow-y-auto md:flex-1">
152
+
153
+ <!-- General Tab -->
154
+ <div data-railsui-tabs-target="panel" class="p-4 md:p-6">
155
+ <%%= render "rui/shared/settings/panels/general" %>
156
+ </div>
157
+
158
+ <!-- Billing Tab -->
159
+ <div data-railsui-tabs-target="panel" class="p-4 md:p-6">
160
+ <%%= render "rui/shared/settings/panels/billing" %>
161
+ </div>
162
+
163
+ <!-- Notifications Tab -->
164
+ <div data-railsui-tabs-target="panel" class="hidden p-4 md:p-6">
165
+ <%%= render "rui/shared/settings/panels/notifications" %>
166
+ </div>
167
+
168
+ <!-- Personalization Tab -->
169
+ <div data-railsui-tabs-target="panel" class="hidden p-4 md:p-6">
170
+ <%%= render "rui/shared/settings/panels/personalization" %>
171
+ </div>
172
+
173
+ <!-- Data Controls Tab -->
174
+ <div data-railsui-tabs-target="panel" class="hidden p-4 md:p-6">
175
+ <%%= render "rui/shared/settings/panels/data_controls" %>
176
+ </div>
177
+
178
+ <!-- Security Tab -->
179
+ <div data-railsui-tabs-target="panel" class="hidden px-4 py-6">
180
+ <%%= render "rui/shared/settings/panels/security" %>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ </div>
186
+ </div>
187
+ </div>
188
+ </div>
189
+ <% end %>
190
+
191
+ <% content_for :js, flush: true do %>
192
+ import { RailsuiModal, RailsuiTabs } from 'railsui-stimulus'
193
+
194
+ application.register('railsui-modal', RailsuiModal)
195
+ application.register('railsui-tabls', RailsuiTabs)
196
+ <% end %>
197
+
198
+ <%= render_snippet(js_filename: "index.js") %>") %>
199
+ <% end %>
200
+ <% end %>
201
+ </div>