feat: #3611865 Add a Views exposed filters Single Directory Component
Adds a views-exposed-filters Single Directory Component so a theme can lay out a view's exposed filters through a stable component contract instead of chasing the generated Views form ID with ad hoc CSS.
Issue: https://www.drupal.org/project/vartheme_bs5/issues/3611865
What
Three new files under components/organisms/views-exposed-filters/, following the same layout already used by the theme's other Views organisms (views-view-grid, views-view-table, etc.):
views-exposed-filters.component.yml—name: Views exposed filters,group: Views,noUi: true,use_in_views: true; propslayout(enuminline|stacked, defaultinline) andutility_classes(array of strings); slotfiltersfor the view's exposed form;libraryOverrides.css.componentattachingviews-exposed-filters.css.views-exposed-filters.twig— wraps thefiltersslot in a classed wrapper driven bylayoutandutility_classes.views-exposed-filters.css— a flex layout for the exposed form (inline vs. stacked, responsive stacking under 768px).
Why
Varbase Components' components_exposed_form Views exposed-form plugin (added in #3611182) renders a view's exposed form through a Single Directory Component named on the view, but Vartheme BS5 does not ship one. This gives sub-themes (e.g. Vartheme BS5 Educare) a stable component to override instead of styling against the form ID Views happens to generate.
AI-Generated: Yes (Used Claude Code to author the component manifest, twig template and CSS, and to open this issue and MR; reviewed by Natshah.)
Checkpoints
- File an issue about this project
- Addition/Change/Update/Fix to this project
- Testing to ensure no regression
- Automated unit/functional testing coverage
- Developer Documentation support on feature change/addition
- User Guide Documentation support on feature change/addition
- UX/UI designer responsibilities
- Accessibility and Readability
- Reviewed by a human
- Code review by maintainers
- Full testing and approval
- Credit contributors
- Review with the product owner
- Update Release Notes
- Release