[Bug Fix] Accordion: sync docs Stimulus controller with gem

Merged
DJ
3mo ago
+19-4

Fixes #489

Summary

  • The gem's accordion controller was fixed in 0897b2a to toggle the hidden attribute on the content element in sync with the height animation.
  • docs/app/javascript/controllers/ruby_ui/accordion_controller.js is a separate copy (docs bundles its own JS controllers) that was never updated after that fix, so the live preview at rubyui.com/docs/accordion never opened when clicked.
  • Copied the gem's controller verbatim into the docs copy — confirmed byte-identical with diff.

The Accordion component in the gem itself was already correct; no gem changes needed.

Test plan

  • Reproduced the bug on production (rubyui.com/docs/accordion): clicking a trigger did nothing.
  • diff gem/lib/ruby_ui/accordion/accordion_controller.js docs/app/javascript/controllers/ruby_ui/accordion_controller.js → identical.
  • Rebuilt docs assets (pnpm build) locally in the docs devcontainer, ran the Rails dev server, and manually verified in browser: trigger now opens (content reveals, chevron rotates) and closes (content hides, chevron resets) correctly.

Summary by cubic

Sync the docs accordion Stimulus controller with the gem so accordion previews open and close correctly. Fixes #489.

  • Bug Fixes
    • Replaced the docs controller with the gem version to toggle the hidden attribute in sync with the height animation.
    • Removes hidden before measuring height and re-applies it after the close animation to avoid layout/focus issues.