AIUI:

TitleBar .TitleBarTitle  means "any component with the className 
"TitleBarTitle" that is a child of a TitleBar.

ToggleTextButton.selected means "Any ToggleTextButton that ALSO has the 
classname "selected"

Without digging through the code, my recollection of the logic says only the 
last "selector"  is used to determine whether the CSS rules are kept or not.  
In the first case, the last selector is ".TitleBarTitle" and in the second, it 
is "ToggleTextButton.selected".

Should it work this way?  Maybe.  In the general case of multiple module 
applications, the compiler cannot know if some component will be given the 
className "TitleBarTitle" and added to a TitleBar that came from some other 
module.  But it can know that there are no ToggleTextButtons in the current 
module it is compiling.  So I think that's why it works the way it does.  And 
maybe that is right.  Don't know.  IMO, just like we are replacing other class 
selectors with subclasses, the same should be done for whatever is being 
assigned the className TitleBarTitle.

HTH,
-Alex

On 6/1/18, 2:09 AM, "Harbs" <harbs.li...@gmail.com> wrote:

    Of course. That was the distinction I was making. Sorry for not making my 
point clearer.
    
    Combination selectors (i.e. no space) work as expected.
    Descendant selectors (i.e with space) do not.
    I have not tested children selectors (i.e. “>”) or sibling selectors (i.e. 
“+” and “~”). I don’t know whether those are omitted.
    
    My point is that if the ancestor is not used, the selector is not needed in 
the app and it should be omitted.
    
    Hope that’s clearer… ;-)
    Harbs
    
    > On Jun 1, 2018, at 11:51 AM, Idylog - Nicolas Granon <ngra...@idylog.com> 
wrote:
    > 
    > May I remind that the space between two selectors *is* significant.
    > 
    > Hope this helps
    > 
    > Nicolas Granon
    > 
    > 
    > 
    >> -----Message d'origine-----
    >> De : Harbs [mailto:harbs.li...@gmail.com]
    >> Envoyé : vendredi 1 juin 2018 10:40
    >> À : dev@royale.apache.org
    >> Objet : Descendent selector issue
    >> 
    >> TitleBar has the following CSS in defaults:
    >> 
    >> TitleBar .TitleBarTitle {
    >>  font-weight: bold;
    >>  padding: 0;
    >>  margin: 0;
    >> }
    >> 
    >> This seems to cause the CSS to be always output even if TitleBar is not
    >> used.
    >> 
    >> Interestingly, the following CSS
    >> ToggleTextButton.selected
    >> {
    >>  background-color: #d8d8d8;
    >>  border: 1px solid #808080;
    >>  padding: 4px;
    >> }
    >> 
    >> does get omitted if ToggleTextButton is not used.
    >> 
    >> Is it correct to assume that this is a bug and if the parent/ancestor
    >> the selector is not used, the CSS should be omitted?
    >> 
    >> Harbs
    > 
    
    

Reply via email to