Yes i kept css file in the project as well, i get it from where i
downloaded js but I did a lot of modifications in the local.


On Wed, 24 Nov 2021, 3:19 am Harbs, <harbs.li...@gmail.com> wrote:

> That’s fine. I did not mean that a lot of code is bad. (where’s a
> head-explode emoji when you need one?) ;-)
>
> I don’t know whether it’s better to include the inspiretree js or not, but
> if it’s included, we need to add a pointer in the LICENSE file, and we
> don’t add the Apache header AFAIK.
>
> Did you write the CSS, or did some of that come from inspiretree too?
>
> > On Nov 24, 2021, at 12:15 AM, Alina Kazi <alinakazi1...@gmail.com>
> wrote:
> >
> > Hi Harbs,
> >
> > Thanks for the guidance, I will follow it.
> >
> > All the code is relevant to inspiretree and its beads. Its a lot because
> we
> > can use inspiretree multiple ways with checkbox without it, with parent
> > child icon and without and much more stuff handling.
> >
> > I will add the example in sdk soon or Maria will.
> >
> > I will remove files which has other license i will add only references of
> > the js file in as wrapper.
> >
> > Thanks and Best Regards,
> >
> > Alina Kazi
> >
> >
> > On Wed, 24 Nov 2021, 3:04 am Harbs, <harbs.li...@gmail.com> wrote:
> >
> >> Here’s the instructions on how to add MIT licensed code:
> >> https://infra.apache.org/licensing-howto.html#permissive-deps
> >>
> >>> On Nov 23, 2021, at 11:57 PM, Harbs <harbs.li...@gmail.com> wrote:
> >>>
> >>> That’s a lot of code.
> >>>
> >>> Where did all this code come from? In particular inspire-tree.js jumped
> >> out at me. Where’s that from? inspire tree seems to be MIT licensed:
> >>> https://github.com/helion3/inspire-tree/blob/master/LICENSE
> >>>
> >>> You can’t just add an apache header to that and put it in our repo.
> >>>
> >>>> On Nov 23, 2021, at 9:14 PM, alinak...@apache.org wrote:
> >>>>
> >>>> This is an automated email from the ASF dual-hosted git repository.
> >>>>
> >>>> alinakazi pushed a commit to branch develop
> >>>> in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
> >>>>
> >>>>
> >>>> The following commit(s) were added to refs/heads/develop by this push:
> >>>>   new b7b21fc  ExternsJS library in frameworks added. In ExternsJS
> >> project inspiretree external JS library added.
> >>>> b7b21fc is described below
> >>>>
> >>>> commit b7b21fc0dafd309741acaa29acc745643a4b0d60
> >>>> Author: alinakazi <alinakazi1...@gmail.com>
> >>>> AuthorDate: Wed Nov 24 00:14:10 2021 +0500
> >>>>
> >>>>  ExternsJS library in frameworks added. In ExternsJS project
> >> inspiretree external JS library added.
> >>>> ---
> >>>> frameworks/projects/ExternsJS/asconfig.json        |   33 +
> >>>> frameworks/projects/ExternsJS/build.xml            |  182 +
> >>>> frameworks/projects/ExternsJS/pom.xml              |  276 +
> >>>> .../src/main/config/compile-swf-config.xml         |  112 +
> >>>> .../ExternsJS/src/main/resources/defaults.css      | 3255 +++++++++
> >>>> .../src/main/resources/externsjs-as-manifest.xml   |   25 +
> >>>> .../src/main/resources/externsjs-manifest.xml      |   27 +
> >>>> .../externsjs/inspiretree/New Text Document.html   |   56 +
> >>>> .../externsjs/inspiretree/inspire-tree-custom.css  |  435 ++
> >>>> .../externsjs/inspiretree/inspire-tree-custom.sass |  541 ++
> >>>> .../externsjs/inspiretree/inspire-tree-dark.css    |  325 +
> >>>> .../inspiretree/inspire-tree-dark.min.css          |   14 +
> >>>> .../inspiretree/inspire-tree-dom-royale.js         | 3766 +++++++++++
> >>>> .../externsjs/inspiretree/inspire-tree-dom.js      | 3764 +++++++++++
> >>>> .../externsjs/inspiretree/inspire-tree-dom.min.js  |   21 +
> >>>> .../inspiretree/inspire-tree-light-jewel-blue.css  |  619 ++
> >>>> .../externsjs/inspiretree/inspire-tree-light.css   |  347 +
> >>>> .../inspiretree/inspire-tree-light.min.css         |   14 +
> >>>> .../externsjs/inspiretree/inspire-tree-royale.js   | 7126
> >> ++++++++++++++++++++
> >>>> .../externsjs/inspiretree/inspire-tree.js          | 7088
> >> +++++++++++++++++++
> >>>> .../externsjs/inspiretree/inspire-tree.min.js      |   29 +
> >>>> .../inspiretree/jewel-blue/collapsed_blue.svg      |   14 +
> >>>> .../jewel-blue/expand_less_black_24dp.svg          |   14 +
> >>>> .../jewel-blue/expand_more_black_24dp.svg          |   14 +
> >>>> .../inspiretree/jewel-blue/expanded_blue.svg       |   21 +
> >>>> .../ExternsJS/src/main/royale/ExternsJSClasses.as  |   53 +
> >>>> .../royale/externsjs/inspiretree/IInspireTree.as   |   33 +
> >>>> .../royale/externsjs/inspiretree/InspireTree.as    |  897 +++
> >>>> .../inspiretree/InspireTreeBasicControl.as         |  277 +
> >>>> .../royale/externsjs/inspiretree/InspireTreeDOM.as |   74 +
> >>>> .../royale/externsjs/inspiretree/TreeEvent.as      |  112 +
> >>>> .../royale/externsjs/inspiretree/TreeNode.as       |  650 ++
> >>>> .../royale/externsjs/inspiretree/TreeNodes.as      |  620 ++
> >>>> .../royale/externsjs/inspiretree/UtilsTree.as      |   28 +
> >>>> .../beads/InspireTreeCheckBoxModeBead.as           |  339 +
> >>>> .../inspiretree/beads/InspireTreeEventsBead.as     |  215 +
> >>>> .../inspiretree/beads/InspireTreeIconBead.as       |  576 ++
> >>>> .../inspiretree/beads/InspireTreePaginateBead.as   |  162 +
> >>>> .../beads/InspireTreeReadOnlyCheckBead.as          |  160 +
> >>>> .../beads/InspireTreeReadOnlyCheckBead_V0.as       |  152 +
> >>>> .../beads/InspireTreeRevertCheckBead.as            |  185 +
> >>>> .../inspiretree/beads/models/InspireTreeModel.as   |  290 +
> >>>> .../royale/externsjs/inspiretree/vos/ConfigDOM.as  |   64 +
> >>>> .../royale/externsjs/inspiretree/vos/ConfigTree.as |   30 +
> >>>> .../externsjs/inspiretree/vos/DragAndDropConfig.as |   33 +
> >>>> .../externsjs/inspiretree/vos/ItemTreeNode.as      |  146 +
> >>>> .../externsjs/inspiretree/vos/OptionsTree.as       |  101 +
> >>>> 47 files changed, 33315 insertions(+)
> >>>>
> >>>> diff --git a/frameworks/projects/ExternsJS/asconfig.json
> >> b/frameworks/projects/ExternsJS/asconfig.json
> >>>> new file mode 100644
> >>>> index 0000000..3b1f1b3
> >>>> --- /dev/null
> >>>> +++ b/frameworks/projects/ExternsJS/asconfig.json
> >>>> @@ -0,0 +1,33 @@
> >>>> +/*
> >>>> + * Licensed to the Apache Software Foundation (ASF) under one or more
> >>>> + * contributor license agreements.  See the NOTICE file distributed
> >> with
> >>>> + * this work for additional information regarding copyright
> ownership.
> >>>> + * The ASF licenses this file to You under the Apache License,
> Version
> >> 2.0
> >>>> + * (the "License"); you may not use this file except in compliance
> with
> >>>> + * the License.  You may obtain a copy of the License at
> >>>> + *
> >>>> + *     http://www.apache.org/licenses/LICENSE-2.0
> >>>> + *
> >>>> + * Unless required by applicable law or agreed to in writing,
> software
> >>>> + * distributed under the License is distributed on an "AS IS" BASIS,
> >>>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> >> implied.
> >>>> + * See the License for the specific language governing permissions
> and
> >>>> + * limitations under the License.
> >>>> + */
> >>>> + {
> >>>> +    "config": "royale",
> >>>> +    "type": "lib",
> >>>> +    "compilerOptions": {
> >>>> +        "debug": true,
> >>>> +        "targets": [
> >>>> +            "JSRoyale", "SWF"
> >>>> +        ],
> >>>> +        "include-classes": [
> >>>> +            "src/main/royale/ExternsJSClasses.as"
> >>>> +        ],
> >>>> +        "source-path": [
> >>>> +            "src/main/royale"
> >>>> +        ],
> >>>> +        "output": "target/ExternsJS.swc"
> >>>> +    }
> >>>> +}
> >>>> diff --git a/frameworks/projects/ExternsJS/build.xml
> >> b/frameworks/projects/ExternsJS/build.xml
> >>>> new file mode 100644
> >>>> index 0000000..697b257
> >>>> --- /dev/null
> >>>> +++ b/frameworks/projects/ExternsJS/build.xml
> >>>> @@ -0,0 +1,182 @@
> >>>> +<?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="ExternsJS" default="main" basedir=".">
> >>>> +    <property name="ROYALE_HOME" location="../../.."/>
> >>>> +
> >>>> +    <property file="${ROYALE_HOME}/env.properties"/>
> >>>> +    <property environment="env"/>
> >>>> +    <property file="${ROYALE_HOME}/local.properties"/>
> >>>> +    <property file="${ROYALE_HOME}/build.properties"/>
> >>>> +    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
> >>>> +    <condition property="AIR_HOME" value="${env.AIR_HOME}">
> >>>> +        <isset property="env.AIR_HOME" />
> >>>> +    </condition>
> >>>> +    <property name="AIR_HOME" value="${ROYALE_HOME}"/>
> >>>> +    <condition property="PLAYERGLOBAL_HOME"
> >> value="${env.PLAYERGLOBAL_HOME}">
> >>>> +        <isset property="env.PLAYERGLOBAL_HOME" />
> >>>> +    </condition>
> >>>> +    <property name="PLAYERGLOBAL_HOME"
> >> value="${ROYALE_HOME}/frameworks/libs/player"/>
> >>>> +
> >>>> +    <property name="target.name" value="${ant.project.name}.swc" />
> >>>> +
> >>>> +    <tstamp>
> >>>> +        <format property="royale.swc-date" pattern="MM/dd/yy HH:mm
> Z"/>
> >>>> +    </tstamp>
> >>>> +    <echo>swc-date is ${royale.swc-date}</echo>
> >>>> +
> >>>> +    <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="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>
> >>>> +        <!-- exclude from js-only build -->
> >>>> +        <condition property="skip-swf-tests">
> >>>> +            <or>
> >>>> +                <isset property="skip-tests" />
> >>>> +                <not>
> >>>> +                    <!-- env.AIR_HOME is how we determine if it's a
> >> SWF distritbution -->
> >>>> +                    <isset property="env.AIR_HOME" />
> >>>> +                </not>
> >>>> +            </or>
> >>>> +        </condition>
> >>>> +    </target>
> >>>> +
> >>>> +    <target name="test" depends="check-for-tests,check-compiler"
> >> unless="skip-tests">
> >>>> +        <antcall target="test-swf" />
> >>>> +    </target>
> >>>> +
> >>>> +    <target name="test-swf" unless="skip-swf-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="AIR_HOME">
> >>>> +        <!-- use antcall so that resultproperty can be used in other
> >> projects and
> >>>> +         they don't collide when being run one after the other -->
> >>>> +        <antcall target="compile-swf" />
> >>>> +    </target>
> >>>> +
> >>>> +    <target name="compile-swf">
> >>>> +        <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"
> >> resultproperty="compcoutput">
> >>>> +            <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=${AIR_HOME}" />
> >>>> +            <arg value="-compiler.strict-xml=true" />
> >>>> +            <arg value="-compiler.targets=SWF,JSRoyale" />
> >>>> +            <arg line="-metadata.date=&quot;${royale.swc-date}&quot;"
> >> />
> >>>> +            <arg line="-metadata.dateFormat=&quot;MM/dd/yy HH:mm
> >> Z&quot;" />
> >>>> +            <arg
> >>
> line="-swf-debugfile-alias=&quot;/org/apache/royale/${release.version}&quot;"
> >> />
> >>>> +            <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>
> >>>> +        <fail>
> >>>> +            <condition>
> >>>> +                <not>
> >>>> +                    <or>
> >>>> +                        <equals arg1="${compcoutput}" arg2="0" />
> >>>> +                        <equals arg1="${compcoutput}" arg2="2" />
> >>>> +                    </or>
> >>>> +                </not>
> >>>> +            </condition>
> >>>> +        </fail>
> >>>> +    </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"/>
> >>>> +
> >>>> +        <available file="${env.ROYALE_COMPILER_HOME}/lib/jsc.jar"
> >>>> +        type="file"
> >>>> +        property="ROYALE_COMPILER_HOME"
> >>>> +        value="${env.ROYALE_COMPILER_HOME}"/>
> >>>> +
> >>>> +        <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/ExternsJS/pom.xml
> >> b/frameworks/projects/ExternsJS/pom.xml
> >>>> new file mode 100644
> >>>> index 0000000..8f97429
> >>>> --- /dev/null
> >>>> +++ b/frameworks/projects/ExternsJS/pom.xml
> >>>> @@ -0,0 +1,276 @@
> >>>> +<?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.9-SNAPSHOT</version>
> >>>> +  </parent>
> >>>> +
> >>>> +  <artifactId>ExternsJS</artifactId>
> >>>> +  <version>0.9.9-SNAPSHOT</version>
> >>>> +  <packaging>swc</packaging>
> >>>> +
> >>>> +  <name>Apache Royale: Framework: Libs: ExternsJS</name>
> >>>> +
> >>>> +  <build>
> >>>> +    <sourceDirectory>src/main/royale</sourceDirectory>
> >>>> +    <plugins>
> >>>> +      <plugin>
> >>>> +        <groupId>org.apache.royale.compiler</groupId>
> >>>> +        <artifactId>royale-maven-plugin</artifactId>
> >>>> +        <version>${project.royale.compiler.version}</version>
> >>>> +        <extensions>true</extensions>
> >>>> +        <configuration>
> >>>> +          <namespaces>
> >>>> +            <namespace>
> >>>> +              <uri>library://ns.apache.org/royale/externsjs</uri>
> >>>> +
> >>
> <manifest>${project.basedir}/src/main/resources/externsjs-manifest.xml</manifest>
> >>>> +            </namespace>
> >>>> +            <namespace>
> >>>> +              <type>as</type>
> >>>> +              <uri>library://ns.apache.org/royale/externsjs</uri>
> >>>> +
> >>
> <manifest>${project.basedir}/src/main/resources/externsjs-as-manifest.xml</manifest>
> >>>> +            </namespace>
> >>>> +          </namespaces>
> >>>> +          <includeClasses>
> >>>> +            <includeClass>ExternsJSClasses</includeClass>
> >>>> +          </includeClasses>
> >>>> +          <includeFiles>
> >>>> +            <include-file>
> >>>> +              <name>defaults.css</name>
> >>>> +              <path>../src/main/resources/defaults.css</path>
> >>>> +            </include-file>
> >>>> +          </includeFiles>
> >>>> +          <includeLookupOnly>true</includeLookupOnly>
> >>>> +          <allowSubclassOverrides>true</allowSubclassOverrides>
> >>>> +          <skipExtern>true</skipExtern>
> >>>> +          <skipAS>${royale.skipAS}</skipAS>
> >>>> +          <!-- <additionalCompilerOptions>
> >>>> +            -source-map=true;
> >>>> +
> >> -source-map-source-root=/frameworks/projects/ExternsJS/src/main/royale/
> >>>> +          </additionalCompilerOptions> -->
> >>>> +        </configuration>
> >>>> +      </plugin>
> >>>> +      <plugin>
> >>>> +        <groupId>nl.geodienstencentrum.maven</groupId>
> >>>> +        <artifactId>sass-maven-plugin</artifactId>
> >>>> +        <configuration>
> >>>> +          <resources>
> >>>> +              <resource>
> >>>> +                  <source>
> >>>> +
> >>
> <directory>${basedir}/src/main/resources/externsjs/inspiretree</directory>
> >>>> +                      <includes>
> >>>> +                          <include>**/*.sass</include>
> >>>> +                      </includes>
> >>>> +                  </source>
> >>>> +
> >>
> <destination>${basedir}/src/main/resources/externsjs/inspiretree</destination>
> >>>> +              </resource>
> >>>> +          </resources>
> >>>> +        </configuration>
> >>>> +        <executions>
> >>>> +          <execution>
> >>>> +              <id>generate-css-using-sass</id>
> >>>> +              <goals>
> >>>> +                  <goal>update-stylesheets</goal>
> >>>> +              </goals>
> >>>> +            <phase>generate-resources</phase>
> >>>> +          </execution>
> >>>> +        </executions>
> >>>> +      </plugin>
> >>>> +      <plugin>
> >>>> +        <groupId>com.google.code.maven-replacer-plugin</groupId>
> >>>> +        <artifactId>replacer</artifactId>
> >>>> +        <version>1.5.3</version>
> >>>> +        <executions>
> >>>> +          <execution>
> >>>> +            <phase>generate-resources</phase>
> >>>> +            <goals>
> >>>> +              <goal>replace</goal>
> >>>> +            </goals>
> >>>> +          </execution>
> >>>> +        </executions>
> >>>> +        <configuration>
> >>>> +          <includes>
> >>>> +            <include>${basedir}/src/main/resources/**/*.css</include>
> >>>> +          </includes>
> >>>> +          <regex>false</regex>
> >>>> +          <replacements>
> >>>> +            <replacement>
> >>>> +              <token>@@ZERO_WIDTH_SPACE</token>
> >>>> +              <value>\200b</value>
> >>>> +            </replacement>
> >>>> +            <replacement>
> >>>> +              <token>@@NON_BREAKING_SPACE</token>
> >>>> +              <value>\0a</value>
> >>>> +            </replacement>
> >>>> +          </replacements>
> >>>> +        </configuration>
> >>>> +      </plugin>
> >>>> +    </plugins>
> >>>> +  </build>
> >>>> +
> >>>> +  <dependencies>
> >>>> +    <dependency>
> >>>> +      <groupId>org.apache.royale.framework</groupId>
> >>>> +      <artifactId>Core</artifactId>
> >>>> +      <version>0.9.9-SNAPSHOT</version>
> >>>> +      <type>swc</type>
> >>>> +      <classifier>js</classifier>
> >>>> +    </dependency>
> >>>> +    <dependency>
> >>>> +      <groupId>org.apache.royale.framework</groupId>
> >>>> +      <artifactId>Binding</artifactId>
> >>>> +      <version>0.9.9-SNAPSHOT</version>
> >>>> +      <type>swc</type>
> >>>> +      <classifier>js</classifier>
> >>>> +    </dependency>
> >>>> +    <dependency>
> >>>> +      <groupId>org.apache.royale.framework</groupId>
> >>>> +      <artifactId>Graphics</artifactId>
> >>>> +      <version>0.9.9-SNAPSHOT</version>
> >>>> +      <type>swc</type>
> >>>> +      <classifier>js</classifier>
> >>>> +    </dependency>
> >>>> +    <dependency>
> >>>> +      <groupId>org.apache.royale.framework</groupId>
> >>>> +      <artifactId>Collections</artifactId>
> >>>> +      <version>0.9.9-SNAPSHOT</version>
> >>>> +      <type>swc</type>
> >>>> +      <classifier>js</classifier>
> >>>> +    </dependency>
> >>>> +    <dependency>
> >>>> +      <groupId>org.apache.royale.framework</groupId>
> >>>> +      <artifactId>HTML</artifactId>
> >>>> +      <version>0.9.9-SNAPSHOT</version>
> >>>> +      <type>swc</type>
> >>>> +      <classifier>js</classifier>
> >>>> +    </dependency>
> >>>> +    <dependency>
> >>>> +      <groupId>org.apache.royale.framework</groupId>
> >>>> +      <artifactId>Basic</artifactId>
> >>>> +      <version>0.9.9-SNAPSHOT</version>
> >>>> +      <type>swc</type>
> >>>> +      <classifier>js</classifier>
> >>>> +    </dependency>
> >>>> +    <dependency>
> >>>> +      <groupId>org.apache.royale.framework</groupId>
> >>>> +      <artifactId>Formatters</artifactId>
> >>>> +      <version>0.9.9-SNAPSHOT</version>
> >>>> +      <type>swc</type>
> >>>> +      <classifier>js</classifier>
> >>>> +    </dependency>
> >>>> +  </dependencies>
> >>>> +
> >>>> +  <profiles>
> >>>> +    <profile>
> >>>> +      <id>platform-windows</id>
> >>>> +      <activation>
> >>>> +        <os>
> >>>> +          <family>windows</family>
> >>>> +        </os>
> >>>> +      </activation>
> >>>> +      <build>
> >>>> +        <plugins>
> >>>> +          <plugin>
> >>>> +            <groupId>nl.geodienstencentrum.maven</groupId>
> >>>> +            <artifactId>sass-maven-plugin</artifactId>
> >>>> +            <executions>
> >>>> +              <execution>
> >>>> +                <id>generate-css-using-sass</id>
> >>>> +                <goals>
> >>>> +                  <goal>update-stylesheets</goal>
> >>>> +                </goals>
> >>>> +                <phase>generate-resources</phase>
> >>>> +                <configuration>
> >>>> +                  <sassOptions>
> >>>> +                    <!-- on windows it is typical to have
> >> autoCRLF=true,
> >>>> +                    so we don't want to overwrite
> >>>> +                    the CRLF newlines with unix newlines (which is
> >> true by default)
> >>>> +                    locally, because that will change git status of
> >> the css file
> >>>> +                    on windows
> >>>> +                    -->
> >>>> +                    <unix_newlines>false</unix_newlines>
> >>>> +                  </sassOptions>
> >>>> +                </configuration>
> >>>> +              </execution>
> >>>> +            </executions>
> >>>> +          </plugin>
> >>>> +        </plugins>
> >>>> +      </build>
> >>>> +    </profile>
> >>>> +    <profile>
> >>>> +      <id>option-with-swf</id>
> >>>> +      <dependencies>
> >>>> +        <dependency>
> >>>> +          <groupId>org.apache.royale.framework</groupId>
> >>>> +          <artifactId>Core</artifactId>
> >>>> +          <version>0.9.9-SNAPSHOT</version>
> >>>> +          <type>swc</type>
> >>>> +          <classifier>swf</classifier>
> >>>> +        </dependency>
> >>>> +        <dependency>
> >>>> +          <groupId>org.apache.royale.framework</groupId>
> >>>> +          <artifactId>Binding</artifactId>
> >>>> +          <version>0.9.9-SNAPSHOT</version>
> >>>> +          <type>swc</type>
> >>>> +          <classifier>swf</classifier>
> >>>> +        </dependency>
> >>>> +        <dependency>
> >>>> +          <groupId>org.apache.royale.framework</groupId>
> >>>> +          <artifactId>Graphics</artifactId>
> >>>> +          <version>0.9.9-SNAPSHOT</version>
> >>>> +          <type>swc</type>
> >>>> +          <classifier>swf</classifier>
> >>>> +        </dependency>
> >>>> +        <dependency>
> >>>> +          <groupId>org.apache.royale.framework</groupId>
> >>>> +          <artifactId>Collections</artifactId>
> >>>> +          <version>0.9.9-SNAPSHOT</version>
> >>>> +          <type>swc</type>
> >>>> +          <classifier>swf</classifier>
> >>>> +        </dependency>
> >>>> +        <dependency>
> >>>> +          <groupId>org.apache.royale.framework</groupId>
> >>>> +          <artifactId>HTML</artifactId>
> >>>> +          <version>0.9.9-SNAPSHOT</version>
> >>>> +          <type>swc</type>
> >>>> +          <classifier>swf</classifier>
> >>>> +        </dependency>
> >>>> +        <dependency>
> >>>> +          <groupId>org.apache.royale.framework</groupId>
> >>>> +          <artifactId>Basic</artifactId>
> >>>> +          <version>0.9.9-SNAPSHOT</version>
> >>>> +          <type>swc</type>
> >>>> +          <classifier>swf</classifier>
> >>>> +        </dependency>
> >>>> +        <dependency>
> >>>> +          <groupId>org.apache.royale.framework</groupId>
> >>>> +          <artifactId>Formatters</artifactId>
> >>>> +          <version>0.9.9-SNAPSHOT</version>
> >>>> +          <type>swc</type>
> >>>> +          <classifier>swf</classifier>
> >>>> +        </dependency>
> >>>> +      </dependencies>
> >>>> +    </profile>
> >>>> +  </profiles>
> >>>> +
> >>>> +<properties /></project>
> >>>> diff --git
> >> a/frameworks/projects/ExternsJS/src/main/config/compile-swf-config.xml
> >> b/frameworks/projects/ExternsJS/src/main/config/compile-swf-config.xml
> >>>> new file mode 100644
> >>>> index 0000000..8981130
> >>>> --- /dev/null
> >>>> +++
> >> b/frameworks/projects/ExternsJS/src/main/config/compile-swf-config.xml
> >>>> @@ -0,0 +1,112 @@
> >>>> +<!--
> >>>> +
> >>>> +  Licensed to the Apache Software Foundation (ASF) under one or more
> >>>> +  contributor license agreements.  See the NOTICE file distributed
> with
> >>>> +  this work for additional information regarding copyright ownership.
> >>>> +  The ASF licenses this file to You under the Apache License, Version
> >> 2.0
> >>>> +  (the "License"); you may not use this file except in compliance
> with
> >>>> +  the License.  You may obtain a copy of the License at
> >>>> +
> >>>> +      http://www.apache.org/licenses/LICENSE-2.0
> >>>> +
> >>>> +  Unless required by applicable law or agreed to in writing, software
> >>>> +  distributed under the License is distributed on an "AS IS" BASIS,
> >>>> +  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> >> implied.
> >>>> +  See the License for the specific language governing permissions and
> >>>> +  limitations under the License.
> >>>> +
> >>>> +-->
> >>>> +<royale-config>
> >>>> +
> >>>> +    <compiler>
> >>>> +        <accessible>false</accessible>
> >>>> +
> >>>> +        <!-- build both SWF and JS. -->
> >>>> +        <targets>
> >>>> +            <target>JSRoyale</target>
> >>>> +        </targets>
> >>>> +        <strict-xml>true</strict-xml>
> >>>> +
> >>>> +        <external-library-path>
> >>>> +
> >>
> <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
> >>>> +
> >> <path-element>../../../../../libs/Binding.swc</path-element>
> >>>> +            <path-element>../../../../../libs/Core.swc</path-element>
> >>>> +
> >> <path-element>../../../../../libs/Graphics.swc</path-element>
> >>>> +
> <path-element>../../../../../libs/Basic.swc</path-element>
> >>>> +
> >> <path-element>../../../../../libs/Collections.swc</path-element>
> >>>> +            <path-element>../../../../../libs/HTML.swc</path-element>
> >>>> +
> >> <path-element>../../../../../libs/Formatters.swc</path-element>
> >>>> +        </external-library-path>
> >>>> +
> >>>> +        <allow-subclass-overrides>true</allow-subclass-overrides>
> >>>> +        <mxml>
> >>>> +            <children-as-data>true</children-as-data>
> >>>> +            <imports>
> >>>> +
> >> <implicit-import>org.apache.royale.events.*</implicit-import>
> >>>> +
> >> <implicit-import>org.apache.royale.geom.*</implicit-import>
> >>>> +
> >> <implicit-import>org.apache.royale.core.ClassFactory</implicit-import>
> >>>> +
> >> <implicit-import>org.apache.royale.core.IFactory</implicit-import>
> >>>> +            </imports>
> >>>> +        </mxml>
> >>>> +
> >>
> <binding-value-change-event>org.apache.royale.events.ValueChangeEvent</binding-value-change-event>
> >>>> +
> >>
> <binding-value-change-event-kind>org.apache.royale.events.ValueChangeEvent</binding-value-change-event-kind>
> >>>> +
> >>
> <binding-value-change-event-type>valueChange</binding-value-change-event-type>
> >>>> +
> >>>> +        <define>
> >>>> +            <name>COMPILE::SWF</name>
> >>>> +            <value>true</value>
> >>>> +        </define>
> >>>> +        <define>
> >>>> +            <name>COMPILE::JS</name>
> >>>> +            <value>false</value>
> >>>> +        </define>
> >>>> +
> >>>> +        <keep-as3-metadata>
> >>>> +          <name>Bindable</name>
> >>>> +          <name>Managed</name>
> >>>> +          <name>ChangeEvent</name>
> >>>> +          <name>NonCommittingChangeEvent</name>
> >>>> +          <name>Transient</name>
> >>>> +        </keep-as3-metadata>
> >>>> +
> >>>> +        <locale/>
> >>>> +
> >>>> +        <library-path/>
> >>>> +
> >>>> +        <namespaces>
> >>>> +            <namespace>
> >>>> +                <uri>library://ns.apache.org/royale/externsjs</uri>
> >>>> +
> >> <manifest>../resources/externsjs-manifest.xml</manifest>
> >>>> +            </namespace>
> >>>> +            <namespace>
> >>>> +                <uri>library://ns.apache.org/royale/externsjs</uri>
> >>>> +
> >> <manifest>../resources/externsjs-as-manifest.xml</manifest>
> >>>> +            </namespace>
> >>>> +        </namespaces>
> >>>> +
> >>>> +        <source-path>
> >>>> +            <path-element>../royale</path-element>
> >>>> +        </source-path>
> >>>> +
> >>>> +        <warn-no-constructor>false</warn-no-constructor>
> >>>> +    </compiler>
> >>>> +
> >>>> +    <include-file>
> >>>> +        <name>defaults.css</name>
> >>>> +        <path>../resources/defaults.css</path>
> >>>> +    </include-file>
> >>>> +
> >>>> +    <include-lookup-only>true</include-lookup-only>
> >>>> +
> >>>> +    <include-classes>
> >>>> +        <class>ExternsJSClasses</class>
> >>>> +    </include-classes>
> >>>> +
> >>>> +    <include-namespaces>
> >>>> +        <uri>library://ns.apache.org/royale/externsjs</uri>
> >>>> +    </include-namespaces>
> >>>> +
> >>>> +    <target-player>${playerglobal.version}</target-player>
> >>>> +
> >>>> +
> >>>> +</royale-config>
> >>>> diff --git
> >> a/frameworks/projects/ExternsJS/src/main/resources/defaults.css
> >> b/frameworks/projects/ExternsJS/src/main/resources/defaults.css
> >>>> new file mode 100644
> >>>> index 0000000..c8dab5d
> >>>> --- /dev/null
> >>>> +++ b/frameworks/projects/ExternsJS/src/main/resources/defaults.css
> >>>> @@ -0,0 +1,3255 @@
> >>>> +/**
> >>>> + *  Licensed to the Apache Software Foundation (ASF) under one or
> more
> >>>> + *  contributor license agreements.  See the NOTICE file distributed
> >> with
> >>>> + *  this work for additional information regarding copyright
> ownership.
> >>>> + *  The ASF licenses this file to You under the Apache License,
> >> Version 2.0
> >>>> + *  (the "License"); you may not use this file except in compliance
> >> with
> >>>> + *  the License.  You may obtain a copy of the License at
> >>>> + *
> >>>> + *      http://www.apache.org/licenses/LICENSE-2.0
> >>>> + *
> >>>> + *  Unless required by applicable law or agreed to in writing,
> software
> >>>> + *  distributed under the License is distributed on an "AS IS" BASIS,
> >>>> + *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> >> implied.
> >>>> + *  See the License for the specific language governing permissions
> and
> >>>> + *  limitations under the License.
> >>>> + */
> >>>> +@namespace j "library://ns.apache.org/royale/externsjs";
> >>>> +@namespace "http://www.w3.org/1999/xhtml";;
> >>>> +*, :after, :before {
> >>>> +  box-sizing: border-box; }
> >>>> +
> >>>> +html, body {
> >>>> +  height: 100%; }
> >>>> +
> >>>> +::-moz-focus-inner, ::-moz-focus-outer {
> >>>> +  border: 0; }
> >>>> +
> >>>> +input:focus, textarea:focus, select:focus, div:focus, label:focus,
> >> nav:focus, li:focus, a:focus {
> >>>> +  outline: none; }
> >>>> +
> >>>> +select::-ms-expand {
> >>>> +  display: none; }
> >>>> +
> >>>> +button::-moz-focus-inner {
> >>>> +  padding: 0; }
> >>>> +
> >>>> +button, input, textarea {
> >>>> +  font-size: 100%; }
> >>>> +
> >>>> +.cursor-pointer {
> >>>> +  cursor: pointer !important; }
> >>>> +
> >>>> +j|View {
> >>>> +  IBeadView:
> ClassReference("org.apache.royale.html.beads.GroupView");
> >>>> +  IBeadLayout:
> >> ClassReference("org.apache.royale.externsjs.beads.layouts.ViewLayout");
> }
> >>>> +
> >>>> +.responsive-view {
> >>>> +  display: inline-flex;
> >>>> +  width: 100%;
> >>>> +  height: 100%; }
> >>>> +
> >>>> +j|Group {
> >>>> +  IBeadLayout:
> >> ClassReference("org.apache.royale.externsjs.beads.layouts.BasicLayout");
> >>>> +  IBeadView:
> ClassReference("org.apache.royale.html.beads.GroupView");
> >> }
> >>>> +
> >>>> +.externsjs.group {
> >>>> +  overflow: visible; }
> >>>> +
> >>>> +j|HGroup {
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.HorizontalLayout");
> >> }
> >>>> +
> >>>> +j|VGroup {
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.VerticalLayout");
> >> }
> >>>> +
> >>>> +j|Grid {
> >>>> +  IBeadLayout:
> >> ClassReference("org.apache.royale.externsjs.beads.layouts.GridLayout");
> }
> >>>> +
> >>>> +j|ScrollableGrid {
> >>>> +  IViewport:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.scrollbar.ScrollingViewport");
> >> }
> >>>> +
> >>>> +j|GridCell {
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.GridCellLayout");
> >> }
> >>>> +
> >>>> +j|Container {
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.html.beads.ContainerView");
> >>>> +  IBeadLayout:
> >> ClassReference("org.apache.royale.externsjs.beads.layouts.BasicLayout");
> >>>> +  IViewport:
> >> ClassReference("org.apache.royale.externsjs.supportClasses.Viewport"); }
> >>>> +
> >>>> +j|HContainer {
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.HorizontalLayout");
> >> }
> >>>> +
> >>>> +j|VContainer {
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.VerticalLayout");
> >> }
> >>>> +
> >>>> +j|Image {
> >>>> +  IBeadModel:
> >> ClassReference("org.apache.royale.externsjs.beads.models.ImageModel");
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.externsjs.beads.views.ImageView"); }
> >>>> +
> >>>> +j|BinaryImage {
> >>>> +  IBeadModel:
> >> ClassReference("org.apache.royale.html.beads.models.BinaryImageModel");
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.externsjs.beads.views.ImageView");
> >>>> +  IBinaryImageLoader:
> >> ClassReference("org.apache.royale.html.beads.BinaryImageLoader"); }
> >>>> +
> >>>> +j|DataContainer {
> >>>> +  IBeadModel:
> >>
> ClassReference("org.apache.royale.externsjs.beads.models.DataProviderModel");
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.html.beads.DataContainerView");
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.VerticalLayout");
> >>>> +  IDataProviderItemRendererMapper:
> >>
> ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView");
> >>>> +  IItemRendererClassFactory:
> >> ClassReference("org.apache.royale.core.ItemRendererClassFactory");
> >>>> +  IItemRenderer:
> >>
> ClassReference("org.apache.royale.externsjs.itemRenderers.StringItemRenderer");
> >>>> +  IItemRendererInitializer:
> >>
> ClassReference("org.apache.royale.externsjs.beads.itemRenderers.DataContainerItemRendererInitializer");
> >>>> +  IViewport:
> >> ClassReference("org.apache.royale.externsjs.supportClasses.Viewport"); }
> >>>> +
> >>>> +j|Validator {
> >>>> +  ILocalizedValuesImpl:
> >> ClassReference("org.apache.royale.core.SimpleLocalizedValuesImpl"); }
> >>>> +
> >>>> +j|Form {
> >>>> +  IBeadLayout:
> >> ClassReference("org.apache.royale.externsjs.beads.layouts.FormLayout");
> }
> >>>> +
> >>>> +@media -royale-swf {
> >>>> +  j|Container {
> >>>> +    IContentView:
> >>
> ClassReference("org.apache.royale.html.supportClasses.ContainerContentArea");
> >> } }
> >>>> +hr {
> >>>> +  border: 0;
> >>>> +  height: 1px; }
> >>>> +
> >>>> +.responsiveSizeMonitor {
> >>>> +  background: rgba(0, 0, 0, 0.8);
> >>>> +  color: white;
> >>>> +  padding: 10px;
> >>>> +  position: fixed;
> >>>> +  bottom: 0;
> >>>> +  right: 0;
> >>>> +  width: 250px; }
> >>>> +  .responsiveSizeMonitor strong {
> >>>> +    color: yellow; }
> >>>> +
> >>>> +.externsjs.alert {
> >>>> +  position: fixed;
> >>>> +  top: 50%;
> >>>> +  left: 50%;
> >>>> +  min-width: 350px;
> >>>> +  min-height: 200px; }
> >>>> +  .externsjs.alert .externsjs.titlebar {
> >>>> +    height: 50px; }
> >>>> +  .externsjs.alert .content {
> >>>> +    position: absolute;
> >>>> +    top: 50px;
> >>>> +    bottom: 50px;
> >>>> +    width: 100%;
> >>>> +    overflow-y: auto; }
> >>>> +    .externsjs.alert .content .externsjs.label {
> >>>> +      white-space: normal; }
> >>>> +  .externsjs.alert .externsjs.controlbar {
> >>>> +    bottom: 0;
> >>>> +    height: 50px; }
> >>>> +
> >>>> +@media all and (-ms-high-contrast: none) {
> >>>> +  .externsjs.alert {
> >>>> +    display: table; } }
> >>>> +@media (min-width: 768px) {
> >>>> +  .externsjs.alert {
> >>>> +    min-width: 450px; } }
> >>>> +j|Alert {
> >>>> +  IBeadLayout:
> >> ClassReference("org.apache.royale.externsjs.beads.layouts.NullLayout");
> >>>> +  IBeadModel:
> >> ClassReference("org.apache.royale.externsjs.beads.models.AlertModel");
> >>>> +  IBeadController:
> >>
> ClassReference("org.apache.royale.externsjs.beads.controllers.AlertController");
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.externsjs.beads.views.AlertView"); }
> >>>> +
> >>>> +.externsjs.badge {
> >>>> +  z-index: 2;
> >>>> +  position: absolute;
> >>>> +  top: -1em;
> >>>> +  right: -1em;
> >>>> +  text-transform: initial;
> >>>> +  padding: 0.5em;
> >>>> +  min-width: 2.1em; }
> >>>> +  .externsjs.badge.overlap {
> >>>> +    top: 0em;
> >>>> +    right: 0em; }
> >>>> +  .externsjs.badge.subindex {
> >>>> +    top: auto;
> >>>> +    bottom: -1em; }
> >>>> +    .externsjs.badge.subindex.overlap {
> >>>> +      top: auto;
> >>>> +      bottom: 0em; }
> >>>> +  .externsjs.badge.preindex {
> >>>> +    left: -1em;
> >>>> +    right: auto; }
> >>>> +    .externsjs.badge.preindex.overlap {
> >>>> +      left: 0em;
> >>>> +      right: auto; }
> >>>> +
> >>>> +.externsjs.button {
> >>>> +  cursor: pointer;
> >>>> +  user-select: none;
> >>>> +  display: inline-flex;
> >>>> +  position: relative;
> >>>> +  align-items: center;
> >>>> +  justify-content: center;
> >>>> +  vertical-align: middle;
> >>>> +  overflow: hidden;
> >>>> +  outline: none;
> >>>> +  white-space: nowrap;
> >>>> +  line-height: normal !important;
> >>>> +  text-align: center;
> >>>> +  text-decoration: none; }
> >>>> +  .externsjs.button[disabled] {
> >>>> +    cursor: default; }
> >>>> +  .externsjs.button.multiline {
> >>>> +    white-space: pre-wrap; }
> >>>> +  .externsjs.button .fonticon {
> >>>> +    cursor: inherit; }
> >>>> +  .externsjs.button.viewport {
> >>>> +    overflow: visible; }
> >>>> +
> >>>> +@media -royale-swf {
> >>>> +  j|Button {
> >>>> +    IBeadModel:
> >> ClassReference("org.apache.royale.externsjs.beads.models.TextModel");
> >>>> +    IBeadView:
> >> ClassReference("org.apache.royale.externsjs.beads.views.ButtonView"); }
> }
> >>>> +.externsjs.buttonbar .externsjs.button, .externsjs.buttonbar
> >> .externsjs.togglebutton {
> >>>> +  border-radius: 0; }
> >>>> +  .externsjs.buttonbar .externsjs.button.first, .externsjs.buttonbar
> >> .externsjs.togglebutton.first {
> >>>> +    border-top-left-radius: 0.25rem;
> >>>> +    border-bottom-left-radius: 0.25rem; }
> >>>> +  .externsjs.buttonbar .externsjs.button.last, .externsjs.buttonbar
> >> .externsjs.togglebutton.last {
> >>>> +    border-top-right-radius: 0.25rem;
> >>>> +    border-bottom-right-radius: 0.25rem; }
> >>>> +
> >>>> +j|ButtonBar {
> >>>> +  IBeadModel:
> >>
> ClassReference("org.apache.royale.externsjs.beads.models.ButtonBarModel");
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.externsjs.beads.views.ButtonBarView");
> >>>> +  IBeadController:
> >>
> ClassReference("org.apache.royale.externsjs.beads.controllers.ListSingleSelectionMouseController");
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.ButtonBarLayout");
> >>>> +  IDataProviderItemRendererMapper:
> >>
> ClassReference("org.apache.royale.html.beads.SelectionDataItemRendererFactoryForCollectionView");
> >>>> +  IItemRendererClassFactory:
> >> ClassReference("org.apache.royale.core.ItemRendererClassFactory");
> >>>> +  IItemRenderer:
> >>
> ClassReference("org.apache.royale.externsjs.itemRenderers.ButtonBarItemRenderer");
> >>>> +  IItemRendererInitializer:
> >>
> ClassReference("org.apache.royale.externsjs.beads.itemRenderers.ButtonBarItemRendererInitializer");
> >> }
> >>>> +
> >>>> +@media -royale-swf {
> >>>> +  j|ButtonBar {
> >>>> +    IContentView:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.list.DataGroup");
> >> } }
> >>>> +j|IconButtonBar {
> >>>> +  IItemRenderer:
> >>
> ClassReference("org.apache.royale.externsjs.itemRenderers.IconButtonBarItemRenderer");
> >> }
> >>>> +
> >>>> +.externsjs.buttonbar.toggle-on-click
> .externsjs.togglebutton.selected {
> >>>> +  pointer-events: none; }
> >>>> +
> >>>> +j|ToggleButtonBar {
> >>>> +  IBeadView:
> >>
> ClassReference("org.apache.royale.externsjs.beads.views.ToggleButtonBarView");
> >>>> +  IBeadController:
> >>
> ClassReference("org.apache.royale.externsjs.beads.controllers.ToggleButtonBarSelectionMouseController");
> >>>> +  IItemRenderer:
> >>
> ClassReference("org.apache.royale.externsjs.itemRenderers.ToggleButtonBarItemRenderer");
> >> }
> >>>> +
> >>>> +.externsjs.card {
> >>>> +  min-width: 120px;
> >>>> +  min-height: 52px;
> >>>> +  position: relative; }
> >>>> +  .externsjs.card .card-header {
> >>>> +    width: 100%; }
> >>>> +    .externsjs.card .card-header .card-title {
> >>>> +      flex: 1 1 auto;
> >>>> +      overflow: hidden;
> >>>> +      text-decoration: inherit;
> >>>> +      text-overflow: ellipsis;
> >>>> +      text-transform: inherit;
> >>>> +      z-index: 1; }
> >>>> +  .externsjs.card .card-expanded-content {
> >>>> +    width: 100%; }
> >>>> +  .externsjs.card .card-primary-content {
> >>>> +    width: 100%;
> >>>> +    min-height: 152px;
> >>>> +    position: relative;
> >>>> +    outline: none;
> >>>> +    color: inherit;
> >>>> +    text-decoration: none;
> >>>> +    flex: 1 1 auto; }
> >>>> +  .externsjs.card .card-actions {
> >>>> +    width: 100%;
> >>>> +    position: relative;
> >>>> +    outline: none;
> >>>> +    color: inherit;
> >>>> +    text-decoration: none; }
> >>>> +
> >>>> +.externsjs.checkbox {
> >>>> +  display: inline-flex;
> >>>> +  position: relative;
> >>>> +  margin: 0;
> >>>> +  padding: 0;
> >>>> +  height: auto; }
> >>>> +  .externsjs.checkbox input {
> >>>> +    -webkit-appearance: none;
> >>>> +    -moz-appearance: none;
> >>>> +    -o-appearance: none;
> >>>> +    -ms-appearance: none;
> >>>> +    appearance: none;
> >>>> +    display: inline-flex;
> >>>> +    margin: 0;
> >>>> +    padding: 0;
> >>>> +    width: 24px;
> >>>> +    height: 24px;
> >>>> +    opacity: 0; }
> >>>> +    .externsjs.checkbox input + span::before {
> >>>> +      content: " ";
> >>>> +      position: absolute;
> >>>> +      left: 0px;
> >>>> +      top: 0px;
> >>>> +      width: 22px;
> >>>> +      height: 22px; }
> >>>> +    .externsjs.checkbox input + span::after {
> >>>> +      content: " ";
> >>>> +      position: absolute;
> >>>> +      width: 22px;
> >>>> +      height: 22px;
> >>>> +      left: 0px;
> >>>> +      top: 0px;
> >>>> +      opacity: 0; }
> >>>> +    .externsjs.checkbox input:checked + span::after,
> >> .externsjs.checkbox input:checked:active + span::after {
> >>>> +      opacity: 1; }
> >>>> +    .externsjs.checkbox input:focus + span::before,
> >> .externsjs.checkbox input:checked:focus + span::before,
> .externsjs.checkbox
> >> input:checked:active:focus + span::before {
> >>>> +      outline: none; }
> >>>> +    .externsjs.checkbox input[disabled] + span {
> >>>> +      cursor: unset; }
> >>>> +  .externsjs.checkbox span {
> >>>> +    cursor: pointer;
> >>>> +    margin: auto;
> >>>> +    width: inherit; }
> >>>> +
> >>>> +.externsjs.switch {
> >>>> +  display: inline-flex;
> >>>> +  position: relative;
> >>>> +  height: auto; }
> >>>> +  .externsjs.switch input {
> >>>> +    -webkit-appearance: none;
> >>>> +    -moz-appearance: none;
> >>>> +    -o-appearance: none;
> >>>> +    -ms-appearance: none;
> >>>> +    appearance: none;
> >>>> +    display: inline-flex;
> >>>> +    opacity: 0;
> >>>> +    width: 44px;
> >>>> +    height: 24px;
> >>>> +    margin: 0;
> >>>> +    padding: 0; }
> >>>> +    .externsjs.switch input[disabled] + span {
> >>>> +      cursor: unset; }
> >>>> +  .externsjs.switch .switch {
> >>>> +    position: absolute;
> >>>> +    cursor: pointer;
> >>>> +    top: 0;
> >>>> +    left: 0;
> >>>> +    right: 0;
> >>>> +    bottom: 0;
> >>>> +    width: 44px;
> >>>> +    height: 24px; }
> >>>> +    .externsjs.switch .switch::before {
> >>>> +      position: absolute;
> >>>> +      content: "";
> >>>> +      height: 20px;
> >>>> +      width: 20px;
> >>>> +      left: 2px;
> >>>> +      bottom: 2px; }
> >>>> +  .externsjs.switch .label {
> >>>> +    cursor: pointer;
> >>>> +    margin: auto;
> >>>> +    width: inherit; }
> >>>> +
> >>>> +.externsjs.combobox {
> >>>> +  display: inline-flex; }
> >>>> +  .externsjs.combobox .externsjs.textinput {
> >>>> +    display: block; }
> >>>> +  .externsjs.combobox .externsjs.button::before {
> >>>> +    margin: 0;
> >>>> +    padding: 0; }
> >>>> +  .externsjs.combobox .externsjs.button::after {
> >>>> +    content: " ";
> >>>> +    position: absolute; }
> >>>> +
> >>>> +j|ComboBox {
> >>>> +  IBeadModel:
> >>
> ClassReference("org.apache.royale.externsjs.beads.models.ComboBoxModel");
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.externsjs.beads.views.ComboBoxView");
> >>>> +  IBeadController:
> >>
> ClassReference("org.apache.royale.externsjs.beads.controllers.ComboBoxController");
> >>>> +  IPopUp:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.combobox.ComboBoxPopUp");
> >> }
> >>>> +
> >>>> +.combobox-popup {
> >>>> +  position: fixed;
> >>>> +  pointer-events: none;
> >>>> +  bottom: 0;
> >>>> +  left: 0;
> >>>> +  width: 100%;
> >>>> +  height: 100%;
> >>>> +  overflow: hidden;
> >>>> +  contain: strict;
> >>>> +  z-index: 60;
> >>>> +  color: rgba(0, 0, 0, 0.8); }
> >>>> +  .combobox-popup::before {
> >>>> +    position: absolute;
> >>>> +    display: block;
> >>>> +    top: 0;
> >>>> +    left: 0;
> >>>> +    width: 100%;
> >>>> +    height: 100%;
> >>>> +    content: "";
> >>>> +    opacity: 0;
> >>>> +    background-color: rgba(0, 0, 0, 0.65);
> >>>> +    will-change: opacity;
> >>>> +    transition: opacity 0.4s 0ms; }
> >>>> +  .combobox-popup .externsjs.list {
> >>>> +    position: relative;
> >>>> +    transform: translate(-50%, 100%);
> >>>> +    transition: none;
> >>>> +    will-change: transform, opacity;
> >>>> +    bottom: auto;
> >>>> +    top: calc(100% - 10px);
> >>>> +    left: 50%;
> >>>> +    box-shadow: 0px 0px 6px 1px rgba(1, 1, 1, 0.7) !important;
> >>>> +    opacity: 0; }
> >>>> +  .combobox-popup.open {
> >>>> +    pointer-events: auto; }
> >>>> +    .combobox-popup.open::before {
> >>>> +      opacity: 1; }
> >>>> +    .combobox-popup.open .externsjs.list {
> >>>> +      transform: translate(-50%, -100%);
> >>>> +      transition: transform 0.3s 0ms, opacity 0.3s 0ms;
> >>>> +      opacity: 1; }
> >>>> +
> >>>> +@media (max-width: 767px) {
> >>>> +  .combobox-popup .externsjs.list {
> >>>> +    width: 98% !important;
> >>>> +    max-height: 240px !important; }
> >>>> +    .combobox-popup .externsjs.list .externsjs.item {
> >>>> +      min-height: 48px !important; } }
> >>>> +@media (min-width: 767px) {
> >>>> +  .combobox-popup::before {
> >>>> +    background-color: rgba(0, 0, 0, 0); }
> >>>> +  .combobox-popup .externsjs.list {
> >>>> +    transform: none;
> >>>> +    transition: none;
> >>>> +    box-shadow: none !important; }
> >>>> +    .combobox-popup .externsjs.list .externsjs.item {
> >>>> +      overflow: hidden;
> >>>> +      transition: height 200ms ease-in; }
> >>>> +  .combobox-popup.open .externsjs.list {
> >>>> +    transform: none;
> >>>> +    top: auto;
> >>>> +    left: auto; } }
> >>>> +j|ComboBoxPopUp {
> >>>> +  IBeadView:
> >>
> ClassReference("org.apache.royale.externsjs.beads.views.ComboBoxPopUpView");
> >> }
> >>>> +
> >>>> +j|VirtualComboBox {
> >>>> +  IPopUp:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.combobox.VirtualComboBoxPopUp");
> >> }
> >>>> +
> >>>> +j|VirtualComboBoxPopUp {
> >>>> +  IBeadView:
> >>
> ClassReference("org.apache.royale.externsjs.beads.views.VirtualComboBoxPopUpView");
> >> }
> >>>> +
> >>>> +.externsjs.datagrid {
> >>>> +  display: flex;
> >>>> +  flex-direction: column;
> >>>> +  position: relative;
> >>>> +  overflow: auto; }
> >>>> +  .externsjs.datagrid .externsjs.buttonbar.header {
> >>>> +    width: 100%;
> >>>> +    flex: 0 0 auto; }
> >>>> +    .externsjs.datagrid .externsjs.buttonbar.header
> .externsjs.button {
> >>>> +      width: 100%; }
> >>>> +  .externsjs.datagrid .listarea {
> >>>> +    width: 100%;
> >>>> +    flex: 1 1 auto; }
> >>>> +  .externsjs.datagrid .externsjs.list.column {
> >>>> +    padding-left: 0;
> >>>> +    padding-right: 0;
> >>>> +    position: relative;
> >>>> +    min-height: 100%; }
> >>>> +    .externsjs.datagrid .externsjs.list.column
> >> .externsjs.item.datagrid {
> >>>> +      width: 100%; }
> >>>> +  .externsjs.datagrid span:empty:before {
> >>>> +    content: "\200b"; }
> >>>> +
> >>>> +j|DataGrid {
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.externsjs.beads.views.DataGridView");
> >>>> +  IBeadModel:
> >>
> ClassReference("org.apache.royale.html.beads.models.DataGridCollectionViewModel");
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.DataGridLayout");
> >>>> +  headerClass:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.datagrid.DataGridButtonBar");
> >>>> +  headerLayoutClass:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.DataGridColumnLayout");
> >>>> +  listAreaClass:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.datagrid.DataGridListArea");
> >>>> +  columnClass:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.datagrid.DataGridColumnList");
> >> }
> >>>> +
> >>>> +j|DataGridListArea {
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.html.beads.ContainerView");
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.HorizontalLayout");
> >>>> +  IViewport:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.scrollbar.ScrollingViewport");
> >> }
> >>>> +
> >>>> +j|DataGridColumnList {
> >>>> +  IItemRendererClassFactory:
> >>
> ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
> >>>> +  IItemRenderer:
> >>
> ClassReference("org.apache.royale.externsjs.itemRenderers.DataGridItemRenderer");
> >>>> +  IItemRendererInitializer:
> >>
> ClassReference("org.apache.royale.externsjs.beads.itemRenderers.DataGridColumnListItemRendererInitializer");
> >>>> +  ISelectableItemRenderer:
> >>
> ClassReference("org.apache.royale.externsjs.beads.itemRenderers.ClassSelectorListSelectableItemRendererBead");
> >>>> +  IViewport:
> >> ClassReference("org.apache.royale.externsjs.supportClasses.Viewport"); }
> >>>> +
> >>>> +j|DataGridButtonBar {
> >>>> +  IItemRenderer:
> >>
> ClassReference("org.apache.royale.externsjs.itemRenderers.DatagridHeaderRenderer");
> >> }
> >>>> +
> >>>> +j|VirtualDataGrid {
> >>>> +  IBeadView:
> >>
> ClassReference("org.apache.royale.externsjs.beads.views.VirtualDataGridView");
> >>>> +  columnClass:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.datagrid.VirtualDataGridColumnList");
> >> }
> >>>> +
> >>>> +j|VirtualDataGridListArea {
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.html.beads.ContainerView");
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.HorizontalLayout");
> >>>> +  listAreaClass:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.datagrid.VirtualDataGrid");
> >>>> +  IViewport:
> >> ClassReference("org.apache.royale.externsjs.supportClasses.Viewport"); }
> >>>> +
> >>>> +j|VirtualDataGridColumnList {
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.VirtualDataGridListAreaLayout");
> >>>> +  IItemRendererClassFactory:
> >>
> ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
> >>>> +  IItemRenderer:
> >>
> ClassReference("org.apache.royale.externsjs.itemRenderers.DataGridItemRenderer");
> >>>> +  IItemRendererInitializer:
> >>
> ClassReference("org.apache.royale.externsjs.beads.itemRenderers.DataGridColumnListItemRendererInitializer");
> >>>> +  ISelectableItemRenderer:
> >>
> ClassReference("org.apache.royale.externsjs.beads.itemRenderers.ClassSelectorListSelectableItemRendererBead");
> >>>> +  IViewport:
> >>
> ClassReference("org.apache.royale.externsjs.supportClasses.scrollbar.ScrollingViewport");
> >> }
> >>>> +
> >>>> +.externsjs.datechooser .externsjs.table {
> >>>> +  min-width: 324px;
> >>>> +  min-height: 364px; }
> >>>> +  .externsjs.datechooser .externsjs.table .externsjs.tablecell {
> >>>> +    height: auto; }
> >>>> +  .externsjs.datechooser .externsjs.table
> >> .externsjs.tableheadercell.buttonsRow > .layout.horizontal {
> >>>> +    float: right; }
> >>>> +  .externsjs.datechooser .externsjs.table
> >> .externsjs.tableheadercell.buttonsRow .viewSelector::after {
> >>>> +    content: " "; }
> >>>> +  .externsjs.datechooser .externsjs.table
> >> .externsjs.tableheadercell.buttonsRow .previousButton::after,
> >> .externsjs.datechooser .externsjs.table
> >> .externsjs.tableheadercell.buttonsRow .nextButton::after {
> >>>> +    content: " ";
> >>>> +    position: absolute; }
> >>>> +
> >>>> +j|DateChooser {
> >>>> +  IBeadModel:
> >>
> ClassReference("org.apache.royale.externsjs.beads.models.DateChooserModel");
> >>>> +  IBeadView:
> >>
> ClassReference("org.apache.royale.externsjs.beads.views.DateChooserView");
> >>>> +  IBeadLayout:
> >>
> ClassReference("org.apache.royale.externsjs.beads.layouts.VerticalLayout");
> >>>> +  IBeadController:
> >>
> ClassReference("org.apache.royale.externsjs.beads.controllers.DateChooserMouseController");
> >> }
> >>>> +
> >>>> +.externsjs.datefield {
> >>>> +  display: inline-flex; }
> >>>> +  .externsjs.datefield .externsjs.textinput input {
> >>>> +    width: 9.2em; }
> >>>> +  .externsjs.datefield .externsjs.button::before {
> >>>> +    margin: 0;
> >>>> +    padding: 0;
> >>>> +    line-height: 22px; }
> >>>> +  .externsjs.datefield .externsjs.button::after {
> >>>> +    content: " ";
> >>>> +    position: absolute;
> >>>> +    width: 22px;
> >>>> +    height: 22px;
> >>>> +    left: calc(50% - 11px);
> >>>> +    top: calc(50% - 11px); }
> >>>> +
> >>>> +.datechooser-popup {
> >>>> +  position: fixed;
> >>>> +  pointer-events: none;
> >>>> +  bottom: 0;
> >>>> +  left: 0;
> >>>> +  width: 100%;
> >>>> +  height: 100%;
> >>>> +  overflow: hidden;
> >>>> +  contain: strict;
> >>>> +  z-index: 60;
> >>>> +  color: rgba(0, 0, 0, 0.8); }
> >>>> +  .datechooser-popup::before {
> >>>> +    position: absolute;
> >>>> +    display: block;
> >>>> +    top: 0;
> >>>> +    left: 0;
> >>>> +    width: 100%;
> >>>> +    height: 100%;
> >>>> +    content: "";
> >>>> +    opacity: 0;
> >>>> +    background-color: rgba(0, 0, 0, 0.65);
> >>>> +    will-change: opacity;
> >>>> +    transition: opacity 0.4s 0ms; }
> >>>> +  .datechooser-popup .externsjs.table {
> >>>> +    position: relative;
> >>>> +    transform: translate(-50%, 100%);
> >>>> +    transition: none;
> >>>> +    will-change: transform, opacity;
> >>>> +    bottom: auto;
> >>>> +    top: calc(100% - 10px);
> >>>> +    left: 50%;
> >>>> +    touch-action: none;
> >>>> +    box-shadow: 0px 0px 6px 1px rgba(1, 1, 1, 0.7) !important;
> >>>> +    opacity: 0; }
> >>>> +  .datechooser-popup.open {
> >>>> +    pointer-events: auto; }
> >>>> +    .datechooser-popup.open::before {
> >>>> +      opacity: 1; }
> >>>> +    .datechooser-popup.open .externsjs.table {
> >>>> +      transform: translate(-50%, -100%);
> >>>> +      transition: transform 0.4s 0ms, opacity 0.4s 0ms;
> >>>> +      opacity: 1; }
> >>>> +
> >>>> +@media (max-width: 768px) {
> >>>> +  .datechooser-popup .externsjs.table {
> >>>> +    width: calc(100% - 20px); } }
> >>>> +@media (min-width: 768px) and (max-width: 992px) {
> >>>> +  .datechooser-popup .externsjs.table {
> >>>> +    width: calc(100% - 300px); } }
> >>>> +@media (min-width: 992px) {
> >>>> +  .datechooser-popup::before {
> >>>> +    background-color: rgba(0, 0, 0, 0); }
> >>>> +  .datechooser-popup .externsjs.table {
> >>>> +    transform: none;
> >>>> +    transition: none;
> >>>> +    box-shadow: none !important; }
> >>>> +    .datechooser-popup .externsjs.table .externsjs.item {
> >>>> +      height: 0;
> >>>> +      overflow: hidden;
> >>>> +      transition: height 200ms ease-in; }
> >>>> +  .datechooser-popup.open .externsjs.table {
> >>>> +    transform: none;
> >>>> +    top: auto;
> >>>> +    left: auto; }
> >>>> +    .datechooser-popup.open .externsjs.table .externsjs.item {
> >>>> +      height: 34px; } }
> >>>> +j|DateField {
> >>>> +  IBeadView:
> >> ClassReference("org.apache.royale.externsjs.beads.views.DateFieldView");
> >>>> +  IBeadModel:
> >>
> ClassReference("org.apache.royale.externsjs.beads.models.DateChooserModel");
> >>>> +  IBeadController:
> >>
> ClassReference("org.apache.royale.externsjs.beads.controllers.DateFieldMouseController");
> >>>> +  IFormatter:
> >>
> ClassReference("org.apache.royale.html.accessories.StringDateFormatter");
> >>>> +  IPopUp: ClassReference("org.apache.royale.externsjs.DateChooser");
> }
> >>>> +
> >>>> +.externsjs.divider {
> >>>> +  height: 0;
> >>>> +  margin: 0; }
> >>>> +
> >>>> +j|Divider {
> >>>> +  IBeadLayout:
> >> ClassReference("org.apache.royale.externsjs.beads.layouts.NullLayout");
> }
> >>>> +
> >>>> +.externsjs.drawer.float {
> >>>> +  position: fixed;
> >>>> +  pointer-events: none;
> >>>> +  top: 0;
> >>>> +  left: 0;
> >>>> +  width: 100%;
> >>>> +  height: 100%;
> >>>> +  overflow: hidden;
> >>>> +  contain: strict;
> >>>> +  z-index: 100; }
> >>>> +  .externsjs.drawer.float::before {
> >>>> +    position: absolute;
> >>>> +    display: block;
> >>>> +    top: 0;
> >>>> +    left: 0;
> >>>> +    width: 100%;
> >>>> +    height: 100%;
> >>>> +    content: "";
> >>>> +    opacity: 0; }
> >>>> +  .externsjs.drawer.float .drawermain {
> >>>> +    position: absolute;
> >>>> +    display: flex;
> >>>> +    flex-direction: column;
> >>>> +    left: 0;
> >>>> +    right: initial;
> >>>> +    height: 100%; }
> >>>> +  .externsjs.drawer.float.open {
> >>>> +    pointer-events: auto; }
> >>>> +    .externsjs.drawer.float.open::before {
> >>>> +      opacity: 1; }
> >>>> +.externsjs.drawer.fixed {
> >>>> +  width: 0; }
> >>>> +  .externsjs.drawer.fixed .drawermain {
> >>>> +    display: inline-flex;
> >>>> +    flex-direction: column;
> >>>> +    left: 0;
> >>>> +    right: auto;
> >>>> +    height: 100%;
> >>>> +    overflow: hidden;
> >>>> +    touch-action: none; }
> >>>> +  .externsjs.drawer.fixed.open {
> >>>> +    pointer-events: auto; }
> >>>> +    .externsjs.drawer.fixed.open .drawermain {
> >>>> +      transform: none; }
> >>>> +
> >>>> +@media (min-width: 768px) {
> >>>> +  .externsjs.drawer.float .drawermain {
> >>>> +    width: calc(100% - 60px);
> >>>> +    max-width: 310px; } }
> >>>> +.externsjs.drawerheader {
> >>>> +  position: relative;
> >>>> +  display: flex;
> >>>> +  flex-direction: column;
> >>>> +  align-items: center;
> >>>> +  flex-shrink: 0; }
> >>>> +  .externsjs.drawerheader div {
> >>>> +    display: flex;
> >>>> +    position: absolute;
> >>>> +    top: 0;
> >>>> +    right: 0;
> >>>> +    bottom: 0;
> >>>> +    left: 0;
> >>>> +    align-items: flex-end; }
> >>>> +
> >>>> +.externsjs.draw

Reply via email to