railsui 3.1.4 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) 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/default/_launchpad.html.erb +1 -1
  14. data/app/views/railsui/shared/_flash_messages.html.erb +2 -2
  15. data/app/views/railsui/shared/_full_access_cta.html.erb +27 -0
  16. data/app/views/railsui/shared/_global_nav.html.erb +2 -2
  17. data/app/views/railsui/shared/_preview.html.erb +1 -1
  18. data/app/views/railsui/shared/_rui_email_preview.html.erb +60 -3
  19. data/app/views/railsui/systems/forms/form_builder.html.erb +171 -0
  20. data/app/views/railsui/themes/corgie/_components.html.erb +7 -0
  21. data/app/views/railsui/themes/corgie/_content.html.erb +9 -0
  22. data/app/views/railsui/themes/corgie/_fonts.html.erb +0 -0
  23. data/app/views/railsui/themes/corgie/_forms.html.erb +19 -0
  24. data/app/views/railsui/themes/corgie/_icons.html.erb +125 -0
  25. data/app/views/railsui/themes/corgie/_nav.html.erb +166 -0
  26. data/app/views/railsui/themes/corgie/_scaffolds.html.erb +42 -0
  27. data/app/views/railsui/themes/corgie/authentication/_overview.html.erb +5 -0
  28. data/app/views/railsui/themes/corgie/authentication/devise/_change_password.html.erb +74 -0
  29. data/app/views/railsui/themes/corgie/authentication/devise/_confirmation.html.erb +63 -0
  30. data/app/views/railsui/themes/corgie/authentication/devise/_edit.html.erb +103 -0
  31. data/app/views/railsui/themes/corgie/authentication/devise/_overview.html.erb +225 -0
  32. data/app/views/railsui/themes/corgie/authentication/devise/_reset_password.html.erb +60 -0
  33. data/app/views/railsui/themes/corgie/authentication/devise/_signin.html.erb +93 -0
  34. data/app/views/railsui/themes/corgie/authentication/devise/_signup.html.erb +98 -0
  35. data/app/views/railsui/themes/corgie/authentication/devise/_unlocks.html.erb +60 -0
  36. data/app/views/railsui/themes/corgie/authentication/static/_change_password.html.erb +67 -0
  37. data/app/views/railsui/themes/corgie/authentication/static/_confirmation.html.erb +58 -0
  38. data/app/views/railsui/themes/corgie/authentication/static/_overview.html.erb +204 -0
  39. data/app/views/railsui/themes/corgie/authentication/static/_reset_password.html.erb +59 -0
  40. data/app/views/railsui/themes/corgie/authentication/static/_signin.html.erb +102 -0
  41. data/app/views/railsui/themes/corgie/authentication/static/_signup.html.erb +108 -0
  42. data/app/views/railsui/themes/corgie/authentication/static/_unlocks.html.erb +60 -0
  43. data/app/views/railsui/themes/corgie/components/_accordion.html.erb +17 -0
  44. data/app/views/railsui/themes/corgie/components/_alert.html.erb +23 -0
  45. data/app/views/railsui/themes/corgie/components/_avatar.html.erb +13 -0
  46. data/app/views/railsui/themes/corgie/components/_badge.html.erb +20 -0
  47. data/app/views/railsui/themes/corgie/components/_breadcrumb.html.erb +14 -0
  48. data/app/views/railsui/themes/corgie/components/_button.html.erb +16 -0
  49. data/app/views/railsui/themes/corgie/components/_card.html.erb +23 -0
  50. data/app/views/railsui/themes/corgie/components/_combobox.html.erb +11 -0
  51. data/app/views/railsui/themes/corgie/components/_dropdown.html.erb +22 -0
  52. data/app/views/railsui/themes/corgie/components/_flash.html.erb +17 -0
  53. data/app/views/railsui/themes/corgie/components/_modal.html.erb +27 -0
  54. data/app/views/railsui/themes/corgie/components/_navigation.html.erb +7 -0
  55. data/app/views/railsui/themes/corgie/components/_pagination.html.erb +15 -0
  56. data/app/views/railsui/themes/corgie/components/_tab.html.erb +23 -0
  57. data/app/views/railsui/themes/corgie/components/_toast.html.erb +75 -0
  58. data/app/views/railsui/themes/corgie/components/_tooltip.html.erb +77 -0
  59. data/app/views/railsui/themes/corgie/components/accordion/_contained.html.erb +90 -0
  60. data/app/views/railsui/themes/corgie/components/accordion/_flush.html.erb +92 -0
  61. data/app/views/railsui/themes/corgie/components/alert/_dismissable.html.erb +45 -0
  62. data/app/views/railsui/themes/corgie/components/alert/_with_accent_border.html.erb +32 -0
  63. data/app/views/railsui/themes/corgie/components/alert/_with_actions.html.erb +57 -0
  64. data/app/views/railsui/themes/corgie/components/alert/_with_description.html.erb +41 -0
  65. data/app/views/railsui/themes/corgie/components/alert/_with_list.html.erb +46 -0
  66. data/app/views/railsui/themes/corgie/components/avatar/_circle.html.erb +53 -0
  67. data/app/views/railsui/themes/corgie/components/avatar/_rounded.html.erb +53 -0
  68. data/app/views/railsui/themes/corgie/components/badge/_basic.html.erb +70 -0
  69. data/app/views/railsui/themes/corgie/components/badge/_outline.html.erb +67 -0
  70. data/app/views/railsui/themes/corgie/components/badge/_pill.html.erb +67 -0
  71. data/app/views/railsui/themes/corgie/components/badge/_tag.html.erb +277 -0
  72. data/app/views/railsui/themes/corgie/components/breadcrumb/_article.html.erb +88 -0
  73. data/app/views/railsui/themes/corgie/components/breadcrumb/_base.html.erb +77 -0
  74. data/app/views/railsui/themes/corgie/components/button/_base.html.erb +38 -0
  75. data/app/views/railsui/themes/corgie/components/button/_expanded.html.erb +24 -0
  76. data/app/views/railsui/themes/corgie/components/button/_sizes.html.erb +31 -0
  77. data/app/views/railsui/themes/corgie/components/card/_article.html.erb +119 -0
  78. data/app/views/railsui/themes/corgie/components/card/_base.html.erb +34 -0
  79. data/app/views/railsui/themes/corgie/components/card/_feature.html.erb +54 -0
  80. data/app/views/railsui/themes/corgie/components/card/_team_member.html.erb +60 -0
  81. data/app/views/railsui/themes/corgie/components/card/_value.html.erb +54 -0
  82. data/app/views/railsui/themes/corgie/components/combobox/_base.html.erb +250 -0
  83. data/app/views/railsui/themes/corgie/components/dropdown/_base.html.erb +61 -0
  84. data/app/views/railsui/themes/corgie/components/dropdown/_dropdown.html.erb +24 -0
  85. data/app/views/railsui/themes/corgie/components/dropdown/_dropdown_w_icon.html.erb +27 -0
  86. data/app/views/railsui/themes/corgie/components/dropdown/_right_aligned.html.erb +82 -0
  87. data/app/views/railsui/themes/corgie/components/dropdown/_with_dividers.html.erb +93 -0
  88. data/app/views/railsui/themes/corgie/components/dropdown/_with_icons.html.erb +85 -0
  89. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_1.html.erb +44 -0
  90. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_2.html.erb +16 -0
  91. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_3.html.erb +16 -0
  92. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_4.html.erb +27 -0
  93. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_dependencies.html.erb +3 -0
  94. data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_tutorial.html.erb +25 -0
  95. data/app/views/railsui/themes/corgie/components/flash/_alert.html.erb +29 -0
  96. data/app/views/railsui/themes/corgie/components/flash/_dynamic.html.erb +46 -0
  97. data/app/views/railsui/themes/corgie/components/flash/_notice.html.erb +29 -0
  98. data/app/views/railsui/themes/corgie/components/modal/_base.html.erb +110 -0
  99. data/app/views/railsui/themes/corgie/components/modal/_centered_dual_action.html.erb +124 -0
  100. data/app/views/railsui/themes/corgie/components/modal/_dismiss_icon.html.erb +124 -0
  101. data/app/views/railsui/themes/corgie/components/modal/_settings.html.erb +201 -0
  102. data/app/views/railsui/themes/corgie/components/modal/_single_action.html.erb +119 -0
  103. data/app/views/railsui/themes/corgie/components/modal/_with_form.html.erb +148 -0
  104. data/app/views/railsui/themes/corgie/components/navigation/_base.html.erb +215 -0
  105. data/app/views/railsui/themes/corgie/components/navigation/_chat.html.erb +194 -0
  106. data/app/views/railsui/themes/corgie/components/navigation/_nav_preview.html.erb +9 -0
  107. data/app/views/railsui/themes/corgie/components/pagination/_contained.html.erb +131 -0
  108. data/app/views/railsui/themes/corgie/components/pagination/_pagy.html.erb +97 -0
  109. data/app/views/railsui/themes/corgie/components/pagination/_simple.html.erb +114 -0
  110. data/app/views/railsui/themes/corgie/components/tab/_base.html.erb +101 -0
  111. data/app/views/railsui/themes/corgie/components/tab/_pills.html.erb +102 -0
  112. data/app/views/railsui/themes/corgie/components/tab/_rounded.html.erb +104 -0
  113. data/app/views/railsui/themes/corgie/components/tab/_vertical.html.erb +145 -0
  114. data/app/views/railsui/themes/corgie/components/tab/_with_icons.html.erb +138 -0
  115. data/app/views/railsui/themes/corgie/components/toast/_base.html.erb +98 -0
  116. data/app/views/railsui/themes/corgie/components/tooltip/_base.html.erb +51 -0
  117. data/app/views/railsui/themes/corgie/content/_image.html.erb +31 -0
  118. data/app/views/railsui/themes/corgie/content/_table.html.erb +21 -0
  119. data/app/views/railsui/themes/corgie/content/_typography.html.erb +47 -0
  120. data/app/views/railsui/themes/corgie/content/image/_object_contain.html.erb +31 -0
  121. data/app/views/railsui/themes/corgie/content/image/_object_cover.html.erb +32 -0
  122. data/app/views/railsui/themes/corgie/content/image/_object_fill.html.erb +32 -0
  123. data/app/views/railsui/themes/corgie/content/image/_object_scale_down.html.erb +34 -0
  124. data/app/views/railsui/themes/corgie/content/image/_responsive.html.erb +24 -0
  125. data/app/views/railsui/themes/corgie/content/table/_bordered.html.erb +93 -0
  126. data/app/views/railsui/themes/corgie/content/table/_borderless.html.erb +92 -0
  127. data/app/views/railsui/themes/corgie/content/table/_comparison.html.erb +494 -0
  128. data/app/views/railsui/themes/corgie/content/typography/_blockquote.html.erb +41 -0
  129. data/app/views/railsui/themes/corgie/content/typography/_display_headings.html.erb +70 -0
  130. data/app/views/railsui/themes/corgie/content/typography/_fonts.html.erb +30 -0
  131. data/app/views/railsui/themes/corgie/content/typography/_headings.html.erb +88 -0
  132. data/app/views/railsui/themes/corgie/content/typography/_inline_formatting.html.erb +44 -0
  133. data/app/views/railsui/themes/corgie/content/typography/_lead_paragraph.html.erb +26 -0
  134. data/app/views/railsui/themes/corgie/content/typography/_lists.html.erb +82 -0
  135. data/app/views/railsui/themes/corgie/content/typography/_paragraphs.html.erb +33 -0
  136. data/app/views/railsui/themes/corgie/forms/_action_text.html.erb +54 -0
  137. data/app/views/railsui/themes/corgie/forms/_checkbox.html.erb +60 -0
  138. data/app/views/railsui/themes/corgie/forms/_form_builder.html.erb +487 -0
  139. data/app/views/railsui/themes/corgie/forms/_input.html.erb +378 -0
  140. data/app/views/railsui/themes/corgie/forms/_input_group.html.erb +485 -0
  141. data/app/views/railsui/themes/corgie/forms/_radio.html.erb +92 -0
  142. data/app/views/railsui/themes/corgie/forms/_select.html.erb +118 -0
  143. data/app/views/railsui/themes/corgie/forms/_switch.html.erb +60 -0
  144. data/app/views/railsui/themes/corgie/forms/_validation.html.erb +52 -0
  145. data/app/views/railsui/themes/corgie/mailers/_devise.html.erb +44 -0
  146. data/app/views/railsui/themes/corgie/mailers/_layout.html.erb +536 -0
  147. data/app/views/railsui/themes/corgie/mailers/_mailer_preview.html.erb +523 -0
  148. data/app/views/railsui/themes/corgie/mailers/_minimal.html.erb +63 -0
  149. data/app/views/railsui/themes/corgie/mailers/_promotion.html.erb +62 -0
  150. data/app/views/railsui/themes/corgie/mailers/_transactional.html.erb +133 -0
  151. data/app/views/railsui/themes/corgie/mailers/devise/_confirmation_instructions.html.erb +34 -0
  152. data/app/views/railsui/themes/corgie/mailers/devise/_email_changed.html.erb +32 -0
  153. data/app/views/railsui/themes/corgie/mailers/devise/_password_changed.html.erb +25 -0
  154. data/app/views/railsui/themes/corgie/mailers/devise/_reset_password_instructions.html.erb +33 -0
  155. data/app/views/railsui/themes/corgie/mailers/devise/_unlock_instructions.html.erb +32 -0
  156. data/app/views/railsui/themes/corgie/scaffolds/_edit.html.erb +88 -0
  157. data/app/views/railsui/themes/corgie/scaffolds/_index.html.erb +88 -0
  158. data/app/views/railsui/themes/corgie/scaffolds/_new.html.erb +80 -0
  159. data/app/views/railsui/themes/corgie/scaffolds/_partial.html.erb +56 -0
  160. data/app/views/railsui/themes/corgie/scaffolds/_show.html.erb +85 -0
  161. data/app/views/railsui/themes/hound/_forms.html.erb +2 -0
  162. data/app/views/railsui/themes/hound/_nav.html.erb +2 -0
  163. data/app/views/railsui/themes/hound/authentication/devise/_change_password.html.erb +1 -27
  164. data/app/views/railsui/themes/hound/authentication/devise/_confirmation.html.erb +1 -20
  165. data/app/views/railsui/themes/hound/authentication/devise/_edit.html.erb +1 -44
  166. data/app/views/railsui/themes/hound/authentication/devise/_overview.html.erb +3 -51
  167. data/app/views/railsui/themes/hound/authentication/devise/_reset_password.html.erb +1 -17
  168. data/app/views/railsui/themes/hound/authentication/devise/_signin.html.erb +1 -30
  169. data/app/views/railsui/themes/hound/authentication/devise/_signup.html.erb +1 -31
  170. data/app/views/railsui/themes/hound/authentication/devise/_unlocks.html.erb +1 -17
  171. data/app/views/railsui/themes/hound/authentication/static/_change_password.html.erb +1 -32
  172. data/app/views/railsui/themes/hound/authentication/static/_confirmation.html.erb +1 -23
  173. data/app/views/railsui/themes/hound/authentication/static/_edit.html.erb +1 -39
  174. data/app/views/railsui/themes/hound/authentication/static/_overview.html.erb +2 -40
  175. data/app/views/railsui/themes/hound/authentication/static/_reset_password.html.erb +1 -22
  176. data/app/views/railsui/themes/hound/authentication/static/_signin.html.erb +1 -35
  177. data/app/views/railsui/themes/hound/authentication/static/_signup.html.erb +1 -31
  178. data/app/views/railsui/themes/hound/authentication/static/_unlocks.html.erb +1 -20
  179. data/app/views/railsui/themes/hound/components/_toast.html.erb +0 -3
  180. data/app/views/railsui/themes/hound/components/accordion/_contained.html.erb +0 -27
  181. data/app/views/railsui/themes/hound/components/accordion/_flush.html.erb +0 -27
  182. data/app/views/railsui/themes/hound/components/alert/_dismissable.html.erb +0 -8
  183. data/app/views/railsui/themes/hound/components/alert/_with_accent_border.html.erb +0 -7
  184. data/app/views/railsui/themes/hound/components/alert/_with_actions.html.erb +0 -11
  185. data/app/views/railsui/themes/hound/components/alert/_with_description.html.erb +0 -7
  186. data/app/views/railsui/themes/hound/components/alert/_with_list.html.erb +0 -8
  187. data/app/views/railsui/themes/hound/components/avatar/_circle.html.erb +0 -12
  188. data/app/views/railsui/themes/hound/components/avatar/_rounded.html.erb +0 -12
  189. data/app/views/railsui/themes/hound/components/badge/_basic.html.erb +0 -22
  190. data/app/views/railsui/themes/hound/components/badge/_outline.html.erb +0 -22
  191. data/app/views/railsui/themes/hound/components/badge/_pill.html.erb +0 -22
  192. data/app/views/railsui/themes/hound/components/badge/_tag.html.erb +0 -52
  193. data/app/views/railsui/themes/hound/components/breadcrumb/_base.html.erb +0 -14
  194. data/app/views/railsui/themes/hound/components/breadcrumb/_contained.html.erb +0 -14
  195. data/app/views/railsui/themes/hound/components/button/_base.html.erb +0 -10
  196. data/app/views/railsui/themes/hound/components/button/_expanded.html.erb +0 -3
  197. data/app/views/railsui/themes/hound/components/button/_sizes.html.erb +0 -5
  198. data/app/views/railsui/themes/hound/components/card/_base.html.erb +0 -6
  199. data/app/views/railsui/themes/hound/components/card/_user_card.html.erb +0 -13
  200. data/app/views/railsui/themes/hound/components/card/_user_card_dropdown.html.erb +0 -20
  201. data/app/views/railsui/themes/hound/components/card/_user_card_with_actions.html.erb +0 -18
  202. data/app/views/railsui/themes/hound/components/card/_with_action.html.erb +0 -13
  203. data/app/views/railsui/themes/hound/components/card/_with_header.html.erb +0 -43
  204. data/app/views/railsui/themes/hound/components/combobox/_base.html.erb +0 -40
  205. data/app/views/railsui/themes/hound/components/dropdown/_base.html.erb +0 -10
  206. data/app/views/railsui/themes/hound/components/dropdown/_right_aligned.html.erb +0 -14
  207. data/app/views/railsui/themes/hound/components/dropdown/_with_dividers.html.erb +0 -14
  208. data/app/views/railsui/themes/hound/components/dropdown/_with_icons.html.erb +0 -20
  209. data/app/views/railsui/themes/hound/components/flash/_alert.html.erb +0 -5
  210. data/app/views/railsui/themes/hound/components/flash/_dynamic.html.erb +0 -5
  211. data/app/views/railsui/themes/hound/components/flash/_notice.html.erb +0 -5
  212. data/app/views/railsui/themes/hound/components/modal/_base.html.erb +0 -13
  213. data/app/views/railsui/themes/hound/components/modal/_centered_dual_action.html.erb +0 -16
  214. data/app/views/railsui/themes/hound/components/modal/_dismiss_icon.html.erb +0 -20
  215. data/app/views/railsui/themes/hound/components/modal/_single_action.html.erb +0 -15
  216. data/app/views/railsui/themes/hound/components/modal/_with_form.html.erb +0 -23
  217. data/app/views/railsui/themes/hound/components/navigation/_base.html.erb +1 -41
  218. data/app/views/railsui/themes/hound/components/navigation/_with_action.html.erb +1 -38
  219. data/app/views/railsui/themes/hound/components/navigation/_with_dropdowns.html.erb +1 -105
  220. data/app/views/railsui/themes/hound/components/navigation/_with_search.html.erb +1 -41
  221. data/app/views/railsui/themes/hound/components/pagination/_contained.html.erb +0 -31
  222. data/app/views/railsui/themes/hound/components/pagination/_minimal.html.erb +0 -27
  223. data/app/views/railsui/themes/hound/components/pagination/_pagy.html.erb +47 -72
  224. data/app/views/railsui/themes/hound/components/tab/_base.html.erb +1 -18
  225. data/app/views/railsui/themes/hound/components/tab/_pills.html.erb +1 -18
  226. data/app/views/railsui/themes/hound/components/tab/_rounded.html.erb +1 -18
  227. data/app/views/railsui/themes/hound/components/tab/_with_icons.html.erb +1 -26
  228. data/app/views/railsui/themes/hound/components/toast/_base.html.erb +0 -16
  229. data/app/views/railsui/themes/hound/components/tooltip/_base.html.erb +0 -3
  230. data/app/views/railsui/themes/hound/content/image/_object_contain.html.erb +0 -5
  231. data/app/views/railsui/themes/hound/content/image/_object_cover.html.erb +0 -5
  232. data/app/views/railsui/themes/hound/content/image/_object_fill.html.erb +0 -5
  233. data/app/views/railsui/themes/hound/content/image/_object_scale_down.html.erb +0 -5
  234. data/app/views/railsui/themes/hound/content/image/_responsive.html.erb +0 -4
  235. data/app/views/railsui/themes/hound/content/table/_bordered.html.erb +0 -21
  236. data/app/views/railsui/themes/hound/content/table/_borderless.html.erb +0 -21
  237. data/app/views/railsui/themes/hound/content/typography/_blockquote.html.erb +0 -9
  238. data/app/views/railsui/themes/hound/content/typography/_display_headings.html.erb +0 -9
  239. data/app/views/railsui/themes/hound/content/typography/_headings.html.erb +0 -12
  240. data/app/views/railsui/themes/hound/content/typography/_inline_formatting.html.erb +0 -20
  241. data/app/views/railsui/themes/hound/content/typography/_lead_paragraph.html.erb +0 -5
  242. data/app/views/railsui/themes/hound/content/typography/_lists.html.erb +0 -17
  243. data/app/views/railsui/themes/hound/content/typography/_paragraphs.html.erb +0 -4
  244. data/app/views/railsui/themes/hound/forms/_action_text.html.erb +0 -6
  245. data/app/views/railsui/themes/hound/forms/_checkbox.html.erb +0 -9
  246. data/app/views/railsui/themes/hound/forms/_form_builder.html.erb +487 -0
  247. data/app/views/railsui/themes/hound/forms/_input.html.erb +0 -93
  248. data/app/views/railsui/themes/hound/forms/_input_group.html.erb +0 -83
  249. data/app/views/railsui/themes/hound/forms/_radio.html.erb +0 -13
  250. data/app/views/railsui/themes/hound/forms/_select.html.erb +0 -16
  251. data/app/views/railsui/themes/hound/forms/_switch.html.erb +0 -9
  252. data/app/views/railsui/themes/hound/forms/_validation.html.erb +0 -15
  253. data/app/views/railsui/themes/hound/mailers/_layout.html.erb +1 -432
  254. data/app/views/railsui/themes/hound/mailers/_minimal.html.erb +1 -16
  255. data/app/views/railsui/themes/hound/mailers/_promotion.html.erb +1 -20
  256. data/app/views/railsui/themes/hound/mailers/_transactional.html.erb +1 -43
  257. data/app/views/railsui/themes/hound/mailers/devise/_confirmation_instructions.html.erb +1 -9
  258. data/app/views/railsui/themes/hound/mailers/devise/_email_changed.html.erb +1 -13
  259. data/app/views/railsui/themes/hound/mailers/devise/_password_changed.html.erb +1 -7
  260. data/app/views/railsui/themes/hound/mailers/devise/_reset_password_instructions.html.erb +1 -9
  261. data/app/views/railsui/themes/hound/mailers/devise/_unlock_instructions.html.erb +1 -9
  262. data/app/views/railsui/themes/hound/scaffolds/_edit.html.erb +1 -19
  263. data/app/views/railsui/themes/hound/scaffolds/_index.html.erb +1 -14
  264. data/app/views/railsui/themes/hound/scaffolds/_new.html.erb +1 -17
  265. data/app/views/railsui/themes/hound/scaffolds/_partial.html.erb +1 -17
  266. data/app/views/railsui/themes/hound/scaffolds/_show.html.erb +1 -20
  267. data/app/views/railsui/themes/shepherd/_forms.html.erb +5 -3
  268. data/app/views/railsui/themes/shepherd/_nav.html.erb +2 -0
  269. data/app/views/railsui/themes/shepherd/authentication/devise/_change_password.html.erb +1 -23
  270. data/app/views/railsui/themes/shepherd/authentication/devise/_confirmation.html.erb +1 -12
  271. data/app/views/railsui/themes/shepherd/authentication/devise/_edit.html.erb +1 -74
  272. data/app/views/railsui/themes/shepherd/authentication/devise/_overview.html.erb +2 -57
  273. data/app/views/railsui/themes/shepherd/authentication/devise/_reset_password.html.erb +1 -12
  274. data/app/views/railsui/themes/shepherd/authentication/devise/_signin.html.erb +1 -25
  275. data/app/views/railsui/themes/shepherd/authentication/devise/_signup.html.erb +1 -26
  276. data/app/views/railsui/themes/shepherd/authentication/devise/_unlocks.html.erb +1 -12
  277. data/app/views/railsui/themes/shepherd/authentication/static/_change_password.html.erb +1 -23
  278. data/app/views/railsui/themes/shepherd/authentication/static/_confirmation.html.erb +1 -12
  279. data/app/views/railsui/themes/shepherd/authentication/static/_edit.html.erb +1 -67
  280. data/app/views/railsui/themes/shepherd/authentication/static/_overview.html.erb +1 -56
  281. data/app/views/railsui/themes/shepherd/authentication/static/_reset_password.html.erb +1 -12
  282. data/app/views/railsui/themes/shepherd/authentication/static/_signin.html.erb +1 -24
  283. data/app/views/railsui/themes/shepherd/authentication/static/_signup.html.erb +1 -26
  284. data/app/views/railsui/themes/shepherd/authentication/static/_unlocks.html.erb +1 -16
  285. data/app/views/railsui/themes/shepherd/components/_toast.html.erb +0 -3
  286. data/app/views/railsui/themes/shepherd/components/accordion/_contained.html.erb +0 -28
  287. data/app/views/railsui/themes/shepherd/components/accordion/_flush.html.erb +0 -27
  288. data/app/views/railsui/themes/shepherd/components/alert/_dismissable.html.erb +0 -8
  289. data/app/views/railsui/themes/shepherd/components/alert/_with_accent_border.html.erb +0 -6
  290. data/app/views/railsui/themes/shepherd/components/alert/_with_actions.html.erb +0 -11
  291. data/app/views/railsui/themes/shepherd/components/alert/_with_description.html.erb +0 -7
  292. data/app/views/railsui/themes/shepherd/components/alert/_with_list.html.erb +0 -8
  293. data/app/views/railsui/themes/shepherd/components/avatar/_circle.html.erb +0 -12
  294. data/app/views/railsui/themes/shepherd/components/avatar/_rounded.html.erb +0 -12
  295. data/app/views/railsui/themes/shepherd/components/badge/_basic.html.erb +0 -22
  296. data/app/views/railsui/themes/shepherd/components/badge/_outline.html.erb +0 -22
  297. data/app/views/railsui/themes/shepherd/components/badge/_pill.html.erb +0 -22
  298. data/app/views/railsui/themes/shepherd/components/badge/_tag.html.erb +0 -52
  299. data/app/views/railsui/themes/shepherd/components/breadcrumb/_base.html.erb +0 -14
  300. data/app/views/railsui/themes/shepherd/components/breadcrumb/_contained.html.erb +0 -14
  301. data/app/views/railsui/themes/shepherd/components/button/_base.html.erb +0 -17
  302. data/app/views/railsui/themes/shepherd/components/button/_expanded.html.erb +0 -3
  303. data/app/views/railsui/themes/shepherd/components/button/_sizes.html.erb +0 -5
  304. data/app/views/railsui/themes/shepherd/components/card/_base.html.erb +0 -6
  305. data/app/views/railsui/themes/shepherd/components/card/_property_card.html.erb +0 -28
  306. data/app/views/railsui/themes/shepherd/components/card/_property_user_card.html.erb +0 -14
  307. data/app/views/railsui/themes/shepherd/components/card/_user_card_with_actions.html.erb +0 -12
  308. data/app/views/railsui/themes/shepherd/components/card/_with_action.html.erb +0 -7
  309. data/app/views/railsui/themes/shepherd/components/card/_with_header.html.erb +0 -7
  310. data/app/views/railsui/themes/shepherd/components/combobox/_base.html.erb +0 -40
  311. data/app/views/railsui/themes/shepherd/components/datalist/_booking_list.html.erb +0 -45
  312. data/app/views/railsui/themes/shepherd/components/datalist/_property_list.html.erb +0 -47
  313. data/app/views/railsui/themes/shepherd/components/dropdown/_base.html.erb +0 -10
  314. data/app/views/railsui/themes/shepherd/components/dropdown/_right_aligned.html.erb +0 -13
  315. data/app/views/railsui/themes/shepherd/components/dropdown/_with_dividers.html.erb +0 -14
  316. data/app/views/railsui/themes/shepherd/components/dropdown/_with_menu_icons.html.erb +0 -16
  317. data/app/views/railsui/themes/shepherd/components/flash/_alert.html.erb +0 -5
  318. data/app/views/railsui/themes/shepherd/components/flash/_dynamic.html.erb +0 -5
  319. data/app/views/railsui/themes/shepherd/components/flash/_notice.html.erb +0 -5
  320. data/app/views/railsui/themes/shepherd/components/modal/_base.html.erb +0 -12
  321. data/app/views/railsui/themes/shepherd/components/modal/_centered_dual_action.html.erb +0 -16
  322. data/app/views/railsui/themes/shepherd/components/modal/_dismiss_icon.html.erb +0 -23
  323. data/app/views/railsui/themes/shepherd/components/modal/_single_action.html.erb +0 -14
  324. data/app/views/railsui/themes/shepherd/components/modal/_with_form.html.erb +0 -23
  325. data/app/views/railsui/themes/shepherd/components/navigation/_base.html.erb +0 -81
  326. data/app/views/railsui/themes/shepherd/components/navigation/_logged_out.html.erb +0 -22
  327. data/app/views/railsui/themes/shepherd/components/navigation/_with_dropdowns.html.erb +0 -88
  328. data/app/views/railsui/themes/shepherd/components/navigation/_with_search.html.erb +1 -83
  329. data/app/views/railsui/themes/shepherd/components/pagination/_contained.html.erb +0 -31
  330. data/app/views/railsui/themes/shepherd/components/pagination/_dark.html.erb +0 -31
  331. data/app/views/railsui/themes/shepherd/components/pagination/_pagy.html.erb +53 -98
  332. data/app/views/railsui/themes/shepherd/components/pagination/_simple.html.erb +0 -27
  333. data/app/views/railsui/themes/shepherd/components/tab/_base.html.erb +1 -18
  334. data/app/views/railsui/themes/shepherd/components/tab/_pills.html.erb +1 -18
  335. data/app/views/railsui/themes/shepherd/components/tab/_rounded.html.erb +1 -18
  336. data/app/views/railsui/themes/shepherd/components/tab/_with_icons.html.erb +1 -26
  337. data/app/views/railsui/themes/shepherd/components/toast/_base.html.erb +0 -16
  338. data/app/views/railsui/themes/shepherd/components/tooltip/_base.html.erb +0 -3
  339. data/app/views/railsui/themes/shepherd/content/_image_old.html.erb +0 -20
  340. data/app/views/railsui/themes/shepherd/content/image/_object_contain.html.erb +0 -5
  341. data/app/views/railsui/themes/shepherd/content/image/_object_cover.html.erb +0 -5
  342. data/app/views/railsui/themes/shepherd/content/image/_object_fill.html.erb +0 -5
  343. data/app/views/railsui/themes/shepherd/content/image/_object_scale_down.html.erb +0 -5
  344. data/app/views/railsui/themes/shepherd/content/image/_responsive.html.erb +0 -4
  345. data/app/views/railsui/themes/shepherd/content/table/_bordered.html.erb +0 -21
  346. data/app/views/railsui/themes/shepherd/content/table/_borderless.html.erb +0 -21
  347. data/app/views/railsui/themes/shepherd/content/typography/_blockquote.html.erb +0 -9
  348. data/app/views/railsui/themes/shepherd/content/typography/_display_headings.html.erb +0 -9
  349. data/app/views/railsui/themes/shepherd/content/typography/_headings.html.erb +0 -15
  350. data/app/views/railsui/themes/shepherd/content/typography/_inline_formatting.html.erb +0 -21
  351. data/app/views/railsui/themes/shepherd/content/typography/_lead_paragraph.html.erb +0 -5
  352. data/app/views/railsui/themes/shepherd/content/typography/_lists.html.erb +0 -17
  353. data/app/views/railsui/themes/shepherd/content/typography/_paragraphs.html.erb +0 -4
  354. data/app/views/railsui/themes/shepherd/forms/_action_text.html.erb +0 -6
  355. data/app/views/railsui/themes/shepherd/forms/_checkbox.html.erb +0 -9
  356. data/app/views/railsui/themes/shepherd/forms/_form_builder.html.erb +487 -0
  357. data/app/views/railsui/themes/shepherd/forms/_input.html.erb +0 -119
  358. data/app/views/railsui/themes/shepherd/forms/_input_group.html.erb +0 -81
  359. data/app/views/railsui/themes/shepherd/forms/_radio.html.erb +0 -13
  360. data/app/views/railsui/themes/shepherd/forms/_select.html.erb +0 -16
  361. data/app/views/railsui/themes/shepherd/forms/_switch.html.erb +0 -9
  362. data/app/views/railsui/themes/shepherd/forms/_validation.html.erb +0 -11
  363. data/app/views/railsui/themes/shepherd/mailers/_layout.html.erb +1 -493
  364. data/app/views/railsui/themes/shepherd/mailers/_minimal.html.erb +1 -16
  365. data/app/views/railsui/themes/shepherd/mailers/_promotion.html.erb +1 -20
  366. data/app/views/railsui/themes/shepherd/mailers/_transactional.html.erb +1 -43
  367. data/app/views/railsui/themes/shepherd/mailers/devise/_confirmation_instructions.html.erb +1 -9
  368. data/app/views/railsui/themes/shepherd/mailers/devise/_email_changed.html.erb +1 -12
  369. data/app/views/railsui/themes/shepherd/mailers/devise/_password_changed.html.erb +1 -7
  370. data/app/views/railsui/themes/shepherd/mailers/devise/_reset_password_instructions.html.erb +1 -9
  371. data/app/views/railsui/themes/shepherd/mailers/devise/_unlock_instructions.html.erb +1 -9
  372. data/app/views/railsui/themes/shepherd/scaffolds/_edit.html.erb +1 -19
  373. data/app/views/railsui/themes/shepherd/scaffolds/_index.html.erb +1 -11
  374. data/app/views/railsui/themes/shepherd/scaffolds/_new.html.erb +1 -17
  375. data/app/views/railsui/themes/shepherd/scaffolds/_partial.html.erb +1 -17
  376. data/app/views/railsui/themes/shepherd/scaffolds/_show.html.erb +1 -18
  377. data/config/pages.yml +103 -0
  378. data/config/routes.rb +6 -5
  379. data/config/theme.yml +2 -0
  380. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/auth-bg.jpg +0 -0
  381. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog-feature.jpg +0 -0
  382. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog1.jpg +0 -0
  383. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog2.jpg +0 -0
  384. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog3.jpg +0 -0
  385. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog4.jpg +0 -0
  386. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog5.jpg +0 -0
  387. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog6.jpg +0 -0
  388. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog7.jpg +0 -0
  389. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog8.jpg +0 -0
  390. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog9.jpg +0 -0
  391. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/copy.svg +6 -0
  392. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/pencil.svg +1 -0
  393. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/scroll-text.svg +9 -0
  394. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/facebook.svg +1 -0
  395. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/github.svg +1 -0
  396. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/google.svg +1 -0
  397. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/instagram.svg +1 -0
  398. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/linkedin.svg +1 -0
  399. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/twitter.svg +1 -0
  400. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/x.svg +1 -0
  401. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/youtube.svg +1 -0
  402. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/stethoscope.svg +8 -0
  403. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/test-tubes.svg +11 -0
  404. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/logo.svg +10 -0
  405. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/android-chrome-192x192.png +0 -0
  406. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/android-chrome-512x512.png +0 -0
  407. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/apple-touch-icon.png +0 -0
  408. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon-16x16.png +0 -0
  409. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon-32x32.png +0 -0
  410. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon.ico +0 -0
  411. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon.svg +20 -0
  412. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/opengraph-mark.jpg +0 -0
  413. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/opengraph.jpg +0 -0
  414. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/site.webmanifest +19 -0
  415. data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/railsui.svg +3 -0
  416. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/character_count_controller.js +134 -0
  417. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/chat_controller.js +45 -0
  418. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/help_search_controller.js +333 -0
  419. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/highlight_controller.js +13 -0
  420. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/markdown_controller.js +106 -0
  421. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/search_controller.js +311 -0
  422. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/sidebar_controller.js +105 -0
  423. data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/snippet_controller.js +223 -0
  424. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/minimal.html.erb +21 -0
  425. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/minimal.text.erb +9 -0
  426. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/promotion.html.erb +23 -0
  427. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/promotion.text.erb +9 -0
  428. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/transactional.html.erb +55 -0
  429. data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/transactional.text.erb +22 -0
  430. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/actiontext.css +173 -0
  431. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/blog.css +29 -0
  432. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/buttons.css +49 -0
  433. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/card.css +9 -0
  434. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/chat.css +27 -0
  435. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/code.css +233 -0
  436. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/dropdown.css +9 -0
  437. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/forms.css +321 -0
  438. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/sidebar.css +15 -0
  439. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/tailwind.config.js +24 -0
  440. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/theme.css +77 -0
  441. data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/typography.css +47 -0
  442. data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui.html.erb +31 -0
  443. data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui_admin.html.erb +30 -0
  444. data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui_auth.html.erb +50 -0
  445. data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui_mailer.html.erb +503 -0
  446. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/about.html.erb +278 -0
  447. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/blog.html.erb +258 -0
  448. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/blog_category.html.erb +261 -0
  449. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/blog_show.html.erb +429 -0
  450. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/chat_new.html.erb +68 -0
  451. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/chat_show.html.erb +152 -0
  452. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/features.html.erb +356 -0
  453. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/help.html.erb +123 -0
  454. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/home.html.erb +252 -0
  455. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/pricing.html.erb +397 -0
  456. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/privacy.html.erb +140 -0
  457. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/signin.html.erb +38 -0
  458. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/signup.html.erb +48 -0
  459. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/terms.html.erb +182 -0
  460. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_account_dropdown.html.erb +46 -0
  461. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_email_action.html.erb +15 -0
  462. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_email_callout.html.erb +7 -0
  463. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_email_spacer.html.erb +7 -0
  464. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_error_messages.html.erb +10 -0
  465. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_faq.html.erb +9 -0
  466. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_flash.html.erb +11 -0
  467. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_fonts.html.erb +7 -0
  468. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_footer.html.erb +72 -0
  469. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_header.html.erb +15 -0
  470. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_meta.html.erb +90 -0
  471. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_nav.html.erb +3 -0
  472. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_railsui_head.html.erb +4 -0
  473. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_search.html.erb +32 -0
  474. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_sidebar.html.erb +7 -0
  475. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_waves.html.erb +47 -0
  476. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/blog/_article.html.erb +39 -0
  477. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/blog/_pagination.html.erb +21 -0
  478. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_disclaimer.html.erb +4 -0
  479. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_form.html.erb +62 -0
  480. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_header.html.erb +47 -0
  481. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_history.html.erb +36 -0
  482. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_key_legend.html.erb +11 -0
  483. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_link.html.erb +17 -0
  484. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_message.html.erb +69 -0
  485. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_model_select.html.erb +55 -0
  486. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_cta_section.html.erb +16 -0
  487. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_feature_card.html.erb +23 -0
  488. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_feature_check_item.html.erb +6 -0
  489. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_social_auth_buttons.html.erb +22 -0
  490. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/help/_categories.html.erb +82 -0
  491. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/help/_faq.html.erb +45 -0
  492. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/help/_quick_actions.html.erb +46 -0
  493. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/marketing/_career.html.erb +9 -0
  494. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/marketing/_nav.html.erb +57 -0
  495. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/marketing/_team_member_card.html.erb +16 -0
  496. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/_modal.html.erb +84 -0
  497. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/_nav_item.html.erb +14 -0
  498. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_billing.html.erb +120 -0
  499. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_data_controls.html.erb +69 -0
  500. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_general.html.erb +92 -0
  501. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_notifications.html.erb +102 -0
  502. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_personalization.html.erb +100 -0
  503. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_security.html.erb +98 -0
  504. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_title.html.erb +5 -0
  505. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_actions.html.erb +39 -0
  506. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_header.html.erb +40 -0
  507. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_history.html.erb +36 -0
  508. data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_link.html.erb +23 -0
  509. data/lib/generators/railsui/install/templates/themes/hound/stylesheets/railsui/forms.css +18 -4
  510. data/lib/generators/railsui/install/templates/themes/hound/stylesheets/railsui/theme.css +3 -2
  511. data/lib/generators/railsui/install/templates/themes/shepherd/stylesheets/railsui/forms.css +12 -2
  512. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/_form.html.erb.tt +52 -0
  513. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/edit.html.erb.tt +25 -0
  514. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/index.html.erb.tt +12 -0
  515. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/new.html.erb.tt +22 -0
  516. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/partial.html.erb.tt +22 -0
  517. data/lib/generators/railsui/scaffold/templates/themes/corgie/views/show.html.erb.tt +24 -0
  518. data/lib/generators/railsui/scaffold/templates/themes/hound/views/_form.html.erb.tt +29 -24
  519. data/lib/generators/railsui/scaffold/templates/themes/shepherd/views/_form.html.erb.tt +28 -26
  520. data/lib/railsui/configuration.rb +22 -21
  521. data/lib/railsui/engine.rb +26 -20
  522. data/lib/railsui/form_builder.rb +307 -0
  523. data/lib/railsui/pages.rb +14 -3
  524. data/lib/railsui/theme_helper.rb +8 -8
  525. data/lib/railsui/theme_setup.rb +83 -49
  526. data/lib/railsui/themes.rb +3 -4
  527. data/lib/railsui/version.rb +1 -1
  528. data/lib/railsui.rb +9 -6
  529. data/lib/tasks/install.rake +1 -1
  530. data/lib/tasks/pages.rake +1 -1
  531. data/lib/tasks/stimulus.rake +1 -1
  532. metadata +287 -5
  533. data/.standard.yml +0 -3
  534. data/CHANGELOG.md +0 -9
  535. data/config/colors.yml +0 -50
@@ -0,0 +1,119 @@
1
+ <div id="card-article">
2
+ <%= render layout: example, locals: { heading: "Article", section: "Card" } do %>
3
+ <div class="w-[377px]">
4
+ <article
5
+ class="flex flex-col overflow-hidden transition-shadow shadow-sm rounded-3xl outline-1 outline-neutral-300/80 dark:outline-neutral-600/70 hover:shadow-xl dark:shadow-md dark:shadow-black/40">
6
+ <%= link_to "#", class: "shrink-0" do %>
7
+ <%= image_tag "railsui/blog1.jpg", class: "object-cover w-full h-48" %>
8
+ <% end %>
9
+ <div class="flex flex-col justify-between flex-1 p-6 bg-white dark:bg-neutral-900">
10
+ <div class="flex-1">
11
+ <p class="mb-2 text-sm font-medium text-neutral-600 dark:text-neutral-400">
12
+ <a href="#">Technology</a>
13
+ </p>
14
+ <a href="#" class="block">
15
+ <h3 class="mb-3 h4 line-clamp-2">Understanding Neural Networks: A Beginner's Guide</h3>
16
+ <div class="prose prose-neutral dark:prose-invert">
17
+ <p>Dive into the fundamentals of neural networks and learn how they power modern AI systems like Corgie AI.</p>
18
+ </div>
19
+ </a>
20
+ </div>
21
+ <div class="flex items-center mt-6">
22
+ <div class="shrink-0">
23
+ <%= image_tag demo_avatar_url(variant: :women, id: 3), alt: "Sarah Wilson", class: "w-10 h-10 rounded-full shrink-0 object-cover" %>
24
+ </div>
25
+ <div class="ml-3">
26
+ <p class="text-sm font-medium text-neutral-900 dark:text-neutral-100">Sarah Wilson</p>
27
+ <div class="flex space-x-1 text-sm text-neutral-500 dark:text-neutral-400">
28
+ <time datetime="<%= DateTime.now.iso8601 %>"><%= DateTime.now.strftime('%B %d, %Y') %></time>
29
+
30
+ <span aria-hidden="true">&middot;</span>
31
+ <span>7 min read</span>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </article>
37
+ </div>
38
+
39
+
40
+ <% content_for :example, flush: true do %>
41
+ <% content_for :html, flush: true do %>
42
+ <article
43
+ class="flex flex-col overflow-hidden transition-shadow shadow-sm rounded-3xl outline-1 outline-neutral-300/80 dark:outline-neutral-600/70 hover:shadow-xl dark:shadow-md dark:shadow-black/40">
44
+ <%= link_to "#", class: "shrink-0" do %>
45
+ <%= image_tag "railsui/blog1.jpg", class: "object-cover w-full h-48" %>
46
+ <% end %>
47
+ <div class="flex flex-col justify-between flex-1 p-6 bg-white dark:bg-neutral-900">
48
+ <div class="flex-1">
49
+ <p class="mb-2 text-sm font-medium text-neutral-600 dark:text-neutral-400">
50
+ <a href="#">Technology</a>
51
+ </p>
52
+ <a href="#" class="block">
53
+ <h3 class="mb-3 h4 line-clamp-2">Understanding Neural Networks: A Beginner's Guide</h3>
54
+ <div class="prose prose-neutral dark:prose-invert">
55
+ <p>Dive into the fundamentals of neural networks and learn how they power modern AI systems like Corgie AI.</p>
56
+ </div>
57
+ </a>
58
+ </div>
59
+ <div class="flex items-center mt-6">
60
+ <div class="shrink-0">
61
+ <%= image_tag demo_avatar_url(variant: :women, id: 3), alt: "Sarah Wilson", class: "w-10 h-10 rounded-full shrink-0 object-cover" %>
62
+ </div>
63
+ <div class="ml-3">
64
+ <p class="text-sm font-medium text-neutral-900 dark:text-neutral-100">Sarah Wilson</p>
65
+ <div class="flex space-x-1 text-sm text-neutral-500 dark:text-neutral-400">
66
+ <time datetime="<%= DateTime.now.iso8601 %>"><%= DateTime.now.strftime('%B %d, %Y') %></time>
67
+
68
+ <span aria-hidden="true">&middot;</span>
69
+ <span>7 min read</span>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </article>
75
+ <% end %>
76
+
77
+ <% content_for :erb, flush: true do %>
78
+ <article
79
+ class="flex flex-col overflow-hidden transition-shadow shadow-sm rounded-3xl outline-1 outline-neutral-300/80 dark:outline-neutral-600/70 hover:shadow-xl dark:shadow-md dark:shadow-black/40">
80
+ <%%= link_to "#", class: "shrink-0" do %>
81
+ <%%= image_tag "railsui/blog1.jpg", class: "object-cover w-full h-48" %>
82
+ <%% end %>
83
+ <div class="flex flex-col justify-between flex-1 p-6 bg-white dark:bg-neutral-900">
84
+ <div class="flex-1">
85
+ <p class="mb-2 text-sm font-medium text-neutral-600 dark:text-neutral-400">
86
+ <%%= link_to "Technology", rui_blog_category_path %>
87
+ </p>
88
+
89
+ <%%= link_to rui_blog_show_path do %>
90
+ <h3 class="mb-3 h4 line-clamp-2">Understanding Neural Networks: A Beginner's Guide</h3>
91
+ <div class="prose prose-neutral dark:prose-invert">
92
+ <p>Dive into the fundamentals of neural networks and learn how they power modern AI systems like Corgie AI.</p>
93
+ </div>
94
+ <%% end %>
95
+ </div>
96
+
97
+ <div class="flex items-center mt-6">
98
+ <div class="shrink-0">
99
+ <%%= image_tag demo_avatar_url(variant: :women, id: 3), alt: "Sarah Wilson", class: "w-10 h-10 rounded-full shrink-0 object-cover" %>
100
+ </div>
101
+ <div class="ml-3">
102
+ <p class="text-sm font-medium text-neutral-900 dark:text-neutral-100">Sarah Wilson</p>
103
+ <div class="flex space-x-1 text-sm text-neutral-500 dark:text-neutral-400">
104
+ <time datetime="<%%= DateTime.now.iso8601 %>"><%%= DateTime.now.strftime('%B %d, %Y') %></time>
105
+
106
+ <span aria-hidden="true">&middot;</span>
107
+ <span>7 min read</span>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </div>
112
+ </article>
113
+ <% end %>
114
+
115
+
116
+ <%= render_snippet(active_tab: :erb) %>
117
+ <% end %>
118
+ <% end %>
119
+ </div>
@@ -0,0 +1,34 @@
1
+ <div id="card-base">
2
+ <%= render layout: example, locals: { heading: "Base", section: "Card" } do %>
3
+
4
+ <div class="md:w-[377px]">
5
+ <div class="card">
6
+ <h3 class="h4">Create a message</h3>
7
+ <p class="prose prose-slate dark:prose-invert mt-2 mb-4">Send a message to your teammates.</p>
8
+ <button class="btn btn-primary">Start writing</button>
9
+ </div>
10
+ </div>
11
+
12
+ <% content_for :example, flush: true do %>
13
+ <% content_for :html, flush: true do %>
14
+ <div class="card">
15
+ <h3 class="h4">Create a message</h3>
16
+ <p class="prose prose-slate dark:prose-invert mt-2 mb-4">Send a message to your teammates.</p>
17
+ <button class="btn btn-primary">Start writing</button>
18
+ </div>
19
+ <% end %>
20
+
21
+ <% content_for :erb, flush: true do %>
22
+ <div class="md:w-[377px]">
23
+ <div class="card">
24
+ <h3 class="h4">Create a message</h3>
25
+ <p class="prose prose-slate dark:prose-invert mt-2 mb-4">Send a message to your teammates.</p>
26
+ <button class="btn btn-primary">Start writing</button>
27
+ </div>
28
+ </div>
29
+ <% end %>
30
+
31
+ <%= render_snippet(active_tab: :erb) %>
32
+ <% end %>
33
+ <% end %>
34
+ </div>
@@ -0,0 +1,54 @@
1
+ <div id="card-feature">
2
+ <%= render layout: example, locals: { heading: "Feature", section: "Card" } do %>
3
+ <div class="w-[377px]">
4
+ <div class="card">
5
+ <div class="flex items-center justify-center mb-6 size-12 bg-blue-100 dark:bg-blue-900/30 rounded-xl">
6
+ <%= icon "lock-closed", class: "size-6 text-blue-600 dark:text-blue-400" %>
7
+ </div>
8
+ <h3 class="mb-4 h5">End-to-End Encryption</h3>
9
+ <div class="prose prose-neutral dark:prose-invert">
10
+ <p>
11
+ All conversations are encrypted using AES-256 encryption, ensuring your data remains private and secure at
12
+ all times.
13
+ </p>
14
+ </div>
15
+ </div>
16
+ </div>
17
+
18
+
19
+ <% content_for :example, flush: true do %>
20
+ <% content_for :html, flush: true do %>
21
+ <div class="card">
22
+ <div class="flex items-center justify-center mb-6 size-12 bg-blue-100 dark:bg-blue-900/30 rounded-xl">
23
+ <%= icon "lock-closed", class: "size-6 text-blue-600 dark:text-blue-400" %>
24
+ </div>
25
+ <h3 class="mb-4 h5">End-to-End Encryption</h3>
26
+ <div class="prose prose-neutral dark:prose-invert">
27
+ <p>
28
+ All conversations are encrypted using AES-256 encryption, ensuring your data remains private and secure at
29
+ all times.
30
+ </p>
31
+ </div>
32
+ </div>
33
+ <% end %>
34
+
35
+ <% content_for :erb, flush: true do %>
36
+ <div class="card">
37
+ <div class="flex items-center justify-center mb-6 size-12 bg-blue-100 dark:bg-blue-900/30 rounded-xl">
38
+ <%%= icon "lock-closed", class: "size-6 text-blue-600 dark:text-blue-400" %>
39
+ </div>
40
+ <h3 class="mb-4 h5">End-to-End Encryption</h3>
41
+ <div class="prose prose-neutral dark:prose-invert">
42
+ <p>
43
+ All conversations are encrypted using AES-256 encryption, ensuring your data remains private and secure at
44
+ all times.
45
+ </p>
46
+ </div>
47
+ </div>
48
+ <% end %>
49
+
50
+
51
+ <%= render_snippet(active_tab: :erb) %>
52
+ <% end %>
53
+ <% end %>
54
+ </div>
@@ -0,0 +1,60 @@
1
+ <div id="card-team-member">
2
+ <%= render layout: example, locals: { heading: "Team Member", section: "Card" } do %>
3
+ <div class="w-[362px]">
4
+ <div class="card">
5
+ <div class="flex justify-center ">
6
+ <%= image_tag demo_avatar_url(variant: :women, id: 95), alt: "Maya Rodriguez", class: "mb-6 rounded-full size-20" %>
7
+ </div>
8
+ <div class="text-center">
9
+ <h3 class="mb-2 h5">Maya Rodriguez</h3>
10
+ <p class="mb-4 text-neutral-600 dark:text-neutral-400">CTO & Co-founder</p>
11
+ <div class="prose-sm prose prose-neutral dark:prose-invert">
12
+ <p>
13
+ AI systems architect with 15 years of experience building scalable machine learning platforms.
14
+ </p>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </div>
19
+
20
+
21
+ <% content_for :example, flush: true do %>
22
+ <% content_for :html, flush: true do %>
23
+ <div class="card">
24
+ <div class="flex justify-center ">
25
+ <%= image_tag demo_avatar_url(variant: :women, id: 95), alt: "Maya Rodriguez", class: "mb-6 rounded-full size-20" %>
26
+ </div>
27
+ <div class="text-center">
28
+ <h3 class="mb-2 h5">Maya Rodriguez</h3>
29
+ <p class="mb-4 text-neutral-600 dark:text-neutral-400">CTO & Co-founder</p>
30
+ <div class="prose-sm prose prose-neutral dark:prose-invert">
31
+ <p>
32
+ AI systems architect with 15 years of experience building scalable machine learning platforms.
33
+ </p>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ <% end %>
38
+
39
+ <% content_for :erb, flush: true do %>
40
+ <div class="card">
41
+ <div class="flex justify-center ">
42
+ <%%= image_tag demo_avatar_url(variant: :women, id: 95), alt: "Maya Rodriguez", class: "mb-6 rounded-full size-20" %>
43
+ </div>
44
+ <div class="text-center">
45
+ <h3 class="mb-2 h5">Maya Rodriguez</h3>
46
+ <p class="mb-4 text-neutral-600 dark:text-neutral-400">CTO & Co-founder</p>
47
+ <div class="prose-sm prose prose-neutral dark:prose-invert">
48
+ <p>
49
+ AI systems architect with 15 years of experience building scalable machine learning platforms.
50
+ </p>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ <% end %>
55
+
56
+
57
+ <%= render_snippet(active_tab: :erb) %>
58
+ <% end %>
59
+ <% end %>
60
+ </div>
@@ -0,0 +1,54 @@
1
+ <div id="card-value">
2
+ <%= render layout: example, locals: { heading: "Value", section: "Card" } do %>
3
+ <div class="w-[377px]">
4
+ <div class="card">
5
+ <div class="flex items-center justify-center mb-6 size-16 bg-neutral-200/60 rounded-2xl dark:bg-neutral-900">
6
+ <%= icon "shield-check", class:"size-8 text-neutral-700 dark:text-neutral-100 dark:text-neutral-100" %>
7
+ </div>
8
+ <h3 class="mb-4 h5">Privacy First</h3>
9
+ <div class="prose prose-neutral dark:prose-invert">
10
+ <p>
11
+ Your conversations and data belong to you. We use enterprise-grade encryption and never share your
12
+ information.
13
+ </p>
14
+ </div>
15
+ </div>
16
+ </div>
17
+
18
+
19
+ <% content_for :example, flush: true do %>
20
+ <% content_for :html, flush: true do %>
21
+ <div class="card">
22
+ <div class="flex items-center justify-center mb-6 size-16 bg-neutral-200/60 rounded-2xl dark:bg-neutral-900">
23
+ <%= icon "shield-check", class:"size-8 text-neutral-700 dark:text-neutral-100 dark:text-neutral-100" %>
24
+ </div>
25
+ <h3 class="mb-4 h5">Privacy First</h3>
26
+ <div class="prose prose-neutral dark:prose-invert">
27
+ <p>
28
+ Your conversations and data belong to you. We use enterprise-grade encryption and never share your
29
+ information.
30
+ </p>
31
+ </div>
32
+ </div>
33
+ <% end %>
34
+
35
+ <% content_for :erb, flush: true do %>
36
+ <div class="card">
37
+ <div class="flex items-center justify-center mb-6 size-16 bg-neutral-200/60 rounded-2xl dark:bg-neutral-900">
38
+ <%%= icon "shield-check", class:"size-8 text-neutral-700 dark:text-neutral-100 dark:text-neutral-100" %>
39
+ </div>
40
+ <h3 class="mb-4 h5">Privacy First</h3>
41
+ <div class="prose prose-neutral dark:prose-invert">
42
+ <p>
43
+ Your conversations and data belong to you. We use enterprise-grade encryption and never share your
44
+ information.
45
+ </p>
46
+ </div>
47
+ </div>
48
+ <% end %>
49
+
50
+
51
+ <%= render_snippet(active_tab: :erb) %>
52
+ <% end %>
53
+ <% end %>
54
+ </div>
@@ -0,0 +1,250 @@
1
+ <div id="combobox-base">
2
+
3
+ <div class="prose prose-neutral dark:prose-invert">
4
+ <p>The Combobox component is an accessible real-time search dropdown presented as a select field. Use tab and key commands to navigate with ease.</p>
5
+
6
+ <p>To use this component you'll need to leverage the <code>RailsuiCombobox</code> module from the <%= link_to "railsui-stimulus", "https://github.com/getrailsui/railsui-stimulus", target: :_blank %> library. This comes pre-installed for your active theme so it's ready-to-use.</p>
7
+
8
+ <p>For advanced options and values <%= link_to "read the docs", "https://github.com/getrailsui/railsui-stimulus/blob/main/docs/combobox.md", target: :_blank %>.</p>
9
+ </div>
10
+
11
+ <%= render layout: example, locals: { heading: "Base", section: "Combobox" } do %>
12
+
13
+ <%= render preview("neutral") do %>
14
+ <div class="flex items-center justify-center pt-16">
15
+ <div class="relative flex justify-center w-56 font-tiktok" data-controller="railsui-combobox" data-action="click@window->railsui-combobox#handleOutsideClick" data-railsui-combobox-active-class-value="bg-white cursor-pointer text-neutral-800 dark:hover:bg-neutral-800 dark:bg-neutral-700 dark:text-neutral-100" data-railsui-combobox-inactive-class-value="bg-white cursor-pointer text-neutral-800 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100">
16
+
17
+ <!-- Hidden input for form submission -->
18
+ <input type="hidden" name="selected_option" data-railsui-combobox-target="hiddenInput" />
19
+
20
+ <!-- Top-level combobox button -->
21
+ <div aria-expanded="false" aria-controls="combobox-list" aria-labelledby="combobox-label" data-action="click->railsui-combobox#toggleDropdown keydown.enter->railsui-combobox#toggleDropdown" data-railsui-combobox-target="box" role="combobox" tabindex="0" class="form-input w-56 flex items-center justify-between">
22
+ <span id="combobox-label" class="sr-only">Corg 3</span>
23
+ <span data-railsui-combobox-target="text">Corg 3</span>
24
+ <%= icon "chevron-down", class: "size-4 stroke-current" %>
25
+ </div>
26
+
27
+
28
+ <!-- combobox dropdown -->
29
+ <div data-railsui-combobox-target="list" data-transition-enter-from="opacity-0 scale-95" data-transition-enter-to="opacity-100 scale-100" data-transition-leave-from="opacity-100 scale-100" data-transition-leave-to="opacity-0 scale-95" data-action="keydown.esc->railsui-combobox#hideDropdown" class="origin-top md:top-10 md:bottom-auto bottom-10 shadow-lg dark:bg-neutral-800 rounded-3xl outline outline-neutral-300/80 dark:outline-neutral-600/80 max-h-50 absolute z-10 hidden w-full mt-1 overflow-y-auto transition duration-200 ease-in-out bg-white" role="listbox" aria-labelledby="combobox-label">
30
+
31
+ <!-- Search input inside dropdown -->
32
+ <div class="p-2">
33
+ <label for="combobox-search" class="sr-only">Search</label>
34
+ <div class="relative">
35
+ <input id="combobox-search" type="text" placeholder="Search..." autocomplete="off" aria-autocomplete="list" data-railsui-combobox-target="input" data-action="input->railsui-combobox#filter keydown->railsui-combobox#handleKeydown" class="rounded-3xl pr-3 pl-8 py-1.5 border border-neutral-400/40 bg-white dark:bg-neutral-800 dark:text-neutral-100 focus:border-neutral-400/80 focus:ring-4 focus:ring-neutral-400/10 dark:border-neutral-700/80 dark:focus:ring-neutral-600/10 dark:placeholder:text-neutral-500 focus:shadow-none focus:outline-none placeholder-neutral-600/80 font-normal antialiased font-sans w-full shadow-neutral-200/30 shadow-sm dark:shadow-none">
36
+ <svg class="absolute stroke-neutral-400 size-4 top-3 left-3" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
37
+ <title>magnifying-glass</title>
38
+ <g fill="none">
39
+ <path d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
40
+ </g>
41
+ </svg>
42
+ </div>
43
+ </div>
44
+
45
+ <!-- List of options -->
46
+ <ul role="presentation">
47
+ <li id="option-1" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-railsui-combobox-target="option" data-value="corg-3" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer text-neutral-800 hover:bg-neutral-100 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" role="option" tabindex="0">
48
+ Corg 3
49
+
50
+ <span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
51
+ <svg class="stroke-current text-neutral-500 dark:text-neutral-50 size-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
52
+ <g fill="none">
53
+ <path d="M4.5 12.75l6 6 9-13.5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
54
+ </path>
55
+ </g>
56
+ </svg>
57
+ </span>
58
+ </li>
59
+ <li id="option-2" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-value="corg-3.5" data-railsui-combobox-target="option" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer text-neutral-800 hover:bg-neutral-100 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" role="option" tabindex="0">
60
+ Corg 3.5
61
+
62
+ <span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
63
+ <svg class="stroke-current text-neutral-500 dark:text-neutral-50 size-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
64
+ <g fill="none">
65
+ <path d="M4.5 12.75l6 6 9-13.5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
66
+ </path>
67
+ </g>
68
+ </svg>
69
+ </span>
70
+ </li>
71
+ <li id="option-3" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-railsui-combobox-target="option" data-value="corg-4" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer hover:bg-neutral-100 text-neutral-800 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" tabindex="0" role="option">
72
+ Corg 4
73
+
74
+ <span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
75
+ <svg class="stroke-current text-neutral-500 dark:text-neutral-50 size-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
76
+
77
+ <g fill="none">
78
+ <path d="M4.5 12.75l6 6 9-13.5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
79
+ </path>
80
+ </g>
81
+ </svg>
82
+ </span>
83
+ </li>
84
+ </ul>
85
+
86
+ <!-- No results message -->
87
+ <div data-railsui-combobox-target="noresults" class="hidden px-4 py-2 text-neutral-500" aria-hidden="true">
88
+ No results found
89
+ </div>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ <% end %>
94
+
95
+ <% content_for :example, flush: true do %>
96
+ <% content_for :html, flush: true do %>
97
+ <div class="flex items-center justify-center pt-16">
98
+ <div class="relative flex justify-center w-56 font-tiktok" data-controller="railsui-combobox" data-action="click@window->railsui-combobox#handleOutsideClick" data-railsui-combobox-active-class-value="bg-white cursor-pointer text-neutral-800 dark:hover:bg-neutral-800 dark:bg-neutral-700 dark:text-neutral-100" data-railsui-combobox-inactive-class-value="bg-white cursor-pointer text-neutral-800 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100">
99
+
100
+ <!-- Hidden input for form submission -->
101
+ <input type="hidden" name="selected_option" data-railsui-combobox-target="hiddenInput" />
102
+
103
+ <!-- Top-level combobox button -->
104
+ <div aria-expanded="false" aria-controls="combobox-list" aria-labelledby="combobox-label" data-action="click->railsui-combobox#toggleDropdown keydown.enter->railsui-combobox#toggleDropdown" data-railsui-combobox-target="box" role="combobox" tabindex="0" class="form-input w-56 flex items-center justify-between">
105
+ <span id="combobox-label" class="sr-only">Corg 3</span>
106
+ <span data-railsui-combobox-target="text">Corg 3</span>
107
+ <%= icon "chevron-down", class: "size-4 stroke-current" %>
108
+ </div>
109
+
110
+
111
+ <!-- combobox dropdown -->
112
+ <div data-railsui-combobox-target="list" data-transition-enter-from="opacity-0 scale-95" data-transition-enter-to="opacity-100 scale-100" data-transition-leave-from="opacity-100 scale-100" data-transition-leave-to="opacity-0 scale-95" data-action="keydown.esc->railsui-combobox#hideDropdown" class="origin-top md:top-10 md:bottom-auto bottom-10 shadow-lg dark:bg-neutral-800 rounded-3xl outline outline-neutral-300/80 dark:outline-neutral-600/80 max-h-50 absolute z-10 hidden w-full mt-1 overflow-y-auto transition duration-200 ease-in-out bg-white" role="listbox" aria-labelledby="combobox-label">
113
+
114
+ <!-- Search input inside dropdown -->
115
+ <div class="p-2">
116
+ <label for="combobox-search" class="sr-only">Search</label>
117
+ <div class="relative">
118
+ <input id="combobox-search" type="text" placeholder="Search..." autocomplete="off" aria-autocomplete="list" data-railsui-combobox-target="input" data-action="input->railsui-combobox#filter keydown->railsui-combobox#handleKeydown" class="rounded-3xl pr-3 pl-8 py-1.5 border border-neutral-400/40 bg-white dark:bg-neutral-800 dark:text-neutral-100 focus:border-neutral-400/80 focus:ring-4 focus:ring-neutral-400/10 dark:border-neutral-700/80 dark:focus:ring-neutral-600/10 dark:placeholder:text-neutral-500 focus:shadow-none focus:outline-none placeholder-neutral-600/80 font-normal antialiased font-sans w-full shadow-neutral-200/30 shadow-sm dark:shadow-none">
119
+ <svg class="absolute stroke-neutral-400 size-4 top-3 left-3" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
120
+ <title>magnifying-glass</title>
121
+ <g fill="none">
122
+ <path d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
123
+ </g>
124
+ </svg>
125
+ </div>
126
+ </div>
127
+
128
+ <!-- List of options -->
129
+ <ul role="presentation">
130
+ <li id="option-1" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-railsui-combobox-target="option" data-value="corg-3" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer text-neutral-800 hover:bg-neutral-100 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" role="option" tabindex="0">
131
+ Corg 3
132
+
133
+ <span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
134
+ <svg class="stroke-current text-neutral-500 dark:text-neutral-50 size-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
135
+ <g fill="none">
136
+ <path d="M4.5 12.75l6 6 9-13.5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
137
+ </path>
138
+ </g>
139
+ </svg>
140
+ </span>
141
+ </li>
142
+ <li id="option-2" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-value="corg-3.5" data-railsui-combobox-target="option" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer text-neutral-800 hover:bg-neutral-100 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" role="option" tabindex="0">
143
+ Corg 3.5
144
+
145
+ <span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
146
+ <svg class="stroke-current text-neutral-500 dark:text-neutral-50 size-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
147
+ <g fill="none">
148
+ <path d="M4.5 12.75l6 6 9-13.5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
149
+ </path>
150
+ </g>
151
+ </svg>
152
+ </span>
153
+ </li>
154
+ <li id="option-3" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-railsui-combobox-target="option" data-value="corg-4" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer hover:bg-neutral-100 text-neutral-800 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" tabindex="0" role="option">
155
+ Corg 4
156
+
157
+ <span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
158
+ <svg class="stroke-current text-neutral-500 dark:text-neutral-50 size-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
159
+
160
+ <g fill="none">
161
+ <path d="M4.5 12.75l6 6 9-13.5" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
162
+ </path>
163
+ </g>
164
+ </svg>
165
+ </span>
166
+ </li>
167
+ </ul>
168
+
169
+ <!-- No results message -->
170
+ <div data-railsui-combobox-target="noresults" class="hidden px-4 py-2 text-neutral-500" aria-hidden="true">
171
+ No results found
172
+ </div>
173
+ </div>
174
+ </div>
175
+ </div>
176
+ <% end %>
177
+
178
+ <% content_for :erb, flush: true do %>
179
+ <div class="flex items-center justify-center pt-16">
180
+ <div class="relative flex justify-center w-56 font-tiktok" data-controller="railsui-combobox" data-action="click@window->railsui-combobox#handleOutsideClick" data-railsui-combobox-active-class-value="bg-white cursor-pointer text-neutral-800 dark:hover:bg-neutral-800 dark:bg-neutral-700 dark:text-neutral-100" data-railsui-combobox-inactive-class-value="bg-white cursor-pointer text-neutral-800 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100">
181
+
182
+ <!-- Hidden input for form submission -->
183
+ <input type="hidden" name="selected_option" data-railsui-combobox-target="hiddenInput" />
184
+
185
+ <!-- Top-level combobox button -->
186
+ <div aria-expanded="false" aria-controls="combobox-list" aria-labelledby="combobox-label" data-action="click->railsui-combobox#toggleDropdown keydown.enter->railsui-combobox#toggleDropdown" data-railsui-combobox-target="box" role="combobox" tabindex="0" class="form-input w-56 flex items-center justify-between">
187
+ <span id="combobox-label" class="sr-only">Corg 3</span>
188
+ <span data-railsui-combobox-target="text">Corg 3</span>
189
+ <%%= icon "chevron-down", class: "size-4 stroke-current" %>
190
+ </div>
191
+
192
+
193
+ <!-- combobox dropdown -->
194
+ <div data-railsui-combobox-target="list" data-transition-enter-from="opacity-0 scale-95" data-transition-enter-to="opacity-100 scale-100" data-transition-leave-from="opacity-100 scale-100" data-transition-leave-to="opacity-0 scale-95" data-action="keydown.esc->railsui-combobox#hideDropdown" class="origin-top md:top-10 md:bottom-auto bottom-10 shadow-lg dark:bg-neutral-800 rounded-3xl outline outline-neutral-300/80 dark:outline-neutral-600/80 max-h-50 absolute z-10 hidden w-full mt-1 overflow-y-auto transition duration-200 ease-in-out bg-white" role="listbox" aria-labelledby="combobox-label">
195
+
196
+ <!-- Search input inside dropdown -->
197
+ <div class="p-2">
198
+ <label for="combobox-search" class="sr-only">Search</label>
199
+ <div class="relative">
200
+ <input id="combobox-search" type="text" placeholder="Search..." autocomplete="off" aria-autocomplete="list" data-railsui-combobox-target="input" data-action="input->railsui-combobox#filter keydown->railsui-combobox#handleKeydown" class="rounded-3xl pr-3 pl-8 py-1.5 border border-neutral-400/40 bg-white dark:bg-neutral-800 dark:text-neutral-100 focus:border-neutral-400/80 focus:ring-4 focus:ring-neutral-400/10 dark:border-neutral-700/80 dark:focus:ring-neutral-600/10 dark:placeholder:text-neutral-500 focus:shadow-none focus:outline-none placeholder-neutral-600/80 font-normal antialiased font-sans w-full shadow-neutral-200/30 shadow-sm dark:shadow-none">
201
+ <%%= icon "magnifying-glass", class: "absolute stroke-neutral-400 size-4 top-3 left-3" %>
202
+ </div>
203
+ </div>
204
+
205
+ <!-- List of options -->
206
+ <ul role="presentation">
207
+ <li id="option-1" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-railsui-combobox-target="option" data-value="corg-3" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer text-neutral-800 hover:bg-neutral-100 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" role="option" tabindex="0">
208
+ Corg 3
209
+
210
+ <span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
211
+ <%%= icon "check", class: "text-neutral-500 dark:text-neutral-50 size-4" %>
212
+ </span>
213
+ </li>
214
+ <li id="option-2" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-value="corg-3.5" data-railsui-combobox-target="option" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer text-neutral-800 hover:bg-neutral-100 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" role="option" tabindex="0">
215
+ Corg 3.5
216
+
217
+ <span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
218
+ <%%= icon "check", class: "text-neutral-500 dark:text-neutral-50 size-4" %>
219
+ </span>
220
+ </li>
221
+ <li id="option-3" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-railsui-combobox-target="option" data-value="corg-4" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer hover:bg-neutral-100 text-neutral-800 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" tabindex="0" role="option">
222
+ Corg 4
223
+
224
+ <span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
225
+ <%%= icon "check", class: "text-neutral-500 dark:text-neutral-50 size-4" %>
226
+ </span>
227
+ </li>
228
+ </ul>
229
+
230
+ <!-- No results message -->
231
+ <div data-railsui-combobox-target="noresults" class="hidden px-4 py-2 text-neutral-500" aria-hidden="true">
232
+ No results found
233
+ </div>
234
+ </div>
235
+ </div>
236
+ </div>
237
+ <% end %>
238
+
239
+
240
+ <% content_for :js, flush: true do %>
241
+ // requires stimulus.js to be configured
242
+
243
+ import { RailsuiCombobox } from "railsui-stimulus"
244
+ application.register('railsui-combobox', RailsuiCombobox)
245
+ <% end %>
246
+
247
+ <%= render_snippet active_tab: :erb %>
248
+ <% end %>
249
+ <% end %>
250
+ </div>
@@ -0,0 +1,61 @@
1
+ <div id="dropdown-base">
2
+ <%= render layout: example, locals: { heading: "Base", section: "Dropdown" } do %>
3
+
4
+ <%= render preview('neutral') do %>
5
+ <div class="flex md:flex-row flex-col flex-wrap items-center justify-start md:space-x-3 space-x-0 space-y-3 md:space-y-0 font-tiktok">
6
+ <%= render "railsui/themes/#{Railsui.config.theme.downcase}/components/dropdown/dropdown", label: "Dropdown", class: "btn-primary" %>
7
+
8
+ <%= render "railsui/themes/#{Railsui.config.theme.downcase}/components/dropdown/dropdown", label: "Dropdown", class: "btn-ghost" %>
9
+
10
+ <%= render "railsui/themes/#{Railsui.config.theme.downcase}/components/dropdown/dropdown", label: "Dropdown", class: "btn-white" %>
11
+ </div>
12
+ <% end %>
13
+
14
+ <% content_for :example, flush: true do %>
15
+ <% content_for :html, flush: true do %>
16
+ <div data-controller="railsui-dropdown" class="relative inline-block">
17
+ <button type="button" data-action="click->railsui-dropdown#toggle click@window->railsui-dropdown#hide" class="btn btn-primary pr-2.5 gap-2">
18
+ Dropdown
19
+ <%%= icon "chevron-down", class: "size-3" %>
20
+ </button>
21
+ <div
22
+ class="hidden dropdown-menu top-10"
23
+ data-railsui-dropdown-target="menu"
24
+ data-transition-enter-from="opacity-0 scale-95"
25
+ data-transition-enter-to="opacity-100 scale-100"
26
+ data-transition-leave-from="opacity-100 scale-100"
27
+ data-transition-leave-to="opacity-0 scale-95"
28
+ >
29
+ <a href="#" class="dropdown-item">Bookmark</a>
30
+ <a href="#" class="dropdown-item">Report</a>
31
+ <a href="#" class="dropdown-item">Export</a>
32
+ </div>
33
+ </div>
34
+ <% end %>
35
+
36
+ <% content_for :erb, flush: true do %>
37
+ <div data-controller="railsui-dropdown" class="relative inline-block">
38
+ <%%= button_tag data: { action: "click->railsui-dropdown#toggle click@window->railsui-dropdown#hide" }, class: "btn btn-primary gap-2 pr-2.5" do %>
39
+ Dropdown
40
+ <%%= icon "chevron-down", class: "size-3" %>
41
+ <%% end %>
42
+ <div
43
+ class="hidden dropdown-menu top-10"
44
+ data-railsui-dropdown-target="menu"
45
+ data-transition-enter-from="opacity-0 scale-95"
46
+ data-transition-enter-to="opacity-100 scale-100"
47
+ data-transition-leave-from="opacity-100 scale-100"
48
+ data-transition-leave-to="opacity-0 scale-95"
49
+ >
50
+ <%%= link_to "Bookmark", "#", class: "dropdown-item" %>
51
+ <%%= link_to "Report", "#", class: "dropdown-item" %>
52
+ <%%= link_to "Export", "#", class: "dropdown-item" %>
53
+ </div>
54
+ </div>
55
+ <% end %>
56
+
57
+
58
+ <%= render_snippet active_tab: :erb %>
59
+ <% end %>
60
+ <% end %>
61
+ </div>