railsui 3.1.5 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,90 @@
|
|
1
|
+
<%#
|
2
|
+
|
3
|
+
Put a favicon.ico or favicon.svg (preferred) in your public/ folder and add favicon_link_tag "favicon.svg" to your layout inside the <head></head> tags.
|
4
|
+
|
5
|
+
You may optionally reach for the meta_tags gem as I did below and do this all dynamically.
|
6
|
+
|
7
|
+
Below are the recommended tags to include for best discoverability between apps and services. You don't need everything listed to see success but many apps now query open graph tags to find assets and content for link previews so it goes a long way (i.e., Slack, Twitter, Facebook).
|
8
|
+
|
9
|
+
Generate icons:
|
10
|
+
https://redketchup.io/favicon-generator (generate from an image)
|
11
|
+
|
12
|
+
Tip: Before generating icons, I typically start with a icon that is at least 512x512 in size. It can have a transparent background (.png, .svg). Keep it as simple as possible.
|
13
|
+
|
14
|
+
Free editor/vector tool:
|
15
|
+
https://figma.com
|
16
|
+
|
17
|
+
Previewing:
|
18
|
+
https://www.opengraph.xyz/
|
19
|
+
|
20
|
+
|
21
|
+
# Usage:
|
22
|
+
|
23
|
+
Title:
|
24
|
+
Change the title and description tags below to match your own site. The title displays alongside your site name in a given browser tab next to the favicon.
|
25
|
+
|
26
|
+
Description:
|
27
|
+
The description is a good place for one to two sentences describing a page OR what the site is all about. You can tweak this on a per-page basis inside your views or controllers. See the metatags gem documentation on tips for doing so: https://github.com/kpumuk/meta-tags#mirrored-values
|
28
|
+
|
29
|
+
Images:
|
30
|
+
Swap your own images for placeholder ones inside the "assets/images/railsui/meta" folder Rails UI copied to your app (jpg, png).
|
31
|
+
%>
|
32
|
+
|
33
|
+
<%= display_meta_tags(
|
34
|
+
site: "#{Railsui.config.application_name.parameterize}.com", # <!-- change -->,
|
35
|
+
reverse: true,
|
36
|
+
viewport: "width=device-width, initial-scale=1",
|
37
|
+
title: "CHANGE ME",
|
38
|
+
canonical: request.original_url,
|
39
|
+
og: {
|
40
|
+
title: Railsui.config.application_name,
|
41
|
+
type: "website",
|
42
|
+
url: request.original_url,
|
43
|
+
image: [{
|
44
|
+
_: image_url("railsui/meta/opengraph.jpg"),
|
45
|
+
width: 1200,
|
46
|
+
height: 630
|
47
|
+
}],
|
48
|
+
site_name: "#{Railsui.config.application_name.parameterize}.com", # <!-- change -->
|
49
|
+
description: "CHANGE ME",
|
50
|
+
},
|
51
|
+
twitter: {
|
52
|
+
title: :title,
|
53
|
+
description: :description,
|
54
|
+
card: "summary",
|
55
|
+
image: {
|
56
|
+
_: image_url("railsui/meta/opengraph-mark.jpg"),
|
57
|
+
width: 400,
|
58
|
+
height: 400,
|
59
|
+
}
|
60
|
+
},
|
61
|
+
author: Railsui.config.application_name,
|
62
|
+
description: "CHANGE ME",
|
63
|
+
icon: [
|
64
|
+
{
|
65
|
+
href: image_url("railsui/meta/favicon.svg"),
|
66
|
+
sizes: 'any',
|
67
|
+
type: "image/svg+xml"
|
68
|
+
},
|
69
|
+
{
|
70
|
+
href: image_url("railsui/meta/favicon-16x16.png"),
|
71
|
+
sizes: "16x16",
|
72
|
+
type: "images/png"
|
73
|
+
},
|
74
|
+
{
|
75
|
+
href: image_url("railsui/meta/android-chrome-192x192.png"),
|
76
|
+
sizes: '192x192',
|
77
|
+
type: "image/png"
|
78
|
+
},
|
79
|
+
{
|
80
|
+
href: image_url("railsui/meta/android-chrome-512x512.png"),
|
81
|
+
sizes: '512x512',
|
82
|
+
type: "image/png"
|
83
|
+
},
|
84
|
+
{
|
85
|
+
href: image_url("railsui/meta/apple-touch-icon.png"),
|
86
|
+
sizes: '180x180',
|
87
|
+
type: "image/png"
|
88
|
+
}
|
89
|
+
])
|
90
|
+
%>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<!-- Search Modal -->
|
2
|
+
<div class="fixed inset-0 z-50 items-center justify-center hidden transition duration-300 transform bg-black/70 backdrop-blur-sm" data-search-target="modal" data-action="click->search#close">
|
3
|
+
<div class="bg-white dark:bg-neutral-800 rounded-2xl shadow-2xl w-full max-w-2xl mx-4 max-h-[80vh] overflow-hidden" data-action="click->search#preventClose">
|
4
|
+
|
5
|
+
<!-- Search Header -->
|
6
|
+
<div class="p-4 border-b border-neutral-200 dark:border-neutral-700">
|
7
|
+
<div class="relative">
|
8
|
+
<div class="absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none">
|
9
|
+
<svg class="w-5 h-5 text-neutral-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
10
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
|
11
|
+
</svg>
|
12
|
+
</div>
|
13
|
+
<input type="text" class="w-full py-3 pl-10 pr-4 text-lg bg-transparent border-0 focus:ring-0 focus:outline-none placeholder-neutral-500" placeholder="Search conversations or type a command..." data-search-target="input" data-action="input->search#handleInput keydown->search#handleKeydown">
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<div class="overflow-y-auto max-h-96" data-search-target="results">
|
18
|
+
<!-- Search Results. See app/controllers/railui/search_controller.js -->
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<!-- Search Footer -->
|
22
|
+
<div class="p-4 border-t border-neutral-200 bg-neutral-50 dark:border-neutral-700/80 dark:bg-neutral-700">
|
23
|
+
<div class="flex items-center justify-between text-xs text-neutral-500 dark:text-neutral-300">
|
24
|
+
<div class="flex items-center space-x-4">
|
25
|
+
<span>Press <kbd class="px-1.5 py-0.5 bg-white border border-neutral-300 rounded text-neutral-600 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-100">↵</kbd> to select</span>
|
26
|
+
<span>Press <kbd class="px-1.5 py-0.5 bg-white border border-neutral-300 rounded text-neutral-600 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-100">↑↓</kbd> to navigate</span>
|
27
|
+
</div>
|
28
|
+
<span>Press <kbd class="px-1.5 py-0.5 bg-white border border-neutral-300 rounded text-neutral-600 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-100">Esc</kbd> to close</span>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</div>
|
data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/_sidebar.html.erb
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
<aside
|
2
|
+
class="hidden lg:flex flex-col w-64 h-full transition-all duration-300 ease-in-out border-r sidebar-expanded bg-neutral-100 dark:bg-neutral-800 border-neutral-200 dark:border-neutral-700 text-neutral-900 dark:text-neutral-100"
|
3
|
+
data-sidebar-target="container">
|
4
|
+
<%= render "rui/shared/sidebar/header" %>
|
5
|
+
<%= render "rui/shared/sidebar/actions" %>
|
6
|
+
<%= render "rui/shared/sidebar/history" %>
|
7
|
+
</aside>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<!-- Abstract Background SVG -->
|
2
|
+
<div class="absolute inset-0 overflow-hidden delay-100 pointer-events-none animate-slide-up z-10">
|
3
|
+
<svg class="absolute inset-0 w-full h-full" viewBox="0 0 1200 800" fill="none" xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<defs>
|
5
|
+
<linearGradient id="fadeGradientLight" x1="0%" y1="0%" x2="70%" y2="100%">
|
6
|
+
<stop offset="0%" style="stop-color:#4338ca;stop-opacity:0.10" />
|
7
|
+
<stop offset="30%" style="stop-color:#4338ca;stop-opacity:0.09" />
|
8
|
+
<stop offset="70%" style="stop-color:#4338ca;stop-opacity:0.062" />
|
9
|
+
<stop offset="100%" style="stop-color:#4338ca;stop-opacity:0" />
|
10
|
+
</linearGradient>
|
11
|
+
<linearGradient id="fadeGradientDark" x1="0%" y1="0%" x2="70%" y2="100%">
|
12
|
+
<stop offset="0%" style="stop-color:#ffffff;stop-opacity:0.12" />
|
13
|
+
<stop offset="30%" style="stop-color:#ffffff;stop-opacity:0.08" />
|
14
|
+
<stop offset="70%" style="stop-color:#ffffff;stop-opacity:0.04" />
|
15
|
+
<stop offset="100%" style="stop-color:#ffffff;stop-opacity:0" />
|
16
|
+
</linearGradient>
|
17
|
+
</defs>
|
18
|
+
|
19
|
+
<!-- Light mode lines -->
|
20
|
+
<g class="dark:hidden">
|
21
|
+
<path d="M-100,150 Q200,120 400,160 T800,140 T1200,180" stroke="url(#fadeGradientLight)" stroke-width="2"
|
22
|
+
fill="none" opacity="0.6" />
|
23
|
+
<path d="M-150,220 Q150,180 350,210 T750,200 T1150,240" stroke="url(#fadeGradientLight)" stroke-width="1.5"
|
24
|
+
fill="none" opacity="0.4" />
|
25
|
+
<path d="M-80,300 Q220,260 420,290 T820,280 T1220,320" stroke="url(#fadeGradientLight)" stroke-width="1"
|
26
|
+
fill="none" opacity="0.3" />
|
27
|
+
<path d="M-120,380 Q180,340 380,370 T780,360 T1180,400" stroke="url(#fadeGradientLight)" stroke-width="1"
|
28
|
+
fill="none" opacity="0.2" />
|
29
|
+
<path d="M-60,460 Q240,420 440,450 T840,440 T1240,480" stroke="url(#fadeGradientLight)" stroke-width="0.8"
|
30
|
+
fill="none" opacity="0.15" />
|
31
|
+
</g>
|
32
|
+
|
33
|
+
<!-- Dark mode lines -->
|
34
|
+
<g class="hidden dark:block">
|
35
|
+
<path d="M-100,150 Q200,120 400,160 T800,140 T1200,180" stroke="url(#fadeGradientDark)" stroke-width="2"
|
36
|
+
fill="none" opacity="0.6" />
|
37
|
+
<path d="M-150,220 Q150,180 350,210 T750,200 T1150,240" stroke="url(#fadeGradientDark)" stroke-width="1.5"
|
38
|
+
fill="none" opacity="0.4" />
|
39
|
+
<path d="M-80,300 Q220,260 420,290 T820,280 T1220,320" stroke="url(#fadeGradientDark)" stroke-width="1"
|
40
|
+
fill="none" opacity="0.3" />
|
41
|
+
<path d="M-120,380 Q180,340 380,370 T780,360 T1180,400" stroke="url(#fadeGradientDark)" stroke-width="1"
|
42
|
+
fill="none" opacity="0.2" />
|
43
|
+
<path d="M-60,460 Q240,420 440,450 T840,440 T1240,480" stroke="url(#fadeGradientDark)" stroke-width="0.8"
|
44
|
+
fill="none" opacity="0.15" />
|
45
|
+
</g>
|
46
|
+
</svg>
|
47
|
+
</div>
|
data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/blog/_article.html.erb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
<%# locals: (path: rui_blog_show_path, image_name:, category_name:, category_path:, title: , excerpt:, avatar_path:, author:, published_at:, total_minutes:) %>
|
2
|
+
|
3
|
+
<article
|
4
|
+
class="flex flex-col overflow-hidden transition-shadow shadow-sm rounded-3xl outline-1 outline-neutral-300/80 dark:outline-neutral-600/70 hover:shadow-xl dark:shadow-md dark:shadow-black/40">
|
5
|
+
<%= link_to path, class: "shrink-0" do %>
|
6
|
+
<%= image_tag image_name, class: "object-cover w-full h-48", alt: title %>
|
7
|
+
<% end %>
|
8
|
+
<div class="flex flex-col justify-between flex-1 p-6 bg-white dark:bg-neutral-900">
|
9
|
+
<div class="flex-1">
|
10
|
+
<p class="mb-2 text-sm font-medium text-neutral-600 dark:text-neutral-400">
|
11
|
+
<%= link_to category_name, category_path %>
|
12
|
+
</p>
|
13
|
+
|
14
|
+
<%= link_to path, class: "block" do %>
|
15
|
+
<h3 class="mb-3 h4 line-clamp-2"><%= title %></h3>
|
16
|
+
<div class="prose prose-neutral dark:prose-invert">
|
17
|
+
<p><%= excerpt %></p>
|
18
|
+
</div>
|
19
|
+
<% end %>
|
20
|
+
</div>
|
21
|
+
<div class="flex items-center mt-6">
|
22
|
+
<%= image_tag avatar_path, class: "w-10 h-10 rounded-full shrink-0 object-cover", alt: author %>
|
23
|
+
|
24
|
+
<div class="ml-3">
|
25
|
+
<p class="text-sm font-medium text-neutral-900 dark:text-neutral-100">
|
26
|
+
<%= author %>
|
27
|
+
</p>
|
28
|
+
<div class="flex space-x-1 text-sm text-neutral-500 dark:text-neutral-400">
|
29
|
+
<time datetime="#">
|
30
|
+
<%= published_at || Date.today.strftime('%B %d, %Y') %>
|
31
|
+
</time>
|
32
|
+
|
33
|
+
<span aria-hidden="true">·</span>
|
34
|
+
<span><%= total_minutes %> min read</span>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
</article>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<!-- Pagination -->
|
2
|
+
<div class="flex justify-center mt-16">
|
3
|
+
<nav class="flex gap-2 items-center" aria-label="Pagination">
|
4
|
+
<%= link_to "#", class: "btn btn-white size-10" do %>
|
5
|
+
<span class="sr-only">Previous</span>
|
6
|
+
<%= icon "chevron-left", class: "size-5" %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= link_to "1", "#", class: "btn btn-primary dark:bg-black dark:shadow-sm size-10" %>
|
10
|
+
|
11
|
+
<%= link_to "2", "#", class: "btn btn-white size-10" %>
|
12
|
+
<%= link_to "3", "#", class: "btn btn-white size-10" %>
|
13
|
+
|
14
|
+
<span class="btn btn-white size-10 pointer-events-none cursor-none">...</span>
|
15
|
+
<%= link_to "8", "#", class: "btn btn-white size-10" %>
|
16
|
+
<%= link_to "#", class: "btn btn-white size-10" do %>
|
17
|
+
<span class="sr-only">Next</span>
|
18
|
+
<%= icon "chevron-right", class: "size-5" %>
|
19
|
+
<% end %>
|
20
|
+
</nav>
|
21
|
+
</div>
|
data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_form.html.erb
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
<%# locals: (hints: false, menu_position: "up") %>
|
2
|
+
<!-- Chat Input Form -->
|
3
|
+
<div
|
4
|
+
class="fixed bottom-0 left-0 right-0 md:static md:bg-none bg-linear-to-b to-neutral-50 dark:from-transparent dark:to-neutral-950 md:dark:bg-none"
|
5
|
+
data-controller="chat" data-chat-character-count-outlet="#character-count-element">
|
6
|
+
<div id="character-count-element" data-controller="character-count" data-character-count-max-value="3000"
|
7
|
+
data-character-count-warn-at-value="2500">
|
8
|
+
<div class="max-w-2xl mx-auto md:p-0 p-4">
|
9
|
+
<div class="chat-shell">
|
10
|
+
<textarea class="chat-input" placeholder="Type something" data-controller="auto-resize"
|
11
|
+
data-action="keydown->chat#handleKeydown input->chat#setupInputHandling" data-character-count-target="input"
|
12
|
+
data-chat-target="input"></textarea>
|
13
|
+
|
14
|
+
<div class="absolute bottom-2.5 right-2.5 flex items-center gap-3">
|
15
|
+
<div class="flex justify-end">
|
16
|
+
<%= render "rui/shared/chat/model_select", menu_position: menu_position %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<!-- Send Button -->
|
20
|
+
<button
|
21
|
+
type="button"
|
22
|
+
class="flex items-center justify-center text-white transition-all duration-200 rounded-full size-10 bg-neutral-950 hover:bg-neutral-900 disabled:bg-neutral-300 focus:ring-4 focus:ring-neutral-300/80 dark:focus:ring-neutral-700/80 dark:disabled:bg-neutral-600 disabled:opacity-50 disabled:cursor-not-allowed"
|
23
|
+
data-chat-target="send" data-action="click->chat#sendMessage" disabled>
|
24
|
+
<%= icon "arrow-up", class: "size-4" %>
|
25
|
+
</button>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<!-- Attachment Buttons -->
|
29
|
+
<div class="flex items-start gap-3">
|
30
|
+
<div>
|
31
|
+
<input type="file" id="attachment" class="hidden appearance-none">
|
32
|
+
<label for="attachment"
|
33
|
+
class="btn btn-white dark:bg-neutral-800 btn-rounded dark:hover:bg-neutral-900 dark:outline-neutral-600">
|
34
|
+
<%= icon "paper-clip", class: "size-4" %>
|
35
|
+
<span class="hidden text-neutral-800 dark:text-neutral-200 md:block">Attach</span>
|
36
|
+
</label>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div>
|
40
|
+
<input type="checkbox" id="search" class="form-input-button-toggle peer">
|
41
|
+
<label for="search" class="peer-checked:text-green-500">
|
42
|
+
<%= icon "globe-americas", class: "size-4" %>
|
43
|
+
<span class="hidden text-neutral-800 dark:text-neutral-200 md:block">Search</span>
|
44
|
+
</label>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div>
|
48
|
+
<input type="checkbox" id="think" class="form-input-button-toggle peer">
|
49
|
+
<label for="think" class="peer-checked:text-amber-500">
|
50
|
+
<%= icon "light-bulb", class: "size-4" %>
|
51
|
+
<span class="hidden text-neutral-800 dark:text-neutral-200 md:block">Think</span>
|
52
|
+
</label>
|
53
|
+
</div>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
|
57
|
+
<% if hints %>
|
58
|
+
<%= render "rui/shared/chat/key_legend" %>
|
59
|
+
<% end %>
|
60
|
+
</div>
|
61
|
+
</div>
|
62
|
+
</div>
|
data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_header.html.erb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
<!-- Header -->
|
2
|
+
<header
|
3
|
+
class="sticky top-0 z-20 p-4 shrink-0 bg-neutral-50/90 backdrop-blur-sm dark:bg-neutral-900/80 flex items-center justify-between gap-3 md:border-none border-b border-neutral-300/60">
|
4
|
+
<div>
|
5
|
+
<%= icon "logo", custom_path: "/railsui/logo.svg", class: "size-6 dark:fill-neutral-100 fill-neutral-900 shrink-0 lg:hidden block", variant: :solid %>
|
6
|
+
</div>
|
7
|
+
<div class="flex items-center justify-end gap-3">
|
8
|
+
<%= link_to rui_chat_new_path, class: "btn btn-rounded btn-ghost size-8" do %>
|
9
|
+
<%= icon "pencil-square", class: "size-5 stroke-current shrink-0" %>
|
10
|
+
<span class="sr-only">New Chat</span>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<button type="button" class="btn-rounded btn btn-ghost size-8">
|
14
|
+
<%= icon "bookmark", class: "size-5 shrink-0" %>
|
15
|
+
<span class="sr-only">Bookmark</span>
|
16
|
+
</button>
|
17
|
+
|
18
|
+
<div data-controller="railsui-dropdown" class="relative">
|
19
|
+
<button data-action="railsui-dropdown#toggle click@window->railsui-dropdown#hide" type="button"
|
20
|
+
class="btn-rounded btn btn-ghost size-8">
|
21
|
+
<%= icon "ellipsis-vertical", class: "size-5 shrink-0 stroke-current" %>
|
22
|
+
</button>
|
23
|
+
<span class="sr-only">More</span>
|
24
|
+
<ul data-railsui-dropdown-target="menu"
|
25
|
+
class="absolute md:right-0 right-auto -left-[164px] z-10 transition origin-top dropdown-menu top-10"
|
26
|
+
data-transition-enter-active="transition ease-out duration-50"
|
27
|
+
data-transition-enter-from="transform opacity-0 scale-95"
|
28
|
+
data-transition-enter-to="transform opacity-100 scale-100"
|
29
|
+
data-transition-leave-active="transition ease-in duration-100"
|
30
|
+
data-transition-leave-from="transform opacity-100 scale-100"
|
31
|
+
data-transition-leave-to="transform opacity-0 scale-95">
|
32
|
+
<li><%= link_to "Move to project", "#", class: "dropdown-item" %></li>
|
33
|
+
<li><%= button_to "Delete", "#", class: "text-red-500 dropdown-item dark:text-red-600" %></li>
|
34
|
+
</li>
|
35
|
+
</ul>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
<button type="button" class="btn-rounded btn btn-white" data-controller="railsui-clipboard"
|
39
|
+
data-action="railsui-clipboard#copy">
|
40
|
+
<%= icon "arrow-up-tray", class: "size-4 shrink-0" %>
|
41
|
+
Share
|
42
|
+
<input type="hidden" id="share" value="https://railsui.com/chat/XDRSLG" data-railsui-clipboard-target="content"
|
43
|
+
class="hidden" readonly>
|
44
|
+
</button>
|
45
|
+
<%= render "rui/shared/account_dropdown" %>
|
46
|
+
</div>
|
47
|
+
</header>
|
data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_history.html.erb
ADDED
@@ -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>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div class="px-4 pb-3 mt-4 text-xs text-neutral-500 dark:text-neutral-400">
|
2
|
+
<div class="flex items-center justify-between">
|
3
|
+
<div class="flex items-center space-x-3">
|
4
|
+
<span>Press <kbd class="px-1.5 py-0.5 bg-neutral-100 dark:bg-neutral-700 rounded font-mono text-xs">Enter</kbd> to send</span>
|
5
|
+
<span class="hidden sm:inline">• <kbd class="px-1.5 py-0.5 bg-neutral-100 dark:bg-neutral-700 rounded font-mono text-xs">Shift+Enter</kbd> for new line</span>
|
6
|
+
</div>
|
7
|
+
<div class="flex items-center space-x-2">
|
8
|
+
<span class="text-xs transition-colors duration-200 cc-label" data-character-count-target="counter">0/4000</span>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
</div>
|
data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_link.html.erb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
<%# locals: (href: "#", title: "", active: false) %>
|
2
|
+
|
3
|
+
<%= link_to href, class: class_names(
|
4
|
+
'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',
|
5
|
+
active: "bg-neutral-200 dark:bg-neutral-700"
|
6
|
+
), data: { sidebar_target: 'chatLink' } do %>
|
7
|
+
<span class="flex-1 truncate transition-opacity duration-200" data-sidebar-target="chatTitle"><%= title %></span>
|
8
|
+
|
9
|
+
<div class="opacity-0 group-hover:opacity-100 transition-opacity shrink-0 flex gap-1" data-sidebar-target="chatActions">
|
10
|
+
<button type="button" class="p-1 hover:bg-neutral-300 dark:hover:bg-neutral-600 rounded text-neutral-600 dark:text-neutral-400" title="Edit">
|
11
|
+
<%= icon "pencil-square", class: "size-3.5" %>
|
12
|
+
</button>
|
13
|
+
<button type="button" class="p-1 hover:bg-neutral-300 dark:hover:bg-neutral-600 rounded text-neutral-600 dark:text-neutral-400" title="Delete">
|
14
|
+
<%= icon "trash", class: "size-3.5" %>
|
15
|
+
</button>
|
16
|
+
</div>
|
17
|
+
<% end %>
|
data/lib/generators/railsui/install/templates/themes/corgie/views/rui/shared/chat/_message.html.erb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
<%# locals: (user: false) %>
|
2
|
+
|
3
|
+
<% if user %>
|
4
|
+
<article class="relative group">
|
5
|
+
<div class="flex justify-end mb-1">
|
6
|
+
<div class="chat">
|
7
|
+
<div class="prose prose-neutral dark:prose-invert" data-controller="markdown hightlight code-block" data-markdown-target="content">
|
8
|
+
<%= yield %>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<div class="flex justify-end transition-opacity duration-300 opacity-0 group-hover:opacity-100">
|
13
|
+
<button type="button" class="btn btn-ghost size-8 btn-rounded group" data-controller="railsui-tooltip" data-railsui-tooltip-content-value="Edit">
|
14
|
+
<%= icon "pencil", custom_path: "/railsui/icons/pencil.svg", class: "size-4 stroke-current shrink-0 stroke-[2] stroke-neutral-500 group-hover:stroke-neutral-600 dark:group-hover:stroke-neutral-400 dark:hover:stroke-neutral-200" %>
|
15
|
+
<span class="sr-only">Edit</span>
|
16
|
+
</button>
|
17
|
+
|
18
|
+
<button type="button" class="btn btn-ghost size-8 group btn-rounded" data-controller="railsui-tooltip railsui-clipboard" data-action="railsui-clipboard#copy" data-railsui-tooltip-content-value="Copy">
|
19
|
+
<input type="hidden" data-railsui-clipboard-target="content" value="Message content goes here..." class="hidden" readonly>
|
20
|
+
<%= icon "copy", custom_path: "/railsui/icons/copy.svg", class: "size-4 stroke-current shrink-0 stroke-[2] stroke-neutral-500 group-hover:stroke-neutral-600 dark:group-hover:stroke-neutral-400 dark:hover:stroke-neutral-200" %>
|
21
|
+
<span class="sr-only">Copy</span>
|
22
|
+
</button>
|
23
|
+
</div>
|
24
|
+
</article>
|
25
|
+
|
26
|
+
<% else %>
|
27
|
+
<article class="relative w-full group">
|
28
|
+
<div class="absolute top-0 flex flex-col transition-opacity duration-300 opacity-0 -left-10 group-hover:opacity-100">
|
29
|
+
<button type="button" class="btn btn-ghost size-8 group btn-rounded" data-controller="railsui-tooltip railsui-clipboard" data-action="railsui-clipboard#copy" data-railsui-tooltip-content-value="Copy">
|
30
|
+
<input type="hidden" data-railsui-clipboard-target="content" value="Message content goes here..." class="hidden" readonly>
|
31
|
+
<%= icon "copy", custom_path: "/railsui/icons/copy.svg", class: "size-4 stroke-current shrink-0 stroke-[2] stroke-neutral-500 group-hover:stroke-neutral-600 dark:group-hover:stroke-neutral-400 dark:hover:stroke-neutral-200" %>
|
32
|
+
<span class="sr-only">Copy</span>
|
33
|
+
</button>
|
34
|
+
</div>
|
35
|
+
<div class="max-w-full pb-2 mb-2 prose prose-neutral dark:prose-invert border-neutral-300/80 dark:border-neutral-700/80 prose-pre:p-0 prose-pre:bg-transparent prose-pre:border dark:prose-pre:border-neutral-700/80" data-controller="markdown highlight code-block" data-markdown-target="content" data-highlight-target="code">
|
36
|
+
<%= yield %>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<footer class="flex items-center gap-3">
|
40
|
+
<button type="button" class="size-6 btn btn-rounded btn-ghost group" data-controller="railsui-tooltip" data-railsui-tooltip-content-value="Regenerate">
|
41
|
+
<%= icon "arrow-path", class: "size-4 stroke-current shrink-0 stroke-neutral-500 stroke-[2] group-hover:stroke-neutral-600 dark:group-hover:stroke-neutral-400 dark:hover:stroke-neutral-200" %>
|
42
|
+
|
43
|
+
<span class="sr-only">Regenerate</span>
|
44
|
+
</button>
|
45
|
+
|
46
|
+
<button type="button" class="size-6 btn btn-rounded btn-ghost group" data-controller="railsui-tooltip railsui-clipboard" data-action="railsui-clipboard#copy" data-railsui-tooltip-content-value="Copy">
|
47
|
+
<input type="hidden" data-railsui-clipboard-target="content" value="Message content goes here..." class="hidden" readonly>
|
48
|
+
<%= icon "copy", custom_path: "/railsui/icons/copy.svg", class: "size-4 stroke-current shrink-0 stroke-neutral-500 stroke-[2] group-hover:stroke-neutral-600 dark:group-hover:stroke-neutral-400 dark:hover:stroke-neutral-200" %>
|
49
|
+
<span class="sr-only">Copy</span>
|
50
|
+
</button>
|
51
|
+
|
52
|
+
<button type="button" class="size-6 btn btn-rounded btn-ghost group" data-controller="railsui-tooltip railsui-clipboard" data-railsui-tooltip-content-value="Copy share link" data-action="railsui-clipboard#copy">
|
53
|
+
<input type="hidden" data-railsui-clipboard-target="content" value="https://railsui.com/chat/XDRSLG" class="hidden" readonly>
|
54
|
+
<%= icon "arrow-up-tray", class: "size-4 stroke-current shrink-0 stroke-neutral-500 stroke-[2] group-hover:stroke-neutral-600 dark:group-hover:stroke-neutral-400 dark:hover:stroke-neutral-200" %>
|
55
|
+
<span class="sr-only">Share</span>
|
56
|
+
</button>
|
57
|
+
|
58
|
+
<button type="button" class="size-6 btn btn-rounded btn-ghost group" data-controller="railsui-tooltip" data-railsui-tooltip-content-value="Like">
|
59
|
+
<%= icon "hand-thumb-up", class: "size-4 stroke-current shrink-0 stroke-neutral-500 stroke-[2] group-hover:stroke-neutral-600 dark:group-hover:stroke-neutral-400 dark:hover:stroke-neutral-200" %>
|
60
|
+
<span class="sr-only">Like</span>
|
61
|
+
</button>
|
62
|
+
|
63
|
+
<button type="button" class="size-6 btn btn-rounded btn-ghost group" data-controller="railsui-tooltip" data-railsui-tooltip-content-value="Dislike">
|
64
|
+
<%= icon "hand-thumb-down", class: "size-4 stroke-current shrink-0 stroke-neutral-500 stroke-[2] group-hover:stroke-neutral-600 dark:group-hover:stroke-neutral-400 dark:hover:stroke-neutral-200" %>
|
65
|
+
<span class="sr-only">Dislike</span>
|
66
|
+
</button>
|
67
|
+
</footer>
|
68
|
+
</article>
|
69
|
+
<% end %>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<%# locals: (menu_position: "down") %>
|
2
|
+
|
3
|
+
<div class="relative flex justify-end w-64" data-controller="railsui-combobox" data-action="click@window->railsui-combobox#handleOutsideClick" data-railsui-combobox-active-class-value="bg-white cursor-pointer text-neutral-800 dark:hover:bg-neutral-800 dark:bg-neutral-700 dark:text-neutral-100" data-railsui-combobox-inactive-class-value="bg-white cursor-pointer text-neutral-800 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100">
|
4
|
+
|
5
|
+
<!-- Hidden input for form submission -->
|
6
|
+
<input type="hidden" name="selected_option" data-railsui-combobox-target="hiddenInput" />
|
7
|
+
|
8
|
+
<!-- Top-level combobox button -->
|
9
|
+
<div aria-expanded="false" aria-controls="combobox-list" aria-labelledby="combobox-label" data-action="click->railsui-combobox#toggleDropdown keydown.enter->railsui-combobox#toggleDropdown" data-railsui-combobox-target="box" role="combobox" tabindex="0" class="btn btn-ghost btn-rounded">
|
10
|
+
<span id="combobox-label" class="sr-only">Corg 3</span>
|
11
|
+
<span data-railsui-combobox-target="text">Corg 3</span>
|
12
|
+
<%= icon "chevron-down", class: "size-4 stroke-current" %>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<!-- combobox dropdown -->
|
16
|
+
<div data-railsui-combobox-target="list" data-transition-enter-from="opacity-0 scale-95" data-transition-enter-to="opacity-100 scale-100" data-transition-leave-from="opacity-100 scale-100" data-transition-leave-to="opacity-0 scale-95" data-action="keydown.esc->railsui-combobox#hideDropdown" class="dropdown-menu <%= menu_position == "up" ? "left-0 top-auto bottom-10 origin-bottom" : "origin-top md:top-10 md:bottom-auto bottom-10" %>" role="listbox" aria-labelledby="combobox-label">
|
17
|
+
|
18
|
+
<!-- Search input inside dropdown -->
|
19
|
+
<div class="p-2">
|
20
|
+
<label for="combobox-search" class="sr-only">Search</label>
|
21
|
+
<div class="relative">
|
22
|
+
<input id="combobox-search" type="text" placeholder="Search..." autocomplete="off" aria-autocomplete="list" data-railsui-combobox-target="input" data-action="input->railsui-combobox#filter keydown->railsui-combobox#handleKeydown" class="rounded-3xl pr-3 pl-8 py-1.5 border border-neutral-400/40 bg-white dark:bg-neutral-800 dark:text-neutral-100 focus:border-neutral-400/80 focus:ring-4 focus:ring-neutral-400/10 dark:border-neutral-700/80 dark:focus:ring-neutral-600/10 dark:placeholder:text-neutral-500 focus:shadow-none focus:outline-none placeholder-neutral-600/80 font-normal antialiased font-sans w-full shadow-neutral-200/30 shadow-sm dark:shadow-none">
|
23
|
+
<%= icon "magnifying-glass", class: "size-4 top-3 left-3 absolute stroke-neutral-400" %>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
|
27
|
+
<!-- List of options -->
|
28
|
+
<ul role="presentation">
|
29
|
+
<li id="option-1" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-railsui-combobox-target="option" data-value="corg-3" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer text-neutral-800 hover:bg-neutral-100 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" role="option" tabindex="0">
|
30
|
+
Corg 3
|
31
|
+
|
32
|
+
<span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
|
33
|
+
<%= icon "check", class: "text-neutral-500 dark:text-neutral-50 size-4" %>
|
34
|
+
</span>
|
35
|
+
</li>
|
36
|
+
<li id="option-2" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-value="corg-3.5" data-railsui-combobox-target="option" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer text-neutral-800 hover:bg-neutral-100 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" role="option" tabindex="0">
|
37
|
+
Corg 3.5
|
38
|
+
<span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
|
39
|
+
<%= icon "check", class: "text-neutral-500 dark:text-neutral-50 size-4" %>
|
40
|
+
</span>
|
41
|
+
</li>
|
42
|
+
<li id="option-3" aria-selected="false" data-action="click->railsui-combobox#selectOption keydown.enter->railsui-combobox#selectOption" data-railsui-combobox-target="option" data-value="corg-4" class="flex items-center justify-between px-4 py-2 bg-white cursor-pointer hover:bg-neutral-100 text-neutral-800 dark:hover:bg-neutral-900 dark:bg-neutral-800 dark:text-neutral-100 aria-selected:dark:hover:bg-neutral-900 arias-selected:dark:bg-neutral-900 aria-selected:dark:text-neutral-100" tabindex="0" role="option">
|
43
|
+
Corg 4
|
44
|
+
<span data-railsui-combobox-target="checkmark" class="hidden" aria-hidden="true">
|
45
|
+
<%= icon "check", class: "text-neutral-500 dark:text-neutral-50 size-4" %>
|
46
|
+
</span>
|
47
|
+
</li>
|
48
|
+
</ul>
|
49
|
+
|
50
|
+
<!-- No results message -->
|
51
|
+
<div data-railsui-combobox-target="noresults" class="hidden px-4 py-2 text-neutral-500" aria-hidden="true">
|
52
|
+
No results found
|
53
|
+
</div>
|
54
|
+
</div>
|
55
|
+
</div>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%# locals: (bg_class:"", title:, description: , primary_text:, primary_link:, secondary_text: nil, secondary_link: nil) %>
|
2
|
+
|
3
|
+
<!-- Call-to-Action Section -->
|
4
|
+
<div class="<%= bg_class.present? ? bg_class : "px-6 py-20 bg-neutral-50 dark:bg-neutral-900/50" %>">
|
5
|
+
<div class="max-w-4xl mx-auto text-center">
|
6
|
+
<h2 class="mb-6 h2"><%= title %></h2>
|
7
|
+
<p class="mb-8 text-xl text-neutral-600 dark:text-neutral-400"> <%= description %>
|
8
|
+
</p>
|
9
|
+
<div class="flex flex-col gap-4 sm:flex-row sm:justify-center">
|
10
|
+
<%= link_to primary_text, primary_link, class: "btn btn-white" %>
|
11
|
+
<% if secondary_text %>
|
12
|
+
<%= link_to secondary_text, secondary_link, class: "btn btn-white" %>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<%# locals:(icon_name: "code-bracket", icon_class: "size-5 text-green-600", icon_container_class: "size-12 bg-green-100", title: nil, title_class: "h6 my-1",
|
2
|
+
description: nil, button_text: "View Docs", button_class: "btn btn-primary", button_url: "#") %>
|
3
|
+
|
4
|
+
<!-- Feature Card Component -->
|
5
|
+
<div class="text-center">
|
6
|
+
<div class="flex items-center justify-center mx-auto mb-6 rounded-lg <%= icon_container_class %>">
|
7
|
+
<%= icon icon_name, class: icon_class %>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<% if title %>
|
11
|
+
<h3 class="<%= title_class %>"><%= title %></h3>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<% if description %>
|
15
|
+
<div class="prose-sm prose-neutral dark:prose-invert mb-4 text-center">
|
16
|
+
<p><%= description %></p>
|
17
|
+
</div>
|
18
|
+
<% end %>
|
19
|
+
|
20
|
+
<% if button_url %>
|
21
|
+
<%= link_to button_text, button_url, class: button_class %>
|
22
|
+
<% end %>
|
23
|
+
</div>
|