Oh, and FYI: I glanced at the delegation function you're using. It looks like it would fail on selectors that require direct child matches, for instance:
If you delegate x-foo > .red on your x-foo custom element, it will fail to match these types of requirements, because QSA is evaluated from the x-foo element down, which cannot account for direct child relationships.
Hint: in X-Tag, you'll see a reference to matchesSelector in the delegation code ;)
It's all open source, and I encourage the use of good code (even code that is claimed to have been ditched), but it would be nice to have a citation in the Brick readme and component files that use our stuff - for example: https://github.com/mozbrick/brick-flipbox/blob/master/src/brick-flipbox.js#L27-L40
Oh, and FYI: I glanced at the delegation function you're using. It looks like it would fail on selectors that require direct child matches, for instance:
If you delegate
x-foo > .red
on your x-foo custom element, it will fail to match these types of requirements, because QSA is evaluated from the x-foo element down, which cannot account for direct child relationships.Hint: in X-Tag, you'll see a reference to
matchesSelector
in the delegation code ;)