This is an automated email from the ASF dual-hosted git repository. gregdove pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit ac5b26047e479c8f126ed275bcf993f94b7a8d92 Author: greg-dove <[email protected]> AuthorDate: Wed Apr 1 20:07:34 2026 +1300 constructor sweep with extra tweaks and updates in numerous composites and leaves. --- .../royale/style/stylebeads/border/Border.as | 607 ++++++++++++++++++++- .../royale/style/stylebeads/border/BorderColor.as | 9 +- .../royale/style/stylebeads/border/BorderRadius.as | 3 +- .../royale/style/stylebeads/border/BorderStyle.as | 19 +- .../royale/style/stylebeads/border/BorderWidth.as | 3 +- .../royale/style/stylebeads/border/Outline.as | 36 +- .../royale/style/stylebeads/flexgrid/Flex.as | 2 +- .../royale/style/stylebeads/flexgrid/FlexBasis.as | 9 +- .../{border/BorderColor.as => layout/Content.as} | 22 +- .../royale/style/stylebeads/spacing/Margin.as | 6 +- .../royale/style/stylebeads/spacing/Padding.as | 4 +- .../royale/style/stylebeads/states/ActiveState.as | 4 +- .../royale/style/stylebeads/states/FocusState.as | 4 +- .../style/stylebeads/states/RequiredState.as | 4 +- .../style/stylebeads/states/attribute/AriaState.as | 4 +- .../stylebeads/states/attribute/InertState.as | 4 +- .../style/stylebeads/states/attribute/OpenState.as | 4 +- .../style/stylebeads/states/attribute/RTLState.as | 4 +- .../style/stylebeads/states/pseudo/AfterState.as | 4 +- .../stylebeads/states/pseudo/BackdropState.as | 4 +- .../style/stylebeads/states/pseudo/BeforeState.as | 4 +- .../style/stylebeads/states/pseudo/FileState.as | 4 +- .../stylebeads/states/pseudo/FirstLetterState.as | 6 +- .../stylebeads/states/pseudo/FirstLineState.as | 6 +- .../style/stylebeads/states/pseudo/MarkerState.as | 4 +- .../stylebeads/states/pseudo/PlaceholderState.as | 4 +- .../stylebeads/states/pseudo/SelectionState.as | 4 +- 27 files changed, 681 insertions(+), 107 deletions(-) diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Border.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Border.as index 6281925407..92a5262ffa 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Border.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/Border.as @@ -33,10 +33,19 @@ package org.apache.royale.style.stylebeads.border */ public class Border extends CompositeStyle { - public function Border() + public function Border(color:String = null, style:String = null, width:* = null, radius:* = null, unit:String = "px") { super(); styles = []; + this.unit = unit; + if(color != this.color) + this.color = color; + if(style != this.style) + this.style = style; + if(width != this.width) + this.width = width; + if(radius != this.radius) + this.radius = radius; } private var _color:String; @@ -44,17 +53,177 @@ package org.apache.royale.style.stylebeads.border { return _color; } - private var colorStyle:Color; + private var colorStyle:BorderColor; public function set color(value:String):void { if(!colorStyle) { - colorStyle = new Color(); + colorStyle = new BorderColor(); styles.push(colorStyle); } colorStyle.value = value; _color = value; } + private var _topColor:String; + public function get topColor():String + { + return _topColor; + } + private var topColorStyle:BorderColor; + public function set topColor(value:String):void + { + if(!topColorStyle) + { + topColorStyle = new BorderColor("border-t", "border-top-color"); + styles.push(topColorStyle); + } + topColorStyle.value = value; + _topColor = value; + } + private var _bottomColor:String; + public function get bottomColor():String + { + return _bottomColor; + } + private var bottomColorStyle:BorderColor; + public function set bottomColor(value:String):void + { + if(!bottomColorStyle) + { + bottomColorStyle = new BorderColor("border-b", "border-bottom-color"); + styles.push(bottomColorStyle); + } + bottomColorStyle.value = value; + _bottomColor = value; + } + private var _leftColor:String; + public function get leftColor():String + { + return _leftColor; + } + private var leftColorStyle:BorderColor; + public function set leftColor(value:String):void + { + if(!leftColorStyle) + { + leftColorStyle = new BorderColor("border-l", "border-left-color"); + styles.push(leftColorStyle); + } + leftColorStyle.value = value; + _leftColor = value; + } + private var _rightColor:String; + public function get rightColor():String + { + return _rightColor; + } + private var rightColorStyle:BorderColor; + public function set rightColor(value:String):void + { + if(!rightColorStyle) + { + rightColorStyle = new BorderColor("border-r", "border-right-color"); + styles.push(rightColorStyle); + } + rightColorStyle.value = value; + _rightColor = value; + } + private var _blockColor:String; + public function get blockColor():String + { + return _blockColor; + } + private var blockColorStyle:BorderColor; + public function set blockColor(value:String):void + { + if(!blockColorStyle) + { + blockColorStyle = new BorderColor("border-y", "border-block-color"); + styles.push(blockColorStyle); + } + blockColorStyle.value = value; + _blockColor = value; + } + private var _blockStartColor:String; + public function get blockStartColor():String + { + return _blockStartColor; + } + private var blockStartColorStyle:BorderColor; + public function set blockStartColor(value:String):void + { + if(!blockStartColorStyle) + { + blockStartColorStyle = new BorderColor("border-bs", "border-block-start-color"); + styles.push(blockStartColorStyle); + } + blockStartColorStyle.value = value; + _blockStartColor = value; + } + private var _blockEndColor:String; + public function get blockEndColor():String + { + return _blockEndColor; + } + private var blockEndColorStyle:BorderColor; + public function set blockEndColor(value:String):void + { + if(!blockEndColorStyle) + { + blockEndColorStyle = new BorderColor("border-be", "border-block-end-color"); + styles.push(blockEndColorStyle); + } + blockEndColorStyle.value = value; + _blockEndColor = value; + } + private var _inlineColor:String; + public function get inlineColor():String + { + return _inlineColor; + } + private var inlineColorStyle:BorderColor; + public function set inlineColor(value:String):void + { + if(!inlineColorStyle) + { + inlineColorStyle = new BorderColor("border-x", "border-inline-color"); + styles.push(inlineColorStyle); + } + inlineColorStyle.value = value; + _inlineColor = value; + } + private var _inlineStartColor:String; + public function get inlineStartColor():String + { + return _inlineStartColor; + } + private var inlineStartColorStyle:BorderColor; + public function set inlineStartColor(value:String):void + { + if(!inlineStartColorStyle) + { + inlineStartColorStyle = new BorderColor("border-s", "border-inline-start-color"); + styles.push(inlineStartColorStyle); + } + inlineStartColorStyle.value = value; + _inlineStartColor = value; + } + private var _inlineEndColor:String; + public function get inlineEndColor():String + { + return _inlineEndColor; + } + private var inlineEndColorStyle:BorderColor; + public function set inlineEndColor(value:String):void + { + if(!inlineEndColorStyle) + { + inlineEndColorStyle = new BorderColor("border-e", "border-inline-end-color"); + styles.push(inlineEndColorStyle); + } + inlineEndColorStyle.value = value; + _inlineEndColor = value; + } private var _style:String; public function get style():String @@ -72,6 +241,166 @@ package org.apache.royale.style.stylebeads.border styleStyle.value = value; _style = value; } + private var _topStyle:String; + public function get topStyle():String + { + return _topStyle; + } + private var tStyle:BorderStyle; + public function set topStyle(value:String):void + { + if(!tStyle) + { + tStyle = new BorderStyle("border-t", "border-top-style"); + styles.push(tStyle); + } + tStyle.value = value; + _topStyle = value; + } + private var _bottomStyle:String; + public function get bottomStyle():String + { + return _bottomStyle; + } + private var bStyle:BorderStyle; + public function set bottomStyle(value:String):void + { + if(!bStyle) + { + bStyle = new BorderStyle("border-b", "border-bottom-style"); + styles.push(bStyle); + } + bStyle.value = value; + _bottomStyle = value; + } + private var _leftStyle:String; + public function get leftStyle():String + { + return _leftStyle; + } + private var lStyle:BorderStyle; + public function set leftStyle(value:String):void + { + if(!lStyle) + { + lStyle = new BorderStyle("border-l", "border-left-style"); + styles.push(lStyle); + } + lStyle.value = value; + _leftStyle = value; + } + private var _rightStyle:String; + public function get rightStyle():String + { + return _rightStyle; + } + private var rStyle:BorderStyle; + public function set rightStyle(value:String):void + { + if(!rStyle) + { + rStyle = new BorderStyle("border-r", "border-right-style"); + styles.push(rStyle); + } + rStyle.value = value; + _rightStyle = value; + } + private var _blockStyle:String; + public function get blockStyle():String + { + return _blockStyle; + } + private var blkStyle:BorderStyle; + public function set blockStyle(value:String):void + { + if(!blkStyle) + { + blkStyle = new BorderStyle("border-y", "border-block-style"); + styles.push(blkStyle); + } + blkStyle.value = value; + _blockStyle = value; + } + private var _blockStartStyle:String; + public function get blockStartStyle():String + { + return _blockStartStyle; + } + private var blkStartStyle:BorderStyle; + public function set blockStartStyle(value:String):void + { + if(!blkStartStyle) + { + blkStartStyle = new BorderStyle("border-bs", "border-block-start-style"); + styles.push(blkStartStyle); + } + blkStartStyle.value = value; + _blockStartStyle = value; + } + private var _blockEndStyle:String; + public function get blockEndStyle():String + { + return _blockEndStyle; + } + private var blkEndStyle:BorderStyle; + public function set blockEndStyle(value:String):void + { + if(!blkEndStyle) + { + blkEndStyle = new BorderStyle("border-be", "border-block-end-style"); + styles.push(blkEndStyle); + } + blkEndStyle.value = value; + _blockEndStyle = value; + } + private var _inlineStyle:String; + public function get inlineStyle():String + { + return _inlineStyle; + } + private var inlStyle:BorderStyle; + public function set inlineStyle(value:String):void + { + if(!inlStyle) + { + inlStyle = new BorderStyle("border-x", "border-inline-style"); + styles.push(inlStyle); + } + inlStyle.value = value; + _inlineStyle = value; + } + private var _inlineStartStyle:String; + public function get inlineStartStyle():String + { + return _inlineStartStyle; + } + private var inlStartStyle:BorderStyle; + public function set inlineStartStyle(value:String):void + { + if(!inlStartStyle) + { + inlStartStyle = new BorderStyle("border-s", "border-inline-start-style"); + styles.push(inlStartStyle); + } + inlStartStyle.value = value; + _inlineStartStyle = value; + } + private var _inlineEndStyle:String; + public function get inlineEndStyle():String + { + return _inlineEndStyle; + } + private var inlEndStyle:BorderStyle; + public function set inlineEndStyle(value:String):void + { + if(!inlEndStyle) + { + inlEndStyle = new BorderStyle("border-e", "border-inline-end-style"); + styles.push(inlEndStyle); + } + inlEndStyle.value = value; + _inlineEndStyle = value; + } private var _width:*; public function get width():* @@ -84,11 +413,152 @@ package org.apache.royale.style.stylebeads.border if(!widthStyle) { widthStyle = new BorderWidth(); + widthStyle.unit = unit; styles.push(widthStyle); } widthStyle.width = value; _width = value; } + public function get topWidth():* + { + return widthStyle ? widthStyle.top : null; + } + public function set topWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.top = value; + } + public function get bottomWidth():* + { + return widthStyle ? widthStyle.bottom : null; + } + public function set bottomWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.bottom = value; + } + public function get leftWidth():* + { + return widthStyle ? widthStyle.left : null; + } + public function set leftWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.left = value; + } + public function get rightWidth():* + { + return widthStyle ? widthStyle.right : null; + } + public function set rightWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.right = value; + } + public function get blockWidth():* + { + return widthStyle ? widthStyle.block : null; + } + public function set blockWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.block = value; + } + public function get blockStartWidth():* + { + return widthStyle ? widthStyle.blockStart : null; + } + public function set blockStartWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.blockStart = value; + } + public function get blockEndWidth():* + { + return widthStyle ? widthStyle.blockEnd : null; + } + public function set blockEndWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.blockEnd = value; + } + public function get inlineWidth():* + { + return widthStyle ? widthStyle.inline : null; + } + public function set inlineWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.inline = value; + } + public function get inlineStartWidth():* + { + return widthStyle ? widthStyle.inlineStart : null; + } + public function set inlineStartWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.inlineStart = value; + } + public function get inlineEndWidth():* + { + return widthStyle ? widthStyle.inlineEnd : null; + } + public function set inlineEndWidth(value:*):void + { + if(!widthStyle) + { + widthStyle = new BorderWidth(); + widthStyle.unit = unit; + styles.push(widthStyle); + } + widthStyle.inlineEnd = value; + } private var _radius:*; public function get radius():* @@ -101,28 +571,123 @@ package org.apache.royale.style.stylebeads.border if(!radiusStyle) { radiusStyle = new BorderRadius(); + radiusStyle.unit = unit; styles.push(radiusStyle); } radiusStyle.radius = value; _radius = value; } - } -} -import org.apache.royale.style.stylebeads.LeafStyleBase; -import org.apache.royale.style.util.StyleData; -import org.apache.royale.debugging.assert; - -class Color extends LeafStyleBase -{ - public function Color(value:* = null) - { - super("border", "border-color", value); - } - override public function set value(value:*):void - { - _value = value; - var styleData:StyleData = validateColor(value,false); - calculatedSelector = styleData.selector; - calculatedRuleValue = styleData.rule; + public function get topLeftRadius():* + { + return radiusStyle ? radiusStyle.topLeft : null; + } + public function set topLeftRadius(value:*):void + { + if(!radiusStyle) + { + radiusStyle = new BorderRadius(); + radiusStyle.unit = unit; + styles.push(radiusStyle); + } + radiusStyle.topLeft = value; + } + public function get topRightRadius():* + { + return radiusStyle ? radiusStyle.topRight : null; + } + public function set topRightRadius(value:*):void + { + if(!radiusStyle) + { + radiusStyle = new BorderRadius(); + radiusStyle.unit = unit; + styles.push(radiusStyle); + } + radiusStyle.topRight = value; + } + public function get bottomLeftRadius():* + { + return radiusStyle ? radiusStyle.bottomLeft : null; + } + public function set bottomLeftRadius(value:*):void + { + if(!radiusStyle) + { + radiusStyle = new BorderRadius(); + radiusStyle.unit = unit; + styles.push(radiusStyle); + } + radiusStyle.bottomLeft = value; + } + public function get bottomRightRadius():* + { + return radiusStyle ? radiusStyle.bottomRight : null; + } + public function set bottomRightRadius(value:*):void + { + if(!radiusStyle) + { + radiusStyle = new BorderRadius(); + radiusStyle.unit = unit; + styles.push(radiusStyle); + } + radiusStyle.bottomRight = value; + } + public function get startStartRadius():* + { + return radiusStyle ? radiusStyle.startStart : null; + } + public function set startStartRadius(value:*):void + { + if(!radiusStyle) + { + radiusStyle = new BorderRadius(); + radiusStyle.unit = unit; + styles.push(radiusStyle); + } + radiusStyle.startStart = value; + } + public function get startEndRadius():* + { + return radiusStyle ? radiusStyle.startEnd : null; + } + public function set startEndRadius(value:*):void + { + if(!radiusStyle) + { + radiusStyle = new BorderRadius(); + radiusStyle.unit = unit; + styles.push(radiusStyle); + } + radiusStyle.startEnd = value; + } + public function get endStartRadius():* + { + return radiusStyle ? radiusStyle.endStart : null; + } + public function set endStartRadius(value:*):void + { + if(!radiusStyle) + { + radiusStyle = new BorderRadius(); + radiusStyle.unit = unit; + styles.push(radiusStyle); + } + radiusStyle.endStart = value; + } + public function get endEndRadius():* + { + return radiusStyle ? radiusStyle.endEnd : null; + } + public function set endEndRadius(value:*):void + { + if(!radiusStyle) + { + radiusStyle = new BorderRadius(); + radiusStyle.unit = unit; + styles.push(radiusStyle); + } + radiusStyle.endEnd = value; + } } } diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderColor.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderColor.as index efca63a428..07a1d14820 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderColor.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderColor.as @@ -23,9 +23,14 @@ package org.apache.royale.style.stylebeads.border public class BorderColor extends LeafStyleBase { - public function BorderColor(value:* = null) + public function BorderColor(selectorBase:* = "border", ruleBase:String = "border-color", value:* = null) { - super("border", "border-color", value); + if (!(selectorBase is String)) + { + value = selectorBase; + selectorBase = "border"; + } + super(selectorBase as String, ruleBase, value); } override public function set value(value:*):void { 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 c07dcd86cb..3533cec1c4 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 @@ -28,10 +28,11 @@ package org.apache.royale.style.stylebeads.border */ public class BorderRadius extends CompositeStyle { - public function BorderRadius(value:* = null) + public function BorderRadius(value:* = null, unit:String = "px") { super(); styles = []; + this.unit = unit; //because of @royalesuppressexport, the following did not work in release/minified build from within this constructor when using the radius setter directly: //if (value) radius = value; //however a usage of the getter here will make the setter usage survive minification: diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderStyle.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderStyle.as index 5d3ab7b3b9..556d6531cd 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderStyle.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderStyle.as @@ -23,15 +23,26 @@ package org.apache.royale.style.stylebeads.border public class BorderStyle extends LeafStyleBase { - public function BorderStyle(value:* = null) + public function BorderStyle(selectorBase:String = "border", ruleBase:String = "border-style", value:* = null) { - super("border", "border-style", value); + super(selectorBase, ruleBase, value); } [Inspectable(category="General", enumeration="solid,dashed,dotted,double,hidden,none", defaultValue="solid")] override public function set value(value:*):void { - assert(["solid", "dashed", "dotted", "double", "hidden", "none"].indexOf(value) >= 0, "The value must be a valid border style: " + value); - calculatedSelector = calculatedRuleValue = _value = value; + _value = value; + calculatedSelector = value; + calculatedRuleValue = value; + } + + override public function getRule():String + { + // enable outline in forced colors mode + if(calculatedSelector == "hidden") + { + return ruleBase + ": 2px solid transparent; " + ruleBase + "-offset: 2px;"; + } + return super.getRule(); } } } \ No newline at end of file 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 7e17dcc06e..fa176d9c4f 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 @@ -28,10 +28,11 @@ package org.apache.royale.style.stylebeads.border */ public class BorderWidth extends CompositeStyle { - public function BorderWidth(value:* = null) + public function BorderWidth(value:* = null, unit:String = "px") { super(); styles = []; + this.unit = unit; if(value) this.width = value; } 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 c1b797a0e0..d98d0e0303 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 @@ -38,12 +38,12 @@ package org.apache.royale.style.stylebeads.border { return _color; } - private var colorStyle:Color; + private var colorStyle:BorderColor; public function set color(value:String):void { if(!colorStyle) { - colorStyle = new Color(); + colorStyle = new BorderColor("outline", "outline-color"); styles.push(colorStyle); } colorStyle.value = value; @@ -70,7 +70,7 @@ package org.apache.royale.style.stylebeads.border { return _style; } - private var styleStyle:Style; + private var styleStyle:BorderStyle; public function set style(value:String):void { if(!styleStyle) @@ -99,27 +99,11 @@ package org.apache.royale.style.stylebeads.border } } } + import org.apache.royale.style.stylebeads.LeafStyleBase; -import org.apache.royale.style.util.StyleData; import org.apache.royale.debugging.assert; +import org.apache.royale.style.stylebeads.border.BorderStyle; -class Color extends LeafStyleBase -{ - public function Color(value:* = null) - { - super("outline", "outline-color", value); - } - /** - * @royaleignorecoercion org.apache.royale.style.colors.ColorPair - */ - override public function set value(value:*):void - { - _value = value; - var styleData:StyleData = validateColor(value,false); - calculatedRuleValue = styleData.rule; - calculatedSelector = styleData.selector; - } -} class Offset extends LeafStyleBase { public function Offset(value:* = null) @@ -129,7 +113,8 @@ class Offset extends LeafStyleBase private var savedPrefix:String; override public function set value(value:*):void { - var numVal:Number = parseFloat(value); + var val:* = value; + var numVal:Number = parseFloat(val); var negative:Boolean = numVal < 0; if(!savedPrefix) savedPrefix = selectorBase; @@ -146,17 +131,12 @@ class Offset extends LeafStyleBase calculatedSelector = sanitizeSelector(value); } } -class Style extends LeafStyleBase +class Style extends BorderStyle { public function Style(value:* = null) { super("outline", "outline-style", value); } - override public function set value(value:*):void - { - 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 getRule():String { // enable outline in in forced colors mode diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Flex.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Flex.as index b29b230d38..10754a3561 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Flex.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/Flex.as @@ -31,7 +31,7 @@ package org.apache.royale.style.stylebeads.flexgrid { COMPILE::JS { - value = value.trim(); + value = (''+value).trim(); //String conversion first in case it got passed as a number // TODO validate aspect before setting calculatedRuleValue = calculatedSelector = _value = value; var isNum:Boolean = parseFloat(value) == value; diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexBasis.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexBasis.as index b958ecd339..0f5c4d3c02 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexBasis.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/flexgrid/FlexBasis.as @@ -29,9 +29,16 @@ package org.apache.royale.style.stylebeads.flexgrid override public function set value(value:*):void { + if(value === 0 || value === "0") { + _value = value; + calculatedRuleValue = calculatedSelector = "0"; + return; + } + _value = value; + calculatedRuleValue = calculatedSelector = value; // TODO validate aspect before setting var isNum:Boolean = parseFloat(value) == value; - var isInt:Boolean = int(value) == value; + var isInt:Boolean = parseInt(value) == value; if(isNum && !isInt) calculatedRuleValue = (value * 100) + "%"; diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderColor.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/layout/Content.as similarity index 71% copy from frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderColor.as copy to frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/layout/Content.as index efca63a428..1a3597664f 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/border/BorderColor.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/layout/Content.as @@ -16,23 +16,25 @@ // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// -package org.apache.royale.style.stylebeads.border +package org.apache.royale.style.stylebeads.layout { import org.apache.royale.style.stylebeads.LeafStyleBase; - import org.apache.royale.style.util.StyleData; - public class BorderColor extends LeafStyleBase + public class Content extends LeafStyleBase { - public function BorderColor(value:* = null) + /** + * for use inside BeforeState and AfterState declarations (for completeness) + * @param value + */ + public function Content(value:* = '""') { - super("border", "border-color", value); + super("", "content", value); } - override public function set value(value:*):void + + public function set value(value:*):void { _value = value; - var styleData:StyleData = validateColor(value, false); - calculatedSelector = styleData.selector; - calculatedRuleValue = styleData.rule; + calculatedRuleValue = calculatedSelector = value; } } -} \ No newline at end of file +} 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 3f2c852583..764a50bec7 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 @@ -25,11 +25,13 @@ package org.apache.royale.style.stylebeads.spacing */ public class Margin extends CompositeStyle { - public function Margin(value:* = null) + public function Margin(value:* = null, unit:String = "px") { super(); styles = []; - unit = "px"; + this.unit = unit; + if(value != null) + this.margin = value; } private var marginStyle:Marg; 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 bd2b82ace4..0a08d860c4 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 @@ -25,11 +25,11 @@ package org.apache.royale.style.stylebeads.spacing */ public class Padding extends CompositeStyle { - public function Padding(value:* = null) + public function Padding(value:* = null, unit:String = "px") { super(); styles = []; - unit = "px"; + this.unit = unit; if(value != null) this.padding = value; } diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/ActiveState.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/ActiveState.as index 092dfe9abc..79a67641a5 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/ActiveState.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/ActiveState.as @@ -20,9 +20,9 @@ package org.apache.royale.style.stylebeads.states { public class ActiveState extends LeafDecorator { - public function ActiveState() + public function ActiveState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "active:"; ruleDecorator = ":active"; } diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/FocusState.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/FocusState.as index 33bb96d548..e4087cd80a 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/FocusState.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/FocusState.as @@ -20,9 +20,9 @@ package org.apache.royale.style.stylebeads.states { public class FocusState extends LeafDecorator { - public function FocusState() + public function FocusState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "focus:"; ruleDecorator = ":focus"; } diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/RequiredState.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/RequiredState.as index 0fc43498c9..f3ab76070e 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/RequiredState.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/RequiredState.as @@ -20,9 +20,9 @@ package org.apache.royale.style.stylebeads.states { public class RequiredState extends LeafDecorator { - public function RequiredState() + public function RequiredState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "required:"; ruleDecorator = ":required"; } diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/AriaState.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/AriaState.as index b81186382a..24bc91bf53 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/AriaState.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/AriaState.as @@ -25,9 +25,9 @@ package org.apache.royale.style.stylebeads.states.attribute public class AriaState extends LeafDecorator { - public function AriaState() + public function AriaState(styles:Array = null) { - super(); + super(styles); } private var _aria:String; diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/InertState.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/InertState.as index 70dd27cee1..27ebc03f5d 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/InertState.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/InertState.as @@ -25,9 +25,9 @@ package org.apache.royale.style.stylebeads.states.attribute public class InertState extends LeafDecorator { - public function InertState() + public function InertState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "inert:"; ruleDecorator = ":is([inert], [inert] *)"; } diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/OpenState.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/OpenState.as index 93581e880a..3a67cc4207 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/OpenState.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/OpenState.as @@ -24,9 +24,9 @@ package org.apache.royale.style.stylebeads.states.attribute public class OpenState extends LeafDecorator { - public function OpenState() + public function OpenState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "open:"; ruleDecorator = ":is([open], :popover-open, :open)"; } diff --git a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/RTLState.as b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/RTLState.as index a6cd6cad6b..d389c46df9 100644 --- a/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/RTLState.as +++ b/frameworks/projects/Style/src/main/royale/org/apache/royale/style/stylebeads/states/attribute/RTLState.as @@ -24,9 +24,9 @@ package org.apache.royale.style.stylebeads.states.attribute public class RTLState extends LeafDecorator { - public function RTLState() + public function RTLState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "rtl:"; ruleDecorator = ":where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *)"; } 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 9e4255a769..c1b8ca3d29 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 @@ -25,9 +25,9 @@ package org.apache.royale.style.stylebeads.states.pseudo */ public class AfterState extends LeafDecorator { - public function AfterState() + public function AfterState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "after:"; ruleDecorator = "::after"; } 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 b66471231b..b66789ee82 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 @@ -22,9 +22,9 @@ package org.apache.royale.style.stylebeads.states.pseudo public class BackdropState extends LeafDecorator { - public function BackdropState() + public function BackdropState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "backdrop:"; ruleDecorator = "::backdrop"; } 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 79ede71409..b90ed74b4e 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 @@ -25,9 +25,9 @@ package org.apache.royale.style.stylebeads.states.pseudo */ public class BeforeState extends LeafDecorator { - public function BeforeState() + public function BeforeState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "before:"; ruleDecorator = "::before"; } 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 ec87fcb576..e2e6aee162 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 @@ -22,9 +22,9 @@ package org.apache.royale.style.stylebeads.states.pseudo public class FileState extends LeafDecorator { - public function FileState() + public function FileState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "file:"; ruleDecorator = "::file-selector-button"; } 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 af4516bc96..1f945cacd8 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 @@ -22,11 +22,11 @@ package org.apache.royale.style.stylebeads.states.pseudo public class FirstLetterState extends LeafDecorator { - public function FirstLetterState() + public function FirstLetterState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "first-letter:"; - ruleDecorator = ":first-letter"; + ruleDecorator = "::first-letter"; } } } \ No newline at end of file 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 9358f29c09..2932e130cc 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 @@ -22,11 +22,11 @@ package org.apache.royale.style.stylebeads.states.pseudo public class FirstLineState extends LeafDecorator { - public function FirstLineState() + public function FirstLineState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "first-line:"; - ruleDecorator = ":first-line"; + ruleDecorator = "::first-line"; } } } \ No newline at end of file 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 1a7b5f8572..edcaa5d2e4 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 @@ -22,9 +22,9 @@ package org.apache.royale.style.stylebeads.states.pseudo public class MarkerState extends LeafDecorator { - public function MarkerState() + public function MarkerState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "marker:"; ruleDecorator = "::marker"; } 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 d256a6576c..70484868f7 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 @@ -22,9 +22,9 @@ package org.apache.royale.style.stylebeads.states.pseudo public class PlaceholderState extends LeafDecorator { - public function PlaceholderState() + public function PlaceholderState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "placeholder:"; ruleDecorator = "::placeholder"; } 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 83ed022246..29d48efe75 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 @@ -22,9 +22,9 @@ package org.apache.royale.style.stylebeads.states.pseudo public class SelectionState extends LeafDecorator { - public function SelectionState() + public function SelectionState(styles:Array = null) { - super(); + super(styles); selectorDecorator = "selection:"; ruleDecorator = "::selection"; }
