You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2018/03/03 15:36:59 UTC

[royale-asjs] branch feature/vivid-ui-set updated (379e0a1 -> f004510)

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

carlosrovira pushed a change to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.


 discard 379e0a1  initial svg tests, still need 9slice scaling
 discard fc2123b  fix vscode config files
 discard 002184f  snapshot sdk now works in vscode 0.10.0
 discard 8f8215b  change pom description to conform with "themes"
 discard e074834  include assets in theme swc
 discard 92fd958  test SVG as background in TextButton, but is not copied to final SWC
 discard fb8f7fb  textbutton css in theme
 discard 8a56b07  final dependency from vivid for swf compile
 discard e9d58c5  Move vivid theme to themes folder and change vivid example to dependency "theme"
 discard 2076287  add for possible swf comp
 discard 1b6d8d4  Introduce RadioButton
 discard cf99502  fresh branch with all vivid work, still not work
     add 9057833  Add computeFinalClassNames function which concatenates _className with typeNames (reference #124)
     add 8119910  Example of usage computeFinalClassNames in MDL Button and Card (reference #124)
     add 5a92085  Alternate way to compute class names
     add f21d7f2  Remove trimming from computation of class names (reference #124)
     add e526d5f  theme support in release notes
     add 8f26771  Merge branch 'develop' into feature/type_names_class_name_issue124
     add 75fa06d  Apply computeFinalClassNames function to MDL classes (reference #124)
     add 60b7397  add fixed maven distribution to RELEASE_NOTES
     add 410491b  Add link to issue #125 related to Maven distribution fix
     add ddf9faa  Merge branch 'develop' into feature/type_names_class_name_issue124
     add 8d96b4c  Merge branch 'feature/type_names_class_name_issue124' into develop
     add ebb4712  switch fragment to use $ as delimiter instead of / in case search crawler gets fooled by slash or was encoding it and fooled the EscapedFragmentBead
     new 46aa248  fresh branch with all vivid work, still not work
     new b76bd95  Introduce RadioButton
     new 50f44b8  add for possible swf comp
     new 18d4b6c  Move vivid theme to themes folder and change vivid example to dependency "theme"
     new 5492e8d  final dependency from vivid for swf compile
     new 119400fe textbutton css in theme
     new 1ddb68d  test SVG as background in TextButton, but is not copied to final SWC
     new 83809b1  include assets in theme swc
     new 649f0cc  change pom description to conform with "themes"
     new 9981f3c  snapshot sdk now works in vscode 0.10.0
     new 1dc03ca  fix vscode config files
     new f004510  initial svg tests, still need 9slice scaling

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (379e0a1)
            \
             N -- N -- N   refs/heads/feature/vivid-ui-set (f004510)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 12 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 RELEASE_NOTES.md                                   |   3 +
 .../ASDoc/src/main/royale/ASDocMainView.mxml       |   4 +-
 .../ClassPickerHashAnchorStringItemRenderer.as     |   5 +-
 .../src/main/royale/EventSummaryRenderer.mxml      |   4 +-
 .../src/main/royale/MethodSummaryRenderer.mxml     |   4 +-
 .../ASDoc/src/main/royale/SummaryRenderer.mxml     |   6 +-
 .../ASDoc/src/main/royale/models/ASDocModel.as     |  20 +--
 .../projects/Basic/src/main/royale/BasicClasses.as |   1 -
 .../main/royale/org/apache/royale/core/UIBase.as   |  15 +-
 .../royale/html/util/addOrReplaceClassName.as      |  63 --------
 .../projects/Core/src/main/royale/CoreClasses.as   |   2 +-
 .../core/{ClassFactory.as => CSSClassList.as}      |  69 ++++-----
 .../main/royale/org/apache/royale/mdl/Button.as    |  86 +++++++----
 .../src/main/royale/org/apache/royale/mdl/Card.as  |  27 +++-
 .../main/royale/org/apache/royale/mdl/CheckBox.as  |  27 +++-
 .../royale/org/apache/royale/mdl/DialogActions.as  |  26 +++-
 .../royale/org/apache/royale/mdl/DropDownList.as   |   4 +-
 .../main/royale/org/apache/royale/mdl/Footer.as    |  12 +-
 .../org/apache/royale/mdl/FooterBottomSection.as   |  15 +-
 .../org/apache/royale/mdl/FooterLeftSection.as     |  15 +-
 .../royale/org/apache/royale/mdl/FooterLinkList.as |  10 +-
 .../org/apache/royale/mdl/FooterMiddleSection.as   |   9 +-
 .../org/apache/royale/mdl/FooterRightSection.as    |  10 +-
 .../org/apache/royale/mdl/FooterSocialButton.as    |   9 +-
 .../org/apache/royale/mdl/FooterTopSection.as      |   9 +-
 .../src/main/royale/org/apache/royale/mdl/Grid.as  |  25 ++-
 .../main/royale/org/apache/royale/mdl/GridCell.as  | 167 +++++++++++++++------
 .../main/royale/org/apache/royale/mdl/Header.as    |  43 ++++--
 .../royale/org/apache/royale/mdl/IconToggle.as     |  24 ++-
 .../src/main/royale/org/apache/royale/mdl/Menu.as  |  31 +++-
 .../org/apache/royale/mdl/NavigationLayout.as      |  33 ++--
 .../apache/royale/mdl/NavigationLayoutContent.as   |   6 -
 .../royale/org/apache/royale/mdl/ProgressBar.as    |  24 ++-
 .../royale/org/apache/royale/mdl/RadioButton.as    |  31 ++--
 .../main/royale/org/apache/royale/mdl/Spacer.as    |   6 -
 .../main/royale/org/apache/royale/mdl/Spinner.as   |  40 +++--
 .../main/royale/org/apache/royale/mdl/Switch.as    |  24 ++-
 .../main/royale/org/apache/royale/mdl/TabBar.as    |  29 +++-
 .../royale/org/apache/royale/mdl/TabBarButton.as   |  28 +++-
 .../royale/org/apache/royale/mdl/TabBarPanel.as    |  26 +++-
 .../src/main/royale/org/apache/royale/mdl/Table.as |  33 +++-
 .../royale/org/apache/royale/mdl/TableColumn.as    |  34 +++--
 .../src/main/royale/org/apache/royale/mdl/Tabs.as  |  24 ++-
 .../src/main/royale/org/apache/royale/mdl/Toast.as |   1 -
 .../apache/royale/mdl/supportClasses/CardInner.as  |  33 ++--
 .../royale/mdl/supportClasses/MaterialIconBase.as  |  74 +++++----
 .../supportClasses/TabBarButtonItemRendererBase.as |  24 ++-
 .../mdl/supportClasses/TabItemRendererBase.as      |  24 ++-
 .../royale/mdl/supportClasses/TextFieldBase.as     |  37 ++---
 49 files changed, 770 insertions(+), 506 deletions(-)
 delete mode 100644 frameworks/projects/Basic/src/main/royale/org/apache/royale/html/util/addOrReplaceClassName.as
 copy frameworks/projects/Core/src/main/royale/org/apache/royale/core/{ClassFactory.as => CSSClassList.as} (60%)

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 07/12: test SVG as background in TextButton, but is not copied to final SWC

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 1ddb68d032e130c6d0c5dadb73d8ad3de3e9325e
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sat Feb 24 18:53:43 2018 +0100

    test SVG as background in TextButton, but is not copied to final SWC
---
 .../src/main/resources/TextButton.css              | 14 ++++--
 .../src/main/resources/assets/buttonbackground.svg | 57 ++++++++++++++++++++++
 2 files changed, 68 insertions(+), 3 deletions(-)

diff --git a/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css b/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
index 05ca704..8e688fc 100644
--- a/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
+++ b/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
@@ -26,16 +26,24 @@
 
 TextButton {
 	/* Background: */
-	background-color: #D8D8D8;
+	background: url(assets/buttonbackground.svg) no-repeat top left;
+	  background-size: contain;
+	  border: none;
+	
+	/*background-color: #D8D8D8;
 	border: 1px solid #979797;
-	border-radius: 3px;
+	border-radius: 3px;*/
 
 	/* TextField: */
 	font-family: 'Lato', sans-serif;
 	font-size: 13px;
-	color: #646D7A;
+	color: #fff;
 }
 
+/*.no-svg .main-header {
+  background-image: url(logo.png);
+}*/
+
 TextButton:hover {
     background-color: #CFCFCF;
     vertical-align: middle;
diff --git a/frameworks/themes/VividBlueTheme/src/main/resources/assets/buttonbackground.svg b/frameworks/themes/VividBlueTheme/src/main/resources/assets/buttonbackground.svg
new file mode 100644
index 0000000..f7f225d
--- /dev/null
+++ b/frameworks/themes/VividBlueTheme/src/main/resources/assets/buttonbackground.svg
@@ -0,0 +1,57 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<svg width="160px" height="50px" viewBox="0 0 160 50" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 48.2 (47327) - http://www.bohemiancoding.com/sketch -->
+    <desc>Created with Sketch.</desc>
+    <defs>
+        <linearGradient x1="58.2513034%" y1="100%" x2="58.2513034%" y2="0%" id="linearGradient-1">
+            <stop stop-color="#C8C8C8" offset="0%"></stop>
+            <stop stop-color="#979797" offset="100%"></stop>
+        </linearGradient>
+        <rect id="path-2" x="0" y="0" width="150" height="40" rx="3"></rect>
+        <linearGradient x1="50%" y1="3.10307717%" x2="50%" y2="100%" id="linearGradient-3">
+            <stop stop-color="#FF893B" offset="0%"></stop>
+            <stop stop-color="#FA461E" offset="100%"></stop>
+        </linearGradient>
+        <rect id="path-4" x="0" y="0" width="150" height="40" rx="3"></rect>
+        <linearGradient x1="50%" y1="0%" x2="50%" y2="98.2362085%" id="linearGradient-5">
+            <stop stop-color="#FFBA8E" offset="0%"></stop>
+            <stop stop-color="#E6431D" offset="100%"></stop>
+        </linearGradient>
+    </defs>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Royale-Vivid" transform="translate(-53.000000, -44.000000)">
+            <g id="Button" transform="translate(58.000000, 49.000000)">
+                <g id="Background">
+                    <g>
+                        <g>
+                            <use fill="#FDDBC7" fill-rule="evenodd" xlink:href="#path-2"></use>
+                            <rect stroke="url(#linearGradient-1)" stroke-width="5" x="-2.5" y="-2.5" width="155" height="45" rx="3"></rect>
+                        </g>
+                        <g>
+                            <use fill="url(#linearGradient-3)" fill-rule="evenodd" xlink:href="#path-4"></use>
+                            <rect stroke="#A93116" stroke-width="1" x="-0.5" y="-0.5" width="151" height="41" rx="3"></rect>
+                        </g>
+                        <rect stroke="url(#linearGradient-5)" x="0.5" y="0.5" width="149" height="39" rx="3"></rect>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 08/12: include assets in theme swc

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 83809b187d4911b32072c4bb37b2b1d5ca9c9a40
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sat Feb 24 19:51:33 2018 +0100

    include assets in theme swc
---
 examples/royale/VividExample/pom.xml                          |  6 ------
 frameworks/themes/VividBlueTheme/pom.xml                      |  4 ++++
 .../themes/VividBlueTheme/src/main/resources/TextButton.css   | 11 +++++------
 3 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/examples/royale/VividExample/pom.xml b/examples/royale/VividExample/pom.xml
index c6210af..bec6b75 100644
--- a/examples/royale/VividExample/pom.xml
+++ b/examples/royale/VividExample/pom.xml
@@ -34,12 +34,6 @@
 
   <build>
     <sourceDirectory>src/main/royale</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
     <plugins>
       <plugin>
         <groupId>org.apache.royale.compiler</groupId>
diff --git a/frameworks/themes/VividBlueTheme/pom.xml b/frameworks/themes/VividBlueTheme/pom.xml
index e0cc7cb..c039af6 100644
--- a/frameworks/themes/VividBlueTheme/pom.xml
+++ b/frameworks/themes/VividBlueTheme/pom.xml
@@ -46,6 +46,10 @@
           </includeClasses>
           <includeFiles>
             <include-file>
+              <name>assets/*</name>
+              <path>../src/main/resources/assets/*</path>
+            </include-file>
+            <include-file>
               <name>defaults.css</name>
               <path>../src/main/resources/defaults.css</path>
             </include-file>
diff --git a/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css b/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
index 8e688fc..20f3bef 100644
--- a/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
+++ b/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
@@ -27,8 +27,7 @@
 TextButton {
 	/* Background: */
 	background: url(assets/buttonbackground.svg) no-repeat top left;
-	  background-size: contain;
-	  border: none;
+	background-size: contain;
 	
 	/*background-color: #D8D8D8;
 	border: 1px solid #979797;
@@ -45,13 +44,13 @@ TextButton {
 }*/
 
 TextButton:hover {
-    background-color: #CFCFCF;
+    /*background-color: #CFCFCF;
     vertical-align: middle;
     border: none;
-    border-radius: 6px;
+    border-radius: 6px;*/
 }
 
 TextButton:active {
-    background-color: #77CEFF;
-    color: #FFFFFF;
+    /*background-color: #77CEFF;
+    color: #FFFFFF;*/
 }
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 01/12: fresh branch with all vivid work, still not work

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 46aa2481046b40be546a7d53c0ac8cf480203a94
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Tue Feb 20 21:04:59 2018 +0100

    fresh branch with all vivid work, still not work
---
 examples/royale/VividExample/.vscode/launch.json   |  21 +++
 examples/royale/VividExample/.vscode/settings.json |   3 +
 examples/royale/VividExample/.vscode/tasks.json    |   8 +
 examples/royale/VividExample/README.txt            |  26 ++++
 examples/royale/VividExample/asconfig.json         |  31 ++++
 examples/royale/VividExample/build.xml             |  68 ++++++++
 examples/royale/VividExample/pom.xml               |  83 ++++++++++
 .../src/main/config/compile-app-config.xml         |  28 ++++
 .../src/main/resources/vivid-example-styles.css    |  25 +++
 .../royale/VividExample/src/main/royale/App.mxml   |  40 +++++
 .../src/main/royale/ButtonPlayGround.mxml          |  42 +++++
 .../src/main/royale/TextInputPlayGround.mxml       |  28 ++++
 examples/royale/pom.xml                            |   1 +
 frameworks/projects/Vivid/.vscode/launch.json      |  21 +++
 frameworks/projects/Vivid/.vscode/settings.json    |   3 +
 frameworks/projects/Vivid/.vscode/tasks.json       |   8 +
 frameworks/projects/Vivid/asconfig.json            |  34 ++++
 frameworks/projects/Vivid/build.xml                | 130 ++++++++++++++++
 .../royale => frameworks/projects/Vivid}/pom.xml   | 133 ++++++----------
 .../Vivid/src/main/config/compile-swf-config.xml   | 105 +++++++++++++
 .../projects/Vivid/src/main/resources/defaults.css |  86 +++++++++++
 .../Vivid/src/main/resources/vivid-as-manifest.xml |  25 +++
 .../Vivid/src/main/resources/vivid-manifest.xml    |  29 ++++
 .../projects/Vivid/src/main/royale/VividClasses.as |  40 +++++
 .../royale/org/apache/royale/vivid/Application.as  |  70 +++++++++
 .../main/royale/org/apache/royale/vivid/Slider.as  |  72 +++++++++
 .../royale/org/apache/royale/vivid/TextButton.as   |  63 ++++++++
 .../royale/org/apache/royale/vivid/TextField.as    | 115 ++++++++++++++
 .../apache/royale/vivid/beads/SliderThumbView.as   | 121 +++++++++++++++
 .../apache/royale/vivid/beads/SliderTrackView.as   | 121 +++++++++++++++
 .../org/apache/royale/vivid/beads/SliderView.as    | 172 +++++++++++++++++++++
 .../royale/vivid/supportClasses/ITextField.as      |  68 ++++++++
 .../royale/vivid/supportClasses/TextFieldBase.as   | 154 ++++++++++++++++++
 .../projects/VividBlueTheme/.vscode/launch.json    |  21 +++
 .../projects/VividBlueTheme/.vscode/settings.json  |   3 +
 .../projects/VividBlueTheme/.vscode/tasks.json     |   8 +
 frameworks/projects/VividBlueTheme/asconfig.json   |  34 ++++
 frameworks/projects/VividBlueTheme/build.xml       | 133 ++++++++++++++++
 frameworks/projects/VividBlueTheme/pom.xml         |  66 ++++++++
 .../src/main/config/compile-swf-config.xml         |  91 +++++++++++
 .../src/main/resources/TextField.css               |  75 +++++++++
 .../VividBlueTheme/src/main/resources/defaults.css |  33 ++++
 .../src/main/royale/VividBlueThemeClasses.as       |  33 ++++
 frameworks/projects/pom.xml                        |   2 +
 44 files changed, 2385 insertions(+), 88 deletions(-)

diff --git a/examples/royale/VividExample/.vscode/launch.json b/examples/royale/VividExample/.vscode/launch.json
new file mode 100644
index 0000000..5dfb672
--- /dev/null
+++ b/examples/royale/VividExample/.vscode/launch.json
@@ -0,0 +1,21 @@
+{
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "Launch Chrome against debug.html, with sourcemaps",
+            "type": "chrome",
+            "request": "launch",
+            "file": "${workspaceRoot}/target/javascript/bin/js-debug/index.html",
+            "sourceMaps": true,
+            "preLaunchTask": "mvn"
+        },
+        {
+            "name": "Launch Firefox against debug.html, with sourcemaps",
+            "type": "firefox",
+            "request": "launch",
+            "file": "${workspaceRoot}/target/javascript/bin/js-debug/index.html",
+            "sourceMaps": true,
+            "preLaunchTask": "mvn"
+        }
+    ]
+}
diff --git a/examples/royale/VividExample/.vscode/settings.json b/examples/royale/VividExample/.vscode/settings.json
new file mode 100644
index 0000000..1069e6c
--- /dev/null
+++ b/examples/royale/VividExample/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+    "nextgenas.sdk.framework": "/Users/carlosrovira/Dev/Royale/Sdks/apache-royale-0.9.1"
+}
\ No newline at end of file
diff --git a/examples/royale/VividExample/.vscode/tasks.json b/examples/royale/VividExample/.vscode/tasks.json
new file mode 100644
index 0000000..5d6198d
--- /dev/null
+++ b/examples/royale/VividExample/.vscode/tasks.json
@@ -0,0 +1,8 @@
+{
+	// for the documentation about the tasks.json format
+	"version": "0.1.0",
+	"command": "mvn",
+	"args": ["clean", "install", "-DskipTests"],
+	"isShellCommand": true,
+	"showOutput": "always"
+}
\ No newline at end of file
diff --git a/examples/royale/VividExample/README.txt b/examples/royale/VividExample/README.txt
new file mode 100644
index 0000000..5d2de45
--- /dev/null
+++ b/examples/royale/VividExample/README.txt
@@ -0,0 +1,26 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+DESCRIPTION
+
+The VividExample is demo app to customize styles on Royale components
+
+Right now this is a starter project with only a button to start developing styles
+
+
diff --git a/examples/royale/VividExample/asconfig.json b/examples/royale/VividExample/asconfig.json
new file mode 100644
index 0000000..4b6259e
--- /dev/null
+++ b/examples/royale/VividExample/asconfig.json
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+{
+    "config": "royale",
+    "compilerOptions": {
+        "debug": false,
+        "targets": ["JSRoyale","SWF"],
+        "source-map": true
+    },
+    "additionalOptions": "-remove-circulars -js-output-optimization=skipAsCoercions",
+    "files":
+    [
+        "src/main/royale/App.mxml"
+    ]
+}
diff --git a/examples/royale/VividExample/build.xml b/examples/royale/VividExample/build.xml
new file mode 100644
index 0000000..2f99436
--- /dev/null
+++ b/examples/royale/VividExample/build.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="VividExample" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../.."/>
+    <property name="example" value="App" />
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+
+    <include file="${basedir}/../../build_example.xml" />
+    
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
+        <mkdir dir="${basedir}/bin/js-debug/assets" />
+        <copy todir="${basedir}/bin/js-debug/assets" failonerror="false">
+            <fileset dir="${basedir}/src/main/resources/assets">
+                <include name="**" />
+            </fileset>
+        </copy>
+        <mkdir dir="${basedir}/bin/js-release/assets" />
+        <copy todir="${basedir}/bin/js-release/assets" failonerror="false">
+            <fileset dir="${basedir}/src/main/resources/assets">
+                <include name="**" />
+            </fileset>
+        </copy>
+        <replace file="${basedir}/bin/js-debug/index.html" token="${primary}" value="indigo" />
+        <replace file="${basedir}/bin/js-debug/index.html" token="${accent}" value="pink" />
+        <replace file="${basedir}/bin/js-release/index.html" token="${primary}" value="indigo" />
+        <replace file="${basedir}/bin/js-release/index.html" token="${accent}" value="pink" />
+    </target>
+    
+    <target name="clean">
+        <delete dir="${basedir}/bin" failonerror="false" />
+        <delete dir="${basedir}/bin-debug" failonerror="false" />
+        <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
+    </target>
+
+    <target name="examine" depends="build_example.get.browser">
+        <property name="which" value="debug" />
+        <echo message="See various team members."/>
+        <exec executable="${browser}" dir="${basedir}/bin/js-${which}" failonerror="true">
+            <arg value="${basedir}/bin/js-${which}/index.html"/>
+        </exec>
+    </target>
+
+
+</project>
diff --git a/examples/royale/VividExample/pom.xml b/examples/royale/VividExample/pom.xml
new file mode 100644
index 0000000..2768e30
--- /dev/null
+++ b/examples/royale/VividExample/pom.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.royale.examples</groupId>
+    <artifactId>examples-royale</artifactId>
+    <version>0.9.2-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>VividExample</artifactId>
+  <version>0.9.2-SNAPSHOT</version>
+  <packaging>swf</packaging>
+
+  <name>Apache Royale: Examples: Royale: VividExample</name>
+
+  <build>
+    <sourceDirectory>src/main/royale</sourceDirectory>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.royale.compiler</groupId>
+        <artifactId>royale-maven-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+          <mainClass>App.mxml</mainClass>
+          <targets>JSRoyale</targets>
+          <!--<htmlTemplate>${basedir}/target/javascript/bin/js-debug/vivid-js-index-template.html</htmlTemplate>
+          <additionalCompilerOptions>-compiler.exclude-defaults-css-files=Basic-${royale.framework.version}-js.swc:defaults.css</additionalCompilerOptions>-->
+          <additionalCompilerOptions>-theme=${basedir}/../../../frameworks/projects/VividBlueTheme/target/VividBlueTheme-${royale.framework.version}-js.swc</additionalCompilerOptions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Vivid</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Basic</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>HTML</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+  </dependencies>
+
+</project>
diff --git a/examples/royale/VividExample/src/main/config/compile-app-config.xml b/examples/royale/VividExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..f23f22c
--- /dev/null
+++ b/examples/royale/VividExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,28 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<royale-config>
+    <js-output-optimization>
+        <optimization>skipAsCoercions</optimization>
+    </js-output-optimization>
+    <compiler>
+        <theme>
+            <filename>../../../../../../frameworks/libs/VividBlueTheme.swc</filename>
+        </theme>
+    </compiler>
+</royale-config>
diff --git a/examples/royale/VividExample/src/main/resources/vivid-example-styles.css b/examples/royale/VividExample/src/main/resources/vivid-example-styles.css
new file mode 100644
index 0000000..48829b3
--- /dev/null
+++ b/examples/royale/VividExample/src/main/resources/vivid-example-styles.css
@@ -0,0 +1,25 @@
+/*
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+*/
+
+@namespace "http://www.w3.org/1999/xhtml";
+
+
+
diff --git a/examples/royale/VividExample/src/main/royale/App.mxml b/examples/royale/VividExample/src/main/royale/App.mxml
new file mode 100644
index 0000000..dd98eaa
--- /dev/null
+++ b/examples/royale/VividExample/src/main/royale/App.mxml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!---
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+-->
+<v:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+			   xmlns:v="library://ns.apache.org/royale/vivid"
+			   xmlns:js="library://ns.apache.org/royale/basic"
+			   xmlns:local="*">
+
+	<fx:Style source="../../main/resources/vivid-example-styles.css"/>
+	
+	<js:valuesImpl>
+		<js:SimpleCSSValuesImpl />
+	</js:valuesImpl>
+	<js:initialView>
+		<js:View width="100%" height="100%" className="page-content">
+			<js:beads>
+				<js:VerticalLayout />
+			</js:beads>
+			<local:ButtonPlayGround/>
+			<local:TextInputPlayGround/>
+        </js:View>
+	</js:initialView>
+</v:Application>
diff --git a/examples/royale/VividExample/src/main/royale/ButtonPlayGround.mxml b/examples/royale/VividExample/src/main/royale/ButtonPlayGround.mxml
new file mode 100644
index 0000000..1c95229
--- /dev/null
+++ b/examples/royale/VividExample/src/main/royale/ButtonPlayGround.mxml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<js:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
+		  xmlns:js="library://ns.apache.org/royale/basic"
+		  xmlns:v="library://ns.apache.org/royale/vivid">
+    
+	<fx:Script>
+		<![CDATA[
+        private function onValueChange(event:Event):void
+        {
+        	button.width = slider.value;
+        }
+    	]]>
+	</fx:Script>
+
+	<js:beads>
+		<js:VerticalLayout/>
+	</js:beads>
+	
+	<v:TextButton id="button" text="Button" width="120" height="40"/>
+
+	<v:Slider id="slider" width="250" value="120" minimum="50" maximum="250"
+				valueChange="onValueChange(event)"/>
+
+</js:Group>
diff --git a/examples/royale/VividExample/src/main/royale/TextInputPlayGround.mxml b/examples/royale/VividExample/src/main/royale/TextInputPlayGround.mxml
new file mode 100644
index 0000000..eced5aa
--- /dev/null
+++ b/examples/royale/VividExample/src/main/royale/TextInputPlayGround.mxml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<js:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
+		  xmlns:js="library://ns.apache.org/royale/basic"
+		  xmlns:v="library://ns.apache.org/royale/vivid">
+    
+	
+	
+	<v:TextField text="Text Input" width="120" height="40"/>
+
+</js:Group>
diff --git a/examples/royale/pom.xml b/examples/royale/pom.xml
index d06e5b8..9ba1570 100644
--- a/examples/royale/pom.xml
+++ b/examples/royale/pom.xml
@@ -71,6 +71,7 @@
     <module>DataBindingExampleWithFlexLayout</module>
     <module>DragAndDropExample</module>
     <module>AlertExample</module>
+    <module>VividExample</module>
   </modules>
 
   <build>
diff --git a/frameworks/projects/Vivid/.vscode/launch.json b/frameworks/projects/Vivid/.vscode/launch.json
new file mode 100644
index 0000000..5dfb672
--- /dev/null
+++ b/frameworks/projects/Vivid/.vscode/launch.json
@@ -0,0 +1,21 @@
+{
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "Launch Chrome against debug.html, with sourcemaps",
+            "type": "chrome",
+            "request": "launch",
+            "file": "${workspaceRoot}/target/javascript/bin/js-debug/index.html",
+            "sourceMaps": true,
+            "preLaunchTask": "mvn"
+        },
+        {
+            "name": "Launch Firefox against debug.html, with sourcemaps",
+            "type": "firefox",
+            "request": "launch",
+            "file": "${workspaceRoot}/target/javascript/bin/js-debug/index.html",
+            "sourceMaps": true,
+            "preLaunchTask": "mvn"
+        }
+    ]
+}
diff --git a/frameworks/projects/Vivid/.vscode/settings.json b/frameworks/projects/Vivid/.vscode/settings.json
new file mode 100644
index 0000000..1069e6c
--- /dev/null
+++ b/frameworks/projects/Vivid/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+    "nextgenas.sdk.framework": "/Users/carlosrovira/Dev/Royale/Sdks/apache-royale-0.9.1"
+}
\ No newline at end of file
diff --git a/frameworks/projects/Vivid/.vscode/tasks.json b/frameworks/projects/Vivid/.vscode/tasks.json
new file mode 100644
index 0000000..5d6198d
--- /dev/null
+++ b/frameworks/projects/Vivid/.vscode/tasks.json
@@ -0,0 +1,8 @@
+{
+	// for the documentation about the tasks.json format
+	"version": "0.1.0",
+	"command": "mvn",
+	"args": ["clean", "install", "-DskipTests"],
+	"isShellCommand": true,
+	"showOutput": "always"
+}
\ No newline at end of file
diff --git a/frameworks/projects/Vivid/asconfig.json b/frameworks/projects/Vivid/asconfig.json
new file mode 100644
index 0000000..36edd42
--- /dev/null
+++ b/frameworks/projects/Vivid/asconfig.json
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ {
+    "config": "royale",
+    "type": "lib",
+    "compilerOptions": {
+        "debug": true,
+        "targets": [
+            "JSRoyale",
+            "SWF"
+        ],
+        "include-classes": [
+            "VividClasses"
+        ],
+        "include-sources": [
+            "src/main/royale"
+        ],
+        "output": "target/Vivid.swc"
+    }
+}
diff --git a/frameworks/projects/Vivid/build.xml b/frameworks/projects/Vivid/build.xml
new file mode 100644
index 0000000..799b640
--- /dev/null
+++ b/frameworks/projects/Vivid/build.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="Vivid" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../.."/>
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+    
+    <property name="target.name" value="${ant.project.name}.swc" />
+    
+    <target name="main" depends="clean,check-compiler,compile,compile-js,copy-swc,test" description="Full build of ${ant.project.name}.swc">
+    </target>
+    
+    <target name="compile-js">
+        <ant dir="${ROYALE_HOME}/frameworks/js/projects/${ant.project.name}JS/" inheritAll="false" >
+            <property name="ROYALE_SWF_COMPILER_HOME" value="${ROYALE_SWF_COMPILER_HOME}"/>
+            <property name="ROYALE_COMPILER_HOME" value="${ROYALE_COMPILER_HOME}"/>
+            <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+        </ant>
+    </target>
+    
+    <target name="copy-swc" if="env.AIR_HOME">
+        <copy file="${basedir}/target/${target.name}" tofile="${ROYALE_HOME}/frameworks/libs/${target.name}" />
+    </target>
+    
+    <target name="check-for-tests" >
+        <condition property="skip-tests" >
+            <not>
+                <available file="${basedir}/src/test/royale/build.xml" />
+            </not>
+        </condition>
+    </target>
+    
+    <target name="test" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" />
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${ROYALE_HOME}/frameworks/libs">
+                <include name="${target.name}"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${basedir}/target">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+        <antcall target="clean-tests" />
+    </target>
+    
+    <target name="clean-tests" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" target="clean"/>
+    </target>
+    
+    <target name="compile" description="Compiles .as files into .swc" if="env.AIR_HOME">
+        <echo message="Compiling libs/${ant.project.name}.swc"/>
+        <echo message="ROYALE_HOME: ${ROYALE_HOME}"/>
+        <echo message="ROYALE_SWF_COMPILER_HOME: ${ROYALE_SWF_COMPILER_HOME}"/>
+        <echo message="ROYALE_COMPILER_HOME: ${ROYALE_COMPILER_HOME}"/>
+        
+        <java jar="${ROYALE_COMPILER_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSRoyale" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${ROYALE_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
+    </target>
+    
+    <target name="check-compiler" depends="check-compiler-home,check-transpiler-home">
+        <path id="lib.path">
+            <fileset dir="${ROYALE_COMPILER_HOME}/lib" includes="compiler-royaleTasks.jar"/>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+    </target>
+    
+    <target name="check-compiler-home"
+        description="Set ROYALE_SWF_COMPILER_HOME to point at the compiler.">
+        
+        <available file="${ROYALE_HOME}/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${ROYALE_HOME}"/>
+        
+        <fail message="ROYALE_SWF_COMPILER_HOME must be set to a folder with a lib sub-folder containing compiler-mxmlc.jar such as the compiler folder in royale-compiler repo or the root of a Royale SDK"
+        unless="ROYALE_SWF_COMPILER_HOME"/>
+    </target>
+    
+    <target name="check-transpiler-home"
+        description="Set ROYALE_COMPILER_HOME to point at the cross-compiler.">
+        
+        <available file="${ROYALE_HOME}/js/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${ROYALE_HOME}/js"/>
+        
+        <fail message="ROYALE_COMPILER_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in royale-compiler repo or the js folder of a Royale SDK"
+        unless="ROYALE_COMPILER_HOME"/>
+    </target>
+    
+</project>
diff --git a/examples/royale/pom.xml b/frameworks/projects/Vivid/pom.xml
similarity index 54%
copy from examples/royale/pom.xml
copy to frameworks/projects/Vivid/pom.xml
index d06e5b8..3ec2f3a 100644
--- a/examples/royale/pom.xml
+++ b/frameworks/projects/Vivid/pom.xml
@@ -17,90 +17,55 @@
   limitations under the License.
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>org.apache.royale.examples</groupId>
-    <artifactId>examples</artifactId>
+    <groupId>org.apache.royale.framework</groupId>
+    <artifactId>projects</artifactId>
     <version>0.9.2-SNAPSHOT</version>
   </parent>
 
-  <artifactId>examples-royale</artifactId>
+  <artifactId>Vivid</artifactId>
   <version>0.9.2-SNAPSHOT</version>
-  <packaging>pom</packaging>
+  <packaging>swc</packaging>
 
-  <name>Apache Royale: Examples: Royale</name>
-
-  <modules>
-    <module>AccordionExample</module>
-    <module>ASDoc</module>
-    <module>ChartExample</module>
-    <module>CordovaCameraExample</module>
-    <module>CreateJSExample</module>
-    <module>DataBindingExample</module>
-    <module>DataBindingExample_as</module><!-- Flash error -->
-    <module>DataBindingExample_Flat</module>
-    <module>DataGridExample</module>
-    <module>DateControlsExample</module>
-    <module>DesktopMap</module>
-    <module>Flex2Royale</module>
-    <module>RoyaleStore</module>
-    <module>RoyaleStore_jquery</module>
-    <module>RoyaleTeamPage_MDL</module>
-    <module>RoyaleWebsite</module>
-    <module>RoyaleWebsiteStatsViewer</module>
-    <module>HelloWorld</module>
-    <module>HTMLElements</module>
-    <module>ListExample</module>
-    <module>MapSearch</module>
-    <module>MDLDynamicTabsExample</module>
-    <module>MDLDynamicTableExample</module>
-    <module>ModuleExample</module>
-    <module>MobileMap</module>
-    <module>MobileStocks</module>
-    <module>MobileTrader</module>
-    <module>RemoteObjectAMFTest</module>
-    <module>StorageExample</module>
-    <module>StyleExample</module>
-    <module>TeamPage</module>
-    <module>TodoListSampleApp</module>
-    <module>TreeExample</module>
-    <module>TableExample</module>
-    <module>DebuggingExample</module>
-    <module>DataBindingExampleWithFlexLayout</module>
-    <module>DragAndDropExample</module>
-    <module>AlertExample</module>
-  </modules>
+  <name>Apache Royale: Framework: Libs: Vivid</name>
 
   <build>
+    <sourceDirectory>src/main/royale</sourceDirectory>
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>2.19.1</version>
-        <executions>
-          <execution>
-            <id>tests-default</id>
-            <phase>integration-test</phase>
-            <goals>
-              <goal>test</goal>
-            </goals>
-            <configuration>
-              <!-- Run the tests from the 'examples-tests' artifact -->
-              <dependenciesToScan>
-                <dependency>org.apache.royale.examples:examples-tests</dependency>
-              </dependenciesToScan>
-              <systemPropertyVariables>
-                <artifactId>${project.artifactId}</artifactId>
-                <version>${project.version}</version>
-                <type>${project.packaging}</type>
-                <targets>${project.build.plugins.plugin.configuration.targets}</targets>
-                <buildDirectory>${project.build.directory}</buildDirectory>
-              </systemPropertyVariables>
-            </configuration>
-          </execution>
-        </executions>
+        <groupId>org.apache.royale.compiler</groupId>
+        <artifactId>royale-maven-plugin</artifactId>
+        <version>${royale.compiler.version}</version>
+        <extensions>true</extensions>
+        <configuration>
+          <namespaces>
+            <namespace>
+              <uri>library://ns.apache.org/royale/vivid</uri>
+              <manifest>${project.basedir}/src/main/resources/vivid-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+              <type>as</type>
+              <uri>library://ns.apache.org/royale/vivid</uri>
+              <manifest>${project.basedir}/src/main/resources/vivid-as-manifest.xml</manifest>
+            </namespace>
+          </namespaces>
+          <includeClasses>
+            <includeClass>VividClasses</includeClass>
+          </includeClasses>
+          <includeFiles>
+            <include-file>
+              <name>defaults.css</name>
+              <path>../src/main/resources/defaults.css</path>
+            </include-file>
+          </includeFiles>
+          <includeLookupOnly>true</includeLookupOnly>
+          <!--<allowSubclassOverrides>true</allowSubclassOverrides>-->
+          <skipExtern>true</skipExtern>
+          <!--<additionalCompilerOptions>-compiler.fxg-base-class=flash.display.Sprite</additionalCompilerOptions>-->
+        </configuration>
       </plugin>
     </plugins>
   </build>
@@ -122,28 +87,28 @@
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
-      <artifactId>Language</artifactId>
+      <artifactId>Binding</artifactId>
       <version>0.9.2-SNAPSHOT</version>
       <type>swc</type>
       <classifier>swf</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
-      <artifactId>Language</artifactId>
+      <artifactId>Binding</artifactId>
       <version>0.9.2-SNAPSHOT</version>
       <type>swc</type>
       <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Graphics</artifactId>
       <version>0.9.2-SNAPSHOT</version>
       <type>swc</type>
       <classifier>swf</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Graphics</artifactId>
       <version>0.9.2-SNAPSHOT</version>
       <type>swc</type>
       <classifier>js</classifier>
@@ -164,40 +129,32 @@
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
-      <artifactId>Binding</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.9.2-SNAPSHOT</version>
       <type>swc</type>
       <classifier>swf</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
-      <artifactId>Binding</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.9.2-SNAPSHOT</version>
       <type>swc</type>
       <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
-      <artifactId>Graphics</artifactId>
+      <artifactId>HTML</artifactId>
       <version>0.9.2-SNAPSHOT</version>
       <type>swc</type>
       <classifier>swf</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
-      <artifactId>Graphics</artifactId>
+      <artifactId>HTML</artifactId>
       <version>0.9.2-SNAPSHOT</version>
       <type>swc</type>
       <classifier>js</classifier>
     </dependency>
-
-    <!-- Import the shared unit-tests we want to run on all examples -->
-    <dependency>
-      <groupId>org.apache.royale.examples</groupId>
-      <artifactId>examples-tests</artifactId>
-      <version>0.9.2-SNAPSHOT</version>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
 
 </project>
diff --git a/frameworks/projects/Vivid/src/main/config/compile-swf-config.xml b/frameworks/projects/Vivid/src/main/config/compile-swf-config.xml
new file mode 100644
index 0000000..4eef59a
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/config/compile-swf-config.xml
@@ -0,0 +1,105 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<royale-config>
+
+    <compiler>
+        <accessible>false</accessible>
+        
+        <!-- build both SWF and JS. -->
+        <targets>
+            <target>JSRoyale</target>
+        </targets>
+        <strict-xml>true</strict-xml>
+
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../../../../libs/Binding.swc</path-element>
+            <path-element>../../../../../libs/Core.swc</path-element>
+            <path-element>../../../../../libs/Graphics.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
+            <path-element>../../../../../libs/Collections.swc</path-element>
+            <path-element>../../../../../libs/HTML.swc</path-element>
+        </external-library-path>
+        
+        <allow-subclass-overrides>true</allow-subclass-overrides>
+		<mxml>
+			<children-as-data>true</children-as-data>
+		</mxml>
+		<binding-value-change-event>org.apache.royale.events.ValueChangeEvent</binding-value-change-event>
+		<binding-value-change-event-kind>org.apache.royale.events.ValueChangeEvent</binding-value-change-event-kind>
+		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
+        <keep-as3-metadata>
+          <name>Bindable</name>
+          <name>Managed</name>
+          <name>ChangeEvent</name>
+          <name>NonCommittingChangeEvent</name>
+          <name>Transient</name>
+        </keep-as3-metadata>
+	  
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>library://ns.apache.org/royale/vivid</uri>
+                <manifest>../resources/vivid-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/royale/vivid</uri>
+                <manifest>../resources/vivid-as-manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>../royale</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>../resources/defaults.css</path>
+    </include-file>
+
+    <include-lookup-only>true</include-lookup-only>
+    
+    <include-classes>
+        <class>VividClasses</class>
+    </include-classes>
+    
+    <include-namespaces>
+        <uri>library://ns.apache.org/royale/vivid</uri>
+    </include-namespaces>
+        
+    <target-player>${playerglobal.version}</target-player>
+	
+
+</royale-config>
diff --git a/frameworks/projects/Vivid/src/main/resources/defaults.css b/frameworks/projects/Vivid/src/main/resources/defaults.css
new file mode 100644
index 0000000..e4a792a
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/resources/defaults.css
@@ -0,0 +1,86 @@
+/*
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+@namespace "library://ns.apache.org/royale/vivid";
+
+/*
+* Vivid TextField
+*/
+TextField {
+	IBeadModel: ClassReference("org.apache.royale.html.beads.models.TextModel");
+	/*IBeadView: ClassReference("org.apache.royale.html.beads.TextInputWithBorderView");
+	IBeadController: ClassReference("org.apache.royale.html.beads.controllers.EditableTextKeyboardController");*/
+}
+.vTextField--input {}
+.vTextField--label {}
+
+/*
+* Vivid TextButton
+*/
+
+TextButton {
+	/* Background: */
+	background-color: #D8D8D8;
+	border: 1px solid #979797;
+	border-radius: 3px;
+
+	/* TextField: */
+	font-family: 'Lato', sans-serif;
+	font-size: 13px;
+	color: #646D7A;
+}
+
+TextButton:hover {
+    background-color: #CFCFCF;
+    vertical-align: middle;
+    border: none;
+    border-radius: 6px;
+}
+
+TextButton:active {
+    background-color: #77CEFF;
+    color: #FFFFFF;
+}
+
+/*
+* Vivid Slider
+*/
+Slider {
+	IBeadModel: ClassReference("org.apache.royale.html.beads.models.RangeModel");
+	IBeadView:  ClassReference("org.apache.royale.vivid.beads.SliderView");
+	IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.HorizontalSliderLayout");
+	IBeadController: ClassReference("org.apache.royale.html.beads.controllers.HSliderMouseController");
+	position: relative;
+}
+.SliderTrack {
+	position: absolute;
+}
+.SliderThumb {
+	position: absolute;
+	border-radius: 15px;
+}
+
+@media -royale-swf
+{
+    Slider
+	{
+		iThumbView: ClassReference("org.apache.royale.vivid.beads.SliderThumbView");
+		iTrackView: ClassReference("org.apache.royale.vivid.beads.SliderTrackView");
+	}
+}
diff --git a/frameworks/projects/Vivid/src/main/resources/vivid-as-manifest.xml b/frameworks/projects/Vivid/src/main/resources/vivid-as-manifest.xml
new file mode 100644
index 0000000..e38496a
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/resources/vivid-as-manifest.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<componentPackage>
+
+    
+</componentPackage>
diff --git a/frameworks/projects/Vivid/src/main/resources/vivid-manifest.xml b/frameworks/projects/Vivid/src/main/resources/vivid-manifest.xml
new file mode 100644
index 0000000..4c24222
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/resources/vivid-manifest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<componentPackage>
+
+    <component id="Application" class="org.apache.royale.vivid.Application"/>
+    <component id="TextButton" class="org.apache.royale.vivid.TextButton"/>
+    <component id="TextField" class="org.apache.royale.vivid.TextField"/>
+    <component id="Slider" class="org.apache.royale.vivid.Slider"/>
+    
+</componentPackage>
diff --git a/frameworks/projects/Vivid/src/main/royale/VividClasses.as b/frameworks/projects/Vivid/src/main/royale/VividClasses.as
new file mode 100644
index 0000000..a069ba8
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/VividClasses.as
@@ -0,0 +1,40 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+
+    /**
+     *  @private
+     *  This class is used to link additional classes into vivid.swc
+     *  beyond those that are found by dependecy analysis starting
+     *  from the classes specified in manifest.xml.
+     */
+    internal class VividClasses
+    {
+        import org.apache.royale.vivid.beads.SliderView; SliderView;
+	    
+        COMPILE::SWF
+	    {
+            import org.apache.royale.vivid.beads.SliderThumbView; SliderThumbView;
+            import org.apache.royale.vivid.beads.SliderTrackView; SliderTrackView;
+        }
+
+    }
+
+}
\ No newline at end of file
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/Application.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/Application.as
new file mode 100644
index 0000000..6246c99
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/Application.as
@@ -0,0 +1,70 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid
+{
+    import org.apache.royale.core.Application;
+    import org.apache.royale.core.SimpleCSSValuesImpl;
+		
+	/**
+	 * Vivid Application holds specific Vivid need in a Royale Application.
+	 *
+	 * This class extends the standard Application and sets up the
+	 * SimpleCSSValuesImpl (implementation) for convenience.
+	 *
+	 * 
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.2
+	 */
+	public class Application extends org.apache.royale.core.Application
+	{
+		/**
+         *  constructor.
+         *
+		 * <inject_html>
+     	 * <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
+     	 * </inject_html>
+	 	 * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.2
+         */
+		public function Application()
+		{
+			super();
+			
+			this.valuesImpl = new SimpleCSSValuesImpl();
+
+			// this a is temp solution until we get a better way to get a reference to Application
+			//topLevelApplication = this;
+		}
+
+		/**
+         *  static reference to this application used mainly for dialog (Dialog class)
+		 * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.2
+         */
+        //public static var topLevelApplication:Object;
+	}
+}
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/Slider.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/Slider.as
new file mode 100644
index 0000000..3b47dfa
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/Slider.as
@@ -0,0 +1,72 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid
+{
+	import org.apache.royale.html.Slider;
+
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+    }
+
+	[Event(name="valueChange", type="org.apache.royale.events.Event")]
+
+	/**
+	 *  The Slider class is a component that displays a range of values using a
+	 *  track and a thumb control. The Slider uses the following bead types:
+	 *
+	 *  org.apache.royale.core.IBeadModel: the data model, typically an IRangeModel, that holds the Slider values.
+	 *  org.apache.royale.core.IBeadView:  the bead that constructs the visual parts of the Slider.
+	 *  org.apache.royale.core.IBeadController: the bead that handles input.
+	 *  org.apache.royale.core.IThumbValue: the bead responsible for the display of the thumb control.
+	 *  org.apache.royale.core.ITrackView: the bead responsible for the display of the track.
+	 *
+     *  @toplevel
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.2
+	 */
+	public class Slider extends org.apache.royale.html.Slider
+	{
+		/**
+		 *  constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.2
+		 */
+		public function Slider()
+		{
+			super();
+		}
+
+		
+
+        /**
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+			return super.createElement();
+        }
+    }
+}
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/TextButton.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/TextButton.as
new file mode 100644
index 0000000..723dbdf
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/TextButton.as
@@ -0,0 +1,63 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid
+{
+    import org.apache.royale.html.TextButton;
+   
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+        import org.apache.royale.html.util.addElementToWrapper;
+    }
+    
+    /**
+     *  The Button class provides a Vivid Design Library UI-like appearance for
+     *  a Button.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Royale 0.9.2
+     */
+	public class TextButton extends org.apache.royale.html.TextButton
+	{
+        /**
+         *  Constructor.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.2
+         */
+		public function TextButton()
+		{
+			super();
+		}
+        
+        /**
+		 * @private
+		 * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+		 */
+		COMPILE::JS
+		override protected function createElement():WrappedHTMLElement
+		{
+            return super.createElement();
+		}
+	}
+}
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/TextField.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/TextField.as
new file mode 100644
index 0000000..1f43a48
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/TextField.as
@@ -0,0 +1,115 @@
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid
+{
+    import org.apache.royale.vivid.supportClasses.TextFieldBase;
+
+    COMPILE::JS
+    {
+        import goog.events;
+        import org.apache.royale.core.WrappedHTMLElement;
+        import org.apache.royale.html.util.addElementToWrapper;
+    }
+
+    /**
+     *  The TextField class implements the basic control for
+     *  single-line text input.
+     *
+     *  @toplevel
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Royale 0.9.2
+     */
+	public class TextField extends TextFieldBase
+	{
+        /**
+         *  Constructor.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.2
+         */
+		public function TextField()
+		{
+			super();
+		}
+
+        COMPILE::JS
+        private var _positioner:WrappedHTMLElement;
+
+		COMPILE::JS
+        /**
+         * The HTMLElement used to position the component.
+         */
+        override public function get positioner():WrappedHTMLElement
+		{
+			return _positioner;
+		}
+
+		COMPILE::JS
+        /**
+         * @private
+         */
+        override public function set positioner(value:WrappedHTMLElement):void
+		{
+			_positioner = value;
+		}
+
+        /**
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         * @royaleignorecoercion HTMLDivElement
+         * @royaleignorecoercion HTMLInputElement
+         * @royaleignorecoercion HTMLLabelElement
+         * @royaleignorecoercion Text
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            typeNames = "TextField";
+
+            var div:HTMLDivElement = document.createElement('div') as HTMLDivElement;
+            div.className = typeNames;
+            
+            input = addElementToWrapper(this,'input') as HTMLInputElement;
+            input.setAttribute('type', 'text');
+            input.className = "vTextField--input";
+            
+            //attach input handler to dispatch royale change event when user write in textinput
+            //goog.events.listen(element, 'change', killChangeHandler);
+            goog.events.listen(input, 'input', textChangeHandler);
+            
+            label = document.createElement('label') as HTMLLabelElement;
+            label.className = "vTextField--label";
+
+            textNode = document.createTextNode('') as Text;
+            label.appendChild(textNode);
+            
+            div.appendChild(input);
+            div.appendChild(label);
+
+            positioner = div as WrappedHTMLElement;
+            (label as WrappedHTMLElement).royale_wrapper = this;
+            _positioner.royale_wrapper = this;
+            
+            return element;
+        }
+
+	}
+}
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/SliderThumbView.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/SliderThumbView.as
new file mode 100644
index 0000000..cb2768b
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/SliderThumbView.as
@@ -0,0 +1,121 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid.beads
+{
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+
+    import org.apache.royale.core.BeadViewBase;
+    import org.apache.royale.core.IBeadView;
+    import org.apache.royale.core.IStrand;
+	import org.apache.royale.html.Button;
+    import org.apache.royale.events.Event;
+    import org.apache.royale.events.IEventDispatcher;
+    import org.apache.royale.core.IChild;
+	
+	/**
+	 *  The SliderThumbView class creates the draggable input element for the 
+	 *  org.apache.royale.html.Slider component.
+	 *  
+	 *  @viewbead
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.0
+	 */
+	public class SliderThumbView extends BeadViewBase implements IBeadView
+	{
+		/**
+		 *  constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function SliderThumbView()
+		{
+            hitArea = new Shape();
+            upView = new Shape();
+            downView = new Shape();
+            overView = new Shape();                
+		}
+		
+		/**
+		 * @private
+		 */
+		private function drawView(g:Graphics, bgColor:uint):void
+		{
+			var host:Button = Button(_strand);
+            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
+			g.clear();
+			g.lineStyle(1,0x000000);
+			g.beginFill(bgColor,1.0);
+			g.drawCircle(host.width/2, host.height/2, 10);
+			g.endFill();
+		}
+		
+		private var hitArea:Shape;
+		
+		/**
+		 *  @copy org.apache.royale.core.IBead#strand
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+         *  @royaleignoreimport org.apache.royale.core.WrappedHTMLElement
+         *  @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+		 */
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			
+            drawView(hitArea.graphics, 0xDD0000);
+            drawView(upView.graphics, 0xFFFFFF);
+            drawView(downView.graphics, 0x999999);
+            drawView(overView.graphics, 0xDDDDDD);
+            
+            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
+            button.upState = upView;
+            button.downState = downView;
+            button.overState = overView;
+            button.hitTestState = hitArea;
+            
+            IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+            IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);                
+		}
+		
+		private var upView:Shape;
+		private var downView:Shape;
+		private var overView:Shape;
+        
+		/**
+		 * @private
+		 */
+		private function sizeChangeHandler( event:Event ) : void
+		{
+			drawView(hitArea.graphics, 0xDD0000);
+			drawView(upView.graphics, 0xFFFFFF);
+			drawView(downView.graphics, 0x999999);
+			drawView(overView.graphics, 0xDDDDDD);
+		}
+	}
+}
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/SliderTrackView.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/SliderTrackView.as
new file mode 100644
index 0000000..4b40230
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/SliderTrackView.as
@@ -0,0 +1,121 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid.beads
+{
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;			
+	
+	import org.apache.royale.core.BeadViewBase;
+	import org.apache.royale.core.IBeadView;
+	import org.apache.royale.core.IStrand;
+	import org.apache.royale.core.UIBase;
+	import org.apache.royale.html.Button;
+	import org.apache.royale.events.Event;
+	import org.apache.royale.events.IEventDispatcher;
+	import org.apache.royale.core.IChild;
+	
+	/**
+	 *  The SliderTrackView class creates the track area for the org.apache.royale.html.Slider
+	 *  component.
+	 *  
+	 *  @viewbead
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.0
+	 */
+	public class SliderTrackView extends BeadViewBase implements IBeadView
+	{
+		/**
+		 *  constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function SliderTrackView()
+		{
+			hitArea = new Shape();
+			upView = new Shape();
+			downView = new Shape();
+			overView = new Shape();					
+		}
+		
+		/**
+		 * @private
+		 */
+		private function drawView(g:Graphics, bgColor:uint):void
+		{
+			var host:Button = Button(_strand);
+            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
+			g.clear();
+			g.lineStyle(1,0x000000);
+			g.beginFill(bgColor);
+			g.drawRect(0, 0, host.width, host.height);
+			g.endFill();
+		}
+		
+		private var hitArea:Shape;
+		
+		/**
+		 *  @copy org.apache.royale.core.IBead#strand
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+         *  @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+		 */
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			
+			drawView(hitArea.graphics, 0xDD0000);
+			drawView(upView.graphics, 0xCCCCCC);
+			drawView(downView.graphics, 0x808080);
+			drawView(overView.graphics, 0xEEEEEE);
+			
+            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
+			button.upState = upView;
+			button.downState = downView;
+			button.overState = overView;
+			button.hitTestState = hitArea;
+			
+			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);					
+		}
+		
+		private var upView:Shape;
+		private var downView:Shape;
+		private var overView:Shape;
+		
+		/**
+		 * @private
+		 */
+		private function sizeChangeHandler( event:Event ) : void
+		{
+			drawView(hitArea.graphics, 0xDD0000);
+			drawView(upView.graphics, 0xCCCCCC);
+			drawView(downView.graphics, 0x808080);
+			drawView(overView.graphics, 0xEEEEEE);
+		}
+	}
+}
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/SliderView.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/SliderView.as
new file mode 100644
index 0000000..cc18c9d
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/SliderView.as
@@ -0,0 +1,172 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid.beads
+{
+	COMPILE::SWF {
+		import flash.display.DisplayObject;
+		import flash.display.Sprite;
+	}
+	
+    import org.apache.royale.html.beads.ISliderView;
+    import org.apache.royale.core.BeadViewBase;
+    import org.apache.royale.core.IBead;
+    import org.apache.royale.core.IBeadLayout;
+    import org.apache.royale.core.IBeadModel;
+    import org.apache.royale.core.IBeadView;
+    import org.apache.royale.core.IRangeModel;
+    import org.apache.royale.core.IStrand;
+    import org.apache.royale.core.IUIBase;
+    import org.apache.royale.core.UIBase;
+    import org.apache.royale.core.ValuesManager;
+    import org.apache.royale.events.Event;
+    import org.apache.royale.events.IEventDispatcher;
+    import org.apache.royale.html.Button;
+    import org.apache.royale.html.TextButton;
+	
+	/**
+	 *  The SliderView class creates the visual elements of the org.apache.royale.html.Slider 
+	 *  component. The Slider has a track and a thumb control which are also created with view beads.
+	 *  
+	 *  @viewbead
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.0
+	 */
+	public class SliderView extends BeadViewBase implements ISliderView, IBeadView
+	{
+		/**
+		 *  constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function SliderView()
+		{
+		}
+		
+		private var rangeModel:IRangeModel;
+		
+		/**
+		 *  @copy org.apache.royale.core.IBead#strand
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			
+			var layout:IBeadLayout = _strand.getBeadByType(IBeadLayout) as IBeadLayout;
+			if (layout == null) {
+				var klass:Class = ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout");
+				_strand.addBead(new klass() as IBead);
+			}
+			
+			COMPILE::SWF {
+				var s:UIBase = UIBase(_strand);
+				
+				_track = new Button();
+				_track.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iTrackView")) as IBead);
+				_track.className = "SliderTrack";
+				s.addElement(_track);
+				
+				_thumb = new TextButton();
+				_thumb.text = '\u29BF';
+				_thumb.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iThumbView")) as IBead);
+				_thumb.className = "SliderThumb";
+				s.addElement(_thumb);
+				
+			}
+			COMPILE::JS {
+				_track = new Button();
+				_track.className = "SliderTrack";
+				host.addElement(_track);
+				
+				_thumb = new TextButton();
+				_thumb.className = "SliderThumb";
+				_thumb.text = '\u29BF';
+				host.addElement(_thumb);
+			}
+			
+			rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
+
+			var rm:IEventDispatcher = rangeModel as IEventDispatcher;
+			
+			// listen for changes to the model and adjust the UI accordingly.
+			rm.addEventListener("valueChange",modelChangeHandler);
+			rm.addEventListener("minimumChange",modelChangeHandler);
+			rm.addEventListener("maximumChange",modelChangeHandler);
+			rm.addEventListener("stepSizeChange",modelChangeHandler);
+			rm.addEventListener("snapIntervalChange",modelChangeHandler);
+			
+			(_strand as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
+		}
+		
+		private var _track:Button;
+		private var _thumb:TextButton;
+		
+		
+		/**
+		 *  The track component.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function get track():IUIBase
+		{
+			return _track;
+		}
+		
+		/**
+		 *  The thumb component.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function get thumb():IUIBase
+		{
+			return _thumb;
+		}
+		
+		/**
+		 * @royaleignorecoercion org.apache.royale.core.UIBase
+		 */
+		private function get host():UIBase
+		{
+			return _strand as UIBase;
+		}
+		
+		/**
+		 * @private
+		 */
+		private function modelChangeHandler( event:Event ) : void
+		{
+			(_strand as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
+		}
+	}
+}
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/supportClasses/ITextField.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/supportClasses/ITextField.as
new file mode 100644
index 0000000..100b523
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/supportClasses/ITextField.as
@@ -0,0 +1,68 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid.supportClasses
+{
+    /**
+     *  ITextField is the interface that all text vivid classes.
+     *  It's used mainly in org.apache.royale.vivid.supportClasses.TextFieldBase
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Royale 9.2
+     */
+    public interface ITextField
+    {
+        COMPILE::JS
+        {
+            /**
+            * the textNode
+            *
+            * @langversion 3.0
+            * @playerversion Flash 10.2
+            * @playerversion AIR 2.6
+            * @productversion Royale 0.9.2
+            */
+            function get textNode():Text;
+            function set textNode(value:Text):void;
+
+            /**
+            * the input
+            *
+            * @langversion 3.0
+            * @playerversion Flash 10.2
+            * @playerversion AIR 2.6
+            * @productversion Royale 0.9.2
+            */
+            function get input():HTMLInputElement;
+            function set input(value:HTMLInputElement):void;
+
+            /**
+            * the label
+            *
+            * @langversion 3.0
+            * @playerversion Flash 10.2
+            * @playerversion AIR 2.6
+            * @productversion Royale 0.9.2
+            */
+            function get label():HTMLLabelElement;
+            function set label(value:HTMLLabelElement):void;
+        }
+    }
+}
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/supportClasses/TextFieldBase.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/supportClasses/TextFieldBase.as
new file mode 100644
index 0000000..868b6be
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/supportClasses/TextFieldBase.as
@@ -0,0 +1,154 @@
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid.supportClasses
+{
+	import org.apache.royale.events.Event;
+	import org.apache.royale.html.TextInput;
+    
+    import org.apache.royale.vivid.supportClasses.ITextField;
+    
+    COMPILE::JS
+    {
+        import goog.events;
+        import org.apache.royale.core.WrappedHTMLElement;        
+    }
+    
+    /**
+     *  The TextFieldBase class is the base class for TextField and TextArea Vivid controls
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Royale 0.9.2
+     */    
+	public class TextFieldBase extends TextInput implements ITextField
+	{
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.2
+         */
+		public function TextFieldBase()
+		{
+			super();
+		}
+
+        COMPILE::JS
+        {
+            private var _textNode:Text;
+            /**
+             *  @copy org.apache.royale.vivid.supportClasses.ITextField#textNode
+             *
+             *  @langversion 3.0
+             *  @playerversion Flash 10.2
+             *  @playerversion AIR 2.6
+             *  @productversion Royale 0.9.2
+             */
+            public function get textNode():Text
+            {
+                return _textNode;
+            }
+
+            public function set textNode(value:Text):void
+            {
+                _textNode = value;
+            }
+
+            private var _input:HTMLInputElement;
+            /**
+             *  @copy org.apache.royale.vivid.supportClasses.ITextField#input
+             *
+             *  @langversion 3.0
+             *  @playerversion Flash 10.2
+             *  @playerversion AIR 2.6
+             *  @productversion Royale 0.9.2
+             */
+            public function get input():HTMLInputElement
+            {
+                return _input;
+            }
+
+            public function set input(value:HTMLInputElement):void
+            {
+                _input = value;
+            }
+
+            private var _label:HTMLLabelElement;
+            /**
+             *  @copy org.apache.royale.vivid.supportClasses.ITextField#label
+             *
+             *  @langversion 3.0
+             *  @playerversion Flash 10.2
+             *  @playerversion AIR 2.6
+             *  @productversion Royale 0.9.2
+             */
+            public function get label():HTMLLabelElement
+            {
+                return _label;
+            }
+
+            public function set label(value:HTMLLabelElement):void
+            {
+                _label = value;
+            }
+        }
+
+        COMPILE::JS
+        /**
+		 *  override UIBase to affect positioner instead of element
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.2
+		 */
+		override protected function setClassName(value:String):void
+		{
+			positioner.className = value;           
+		}
+
+        private var _isInvalid:Boolean = false;
+        /**
+		 *  A boolean flag to activate "is-invalid" effect selector.
+         *  Defines the textfield as invalid on initial load.
+         *  Optional
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.2
+		 */
+        public function get isInvalid():Boolean
+        {
+            return _isInvalid;
+        }
+        public function set isInvalid(value:Boolean):void
+        {
+            _isInvalid = value;
+
+            COMPILE::JS
+            {
+                positioner.classList.toggle("is-invalid", _isInvalid);
+                typeNames = positioner.className;
+            }
+        }
+	}
+}
diff --git a/frameworks/projects/VividBlueTheme/.vscode/launch.json b/frameworks/projects/VividBlueTheme/.vscode/launch.json
new file mode 100644
index 0000000..5dfb672
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/.vscode/launch.json
@@ -0,0 +1,21 @@
+{
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "Launch Chrome against debug.html, with sourcemaps",
+            "type": "chrome",
+            "request": "launch",
+            "file": "${workspaceRoot}/target/javascript/bin/js-debug/index.html",
+            "sourceMaps": true,
+            "preLaunchTask": "mvn"
+        },
+        {
+            "name": "Launch Firefox against debug.html, with sourcemaps",
+            "type": "firefox",
+            "request": "launch",
+            "file": "${workspaceRoot}/target/javascript/bin/js-debug/index.html",
+            "sourceMaps": true,
+            "preLaunchTask": "mvn"
+        }
+    ]
+}
diff --git a/frameworks/projects/VividBlueTheme/.vscode/settings.json b/frameworks/projects/VividBlueTheme/.vscode/settings.json
new file mode 100644
index 0000000..1069e6c
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+    "nextgenas.sdk.framework": "/Users/carlosrovira/Dev/Royale/Sdks/apache-royale-0.9.1"
+}
\ No newline at end of file
diff --git a/frameworks/projects/VividBlueTheme/.vscode/tasks.json b/frameworks/projects/VividBlueTheme/.vscode/tasks.json
new file mode 100644
index 0000000..5d6198d
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/.vscode/tasks.json
@@ -0,0 +1,8 @@
+{
+	// for the documentation about the tasks.json format
+	"version": "0.1.0",
+	"command": "mvn",
+	"args": ["clean", "install", "-DskipTests"],
+	"isShellCommand": true,
+	"showOutput": "always"
+}
\ No newline at end of file
diff --git a/frameworks/projects/VividBlueTheme/asconfig.json b/frameworks/projects/VividBlueTheme/asconfig.json
new file mode 100644
index 0000000..d2773a4
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/asconfig.json
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ {
+    "config": "royale",
+    "type": "lib",
+    "compilerOptions": {
+        "debug": true,
+        "targets": [
+            "JSRoyale",
+            "SWF"
+        ],
+        "include-classes": [
+            "VividBlueThemeClasses"
+        ],
+        "include-sources": [
+            "src/main/royale"
+        ],
+        "output": "target/VividBlueThemeClasses.swc"
+    }
+}
diff --git a/frameworks/projects/VividBlueTheme/build.xml b/frameworks/projects/VividBlueTheme/build.xml
new file mode 100644
index 0000000..2f0a79f
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/build.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="VividBlueTheme" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../.."/>
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+    
+    <property name="target.name" value="${ant.project.name}.swc" />
+    
+    <!-- doesn't contain compiled files so only need to compile JS version -->
+    <target name="main" depends="clean,check-compiler,compile,compile-js,copy-swc,test" description="Full build of ${ant.project.name}.swc">
+    </target>
+    
+    <target name="compile-js">
+        <!-- doesn't contain compiled files so only need to compile JS version
+        <ant dir="${ROYALE_HOME}/frameworks/js/projects/${ant.project.name}JS/" inheritAll="false" >
+            <property name="ROYALE_SWF_COMPILER_HOME" value="${ROYALE_SWF_COMPILER_HOME}"/>
+            <property name="ROYALE_COMPILER_HOME" value="${ROYALE_COMPILER_HOME}"/>
+            <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+        </ant>
+         -->
+    </target>
+    
+    <target name="copy-swc" if="env.AIR_HOME">
+        <copy file="${basedir}/target/${target.name}" tofile="${ROYALE_HOME}/frameworks/libs/${target.name}" />
+    </target>
+    
+    <target name="check-for-tests" >
+        <condition property="skip-tests" >
+            <not>
+                <available file="${basedir}/src/test/royale/build.xml" />
+            </not>
+        </condition>
+    </target>
+    
+    <target name="test" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" />
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${ROYALE_HOME}/frameworks/libs">
+                <include name="${target.name}"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${basedir}/target">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+        <antcall target="clean-tests" />
+    </target>
+    
+    <target name="clean-tests" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" target="clean"/>
+    </target>
+    
+    <target name="compile" description="Compiles .as files into .swc" if="env.AIR_HOME">
+        <echo message="Compiling libs/${ant.project.name}.swc"/>
+        <echo message="ROYALE_HOME: ${ROYALE_HOME}"/>
+        <echo message="ROYALE_SWF_COMPILER_HOME: ${ROYALE_SWF_COMPILER_HOME}"/>
+        <echo message="ROYALE_COMPILER_HOME: ${ROYALE_COMPILER_HOME}"/>
+        
+        <java jar="${ROYALE_COMPILER_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${ROYALE_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
+    </target>
+    
+    <target name="check-compiler" depends="check-compiler-home,check-transpiler-home">
+        <path id="lib.path">
+            <fileset dir="${ROYALE_COMPILER_HOME}/lib" includes="compiler-royaleTasks.jar"/>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+    </target>
+    
+    <target name="check-compiler-home"
+        description="Set ROYALE_SWF_COMPILER_HOME to point at the compiler.">
+        
+        <available file="${ROYALE_HOME}/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${ROYALE_HOME}"/>
+        
+        <fail message="ROYALE_SWF_COMPILER_HOME must be set to a folder with a lib sub-folder containing compiler-mxmlc.jar such as the compiler folder in royale-compiler repo or the root of a Royale SDK"
+        unless="ROYALE_SWF_COMPILER_HOME"/>
+    </target>
+    
+    <target name="check-transpiler-home"
+        description="Set ROYALE_COMPILER_HOME to point at the cross-compiler.">
+        
+        <available file="${ROYALE_HOME}/js/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${ROYALE_HOME}/js"/>
+        
+        <fail message="ROYALE_COMPILER_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in royale-compiler repo or the js folder of a Royale SDK"
+        unless="ROYALE_COMPILER_HOME"/>
+    </target>
+    
+</project>
diff --git a/frameworks/projects/VividBlueTheme/pom.xml b/frameworks/projects/VividBlueTheme/pom.xml
new file mode 100644
index 0000000..92b6054
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.royale.framework</groupId>
+    <artifactId>projects</artifactId>
+    <version>0.9.2-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>VividBlueTheme</artifactId>
+  <version>0.9.2-SNAPSHOT</version>
+  <packaging>swc</packaging>
+
+  <name>Apache Royale: Framework: Libs: VividBlueTheme</name>
+
+  <build>
+    <sourceDirectory>src/main/royale</sourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.royale.compiler</groupId>
+        <artifactId>royale-maven-plugin</artifactId>
+        <version>${royale.compiler.version}</version>
+        <extensions>true</extensions>
+        <configuration>
+          <includeClasses>
+            <includeClass>VividBlueThemeClasses</includeClass>
+          </includeClasses>
+          <includeFiles>
+            <include-file>
+              <name>defaults.css</name>
+              <path>../src/main/resources/defaults.css</path>
+            </include-file>
+            <include-file>
+              <name>TextField.css</name>
+              <path>../src/main/resources/TextField.css</path>
+            </include-file>
+          </includeFiles>
+          <includeLookupOnly>true</includeLookupOnly>
+          <!--<allowSubclassOverrides>true</allowSubclassOverrides>-->
+          <skipExtern>true</skipExtern>
+          <!--<additionalCompilerOptions>-compiler.fxg-base-class=flash.display.Sprite</additionalCompilerOptions>-->
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/frameworks/projects/VividBlueTheme/src/main/config/compile-swf-config.xml b/frameworks/projects/VividBlueTheme/src/main/config/compile-swf-config.xml
new file mode 100644
index 0000000..e4dd958
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/src/main/config/compile-swf-config.xml
@@ -0,0 +1,91 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<royale-config>
+
+    <compiler>
+        <accessible>false</accessible>
+        
+        <!-- build only SWF version since no compiled code -->
+        <targets>
+            <target>SWF</target>
+        </targets>
+        <strict-xml>true</strict-xml>
+
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+        </external-library-path>
+        
+        <allow-subclass-overrides>true</allow-subclass-overrides>
+		<mxml>
+			<children-as-data>true</children-as-data>
+		</mxml>
+		<binding-value-change-event>org.apache.royale.events.ValueChangeEvent</binding-value-change-event>
+		<binding-value-change-event-kind>org.apache.royale.events.ValueChangeEvent</binding-value-change-event-kind>
+		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
+        <keep-as3-metadata>
+          <name>Bindable</name>
+          <name>Managed</name>
+          <name>ChangeEvent</name>
+          <name>NonCommittingChangeEvent</name>
+          <name>Transient</name>
+        </keep-as3-metadata>
+	  
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+        </namespaces>
+        
+        <source-path>
+            <path-element>../royale</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>../resources/defaults.css</path>
+    </include-file>
+    <include-file>
+        <name>TextField.css</name>
+        <path>../resources/TextField.css</path>
+    </include-file>
+
+    <include-lookup-only>true</include-lookup-only>
+    
+    <include-classes>
+        <class>VividBlueThemeClasses</class>
+    </include-classes>
+    
+    <target-player>${playerglobal.version}</target-player>
+	
+
+</royale-config>
diff --git a/frameworks/projects/VividBlueTheme/src/main/resources/TextField.css b/frameworks/projects/VividBlueTheme/src/main/resources/TextField.css
new file mode 100644
index 0000000..4c5e368
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/src/main/resources/TextField.css
@@ -0,0 +1,75 @@
+/*
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+@namespace "library://ns.apache.org/royale/vivid";
+/*@namespace svg "library://ns.apache.org/royale/svg";*/
+
+/*
+* Vivid TextField
+*/
+TextField {
+	position: relative;
+	display: inline-block;
+	box-sizing: border-box;
+	width: 300px;
+	max-width: 100%;
+	margin: 0;
+}
+
+.vTextField--input {
+	font-size: 16px;
+	font-family: 'Lato', sans-serif;
+
+	border: none;
+	border-bottom: 2px solid;
+	border-bottom-color: #ff0000;
+	display: block;
+	margin: 0;
+	padding: 4 0;
+	width: 100px;
+	background: transparent;
+	text-align: left;
+	color: inherit;
+	outline: none;
+}
+
+.vTextField--label {
+	bottom: 0;
+	color: #ff0000;
+	font-size: 13px;
+	left: 0;
+	right: 0;
+	pointer-events: none;
+	position: absolute;
+	display: block;
+	width: 100%;
+	overflow: hidden;
+	white-space: nowrap;
+	text-align: left;
+}
+
+/*
+    padding: 5px;
+    border: solid 1px #666666;
+    border-radius: 6px;
+    color: #333333;
+:hover 
+    padding: 5px;
+    background-color: #DFDFDF;
+*/
\ No newline at end of file
diff --git a/frameworks/projects/VividBlueTheme/src/main/resources/defaults.css b/frameworks/projects/VividBlueTheme/src/main/resources/defaults.css
new file mode 100644
index 0000000..3d376ac
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/src/main/resources/defaults.css
@@ -0,0 +1,33 @@
+/*
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+ @namespace "http://www.w3.org/1999/xhtml";
+
+ .royale *, . royale *:before, . royale *:after {
+	 -moz-box-sizing: border-box;
+	 -webkit-box-sizing: border-box;
+	 box-sizing: border-box;
+ }
+ 
+ .page-content
+ {
+	 padding: 10px;
+	 margin: 10px;
+ }
+ 
\ No newline at end of file
diff --git a/frameworks/projects/VividBlueTheme/src/main/royale/VividBlueThemeClasses.as b/frameworks/projects/VividBlueTheme/src/main/royale/VividBlueThemeClasses.as
new file mode 100644
index 0000000..9808ec1
--- /dev/null
+++ b/frameworks/projects/VividBlueTheme/src/main/royale/VividBlueThemeClasses.as
@@ -0,0 +1,33 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+
+    /**
+     *  @private
+     *  This class is used to link additional classes into vivid.swc
+     *  beyond those that are found by dependecy analysis starting
+     *  from the classes specified in manifest.xml.
+     */
+    internal class VividBlueThemeClasses
+    {
+        
+    }
+
+}
\ No newline at end of file
diff --git a/frameworks/projects/pom.xml b/frameworks/projects/pom.xml
index c1d5cc1..55fb559 100644
--- a/frameworks/projects/pom.xml
+++ b/frameworks/projects/pom.xml
@@ -60,6 +60,8 @@
     <module>Text</module>
     <module>TLF</module>
     <module>RoyaleSite</module>
+    <module>Vivid</module>
+    <module>VividBlueTheme</module>
   </modules>
 
   <profiles>

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 06/12: textbutton css in theme

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 119400fe378e58cb09bcf566e338d933f78bf08e
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sat Feb 24 17:46:25 2018 +0100

    textbutton css in theme
---
 .../projects/Vivid/src/main/resources/defaults.css | 24 +----------
 frameworks/themes/VividBlueTheme/pom.xml           |  4 ++
 .../src/main/resources/TextButton.css              | 49 ++++++++++++++++++++++
 3 files changed, 55 insertions(+), 22 deletions(-)

diff --git a/frameworks/projects/Vivid/src/main/resources/defaults.css b/frameworks/projects/Vivid/src/main/resources/defaults.css
index ee46fc1..5fed6d5 100644
--- a/frameworks/projects/Vivid/src/main/resources/defaults.css
+++ b/frameworks/projects/Vivid/src/main/resources/defaults.css
@@ -33,30 +33,10 @@ TextField {
 /*
 * Vivid TextButton
 */
-
 TextButton {
-	/* Background: */
-	background-color: #D8D8D8;
-	border: 1px solid #979797;
-	border-radius: 3px;
-
-	/* TextField: */
-	font-family: 'Lato', sans-serif;
-	font-size: 13px;
-	color: #646D7A;
-}
-
-TextButton:hover {
-    background-color: #CFCFCF;
-    vertical-align: middle;
-    border: none;
-    border-radius: 6px;
-}
-
-TextButton:active {
-    background-color: #77CEFF;
-    color: #FFFFFF;
 }
+TextButton:hover {}
+TextButton:active {}
 
 /*
 * Vivid Slider
diff --git a/frameworks/themes/VividBlueTheme/pom.xml b/frameworks/themes/VividBlueTheme/pom.xml
index 5017d0e..e0cc7cb 100644
--- a/frameworks/themes/VividBlueTheme/pom.xml
+++ b/frameworks/themes/VividBlueTheme/pom.xml
@@ -50,6 +50,10 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
             <include-file>
+              <name>TextButton.css</name>
+              <path>../src/main/resources/TextButton.css</path>
+            </include-file>
+            <include-file>
               <name>TextField.css</name>
               <path>../src/main/resources/TextField.css</path>
             </include-file>
diff --git a/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css b/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
new file mode 100644
index 0000000..05ca704
--- /dev/null
+++ b/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
@@ -0,0 +1,49 @@
+/*
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+@namespace "library://ns.apache.org/royale/vivid";
+/*@namespace svg "library://ns.apache.org/royale/svg";*/
+ 
+/*
+* Vivid TextButton
+*/
+
+TextButton {
+	/* Background: */
+	background-color: #D8D8D8;
+	border: 1px solid #979797;
+	border-radius: 3px;
+
+	/* TextField: */
+	font-family: 'Lato', sans-serif;
+	font-size: 13px;
+	color: #646D7A;
+}
+
+TextButton:hover {
+    background-color: #CFCFCF;
+    vertical-align: middle;
+    border: none;
+    border-radius: 6px;
+}
+
+TextButton:active {
+    background-color: #77CEFF;
+    color: #FFFFFF;
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 04/12: Move vivid theme to themes folder and change vivid example to dependency "theme"

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 18d4b6c8ec098c7bfa232e9bd4cefef47be08a39
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sat Feb 24 17:21:11 2018 +0100

    Move vivid theme to themes folder and change vivid example to dependency "theme"
---
 examples/royale/VividExample/pom.xml               | 11 ++-
 .../src/main/config/compile-swf-config.xml         | 91 ----------------------
 frameworks/projects/pom.xml                        |  1 -
 .../VividBlueTheme/.vscode/launch.json             |  0
 .../VividBlueTheme/.vscode/settings.json           |  0
 .../VividBlueTheme/.vscode/tasks.json              |  0
 .../VividBlueTheme/asconfig.json                   |  0
 .../{projects => themes}/VividBlueTheme/build.xml  |  0
 .../{projects => themes}/VividBlueTheme/pom.xml    |  6 +-
 .../src/main/resources/TextField.css               |  0
 .../VividBlueTheme/src/main/resources/defaults.css |  0
 .../src/main/royale/VividBlueThemeClasses.as       |  0
 frameworks/themes/pom.xml                          |  1 +
 13 files changed, 10 insertions(+), 100 deletions(-)

diff --git a/examples/royale/VividExample/pom.xml b/examples/royale/VividExample/pom.xml
index e53bc13..9c73e11 100644
--- a/examples/royale/VividExample/pom.xml
+++ b/examples/royale/VividExample/pom.xml
@@ -48,9 +48,7 @@
         <configuration>
           <mainClass>App.mxml</mainClass>
           <targets>JSRoyale</targets>
-          <!--<htmlTemplate>${basedir}/target/javascript/bin/js-debug/vivid-js-index-template.html</htmlTemplate>
-          <additionalCompilerOptions>-compiler.exclude-defaults-css-files=Basic-${royale.framework.version}-js.swc:defaults.css</additionalCompilerOptions>-->
-          <additionalCompilerOptions>-theme=${basedir}/../../../frameworks/projects/VividBlueTheme/target/VividBlueTheme-${royale.framework.version}-js.swc</additionalCompilerOptions>
+          <!--<htmlTemplate>${basedir}/target/javascript/bin/js-debug/vivid-js-index-template.html</htmlTemplate>-->
         </configuration>
       </plugin>
     </plugins>
@@ -85,6 +83,13 @@
       <type>swc</type>
       <classifier>swf</classifier>
     </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>VividBlueTheme</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <scope>theme</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/frameworks/projects/VividBlueTheme/src/main/config/compile-swf-config.xml b/frameworks/projects/VividBlueTheme/src/main/config/compile-swf-config.xml
deleted file mode 100644
index e4dd958..0000000
--- a/frameworks/projects/VividBlueTheme/src/main/config/compile-swf-config.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
--->
-<royale-config>
-
-    <compiler>
-        <accessible>false</accessible>
-        
-        <!-- build only SWF version since no compiled code -->
-        <targets>
-            <target>SWF</target>
-        </targets>
-        <strict-xml>true</strict-xml>
-
-        <external-library-path>
-            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
-        </external-library-path>
-        
-        <allow-subclass-overrides>true</allow-subclass-overrides>
-		<mxml>
-			<children-as-data>true</children-as-data>
-		</mxml>
-		<binding-value-change-event>org.apache.royale.events.ValueChangeEvent</binding-value-change-event>
-		<binding-value-change-event-kind>org.apache.royale.events.ValueChangeEvent</binding-value-change-event-kind>
-		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
-
-        <define>
-            <name>COMPILE::SWF</name>
-            <value>true</value>
-        </define>
-        <define>
-            <name>COMPILE::JS</name>
-            <value>false</value>
-        </define>
-
-        <keep-as3-metadata>
-          <name>Bindable</name>
-          <name>Managed</name>
-          <name>ChangeEvent</name>
-          <name>NonCommittingChangeEvent</name>
-          <name>Transient</name>
-        </keep-as3-metadata>
-	  
-        <locale/>
-        
-        <library-path/>
-
-        <namespaces>
-        </namespaces>
-        
-        <source-path>
-            <path-element>../royale</path-element>
-        </source-path>
-        
-        <warn-no-constructor>false</warn-no-constructor>
-    </compiler>
-    
-    <include-file>
-        <name>defaults.css</name>
-        <path>../resources/defaults.css</path>
-    </include-file>
-    <include-file>
-        <name>TextField.css</name>
-        <path>../resources/TextField.css</path>
-    </include-file>
-
-    <include-lookup-only>true</include-lookup-only>
-    
-    <include-classes>
-        <class>VividBlueThemeClasses</class>
-    </include-classes>
-    
-    <target-player>${playerglobal.version}</target-player>
-	
-
-</royale-config>
diff --git a/frameworks/projects/pom.xml b/frameworks/projects/pom.xml
index 55fb559..c851a7d 100644
--- a/frameworks/projects/pom.xml
+++ b/frameworks/projects/pom.xml
@@ -61,7 +61,6 @@
     <module>TLF</module>
     <module>RoyaleSite</module>
     <module>Vivid</module>
-    <module>VividBlueTheme</module>
   </modules>
 
   <profiles>
diff --git a/frameworks/projects/VividBlueTheme/.vscode/launch.json b/frameworks/themes/VividBlueTheme/.vscode/launch.json
similarity index 100%
rename from frameworks/projects/VividBlueTheme/.vscode/launch.json
rename to frameworks/themes/VividBlueTheme/.vscode/launch.json
diff --git a/frameworks/projects/VividBlueTheme/.vscode/settings.json b/frameworks/themes/VividBlueTheme/.vscode/settings.json
similarity index 100%
rename from frameworks/projects/VividBlueTheme/.vscode/settings.json
rename to frameworks/themes/VividBlueTheme/.vscode/settings.json
diff --git a/frameworks/projects/VividBlueTheme/.vscode/tasks.json b/frameworks/themes/VividBlueTheme/.vscode/tasks.json
similarity index 100%
rename from frameworks/projects/VividBlueTheme/.vscode/tasks.json
rename to frameworks/themes/VividBlueTheme/.vscode/tasks.json
diff --git a/frameworks/projects/VividBlueTheme/asconfig.json b/frameworks/themes/VividBlueTheme/asconfig.json
similarity index 100%
rename from frameworks/projects/VividBlueTheme/asconfig.json
rename to frameworks/themes/VividBlueTheme/asconfig.json
diff --git a/frameworks/projects/VividBlueTheme/build.xml b/frameworks/themes/VividBlueTheme/build.xml
similarity index 100%
rename from frameworks/projects/VividBlueTheme/build.xml
rename to frameworks/themes/VividBlueTheme/build.xml
diff --git a/frameworks/projects/VividBlueTheme/pom.xml b/frameworks/themes/VividBlueTheme/pom.xml
similarity index 87%
rename from frameworks/projects/VividBlueTheme/pom.xml
rename to frameworks/themes/VividBlueTheme/pom.xml
index 92b6054..5017d0e 100644
--- a/frameworks/projects/VividBlueTheme/pom.xml
+++ b/frameworks/themes/VividBlueTheme/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>projects</artifactId>
+    <artifactId>themes</artifactId>
     <version>0.9.2-SNAPSHOT</version>
   </parent>
 
@@ -54,10 +54,6 @@
               <path>../src/main/resources/TextField.css</path>
             </include-file>
           </includeFiles>
-          <includeLookupOnly>true</includeLookupOnly>
-          <!--<allowSubclassOverrides>true</allowSubclassOverrides>-->
-          <skipExtern>true</skipExtern>
-          <!--<additionalCompilerOptions>-compiler.fxg-base-class=flash.display.Sprite</additionalCompilerOptions>-->
         </configuration>
       </plugin>
     </plugins>
diff --git a/frameworks/projects/VividBlueTheme/src/main/resources/TextField.css b/frameworks/themes/VividBlueTheme/src/main/resources/TextField.css
similarity index 100%
rename from frameworks/projects/VividBlueTheme/src/main/resources/TextField.css
rename to frameworks/themes/VividBlueTheme/src/main/resources/TextField.css
diff --git a/frameworks/projects/VividBlueTheme/src/main/resources/defaults.css b/frameworks/themes/VividBlueTheme/src/main/resources/defaults.css
similarity index 100%
rename from frameworks/projects/VividBlueTheme/src/main/resources/defaults.css
rename to frameworks/themes/VividBlueTheme/src/main/resources/defaults.css
diff --git a/frameworks/projects/VividBlueTheme/src/main/royale/VividBlueThemeClasses.as b/frameworks/themes/VividBlueTheme/src/main/royale/VividBlueThemeClasses.as
similarity index 100%
rename from frameworks/projects/VividBlueTheme/src/main/royale/VividBlueThemeClasses.as
rename to frameworks/themes/VividBlueTheme/src/main/royale/VividBlueThemeClasses.as
diff --git a/frameworks/themes/pom.xml b/frameworks/themes/pom.xml
index 33ba1d3..3f2ca6a 100644
--- a/frameworks/themes/pom.xml
+++ b/frameworks/themes/pom.xml
@@ -34,6 +34,7 @@
 
   <modules>
     <module>Basic</module>
+    <module>VividBlueTheme</module>
   </modules>
 
   <dependencies>

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 09/12: change pom description to conform with "themes"

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 649f0cc8dbb78a272bd3706ca8c172ac0afa45d6
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Fri Mar 2 13:43:56 2018 +0100

    change pom description to conform with "themes"
---
 frameworks/themes/VividBlueTheme/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/frameworks/themes/VividBlueTheme/pom.xml b/frameworks/themes/VividBlueTheme/pom.xml
index c039af6..b6455b3 100644
--- a/frameworks/themes/VividBlueTheme/pom.xml
+++ b/frameworks/themes/VividBlueTheme/pom.xml
@@ -30,7 +30,7 @@
   <version>0.9.2-SNAPSHOT</version>
   <packaging>swc</packaging>
 
-  <name>Apache Royale: Framework: Libs: VividBlueTheme</name>
+  <name>Apache Royale: Framework: Themes: VividBlueTheme</name>
 
   <build>
     <sourceDirectory>src/main/royale</sourceDirectory>

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 12/12: initial svg tests, still need 9slice scaling

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit f004510928535429b7a7376e37b34568165f4296
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sat Mar 3 16:36:06 2018 +0100

    initial svg tests, still need 9slice scaling
---
 .../src/main/resources/TextButton.css              | 13 ++++---
 .../src/main/resources/assets/JewelButton.svg      | 43 ++++++++++++++++++++++
 2 files changed, 51 insertions(+), 5 deletions(-)

diff --git a/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css b/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
index 20f3bef..84778d5 100644
--- a/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
+++ b/frameworks/themes/VividBlueTheme/src/main/resources/TextButton.css
@@ -24,10 +24,13 @@
 * Vivid TextButton
 */
 
-TextButton {
+TextButton, TextButton:hover {
+	border: none;
 	/* Background: */
-	background: url(assets/buttonbackground.svg) no-repeat top left;
-	background-size: contain;
+	background: url(assets/JewelButton.svg);
+	background-size: cover;
+	width: fit-content;
+	height: fit-content;
 	
 	/*background-color: #D8D8D8;
 	border: 1px solid #979797;
@@ -51,6 +54,6 @@ TextButton:hover {
 }
 
 TextButton:active {
-    /*background-color: #77CEFF;
-    color: #FFFFFF;*/
+	background-color: #77CEFF;
+    color: #FFFFFF;
 }
\ No newline at end of file
diff --git a/frameworks/themes/VividBlueTheme/src/main/resources/assets/JewelButton.svg b/frameworks/themes/VividBlueTheme/src/main/resources/assets/JewelButton.svg
new file mode 100644
index 0000000..31ed58a
--- /dev/null
+++ b/frameworks/themes/VividBlueTheme/src/main/resources/assets/JewelButton.svg
@@ -0,0 +1,43 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<svg viewBox="0 0 152 42" preserveAspectRatio="none" version="1.1" 
+    xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <defs>
+        <linearGradient x1="50%" y1="3.10307717%" x2="50%" y2="100%" id="linearGradient-1">
+            <stop stop-color="#FF893B" offset="0%"></stop>
+            <stop stop-color="#FA461E" offset="100%"></stop>
+        </linearGradient>
+        <rect id="path-2" x="0" y="0" width="150" height="40" rx="3" shape-rendering="crispEdges"></rect>
+        <linearGradient x1="50%" y1="0%" x2="50%" y2="98.2362085%" id="linearGradient-3">
+            <stop stop-color="#FFBA8E" offset="0%"></stop>
+            <stop stop-color="#E6431D" offset="100%"></stop>
+        </linearGradient>
+    </defs>
+    <g id="JewelButton" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Button" transform="translate(1.000000, 1.000000)">
+            <g id="Background">
+                <g>
+                    <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+                    <rect stroke="#A93116" stroke-width="1" x="-0.5" y="-0.5" width="151" height="41" rx="3" shape-rendering="crispEdges"></rect>
+                </g>
+                <rect stroke="url(#linearGradient-3)" x="0.5" y="0.5" width="149" height="39" rx="3" shape-rendering="crispEdges"></rect>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 11/12: fix vscode config files

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 1dc03ca9c1fb68eaa431eac5e8fb70bfcf8fbd83
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sat Mar 3 00:07:15 2018 +0100

    fix vscode config files
---
 frameworks/projects/Vivid/.vscode/settings.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/frameworks/projects/Vivid/.vscode/settings.json b/frameworks/projects/Vivid/.vscode/settings.json
index 1069e6c..1f5a970 100644
--- a/frameworks/projects/Vivid/.vscode/settings.json
+++ b/frameworks/projects/Vivid/.vscode/settings.json
@@ -1,3 +1,3 @@
 {
-    "nextgenas.sdk.framework": "/Users/carlosrovira/Dev/Royale/Sdks/apache-royale-0.9.1"
+    "nextgenas.sdk.framework": "/Users/carlosrovira/Dev/Royale/Sdks/apache-royale-0.9.2-SNAPSHOT"
 }
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 03/12: add for possible swf comp

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 50f44b8f350f1b82becf61f8e76434bba0607eb1
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sat Feb 24 16:55:59 2018 +0100

    add for possible swf comp
---
 examples/royale/VividExample/pom.xml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/examples/royale/VividExample/pom.xml b/examples/royale/VividExample/pom.xml
index 2768e30..e53bc13 100644
--- a/examples/royale/VividExample/pom.xml
+++ b/examples/royale/VividExample/pom.xml
@@ -57,6 +57,13 @@
   </build>
 
   <dependencies>
+    <!-- <dependency>
+      <groupId>com.adobe.flash.framework</groupId>
+      <artifactId>playerglobal</artifactId>
+      <version>${flash.version}</version>
+      <type>swc</type>
+      <scope>provided</scope>
+    </dependency> -->
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
       <artifactId>Vivid</artifactId>

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 10/12: snapshot sdk now works in vscode 0.10.0

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 9981f3c278b3e4b0283776bbde6a427ea78a6c26
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Fri Mar 2 15:46:29 2018 +0100

    snapshot sdk now works in vscode 0.10.0
---
 examples/royale/VividExample/.vscode/settings.json     | 2 +-
 frameworks/themes/VividBlueTheme/.vscode/settings.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/examples/royale/VividExample/.vscode/settings.json b/examples/royale/VividExample/.vscode/settings.json
index 1069e6c..1f5a970 100644
--- a/examples/royale/VividExample/.vscode/settings.json
+++ b/examples/royale/VividExample/.vscode/settings.json
@@ -1,3 +1,3 @@
 {
-    "nextgenas.sdk.framework": "/Users/carlosrovira/Dev/Royale/Sdks/apache-royale-0.9.1"
+    "nextgenas.sdk.framework": "/Users/carlosrovira/Dev/Royale/Sdks/apache-royale-0.9.2-SNAPSHOT"
 }
\ No newline at end of file
diff --git a/frameworks/themes/VividBlueTheme/.vscode/settings.json b/frameworks/themes/VividBlueTheme/.vscode/settings.json
index 1069e6c..1f5a970 100644
--- a/frameworks/themes/VividBlueTheme/.vscode/settings.json
+++ b/frameworks/themes/VividBlueTheme/.vscode/settings.json
@@ -1,3 +1,3 @@
 {
-    "nextgenas.sdk.framework": "/Users/carlosrovira/Dev/Royale/Sdks/apache-royale-0.9.1"
+    "nextgenas.sdk.framework": "/Users/carlosrovira/Dev/Royale/Sdks/apache-royale-0.9.2-SNAPSHOT"
 }
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 02/12: Introduce RadioButton

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit b76bd959ce817e44cef4ce41a2101c4f3b44c4c8
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Fri Feb 23 20:26:03 2018 +0100

    Introduce RadioButton
---
 .../src/main/royale/TextInputPlayGround.mxml       |   2 +
 .../projects/Vivid/src/main/resources/defaults.css |   8 +
 .../Vivid/src/main/resources/vivid-manifest.xml    |   1 +
 .../projects/Vivid/src/main/royale/VividClasses.as |   2 +
 .../royale/org/apache/royale/vivid/RadioButton.as  | 107 ++++++++
 .../apache/royale/vivid/beads/RadioButtonView.as   | 286 +++++++++++++++++++++
 .../royale/vivid/supportClasses/RadioButtonIcon.as | 117 +++++++++
 7 files changed, 523 insertions(+)

diff --git a/examples/royale/VividExample/src/main/royale/TextInputPlayGround.mxml b/examples/royale/VividExample/src/main/royale/TextInputPlayGround.mxml
index eced5aa..ae694cc 100644
--- a/examples/royale/VividExample/src/main/royale/TextInputPlayGround.mxml
+++ b/examples/royale/VividExample/src/main/royale/TextInputPlayGround.mxml
@@ -25,4 +25,6 @@ limitations under the License.
 	
 	<v:TextField text="Text Input" width="120" height="40"/>
 
+	<v:RadioButton/>
+
 </js:Group>
diff --git a/frameworks/projects/Vivid/src/main/resources/defaults.css b/frameworks/projects/Vivid/src/main/resources/defaults.css
index e4a792a..ee46fc1 100644
--- a/frameworks/projects/Vivid/src/main/resources/defaults.css
+++ b/frameworks/projects/Vivid/src/main/resources/defaults.css
@@ -83,4 +83,12 @@ Slider {
 		iThumbView: ClassReference("org.apache.royale.vivid.beads.SliderThumbView");
 		iTrackView: ClassReference("org.apache.royale.vivid.beads.SliderTrackView");
 	}
+
+	RadioButton
+	{
+		IBeadModel: ClassReference("org.apache.royale.html.beads.models.ValueToggleButtonModel");
+		IBeadView:  ClassReference("org.apache.royale.vivid.beads.RadioButtonView");			
+		/*font-size: 11px;
+		font-family: Arial;*/
+	}
 }
diff --git a/frameworks/projects/Vivid/src/main/resources/vivid-manifest.xml b/frameworks/projects/Vivid/src/main/resources/vivid-manifest.xml
index 4c24222..6eebd31 100644
--- a/frameworks/projects/Vivid/src/main/resources/vivid-manifest.xml
+++ b/frameworks/projects/Vivid/src/main/resources/vivid-manifest.xml
@@ -25,5 +25,6 @@
     <component id="TextButton" class="org.apache.royale.vivid.TextButton"/>
     <component id="TextField" class="org.apache.royale.vivid.TextField"/>
     <component id="Slider" class="org.apache.royale.vivid.Slider"/>
+    <component id="RadioButton" class="org.apache.royale.vivid.RadioButton"/>
     
 </componentPackage>
diff --git a/frameworks/projects/Vivid/src/main/royale/VividClasses.as b/frameworks/projects/Vivid/src/main/royale/VividClasses.as
index a069ba8..e1dd9bb 100644
--- a/frameworks/projects/Vivid/src/main/royale/VividClasses.as
+++ b/frameworks/projects/Vivid/src/main/royale/VividClasses.as
@@ -33,6 +33,8 @@ package
 	    {
             import org.apache.royale.vivid.beads.SliderThumbView; SliderThumbView;
             import org.apache.royale.vivid.beads.SliderTrackView; SliderTrackView;
+
+            import org.apache.royale.vivid.beads.RadioButtonView; RadioButtonView;
         }
 
     }
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/RadioButton.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/RadioButton.as
new file mode 100644
index 0000000..c230519
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/RadioButton.as
@@ -0,0 +1,107 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid
+{
+    import org.apache.royale.html.RadioButton;
+
+    COMPILE::SWF
+    {
+        import flash.display.DisplayObject;
+    }
+
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+        import org.apache.royale.vivid.supportClasses.RadioButtonIcon;
+        import org.apache.royale.html.util.addElementToWrapper;
+    }
+
+    /**
+	 *  The RadioButton class is a component that displays a selectable Button. RadioButtons
+	 *  are typically used in groups, identified by the groupName property. RadioButton use
+	 *  the following beads:
+	 *
+	 *  org.apache.royale.core.IBeadModel: the data model, which includes the groupName.
+	 *  org.apache.royale.core.IBeadView:  the bead that constructs the visual parts of the RadioButton..
+	 *
+	 *  @toplevel
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.0
+	 */
+    COMPILE::SWF
+	public class RadioButton extends org.apache.royale.html.RadioButton
+    {
+        /**
+		 *  constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function RadioButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+		{
+			super(upState, overState, downState, hitTestState);
+		}
+    }
+
+    COMPILE::JS
+    public class RadioButton extends org.apache.royale.html.RadioButton
+    {
+        /**
+         * @private
+         * 
+         *  @royalesuppresspublicvarwarning
+         */
+        public static var radioCounter:int = 0;
+
+        private var labelFor:HTMLLabelElement;
+        private var textNode:Text;
+        private var icon:RadioButtonIcon;
+
+        /**
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         * @royaleignorecoercion HTMLInputElement
+         * @royaleignorecoercion HTMLLabelElement
+         * @royaleignorecoercion Text
+         */
+        override protected function createElement():WrappedHTMLElement
+        {
+            
+
+            icon = new RadioButtonIcon()
+            icon.id = '_radio_' + org.apache.royale.vivid.RadioButton.radioCounter++;
+
+            textNode = document.createTextNode('') as Text;
+
+            labelFor = addElementToWrapper(this,'label') as HTMLLabelElement;
+            labelFor.appendChild(icon.element);
+            labelFor.appendChild(textNode);
+            
+            (textNode as WrappedHTMLElement).royale_wrapper = this;
+			(icon.element as WrappedHTMLElement).royale_wrapper = this;
+
+            typeNames = 'RadioButton';
+
+            return element;
+        }
+    }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/RadioButtonView.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/RadioButtonView.as
new file mode 100644
index 0000000..e1fb359
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/beads/RadioButtonView.as
@@ -0,0 +1,286 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid.beads
+{
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+	import flash.display.Sprite;
+	import flash.text.TextFieldAutoSize;
+	import flash.text.TextFieldType;
+	
+    import org.apache.royale.core.BeadViewBase;
+	import org.apache.royale.core.CSSTextField;
+	import org.apache.royale.core.IBeadView;
+	import org.apache.royale.core.IStrand;
+	import org.apache.royale.core.IValueToggleButtonModel;
+	import org.apache.royale.events.Event;
+	
+	/**
+	 *  The RadioButtonView class creates the visual elements of the org.apache.royale.html.RadioButton 
+	 *  component. 
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.0
+	 */
+	public class RadioButtonView extends BeadViewBase implements IBeadView
+	{
+		/**
+		 *  constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function RadioButtonView()
+		{
+			sprites = [ upSprite = new Sprite(),
+				        downSprite = new Sprite(),
+						overSprite = new Sprite(),
+						upAndSelectedSprite = new Sprite(),
+						downAndSelectedSprite = new Sprite(),
+						overAndSelectedSprite = new Sprite() ];
+			
+			for each( var s:Sprite in sprites )
+			{
+				var tf:CSSTextField = new CSSTextField();
+				tf.type = TextFieldType.DYNAMIC;
+				tf.autoSize = TextFieldAutoSize.LEFT;
+				tf.name = "textField";
+				var icon:Shape = new Shape();
+				icon.name = "icon";
+				s.addChild(icon);
+				s.addChild(tf);
+			}
+		}
+		
+		private var upSprite:Sprite;
+		private var downSprite:Sprite;
+		private var overSprite:Sprite;
+		private var upAndSelectedSprite:Sprite;
+		private var downAndSelectedSprite:Sprite;
+		private var overAndSelectedSprite:Sprite;
+		
+		private var sprites:Array;
+		
+		private var _toggleButtonModel:IValueToggleButtonModel;
+		
+		/**
+		 *  The model used for the RadioButton.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function get toggleButtonModel() : IValueToggleButtonModel
+		{
+			return _toggleButtonModel;
+		}
+		
+		/**
+		 *  @copy org.apache.royale.core.IBead#strand
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			_toggleButtonModel = value.getBeadByType(IValueToggleButtonModel) as IValueToggleButtonModel;
+			_toggleButtonModel.addEventListener("textChange", textChangeHandler);
+			_toggleButtonModel.addEventListener("htmlChange", htmlChangeHandler);
+			_toggleButtonModel.addEventListener("selectedValueChange", selectedValueChangeHandler);
+			if (_toggleButtonModel.text != null)
+				text = _toggleButtonModel.text;
+			if (_toggleButtonModel.html != null)
+				html = _toggleButtonModel.html;
+            for each( var s:Sprite in sprites )
+            {
+                var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
+                tf.styleParent = value;
+            }
+			
+			layoutControl();
+			
+			var hitArea:Shape = new Shape();
+			hitArea.graphics.beginFill(0x000000);
+			hitArea.graphics.drawRect(0,0,upSprite.width, upSprite.height);
+			hitArea.graphics.endFill();
+			
+			SimpleButton(value).upState = upSprite;
+			SimpleButton(value).downState = downSprite;
+			SimpleButton(value).overState = overSprite;
+			SimpleButton(value).hitTestState = hitArea;
+			
+			if (toggleButtonModel.text !== null)
+				text = toggleButtonModel.text;
+			if (toggleButtonModel.html !== null)
+				html = toggleButtonModel.html;
+			
+			if (toggleButtonModel.selected && toggleButtonModel.value == value) {
+				selected = true;
+			}
+		}
+		
+		/**
+		 *  The string label for the org.apache.royale.html.RadioButton.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function get text():String
+		{
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
+			return tf.text;
+		}
+		public function set text(value:String):void
+		{
+			for each( var s:Sprite in sprites )
+			{
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
+				tf.text = value;
+			}
+			
+			layoutControl();
+		}
+		
+		/**
+		 *  The HTML string for the org.apache.royale.html.RadioButton.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.0
+		 */
+		public function get html():String
+		{
+			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
+			return tf.htmlText;
+		}
+		public function set html(value:String):void
+		{
+			for each(var s:Sprite in sprites)
+			{
+				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
+				tf.htmlText = value;
+			}
+			
+			layoutControl();
+		}
+		
+		/**
+		 * @private
+		 */
+		private function textChangeHandler(event:Event):void
+		{
+			text = toggleButtonModel.text;
+		}
+		
+		/**
+		 * @private
+		 */
+		private function htmlChangeHandler(event:Event):void
+		{
+			html = toggleButtonModel.html;
+		}
+		
+		private var _selected:Boolean;
+		
+		/**
+		 * The selection state of the RadioButton
+		 */
+		public function get selected():Boolean
+		{
+			return _selected;
+		}
+		public function set selected(value:Boolean):void
+		{
+			_selected = value;
+			
+			if( value ) {
+				SimpleButton(_strand).upState = upAndSelectedSprite;
+				SimpleButton(_strand).downState = downAndSelectedSprite;
+				SimpleButton(_strand).overState = overAndSelectedSprite;
+				
+			} else {
+				SimpleButton(_strand).upState = upSprite;
+				SimpleButton(_strand).downState = downSprite;
+				SimpleButton(_strand).overState = overSprite;
+			}
+			
+			layoutControl();
+		}
+		
+		/**
+		 * @private
+		 */
+		private function selectedValueChangeHandler(event:Event):void
+		{
+			selected = _toggleButtonModel.value == _toggleButtonModel.selectedValue;
+		}
+		
+		/**
+		 * @private
+		 */
+		protected function layoutControl() : void
+		{
+			for each(var s:Sprite in sprites)
+			{
+				var icon:Shape = s.getChildByName("icon") as Shape;
+				var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
+				
+				drawRadioButton(icon);
+				
+				var mh:Number = Math.max(icon.height,tf.height);
+				
+				icon.x = 0;
+				icon.y = (mh - icon.height)/2;
+				
+				tf.x = icon.x + icon.width + 1;
+				tf.y = (mh - tf.height)/2;
+			}
+			
+		}
+		
+		/**
+		 * @private
+		 */
+		protected function drawRadioButton(icon:Shape) : void
+		{
+			icon.graphics.clear();
+			icon.graphics.beginFill(0xf8f8f8);
+			icon.graphics.lineStyle(1,0x808080);
+			icon.graphics.drawEllipse(0,0,10,10);
+			icon.graphics.endFill();
+			
+			if( selected ) {
+				icon.graphics.beginFill(0);
+				icon.graphics.drawEllipse(3,3,4,4);
+				icon.graphics.endFill();
+			}
+		}
+	}
+}
diff --git a/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/supportClasses/RadioButtonIcon.as b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/supportClasses/RadioButtonIcon.as
new file mode 100644
index 0000000..ee153b1
--- /dev/null
+++ b/frameworks/projects/Vivid/src/main/royale/org/apache/royale/vivid/supportClasses/RadioButtonIcon.as
@@ -0,0 +1,117 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.vivid.supportClasses
+{
+	COMPILE::JS {
+        import org.apache.royale.core.WrappedHTMLElement;
+    }
+
+	/**
+	 *  The RadioButton class is a component that displays a selectable Button. RadioButtons
+	 *  are typically used in groups, identified by the groupName property. RadioButton use
+	 *  the following beads:
+	 *
+	 *  org.apache.royale.core.IBeadModel: the data model, which includes the groupName.
+	 *  org.apache.royale.core.IBeadView:  the bead that constructs the visual parts of the RadioButton..
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.0
+	 */
+	public class RadioButtonIcon
+	{
+		public function RadioButtonIcon()
+		{
+			COMPILE::JS {
+				createElement();
+			}
+
+			className = 'RadioButtonIcon';
+		}
+
+        /**
+         * @private
+         * 
+         * @royalesuppresspublicvarwarning
+         */
+		COMPILE::JS 
+		public var element:WrappedHTMLElement;
+		
+		COMPILE::JS
+		public function get positioner():WrappedHTMLElement
+		{
+			return element;
+		}
+		
+		private var _className:String;
+
+		/**
+		 * @private
+		 */
+		public function get className():String
+		{
+			return _className;
+		}
+		public function set className(value:String):void
+		{
+			_className = value;
+
+			COMPILE::JS {
+				element.className = value;
+			}
+		}
+
+		private var _id:String;
+
+		/**
+		 * @private
+		 */
+		public function get id():String
+		{
+			return _id;
+		}
+		public function set id(value:String):void
+		{
+			_id = value;
+
+			COMPILE::JS {
+				element.id = value;
+			}
+		}
+
+		/**
+		 * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+		 * @royaleignorecoercion HTMLInputElement
+		 * @royaleignorecoercion Text
+		 */
+		COMPILE::JS
+ 		protected function createElement():WrappedHTMLElement
+		{
+			//This class does not subclass anything, so these properties must be set explicitly
+			var input:HTMLInputElement = document.createElement('input') as HTMLInputElement;
+			input.type = 'radio';
+
+			element = input as WrappedHTMLElement;
+			element.royale_wrapper = this;
+
+			return element;
+		}
+	}
+}

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.

[royale-asjs] 05/12: final dependency from vivid for swf compile

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/vivid-ui-set
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 5492e8d4c8f68c35cadd0857fd760a1ef4df4afe
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sat Feb 24 17:39:14 2018 +0100

    final dependency from vivid for swf compile
---
 examples/royale/VividExample/pom.xml | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/examples/royale/VividExample/pom.xml b/examples/royale/VividExample/pom.xml
index 9c73e11..c6210af 100644
--- a/examples/royale/VividExample/pom.xml
+++ b/examples/royale/VividExample/pom.xml
@@ -47,7 +47,7 @@
         <extensions>true</extensions>
         <configuration>
           <mainClass>App.mxml</mainClass>
-          <targets>JSRoyale</targets>
+          <targets>JSRoyale,SWF</targets>
           <!--<htmlTemplate>${basedir}/target/javascript/bin/js-debug/vivid-js-index-template.html</htmlTemplate>-->
         </configuration>
       </plugin>
@@ -55,13 +55,20 @@
   </build>
 
   <dependencies>
-    <!-- <dependency>
+    <dependency>
       <groupId>com.adobe.flash.framework</groupId>
       <artifactId>playerglobal</artifactId>
       <version>${flash.version}</version>
       <type>swc</type>
       <scope>provided</scope>
-    </dependency> -->
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Vivid</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
       <artifactId>Vivid</artifactId>

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.