Skip to content

feat(args): add the filter-responsive argument - #365

Merged
markdumay merged 1 commit into
mainfrom
feat/filter-responsive-arg
Aug 23, 2026
Merged

feat(args): add the filter-responsive argument#365
markdumay merged 1 commit into
mainfrom
feat/filter-responsive-arg

Conversation

@markdumay

Copy link
Copy Markdown
Collaborator

Summary

Adds filter-responsive to the global argument definitions.

Why

gethinode/hinode#2137 (released in v3.22.0) added filter-responsive to the table shortcode, collapsing the filter button group into a dropdown below the site's main breakpoint. It was declared inline in hinode's data/structures/table.yml, which is enough while there is one consumer.

mod-blocks' list component now forwards the same argument to the table partial. A bookshop blueprint carries no inline types — every key resolves against this file via the snake_case → kebab-case lookup in ArgsSchema.html. Without a definition here the build fails hard:

ERROR partial [component-library/components/list/list.hugo.html] - Invalid arguments: components/list.md
        schema: missing type for 'list.filter_responsive'

Two consumers, so per the "add to the global file for reusability" guidance the definition belongs here.

Compatibility

The type matches hinode's inline declaration (bool, default false), so ArgsSchema.html takes the plain merge path rather than the redeclared-type path — the two definitions agree and nothing is dropped. Hinode's inline copy can be removed later as cleanup; it is not required and is already shipped.

Purely additive: a new optional argument defaulting to false, so no existing component changes behavior.

Testing

  • pnpm test — golden check passed (14 groups), no snapshot movement.
  • Verified end-to-end by building mod-blocks' example site against this branch (via HUGO_MODULE_REPLACEMENTS) plus hinode v3.22.0: the list component's filter block renders the collapsed dropdown and hides the button group below the breakpoint. Without this branch the same build fails with the error above.

Blocks

gethinode/mod-blocks — the list forward cannot merge until this ships, since its example site would fail to build.

Hinode v3.22.0 added `filter-responsive` to the table shortcode, collapsing the
filter button group into a dropdown below the site's main breakpoint. It was
defined inline in hinode's own structure file, which is enough for one consumer.

mod-blocks' list component now forwards the same argument, and a bookshop
blueprint carries no inline types — every key resolves against this file through
the snake_case to kebab-case lookup. Without a definition here, `filter_responsive`
fails validation with "schema: missing type for 'list.filter_responsive'" and the
build errors out.

Two consumers, so the definition belongs in the shared file. The type matches
hinode's inline declaration, so the two merge rather than conflict.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
@markdumay
markdumay merged commit fd7e059 into main Aug 23, 2026
11 checks passed
@markdumay
markdumay deleted the feat/filter-responsive-arg branch August 23, 2026 10:15
@markdumay

Copy link
Copy Markdown
Collaborator Author

🎉 This PR is included in version 6.10.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant