Unfortunately I didn't find an example that was simple enough on the web, and the work I did is not open source, so here is the best link I found, which was by the way what I used to derive my implementation:
https://codepen.io/dsheiko/pen/MvEpXm
This is a bit fancier than necessary and that makes it not so good as an example for learning, but hopefully it will be enough to give you the idea.
edit: this one is a little bit better to understand the basics: https://medium.com/metaphorical-web/javascript-treeview-cont...
In short, summary/detail has the native hability to collapse the details and you can explore that to implement a tree by nesting them.