Re: Proposal for changes to manage Shadow DOM content distribution

On Apr 21, 2015 10:29 PM, "Ryosuke Niwa" <rniwa@apple.com> wrote:
>
>
>> On Apr 21, 2015, at 10:17 PM, Brian Kardell <bkardell@gmail.com> wrote:
>>
>> On Apr 21, 2015 8:22 PM, "Ryosuke Niwa" <rniwa@apple.com> wrote:
>> >
>> > Hi all,
>> >
>> > Following WebApps discussion last year [1] and earlier this year [2]
about template transclusions and inheritance in shadow DOM, Jan Miksovsky
at Component Kitchen, Ted O'Connor and I (Ryosuke Niwa) at Apple had
a meeting where we came up with changes to the way shadow DOM distributes
nodes to better fit real world use cases.
>> >
>> > After studying various real world use of web component APIs as well as
exiting GUI frameworks, we noticed that selector based node distribution as
currently spec'ed doesn't address common use cases and the extra
flexibility CSS selectors offers isn't needed in practice.  Instead, we
propose named insertion "slots" that could be filled with the contents in
the original DOM as well as contents in subclasses.  Because the proposal
uses the same slot filling mechanism for content distributions
and inheritance transclusions, it eliminates the need for multiple shadow
roots.
>> >
>> > Please take a look at our proposal at
https://github.com/w3c/webcomponents/wiki/Proposal-for-changes-to-manage-Shadow-DOM-content-distribution
>> >
>> > [1]
https://lists.w3.org/Archives/Public/public-webapps/2014AprJun/0151.html
>> > [2]
https://lists.w3.org/Archives/Public/public-webapps/2015JanMar/0611.html
>> >
>>
>> I just wanted to note that a month or two I tried to assume nothing and
come up with a bare essentials concept which involved named slots.  Is
there a proposed a way to project from an attribute value into content or
from attribute to attribute..?
>>
>> In other words, if I had <x-foo blah="hello ">. Can I map blah into a
slot or identify an attribute value in my template *as* a slot?
>
> Not at the moment but I could imagine that such a feature could be easily
added. e.g.
>
> <x-foo blah="hello">
>
> <!-- implementation -->
> <template element="x-foo">
>   <content attrslot="blah">
> </template>
>
> - R. Niwa
>

For the record, I'd love to see that discussed as part of a real proposal
because I think it's pretty useful - you can see lots of things essentially
trying to do custom elements in the wild with a similar need and it
honestly seems easier than element based slots technically speaking so it
would be a shame to lack it.

Received on Wednesday, 22 April 2015 15:44:39 UTC