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 db3c93d3a1 Fixed styling. Added peer.
new 592d5c1f23 Merge branch 'develop' of
https://github.com/apache/royale-asjs into develop
db3c93d3a1 is described below
commit db3c93d3a11bbe265182177e2aa2d84e7fe8a71a
Author: Harbs <[email protected]>
AuthorDate: Tue Mar 10 00:16:40 2026 +0200
Fixed styling. Added peer.
---
.../Style/src/main/resources/basic-manifest.xml | 17 +++++++++
.../royale/org/apache/royale/style/StyleUIBase.as | 9 +----
.../royale/style/stylebeads/CompositeStyle.as | 5 +--
.../royale/style/stylebeads/ILeafStyleBead.as | 11 ++++--
.../apache/royale/style/stylebeads/IStyleBead.as | 2 +-
.../royale/style/stylebeads/LeafStyleBase.as | 25 +++++++++++---
.../royale/style/stylebeads/StyleBeadBase.as | 8 +----
.../royale/style/stylebeads/border/BorderRadius.as | 4 +--
.../royale/style/stylebeads/border/BorderWidth.as | 12 +++----
.../royale/style/stylebeads/border/Outline.as | 12 +++----
.../apache/royale/style/stylebeads/flexgrid/Gap.as | 4 +--
.../royale/style/stylebeads/flexgrid/GridColumn.as | 4 +--
.../royale/style/stylebeads/flexgrid/GridRow.as | 4 +--
.../royale/style/stylebeads/layout/InsetBase.as | 4 +--
.../royale/style/stylebeads/spacing/Margin.as | 4 +--
.../royale/style/stylebeads/spacing/Padding.as | 4 +--
.../style/stylebeads/states/LeafDecorator.as | 7 +++-
.../states/{StyleStateBase.as => PeerPseudo.as} | 40 ++++++++++++++++------
.../style/stylebeads/states/StyleStateBase.as | 6 +++-
.../style/stylebeads/states/pseudo/AfterState.as | 6 ++--
.../stylebeads/states/pseudo/BackdropState.as | 4 ++-
.../style/stylebeads/states/pseudo/BeforeState.as | 6 ++--
.../style/stylebeads/states/pseudo/FileState.as | 4 ++-
.../stylebeads/states/pseudo/FirstLetterState.as | 4 ++-
.../stylebeads/states/pseudo/FirstLineState.as | 4 ++-
.../style/stylebeads/states/pseudo/MarkerState.as | 4 ++-
.../stylebeads/states/pseudo/PlaceholderState.as | 4 ++-
.../stylebeads/states/pseudo/SelectionState.as | 4 ++-
28 files changed, 148 insertions(+), 74 deletions(-)
diff --git a/frameworks/projects/Style/src/main/resources/basic-manifest.xml
b/frameworks/projects/Style/src/main/resources/basic-manifest.xml
index 3f812da739..41855d9a00 100644
--- a/frameworks/projects/Style/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Style/src/main/resources/basic-manifest.xml
@@ -32,6 +32,23 @@
<component id="MultiSelectionList"
class="org.apache.royale.style.MultiSelectionList"/>
<component id="Tree" class="org.apache.royale.style.Tree"/>
<component id="DataItemRenderer"
class="org.apache.royale.style.DataItemRenderer"/>
+
+ <component id="DataState"
class="org.apache.royale.style.stylebeads.states.attribute.DataState"/>
+ <component id="AriaState"
class="org.apache.royale.style.stylebeads.states.attribute.AriaState"/>
+ <component id="InertState"
class="org.apache.royale.style.stylebeads.states.attribute.InertState"/>
+ <component id="OpenState"
class="org.apache.royale.style.stylebeads.states.attribute.OpenState"/>
+ <component id="RTLState"
class="org.apache.royale.style.stylebeads.states.attribute.RTLState"/>
+ <component id="SelectedState"
class="org.apache.royale.style.stylebeads.states.attribute.SelectedState"/>
+ <component id="AfterState"
class="org.apache.royale.style.stylebeads.states.pseudo.AfterState"/>
+ <component id="BackdropState"
class="org.apache.royale.style.stylebeads.states.pseudo.BackdropState"/>
+ <component id="BeforeState"
class="org.apache.royale.style.stylebeads.states.pseudo.BeforeState"/>
+ <component id="FileState"
class="org.apache.royale.style.stylebeads.states.pseudo.FileState"/>
+ <component id="FirstLetterState"
class="org.apache.royale.style.stylebeads.states.pseudo.FirstLetterState"/>
+ <component id="FirstLineState"
class="org.apache.royale.style.stylebeads.states.pseudo.FirstLineState"/>
+ <component id="MarkerState"
class="org.apache.royale.style.stylebeads.states.pseudo.MarkerState"/>
+ <component id="PlaceholderState"
class="org.apache.royale.style.stylebeads.states.pseudo.PlaceholderState"/>
+ <component id="SelectionState"
class="org.apache.royale.style.stylebeads.states.pseudo.SelectionState"/>
+ <component id="PeerPseudo"
class="org.apache.royale.style.stylebeads.states.PeerPseudo"/>
<component id="BackgroundStyle"
class="org.apache.royale.style.stylebeads.BackgroundStyle"/>
<component id="ContainerPosition"
class="org.apache.royale.style.stylebeads.ContainerPosition"/>
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/StyleUIBase.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/StyleUIBase.as
index 1b549944db..a9b1923527 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/StyleUIBase.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/StyleUIBase.as
@@ -238,15 +238,8 @@ package org.apache.royale.style
}
protected function applyStyle(styleBead:ILeafStyleBead):void
{
- var selector:String = styleBead.selector;
+ var selector:String = styleBead.getSelector();
utilityList.add(selector);
- if (!StyleManager.hasStyle(selector))
- {
- if(styleBead.parentQueryId)
-
StyleManager.addGroupedRule(styleBead.parentQueryId, selector, styleBead.rule);
- else
- StyleManager.addStyle(selector,
styleBead.rule);
- }
}
public function toggleClass(classNameVal:String,
add:Boolean):void
{
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 14ca084afe..27ca8f455f 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
@@ -32,9 +32,10 @@ package org.apache.royale.style.stylebeads
super();
}
//TODO: Figure this out.
- override public function
decorateChildStyle(style:IStyleBead):void
+ override public function
decorateChildStyle(style:ILeafStyleBead):void
{
-
+ if(parentStyle)
+ parentStyle.decorateChildStyle(style);
}
}
}
\ No newline at end of file
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 f63cdb3185..4d8c09a9ed 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
@@ -22,13 +22,20 @@ package org.apache.royale.style.stylebeads
{
function get value():*;
function set value(value:*):void;
- function get selector():String;
- function get rule():String;
+ 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;
+ function get selectorPrefix():String;
+ function set selectorPrefix(value:String):void;
+ function get rulePrefix():String;
+ function set rulePrefix(value:String):void;
+ function get ruleSuffix():String;
+ function set ruleSuffix(value:String):void;
+
}
}
\ No newline at end of file
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 603fda0f90..4f184e4696 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
@@ -34,6 +34,6 @@ package org.apache.royale.style.stylebeads
function addStyleBead(bead:IStyleBead):void;
function get parentStyle():IStyleBead;
function set parentStyle(value:IStyleBead):void;
- function decorateChildStyle(style:IStyleBead):void;
+ function decorateChildStyle(style:ILeafStyleBead):void;
}
}
\ No newline at end of file
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 88c3734ad4..b9a2c633cb 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
@@ -23,6 +23,7 @@ package org.apache.royale.style.stylebeads
import org.apache.royale.style.util.StyleData;
import org.apache.royale.style.util.ThemeManager;
import org.apache.royale.style.util.CSSUnit;
+ import org.apache.royale.style.util.StyleManager;
/**
* @royalesuppressexport
*/
@@ -40,6 +41,9 @@ package org.apache.royale.style.stylebeads
}
override public function getLeaves():Array
{
+ // Walk up the chain decorating the styles.
+ if(parentStyle)
+ parentStyle.decorateChildStyle(this);
return [this];
}
protected var _value:*;
@@ -152,13 +156,26 @@ package org.apache.royale.style.stylebeads
_calculatedSelector = sanitizeSelector(value);
}
protected var calculatedRuleValue:String;
- public function get selector():String
+ public function getSelector():String
{
if(!calculatedSelector)
return "";
- return selectorPrefix + selectorBase + "-" +
calculatedSelector;
+
+ var selector:String = selectorPrefix + selectorBase +
"-" + calculatedSelector;
+ /**
+ * Always add the rule automatically when accessing the
selector if needed.
+ */
+ if (!StyleManager.hasStyle(selector))
+ {
+ if(parentQueryId)
+
StyleManager.addGroupedRule(parentQueryId, selector, getRule());
+ else
+ StyleManager.addStyle(selector,
getRule());
+ }
+
+ return selector;
}
- public function get rule():String
+ public function getRule():String
{
if(!calculatedRuleValue)
return "";
@@ -245,7 +262,7 @@ package org.apache.royale.style.stylebeads
{
_parentQueryId = value;
}
- override public function
decorateChildStyle(style:IStyleBead):void
+ override public function
decorateChildStyle(style:ILeafStyleBead):void
{
assert(false, "Leaf styles should not have child
styles.");
}
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 949e12e828..581a828c06 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
@@ -58,13 +58,7 @@ package org.apache.royale.style.stylebeads
for each(var style:IStyleBead in styles)
{
style.parentStyle = this;
-
retVal = retVal.concat(style.getLeaves());
- /**
- * We want to decorate styles from to bottom up,
- * so we do this after we recursively traverse
down the the leaves.
- */
- decorateChildStyle(style);
}
return retVal;
}
@@ -95,7 +89,7 @@ package org.apache.royale.style.stylebeads
{
_parentStyle = value;
}
- abstract public function
decorateChildStyle(style:IStyleBead):void;
+ abstract public function
decorateChildStyle(style:ILeafStyleBead):void;
public function get isLeaf():Boolean
{
return false;
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderRadius.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderRadius.as
index b71c25f9fc..24b5620e3c 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderRadius.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderRadius.as
@@ -188,9 +188,9 @@ import org.apache.royale.style.stylebeads.LeafStyleBase;
class Radius extends LeafStyleBase
{
- public function Radius(selectorPrefix:String = "rounded",
rulePrefix:String = "border-radius")
+ public function Radius(selectorBase:String = "rounded", ruleBase:String
= "border-radius")
{
- super(selectorPrefix, rulePrefix);
+ super(selectorBase, ruleBase);
}
override public function set value(value:*):void
{
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderWidth.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderWidth.as
index aea0d75452..3eef0d4f0d 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderWidth.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderWidth.as
@@ -227,9 +227,9 @@ import org.apache.royale.style.stylebeads.LeafStyleBase;
class Width extends LeafStyleBase
{
- public function Width(selectorPrefix:String = "border",
rulePrefix:String = "border-width")
+ public function Width(selectorBase:String = "border", ruleBase:String =
"border-width")
{
- super(selectorPrefix, rulePrefix);
+ super(selectorBase, ruleBase);
}
override public function set value(value:*):void
{
@@ -237,19 +237,19 @@ class Width extends LeafStyleBase
calculatedRuleValue = value;
calculatedSelector = sanitizeSelector(value);
}
- override public function get selector():String
+ override public function getSelector():String
{
if(!calculatedSelector)
return selectorBase;
- return super.selector;
+ return super.getSelector();
}
- override public function get rule():String
+ override public function getRule():String
{
if(!calculatedRuleValue)
return "1px";
- return super.rule;
+ return super.getRule();
}
}
class Top extends Width
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Outline.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Outline.as
index 0e52ac97dc..44e81076a0 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Outline.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Outline.as
@@ -150,14 +150,14 @@ class Style extends LeafStyleBase
assert(["solid","dashed","dotted","double","hidden","none"].indexOf(value) >=
0, "The value must be a valid outline style: " + value);
calculatedSelector = calculatedRuleValue = _value = value;
}
- override public function get rule():String
+ override public function getRule():String
{
// enable outline in in forced colors mode
if(calculatedSelector == "hidden")
{
return "outline: 2px solid transparent; outline-offset:
2px;";
}
- return super.rule;
+ return super.getRule();
}
}
class Width extends LeafStyleBase
@@ -172,18 +172,18 @@ class Width extends LeafStyleBase
calculatedRuleValue = value;
calculatedSelector = sanitizeSelector(value);
}
- override public function get selector():String
+ override public function getSelector():String
{
if(!calculatedSelector)
return selectorBase;
- return super.selector;
+ return super.getSelector();
}
- override public function get rule():String
+ override public function getRule():String
{
if(!calculatedRuleValue)
return "1px";
- return super.rule;
+ return super.getRule();
}
}
\ No newline at end of file
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Gap.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Gap.as
index be5421054e..64eada6ac3 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Gap.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Gap.as
@@ -25,9 +25,9 @@ package org.apache.royale.style.stylebeads.flexgrid
public class Gap extends LeafStyleBase
{
- public function Gap(selectorPrefix:String="gap",
rulePrefix:String="gap")
+ public function Gap(selectorBase:String="gap",
ruleBase:String="gap")
{
- super(selectorPrefix, rulePrefix);
+ super(selectorBase, ruleBase);
// TODO: Is this the correct default?
unit = "rem";
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/GridColumn.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/GridColumn.as
index 094befa56b..1df3f47544 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/GridColumn.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/GridColumn.as
@@ -22,9 +22,9 @@ package org.apache.royale.style.stylebeads.flexgrid
public class GridColumn extends LeafStyleBase
{
- public function GridColumn(selectorPrefix:String = "col",
rulePrefix:String = "grid-column")
+ public function GridColumn(selectorBase:String = "col",
ruleBase:String = "grid-column")
{
- super(selectorPrefix, rulePrefix);
+ super(selectorBase, ruleBase);
}
override public function set value(value:*):void
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/GridRow.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/GridRow.as
index dbbd56413a..840353785f 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/GridRow.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/GridRow.as
@@ -22,9 +22,9 @@ package org.apache.royale.style.stylebeads.flexgrid
public class GridRow extends LeafStyleBase
{
- public function GridRow(selectorPrefix:String = "row",
rulePrefix:String = "grid-row")
+ public function GridRow(selectorBase:String = "row",
ruleBase:String = "grid-row")
{
- super(selectorPrefix, rulePrefix);
+ super(selectorBase, ruleBase);
}
override public function set value(value:*):void
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/layout/InsetBase.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/layout/InsetBase.as
index 55eaf2dcb3..f0f380808f 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/layout/InsetBase.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/layout/InsetBase.as
@@ -23,9 +23,9 @@ package org.apache.royale.style.stylebeads.layout
public class InsetBase extends LeafStyleBase
{
- public function InsetBase(selectorPrefix:String,
rulePrefix:String)
+ public function InsetBase(selectorBase:String, ruleBase:String)
{
- super(selectorPrefix, rulePrefix);
+ super(selectorBase, ruleBase);
}
private var savedPrefix:String;
override public function set value(value:*):void
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/spacing/Margin.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/spacing/Margin.as
index 46de2feb05..a3f2ef28fb 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/spacing/Margin.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/spacing/Margin.as
@@ -251,9 +251,9 @@ import org.apache.royale.style.util.CSSUnit;
class Marg extends LeafStyleBase
{
- public function Marg(selectorPrefix:String = "m", rulePrefix:String =
"margin")
+ public function Marg(selectorBase:String = "m", ruleBase:String =
"margin")
{
- super(selectorPrefix, rulePrefix);
+ super(selectorBase, ruleBase);
}
private function toSelector(value:String):String
{
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/spacing/Padding.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/spacing/Padding.as
index 38cd91b88d..3f75570dac 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/spacing/Padding.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/spacing/Padding.as
@@ -249,9 +249,9 @@ import org.apache.royale.style.util.CSSUnit;
class Pad extends LeafStyleBase
{
- public function Pad(selectorPrefix:String = "p", rulePrefix:String =
"padding")
+ public function Pad(selectorBase:String = "p", ruleBase:String =
"padding")
{
- super(selectorPrefix, rulePrefix);
+ super(selectorBase, ruleBase);
}
private function toSelector(value:String):String
{
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 25ba2e4cff..600824237e 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
@@ -22,6 +22,7 @@ package org.apache.royale.style.stylebeads.states
import org.apache.royale.style.stylebeads.StyleBeadBase;
import org.apache.royale.debugging.assert;
import org.apache.royale.style.stylebeads.LeafStyleBase;
+ import org.apache.royale.style.stylebeads.ILeafStyleBead;
public class LeafDecorator extends StyleBeadBase
{
@@ -32,16 +33,20 @@ package org.apache.royale.style.stylebeads.states
protected var preDecorator:String;
protected var postDecorator:String;
+ protected var leafStyle:LeafStyleBase;
/**
* @royaleignorecoercion
org.apache.royale.style.stylebeads.LeafStyleBase
*/
- override public function
decorateChildStyle(style:IStyleBead):void
+ override public function
decorateChildStyle(style:ILeafStyleBead):void
{
assert(style.isLeaf, "LeafDecorator can only decorate
leaf styles");
var leafStyle:LeafStyleBase = style as LeafStyleBase;
leafStyle.rulePrefix = preDecorator +
leafStyle.rulePrefix;
leafStyle.ruleSuffix = leafStyle.ruleSuffix +
postDecorator;
leafStyle.selectorPrefix = preDecorator +
leafStyle.selectorPrefix;
+ if(parentStyle)
+ parentStyle.decorateChildStyle(style);
+
}
}
}
\ No newline at end of file
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/StyleStateBase.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/PeerPseudo.as
similarity index 54%
copy from
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/StyleStateBase.as
copy to
frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/PeerPseudo.as
index 3f54015f52..d096176158 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/StyleStateBase.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/PeerPseudo.as
@@ -18,24 +18,42 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.style.stylebeads.states
{
- import org.apache.royale.style.stylebeads.StyleBeadBase;
import org.apache.royale.style.stylebeads.IStyleBead;
+ import org.apache.royale.style.stylebeads.ILeafStyleBead;
- abstract public class StyleStateBase extends StyleBeadBase
+ public class PeerPseudo extends StyleStateBase
{
- public function StyleStateBase()
+ public function PeerPseudo()
{
super();
}
-
- override public function
decorateChildStyle(style:IStyleBead):void
+ private var _forState:String;
+ [Inspectable(category="General", enumeration="one,two,three",
defaultValue="one")]
+ public function get forState():String
{
- //TODO: Figure out what goes in here.
+ return _forState;
}
- /**
- * TODO: Figure out what goes in here.
- */
-
+ public function set forState(value:String):void
+ {
+ _forState = value;
+ }
+ override public function
decorateChildStyle(style:ILeafStyleBead):void
+ {
+ var selector:String = "peer-" + forState;
+ style.selectorPrefix = selector + ":" +
style.selectorPrefix;
+ style.rulePrefix = selector + "\\:" + style.rulePrefix;
+ style.ruleSuffix = selector + ":" +
":is(:where(.peer):" + forState + " ~ *)" + style.ruleSuffix;
+
+ if(parentStyle)
+ parentStyle.decorateChildStyle(style);
+ }
}
-}
\ No newline at end of file
+}
+/**
+ .peer-checked\:border-blue-700 {
+ &:is(:where(.peer):checked ~ *) {
+ border-color: var(--color-blue-700);
+ }
+}
+ */
\ No newline at end of file
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/StyleStateBase.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/StyleStateBase.as
index 3f54015f52..49ce2e49ef 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/StyleStateBase.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/StyleStateBase.as
@@ -20,6 +20,7 @@ package org.apache.royale.style.stylebeads.states
{
import org.apache.royale.style.stylebeads.StyleBeadBase;
import org.apache.royale.style.stylebeads.IStyleBead;
+ import org.apache.royale.style.stylebeads.ILeafStyleBead;
abstract public class StyleStateBase extends StyleBeadBase
{
@@ -28,9 +29,12 @@ package org.apache.royale.style.stylebeads.states
super();
}
- override public function
decorateChildStyle(style:IStyleBead):void
+ override public function
decorateChildStyle(style:ILeafStyleBead):void
{
//TODO: Figure out what goes in here.
+ if(parentStyle)
+ parentStyle.decorateChildStyle(style);
+
}
/**
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/AfterState.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/AfterState.as
index 2e1dce0eb0..e1041c691c 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/AfterState.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/AfterState.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.states
+package org.apache.royale.style.stylebeads.states.pseudo
{
+ import org.apache.royale.style.stylebeads.states.LeafDecorator;
+
/**
* Avoid using before or after unless an extra element is a problem.
*/
@@ -27,7 +29,7 @@ package org.apache.royale.style.stylebeads.states
{
super();
preDecorator = "after:";
- postDecorator = ":after";
+ postDecorator = "::after";
}
}
}
\ No newline at end of file
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/BackdropState.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/BackdropState.as
index e64f260383..462a7e0255 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/BackdropState.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/BackdropState.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.states
+package org.apache.royale.style.stylebeads.states.pseudo
{
+ import org.apache.royale.style.stylebeads.states.LeafDecorator;
+
public class BackdropState extends LeafDecorator
{
public function BackdropState()
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/BeforeState.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/BeforeState.as
index 56d58a1681..3d3602006f 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/BeforeState.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/BeforeState.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.states
+package org.apache.royale.style.stylebeads.states.pseudo
{
+ import org.apache.royale.style.stylebeads.states.LeafDecorator;
+
/**
* Avoid using before or after unless an extra element is a problem.
*/
@@ -27,7 +29,7 @@ package org.apache.royale.style.stylebeads.states
{
super();
preDecorator = "before:";
- postDecorator = ":before";
+ postDecorator = "::before";
}
}
}
\ No newline at end of file
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FileState.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FileState.as
index 118fa19f18..08771f60e5 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FileState.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FileState.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.states
+package org.apache.royale.style.stylebeads.states.pseudo
{
+ import org.apache.royale.style.stylebeads.states.LeafDecorator;
+
public class FileState extends LeafDecorator
{
public function FileState()
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FirstLetterState.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FirstLetterState.as
index 4c70496208..b07a2085f1 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FirstLetterState.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FirstLetterState.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.states
+package org.apache.royale.style.stylebeads.states.pseudo
{
+ import org.apache.royale.style.stylebeads.states.LeafDecorator;
+
public class FirstLetterState extends LeafDecorator
{
public function FirstLetterState()
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FirstLineState.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FirstLineState.as
index 0f6b7fd03f..b62e374aeb 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FirstLineState.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/FirstLineState.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.states
+package org.apache.royale.style.stylebeads.states.pseudo
{
+ import org.apache.royale.style.stylebeads.states.LeafDecorator;
+
public class FirstLineState extends LeafDecorator
{
public function FirstLineState()
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/MarkerState.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/MarkerState.as
index 1a65a385fa..ef6178c021 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/MarkerState.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/MarkerState.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.states
+package org.apache.royale.style.stylebeads.states.pseudo
{
+ import org.apache.royale.style.stylebeads.states.LeafDecorator;
+
public class MarkerState extends LeafDecorator
{
public function MarkerState()
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/PlaceholderState.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/PlaceholderState.as
index 9f71f35176..e6a34a1244 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/PlaceholderState.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/PlaceholderState.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.states
+package org.apache.royale.style.stylebeads.states.pseudo
{
+ import org.apache.royale.style.stylebeads.states.LeafDecorator;
+
public class PlaceholderState extends LeafDecorator
{
public function PlaceholderState()
diff --git
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/SelectionState.as
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/SelectionState.as
index d4a7cecf8d..c257cacda6 100644
---
a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/SelectionState.as
+++
b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/pseudo/SelectionState.as
@@ -16,8 +16,10 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.style.stylebeads.states
+package org.apache.royale.style.stylebeads.states.pseudo
{
+ import org.apache.royale.style.stylebeads.states.LeafDecorator;
+
public class SelectionState extends LeafDecorator
{
public function SelectionState()