A framework for building reusable, testable & encapsulated view components in Ruby on Rails.
Remove experimental _after_compile
lifecycle method.
Joel Hawksley
Fix capitalization of JavaScript in docs.
Erinna Chen
Add PrintReleaf to list of companies using ViewComponent.
Ry Kulp
Simplify CI configuration to a single build per Ruby/Rails version.
Joel Hawksley
Correctly document generate.sidecar
config option.
Ruben Smit
Add Yobbers to list of companies using ViewComponent.
Anton Prins
Deprecate support for Ruby < 2.7 for removal in v3.0.0.
Joel Hawksley
Add changelog_uri
to gemspec.
Joel Hawksley
Link to CHANGELOG.md
instead of symlink.
Joel Hawksley
Add Aluuno to list of companies using ViewComponent.
Daniel Naves de Carvalho
Add source_code_uri
to gemspec.
Yoshiyuki Hirano
Update link to benchmark script in docs.
Daniel Diekmeier
Add special exception message for renders_one :content
explaining that content passed as a block will be assigned to the content
accessor without having to create an explicit slot.
Daniel Diekmeier
ViewComponent has moved to a new organization: https://github.com/viewcomponent/view_component. See https://github.com/viewcomponent/view_component/issues/1424 for more details.
render_preview
can pass parameters to preview.
Joel Hawksley
Fix docs typos.
Joel Hawksley
Add architectural decisions to documentation and rename sidebar sections.
Joel Hawksley
Clarify documentation on testability of Rails views.
Joel Hawksley
Add Arrows to list of companies using ViewComponent.
Matt Swanson
Add WIP to list of companies using ViewComponent.
Marc Köhlbrugge
Update slots documentation to include how to reference slots.
Brittany Ellich
Add Clio to list of companies using ViewComponent.
Mike Buckley
Add missing require
to fix pvc
build.
Joel Hawksley
Add config.view_component.use_consistent_rendering_lifecycle
to ensure side-effects in content
are consistently evaluated before components are rendered. This change effectively means that content
is evaluated for every component render where render?
returns true. As a result, code that's passed to a component via a block/content will now always be evaluated, before #call
, which can reveal bugs in existing components. This configuration option defaults to false
but will be enabled in 3.0 and the old behavior will be removed.
Blake Williams
Update Prism to version 1.28.0.
Thomas Hutterer
Corrects the deprecation warning for named slots to show the file and line where the slot is called.
River Bailey
Update gemspec
author to be ViewComponent team.
Joel Hawksley
Fix bug where ViewComponent::Compiler
wasn't required.
Joel Hawksley
Use ViewComponent::Base.config as the internal endpoint for config.
Simon Fish
Fix bug where #with_request_url
, when used with query string, set the incorrect request.path
and request.fullpath
.
Franz Liedke
Add link to ViewComponentAttributes in Resources section of docs.
Romaric Pascal
render_preview
test helper is available by default. It is no longer necessary to include ViewComponent::RenderPreviewHelper
.
Joel Hawksley
Add missing generate.sidecar
, generate.stimulus_controller
, generate.locale
, generate.distinct_locale_files
, generate.preview
config options to config.view_component
.
Simon Fish
Raise ArgumentError
when conflicting Slots are defined.
Before this change it was possible to define Slots with conflicting names, for example:
class MyComponent < ViewComponent::Base
renders_one :item
renders_many :items
end
Joel Hawksley
Add warn_on_deprecated_slot_setter
flag to opt-in to deprecation warning.
In v2.54.0, the Slots API was updated to require the with_*
prefix for setting Slots. The non-with_*
setters will be deprecated in a coming version and removed in v3.0
.
To enable the coming deprecation warning, add warn_on_deprecated_slot_setter
:
class DeprecatedSlotsSetterComponent < ViewComponent::Base
warn_on_deprecated_slot_setter
end
Joel Hawksley
Add m
to development environment.
Joel Hawksley
Fix potential deadlock scenario in the compiler's development mode.
Blake Williams