I put this together because nested checkboxes are always more annoying than they look. So I built a clean Alpine.js version that actually behaves the way users expect, wired the indeterminate states properly, and kept the markup simple enough to drop into any project. If you want the full breakdown and the complete snippet.
Read the article and get the code.
Top comments (0)