Add support for boolean attributes in view components for Alpine.js and Livewire #54021
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#54015
This pull request introduces a new configuration option for handling boolean HTML attributes in view components and updates the
ComponentAttributeBag
class to utilize this configuration. Additionally, a new test is added to ensure the correct behavior of this feature.Configuration Updates:
config/view.php
: Added a new configuration option,boolean_attributes
, to specify which HTML attributes should be treated as boolean attributes when rendering components.Codebase Enhancements:
src/Illuminate/View/ComponentAttributeBag.php
: ImportedIlluminate\Config\Repository
and updated the__toString
method to use the newboolean_attributes
configuration for determining boolean attributes. [1] [2]Testing:
tests/View/ViewComponentAttributeBagTest.php
: Added a new test,testBooleanAttributesLivewireWireAndAlpineJS
, to verify that the specified boolean attributes are correctly rendered without values.