W3C home > Mailing lists > Public > public-webapps@w3.org > April to June 2015

Re: Proposal for changes to manage Shadow DOM content distribution

From: Justin Fagnani <justinfagnani@google.com>
Date: Wed, 22 Apr 2015 10:16:47 -0700
Message-ID: <CAEKsHmCw8D1Xv-gD2wShwMyehcizBmnzguVH89uk0OAOYfYMNA@mail.gmail.com>
To: Ryosuke Niwa <rniwa@apple.com>
Cc: Daniel Freedman <dfreedm@google.com>, WebApps WG <public-webapps@w3.org>, "Edward O'Connor" <eoconnor@apple.com>, Jan Miksovsky <jan@component.kitchen>
On Tue, Apr 21, 2015 at 10:40 PM, Ryosuke Niwa <rniwa@apple.com> wrote:

>
> > On Apr 21, 2015, at 10:23 PM, Justin Fagnani <justinfagnani@google.com>
> wrote:
> >
> > I do want the ability to redirect distributed nodes into a holes in the
> base template, so that part is welcome to me. However, my first reaction to
> the slot idea is that forcing users to add the content-slot attribute on
> children significantly impairs the DOM API surface area of custom elements.
> >
> > For the single-level distribution case, how is this different from
> <content select="[content-slot=name]"> except that content select can
> distribute based on features of the children that might already exist, like
> tag names or an attribute?
>
> At the conceptual level, they're equivalent.  However, we didn't find the
> extra flexibility of using CSS selectors compelling as we mentioned in our
> proposal [1].
>

I personally would like to see more power, especially positional selectors.
Some components would be better off selecting their first child, rather
than requiring a class.

>
> [1] See points 3 and 4 in
> https://github.com/w3c/webcomponents/wiki/Proposal-for-changes-to-manage-Shadow-DOM-content-distribution#some-issues-with-the-current-shadow-dom-spec


Point 4 is interesting, because unless I'm missing something (which could
be!) it's incorrect. You can create selectors with :not() that exclude the
content selectors that come after in document order. I would rewrite the
example as:

<template>
  <content select=".header"></content>
  <content select=":not(.footer)"></content>
  <content select=".footer"></content>
</template>

Cheers,
  Justin


>
>
> - R. Niwa
>
>
Received on Wednesday, 22 April 2015 17:17:35 UTC

This archive was generated by hypermail 2.3.1 : Friday, 27 October 2017 07:27:31 UTC