http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/compile-asjs-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/compile-asjs-config.xml 
b/frameworks/projects/HTML/compile-asjs-config.xml
deleted file mode 100644
index 2139379..0000000
--- a/frameworks/projects/HTML/compile-asjs-config.xml
+++ /dev/null
@@ -1,90 +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.
-
--->
-<flex-config>
-
-    <compiler>
-        <accessible>false</accessible>
-        
-        <external-library-path>
-        </external-library-path>
-        
-               <mxml>
-                       <children-as-data>true</children-as-data>
-               </mxml>
-               
<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
-               
<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
-               
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
-
-        <keep-as3-metadata>
-          <name>Bindable</name>
-          <name>Managed</name>
-          <name>ChangeEvent</name>
-          <name>NonCommittingChangeEvent</name>
-          <name>Transient</name>
-        </keep-as3-metadata>
-         
-        <locale/>
-        
-        <library-path>
-            <!-- asjscompc won't 'link' these classes in, but will list their 
requires
-                 if these swcs are on the external-library-path then their 
requires
-                 will not be listed -->
-            <path-element>../../externs/Binding.swc</path-element>
-            <path-element>../../externs/Core.swc</path-element>
-            <path-element>../../externs/Graphics.swc</path-element>
-            <path-element>../../externs/Collections.swc</path-element>
-        </library-path>
-        
-        <namespaces>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/basic</uri>
-                <manifest>basic-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/svg</uri>
-                <manifest>svg-manifest.xml</manifest>
-            </namespace>
-        </namespaces>
-        
-        <source-path>
-            <path-element>as/src</path-element>
-        </source-path>
-        
-        <warn-no-constructor>false</warn-no-constructor>
-    </compiler>
-    
-    <include-file>
-    </include-file>
-
-    <include-sources>
-    </include-sources>
-    
-    <include-classes>
-        <class>HTMLClasses</class>
-    </include-classes>
-    
-    <include-namespaces>
-        <uri>library://ns.apache.org/flexjs/basic</uri>
-        <uri>library://ns.apache.org/flexjs/svg</uri>
-    </include-namespaces>
-        
-    <target-player>${playerglobal.version}</target-player>
-       
-
-</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/compile-config.xml 
b/frameworks/projects/HTML/compile-config.xml
deleted file mode 100644
index 7ea999a..0000000
--- a/frameworks/projects/HTML/compile-config.xml
+++ /dev/null
@@ -1,94 +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.
-
--->
-<flex-config>
-
-    <compiler>
-        <accessible>false</accessible>
-        
-        <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/Collections.swc</path-element>
-        </external-library-path>
-        
-               <mxml>
-                       <children-as-data>true</children-as-data>
-               </mxml>
-               
<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
-               
<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
-               
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
-
-        <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/flexjs/basic</uri>
-                <manifest>basic-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/basic</uri>
-                <manifest>basic-as-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/svg</uri>
-                <manifest>svg-manifest.xml</manifest>
-            </namespace>
-        </namespaces>
-        
-        <source-path>
-            <path-element>as/src</path-element>
-        </source-path>
-        
-        <warn-no-constructor>false</warn-no-constructor>
-    </compiler>
-    
-    <include-file>
-        <name>defaults.css</name>
-        <path>as/defaults.css</path>
-    </include-file>
-    <include-file>
-        <name>js/out/*</name>
-        <path>js/out/*</path>
-    </include-file>
-
-    <include-classes>
-        <class>HTMLClasses</class>
-    </include-classes>
-    
-    <include-namespaces>
-        <uri>library://ns.apache.org/flexjs/basic</uri>
-        <uri>library://ns.apache.org/flexjs/svg</uri>
-    </include-namespaces>
-        
-    <target-player>${playerglobal.version}</target-player>
-       
-
-</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as 
b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
new file mode 100644
index 0000000..052ab95
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
@@ -0,0 +1,176 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 rpc.swc
+ *  beyond those that are found by dependecy analysis starting
+ *  from the classes specified in manifest.xml.
+ */
+internal class HTMLClasses
+{
+
+    import org.apache.flex.html.ToolTip; ToolTip;
+       import org.apache.flex.html.accessories.NumericOnlyTextInputBead; 
NumericOnlyTextInputBead;
+       import org.apache.flex.html.accessories.PasswordInputBead; 
PasswordInputBead;
+       import org.apache.flex.html.accessories.TextPromptBead; TextPromptBead;
+    import org.apache.flex.html.beads.AlertView; AlertView;
+       COMPILE::AS3
+       {
+               import org.apache.flex.html.beads.BackgroundImageBead; 
BackgroundImageBead;
+       }
+       import org.apache.flex.html.beads.ButtonBarView; ButtonBarView;
+       COMPILE::AS3
+       {
+               import org.apache.flex.html.beads.CheckBoxView; CheckBoxView;
+           import org.apache.flex.html.beads.ComboBoxView; ComboBoxView;
+       }
+    import org.apache.flex.html.beads.ContainerView; ContainerView;
+       COMPILE::AS3
+       {
+           import org.apache.flex.html.beads.ControlBarMeasurementBead; 
ControlBarMeasurementBead;
+           import org.apache.flex.html.beads.CSSButtonView; CSSButtonView;
+           import org.apache.flex.html.beads.CSSImageAndTextButtonView; 
CSSImageAndTextButtonView;
+               import org.apache.flex.html.beads.CSSTextButtonView; 
CSSTextButtonView;
+           import org.apache.flex.html.beads.CSSTextToggleButtonView; 
CSSTextToggleButtonView;
+               import org.apache.flex.html.beads.DropDownListView; 
DropDownListView;
+               import org.apache.flex.html.beads.CloseButtonView; 
CloseButtonView;
+       import org.apache.flex.html.beads.ImageAndTextButtonView; 
ImageAndTextButtonView;
+               import org.apache.flex.html.beads.ImageView; ImageView;
+       }
+       import org.apache.flex.html.beads.ImageButtonView; ImageButtonView;
+       import org.apache.flex.html.beads.ListView; ListView;
+       COMPILE::AS3
+       {
+           import org.apache.flex.html.beads.NumericStepperView; 
NumericStepperView;
+       }
+    import org.apache.flex.html.beads.PanelView; PanelView;
+       COMPILE::AS3
+       {
+           import org.apache.flex.html.beads.PanelWithControlBarView; 
PanelWithControlBarView;
+               import org.apache.flex.html.beads.RadioButtonView; 
RadioButtonView;
+               import org.apache.flex.html.beads.VScrollBarView; 
VScrollBarView;
+               import org.apache.flex.html.beads.HScrollBarView; 
HScrollBarView;
+       import org.apache.flex.html.beads.ScrollBarView; ScrollBarView;
+               import org.apache.flex.html.beads.SimpleAlertView; 
SimpleAlertView;
+       import org.apache.flex.html.beads.SingleLineBorderBead; 
SingleLineBorderBead;
+               import org.apache.flex.html.beads.SliderView; SliderView;
+       }
+       import org.apache.flex.html.beads.SliderThumbView; SliderThumbView;
+       import org.apache.flex.html.beads.SliderTrackView; SliderTrackView;
+       COMPILE::AS3
+       {
+               import org.apache.flex.html.beads.SolidBackgroundBead; 
SolidBackgroundBead;
+           import org.apache.flex.html.beads.SpinnerView; SpinnerView;
+       import org.apache.flex.html.beads.TextButtonMeasurementBead; 
TextButtonMeasurementBead;
+               import 
org.apache.flex.html.beads.TextFieldLabelMeasurementBead; 
TextFieldLabelMeasurementBead;
+       import org.apache.flex.html.beads.TextAreaView; TextAreaView;
+       import org.apache.flex.html.beads.TextButtonView; TextButtonView;
+       import org.apache.flex.html.beads.TextFieldView; TextFieldView;
+       import org.apache.flex.html.beads.TextInputView; TextInputView;
+           import org.apache.flex.html.beads.TextInputWithBorderView; 
TextInputWithBorderView;
+           import org.apache.flex.html.beads.models.AlertModel; AlertModel;
+       }
+    import org.apache.flex.html.beads.models.ArraySelectionModel; 
ArraySelectionModel;
+    import org.apache.flex.html.beads.models.RangeModel; RangeModel;
+       COMPILE::AS3
+       {
+           import org.apache.flex.html.beads.models.ComboBoxModel; 
ComboBoxModel;
+       }
+       COMPILE::AS3
+       {
+               import org.apache.flex.html.beads.models.ImageModel; ImageModel;
+           import org.apache.flex.html.beads.models.ImageAndTextModel; 
ImageAndTextModel;
+       }
+       import org.apache.flex.html.beads.models.PanelModel; PanelModel;
+       COMPILE::AS3
+       {
+           import org.apache.flex.html.beads.models.SingleLineBorderModel; 
SingleLineBorderModel;
+       }
+       import org.apache.flex.html.beads.models.TextModel; TextModel;
+    import org.apache.flex.html.beads.models.TitleBarModel; TitleBarModel;
+       COMPILE::AS3
+       {
+               import org.apache.flex.html.beads.models.ToggleButtonModel; 
ToggleButtonModel;
+               import 
org.apache.flex.html.beads.models.ValueToggleButtonModel; 
ValueToggleButtonModel;
+       }
+       import org.apache.flex.html.beads.models.ViewportModel; ViewportModel;
+       COMPILE::AS3
+       {
+           import org.apache.flex.html.beads.controllers.AlertController; 
AlertController;
+               import 
org.apache.flex.html.beads.controllers.ComboBoxController; ComboBoxController;
+       import org.apache.flex.html.beads.controllers.DropDownListController; 
DropDownListController;
+               import 
org.apache.flex.html.beads.controllers.EditableTextKeyboardController; 
EditableTextKeyboardController;
+       }
+    import org.apache.flex.html.beads.controllers.ItemRendererMouseController; 
ItemRendererMouseController;
+    import 
org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController; 
ListSingleSelectionMouseController;
+       COMPILE::AS3
+       {
+               import 
org.apache.flex.html.beads.controllers.SliderMouseController; 
SliderMouseController;
+               import 
org.apache.flex.html.beads.controllers.SpinnerMouseController; 
SpinnerMouseController;
+           import 
org.apache.flex.html.beads.controllers.VScrollBarMouseController; 
VScrollBarMouseController;
+               import 
org.apache.flex.html.beads.controllers.HScrollBarMouseController; 
HScrollBarMouseController;
+       }
+       import org.apache.flex.html.beads.layouts.ButtonBarLayout; 
ButtonBarLayout;
+    import org.apache.flex.html.beads.layouts.VerticalLayout; VerticalLayout;
+       import org.apache.flex.html.beads.layouts.HorizontalLayout; 
HorizontalLayout;
+    import org.apache.flex.html.beads.layouts.BasicLayout; BasicLayout;
+       COMPILE::AS3
+       {
+               import org.apache.flex.html.beads.layouts.HScrollBarLayout; 
HScrollBarLayout;
+       import org.apache.flex.html.beads.layouts.VScrollBarLayout; 
VScrollBarLayout;
+       }
+       import org.apache.flex.html.beads.layouts.TileLayout; TileLayout;
+    import org.apache.flex.html.beads.TextItemRendererFactoryForArrayData; 
TextItemRendererFactoryForArrayData;
+       import org.apache.flex.html.beads.DataItemRendererFactoryForArrayData; 
DataItemRendererFactoryForArrayData;
+       import org.apache.flex.html.beads.DataItemRendererFactoryForArrayList; 
DataItemRendererFactoryForArrayList;
+       import org.apache.flex.html.supportClasses.DataGroup; DataGroup;
+       import org.apache.flex.html.supportClasses.Viewport; Viewport;
+       import org.apache.flex.html.supportClasses.ScrollingViewport; 
ScrollingViewport;
+
+       import org.apache.flex.html.beads.DataGridColumnView; 
DataGridColumnView;
+       import org.apache.flex.html.beads.DataGridView; DataGridView;
+       import org.apache.flex.html.beads.DateChooserView; DateChooserView;
+       import org.apache.flex.html.beads.DateFieldView; DateFieldView;
+    import 
org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout; 
FlexibleFirstChildHorizontalLayout;
+       import org.apache.flex.html.beads.models.DataGridModel; DataGridModel;
+       import org.apache.flex.html.beads.models.DateChooserModel; 
DateChooserModel;
+       import org.apache.flex.html.beads.models.DataGridPresentationModel; 
DataGridPresentationModel;
+       import 
org.apache.flex.html.beads.controllers.DateChooserMouseController; 
DateChooserMouseController;
+       import org.apache.flex.html.beads.controllers.DateFieldMouseController; 
DateFieldMouseController;
+       import org.apache.flex.html.supportClasses.DataGridColumn; 
DataGridColumn;
+       import org.apache.flex.html.supportClasses.DateChooserButton; 
DateChooserButton;
+       import org.apache.flex.html.supportClasses.GraphicsItemRenderer; 
GraphicsItemRenderer;
+
+    import org.apache.flex.html.MXMLBeadViewBase; MXMLBeadViewBase;
+    import org.apache.flex.html.beads.TitleBarView; TitleBarView;
+    import org.apache.flex.html.beads.TitleBarMeasurementBead; 
TitleBarMeasurementBead;
+
+       COMPILE::AS3
+       {
+               import org.apache.flex.html.beads.HRuleView; HRuleView;
+               import org.apache.flex.html.beads.VRuleView; VRuleView;
+               import org.apache.flex.html.beads.MultilineTextFieldView; 
MultilineTextFieldView;
+       }
+}
+
+}
+

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as
new file mode 100644
index 0000000..5e9768e
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.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.flex.core
+{
+       import org.apache.flex.html.supportClasses.Border;
+       import org.apache.flex.html.supportClasses.ScrollBar;
+
+    /**
+     *  The IScrollingLayoutParent interface is an ILayoutParent
+     *  that has traditional scrollbars.  The layout implementation
+     *  often needs to know certain things about other objects in
+     *  the component.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public interface IScrollingLayoutParent
+       {
+        /**
+         *  The border.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               function get border():Border;
+               
+        /**
+         *  The vertical ScrollBar.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               function get vScrollBar():ScrollBar;
+        
+        /**
+         *  The horizontal ScrollBar.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               function get hScrollBar():ScrollBar;
+               
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as
new file mode 100644
index 0000000..b7f50dc
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as
@@ -0,0 +1,287 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+       import org.apache.flex.core.IAlertModel;
+       import org.apache.flex.core.IPopUp;
+       import org.apache.flex.core.UIBase;
+
+    COMPILE::JS
+    {
+        import goog.events;
+        import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.events.Event;
+    }
+       
+       /**
+        *  The Alert class is a component that displays a message and one or 
more buttons
+        *  in a view that pops up over all other controls and views. The Alert 
component
+        *  uses the AlertView bead to display a modal dialog with a title and 
a variety
+        *  of buttons configured through the flag property of its show() 
static function.
+        *  The Alert component uses the following beads:
+        * 
+        *  org.apache.flex.core.IBeadModel: the data model for the Alert.
+        *  org.apache.flex.core.IBeadView: the bead used to create the parts 
of the Alert.
+        *  org.apache.flex.core.IBeadController: the bead used to handle input 
events.
+        *  org.apache.flex.core.IBorderBead: if present, draws a border around 
the Alert.
+        *  org.apache.flex.core.IBackgroundBead: if present, places a solid 
color background below the Alert.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class Alert extends UIBase implements IPopUp
+       {
+               /**
+                *  The bitmask button flag to show the YES button.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public static const YES:uint    = 0x000001;
+               
+               /**
+                *  The bitmask button flag to show the NO button.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public static const NO:uint     = 0x000002;
+               
+               /**
+                *  The bitmask button flag to show the OK button.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public static const OK:uint     = 0x000004;
+               
+               /**
+                *  The bitmask button flag to show the Cancel button.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public static const CANCEL:uint = 0x000008;
+               
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function Alert()
+               {
+                       super();
+                       
+                       className = "Alert";
+               }
+
+        COMPILE::JS
+        private var titleBar:TitleBar;
+        
+        COMPILE::JS
+        private var label:Label;
+        
+        COMPILE::JS
+        private var buttonArea:Container;
+        
+        /**
+         * @override
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            super.createElement();
+            
+            element.className = 'Alert';
+            
+            // add in a title bar
+            titleBar = new TitleBar();
+            addElement(titleBar);
+            titleBar.element.id = 'titleBar';
+            
+            label = new Label();
+            addElement(label);
+            label.element.id = 'message';
+            
+            // add a place for the buttons
+            buttonArea = new Container();
+            addElement(buttonArea);
+            buttonArea.element.id = 'buttonArea';
+            
+            return element;
+        };
+               
+               // note: only passing parent to this function as I don't see a 
way to identify
+               // the 'application' or top level view without supplying a 
place to start to
+               // look for it.
+               /**
+                *  This static method is a convenience function to quickly 
create and display an Alert. The
+                *  text and parent paramters are required, the others will 
default.
+                * 
+                *  @param String text The message content of the Alert.
+                *  @param Object parent The object that hosts the pop-up.
+                *  @param String title An optional title for the Alert.
+                *  @param uint flags Identifies which buttons to display in 
the alert.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               static public function show( text:String, parent:Object, 
title:String="", flags:uint=Alert.OK ) : void
+               {
+                       var alert:Alert = new Alert();
+                       alert.message = text;
+                       alert.title  = title;
+                       alert.flags = flags;
+                       
+                       alert.show(parent);
+            
+            COMPILE::JS
+            {
+                alert.positioner.style.position = 'relative';
+                alert.positioner.style.width = '200px';
+                alert.positioner.style.margin = 'auto';
+                alert.positioner.style.top = '100px';
+            }
+               }
+               
+               /**
+                *  Shows the Alert anchored to the given parent object which 
is usally a root component such
+                *  as a UIView..
+                * 
+                *  @param Object parent The object that hosts the pop-up.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function show(parent:Object) : void
+               {
+                       parent.addElement(this);
+               }
+               
+               /**
+                *  The tile of the Alert.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get title():String
+               {
+                       return IAlertModel(model).title;
+               }
+               public function set title(value:String):void
+               {
+                       IAlertModel(model).title = value;
+               }
+               
+               /**
+                *  The message to display in the Alert body.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get message():String
+               {
+                       return IAlertModel(model).message;
+               }
+               public function set message(value:String):void
+               {
+                       IAlertModel(model).message = value;
+               }
+               
+               /**
+                *  The buttons to display on the Alert as bit-mask values.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get flags():uint
+               {
+                       return IAlertModel(model).flags;
+               }
+               public function set flags(value:uint):void
+               {
+                       IAlertModel(model).flags = value;
+            
+            COMPILE::JS
+            {
+                // add buttons based on flags
+                if (flags & Alert.OK) {
+                    var ok:TextButton = new TextButton();
+                    buttonArea.addElement(ok);
+                    ok.text = 'OK';
+                    goog.events.listen(ok.element, 'click', dismissAlert);
+                }
+                if (flags & Alert.CANCEL) {
+                    var cancel:TextButton = new TextButton();
+                    buttonArea.addElement(cancel);
+                    cancel.text = 'Cancel';
+                    goog.events.listen(cancel.element, 'click', dismissAlert);
+                }
+                if (flags & Alert.YES) {
+                    var yes:TextButton = new TextButton();
+                    buttonArea.addElement(yes);
+                    yes.text = 'YES';
+                    goog.events.listen(yes.element, 'click', dismissAlert);
+                }
+                if (flags & Alert.NO) {
+                    var nob:TextButton = new TextButton();
+                    buttonArea.addElement(nob);
+                    nob.text = 'NO';
+                    goog.events.listen(nob.element, 'click', dismissAlert);
+                }
+                
+            }
+               }
+        
+        /**
+         * @param event The event object.
+         * @flexjsignorecoercion HTMLElement
+         */
+        COMPILE::JS
+        private function dismissAlert(event:Event):void
+        {
+            var htmlElement:HTMLElement = element as HTMLElement;
+            htmlElement.parentElement.removeChild(element);
+        };
+       
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as
new file mode 100644
index 0000000..d4c2001
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as
@@ -0,0 +1,112 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.IUIBase;
+    COMPILE::AS3
+    {
+       import org.apache.flex.core.UIButtonBase;
+    }
+    COMPILE::JS
+    {
+        import org.apache.flex.core.UIBase;
+               import org.apache.flex.core.WrappedHTMLElement;
+    }
+    import org.apache.flex.core.ValuesManager;
+    import org.apache.flex.events.IEventDispatcher;
+    
+       
+    //--------------------------------------
+    //  Events
+    //--------------------------------------
+    
+    /**
+     *  Dispatched when the user clicks on a button.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       [Event(name="click", type="org.apache.flex.events.Event")]
+
+    /**
+     *  The Button class is a simple button.  Use TextButton for
+     *  buttons that should show text.  This is the lightest weight
+     *  button used for non-text buttons like the arrow buttons
+     *  in a Scrollbar or NumericStepper.
+     * 
+     *  The most common view for this button is CSSButtonView that
+     *  allows you to specify a backgroundImage in CSS that defines
+     *  the look of the button.
+     * 
+     *  However, when used in ScrollBar and when composed in many
+     *  other components, it is more common to assign a custom view
+     *  to the button.  
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    COMPILE::AS3
+       public class Button extends UIButtonBase implements IStrand, 
IEventDispatcher, IUIBase
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function Button()
+               {
+                       super();
+               }
+       }
+    
+    COMPILE::JS
+    public class Button extends UIBase implements IStrand, IEventDispatcher, 
IUIBase
+    {
+        /**
+                * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+         */
+        override protected function createElement():WrappedHTMLElement
+        {
+            element = document.createElement('button') as WrappedHTMLElement;
+            element.setAttribute('type', 'button');
+            
+            positioner = element;
+            positioner.style.position = 'relative';
+            element.flexjs_wrapper = this;
+            
+            /* AJH comment out until we figure out why it is needed
+            if (org.apache.flex.core.ValuesManager.valuesImpl.getValue) {
+                var impl:Object = 
org.apache.flex.core.ValuesManager.valuesImpl.
+                    getValue(this, 'iStatesImpl');
+            }*/
+            
+            return element;
+        }        
+
+    }        
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as
new file mode 100644
index 0000000..e4c58e7
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as
@@ -0,0 +1,76 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+    COMPILE::JS
+    {
+        import org.apache.flex.core.WrappedHTMLElement;            
+    }
+
+       /**
+        *  The ButtonBar class is a component that displays a set of Buttons. 
The ButtonBar
+        *  is actually a List with a default horizontal layout and an 
itemRenderer that 
+        *  produces Buttons. The ButtonBar uses the following beads:
+        * 
+        *  org.apache.flex.core.IBeadModel: the data model for the ButtonBar, 
including the dataProvider.
+        *  org.apache.flex.core.IBeadView: constructs the parts of the 
component.
+        *  org.apache.flex.core.IBeadController: handles input events.
+        *  org.apache.flex.core.IBeadLayout: sizes and positions the component 
parts.
+        *  org.apache.flex.core.IDataProviderItemRendererMapper: produces 
itemRenderers.
+        *  org.apache.flex.core.IItemRenderer: the class or class factory to 
use.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ButtonBar extends List
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ButtonBar()
+               {
+                       super();
+               }
+        
+        /**
+         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            element = document.createElement('div') as WrappedHTMLElement;
+            element.style.overflow = 'auto';
+            positioner = element;
+            positioner.style.position = 'relative';
+            
+            className = 'ButtonBar';
+            
+            element.flexjs_wrapper = this;
+            
+            return element;
+        }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as
new file mode 100644
index 0000000..6405ab5
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as
@@ -0,0 +1,180 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+    COMPILE::AS3
+    {
+        import flash.events.MouseEvent;            
+    }
+       
+       import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.IToggleButtonModel;
+       import org.apache.flex.core.IUIBase;
+    COMPILE::AS3
+    {
+        import org.apache.flex.core.UIButtonBase;            
+    }
+    COMPILE::JS
+    {
+        import org.apache.flex.core.UIBase;        
+        import org.apache.flex.core.WrappedHTMLElement;        
+    }
+       import org.apache.flex.events.Event;
+       
+    //--------------------------------------
+    //  Events
+    //--------------------------------------
+    
+    /**
+     *  Dispatched when the user checks or un-checks the CheckBox.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       [Event(name="change", type="org.apache.flex.events.Event")]
+
+    /**
+     *  The CheckBox class implements the common user interface
+     *  control.  The CheckBox includes its text label.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    COMPILE::AS3
+       public class CheckBox extends UIButtonBase implements IStrand
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function CheckBox()
+               {
+                       super();
+                       
+                       addEventListener(MouseEvent.CLICK, 
internalMouseHandler);
+               }
+               
+        /**
+         *  The text label for the CheckBox.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get text():String
+               {
+                       return IToggleButtonModel(model).text;
+               }
+        
+        /**
+         *  @private
+         */
+               public function set text(value:String):void
+               {
+                       IToggleButtonModel(model).text = value;
+               }
+               
+        [Bindable("change")]
+        /**
+         *  <code>true</code> if the check mark is displayed.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function get selected():Boolean
+               {
+                       return IToggleButtonModel(model).selected;
+               }
+               
+        /**
+         *  @private
+         */
+               public function set selected(value:Boolean):void
+               {
+                       IToggleButtonModel(model).selected = value;
+               }
+                               
+               private function internalMouseHandler(event:Event) : void
+               {
+                       selected = !selected;
+                       dispatchEvent(new Event("change"));
+               }
+       }
+    
+    COMPILE::JS
+    public class CheckBox extends UIBase
+    {
+        /**
+         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+         */
+        override protected function createElement():WrappedHTMLElement
+        {
+            var cb:HTMLInputElement;
+            
+            element = document.createElement('label') as WrappedHTMLElement;
+            
+            cb = document.createElement('input') as HTMLInputElement;
+            cb.type = 'checkbox';
+            element.appendChild(cb);
+            element.appendChild(document.createTextNode(''));
+            
+            element.className = 'CheckBox';
+            typeNames = 'CheckBox';
+            
+            positioner = element;
+            positioner.style.position = 'relative';
+            (cb as WrappedHTMLElement).flexjs_wrapper = this;
+            element.flexjs_wrapper = this;
+            
+            return element;
+        }        
+        
+        public function get text():String
+        {
+            return element.childNodes.item(1).nodeValue;
+        }
+        
+        public function set text(value:String):void
+        {
+            element.childNodes.item(1).nodeValue = value;
+        }
+        
+        public function get selected():Boolean
+        {
+            return (element.childNodes.item(0) as HTMLInputElement).checked;
+        }
+        
+        public function set selected(value:Boolean):void
+        {
+            (element.childNodes.item(0) as HTMLInputElement).checked = value;
+        }
+    }        
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as
new file mode 100644
index 0000000..8306915
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as
@@ -0,0 +1,66 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+    COMPILE::JS
+    {
+        import org.apache.flex.core.WrappedHTMLElement;            
+    }
+
+    /**
+     *  The CloseButton class is Button that displays an X
+     *  and is commonly used in a Panel's TitleBar.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+       public class CloseButton extends Button
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function CloseButton()
+               {
+                       super();
+               }
+        
+        /**
+         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            super.createElement();
+            element.innerHTML = 'x';
+            
+            element.style.padding = 0;
+            height = 11;
+            width = 11;
+            return element;
+        }        
+
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as
new file mode 100644
index 0000000..fa91fec
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as
@@ -0,0 +1,277 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+       import org.apache.flex.core.IComboBoxModel;
+       import org.apache.flex.core.UIBase;
+       import org.apache.flex.events.Event;
+
+    COMPILE::JS
+    {
+        import goog.events;
+        import org.apache.flex.core.WrappedHTMLElement;            
+    }
+       
+       [Event(name="change", type="org.apache.flex.events.Event")]
+       
+       /**
+        *  The ComboBox class is a component that displays an input field and
+        *  pop-up List with selections. Selecting an item from the pop-up List
+        *  places that item into the input field of the ComboBox. The ComboBox
+        *  uses the following bead types:
+        * 
+        *  org.apache.flex.core.IBeadModel: the data model, which includes the 
dataProvider, selectedItem, and
+        *  so forth.
+        *  org.apache.flex.core.IBeadView:  the bead that constructs the 
visual parts of the component.
+        *  org.apache.flex.core.IBeadController: the bead that handles input 
and output.
+        *  org.apache.flex.core.IPopUp: the bead responsible for displaying 
the selection list.
+        *  org.apache.flex.core.IDataProviderItemRendererMapper: the bead 
responsible for creating the itemRenders.
+        *  org.apache.flex.core.IItemRenderer: the class or factory used to 
display an item in the component.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ComboBox extends UIBase
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ComboBox()
+               {
+                       super();
+               }
+               
+               /**
+                *  The data for display by the ComboBox.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get dataProvider():Object
+               {
+                       return IComboBoxModel(model).dataProvider;
+               }
+               public function set dataProvider(value:Object):void
+               {
+                       IComboBoxModel(model).dataProvider = value;
+               }
+               
+               /**
+                *  The index of the currently selected item. Changing this 
item changes
+                *  the selectedItem value.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get selectedIndex():int
+               {
+                       return IComboBoxModel(model).selectedIndex;
+               }
+               public function set selectedIndex(value:int):void
+               {
+                       IComboBoxModel(model).selectedIndex = value;
+               }
+               
+               /**
+                *  The item that is currently selected. Changing this item 
changes
+                *  the selectedIndex.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get selectedItem():Object
+               {
+                       return IComboBoxModel(model).selectedItem;
+               }
+               public function set selectedItem(value:Object):void
+               {
+                       IComboBoxModel(model).selectedItem = value;
+               }
+               
+        /**
+         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            var button:WrappedHTMLElement;
+            var input:WrappedHTMLElement;
+            
+            element = document.createElement('div') as WrappedHTMLElement;
+            
+            input = document.createElement('input') as WrappedHTMLElement;
+            input.style.position = 'absolute';
+            input.style.width = '80px';
+            element.appendChild(input);
+            
+            button = document.createElement('div') as WrappedHTMLElement;
+            button.style.position = 'absolute';
+            button.style.top = '0px';
+            button.style.right = '0px';
+            button.style.background = '#bbb';
+            button.style.width = '16px';
+            button.style.height = '20px';
+            button.style.margin = '0';
+            button.style.border = 'solid #609 1px';
+            goog.events.listen(button, 'click', buttonClicked);
+            element.appendChild(button);
+            
+            positioner = element;
+            positioner.style.position = 'relative';
+            
+            // add a click handler so that a click outside of the combo box can
+            // dismiss the pop-up should it be visible.
+            goog.events.listen(document, 'click',
+                dismissPopup);
+            
+            input.flexjs_wrapper = this;
+            
+            return element;
+        }        
+
+        COMPILE::JS
+        private var popup:HTMLElement;
+        
+        /**
+         * @param event The event.
+         * @flexjsignorecoercion HTMLSelectElement
+         */
+        COMPILE::JS
+        private function selectChanged(event:Event):void
+        {
+            var select:HTMLSelectElement;
+            
+            select = event.currentTarget as HTMLSelectElement;
+            
+            selectedItem = select.options[select.selectedIndex].value;
+            
+            popup.parentNode.removeChild(popup);
+            popup = null;
+            
+            dispatchEvent(event);
+        }
+        
+        
+        /**
+         * @param event The event.
+         */
+        COMPILE::JS
+        private function dismissPopup(event:Event):void
+        {
+            // remove the popup if it already exists
+            if (popup) {
+                popup.parentNode.removeChild(popup);
+                popup = null;
+            }
+        }
+        
+        
+        /**
+         * @export
+         * @param {Object} event The event.
+         * @flexjsignorecoercion HTMLInputElement
+         * @flexjsignorecoercion HTMLElement
+         * @flexjsignorecoercion HTMLSelectElement
+         * @flexjsignorecoercion HTMLOptionElement
+         * @flexjsignorecoercion Array
+         */
+        COMPILE::JS
+        private function buttonClicked(event:Event):void
+        {
+            var dp:Array;
+            var i:int;
+            var input:HTMLInputElement;
+            var left:Number;
+            var n:int;
+            var opt:HTMLOptionElement;
+            var pn:HTMLElement;
+            var popup:HTMLElement;
+            var select:HTMLSelectElement;
+            var si:int;
+            var top:Number;
+            var width:Number;
+            
+            event.stopPropagation();
+            
+            if (popup) {
+                dismissPopup(null);
+                
+                return;
+            }
+            
+            input = element.childNodes.item(0) as HTMLInputElement;
+            
+            pn = element;
+            top = pn.offsetTop + input.offsetHeight;
+            left = pn.offsetLeft;
+            width = pn.offsetWidth;
+            
+            popup = document.createElement('div') as HTMLElement;
+            popup.className = 'popup';
+            popup.id = 'test';
+            popup.style.position = 'absolute';
+            popup.style.top = top.toString() + 'px';
+            popup.style.left = left.toString() + 'px';
+            popup.style.width = width.toString() + 'px';
+            popup.style.margin = '0px auto';
+            popup.style.padding = '0px';
+            popup.style.zIndex = '10000';
+            
+            select = document.createElement('select') as HTMLSelectElement;
+            select.style.width = width.toString() + 'px';
+            goog.events.listen(select, 'change', selectChanged);
+            
+            dp = dataProvider as Array;
+            n = dp.length;
+            for (i = 0; i < n; i++) {
+                opt = document.createElement('option') as HTMLOptionElement;
+                opt.text = dp[i];
+                select.add(opt, null);
+            }
+            
+            select.size = n;
+            
+            si = selectedIndex;
+            if (si < 0) {
+                select.value = null;
+            } else {
+                select.value = dp[si];
+            }
+            
+            this.popup = popup;
+            
+            popup.appendChild(select);
+            document.body.appendChild(popup);
+        }
+
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
new file mode 100644
index 0000000..ee30b7f
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
@@ -0,0 +1,108 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+       import org.apache.flex.core.ContainerBase;
+       import org.apache.flex.core.IChrome;
+       import org.apache.flex.core.IContainer;
+       import org.apache.flex.core.IUIBase;
+    COMPILE::JS
+    {
+        import org.apache.flex.core.WrappedHTMLElement;            
+    }
+       import org.apache.flex.events.Event;
+       
+       [DefaultProperty("mxmlContent")]
+    
+    /**
+     *  The Container class implements a basic container for
+     *  other controls and containers.  The position and size
+     *  of the children are determined by a layout while the size of
+     *  a Container can either be determined by its children or by
+     *  specifying an exact size in pixels or as a percentage of the
+     *  parent element.
+     *
+     *  This Container does not have a built-in scroll bar or clipping of
+     *  its content should the content exceed the Container's boundaries. To
+     *  have scroll bars and clipping, add the ScrollingView bead.  
+     * 
+     *  While the container is relatively lightweight, it should
+     *  generally not be used as the base class for other controls,
+     *  even if those controls are composed of children.  That's
+     *  because the fundamental API of Container is to support
+     *  an arbitrary set of children, and most controls only
+     *  support a specific set of children.
+     * 
+     *  And that's one of the advantages of beads: that functionality
+     *  used in a Container can also be used in a Control as long
+     *  as that bead doesn't assume that its strand is a Container.
+     * 
+     *  For example, even though you can use a Panel to create the
+     *  equivalent of an Alert control, the Alert is a 
+     *  control and not a Container because the Alert does not
+     *  support an arbitrary set of children.
+     *  
+     *  @see org.apache.flex.html.beads.layout
+     *  @see org.apache.flex.html.supportClasses.ScrollingViewport
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */    
+       public class Container extends ContainerBase
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function Container()
+               {
+                       super();
+               }
+
+        /**
+         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            element = document.createElement('div') as WrappedHTMLElement;
+            
+            positioner = element;
+            
+            // absolute positioned children need a non-null
+            // position value in the parent.  It might
+            // get set to 'absolute' if the container is
+            // also absolutely positioned
+            positioner.style.position = 'relative';
+            element.flexjs_wrapper = this;
+            
+            /*addEventListener('childrenAdded',
+            runLayoutHandler);
+            addEventListener('elementRemoved',
+            runLayoutHandler);*/
+            
+            return element;
+        }        
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as
new file mode 100644
index 0000000..da65539
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as
@@ -0,0 +1,99 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+       
+       import org.apache.flex.core.IBeadLayout;
+       import org.apache.flex.core.IChrome;
+       import org.apache.flex.core.IContainer;
+       import org.apache.flex.core.ValuesManager;
+    COMPILE::JS
+    {
+        import org.apache.flex.core.WrappedHTMLElement;            
+    }
+
+       /**
+        *  The ControlBar class is used within a Panel as a place to position
+        *  additional controls. The ControlBar appears at the bottom of the 
+        *  org.apache.flex.html.Panel
+        *  and is not part of the Panel's scrollable content area. The 
ControlBar
+        *  is a Container and implements the org.apache.flex.core.IChrome 
interface, indicating that is
+        *  outside of the Container's content area. The ControlBar uses the 
following
+        *  beads:
+        * 
+        *  org.apache.flex.core.IBeadModel: the data model for the component.
+        *  org.apache.flex.core.IMeasurementBead: helps determine the overlay 
size of the ControlBar for layout.
+        *  org.apache.flex.core.IBorderBead: if present, displays a border 
around the component.
+        *  org.apache.flex.core.IBackgroundBead: if present, displays a solid 
background below the ControlBar.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class ControlBar extends Container implements IContainer, IChrome
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function ControlBar()
+               {
+                       super();
+                       
+                       className = "ControlBar";
+               }
+               
+               /**
+                * @private
+                */
+               override public function addedToParent():void
+               {
+                       super.addedToParent();  
+                       
+                       if( getBeadByType(IBeadLayout) == null ) {
+                               var layout:IBeadLayout = new 
(ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBeadLayout;
+                               addBead(layout);
+                       }
+               }
+        
+        /**
+         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            element = document.createElement('div') as WrappedHTMLElement;
+            element.className = 'ControlBar';
+            element.style.display = 'inline';
+            typeNames = 'ControlBar';
+            
+            positioner = element;
+            positioner.style.position = 'relative';
+            element.flexjs_wrapper = this;
+            
+            return element;
+        }        
+
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
new file mode 100644
index 0000000..8cba078
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
@@ -0,0 +1,164 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IDataGridModel;
+       import org.apache.flex.core.IDataGridPresentationModel;
+       import org.apache.flex.core.UIBase;
+       import org.apache.flex.html.beads.models.DataGridPresentationModel;
+       
+       [Event(name="change", type="org.apache.flex.events.Event")]
+       
+       /**
+        *  The DataGrid class displays a collection of data using columns and 
rows. Each
+        *  column represents a specific field in the data set; each row 
represents a specific
+        *  datum. The DataGrid is a composite component built with a 
org.apache.flex.html.ButtonBar 
+        *  for the column headers and a org.apache.flex.html.List for each 
column. The DataGrid's 
+        *  view bead (usually org.apache.flex.html.beads.DataGridView) 
constructs these parts while 
+        *  itemRenderer factories contruct the elements to display the data in 
each cell.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class DataGrid extends UIBase
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function DataGrid()
+               {
+                       super();
+               }
+               
+               /**
+                *  The array of 
org.apache.flex.html.supportClasses.DataGridColumns used to 
+                *  describe each column.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get columns():Array
+               {
+                       return IDataGridModel(model).columns;
+               }
+               public function set columns(value:Array):void
+               {
+                       IDataGridModel(model).columns = value;
+               }
+               
+               /**
+                *  The object used to provide data to the 
org.apache.flex.html.DataGrid.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get dataProvider():Object
+               {
+                       return IDataGridModel(model).dataProvider;
+               }
+               public function set dataProvider(value:Object):void
+               {
+                       IDataGridModel(model).dataProvider = value;
+               }
+               
+               /**
+                *  The currently selected row.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get selectedIndex():int
+               {
+                       return IDataGridModel(model).selectedIndex;
+               }
+               
+               /**
+                *  The DataGrid's presentation model
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get 
presentationModel():IDataGridPresentationModel
+               {
+                       var beadMod:IBead = 
getBeadByType(IDataGridPresentationModel);
+                       var presModel:IDataGridPresentationModel;
+                       
+                       if (beadMod == null) {
+                               presModel = new DataGridPresentationModel();
+                               addBead(presModel);
+                       } else {
+                               presModel = beadMod as 
IDataGridPresentationModel;
+                       }
+                       return presModel;
+               }
+                               
+               /**
+                *  The default height of each cell in every column
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get rowHeight():Number
+               {
+                       return presentationModel.rowHeight;
+               }
+               public function set rowHeight(value:Number):void
+               {
+                       presentationModel.rowHeight = value;
+               }
+               
+               /**
+                * @private
+                * The DataGrid needs to know whenever its size is being 
changed so the columns can be
+                * be aligned properly, so the noEvent value must always be 
false.
+                */
+               override public function setWidth(value:Number, 
noEvent:Boolean=false):void
+               {
+                       super.setWidth(value,false);
+               }
+               
+               /**
+                * @private
+                * The DataGrid needs to know whenever its size is being 
changed so the columns can be
+                * be aligned properly, so the noEvent value must always be 
false.
+                */
+               override public function setHeight(value:Number, 
noEvent:Boolean=false):void
+               {
+                       super.setHeight(value,false);
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
new file mode 100644
index 0000000..33615ea
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+       import org.apache.flex.core.IDateChooserModel;
+       import org.apache.flex.core.UIBase;
+       
+       /**
+        * The change event is dispatched when the selectedDate is changed.
+        */
+       [Event(name="change", type="org.apache.flex.events.Event")]
+       
+       /**
+        *  The DateChooser class is a component that displays a calendar.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class DateChooser extends UIBase
+       {
+               /**
+                *  constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function DateChooser()
+               {
+                       super();
+                       className = "DateChooser";
+                       
+                       // fix the DateChooser's size
+//                     width = 280;
+//                     height = 240;
+               }
+               
+               /**
+                *  The currently selected date (or null if no date has been 
selected).
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get selectedDate():Date
+               {
+                       return IDateChooserModel(model).selectedDate;
+               }
+               public function set selectedDate(value:Date):void
+               {
+                       IDateChooserModel(model).selectedDate = value;
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as
new file mode 100644
index 0000000..f46e453
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as
@@ -0,0 +1,95 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+       import org.apache.flex.core.IBead;
+       import org.apache.flex.core.IDateChooserModel;
+       import org.apache.flex.core.UIBase;
+       import org.apache.flex.core.ValuesManager;
+       
+       /**
+        * The change event is dispatched when the selectedDate is changed.
+        */
+       [Event(name="change", type="org.apache.flex.events.Event")]
+       
+       /**
+        * The DateField class provides an input field where a date can be 
entered
+        * and a pop-up calendar control for picking a date as an alternative to
+        * the text field.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.0
+        */
+       public class DateField extends UIBase
+       {
+               /**
+                *  constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function DateField()
+               {
+                       super();
+                       
+                       className = "DateField";
+               }
+               
+               /**
+                * The method called when added to a parent. The DateField 
class uses
+                * this opportunity to install additional beads.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               override public function addedToParent():void
+               {
+            var klass:* = 
ValuesManager.valuesImpl.getValue(this,"iFormatBead");
+            var bead:IBead = new klass() as IBead;
+            if (bead) {
+                addBead(bead);
+            }
+            
+                       super.addedToParent();
+               }
+               
+               /**
+                *  The currently selected date (or null if no date has been 
selected).
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion FlexJS 0.0
+                */
+               public function get selectedDate():Date
+               {
+                       return IDateChooserModel(model).selectedDate;
+               }
+               public function set selectedDate(value:Date):void
+               {
+                       IDateChooserModel(model).selectedDate = value;
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as
new file mode 100644
index 0000000..dd069b2
--- /dev/null
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as
@@ -0,0 +1,235 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+    import org.apache.flex.core.ISelectionModel;
+
+    COMPILE::JS
+    {
+        import goog.events;
+        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.html.beads.models.ArraySelectionModel;
+    }
+    
+    //--------------------------------------
+    //  Events
+    //--------------------------------------
+    
+    /**
+     *  Dispatched when the user selects an item.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
+    /**
+     *  The DropDownList class implements the basic equivalent of
+     *  the <code>&lt;select&gt;</code> tag in HTML.
+     *  The default implementation only lets the user see and
+     *  choose from an array of strings.  More complex controls
+     *  would display icons as well as strings, or colors instead
+     *  of strings or just about anything.
+     * 
+     *  The default behavior only lets the user choose one and 
+     *  only one item.  More complex controls would allow
+     *  mutiple selection by not dismissing the dropdown as soon
+     *  as a selection is made.
+     * 
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */    
+       public class DropDownList extends Button
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function DropDownList()
+               {
+            COMPILE::JS
+            {
+                model = new ArraySelectionModel();
+            }
+               }
+               
+        /**
+         *  The data set to be displayed.  Usually a simple
+         *  array of strings.  A more complex component
+         *  would allow more complex data and data sets.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get dataProvider():Object
+        {
+            return ISelectionModel(model).dataProvider;
+        }
+
+        /**
+         *  @private
+         *  @flexjsignorecoercion HTMLOptionElement
+         *  @flexjsignorecoercion HTMLSelectElement
+         */
+        public function set dataProvider(value:Object):void
+        {
+            ISelectionModel(model).dataProvider = value;
+            COMPILE::JS
+            {
+                var dp:HTMLOptionsCollection;
+                var i:int;
+                var n:int;
+                var opt:HTMLOptionElement;
+                var dd:HTMLSelectElement = element as HTMLSelectElement;
+                
+                model.dataProvider = value;
+                dp = dd.options;
+                n = dp.length;
+                for (i = 0; i < n; i++) {
+                    dd.remove(0);
+                }
+                
+                var lf:String = labelField;
+                n = value.length;
+                for (i = 0; i < n; i++) {
+                    opt = document.createElement('option') as 
HTMLOptionElement;
+                    if (lf)
+                        opt.text = value[i][lf];
+                    else
+                        opt.text = value[i];
+                    dd.add(opt, null);
+                }
+
+            }
+        }
+        
+        [Bindable("change")]
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#selectedIndex
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get selectedIndex():int
+        {
+            return ISelectionModel(model).selectedIndex;
+        }
+
+        /**
+         *  @private
+         *  @flexjsignorecoercion HTMLSelectElement
+         */
+        public function set selectedIndex(value:int):void
+        {
+            ISelectionModel(model).selectedIndex = value;
+            COMPILE::JS
+            {
+                (element as HTMLSelectElement).selectedIndex = 
ISelectionModel(model).selectedIndex;
+            }
+        }
+        
+
+        [Bindable("change")]
+        /**
+         *  @copy org.apache.flex.core.ISelectionModel#selectedItem
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get selectedItem():Object
+        {
+            return ISelectionModel(model).selectedItem;
+        }
+
+        /**
+         *  @private
+         *  @flexjsignorecoercion HTMLSelectElement
+         */
+        public function set selectedItem(value:Object):void
+        {
+            ISelectionModel(model).selectedItem = value;
+            COMPILE::JS
+            {
+                (element as HTMLSelectElement).selectedIndex = 
ISelectionModel(model).selectedIndex;
+            }
+        }
+                        
+        /**
+         *  The name of field within the data used for display. Each item of 
the
+         *  data should have a property with this name.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get labelField():String
+        {
+            return ISelectionModel(model).labelField;
+        }
+        public function set labelField(value:String):void
+        {
+            ISelectionModel(model).labelField = value;
+        }
+        
+        /**
+         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+         * @flexjsignorecoercion HTMLSelectElement
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            element = document.createElement('select') as WrappedHTMLElement;
+            (element as HTMLSelectElement).size = 1;
+            goog.events.listen(element, 'change',
+                changeHandler);
+            
+            positioner = element;
+            positioner.style.position = 'relative';
+            
+            element.flexjs_wrapper = this;
+            
+            return element;
+        } 
+        
+        /**
+         * @flexjsignorecoercion HTMLSelectElement
+         */
+        COMPILE::JS
+        protected function changeHandler(event:Event):void
+        {
+            model.selectedIndex = (element as HTMLSelectElement).selectedIndex;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as
new file mode 100644
index 0000000..9f38883
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as
@@ -0,0 +1,61 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.flex.html
+{
+       import org.apache.flex.core.ContainerBase;
+       import org.apache.flex.core.IChrome;
+       import org.apache.flex.core.IContainer;
+       import org.apache.flex.core.IUIBase;
+       import org.apache.flex.events.Event;
+       
+       [DefaultProperty("mxmlContent")]
+    
+    /**
+     *  A Container that has a HorizontalLayout.
+     * 
+     *  This is effectively the same as the pattern
+     *  <code>
+     *  <basic:Container xmlns:basic="library://ns.apache.org/flexjs/basic">
+     *    <basic:layout>
+     *       <basic:HorizontalLayout />
+     *    </basic:layout>
+     *  </basic:Container>
+     *  </code>
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */    
+       public class HContainer extends Container implements IContainer
+       {
+        /**
+         *  Constructor.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+               public function HContainer()
+               {
+                       super();
+        }
+       }
+}

Reply via email to