railsui 3.1.5 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.claude/settings.local.json +10 -0
- data/Gemfile.lock +29 -27
- data/README.md +1 -1
- data/app/assets/images/tailwind-corgie-thumbnail.jpg +0 -0
- data/app/assets/stylesheets/railsui/railsui.css +18 -0
- data/app/helpers/railsui/application_helper.rb +22 -17
- data/app/helpers/railsui/host_route_fallback_helper.rb +18 -0
- data/app/javascript/controllers/alert_controller.js +0 -0
- data/app/models/railsui/default.rb +28 -109
- data/app/views/railsui/admin/fields/_color.html.erb +6 -1
- data/app/views/railsui/admin/fields/_theme.html.erb +16 -8
- data/app/views/railsui/shared/_flash_messages.html.erb +2 -2
- data/app/views/railsui/shared/_full_access_cta.html.erb +27 -0
- data/app/views/railsui/shared/_preview.html.erb +1 -1
- data/app/views/railsui/shared/_rui_email_preview.html.erb +60 -3
- data/app/views/railsui/systems/forms/form_builder.html.erb +171 -0
- data/app/views/railsui/themes/corgie/_components.html.erb +7 -0
- data/app/views/railsui/themes/corgie/_content.html.erb +9 -0
- data/app/views/railsui/themes/corgie/_fonts.html.erb +0 -0
- data/app/views/railsui/themes/corgie/_forms.html.erb +19 -0
- data/app/views/railsui/themes/corgie/_icons.html.erb +125 -0
- data/app/views/railsui/themes/corgie/_nav.html.erb +166 -0
- data/app/views/railsui/themes/corgie/_scaffolds.html.erb +42 -0
- data/app/views/railsui/themes/corgie/authentication/_overview.html.erb +5 -0
- data/app/views/railsui/themes/corgie/authentication/devise/_change_password.html.erb +74 -0
- data/app/views/railsui/themes/corgie/authentication/devise/_confirmation.html.erb +63 -0
- data/app/views/railsui/themes/corgie/authentication/devise/_edit.html.erb +103 -0
- data/app/views/railsui/themes/corgie/authentication/devise/_overview.html.erb +225 -0
- data/app/views/railsui/themes/corgie/authentication/devise/_reset_password.html.erb +60 -0
- data/app/views/railsui/themes/corgie/authentication/devise/_signin.html.erb +93 -0
- data/app/views/railsui/themes/corgie/authentication/devise/_signup.html.erb +98 -0
- data/app/views/railsui/themes/corgie/authentication/devise/_unlocks.html.erb +60 -0
- data/app/views/railsui/themes/corgie/authentication/static/_change_password.html.erb +67 -0
- data/app/views/railsui/themes/corgie/authentication/static/_confirmation.html.erb +58 -0
- data/app/views/railsui/themes/corgie/authentication/static/_overview.html.erb +204 -0
- data/app/views/railsui/themes/corgie/authentication/static/_reset_password.html.erb +59 -0
- data/app/views/railsui/themes/corgie/authentication/static/_signin.html.erb +102 -0
- data/app/views/railsui/themes/corgie/authentication/static/_signup.html.erb +108 -0
- data/app/views/railsui/themes/corgie/authentication/static/_unlocks.html.erb +60 -0
- data/app/views/railsui/themes/corgie/components/_accordion.html.erb +17 -0
- data/app/views/railsui/themes/corgie/components/_alert.html.erb +23 -0
- data/app/views/railsui/themes/corgie/components/_avatar.html.erb +13 -0
- data/app/views/railsui/themes/corgie/components/_badge.html.erb +20 -0
- data/app/views/railsui/themes/corgie/components/_breadcrumb.html.erb +14 -0
- data/app/views/railsui/themes/corgie/components/_button.html.erb +16 -0
- data/app/views/railsui/themes/corgie/components/_card.html.erb +23 -0
- data/app/views/railsui/themes/corgie/components/_combobox.html.erb +11 -0
- data/app/views/railsui/themes/corgie/components/_dropdown.html.erb +22 -0
- data/app/views/railsui/themes/corgie/components/_flash.html.erb +17 -0
- data/app/views/railsui/themes/corgie/components/_modal.html.erb +27 -0
- data/app/views/railsui/themes/corgie/components/_navigation.html.erb +7 -0
- data/app/views/railsui/themes/corgie/components/_pagination.html.erb +15 -0
- data/app/views/railsui/themes/corgie/components/_tab.html.erb +23 -0
- data/app/views/railsui/themes/corgie/components/_toast.html.erb +75 -0
- data/app/views/railsui/themes/corgie/components/_tooltip.html.erb +77 -0
- data/app/views/railsui/themes/corgie/components/accordion/_contained.html.erb +90 -0
- data/app/views/railsui/themes/corgie/components/accordion/_flush.html.erb +92 -0
- data/app/views/railsui/themes/corgie/components/alert/_dismissable.html.erb +45 -0
- data/app/views/railsui/themes/corgie/components/alert/_with_accent_border.html.erb +32 -0
- data/app/views/railsui/themes/corgie/components/alert/_with_actions.html.erb +57 -0
- data/app/views/railsui/themes/corgie/components/alert/_with_description.html.erb +41 -0
- data/app/views/railsui/themes/corgie/components/alert/_with_list.html.erb +46 -0
- data/app/views/railsui/themes/corgie/components/avatar/_circle.html.erb +53 -0
- data/app/views/railsui/themes/corgie/components/avatar/_rounded.html.erb +53 -0
- data/app/views/railsui/themes/corgie/components/badge/_basic.html.erb +70 -0
- data/app/views/railsui/themes/corgie/components/badge/_outline.html.erb +67 -0
- data/app/views/railsui/themes/corgie/components/badge/_pill.html.erb +67 -0
- data/app/views/railsui/themes/corgie/components/badge/_tag.html.erb +277 -0
- data/app/views/railsui/themes/corgie/components/breadcrumb/_article.html.erb +88 -0
- data/app/views/railsui/themes/corgie/components/breadcrumb/_base.html.erb +77 -0
- data/app/views/railsui/themes/corgie/components/button/_base.html.erb +38 -0
- data/app/views/railsui/themes/corgie/components/button/_expanded.html.erb +24 -0
- data/app/views/railsui/themes/corgie/components/button/_sizes.html.erb +31 -0
- data/app/views/railsui/themes/corgie/components/card/_article.html.erb +119 -0
- data/app/views/railsui/themes/corgie/components/card/_base.html.erb +34 -0
- data/app/views/railsui/themes/corgie/components/card/_feature.html.erb +54 -0
- data/app/views/railsui/themes/corgie/components/card/_team_member.html.erb +60 -0
- data/app/views/railsui/themes/corgie/components/card/_value.html.erb +54 -0
- data/app/views/railsui/themes/corgie/components/combobox/_base.html.erb +250 -0
- data/app/views/railsui/themes/corgie/components/dropdown/_base.html.erb +61 -0
- data/app/views/railsui/themes/corgie/components/dropdown/_dropdown.html.erb +24 -0
- data/app/views/railsui/themes/corgie/components/dropdown/_dropdown_w_icon.html.erb +27 -0
- data/app/views/railsui/themes/corgie/components/dropdown/_right_aligned.html.erb +82 -0
- data/app/views/railsui/themes/corgie/components/dropdown/_with_dividers.html.erb +93 -0
- data/app/views/railsui/themes/corgie/components/dropdown/_with_icons.html.erb +85 -0
- data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_1.html.erb +44 -0
- data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_2.html.erb +16 -0
- data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_3.html.erb +16 -0
- data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_4.html.erb +27 -0
- data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_dependencies.html.erb +3 -0
- data/app/views/railsui/themes/corgie/components/dropdown/tutorial/_tutorial.html.erb +25 -0
- data/app/views/railsui/themes/corgie/components/flash/_alert.html.erb +29 -0
- data/app/views/railsui/themes/corgie/components/flash/_dynamic.html.erb +46 -0
- data/app/views/railsui/themes/corgie/components/flash/_notice.html.erb +29 -0
- data/app/views/railsui/themes/corgie/components/modal/_base.html.erb +110 -0
- data/app/views/railsui/themes/corgie/components/modal/_centered_dual_action.html.erb +124 -0
- data/app/views/railsui/themes/corgie/components/modal/_dismiss_icon.html.erb +124 -0
- data/app/views/railsui/themes/corgie/components/modal/_settings.html.erb +201 -0
- data/app/views/railsui/themes/corgie/components/modal/_single_action.html.erb +119 -0
- data/app/views/railsui/themes/corgie/components/modal/_with_form.html.erb +148 -0
- data/app/views/railsui/themes/corgie/components/navigation/_base.html.erb +215 -0
- data/app/views/railsui/themes/corgie/components/navigation/_chat.html.erb +194 -0
- data/app/views/railsui/themes/corgie/components/navigation/_nav_preview.html.erb +9 -0
- data/app/views/railsui/themes/corgie/components/pagination/_contained.html.erb +131 -0
- data/app/views/railsui/themes/corgie/components/pagination/_pagy.html.erb +97 -0
- data/app/views/railsui/themes/corgie/components/pagination/_simple.html.erb +114 -0
- data/app/views/railsui/themes/corgie/components/tab/_base.html.erb +101 -0
- data/app/views/railsui/themes/corgie/components/tab/_pills.html.erb +102 -0
- data/app/views/railsui/themes/corgie/components/tab/_rounded.html.erb +104 -0
- data/app/views/railsui/themes/corgie/components/tab/_vertical.html.erb +145 -0
- data/app/views/railsui/themes/corgie/components/tab/_with_icons.html.erb +138 -0
- data/app/views/railsui/themes/corgie/components/toast/_base.html.erb +98 -0
- data/app/views/railsui/themes/corgie/components/tooltip/_base.html.erb +51 -0
- data/app/views/railsui/themes/corgie/content/_image.html.erb +31 -0
- data/app/views/railsui/themes/corgie/content/_table.html.erb +21 -0
- data/app/views/railsui/themes/corgie/content/_typography.html.erb +47 -0
- data/app/views/railsui/themes/corgie/content/image/_object_contain.html.erb +31 -0
- data/app/views/railsui/themes/corgie/content/image/_object_cover.html.erb +32 -0
- data/app/views/railsui/themes/corgie/content/image/_object_fill.html.erb +32 -0
- data/app/views/railsui/themes/corgie/content/image/_object_scale_down.html.erb +34 -0
- data/app/views/railsui/themes/corgie/content/image/_responsive.html.erb +24 -0
- data/app/views/railsui/themes/corgie/content/table/_bordered.html.erb +93 -0
- data/app/views/railsui/themes/corgie/content/table/_borderless.html.erb +92 -0
- data/app/views/railsui/themes/corgie/content/table/_comparison.html.erb +494 -0
- data/app/views/railsui/themes/corgie/content/typography/_blockquote.html.erb +41 -0
- data/app/views/railsui/themes/corgie/content/typography/_display_headings.html.erb +70 -0
- data/app/views/railsui/themes/corgie/content/typography/_fonts.html.erb +30 -0
- data/app/views/railsui/themes/corgie/content/typography/_headings.html.erb +88 -0
- data/app/views/railsui/themes/corgie/content/typography/_inline_formatting.html.erb +44 -0
- data/app/views/railsui/themes/corgie/content/typography/_lead_paragraph.html.erb +26 -0
- data/app/views/railsui/themes/corgie/content/typography/_lists.html.erb +82 -0
- data/app/views/railsui/themes/corgie/content/typography/_paragraphs.html.erb +33 -0
- data/app/views/railsui/themes/corgie/forms/_action_text.html.erb +54 -0
- data/app/views/railsui/themes/corgie/forms/_checkbox.html.erb +60 -0
- data/app/views/railsui/themes/corgie/forms/_form_builder.html.erb +487 -0
- data/app/views/railsui/themes/corgie/forms/_input.html.erb +378 -0
- data/app/views/railsui/themes/corgie/forms/_input_group.html.erb +485 -0
- data/app/views/railsui/themes/corgie/forms/_radio.html.erb +92 -0
- data/app/views/railsui/themes/corgie/forms/_select.html.erb +118 -0
- data/app/views/railsui/themes/corgie/forms/_switch.html.erb +60 -0
- data/app/views/railsui/themes/corgie/forms/_validation.html.erb +52 -0
- data/app/views/railsui/themes/corgie/mailers/_devise.html.erb +44 -0
- data/app/views/railsui/themes/corgie/mailers/_layout.html.erb +536 -0
- data/app/views/railsui/themes/corgie/mailers/_mailer_preview.html.erb +523 -0
- data/app/views/railsui/themes/corgie/mailers/_minimal.html.erb +63 -0
- data/app/views/railsui/themes/corgie/mailers/_promotion.html.erb +62 -0
- data/app/views/railsui/themes/corgie/mailers/_transactional.html.erb +133 -0
- data/app/views/railsui/themes/corgie/mailers/devise/_confirmation_instructions.html.erb +34 -0
- data/app/views/railsui/themes/corgie/mailers/devise/_email_changed.html.erb +32 -0
- data/app/views/railsui/themes/corgie/mailers/devise/_password_changed.html.erb +25 -0
- data/app/views/railsui/themes/corgie/mailers/devise/_reset_password_instructions.html.erb +33 -0
- data/app/views/railsui/themes/corgie/mailers/devise/_unlock_instructions.html.erb +32 -0
- data/app/views/railsui/themes/corgie/scaffolds/_edit.html.erb +88 -0
- data/app/views/railsui/themes/corgie/scaffolds/_index.html.erb +88 -0
- data/app/views/railsui/themes/corgie/scaffolds/_new.html.erb +80 -0
- data/app/views/railsui/themes/corgie/scaffolds/_partial.html.erb +56 -0
- data/app/views/railsui/themes/corgie/scaffolds/_show.html.erb +85 -0
- data/app/views/railsui/themes/hound/_forms.html.erb +2 -0
- data/app/views/railsui/themes/hound/_nav.html.erb +2 -0
- data/app/views/railsui/themes/hound/authentication/devise/_change_password.html.erb +1 -27
- data/app/views/railsui/themes/hound/authentication/devise/_confirmation.html.erb +1 -20
- data/app/views/railsui/themes/hound/authentication/devise/_edit.html.erb +1 -44
- data/app/views/railsui/themes/hound/authentication/devise/_overview.html.erb +3 -51
- data/app/views/railsui/themes/hound/authentication/devise/_reset_password.html.erb +1 -17
- data/app/views/railsui/themes/hound/authentication/devise/_signin.html.erb +1 -30
- data/app/views/railsui/themes/hound/authentication/devise/_signup.html.erb +1 -31
- data/app/views/railsui/themes/hound/authentication/devise/_unlocks.html.erb +1 -17
- data/app/views/railsui/themes/hound/authentication/static/_change_password.html.erb +1 -32
- data/app/views/railsui/themes/hound/authentication/static/_confirmation.html.erb +1 -23
- data/app/views/railsui/themes/hound/authentication/static/_edit.html.erb +1 -39
- data/app/views/railsui/themes/hound/authentication/static/_overview.html.erb +2 -40
- data/app/views/railsui/themes/hound/authentication/static/_reset_password.html.erb +1 -22
- data/app/views/railsui/themes/hound/authentication/static/_signin.html.erb +1 -35
- data/app/views/railsui/themes/hound/authentication/static/_signup.html.erb +1 -31
- data/app/views/railsui/themes/hound/authentication/static/_unlocks.html.erb +1 -20
- data/app/views/railsui/themes/hound/components/_toast.html.erb +0 -3
- data/app/views/railsui/themes/hound/components/accordion/_contained.html.erb +0 -27
- data/app/views/railsui/themes/hound/components/accordion/_flush.html.erb +0 -27
- data/app/views/railsui/themes/hound/components/alert/_dismissable.html.erb +0 -8
- data/app/views/railsui/themes/hound/components/alert/_with_accent_border.html.erb +0 -7
- data/app/views/railsui/themes/hound/components/alert/_with_actions.html.erb +0 -11
- data/app/views/railsui/themes/hound/components/alert/_with_description.html.erb +0 -7
- data/app/views/railsui/themes/hound/components/alert/_with_list.html.erb +0 -8
- data/app/views/railsui/themes/hound/components/avatar/_circle.html.erb +0 -12
- data/app/views/railsui/themes/hound/components/avatar/_rounded.html.erb +0 -12
- data/app/views/railsui/themes/hound/components/badge/_basic.html.erb +0 -22
- data/app/views/railsui/themes/hound/components/badge/_outline.html.erb +0 -22
- data/app/views/railsui/themes/hound/components/badge/_pill.html.erb +0 -22
- data/app/views/railsui/themes/hound/components/badge/_tag.html.erb +0 -52
- data/app/views/railsui/themes/hound/components/breadcrumb/_base.html.erb +0 -14
- data/app/views/railsui/themes/hound/components/breadcrumb/_contained.html.erb +0 -14
- data/app/views/railsui/themes/hound/components/button/_base.html.erb +0 -10
- data/app/views/railsui/themes/hound/components/button/_expanded.html.erb +0 -3
- data/app/views/railsui/themes/hound/components/button/_sizes.html.erb +0 -5
- data/app/views/railsui/themes/hound/components/card/_base.html.erb +0 -6
- data/app/views/railsui/themes/hound/components/card/_user_card.html.erb +0 -13
- data/app/views/railsui/themes/hound/components/card/_user_card_dropdown.html.erb +0 -20
- data/app/views/railsui/themes/hound/components/card/_user_card_with_actions.html.erb +0 -18
- data/app/views/railsui/themes/hound/components/card/_with_action.html.erb +0 -13
- data/app/views/railsui/themes/hound/components/card/_with_header.html.erb +0 -43
- data/app/views/railsui/themes/hound/components/combobox/_base.html.erb +0 -40
- data/app/views/railsui/themes/hound/components/dropdown/_base.html.erb +0 -10
- data/app/views/railsui/themes/hound/components/dropdown/_right_aligned.html.erb +0 -14
- data/app/views/railsui/themes/hound/components/dropdown/_with_dividers.html.erb +0 -14
- data/app/views/railsui/themes/hound/components/dropdown/_with_icons.html.erb +0 -20
- data/app/views/railsui/themes/hound/components/flash/_alert.html.erb +0 -5
- data/app/views/railsui/themes/hound/components/flash/_dynamic.html.erb +0 -5
- data/app/views/railsui/themes/hound/components/flash/_notice.html.erb +0 -5
- data/app/views/railsui/themes/hound/components/modal/_base.html.erb +0 -13
- data/app/views/railsui/themes/hound/components/modal/_centered_dual_action.html.erb +0 -16
- data/app/views/railsui/themes/hound/components/modal/_dismiss_icon.html.erb +0 -20
- data/app/views/railsui/themes/hound/components/modal/_single_action.html.erb +0 -15
- data/app/views/railsui/themes/hound/components/modal/_with_form.html.erb +0 -23
- data/app/views/railsui/themes/hound/components/navigation/_base.html.erb +1 -41
- data/app/views/railsui/themes/hound/components/navigation/_with_action.html.erb +1 -38
- data/app/views/railsui/themes/hound/components/navigation/_with_dropdowns.html.erb +1 -105
- data/app/views/railsui/themes/hound/components/navigation/_with_search.html.erb +1 -41
- data/app/views/railsui/themes/hound/components/pagination/_contained.html.erb +0 -31
- data/app/views/railsui/themes/hound/components/pagination/_minimal.html.erb +0 -27
- data/app/views/railsui/themes/hound/components/pagination/_pagy.html.erb +47 -72
- data/app/views/railsui/themes/hound/components/tab/_base.html.erb +1 -18
- data/app/views/railsui/themes/hound/components/tab/_pills.html.erb +1 -18
- data/app/views/railsui/themes/hound/components/tab/_rounded.html.erb +1 -18
- data/app/views/railsui/themes/hound/components/tab/_with_icons.html.erb +1 -26
- data/app/views/railsui/themes/hound/components/toast/_base.html.erb +0 -16
- data/app/views/railsui/themes/hound/components/tooltip/_base.html.erb +0 -3
- data/app/views/railsui/themes/hound/content/image/_object_contain.html.erb +0 -5
- data/app/views/railsui/themes/hound/content/image/_object_cover.html.erb +0 -5
- data/app/views/railsui/themes/hound/content/image/_object_fill.html.erb +0 -5
- data/app/views/railsui/themes/hound/content/image/_object_scale_down.html.erb +0 -5
- data/app/views/railsui/themes/hound/content/image/_responsive.html.erb +0 -4
- data/app/views/railsui/themes/hound/content/table/_bordered.html.erb +0 -21
- data/app/views/railsui/themes/hound/content/table/_borderless.html.erb +0 -21
- data/app/views/railsui/themes/hound/content/typography/_blockquote.html.erb +0 -9
- data/app/views/railsui/themes/hound/content/typography/_display_headings.html.erb +0 -9
- data/app/views/railsui/themes/hound/content/typography/_headings.html.erb +0 -12
- data/app/views/railsui/themes/hound/content/typography/_inline_formatting.html.erb +0 -20
- data/app/views/railsui/themes/hound/content/typography/_lead_paragraph.html.erb +0 -5
- data/app/views/railsui/themes/hound/content/typography/_lists.html.erb +0 -17
- data/app/views/railsui/themes/hound/content/typography/_paragraphs.html.erb +0 -4
- data/app/views/railsui/themes/hound/forms/_action_text.html.erb +0 -6
- data/app/views/railsui/themes/hound/forms/_checkbox.html.erb +0 -9
- data/app/views/railsui/themes/hound/forms/_form_builder.html.erb +487 -0
- data/app/views/railsui/themes/hound/forms/_input.html.erb +0 -93
- data/app/views/railsui/themes/hound/forms/_input_group.html.erb +0 -83
- data/app/views/railsui/themes/hound/forms/_radio.html.erb +0 -13
- data/app/views/railsui/themes/hound/forms/_select.html.erb +0 -16
- data/app/views/railsui/themes/hound/forms/_switch.html.erb +0 -9
- data/app/views/railsui/themes/hound/forms/_validation.html.erb +0 -15
- data/app/views/railsui/themes/hound/mailers/_layout.html.erb +1 -432
- data/app/views/railsui/themes/hound/mailers/_minimal.html.erb +1 -16
- data/app/views/railsui/themes/hound/mailers/_promotion.html.erb +1 -20
- data/app/views/railsui/themes/hound/mailers/_transactional.html.erb +1 -43
- data/app/views/railsui/themes/hound/mailers/devise/_confirmation_instructions.html.erb +1 -9
- data/app/views/railsui/themes/hound/mailers/devise/_email_changed.html.erb +1 -13
- data/app/views/railsui/themes/hound/mailers/devise/_password_changed.html.erb +1 -7
- data/app/views/railsui/themes/hound/mailers/devise/_reset_password_instructions.html.erb +1 -9
- data/app/views/railsui/themes/hound/mailers/devise/_unlock_instructions.html.erb +1 -9
- data/app/views/railsui/themes/hound/scaffolds/_edit.html.erb +1 -19
- data/app/views/railsui/themes/hound/scaffolds/_index.html.erb +1 -14
- data/app/views/railsui/themes/hound/scaffolds/_new.html.erb +1 -17
- data/app/views/railsui/themes/hound/scaffolds/_partial.html.erb +1 -17
- data/app/views/railsui/themes/hound/scaffolds/_show.html.erb +1 -20
- data/app/views/railsui/themes/shepherd/_forms.html.erb +5 -3
- data/app/views/railsui/themes/shepherd/_nav.html.erb +2 -0
- data/app/views/railsui/themes/shepherd/authentication/devise/_change_password.html.erb +1 -23
- data/app/views/railsui/themes/shepherd/authentication/devise/_confirmation.html.erb +1 -12
- data/app/views/railsui/themes/shepherd/authentication/devise/_edit.html.erb +1 -74
- data/app/views/railsui/themes/shepherd/authentication/devise/_overview.html.erb +2 -57
- data/app/views/railsui/themes/shepherd/authentication/devise/_reset_password.html.erb +1 -12
- data/app/views/railsui/themes/shepherd/authentication/devise/_signin.html.erb +1 -25
- data/app/views/railsui/themes/shepherd/authentication/devise/_signup.html.erb +1 -26
- data/app/views/railsui/themes/shepherd/authentication/devise/_unlocks.html.erb +1 -12
- data/app/views/railsui/themes/shepherd/authentication/static/_change_password.html.erb +1 -23
- data/app/views/railsui/themes/shepherd/authentication/static/_confirmation.html.erb +1 -12
- data/app/views/railsui/themes/shepherd/authentication/static/_edit.html.erb +1 -67
- data/app/views/railsui/themes/shepherd/authentication/static/_overview.html.erb +1 -56
- data/app/views/railsui/themes/shepherd/authentication/static/_reset_password.html.erb +1 -12
- data/app/views/railsui/themes/shepherd/authentication/static/_signin.html.erb +1 -24
- data/app/views/railsui/themes/shepherd/authentication/static/_signup.html.erb +1 -26
- data/app/views/railsui/themes/shepherd/authentication/static/_unlocks.html.erb +1 -16
- data/app/views/railsui/themes/shepherd/components/_toast.html.erb +0 -3
- data/app/views/railsui/themes/shepherd/components/accordion/_contained.html.erb +0 -28
- data/app/views/railsui/themes/shepherd/components/accordion/_flush.html.erb +0 -27
- data/app/views/railsui/themes/shepherd/components/alert/_dismissable.html.erb +0 -8
- data/app/views/railsui/themes/shepherd/components/alert/_with_accent_border.html.erb +0 -6
- data/app/views/railsui/themes/shepherd/components/alert/_with_actions.html.erb +0 -11
- data/app/views/railsui/themes/shepherd/components/alert/_with_description.html.erb +0 -7
- data/app/views/railsui/themes/shepherd/components/alert/_with_list.html.erb +0 -8
- data/app/views/railsui/themes/shepherd/components/avatar/_circle.html.erb +0 -12
- data/app/views/railsui/themes/shepherd/components/avatar/_rounded.html.erb +0 -12
- data/app/views/railsui/themes/shepherd/components/badge/_basic.html.erb +0 -22
- data/app/views/railsui/themes/shepherd/components/badge/_outline.html.erb +0 -22
- data/app/views/railsui/themes/shepherd/components/badge/_pill.html.erb +0 -22
- data/app/views/railsui/themes/shepherd/components/badge/_tag.html.erb +0 -52
- data/app/views/railsui/themes/shepherd/components/breadcrumb/_base.html.erb +0 -14
- data/app/views/railsui/themes/shepherd/components/breadcrumb/_contained.html.erb +0 -14
- data/app/views/railsui/themes/shepherd/components/button/_base.html.erb +0 -17
- data/app/views/railsui/themes/shepherd/components/button/_expanded.html.erb +0 -3
- data/app/views/railsui/themes/shepherd/components/button/_sizes.html.erb +0 -5
- data/app/views/railsui/themes/shepherd/components/card/_base.html.erb +0 -6
- data/app/views/railsui/themes/shepherd/components/card/_property_card.html.erb +0 -28
- data/app/views/railsui/themes/shepherd/components/card/_property_user_card.html.erb +0 -14
- data/app/views/railsui/themes/shepherd/components/card/_user_card_with_actions.html.erb +0 -12
- data/app/views/railsui/themes/shepherd/components/card/_with_action.html.erb +0 -7
- data/app/views/railsui/themes/shepherd/components/card/_with_header.html.erb +0 -7
- data/app/views/railsui/themes/shepherd/components/combobox/_base.html.erb +0 -40
- data/app/views/railsui/themes/shepherd/components/datalist/_booking_list.html.erb +0 -45
- data/app/views/railsui/themes/shepherd/components/datalist/_property_list.html.erb +0 -47
- data/app/views/railsui/themes/shepherd/components/dropdown/_base.html.erb +0 -10
- data/app/views/railsui/themes/shepherd/components/dropdown/_right_aligned.html.erb +0 -13
- data/app/views/railsui/themes/shepherd/components/dropdown/_with_dividers.html.erb +0 -14
- data/app/views/railsui/themes/shepherd/components/dropdown/_with_menu_icons.html.erb +0 -16
- data/app/views/railsui/themes/shepherd/components/flash/_alert.html.erb +0 -5
- data/app/views/railsui/themes/shepherd/components/flash/_dynamic.html.erb +0 -5
- data/app/views/railsui/themes/shepherd/components/flash/_notice.html.erb +0 -5
- data/app/views/railsui/themes/shepherd/components/modal/_base.html.erb +0 -12
- data/app/views/railsui/themes/shepherd/components/modal/_centered_dual_action.html.erb +0 -16
- data/app/views/railsui/themes/shepherd/components/modal/_dismiss_icon.html.erb +0 -23
- data/app/views/railsui/themes/shepherd/components/modal/_single_action.html.erb +0 -14
- data/app/views/railsui/themes/shepherd/components/modal/_with_form.html.erb +0 -23
- data/app/views/railsui/themes/shepherd/components/navigation/_base.html.erb +0 -81
- data/app/views/railsui/themes/shepherd/components/navigation/_logged_out.html.erb +0 -22
- data/app/views/railsui/themes/shepherd/components/navigation/_with_dropdowns.html.erb +0 -88
- data/app/views/railsui/themes/shepherd/components/navigation/_with_search.html.erb +1 -83
- data/app/views/railsui/themes/shepherd/components/pagination/_contained.html.erb +0 -31
- data/app/views/railsui/themes/shepherd/components/pagination/_dark.html.erb +0 -31
- data/app/views/railsui/themes/shepherd/components/pagination/_pagy.html.erb +53 -98
- data/app/views/railsui/themes/shepherd/components/pagination/_simple.html.erb +0 -27
- data/app/views/railsui/themes/shepherd/components/tab/_base.html.erb +1 -18
- data/app/views/railsui/themes/shepherd/components/tab/_pills.html.erb +1 -18
- data/app/views/railsui/themes/shepherd/components/tab/_rounded.html.erb +1 -18
- data/app/views/railsui/themes/shepherd/components/tab/_with_icons.html.erb +1 -26
- data/app/views/railsui/themes/shepherd/components/toast/_base.html.erb +0 -16
- data/app/views/railsui/themes/shepherd/components/tooltip/_base.html.erb +0 -3
- data/app/views/railsui/themes/shepherd/content/_image_old.html.erb +0 -20
- data/app/views/railsui/themes/shepherd/content/image/_object_contain.html.erb +0 -5
- data/app/views/railsui/themes/shepherd/content/image/_object_cover.html.erb +0 -5
- data/app/views/railsui/themes/shepherd/content/image/_object_fill.html.erb +0 -5
- data/app/views/railsui/themes/shepherd/content/image/_object_scale_down.html.erb +0 -5
- data/app/views/railsui/themes/shepherd/content/image/_responsive.html.erb +0 -4
- data/app/views/railsui/themes/shepherd/content/table/_bordered.html.erb +0 -21
- data/app/views/railsui/themes/shepherd/content/table/_borderless.html.erb +0 -21
- data/app/views/railsui/themes/shepherd/content/typography/_blockquote.html.erb +0 -9
- data/app/views/railsui/themes/shepherd/content/typography/_display_headings.html.erb +0 -9
- data/app/views/railsui/themes/shepherd/content/typography/_headings.html.erb +0 -15
- data/app/views/railsui/themes/shepherd/content/typography/_inline_formatting.html.erb +0 -21
- data/app/views/railsui/themes/shepherd/content/typography/_lead_paragraph.html.erb +0 -5
- data/app/views/railsui/themes/shepherd/content/typography/_lists.html.erb +0 -17
- data/app/views/railsui/themes/shepherd/content/typography/_paragraphs.html.erb +0 -4
- data/app/views/railsui/themes/shepherd/forms/_action_text.html.erb +0 -6
- data/app/views/railsui/themes/shepherd/forms/_checkbox.html.erb +0 -9
- data/app/views/railsui/themes/shepherd/forms/_form_builder.html.erb +487 -0
- data/app/views/railsui/themes/shepherd/forms/_input.html.erb +0 -119
- data/app/views/railsui/themes/shepherd/forms/_input_group.html.erb +0 -81
- data/app/views/railsui/themes/shepherd/forms/_radio.html.erb +0 -13
- data/app/views/railsui/themes/shepherd/forms/_select.html.erb +0 -16
- data/app/views/railsui/themes/shepherd/forms/_switch.html.erb +0 -9
- data/app/views/railsui/themes/shepherd/forms/_validation.html.erb +0 -11
- data/app/views/railsui/themes/shepherd/mailers/_layout.html.erb +1 -493
- data/app/views/railsui/themes/shepherd/mailers/_minimal.html.erb +1 -16
- data/app/views/railsui/themes/shepherd/mailers/_promotion.html.erb +1 -20
- data/app/views/railsui/themes/shepherd/mailers/_transactional.html.erb +1 -43
- data/app/views/railsui/themes/shepherd/mailers/devise/_confirmation_instructions.html.erb +1 -9
- data/app/views/railsui/themes/shepherd/mailers/devise/_email_changed.html.erb +1 -12
- data/app/views/railsui/themes/shepherd/mailers/devise/_password_changed.html.erb +1 -7
- data/app/views/railsui/themes/shepherd/mailers/devise/_reset_password_instructions.html.erb +1 -9
- data/app/views/railsui/themes/shepherd/mailers/devise/_unlock_instructions.html.erb +1 -9
- data/app/views/railsui/themes/shepherd/scaffolds/_edit.html.erb +1 -19
- data/app/views/railsui/themes/shepherd/scaffolds/_index.html.erb +1 -11
- data/app/views/railsui/themes/shepherd/scaffolds/_new.html.erb +1 -17
- data/app/views/railsui/themes/shepherd/scaffolds/_partial.html.erb +1 -17
- data/app/views/railsui/themes/shepherd/scaffolds/_show.html.erb +1 -18
- data/config/pages.yml +103 -0
- data/config/routes.rb +6 -5
- data/config/theme.yml +2 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/auth-bg.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog-feature.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog1.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog2.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog3.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog4.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog5.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog6.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog7.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog8.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/blog9.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/copy.svg +6 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/pencil.svg +1 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/scroll-text.svg +9 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/facebook.svg +1 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/github.svg +1 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/google.svg +1 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/instagram.svg +1 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/linkedin.svg +1 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/twitter.svg +1 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/x.svg +1 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/social/youtube.svg +1 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/stethoscope.svg +8 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/icons/test-tubes.svg +11 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/logo.svg +10 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/android-chrome-192x192.png +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/android-chrome-512x512.png +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/apple-touch-icon.png +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon-16x16.png +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon-32x32.png +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon.ico +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/favicon.svg +20 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/opengraph-mark.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/opengraph.jpg +0 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/meta/site.webmanifest +19 -0
- data/lib/generators/railsui/install/templates/themes/corgie/images/railsui/railsui.svg +3 -0
- data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/character_count_controller.js +134 -0
- data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/chat_controller.js +45 -0
- data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/help_search_controller.js +333 -0
- data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/highlight_controller.js +13 -0
- data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/markdown_controller.js +106 -0
- data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/search_controller.js +311 -0
- data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/sidebar_controller.js +105 -0
- data/lib/generators/railsui/install/templates/themes/corgie/javascript/controllers/railsui/snippet_controller.js +223 -0
- data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/minimal.html.erb +21 -0
- data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/minimal.text.erb +9 -0
- data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/promotion.html.erb +23 -0
- data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/promotion.text.erb +9 -0
- data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/transactional.html.erb +55 -0
- data/lib/generators/railsui/install/templates/themes/corgie/mail/railsui_mailer/transactional.text.erb +22 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/actiontext.css +173 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/blog.css +29 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/buttons.css +49 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/card.css +9 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/chat.css +27 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/code.css +233 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/dropdown.css +9 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/forms.css +321 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/sidebar.css +15 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/tailwind.config.js +24 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/theme.css +77 -0
- data/lib/generators/railsui/install/templates/themes/corgie/stylesheets/railsui/typography.css +47 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui.html.erb +31 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui_admin.html.erb +30 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui_auth.html.erb +50 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/layouts/rui/railsui_mailer.html.erb +503 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/about.html.erb +278 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/blog.html.erb +258 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/blog_category.html.erb +261 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/blog_show.html.erb +429 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/chat_new.html.erb +68 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/chat_show.html.erb +152 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/features.html.erb +356 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/help.html.erb +123 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/home.html.erb +252 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/pricing.html.erb +397 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/privacy.html.erb +140 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/signin.html.erb +38 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/signup.html.erb +48 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/pages/terms.html.erb +182 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_account_dropdown.html.erb +46 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_email_action.html.erb +15 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_email_callout.html.erb +7 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_email_spacer.html.erb +7 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_error_messages.html.erb +10 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_faq.html.erb +9 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_flash.html.erb +11 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_fonts.html.erb +7 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_footer.html.erb +72 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_header.html.erb +15 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_meta.html.erb +90 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_nav.html.erb +3 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_railsui_head.html.erb +4 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_search.html.erb +32 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_sidebar.html.erb +7 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_waves.html.erb +47 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/blog/_article.html.erb +39 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/blog/_pagination.html.erb +21 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_disclaimer.html.erb +4 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_form.html.erb +62 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_header.html.erb +47 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_history.html.erb +36 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_key_legend.html.erb +11 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_link.html.erb +17 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_message.html.erb +69 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_model_select.html.erb +55 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_cta_section.html.erb +16 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_feature_card.html.erb +23 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_feature_check_item.html.erb +6 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/common/_social_auth_buttons.html.erb +22 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/help/_categories.html.erb +82 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/help/_faq.html.erb +45 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/help/_quick_actions.html.erb +46 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/marketing/_career.html.erb +9 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/marketing/_nav.html.erb +57 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/marketing/_team_member_card.html.erb +16 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/_modal.html.erb +84 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/_nav_item.html.erb +14 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_billing.html.erb +120 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_data_controls.html.erb +69 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_general.html.erb +92 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_notifications.html.erb +102 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_personalization.html.erb +100 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_security.html.erb +98 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/settings/panels/_title.html.erb +5 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_actions.html.erb +39 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_header.html.erb +40 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_history.html.erb +36 -0
- data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_link.html.erb +23 -0
- data/lib/generators/railsui/install/templates/themes/hound/stylesheets/railsui/forms.css +18 -4
- data/lib/generators/railsui/install/templates/themes/hound/stylesheets/railsui/theme.css +3 -2
- data/lib/generators/railsui/install/templates/themes/shepherd/stylesheets/railsui/forms.css +12 -2
- data/lib/generators/railsui/scaffold/templates/themes/corgie/views/_form.html.erb.tt +52 -0
- data/lib/generators/railsui/scaffold/templates/themes/corgie/views/edit.html.erb.tt +25 -0
- data/lib/generators/railsui/scaffold/templates/themes/corgie/views/index.html.erb.tt +12 -0
- data/lib/generators/railsui/scaffold/templates/themes/corgie/views/new.html.erb.tt +22 -0
- data/lib/generators/railsui/scaffold/templates/themes/corgie/views/partial.html.erb.tt +22 -0
- data/lib/generators/railsui/scaffold/templates/themes/corgie/views/show.html.erb.tt +24 -0
- data/lib/generators/railsui/scaffold/templates/themes/hound/views/_form.html.erb.tt +29 -24
- data/lib/generators/railsui/scaffold/templates/themes/shepherd/views/_form.html.erb.tt +28 -26
- data/lib/railsui/configuration.rb +22 -21
- data/lib/railsui/engine.rb +26 -20
- data/lib/railsui/form_builder.rb +307 -0
- data/lib/railsui/pages.rb +14 -3
- data/lib/railsui/theme_helper.rb +8 -8
- data/lib/railsui/theme_setup.rb +83 -49
- data/lib/railsui/themes.rb +3 -4
- data/lib/railsui/version.rb +1 -1
- data/lib/railsui.rb +9 -6
- data/lib/tasks/install.rake +1 -1
- data/lib/tasks/pages.rake +1 -1
- data/lib/tasks/stimulus.rake +1 -1
- metadata +287 -5
- data/.standard.yml +0 -3
- data/CHANGELOG.md +0 -9
- data/config/colors.yml +0 -50
@@ -0,0 +1,92 @@
|
|
1
|
+
<section class="relative text-sm md:min-h-[380px]">
|
2
|
+
<%= render "rui/shared/settings/panels/title", title: "Settings" %>
|
3
|
+
|
4
|
+
<!-- Theme Setting -->
|
5
|
+
<div class="py-3 border-b border-neutral-200 dark:border-neutral-700">
|
6
|
+
<div class="flex items-center justify-between">
|
7
|
+
<label for="theme" class="w-1/2 md:w-1/3 form-label">Theme</label>
|
8
|
+
<select id="theme" class="pr-8 text-center truncate w-24 form-select form-select-minimal text-sm">
|
9
|
+
<option value="system">System</option>
|
10
|
+
<option value="light">Light</option>
|
11
|
+
<option value="dark">Dark</option>
|
12
|
+
</select>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<!-- Language Setting -->
|
17
|
+
<div class="py-3 border-b border-neutral-200 dark:border-neutral-700">
|
18
|
+
<div class="flex items-center justify-between">
|
19
|
+
<label for="language" class="w-1/2 md:w-1/3 form-label">Language</label>
|
20
|
+
<select id="language" class="w-24 pr-8 text-center truncate form-select form-select-minimal text-sm">
|
21
|
+
<option value="en">English</option>
|
22
|
+
<option value="es">Español</option>
|
23
|
+
<option value="fr">Français</option>
|
24
|
+
<option value="de">Deutsch</option>
|
25
|
+
<option value="it">Italiano</option>
|
26
|
+
<option value="pt">Português</option>
|
27
|
+
<option value="ru">Русский</option>
|
28
|
+
<option value="zh">中文</option>
|
29
|
+
<option value="ja">日本語</option>
|
30
|
+
<option value="ko">한국어</option>
|
31
|
+
<option value="ar">العربية</option>
|
32
|
+
<option value="hi">हिन्दी</option>
|
33
|
+
</select>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<!-- Spoken Language Setting -->
|
38
|
+
<div class="py-3 border-b border-neutral-200 dark:border-neutral-700">
|
39
|
+
<div class="flex items-center justify-between">
|
40
|
+
<label for="spoken-language" class="w-1/2 md:w-1/3 form-label">Spoken language</label>
|
41
|
+
<select id="spoken-language"
|
42
|
+
class="w-32 pr-8 text-center truncate md:w-24 form-select form-select-minimal text-sm">
|
43
|
+
<option value="auto">Auto</option>
|
44
|
+
<option value="en">English</option>
|
45
|
+
<option value="es">Español</option>
|
46
|
+
<option value="fr">Français</option>
|
47
|
+
<option value="de">Deutsch</option>
|
48
|
+
<option value="it">Italiano</option>
|
49
|
+
<option value="pt">Português</option>
|
50
|
+
<option value="ru">Русский</option>
|
51
|
+
<option value="zh">中文</option>
|
52
|
+
<option value="ja">日本語</option>
|
53
|
+
<option value="ko">한국어</option>
|
54
|
+
<option value="ar">العربية</option>
|
55
|
+
<option value="hi">हिन्दी</option>
|
56
|
+
</select>
|
57
|
+
</div>
|
58
|
+
<p class="form-help">For best results, select the language you mainly speak. If it's not listed, it may still be
|
59
|
+
supported via auto-detection.</p>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<!-- Voice Setting -->
|
63
|
+
<div class="items-center py-3 border-b border-neutral-200 dark:border-neutral-700">
|
64
|
+
<div class="flex items-center justify-between">
|
65
|
+
<label for="voice" class="w-1/2 mb-0 md:w-1/3 form-label">Voice</label>
|
66
|
+
<div class="flex items-center gap-2">
|
67
|
+
<div class="flex items-center gap-1">
|
68
|
+
<button class="flex items-center gap-2 rounded-full btn btn-ghost">
|
69
|
+
Play
|
70
|
+
<%= icon "play", class: "size-4 stroke-current" %>
|
71
|
+
</button>
|
72
|
+
</div>
|
73
|
+
<div>
|
74
|
+
<select id="voice" class="w-24 pr-8 text-center truncate md:w-16 form-select form-select-minimal text-sm">
|
75
|
+
<option value="en">Emma</option>
|
76
|
+
<option value="es">Leo</option>
|
77
|
+
<option value="fr">Marie</option>
|
78
|
+
<option value="de">Hans</option>
|
79
|
+
<option value="it">Sofia</option>
|
80
|
+
<option value="pt">João</option>
|
81
|
+
<option value="ru">Anastasia</option>
|
82
|
+
<option value="zh">Wei</option>
|
83
|
+
<option value="ja">Yuki</option>
|
84
|
+
<option value="ko">Min-ji</option>
|
85
|
+
<option value="ar">Ahmed</option>
|
86
|
+
<option value="hi">Priya</option>
|
87
|
+
</select>
|
88
|
+
</div>
|
89
|
+
</div>
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
</section>
|
@@ -0,0 +1,102 @@
|
|
1
|
+
<section class="relative text-sm md:min-h-[380px]">
|
2
|
+
<%= render "rui/shared/settings/panels/title", title: "Notifications" %>
|
3
|
+
|
4
|
+
<!-- Push Notifications -->
|
5
|
+
<div class="py-3 border-b border-neutral-200 dark:border-neutral-700">
|
6
|
+
<div class="flex items-center justify-between gap-3">
|
7
|
+
<div class="flex-1">
|
8
|
+
<label class="form-label">Push Notifications</label>
|
9
|
+
<p class="form-help">Receive notifications in your browser</p>
|
10
|
+
</div>
|
11
|
+
<input type="checkbox" id="push-notifications" class="form-input-switch" checked>
|
12
|
+
<label for="push-notifications"></label>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<!-- Email Notifications -->
|
17
|
+
<div class="py-3 border-b border-neutral-200 dark:border-neutral-700">
|
18
|
+
<div class="flex items-center justify-between gap-3">
|
19
|
+
<div class="flex-1">
|
20
|
+
<label class="form-label">Email Notifications</label>
|
21
|
+
<p class="form-help">Receive important updates via email</p>
|
22
|
+
</div>
|
23
|
+
<input type="checkbox" id="email-notifications" class="form-input-switch">
|
24
|
+
<label for="email-notifications"></label>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<!-- Notification Sound -->
|
29
|
+
<div class="py-3 border-b border-neutral-200 dark:border-neutral-700">
|
30
|
+
<div class="flex items-center justify-between gap-3">
|
31
|
+
<label for="notification-sound" class="w-1/2 md:w-1/3 form-label">Notification Sound</label>
|
32
|
+
<div class="flex items-center gap-1">
|
33
|
+
<button class="flex items-center gap-2 rounded-full btn btn-ghost">
|
34
|
+
Play
|
35
|
+
<%= icon "speaker-wave", class: "size-4 stroke-current" %>
|
36
|
+
</button>
|
37
|
+
<div class="w-px h-4 bg-neutral-300 dark:bg-neutral-600"></div>
|
38
|
+
<select id="notification-sound"
|
39
|
+
class="w-32 pr-8 text-center truncate md:w-24 form-select form-select-minimal text-sm">
|
40
|
+
<option value="default">Default</option>
|
41
|
+
<option value="chime">Chime</option>
|
42
|
+
<option value="bell">Bell</option>
|
43
|
+
<option value="ping">Ping</option>
|
44
|
+
<option value="none">None</option>
|
45
|
+
</select>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
|
50
|
+
<!-- Notification Frequency -->
|
51
|
+
<div class="py-3 border-b border-neutral-200 dark:border-neutral-700">
|
52
|
+
<div class="flex items-center justify-between gap-3">
|
53
|
+
<label for="notification-frequency" class="w-1/2 md:w-1/3 form-label">Frequency</label>
|
54
|
+
<select id="notification-frequency" class="w-32 pr-8 text-center md:w-24 form-select form-select-minimal text-sm">
|
55
|
+
<option value="instant">Instant</option>
|
56
|
+
<option value="hourly">Hourly</option>
|
57
|
+
<option value="daily">Daily</option>
|
58
|
+
<option value="weekly">Weekly</option>
|
59
|
+
</select>
|
60
|
+
</div>
|
61
|
+
<p class="form-help">How often to receive notification summaries</p>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<!-- Do Not Disturb -->
|
65
|
+
<div class="py-3 border-b border-neutral-200 dark:border-neutral-700">
|
66
|
+
<div class="flex items-center justify-between gap-3">
|
67
|
+
<div class="flex-1">
|
68
|
+
<label class="form-label">Do Not Disturb</label>
|
69
|
+
<p class="form-help">Pause all notifications temporarily</p>
|
70
|
+
</div>
|
71
|
+
<input type="checkbox" id="do-not-disturb" class="form-input-switch">
|
72
|
+
<label for="do-not-disturb"></label>
|
73
|
+
</div>
|
74
|
+
</div>
|
75
|
+
|
76
|
+
<!-- Quiet Hours -->
|
77
|
+
<div class="py-3">
|
78
|
+
<div class="flex items-center justify-between gap-3 mb-2">
|
79
|
+
<div class="flex-1">
|
80
|
+
<label class="form-label">Quiet Hours</label>
|
81
|
+
<p class="form-help">Automatically disable notifications during these hours</p>
|
82
|
+
</div>
|
83
|
+
<input type="checkbox" id="quiet-hours-enabled" class="form-input-switch">
|
84
|
+
<label for="quiet-hours-enabled"></label>
|
85
|
+
</div>
|
86
|
+
<div class="mt-3 opacity-50 form-datetime-select text-sm">
|
87
|
+
<select id="quiet-start-hour" class="w-20" disabled>
|
88
|
+
<option value="22">10 PM</option>
|
89
|
+
<option value="23">11 PM</option>
|
90
|
+
<option value="0">12 AM</option>
|
91
|
+
<option value="1">1 AM</option>
|
92
|
+
</select>
|
93
|
+
<span>to</span>
|
94
|
+
<select id="quiet-end-hour" class="w-20" disabled>
|
95
|
+
<option value="6">6 AM</option>
|
96
|
+
<option value="7">7 AM</option>
|
97
|
+
<option value="8">8 AM</option>
|
98
|
+
<option value="9">9 AM</option>
|
99
|
+
</select>
|
100
|
+
</div>
|
101
|
+
</div>
|
102
|
+
</section>
|
@@ -0,0 +1,100 @@
|
|
1
|
+
<section class="relative text-sm md:min-h-[380px]">
|
2
|
+
<%= render "rui/shared/settings/panels/title", title: "Personalization" %>
|
3
|
+
|
4
|
+
<!-- AI Personality -->
|
5
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
6
|
+
<div class="flex items-center justify-between">
|
7
|
+
<label for="ai-personality" class="form-label w-1/3">AI Personality</label>
|
8
|
+
<select id="ai-personality" class="form-select form-select-minimal w-28 text-center pr-8 truncate text-sm">
|
9
|
+
<option value="balanced">Balanced</option>
|
10
|
+
<option value="creative">Creative</option>
|
11
|
+
<option value="precise">Precise</option>
|
12
|
+
<option value="friendly">Friendly</option>
|
13
|
+
<option value="professional">Professional</option>
|
14
|
+
</select>
|
15
|
+
</div>
|
16
|
+
<p class="form-help">Choose how the AI responds to your messages</p>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<!-- Response Length -->
|
20
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
21
|
+
<div class="flex items-center justify-between">
|
22
|
+
<label for="response-length" class="form-label w-1/3">Response Length</label>
|
23
|
+
<select id="response-length" class="form-select form-select-minimal w-24 text-center pr-8 truncate text-sm">
|
24
|
+
<option value="short">Short</option>
|
25
|
+
<option value="medium">Medium</option>
|
26
|
+
<option value="long">Long</option>
|
27
|
+
<option value="auto">Auto</option>
|
28
|
+
</select>
|
29
|
+
</div>
|
30
|
+
<p class="form-help">Preferred length for AI responses</p>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<!-- Custom Instructions -->
|
34
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
35
|
+
<div class="mb-2">
|
36
|
+
<label for="custom-instructions" class="form-label">Custom Instructions</label>
|
37
|
+
<p class="form-help">Tell the AI how you'd like it to respond</p>
|
38
|
+
</div>
|
39
|
+
<textarea id="custom-instructions" class="form-textarea"
|
40
|
+
placeholder="e.g., Always be concise and use bullet points when listing items..."></textarea>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<!-- Conversation Starters -->
|
44
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
45
|
+
<div class="flex items-center justify-between">
|
46
|
+
<div class="flex-1">
|
47
|
+
<label class="form-label">Show conversation starters</label>
|
48
|
+
<p class="form-help">Display suggested topics when starting new conversations</p>
|
49
|
+
</div>
|
50
|
+
<input type="checkbox" id="conversation-starters" class="form-input-switch" checked>
|
51
|
+
<label for="conversation-starters"></label>
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
|
55
|
+
<!-- Memory -->
|
56
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
57
|
+
<div class="flex items-center justify-between">
|
58
|
+
<div class="flex-1">
|
59
|
+
<label class="form-label">Memory</label>
|
60
|
+
<p class="form-help">Allow AI to remember details from previous conversations</p>
|
61
|
+
</div>
|
62
|
+
<input type="checkbox" id="memory-enabled" class="form-input-switch" checked>
|
63
|
+
<label for="memory-enabled"></label>
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
|
67
|
+
<!-- Preferred Topics -->
|
68
|
+
<div class="py-3">
|
69
|
+
<div class="mb-2">
|
70
|
+
<label class="form-label">Preferred Topics</label>
|
71
|
+
<p class="form-help">Topics you're most interested in discussing</p>
|
72
|
+
</div>
|
73
|
+
<div class="flex flex-wrap gap-2">
|
74
|
+
<label class="inline-flex items-center gap-2">
|
75
|
+
<input type="checkbox" class="form-input-checkbox" checked>
|
76
|
+
<span class="text-sm">Technology</span>
|
77
|
+
</label>
|
78
|
+
<label class="inline-flex items-center gap-2">
|
79
|
+
<input type="checkbox" class="form-input-checkbox">
|
80
|
+
<span class="text-sm">Science</span>
|
81
|
+
</label>
|
82
|
+
<label class="inline-flex items-center gap-2">
|
83
|
+
<input type="checkbox" class="form-input-checkbox" checked>
|
84
|
+
<span class="text-sm">Business</span>
|
85
|
+
</label>
|
86
|
+
<label class="inline-flex items-center gap-2">
|
87
|
+
<input type="checkbox" class="form-input-checkbox">
|
88
|
+
<span class="text-sm">Arts</span>
|
89
|
+
</label>
|
90
|
+
<label class="inline-flex items-center gap-2">
|
91
|
+
<input type="checkbox" class="form-input-checkbox">
|
92
|
+
<span class="text-sm">Health</span>
|
93
|
+
</label>
|
94
|
+
<label class="inline-flex items-center gap-2">
|
95
|
+
<input type="checkbox" class="form-input-checkbox">
|
96
|
+
<span class="text-sm">Education</span>
|
97
|
+
</label>
|
98
|
+
</div>
|
99
|
+
</div>
|
100
|
+
</section>
|
@@ -0,0 +1,98 @@
|
|
1
|
+
<section class="relative text-sm md:min-h-[380px]">
|
2
|
+
<%= render "rui/shared/settings/panels/title", title: "Security" %>
|
3
|
+
|
4
|
+
<!-- Two-Factor Authentication -->
|
5
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
6
|
+
<div class="flex items-center justify-between">
|
7
|
+
<div class="flex-1">
|
8
|
+
<label class="form-label">Two-Factor Authentication</label>
|
9
|
+
<p class="form-help">Add an extra layer of security to your account</p>
|
10
|
+
</div>
|
11
|
+
<button type="button" class="btn btn-primary">
|
12
|
+
Enable
|
13
|
+
</button>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<!-- Change Password -->
|
18
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
19
|
+
<div class="flex items-center justify-between">
|
20
|
+
<div class="flex-1">
|
21
|
+
<label class="form-label">Password</label>
|
22
|
+
<p class="form-help">Last changed 3 months ago</p>
|
23
|
+
</div>
|
24
|
+
<button type="button" class="btn btn-ghost">
|
25
|
+
Change
|
26
|
+
</button>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
|
30
|
+
<!-- Session Management -->
|
31
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
32
|
+
<div class="flex items-center justify-between">
|
33
|
+
<div class="flex-1">
|
34
|
+
<label class="form-label">Active Sessions</label>
|
35
|
+
<p class="form-help">Manage devices signed into your account</p>
|
36
|
+
</div>
|
37
|
+
<button type="button" class="btn btn-ghost">
|
38
|
+
Manage
|
39
|
+
</button>
|
40
|
+
</div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<!-- Login Alerts -->
|
44
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
45
|
+
<div class="flex items-center justify-between">
|
46
|
+
<div class="flex-1">
|
47
|
+
<label class="form-label">Login Alerts</label>
|
48
|
+
<p class="form-help">Get notified when someone signs into your account</p>
|
49
|
+
</div>
|
50
|
+
<input type="checkbox" id="login-alerts" class="form-input-switch" checked>
|
51
|
+
<label for="login-alerts"></label>
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
|
55
|
+
<!-- Privacy Mode -->
|
56
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
57
|
+
<div class="flex items-center justify-between">
|
58
|
+
<div class="flex-1">
|
59
|
+
<label class="form-label">Privacy Mode</label>
|
60
|
+
<p class="form-help">Hide sensitive information in conversations</p>
|
61
|
+
</div>
|
62
|
+
<input type="checkbox" id="privacy-mode" class="form-input-switch">
|
63
|
+
<label for="privacy-mode"></label>
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
|
67
|
+
<!-- Data Encryption -->
|
68
|
+
<div class="border-b border-neutral-200 dark:border-neutral-700 py-3">
|
69
|
+
<div class="flex items-center justify-between">
|
70
|
+
<div class="flex-1">
|
71
|
+
<div class="flex items-center gap-2">
|
72
|
+
<label class="form-label mb-0">End-to-End Encryption</label>
|
73
|
+
<span class="rounded bg-green-100 text-green-800 font-medium px-1.5 py-0.5 text-xs dark:text-green-300 dark:bg-green-500/20 inline-flex items-center gap-1">
|
74
|
+
Active
|
75
|
+
</span>
|
76
|
+
</div>
|
77
|
+
<p class="form-help">Encrypt conversations with your personal key</p>
|
78
|
+
|
79
|
+
</div>
|
80
|
+
<div class="flex items-center gap-2">
|
81
|
+
<button type="button" class="btn btn-ghost">
|
82
|
+
Configure
|
83
|
+
</button>
|
84
|
+
</div>
|
85
|
+
</div>
|
86
|
+
</div>
|
87
|
+
|
88
|
+
<!-- Account Deletion -->
|
89
|
+
<div class="py-3">
|
90
|
+
<div class="flex items-center justify-between">
|
91
|
+
<div class="flex-1">
|
92
|
+
<label class="form-label text-red-600 dark:text-red-400">Delete Account</label>
|
93
|
+
<p class="form-help">Permanently delete account and all associated data</p>
|
94
|
+
</div>
|
95
|
+
<%= button_to "Delete", "#", method: :delete, class: "btn btn-danger" %>
|
96
|
+
</div>
|
97
|
+
</div>
|
98
|
+
</section>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<!-- Action Buttons -->
|
2
|
+
<div class="px-4 w-full space-y-2 mb-4">
|
3
|
+
<!-- New Chat Button -->
|
4
|
+
<%= link_to rui_chat_new_path, class: "rounded-md w-full p-2 text-sm hover:bg-neutral-200/80 flex items-center gap-3 group dark:hover:bg-neutral-900 transition-all duration-200 sidebar-collapsed:justify-center sidebar-collapsed:size-8" do %>
|
5
|
+
<div class="flex items-center gap-3 min-w-0 flex-1 sidebar-collapsed:flex-none">
|
6
|
+
<%= icon "plus", class: "size-5 stroke-current text-neutral-700 dark:text-neutral-100 shrink-0" %>
|
7
|
+
<span class="sidebar-expanded-only transition-opacity duration-200 truncate">New chat</span>
|
8
|
+
</div>
|
9
|
+
<span
|
10
|
+
class="sidebar-expanded-only opacity-0 group-hover:opacity-100 duration-200 transition-opacity shrink-0">
|
11
|
+
<kbd class="px-1.5 py-0.5 bg-neutral-100 dark:bg-neutral-700 rounded text-neutral-600 dark:text-neutral-300 font-mono text-xs"
|
12
|
+
>⇧ ⌘ O</kbd>
|
13
|
+
</span>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<!-- Search chats button -->
|
17
|
+
<button
|
18
|
+
class="rounded-md w-full p-2 text-sm hover:bg-neutral-200/80 flex items-center gap-3 group dark:hover:bg-neutral-900 transition-all duration-200 sidebar-collapsed:justify-center sidebar-collapsed:size-8"
|
19
|
+
data-action="click->search#open"
|
20
|
+
>
|
21
|
+
<div
|
22
|
+
class="flex items-center gap-3 min-w-0 flex-1 sidebar-collapsed:flex-none"
|
23
|
+
>
|
24
|
+
<%= icon "magnifying-glass", class: "size-5 stroke-current text-neutral-700 dark:text-neutral-100 shrink-0" %>
|
25
|
+
<span
|
26
|
+
class="sidebar-expanded-only transition-opacity duration-200 truncate"
|
27
|
+
>Search chats</span
|
28
|
+
>
|
29
|
+
</div>
|
30
|
+
<span
|
31
|
+
class="sidebar-expanded-only opacity-0 group-hover:opacity-100 duration-200 transition-opacity shrink-0"
|
32
|
+
>
|
33
|
+
<kbd
|
34
|
+
class="px-1.5 py-0.5 bg-neutral-100 dark:bg-neutral-700 rounded text-neutral-600 dark:text-neutral-300 font-mono text-xs"
|
35
|
+
>⌘ K</kbd
|
36
|
+
>
|
37
|
+
</span>
|
38
|
+
</button>
|
39
|
+
</div>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<!-- Header -->
|
2
|
+
<div class="flex items-center justify-between p-4">
|
3
|
+
<div class="relative flex items-center gap-2 sidebar-collapsed:gap-0 sidebar-collapsed:justify-center sidebar-collapsed:flex">
|
4
|
+
|
5
|
+
<!-- Logo with hover toggle overlay -->
|
6
|
+
<div class="relative group" data-sidebar-target="logoContainer">
|
7
|
+
<%= link_to root_path, class: "block shrink-0" do %>
|
8
|
+
<%= icon "logo.svg", custom_path: "/railsui/logo.svg", class: "size-6 shrink-0 fill-current dark:fill-neutral-100 transition-opacity duration-200" %>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<!-- Toggle overlay (appears on hover when collapsed) -->
|
12
|
+
<button
|
13
|
+
class="absolute inset-0 flex items-center justify-center transition-opacity duration-200 opacity-0 sidebar-collapsed-only dark:bg-neutral-800/90 group-hover:opacity-100 backdrop-blur-sm text-neutral-900 bg-neutral-50"
|
14
|
+
data-action="click->sidebar#toggle">
|
15
|
+
<svg class="size-8 fill-current dark:fill-white" viewBox="0 0 20 20" fill="currentColor"
|
16
|
+
xmlns="http://www.w3.org/2000/svg" data-rtl-flip="" class="icon max-md:hidden">
|
17
|
+
<path
|
18
|
+
d="M6.83496 3.99992C6.38353 4.00411 6.01421 4.0122 5.69824 4.03801C5.31232 4.06954 5.03904 4.12266 4.82227 4.20012L4.62207 4.28606C4.18264 4.50996 3.81498 4.85035 3.55859 5.26848L3.45605 5.45207C3.33013 5.69922 3.25006 6.01354 3.20801 6.52824C3.16533 7.05065 3.16504 7.71885 3.16504 8.66301V11.3271C3.16504 12.2712 3.16533 12.9394 3.20801 13.4618C3.25006 13.9766 3.33013 14.2909 3.45605 14.538L3.55859 14.7216C3.81498 15.1397 4.18266 15.4801 4.62207 15.704L4.82227 15.79C5.03904 15.8674 5.31234 15.9205 5.69824 15.9521C6.01398 15.9779 6.383 15.986 6.83398 15.9902L6.83496 3.99992ZM18.165 11.3271C18.165 12.2493 18.1653 12.9811 18.1172 13.5702C18.0745 14.0924 17.9916 14.5472 17.8125 14.9648L17.7295 15.1415C17.394 15.8 16.8834 16.3511 16.2568 16.7353L15.9814 16.8896C15.5157 17.1268 15.0069 17.2285 14.4102 17.2773C13.821 17.3254 13.0893 17.3251 12.167 17.3251H7.83301C6.91071 17.3251 6.17898 17.3254 5.58984 17.2773C5.06757 17.2346 4.61294 17.1508 4.19531 16.9716L4.01855 16.8896C3.36014 16.5541 2.80898 16.0434 2.4248 15.4169L2.27051 15.1415C2.03328 14.6758 1.93158 14.167 1.88281 13.5702C1.83468 12.9811 1.83496 12.2493 1.83496 11.3271V8.66301C1.83496 7.74072 1.83468 7.00898 1.88281 6.41985C1.93157 5.82309 2.03329 5.31432 2.27051 4.84856L2.4248 4.57317C2.80898 3.94666 3.36012 3.436 4.01855 3.10051L4.19531 3.0175C4.61285 2.83843 5.06771 2.75548 5.58984 2.71281C6.17898 2.66468 6.91071 2.66496 7.83301 2.66496H12.167C13.0893 2.66496 13.821 2.66468 14.4102 2.71281C15.0069 2.76157 15.5157 2.86329 15.9814 3.10051L16.2568 3.25481C16.8833 3.63898 17.394 4.19012 17.7295 4.84856L17.8125 5.02531C17.9916 5.44285 18.0745 5.89771 18.1172 6.41985C18.1653 7.00898 18.165 7.74072 18.165 8.66301V11.3271ZM8.16406 15.995H12.167C13.1112 15.995 13.7794 15.9947 14.3018 15.9521C14.8164 15.91 15.1308 15.8299 15.3779 15.704L15.5615 15.6015C15.9797 15.3451 16.32 14.9774 16.5439 14.538L16.6299 14.3378C16.7074 14.121 16.7605 13.8478 16.792 13.4618C16.8347 12.9394 16.835 12.2712 16.835 11.3271V8.66301C16.835 7.71885 16.8347 7.05065 16.792 6.52824C16.7605 6.14232 16.7073 5.86904 16.6299 5.65227L16.5439 5.45207C16.32 5.01264 15.9796 4.64498 15.5615 4.3886L15.3779 4.28606C15.1308 4.16013 14.8165 4.08006 14.3018 4.03801C13.7794 3.99533 13.1112 3.99504 12.167 3.99504H8.16406C8.16407 3.99667 8.16504 3.99829 8.16504 3.99992L8.16406 15.995Z">
|
19
|
+
</path>
|
20
|
+
</svg>
|
21
|
+
</button>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="flex-1">
|
25
|
+
<h1 class="sr-only"><%= Railsui.config.application_name || 'Corgie' %></h1>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<!-- Regular toggle button (visible when expanded) -->
|
30
|
+
<button
|
31
|
+
class="p-1.5 transition-all duration-200 rounded-md sidebar-expanded-only hover:bg-neutral-200 dark:hover:bg-neutral-700 text-neutral-600 dark:text-neutral-300"
|
32
|
+
data-action="click->sidebar#toggle">
|
33
|
+
<svg class="size-5" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg" data-rtl-flip=""
|
34
|
+
class="icon max-md:hidden">
|
35
|
+
<path
|
36
|
+
d="M6.83496 3.99992C6.38353 4.00411 6.01421 4.0122 5.69824 4.03801C5.31232 4.06954 5.03904 4.12266 4.82227 4.20012L4.62207 4.28606C4.18264 4.50996 3.81498 4.85035 3.55859 5.26848L3.45605 5.45207C3.33013 5.69922 3.25006 6.01354 3.20801 6.52824C3.16533 7.05065 3.16504 7.71885 3.16504 8.66301V11.3271C3.16504 12.2712 3.16533 12.9394 3.20801 13.4618C3.25006 13.9766 3.33013 14.2909 3.45605 14.538L3.55859 14.7216C3.81498 15.1397 4.18266 15.4801 4.62207 15.704L4.82227 15.79C5.03904 15.8674 5.31234 15.9205 5.69824 15.9521C6.01398 15.9779 6.383 15.986 6.83398 15.9902L6.83496 3.99992ZM18.165 11.3271C18.165 12.2493 18.1653 12.9811 18.1172 13.5702C18.0745 14.0924 17.9916 14.5472 17.8125 14.9648L17.7295 15.1415C17.394 15.8 16.8834 16.3511 16.2568 16.7353L15.9814 16.8896C15.5157 17.1268 15.0069 17.2285 14.4102 17.2773C13.821 17.3254 13.0893 17.3251 12.167 17.3251H7.83301C6.91071 17.3251 6.17898 17.3254 5.58984 17.2773C5.06757 17.2346 4.61294 17.1508 4.19531 16.9716L4.01855 16.8896C3.36014 16.5541 2.80898 16.0434 2.4248 15.4169L2.27051 15.1415C2.03328 14.6758 1.93158 14.167 1.88281 13.5702C1.83468 12.9811 1.83496 12.2493 1.83496 11.3271V8.66301C1.83496 7.74072 1.83468 7.00898 1.88281 6.41985C1.93157 5.82309 2.03329 5.31432 2.27051 4.84856L2.4248 4.57317C2.80898 3.94666 3.36012 3.436 4.01855 3.10051L4.19531 3.0175C4.61285 2.83843 5.06771 2.75548 5.58984 2.71281C6.17898 2.66468 6.91071 2.66496 7.83301 2.66496H12.167C13.0893 2.66496 13.821 2.66468 14.4102 2.71281C15.0069 2.76157 15.5157 2.86329 15.9814 3.10051L16.2568 3.25481C16.8833 3.63898 17.394 4.19012 17.7295 4.84856L17.8125 5.02531C17.9916 5.44285 18.0745 5.89771 18.1172 6.41985C18.1653 7.00898 18.165 7.74072 18.165 8.66301V11.3271ZM8.16406 15.995H12.167C13.1112 15.995 13.7794 15.9947 14.3018 15.9521C14.8164 15.91 15.1308 15.8299 15.3779 15.704L15.5615 15.6015C15.9797 15.3451 16.32 14.9774 16.5439 14.538L16.6299 14.3378C16.7074 14.121 16.7605 13.8478 16.792 13.4618C16.8347 12.9394 16.835 12.2712 16.835 11.3271V8.66301C16.835 7.71885 16.8347 7.05065 16.792 6.52824C16.7605 6.14232 16.7073 5.86904 16.6299 5.65227L16.5439 5.45207C16.32 5.01264 15.9796 4.64498 15.5615 4.3886L15.3779 4.28606C15.1308 4.16013 14.8165 4.08006 14.3018 4.03801C13.7794 3.99533 13.1112 3.99504 12.167 3.99504H8.16406C8.16407 3.99667 8.16504 3.99829 8.16504 3.99992L8.16406 15.995Z">
|
37
|
+
</path>
|
38
|
+
</svg>
|
39
|
+
</button>
|
40
|
+
</div>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<!-- Chat History -->
|
2
|
+
<div class="sidebar-chat-history flex-1 overflow-y-auto px-4 text-sm">
|
3
|
+
<div class="space-y-2 pb-4">
|
4
|
+
<!-- Today -->
|
5
|
+
<div class="text-xs font-medium text-neutral-500 dark:text-neutral-400 uppercase tracking-wider mb-3 px-2">
|
6
|
+
Today
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div class="space-y-1">
|
10
|
+
<%= render "rui/shared/sidebar/link", href: rui_chat_show_path, title: "How to optimize Rails performance", active: true %>
|
11
|
+
|
12
|
+
<%= render "rui/shared/sidebar/link", href: rui_chat_show_path, title: "Explain machine learning concepts" %>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<!-- Yesterday -->
|
16
|
+
<div class="text-xs font-medium text-neutral-500 dark:text-neutral-400 uppercase tracking-wider mt-6 mb-3 px-2">
|
17
|
+
Yesterday
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<div class="space-y-1">
|
21
|
+
<%= render "rui/shared/sidebar/link", href: rui_chat_show_path, title: "CSS Grid vs Flexbox comparison" %>
|
22
|
+
|
23
|
+
<%= render "rui/shared/sidebar/link", href: rui_chat_show_path, title: "Best practices for API design" %>
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<!-- Previous 7 Days -->
|
27
|
+
<div class="text-xs font-medium text-neutral-500 dark:text-neutral-400 uppercase tracking-wider mt-6 mb-3 px-2">
|
28
|
+
Previous 7 Days
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<div class="space-y-1">
|
32
|
+
<%= render "rui/shared/sidebar/link", href: rui_chat_show_path, title: "Python data structures explained" %>
|
33
|
+
<%= render "rui/shared/sidebar/link", href: rui_chat_show_path, title: "Docker containerization tutorial" %>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
</div>
|
data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/sidebar/_link.html.erb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
<%# locals: (href:, active: false, title: "Chat title") %>
|
2
|
+
|
3
|
+
<%= link_to href,
|
4
|
+
class: class_names(
|
5
|
+
"group flex items-center p-2 text-sm text-neutral-700 rounded-lg hover:bg-neutral-200 transition-colors dark:text-neutral-100 dark:hover:bg-neutral-900 gap-3",
|
6
|
+
{ "bg-neutral-200 dark:bg-neutral-700" => active }
|
7
|
+
),
|
8
|
+
data: { sidebar_target: "chatLink" } do %>
|
9
|
+
|
10
|
+
<span class="flex-1 truncate transition-opacity duration-200" data-sidebar-target="chatTitle"><%= title %></span>
|
11
|
+
|
12
|
+
<div class="opacity-0 group-hover:opacity-100 transition-opacity shrink-0 flex gap-1" data-sidebar-target="chatActions">
|
13
|
+
<%= link_to "#", class: "p-1 hover:bg-neutral-300 dark:hover:bg-neutral-600 rounded text-neutral-600 dark:text-neutral-400" do %>
|
14
|
+
<%= icon "pencil-square", class: "size-3.5" %>
|
15
|
+
<span class="sr-only">Edit</span>
|
16
|
+
<% end %>
|
17
|
+
|
18
|
+
<%= button_to "#", method: :delete, class: "p-1 hover:bg-neutral-300 dark:hover:bg-neutral-600 rounded text-neutral-600 dark:text-neutral-400" do %>
|
19
|
+
<%= icon "trash", class: "size-3.5" %>
|
20
|
+
<span class="sr-only">Delete</span>
|
21
|
+
<% end %>
|
22
|
+
</div>
|
23
|
+
<% end %>
|
@@ -23,6 +23,18 @@
|
|
23
23
|
}
|
24
24
|
}
|
25
25
|
|
26
|
+
.form-help {
|
27
|
+
@apply text-sm mt-2 text-slate-600/80 dark:text-slate-500/90;
|
28
|
+
}
|
29
|
+
|
30
|
+
.form-textarea {
|
31
|
+
@apply px-3 py-2 border border-slate-300 bg-white font-normal text-base placeholder:text-slate-500 rounded-lg block w-full focus:outline-hidden focus:ring-4 focus:ring-primary-50 focus:border-primary-500 text-slate-900 dark:bg-slate-800 dark:border-slate-600 dark:focus:ring-primary-400/30 dark:focus:border-slate-500 dark:text-white dark:placeholder:text-slate-400 disabled:bg-slate-100/90 dark:disabled:bg-slate-800/90 disabled:cursor-not-allowed disabled:dark:opacity-70 shadow-xs min-h-[100px];
|
32
|
+
|
33
|
+
&:disabled {
|
34
|
+
@apply bg-slate-100/90 pointer-events-none select-none shadow-none cursor-not-allowed dark:bg-slate-800/90 dark:opacity-70;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
26
38
|
.form-file {
|
27
39
|
@apply block w-full text-sm text-slate-500 dark:text-slate-400
|
28
40
|
file:mr-4 file:py-2 file:px-4
|
@@ -59,8 +71,9 @@
|
|
59
71
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3e%3c/svg%3e");
|
60
72
|
}
|
61
73
|
|
62
|
-
+ label
|
63
|
-
|
74
|
+
+ label,
|
75
|
+
+ .form-label {
|
76
|
+
@apply mb-0 select-none;
|
64
77
|
}
|
65
78
|
}
|
66
79
|
|
@@ -71,8 +84,9 @@
|
|
71
84
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3ccircle cx='10' cy='10' r='4' fill='%23fff'/%3e%3c/svg%3e");
|
72
85
|
}
|
73
86
|
|
74
|
-
+ label
|
75
|
-
|
87
|
+
+ label,
|
88
|
+
+ .form-label {
|
89
|
+
@apply mb-0 select-none;
|
76
90
|
}
|
77
91
|
}
|
78
92
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
@theme {
|
2
|
-
--font-sans:
|
3
|
-
"
|
2
|
+
--font-sans:
|
3
|
+
"Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
|
4
|
+
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
4
5
|
|
5
6
|
--color-primary-50: oklch(0.962 0.0179 272.31); /* #eef2ff */
|
6
7
|
--color-primary-100: oklch(0.93 0.0334 272.79); /* #e0e7ff */
|
@@ -31,6 +31,10 @@
|
|
31
31
|
}
|
32
32
|
}
|
33
33
|
|
34
|
+
.form-help {
|
35
|
+
@apply mt-1 text-sm text-zinc-500 dark:text-zinc-400;
|
36
|
+
}
|
37
|
+
|
34
38
|
.form-textarea {
|
35
39
|
@apply rounded-lg px-4 py-2 border border-zinc-300/80 bg-white focus:border-zinc-500/80 focus:ring-4 focus:ring-zinc-50 focus:shadow-none focus:outline-hidden dark:bg-zinc-800 dark:border-zinc-500/80 dark:focus:border-zinc-500 placeholder-zinc-500/80 dark:focus:ring-zinc-500/40 dark:placeholder:text-zinc-300/60 invalid:focus:border-primary-300 invalid:focus:text-primary-600 invalid:focus:ring-primary-50 min-h-[100px] w-full;
|
36
40
|
|
@@ -170,13 +174,19 @@
|
|
170
174
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3e%3c/svg%3e");
|
171
175
|
}
|
172
176
|
|
173
|
-
+ label
|
174
|
-
|
177
|
+
+ label,
|
178
|
+
+ .form-label {
|
179
|
+
@apply mb-0 select-none;
|
175
180
|
}
|
176
181
|
}
|
177
182
|
|
178
183
|
.form-input-radio {
|
179
184
|
@apply rounded-full border border-zinc-400 focus:ring-2 checked:ring-primary-200 checked:border-primary-600 checked:accent-primary-600 checked:shadow-primary-600 text-primary-600 focus-visible:text-primary-600 focus-visible:ring-primary-200 focus-visible:outline-hidden dark:bg-zinc-700 dark:border-zinc-600 dark:checked:border-primary-400 dark:checked:accent-primary-400;
|
185
|
+
|
186
|
+
+ label,
|
187
|
+
+ .form-label {
|
188
|
+
@apply mb-0 select-none;
|
189
|
+
}
|
180
190
|
}
|
181
191
|
|
182
192
|
.form-input-switch {
|