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 8b8fbb395e Allow nested variants
8b8fbb395e is described below

commit 8b8fbb395e1786452d04f105447f27f41e30a423
Author: Harbs <[email protected]>
AuthorDate: Wed Mar 18 15:30:48 2026 +0200

    Allow nested variants
---
 .../Style/src/main/royale/org/apache/royale/style/CheckBox.as |  4 +++-
 .../main/royale/org/apache/royale/style/skins/CheckBoxSkin.as |  2 +-
 .../org/apache/royale/style/stylebeads/CompositeStyle.as      |  4 ++++
 .../org/apache/royale/style/stylebeads/ILeafStyleBead.as      |  1 -
 .../royale/org/apache/royale/style/stylebeads/IStyleBead.as   |  1 +
 .../org/apache/royale/style/stylebeads/LeafStyleBase.as       | 11 +++++++++--
 .../org/apache/royale/style/stylebeads/StyleBeadBase.as       |  2 +-
 .../apache/royale/style/stylebeads/states/LeafDecorator.as    |  5 ++++-
 .../apache/royale/style/stylebeads/states/QueryBaseStyle.as   |  4 ++++
 9 files changed, 27 insertions(+), 7 deletions(-)

diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/CheckBox.as 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/CheckBox.as
index 3a04e3daa9..830c292d14 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/CheckBox.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/CheckBox.as
@@ -47,10 +47,12 @@ package org.apache.royale.style
                }
                COMPILE::JS
                private var input:HTMLInputElement;
-
+               
+               COMPILE::JS
                private function elementClicked():void{
                        // _indeterminate = input.indeterminate = false;// 
input.indeterminate should be resolved automatically.
                        _indeterminate = false;
+                       _checked = input.checked;
                        if(_stylesLoaded && !checkIcon)
                                applyCheckSkin();
                }
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/skins/CheckBoxSkin.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/skins/CheckBoxSkin.as
index 33400c8f98..b5461416e7 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/skins/CheckBoxSkin.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/skins/CheckBoxSkin.as
@@ -317,7 +317,7 @@ package org.apache.royale.style.skins
                                        new OpacityStyle(0),
                                        new PeerPseudo([
                                                new CheckedState([
-                                                       new OpacityStyle(1)
+                                                       new OpacityStyle(100)
                                                ]),
                                                new IndeterminateState([
                                                        new OpacityStyle(0)
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/CompositeStyle.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/CompositeStyle.as
index afcb8a5a1c..73d97670d3 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/CompositeStyle.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/CompositeStyle.as
@@ -33,6 +33,10 @@ package org.apache.royale.style.stylebeads
                {
                        super();
                }
+               override public function get styleType():String
+               {
+                       return "";
+               }
                /**
                 * Composite styles have no effect, so it should not insert 
itself into the hierarchy.
                 */
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/ILeafStyleBead.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/ILeafStyleBead.as
index 4d8c09a9ed..54c85a4188 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/ILeafStyleBead.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/ILeafStyleBead.as
@@ -25,7 +25,6 @@ package org.apache.royale.style.stylebeads
                function getSelector():String;
                function getRule():String;
                function get selectorBase():String;
-               function get styleType():String;
                function get parentQueryId():String;
                function get unit():String;
                function set unit(value:String):void;
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/IStyleBead.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/IStyleBead.as
index a4a246e8e2..917a077294 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/IStyleBead.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/IStyleBead.as
@@ -29,6 +29,7 @@ package org.apache.royale.style.stylebeads
         */
        public interface IStyleBead extends IBead
        {
+               function get styleType():String;
                function get isLeaf():Boolean;
                function get isGroup():Boolean;
                function getLeaves():Array;
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 537b25a94a..697b2c7785 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
@@ -74,9 +74,16 @@ package org.apache.royale.style.stylebeads
                 * 
                 * In many classes the ruleBase can be shared across multiple 
style types.
                 */
-               public function get styleType():String
+               override public function get styleType():String
                {
-                       return ruleBase;
+                       var str:String = "";
+                       var parent:IStyleBead = parentStyle;
+                       while(parent)
+                       {
+                               str += "-" + parent.styleType;
+                               parent = parent.parentStyle;
+                       }
+                       return ruleBase + str;
                }
                private var _selectorPrefix:String = "";
                /**
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/StyleBeadBase.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/StyleBeadBase.as
index 9ca51a5544..beff6a0d8a 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/StyleBeadBase.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/StyleBeadBase.as
@@ -47,7 +47,7 @@ package org.apache.royale.style.stylebeads
                 *  @royalesuppresspublicvarwarning
                 */
                public var styles:Array = [];
-
+               abstract public function get styleType():String;
                /**
                 * Decorator style beads should override this method to apply 
their decoration to child styles.
                 */
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/LeafDecorator.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/LeafDecorator.as
index 178144cdd9..9162db0958 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/LeafDecorator.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/LeafDecorator.as
@@ -38,7 +38,10 @@ package org.apache.royale.style.stylebeads.states
                protected var decoratorType:String = STATE;
                protected var selectorDecorator:String;
                protected var ruleDecorator:String;
-               protected var leafStyle:LeafStyleBase;
+               override public function get styleType():String
+               {
+                       return selectorDecorator;
+               }
                /**
                 * @royaleignorecoercion 
org.apache.royale.style.stylebeads.LeafStyleBase
                 */
diff --git 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/QueryBaseStyle.as
 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/QueryBaseStyle.as
index f4201ec104..ce747b2833 100644
--- 
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/QueryBaseStyle.as
+++ 
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/QueryBaseStyle.as
@@ -32,6 +32,10 @@ package org.apache.royale.style.stylebeads.states
                {
                        return true;
                }
+               override public function get styleType():String
+               {
+                       return querySelector;
+               }
                /**
                 * Change in subclasses for other query types such as 
`container` or `supports`.
                 */

Reply via email to