I'm not really sure to put the accordion inside the directive/component. I understand the reasoning, but renders the component less isolated. You won't be able to use this without the toggle or outside an accordion.

As you said, probably other components need to do this also to be more consistent, but I highly prefer to keep this outside of the directive/template.