This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new dbf2e70c57 improved but not working
dbf2e70c57 is described below

commit dbf2e70c5752953994dd45abe6360ca7f463fc15
Author: Harbs <[email protected]>
AuthorDate: Tue Mar 17 18:38:45 2026 +0200

    improved but not working
---
 .../apache/royale/style/stylebeads/LeafStyleBase.as   | 19 ++++++++++++++-----
 .../royale/style/stylebeads/states/PeerPseudo.as      |  6 +++---
 .../org/apache/royale/style/util/StyleManager.as      |  5 -----
 3 files changed, 17 insertions(+), 13 deletions(-)

diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/LeafStyleBase.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/LeafStyleBase.as
index 5dd15babba..bb79006c77 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/LeafStyleBase.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/LeafStyleBase.as
@@ -163,25 +163,34 @@ package org.apache.royale.style.stylebeads
                        if(!calculatedSelector)
                                return "";
                        
-                       var selector:String = selectorPrefix + selectorBase + 
"-" + calculatedSelector;
+                       var str:String = selectorPrefix + selectorBase;
+                       if(str)
+                               str += "-";
+                       var selector:String = str + calculatedSelector;
                        /**
                         * Always add the rule automatically when accessing the 
selector if needed.
                         */
-                       if (!StyleManager.hasStyle(selector))
+                       var selectorForRule:String = rulePrefix + 
normalizeSelector(selector) + ruleSuffix;
+                       if (!StyleManager.hasStyle(selectorForRule))
                        {
                                if(parentQueryId)
-                                       
StyleManager.addGroupedRule(parentQueryId, selector, getRule());
+                                       
StyleManager.addGroupedRule(parentQueryId, selectorForRule, getRule());
                                else
-                                       StyleManager.addStyle(selector, 
getRule());
+                                       StyleManager.addStyle(selectorForRule, 
getRule());
                        }
 
                        return selector;
                }
+               private function normalizeSelector(selector:String):String
+               {                       // TODO this is pretty naive. We should 
probably be doing some kind of parsing here.
+                       return "." + selector.replace(/:/g, 
"\\:").replace(/\./g, "\\.").replace(/\//g, "\\/");
+               }
+
                public function getRule():String
                {
                        if(!calculatedRuleValue)
                                return "";
-                       return rulePrefix + ruleBase + ":" + 
calculatedRuleValue + ";";
+                       return ruleBase + ":" + calculatedRuleValue + ";";
                }
                protected function sanitizeSelector(value:String):String
                {
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/PeerPseudo.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/PeerPseudo.as
index fa02d86d51..0bd37fc4cd 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/PeerPseudo.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/PeerPseudo.as
@@ -31,9 +31,9 @@ package org.apache.royale.style.stylebeads.states
                override public function 
decorateChildStyle(style:ILeafStyleBead):void
                {
                        var selector:String = "peer";
-                       style.selectorPrefix = selector + ":" + 
style.selectorPrefix;
-                       // style.rulePrefix = "." + selector + "\\:" +  
style.rulePrefix + "~";
-                       style.ruleSuffix = selector + ":" + style.ruleSuffix;
+                       style.selectorPrefix = selector + "-" + 
style.selectorPrefix;
+                       style.rulePrefix = "." + selector + ":" +  
style.rulePrefix + " ~ ";
+                       // style.ruleSuffix = selector + ":" + style.ruleSuffix;
                        
                        if(parentStyle)
                                parentStyle.decorateChildStyle(style);
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/util/StyleManager.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/util/StyleManager.as
index 451db5ab0d..131f0d46d2 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/util/StyleManager.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/util/StyleManager.as
@@ -53,14 +53,9 @@ package org.apache.royale.style.util
                {
                        COMPILE::JS
                        {
-                               selector = normalizeSelector(selector);
                                getStyleSheet().insertRule(selector + "{" + 
rule + "}", ruleIdx++);
                        }
                }
-               private static function 
normalizeSelector(selector:String):String
-               {                       // TODO this is pretty naive. We should 
probably be doing some kind of parsing here.
-                       return selector.replace(/:/g, "\\:").replace(/\./g, 
"\\.");
-               }
                COMPILE::JS
                private static var ss:CSSStyleSheet;
                COMPILE::JS

Reply via email to