Hi Ryosuke, I want to start by thanking you, Ted, and Jan for taking the time to make this proposal.
I read through the proposal, and had a quick question about how redistribution should work with this slot concept. I created a quick <date-range-combo-box> example that would take two date inputs (start date and end date) and distribute them through the example <date-combo-box>, but I found myself stuck. I can't name the two date inputs with the same slot or they will end up in only one of the <date-combo-box> content elements, but <date-combo-box> only takes inputs with slot "inputElement". How should this work? I drafted a quick gist to illustrate this: https://gist.github.com/azakus/676590eb4d5b07b94428 Thanks! On Tue, Apr 21, 2015 at 8:19 PM, Ryosuke Niwa <rn...@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 > >