- From: Adrian <notifications@github.com>
- Date: Fri, 14 Jan 2022 05:12:54 -0800
- To: WICG/webcomponents <webcomponents@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <WICG/webcomponents/issues/716/1013105233@github.com>
I think non-bubbling is definitely better. Bubbling lead to a bit of confusion in AngularJS and non-bubbling improves separation and I believe it will reduce the cognitive load of working with a custom element if done right.
I am not completely sure whether globally scoped custom elements should be included. I think registering core UI elements in the global registry could be a definite productivity boost. But as with anything global it is a footgun. It would also allow more gradual refactoring to scoped registries. What are your opinions on this?
I really like how you register local components in Vue, and I think we should take some inspiration from that.
```javascript
this.attachShadow({
mode: 'open',
customElements: {
MyInput,
SomeWidget,
}
})
```
With PascalCase it is easier to compose multiple custom element collections. If kebab-case is required, you would have to default export an object. Greppability will however improve if kebab-case is required, so I don't have a strong opinion on the matter.
```javascript
import * as formElements from './elements/formElements.js'
import * as buttons from './elements/buttons.js'
this.attachShadow({
mode: 'open',
customElements: {
...formElements,
...buttons,
}
})
```
If there is a need to access or set the `CustomElementsRegistry` directly (I can't think of a good reason), it could be accessed through `ShadowRoot#customElementsRegistry` and specified by passing `customElementsRegistry` to `attachShadow` with an XOR check for `customElements` and `customElementsRegistry`.
--
Reply to this email directly or view it on GitHub:
https://github.com/WICG/webcomponents/issues/716#issuecomment-1013105233
You are receiving this because you are subscribed to this thread.
Message ID: <WICG/webcomponents/issues/716/1013105233@github.com>
Received on Friday, 14 January 2022 13:13:06 UTC