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
@@ -22,11 +22,6 @@
22
22
  <%% end %>
23
23
  <% end %>
24
24
 
25
- <% content_for :haml, flush: true do %>
26
- - if notice
27
- .bg-secondary-600.text-white.text-center.p-4{:role => "alert"}
28
- %p= sanitize notice
29
- <% end %>
30
25
 
31
26
  <%= render_snippet %>
32
27
  <% end %>
@@ -122,18 +122,6 @@
122
122
  </div>
123
123
  <% end %>
124
124
 
125
- <% content_for :haml, flush: true do %>
126
- %div{"data-controller" => "modal"}
127
- %button.btn.btn-primary{"data-action" => "click->railsui-modal#open", tabindex: "0", type: "button"}
128
- Open modal
129
- .hidden.fixed.inset-0.z-50.overflow-y-auto{"aria-labelledby" => "modal-title", "aria-modal" => "true", "data-action" => "keyup@window->railsui-modal#closeWithEsc", "data-railsui-modal-target" => "container", role: "dialog"}
130
- .h-screen.w-full.relative.flex.items-center.justify-center
131
- .rounded-xl.shadow-xl.max-w-lg.bg-white.m-1.p-8.prose.prose-zinc.prose-headings:font-heading.prose-headings:font-semibold.prose-headings:tracking-tight.origin-bottom.mx-auto.dark:prose-invert.dark:bg-zinc-800.dark:text-zinc-100{"data-railsui-modal-target" => "content", "data-transition-enter-active" => "transition ease-out duration-300", "data-transition-enter-from" => "transform opacity-0 scale-95", "data-transition-enter-to" => "transform opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-300", "data-transition-leave-from" => "transform opacity-100 scale-100", "data-transition-leave-to" => "transform opacity-0 scale-95"}
132
- %h2#modal-title Modal Title
133
- %p Oops! We've run out of lorem ipsum. Time to launch some real words into this space-time continuum!
134
- .flex.justify-end.items-center.flex-wrap.space-x-4
135
- %button.btn.btn-primary{"data-action" => "click->railsui-modal#close"} Close
136
- <% end %>
137
125
 
138
126
  <% content_for :js, flush: true do %>
139
127
  import { RailsuiModal } from 'railsui-stimulus'
@@ -155,22 +155,6 @@
155
155
  <% end %>
156
156
 
157
157
 
158
- <% content_for :haml, flush: true do %>
159
- %div{"data-controller" => "railsui-modal"}
160
- = button_tag "Open centered dual action modal", "#", class: "btn btn-primary", data: { action: "click->modal#open:prevent" }
161
- .hidden.fixed.inset-0.z-50.overflow-y-auto{"aria-labelledby" => "dual-action-modal-title", "aria-modal" => "true", "data-action" => "keyup@window->railsui-modal#closeWithEsc", "data-railsui-modal-target" => "container", role: "dialog"}
162
- .h-screen.w-full.relative.flex.items-center.justify-center
163
- .hidden.rounded-xl.mx-auto.shadow-xl.max-w-lg.bg-white.m-1.p-8.origin-bottom.text-center.dark:bg-zinc-700.dark:text-zinc-200{"data-railsui-modal-target" => "content", "data-transition-enter-active" => "transition ease-out duration-300", "data-transition-enter-from" => "transform opacity-0 scale-95", "data-transition-enter-to" => "transform opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-300", "data-transition-leave-from" => "transform opacity-100 scale-100", "data-transition-leave-to" => "transform opacity-0 scale-95"}
164
- .flex.justify-center
165
- .w-12.h-12.rounded-full.bg-emerald-50.flex.items-center.justify-center.mb-3
166
- = icon "rocket-launch", class: "size-6 text-emerald-600 flex-shrink-0"
167
- %h3#dual-action-modal-title.font-semibold.text-xl.text-zinc-800.dark:text-zinc-100 Time to launch
168
- .prose.prose-zinc.dark:prose-invert.mt-4.mb-6
169
- %p Oops! We've run out of lorem ipsum. Time to launch some real words into this space-time continuum!
170
- .grid.grid-cols-1.sm:grid-cols-2.gap-3
171
- = button_tag "Cancel", type: "button", class: "btn btn-white w-full sm:order-1 order-2", data: { action: "click->railsui-modal#close" }
172
- = button_tag "Proceed to launch", type: "button", class: "btn btn-primary w-full sm:order-2 order-1", data: { action: "click->railsui-modal#close" }
173
- <% end %>
174
158
 
175
159
  <% content_for :js, flush: true do %>
176
160
  import { RailsuiModal } from 'railsui-stimulus'
@@ -169,29 +169,6 @@
169
169
  </div>
170
170
  <% end %>
171
171
 
172
- <% content_for :haml, flush: true do %>
173
- %div{"data-controller" => "railsui-modal"}
174
- = button_tag "Open modal with form", type: "button", class: "btn btn-primary", data: { action: "click->railsui-modal#open" }, "tabindex": "0"
175
- .hidden.fixed.inset-0.z-50.overflow-y-auto{"aria-labelledby" => "modal-with-form", "aria-modal" => "true", "data-action" => "keyup@window->railsui-modal#closeWithEsc", "data-railsui-modal-target" => "container", role: "dialog"}
176
- .h-screen.w-full.relative.flex.items-center.justify-center
177
- .hidden.rounded-xl.shadow-xl.mx-auto.max-w-lg.bg-white.m-1.p-8.origin-bottom.relative.dark:bg-zinc-800.dark:text-zinc-200{"data-railsui-modal-target" => "content", "data-transition-enter-active" => "transition ease-out duration-300", "data-transition-enter-from" => "transform opacity-0 scale-95", "data-transition-enter-to" => "transform opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-300", "data-transition-leave-from" => "transform opacity-100 scale-100", "data-transition-leave-to" => "transform opacity-0 scale-95"}
178
- = button_tag type: "button", class: "absolute top-2 right-2 size-8 bg-transparent hover:bg-zinc-50 flex items-center justify-center rounded-full group dark:hover:bg-zinc-50/50" do
179
- = icon "x-mark", class: "text-zinc-400 size-6 group-hover:text-zinc-500 pointer-events-none dark:group-hover:text-zinc-800 dark:text-zinc-400"
180
- .mb-4
181
- %h2#modal-with-form.text-3xl.font-semibold.font-heading.text-zinc-900.dark:text-zinc-100.tracking-tight Subscribe
182
- .prose.prose-zinc.my-4.dark:prose-invert
183
- %p Interested in learning more about real estate investing and development? Enter your information below and one of our team members will be in touch.
184
- = form_with(model: subscriber) do |form|
185
- .form-group
186
- = form.label :email, class: "form-label"
187
- = form.text_field :email, class: "form-input", placeholder: "saasquatch@railsui.com"
188
- .form-group
189
- = form.label :reason, class: "form-label"
190
- = form.text_area :reason, class: "form-textarea", placeholder: "In a couple sentences let us know your reason for joining the Shepherd community"
191
- .mt-6.flex.justify-start.items-center.flex-wrap.space-x-3
192
- = form.submit "Subscribe", class: "btn btn-primary"
193
- = link_to "Skip for now", "#", class: "btn btn-transparent", data: { action: "click->railsui-modal#close" }
194
- <% end %>
195
172
 
196
173
  <% content_for :js, flush: true do %>
197
174
  import { RailsuiModal } from 'railsui-stimulus'
@@ -140,20 +140,6 @@
140
140
  </div>
141
141
  <% end %>
142
142
 
143
- <% content_for :haml, flush: true do %>
144
- %div{"data-controller" => "railsui-modal"}
145
- = button_tag "Open single action", type: "button", class: "btn btn-primary", data: { action: "click->modal#open:prevent" }
146
- .hidden.fixed.inset-0.z-50.overflow-y-auto{"aria-labelledby" => "single-action-modal-title", "aria-modal" => "true", "data-railsui-modal-target" => "container", role: "dialog"}
147
- .h-screen.w-full.relative.flex.items-center.justify-center
148
- .hidden.rounded-xl.mx-auto.shadow-xl.max-w-xs.bg-white.m-1.p-8.origin-bottom.text-center.dark:bg-zinc-800.dark:text-zinc-200.text-zinc-600{"data-action" => "keyup@window->railsui-modal#closeWithEsc", "data-railsui-modal-target" => "content", "data-transition-enter-active" => "transition ease-out duration-300", "data-transition-enter-from" => "transform opacity-0 scale-95", "data-transition-enter-to" => "transform opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-300", "data-transition-leave-from" => "transform opacity-100 scale-100", "data-transition-leave-to" => "transform opacity-0 scale-95"}
149
- .flex.justify-center
150
- .size-12.rounded-full.bg-emerald-50.flex.items-center.justify-center.mb-3{class: "dark:bg-emerald-600/10"}
151
- = icon "rocket-launch", class: "size-6 text-emerald-600 dark:text-emerald-500 flex-shrink-0"
152
- %h3#single-action-modal-title.text-2xl.font-semibold.font-heading.text-zinc-900.dark:text-zinc-100.tracking-tight Time to launch
153
- .prose.prose-zinc.my-4.dark:prose-invert
154
- %p Your project is ready to go live. Double-check all settings before launching.
155
- = button_tag "Launch away", type: "button", class: "btn btn-primary w-full", data: { action: "click->railsui-modal#close" }
156
- <% end %>
157
143
 
158
144
  <% content_for :js, flush: true do %>
159
145
  import { RailsuiModal } from 'railsui-stimulus'
@@ -194,29 +194,6 @@
194
194
  </div>
195
195
  <% end %>
196
196
 
197
- <% content_for :haml, flush: true do %>
198
- %div{"data-controller" => "modal"}
199
- = button_tag "Open modal with form", type: "button", class: "btn btn-primary", data: { action: "click->modal#open" }, "tabindex": "0"
200
- .hidden.fixed.inset-0.z-50.overflow-y-auto{"aria-labelledby" => "modal-with-form", "aria-modal" => "true", "data-action" => "keyup@window->modal#closeWithEsc", "data-modal-target" => "container", role: "dialog"}
201
- .h-screen.w-full.relative.flex.items-center.justify-center
202
- .hidden.rounded-xl.shadow-xl.mx-auto.max-w-lg.bg-white.m-1.p-8.origin-bottom.relative.dark:bg-zinc-800.dark:text-zinc-200{"data-modal-target" => "content", "data-transition-enter-active" => "transition ease-out duration-300", "data-transition-enter-from" => "transform opacity-0 scale-95", "data-transition-enter-to" => "transform opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-300", "data-transition-leave-from" => "transform opacity-100 scale-100", "data-transition-leave-to" => "transform opacity-0 scale-95"}
203
- = button_tag type: "button", class: "absolute top-2 right-2 size-8 bg-transparent hover:bg-zinc-50 flex items-center justify-center rounded-full group dark:hover:bg-zinc-50/50" do
204
- = icon "x-mark", class: "text-zinc-400 size-6 group-hover:text-zinc-500 pointer-events-none dark:group-hover:text-zinc-800 dark:text-zinc-400"
205
- .mb-4
206
- %h2#modal-with-form.text-3xl.font-semibold.font-heading.text-zinc-900.dark:text-zinc-100.tracking-tight Subscribe
207
- .prose.prose-zinc.my-4.dark:prose-invert
208
- %p Interested in learning more about real estate investing and development? Enter your information below and one of our team members will be in touch.
209
- \&lt;%= form_with(model: subscriber) do |form| %&gt;
210
- .form-group
211
- = form.label :email, class: "form-label"
212
- = form.text_field :email, class: "form-input", placeholder: "saasquatch@railsui.com"
213
- .form-group
214
- = form.label :reason, class: "form-label"
215
- = form.text_area :reason, class: "form-textarea", placeholder: "In a couple sentences let us know your reason for joining the Shepherd community"
216
- .mt-6.flex.justify-start.items-center.flex-wrap.space-x-3
217
- = form.submit "Subscribe", class: "btn btn-primary"
218
- = link_to "Skip for now", "#", class: "btn btn-transparent", data: { action: "click->modal#close" }
219
- <% end %>
220
197
 
221
198
  <% content_for :js, flush: true do %>
222
199
  import { RailsuiModal } from 'railsui-stimulus'
@@ -310,87 +310,6 @@
310
310
  </header>
311
311
  <% end %>
312
312
 
313
- <% content_for :haml, flush: true do %>
314
- %header.bg-white.dark:bg-zinc-900.px-4.md:py-2.py-3.border-b.rounded-t-xl.relative.z-50{class: "border-zinc-300/80 dark:border-zinc-700/80", "data-controller" => "nav"}
315
- .md:flex.items-center.justify-between
316
- .md:flex.items-center.md:space-x-4.md:flex-1
317
- .md:flex.items-center.justify-between.w-full.md:space-x-3
318
- .flex.items-center.justify-between.md:w-auto.w-full
319
- = link_to "#" do
320
- %h1
321
- = icon "logo", custom_path: "/railsui/logo.svg", class: "text-zinc-900 dark:text-white fill-current size-10"
322
- %span.sr-only Shepherd
323
- %button.md:hidden.flex.items-center.justify-center.size-12.rounded-full.focus:ring-4.focus:ring-zinc-50.focus:bg-white.focus:shadow-sm.group.dark:focus:bg-zinc-800.dark:focus:ring-zinc-600.dark:focus:shadow-sm{"data-action" => "click->nav#toggle", role: "Mobile navigation toggle", type: "button"}
324
- = icon "bars-3-center-left", class: "stroke-current size-8 text-zinc-500 group-focus:text-primary-500 dark:text-zinc-400 dark:group-focus:text-zinc-100"
325
- .origin-top.md:flex.items-center.hidden.w-full{"data-nav-target" => "nav", "data-transition-enter-active" => "transition ease-out duration-200", "data-transition-enter-from" => "opacity-0 scale-95", "data-transition-enter-to" => "opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-200", "data-transition-leave-from" => "opacity-100 scale-100", "data-transition-leave-to" => "opacity-0 scale-95"}
326
- %nav.flex-1{role: "primary navigation"}
327
- %ul.md:flex.items-center.md:space-y-0.space-y-4
328
- %li.flex-1.md:flex.items-center
329
- = nav_link_to "Dashboard" , "#", class: "rui-nav-link"
330
- = nav_link_to "Properties" , "#", class: "rui-nav-link"
331
- = nav_link_to "Calendar" , "#", class: "rui-nav-link"
332
- = nav_link_to "Inbox" , "#", class: "rui-nav-link"
333
- = nav_link_to "Insights" , "#", class: "rui-nav-link"
334
- / Notifications start
335
- %li
336
- .md:flex.justify-end.md:flex-1.md:mr-4.mr-3.relative{"data-controller" => "railsui-dropdown"}
337
- %button.rounded-full.md:w-10.md:h-10.size-12.border-zinc-300.border.flex.items-center.justify-center.focus:border-zinc-400.focus:ring-4.focus:ring-zinc-100.dark:border-zinc-600.dark:focus:ring-zinc-700.dark:focus:border-zinc-400{class: "hover:border-zinc-400/80", "data-action" => "click->railsui-dropdown#toggle click@window->railsui-dropdown#hide", type: "button"}
338
- .relative
339
- = icon "bell", class: "text-zinc-500 md:w-5 md:h-5 size-6 group-hover:text-zinc-600 dark:group-hover:text-zinc-300 dark:text-zinc-400 stroke-current"
340
- %span.w-2.h-2.bg-red-500.rounded-full.hover:animate-pulse.absolute.top-0.right-0.z-20{class: "dark:bg-primary-500/95"}
341
- .origin-to-right.md:absolute.mt-2.ml-2.md:ml-0.md:mt-0.md:shadow-xl.divide-y.divide-zinc-300.text-left.dark:divide-zinc-700.hidden.transition.transform.md:origin-top-right.origin-top-left.absolute.right-0.top-12.bg-white.rounded-lg.shadow-xl.border.border-zinc-300.w-full.z-50.py-2.dark:bg-zinc-900.md:text-sm.text-base.font-medium.text-zinc-600.dark:text-zinc-200{class: "sm:w-[360px] md:min-w-[360px] shadow-zinc-900/10 md:w-[320px] dark:shadow-zinc-900/50 dark:border-zinc-500/60", "data-railsui-dropdown-target" => "menu", "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"}
342
- .px-4.py-3.md:py-2.flex.items-center.justify-between.group
343
- .flex-1
344
- .flex.items-start.space-x-2
345
- = image_tag demo_avatar_url(variant: "men", id: "10"), class: "size-6 object-cover rounded-full flex-shrink-0 mt-1"
346
- .flex-1
347
- %p.truncate
348
- John D. replied to #{link_to "your comment", "#", class: "underline text-primary-600 hover:text-primary-700 dark:text-primary-500 dark:hover:text-primary-400"}
349
- %p.text-xs.text-zinc-500.dark:text-zinc-400 Just now
350
- %button.opacity-0.group-hover:opacity-100.transition.ease-in-out.duration-300.flex.items-center.justify-center.rounded-full.w-7.h-7.group.border.border-zinc-200.hover:border-zinc-300.focus:ring-4.dark:border-zinc-600{class: "hover:bg-zinc-50/50 focus:ring-zinc-100/75 bg-white/50 dark:bg-zinc-700/75 dark:focus:ring-zinc-100/10 dark:hover:bg-white/20"}
351
- = icon "x-mark", class: "size-3 text-zinc-600 group-hover:text-primary-600 dark:group-hover:text-zinc-100 dark:text-zinc-50 stroke-current"
352
- .px-4.py-3.md:py-2.flex.items-center.justify-between.group
353
- .flex-1
354
- .flex.items-start.space-x-2
355
- = image_tag demo_avatar_url(id: "14", variant: "women"), alt: "Avatar", class: "size-6 object-cover rounded-full flex-shrink-0 mt-1"
356
- .flex-1
357
- %p
358
- Jane D. posted #{link_to "an update", "#", class: "underline text-primary-600 hover:text-primary-700 dark:text-primary-500 dark:hover:text-primary-400"}
359
- %p.text-xs.text-zinc-500.dark:text-zinc-400 15 mins ago
360
- %button.opacity-0.group-hover:opacity-100.transition.ease-in-out.duration-300.flex.items-center.justify-center.rounded-full.w-7.h-7.group.border.border-zinc-200.hover:border-zinc-300.focus:ring-4.dark:border-zinc-600{class: "hover:bg-zinc-50/50 focus:ring-zinc-100/75 bg-white/50 dark:bg-zinc-700/75 dark:focus:ring-zinc-100/10 dark:hover:bg-white/20"}
361
- = icon "x-mark", class: "size-3 text-zinc-600 group-hover:text-primary-600 dark:group-hover:text-zinc-100 dark:text-zinc-50 stroke-current"
362
- .px-4.py-3.md:py-2.flex.items-center.justify-between.group
363
- .flex-1
364
- .flex.items-start.space-x-2
365
- = image_tag demo_avatar_url(id: "24", variant: "men"), alt: "Avatar", class: "size-6 object-cover rounded-full flex-shrink-0 mt-1"
366
- .flex-1
367
- %p
368
- Scotty P. shared #{link_to "a repository", "#", class: "underline text-primary-600 hover:text-primary-700 dark:text-primary-500 dark:hover:text-primary-400"}
369
- %p.text-xs.text-zinc-500.dark:text-zinc-400 2 hours ago
370
- %button.opacity-0.group-hover:opacity-100.transition.ease-in-out.duration-300.flex.items-center.justify-center.rounded-full.w-7.h-7.group.border.border-zinc-200.hover:border-zinc-300.focus:ring-4.dark:border-zinc-600{class: "hover:bg-zinc-50/50 focus:ring-zinc-100/75 bg-white/50 dark:bg-zinc-700/75 dark:focus:ring-zinc-100/10 dark:hover:bg-white/20"}
371
- = icon "x-mark", class: "size-3 text-zinc-600 group-hover:text-primary-600 dark:group-hover:text-zinc-100 dark:text-zinc-50 stroke-current"
372
- %div
373
- = link_to "#", class: "flex items-center justify-between group px-4 pt-3 pb-2 hover:text-primary-500 text-sm group text-zinc-500 dark:text-zinc-200 dark:hover:bg-zinc-800 dark:hover:text-white font-heading font-normal" do
374
- %span View all notifications
375
- = icon "chevron-right", class: "group-hover:translate-x-1 transform transition ease-in-out size-4 text-zinc-400 group-hover:text-primary-500 dark:group-hover:text-primary-200 stroke-current"
376
- / Notifications end
377
- %li
378
- .md:flex.relative{"data-controller" => "railsui-dropdown"}
379
- %button.rounded-full.md:w-10.md:h-10.size-12.border-zinc-300.border.flex.items-center.justify-center.focus:border-zinc-400.focus:ring-4.dark:border-zinc-600.dark:focus:ring-zinc-700{class: "focus:ring-zinc-200/80 hover:border-zinc-300/90 dark:focus:border-zinc-300/90", "data-action" => "click->railsui-dropdown#toggle click@window->railsui-dropdown#hide", "data-railsui-dropdown-target" => "trigger"}
380
- %img.md:w-10.md:h-10.size-12.rounded-full.flex-shrink-0.select-none.pointer-events-none{alt: "Shepherd user", src: "https://randomuser.me/api/portraits/women/68.jpg"}/
381
- %ul.hidden.transition.transform.md:origin-top-right.origin-top-left.absolute.right-0.md:top-12.top-20.bg-white.rounded-lg.shadow-xl.border.border-zinc-200.w-full.z-50.py-4.dark:bg-zinc-900.text-base.font-normal.text-zinc-600.dark:text-zinc-200.font-heading.space-y-3{class: "shadow-zinc-900/10 md:w-[200px] dark:shadow-zinc-900/50 dark:border-zinc-500/60 md:text-[14px]", "data-railsui-dropdown-target" => "menu", "data-transition-enter-active" => "transition ease-out duration-300", "data-transition-enter-from" => "transform opacity-0 scale-95", "data-transition-enter-to" => "transform opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-300", "data-transition-leave-from" => "transform opacity-100 scale-100", "data-transition-leave-to" => "transform opacity-0 scale-95"}
382
- %li
383
- = link_to "Inbox", "#", class: "py-3 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300"
384
- %li
385
- = link_to "Manage properties", "#", class: "py-3 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300"
386
- %li
387
- = link_to "Add booking", "#", class: "py-3 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300"
388
- %li.border-b{class: "border-zinc-300/80 dark:border-zinc-700/80"}
389
- %li
390
- = link_to "Account", "#", class: "py-3 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300 font-light text-sm"
391
- %li
392
- = link_to "Sign out", "#", class: "py-3 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300 font-light text-sm"
393
- <% end %>
394
313
 
395
314
  <% content_for :js, flush: true do %>
396
315
  // app/javascript/controllers/nav_controller.js
@@ -145,28 +145,6 @@
145
145
  </header>
146
146
  <% end %>
147
147
 
148
- <% content_for :haml, flush: true do %>
149
- %header.bg-white.dark:bg-zinc-900.px-4.md:py-2.py-3.border-b.rounded-t-xl.relative.z-50{class: "border-zinc-300/80 dark:border-zinc-700/80", "data-controller" => "nav"}
150
- .md:flex.items-center.justify-between
151
- .md:flex.items-center.md:space-x-4.md:flex-1
152
- .md:flex.items-center.justify-between.w-full.md:space-x-3
153
- .flex.items-center.justify-between.md:w-auto.w-full
154
- = link_to "#" do
155
- %h1
156
- = icon "logo", custom_path: "/railsui/logo.svg", class: "text-zinc-900 dark:text-white fill-current size-10"
157
- %span.sr-only Shepherd
158
- %button.md:hidden.flex.items-center.justify-center.size-12.rounded-full.focus:ring-4.focus:ring-zinc-50.focus:bg-white.focus:shadow-sm.group.dark:focus:bg-zinc-800.dark:focus:ring-zinc-600.dark:focus:shadow-sm{"data-action" => "click->nav#toggle", role: "Mobile navigation toggle", type: "button"}
159
- = icon "bars-3-center-left", class: "stroke-current size-8 text-zinc-500 group-focus:text-primary-500 dark:text-zinc-400 dark:group-focus:text-zinc-100"
160
- .origin-top.md:flex.items-center.hidden.w-full{"data-nav-target" => "nav", "data-transition-enter-active" => "transition ease-out duration-200", "data-transition-enter-from" => "opacity-0 scale-95", "data-transition-enter-to" => "opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-200", "data-transition-leave-from" => "opacity-100 scale-100", "data-transition-leave-to" => "opacity-0 scale-95"}
161
- %nav.flex-1{role: "primary navigation"}
162
- %ul.md:flex.items-center.md:space-y-0.space-y-4
163
- %li.flex-1.md:flex.items-center
164
- = nav_link_to "Nav link", "#", class: "rui-nav-link"
165
- %li
166
- .md:flex.items-center.md:space-x-3.md:space-y-0.space-y-3
167
- = link_to "Sign in", "#", class: "btn btn-transparent"
168
- = link_to "Sign up", "#", class: "btn btn-primary"
169
- <% end %>
170
148
 
171
149
  <% content_for :js, flush: true do %>
172
150
  // app/javascript/controllers/nav_controller.js
@@ -502,94 +502,6 @@
502
502
 
503
503
  <% end %>
504
504
 
505
- <% content_for :haml, flush: true do %>
506
- %header.bg-white.dark:bg-zinc-900.px-4.md:py-2.py-3.border-b.rounded-t-xl.relative.z-50{class: "border-zinc-300/80 dark:border-zinc-700/80", "data-controller" => "nav"}
507
- .md:flex.items-center.justify-between
508
- .md:flex.items-center.md:space-x-4.md:flex-1
509
- .md:flex.items-center.justify-between.w-full.md:space-x-3
510
- .flex.items-center.justify-between.md:w-auto.w-full
511
- %a{href: "#"}
512
- %h1
513
- = icon "logo", custom_path: "/railsui/logo.svg", class: "text-zinc-900 dark:text-white fill-current size-10"
514
- %span.sr-only Shepherd
515
- %button.md:hidden.flex.items-center.justify-center.size-12.rounded-full.focus:ring-4.focus:ring-zinc-50.focus:bg-white.focus:shadow-sm.group.dark:focus:bg-zinc-800.dark:focus:ring-zinc-600.dark:focus:shadow-sm{"data-action" => "click->nav#toggle", role: "Mobile navigation toggle", type: "button"}
516
- = icon "bars-3-center-left", class: "stroke-current w-8 h-8 text-zinc-500 group-focus:text-primary-500 dark:text-zinc-400 dark:group-focus:text-zinc-100"
517
- .origin-top.md:flex.items-center.hidden.w-full{"data-nav-target" => "nav", "data-transition-enter-active" => "transition ease-out duration-200", "data-transition-enter-from" => "opacity-0 scale-95", "data-transition-enter-to" => "opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-200", "data-transition-leave-from" => "opacity-100 scale-100", "data-transition-leave-to" => "opacity-0 scale-95"}
518
- %nav.flex-1{role: "primary navigation"}
519
- %ul.md:flex.items-center.md:space-y-0.space-y-4
520
- %li.flex-1.md:flex.items-center
521
- %a.rui-nav-link{href: "#"} Nav link
522
- .relative.inline-block{"data-controller" => "railsui-dropdown"}
523
- %button.rui-nav-link.flex.items-center.justify-center{"data-action" => "click->railsui-dropdown#toggle click@window->railsui-dropdown#hide", type: "button"}
524
- Dropdown
525
- \#{icon "chevron-down", class: "size-3 ml-2"}
526
- .hidden.transition.transform.origin-top.absolute.left-0.top-14.bg-white.rounded-xl.shadow-xl.border.border-zinc-300.z-50.py-2.dark:bg-zinc-900.text-zinc-600.dark:text-zinc-100.font-heading{class: "shadow-zinc-900/10 w-[200px] dark:shadow-zinc-900/50 dark:border-zinc-600/80 text-[15px]", "data-railsui-dropdown-target" => "menu", "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"}
527
- %a.px-4.hover:text-primary-600.block.dark:hover:text-primary-500{class: "py-[.4rem]", href: "#"} Bookings
528
- %a.px-4.hover:text-primary-600.block.dark:hover:text-primary-500{class: "py-[.4rem]", href: "#"} Help Center
529
- %a.px-4.hover:text-primary-600.block.dark:hover:text-primary-500{class: "py-[.4rem]", href: "#"} Changlog
530
- / Notifications start
531
- %li
532
- .md:flex.justify-end.md:flex-1.md:mr-4.mr-3.relative{"data-controller" => "railsui-dropdown"}
533
- %button.rounded-full.md:w-10.md:h-10.size-12.border-zinc-300.border.flex.items-center.justify-center.focus:border-zinc-400.focus:ring-4.focus:ring-zinc-100.dark:border-zinc-600.dark:focus:ring-zinc-700.dark:focus:border-zinc-400{class: "hover:border-zinc-400/80", "data-action" => "click->railsui-dropdown#toggle click@window->railsui-dropdown#hide", type: "button"}
534
- .relative
535
- = icon "bell", class: "text-zinc-500 md:w-5 md:h-5 size-6 group-hover:text-zinc-600 dark:group-hover:text-zinc-300 dark:text-zinc-400 stroke-current"
536
- %span.w-2.h-2.bg-red-500.rounded-full.hover:animate-pulse.absolute.top-0.right-0.z-20{class: "dark:bg-primary-500/95"}
537
- .origin-to-right.md:absolute.mt-2.ml-2.md:ml-0.md:mt-0.md:shadow-xl.divide-y.divide-zinc-300.text-left.dark:divide-zinc-700.hidden.transition.transform.md:origin-top-right.origin-top-left.absolute.right-0.top-12.bg-white.rounded-lg.shadow-xl.border.border-zinc-200.w-full.z-50.py-2.dark:bg-zinc-900.md:text-sm.text-base.font-medium.text-zinc-600.dark:text-zinc-200{class: "sm:w-[360px] md:min-w-[360px] shadow-zinc-900/10 md:w-[320px] dark:shadow-zinc-900/50 dark:border-zinc-500/60", "data-railsui-dropdown-target" => "menu", "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"}
538
- .px-4.py-3.md:py-2.flex.items-center.justify-between.group
539
- .flex-1
540
- .flex.items-start.gap-2
541
- %img.size-6.object-cover.rounded-full.flex-shrink-0.mt-1{src: "https://randomuser.me/api/portraits/men/10.jpg"}/
542
- .flex-1
543
- %p.truncate
544
- John D. replied to
545
- %a.underline.text-primary-600.hover:text-primary-700.dark:text-primary-500.dark:hover:text-primary-400{href: "#"} your comment
546
- %p.text-xs.text-zinc-500.dark:text-zinc-400 Just now
547
- %button.opacity-0.group-hover:opacity-100.transition.ease-in-out.duration-300.flex.items-center.justify-center.rounded-full.w-7.h-7.group.border.border-zinc-200.hover:border-zinc-300.focus:ring-4.dark:border-zinc-600{class: "hover:bg-zinc-50/50 focus:ring-zinc-100/75 bg-white/50 dark:bg-zinc-700/75 dark:focus:ring-zinc-100/10 dark:hover:bg-white/20"}
548
- = icon "x-mark", class: "size-3 text-zinc-600 group-hover:text-primary-600 dark:group-hover:text-zinc-100 dark:text-zinc-50 stroke-current"
549
- .px-4.py-3.md:py-2.flex.items-center.justify-between.group
550
- .flex-1
551
- .flex.items-start.gap-2
552
- %img.size-6.object-cover.rounded-full.flex-shrink-0.mt-1{alt: "Avatar", src: "https://randomuser.me/api/portraits/women/14.jpg"}/
553
- .flex-1
554
- %p
555
- Jane D. posted
556
- %a.underline.text-primary-600.hover:text-primary-700.dark:text-primary-500.dark:hover:text-primary-400{href: "#"} an update
557
- %p.text-xs.text-zinc-500.dark:text-zinc-400 15 mins ago
558
- %button.opacity-0.group-hover:opacity-100.transition.ease-in-out.duration-300.flex.items-center.justify-center.rounded-full.w-7.h-7.group.border.border-zinc-200.hover:border-zinc-300.focus:ring-4.dark:border-zinc-600{class: "hover:bg-zinc-50/50 focus:ring-zinc-100/75 bg-white/50 dark:bg-zinc-700/75 dark:focus:ring-zinc-100/10 dark:hover:bg-white/20"}
559
- = icon "x-mark", class: "size-3 text-zinc-600 group-hover:text-primary-600 dark:group-hover:text-zinc-100 dark:text-zinc-50 stroke-current"
560
- .px-4.py-3.md:py-2.flex.items-center.justify-between.group
561
- .flex-1
562
- .flex.items-start.gap-2
563
- %img.size-6.object-cover.rounded-full.flex-shrink-0.mt-1{alt: "Avatar", src: "https://randomuser.me/api/portraits/men/24.jpg"}/
564
- .flex-1
565
- %p
566
- Scotty P. shared
567
- %a.underline.text-primary-600.hover:text-primary-700.dark:text-primary-500.dark:hover:text-primary-400{href: "#"} a repository
568
- %p.text-xs.text-zinc-500.dark:text-zinc-400 2 hours ago
569
- %button.opacity-0.group-hover:opacity-100.transition.ease-in-out.duration-300.flex.items-center.justify-center.rounded-full.w-7.h-7.group.border.border-zinc-200.hover:border-zinc-300.focus:ring-4.dark:border-zinc-600{class: "hover:bg-zinc-50/50 focus:ring-zinc-100/75 bg-white/50 dark:bg-zinc-700/75 dark:focus:ring-zinc-100/10 dark:hover:bg-white/20"}
570
- = icon "x-mark", class: "size-3 text-zinc-600 group-hover:text-primary-600 dark:group-hover:text-zinc-100 dark:text-zinc-50 stroke-current"
571
- %div
572
- %a.flex.items-center.justify-between.group.px-4.pt-3.pb-2.hover:text-primary-500.text-sm.group.text-zinc-500.dark:text-zinc-200.dark:hover:bg-zinc-800.dark:hover:text-white.font-heading.font-normal{href: "#"}
573
- %span View all notifications
574
- = icon "chevron-right", class: "group-hover:translate-x-1 transform transition ease-in-out size-4 text-zinc-400 group-hover:text-primary-500 dark:group-hover:text-primary-200 stroke-current"
575
- / Notifications end
576
- %li
577
- .md:flex.relative{"data-controller" => "dropdown"}
578
- %button.rounded-full.md:w-10.md:h-10.size-12.border-zinc-300.border.flex.items-center.justify-center.focus:border-zinc-400.focus:ring-4.dark:border-zinc-600.dark:focus:ring-zinc-700{class: "focus:ring-zinc-200/80 hover:border-zinc-300/90 dark:focus:border-zinc-300/90", "data-action" => "click->dropdown#toggle click@window->dropdown#hide", "data-dropdown-target" => "trigger"}
579
- %img.md:w-10.md:h-10.size-12.rounded-full.flex-shrink-0.select-none.pointer-events-none{alt: "Shepherd user", src: "https://randomuser.me/api/portraits/women/37.jpg"}/
580
- %ul.hidden.transition.transform.md:origin-top-right.origin-top-left.absolute.md:right-0.md:left-auto.right-auto.left-0.top-12.bg-white.rounded-lg.shadow-xl.border.border-zinc-300.z-50.py-2.dark:bg-zinc-900.text-base.font-normal.text-zinc-600.dark:text-zinc-200.font-heading{class: "shadow-zinc-900/10 w-[200px] dark:shadow-zinc-900/50 dark:border-zinc-500/60 md:text-[14px]", "data-railsui-dropdown-target" => "menu", "data-transition-enter-active" => "transition ease-out duration-300", "data-transition-enter-from" => "transform opacity-0 scale-95", "data-transition-enter-to" => "transform opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-300", "data-transition-leave-from" => "transform opacity-100 scale-100", "data-transition-leave-to" => "transform opacity-0 scale-95"}
581
- %li
582
- %a.md:py-1.py-2.px-4.hover:text-primary-600.focus:text-primary-600.w-full.group.text-zinc-600.dark:text-zinc-50.dark:hover:text-zinc-300.block{href: "#"} Inbox
583
- %li
584
- %a.md:py-1.py-2.px-4.hover:text-primary-600.focus:text-primary-600.w-full.group.text-zinc-600.dark:text-zinc-50.dark:hover:text-zinc-300.block{href: "#"} Manage properties
585
- %li
586
- %a.md:py-1.py-2.px-4.hover:text-primary-600.focus:text-primary-600.w-full.group.text-zinc-600.dark:text-zinc-50.dark:hover:text-zinc-300.block{href: "#"} Add booking
587
- %li.border-b{class: "border-zinc-300/80 dark:border-zinc-700/80 my-1.5"}
588
- %li
589
- %a.px-4.hover:text-primary-600.focus:text-primary-600.w-full.group.text-zinc-600.dark:text-zinc-50.dark:hover:text-zinc-300.font-light.text-sm.block.text-left{class: "py-1.5", href: "#"} Account
590
- %li
591
- %a.px-4.hover:text-primary-600.focus:text-primary-600.w-full.group.text-zinc-600.dark:text-zinc-50.dark:hover:text-zinc-300.font-light.text-sm.block.text-left{class: "py-1.5", href: "#"} Sign out
592
- <% end %>
593
505
 
594
506
  <% content_for :js, flush: true do %>
595
507
  // app/javascript/controllers/nav_controller.js
@@ -465,88 +465,6 @@
465
465
  </header>
466
466
  <% end %>
467
467
 
468
- <% content_for :haml, flush: true do %>
469
- %header.bg-white.dark:bg-zinc-900.px-4.md:py-2.py-3.border-b.rounded-t-xl.relative.z-50{class: "border-zinc-300/80 dark:border-zinc-700/80", "data-controller" => "nav"}
470
- .md:flex.items-center.justify-between
471
- .md:flex.items-center.md:space-x-4.md:flex-1
472
- .md:flex.items-center.justify-between.w-full.md:space-x-3
473
- .flex.items-center.justify-between.md:w-auto.w-full
474
- = link_to "#" do
475
- %h1
476
- = icon "logo", custom_path: "/railsui/logo.svg", class: "text-zinc-900 dark:text-white fill-current size-10"
477
- %span.sr-only Shepherd
478
- %button.md:hidden.flex.items-center.justify-center.size-12.rounded-full.focus:ring-4.focus:ring-zinc-50.focus:bg-white.focus:shadow-sm.group.dark:focus:bg-zinc-800.dark:focus:ring-zinc-600.dark:focus:shadow-sm{"data-action" => "click->nav#toggle", role: "Mobile navigation toggle", type: "button"}
479
- = icon "bars-3-center-left", class: "stroke-current size-8 text-zinc-500 group-focus:text-primary-500 dark:text-zinc-400 dark:group-focus:text-zinc-100"
480
- .origin-top.md:flex.items-center.hidden.w-full{"data-nav-target" => "nav", "data-transition-enter-active" => "transition ease-out duration-200", "data-transition-enter-from" => "opacity-0 scale-95", "data-transition-enter-to" => "opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-200", "data-transition-leave-from" => "opacity-100 scale-100", "data-transition-leave-to" => "opacity-0 scale-95"}
481
- %nav.flex-1{role: "primary navigation"}
482
- %ul.md:flex.items-center.md:space-y-0.space-y-4
483
- .flex-1.md:flex.items-center
484
- = nav_link_to "Nav link", "#"
485
- / Search start
486
- %li
487
- = form_tag url:"#" do
488
- = search_field_tag :query, class: "form-input", class: "form-input", placeholder: "Search"
489
- / Search end
490
- / Notifications start
491
- %li
492
- .md:flex.justify-end.md:flex-1.md:mr-4.mr-3.relative{"data-controller" => "railsui-dropdown"}
493
- %button.rounded-full.md:w-10.md:h-10.size-12.border-zinc-300.border.flex.items-center.justify-center.focus:border-zinc-400.focus:ring-4.focus:ring-zinc-100.dark:border-zinc-600.dark:focus:ring-zinc-700.dark:focus:border-zinc-400{class: "hover:border-zinc-400/80", "data-action" => "click->railsui-dropdown#toggle click@window->railsui-dropdown#hide", type: "button"}
494
- .relative
495
- = icon "bell", class: "text-zinc-500 md:w-5 md:h-5 size-6 group-hover:text-zinc-600 dark:group-hover:text-zinc-300 dark:text-zinc-400 stroke-current"
496
- %span.w-2.h-2.bg-red-500.rounded-full.hover:animate-pulse.absolute.top-0.right-0.z-20{class: "dark:bg-primary-500/95"}
497
- .origin-to-right.md:absolute.mt-2.ml-2.md:ml-0.md:mt-0.md:shadow-xl.divide-y.divide-zinc-300.text-left.dark:divide-zinc-700.hidden.transition.transform.md:origin-top-right.origin-top-left.absolute.right-0.top-12.bg-white.rounded-lg.shadow-xl.border.border-zinc-300.w-full.z-50.py-2.dark:bg-zinc-900.md:text-sm.text-base.font-medium.text-zinc-600.dark:text-zinc-200{class: "sm:w-[360px] md:min-w-[360px] shadow-zinc-900/10 md:w-[320px] dark:shadow-zinc-900/50 dark:border-zinc-500/60", "data-railsui-dropdown-target" => "menu", "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"}
498
- .px-4.py-3.md:py-2.flex.items-center.justify-between.group
499
- .flex-1
500
- .flex.items-start.gap-2
501
- = image_tag demo_avatar_url(id: "10", variant: "men"), class: "size-6 object-cover rounded-full flex-shrink-0 mt-1"
502
- .flex-1
503
- %p.truncate
504
- John D. replied to #{link_to "your comment", "#", class: "underline text-primary-600 hover:text-primary-700 dark:text-primary-500 dark:hover:text-primary-400"}
505
- %p.text-xs.text-zinc-500.dark:text-zinc-400 Just now
506
- %button.opacity-0.group-hover:opacity-100.transition.ease-in-out.duration-300.flex.items-center.justify-center.rounded-full.size-7.group.border.border-zinc-200.hover:border-zinc-300.focus:ring-4.dark:border-zinc-600{class: "hover:bg-zinc-50/50 focus:ring-zinc-100/75 bg-white/50 dark:bg-zinc-700/75 dark:focus:ring-zinc-100/10 dark:hover:bg-white/20"}
507
- = icon "x-mark", class: "size-3 text-zinc-600 group-hover:text-primary-600 dark:group-hover:text-zinc-100 dark:text-zinc-50 stroke-current"
508
- .px-4.py-3.md:py-2.flex.items-center.justify-between.group
509
- .flex-1
510
- .flex.items-start.gap-2
511
- = image_tag demo_avatar_url(id: "14", variant: "women"), class: "size-6 object-cover rounded-full flex-shrink-0 mt-1", alt: "Avatar"
512
- .flex-1
513
- %p
514
- Jane D. posted #{link_to "an update", "#", class: "underline text-primary-600 hover:text-primary-700 dark:text-primary-500 dark:hover:text-primary-400"}
515
- %p.text-xs.text-zinc-500.dark:text-zinc-400 15 mins ago
516
- %button.opacity-0.group-hover:opacity-100.transition.ease-in-out.duration-300.flex.items-center.justify-center.rounded-full.size-7.group.border.border-zinc-200.hover:border-zinc-300.focus:ring-4.dark:border-zinc-600{class: "hover:bg-zinc-50/50 focus:ring-zinc-100/75 bg-white/50 dark:bg-zinc-700/75 dark:focus:ring-zinc-100/10 dark:hover:bg-white/20"}
517
- = icon "x-mark", class: "size-3 text-zinc-600 group-hover:text-primary-600 dark:group-hover:text-zinc-100 dark:text-zinc-50 stroke-current"
518
- .px-4.py-3.md:py-2.flex.items-center.justify-between.group
519
- .flex-1
520
- .flex.items-start.gap-2
521
- = image_tag demo_avatar_url(id:"24", variant: "men"), class: "size-6 object-cover rounded-full flex-shrink-0 mt-1", alt: "Avatar"
522
- .flex-1
523
- %p
524
- Scotty P. shared #{link_to "a repository", "#", class:"underline text-primary-600 hover:text-primary-700 dark:text-primary-500 dark:hover:text-primary-400"}
525
- %p.text-xs.text-zinc-500.dark:text-zinc-400 2 hours ago
526
- %button.opacity-0.group-hover:opacity-100.transition.ease-in-out.duration-300.flex.items-center.justify-center.rounded-full.size-7.group.border.border-zinc-200.hover:border-zinc-300.focus:ring-4.dark:border-zinc-600{class: "hover:bg-zinc-50/50 focus:ring-zinc-100/75 bg-white/50 dark:bg-zinc-700/75 dark:focus:ring-zinc-100/10 dark:hover:bg-white/20"}
527
- = icon "x-mark", class: "size-3 text-zinc-600 group-hover:text-primary-600 dark:group-hover:text-zinc-100 dark:text-zinc-50 stroke-current"
528
- %div
529
- = link_to "#", class: "flex items-center justify-between group px-4 pt-3 pb-2 hover:text-primary-500 text-sm group text-zinc-500 dark:text-zinc-200 dark:hover:bg-zinc-800 dark:hover:text-white font-heading font-normal" do
530
- %span View all notifications
531
- = icon "chevron-right", class: "group-hover:translate-x-1 transform transition ease-in-out size-4 text-zinc-400 group-hover:text-primary-500 dark:group-hover:text-primary-200 stroke-current"
532
- / Notifications end
533
- %li
534
- .md:flex.relative{"data-controller" => "railsui-dropdown"}
535
- %button.rounded-full.md:w-10.md:h-10.size-12.border-zinc-300.border.flex.items-center.justify-center.focus:border-zinc-400.focus:ring-4.dark:border-zinc-600.dark:focus:ring-zinc-700{class: "focus:ring-zinc-200/80 hover:border-zinc-300/90 dark:focus:border-zinc-300/90", "data-action" => "click->railsui-dropdown#toggle click@window->dropdown#hide", "data-railsui-dropdown-target" => "trigger"}
536
- %img.md:w-10.md:h-10.size-12.rounded-full.flex-shrink-0.select-none.pointer-events-none{alt: "Shepherd user", src: "https://randomuser.me/api/portraits/men/7.jpg"}/
537
- %ul.hidden.transition.transform.md:origin-top-right.origin-top-left.absolute.md:right-0.md:left-auto.right-auto.left-0.top-12.bg-white.rounded-lg.shadow-xl.border.border-zinc-300.z-50.py-2.dark:bg-zinc-900.text-base.font-normal.text-zinc-600.dark:text-zinc-200.font-heading{class: "shadow-zinc-900/10 w-[200px] dark:shadow-zinc-900/50 dark:border-zinc-500/60 md:text-[14px]", "data-railsui-dropdown-target" => "menu", "data-transition-enter-active" => "transition ease-out duration-300", "data-transition-enter-from" => "transform opacity-0 scale-95", "data-transition-enter-to" => "transform opacity-100 scale-100", "data-transition-leave-active" => "transition ease-in duration-300", "data-transition-leave-from" => "transform opacity-100 scale-100", "data-transition-leave-to" => "transform opacity-0 scale-95"}
538
- %li
539
- = link_to "Inbox", "#", class: "md:py-1 py-2 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300 block"
540
- %li
541
- = link_to "Manage properties", "#", class: "md:py-1 py-2 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300 block"
542
- %li
543
- = link_to "Add booking", "#", class: "md:py-1 py-2 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300 block"
544
- %li.border-b{class: "border-zinc-300/80 dark:border-zinc-700/80 my-1.5"}
545
- %li
546
- = link_to "Account", "#", class: "py-1.5 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300 font-light text-sm block text-left"
547
- %li
548
- = link_to "Sign out", "#", class: "py-1.5 px-4 hover:text-primary-600 focus:text-primary-600 w-full group text-zinc-600 dark:text-zinc-50 dark:hover:text-zinc-300 font-light text-sm block text-left"
549
- <% end %>
550
468
 
551
469
  <% content_for :js, flush: true do %>
552
470
  // app/javascript/controllers/nav_controller.js
@@ -573,7 +491,7 @@ export default class extends Controller {
573
491
  }
574
492
  <% end %>
575
493
 
576
- <%= render_snippet(html_filename: "nav.html", erb_filename: "_nav.html.erb", haml_filename: "_nav.haml.erb", js_filename: "nav_controller.js") %>
494
+ <%= render_snippet(html_filename: "nav.html", erb_filename: "_nav.html.erb", js_filename: "nav_controller.js") %>
577
495
  <% end %>
578
496
  <% end %>
579
497
  </div>
@@ -125,37 +125,6 @@
125
125
  </div>
126
126
  <% end %>
127
127
 
128
- <% content_for :haml, flush: true do %>
129
- .flex.flex-wrap.md:justify-between.justify-center.items-center.space-y-2
130
- %p.text-zinc-600.dark:text-zinc-200.text-sm.block.w-full.md:w-auto.md:text-left.text-center
131
- Viewing page
132
- %strong 1
133
- with
134
- %strong 24
135
- results per page
136
- %nav.text-zinc-600.dark:text-zinc-200.text-base.w-auto.flex.font-medium{"aria-label" => "Page navgiation", class: "md:text-sm"}
137
- %ul.flex.flex-wrap.items-center.justify-center.w-auto.divide-x.divide-zinc-300{class: "dark:divide-zinc-600/80"}
138
- %li.flex.justify-start.items-center
139
- %a.bg-white.rounded-l-xl.flex.items-center.justify-center.border-l.border-y.border-zinc-300.hover:bg-zinc-50.dark:bg-zinc-800.dark:hover:bg-zinc-700.dark:border-zinc-600.font-heading.w-10.h-10.group{href: "#"}
140
- = icon "chevron-left", class: "size-5 text-zinc-400 group-hover:text-primary-500 dark:group-hover:text-zinc-200", title: "Previous"
141
- %li
142
- = link_to "1", "#", class: "bg-primary-500 border-primary-500 text-white flex items-center justify-center hover:bg-primary-600 dark:bg-zinc-800 dark:hover:bg-zinc-700 dark:border-zinc-600 size-10"
143
- %li
144
- = link_to "2", "#", class: "bg-white flex items-center justify-center border-y border-zinc-300 hover:bg-zinc-50 dark:bg-zinc-800 dark:hover:bg-zinc-700 dark:border-zinc-600 size-10"
145
- %li
146
- = link_to "3", "#", class: "bg-white flex items-center justify-center border-y border-zinc-300 hover:bg-zinc-50 dark:bg-zinc-800 dark:hover:bg-zinc-700 dark:border-zinc-600 size-10"
147
- %li.md:block.hidden
148
- %span.bg-white.flex.items-center.justify-center.border-y.border-zinc-300.hover:bg-zinc-50.dark:bg-zinc-800.dark:hover:bg-zinc-700.dark:border-zinc-600.font-heading.w-10.h-10 …
149
- %li
150
- = link_to "8", "#", class: "bg-white flex items-center justify-center border-y border-zinc-300 hover:bg-zinc-50 dark:bg-zinc-800 dark:hover:bg-zinc-700 dark:border-zinc-600 size-10"
151
- %li
152
- = link_to "9", "#", class: "bg-white flex items-center justify-center border-y border-zinc-300 hover:bg-zinc-50 dark:bg-zinc-800 dark:hover:bg-zinc-700 dark:border-zinc-600 size-10"
153
- %li
154
- = link_to "10", "#", class: "bg-white flex items-center justify-center border-y border-zinc-300 hover:bg-zinc-50 dark:bg-zinc-800 dark:hover:bg-zinc-700 dark:border-zinc-600 size-10"
155
- %li.flex.justify-end.items-center
156
- = link_to "#", class: "bg-white flex justify-center items-center rounded-r-xl hover:bg-zinc-50 group hover:text-primary-600 border-y border-r border-zinc-300 dark:bg-zinc-800 dark:hover:bg-zinc-700 dark:border-zinc-600 size-10 text-center" do
157
- = icon "chevron-right", class: "size-5 text-zinc-400 group-hover:text-primary-500 dark:group-hover:text-zinc-200", title: "Next"
158
- <% end %>
159
128
  <%= render_snippet %>
160
129
  <% end %>
161
130
  <% end %>
@@ -124,37 +124,6 @@
124
124
  </div>
125
125
  <% end %>
126
126
 
127
- <%= content_for :haml, flush: true do %>
128
- .flex.flex-wrap.md:justify-between.justify-center.items-center.space-y-2
129
- %p.text-zinc-100.text-sm.block.w-full.md:w-auto.md:text-left.text-center
130
- Viewing page
131
- %strong 1
132
- with
133
- %strong 24
134
- results per page
135
- %nav.text-zinc-100.md:text-sm.font-medium.text-base.w-auto.flex{"aria-label" => "Page navgiation"}
136
- %ul.flex.flex-wrap.items-center.justify-center.w-auto
137
- %li.flex.justify-start.items-center
138
- = link_to "#", class: "bg-zinc-800 flex justify-center items-center rounded-l-xl size-10 hover:bg-zinc-700 group hover:text-primary-600 border-zinc-700" do
139
- = icon "arrow-small-left", class: "size-5 text-white/50 group-hover:text-zinc-200", title: "Previous"
140
- %li
141
- = link_to "1", "#", class: "flex items-center justify-center size-10 bg-primary-500 text-white hover:bg-primary-600 border-primary-600 hover:border-primary-600 shadow-inner"
142
- %li
143
- = link_to "2", "#", class: "bg-zinc-800 flex items-center justify-center size-10 hover:bg-zinc-700"
144
- %li
145
- = link_to "3", "#", class: "bg-zinc-800 flex items-center justify-center size-10 hover:bg-zinc-700"
146
- %li.md:block.hidden
147
- %span.bg-zinc-800.flex.items-center.justify-center.w-10.h-10.select-none.pointer-events-none …
148
- %li
149
- = link_to "8", "#", class: "bg-zinc-800 flex items-center justify-center size-10 hover:bg-zinc-700"
150
- %li
151
- = link_to "9", "#", class: "bg-zinc-800 flex items-center justify-center size-10 hover:bg-zinc-700"
152
- %li
153
- = link_to "10", "#", class: "bg-zinc-800 flex items-center justify-center size-10 hover:bg-zinc-700"
154
- %li.flex.justify-end.items-center
155
- = link_to "#", class: "bg-zinc-800 rounded-r-xl hover:bg-zinc-700 group hover:text-primary-600 flex items-center justify-center size-10" do
156
- = icon "arrow-small-right", class: "size-5 text-white/50 group-hover:text-zinc-200", title: "Next"
157
- <% end %>
158
127
  <%= render_snippet %>
159
128
  <% end %>
160
129
  <% end %>