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

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

commit 470011f4d27204c08de08c052c86c38907896a1b
Author: Carlos Rovira <carlosrov...@apache.org>
AuthorDate: Fri Feb 16 01:15:32 2018 +0100

    Vivid new ui set
---
 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/pom.xml                  | 160 +++++++++++++++++++
 .../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 ++++++++++++++++++
 18 files changed, 1362 insertions(+)

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/pom.xml 
b/frameworks/projects/Vivid/pom.xml
new file mode 100644
index 0000000..3ec2f3a
--- /dev/null
+++ b/frameworks/projects/Vivid/pom.xml
@@ -0,0 +1,160 @@
+<?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>Vivid</artifactId>
+  <version>0.9.2-SNAPSHOT</version>
+  <packaging>swc</packaging>
+
+  <name>Apache Royale: Framework: Libs: Vivid</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>
+          <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>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Core</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Core</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Binding</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Binding</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Graphics</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Graphics</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Collections</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Collections</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>swf</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>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>HTML</artifactId>
+      <version>0.9.2-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+  </dependencies>
+
+</project>
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..5630039
--- /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
+*/
+.vTextfield {
+       IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.TextModel");
+}
+.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..fc28e66
--- /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 = "vTextfield";
+
+            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;
+            }
+        }
+       }
+}

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

Reply via email to