On 3.7.2013 5:36, Steve Orvell wrote:
3/ ability to create complex selectors using ::part
This concerns me. I will stipulate that you have shown this is useful
and that this type of styling is not otherwise as easily achievable.
The problem I see is that we've now exposed the structure of a
shadowRoot as part of its 'public' styling api. If ::part(foo) >
::part(bar) is an important state, I'm then not allowed to move part
bar with respect to part foo. This 'implementation detail' of its
ShadowDOM is now set in stone.
Perhaps we could achieve similar expressiveness without the inherent
brittleness by adding the ability to specify parts that map to a
complex selector specified within the shadowRoot.
From JavaScript, this might be something like:
shadowRootHost.addPart('foobar', '::part(foo) > ::part(bar)');
As tab mentioned
in shadow, following parts
<div part='parent'>
<div>
<div part='child'></div>
</div>
</div>
should be in direct descendant - ancestor relationship, regardless of what is
in between (there just can be no other part), I guess this is reasonable
exposition, from Delphi / Visual Studio controls experience, in more complex
complex controls one simply has to understand the relationship of publicly
visible parts of control (if I would want to set an icon on the second tab of
PageControl, I simply have to know, where i can find this tab
{CustomerInfo.Tabs[1].Icon})
But I like your idea, much more generic and looking at it, since this is Shadow
internal issue, I would go as far as
shadowRootHost.addPart('article-time', 'article header time');
which would mean that all time elements in header elements in article within
this shadow root would be reachable by ::part(article-time), and in next
release one could change it to
shadowRootHost.addPart('article-time', 'article header time,article footer
time');
and ::part(article-time) would target both
I like that, because it hides the internals and makes changes easier
B.
On Tue, Jul 2, 2013 at 6:32 AM, Bronislav Klučka
<[email protected] <mailto:[email protected]>>
wrote:
Hi,
since new paradigm conserning Custom Pseudo Elements have been
introduced
http://lists.w3.org/Archives/Public/public-webapps/2013AprJun/0985.html
(part 5)
I'd like to suggest few additions/changes:
1/ ability to style nested shadow dom elements
2/ change of part attribute from DOMString to DOMTokenList
3/ ability to create complex selectors using ::part
the description/reasoning for this can be found here:
http://projects.webnt.eu/spec/shadow/index.php
In case ::part will not be in spec, the same still applies to pseudos
Bronislav Klucka