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

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

commit 32765b63d1262ce6d331f1ba84777d6dba4eb6e2
Author: Alex Harui <[email protected]>
AuthorDate: Thu Dec 21 22:46:35 2017 -0800

    components and example of RoyaleWebSite
---
 examples/royale/RoyaleWebsite/asconfig.json        |  31 +++
 examples/royale/RoyaleWebsite/build.xml            |  64 ++++++
 examples/royale/RoyaleWebsite/pom.xml              |  74 +++++++
 .../src/main/config/compile-app-config.xml         |  28 +++
 .../src/main/resources/royale-index-template.html  |  32 +++
 .../src/main/royale/RoyaleWebsite.mxml             | 142 +++++++++++++
 frameworks/js/projects/RoyaleSiteJS/build.xml      | 124 +++++++++++
 .../src/main/config/compile-js-config.xml          |  96 +++++++++
 frameworks/projects/RoyaleSite/build.xml           | 132 ++++++++++++
 frameworks/projects/RoyaleSite/pom.xml             | 107 ++++++++++
 .../src/main/config/compile-swf-config.xml         |  94 +++++++++
 .../RoyaleSite/src/main/resources/defaults.css     | 228 +++++++++++++++++++++
 .../src/main/resources/royalesite-manifest.xml     |  33 +++
 .../royale/site/ASFCopyrightAttributionAndLinks.as |  65 ++++++
 .../royale/org/apache/royale/site/BigButton.as     | 128 ++++++++++++
 .../royale/org/apache/royale/site/CurvedTop.as     |  50 +++++
 .../org/apache/royale/site/ResponsiveTable.as      |  51 +++++
 .../org/apache/royale/site/ResponsiveTableTile.as  | 145 +++++++++++++
 .../royale/org/apache/royale/site/SocialButtons.as |  82 ++++++++
 .../org/apache/royale/site/TitledAnchorList.as     | 139 +++++++++++++
 .../main/royale/org/apache/royale/site/TopMenu.as  |  69 +++++++
 .../royale/org/apache/royale/site/TopMenuButton.as | 111 ++++++++++
 .../org/apache/royale/site/data/AnchorListData.as  |  75 +++++++
 .../ResponsiveTableTileContent.as                  |  66 ++++++
 .../ResponsiveTableTileIcon.as                     | 100 +++++++++
 .../ResponsiveTableTileText.as                     |  91 ++++++++
 .../ResponsiveTableTileTitle.as                    |  50 +++++
 27 files changed, 2407 insertions(+)

diff --git a/examples/royale/RoyaleWebsite/asconfig.json 
b/examples/royale/RoyaleWebsite/asconfig.json
new file mode 100644
index 0000000..4567458
--- /dev/null
+++ b/examples/royale/RoyaleWebsite/asconfig.json
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+{
+    "config": "royale",
+    "compilerOptions": {
+        "debug": false,
+        "targets": ["JSRoyale"],
+        "source-map": true
+    },
+    "additionalOptions": "-remove-circulars 
-js-output-optimization=skipAsCoercions 
-html-template=src/main/resources/mdl-js-index-template.html 
-compiler.exclude-defaults-css-files=HTML.swc:defaults.css",
+    "files":
+    [
+        "src/main/royale/MDLExample.mxml"
+    ]
+}
diff --git a/examples/royale/RoyaleWebsite/build.xml 
b/examples/royale/RoyaleWebsite/build.xml
new file mode 100644
index 0000000..d151a44
--- /dev/null
+++ b/examples/royale/RoyaleWebsite/build.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="RoyaleWebsite" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../.."/>
+    <property name="example" value="RoyaleWebsite" />
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+
+    <include file="${basedir}/../../build_example.xml" />
+    
+    <target name="main" depends="clean,build_example.compile" 
description="Clean build of ${example}">
+        <mkdir dir="${basedir}/bin/js-debug/assets" />
+        <copy todir="${basedir}/bin/js-debug/assets" >
+            <fileset dir="${basedir}/src/main/resources/assets">
+                <include name="**" />
+            </fileset>
+        </copy>
+        <mkdir dir="${basedir}/bin/js-release/assets" />
+        <copy todir="${basedir}/bin/js-release/assets" >
+            <fileset dir="${basedir}/src/main/resources/assets">
+                <include name="**" />
+            </fileset>
+        </copy>
+    </target>
+    
+    <target name="clean">
+        <delete dir="${basedir}/bin" failonerror="false" />
+        <delete dir="${basedir}/bin-debug" failonerror="false" />
+        <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
+    </target>
+
+    <target name="examine" depends="build_example.get.browser">
+        <property name="which" value="debug" />
+        <echo message="See Material Design Lite components."/>
+        <exec executable="${browser}" dir="${basedir}/bin/js-${which}" 
failonerror="true">
+            <arg value="${basedir}/bin/js-${which}/index.html"/>
+        </exec>
+    </target>
+
+
+</project>
diff --git a/examples/royale/RoyaleWebsite/pom.xml 
b/examples/royale/RoyaleWebsite/pom.xml
new file mode 100644
index 0000000..aa04ad2
--- /dev/null
+++ b/examples/royale/RoyaleWebsite/pom.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.royale.examples</groupId>
+    <artifactId>examples-royale</artifactId>
+    <version>0.9.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>MDLExample</artifactId>
+  <version>0.9.0-SNAPSHOT</version>
+  <packaging>swf</packaging>
+
+  <name>Apache Royale: Examples: Royale: MDLExample</name>
+
+  <properties>
+    <!-- Customize MDL colors using this the tool at : 
https://getmdl.io/customize/index.html -->
+    <primary>indigo</primary>
+    <accent>pink</accent>
+  </properties>
+
+  <build>
+    <sourceDirectory>src/main/royale</sourceDirectory>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.royale.compiler</groupId>
+        <artifactId>royale-maven-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+          <mainClass>App.mxml</mainClass>
+          <targets>JSRoyale</targets>
+          
<htmlTemplate>${basedir}/target/javascript/bin/js-debug/mdl-js-index-template.html</htmlTemplate>
+          
<additionalCompilerOptions>-compiler.exclude-defaults-css-files=Basic-0.9.0-SNAPSHOT-js.swc:defaults.css</additionalCompilerOptions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>MaterialDesignLite</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+  </dependencies>
+
+</project>
diff --git 
a/examples/royale/RoyaleWebsite/src/main/config/compile-app-config.xml 
b/examples/royale/RoyaleWebsite/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..fecd735
--- /dev/null
+++ b/examples/royale/RoyaleWebsite/src/main/config/compile-app-config.xml
@@ -0,0 +1,28 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<royale-config>
+    <compiler>
+        <targets><target>JSRoyale</target></targets>
+        <exclude-defaults-css-files>
+            <filename>BasicJS.swc:defaults.css</filename>
+            <filename>Basic.swc:defaults.css</filename>
+        </exclude-defaults-css-files>
+    </compiler>
+    <html-template>../resources/royale-index-template.html</html-template>
+</royale-config>
diff --git 
a/examples/royale/RoyaleWebsite/src/main/resources/royale-index-template.html 
b/examples/royale/RoyaleWebsite/src/main/resources/royale-index-template.html
new file mode 100644
index 0000000..0d97bee
--- /dev/null
+++ 
b/examples/royale/RoyaleWebsite/src/main/resources/royale-index-template.html
@@ -0,0 +1,32 @@
+<!--
+  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.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+       <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+       <meta name="Royale Website Template">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, 
minimum-scale=1.0">
+    <link rel="stylesheet" 
href="http://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css";
 />
+    <link rel="stylesheet" href="RoyaleWebsite.css" />
+    <title>Apache Royale</title>
+${head}
+</head>
+<body>
+${body}
+</body>
+</html>
diff --git a/examples/royale/RoyaleWebsite/src/main/royale/RoyaleWebsite.mxml 
b/examples/royale/RoyaleWebsite/src/main/royale/RoyaleWebsite.mxml
new file mode 100644
index 0000000..bbd3fd6
--- /dev/null
+++ b/examples/royale/RoyaleWebsite/src/main/royale/RoyaleWebsite.mxml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009";
+                 xmlns="library://ns.apache.org/royale/html"
+                 xmlns:js="library://ns.apache.org/royale/basic"
+                 xmlns:rs="library://ns.apache.org/royale/site"
+                 xmlns:local="*">
+
+    <fx:Script>
+        <![CDATA[
+            
+        ]]>
+    </fx:Script>
+    <js:valuesImpl>
+        <js:SimpleCSSValuesImpl />
+    </js:valuesImpl>
+    
+    <js:initialView>
+        <js:View width="100%" height="100%" className="page">
+            <Div className="topbar">
+                <Img 
src="http://royale.codeoscopic.com/wp-content/uploads/2017/11/apache-royale-tm-logo-default.png";
 />
+                <rs:TopMenu>
+                    <rs:TopMenuButton 
href="features.html">FEATURES</rs:TopMenuButton>
+                    <rs:TopMenuButton href="tryitnow/index.html">TRY IT 
NOW</rs:TopMenuButton>
+                    <rs:TopMenuButton 
href="download.html">DOWNLOAD</rs:TopMenuButton>
+                    <rs:TopMenuButton 
href="documentation.html">DOCS</rs:TopMenuButton>
+                    <rs:TopMenuButton href="blog.html">BLOG</rs:TopMenuButton>
+                    <rs:TopMenuButton 
href="github.html">GITHUB</rs:TopMenuButton>
+                </rs:TopMenu>
+                <rs:SocialButtons />
+            </Div>
+            <H3>Designed for the future</H3>
+            <H2>Code Once.  Run Everywhere.</H2>
+            <P className="intro">
+                Apache Royale™ is a productive open source frontend 
application technology that allows you to code in MXML &amp; AS3 and output to 
different formats.
+            </P>
+            <Div className="big-buttons">
+                <rs:BigButton className="red-button" 
href="getstarted.html">GET STARTED</rs:BigButton>
+                <rs:BigButton className="blue-button" 
href="tryitnow/index.html">TRY IT NOW</rs:BigButton>
+            </Div>
+            <rs:CurvedTop>
+                <rs:ResponsiveTable>
+                    <rs:ResponsiveTableTile icon1="fa-university" 
title="Enterprise Class Level">
+                        Design &amp; Code in enterprise level languages and 
tools to ensure the level of quality your applications and clients demand
+                    </rs:ResponsiveTableTile>
+                    <rs:ResponsiveTableTile icon1="fa-desktop" 
icon2="fa-mobile" title="Multiple Targets &amp; Devices">
+                        Maintain your knowledge and workflows intact for years 
to come and let Royale provide you with the right output you need.
+                    </rs:ResponsiveTableTile>
+                    <rs:ResponsiveTableTile icon1="fa-clock-o" title="Fast 
Performance &amp; Lightweight">
+                        Royale Apps are light and performant thanks to the 
PAYG (Pay as you go) philosophy combined with their Composition architecture 
(Strands &amp; Beads).
+                    </rs:ResponsiveTableTile>
+                    <rs:ResponsiveTableTile icon1="fa-code" title="OOP &amp; 
Declarative Programming">
+                        Code in a robust OOP language (AS3) and build your 
interfaces in a fast declarative XML language (MXML).
+                    </rs:ResponsiveTableTile>
+                    <rs:ResponsiveTableTile icon1="fa-exchange" 
title="Advanced Communications">
+                        Royale support AMF communications a performant way to 
share object graphs with your backend of choice.
+                    </rs:ResponsiveTableTile>
+                    <rs:ResponsiveTableTile icon1="fa-users" title="Supported 
by Apache">
+                        A great Open Source Foundation ensures long term 
evolution with the technologies you choose far beyond market &amp; corporate 
trends
+                    </rs:ResponsiveTableTile>
+                </rs:ResponsiveTable>
+            </rs:CurvedTop>
+            <Div className="orange-box">
+                <H1 className="npm-title">Install Apache Royale via npm</H1>
+                <H2 className="npm-command">npm install royale -g</H2>
+                <P className="fa orange-box-text">After global installation, 
the following compiler tools will be available for you to use: mxmlc, compc, 
asjsc, asjscompc, asnodec, and externc.</P>
+                <P className="fa orange-box-text">Usage:</P>
+                <P className="orange-box-code">mxmlc &lt;path to main.mxml 
file&gt;<br />
+                asjsc &lt;path to main.as file&gt;</P>
+                <Div className="centerButton">
+                    <rs:BigButton icon="fa-external-link" 
className="white-border-button"
+                        href="tryitnow/index.html">LEARN MORE 
ABOUT</rs:BigButton>
+                </Div>
+            </Div>
+            <Div className="footer">
+                <Div className="footer-column">
+                    <rs:TitledAnchorList title="APACHE ROYALE" 
titleClassName="apacheroyale">
+                        <rs:AnchorListData 
href="index.html">Home</rs:AnchorListData>
+                        <rs:AnchorListData 
href="features.html">Features</rs:AnchorListData>
+                        <rs:AnchorListData href="tryitnow/index.html">Try it 
now</rs:AnchorListData>
+                        <rs:AnchorListData 
href="download.html">Download</rs:AnchorListData>
+                        <rs:AnchorListData 
href="showcase.html">Showcase</rs:AnchorListData>
+                        <rs:AnchorListData 
href="blog.html">Blog</rs:AnchorListData>
+                        <rs:AnchorListData 
href="team.html">Team</rs:AnchorListData>
+                        <rs:AnchorListData href="royalenpm.html">Royale in 
npm</rs:AnchorListData>
+                        <rs:AnchorListData 
href="license.html">License</rs:AnchorListData>
+                    </rs:TitledAnchorList>
+                </Div>
+                <Div className="footer-column">
+                    <rs:TitledAnchorList title="DOCUMENTATION" 
titleClassName="documentation">
+                        <rs:AnchorListData href="index.html">Getting 
Started</rs:AnchorListData>
+                        <rs:AnchorListData 
href="docs.html">Docs</rs:AnchorListData>
+                        <rs:AnchorListData 
href="reference/index.html">Reference</rs:AnchorListData>
+                        <rs:AnchorListData 
href="wiki.html">Wiki</rs:AnchorListData>
+                    </rs:TitledAnchorList>
+                    <rs:TitledAnchorList title="COMMUNITY" 
titleClassName="community">
+                        <rs:AnchorListData href="contribute.html">Get 
Involved</rs:AnchorListData>
+                        <rs:AnchorListData 
href="mailinglists.html">MailingLists</rs:AnchorListData>
+                        <rs:AnchorListData 
href="faq.html">FAQ</rs:AnchorListData>
+                    </rs:TitledAnchorList>
+                </Div>
+                <Div className="footer-column">
+                    <rs:TitledAnchorList title="DEVELOPMENT" 
titleClassName="development">
+                        <rs:AnchorListData 
href="github.html">Github</rs:AnchorListData>
+                        <rs:AnchorListData href="source.html">Source 
Code</rs:AnchorListData>
+                        <rs:AnchorListData 
href="issues.html">Issues</rs:AnchorListData>
+                    </rs:TitledAnchorList>
+                    <rs:TitledAnchorList title="APACHE" 
titleClassName="apache">
+                        <rs:AnchorListData 
href="http://www.apache.org/";>Apache</rs:AnchorListData>
+                        <rs:AnchorListData 
href="http://www.apache.org/donations.html";>Donations</rs:AnchorListData>
+                        <rs:AnchorListData 
href="http://www.apache.org/thanks.html";>Sponsorship</rs:AnchorListData>
+                        <rs:AnchorListData 
href="http://www.apache.org/thanks.html";>Thanks</rs:AnchorListData>
+                    </rs:TitledAnchorList>
+                </Div>
+                <Div className="aboutusdiv" >
+                    <P className="aboutus">ABOUT US</P>
+                    <P><img class="aboutus-logo" 
src="http://royale.codeoscopic.com/wp-content/uploads/2017/10/apache-royale-logo-footer-circle-grey.svg"/>Apache
 Royale™ is a highly productive open source application technology for building 
expressive frontend applications that outputs to different formats and deploy 
consistently on all major browsers, desktops and devices.</P>
+                    <P><img class="aboutus-apache-logo" 
src="http://royale.codeoscopic.com/wp-content/uploads/2017/10/Apache_PoweredBy.svg";
 />
+                    Apache Royale™, Apache™ and the Apache feather logo™ are 
trademarks of The Apache Software Foundation. All other marks mentioned may be 
trademarks or registered trademarks of their respective owners. Read more about 
our privacy policy on our Privacy Policy page.</P>
+                </Div>
+            </Div>
+            <rs:ASFCopyrightAttributionAndLinks />
+        </js:View>
+    </js:initialView>
+</js:Application>
diff --git a/frameworks/js/projects/RoyaleSiteJS/build.xml 
b/frameworks/js/projects/RoyaleSiteJS/build.xml
new file mode 100644
index 0000000..5463375
--- /dev/null
+++ b/frameworks/js/projects/RoyaleSiteJS/build.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="RoyaleSiteJS" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../../.."/>
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+    
+    <property name="target.name" value="${ant.project.name}.swc" />
+    <echo 
file="${basedir}/${target.name}.properties">target.name.nojs=${ant.project.name}</echo>
+    <replaceregexp file="${basedir}/${target.name}.properties" match="(.*)JS$" 
replace="\1" flags="m" />
+    <property file="${basedir}/${target.name}.properties"/>
+    <delete file="${basedir}/${target.name}.properties"/>
+    
+    <target name="main" depends="clean,check-compiler,compile" 
description="Full build of ${ant.project.name}.swc">
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${ROYALE_HOME}/frameworks/js/libs">
+                <include name="${target.name}"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${basedir}/target">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="compile" depends="check-compiler">
+        <echo message="Cross-compiling ${target.name}"/>
+        <echo message="ROYALE_COMPILER_HOME: ${ROYALE_COMPILER_HOME}"/>
+        <mkdir dir="${basedir}/target/generated-sources/royale"/>
+        <java jar="${ROYALE_COMPILER_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSRoyale" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${ROYALE_HOME}/frameworks/js-config.xml" 
/>
+            <arg 
value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
+        </java>
+        <copy file="${basedir}/target/${target.name}" 
tofile="${ROYALE_HOME}/frameworks/js/libs/${target.name}" />
+    </target>
+    
+    <target name="copy-js" >
+        <mkdir dir="${ROYALE_HOME}/frameworks/js/generated-sources"/>
+        <copy todir="${ROYALE_HOME}/frameworks/js/generated-sources">
+            <fileset dir="${basedir}/target/generated-sources/royale">
+                <include name="**/**" />
+            </fileset>
+        </copy>
+    </target>
+    
+    <target name="check-compiler" depends="check-compiler-home, 
check-transpiler-home">
+        <path id="lib.path">
+            <fileset dir="${ROYALE_COMPILER_HOME}/lib" 
includes="compiler-royaleTasks.jar"/>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+    </target>
+    
+    <target name="check-compiler-home" unless="ROYALE_SWF_COMPILER_HOME"
+        description="Check ROYALE_SWF_COMPILER_HOME is a directory.">
+        
+        <echo message="ROYALE_SWF_COMPILER_HOME is 
${env.ROYALE_SWF_COMPILER_HOME}"/>
+        
+        <available 
file="${env.ROYALE_SWF_COMPILER_HOME}/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${env.ROYALE_SWF_COMPILER_HOME}"/>
+        
+        <available 
file="${ROYALE_HOME}/../royale-compiler/compiler/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${ROYALE_HOME}/../royale-compiler/compiler"/>
+        
+        <fail message="ROYALE_SWF_COMPILER_HOME must be set to a folder with a 
lib sub-folder containing compiler-mxmlc.jar such as the compiler folder in 
royale-compiler repo or a Royale SDK folder"
+        unless="ROYALE_SWF_COMPILER_HOME"/>
+    </target>
+    
+    <target name="check-transpiler-home" unless="ROYALE_COMPILER_HOME"
+        description="Check ROYALE_SWF_COMPILER_HOME is a directory.">
+        
+        <echo message="ROYALE_COMPILER_HOME is ${env.ROYALE_COMPILER_HOME}"/>
+        
+        <available file="${env.ROYALE_COMPILER_HOME}/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${env.ROYALE_COMPILER_HOME}"/>
+        
+        <available 
file="${ROYALE_HOME}/../royale-compiler/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${ROYALE_HOME}/../royale-compiler/compiler-jx"/>
+        
+        <fail message="ROYALE_COMPILER_HOME must be set to a folder with a lib 
sub-folder containing jsc.jar such as the compiler-jx folder in royale-compiler 
repo or the js folder of a Royale SDK"
+        unless="ROYALE_COMPILER_HOME"/>
+    </target>
+    
+</project>
diff --git 
a/frameworks/js/projects/RoyaleSiteJS/src/main/config/compile-js-config.xml 
b/frameworks/js/projects/RoyaleSiteJS/src/main/config/compile-js-config.xml
new file mode 100644
index 0000000..04938ba
--- /dev/null
+++ b/frameworks/js/projects/RoyaleSiteJS/src/main/config/compile-js-config.xml
@@ -0,0 +1,96 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<royale-config>
+
+    <compiler>
+        <accessible>false</accessible>
+        
+        <!-- build both SWF and JS. -->
+        <targets>
+            <target>SWF</target>
+            <target>JSRoyale</target>
+        </targets>
+        <strict-xml>true</strict-xml>
+        
+               <mxml>
+                       <children-as-data>true</children-as-data>
+               </mxml>
+               
<binding-value-change-event>org.apache.royale.events.ValueChangeEvent</binding-value-change-event>
+               
<binding-value-change-event-kind>org.apache.royale.events.ValueChangeEvent</binding-value-change-event-kind>
+               
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>false</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>true</value>
+        </define>
+
+        <keep-as3-metadata>
+          <name>Bindable</name>
+          <name>Managed</name>
+          <name>ChangeEvent</name>
+          <name>NonCommittingChangeEvent</name>
+          <name>Transient</name>
+          <name>Mixin</name>
+        </keep-as3-metadata>
+         
+        <locale/>
+        
+        <!-- overwrite the default library-path setting -->
+        <library-path>
+            <path-element>../../../../../../../js/libs/GCL.swc</path-element>
+            <!-- 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>../../../../../libs/CoreJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
+            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+        </library-path>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.apache.org/royale/site</uri>
+                
<manifest>../../../../../../projects/RoyaleSite/src/main/resources/royalesite-manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            
<path-element>../../../../../../projects/RoyaleSite/src/main/royale</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-file>
+        <name>defaults.css</name>
+        
<path>../../../../../../projects/RoyaleSite/src/main/resources/defaults.css</path>
+    </include-file>
+    
+    <include-sources>
+    </include-sources>
+    
+    <include-namespaces>
+        <uri>library://ns.apache.org/royale/site</uri>
+    </include-namespaces>
+        
+
+</royale-config>
diff --git a/frameworks/projects/RoyaleSite/build.xml 
b/frameworks/projects/RoyaleSite/build.xml
new file mode 100644
index 0000000..c39dc70
--- /dev/null
+++ b/frameworks/projects/RoyaleSite/build.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="RoyaleSite" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../.."/>
+
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property name="swf.version" value="17" />
+    <property name="playerglobal.version" value="11.4" />
+       <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+    
+    <property name="target.name" value="${ant.project.name}.swc" />
+    
+    <target name="main" 
depends="clean,check-compiler,compile,compile-js,copy-swc,test" 
description="Full build of ${ant.project.name}.swc">
+    </target>
+    
+    <target name="compile-js">
+        <ant 
dir="${ROYALE_HOME}/frameworks/js/projects/${ant.project.name}JS/" 
inheritAll="false" >
+            <property name="ROYALE_SWF_COMPILER_HOME" 
value="${ROYALE_SWF_COMPILER_HOME}"/>
+            <property name="ROYALE_COMPILER_HOME" 
value="${ROYALE_COMPILER_HOME}"/>
+            <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+        </ant>
+    </target>
+        
+    <target name="copy-swc" if="env.AIR_HOME">
+        <copy file="${basedir}/target/${target.name}" 
tofile="${ROYALE_HOME}/frameworks/libs/${target.name}" />
+    </target>
+    
+    <target name="check-for-tests" >
+        <condition property="skip-tests" >
+            <not>
+                <available file="${basedir}/src/test/royale/build.xml" />
+            </not>
+        </condition>
+    </target>
+    
+    <target name="test" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" />
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${ROYALE_HOME}/frameworks/libs">
+                <include name="${target.name}"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${basedir}/target">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+        <antcall target="clean-tests" />
+    </target>
+    
+    <target name="clean-tests" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" target="clean"/>
+    </target>
+    
+    <target name="compile" description="Compiles .as files into .swc" 
if="env.AIR_HOME">
+        <echo message="Compiling libs/${ant.project.name}.swc"/>
+        <echo message="ROYALE_HOME: ${ROYALE_HOME}"/>
+        <echo message="ROYALE_SWF_COMPILER_HOME: ${ROYALE_SWF_COMPILER_HOME}"/>
+        <echo message="ROYALE_COMPILER_HOME: ${ROYALE_COMPILER_HOME}"/>
+        
+        <java jar="${ROYALE_COMPILER_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSRoyale" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg 
value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg 
value="-js-load-config=${ROYALE_HOME}/frameworks/js-config.xml" />
+            <arg 
value="-js-load-config+=${basedir}/../../js/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml"
 />
+        </java>
+    </target>
+    
+    <target name="check-compiler" 
depends="check-compiler-home,check-transpiler-home">
+        <path id="lib.path">
+            <fileset dir="${ROYALE_COMPILER_HOME}/lib" 
includes="compiler-royaleTasks.jar"/>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+    </target>
+    
+    <target name="check-compiler-home"
+        description="Set ROYALE_SWF_COMPILER_HOME to point at the compiler.">
+        
+        <available file="${ROYALE_HOME}/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${ROYALE_HOME}"/>
+        
+        <fail message="ROYALE_SWF_COMPILER_HOME must be set to a folder with a 
lib sub-folder containing compiler-mxmlc.jar such as the compiler folder in 
royale-compiler repo or the root of a Royale SDK"
+        unless="ROYALE_SWF_COMPILER_HOME"/>
+    </target>
+    
+    <target name="check-transpiler-home"
+        description="Set ROYALE_COMPILER_HOME to point at the cross-compiler.">
+        
+        <available file="${ROYALE_HOME}/js/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${ROYALE_HOME}/js"/>
+        
+        <fail message="ROYALE_COMPILER_HOME must be set to a folder with a lib 
sub-folder containing jsc.jar such as the compiler-jx folder in royale-compiler 
repo or the js folder of a Royale SDK"
+        unless="ROYALE_COMPILER_HOME"/>
+    </target>
+    
+</project>
diff --git a/frameworks/projects/RoyaleSite/pom.xml 
b/frameworks/projects/RoyaleSite/pom.xml
new file mode 100644
index 0000000..f1919d6
--- /dev/null
+++ b/frameworks/projects/RoyaleSite/pom.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.royale.framework</groupId>
+    <artifactId>projects</artifactId>
+    <version>0.9.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>Mobile</artifactId>
+  <version>0.9.0-SNAPSHOT</version>
+  <packaging>swc</packaging>
+
+  <name>Apache Royale: Framework: Libs: RoyaleSite</name>
+
+  <build>
+    <sourceDirectory>src/main/royale</sourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.royale.compiler</groupId>
+        <artifactId>royale-maven-plugin</artifactId>
+        <version>${royale.compiler.version}</version>
+        <extensions>true</extensions>
+        <configuration>
+          <namespaces>
+            <namespace>
+              <uri>library://ns.apache.org/royale/site</uri>
+              
<manifest>${project.basedir}/src/main/resources/royalesite-manifest.xml</manifest>
+            </namespace>
+          </namespaces>
+          <includeFiles>
+            <include-file>
+              <name>defaults.css</name>
+              <path>../src/main/resources/defaults.css</path>
+            </include-file>
+          </includeFiles>
+          <skipExtern>true</skipExtern>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Core</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Core</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Graphics</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Graphics</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Basic</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>Basic</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+  </dependencies>
+
+</project>
diff --git 
a/frameworks/projects/RoyaleSite/src/main/config/compile-swf-config.xml 
b/frameworks/projects/RoyaleSite/src/main/config/compile-swf-config.xml
new file mode 100644
index 0000000..67b5fbc
--- /dev/null
+++ b/frameworks/projects/RoyaleSite/src/main/config/compile-swf-config.xml
@@ -0,0 +1,94 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<royale-config>
+
+    <compiler>
+        <accessible>false</accessible>
+        
+        <!-- build both SWF and JS. -->
+        <targets>
+            <target>SWF</target>
+            <target>JSRoyale</target>
+        </targets>
+        <strict-xml>true</strict-xml>
+
+        <external-library-path>
+            
<path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../../../../libs/Core.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
+            <path-element>../../../../../libs/HTML.swc</path-element>
+        </external-library-path>
+        
+        <allow-subclass-overrides>true</allow-subclass-overrides>
+               <mxml>
+                       <children-as-data>true</children-as-data>
+               </mxml>
+               
<binding-value-change-event>org.apache.royale.events.ValueChangeEvent</binding-value-change-event>
+               
<binding-value-change-event-kind>org.apache.royale.events.ValueChangeEvent</binding-value-change-event-kind>
+               
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
+        <keep-as3-metadata>
+          <name>Bindable</name>
+          <name>Managed</name>
+          <name>ChangeEvent</name>
+          <name>NonCommittingChangeEvent</name>
+          <name>Transient</name>
+          <name>Mixin</name>
+        </keep-as3-metadata>
+         
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>library://ns.apache.org/royale/site</uri>
+                <manifest>../resources/royalesite-manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>../royale</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>../resources/defaults.css</path>
+    </include-file>
+
+    <include-namespaces>
+        <uri>library://ns.apache.org/royale/site</uri>
+    </include-namespaces>
+        
+    <target-player>${playerglobal.version}</target-player>
+       
+
+</royale-config>
diff --git a/frameworks/projects/RoyaleSite/src/main/resources/defaults.css 
b/frameworks/projects/RoyaleSite/src/main/resources/defaults.css
new file mode 100644
index 0000000..234b365
--- /dev/null
+++ b/frameworks/projects/RoyaleSite/src/main/resources/defaults.css
@@ -0,0 +1,228 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+@namespace "library://ns.apache.org/royale/site";
+
+ASFCopyrightAttributionAndLinks
+{
+       text-align: center;
+       font-family: Verdana, Geneva, sans-serif;
+       font-size: 10px;
+}
+
+CurvedTop {
+       background-color: #ffffff;
+       border-top-right-radius: 50% 20px;
+       border-top-left-radius: 50% 20px;
+       border-color: #ffffff;
+       border-style: solid none none none;
+       width: 100%;
+       padding: 30px;
+}
+
+ResponsiveTable {
+       display: flex;
+       flex-wrap: wrap;
+}
+
+ResponsiveTableTile {
+       width: 350px;
+}
+
+.ResponsiveTableTileText {
+       margin-left: 60px;
+       margin-top: 16px;
+}
+
+.ResponsiveTableTileIcon {
+       font-size: 40px;
+       float: left;
+}
+
+.ResponsiveTableTileTitle {
+       color: #00ffff;
+}
+
+.ResponsiveTableTextContent {
+}
+
+.big-buttons {
+       
+}
+
+BigButton {
+       border-radius: 100px;
+       padding: 30px;
+       margin: 20px;
+       display: inline-block;
+}
+
+.BigButtonContent {
+       color: #ffffff;
+       text-decoration: none;
+}
+
+.red-button {
+       background-color: #ff0000;
+       border-color: #ff0000;
+}
+
+.blue-button {
+       background-color: #0000ff;
+       border-color: #0000ff;
+}
+
+.centerButton {
+       display: flex;
+       justify-content: center;
+}
+
+.white-border-button {
+       border-color: #fff;
+       border-style: solid;
+}
+
+.intro {
+       width: 40%;
+       font-family:Verdana, Geneva, sans-serif;
+}
+
+.page {
+       width: 100%;
+       background-color: #cccccc;
+       background-image: 
url('http://royale.codeoscopic.com/wp-content/uploads/2017/10/isometric-devices-light-curve-1920x1025.png');
+       background-size: 100%;
+       background-repeat: no-repeat;
+}
+
+SocialButtons {
+       display: inline;
+       position: absolute;
+       right: 0px;
+}
+
+.SocialButton {
+       display: inline;
+       margin-right: 20px;
+}
+
+.topbar {
+       width: 100%;
+}
+
+TopMenu {
+       display: inline-block;
+       vertical-align: top;
+       list-style: none;
+}
+
+TopMenuButton {
+       display: inline;
+       margin-right: 20px;
+       font-size: 12px;
+}
+
+.TopMenuButtonContent {
+       text-decoration: none;
+}
+
+.orange-box {
+       background-color: #F93;
+       width: 100%;
+       padding-top: 20px;
+       padding-bottom: 20px;
+}
+
+.orange-box-text {
+       margin: 20px 200px;
+}
+
+.orange-box-code {
+       font-family: "Courier New", Courier, monospace;
+       background-color: #FC0;
+       text-align: left;
+       margin: 20px 200px;
+}
+
+.npm-title {
+       color: #fff;
+       text-align: center;
+}
+
+.npm-command {
+       background-color: #000;
+       color: #fff;
+       text-align: center;
+       margin: 20px 300px;
+}
+
+.apache {
+       color: #f0f;
+}
+
+.apacheroyale {
+       color: #f00;
+}
+
+.documentation {
+       color: #000;
+}
+
+.development {
+       color: #ff0;
+}
+
+.community {
+       color: #0f0;
+}
+
+.footer {
+       width: 100%;
+       display: flex;
+       flex-wrap: wrap;
+       justify-content: space-between;
+       font-family: Verdana, Geneva, sans-serif;
+}
+
+.footer-column {
+}
+
+TitledAnchorList {
+       list-style: none;
+}
+
+.AnchorListContent {
+       text-decoration: none;
+}
+
+.aboutusdiv {
+       min-width: 150px;
+       flex-basis: 40%;
+       flex-grow: 1;
+}
+
+.aboutus {
+       color: #000;
+}
+
+.aboutus-logo {
+       float: left;
+       width: 100px;
+}
+
+.aboutus-apache-logo {
+       float: right;
+       width: 100px;
+}
+
diff --git 
a/frameworks/projects/RoyaleSite/src/main/resources/royalesite-manifest.xml 
b/frameworks/projects/RoyaleSite/src/main/resources/royalesite-manifest.xml
new file mode 100644
index 0000000..4731370
--- /dev/null
+++ b/frameworks/projects/RoyaleSite/src/main/resources/royalesite-manifest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<componentPackage>
+    <component id="AnchorListData" 
class="org.apache.royale.site.data.AnchorListData" />
+    <component id="ASFCopyrightAttributionAndLinks" 
class="org.apache.royale.site.ASFCopyrightAttributionAndLinks" />
+    <component id="BigButton" class="org.apache.royale.site.BigButton" />
+    <component id="CurvedTop" class="org.apache.royale.site.CurvedTop" />
+    <component id="ResponsiveTable" 
class="org.apache.royale.site.ResponsiveTable" />
+    <component id="ResponsiveTableTile" 
class="org.apache.royale.site.ResponsiveTableTile" />
+    <component id="SocialButtons" class="org.apache.royale.site.SocialButtons" 
/>
+    <component id="TitledAnchorList" 
class="org.apache.royale.site.TitledAnchorList" />
+    <component id="TopMenu" class="org.apache.royale.site.TopMenu" />
+    <component id="TopMenuButton" class="org.apache.royale.site.TopMenuButton" 
/>
+</componentPackage>
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/ASFCopyrightAttributionAndLinks.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/ASFCopyrightAttributionAndLinks.as
new file mode 100644
index 0000000..bdfd029
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/ASFCopyrightAttributionAndLinks.as
@@ -0,0 +1,65 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site
+{      
+       import org.apache.royale.core.UIBase;
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+    }
+       
+       /**
+        * The ASFCopyrightAttributionAndLinks displays an 
+     * attribution for the Apache Software Foundation.
+        * It is used at the very bottom of each page on the Apache Royale site
+        * where it says 'Copyright © 2017 The Apache Software Foundation, 
+        * Licensed under the Apache License, Version 2.0.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class ASFCopyrightAttributionAndLinks extends UIBase
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function ASFCopyrightAttributionAndLinks()
+               {
+                       super();
+                       
+                       typeNames = "ASFCopyrightAttributionAndLinks";
+               }
+               
+               COMPILE::JS
+               override protected function createElement():WrappedHTMLElement
+               {
+                       super.createElement();
+                       element.innerHTML = "Copyright © 2017 <a 
href='http://www.apache.org'>The Apache Software Foundation</a>, Licensed under 
the <a href='http://www.apache.org/licenses/LICENSE-2.0'>Apache License, 
Version 2.0</a>";
+                       return element;
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/BigButton.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/BigButton.as
new file mode 100644
index 0000000..26cc8c9
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/BigButton.as
@@ -0,0 +1,128 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site
+{      
+       import org.apache.royale.core.UIBase;
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+        import org.apache.royale.html.util.addElementToWrapper;
+    }
+       
+    [DefaultProperty("htmlText")]
+    
+       /**
+        * The BigButton is a large rounded button used in the
+     * Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class BigButton extends UIBase
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function BigButton()
+               {
+                       super();
+                       
+                       typeNames = "BigButton";
+               }
+               
+        private var _htmlText:String;
+        
+        /**
+         * the html content for the tile.
+         */
+        public function get htmlText():String
+        {
+            return _htmlText;
+        }
+        public function set htmlText(value:String):void
+        {
+            _htmlText = value;
+        }
+        
+        private var _href:String;
+        
+        /**
+         * the href for the button.
+         */
+        public function get href():String
+        {
+            return _href;
+        }
+        public function set href(value:String):void
+        {
+            _href = value;
+        }
+        
+        private var _icon:String;
+        
+        /**
+         * the FontAwesome 'style' (e.g. fa_university)
+         * for the first icon in the tile.
+         */
+        public function get icon():String
+        {
+            return _icon;
+        }
+        public function set icon(value:String):void
+        {
+            _icon = value;
+        }
+
+        /**
+         * @return The actual element to be parented.
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         * @royaleignorecoercion HTMLAnchorElement
+         */
+        COMPILE::JS
+               override protected function createElement():WrappedHTMLElement
+               {
+            addElementToWrapper(this,'div');
+            return element;
+        }
+        
+        /**
+         * @royaleignorecoercion HTMLAnchorElement
+         */
+        COMPILE::JS
+        override public function addedToParent():void
+        {
+            super.addedToParent();
+            var anchor:HTMLAnchorElement = document.createElement("a") as 
HTMLAnchorElement;
+            anchor.href = href;
+            anchor.textContent = htmlText;
+            anchor.className = "BigButtonContent";
+            element.appendChild(anchor);
+            if (icon)
+                className += " " + icon;
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/CurvedTop.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/CurvedTop.as
new file mode 100644
index 0000000..d454b7f
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/CurvedTop.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site
+{      
+       import org.apache.royale.html.Group;
+       
+       /**
+        * The CurvedTop displays a container with a curved top.
+        * It is used on the home page of the Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class CurvedTop extends Group
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function CurvedTop()
+               {
+                       super();
+                       
+                       typeNames = "CurvedTop";
+               }
+                               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/ResponsiveTable.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/ResponsiveTable.as
new file mode 100644
index 0000000..04a825e
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/ResponsiveTable.as
@@ -0,0 +1,51 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site
+{      
+       import org.apache.royale.html.Group;
+       
+       /**
+        * The ResponsiveTable displays an container that wraps a
+        * set of ResponsiveTableTiles in row order.
+        * It is used on the home page of the Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class ResponsiveTable extends Group
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function ResponsiveTable()
+               {
+                       super();
+                       
+                       typeNames = "ResponsiveTable";
+               }
+                               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/ResponsiveTableTile.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/ResponsiveTableTile.as
new file mode 100644
index 0000000..575c366
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/ResponsiveTableTile.as
@@ -0,0 +1,145 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site
+{      
+       import org.apache.royale.core.UIBase;
+    import 
org.apache.royale.site.responsiveTableClasses.ResponsiveTableTileIcon;
+    import 
org.apache.royale.site.responsiveTableClasses.ResponsiveTableTileText;
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+        import org.apache.royale.html.util.addElementToWrapper;
+    }
+       
+       [DefaultProperty("htmlText")]
+       
+       /**
+        * The ResponsiveTableTile displays a tile with one
+        * or two icons a title, and some content.
+        * It is used on the home page of the Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class ResponsiveTableTile extends UIBase
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function ResponsiveTableTile()
+               {
+                       super();
+                       
+                       typeNames = "ResponsiveTableTile";
+               }
+               
+               private var _icon1:String;
+               
+               /**
+                * the FontAwesome 'style' (e.g. fa_university)
+                * for the first icon in the tile.
+                */
+               public function get icon1():String
+               {
+                       return _icon1;
+               }
+               public function set icon1(value:String):void
+               {
+                       _icon1 = value;
+               }
+                               
+               private var _icon2:String;
+               
+               /**
+                * the FontAwesome 'style' (e.g. fa_mobile)
+                * for the second icon in the tile.
+                */
+               public function get icon2():String
+               {
+                       return _icon2;
+               }
+               public function set icon2(value:String):void
+               {
+                       _icon2 = value;
+               }
+               
+               private var _title:String;
+               
+               /**
+                * the title for the tile.
+                */
+               public function get title():String
+               {
+                       return _title;
+               }
+               public function set title(value:String):void
+               {
+                       _title = value;
+               }
+
+               private var _htmlText:String;
+               
+               /**
+                * the html content for the tile.
+                */
+               public function get htmlText():String
+               {
+                       return _htmlText;
+               }
+               public function set htmlText(value:String):void
+               {
+                       _htmlText = value;
+               }
+               
+        /**
+         * @return The actual element to be parented.
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            addElementToWrapper(this,'div');
+            return element;
+        }
+        
+               private var icons:ResponsiveTableTileIcon;
+               private var textContent:ResponsiveTableTileText;
+               
+               override public function addedToParent():void
+               {
+                       super.addedToParent();
+                       icons = new ResponsiveTableTileIcon();
+                       icons.icon1 = icon1;
+                       icons.icon2 = icon2;
+            addElement(icons);
+                       textContent = new ResponsiveTableTileText;
+                       textContent.title = title;
+                       textContent.htmlText = htmlText;
+            addElement(textContent);
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/SocialButtons.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/SocialButtons.as
new file mode 100644
index 0000000..42a5abb
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/SocialButtons.as
@@ -0,0 +1,82 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site
+{      
+       import org.apache.royale.core.UIBase;
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+    }
+       
+       /**
+        * The SocialButtons is set of social media related
+     * buttons used in the
+     * Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class SocialButtons extends UIBase
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function SocialButtons()
+               {
+                       super();
+                       
+                       typeNames = "SocialButtons";
+               }
+               
+
+        /**
+         * @return The actual element to be parented.
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         * @royaleignorecoercion HTMLUListElement
+         * @royaleignorecoercion HTMLLIElement
+         */
+        COMPILE::JS
+               override protected function createElement():WrappedHTMLElement
+               {
+            var ul:HTMLUListElement = document.createElement("ul") as 
HTMLUListElement;
+            element = ul as WrappedHTMLElement;
+            var li:HTMLLIElement = document.createElement("li") as 
HTMLLIElement;
+            li.className = "fa SocialButton fa-search";
+            li.innerHTML = "<a href='search.html'></a>";
+            element.appendChild(li);
+            li = document.createElement("li") as HTMLLIElement;
+            li.className = "fa SocialButton fa-share-alt";
+            li.innerHTML = "<a href='share.html'></a>";
+            element.appendChild(li);
+            li = document.createElement("li") as HTMLLIElement;
+            li.className = "fa SocialButton fa-th";
+            li.innerHTML = "<a href='menu.html'></a>";
+            element.appendChild(li);
+                       return element;
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/TitledAnchorList.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/TitledAnchorList.as
new file mode 100644
index 0000000..d7cf0ed
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/TitledAnchorList.as
@@ -0,0 +1,139 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site
+{      
+       import org.apache.royale.core.UIBase;
+    import org.apache.royale.site.data.AnchorListData;
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+    }
+       
+    [DefaultProperty("list")]
+    
+       /**
+        * The TitledAnchorList displays a title with a
+        * list of anchors below it.
+        * It is used on the home page of the Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class TitledAnchorList extends UIBase
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function TitledAnchorList()
+               {
+                       super();
+                       
+                       typeNames = "TitledAnchorList";
+               }
+               
+               private var _title:String;
+               
+               /**
+                * the title for the tile.
+                */
+               public function get title():String
+               {
+                       return _title;
+               }
+               public function set title(value:String):void
+               {
+                       _title = value;
+               }
+
+        private var _titleClassName:String;
+        
+        /**
+         * the className for the tile.
+         */
+        public function get titleClassName():String
+        {
+            return _titleClassName;
+        }
+        public function set titleClassName(value:String):void
+        {
+            _titleClassName = value;
+        }
+        
+               private var _list:Array;
+               
+               /**
+                * the array of AnchorListData for the list.
+                */
+               public function get list():Array
+               {
+                       return _list;
+               }
+               public function set list(value:Array):void
+               {
+            _list = value;
+               }
+               
+        /**
+         * @return The actual element to be parented.
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         * @royaleignorecoercion HTMLUListElement
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            var ul:HTMLUListElement = document.createElement("ul") as 
HTMLUListElement;
+            element = ul as WrappedHTMLElement;
+            return element;
+        }
+        
+        /**
+         * @royaleignorecoercion HTMLAnchorElement
+         * @royaleignorecoercion HTMLLIElement
+         */
+        COMPILE::JS
+               protected function addedToParent():void
+               {
+                       super.addedToParent();
+            var li:HTMLLIElement = document.createElement("li") as 
HTMLLIElement;
+            li.className = titleClassName;
+            li.innerHTML = title;
+            element.appendChild(li);
+            var n:int = list.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                var data:AnchorListData = list[i] as AnchorListData;
+                li = document.createElement("li") as HTMLLIElement;
+                var anchor:HTMLAnchorElement = document.createElement("a") as 
HTMLAnchorElement;
+                anchor.href = data.href;
+                anchor.innerHTML = data.htmlText;
+                anchor.className = "AnchorListContent";
+                li.appendChild(anchor);
+                element.appendChild(li);
+            }                
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/TopMenu.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/TopMenu.as
new file mode 100644
index 0000000..5e3a924
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/TopMenu.as
@@ -0,0 +1,69 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site
+{      
+       import org.apache.royale.html.Group;
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+    }
+       
+       /**
+        * The TopMenu is set of buttons at the top
+     * of the
+     * Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class TopMenu extends Group
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function TopMenu()
+               {
+                       super();
+                       
+                       typeNames = "TopMenu";
+               }
+               
+
+        /**
+         * @return The actual element to be parented.
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         * @royaleignorecoercion HTMLUListElement
+         */
+        COMPILE::JS
+               override protected function createElement():WrappedHTMLElement
+               {
+            var ul:HTMLUListElement = document.createElement("ul") as 
HTMLUListElement;
+            element = ul as WrappedHTMLElement;
+                       return element;
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/TopMenuButton.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/TopMenuButton.as
new file mode 100644
index 0000000..d0e3b4b
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/TopMenuButton.as
@@ -0,0 +1,111 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site
+{      
+       import org.apache.royale.core.UIBase;
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+    }
+    
+    [DefaultProperty("htmlText")]
+    
+       /**
+        * The TopMenuButton is a button used in the TopMenu in the
+     * Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class TopMenuButton extends UIBase
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function TopMenuButton()
+               {
+                       super();
+                       
+                       typeNames = "TopMenuButton";
+               }
+               
+        private var _htmlText:String;
+        
+        /**
+         * the html content for the tile.
+         */
+        public function get htmlText():String
+        {
+            return _htmlText;
+        }
+        public function set htmlText(value:String):void
+        {
+            _htmlText = value;
+        }
+        
+        private var _href:String;
+        
+        /**
+         * the href for the button.
+         */
+        public function get href():String
+        {
+            return _href;
+        }
+        public function set href(value:String):void
+        {
+            _href = value;
+        }
+        
+        /**
+         * @return The actual element to be parented.
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         * @royaleignorecoercion HTMLLIElement
+         */
+        COMPILE::JS
+               override protected function createElement():WrappedHTMLElement
+               {
+            var li:HTMLLIElement = document.createElement("li") as 
HTMLLIElement;
+            element = li as WrappedHTMLElement;
+            return element;
+        }
+        
+        /**
+         * @royaleignorecoercion HTMLAnchorElement
+         */
+        COMPILE::JS
+        override public function addedToParent():void
+        {
+            super.addedToParent();
+            var anchor:HTMLAnchorElement = document.createElement("a") as 
HTMLAnchorElement;
+            anchor.className = "TopMenuButtonContent";
+            anchor.href = href;
+            anchor.textContent = htmlText;
+            element.appendChild(anchor);
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/data/AnchorListData.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/data/AnchorListData.as
new file mode 100644
index 0000000..bcb2762
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/data/AnchorListData.as
@@ -0,0 +1,75 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site.data
+{      
+       
+    [DefaultProperty("htmlText")]
+    
+       /**
+        * The AnchorListData is used as data for a list of anchors,
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class AnchorListData
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function AnchorListData()
+               {
+                       super();
+               }
+               
+        private var _htmlText:String;
+        
+        /**
+         * the html content.
+         */
+        public function get htmlText():String
+        {
+            return _htmlText;
+        }
+        public function set htmlText(value:String):void
+        {
+            _htmlText = value;
+        }
+        
+        private var _href:String;
+        
+        /**
+         * the href.
+         */
+        public function get href():String
+        {
+            return _href;
+        }
+        public function set href(value:String):void
+        {
+            _href = value;
+        }
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileContent.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileContent.as
new file mode 100644
index 0000000..87f7da0
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileContent.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.royale.site.responsiveTableClasses
+{      
+       import org.apache.royale.core.UIBase;
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+    }
+       
+       /**
+        * The ResponsiveTableTileContent displays the text in a
+        * ResponsiveTableTile.
+        * It is used on the home page of the Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class ResponsiveTableTileContent extends UIBase
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function ResponsiveTableTileContent()
+               {
+                       super();
+                       
+                       typeNames = "ResponsiveTableTileContent";
+               }
+               
+        /**
+         * @return The actual element to be parented.
+         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+         */
+        COMPILE::JS
+               override protected function createElement():WrappedHTMLElement
+               {
+            element = document.createElement("p") as WrappedHTMLElement;
+            return element;
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileIcon.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileIcon.as
new file mode 100644
index 0000000..91c85c3
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileIcon.as
@@ -0,0 +1,100 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site.responsiveTableClasses
+{      
+       import org.apache.royale.core.UIBase;
+       
+       /**
+        * The ResponsiveTableTileIcon displays the icons in a
+        * ResponsiveTableTile.
+        * It is used on the home page of the Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class ResponsiveTableTileIcon extends UIBase
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function ResponsiveTableTileIcon()
+               {
+                       super();
+                       
+                       typeNames = "ResponsiveTableTileIcon";
+               }
+               
+               private var _icon1:String;
+               
+               /**
+                * the FontAwesome 'style' (e.g. fa_university)
+                * for the first icon in the tile.
+                */
+               public function get icon1():String
+               {
+                       return _icon1;
+               }
+               public function set icon1(value:String):void
+               {
+                       _icon1 = value;
+               }
+                               
+               private var _icon2:String;
+               
+               /**
+                * the FontAwesome 'style' (e.g. fa_mobile)
+                * for the second icon in the tile.
+                */
+               public function get icon2():String
+               {
+                       return _icon2;
+               }
+               public function set icon2(value:String):void
+               {
+                       _icon2 = value;
+               }
+               
+        /**
+         * @return The actual element to be parented.
+         * @royaleignorecoercion HTMLSpanElement
+         */
+        COMPILE::JS
+               override public function addedToParent():void
+               {
+                       super.addedToParent();
+                       var span:HTMLSpanElement = 
document.createElement("span") as HTMLSpanElement;
+            span.className = "fa " + icon1;
+            element.appendChild(span);
+            if (icon2)
+            {
+                span = document.createElement("span") as HTMLSpanElement;
+                span.className = "fa " + icon2;
+                element.appendChild(span);
+            }
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileText.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileText.as
new file mode 100644
index 0000000..dffeff6
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileText.as
@@ -0,0 +1,91 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site.responsiveTableClasses
+{      
+       import org.apache.royale.core.UIBase;
+       
+       /**
+        * The ResponsiveTableTileText displays the text in a
+        * ResponsiveTableTile.
+        * It is used on the home page of the Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class ResponsiveTableTileText extends UIBase
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function ResponsiveTableTileText()
+               {
+                       super();
+                       
+                       typeNames = "ResponsiveTableTileText";
+               }
+               
+        private var _title:String;
+        
+        /**
+         * the title for the tile.
+         */
+        public function get title():String
+        {
+            return _title;
+        }
+        public function set title(value:String):void
+        {
+            _title = value;
+        }
+        
+        private var _htmlText:String;
+        
+        /**
+         * the html content for the tile.
+         */
+        public function get htmlText():String
+        {
+            return _htmlText;
+        }
+        public function set htmlText(value:String):void
+        {
+            _htmlText = value;
+        }
+                       
+        COMPILE::JS
+               override public function addedToParent():void
+               {
+                       super.addedToParent();
+                       var titleElement:ResponsiveTableTileTitle = new 
ResponsiveTableTileTitle();
+            titleElement.element.innerHTML = title;
+            addElement(titleElement);
+            var content:ResponsiveTableTileContent = new 
ResponsiveTableTileContent();
+            content.element.innerHTML = htmlText;
+            addElement(content);
+               }
+               
+       }
+}
diff --git 
a/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileTitle.as
 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileTitle.as
new file mode 100644
index 0000000..45b3ce5
--- /dev/null
+++ 
b/frameworks/projects/RoyaleSite/src/main/royale/org/apache/royale/site/responsiveTableClasses/ResponsiveTableTileTitle.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.site.responsiveTableClasses
+{      
+       import org.apache.royale.html.elements.Span;
+       
+       /**
+        * The ResponsiveTableTileTitle displays the title in a
+        * ResponsiveTableTile.
+        * It is used on the home page of the Apache Royale site.
+        * 
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.0
+        */
+       public class ResponsiveTableTileTitle extends Span
+       {
+               /**
+                * Constructor.
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function ResponsiveTableTileTitle()
+               {
+                       super();
+                       
+                       typeNames = "ResponsiveTableTileTitle";
+               }
+       }
+}

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to