Enhances ViewComponent by integrating it with the Proscenium framework. It supports automatic side-loading of assets, and CSS Modules for scoped styling.
Install the gem and add to the application's Gemfile by executing:
bundle add proscenium-view_componentIf bundler is not being used to manage dependencies, install the gem by executing:
gem install proscenium-view_componentSimply write your ViewComponent classes and inherit from Proscenium::ViewComponent::Base.
class MyView < Proscenium::ViewComponent::Base
def call
tag.h1 'Hello World'
end
endAny ViewComponent class that inherits Proscenium::ViewComponent::Base will automatically be side-loaded.
CSS Modules are fully supported in ViewComponent classes, with access to the css_module helper if you need it.
# /app/components/user_component.rb
class UserComponent < Proscenium::ViewComponent::Base
def view_template
div.h1 @user.name, class: css_module(:user_name)
end
end/* # /app/components/user_component.module.css */
.userName {
color: red;
font-size: 50px;
}The view above will be rendered something like this:
<h1 class="user_name-ABCD1234">Joel Moss</h1>After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/joelmoss/proscenium-view_component.
The gem is available as open source under the terms of the MIT License.