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,63 @@
|
|
1
|
+
<%= render layout: example, locals: { heading: "Confirmation", section: "Authentication" } do %>
|
2
|
+
<div class=" border border-neutral-200 rounded-3xl overflow-hidden dark:border-neutral-700">
|
3
|
+
<div class="flex min-h-screen bg-white dark:bg-neutral-900">
|
4
|
+
<%= render "rui/shared/flash" %>
|
5
|
+
<div class="flex items-center justify-center w-full px-6 lg:w-5/12">
|
6
|
+
<div class="w-full max-w-sm space-y-8">
|
7
|
+
<div class="flex flex-col items-center justify-center gap-4">
|
8
|
+
<%= link_to root_path, class: "flex items-center gap-2.5 shrink-0" do %>
|
9
|
+
<!-- Corgie logo -->
|
10
|
+
<%= icon "logo.svg", custom_path: "/railsui/logo.svg", class: "size-6 fill-current", variant: :solid %>
|
11
|
+
|
12
|
+
<span class="h4 font-semibold">Corgie</span>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<% if content_for?(:title) %>
|
16
|
+
<p class="text-neutral-500 dark:text-neutral-400">
|
17
|
+
<%= yield :title %>
|
18
|
+
</p>
|
19
|
+
<% end %>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<%= form_with(url: "#", builder: Railsui::FormBuilder) do |f| %>
|
23
|
+
<%= f.form_group do %>
|
24
|
+
<%= f.email_field :email, label: "Email", placeholder: "Enter email", required: true %>
|
25
|
+
<% end %>
|
26
|
+
|
27
|
+
<%= f.submit "Resend confirmation instructions", class: "w-full btn btn-lg btn-primary" %>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
<div class="relative hidden overflow-hidden lg:flex lg:w-7/12 bg-neutral-950">
|
32
|
+
<%= image_tag "railsui/auth-bg.jpg", alt: "Authentication visual with pulse animation", class: "absolute inset-0 object-cover w-full h-full opacity-20 animate-auth-ambient" %>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
|
38
|
+
<% content_for :example, flush: true do %>
|
39
|
+
<% content_for :html, flush: true do %>
|
40
|
+
|
41
|
+
<% end %>
|
42
|
+
|
43
|
+
<% content_for :erb, flush: true do %>
|
44
|
+
<!-- app/views/devise/confirmations/new.html.erb -->
|
45
|
+
<%% content_for :title, "Resend confirmation instructions" %>
|
46
|
+
|
47
|
+
<%%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }, builder: Railsui::FormBuilder) do |f| %>
|
48
|
+
<%%= render "rui/shared/error_messages", resource: f.object %>
|
49
|
+
|
50
|
+
<%%= f.form_group do %>
|
51
|
+
<%%= f.email_field :email, label: "Email", placeholder: "Enter email", required: true %>
|
52
|
+
<%% end %>
|
53
|
+
|
54
|
+
<%%= f.submit "Resend confirmation instructions", class: "btn btn-primary w-full" %>
|
55
|
+
<%% end %>
|
56
|
+
<% end %>
|
57
|
+
|
58
|
+
|
59
|
+
<%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
|
60
|
+
<% end %>
|
61
|
+
<% end %>
|
62
|
+
|
63
|
+
<%= system_pagination(prev_path: systems_authentication_devise_reset_password_path, prev_text: "Reset password", next_path: systems_authentication_devise_edit_path, next_text: "Edit account") %>
|
@@ -0,0 +1,103 @@
|
|
1
|
+
<%= render layout: example, locals: { heading: "Edit account", section: "Authentication" } do %>
|
2
|
+
|
3
|
+
<div class=" border border-neutral-200 rounded-3xl overflow-hidden dark:border-neutral-700">
|
4
|
+
<div class="flex min-h-screen bg-white dark:bg-neutral-900">
|
5
|
+
<%= render "rui/shared/flash" %>
|
6
|
+
<div class="flex items-center justify-center w-full px-6 lg:w-5/12">
|
7
|
+
<div class="w-full max-w-sm space-y-8">
|
8
|
+
<div class="flex flex-col items-center justify-center gap-4">
|
9
|
+
<%= link_to root_path, class: "flex items-center gap-2.5 shrink-0" do %>
|
10
|
+
<!-- Corgie logo -->
|
11
|
+
<%= icon "logo.svg", custom_path: "/railsui/logo.svg", class: "size-6 fill-current", variant: :solid %>
|
12
|
+
|
13
|
+
<span class="h4 font-semibold">Corgie</span>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<% if content_for?(:title) %>
|
17
|
+
<p class="text-neutral-500 dark:text-neutral-400">
|
18
|
+
<%= yield :title %>
|
19
|
+
</p>
|
20
|
+
<% end %>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<%= form_with(url: "#", builder: Railsui::FormBuilder) do |f| %>
|
24
|
+
|
25
|
+
<%= f.form_group do %>
|
26
|
+
<%= f.email_field :email, label: "Email", placeholder: "Enter email", value: "john.doe@example.com" %>
|
27
|
+
<% end %>
|
28
|
+
|
29
|
+
<%= f.form_group do %>
|
30
|
+
<%= f.password_field :password, label: "New password", placeholder: "Enter password", help: "Leave this blank if you don't want to change it." %>
|
31
|
+
<% end %>
|
32
|
+
|
33
|
+
<%= f.form_group do %>
|
34
|
+
<%= f.password_field :password_confirmation, label: "Confirm password", placeholder: "Confirm password", help: "Your current password is required to update your account." %>
|
35
|
+
<% end %>
|
36
|
+
|
37
|
+
<%= f.form_group do %>
|
38
|
+
<%= f.password_field :current_password, label: "Current password", placeholder: "Enter current password" %>
|
39
|
+
<% end %>
|
40
|
+
|
41
|
+
<%= f.submit "Update account", class: "w-full btn btn-lg btn-primary" %>
|
42
|
+
<% end %>
|
43
|
+
|
44
|
+
<hr class="my-6">
|
45
|
+
|
46
|
+
<%= button_to "Delete account", "#", method: :delete, data: { confirm: "Are you sure you want to delete your account?" }, class: "btn btn-danger btn-lg w-full" %>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
<div class="relative hidden overflow-hidden lg:flex lg:w-7/12 bg-neutral-950">
|
50
|
+
<%= image_tag "railsui/auth-bg.jpg", alt: "Authentication visual with pulse animation", class: "absolute inset-0 object-cover w-full h-full opacity-20 animate-auth-ambient" %>
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
|
55
|
+
|
56
|
+
<% content_for :example, flush: true do %>
|
57
|
+
<% content_for :html, flush: true do %>
|
58
|
+
|
59
|
+
<% end %>
|
60
|
+
|
61
|
+
<% content_for :erb, flush: true do %>
|
62
|
+
<!-- app/views/devise/registrations/edit.html.erb -->
|
63
|
+
<%% content_for :title, "Edit account" %>
|
64
|
+
|
65
|
+
<%% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
|
66
|
+
<div class="bg-neutral-50/90 text-neutral-700 border-l-4 border-neutral-700 py-4 pr-4 pl-6 text-sm dark:bg-neutral-50/10 dark:text-neutral-50 dark:border-neutral-400 mt-6">
|
67
|
+
<p class="text-neutral-800 dark:text-neutral-400 ">Currently waiting on confirmation for: <span class="font-semibold"><%%= resource.unconfirmed_email %></span></p>
|
68
|
+
</div>
|
69
|
+
<%% end %>
|
70
|
+
|
71
|
+
<%%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }, builder: Railsui::FormBuilder) do |f| %>
|
72
|
+
<%%= f.form_group do %>
|
73
|
+
<%%= f.email_field :email, label: "Email", placeholder: "Enter email", value: "john.doe@example.com" %>
|
74
|
+
<%% end %>
|
75
|
+
|
76
|
+
<%%= f.form_group do %>
|
77
|
+
<%%= f.password_field :password, label: "New password", placeholder: "Enter password", help: "Leave this blank if you don't want to change it." %>
|
78
|
+
<%% end %>
|
79
|
+
|
80
|
+
<%%= f.form_group do %>
|
81
|
+
<%%= f.password_field :password_confirmation, label: "Confirm password", placeholder: "Confirm password", help: "Your current password is required to update your account." %>
|
82
|
+
<%% end %>
|
83
|
+
|
84
|
+
<%%= f.form_group do %>
|
85
|
+
<%%= f.password_field :current_password, label: "Current password", placeholder: "Enter current password" %>
|
86
|
+
<%% end %>
|
87
|
+
|
88
|
+
<%%= f.submit "Update account", class: "w-full btn btn-lg btn-primary" %>
|
89
|
+
<%% end %>
|
90
|
+
|
91
|
+
<hr class="my-6">
|
92
|
+
|
93
|
+
<%%= button_to "Delete account", registration_path(resource_name), method: :delete, data: { confirm: "Are you sure you want to delete your account?" }, class: "btn btn-danger btn-lg w-full" %>
|
94
|
+
|
95
|
+
<% end %>
|
96
|
+
|
97
|
+
|
98
|
+
<%= render_snippet active_tab: "erb", erb_filename: "edit.html.erb" %>
|
99
|
+
|
100
|
+
<% end %>
|
101
|
+
<% end %>
|
102
|
+
|
103
|
+
<%= system_pagination(prev_path: systems_authentication_devise_confirmation_path, prev_text: "Confirmation", next_path: systems_authentication_devise_unlocks_path, next_text: "Unlock") %>
|
@@ -0,0 +1,225 @@
|
|
1
|
+
<div id="auth-prerequisites">
|
2
|
+
<div class="prose prose-neutral dark:prose-invert mb-6">
|
3
|
+
<h3>Prerequisites</h3>
|
4
|
+
|
5
|
+
<p>In the version 3 of Rails UI, direct integration with <a href="https://rubygems.org/gems/devise/" target="_blank">Devise</a> was dropped in favor of a more flexible approach that is based on code snippets you copy and paste into your app.</p>
|
6
|
+
|
7
|
+
<p>If you use Devise, these snippets should give you a head start on all the views generated when running/having run <code>rails generate devise:views</code>. Not using Devise? Check out the <%= link_to "static version", systems_authentication_static_overview_path %>.</p>
|
8
|
+
|
9
|
+
|
10
|
+
<p>Here are the pages you'll find in the Devise authentication system:</p>
|
11
|
+
|
12
|
+
<ul>
|
13
|
+
<li><%= link_to("Sign up", systems_authentication_devise_signup_path) %></li>
|
14
|
+
<li><%= link_to("Sign in", systems_authentication_devise_signin_path) %></li>
|
15
|
+
<li><%= link_to("Change password", systems_authentication_devise_change_password_path) %></li>
|
16
|
+
<li><%= link_to("Reset password", path: systems_authentication_devise_reset_password_path) %></li>
|
17
|
+
<li><%= link_to("Confirmation", systems_authentication_devise_confirmation_path) %></li>
|
18
|
+
<li><%= link_to("Edit account", systems_authentication_devise_edit_path) %></li>
|
19
|
+
<li><%= link_to("Unlock", systems_authentication_devise_unlocks_path) %></li>
|
20
|
+
</ul>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
|
25
|
+
<div id="auth-global-layout" class="py-6">
|
26
|
+
<div class="prose prose-neutral dark:prose-invert my-6 max-w-full">
|
27
|
+
<h3>Main Layout</h3>
|
28
|
+
<p>Add a new layout called <code>devise.html.erb</code> to the <code>app/views/layouts</code> directory. You can copy the code from <code>app/views/layouts/rui/railsui_auth.html.erb</code> to this file and modify it as needed. Historically, just adding a layout named <code>devise.html.erb</code> to the <code>app/views/layouts</code> directory is sufficient but it might require additional configuration to overide the devise defaults.</p>
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<% content_for :html, flush: true do %>
|
32
|
+
|
33
|
+
<% end %>
|
34
|
+
|
35
|
+
<% content_for :erb, flush: true do %>
|
36
|
+
<!-- app/views/layouts/devise.html.erb-->
|
37
|
+
<!DOCTYPE html>
|
38
|
+
<html lang="en">
|
39
|
+
<head>
|
40
|
+
<title>
|
41
|
+
<%%= Railsui.config.application_name || "Rails UI" %>
|
42
|
+
</title>
|
43
|
+
<meta charset="UTF-8" />
|
44
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
45
|
+
<meta name="apple-mobile-web-app-capable" content="yes">
|
46
|
+
|
47
|
+
<%%= csrf_meta_tags %>
|
48
|
+
<%%= csp_meta_tag %>
|
49
|
+
|
50
|
+
<%%= yield :head %>
|
51
|
+
|
52
|
+
<%%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
|
53
|
+
<%%= javascript_include_tag "application", "data-turbo-track": "reload", type: "module" %>
|
54
|
+
|
55
|
+
<%%= railsui_head %>
|
56
|
+
</head>
|
57
|
+
|
58
|
+
<body class="<%%= railsui_body_classes %>">
|
59
|
+
<div class="flex min-h-screen bg-white dark:bg-neutral-900">
|
60
|
+
<%%= render "rui/shared/flash" %>
|
61
|
+
<div class="flex items-center justify-center w-full px-6 lg:w-5/12">
|
62
|
+
<div class="w-full max-w-sm space-y-8">
|
63
|
+
<div class="flex flex-col items-center justify-center gap-4">
|
64
|
+
<%%= link_to root_path, class: "flex items-center gap-2.5 shrink-0" do %>
|
65
|
+
<!-- Corgie logo -->
|
66
|
+
<%%= icon "logo.svg", custom_path: "/railsui/logo.svg", class: "size-6 fill-current", variant: :solid %>
|
67
|
+
|
68
|
+
<span class="h4"><%%= Railsui.config.application_name || "Corgie" %></span>
|
69
|
+
<%% end %>
|
70
|
+
|
71
|
+
<%% if content_for?(:title) %>
|
72
|
+
<p class="text-neutral-500 dark:text-neutral-400">
|
73
|
+
<%%= yield :title %>
|
74
|
+
</p>
|
75
|
+
<%% end %>
|
76
|
+
</div>
|
77
|
+
|
78
|
+
<%% if devise_mapping.omniauthable? && %w{ registrations sessions }.include?(controller_name) %>
|
79
|
+
<div class="space-y-3 mb-6">
|
80
|
+
<%% resource_class.omniauth_providers.each do |provider| %>
|
81
|
+
<%%= button_to omniauth_authorize_path(resource_name, provider), class: "w-full gap-3 btn btn-white btn-lg", data: { turbo: false } do %>
|
82
|
+
<%%= icon "#{provider.gsub(/\s+/, '').downcase}", custom_path: "/railsui/icons/social/#{provider.gsub(/\s+/, '').downcase}.svg", class: "size-4" %>
|
83
|
+
<span>"Continue in with <%%= OmniAuth::Utils.camelize(provider) %></span>
|
84
|
+
<%% end %>
|
85
|
+
<%% end %>
|
86
|
+
<%% end %>
|
87
|
+
</div>
|
88
|
+
|
89
|
+
<!-- Divider -->
|
90
|
+
<div class="relative">
|
91
|
+
<div class="absolute inset-0 flex items-center">
|
92
|
+
<div class="w-full border-t border-neutral-300 dark:border-neutral-600"></div>
|
93
|
+
</div>
|
94
|
+
<div class="relative flex justify-center text-sm">
|
95
|
+
<span class="px-2 bg-white text-neutral-500 dark:bg-neutral-900 dark:text-neutral-400">Or continue with email</span>
|
96
|
+
</div>
|
97
|
+
</div>
|
98
|
+
<%% end %>
|
99
|
+
|
100
|
+
<%%= yield %>
|
101
|
+
</div>
|
102
|
+
</div>
|
103
|
+
<div class="relative hidden overflow-hidden lg:flex lg:w-7/12 bg-neutral-950">
|
104
|
+
<%%= image_tag "railsui/auth-bg.jpg", alt: "Authentication visual with pulse animation", class: "absolute inset-0 object-cover w-full h-full opacity-20 animate-auth-ambient" %>
|
105
|
+
</div>
|
106
|
+
</div>
|
107
|
+
<%%= railsui_launcher if Rails.env.development? %>
|
108
|
+
</body>
|
109
|
+
</html>
|
110
|
+
<% end %>
|
111
|
+
|
112
|
+
<%= render_snippet(active_tab: "erb", erb_filename: "devise.html.erb") %>
|
113
|
+
|
114
|
+
<div class="prose prose-neutral dark:prose-invert my-6 max-w-full">
|
115
|
+
<p>Then in dedicated Devise views you can render the form elements and dynamic title.</p>
|
116
|
+
</div>
|
117
|
+
|
118
|
+
<% content_for :html, flush: true do %>
|
119
|
+
|
120
|
+
<% end %>
|
121
|
+
|
122
|
+
<% content_for :erb, flush: true do %>
|
123
|
+
<%% content_for :title, "Sign in to your account" %>
|
124
|
+
<% end %>
|
125
|
+
|
126
|
+
<%= render_snippet(active_tab: "erb") %>
|
127
|
+
</div>
|
128
|
+
|
129
|
+
<%= divider %>
|
130
|
+
|
131
|
+
<div id="auth-omniauth-ui" class="py-6">
|
132
|
+
<div class="prose prose-neutral dark:prose-invert my-6 max-w-full">
|
133
|
+
|
134
|
+
<h3>OmniAuth</h3>
|
135
|
+
<p>The <%= theme_name.humanize %> theme has support for themed and branded Omniauth provider icons. Icons for those providers are rendered from <code>app/assets/images/railsui/icons/social</code>.</p>
|
136
|
+
|
137
|
+
<%= render callout do %>
|
138
|
+
<%= link_to "OmniAuth", "https://github.com/omniauth/omniauth", target: :_blank %> will need to be installed and configured to work with the <%= theme_name.humanize %> theme.
|
139
|
+
<% end %>
|
140
|
+
|
141
|
+
<p>Here's an example of the UI with various providers:</p>
|
142
|
+
|
143
|
+
<%= render preview("neutral") do %>
|
144
|
+
<div class="max-w-sm mx-auto">
|
145
|
+
<!-- Social Auth Buttons -->
|
146
|
+
<div class="space-y-3 mb-6">
|
147
|
+
<button type="button" class="w-full gap-3 btn btn-white btn-lg">
|
148
|
+
<%= icon "google", custom_path: "/railsui/icons/social/google.svg", class: "size-4 fill-current" %>
|
149
|
+
Continue with Google
|
150
|
+
</button>
|
151
|
+
|
152
|
+
<button type="button" class="w-full gap-3 btn btn-white btn-lg">
|
153
|
+
<%= icon "github", custom_path: "/railsui/icons/social/github.svg", class: "size-4 fill-current" %>
|
154
|
+
Continue with GitHub
|
155
|
+
</button>
|
156
|
+
</div>
|
157
|
+
|
158
|
+
<!-- Divider -->
|
159
|
+
<div class="relative">
|
160
|
+
<div class="absolute inset-0 flex items-center">
|
161
|
+
<div class="w-full border-t border-neutral-300 dark:border-neutral-600"></div>
|
162
|
+
</div>
|
163
|
+
<div class="relative flex justify-center text-sm">
|
164
|
+
<span class="px-2 bg-white text-neutral-500 dark:bg-neutral-900 dark:text-neutral-400">Or continue with email</span>
|
165
|
+
</div>
|
166
|
+
</div>
|
167
|
+
</div>
|
168
|
+
<% end %>
|
169
|
+
</div>
|
170
|
+
</div>
|
171
|
+
|
172
|
+
<%= divider %>
|
173
|
+
|
174
|
+
<div id="auth-error-messages" class="py-6">
|
175
|
+
<%= render layout: example, locals: { heading: "_error_messages partial" } do %>
|
176
|
+
|
177
|
+
<div class="prose prose-neutral dark:prose-invert my-6">
|
178
|
+
<p>By default Rails UI copies over a pre-styled error partial made to work out of the box and save you time during development.</p>
|
179
|
+
|
180
|
+
<p>The <%= theme_name.humanize %> theme leverages this partial for all form error rendering to keep the error/validation handling experience consistent.</p>
|
181
|
+
|
182
|
+
<p>You may optionally swap the default Devise error_messages partial for this one.</p>
|
183
|
+
</div>
|
184
|
+
|
185
|
+
<%= render preview('neutral') do %>
|
186
|
+
<div class="bg-neutral-50 text-neutral-700 px-6 py-4 rounded-2xl mb-6 dark:bg-neutral-400/10 dark:border dark:border-neutral-400/20 dark:text-neutral-50 text-sm" role="alert">
|
187
|
+
<p class="font-semibold">2 errors prohibited this user from being saved:</p>
|
188
|
+
<ul class="list-disc mt-3 ml-4">
|
189
|
+
<li>Name required</li>
|
190
|
+
<li>Email required</li>
|
191
|
+
</ul>
|
192
|
+
</div>
|
193
|
+
<% end %>
|
194
|
+
|
195
|
+
<% content_for :example, flush: true do %>
|
196
|
+
<%= content_for :erb, flush: true do %>
|
197
|
+
<!-- app/views/rui/shared/_error_messages.html.erb-->
|
198
|
+
<%% if resource.errors.any? %>
|
199
|
+
<div class="bg-neutral-50 text-neutral-700 px-6 py-4 rounded-2xl mb-6 dark:bg-neutral-400/10 dark:border dark:border-neutral-400/20 dark:text-neutral-50 text-sm" role="alert">
|
200
|
+
<p class="font-semibold"><%%= pluralize(resource.errors.count, "error") %> prohibited this <%%= resource.class.name.downcase %> from being saved:</p>
|
201
|
+
<ul class="list-disc mt-3 ml-4">
|
202
|
+
<%% resource.errors.each do |error| %>
|
203
|
+
<li><%%= error.full_message %></li>
|
204
|
+
<%% end %>
|
205
|
+
</ul>
|
206
|
+
</div>
|
207
|
+
<%% end %>
|
208
|
+
<% end %>
|
209
|
+
|
210
|
+
|
211
|
+
<%= render_snippet active_tab: "erb", erb_filename: "_error_messages.html.erb" %>
|
212
|
+
<% end %>
|
213
|
+
<% end %>
|
214
|
+
</div>
|
215
|
+
|
216
|
+
<%= system_pagination(prev_path: systems_authentication_overview_path, prev_text: "Authentication Overview", next_path: systems_authentication_devise_signup_path, next_text: "Sign up") %>
|
217
|
+
|
218
|
+
<%= content_for :component_nav do %>
|
219
|
+
<%= render layout: "railsui/shared/component_nav", locals: { title: "On this page" } do %>
|
220
|
+
<%= component_link "Prerequisites", "#auth-prerequisites" %>
|
221
|
+
<%= component_link "Main layout", "#auth-global-layout" %>
|
222
|
+
<%= component_link "OmniAuth UI", "#auth-omniauth-ui" %>
|
223
|
+
<%= component_link "Error messages", "#auth-error-messages" %>
|
224
|
+
<% end %>
|
225
|
+
<% end %>
|
@@ -0,0 +1,60 @@
|
|
1
|
+
<%= render layout: example, locals: { heading: "Reset password", section: "Authentication" } do %>
|
2
|
+
|
3
|
+
<div class=" border border-neutral-200 rounded-3xl overflow-hidden dark:border-neutral-700">
|
4
|
+
<div class="flex min-h-screen bg-white dark:bg-neutral-900">
|
5
|
+
<%= render "rui/shared/flash" %>
|
6
|
+
<div class="flex items-center justify-center w-full px-6 lg:w-5/12">
|
7
|
+
<div class="w-full max-w-sm space-y-8">
|
8
|
+
<div class="flex flex-col items-center justify-center gap-4">
|
9
|
+
<%= link_to root_path, class: "flex items-center gap-2.5 shrink-0" do %>
|
10
|
+
<!-- Corgie logo -->
|
11
|
+
<%= icon "logo.svg", custom_path: "/railsui/logo.svg", class: "size-6 fill-current", variant: :solid %>
|
12
|
+
|
13
|
+
<span class="h4 font-semibold">Corgie</span>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<% if content_for?(:title) %>
|
17
|
+
<p class="text-neutral-500 dark:text-neutral-400">
|
18
|
+
<%= yield :title %>
|
19
|
+
</p>
|
20
|
+
<% end %>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<%= form_with(url: "#", builder: Railsui::FormBuilder) do |f| %>
|
24
|
+
<%= f.form_group do %>
|
25
|
+
<%= f.password_field :password, label: "New password", placeholder: "Enter password", required: true %>
|
26
|
+
<% end %>
|
27
|
+
|
28
|
+
<%= f.submit "Reset Password", class: "w-full btn btn-lg btn-primary" %>
|
29
|
+
<% end %>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
<div class="relative hidden overflow-hidden lg:flex lg:w-7/12 bg-neutral-950">
|
33
|
+
<%= image_tag "railsui/auth-bg.jpg", alt: "Authentication visual with pulse animation", class: "absolute inset-0 object-cover w-full h-full opacity-20 animate-auth-ambient" %>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
<% content_for :example, flush: true do %>
|
39
|
+
<% content_for :html, flush: true do %>
|
40
|
+
|
41
|
+
<% end %>
|
42
|
+
|
43
|
+
<% content_for :erb, flush: true do %>
|
44
|
+
<%%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }, builder: Railsui::FormBuilder) do |f| %>
|
45
|
+
<%%= render "rui/shared/error_messages", resource: f.object %>
|
46
|
+
|
47
|
+
<%%= f.form_group do %>
|
48
|
+
<%%= f.password_field :password, label: "New password", placeholder: "Enter password", required: true %>
|
49
|
+
<%% end %>
|
50
|
+
|
51
|
+
<%%= f.submit "Reset Password", class: "w-full btn btn-lg btn-primary" %>
|
52
|
+
<%% end %>
|
53
|
+
<% end %>
|
54
|
+
|
55
|
+
|
56
|
+
<%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
|
57
|
+
<% end %>
|
58
|
+
<% end %>
|
59
|
+
|
60
|
+
<%= system_pagination(prev_path: systems_authentication_devise_change_password_path, prev_text: "Change password", next_path: systems_authentication_devise_confirmation_path, next_text: "Confirmation") %>
|
@@ -0,0 +1,93 @@
|
|
1
|
+
<%= render layout: example, locals: { heading: "Sign in", section: "Authentication" } do %>
|
2
|
+
<div class=" border border-neutral-200 rounded-3xl overflow-hidden dark:border-neutral-700">
|
3
|
+
<div class="flex min-h-screen bg-white dark:bg-neutral-900">
|
4
|
+
<%= render "rui/shared/flash" %>
|
5
|
+
<div class="flex items-center justify-center w-full px-6 lg:w-5/12">
|
6
|
+
<div class="w-full max-w-sm space-y-8">
|
7
|
+
<div class="flex flex-col items-center justify-center gap-4">
|
8
|
+
<%= link_to root_path, class: "flex items-center gap-2.5 shrink-0" do %>
|
9
|
+
<!-- Corgie logo -->
|
10
|
+
<%= icon "logo.svg", custom_path: "/railsui/logo.svg", class: "size-6 fill-current", variant: :solid %>
|
11
|
+
|
12
|
+
<span class="h4 font-semibold">Corgie</span>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<% if content_for?(:title) %>
|
16
|
+
<p class="text-neutral-500 dark:text-neutral-400">
|
17
|
+
<%= yield :title %>
|
18
|
+
</p>
|
19
|
+
<% end %>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<%= render "rui/shared/common/social_auth_buttons" %> <!-- Email Form -->
|
23
|
+
<form>
|
24
|
+
<div class="form-group">
|
25
|
+
<label for="email" class="form-label form-label-required">
|
26
|
+
Email address
|
27
|
+
</label>
|
28
|
+
<input id="email" name="email" type="email" autocomplete="email" required class="form-input" placeholder="Enter your email">
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<div class="form-group">
|
32
|
+
<label for="password" class="form-label form-label-required">
|
33
|
+
Password
|
34
|
+
</label>
|
35
|
+
<input id="password" name="password" type="password" required class="form-input" placeholder="Enter password">
|
36
|
+
</div>
|
37
|
+
|
38
|
+
<div class="flex items-center form-group">
|
39
|
+
<input id="persist_login" name="persist_login" type="checkbox" class="form-input-checkbox">
|
40
|
+
<label for="persist_login" class="ml-3 text-sm text-neutral-600 dark:text-neutral-400">
|
41
|
+
Keep me signed in
|
42
|
+
</label>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
<button type="submit" class="w-full btn btn-lg btn-primary">
|
46
|
+
Sign in
|
47
|
+
</button>
|
48
|
+
</form>
|
49
|
+
|
50
|
+
<!-- Sign in link -->
|
51
|
+
<div class="text-center">
|
52
|
+
<p class="text-sm text-neutral-600 dark:text-neutral-400">
|
53
|
+
Don't have an account?
|
54
|
+
<%= link_to "Sign up", rui_signup_path, class: "font-medium underline text-neutral-900 dark:text-white hover:text-neutral-700 dark:hover:text-neutral-200" %>
|
55
|
+
</p>
|
56
|
+
</div>
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
<div class="relative hidden overflow-hidden lg:flex lg:w-7/12 bg-neutral-950">
|
60
|
+
<%= image_tag "railsui/auth-bg.jpg", alt: "Authentication visual with pulse animation", class: "absolute inset-0 object-cover w-full h-full opacity-20 animate-auth-ambient" %>
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
</div>
|
64
|
+
|
65
|
+
<% content_for :example, flush: true do %>
|
66
|
+
|
67
|
+
<% content_for :erb, flush: true do %>
|
68
|
+
<!-- app/views/devise/sessions/new.html.erb -->
|
69
|
+
<%%= form_for(resource, as: resource_name, url: session_path(resource_name), builder: Railsui::FormBuilder) do |f| %>
|
70
|
+
<%%= render "rui/shared/errors", resource: f.object %>
|
71
|
+
|
72
|
+
<%%= f.form_group do %>
|
73
|
+
<%%= f.email_field :email, label: "Email address", placeholder: "Enter your email", autocomplete: "email", required: true %>
|
74
|
+
<%% end %>
|
75
|
+
|
76
|
+
<%%= f.form_group do %>
|
77
|
+
<%%= f.password_field :password, label: "Password", placeholder: "Enter password", required: true %>
|
78
|
+
<%% end %>
|
79
|
+
|
80
|
+
<%%= f.form_group class: "flex items-center" do %>
|
81
|
+
<%%= f.check_box :remember_me, label: "Keep me signed in", label_class: "ml-3 text-sm text-neutral-600 dark:text-neutral-400" %>
|
82
|
+
<%% end %>
|
83
|
+
|
84
|
+
<%%= f.submit "Sign in", class: "w-full btn btn-lg btn-primary" %>
|
85
|
+
<%% end %>
|
86
|
+
<% end %>
|
87
|
+
|
88
|
+
|
89
|
+
<%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
|
90
|
+
<% end %>
|
91
|
+
<% end %>
|
92
|
+
|
93
|
+
<%= system_pagination(prev_path: systems_authentication_devise_signup_path, prev_text: "Sign up", next_path: systems_authentication_devise_change_password_path, next_text: "Change password") %>
|
@@ -0,0 +1,98 @@
|
|
1
|
+
<%= render layout: example, locals: { heading: "Sign up", section: "Authentication" } do %>
|
2
|
+
|
3
|
+
<div class=" border border-neutral-200 rounded-3xl overflow-hidden dark:border-neutral-700">
|
4
|
+
<div class="flex min-h-screen bg-white dark:bg-neutral-900">
|
5
|
+
<%= render "rui/shared/flash" %>
|
6
|
+
<div class="flex items-center justify-center w-full px-6 lg:w-5/12">
|
7
|
+
<div class="w-full max-w-sm space-y-8">
|
8
|
+
<div class="flex flex-col items-center justify-center gap-4">
|
9
|
+
<%= link_to root_path, class: "flex items-center gap-2.5 shrink-0" do %>
|
10
|
+
<!-- Corgie logo -->
|
11
|
+
<%= icon "logo.svg", custom_path: "/railsui/logo.svg", class: "size-6 fill-current", variant: :solid %>
|
12
|
+
|
13
|
+
<span class="h4 font-semibold">Corgie</span>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<% if content_for?(:title) %>
|
17
|
+
<p class="text-neutral-500 dark:text-neutral-400">
|
18
|
+
<%= yield :title %>
|
19
|
+
</p>
|
20
|
+
<% end %>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<%= render "rui/shared/common/social_auth_buttons" %>
|
24
|
+
|
25
|
+
<!-- Email Form -->
|
26
|
+
<form>
|
27
|
+
<div class="form-group">
|
28
|
+
<label for="email" class="form-label form-label-required">
|
29
|
+
Email address
|
30
|
+
</label>
|
31
|
+
<input id="email" name="email" type="email" autocomplete="email" required class="form-input" placeholder="Enter your email">
|
32
|
+
</div>
|
33
|
+
|
34
|
+
<div class="form-group">
|
35
|
+
<label for="password" class="form-label form-label-required">
|
36
|
+
Password
|
37
|
+
</label>
|
38
|
+
<input id="password" name="password" type="password" autocomplete="new-password" required class="form-input" placeholder="Create a password">
|
39
|
+
<p class="text-xs form-help">Must be at least 8 characters long</p>
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<div class="flex items-center form-group">
|
43
|
+
<input id="persist_login" name="persist_login" type="checkbox" class="form-input-checkbox">
|
44
|
+
<label for="persist_login" class="ml-3 text-sm text-neutral-600 dark:text-neutral-400">
|
45
|
+
Keep me signed in
|
46
|
+
</label>
|
47
|
+
</div>
|
48
|
+
|
49
|
+
<button type="submit" class="w-full btn btn-lg btn-primary">
|
50
|
+
Create account
|
51
|
+
</button>
|
52
|
+
</form>
|
53
|
+
|
54
|
+
<!-- Sign in link -->
|
55
|
+
<div class="text-center">
|
56
|
+
<p class="text-sm text-neutral-600 dark:text-neutral-400">
|
57
|
+
Already have an account?
|
58
|
+
<%= link_to "Sign in", rui_signin_path, class: "font-medium underline text-neutral-900 dark:text-white hover:text-neutral-700 dark:hover:text-neutral-200" %>
|
59
|
+
</p>
|
60
|
+
</div>
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
<div class="relative hidden overflow-hidden lg:flex lg:w-7/12 bg-neutral-950">
|
64
|
+
<%= image_tag "railsui/auth-bg.jpg", alt: "Authentication visual with pulse animation", class: "absolute inset-0 object-cover w-full h-full opacity-20 animate-auth-ambient" %>
|
65
|
+
</div>
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
|
69
|
+
<% content_for :example, flush: true do %>
|
70
|
+
|
71
|
+
<% content_for :erb, flush: true do %>
|
72
|
+
<!-- app/views/devise/registrations/new.html.erb-->
|
73
|
+
<%% content_for :title, "Sign up for your account" %>
|
74
|
+
|
75
|
+
<%%= form_for(resource, as: resource_name, url: registration_path(resource_name), builder: Railsui::FormBuilder) do |f| %>
|
76
|
+
<%%= render "rui/shared/error_messages", resource: f.object %>
|
77
|
+
|
78
|
+
<%%= f.form_group do %>
|
79
|
+
<%%= f.email_field :email, label: "Email address", placeholder: "Enter your email", autocomplete: "email", required: true %>
|
80
|
+
<%% end %>
|
81
|
+
|
82
|
+
<%%= f.form_group do %>
|
83
|
+
<%%= f.password_field :password, label: "Password", placeholder: "Create a password", autocomplete: "new-password", required: true %>
|
84
|
+
<%% if @minimum_password_length
|
85
|
+
<%%= f.form_help "Must be at least <%%= @minimum_password_length %> characters long" %>
|
86
|
+
<%% end %>
|
87
|
+
<%% end %>
|
88
|
+
|
89
|
+
<%%= f.submit "Sign up", class: "w-full btn btn-lg btn-primary" %>
|
90
|
+
<%% end %>
|
91
|
+
<% end %>
|
92
|
+
|
93
|
+
|
94
|
+
<%= render_snippet active_tab: "erb", erb_filename: "new.html.erb" %>
|
95
|
+
<% end %>
|
96
|
+
<% end %>
|
97
|
+
|
98
|
+
<%= system_pagination(prev_path: systems_authentication_overview_path, prev_text: "Authentication", next_path: systems_authentication_devise_signin_path, next_text: "Sign in") %>
|