Skip to content

feat(ui): pass-through des attributs sur Ui:Button (v1.6.2) - #42

Merged
thibmonier merged 1 commit into
mainfrom
feat/ui-button-attributes-passthrough
Sep 14, 2026
Merged

thibmonier merged 1 commit into
mainfrom
feat/ui-button-attributes-passthrough

Conversation

@thibmonier

Copy link
Copy Markdown
Owner

Contexte

Le composant tsf:Ui:Button ne relayait pas les attributs HTML non-props : <twig:tsf:Ui:Button data-action="…"> perdait l'attribut. Les applications consommatrices ne pouvaient donc pas migrer leurs boutons câblés Stimulus vers le composant (focus a11y ajouté « en direct »).

Changement

  • attributes.defaults({class: baseClasses}) sur les deux branches (<a> et <button>).
  • Les attributs non-props (data-action, data-*-target, id, aria-*) sont relayés.
  • Un class fourni par l'appelant est fusionné avec les classes du socle (focus visible WCAG 2.4.7 préservé).
  • CHANGELOG v1.6.2 + docblocks.

Validation

  • php-cs-fixer : 0 correction
  • PHPStan (max) : no errors
  • PHPUnit : 67 tests OK

🤖 Generated with Claude Code

https://claude.ai/code/session_01Pp2ANkdPP9LG5BdqoDSyNf

Rend `attributes.defaults({class: baseClasses})` sur les branches <a> et <button> :
les attributs HTML non-props (data-action, data-*-target, id, aria-*) sont relayés
et un `class` fourni est fusionné avec les classes du socle (focus visible WCAG 2.4.7
préservé). Débloque la migration des boutons câblés Stimulus vers le composant.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pp2ANkdPP9LG5BdqoDSyNf
@thibmonier
thibmonier merged commit 2265923 into main Sep 14, 2026
9 checks passed
@thibmonier
thibmonier deleted the feat/ui-button-attributes-passthrough branch September 14, 2026 06:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant